CN104811488A - 基于负载均衡设备的会话保持方法及***和负载均衡设备 - Google Patents
基于负载均衡设备的会话保持方法及***和负载均衡设备 Download PDFInfo
- Publication number
- CN104811488A CN104811488A CN201510173425.7A CN201510173425A CN104811488A CN 104811488 A CN104811488 A CN 104811488A CN 201510173425 A CN201510173425 A CN 201510173425A CN 104811488 A CN104811488 A CN 104811488A
- Authority
- CN
- China
- Prior art keywords
- session identification
- session
- server
- http
- embedded
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/142—Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1014—Server selection for load balancing based on the content of a request
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种基于负载均衡设备的会话保持方法及***和负载均衡设备,该方法包括以下步骤:接收来自客户端的HTTP请求;判断HTTP请求的URL和/或HTTP请求头部中是否嵌入有用于识别会话的会话标识;若嵌入有会话标识,则采用关键字匹配法或正则表达法提取会话标识;并判断当前是否存在与会话标识相对应的服务器;若存在与会话标识相对应的服务器,则将HTTP请求发送给与会话标识相对应的服务器;若没有嵌入有会话标识或不存在与会话标识相对应的服务器,则根据负载均衡调度算法将HTTP请求发送至服务器;接收所述服务器反馈的HTTP应答并转送至客户端。本发明可有效提高负载均衡设备的处理性能,无需要求客户端采用支持cookie的浏览器即可实现会话保持。
Description
技术领域
本发明涉及计算机领域,尤其涉及一种基于负载均衡设备的会话保持方法及***和负载均衡设备。
背景技术
负载均衡(Loadbalace)是一种服务器集群技术,是将客户端的大量请求按照一定的策略分发给多台服务器处理,使得整***的处理能力达到或接近所有服务器处理能力之和的技术。会话保持(Session Persistence)是指在负载均衡的过程中,通过某些技术方法对客户端请求进行识别,使得原本属于同一次会话的请求,尽可能的始终分发(或调度)到同一台服务器技术。
对多台服务器负载均衡的情况下,每一次会话创建都只在当前的一台服务器上发生,其他服务器是没有的。负载均衡设备必须要识别出客户端请求中的会话,并将请求调度到最初创建该会话的服务器上,如果调度其他服务器上,则会导致会话无法持续,最终会话请求失败。
如图1所示,负载均衡设备对A、B两台服务器做调度。客户端提交了一个登陆请求,被负载均衡设备调度到A服务器,并在A服务器上校验密码成功,则创建会话;紧接着客户端又提交了一个“查询订单”的请求,此时负载均衡设备必须要将该请求调度到A服务器,因为只有A服务器上存在该客户端已登陆过的会话状态,如果调度给B服务器,该服务器并不知道客户端的登陆状态,请求则会失败。
当前存在的会话保持技术包括以下几种:
(1)源IP会话保持(Source Address Persistence):基于源IP的会话保持技术,通过区分源IP的方法,将源IP相同的请求分发到同一台服务器。这种方式实现过程中,客户端往往处于内网环境,使用的IP地址是私网地址,在访问公网时经过了源地址转换,存在大量客户端使用同一个IP的情况。由于源IP会话保持是基于数据包的源地址实现的,会导致大量相同IP的客户端调度到同一服务器,从而调度不均衡。另外对于手机客户端,其源IP地址是变化地,不适用于源IP会话保持。
(2)Cookie***会话保持(Cookie Insert Persistence):客户端首次访问时,通过***cookie,对客户端做上标记(标记的内容对应调度的服务器),使得客户端后续的请求中带有cookie标记,通过cookie标记的识别出被调度服务器,最终达到将同一客户端的所有请求分发到同一服务器的效果。由于其实现原理是基于cookie的方式,所以要求客户端的浏览器必须支持Cookie。
(3)Cookie改写会话保持(Cookie Rewrite Persistence):和cookie***会话保持类似,同样是通过在Cookie中做标记来识别的客户端请求,不同的是负载均衡器并不***新的cookie,而是通过改写服务器的cookie来实现。这种方式不仅要求客户端浏览器支持Cookie,而且要求服务器使用了Cookie。
(4)Cookie被动会话保持(Cookie Passive Persistence):在设备的数据库中记录下服务器在cookie中给客户端分配的session id,以及session id与服务器的对应关系。当客户端再次访问时,首先获取到客户端cookie中的session id值,通过查找数据库,找到上一次调度的服务器,最终实现会话保持的目的。这种方案同样要求客户端支持cookie,并且服务器使用cookie记录Session Id。
(5)URL被动会话保持:通过获取URL中的session id,记录每个会话所对应的服务器。这种方式只能记录URL中的session id,在客户端请求的session id并不在URL中,而是在提交的表单里时不适用。而且即使session id在URL中,由于不同服务器的表现形式均不一样,使其识别存在困难。
发明内容
本发明要解决的技术问题在于,针对现有技术的缺陷,提供一种基于负载均衡设备的会话保持方法及***和负载均衡设备。
本发明解决其技术问题所采用的技术方案是:一种基于负载均衡设备的会话保持方法,包括以下步骤:
接收来自客户端的HTTP请求;
判断所述HTTP请求的URL和/或HTTP请求头部中是否嵌入有用于识别会话的会话标识;
若嵌入有会话标识,则采用关键字匹配法或正则表达法提取所述会话标识;并判断当前是否存在与所述会话标识相对应的服务器;若存在与所述会话标识相对应的服务器,则将所述HTTP请求发送给与所述会话标识相对应的服务器;
若没有嵌入有会话标识或不存在与所述会话标识相对应的服务器,则根据负载均衡调度算法将所述HTTP请求发送至服务器;
接收所述服务器反馈的HTTP应答并转送至所述客户端。
优选地,还包括判断所述HTTP请求为POST请求还是GET请求;
若为POST请求,则判断所述POST请求的表单中是否嵌入有用于识别会话的会话标识;若嵌入有会话标识,则采用关键字匹配法或正则表达法提取所述会话标识;并判断当前是否存在与所述会话标识相对应的服务器;若存在与所述会话标识相对应的服务器,则将所述HTTP请求发送给与所述会话标识相对应的服务器;
若为GET请求、POST请求的表单没有嵌入有会话标识或不存在与所述会话标识相对应的服务器,则将所述HTTP请求发送至根据负载均衡调度算法确定的服务器。
优选地,所述接收所述服务器反馈的HTTP应答并转送至所述客户端包括如下步骤:
接收所述HTTP应答;
判断所述HTTP应答头部或HTTP应答内容是否嵌入有用于识别会话的会话标识;
若嵌入有会话标识,则采用关键字匹配法或正则表达法提取所述会话标识,将所述会话标识与服务器的对应关系存储在数据库中,并将所述HTTP应答转发给客户端;
若不嵌入有会话标识,则将所述HTTP应答转发给客户端。
优选地,所述采用关键字匹配法或正则表达法提取会话标识包括如下步骤:
预设会话标识的关键字、偏移量以及预设会话标识格式;
采用关键字匹配法根据所述关键字和偏移量提取会话标识,并判断是否成功提取所述会话标识;
若提取失败,则采用正则表达法根据所述预设会话标识格式提取所述会话标识,否则结束会话标识的提取。
本发明还提供一种负载均衡设备,包括:
信息收发单元,用于接收来自客户端的HTTP请求,并将接收到的服务器反馈的HTTP应答转送至所述客户端;
判断单元,用于判断所述HTTP请求的URL和/或HTTP请求头部中是否嵌入有用于识别会话的会话标识;
第一处理单元,用于在嵌入有会话标识时,则采用关键字匹配法或正则表达法提取所述会话标识;并判断当前是否存在与所述会话标识相对应的服务器;若存在与所述会话标识相对应的服务器,则将所述HTTP请求发送给与所述会话标识相对应的服务器;
第二处理单元,用于在所述HTTP请求没有嵌入有会话标识或不存在与所述会话标识相对应的服务器时,则根据负载均衡调度算法将所述HTTP请求发送至服务器。
优选地,所述判断单元,还用于判断所述HTTP请求为POST请求还是GET请求,并在所述HTTP请求为POST请求时,判断所述POST请求的表单中是否嵌入有用于识别会话的会话标识;
所述第一处理单元,还用于在POST请求的表单中嵌入有会话标识,则采用关键字匹配法或正则表达法提取所述会话标识;并判断当前是否存在与所述会话标识相对应的服务器;若存在与所述会话标识相对应的服务器,则将所述HTTP请求发送给与所述会话标识相对应的服务器;
所述第二处理单元,还用于在所述HTTP请求为GET请求、POST请求的表单没有嵌入有会话标识或不存在与所述会话标识相对应的服务器时,则将所述HTTP请求发送至根据负载均衡调度算法确定的服务器。
优选地,所述判断单元还用于判断所述HTTP应答的HTTP应答头部或HTTP应答内容是否嵌入有用于识别会话的会话标识;
所述第一处理单元还用于在HTTP应答头部或HTTP应答内容嵌入有会话标识时,采用关键字匹配法或正则表达法提取所述会话标识,将所述会话标识与服务器的对应关系存储在数据库中,并将所述HTTP应答转发给客户端;
所述第二处理单元还用于在HTTP应答头部或HTTP应答内容不嵌入有会话标识时,将所述HTTP应答转发给客户端。
优选地,所述第一处理单元还用于执行如下步骤:
预设会话标识的关键字、偏移量以及预设会话标识格式;
采用关键字匹配法根据所述关键字和偏移量提取会话标识,并判断是否成功提取所述会话标识;
若提取失败,则采用正则表达法根据所述预设会话标识格式提取所述会话标识,否则结束会话标识的提取。
本发明还提供一种基于负载均衡设备的会话保持***,包括前述的负载均衡设备、与所述负载均衡设备通信相连的客户端和服务器。
本发明与现有技术相比具有如下优点:实施本发明,采用关键字匹配法或正则表达法提取嵌入在HTTP请求的URL和/或HTTP请求头部中的会话标识,以提高负载均衡设备的处理性能,无需要求客户端采用支持cookie的浏览器即可实现会话保持。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是现有技术中负载均衡设备的拓扑图;
图2是本发明一实施例中基于负载均衡设备的会话保持方法的流程图;
图3是本发明一实施例中会话标识提取的流程图;
图4是本发明一实施例中接收HTTP应答并转送至客户端的流程图;
图5是本发明一实施例中基于负载均衡设备的会话保持方法的另一流程图;
图6是本发明一实施例中的负载均衡设备的原理框图。
图中:10、信息收发单元;20、判断单元;30、第一处理单元;40、第二处理单元。
具体实施方式
为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本发明的具体实施方式。
实施例1
图2示出本实施例中的基于负载均衡设备的会话保持方法,该会话保持方法包括以下步骤:
S11:接收来自客户端的HTTP请求。
S12:判断HTTP请求的URL和/或HTTP请求头部中是否嵌入有用于识别会话的会话标识。可以理解地,可以在HTTP请求的URL或者HTTP请求头部中嵌入会话标识,也可以同时在HTTP请求的URL和HTTP请求头部中嵌入会话标识。可以理解地,通过判断URL和/或HTTP请求头部是否嵌入会话标识,可识别大多数HTTP请求中是否携带会话标识,以实现本方案会话保持的目的。
S13:若HTTP请求的URL和/或HTTP请求头部中嵌入有会话标识,则采用关键字匹配法或正则表达法提取会话标识,可以理解地,在数据库中预存有会话标识与服务器的对应关系。在提取会话标识后,根据提取到的会话标识判断当前是否存在与会话标识相对应的服务器;若存在与会话标识相对应的服务器,则将HTTP请求发送给与会话标识相对应的服务器,使得客户端可在一次会话过程中,将其HTTP请求调度到在先HTTP请求访问的服务器中,以实现会话保持目的。
如图3所示,采用关键字匹配法或正则表达法提取会话标识包括如下步骤:
S131:预设会话标识的关键字、偏移量以及预设会话标识格式。
S132:采用关键字匹配法根据关键字和偏移量提取会话标识,并判断是否成功提取会话标识。可以理解地,若会话标识采用某一关键字并有固定的偏移量时,通过搜索关键字并计算偏移量,可快速查收会话标识的位置,并提取该会话标识,关键字匹配法提取会话标识的效率更高。
S133:若会话标识提取失败,则采用正则表达法根据预设会话标识格式提取会话标识,否则结束会话标识的提取,视为HTTP请求的URL和/或HTTP请求头部没有嵌入有会话标识。可以理解地,只要会话标识采用预设会话标识格式表现时,采用正则表达法均可提取该会话标识,其提取更全面。
可以理解地,通过关键字匹配法和正则表达法提取结合以提取会话标识,若采用关键字匹配法已提取会话标识,则无需再采用正则表达法进行会话标识提取,可有效提高会话标识的提取效率并保证提取更全面。
S14:若HTTP请求的URL和/或HTTP请求头部中没有嵌入有会话标识或不存在与会话标识相对应的服务器,则根据负载均衡调度算法将HTTP请求发送至服务器。可以理解地,若客户端第一次访问服务器,即第一次发送HTTP请求时,其HTTP请求的URL和HTTP请求头部均没有嵌入会话标识,相应地,不存在与会话标识对应的服务器,因此采用负载均衡调度算法将HTTP请求发送至服务器。
S15:接收服务器反馈的HTTP应答并转送至客户端。可以理解地,当客户端第一次通过负载均衡设备发送HTTP请求时,负载均衡设备按照负载均衡调度算法将HTTP请求发送至服务器,服务器创建会话,并将HTTP应答发送给客户端,由于客户端不支持cookie,服务器将会话标识嵌入在客户端所有的超链接、INPUT控件或其他HTML代码中。
如图4所示,步骤S15包括如下步骤:
S151:接收服务器发送的HTTP应答。
S152:判断HTTP应答的HTTP应答头部或HTTP应答内容是否嵌入有用于识别会话的会话标识。可以理解地,服务器在一个新的会话开始后(即接到客户端发送的第一次HTTP请求后,将为当前的会话分配一个会话标识,该会话标识符合预设的关键字和偏移量的要求,和/或符合预设会话标识格式,以便于进行查询。由于浏览器不支持cookie,该会话标识无法保存到cookie中,因此服务器将会话标识嵌入到HTTP应答头部或HTTP应答内容中并返回给客户端,使得客户端的所有的超链接或隐藏的INPUT控件中都嵌入有该会话标识,使得客户端其后发送的HTTP请求的URL和/或HTTP请求头部上均嵌入有该会话标识。
S153:若HTTP应答头部或HTTP应答内容中嵌入有会话标识,则采用关键字匹配法或正则表达法提取嵌入在HTTP应答头部或HTTP应答内容中的会话标识,将会话标识与服务器的对应关系存储在数据库中,并将HTTP应答转发给客户端,以便于再次接收到来自同一客户端嵌入有会话标识的HTTP请求时,可将HTTP请求发送到与会话标识对应的服务器中,以实现会话保持。
S154:若HTTP应答头部或HTTP应答内容中不嵌入有会话标识,则将HTTP应答转发给客户端。可以理解地,若HTTP应答头部或HTTP应答内容中不嵌入有会话标识,直接将HTTP应答转发给客户端,再次接收到该客户端发送的HTTP请求时,无法直接将HTTP请求发送至相应的服务器,不能实现会话保持。
可以理解地,服务器对接收的HTTP请求进行处理,向负载均衡设备反馈HTTP请求应答,该HTTP应答中可以嵌入有会话标识,也可以不嵌入有会话标识。若反馈的HTTP请求嵌入会话标识,负载均衡设备提取该会话标识,并将会话标识与服务器的对应关系存储在数据库中,以便于再次接收该服务器发送的HTTP请求时,直接依据该会话标识将其发送至相应的服务器,以提高负载均衡设备的处理性能。
本实施例中,判断HTTP请求的URL和/或HTTP请求头部中是否嵌入用于识别会话的会话标识,并根据判断结果请HTTP请求发送给对应的服务器,可有效提高负载均衡设备的处理性能,无需要求客户端采用支持cookie的浏览器。
如图5所示,该基于负载均衡设备的会话保持方法还包括如下步骤:
S16:判断HTTP请求为POST请求还是GET请求;
S17:若为POST请求,则判断POST请求的表单中是否嵌入有用于识别会话的会话标识。若嵌入有会话标识,则采用关键字匹配法或正则表达法提取会话标识;并判断当前是否存在与会话标识相对应的服务器;若存在与会话标识相对应的服务器,则将HTTP请求发送给与会话标识相对应的服务器。
若为GET请求、POST请求的表单没有嵌入有会话标识或不存在与会话标识相对应的服务器,则执行步骤S14、S15,则将HTTP请求发送至根据负载均衡调度算法确定的服务器。可以理解地,若为GET请求,则仅判断其HTTP请求的URL和/或HTTP请求头部是否嵌入有会话标识,若不嵌入有会话标识,则根据负载均衡调度算法确定服务器。可以理解地,若客户端的javascript中自动触发访问请求,服务器也会在javascript中嵌入会话标识。
本实施例中,判断HTTP请求的URL和/或HTTP请求头部或POST请求的表单中是否嵌入用于识别会话的会话标识,并根据判断结果请HTTP请求发送给对应的服务器,可有效提高负载均衡设备的处理性能,无需要求客户端支持cookie的浏览器即可实现会话保持。
实施例2
图6示出本实施例中的负载均衡设备。该负载均衡设备包括:
信息收发单元10,用于接收来自客户端的HTTP请求、并将接收到的服务器反馈的HTTP应答并转送至客户端。
判断单元20,用于判断HTTP请求的URL和/或HTTP请求头部中是否嵌入有用于识别会话的会话标识;并判断HTTP请求为POST请求还是GET请求,在HTTP请求为POST请求时,判断POST请求的表单中是否嵌入有用于识别会话的会话标识。即若HTTP请求为POST请求,则判断HTTP请求的URL、HTTP请求头部和/或POST请求的表单中是否嵌入有用于识别会话的会话标识;若HTTP请求为GET请求,则仅判断HTTP请求的URL和/或HTTP请求头部是否嵌入有用于识别会话的会话标识。可以理解地,通过判断URL和/或HTTP请求头部、POST请求的表单是否嵌入会话标识,可识别大多数HTTP请求中是否携带会话标识,以实现本方案会话保持的目的。
第一处理单元30,用于在HTTP请求的URL、HTTP请求头部和/或POST请求的表单中嵌入有会话标识时,则采用关键字匹配法或正则表达法提取HTTP请求的URL、HTTP请求头部和/或POST请求的表单的中的会话标识。可以理解地,在数据库中预存有会话标识与服务器的对应关系。在提取会话标识后,根据提取到的会话标识判断当前是否存在与会话标识相对应的服务器;若存在与会话标识相对应的服务器,则将HTTP请求发送给与会话标识相对应的服务器,使得客户端可在一次会话过程中,将其HTTP请求调度到在先HTTP请求访问的服务器中,以实现会话保持目的。
具体地,第一处理单元30还用于执行如下步骤,以提取会话标识:
预设会话标识的关键字、偏移量以及预设会话标识格式。
先采用关键字匹配法根据关键字和偏移量提取会话标识,并判断是否成功提取会话标识。可以理解地,若会话标识采用某一关键字并有固定的偏移量时,通过搜索关键字并计算偏移量,可快速查收会话标识的位置,并提取该会话标识,关键字匹配法提取会话标识的效率更高。
若提取失败,则采用正则表达法根据预设会话标识格式提取会话标识,否则结束会话标识的提取,视为HTTP请求的URL、HTTP请求头部和/或POST请求的表单中没有嵌入有会话标识。可以理解地,只要会话标识采用预设会话标识格式表现时,采用正则表达法均可提取该会话标识,其提取更全面。
可以理解地,通过关键字匹配法和正则表达法提取结合以提取会话标识,若采用关键字匹配法已提取会话标识,则无需再采用正则表达法进行会话标识提取,可有效提高会话标识的提取效率并保证提取更全面。
第二处理单元40,用于在HTTP请求的URL、HTTP请求头部和/或POST请求的表单中均没有嵌入有会话标识、或者不存在与会话标识相对应的服务器时,根据负载均衡调度算法将HTTP请求发送至服务器。可以理解地,该HTTP请求包括POST请求和/或GET请求。
具体地,判断单元20还用于判断HTTP应答头部或HTTP应答内容是否嵌入有用于识别会话的会话标识。
第一处理单元30还用于在HTTP应答头部或HTTP应答内容嵌入有会话标识时,采用关键字匹配法或正则表达法提取会话标识,将会话标识与服务器的对应关系存储在数据库中,并将HTTP应答转发给客户端。可以理解地,负载均衡设备解析服务器反馈的HTTP应答,从HTTP应答头部或HTTP应答内容等html代码中提取嵌入会话标识并将会话标识和服务器的对应关系存储在数据库中,使得负载均衡设备再次接收到客户端发送的HTTP请求时,提取HTTP请求的URL、HTTP请求头部或POST请求的表单中的会话标识,以将HTTP请求发送至与会话标识对应的服务器中,以实现会话保持而无需依赖于浏览器的cookie。
第二处理单元40还用于在HTTP应答头部或HTTP应答内容不嵌入有会话标识时,将HTTP应答转发给客户端。可以理解地,若HTTP应答头部或HTTP应答内容中不嵌入有会话标识,直接将HTTP应答转发给客户端,再次接收到该客户端发送的HTTP请求时,无法直接将HTTP请求发送至相应的服务器,不能实现会话保持。
本发明所提供的负载均衡设备采用关键字匹配法或正则表达法提取嵌入在HTTP请求的URL和/或HTTP请求头部中的会话标识,以提高负载均衡设备的处理性能,无需要求客户端采用支持cookie的浏览器即可实现会话保持。
本发明还提供一种基于负载均衡设备的会话保持***,包括前述的负载均衡设备、与所述负载均衡设备通信相连的客户端和服务器。
本发明是通过几个具体实施例进行说明的,本领域技术人员应当明白,在不脱离本发明范围的情况下,还可以对本发明进行各种变换和等同替代。另外,针对特定情形或具体情况,可以对本发明做各种修改,而不脱离本发明的范围。因此,本发明不局限于所公开的具体实施例,而应当包括落入本发明权利要求范围内的全部实施方式。
Claims (9)
1.一种基于负载均衡设备的会话保持方法,其特征在于,包括以下步骤:
接收来自客户端的HTTP请求;
判断所述HTTP请求的URL和/或HTTP请求头部中是否嵌入有用于识别会话的会话标识;
若嵌入有会话标识,则采用关键字匹配法或正则表达法提取所述会话标识;并判断当前是否存在与所述会话标识相对应的服务器;若存在与所述会话标识相对应的服务器,则将所述HTTP请求发送给与所述会话标识相对应的服务器;
若没有嵌入有会话标识或不存在与所述会话标识相对应的服务器,则根据负载均衡调度算法将所述HTTP请求发送至服务器;
接收所述服务器反馈的HTTP应答并转送至所述客户端。
2.根据权利要求1所述的基于负载均衡设备的会话保持方法,其特征在于,还包括判断所述HTTP请求为POST请求还是GET请求;
若为POST请求,则判断所述POST请求的表单中是否嵌入有用于识别会话的会话标识;若嵌入有会话标识,则采用关键字匹配法或正则表达法提取所述会话标识;并判断当前是否存在与所述会话标识相对应的服务器;若存在与所述会话标识相对应的服务器,则将所述HTTP请求发送给与所述会话标识相对应的服务器;
若为GET请求、POST请求的表单没有嵌入有会话标识或不存在与所述会话标识相对应的服务器,则将所述HTTP请求发送至根据负载均衡调度算法确定的服务器。
3.根据权利要求1所述的基于负载均衡设备的会话保持方法,其特征在于,所述接收所述服务器反馈的HTTP应答并转送至所述客户端包括如下步骤:
接收所述HTTP应答;
判断所述HTTP应答头部或HTTP应答内容是否嵌入有用于识别会话的会话标识;
若嵌入有会话标识,则采用关键字匹配法或正则表达法提取所述会话标识,将所述会话标识与服务器的对应关系存储在数据库中,并将所述HTTP应答转发给客户端;
若不嵌入有会话标识,则将所述HTTP应答转发给客户端。
4.根据权利要求1-3任一项所述的基于负载均衡设备的会话保持方法,其特征在于,所述采用关键字匹配法或正则表达法提取会话标识包括如下步骤:
预设会话标识的关键字、偏移量以及预设会话标识格式;
采用关键字匹配法根据所述关键字和偏移量提取会话标识,并判断是否成功提取所述会话标识;
若提取失败,则采用正则表达法根据所述预设会话标识格式提取所述会话标识,否则结束会话标识的提取。
5.一种负载均衡设备,其特征在于,包括:
信息收发单元(10),用于接收来自客户端的HTTP请求,并将接收到的服务器反馈的HTTP应答转送至所述客户端;
判断单元(20),用于判断所述HTTP请求的URL和/或HTTP请求头部中是否嵌入有用于识别会话的会话标识;
第一处理单元(30),用于在嵌入有会话标识时,则采用关键字匹配法或正则表达法提取所述会话标识;并判断当前是否存在与所述会话标识相对应的服务器;若存在与所述会话标识相对应的服务器,则将所述HTTP请求发送给与所述会话标识相对应的服务器;
第二处理单元(40),用于在所述HTTP请求没有嵌入有会话标识或不存在与所述会话标识相对应的服务器时,则根据负载均衡调度算法将所述HTTP请求发送至服务器。
6.根据权利要求5所述的负载均衡设备,其特征在于,
所述判断单元(20),还用于判断所述HTTP请求为POST请求还是GET请求,并在所述HTTP请求为POST请求时,判断所述POST请求的表单中是否嵌入有用于识别会话的会话标识;
所述第一处理单元(30),还用于在POST请求的表单中嵌入有会话标识,则采用关键字匹配法或正则表达法提取所述会话标识;并判断当前是否存在与所述会话标识相对应的服务器;若存在与所述会话标识相对应的服务器,则将所述HTTP请求发送给与所述会话标识相对应的服务器;
所述第二处理单元(40),还用于在所述HTTP请求为GET请求、POST请求的表单没有嵌入有会话标识或不存在与所述会话标识相对应的服务器时,则将所述HTTP请求发送至根据负载均衡调度算法确定的服务器。
7.根据权利要求6所述的负载均衡设备,其特征在于,
所述判断单元(20)还用于判断所述HTTP应答的HTTP应答头部或HTTP应答内容是否嵌入有用于识别会话的会话标识;
所述第一处理单元(30)还用于在HTTP应答头部或HTTP应答内容嵌入有会话标识时,采用关键字匹配法或正则表达法提取所述会话标识,将所述会话标识与服务器的对应关系存储在数据库中,并将所述HTTP应答转发给客户端;
所述第二处理单元(40)还用于在HTTP应答头部或HTTP应答内容不嵌入有会话标识时,将所述HTTP应答转发给客户端。
8.根据权利要求5-7任一项所述的基于负载均衡设备,其特征在于,所述第一处理单元(30)还用于执行如下步骤:
预设会话标识的关键字、偏移量以及预设会话标识格式;
采用关键字匹配法根据所述关键字和偏移量提取会话标识,并判断是否成功提取所述会话标识;
若提取失败,则采用正则表达法根据所述预设会话标识格式提取所述会话标识,否则结束会话标识的提取。
9.一种基于负载均衡设备的会话保持***,其特征在于:包括权利要求5-8任一项所述的负载均衡设备、与所述负载均衡设备通信相连的客户端和服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510173425.7A CN104811488B (zh) | 2015-04-13 | 2015-04-13 | 基于负载均衡设备的会话保持方法及***和负载均衡设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510173425.7A CN104811488B (zh) | 2015-04-13 | 2015-04-13 | 基于负载均衡设备的会话保持方法及***和负载均衡设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104811488A true CN104811488A (zh) | 2015-07-29 |
CN104811488B CN104811488B (zh) | 2018-09-25 |
Family
ID=53695976
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510173425.7A Active CN104811488B (zh) | 2015-04-13 | 2015-04-13 | 基于负载均衡设备的会话保持方法及***和负载均衡设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104811488B (zh) |
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105338063A (zh) * | 2015-09-30 | 2016-02-17 | 北京奇虎科技有限公司 | 多个服务器共享用户会话的方法及装置 |
CN105553870A (zh) * | 2015-12-11 | 2016-05-04 | 小米科技有限责任公司 | 业务请求的分配方法和装置 |
CN106101290A (zh) * | 2016-08-25 | 2016-11-09 | Tcl集团股份有限公司 | 一种服务器集群管理的方法及*** |
CN106686129A (zh) * | 2017-01-23 | 2017-05-17 | 天地融科技股份有限公司 | 一种负载均衡方法及*** |
CN106713499A (zh) * | 2017-01-23 | 2017-05-24 | 天地融科技股份有限公司 | 一种负载均衡方法、设备及*** |
CN108055312A (zh) * | 2017-12-07 | 2018-05-18 | 畅捷通信息技术股份有限公司 | 路由方法及其装置与计算机装置及其可读存储介质 |
CN108076149A (zh) * | 2017-12-15 | 2018-05-25 | 杭州迪普科技股份有限公司 | 会话保持方法和装置 |
CN108153761A (zh) * | 2016-12-05 | 2018-06-12 | 阿里巴巴集团控股有限公司 | 访问网络图片、以及响应网络图片访问的方法、装置 |
CN108696554A (zh) * | 2017-04-10 | 2018-10-23 | 北京京东尚科信息技术有限公司 | 负载均衡方法和装置 |
CN109155749A (zh) * | 2016-06-21 | 2019-01-04 | 甲骨文国际公司 | 互联网云托管的自然语言交互式消息传送***会话器 |
CN109246222A (zh) * | 2018-09-21 | 2019-01-18 | 郑州云海信息技术有限公司 | 服务请求处理方法、装置、***及计算机可读存储介质 |
CN109474705A (zh) * | 2018-12-28 | 2019-03-15 | 杭州迪普科技股份有限公司 | 一种会话保持方法和装置 |
CN109688229A (zh) * | 2019-01-24 | 2019-04-26 | 江苏中云科技有限公司 | 一种负载均衡集群下会话保持*** |
CN110233902A (zh) * | 2019-06-28 | 2019-09-13 | 杭州迪普科技股份有限公司 | 会话处理方法、装置、电子设备及机器可读存储介质 |
CN110417876A (zh) * | 2019-07-17 | 2019-11-05 | 中移(杭州)信息技术有限公司 | 会话方法、分布式***中的节点服务器及主控设备 |
WO2019237594A1 (zh) * | 2018-06-14 | 2019-12-19 | 平安科技(深圳)有限公司 | 会话保持方法、装置、计算机设备及存储介质 |
CN111045823A (zh) * | 2019-12-11 | 2020-04-21 | 上海智臻智能网络科技股份有限公司 | 上下文数据的负载分发方法、装置、设备及存储介质 |
CN111917767A (zh) * | 2020-07-29 | 2020-11-10 | 苏州浪潮智能科技有限公司 | 一种客户端的请求认证方法、装置、设备及存储介质 |
CN112202836A (zh) * | 2020-09-04 | 2021-01-08 | 苏州浪潮智能科技有限公司 | 一种保持客户端会话信息的方法、***、终端及存储介质 |
CN112241418A (zh) * | 2019-07-17 | 2021-01-19 | 中兴通讯股份有限公司 | 分布式数据库预处理方法及代理层、***、存储介质 |
CN113259429A (zh) * | 2021-05-11 | 2021-08-13 | 鸬鹚科技(深圳)有限公司 | 会话保持管控方法、装置、计算机设备及介质 |
US11240179B2 (en) | 2016-09-16 | 2022-02-01 | Oracle International Corporation | Internet cloud-hosted natural language interactive messaging system with virtual database |
CN114051049A (zh) * | 2021-02-10 | 2022-02-15 | 中国信息通信研究院 | 标识的代理转发方法、服务器及计算机可读存储介质 |
CN114338689A (zh) * | 2021-12-30 | 2022-04-12 | 中国工商银行股份有限公司 | 会话保持方法、装置、设备、介质和程序产品 |
CN114827239A (zh) * | 2022-05-31 | 2022-07-29 | 杭州迪普科技股份有限公司 | 基于8583协议的双向会话保持方法和装置 |
CN114866442A (zh) * | 2022-05-31 | 2022-08-05 | 杭州迪普科技股份有限公司 | 基于8583协议跨虚拟服务会话保持的测试方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101783771A (zh) * | 2010-03-24 | 2010-07-21 | 杭州华三通信技术有限公司 | 一种实现负载均衡持续性的方法和设备 |
US20120233248A1 (en) * | 2009-11-24 | 2012-09-13 | Huawei Technologies Co., Ltd. | Method and system for processing request message, and load balancer device |
CN102780619A (zh) * | 2012-07-23 | 2012-11-14 | 北京星网锐捷网络技术有限公司 | 一种处理报文的方法及装置 |
CN102819710A (zh) * | 2012-08-22 | 2012-12-12 | 西北工业大学 | 基于渗透测试的跨站点脚本漏洞检测方法 |
CN103457869A (zh) * | 2013-08-28 | 2013-12-18 | 北京星网锐捷网络技术有限公司 | 会话保持方法和装置 |
CN103685329A (zh) * | 2012-08-30 | 2014-03-26 | 华耀(中国)科技有限公司 | 基于负载均衡的高级访问控制***及方法 |
CN103957207A (zh) * | 2014-04-29 | 2014-07-30 | 北京太一星晨信息技术有限公司 | 一种会话保持方法和装置 |
-
2015
- 2015-04-13 CN CN201510173425.7A patent/CN104811488B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120233248A1 (en) * | 2009-11-24 | 2012-09-13 | Huawei Technologies Co., Ltd. | Method and system for processing request message, and load balancer device |
CN101783771A (zh) * | 2010-03-24 | 2010-07-21 | 杭州华三通信技术有限公司 | 一种实现负载均衡持续性的方法和设备 |
CN102780619A (zh) * | 2012-07-23 | 2012-11-14 | 北京星网锐捷网络技术有限公司 | 一种处理报文的方法及装置 |
CN102819710A (zh) * | 2012-08-22 | 2012-12-12 | 西北工业大学 | 基于渗透测试的跨站点脚本漏洞检测方法 |
CN103685329A (zh) * | 2012-08-30 | 2014-03-26 | 华耀(中国)科技有限公司 | 基于负载均衡的高级访问控制***及方法 |
CN103457869A (zh) * | 2013-08-28 | 2013-12-18 | 北京星网锐捷网络技术有限公司 | 会话保持方法和装置 |
CN103957207A (zh) * | 2014-04-29 | 2014-07-30 | 北京太一星晨信息技术有限公司 | 一种会话保持方法和装置 |
Cited By (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105338063A (zh) * | 2015-09-30 | 2016-02-17 | 北京奇虎科技有限公司 | 多个服务器共享用户会话的方法及装置 |
CN105553870B (zh) * | 2015-12-11 | 2020-03-17 | 小米科技有限责任公司 | 业务请求的分配方法和装置 |
CN105553870A (zh) * | 2015-12-11 | 2016-05-04 | 小米科技有限责任公司 | 业务请求的分配方法和装置 |
CN109155749B (zh) * | 2016-06-21 | 2021-11-19 | 甲骨文国际公司 | 用于将消息与会话相关联的方法和*** |
CN109155749A (zh) * | 2016-06-21 | 2019-01-04 | 甲骨文国际公司 | 互联网云托管的自然语言交互式消息传送***会话器 |
CN106101290B (zh) * | 2016-08-25 | 2020-12-11 | Tcl科技集团股份有限公司 | 一种服务器集群管理的方法及*** |
CN106101290A (zh) * | 2016-08-25 | 2016-11-09 | Tcl集团股份有限公司 | 一种服务器集群管理的方法及*** |
US11240179B2 (en) | 2016-09-16 | 2022-02-01 | Oracle International Corporation | Internet cloud-hosted natural language interactive messaging system with virtual database |
CN108153761A (zh) * | 2016-12-05 | 2018-06-12 | 阿里巴巴集团控股有限公司 | 访问网络图片、以及响应网络图片访问的方法、装置 |
CN106686129A (zh) * | 2017-01-23 | 2017-05-17 | 天地融科技股份有限公司 | 一种负载均衡方法及*** |
CN106713499A (zh) * | 2017-01-23 | 2017-05-24 | 天地融科技股份有限公司 | 一种负载均衡方法、设备及*** |
CN108696554A (zh) * | 2017-04-10 | 2018-10-23 | 北京京东尚科信息技术有限公司 | 负载均衡方法和装置 |
CN108055312A (zh) * | 2017-12-07 | 2018-05-18 | 畅捷通信息技术股份有限公司 | 路由方法及其装置与计算机装置及其可读存储介质 |
CN108055312B (zh) * | 2017-12-07 | 2021-07-09 | 畅捷通信息技术股份有限公司 | 路由方法及其装置与计算机装置及其可读存储介质 |
CN108076149A (zh) * | 2017-12-15 | 2018-05-25 | 杭州迪普科技股份有限公司 | 会话保持方法和装置 |
WO2019237594A1 (zh) * | 2018-06-14 | 2019-12-19 | 平安科技(深圳)有限公司 | 会话保持方法、装置、计算机设备及存储介质 |
CN109246222A (zh) * | 2018-09-21 | 2019-01-18 | 郑州云海信息技术有限公司 | 服务请求处理方法、装置、***及计算机可读存储介质 |
CN109474705A (zh) * | 2018-12-28 | 2019-03-15 | 杭州迪普科技股份有限公司 | 一种会话保持方法和装置 |
CN109474705B (zh) * | 2018-12-28 | 2021-04-27 | 杭州迪普科技股份有限公司 | 一种会话保持方法和装置 |
CN109688229A (zh) * | 2019-01-24 | 2019-04-26 | 江苏中云科技有限公司 | 一种负载均衡集群下会话保持*** |
CN110233902B (zh) * | 2019-06-28 | 2022-03-01 | 杭州迪普科技股份有限公司 | 会话处理方法、装置、电子设备及机器可读存储介质 |
CN110233902A (zh) * | 2019-06-28 | 2019-09-13 | 杭州迪普科技股份有限公司 | 会话处理方法、装置、电子设备及机器可读存储介质 |
WO2021008475A1 (zh) * | 2019-07-17 | 2021-01-21 | 中兴通讯股份有限公司 | 分布式数据库预处理方法及代理层、***、存储介质 |
US11847116B2 (en) | 2019-07-17 | 2023-12-19 | Xi'an Zhongxing New Software Co., Ltd. | Distributed database preprocessing method, agent layer, system and storage medium |
CN110417876B (zh) * | 2019-07-17 | 2021-10-29 | 中移(杭州)信息技术有限公司 | 会话方法、分布式***中的节点服务器及主控设备 |
CN112241418A (zh) * | 2019-07-17 | 2021-01-19 | 中兴通讯股份有限公司 | 分布式数据库预处理方法及代理层、***、存储介质 |
CN110417876A (zh) * | 2019-07-17 | 2019-11-05 | 中移(杭州)信息技术有限公司 | 会话方法、分布式***中的节点服务器及主控设备 |
CN111045823A (zh) * | 2019-12-11 | 2020-04-21 | 上海智臻智能网络科技股份有限公司 | 上下文数据的负载分发方法、装置、设备及存储介质 |
CN111917767B (zh) * | 2020-07-29 | 2022-06-07 | 苏州浪潮智能科技有限公司 | 一种客户端的请求认证方法、装置、设备及存储介质 |
CN111917767A (zh) * | 2020-07-29 | 2020-11-10 | 苏州浪潮智能科技有限公司 | 一种客户端的请求认证方法、装置、设备及存储介质 |
CN112202836A (zh) * | 2020-09-04 | 2021-01-08 | 苏州浪潮智能科技有限公司 | 一种保持客户端会话信息的方法、***、终端及存储介质 |
CN114051049A (zh) * | 2021-02-10 | 2022-02-15 | 中国信息通信研究院 | 标识的代理转发方法、服务器及计算机可读存储介质 |
CN113259429A (zh) * | 2021-05-11 | 2021-08-13 | 鸬鹚科技(深圳)有限公司 | 会话保持管控方法、装置、计算机设备及介质 |
CN113259429B (zh) * | 2021-05-11 | 2023-12-05 | 鸬鹚科技(深圳)有限公司 | 会话保持管控方法、装置、计算机设备及介质 |
CN114338689A (zh) * | 2021-12-30 | 2022-04-12 | 中国工商银行股份有限公司 | 会话保持方法、装置、设备、介质和程序产品 |
CN114827239A (zh) * | 2022-05-31 | 2022-07-29 | 杭州迪普科技股份有限公司 | 基于8583协议的双向会话保持方法和装置 |
CN114866442A (zh) * | 2022-05-31 | 2022-08-05 | 杭州迪普科技股份有限公司 | 基于8583协议跨虚拟服务会话保持的测试方法及装置 |
CN114866442B (zh) * | 2022-05-31 | 2023-05-26 | 杭州迪普科技股份有限公司 | 基于8583协议跨虚拟服务会话保持的测试方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104811488B (zh) | 2018-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104811488A (zh) | 基于负载均衡设备的会话保持方法及***和负载均衡设备 | |
US10778554B2 (en) | Latency measurement in resource requests | |
US11108729B2 (en) | Managing request routing information utilizing client identifiers | |
US9912740B2 (en) | Latency measurement in resource requests | |
US9185012B2 (en) | Latency measurement in resource requests | |
US9253065B2 (en) | Latency measurement in resource requests | |
US9172674B1 (en) | Managing request routing information utilizing performance information | |
US9800539B2 (en) | Request routing management based on network components | |
US8301748B2 (en) | Managing CDN registration by a storage provider | |
US10601767B2 (en) | DNS query processing based on application information | |
CN104079543B (zh) | 智能家居***监控权限的获取方法、装置和*** | |
US8533293B1 (en) | Client side cache management | |
CN1170236C (zh) | 在客户机与服务器之间控制通信的方法和设备 | |
US7975047B2 (en) | Reliable processing of HTTP requests | |
US20060112422A1 (en) | Data transfer using hyper-text transfer protocol (HTTP) query strings | |
CN103347092A (zh) | 一种识别缓存文件的方法及装置 | |
CN103051976A (zh) | 一种cdn分发hls内容方法、***及设备 | |
EP3217630A1 (en) | Method and associated server for providing user-friendly operation | |
CN103237089A (zh) | 基于dns轮询方式网页的修复方法、装置和服务器 | |
EP2890086B1 (en) | Method and farm load balancing device for establishing a bi-directional server to server communication and computer program thereof | |
US10530765B2 (en) | Securing connections to unsecure internet resources | |
US20040019682A1 (en) | System and method for processing callback requests included in web-based procedure calls | |
US20030163586A1 (en) | Server persistence using a URL identifier | |
CN104580224B (zh) | 一种网络连接方法和装置以及计算机*** | |
CN107302602B (zh) | 信息传递方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20200612 Address after: Nanshan District Xueyuan Road in Shenzhen city of Guangdong province 518000 No. 1001 Nanshan Chi Park building A1 layer Patentee after: SANGFOR TECHNOLOGIES Inc. Address before: Nanshan District Xueyuan Road in Shenzhen city of Guangdong province 518000 No. 1001 Nanshan Chi Park A1 building five floor Patentee before: Shenxin network technology (Shenzhen) Co.,Ltd. |