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

技术编号:20593033 阅读:24 留言:0更新日期:2019-03-16 09:11
本申请提供一种会话保持方法及装置,用于负载均衡设备,其方法包括:获取客户端第一报文和服务器第二报文的共同特征;记录共同特征在第一报文中的位置信息;当接收到第三报文后,如果根据位置信息判断出第三报文匹配共同特征,则代表第三报文与第一报文属于同一会话,将第三报文发送给该服务器,从而实现会话保持。本方案通过单纯的报文特征对比即可识别出属于同一会话的报文,无需存会话,不会影响系统运行速度,也无需cookie,避免了安全隐患。同时还实现了报文的自动+主动的对比和特征抽取,无需提前通过人工配置指示出哪里是特征,从而减少了页面配置操作,即使不会查看报文的用户依然可以在负载均衡下实现会话保持,提升了用户体验。

A Conversation Holding Method and Device

This application provides a session holding method and device for load balancing device, which includes acquiring common features of client first message and server second message, recording location information of common features in the first message, and representing the third message and the first message if a common feature matching the third message is determined according to location information after receiving the third message. The text belongs to the same session and sends the third message to the server to maintain the session. This scheme can identify messages belonging to the same session by comparing the characteristics of the messages. It does not need to save the session, does not affect the speed of the system, and does not need cookies, thus avoiding security risks. At the same time, it realizes automatic + active comparison and feature extraction of messages. It does not need to indicate in advance what features are through manual configuration, thus reducing the page configuration operation. Even users who do not view messages can still achieve session maintenance under load balancing and improve user experience.

【技术实现步骤摘要】
一种会话保持方法和装置
本申请涉及网络通信
,特别涉及一种会话保持方法和装置。
技术介绍
在网络技术飞速发展的今天,服务器集群技术也在迅速发展。为了提高服务器的性能和负载能力,服务器负载均衡设备被广泛应用于各大服务器集群中,通过内置调度算法将访问流量均衡地分配至后端服务器。会话(session)保持是指在负载均衡设备上有一种机制,在作负载均衡的同时,还要识别客户端与服务器之间交互过程的关联性,保证同一用户相关联的访问请求会被分配到同一台服务器上,实现会话的连贯性,以避免出现用户需要反复登录等问题。例如,一个客户与服务器经常经过好几次的交互过程才能完成一笔交易或者是一个请求的完成。由于这几次交互过程是密切相关的,服务器在进行这些交互过程的某一个交互步骤时,往往需要了解上一次交互过程的处理结果,或者上几步的交互过程结果,服务器进行下一步操作时就要求所有这些相关的交互过程都由一台服务器完成,而不能被负载均衡器分散到不同的服务器上在现有技术中,可以有多种办法实现会话保持,例如:存会话的会话保持,又分数据库存放、文件系统存放和Memcached存放,这种方式通过后台服务器共享session的方式,在实现负载均衡的同时实现会话保持;基于cookie的会话保持,客户端第一次进入负载均衡器根据算法选择一台服务器,负载均衡器将向后台服务器插入cookie,并通过报文回到客户端,当客户端再次访问时将带有上次的cookie进入,后台读取cookie数值从而分配到之前同一台服务器。然而,存会话的会话保持方法会影响系统运行速度,而基于cookie的会话保持方法则会存在安全隐患问题。
技术实现思路
有鉴于此,本申请提供一种会话保持方法和装置,以避免影响系统运行速度及避免出现安全隐患。具体地,本申请是通过如下技术方案实现的:一种会话保持方法,所述方法用于负载均衡设备;所述方法包括:获取第一报文和第二报文,其中所述第一报文为客户端发给服务器的报文,所述第二报文为所述服务器发给所述客户端的报文;获取所述第一报文和所述第二报文的共同特征;记录所述共同特征在所述第一报文中的位置信息;当接收到第三报文后,根据所述位置信息判断所述第三报文是否匹配所述共同特征;如果所述第三报文匹配所述共同特征,则将所述第三报文发送给所述服务器。一种会话保持装置,所述装置用于负载均衡设备;所述装置包括:报文接收单元,用于获取第一报文和第二报文,其中所述第一报文为客户端发给服务器的报文,所述第二报文为所述服务器发给所述客户端的报文;特征获取单元,用于获取所述第一报文和所述第二报文的共同特征;位置记录单元,用于记录所述共同特征在所述第一报文中的位置信息;特征匹配单元,用于当所述报文接收单元接收到第三报文后,根据所述位置信息判断所述第三报文是否匹配所述共同特征;如果所述第三报文匹配所述共同特征,则将所述第三报文发送给所述服务器。由以上本申请提供的技术方案可见,在本方案中,先获取客户端发给服务器的第一报文和服务器发给所述客户端的第二报文,然后获取所述第一报文和所述第二报文的共同特征,并记录所述共同特征在所述第一报文中的位置信息,这样当接收到第三报文后,便可根据所述位置信息判断所述第三报文是否匹配所述共同特征,如果匹配了所述共同特征,则代表第三报文与第一报文属于同一会话,应将所述第三报文发送给同一服务器,从而实现会话保持。本方案通过单纯的报文特征对比即可识别出属于同一会话的报文,无需存会话,不会影响系统运行速度,也无需cookie,避免了安全隐患。同时,在本方案中实现了报文的自动+主动的对比和特征抽取,无需提前通过人工配置指示出哪里是特征,从而减少了页面配置操作,即使不会查看报文的用户依然可以在负载均衡下实现会话保持,提升了用户体验。附图说明图1为本申请示出的一种会话保持方法的流程图;图2为本申请示出的应用场景示意图;图3为本申请示出的客户端报文与服务器报文的示意图;图4为本申请示出的会话保持成功的示意图;图5为本申请示出的一种会话保持方法的流程图;图6为本申请示出的获取共同特征的流程图;图7为本申请示出的字符串对比示意图;图8为本申请示出的获取共同特征的流程图;图9为本申请示出的一种会话保持装置的示意图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。请参见图1,图1为本申请示出的一种会话保持方法的流程图。该方法可以应用于负载均衡设备(或称为负载均衡器)。该方法可以包括如下步骤:步骤S101,获取第一报文和第二报文,其中所述第一报文为客户端发给服务器的报文,所述第二报文为所述服务器发给所述客户端的报文。下面以图2所示的应用场景为例对本专利技术方案加以介绍,当然图2所示的应用场景仅为示例性的,在实际应用中,也可以适用于其它应用场景。在图2中,201为多个客户端中的一个,202为负载均衡器,203为多台服务器中的一台。负载均衡器202通过内置调度算法将各客户端访问流量均衡地分配至各服务器,在作负载均衡的同时,还要识别客户端与服务器之间交互过程的关联性,保证同一客户端(如客户端201)相关联的访问请求会被分配到同一台服务器(如服务器203)上,以实现会话的连贯性,避免出现业务中断等问题。作为示例,在本实施例或本专利技术其他某些实施例中,获取第一报文和第二报文,具体可以包括:获取完成三次握手后的所述客户端与所述服务器之间的请求报文和应答报文作为所述第一报文和所述第二报文。换句话说,当客户端第一次被负载均衡器用算法分给一台服务器并完成三次握手后,负载均衡器可获取服务器报文与客户端报文以进行对比。作为示例可参见图3所示,在图3中,客户端201发送给服务器203的请求报文以及服务器203回复的应答报文均经过负载均衡器202中转,即客户端201发送报文,负载均衡器202将客户端报文发给一台服务器203,服务器203回报文,故负载均衡器202可得到这两报文的报文内容,用以对比客户端报文与服务器端报文的特征。当然在本专利技术其他实施例中,所获取的第一报文和第二报文也可以是客户端和服务器在其他时候相互发送的报文,只要是包含有共同特征即可,对此本专利技术实施例并不进行限制。步骤S102,获取所述第一报文和所述第二报文的共同特征。共同本文档来自技高网
...

【技术保护点】
1.一种会话保持方法,其特征在于,所述方法用于负载均衡设备;所述方法包括:获取第一报文和第二报文,其中所述第一报文为客户端发给服务器的报文,所述第二报文为所述服务器发给所述客户端的报文;获取所述第一报文和所述第二报文的共同特征;记录所述共同特征在所述第一报文中的位置信息;当接收到第三报文后,根据所述位置信息判断所述第三报文是否匹配所述共同特征;如果所述第三报文匹配所述共同特征,则将所述第三报文发送给所述服务器。

【技术特征摘要】
1.一种会话保持方法,其特征在于,所述方法用于负载均衡设备;所述方法包括:获取第一报文和第二报文,其中所述第一报文为客户端发给服务器的报文,所述第二报文为所述服务器发给所述客户端的报文;获取所述第一报文和所述第二报文的共同特征;记录所述共同特征在所述第一报文中的位置信息;当接收到第三报文后,根据所述位置信息判断所述第三报文是否匹配所述共同特征;如果所述第三报文匹配所述共同特征,则将所述第三报文发送给所述服务器。2.根据权利要求1所述的方法,其特征在于:获取所述第一报文和所述第二报文的共同特征,包括:通过对比获取所述第一报文和所述第二报文中的相同字符串以作为所述共同特征;按照预设算法计算所述相同字符串的属性值;根据所述位置信息判断所述第三报文是否匹配所述共同特征,包括:计算所述第三报文中与所述位置信息对应的字符串的属性值;根据所述属性值是否与所述共同特征的属性值相匹配确定所述第三报文是否匹配所述共同特征。3.根据权利要求2所述的方法,其特征在于,按照预设算法计算所述相同字符串的属性值,包括:使用哈希算法计算所述相同字符串的哈希值作为所述属性值。4.根据权利要求2所述的方法,其特征在于,按照预设算法计算所述相同字符串的属性值之后,所述方法还包括:如果计算得到的所述属性值与已记录的其他共同特征的属性值相冲突,则按照预设调整规则重新计算所述属性值。5.根据权利要求1所述的方法,其特征在于,获取第一报文和第二报文,包括:获取完成三次握手后的所述客户端与所述服务器之间的请求报文和应答报文作为所述第一报文和所述第二报文。6.根据权利要求1所述的方法,其特征在于,根据所述位置信息判断所述第三报文是否匹配所述共同特征之后,所述方法还包括:如果所述第三报文匹配所述共同特征,则更新所述共同特征对应表项的老化时间。7.一种会...

【专利技术属性】
技术研发人员:王铭圣孙艳杰
申请(专利权)人:杭州迪普科技股份有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1