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

文档序号:7802659阅读:111来源:国知局
一种会话保持方法和装置制造方法
【专利摘要】本发明提供一种会话保持方法和装置,涉及通信领域,提高了会话保持方法对HTTP协议的处理能力,提高灵活性、扩展性和易用性,包括:从客户端发送的网络数据报文头域提取主叫标识Calling-ID,并解析出头域内容;根据所述主叫标识Calling-ID的配置参数,判断所述客户端会话保持的匹配类型;若为一般匹配,则查询会话保持表,确定与所述客户端对应的目标服务器;所述会话保持表为存储客户端的主叫标识Calling-ID对应头域内容与目标服务器的对应关系的动态列表;若为特殊匹配,则根据特殊匹配的匹配规则确定与所述客户端对应的目标服务器。
【专利说明】一种会话保持方法和装置
【技术领域】
[0001]本发明涉及通信领域,特别涉及一种会话保持方法和装置。
【背景技术】
[0002]HTTP (Hypertext transfer protocol,超文本传输协议)是互联网上应用最为广泛的协议,因为协议自身的无状态特性,在众多需要连续通讯的应用场景中(例如电子商务、用户管理等),在互联网上配备负载均衡设备的环境中,经常需要让应用交付设备把相关联的一系列请求转发送给同一台服务器进行处理,必须通过会话保持方法来保证通讯的完整性和安全性。
[0003]目前常用的会话保持方法概括起来主要有三大类:
[0004](I)第一类会话保持方法是在网络交互的过程中,设备把网络数据报文中和客户端、服务器相关的部分提取出来,存入会话保持表中,当后续请求到来时,直接查询“会话保持表”得到要转发的后台服务器,实现会话保持。比如:源ip会话保持、目的ip会话保持
坐寸O
[0005](2)第二类会话保持方法是配置了简单的匹配规则,当请求到来时,若匹配成功则直接按照配置的服务器进行转发,实现会话保持。(同“内容交换”的区别是,内容交换只能根据匹配规则把请求指定到一个服务器池,然后通过负载均衡算法后才能确定服务器,而这种会话保持可以直接通过匹配规则确定服务器,实现会话保持)。比如=SessionID (会话地址)会话保持、自定义ServerID(服务器地址)会话保持等。
[0006](3)第三类会话保持方法在请求响应的时候,设备改写或插入服务器返回的信息(常见的是set-cookie),当后续请求到来时,会带上设备改写或插入的信息,根据这个信息可以获取要转发的服务器,实现会话保持。比如:Cookie insert会话保持,Cookierewrite会话保持等。
[0007]现有的三类会话保持方法,主要区别如下:第一类会话保持方法主要根据网络4层的信息来确定客户端,例如源ip会话保持和目的ip会话保持,必须要有一张动态的会话保持表;这类方法并不解析HTTP协议,因此无法支持HTTP协议自身携带的客户端属性。第二类会话保持方法需要定义匹配规则;只能处理客户端信息域较固定的几种场景,扩展性、灵活性差,局限性较强;同时由于不存在动态会话保持表,所以无法实现一对一的会话保持,即无法针对每个客户端的信息都记录一个后端服务器。第一类和第二类会话保持方法都不需要对报文进行修改;第三类会话保持方法,虽然不需要会话保持表,但是需要修改原始的报文,加入会话保持的信息。在某些安全要求等级较高的网络中有可能被认为是一种异常,或被误认为是网络攻击。同时这类方法对HTTP的支持也仅限于cookie,在浏览器禁用cookie的情况下,这种会话保持方法将完全失效。
[0008]随着互联网的发展,HTTP协议的应用场景越来越广泛,比如在手机运营商的网络中,产生根据非默认HTTP头域进行会话保持的需求。手机用户进行WAP浏览时,经过WAP (Wireless Markup Language,无线应用通讯协议)网关后Header (标头)中带有新的HTTP头域“Calling-1D”(主叫标识),存储用户的手机号码。会话保持方法需要根据Calling-1D来识别出手机客户端,从而把相同手机号码的请求,发送给同一台服务器,同时对管理员的手机号码特殊处理。
[0009]已有应用交付技术中提供的三类会话保持方法,支持粒度较粗、扩展性差,同时部分会话保持方法还要对原始报文进行修改,已经不能满足类似的需求,或只能通过脚本解释性语言来实现,这种语言对配置人员要求高,同时脚本解析的过程对效率的影响也不可忽视。

【发明内容】

[0010]为了提高会话保持方法对HTTP协议的处理能力,提高灵活性、扩展性和易用性,本发明提出一种会话保持方法方法和装置。
[0011]为了解决上述技术问题,本发明提供了一种会话保持方法,包括:
[0012]步骤A、从客户端发送的网络数据报文头域提取主叫标识Calling-1D,并解析出头域内各;
[0013]步骤B、根据所述主叫标识Calling-1D的配置参数,判断所述客户端会话保持的匹配类型;若为一般匹配,则执行步骤C ;若为特殊匹配,则执行步骤D ;
[0014]步骤C、查询会话保持表,确定与所述客户端对应的目标服务器;所述会话保持表为存储客户端的主叫标识Calling-1D对应头域内容与目标服务器的对应关系的动态列表;
[0015]步骤D、根据特殊匹配的匹配规则确定与所述客户端对应的目标服务器。
[0016]进一步地,所述步骤C还包括,若在会话保持表中未查找到与所述客户端对应的目标服务器,则调用负责均衡算法确定目标服务器;并将所述客户端的主叫标识Calling-1D对应的头域内容与目标服务器的对应关系保存到所述会话保持表中。
[0017]进一步地,所述特殊匹配包括字符串匹配和正则匹配;所述字符串匹配指所述客户端的主叫标识Calling-1D的配置参数为在解析出的头域内容进行特定字符串查找;所述正则匹配指客户端的主叫标识Calling-1D的配置参数为在解析出的头域内容进行字符串的正则匹配;所述配置参数包括:规则类型、偏移量和截取长度。
[0018]进一步地,当为字符串匹配时,步骤D确定的目标服务器为特定号码对应的服务器;当为正则匹配时,步骤D确定的目标服务器为通过所述正则匹配的正则表达式确定的服务器。
[0019]进一步地,步骤C中通过所述配置参数对所述解析出的头域内容按照配置参数进行二次提取,用提取得到的字符串通过哈希算法查找会话保持表,确定与所述客户端对应的目标服务器。
[0020]为了解决上述技术问题,本发明还提供了一种会话保持装置,包括:
[0021]解析模块,用于从客户端发送的网络数据报文头域提取主叫标识Calling-1D,并解析出头域内容;
[0022]判断模块,根据所述主叫标识Calling-1D的配置参数,判断所述客户端会话保持的匹配类型;
[0023]处理模块,用于接收判断结果;若为一般匹配,则查询会话保持表,确定与所述客户端对应的目标服务器;若为特殊匹配,则根据特殊匹配的匹配规则确定与所述客户端对应的目标服务器;所述会话保持表为存储客户端的主叫标识Calling-1D对应头域内容与目标服务器的对应关系的动态列表。
[0024]优选地,所述处理模块若在会话保持表中未查找到与所述客户端对应的目标服务器,则调用负责均衡算法确定目标服务器;并将所述客户端的主叫标识Calling-1D对应的头域内容与目标服务器的对应关系保存到所述会话保持表中。
[0025]优选地,所述特殊匹配包括字符串匹配和正则匹配;所述字符串匹配指所述客户端的主叫标识Calling-1D的配置参数为在解析出的头域内容进行特定字符串查找;所述正则匹配指客户端的主叫标识Calling-1D的配置参数为在解析出的头域内容进行字符串的正则匹配;所述配置参数包括:规则类型、偏移量和截取长度。
[0026]优选地,当为字符串匹配时,所述处理模块确定的目标服务器为特定号码对应的服务器;当为正则匹配时,所述处理模块确定的目标服务器为通过所述正则匹配的正则表达式确定的服务器。
[0027]优选地,所述处理模块通过所述配置参数对所述解析出的头域内容按照配置参数进行二次提取,用提取得到的字符串通过哈希算法查找会话保持表,确定与所述客户端对应的目标服务器。
[0028]与现有技术相比,本发明能够解析出HTTP头域,然后根据解析出的头域内容查询会话保持表,找到表中对应的目标服务器,进行会话保持。同时对于特殊的请求(比如管理员的请求)能够根据特征匹配进行识别,进行特殊的会话保持处理,有很好的灵活性,扩展性,而且不会对原始报文做任何修改。
【专利附图】

【附图说明】
[0029]图1为本发明提出的会话保持方法的流程图;
[0030]图2是本发明提出的会话保持装置的结构示意图;
[0031]图3为本发明实施例的多个主叫标识的会话保持方法的流程图。
【具体实施方式】
[0032]为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
[0033]如图1所示,本发明实施例提供的会话保持方法,包括:
[0034]步骤A、从客户端发送的网络数据报文头域提取主叫标识Calling-1D,并解析出头域内各;
[0035]步骤B、根据所述主叫标识Calling-1D的配置参数,判断所述客户端会话保持的匹配类型;若为一般匹配,则执行步骤C ;若为特殊匹配,则执行步骤D ;
[0036]步骤C、查询会话保持表,确定与所述客户端对应的目标服务器;所述会话保持表为存储客户端的主叫标识Calling-1D对应头域内容与目标服务器的对应关系的动态列表;
[0037]步骤D、根据特殊匹配的匹配规则确定与所述客户端对应的目标服务器。[0038]当客户端携带了多个主叫标识的情况时,可以提取到多个主叫标识Cal I ing-1D组成一个Calling-1D集合。解析头域时,当解析到集合中主叫标识的头域时,就单独提取出内容,然后继续解析,这样解析结束就可以得到所有主叫标识的头域内容。
[0039]本发明实施例中也可以多次进行步骤B-D中的一般匹配和特殊匹配的操作直到确定对应的目标服务器。
[0040]其中,所述步骤C还包括,若在会话保持表中未查找到与所述客户端对应的目标服务器,则调用负责均衡算法确定目标服务器;并将所述客户端的主叫标识Calling-1D对应的头域内容与目标服务器的对应关系保存到所述会话保持表中。
[0041]所述特殊匹配包括字符串匹配和正则匹配;所述字符串匹配指所述客户端的主叫标识Calling-1D的配置参数为在解析出的头域内容进行特定字符串查找;所述正则匹配指客户端的主叫标识Calling-1D的配置参数为在解析出的头域内容进行字符串的正则匹配;所述配置参数包括:规则类型、偏移量和截取长度。
[0042]当为字符串匹配时,步骤D确定的目标服务器为特定号码对应的服务器;当为正则匹配时,步骤D确定的目标服务器为通过所述正则匹配的正则表达式确定的服务器。
[0043]步骤C中通过所述配置参数对所述解析出的头域内容按照配置参数进行二次提取,用提取得到的字符串通过哈希算法查找会话保持表,确定与所述客户端对应的目标服务器。
[0044]二次提取的操作是按照配置参数中偏移量和截取长度对头域内容进行处理。
[0045]如图2所示,本发明实施例提供的会话保持装置,包括:
[0046]解析模块,用于从客户端发送的网络数据报文头域提取主叫标识Calling-1D,并解析出头域内容;
[0047]判断模块,根据所述主叫标识Calling-1D的配置参数,判断所述客户端会话保持的匹配类型;
[0048]处理模块,用于接收判断结果;若为一般匹配,则查询会话保持表,确定与所述客户端对应的目标服务器;若为特殊匹配,则根据特殊匹配的匹配规则确定与所述客户端对应的目标服务器;所述会话保持表为存储客户端的主叫标识Calling-1D对应头域内容与目标服务器的对应关系的动态列表。
[0049]其中,所述处理模块若在会话保持表中未查找到与所述客户端对应的目标服务器,则调用负责均衡算法确定目标服务器;并将所述客户端的主叫标识Calling-1D对应的头域内容与目标服务器的对应关系保存到所述会话保持表中。
[0050]所述特殊匹配包括字符串匹配和正则匹配;当为字符串匹配时,所述处理模块确定的目标服务器为特定号码对应的服务器;当为正则匹配时,所述处理模块确定的目标服务器为通过所述正则匹配的正则表达式确定的服务器。
[0051]所述处理模块通过所述配置参数对所述解析出的头域内容按照配置参数进行二次提取,用提取得到的字符串通过哈希算法查找会话保持表,确定与所述客户端对应的目标服务器。
[0052]实施例一
[0053]为更形象的阐述本发明的使用方法,特附上本发明的应用实例。
[0054]应用场景需求:用户进行WAP浏览,经过WAP网关的HTTP Session中,Header带有Calling-1D的自定义头域。每个不同的Calling-1D首次访问时,都按照轮询法分配给后台的服务器,后续的请求按照Calling-1D进行会话保持。同时还有特殊需求:114开头的手机号要发给固定的服务器ipl处理,管理员使用的手机号13576543210,发给固定的服务器ip2处理。
[0055]要实现前述会话保持需求,需要满足三点:
[0056](I)正确识别HTTP非默认头域Calling-1D,并解析出其头域内容;
[0057](2)根据Calling-1D中的查询会话保持表,进行会话保持;
[0058](3)特殊匹配出114开头的号和管理员的手机号,进行特殊处理,直接找到要会话保持的服务器。
[0059]本发明实施例
[0060]利用矩阵的方式进行具体说明:
[0061]会话保持表:动态查找表,每个表项包含key和value,能根据key快速查询出对应的value, value中记录了会话保持的目标服务器。采用通用hash表实现。
【权利要求】
1.一种会话保持方法,包括: 步骤A、从客户端发送的网络数据报文头域提取主叫标识Calling-1D,并解析出头域内容; 步骤B、根据所述主叫标识Calling-1D的配置参数,判断所述客户端会话保持的匹配类型;若为一般匹配,则执行步骤C ;若为特殊匹配,则执行步骤D ; 步骤C、查询会话保持表,确定与所述客户端对应的目标服务器;所述会话保持表为存储客户端的主叫标识Calling-1D对应头域内容与目标服务器的对应关系的动态列表; 步骤D、根据特殊匹配的匹配规则确定与所述客户端对应的目标服务器。
2.如权利要求1所述的方法,其特征在于: 所述步骤C还包括,若在会话保持表中未查找到与所述客户端对应的目标服务器,则调用负责均衡算法确定目标服务器;并将所述客户端的主叫标识Calling-1D对应的头域内容与目标服务器 的对应关系保存到所述会话保持表中。
3.如权利要求1所述的方法,其特征在于:所述特殊匹配包括字符串匹配和正则匹配;所述字符串匹配指所述客户端的主叫标识Calling-1D的配置参数为在解析出的头域内容进行特定字符串查找;所述正则匹配指客户端的主叫标识Calling-1D的配置参数为在解析出的头域内容进行字符串的正则匹配;所述配置参数包括:规则类型、偏移量和截取长度。
4.如权利要求3所述的方法,其特征在于:当为字符串匹配时,步骤D确定的目标服务器为特定号码对应的服务器;当为正则匹配时,步骤D确定的目标服务器为通过所述正则匹配的正则表达式确定的服务器。
5.如权利要求1所述的方法,其特征在于:步骤C中通过所述配置参数对所述解析出的头域内容按照配置参数进行二次提取,用提取得到的字符串通过哈希算法查找会话保持表,确定与所述客户端对应的目标服务器。
6.一种会话保持装置,包括: 解析模块,用于从客户端发送的网络数据报文头域提取主叫标识Calling-1D,并解析出头域内各; 判断模块,根据所述主叫标识Calling-1D的配置参数,判断所述客户端会话保持的匹配类型; 处理模块,用于接收判断结果;若为一般匹配,则查询会话保持表,确定与所述客户端对应的目标服务器;若为特殊匹配,则根据特殊匹配的匹配规则确定与所述客户端对应的目标服务器;所述会话保持表为存储客户端的主叫标识Calling-1D对应头域内容与目标服务器的对应关系的动态列表。
7.如权利要求6所述的装置,其特征在于: 所述处理模块若在会话保持表中未查找到与所述客户端对应的目标服务器,则调用负责均衡算法确定目标服务器;并将所述客户端的主叫标识Calling-1D对应的头域内容与目标服务器的对应关系保存到所述会话保持表中。
8.如权利要求6所述的装置,其特征在于:所述特殊匹配包括字符串匹配和正则匹配;所述字符串匹配指所述客户端的主叫标识Calling-1D的配置参数为在解析出的头域内容进行特定字符串查找;所述正则匹配指客户端的主叫标识Calling-1D的配置参数为在解析出的头域内容进行字符串的正则匹配;所述配置参数包括:规则类型、偏移量和截取长度。
9.如权利要求6所述的装置,其特征在于:当为字符串匹配时,所述处理模块确定的目标服务器为特定号码对应的服务器;当为正则匹配时,所述处理模块确定的目标服务器为通过所述正则匹配的正则表达式确定的服务器。
10.如权利要求6所述 的装置,其特征在于:所述处理模块通过所述配置参数对所述解析出的头域内容按照配置参数进行二次提取,用提取得到的字符串通过哈希算法查找会话保持表,确定与所述客户端对应的目标服务器。
【文档编号】H04L29/08GK103957207SQ201410177725
【公开日】2014年7月30日 申请日期:2014年4月29日 优先权日:2014年4月29日
【发明者】周建斌 申请人:北京太一星晨信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1