CN106921721A - 一种服务器、会话管理方法和系统 - Google Patents
一种服务器、会话管理方法和系统 Download PDFInfo
- Publication number
- CN106921721A CN106921721A CN201511008676.6A CN201511008676A CN106921721A CN 106921721 A CN106921721 A CN 106921721A CN 201511008676 A CN201511008676 A CN 201511008676A CN 106921721 A CN106921721 A CN 106921721A
- Authority
- CN
- China
- Prior art keywords
- session
- client
- server
- management
- application server
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种服务器、会话管理方法和系统,用以提供一种在多个应用服务器之间管理会话的机制。本发明实施例提供的第一服务器包括:接收模块,用于接收多个应用服务器中的第一应用服务器发送的针对第一会话的第一会话管理请求;处理模块,用于根据所述第一会话管理请求对所述第一会话进行会话管理;发送模块,用于将对所述第一会话的会话管理的结果返回给所述第一应用服务器。由统一的第一服务器在多个应用服务器之间进行会话管理,提供了一种多应用服务器场景下的会话管理的机制,并且由于是由统一的第一服务器进行会话管理,避免了各个应用服务器之间会话状态不一致、会话数据不一致的问题。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种服务器、会话管理方法和系统。
背景技术
随着互联网技术的不断发展,传统的浏览器/服务器(Browser/Server,B/S)架构下的互联网中的单个应用服务器已经无法满足业务服务的发展要求。
一种解决的方法是:如图1所示的互联网应用系统中,一个应用服务器提供的业务服务被拆分到多个应用服务器中,由多个应用服务器共同为客户端提供服务,而通过客户端请求服务的用户不会感知到这种分布式部署与原有模式的差异,仍然像在访问同一个应用服务器一样请求业务服务,我们将图1所示的互联网应用系统,称为“分布式互联网应用系统”。
当仅存在单个应用服务器时,应用服务器与客户端之间的会话管理由单个应用服务器完成,当由多个应用服务器共同为客户端提供服务时,目前还没有一种可应用在图1所示的分布式互联网应用系统中,能够在多个应用服务器之间管理会话的机制。
发明内容
本发明实施例提供一种服务器、会话管理方法和系统,用以提供一种在多个应用服务器之间管理会话的机制。
第一方面,提供一种第一服务器,应用于分布式互联网应用系统中,该系统包括:至少一个客户端、多个应用服务器;所述至少一个客户端用于向所述多个应用服务器中的一个或多个应用服务器请求业务服务;所述多个应用服务器用于向所述至少一个客户端提供业务服务;所述第一服务器用于在所述多个 应用服务器为所述至少一个客户端提供业务服务时创建会话,并对创建的会话进行会话管理,所述第一服务器包括:
接收模块,用于接收所述多个应用服务器中的第一应用服务器发送的针对第一会话的第一会话管理请求;
处理模块,用于根据所述第一会话管理请求对所述第一会话进行会话管理;
发送模块,用于将对所述第一会话的会话管理的结果返回给所述第一应用服务器。
其中,由统一的第一服务器在多个应用服务器之间进行会话管理,提供了一种多应用服务器场景下的会话管理的机制,并且由于是由统一的第一服务器进行会话管理,避免了各个应用服务器之间会话状态不一致、会话数据不一致的问题。
结合第一方面,在第一种可能的实现方式中,所述第一会话管理请求为创建所述第一会话的请求;
所述处理模块具体用于:创建所述第一会话,并记录所述第一会话的会话数据;
所述发送模块具体用于:将所述处理模块记录所述第一会话的会话数据中的会话基本信息发送给所述第一应用服务器,所述第一会话的会话数据中的会话基本信息包括所述第一会话的会话标识信息。
结合第一方面,在第二种可能的实现方式中,所述第一会话管理请求为更新所述第一会话的会话数据的请求;
所述处理模块具体用于:对所述第一会话的会话数据进行更新,并记录更新后的所述第一会话的会话数据;
所述发送模块具体用于:将用于指示所述第一会话的会话数据更新成功的指示信息和/或更新后的所述第一会话的会话数据返回给第一应用服务器。
结合第一方面,在第三种可能的实现方式,所述第一会话管理请求为删除 所述第一会话的请求;
所述处理模块具体用于:删除所述第一会话;
所述发送模块具体用于:将用于指示所述第一会话的成功删除的指示信息发给所述第一应用服务器。
上述三种可能的实现方式分别提供了会话管理的三种功能:会话创建、会话数据更新和会话删除。
结合第一方面,或第一方面的上述任一种可能的实现方式,在第四种可能的实现方式中,
所述第一会话为临时会话,所述临时会话是所述至少一个客户端中的一个客户端的使用者未进行身份验证前创建的;或
所述第一会话为正式会话,所述正式会话是所述至少一个客户端中的一个客户端的使用者在身份验证通过后创建的。
通过临时会话和正式会话的管理,可实现使用者的身份未验证通过时,也能够请求部分服务。
结合第一方面的第一种或第二种可能的实现方式,在第五种可能的实现方式中,所述第一会话为临时会话,所述临时会话是所述至少一个客户端中的一个客户端的使用者未进行身份验证前创建的;
所述接收模块还用于:在所述处理模块根据所述第一会话管理请求对所述第一会话进行会话管理之后,接收所述多个应用服务器中的所述第一应用服务器或第二应用服务器发送的针对第二会话的第二会话管理请求,所述第二会话管理请求为创建所述第二会话的请求;
所述处理模块还用于:在确定所述第二会话为所述第一会话对应的正式会话时,创建所述第二会话,并将所述第一会话的会话数据记录到所述第二会话的会话数据中;
所述发送模块还用于:将用于指示所述第一会话的成功删除、所述第二会话成功创建的指示信息发给所述第一应用服务器。
通过对临时会话和正式会话的管理,当创建了正式会话后,删除临时会话,并将临时会话的会话数据记录到正式会话的会话数据中,可实现会话数据的一致性,为客户提供连续一致的服务。
第二方面,本发明实施例提供一种第一应用服务器,应用于分布式互联网应用系统中,该系统包括:至少一个客户端、包括所述第一应用服务器在内的多个所述应用服务器;所述至少一个客户端用于向所述多个应用服务器中的一个或多个应用服务器请求业务服务;所述多个应用服务器用于向所述至少一个客户端提供业务服务;所述分布式互联网应用系统还包括会话管理服务器,所述会话管理服务器用于在所述多个应用服务器为所述至少一个客户端提供业务服务时创建会话,并对创建的会话进行会话管理,所述第一应用服务器包括:
发送模块,用于向所述会话管理服务器发送针对第一会话的第一会话管理请求;
接收模块,用于接收所述会话管理服务器响应于所述第一会话管理请求发送的所述第一会话的会话管理的结果;
处理模块,用于根据所述接收模块收到的所述第一会话的会话管理的结果对所述第一会话进行处理。
结合第二方面,在第一种可能的实现方式中,所述第一会话管理请求为创建所述第一会话的请求;
所述接收模块具体用于:所述第一应用服务器接收所述会话管理服务器发送的所述第一会话的会话数据中的会话基本信息,所述第一会话的会话数据中的会话基本信息包括所述第一会话的会话标识信息;
所述处理模块具体用于:通过所述发送模块将所述第一会话的会话标识信息发送给所述第一会话的第一客户端,并在对所述第一会话的处理过程中所述发送模块和所述接收模块与所述第一客户端交互时,使用所述第一会话的会话标识信息标识所述第一会话。
其中,由统一的会话管理服务器在多个应用服务器之间进行会话管理,提 供了一种多应用服务器场景下的会话管理的机制,并且由于是由统一的会话管理服务器进行会话管理,避免了各个应用服务器之间会话状态不一致、会话数据不一致的问题。
结合第二方面,在第二种可能的实现方式中,所述第一会话管理请求为更新所述第一会话的会话数据的请求;
所述接收模块具体用于:所述第一应用服务器接收所述会话管理服务器发送的将用于指示所述第一会话的会话数据更新成功的指示信息;
所述处理模块具体用于:确定所述第一会话的会话数据更新成功,并根据更新后的所述第一会话的会话数据,对所述第一会话进行处理。
结合第二方面,在第三种可能的实现方式中,所述第一会话管理请求为更新所述第一会话的会话数据的请求;
所述接收模块具体用于:接收更新后的所述第一会话的会话数据;
所述处理模块具体用于:根据所述接收模块接收的更新后的所述第一会话的会话数据,对所述第一会话进行处理。
结合第二方面,在第三种可能的实现方式中,所述第一会话管理请求为删除所述第一会话的请求;
所述接收模块具体用于:接收所述会话管理服务器发送的用于指示所述第一会话的成功删除的指示信息;
所述处理模块具体用于:根据所述接收模块收到的用于指示所述第一会话的成功删除的指示信息,确定所述第一会话删除成功。
上述四种可能的实现方式提供了会话管理的三种功能:会话创建、会话数据更新和会话删除。
结合第二方面,或第二方面的上述任一种可能的实现方式,在第五种可能的实现方式中,
所述第一会话为临时会话,所述临时会话是所述至少一个客户端中的一个客户端的使用者未进行身份验证前创建的;或
所述第一会话为正式会话,所述正式会话是所述至少一个客户端中的一个客户端的使用者在身份验证通过后创建的。
通过临时会话和正式会话的管理,可实现使用者的身份未验证通过时,也能够请求部分服务。
结合第二方面的第一种至第三种可能的实现方式中的任一种,在第六种可能的实现方式,所述第一会话为临时会话,所述临时会话是所述至少一个客户端中的一个客户端的使用者未进行身份验证前创建的;
所述发送模块还用于:在向所述会话管理服务器发送针对第一会话的第一会话管理请求之后,向所述会话管理服务器发送针对第二会话的第二会话管理请求,所述第二会话管理请求为创建所述第二会话的请求;所述第二会话为所述第一会话对应的正式会话;
所述接收模块还用于:接收所述会话管理服务器响应于所述第二会话管理请求发送的将用于指示所述第一会话的成功删除以及所述第二会话成功创建的指示信息;
所述处理模块还用于:确定所述第一会话删除成功,以及确定所述第二会话创建成功。
通过对临时会话和正式会话的管理,当创建了正式会话后,删除临时会话,并将临时会话的会话数据记录到正式会话的会话数据中,可实现会话数据的一致性,为客户提供连续一致的服务。
第三方面,本发明实施例提供一种会话管理的方法,应用于分布式互联网应用系统中,该系统包括:至少一个客户端、多个应用服务器;所述至少一个客户端用于向所述多个应用服务器中的一个或多个应用服务器请求业务服务;所述多个应用服务器用于向所述至少一个客户端提供业务服务;所述分布式互联网应用系统还包括会话管理服务器,所述会话管理服务器用于在所述多个应用服务器为所述至少一个客户端提供业务服务时创建会话,并对创建的会话进行会话管理,所述方法包括:
所述会话管理服务器接收所述多个应用服务器中的第一应用服务器发送的针对第一会话的第一会话管理请求;
所述会话管理服务器根据所述第一会话管理请求对所述第一会话进行会话管理;
所述会话管理服务器将对所述第一会话的会话管理的结果返回给所述第一应用服务器。
其中,由统一的会话管理服务器在多个应用服务器之间进行会话管理,提供了一种多应用服务器场景下的会话管理的机制,并且由于是由统一的会话管理服务器进行会话管理,避免了各个应用服务器之间会话状态不一致、会话数据不一致的问题。
结合第三方面,在第一种可能的实现方式中,所述第一会话管理请求为创建所述第一会话的请求;
所述会话管理服务器根据所述第一会话管理请求对所述第一会话进行会话管理,包括:所述会话管理服务器创建所述第一会话,并记录所述第一会话的会话数据;
所述会话管理服务器将对所述第一会话的会话管理的结果返回给所述第一应用服务器,包括:所述会话管理服务器将记录所述第一会话的会话数据中的会话基本信息发送给所述第一应用服务器,所述第一会话的会话数据中的会话基本信息包括所述第一会话的会话标识信息。
结合第三方面,在第二种可能的实现方式中,所述第一会话管理请求为更新所述第一会话的会话数据的请求;
所述会话管理服务器根据所述第一会话管理请求对所述第一会话进行会话管理,包括:所述会话管理服务器对所述第一会话的会话数据进行更新,并记录更新后的所述第一会话的会话数据;
所述会话管理服务器将对所述第一会话的会话管理的结果返回给所述第一应用服务器,包括:所述会话管理服务器将用于指示所述第一会话的会话数 据更新成功的指示信息和/或更新后的所述第一会话的会话数据返回给第一应用服务器。
结合第三方面,在第三种可能的实现方式中,所述第一会话管理请求为删除所述第一会话的请求;
所述会话管理服务器根据所述第一会话管理请求对所述第一会话进行会话管理,包括:所述会话管理服务器删除所述第一会话;
所述会话管理服务器将对所述第一会话的会话管理的结果返回给所述第一应用服务器,包括:所述会话管理服务器将用于指示所述第一会话的成功删除的指示信息发给所述第一应用服务器。
上述三种可能的实现方式提供了会话管理的三种功能:会话创建、会话数据更新和会话删除。
结合第三方面,或第三方面的上述任一种可能的实现方式,在第四种可能的实现方式中,
所述第一会话为临时会话,所述临时会话是所述至少一个客户端中的一个客户端的使用者未进行身份验证前创建的;或
所述第一会话为正式会话,所述正式会话是所述至少一个客户端中的一个客户端的使用者在身份验证通过后创建的。
通过临时会话和正式会话的管理,可实现使用者的身份未验证通过时,也能够请求部分服务。
结合第三方面的第一种或第二种可能的实现方式,在第五种可能的实现方式中,所述第一会话为临时会话,所述临时会话是所述至少一个客户端中的一个客户端的使用者未进行身份验证前创建的;
在所述会话管理服务器根据所述第一会话管理请求对所述第一会话进行会话管理之后,还包括:
所述会话管理服务器接收所述多个应用服务器中的所述第一应用服务器或第二应用服务器发送的针对第二会话的第二会话管理请求,所述第二会话管 理请求为创建所述第二会话的请求;
所述会话管理服务器在确定所述第二会话为所述第一会话对应的正式会话时,创建所述第二会话,并将所述第一会话的会话数据记录到所述第二会话的会话数据中;
所述会话管理服务器将用于指示所述第一会话的成功删除、所述第二会话成功创建的指示信息发给所述第一应用服务器。
通过对临时会话和正式会话的管理,当创建了正式会话后,删除临时会话,并将临时会话的会话数据记录到正式会话的会话数据中,可实现会话数据的一致性,为客户提供连续一致的服务。
第四方面,本发明实施例提供一种会话管理的方法,应用于分布式互联网应用系统中,该系统包括:至少一个客户端、多个应用服务器;所述至少一个客户端用于向所述多个应用服务器中的一个或多个应用服务器请求业务服务;所述多个应用服务器用于向所述至少一个客户端提供业务服务;所述分布式互联网应用系统还包括会话管理服务器,所述会话管理服务器用于在所述多个应用服务器为所述至少一个客户端提供业务服务时创建会话,并对创建的会话进行会话管理,所述方法包括:
所述多个应用服务器中的第一应用服务器向所述会话管理服务器发送针对第一会话的第一会话管理请求;
所述第一应用服务器接收所述会话管理服务器响应于所述第一会话管理请求发送的所述第一会话的会话管理的结果;
所述第一应用服务器根据收到的所述第一会话的会话管理的结果对所述第一会话进行处理。
其中,由统一的会话管理服务器在多个应用服务器之间进行会话管理,提供了一种多应用服务器场景下的会话管理的机制,并且由于是由统一的会话管理服务器进行会话管理,避免了各个应用服务器之间会话状态不一致、会话数据不一致的问题。
结合第四方面,在第一种可能的实现方式中,所述第一会话管理请求为创建所述第一会话的请求;
所述第一应用服务器接收所述会话管理服务器响应于所述第一会话管理请求发送的所述第一会话的会话管理的结果,包括:所述第一应用服务器接收所述会话管理服务器发送的所述第一会话的会话数据中的会话基本信息,所述第一会话的会话数据中的会话基本信息包括所述第一会话的会话标识信息;
所述第一应用服务器根据收到的所述第一会话的会话管理的结果对所述第一会话进行处理,包括:所述第一应用服务器将所述第一会话的会话标识信息发送给所述第一会话的第一客户端,并在对所述第一会话的处理过程中与所述第一客户端交互时,使用所述第一会话的会话标识信息标识所述第一会话。
结合第四方面,在第二种可能的实现方式中,所述第一会话管理请求为更新所述第一会话的会话数据的请求;
所述第一应用服务器接收所述会话管理服务器响应于所述第一会话管理请求发送的所述第一会话的会话管理的结果,包括:所述第一应用服务器接收所述会话管理服务器发送的将用于指示所述第一会话的会话数据更新成功的指示信息;
所述第一应用服务器根据收到的所述第一会话的会话管理的结果对所述第一会话进行处理,包括:所述第一应用服务器确定所述第一会话的会话数据更新成功,并根据更新后的所述第一会话的会话数据,对所述第一会话进行处理。
结合第四方面,在第三种可能的实现方式中,所述第一会话管理请求为更新所述第一会话的会话数据的请求;
所述第一应用服务器接收所述会话管理服务器响应于所述第一会话管理请求发送的所述第一会话的会话管理的结果,包括:所述第一应用服务器接收更新后的所述第一会话的会话数据;
所述第一应用服务器根据收到的所述第一会话的会话管理的结果对所述 第一会话进行处理,包括:所述第一应用服务器根据接收的更新后的所述第一会话的会话数据,对所述第一会话进行处理。
结合第四方面,在第四种可能的实现方式中,所述第一会话管理请求为删除所述第一会话的请求;
所述第一应用服务器接收所述会话管理服务器响应于所述第一会话管理请求发送的所述第一会话的会话管理的结果,包括:所述第一应用服务器接收所述会话管理服务器发送的用于指示所述第一会话的成功删除的指示信息;
所述第一应用服务器根据收到的所述第一会话的会话管理的结果对所述第一会话进行处理,包括:所述第一应用服务器根据收到的用于指示所述第一会话的成功删除的指示信息,确定所述第一会话删除成功。
上述四种可能的实现方式提供了会话管理的三种功能:会话创建、会话数据更新和会话删除。
结合第四方面,或第四方面的上述任一种可能的实现方式,在第五种可能的实现方式中,
所述第一会话为临时会话,所述临时会话是所述至少一个客户端中的一个客户端的使用者未进行身份验证前创建的;或
所述第一会话为正式会话,所述正式会话是所述至少一个客户端中的一个客户端的使用者在身份验证通过后创建的。
通过临时会话和正式会话的管理,可实现使用者的身份未验证通过时,也能够请求部分服务。
结合第四方面的第一种至第三种可能的实现方式中的任一种,在第六种可能的实现方式中,所述第一会话为临时会话,所述临时会话是所述至少一个客户端中的一个客户端的使用者未进行身份验证前创建的;
在所述第一应用服务器向所述会话管理服务器发送针对第一会话的第一会话管理请求之后,还包括:
所述第一应用服务器向所述会话管理服务器发送针对第二会话的第二会 话管理请求,所述第二会话管理请求为创建所述第二会话的请求;所述第二会话为所述第一会话对应的正式会话;
所述第一应用服务器接收所述会话管理服务器响应于所述第二会话管理请求发送的将用于指示所述第一会话的成功删除以及所述第二会话成功创建的指示信息;
所述第一应用服务器确定所述第一会话删除成功,以及确定所述第二会话创建成功。
通过对临时会话和正式会话的管理,当创建了正式会话后,删除临时会话,并将临时会话的会话数据记录到正式会话的会话数据中,可实现会话数据的一致性,为客户提供连续一致的服务。
第五方面,本发明实施例提供一种分布式互联网应用系统,包括:
至少一个客户端,用于向多个应用服务器中的一个或多个应用服务器请求业务服务;
所述多个应用服务器,用于向所述至少一个客户端提供业务服务;
会话管理服务器,用于在所述多个应用服务器为所述至少一个客户端提供业务服务时创建会话,并对创建的会话进行会话管理。
其中,由统一的会话管理服务器在多个应用服务器之间进行会话管理,提供了一种多应用服务器场景下的会话管理的机制,并且由于是由统一的会话管理服务器进行会话管理,避免了各个应用服务器之间会话状态不一致、会话数据不一致的问题。
附图说明
图1为目前一种分布式互联网应用系统的结构示意图;
图2为本发明实施例提供的分布式互联网应用系统的结构示意图;
图3为本发明实施例提供的临时会话的会话管理流程的流程图;
图4为本发明实施例提供的正式会话的会话管理流程的流程图;
图5和图6为本发明实施例中,客户在买家中心登录后,买家中心和卖家中心之间进行会话管理、共享会话数据的过程的示意图;
图7为一种会话数据在应用服务器之间进行共享的方式的示意图;
图8为本发明实施例提供的会话管理服务器的结构示意图;
图9为图8所示的会话管理服务器的一种具体实现的硬件结构示意图;
图10为本发明实施例提供的第一应用服务器的结构示意图;
图11为图10所示的第一应用服务器的一种具体实现的硬件结构示意图;
图12为本发明实施例提供的第一种会话管理的方法的流程图;
图13为本发明实施例提供的第二种会话管理的方法的流程图。
具体实施方式
为了更好地理解本申请的上述目的、方案和优势,下文提供了详细描述。该详细描述通过使用框图、流程图等附图和/或示例,阐明了装置和/或方法的各种实施方式。在这些框图、流程图和/或示例中,包含一个或多个功能和/或操作。本领域技术人员将理解到:这些框图、流程图或示例内的各个功能和/或操作,能够通过各种各样的硬件、软件、固件单独或共同实施,或者通过硬件、软件和固件的任意组合实施。
本发明实施例提供一种服务器、会话管理方法和系统,用以提供一种在多个应用服务器之间管理会话的机制。其中,由统一的会话管理服务器在多个应用服务器之间进行会话管理,提供了一种多应用服务器场景下的会话管理的机制,并且由于是由统一的会话管理服务器进行会话管理,避免了各个应用服务器之间会话状态不一致、会话数据不一致的问题。
下面,结合附图对本发明实施例进行详细介绍。
图2为本发明实施例提供的分布式互联网应用系统的结构示意图。如图2所示,该分布式互联网应用系统包括:至少一个客户端201、多个应用服务器202和会话管理服务器203。
其中,客户端201可以向多个应用服务器202中的一个或多个应用服务器202请求业务服务;多个应用服务器202向请求业务服务的客户端201提供业务服务,会话管理服务器203在多个应用服务器202为客户端201提供业务服务时创建会话,并对创建的会话进行会话管理。
为了简单示意,图中仅示出一个客户端201和两个应用服务器202(分别为应用服务器202A和应用服务器202B),实际上,通常存在多个客户端201,应用服务器202的数量也可超过两个。在为客户端201提供业务服务时,这多个应用服务器202维护并共享同一个会话。
可选地,该分布式互联网应用系统还可包括会话数据存储中心204,该会话数据存储中心204可以是单个数据库或缓存应用,也可以是数据库或缓存集群,用于存储会话管理服务器203所管理的会话的会话数据,数据存储中心204可以部署在单独的服务器上,也可以与会话管理服务器203合设。
在进行会话管理时,多个应用服务器202与会话管理服务器203之间可采用客户端/服务器(Client/Server,C/S)的架构,应用服务器202向会话管理服务器203发送会话管理请求,会话管理服务器203接收会话管理请求,并根据接收的会话管理请求对会话进行管理,会话管理服务器203将对会话的会话管理的结果返回给应用服务器202。
其中,会话管理服务器203可向各个应用服务器202提供标准的API接口,应用服务器202通过会话管理服务器203提供的API接口与会话管理服务器203进行交互。
可选地,会话数据可包括会话基本信息和会话扩展信息;
其中,会话基本信息可包括:会话的会话标识信息,该会话标识信息用于唯一标识一个会话;此外,会话基本信息还可包括:会话的创建时间、会话最后更新的时间、会话的属性(临时会话或正式会话),本发明实施例中,临时会话是客户端201的使用者还未进行身份验证前创建的会话;正式会话是客户端201的使用者在身份验证通过后创建的会话。
会话扩展信息可包括:会话的上下文数据;
会话的上下文信息可包括与会话相关的程序或业务的数据。比如:客户端201的使用者,或称之为“客户”的客户标识信息、客户昵称、客户注册信息、客户联系信息、客户常用的配送地址、店铺基本信息等。
会话的创建时间、会话的最后更新时间、会话的属性等也可作为会话扩展信息。
本发明实施例中,不论是会话基本信息,还是会话扩展信息,均是由会话管理服务器203统一管理的,可选地,可存储于会话数据存储中心204中。
此外,客户端201可用于创建业务请求,并向客户端201的使用者展示业务。客户端201一般可为各种类型的浏览器,需开启Cookie功能,可在Cookie中缓存会话的会话标识信息,。会话的创建时间等。
多个应用服务器202之间,可根据功能划分成的多个应用服务器202,也可称为“业务处理模块”,分别部署在对应的Web容器中,针对不同的客户端201发起的业务请求进行处理和响应。如前所述,应用服务器202与会话管理服务器203之间可采用C/S的架构,此时,应用服务器202内可集成用于实现会话共享的适配器,即会话共享Client,用于向会话管理服务器203发送会话管理请求,并接收会话管理服务器203进行会话管理的会话管理结果和/或会话数据。
会话管理服务器203,用于对多个应用服务器202之间的会话进行统一管理,提供会话创建、共享、删除(也可称为“销毁”)的能力。当会话管理服务器203包括会话数据存储中心204,或会话管理服务器203连接会话数据存储中心204时,会话管理服务器203可调用会话数据存储中心204提供的能力,完成会话数据的存取。
此外,会话管理服务器203还可提供如下功能:拦截用户请求、获取会话对象、新增会话数据、更新会话数据、删除会话数据。
可将会话管理服务器203和多个应用服务器202中的会话共享Client合称 为“共享会话管理模块”,应用服务器202作为会话管理的客户端,会话管理服务器203作为会话管理的服务端,两者相互配合,进行适配和交互,共同实现会话管理的功能。
会话数据存储中心204,可以是分布式部署的数据存储系统,通常为轻量级分布式缓存数据库集群,比如:Redis集群,提供会话数据的存取能力。当然,会话数据存储中心204也可以不用采用数据库集群的方式实现。使用集群可实现负载均衡,能够支持较大的数据存储量,并能够支持高并发的场景,即同时有多个应用服务器202进行会话数据的访问和/或更新,或者应用服务器202接收多用户并发的服务请求。
会话数据存储中心204还可提供存取会话数据的能力,提供高可用,高性能的会话数据,对会话数据的操作包括增加、修改、删除等。
可选地,会话管理服务器203和会话数据存储中心204也可位于多个应用服务器202中的一个应用服务器202上,该应用服务器202可以是发起会话创建的应用服务器202。
可选地,本发明实施例中,会话可分为临时会话和正式会话,其中,临时会话为客户端201的使用者未进行身份验证前创建的会话;正式会话是客户端201的使用者在身份验证通过后创建的会话。
可选地,客户端201的使用者首次访问应用服务器202时为创建临时会话。比如:应用服务器202在收到客户端201发送的业务请求时,检查是否已存在会话,若不存在,则请求会话管理服务器203创建临时会话,用以保存会话处理过程中产生的会话数据。临时会话创建之后,应用服务器202可将会话的会话标识信息返回给客户端201,客户端201将收到的会话标识信息放入Cookie中,下一次再发起业务请求时携带该会话标识信息,用以标识会话,这样,诸如会话的创建时间、会话的最后更新时间等会话数据得以保存,可以保证会话数据不会因为超时而失效。
可选地,客户端201的使用者在登录后,即该使用者的身份通过验证之后, 会话管理服务器203创建正式会话,并检查是否有对应的临时会话。若存在对应的临时会话,则将该临时会话中会话数据复制到正式会话中,然后销毁该临时会话;若不存在临时会话则不进行会话数据的复制,也不销毁临时会话。
可选地,若创建了正式会话,则应用服务器202通知客户端201创建的正式会话的会话标识信息发送给客户端201,客户端201将收到的正式会话的会话标识信息存储在Cookie中,替换掉之前的临时会话的会话标识信息。
客户端201后续在向应用服务器202发送业务请求时,均携带该正式会话的会话标识信息,这样会话数据得以保存。此外,在客户端201的使用者的身份验证通过后,可以根据业务需要,将会话数据中的会话的上下文信息存储到会话数据中。
在会话的创建和保持的过程中,会话数据存储在会话数据存储中心204中。
在整个会话管理过程中,会话数据可通过针对会话的扩展字段列表来实现,这样,可灵活保存会话级别的上下文数据。该扩展字段列表可以包括多个键值对,可根据业务需要设置键名,并保存对应的值。
目前,在图1所示的分布式互联网应用系统中,会话管理是在各个应用服务器上实现的,比如:本地Web容器实现会话管理,一个应用服务器将会话管理的结果和/或会话数据在多个应用服务器之间通过数据同步的方式共享。
本发明实施例中,为了兼容目前的本地Web容器的会话管理,可选地,可提供一个可选参数,该可选参数用于控制是使用会话管理服务器203进行统一的会话管理,还是在应用服务器202上实现本地的会话管理。该可选参数可在分布式互联网应用系统运行时动态刷新,因此可实现实时变更会话管理的方式,在统一会话管理和本地会话管理两种模式之间进行平滑切换。
综上,本发明实施例可应用于基于B/S架构的分布式互联网应用系统,多个应用服务器202(比如:Web服务端)可由多个Web容器组成,各容器中部署不同的业务模块,共享相同的会话数据,共同对外提供完整的业务服务。
下面,以互联网模式下典型的商家对商家对客户(Business to Business toCustomer,B2B2C)电商系统为例进行说明。
该实施例中,分布式互联网应用系统包括:电商系统的买家中心和卖家中心,即包括“买家中心”和“卖家中心”两个应用服务器202,会话管理服务器203实现卖家中心和卖家中心两个应用服务器202的统一的会话管理,会话数据存储中心204采用Redis集群方式实现。
系统功能约束包括:同一个客户(即前述的客户端201的使用者)可以注册为商城买家,成为买家后可以进一步注册为商城卖家,申请开店。即一个客户的ID可对应两种系统角色,当该客户在买家中心或卖家中心任一应用服务器202登录后,在两个应用服务器202之间共享客户的登录信息、客户注册的基本信息,比如:客户昵称、联系信息、常用配送地址、注册类型、上次登录时间等。
此外,对于未登录的客户,同样开放浏览商品和添加商品的能力,后续登录成功后即可下单完成商品的订购,所以该电商系统具备临时会话的会话管理能力。
该电商系统的一种典型的临时会话的会话管理流程可如图3所示,包括如下步骤:
S301:未登录的客户访问买家中心,请求买家中心的服务;
S302:买家中心调用会话共享模块,即通过自身的会话共享Client查看客户的服务请求中是否包含会话标识信息;若包含,则请求会话管理服务器203查看该会话标识信息是否有效,会话管理服务器203在会话数据存储中心204上查询该会话标识信息,若会话标识信息无效或者服务请求中没有会话标识信息,表示该客户不存在会话,则执行步骤S303;否则,若有会话标识信息且该会话标识信息有效,表示该客户已经有会话,执行步骤S306;
S303:会话共享模块创建临时会话;买家中心通过调用会话共享模块提供的Client,可向作为会话共享模块的服务端——会话管理服务器203请求创建会话,会话管理服务器203创建会话;
S304:会话共享模块将创建的临时会话的会话数据存入会话存储中心204;会话管理服务器203可调用会话数据存储中心204的能力,将会话数据存入会话数据存储中心204;
S305:会话管理服务器203将创建的临时会话的会话标识信息存入买家中心;
S306:买家中心向发起服务请求的客户端201,即客户使用的浏览器返回对应的服务。
在上述步骤S306中,买家中心可将临时会话的会话标识信息存入客户端201的公共域Cookie。需要说明的是:该Cookie可保存在客户端201的根路径下,保证客户端201后续所有对买家中心发起的服务请求都会携带该Cookie。该Cookie的存活时间为会话级别,即当客户关闭浏览器后,该Cookie就会被清理,防止客户一直保持会话。如果客户做登出操作时,买家中心也会删除该Cookie。
该电商系统的一种典型的正式会话的会话管理流程可如图4所示,包括如下步骤:
S401:客户登录卖家中心;
S402:卖家中心调用会话共享模块创建正式会话,卖家中心调用会话共享模块提供的Client,可向作为会话共享模块的服务端——会话管理服务器203请求创建正式会话,会话管理服务器203创建正式会话;
S403:会话共享模块将正式会话的会话数据存入会话数据存储中心204,会话管理服务器203可将创建的正式会话的会话数据存入会话数据存储中心204;
S404:会话共享模块判断是否存在临时会话;若存在临时会话,则执行步骤S405;若不存在临时会话,则执行步骤S407;
S405:会话共享模块将临时会话的会话数据复制给创建的正式会话;其中,会话管理服务器203可将临时会话的会话数据作为正式会话的会话数据存储在 会话数据存储中心204中;
S406:会话共享中心销毁临时会话;其中,会话管理服务器203删除该临时会话,通知会话数据存储中心204删除临时会话的会话数据;
S407:卖家中心将正式会话的会话标识信息存入客户端201的公共域Cookie(如果Cookie中有临时会话的会话标识信息,则临时会话的会话标识信息会被正式会话的会话标识信息覆盖);
S408:卖家中心向客户端201返回登录成功的指示信息。
在上述步骤S407中,卖家中心可将正式会话的会话标识信息存入客户端201的公共域Cookie。同样,与图3所示的流程类似,该Cookie可保存在客户端201的根路径下,保证客户端201后续所有对应用服务器202发起的服务请求都会携带该Cookie。该Cookie的存活时间为会话级别,即当客户关闭浏览器后,该Cookie就会被清理,防止客户一直保持会话。如果客户做登出操作时,卖家中心也会删除该Cookie。
在图3和图4所示的流程中,会话数据可包括会话基本信息和会话的上下文数据。其中,会话基本信息可包括:会话标识信息,此外,也可包括会话的创建时间,会话的最后更新时间等;会话的上下文数据包括:客户的标识信息,客户昵称,客户注册类型,客户联系信息,客户常用的配送地址,店铺基本信息等。
客户在买家中心登录后,在买家中心和卖家中心之间进行会话管理、共享会话数据的过程如图5和图6所示。
图5所示的流程中,客户端201请求登录卖家中心,买家中心请求会话管理服务器203创建会话,会话管理服务器203对客户进行鉴权,创建会话,生成会话的会话基本信息和会话扩展信息;会话管理服务器203请求会话数据存储中心204,存储会话数据;会话数据存储中心204存储会话数据,并向会话管理服务器203返回会话基本信息,会话管理服务器203将收到的会话基本信息返回给买家中心,买家中心将收到的会话基本信息放入Cookie中,买家中 心向客户端201返回客户登录成功信息。
图6所示的流程中,客户端201请求卖家中心的服务,卖家中心请求会话管理服务器203进行客户认证,并进行会话管理。会话管理服务器203根据会话基本信息完成认证,并更新会话的最后更新时间;会话管理服务器203请求会话数据存储中心204完成会话更新,即更新会话的会话数据;会话数据存储中心204更新会话基本信息,并获取会话扩展信息;会话数据存储中心204将会话扩展信息返回给会话管理服务器203,会话管理服务器203可将收到的会话扩展信息返回给卖家中心;若会话管理服务器203将会话扩展信息返回给卖家中心,则卖家中心可根据收到的会话扩展信息,对客户端201发起的服务请求进行处理,在操作完成后,向客户端201返回操作成功响应,其中可以根据不同的业务请求,携带相应的会话扩展信息;客户端201根据收到的操作成功响应刷新页面,展示客户请求的数据。
图8为本发明实施例提供的会话管理服务器的结构示意图。该会话管理服务器可应用于图2所示的分布式互联网应用系统中。如图8所示,该会话管理服务器包括:
接收模块801,用于接收多个应用服务器中的第一应用服务器发送的针对第一会话的第一会话管理请求;
处理模块802,用于根据第一会话管理请求对第一会话进行会话管理;
发送模块803,用于将对第一会话的会话管理的结果返回给第一应用服务器。
可选地,第一会话管理请求为创建第一会话的请求;
处理模块802具体用于:创建第一会话,并记录第一会话的会话数据;
发送模块803具体用于:将处理模块802记录第一会话的会话数据中的会话基本信息发送给第一应用服务器,第一会话的会话数据中的会话基本信息包括第一会话的会话标识信息。
可选地,第一会话管理请求为更新第一会话的会话数据的请求;
处理模块802具体用于:对第一会话的会话数据进行更新,并记录更新后的第一会话的会话数据;
发送模块803具体用于:将用于指示第一会话的会话数据更新成功的指示信息和/或更新后的第一会话的会话数据返回给第一应用服务器。
可选地,第一会话管理请求为删除第一会话的请求;
处理模块802具体用于:删除第一会话;
发送模块803具体用于:将用于指示第一会话的成功删除的指示信息发给第一应用服务器。
可选地,第一会话为临时会话,临时会话是至少一个客户端中的一个客户端的使用者未进行身份验证前创建的;或
第一会话为正式会话,正式会话是至少一个客户端中的一个客户端的使用者在身份验证通过后创建的。
可选地,第一会话为临时会话,临时会话是至少一个客户端中的一个客户端的使用者未进行身份验证前创建的;
接收模块801还用于:在处理模块802根据第一会话管理请求对第一会话进行会话管理之后,接收多个应用服务器中的第一应用服务器或第二应用服务器发送的针对第二会话的第二会话管理请求,第二会话管理请求为创建第二会话的请求;
处理模块802还用于:在确定第二会话为第一会话对应的正式会话时,创建第二会话,并将第一会话的会话数据记录到第二会话的会话数据中;
发送模块803还用于:将用于指示第一会话的成功删除、第二会话成功创建的指示信息发给第一应用服务器。
该会话管理服务器的其他可选实现方式可参考前述的会话管理服务器203,其中,接收模块801可用于执行会话管理服务器203的接收操作,处理模块802可用于执行会话管理服务器203的处理操作,发送模块803可用于执行会话管理服务器203的发送操作。
该会话管理服务器的一种可选的硬件实现方式可参考图9,其中,接收模块801可由图9中的接收器901实现,处理模块802可由图9中的处理器902实现,发送模块803可由图9中的发送器903来实现。该发送器903和接收器902也可由统一的输入/输出(I/O)接口实现。I/O接口与处理器902之间可采用总线的连接方式,通过总线进行数据和消息的交互。
图10为本发明实施例提供的第一应用服务器的结构示意图。该第一应用服务器可应用于图2所示的分布式互联网应用系统中,包括:
发送模块1001,用于向会话管理服务器发送针对第一会话的第一会话管理请求;
接收模块1002,用于接收会话管理服务器响应于第一会话管理请求发送的第一会话的会话管理的结果;
处理模块1003,用于根据接收模块1002收到的第一会话的会话管理的结果对第一会话进行处理。
可选地,第一会话管理请求为创建第一会话的请求;
接收模块1002具体用于:第一应用服务器接收会话管理服务器发送的第一会话的会话数据中的会话基本信息,第一会话的会话数据中的会话基本信息包括第一会话的会话标识信息;
处理模块1003具体用于:通过发送模块1001将第一会话的会话标识信息发送给第一会话的第一客户端,并在对第一会话的处理过程中发送模块1001和接收模块1002与第一客户端交互时,使用第一会话的会话标识信息标识第一会话。
可选地,第一会话管理请求为更新第一会话的会话数据的请求;
接收模块1002具体用于:第一应用服务器接收会话管理服务器发送的将用于指示第一会话的会话数据更新成功的指示信息;
处理模块1003具体用于:确定第一会话的会话数据更新成功,并根据更新后的第一会话的会话数据,对第一会话进行处理。
可选地,第一会话管理请求为更新第一会话的会话数据的请求;
接收模块1002具体用于:接收更新后的第一会话的会话数据;
处理模块1003具体用于:根据接收模块1002接收的更新后的第一会话的会话数据,对第一会话进行处理。
可选地,第一会话管理请求为删除第一会话的请求;
接收模块1002具体用于:接收会话管理服务器发送的用于指示第一会话的成功删除的指示信息;
处理模块1003具体用于:根据接收模块1002收到的用于指示第一会话的成功删除的指示信息,确定第一会话删除成功。
可选地,第一会话为临时会话,临时会话是至少一个客户端中的一个客户端的使用者未进行身份验证前创建的;或
第一会话为正式会话,正式会话是至少一个客户端中的一个客户端的使用者在身份验证通过后创建的。
可选地,第一会话为临时会话,临时会话是至少一个客户端中的一个客户端的使用者未进行身份验证前创建的;
发送模块1001还用于:在向会话管理服务器发送针对第一会话的第一会话管理请求之后,向会话管理服务器发送针对第二会话的第二会话管理请求,第二会话管理请求为创建第二会话的请求;第二会话为第一会话对应的正式会话;
接收模块1002还用于:接收会话管理服务器响应于第二会话管理请求发送的将用于指示第一会话的成功删除以及第二会话成功创建的指示信息;
处理模块1003还用于:确定第一会话删除成功,以及确定第二会话创建成功。
该第一应用服务器的其他可选实现方式可参考前述的应用服务器202,其中,接收模块801可用于执行应用服务器202的接收操作,处理模块802可用于执行应用服务器202的处理操作,发送模块803可用于执行应用服务器202 的发送操作。
该应用服务器的一种可选的硬件实现方式可参考图11,其中,接收模块1002可由图11中的接收器1102实现,处理模块1003可由图11中的处理器1103实现,发送模块1001可由图11中的发送器1101来实现。该发送器1101和接收器1102也可由统一的I/O接口实现。I/O接口与处理器1103之间可采用总线的连接方式,通过总线进行数据和消息的交互。
图12为本发明实施例提供的第一种会话管理的方法的流程图。该方法可应用于图2所示的分布式互联网应用系统中,可由图2中的会话管理服务器203来执行,该方法包括:
S1201:会话管理服务器接收多个应用服务器中的第一应用服务器发送的针对第一会话的第一会话管理请求;
S1202:会话管理服务器根据第一会话管理请求对第一会话进行会话管理;
S1203:会话管理服务器将对第一会话的会话管理的结果返回给第一应用服务器。
可选地,第一会话管理请求为创建第一会话的请求;
会话管理服务器根据第一会话管理请求对第一会话进行会话管理,包括:会话管理服务器创建第一会话,并记录第一会话的会话数据;
会话管理服务器将对第一会话的会话管理的结果返回给第一应用服务器,包括:会话管理服务器将记录第一会话的会话数据中的会话基本信息发送给第一应用服务器,第一会话的会话数据中的会话基本信息包括第一会话的会话标识信息。
可选地,第一会话管理请求为更新第一会话的会话数据的请求;
会话管理服务器根据第一会话管理请求对第一会话进行会话管理,包括:会话管理服务器对第一会话的会话数据进行更新,并记录更新后的第一会话的会话数据;
会话管理服务器将对第一会话的会话管理的结果返回给第一应用服务器, 包括:会话管理服务器将用于指示第一会话的会话数据更新成功的指示信息和/或更新后的第一会话的会话数据返回给第一应用服务器。
可选地,第一会话管理请求为删除第一会话的请求;
会话管理服务器根据第一会话管理请求对第一会话进行会话管理,包括:会话管理服务器删除第一会话;
会话管理服务器将对第一会话的会话管理的结果返回给第一应用服务器,包括:会话管理服务器将用于指示第一会话的成功删除的指示信息发给第一应用服务器。
可选地,第一会话为临时会话,临时会话是至少一个客户端中的一个客户端的使用者未进行身份验证前创建的;或
第一会话为正式会话,正式会话是至少一个客户端中的一个客户端的使用者在身份验证通过后创建的。
可选地,第一会话为临时会话,临时会话是至少一个客户端中的一个客户端的使用者未进行身份验证前创建的;
在会话管理服务器根据第一会话管理请求对第一会话进行会话管理之后,还包括:
会话管理服务器接收多个应用服务器中的第一应用服务器或第二应用服务器发送的针对第二会话的第二会话管理请求,第二会话管理请求为创建第二会话的请求;
会话管理服务器在确定第二会话为第一会话对应的正式会话时,创建第二会话,并将第一会话的会话数据记录到第二会话的会话数据中;
会话管理服务器将用于指示第一会话的成功删除、第二会话成功创建的指示信息发给第一应用服务器。
该方法的其他可选实现方式可参考前述的会话管理服务器203的处理。
图13为本发明实施例提供的第二种会话管理的方法的流程图。该方法可应用于图2所示的分布式互联网应用系统中,可由应用服务器202执行。该方 法包括:
S1301:多个应用服务器中的第一应用服务器向会话管理服务器发送针对第一会话的第一会话管理请求;
S1302:第一应用服务器接收会话管理服务器响应于第一会话管理请求发送的第一会话的会话管理的结果;
S1303:第一应用服务器根据收到的第一会话的会话管理的结果对第一会话进行处理。
可选地,第一会话管理请求为创建第一会话的请求;
第一应用服务器接收会话管理服务器响应于第一会话管理请求发送的第一会话的会话管理的结果,包括:第一应用服务器接收会话管理服务器发送的第一会话的会话数据中的会话基本信息,第一会话的会话数据中的会话基本信息包括第一会话的会话标识信息;
第一应用服务器根据收到的第一会话的会话管理的结果对第一会话进行处理,包括:第一应用服务器将第一会话的会话标识信息发送给第一会话的第一客户端,并在对第一会话的处理过程中与第一客户端交互时,使用第一会话的会话标识信息标识第一会话。
可选地,第一会话管理请求为更新第一会话的会话数据的请求;
第一应用服务器接收会话管理服务器响应于第一会话管理请求发送的第一会话的会话管理的结果,包括:第一应用服务器接收会话管理服务器发送的将用于指示第一会话的会话数据更新成功的指示信息;
第一应用服务器根据收到的第一会话的会话管理的结果对第一会话进行处理,包括:第一应用服务器确定第一会话的会话数据更新成功,并根据更新后的第一会话的会话数据,对第一会话进行处理。
可选地,第一会话管理请求为更新第一会话的会话数据的请求;
第一应用服务器接收会话管理服务器响应于第一会话管理请求发送的第一会话的会话管理的结果,包括:第一应用服务器接收更新后的第一会话的会 话数据;
第一应用服务器根据收到的第一会话的会话管理的结果对第一会话进行处理,包括:第一应用服务器根据接收的更新后的第一会话的会话数据,对第一会话进行处理。
可选地,第一会话管理请求为删除第一会话的请求;
第一应用服务器接收会话管理服务器响应于第一会话管理请求发送的第一会话的会话管理的结果,包括:第一应用服务器接收会话管理服务器发送的用于指示第一会话的成功删除的指示信息;
第一应用服务器根据收到的第一会话的会话管理的结果对第一会话进行处理,包括:第一应用服务器根据收到的用于指示第一会话的成功删除的指示信息,确定第一会话删除成功。
可选地,第一会话为临时会话,临时会话是至少一个客户端中的一个客户端的使用者未进行身份验证前创建的;或
第一会话为正式会话,正式会话是至少一个客户端中的一个客户端的使用者在身份验证通过后创建的。
可选地,第一会话为临时会话,临时会话是至少一个客户端中的一个客户端的使用者未进行身份验证前创建的;
在第一应用服务器向会话管理服务器发送针对第一会话的第一会话管理请求之后,还包括:
第一应用服务器向会话管理服务器发送针对第二会话的第二会话管理请求,第二会话管理请求为创建第二会话的请求;第二会话为第一会话对应的正式会话;
第一应用服务器接收会话管理服务器响应于第二会话管理请求发送的将用于指示第一会话的成功删除以及第二会话成功创建的指示信息;
第一应用服务器确定第一会话删除成功,以及确定第二会话创建成功。
该方法的其他可选实现方式可参考前述的应用服务器202的处理。
综上,本发明实施例提供一种服务器、会话管理方法和系统,提供了一种在多个应用服务器之间进行统一的会话管理的机制,可保证多个应用服务器之间的会话数据的一致性。
进一步地,通过专门的会话数据存储中心存储会话数据,当该会话数据存储中心采用数据库集群的方式实现时,可支持大容量的会话数据的存储,提升了分布式互联网应用系统的性能。
通过用于选择同一会话管理和本地会话管理方式的可选参数,可平滑自由地切换会话管理模式。
通过临时会话和正式会话,可在客户登录前后变更会话,安全性更高。能够在客户未进行身份验证前,实现客户使用应用服务器提供的服务。与图7所示的会话数据在应用服务器之间进行共享的方式相比,避免同一客户的会话数据在多个应用服务器之间的复制与同步,极大的降低了分布式互联网应用系统的内存消耗;并且,由于会话数据由会话管理服务器集中管理,保证了会话数据的传递的实时性及高可靠性。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (17)
1.第一服务器,应用于分布式互联网应用系统中,该系统包括:至少一个客户端、多个应用服务器;所述至少一个客户端用于向所述多个应用服务器中的一个或多个应用服务器请求业务服务;所述多个应用服务器用于向所述至少一个客户端提供业务服务;其特征在于,所述第一服务器用于在所述多个应用服务器为所述至少一个客户端提供业务服务时创建会话,并对创建的会话进行会话管理,所述第一服务器包括:
接收模块,用于接收所述多个应用服务器中的第一应用服务器发送的针对第一会话的第一会话管理请求;
处理模块,用于根据所述第一会话管理请求对所述第一会话进行会话管理;
发送模块,用于将对所述第一会话的会话管理的结果返回给所述第一应用服务器。
2.如权利要求1所述的第一服务器,其特征在于,所述会话管理包括下列至少一项:
会话创建;
会话数据更新;
会话删除。
3.如权利要求1或2所述的第一服务器,其特征在于,
所述第一会话为临时会话,所述临时会话是所述至少一个客户端中的一个客户端的使用者未进行身份验证前创建的;或
所述第一会话为正式会话,所述正式会话是所述至少一个客户端中的一个客户端的使用者在身份验证通过后创建的。
4.如权利要求2所述的第一服务器,其特征在于,所述第一会话的会话管理包括所述第一会话的创建或所述第一会话的会话数据更新;
所述第一会话为临时会话,所述临时会话是所述至少一个客户端中的一个客户端的使用者未进行身份验证前创建的;
所述接收模块还用于:在所述处理模块根据所述第一会话管理请求对所述第一会话进行会话管理之后,接收所述多个应用服务器中的所述第一应用服务器或第二应用服务器发送的针对第二会话的第二会话管理请求,所述第二会话管理请求为创建所述第二会话的请求;
所述处理模块还用于:在确定所述第二会话为所述第一会话对应的正式会话时,创建所述第二会话,并将所述第一会话的会话数据记录到所述第二会话的会话数据中;
所述发送模块还用于:将用于指示所述第一会话的成功删除、所述第二会话成功创建的指示信息发给所述第一应用服务器。
5.第一应用服务器,应用于分布式互联网应用系统中,该系统包括:至少一个客户端、包括所述第一应用服务器在内的多个所述应用服务器;所述至少一个客户端用于向所述多个应用服务器中的一个或多个应用服务器请求业务服务;所述多个应用服务器用于向所述至少一个客户端提供业务服务;其特征在于,所述分布式互联网应用系统还包括会话管理服务器,所述会话管理服务器用于在所述多个应用服务器为所述至少一个客户端提供业务服务时创建会话,并对创建的会话进行会话管理,所述第一应用服务器包括:
发送模块,用于向所述会话管理服务器发送针对第一会话的第一会话管理请求;
接收模块,用于接收所述会话管理服务器响应于所述第一会话管理请求发送的所述第一会话的会话管理的结果;
处理模块,用于根据所述接收模块收到的所述第一会话的会话管理的结果对所述第一会话进行处理。
6.如权利要求5所述的第一应用服务器,其特征在于,所述会话管理包括下列至少一项:
会话创建;
会话数据更新;
会话删除。
7.如权利要求5或6所述的第一应用服务器,其特征在于,
所述第一会话为临时会话,所述临时会话是所述至少一个客户端中的一个客户端的使用者未进行身份验证前创建的;或
所述第一会话为正式会话,所述正式会话是所述至少一个客户端中的一个客户端的使用者在身份验证通过后创建的。
8.如权利要求6所述的第一应用服务器,其特征在于,,所述第一会话的会话管理包括所述第一会话的创建或所述第一会话的会话数据更新;
所述第一会话为临时会话,所述临时会话是所述至少一个客户端中的一个客户端的使用者未进行身份验证前创建的;
所述发送模块还用于:在向所述会话管理服务器发送针对第一会话的第一会话管理请求之后,向所述会话管理服务器发送针对第二会话的第二会话管理请求,所述第二会话管理请求为创建所述第二会话的请求;所述第二会话为所述第一会话对应的正式会话;
所述接收模块还用于:接收所述会话管理服务器响应于所述第二会话管理请求发送的将用于指示所述第一会话的成功删除以及所述第二会话成功创建的指示信息;
所述处理模块还用于:确定所述第一会话删除成功,以及确定所述第二会话创建成功。
9.一种会话管理的方法,应用于分布式互联网应用系统中,该系统包括:至少一个客户端、多个应用服务器;所述至少一个客户端用于向所述多个应用服务器中的一个或多个应用服务器请求业务服务;所述多个应用服务器用于向所述至少一个客户端提供业务服务;其特征在于,所述分布式互联网应用系统还包括会话管理服务器,所述会话管理服务器用于在所述多个应用服务器为所述至少一个客户端提供业务服务时创建会话,并对创建的会话进行会话管理,所述方法包括:
所述会话管理服务器接收所述多个应用服务器中的第一应用服务器发送的针对第一会话的第一会话管理请求;
所述会话管理服务器根据所述第一会话管理请求对所述第一会话进行会话管理;
所述会话管理服务器将对所述第一会话的会话管理的结果返回给所述第一应用服务器。
10.如权利要求9所述的方法,其特征在于,所述会话管理包括下列至少一项:
会话创建;
会话数据更新;
会话删除。
11.如权利要求9或10所述的方法,其特征在于,
所述第一会话为临时会话,所述临时会话是所述至少一个客户端中的一个客户端的使用者未进行身份验证前创建的;或
所述第一会话为正式会话,所述正式会话是所述至少一个客户端中的一个客户端的使用者在身份验证通过后创建的。
12.如权利要求10所述的方法,其特征在于,所述第一会话的会话管理包括所述第一会话的创建或所述第一会话的会话数据更新;
所述第一会话为临时会话,所述临时会话是所述至少一个客户端中的一个客户端的使用者未进行身份验证前创建的;
在所述会话管理服务器根据所述第一会话管理请求对所述第一会话进行会话管理之后,还包括:
所述会话管理服务器接收所述多个应用服务器中的所述第一应用服务器或第二应用服务器发送的针对第二会话的第二会话管理请求,所述第二会话管理请求为创建所述第二会话的请求;
所述会话管理服务器在确定所述第二会话为所述第一会话对应的正式会话时,创建所述第二会话,并将所述第一会话的会话数据记录到所述第二会话的会话数据中;
所述会话管理服务器将用于指示所述第一会话的成功删除、所述第二会话成功创建的指示信息发给所述第一应用服务器。
13.一种会话管理的方法,应用于分布式互联网应用系统中,该系统包括:至少一个客户端、多个应用服务器;所述至少一个客户端用于向所述多个应用服务器中的一个或多个应用服务器请求业务服务;所述多个应用服务器用于向所述至少一个客户端提供业务服务;其特征在于,所述分布式互联网应用系统还包括会话管理服务器,所述会话管理服务器用于在所述多个应用服务器为所述至少一个客户端提供业务服务时创建会话,并对创建的会话进行会话管理,所述方法包括:
所述多个应用服务器中的第一应用服务器向所述会话管理服务器发送针对第一会话的第一会话管理请求;
所述第一应用服务器接收所述会话管理服务器响应于所述第一会话管理请求发送的所述第一会话的会话管理的结果;
所述第一应用服务器根据收到的所述第一会话的会话管理的结果对所述第一会话进行处理。
14.如权利要求13所述的方法,其特征在于,所述会话管理包括下列至少一项:
会话创建;
会话数据更新;
会话删除。
15.如权利要求13或14所述的方法,其特征在于,
所述第一会话为临时会话,所述临时会话是所述至少一个客户端中的一个客户端的使用者未进行身份验证前创建的;或
所述第一会话为正式会话,所述正式会话是所述至少一个客户端中的一个客户端的使用者在身份验证通过后创建的。
16.如权利要求14所述的方法,其特征在于,所述第一会话的会话管理包括所述第一会话的创建或所述第一会话的会话数据更新;
所述第一会话为临时会话,所述临时会话是所述至少一个客户端中的一个客户端的使用者未进行身份验证前创建的;
在所述第一应用服务器向所述会话管理服务器发送针对第一会话的第一会话管理请求之后,还包括:
所述第一应用服务器向所述会话管理服务器发送针对第二会话的第二会话管理请求,所述第二会话管理请求为创建所述第二会话的请求;所述第二会话为所述第一会话对应的正式会话;
所述第一应用服务器接收所述会话管理服务器响应于所述第二会话管理请求发送的将用于指示所述第一会话的成功删除以及所述第二会话成功创建的指示信息;
所述第一应用服务器确定所述第一会话删除成功,以及确定所述第二会话创建成功。
17.一种分布式互联网应用系统,其特征在于,包括:
至少一个客户端,用于向多个应用服务器中的一个或多个应用服务器请求业务服务;
所述多个应用服务器,用于向所述至少一个客户端提供业务服务;
会话管理服务器,用于在所述多个应用服务器为所述至少一个客户端提供业务服务时创建会话,并对创建的会话进行会话管理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511008676.6A CN106921721A (zh) | 2015-12-28 | 2015-12-28 | 一种服务器、会话管理方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511008676.6A CN106921721A (zh) | 2015-12-28 | 2015-12-28 | 一种服务器、会话管理方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106921721A true CN106921721A (zh) | 2017-07-04 |
Family
ID=59455413
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201511008676.6A Pending CN106921721A (zh) | 2015-12-28 | 2015-12-28 | 一种服务器、会话管理方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106921721A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108989359A (zh) * | 2018-10-12 | 2018-12-11 | 苏州创旅天下信息技术有限公司 | 服务器集群的验证登录方法及系统、可读存储介质和终端 |
CN109257396A (zh) * | 2017-07-12 | 2019-01-22 | 阿里巴巴集团控股有限公司 | 一种分布式锁调度方法及装置 |
CN109617953A (zh) * | 2018-11-28 | 2019-04-12 | 亚信科技(南京)有限公司 | 一种会话处理方法和系统 |
CN109936529A (zh) * | 2017-12-15 | 2019-06-25 | 华为技术有限公司 | 一种安全通信的方法、装置和系统 |
CN110881143A (zh) * | 2018-09-05 | 2020-03-13 | 中兴通讯股份有限公司 | 一种机顶盒管理方法、装置、设备及计算机可读存储介质 |
CN113678123A (zh) * | 2019-03-25 | 2021-11-19 | 西门子股份公司 | 身份提供器管理sso会话 |
WO2023165429A1 (zh) * | 2022-03-01 | 2023-09-07 | 百果园技术(新加坡)有限公司 | 一种会话状态管理方法、系统、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1638358A (zh) * | 2003-12-29 | 2005-07-13 | 诺基亚公司 | 用于网络应用上的多个管理服务器的统一会话控制方法和系统 |
CN102137338A (zh) * | 2010-01-22 | 2011-07-27 | 深圳市源通世纪科技有限公司 | 一键通业务用户管理、呈现及会话状态管理的方法及系统 |
CN102215266A (zh) * | 2011-06-20 | 2011-10-12 | 中兴通讯股份有限公司 | 持久化服务的实现方法及持久化服务系统 |
CN102347959A (zh) * | 2011-11-18 | 2012-02-08 | 运软网络科技(上海)有限公司 | 基于身份和会话的资源访问系统和方法 |
CN104901954A (zh) * | 2015-05-16 | 2015-09-09 | 丁明云 | 一种物联网软交换系统及其方法 |
-
2015
- 2015-12-28 CN CN201511008676.6A patent/CN106921721A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1638358A (zh) * | 2003-12-29 | 2005-07-13 | 诺基亚公司 | 用于网络应用上的多个管理服务器的统一会话控制方法和系统 |
CN102137338A (zh) * | 2010-01-22 | 2011-07-27 | 深圳市源通世纪科技有限公司 | 一键通业务用户管理、呈现及会话状态管理的方法及系统 |
CN102215266A (zh) * | 2011-06-20 | 2011-10-12 | 中兴通讯股份有限公司 | 持久化服务的实现方法及持久化服务系统 |
CN102347959A (zh) * | 2011-11-18 | 2012-02-08 | 运软网络科技(上海)有限公司 | 基于身份和会话的资源访问系统和方法 |
CN104901954A (zh) * | 2015-05-16 | 2015-09-09 | 丁明云 | 一种物联网软交换系统及其方法 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109257396A (zh) * | 2017-07-12 | 2019-01-22 | 阿里巴巴集团控股有限公司 | 一种分布式锁调度方法及装置 |
CN109257396B (zh) * | 2017-07-12 | 2021-07-09 | 阿里巴巴集团控股有限公司 | 一种分布式锁调度方法及装置 |
CN109936529A (zh) * | 2017-12-15 | 2019-06-25 | 华为技术有限公司 | 一种安全通信的方法、装置和系统 |
CN109936529B (zh) * | 2017-12-15 | 2021-12-31 | 华为技术有限公司 | 一种安全通信的方法、装置和系统 |
CN110881143A (zh) * | 2018-09-05 | 2020-03-13 | 中兴通讯股份有限公司 | 一种机顶盒管理方法、装置、设备及计算机可读存储介质 |
CN108989359A (zh) * | 2018-10-12 | 2018-12-11 | 苏州创旅天下信息技术有限公司 | 服务器集群的验证登录方法及系统、可读存储介质和终端 |
CN109617953A (zh) * | 2018-11-28 | 2019-04-12 | 亚信科技(南京)有限公司 | 一种会话处理方法和系统 |
CN109617953B (zh) * | 2018-11-28 | 2021-08-31 | 亚信科技(南京)有限公司 | 一种会话处理方法和系统 |
CN113678123A (zh) * | 2019-03-25 | 2021-11-19 | 西门子股份公司 | 身份提供器管理sso会话 |
US12101308B2 (en) | 2019-03-25 | 2024-09-24 | Siemens Aktiengesellschaft | Managing a SSO session by an identity provider |
WO2023165429A1 (zh) * | 2022-03-01 | 2023-09-07 | 百果园技术(新加坡)有限公司 | 一种会话状态管理方法、系统、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106921721A (zh) | 一种服务器、会话管理方法和系统 | |
CN107579931B (zh) | 一种基于Kubernetes的区块链即服务资源适配方法 | |
US10637914B2 (en) | Distributed network services | |
TWI473029B (zh) | 可延伸及可程式化之多租戶服務結構 | |
CN110032571A (zh) | 业务流程处理方法、装置、存储介质及计算设备 | |
US9152441B2 (en) | Systems and methods involving virtual machine host isolation over a network via a federated downstream cluster | |
CN106031128B (zh) | 移动设备管理的方法和装置 | |
US10891282B1 (en) | Mutations with immediate feedback | |
CN107196982A (zh) | 一种用户请求的处理方法和装置 | |
CN109547512A (zh) | 一种基于NoSQL的分布式Session管理的方法及装置 | |
CN106657314A (zh) | 跨数据中心数据同步系统及方法 | |
CN114667513A (zh) | 多租户提供商网络数据库连接管理和支配 | |
CN106713391A (zh) | 一种session信息的共享方法和共享系统 | |
US11159634B1 (en) | Subscription fan out | |
US11089133B1 (en) | Synchronizing data with delayed subscriptions | |
WO2020104988A1 (en) | Fast session restoration for latency sensitive middleboxes | |
CN107438067A (zh) | 一种基于mesos容器云平台的多租户构建方法及系统 | |
US11126610B1 (en) | Conflict resolution in a data proxy | |
US10785056B1 (en) | Sharing a subnet of a logically isolated network between client accounts of a provider network | |
CN109840094A (zh) | 一种数据库的部署方法、装置及存储设备 | |
CN113114503B (zh) | 基于应用交付网络需求的部署方法及装置 | |
US20220138220A1 (en) | Dedicated replication channels for replicating records between regions | |
US20070130154A1 (en) | Dynamic connection establishment using an object link | |
US11093477B1 (en) | Multiple source database system consolidation | |
CN108464031B (zh) | 电信网络中的基于数据库的冗余 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20200201 Address after: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Applicant after: HUAWEI TECHNOLOGIES Co.,Ltd. Address before: 210012 HUAWEI Nanjing base, 101 software Avenue, Yuhuatai District, Jiangsu, Nanjing Applicant before: Huawei Technologies Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170704 |
|
RJ01 | Rejection of invention patent application after publication |