用于长连接的会话处理系统和会话处理方法

文档序号:7999258阅读:113来源:国知局
用于长连接的会话处理系统和会话处理方法
【专利摘要】提供了一种用于长连接的会话处理系统和会话处理方法,所述会话处理系统包括:客户端,与网关服务器建立长连接并产生最初的会话信息;网关服务器,存储从客户端接收的会话信息,并将来自客户端的消息和会话信息一起转发到管理服务器;管理服务器,将来自客户端的消息转发到业务服务器,并在确定需要对会话信息的内容进行时向网关服务器发送用于设置会话信息的命令,其中,网关服务器根据接收的命令来设置会话信息,存储设置后的会话信息,并且在之后每次转发来自客户端的消息时将存储的设置后的会话信息与来自客户端的消息一起发送到管理服务器。
【专利说明】用于长连接的会话处理系统和会话处理方法

【技术领域】
[0001] 本发明涉及互联网【技术领域】,更具体地说,涉及一种用于长连接的会话处理方法 和会话处理系统。

【背景技术】
[0002] 在互联网【技术领域】,长连接通常指在一个连接上可以连续发送多个数据包,在连 接保持期间,如果没有数据包发送,需要双方发链路检测包。
[0003] 会话(session)是一种持久网络协议,在用户(或用户代理)端和服务器端之间创 建关联,从而起到交换数据包的作用机制,会话在网络协议(例如telnet或FTP)中是非常 重要的部分。在不包含会话层(例如UDP)或者是无法长时间驻留会话层(例如HTTP)的传 输协议中,会话的维持需要依靠在传输数据中的高级别程序。例如,在浏览器和远程主机之 间的HTTP传输中,HTTP cookie就会被用来包含一些相关的信息,例如session ID,参数和 权限信息等。当客户端在多个服务器调取数据时,保持会话状态的一致性是需要注意的,客 户端需用同时保持和某一个主机的连接,或者多个服务器端需要共享一个储存会话信息的 文件系统或者数据库。否则,当用户在一个新的而不是一开始保存会话信息的主机上提交 访问请求的时候,主机会因为无法获知原来主机的会话的访问状态而产生问题。
[0004] 长连接中的会话机制是一种在客户端与服务器端建立长连接时暂时存储通讯中 的临时数据的机制。
[0005] 在现有技术中,长连接的会话通常可保存在客户端,或者采用单独的会话存储服 务器来存储会话。这种会话机制的缺点可能会在于:
[0006] 1、安全性较低,容易被读取和修改;2、由于会话是寄托于连接的,当连接断开会话 就会被销毁;如果会话与连接分开,那么会出现连接正常而会话意外丢失的情况,例如,由 于会话存储服务器宕机造成的单点危害。如果要设计会话的存储服务需要考虑可扩展以及 其他诸多因素,大大提高了系统的复杂性;3、如果采取会话单独存储,则当管理服务器获取 会话时,需要额外的通讯,这样,在高并发的情况下会影响服务性能,导致服务健壮性下降, 例如,会话服务器宕机而导致的临时数据丢失。


【发明内容】

[0007] 本发明的一方面在于提供一种用于长连接的会话处理系统,包括:客户端,与网关 服务器建立长连接并产生最初的会话信息;网关服务器,存储从客户端接收的会话信息,并 将来自客户端的消息和会话信息一起转发到管理服务器;管理服务器,将来自客户端的消 息转发到业务服务器,并在确定需要对会话信息的内容进行时向网关服务器发送用于设置 会话信息的命令,其中,网关服务器根据接收的命令来设置会话信息,存储设置后的会话信 息,并且在之后每次转发来自客户端的消息时将存储的设置后的会话信息与来自客户端的 消息一起发送到管理服务器。
[0008] 根据本发明的一方面,会话信息仅能够被管理服务器设置。
[0009] 根据本发明的一方面,网关服务器和管理服务器是服务器集群。
[0010] 根据本发明的一方面,所述会话处理系统还包括:负载均衡设备,布置在客户端和 网关服务器之间,用于根据网关服务器的负载情况来建立客户端和网关服务器集群中的一 个网关服务器的长连接。
[0011] 根据本发明的一方面,网关服务器将会话信息添加到来自客户端的消息中以将客 户端的消息和会话信息一起转发到管理服务器。
[0012] 根据本发明的另一方面,还提供了一种用于长连接的会话处理方法,包括:客户端 与网关服务器建立长连接并产生会话信息;网关服务器存储会话信息并将来自客户端的消 息和会话信息一起转发到管理服务器;管理服务器将来自客户端的消息转发到业务服务 器,并在确定需要对会话信息的内容进行时向网关服务器发送用于设置会话信息的命令; 网关服务器根据接收的命令来设置会话信息,并存储设置后的会话信息,其中,管理服务器 在之后每次转发来自客户端的消息时将存储的设置后的会话信息与来自客户端的消息一 起发送到管理服务器。
[0013] 根据本发明的另一方面,会话信息仅被管理服务器设置。
[0014] 根据本发明的另一方面,网关服务器和管理服务器是服务器集群。
[0015] 根据本发明的另一方面,所述会话处理方法还包括:根据网关服务器的负载情况 来建立客户端和网关服务器集群中的一个网关服务器的长连接。
[0016] 根据本发明的另一方面,网关服务器将会话信息添加到来自客户端的消息中以将 客户端的消息和会话信息一起转发到管理服务器。

【专利附图】

【附图说明】
[0017] 通过下面结合附图进行的描述,本发明的上述和其他目的和特点将会变得更加清 楚,其中:
[0018] 图1是示出根据本发明实施例的会话处理系统的配置示意图;
[0019] 图2是示出用于长连接的会话处理的方法的流程图。

【具体实施方式】
[0020] 下面提供参照附图进行的描述以有助于全面理解如权利要求及其等同物所限定 的本发明的示例性实施例。所述描述包括各种详细的细节以有助于理解,而这些描述将被 认为仅为示例性的。因此,本领域的普通技术人员将意识到在不脱离本发明的范围和精神 的情况下可做出在此描述的各种改变和变型。另外,为了清晰和简洁,可省略对公知功能和 构造的描述。
[0021] 如图1所示,根据本发明的会话处理系统包括:客户端100、负载均衡设备110、网 关服务器120、管理服务器130和业务服务器140。
[0022] 客户端100驻留并运行在用户所使用的终端装置上,客户端100可根据用户的请 求而与网关服务器120建立长连接并为用户提供本地服务。在建立长连接之后,如果用户 希望从业务服务器140获得相应的服务,则随着客户端100向业务服务器140发送与业务 相关的请求消息,客户端1〇〇产生与业务相关的会话(session)信息。
[0023] 负载均衡设备110用于进行网关服务器120的负载均衡。也就是说,负载均衡设 备110根据网关服务器120的负载情况,将来自多个客户端100的连接请求分配给多个网 关服务器120中的一个,从而建立客户端100与网关服务器120的一对一的连接。在连接 建立之后,客户端100可将与业务相关的请求消息和会话信息发送到网关服务器120。
[0024] 图1中的网关服务器120表示服务器集群,S卩,具有多个网关服务器120。网关服 务器120与客户端100建立和保持一对一的连接。在接收到来自用户的与业务相关的请 求消息后,网关服务器120将来自客户端100的与业务相关的请求消息转发到管理服务器 130。此外,根据本发明实施例的网关服务器120同时还将与业务相关的会话信息存储在其 存储单元中,并在将请求消息转发给管理服务器130的同时也将会话信息发送到管理服务 器 130。
[0025] 具体地,根据本发明的实施例,网关服务器120可将会话信息添加到请求消息中, 从而会话信息可作为请求消息的一部分而被转发到管理服务器。
[0026] 与图1的网关服务器120类似的,本发明中的管理服务器130也表示服务器集群, 艮P,具有多个管理服务器130。根据本发明的集群的网关服务器120中的任意一个可以与集 群的管理服务器130中的任意一个建立连接。管理服务器130用于将业务相关的消息转发 到业务服务器140。
[0027] 业务服务器140可对用户发送的与业务相关的消息进行处理,例如,进行自动更 新和在线日志回传等处理,然后向客户端100返回相应的响应消息。返回的响应消息通过 管理服务器130、网关服务器120、负载均衡设备110返回到客户端100,从而可以为客户端 100提供相应的服务。
[0028] 根据本发明的实施例,管理服务器130可确定是否需要对网关服务器120发送过 来的会话信息的内容进行设置,并且在确定需要进行设置时,将用于设置会话信息的命令 发送到网关服务器120,从而网关服务器120可根据接收到的命令修改会话信息。此外,在 本发明中,会话信息仅能被管理服务器130获取和设置/修改,并且管理服务器130可随时 对会话信息进行设置。
[0029] 下面将参照图2来说明根据本发明实施例的会话处理方法的流程图。
[0030] 首先,在步骤S201,客户端与网关服务器建立长连接,并将与业务相关的请求消息 和会话信息发送到网关服务器。这里,当存在多个网服务器时,在客户端和网关服务器之间 可采用负载均衡设备来将进行负载均衡处理,从而保证网关服务器上连接的客户端所造成 的负载不超出网关服务器的负载能力。
[0031] 接下来,在步骤S203,网关服务器将会话信息存储在其存储单元中,并将请求消息 和会话消息一起转发到管理服务器。这里,网关服务器可将会话信息添加到请求消息中,从 而作为请求消息的一部分而转发到管理服务器。
[0032] 然后,在步骤S205,管理服务器确定是否需要对会话信息进行设置,并在确定需要 进行设置时,将用于设置会话信息的命令发送到。当会话信息被添加到请求消息中时,管理 服务器可从请求消息提取出会话信息。
[0033] 最后,在步骤S207,网关服务器接收用于设置会话信息的命令,根据接收到的命令 设置会话信息,并将设置后的会话信息存储在存储单元中。这样,在下一次网关服务器再次 转发来自客户端的请求消息时,网关服务器将设置后的最新状态的会话信息与请求消息一 起转发到管理服务器。
[0034] 通过本发明的技术方案,可以实现至少以下有益效果:
[0035] 1、由于会话信息被存储在服务器端并且仅能被管理服务器读取和修改,因此,保 证了会话信息的安全;
[0036] 2、由于管理服务器不需要从单独的会话服务器获取会话信息,因此可以预防由于 单独的会话服务器引起的单点危害,简化了会话信息的存储过程,并且可以减少额外的服 务器通信开销,提高了会话处理的效率,增强了服务的健壮性。
[0037] 根据本发明的方法可被记录在包括执行由计算机实现的各种操作的程序指令的 计算机可读介质中。介质也可以只包括程序指令或者包括与程序指令相结合的数据文件、 数据结构等。计算机可读介质的例子包括磁介质(例如硬盘、软盘和磁带);光学介质(例 如CD-ROM和DVD);磁光介质(例如,光盘);以及特别配制用于存储并执行程序指令的硬件 装置(例如,只读存储器(ROM)、随机存取存储器(RAM)、闪存等)。介质也可以是包括传输 规定程序指令、数据结构等的信号的载波的传输介质(例如光学线或金属线、波导等)。程 序指令的例子包括例如由编译器产生的机器码和包含可使用解释器由计算机执行的高级 代码的文件。
[0038] 尽管已经参照本发明的示例性实施例具体显示和描述了本发明,但是本领域的技 术人员应该理解,在不脱离由权利要求限定的本发明的精神和范围的情况下,可以对其进 行形式和细节上的各种改变。
【权利要求】
1. 一种用于长连接的会话处理系统,包括: 客户端,与网关服务器建立长连接并产生最初的会话信息; 网关服务器,存储从客户端接收的会话信息,并将来自客户端的消息和会话信息一起 转发到管理服务器; 管理服务器,将来自客户端的消息转发到业务服务器,并在确定需要对会话信息的内 容进行时向网关服务器发送用于设置会话信息的命令, 其中,网关服务器根据接收的命令来设置会话信息,存储设置后的会话信息,并且在之 后每次转发来自客户端的消息时将存储的设置后的会话信息与来自客户端的消息一起发 送到管理服务器。
2. 如权利要求1所述的会话处理系统,其中,会话信息仅被管理服务器设置。
3. 如权利要求1所述的会话处理系统,其中,网关服务器和管理服务器是服务器集群。
4. 如权利要求3所述的会话处理系统,还包括: 负载均衡设备,布置在客户端和网关服务器之间,用于根据网关服务器的负载情况来 建立客户端和网关服务器集群中的一个网关服务器的长连接。
5. 如权利要求1所述的会话处理系统,其中,网关服务器将会话信息添加到来自客户 端的消息中以将客户端的消息和会话信息一起转发到管理服务器。
6. -种用于长连接的会话处理方法,包括: 客户端与网关服务器建立长连接并产生会话信息; 网关服务器存储会话信息并将来自客户端的消息和会话信息一起转发到管理服务 器; 管理服务器将来自客户端的消息转发到业务服务器,并在确定需要对会话信息的内容 进行时向网关服务器发送用于设置会话信息的命令; 网关服务器根据接收的命令来设置会话信息,并存储设置后的会话信息, 其中,管理服务器在之后每次转发来自客户端的消息时将存储的设置后的会话信息与 来自客户端的消息一起发送到管理服务器。
7. 如权利要求6所述的会话处理方法,其中,会话信息仅被管理服务器设置。
8. 如权利要求6所述的会话处理方法,其中,网关服务器和管理服务器是服务器集群。
9. 如权利要求8所述的会话处理方法,还包括: 根据网关服务器的负载情况来建立客户端和网关服务器集群中的一个网关服务器的 长连接。
10. 如权利要求6所述的会话处理方法,其中,网关服务器将会话信息添加到来自客户 端的消息中以将客户端的消息和会话信息一起转发到管理服务器。
【文档编号】H04L12/803GK104144155SQ201310173055
【公开日】2014年11月12日 申请日期:2013年5月10日 优先权日:2013年5月10日
【发明者】戴君 申请人:百度在线网络技术(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1