《用于长连接的会话处理系统和会话处理方法.pdf》由会员分享,可在线阅读,更多相关《用于长连接的会话处理系统和会话处理方法.pdf(7页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN104144155A43申请公布日20141112CN104144155A21申请号201310173055822申请日20130510H04L29/06200601H04L12/80320130171申请人百度在线网络技术(北京)有限公司地址100085北京市海淀区上地十街10号百度大厦三层72发明人戴君74专利代理机构北京铭硕知识产权代理有限公司11286代理人罗延红张云珠54发明名称用于长连接的会话处理系统和会话处理方法57摘要提供了一种用于长连接的会话处理系统和会话处理方法,所述会话处理系统包括客户端,与网关服务器建立长连接并产生最初的会话信息;网关服务器,存储从客户。
2、端接收的会话信息,并将来自客户端的消息和会话信息一起转发到管理服务器;管理服务器,将来自客户端的消息转发到业务服务器,并在确定需要对会话信息的内容进行时向网关服务器发送用于设置会话信息的命令,其中,网关服务器根据接收的命令来设置会话信息,存储设置后的会话信息,并且在之后每次转发来自客户端的消息时将存储的设置后的会话信息与来自客户端的消息一起发送到管理服务器。51INTCL权利要求书1页说明书4页附图1页19中华人民共和国国家知识产权局12发明专利申请权利要求书1页说明书4页附图1页10申请公布号CN104144155ACN104144155A1/1页21一种用于长连接的会话处理系统,包括客户端。
3、,与网关服务器建立长连接并产生最初的会话信息;网关服务器,存储从客户端接收的会话信息,并将来自客户端的消息和会话信息一起转发到管理服务器;管理服务器,将来自客户端的消息转发到业务服务器,并在确定需要对会话信息的内容进行时向网关服务器发送用于设置会话信息的命令,其中,网关服务器根据接收的命令来设置会话信息,存储设置后的会话信息,并且在之后每次转发来自客户端的消息时将存储的设置后的会话信息与来自客户端的消息一起发送到管理服务器。2如权利要求1所述的会话处理系统,其中,会话信息仅被管理服务器设置。3如权利要求1所述的会话处理系统,其中,网关服务器和管理服务器是服务器集群。4如权利要求3所述的会话处理。
4、系统,还包括负载均衡设备,布置在客户端和网关服务器之间,用于根据网关服务器的负载情况来建立客户端和网关服务器集群中的一个网关服务器的长连接。5如权利要求1所述的会话处理系统,其中,网关服务器将会话信息添加到来自客户端的消息中以将客户端的消息和会话信息一起转发到管理服务器。6一种用于长连接的会话处理方法,包括客户端与网关服务器建立长连接并产生会话信息;网关服务器存储会话信息并将来自客户端的消息和会话信息一起转发到管理服务器;管理服务器将来自客户端的消息转发到业务服务器,并在确定需要对会话信息的内容进行时向网关服务器发送用于设置会话信息的命令;网关服务器根据接收的命令来设置会话信息,并存储设置后的。
5、会话信息,其中,管理服务器在之后每次转发来自客户端的消息时将存储的设置后的会话信息与来自客户端的消息一起发送到管理服务器。7如权利要求6所述的会话处理方法,其中,会话信息仅被管理服务器设置。8如权利要求6所述的会话处理方法,其中,网关服务器和管理服务器是服务器集群。9如权利要求8所述的会话处理方法,还包括根据网关服务器的负载情况来建立客户端和网关服务器集群中的一个网关服务器的长连接。10如权利要求6所述的会话处理方法,其中,网关服务器将会话信息添加到来自客户端的消息中以将客户端的消息和会话信息一起转发到管理服务器。权利要求书CN104144155A1/4页3用于长连接的会话处理系统和会话处理方。
6、法技术领域0001本发明涉及互联网技术领域,更具体地说,涉及一种用于长连接的会话处理方法和会话处理系统。背景技术0002在互联网技术领域,长连接通常指在一个连接上可以连续发送多个数据包,在连接保持期间,如果没有数据包发送,需要双方发链路检测包。0003会话SESSION是一种持久网络协议,在用户(或用户代理)端和服务器端之间创建关联,从而起到交换数据包的作用机制,会话在网络协议(例如TELNET或FTP)中是非常重要的部分。在不包含会话层(例如UDP)或者是无法长时间驻留会话层(例如HTTP)的传输协议中,会话的维持需要依靠在传输数据中的高级别程序。例如,在浏览器和远程主机之间的HTTP传输中。
7、,HTTPCOOKIE就会被用来包含一些相关的信息,例如SESSIONID,参数和权限信息等。当客户端在多个服务器调取数据时,保持会话状态的一致性是需要注意的,客户端需用同时保持和某一个主机的连接,或者多个服务器端需要共享一个储存会话信息的文件系统或者数据库。否则,当用户在一个新的而不是一开始保存会话信息的主机上提交访问请求的时候,主机会因为无法获知原来主机的会话的访问状态而产生问题。0004长连接中的会话机制是一种在客户端与服务器端建立长连接时暂时存储通讯中的临时数据的机制。0005在现有技术中,长连接的会话通常可保存在客户端,或者采用单独的会话存储服务器来存储会话。这种会话机制的缺点可能会。
8、在于00061、安全性较低,容易被读取和修改;2、由于会话是寄托于连接的,当连接断开会话就会被销毁;如果会话与连接分开,那么会出现连接正常而会话意外丢失的情况,例如,由于会话存储服务器宕机造成的单点危害。如果要设计会话的存储服务需要考虑可扩展以及其他诸多因素,大大提高了系统的复杂性;3、如果采取会话单独存储,则当管理服务器获取会话时,需要额外的通讯,这样,在高并发的情况下会影响服务性能,导致服务健壮性下降,例如,会话服务器宕机而导致的临时数据丢失。发明内容0007本发明的一方面在于提供一种用于长连接的会话处理系统,包括客户端,与网关服务器建立长连接并产生最初的会话信息;网关服务器,存储从客户端。
9、接收的会话信息,并将来自客户端的消息和会话信息一起转发到管理服务器;管理服务器,将来自客户端的消息转发到业务服务器,并在确定需要对会话信息的内容进行时向网关服务器发送用于设置会话信息的命令,其中,网关服务器根据接收的命令来设置会话信息,存储设置后的会话信息,并且在之后每次转发来自客户端的消息时将存储的设置后的会话信息与来自客户端的消息一起发送到管理服务器。0008根据本发明的一方面,会话信息仅能够被管理服务器设置。说明书CN104144155A2/4页40009根据本发明的一方面,网关服务器和管理服务器是服务器集群。0010根据本发明的一方面,所述会话处理系统还包括负载均衡设备,布置在客户端和。
10、网关服务器之间,用于根据网关服务器的负载情况来建立客户端和网关服务器集群中的一个网关服务器的长连接。0011根据本发明的一方面,网关服务器将会话信息添加到来自客户端的消息中以将客户端的消息和会话信息一起转发到管理服务器。0012根据本发明的另一方面,还提供了一种用于长连接的会话处理方法,包括客户端与网关服务器建立长连接并产生会话信息;网关服务器存储会话信息并将来自客户端的消息和会话信息一起转发到管理服务器;管理服务器将来自客户端的消息转发到业务服务器,并在确定需要对会话信息的内容进行时向网关服务器发送用于设置会话信息的命令;网关服务器根据接收的命令来设置会话信息,并存储设置后的会话信息,其中,。
11、管理服务器在之后每次转发来自客户端的消息时将存储的设置后的会话信息与来自客户端的消息一起发送到管理服务器。0013根据本发明的另一方面,会话信息仅被管理服务器设置。0014根据本发明的另一方面,网关服务器和管理服务器是服务器集群。0015根据本发明的另一方面,所述会话处理方法还包括根据网关服务器的负载情况来建立客户端和网关服务器集群中的一个网关服务器的长连接。0016根据本发明的另一方面,网关服务器将会话信息添加到来自客户端的消息中以将客户端的消息和会话信息一起转发到管理服务器。附图说明0017通过下面结合附图进行的描述,本发明的上述和其他目的和特点将会变得更加清楚,其中0018图1是示出根据。
12、本发明实施例的会话处理系统的配置示意图;0019图2是示出用于长连接的会话处理的方法的流程图。具体实施方式0020下面提供参照附图进行的描述以有助于全面理解如权利要求及其等同物所限定的本发明的示例性实施例。所述描述包括各种详细的细节以有助于理解,而这些描述将被认为仅为示例性的。因此,本领域的普通技术人员将意识到在不脱离本发明的范围和精神的情况下可做出在此描述的各种改变和变型。另外,为了清晰和简洁,可省略对公知功能和构造的描述。0021如图1所示,根据本发明的会话处理系统包括客户端100、负载均衡设备110、网关服务器120、管理服务器130和业务服务器140。0022客户端100驻留并运行在用。
13、户所使用的终端装置上,客户端100可根据用户的请求而与网关服务器120建立长连接并为用户提供本地服务。在建立长连接之后,如果用户希望从业务服务器140获得相应的服务,则随着客户端100向业务服务器140发送与业务相关的请求消息,客户端100产生与业务相关的会话SESSION信息。0023负载均衡设备110用于进行网关服务器120的负载均衡。也就是说,负载均衡设说明书CN104144155A3/4页5备110根据网关服务器120的负载情况,将来自多个客户端100的连接请求分配给多个网关服务器120中的一个,从而建立客户端100与网关服务器120的一对一的连接。在连接建立之后,客户端100可将与业。
14、务相关的请求消息和会话信息发送到网关服务器120。0024图1中的网关服务器120表示服务器集群,即,具有多个网关服务器120。网关服务器120与客户端100建立和保持一对一的连接。在接收到来自用户的与业务相关的请求消息后,网关服务器120将来自客户端100的与业务相关的请求消息转发到管理服务器130。此外,根据本发明实施例的网关服务器120同时还将与业务相关的会话信息存储在其存储单元中,并在将请求消息转发给管理服务器130的同时也将会话信息发送到管理服务器130。0025具体地,根据本发明的实施例,网关服务器120可将会话信息添加到请求消息中,从而会话信息可作为请求消息的一部分而被转发到管理。
15、服务器。0026与图1的网关服务器120类似的,本发明中的管理服务器130也表示服务器集群,即,具有多个管理服务器130。根据本发明的集群的网关服务器120中的任意一个可以与集群的管理服务器130中的任意一个建立连接。管理服务器130用于将业务相关的消息转发到业务服务器140。0027业务服务器140可对用户发送的与业务相关的消息进行处理,例如,进行自动更新和在线日志回传等处理,然后向客户端100返回相应的响应消息。返回的响应消息通过管理服务器130、网关服务器120、负载均衡设备110返回到客户端100,从而可以为客户端100提供相应的服务。0028根据本发明的实施例,管理服务器130可确定。
16、是否需要对网关服务器120发送过来的会话信息的内容进行设置,并且在确定需要进行设置时,将用于设置会话信息的命令发送到网关服务器120,从而网关服务器120可根据接收到的命令修改会话信息。此外,在本发明中,会话信息仅能被管理服务器130获取和设置/修改,并且管理服务器130可随时对会话信息进行设置。0029下面将参照图2来说明根据本发明实施例的会话处理方法的流程图。0030首先,在步骤S201,客户端与网关服务器建立长连接,并将与业务相关的请求消息和会话信息发送到网关服务器。这里,当存在多个网服务器时,在客户端和网关服务器之间可采用负载均衡设备来将进行负载均衡处理,从而保证网关服务器上连接的客户。
17、端所造成的负载不超出网关服务器的负载能力。0031接下来,在步骤S203,网关服务器将会话信息存储在其存储单元中,并将请求消息和会话消息一起转发到管理服务器。这里,网关服务器可将会话信息添加到请求消息中,从而作为请求消息的一部分而转发到管理服务器。0032然后,在步骤S205,管理服务器确定是否需要对会话信息进行设置,并在确定需要进行设置时,将用于设置会话信息的命令发送到。当会话信息被添加到请求消息中时,管理服务器可从请求消息提取出会话信息。0033最后,在步骤S207,网关服务器接收用于设置会话信息的命令,根据接收到的命令设置会话信息,并将设置后的会话信息存储在存储单元中。这样,在下一次网关。
18、服务器再次转发来自客户端的请求消息时,网关服务器将设置后的最新状态的会话信息与请求消息一起转发到管理服务器。说明书CN104144155A4/4页60034通过本发明的技术方案,可以实现至少以下有益效果00351、由于会话信息被存储在服务器端并且仅能被管理服务器读取和修改,因此,保证了会话信息的安全;00362、由于管理服务器不需要从单独的会话服务器获取会话信息,因此可以预防由于单独的会话服务器引起的单点危害,简化了会话信息的存储过程,并且可以减少额外的服务器通信开销,提高了会话处理的效率,增强了服务的健壮性。0037根据本发明的方法可被记录在包括执行由计算机实现的各种操作的程序指令的计算机可。
19、读介质中。介质也可以只包括程序指令或者包括与程序指令相结合的数据文件、数据结构等。计算机可读介质的例子包括磁介质例如硬盘、软盘和磁带;光学介质例如CDROM和DVD;磁光介质例如,光盘;以及特别配制用于存储并执行程序指令的硬件装置例如,只读存储器ROM、随机存取存储器RAM、闪存等。介质也可以是包括传输规定程序指令、数据结构等的信号的载波的传输介质例如光学线或金属线、波导等。程序指令的例子包括例如由编译器产生的机器码和包含可使用解释器由计算机执行的高级代码的文件。0038尽管已经参照本发明的示例性实施例具体显示和描述了本发明,但是本领域的技术人员应该理解,在不脱离由权利要求限定的本发明的精神和范围的情况下,可以对其进行形式和细节上的各种改变。说明书CN104144155A1/1页7图1图2说明书附图CN104144155A。