CN104144155B - 用于长连接的会话处理系统和会话处理方法 - Google Patents

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

Info

Publication number
CN104144155B
CN104144155B CN201310173055.8A CN201310173055A CN104144155B CN 104144155 B CN104144155 B CN 104144155B CN 201310173055 A CN201310173055 A CN 201310173055A CN 104144155 B CN104144155 B CN 104144155B
Authority
CN
China
Prior art keywords
session information
client
server
gateway server
message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310173055.8A
Other languages
English (en)
Other versions
CN104144155A (zh
Inventor
戴君
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201310173055.8A priority Critical patent/CN104144155B/zh
Publication of CN104144155A publication Critical patent/CN104144155A/zh
Application granted granted Critical
Publication of CN104144155B publication Critical patent/CN104144155B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

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

Description

用于长连接的会话处理系统和会话处理方法
技术领域
本发明涉及互联网技术领域,更具体地说,涉及一种用于长连接的会话处理方法和会话处理系统。
背景技术
在互联网技术领域,长连接通常指在一个连接上可以连续发送多个数据包,在连接保持期间,如果没有数据包发送,需要双方发链路检测包。
会话(session)是一种持久网络协议,在用户(或用户代理)端和服务器端之间创建关联,从而起到交换数据包的作用机制,会话在网络协议(例如telnet或FTP)中是非常重要的部分。在不包含会话层(例如UDP)或者是无法长时间驻留会话层(例如HTTP)的传输协议中,会话的维持需要依靠在传输数据中的高级别程序。例如,在浏览器和远程主机之间的HTTP传输中,HTTP cookie就会被用来包含一些相关的信息,例如session ID,参数和权限信息等。当客户端在多个服务器调取数据时,保持会话状态的一致性是需要注意的,客户端需用同时保持和某一个主机的连接,或者多个服务器端需要共享一个储存会话信息的文件系统或者数据库。否则,当用户在一个新的而不是一开始保存会话信息的主机上提交访问请求的时候,主机会因为无法获知原来主机的会话的访问状态而产生问题。
长连接中的会话机制是一种在客户端与服务器端建立长连接时暂时存储通讯中的临时数据的机制。
在现有技术中,长连接的会话通常可保存在客户端,或者采用单独的会话存储服务器来存储会话。这种会话机制的缺点可能会在于:
1、安全性较低,容易被读取和修改;2、由于会话是寄托于连接的,当连接断开会话就会被销毁;如果会话与连接分开,那么会出现连接正常而会话意外丢失的情况,例如,由于会话存储服务器宕机造成的单点危害。如果要设计会话的存储服务需要考虑可扩展以及其他诸多因素,大大提高了系统的复杂性;3、如果采取会话单独存储,则当管理服务器获取会话时,需要额外的通讯,这样,在高并发的情况下会影响服务性能,导致服务健壮性下降,例如,会话服务器宕机而导致的临时数据丢失。
发明内容
本发明的一方面在于提供一种用于长连接的会话处理系统,包括:客户端,与网关服务器建立长连接并产生最初的会话信息;网关服务器,存储从客户端接收的会话信息,并将来自客户端的消息和会话信息一起转发到管理服务器;管理服务器,将来自客户端的消息转发到业务服务器,并在确定需要对会话信息的内容进行时向网关服务器发送用于设置会话信息的命令,其中,网关服务器根据接收的命令来设置会话信息,存储设置后的会话信息,并且在之后每次转发来自客户端的消息时将存储的设置后的会话信息与来自客户端的消息一起发送到管理服务器。
根据本发明的一方面,会话信息仅能够被管理服务器设置。
根据本发明的一方面,网关服务器和管理服务器是服务器集群。
根据本发明的一方面,所述会话处理系统还包括:负载均衡设备,布置在客户端和网关服务器之间,用于根据网关服务器的负载情况来建立客户端和网关服务器集群中的一个网关服务器的长连接。
根据本发明的一方面,网关服务器将会话信息添加到来自客户端的消息中以将客户端的消息和会话信息一起转发到管理服务器。
根据本发明的另一方面,还提供了一种用于长连接的会话处理方法,包括:客户端与网关服务器建立长连接并产生会话信息;网关服务器存储会话信息并将来自客户端的消息和会话信息一起转发到管理服务器;管理服务器将来自客户端的消息转发到业务服务器,并在确定需要对会话信息的内容进行时向网关服务器发送用于设置会话信息的命令;网关服务器根据接收的命令来设置会话信息,并存储设置后的会话信息,其中,管理服务器在之后每次转发来自客户端的消息时将存储的设置后的会话信息与来自客户端的消息一起发送到管理服务器。
根据本发明的另一方面,会话信息仅被管理服务器设置。
根据本发明的另一方面,网关服务器和管理服务器是服务器集群。
根据本发明的另一方面,所述会话处理方法还包括:根据网关服务器的负载情况来建立客户端和网关服务器集群中的一个网关服务器的长连接。
根据本发明的另一方面,网关服务器将会话信息添加到来自客户端的消息中以将客户端的消息和会话信息一起转发到管理服务器。
附图说明
通过下面结合附图进行的描述,本发明的上述和其他目的和特点将会变得更加清楚,其中:
图1是示出根据本发明实施例的会话处理系统的配置示意图;
图2是示出用于长连接的会话处理的方法的流程图。
具体实施方式
下面提供参照附图进行的描述以有助于全面理解如权利要求及其等同物所限定的本发明的示例性实施例。所述描述包括各种详细的细节以有助于理解,而这些描述将被认为仅为示例性的。因此,本领域的普通技术人员将意识到在不脱离本发明的范围和精神的情况下可做出在此描述的各种改变和变型。另外,为了清晰和简洁,可省略对公知功能和构造的描述。
如图1所示,根据本发明的会话处理系统包括:客户端100、负载均衡设备110、网关服务器120、管理服务器130和业务服务器140。
客户端100驻留并运行在用户所使用的终端装置上,客户端100可根据用户的请求而与网关服务器120建立长连接并为用户提供本地服务。在建立长连接之后,如果用户希望从业务服务器140获得相应的服务,则随着客户端100向业务服务器140发送与业务相关的请求消息,客户端100产生与业务相关的会话(session)信息。
负载均衡设备110用于进行网关服务器120的负载均衡。也就是说,负载均衡设备110根据网关服务器120的负载情况,将来自多个客户端100的连接请求分配给多个网关服务器120中的一个,从而建立客户端100与网关服务器120的一对一的连接。在连接建立之后,客户端100可将与业务相关的请求消息和会话信息发送到网关服务器120。
图1中的网关服务器120表示服务器集群,即,具有多个网关服务器120。网关服务器120与客户端100建立和保持一对一的连接。在接收到来自用户的与业务相关的请求消息后,网关服务器120将来自客户端100的与业务相关的请求消息转发到管理服务器130。此外,根据本发明实施例的网关服务器120同时还将与业务相关的会话信息存储在其存储单元中,并在将请求消息转发给管理服务器130的同时也将会话信息发送到管理服务器130。
具体地,根据本发明的实施例,网关服务器120可将会话信息添加到请求消息中,从而会话信息可作为请求消息的一部分而被转发到管理服务器。
与图1的网关服务器120类似的,本发明中的管理服务器130也表示服务器集群,即,具有多个管理服务器130。根据本发明的集群的网关服务器120中的任意一个可以与集群的管理服务器130中的任意一个建立连接。管理服务器130用于将业务相关的消息转发到业务服务器140。
业务服务器140可对用户发送的与业务相关的消息进行处理,例如,进行自动更新和在线日志回传等处理,然后向客户端100返回相应的响应消息。返回的响应消息通过管理服务器130、网关服务器120、负载均衡设备110返回到客户端100,从而可以为客户端100提供相应的服务。
根据本发明的实施例,管理服务器130可确定是否需要对网关服务器120发送过来的会话信息的内容进行设置,并且在确定需要进行设置时,将用于设置会话信息的命令发送到网关服务器120,从而网关服务器120可根据接收到的命令修改会话信息。此外,在本发明中,会话信息仅能被管理服务器130获取和设置/修改,并且管理服务器130可随时对会话信息进行设置。
下面将参照图2来说明根据本发明实施例的会话处理方法的流程图。
首先,在步骤S201,客户端与网关服务器建立长连接,并将与业务相关的请求消息和会话信息发送到网关服务器。这里,当存在多个网服务器时,在客户端和网关服务器之间可采用负载均衡设备来将进行负载均衡处理,从而保证网关服务器上连接的客户端所造成的负载不超出网关服务器的负载能力。
接下来,在步骤S203,网关服务器将会话信息存储在其存储单元中,并将请求消息和会话消息一起转发到管理服务器。这里,网关服务器可将会话信息添加到请求消息中,从而作为请求消息的一部分而转发到管理服务器。
然后,在步骤S205,管理服务器确定是否需要对会话信息进行设置,并在确定需要进行设置时,将用于设置会话信息的命令发送到。当会话信息被添加到请求消息中时,管理服务器可从请求消息提取出会话信息。
最后,在步骤S207,网关服务器接收用于设置会话信息的命令,根据接收到的命令设置会话信息,并将设置后的会话信息存储在存储单元中。这样,在下一次网关服务器再次转发来自客户端的请求消息时,网关服务器将设置后的最新状态的会话信息与请求消息一起转发到管理服务器。
通过本发明的技术方案,可以实现至少以下有益效果:
1、由于会话信息被存储在服务器端并且仅能被管理服务器读取和修改,因此,保证了会话信息的安全;
2、由于管理服务器不需要从单独的会话服务器获取会话信息,因此可以预防由于单独的会话服务器引起的单点危害,简化了会话信息的存储过程,并且可以减少额外的服务器通信开销,提高了会话处理的效率,增强了服务的健壮性。
根据本发明的方法可被记录在包括执行由计算机实现的各种操作的程序指令的计算机可读介质中。介质也可以只包括程序指令或者包括与程序指令相结合的数据文件、数据结构等。计算机可读介质的例子包括磁介质(例如硬盘、软盘和磁带);光学介质(例如CD-ROM和DVD);磁光介质(例如,光盘);以及特别配制用于存储并执行程序指令的硬件装置(例如,只读存储器(ROM)、随机存取存储器(RAM)、闪存等)。介质也可以是包括传输规定程序指令、数据结构等的信号的载波的传输介质(例如光学线或金属线、波导等)。程序指令的例子包括例如由编译器产生的机器码和包含可使用解释器由计算机执行的高级代码的文件。
尽管已经参照本发明的示例性实施例具体显示和描述了本发明,但是本领域的技术人员应该理解,在不脱离由权利要求限定的本发明的精神和范围的情况下,可以对其进行形式和细节上的各种改变。

Claims (8)

1.一种用于长连接的会话处理系统,包括:
客户端,与网关服务器建立长连接并产生最初的会话信息;
网关服务器,存储从客户端接收的会话信息,并将来自客户端的消息和会话信息一起转发到管理服务器;
管理服务器,将来自客户端的消息转发到业务服务器,并在确定需要对网关服务器发送过来的会话信息的内容进行设置时向网关服务器发送用于设置会话信息的命令,
其中,网关服务器根据接收的命令来设置会话信息,存储设置后的会话信息,并且在之后每次转发来自客户端的消息时将存储的设置后的会话信息与来自客户端的消息一起发送到管理服务器,
其中,会话信息仅被管理服务器设置,管理服务器能够随时对会话信息进行设置。
2.如权利要求1所述的会话处理系统,其中,网关服务器和管理服务器是服务器集群。
3.如权利要求2所述的会话处理系统,还包括:
负载均衡设备,布置在客户端和网关服务器之间,用于根据网关服务器的负载情况来建立客户端和网关服务器集群中的一个网关服务器的长连接。
4.如权利要求1所述的会话处理系统,其中,网关服务器将会话信息添加到来自客户端的消息中以将客户端的消息和会话信息一起转发到管理服务器。
5.一种用于长连接的会话处理方法,包括:
客户端与网关服务器建立长连接并产生会话信息;
网关服务器存储会话信息并将来自客户端的消息和会话信息一起转发到管理服务器;
管理服务器将来自客户端的消息转发到业务服务器,并在确定需要对网关服务器发送过来的会话信息的内容进行设置时向网关服务器发送用于设置会话信息的命令;
网关服务器根据接收的命令来设置会话信息,并存储设置后的会话信息,
其中,管理服务器在之后每次转发来自客户端的消息时将存储的设置后的会话信息与来自客户端的消息一起发送到管理服务器,
其中,会话信息仅被管理服务器设置,管理服务器能够随时对会话信息进行设置。
6.如权利要求5所述的会话处理方法,其中,网关服务器和管理服务器是服务器集群。
7.如权利要求6所述的会话处理方法,还包括:
根据网关服务器的负载情况来建立客户端和网关服务器集群中的一个网关服务器的长连接。
8.如权利要求5所述的会话处理方法,其中,网关服务器将会话信息添加到来自客户端的消息中以将客户端的消息和会话信息一起转发到管理服务器。
CN201310173055.8A 2013-05-10 2013-05-10 用于长连接的会话处理系统和会话处理方法 Active CN104144155B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310173055.8A CN104144155B (zh) 2013-05-10 2013-05-10 用于长连接的会话处理系统和会话处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310173055.8A CN104144155B (zh) 2013-05-10 2013-05-10 用于长连接的会话处理系统和会话处理方法

Publications (2)

Publication Number Publication Date
CN104144155A CN104144155A (zh) 2014-11-12
CN104144155B true CN104144155B (zh) 2018-01-02

Family

ID=51853223

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310173055.8A Active CN104144155B (zh) 2013-05-10 2013-05-10 用于长连接的会话处理系统和会话处理方法

Country Status (1)

Country Link
CN (1) CN104144155B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107566466A (zh) * 2017-08-24 2018-01-09 新华三大数据技术有限公司 负载均衡方法及装置
CN108124003B (zh) * 2017-12-11 2021-03-26 中盈优创资讯科技有限公司 网络管理设备连接处理方法、装置及系统
CN113347235A (zh) * 2021-05-24 2021-09-03 浪潮软件股份有限公司 一种应用于ssm框架的会话保持方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1487711A (zh) * 2002-09-03 2004-04-07 �Ҵ���˾ 网络系统、反向代理、计算机设备、数据处理方法以及程序产品
CN101340371A (zh) * 2008-08-12 2009-01-07 杭州华三通信技术有限公司 一种会话保持方法和负载均衡设备
CN101523865A (zh) * 2006-08-03 2009-09-02 思杰系统有限公司 用于使用http-察觉的客户端代理的系统和方法
CN101783771A (zh) * 2010-03-24 2010-07-21 杭州华三通信技术有限公司 一种实现负载均衡持续性的方法和设备
CN101984778A (zh) * 2008-01-26 2011-03-09 思杰系统有限公司 用于细粒度策略驱动的cookie代理的系统和方法
CN102932353A (zh) * 2012-11-02 2013-02-13 北京奇虎科技有限公司 一种防止恶意攻击的方法和设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040088374A1 (en) * 2002-10-31 2004-05-06 Webb James D. Aggregation and sharing of patient data
US20040122687A1 (en) * 2002-12-19 2004-06-24 International Business Machines Corporation Wireless LAN roaming using a Parlay gateway

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1487711A (zh) * 2002-09-03 2004-04-07 �Ҵ���˾ 网络系统、反向代理、计算机设备、数据处理方法以及程序产品
CN101523865A (zh) * 2006-08-03 2009-09-02 思杰系统有限公司 用于使用http-察觉的客户端代理的系统和方法
CN101984778A (zh) * 2008-01-26 2011-03-09 思杰系统有限公司 用于细粒度策略驱动的cookie代理的系统和方法
CN101340371A (zh) * 2008-08-12 2009-01-07 杭州华三通信技术有限公司 一种会话保持方法和负载均衡设备
CN101783771A (zh) * 2010-03-24 2010-07-21 杭州华三通信技术有限公司 一种实现负载均衡持续性的方法和设备
CN102932353A (zh) * 2012-11-02 2013-02-13 北京奇虎科技有限公司 一种防止恶意攻击的方法和设备

Also Published As

Publication number Publication date
CN104144155A (zh) 2014-11-12

Similar Documents

Publication Publication Date Title
US10659354B2 (en) Processing data packets using a policy based network path
CN107852604B (zh) 用于提供全局虚拟网络(gvn)的系统
Fifield et al. Blocking-resistant communication through domain fronting
EP2469792B1 (en) Data transmission system and method using relay server
US20170054640A1 (en) Device and method for establishing connection in load-balancing system
CN108200158B (zh) 请求传输系统、方法、装置及存储介质
US20200014659A1 (en) System and method for midserver facilitation of long-haul transport of telemetry for cloud-based services
CN104144155B (zh) 用于长连接的会话处理系统和会话处理方法
US10178033B2 (en) System and method for efficient traffic shaping and quota enforcement in a cluster environment
CN105991793B (zh) 报文转发的方法和装置
CN112165460B (zh) 流量检测方法、装置、计算机设备和存储介质
US20160156714A1 (en) Content placement in an information centric network
WO2020232195A1 (en) Method for midserver facilitation of long-haul transport of telemetry for cloud-based services
US20150207815A1 (en) Systems and methods for network destination based flood attack mitigation
CN103067359A (zh) 一种基于连接复用的提高服务器并发处理能力的系统及方法
CN111147519A (zh) 数据检测方法、装置、电子设备和介质
CN115499230A (zh) 网络攻击检测方法和装置、设备及存储介质
CN108737407A (zh) 一种劫持网络流量的方法及装置
CN105099952B (zh) 一种资源分配方法及装置
CN110545230A (zh) 用于转发vxlan报文的方法和装置
CN114500633A (zh) 数据转发方法、相关装置、程序产品及数据传输系统
EP3599751A1 (en) Maintaining internet protocol security tunnels
CN105100101A (zh) 一种基于ssl会话的方法、装置及系统
US9154423B1 (en) Minimize SYN-flood issues with flow cache while maintaining performance
CN107959637A (zh) 报文缓存方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant