会话保持方法和装置制造方法

文档序号:8005711阅读:243来源:国知局
会话保持方法和装置制造方法
【专利摘要】本发明提供一种会话保持方法和装置,通过负载均衡设备为客户端设置会话保持标识,并通过包含会话保持标识的HTTP重定向应答报文将上述会话保持标识发送给客户端,客户端在后续的HTTP请求报文中携带上述会话保持报文,负载均衡设备根据本地存储的会话保持标识与服务器的对应关系,将HTTP请求报文发送到上述对应关系的服务器,以确保具有相同的会话保持标识的HTTP请求报文由同一服务器服务,从而实现会话保持,服务器接收到HTTP请求报文之后,向负载均衡设备发送HTTP应答报文,负载均衡设备可直接转发给客户端,无需通过解析服务器发送的每个HTTP应答报文以获取会话保持标识与服务器的对应关系,因此,减轻了负载均衡设备的负担,提高了处理能力。
【专利说明】会话保持方法和装置
【技术领域】
[0001]本发明涉及计算机技术,尤其涉及一种会话保持方法和装置。
【背景技术】
[0002]在服务器集群的应用场景中,多台具有相同或者相似功能的服务器通过负载均衡设备连接在一起,当客户端向服务器请求服务时,负载均衡设备根据已配置的均衡策略将客户端的超文本传输协议(Hypertext transfer protocol,以下简称:HTTP)请求报文发送到服务器集群中的一台服务器,也就是,根据服务器集群中各服务器的当前负载情况将客户端的HTTP请求报文合理分配到不同的服务器,从而使得各服务器能够均衡地分担负载,提高系统性能。这种情况下,同一客户端的不同HTTP请求报文就可能被分配到不同的服务器进行处理。
[0003]然而,在很多应用场合下,客户端的请求需要由同一台服务器进行处理。例如,电子商务网站的购物车,客户端浏览器与网页(Web)服务器之间进行数据交互,当客户端向购物车中添加商品时,服务器必须保留客户端的购物车信息,才不会出现问题;因此,需要通过会话保持技术以保证需要会话保持的客户端的HTTP请求报文被分配到同一服务器上进行处理。现有技术中,负载均衡设备将客户端的HTTP请求报文转发给服务器,服务器根据客户端的HTTP请求报文分配cookie信息,并将cookie信息包含在HTTP应答报文中发送给负载均衡设备,负载均衡设备解析服务器发送的HTTP应答报文,并存储HTTP应答报文中的cookie信息与发送上述HTTP应答报文的服务器的对应关系,然后,将HTTP应答报文转发给客户端,客户端在后续的需要会话保持的HTTP请求报文中包含上述cookie信息,负载均衡设备根据HTTP请求报文中的cookie信息以及记录的cookie信息与服务器的对应关系,将HTTP请求报文转发到cookie信息与服务器的对应关系中的服务器,从而实现会话保持。
[0004]然而,采用现有技术的方法,cookie信息由服务器设置,负载均衡设备无法预知服务器会在哪个HTTP应答报文中包含cookie信息,因此,需要解析服务器发送的每一个HTTP应答报文,以获取cookie信息与服务器的对应关系,降低了负载均衡设备的处理能力。

【发明内容】

[0005]本发明提供一种会话保持方法和装置,以提高负载均衡设备的处理能力。
[0006]本发明实施例第一方面提供一种会话保持方法,包括:
[0007]接收客户端发送的超文本传输协议HTTP请求报文,所述HTTP请求报文为需要会话保持的HTTP请求报文;
[0008]判断所述HTTP请求报文中是否包含会话保持标识,所述会话保持标识用于指示将包含相同的会话保持标识的HTTP请求报文发送到同一服务器;
[0009]若不包含,则为发送所述HTTP请求报文的客户端设置会话保持标识,并向所述客户端发送HTTP重定向应答报文,所述HTTP重定向应答报文中包含所述会话保持标识,以使所述客户端根据所述会话保持标识向负载均衡设备发送包含所述会话保持标识的HTTP请求报文;
[0010]若包含,则根据所述会话保持标识与服务器的对应关系,将所述HTTP请求报文发送给与所述会话保持标识对应的服务器;
[0011]将所述服务器发送的HTTP应答报文转发给所述客户端。
[0012]本发明实施例第二方面提供一种会话保持方法,包括:
[0013]接收负载均衡设备发送的HTTP重定向应答报文,所述HTTP重定向应答报文中包含会话保持标识;
[0014]向所述负载均衡设备发送HTTP请求报文,所述HTTP请求报文中包含所述会话保持标识,以使所述负载均衡设备根据所述会话保持标识确定为所述客户端服务的服务器。
[0015]本发明实施例第三方面提供一种会话保持装置,包括:
[0016]接收模块,用于接收客户端发送的超文本传输协议HTTP请求报文,所述HTTP请求报文为需要会话保持的HTTP请求报文;
[0017]处理模块,用于判断所述HTTP请求报文中是否包含会话保持标识,所述会话保持标识用于指示将包含相同的会话保持标识的HTTP请求报文发送到同一服务器;若不包含,则为发送所述HTTP请求报文的客户端设置会话保持标识,并向所述客户端发送HTTP重定向应答报文,所述HTTP重定向应答报文中包含所述会话保持标识,以使所述客户端根据所述会话保持标识向负载均衡设备发送包含所述会话保持标识的HTTP请求报文;若包含,则根据所述会话保持标识与服务器的对应关系,将所述HTTP请求报文发送给与所述会话保持标识对应的服务器;
[0018]发送模块,用于将所述服务器发送的HTTP应答报文转发给所述客户端。
[0019]本发明实施例第四方面提供一种会话保持装置,包括:接收模块,用于接收负载均衡设备发送的HTTP重定向应答报文,所述HTTP重定向应答报文中包含会话保持标识;
[0020]发送模块,用于向所述负载均衡设备发送HTTP请求报文,所述HTTP请求报文中包含所述会话保持标识,以使所述负载均衡设备根据所述会话保持标识确定为所述客户端服务的服务器。
[0021]本发明提供的会话保持方法和装置,通过负载均衡设备为客户端设置会话保持标识,并通过包含会话保持标识的HTTP重定向应答报文将上述会话保持标识发送给客户端,以使客户端在后续的HTTP请求报文中携带上述会话保持报文,负载均衡设备根据本地存储的会话保持标识与服务器的对应关系,将HTTP请求报文发送到上述会话保持标识与服务器的对应关系的服务器,以确保具有相同的会话保持标识的HTTP请求报文由同一服务器服务,从而实现会话保持,服务器接收到HTTP请求报文之后,向负载均衡设备发送HTTP应答报文,负载均衡设备可直接转发给客户端,而无需通过解析服务器发送的每个HTTP应答报文以获取会话保持标识与服务器的对应关系,因此,减轻了负载均衡设备的负担,提高了处理能力。
【专利附图】

【附图说明】
[0022]图1为本发明会话保持方法实施例一的流程示意图;
[0023]图2为本发明会话保持方法实施例二的流程示意图;[0024]图3为本发明会话保持方法实施例三的流程示意图;
[0025]图4为本发明会话保持装置实施例一的结构示意图;
[0026]图5为本发明会话保持装置实施例二的结构示意图;
[0027]图6为本发明会话保持装置实施例三的结构示意图。
【具体实施方式】
[0028]由于现有技术中,负载均衡设备无法预知服务器会在哪个HTTP应答报文中设置cookie信息,因此,需要通过解析服务器发送的每个HTTP应答报文,以获取cookie信息与服务器的对应关系,降低了负载均衡设备的处理能力。为了解决上述问题,本发明负载均衡设备接收到客户端发送的HTTP请求报文之后,若HTTP请求报文为需要会话保持的HTTP请求报文,则判断HTTP请求报文中是否包含会话保持标识,会话保持标识用于指示将包含相同的会话保持标识的HTTP请求报文发送到同一服务器,会话保持标识可以为cookie信息,如果HTTP请求报文中未包含会话保持标识,则为发送HTTP请求报文的客户端设置会话保持标识,并通过HTTP重定向应答报文向所述客户端发送上述会话保持标识,客户端接收到包含上述会话保持标识的HTTP重定向应答报文之后,在后续的请求报文中将包含上述会话保持标识;若负载均衡设备接收到包含上述会话保持标识的HTTP请求报文之后,根据负载均衡设备本地存储的会话保持标识与服务器的对应关系,将HTTP请求报文发送到与上述会话保持标识对应的服务器,以确保具有相同的会话保持标识的HTTP请求报文由同一服务器服务,从而实现会话保持,服务器接收到HTTP请求报文之后,向负载均衡设备发送HTTP应答报文,负载均衡设备可直接转发给客户端,而无需通过解析服务器发送的每个HTTP应答报文以获取会话保持标识与服务器的对应关系,因此,减轻了负载均衡设备的负担,提闻了处理能力。
[0029]图1为本发明会话保持方法实施例一的流程示意图,如图1所示,本实施例的方法包括:
[0030]SlOl:负载均衡设备接收客户端发送的HTTP请求报文。
[0031]上述HTTP请求报文为需要会话保持的HTTP请求报文,负载均衡设备可以通过解析HTTP请求报文中的统一资源定位符(Uniform Resource Locator,以下简称:URL)字段,获知HTTP请求报文是否为需要会话保持的HTTP请求报文,例如,当URL字段中包含“?tab=mo&authuser=0#my-drive”字符串时,可确定该HTTP请求报文为需要会话保持的HTTP请求报文,包含上述“?tab=mo&authuser=0#my-drive”字符串的HTTP请求报文都应该由同一服务器提供服务,才能确保业务的正常进行。
[0032]S102:负载均衡设备判断HTTP请求报文中是否包含会话保持标识,若是,执行S104,若否,执行S103。
[0033]会话保持标识用于指示将包含相同的会话保持标识的HTTP请求报文发送到同一服务器。每一个会话保持标识对应一个作用域,客户端可根据会话保持标识对应的作用域确定需要会话保持的待发送的HTTP请求报文,在待发送的HTTP请求报文中包含上述会话保持标识。作为其中的一种可行的实现方式,会话保持标识可以为cookie信息。
[0034]S103:负载均衡设备为发送上述HTTP请求报文的客户端设置会话保持标识,并向所述客户端发送HTTP重定向应答报文,当前处理流程结束。[0035]其中,HTTP重定向应答报文中包含上述会话保持标识,客户端接收到HTTP重定向应答报文之后,向负载均衡设备重新发送HTTP请求报文,与上一次的HTTP请求报文不同的是,重新发送的HTTP请求报文中包含上述会话保持标识。并且在后续的属于会话保持标识作用域的HTTP请求报文中都包含上述会话保持标识,使负载均衡设备可以根据上述会话保持标识确定为客户端服务的服务器,将具有相同的会话保持标识的HTTP请求报文发送到同一服务器,由同一服务器提供服务,以保证会话保持。
[0036]S104:负载均衡设备根据会话保持标识与服务器的对应关系,将HTTP请求报文发送给服务器。
[0037]作为其中的一种可行的实现方式,会话保持标识与服务器的对应关系,可以是在负载均衡设备为客户端设置会话保持标识之后,根据第一预设规则建立并保存上述会话保持标识与服务器的对应关系,然后根据会话保持标识与服务器的对应关系,将HTTP请求报文发送给与所述会话保持标识对应的服务器。
[0038]作为另一种可行的实现方式,也可以是在首次接收到包含上述会话保持标识的HTTP请求报文之后,判断负载均衡设备本地是否存储有上述会话保持标识与服务器的对应关系,若存储,则根据会话保持标识与服务器的对应关系,将上述HTTP请求报文发送给与所述会话保持标识对应的服务器;若未存储,则根据第二预设规则建立并保存上述会话保持标识与服务器的对应关系,并根据所述会话保持标识与服务器的对应关系,将所述HTTP请求报文发送给与上述会话保持标识对应的服务器。
[0039]在上述两种实现方式中,第一预设规则或第二预设规则具体规则本发明对此不作限制,下面以几种常见的预设规则进行举例说明:
[0040]第一种预设规则:轮询,即依据既定的顺序,将会话保持标识依次对应到不同服务器。例如:有3台服务器A、B、C,第一个回话保持标识对应到服务器A,第二个会话保持标识对应到服务器B,第三个会话保持标识对应到服务器C,第四个会话保持标识对应到服务器A,依照此顺序依次分配会话保持标识与服务器的对应关系。每台服务器对应的会话保持标识的数量比例为1:1:1。
[0041]第二种预设规则:加权轮询,与轮询类似,但每台服务器根据其权重分配对应的会话保持标识。例如服务器A、B、C的权重分别为4、3、1,那么与每台服务器对应的会话保持标识的比例为4:3:1。
[0042]第三种预设规则:优先级,先对服务器进行分组(每组包含I台或多台服务器),为每个服务器组定义一个优先级和一个阈值(用于确定组内服务器对应的会话保持标识总数的上限)。建立对应关系时,先将会话保持标识对应到优先级最高的服务器组,当最高优先级的服务器组对应的会话保持标识数到达阈值时,才将后续会话保持标识对应到次高优先级的服务器组,以此类推。此外,在同一服务器组内的多台服务器之间,采用上述轮询或加权轮询的方式。
[0043]其中,第一预设规则可以与第二预设规则相同,也可以不相同。
[0044]由于服务器集群中的服务器的负载情况在实时变化,因此,上述两种可能的实现方式中,后一种实现方式建立会话保持标识与服务器的对应关系的时机更合理一些,所分配的服务器的负载情况更适合处理上述客户端的请求。
[0045]可选地,在本步骤中,负载均衡设备根据所述会话保持标识与服务器的对应关系,将所述HTTP请求报文发送给所述服务器,具体可以是将HTTP请求报文中的会话保持标识删除,然后将删除会话保持标识后的HTTP请求报文,根据会话保持标识与服务器的对应关系,发送给与上述会话保持标识对应的服务器。
[0046]会话保持标识与服务器的对应关系可以存储在负载均衡设备本地的一个会话保持标识与服务器的对应关系表中,如表I所不:
[0047]表I会话保持标识与服务器的对应关系表
[0048]
【权利要求】
1.一种会话保持方法,其特征在于,包括: 接收客户端发送的超文本传输协议HTTP请求报文,所述HTTP请求报文为需要会话保持的HTTP请求报文; 判断所述HTTP请求报文中是否包含会话保持标识,所述会话保持标识用于指示将包含相同的会话保持标识的HTTP请求报文发送到同一服务器; 若不包含,则为发送所述HTTP请求报文的客户端设置会话保持标识,并向所述客户端发送HTTP重定向应答报文,所述HTTP重定向应答报文中包含所述会话保持标识,以使所述客户端根据所述会话保持标识向负载均衡设备发送包含所述会话保持标识的HTTP请求报文; 若包含,则根据所述会话保持标识与服务器的对应关系,将所述HTTP请求报文发送给与所述会话保持标识对应的服务器; 将所述服务器发送的HTTP应答报文转发给所述客户端。
2.根据权利要求1所述的方法,其特征在于,所述为发送所述HTTP请求报文的客户端设置会话保持标识之后,还包括: 根据第一预设规则建立并保存所述会话保持标识与服务器的对应关系。
3.根据权利要求1所述的方法,其特征在于,所述根据所述会话保持标识与服务器的对应关系,将所述HTTP请求报文发送给与所述会话保持标识对应的服务器,包括: 判断负载均衡设备本地是否存储有所述会话保持标识与服务器的对应关系; 若是,则根据所述会话保持标识与服务器的对应关系,将所述HTTP请求报文发送给与所述会话保持标识对应的服务器; 若否,则根据第二预设规则建立并保存所述会话保持标识与服务器的对应关系,并根据所述会话保持标识与服务器的对应关系,将所述HTTP请求报文发送给与所述会话保持标识对应的服务器。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述根据所述会话保持标识与服务器的对应关系,将所述HTTP请求报文发送给与所述会话保持标识对应的服务器包括: 删除所述HTTP请求报文中的所述会话保持标识; 将删除所述会话保持标识后的HTTP请求报文,根据所述会话保持标识与服务器的对应关系,发送给与所述会话保持标识对应的服务器。
5.根据权利要求4所述的方法,其特征在于,所述会话保持标识为cookie信息。
6.一种会话保持方法,其特征在于,包括: 接收负载均衡设备发送的HTTP重定向应答报文,所述HTTP重定向应答报文中包含会话保持标识; 向所述负载均衡设备发送HTTP请求报文,所述HTTP请求报文中包含所述会话保持标识,以使所述负载均衡设备根据所述会话保持标识确定为所述客户端服务的服务器。
7.一种会话保持装置,其特征在于,包括: 接收模块,用于接收客户端发送的超文本传输协议HTTP请求报文,所述HTTP请求报文为需要会话保持的HTTP请求报文; 处理模块,用于判断所述HTTP请求报文中是否包含会话保持标识,所述会话保持标识用于指示将包含相同的会话保持标识的HTTP请求报文发送到同一服务器;若不包含,则为发送所述HTTP请求报文的客户端设置会话保持标识,并向所述客户端发送HTTP重定向应答报文,所述HTTP重定向应答报文中包含所述会话保持标识,以使所述客户端根据所述会话保持标识向负载均衡设备发送包含所述会话保持标识的HTTP请求报文;若包含,则根据所述会话保持标识与服务器的对应关系,将所述HTTP请求报文发送给与所述会话保持标识对应的服务器; 发送模块,用于将所述服务器发送的HTTP应答报文转发给所述客户端。
8.根据权利要求7所述的装置,其特征在于,所述处理模块还用于为发送所述HTTP请求报文的客户端设置会话保持标识之后,根据第一预设规则建立并保存所述会话保持标识与服务器的对应关系。
9.根据权利要求7所述的装置,其特征在于,所述处理模块根据所述会话保持标识与服务器的对应关系,将所述HTTP请求报文发送给与所述会话保持标识对应的服务器时,具体用于判断负载均衡设备本地是否存储有所述会话保持标识与服务器的对应关系;若是,则根据所述会话保持标识与服务器的对应关系,将所述HTTP请求报文发送给与所述会话保持标识对应的服务器;若否,则根据第二预设规则建立并保存所述会话保持标识与服务器的对应关系,并根据所述会话保持标识与服务器的对应关系,将所述HTTP请求报文发送给与所述会话保持标识对应的服务器。
10.根据权利要求7-9任一项所述的装置,其特征在于,所述处理模块根据所述会话保持标识与服务器的对应关系,将所述HTTP请求报文发送给与所述会话保持标识对应的服务器时,具体用于删除所述HTTP请求报文中的所述会话保持标识;将删除所述会话保持标识后的HTTP请求报文,根据所述会话保持标识与服务器的对应关系,发送给与所述会话保持标识对应的服务器。
11.一种会话保持装置,其特征在于,包括: 接收模块,用于接收负载均衡设`备发送的HTTP重定向应答报文,所述HTTP重定向应答报文中包含会话保持标识; 发送模块,用于向所述负载均衡设备发送HTTP请求报文,所述HTTP请求报文中包含所述会话保持标识,以使所述负载均衡设备根据所述会话保持标识确定为所述客户端服务的服务器。
【文档编号】H04L29/06GK103457869SQ201310381800
【公开日】2013年12月18日 申请日期:2013年8月28日 优先权日:2013年8月28日
【发明者】邓晓明 申请人:北京星网锐捷网络技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1