用于分布式集群系统的系统退出方法及分布式集群系统技术方案

技术编号:17878583 阅读:29 留言:0更新日期:2018-05-06 00:29
本发明专利技术公开了一种用于分布式集群系统的系统退出方法,包括以下步骤:实时检测退出主系统的退出操作;当检测到所述退出主系统的退出操作时,获取所述主系统的sessionID,并根据所述主系统的sessionID从存储的映射关系中查找与所述主系统的sessionID关联的子系统的sessionID;根据所述主系统的sessionID和所述子系统的sessionID删除对应的session。与现有技术相比,本发明专利技术实现了在退出主系统时,同时删除主系统以及各个子系统的session,保证了分布式集群系统的安全。本发明专利技术还公开了一种分布式集群系统。

System exit method for distributed cluster system and distributed cluster system

The present invention discloses a system exit method for a distributed cluster system, including the following steps: checking out of the exit operation of the main system in real time, obtaining the sessionID of the main system when the exit operation of the exit master system is detected, and checking the stored mapping relationship according to the sessionID of the main system. Find the sessionID of the subsystem associated with the sessionID of the main system; delete the corresponding session according to the sessionID of the main system and the sessionID of the subsystem. Compared with the existing technology, the invention realizes the deletion of the main system and the session of each subsystem when the main system is withdrawn from the main system, so as to ensure the security of the distributed cluster system. The invention also discloses a distributed cluster system.

【技术实现步骤摘要】
用于分布式集群系统的系统退出方法及分布式集群系统
本专利技术涉及计算机
,尤其涉及一种用于分布式集群系统的系统退出方法及分布式集群系统。
技术介绍
通常情况下,Tomcat、Jetty等Servlet容器,会默认将Session保存在内存中。如果是单个服务器实例的应用,将Session保存在服务器内存中是一个非常好的方案。但是这种方案有一个缺点,就是不利于扩展。而随着系统功能越来越多,为了保证服务器性能,通常会对系统进行拆分,此时为了保证用户的使用体验及高可用性,拆分后的子系统采用分布式部署,并且在多个系统间做单点登入,即用户只需要登入一次就可以访问相互信任的各个子系统。当将同一个应用部署在多个服务器上通过负载均衡对外提供访问时,需要实现Session共享,目前实现Session共享的方案很多,其中一种方案是使用Tomcat、Jetty等服务器提供的Session共享功能,将Session的内容统一存储在一个数据库(如MySQL)或缓存(如Redis)中;另一种方案是通过spring-session和redis实现Session共享,其直接在已有项目基础上加入SpringSession框架来实现Session统一存储在Redis中。其中,通过spring-session和redis实现Session共享时,在退出系统时,无法同时清除各个子系统的session,将会存在系统安全隐患。因此,有必要提供一种用于分布式集群系统的系统退出方法及分布式集群系统来解决上述技术问题。
技术实现思路
本专利技术的主要目的在于提出一种用于分布式集群系统的系统退出方法,旨在解决现有的分布式集群系统下在退出系统时无法同时清除各个子系统的session,导致存在系统安全隐患的问题。首先,为实现上述目的,本专利技术还提供一种分布式集群系统,所述分布式集群系统包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的用于分布式集群系统的系统退出程序,所述用于分布式集群系统的系统退出程序被所述处理器执行时实现如下步骤:实时检测退出主系统的退出操作;当检测到所述退出主系统的退出操作时,获取所述主系统的sessionID,并根据所述主系统的sessionID从存储的映射关系中查找与所述主系统的sessionID关联的子系统的sessionID;根据所述主系统的sessionID和所述子系统的sessionID删除对应的session。可选地,所述根据所述主系统的sessionID从存储的映射关系中查找与所述主系统的sessionID关联的子系统的sessionID的步骤之前,所述处理器还用于执行所述用于分布式集群系统的系统退出程序,以实现如下步骤:由主系统切换至子系统时,所述主系统向所述子系统发送携带有会话令牌的会话请求,其中所述会话令牌中包括用户身份标识和登入所述主系统的sessionID;所述子系统接收所述会话请求并根据所述用户身份标识对所述主系统进行身份验证;当身份验证通过时,在所述子系统生成与所述会话请求对应的session和sessionID;建立所述主系统的sessionID与所述子系统的sessionID的映射关系。可选地,所述建立所述主系统的sessionID与所述子系统的sessionID的映射关系的步骤之后,所述处理器还用于执行所述用于分布式集群系统的系统退出程序,以实现如下步骤:将所述主系统的sessionID与所述子系统的sessionID映射关系存储于redis数据库中,其中所述主系统的sessionID作为key值,各所述子系统的sessionID作为value值。可选地,各所述子系统采用单点登入验证对所述主系统进行身份验证。同时,本专利技术还提供一种用于分布式集群系统的系统退出方法,所述分布式集群系统包括主系统和多个子系统,所述方法包括以下步骤:实时检测退出主系统的退出操作;当检测到所述退出主系统的退出操作时,获取所述主系统的sessionID,并根据所述主系统的sessionID从存储的映射关系中查找与所述主系统的sessionID关联的子系统的sessionID;根据所述主系统的sessionID和所述子系统的sessionID删除对应的session。可选地,所述根据所述主系统的sessionID从存储的映射关系中查找与所述主系统的sessionID关联的子系统的sessionID的步骤之前还包括:由主系统切换至子系统时,所述主系统向所述子系统发送携带有会话令牌的会话请求,其中所述会话令牌中包括用户身份标识和登入所述主系统的sessionID;所述子系统接收所述会话请求并根据所述用户身份标识对所述主系统进行身份验证;当身份验证通过时,在所述子系统生成与所述会话请求对应的session和sessionID,并建立所述主系统的sessionID与所述子系统的sessionID的映射关系。可选地,所述建立所述主系统的sessionID与所述子系统的sessionID的映射关系的步骤之后还包括:将所述主系统的sessionID与所述子系统的sessionID映射关系存储于redis数据库中,其中所述主系统的sessionID作为key值,各所述子系统的sessionID作为value值。可选地,各所述子系统采用单点登入验证对所述主系统进行身份验证。可选地,所述子系统通过filter进行所述单点登入验证。此外,为实现上述目的,本专利技术还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有用于分布式集群系统的系统退出程序,所述用于分布式集群系统的系统退出程序被处理器执行时实现如上述用于分布式集群系统的系统退出方法的步骤。相较于现有技术,本专利技术所提出的用于分布式集群系统的系统退出方法、分布式集群系统及计算机可读存储介质,在检测到退出主系统的退出操作时,会获取所述主系统的sessionID,并根据所述主系统的sessionID从存储的映射关系中查找与所述主系统的sessionID关联的子系统的sessionID,之后根据所述主系统的sessionID和所述子系统的sessionID删除对应的session,从而实现了在退出主系统时,同时删除主系统以及各个子系统的session,保证了分布式集群系统的安全。附图说明图1为本专利技术用于分布式集群系统的系统退出程序第一实施例的功能模块示意图;图2为本专利技术用于分布式集群系统的系统退出程序第二实施例的功能模块示意图;图3为本专利技术用于分布式集群系统的系统退出方法第一实施例的实施流程示意图;图4为本专利技术用于分布式集群系统的系统退出方法第二实施例的实施流程示意图;图5为本专利技术分布式集群系统一实施例的示意图;图6为访问图5所示分布式集群系统时生成的映射关系一实施例的示意图。附图标记:本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本专利技术的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。随着大型网站的各种高并发访问、海量数据处理等场景越来越多,如何实现网站的高可用、易本文档来自技高网...
用于分布式集群系统的系统退出方法及分布式集群系统

【技术保护点】
一种分布式集群系统,其特征在于,所述分布式集群系统包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的用于分布式集群系统的系统退出程序,所述用于分布式集群系统的系统退出程序被所述处理器执行时实现如下步骤:实时检测退出主系统的退出操作;当检测到所述退出主系统的退出操作时,获取所述主系统的sessionID,并根据所述主系统的sessionID从存储的映射关系中查找与所述主系统的sessionID关联的子系统的sessionID;根据所述主系统的sessionID和所述子系统的sessionID删除对应的session。

【技术特征摘要】
1.一种分布式集群系统,其特征在于,所述分布式集群系统包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的用于分布式集群系统的系统退出程序,所述用于分布式集群系统的系统退出程序被所述处理器执行时实现如下步骤:实时检测退出主系统的退出操作;当检测到所述退出主系统的退出操作时,获取所述主系统的sessionID,并根据所述主系统的sessionID从存储的映射关系中查找与所述主系统的sessionID关联的子系统的sessionID;根据所述主系统的sessionID和所述子系统的sessionID删除对应的session。2.如权利要求1所述的分布式集群系统,其特征在于,所述根据所述主系统的sessionID从存储的映射关系中查找与所述主系统的sessionID关联的子系统的sessionID的步骤之前,所述处理器还用于执行所述用于分布式集群系统的系统退出程序,以实现如下步骤:由主系统切换至子系统时,所述主系统向所述子系统发送携带有会话令牌的会话请求,其中所述会话令牌中包括用户身份标识和登入所述主系统的sessionID;所述子系统接收所述会话请求并根据所述用户身份标识对所述主系统进行身份验证;当身份验证通过时,在所述子系统生成与所述会话请求对应的session和sessionID;建立所述主系统的sessionID与所述子系统的sessionID的映射关系。3.如权利要求2所述的分布式集群系统,其特征在于,所述建立所述主系统的sessionID与所述子系统的sessionID的映射关系的步骤之后,所述处理器还用于执行所述用于分布式集群系统的系统退出程序,以实现如下步骤:将所述主系统的sessionID与所述子系统的sessionID映射关系存储于redis数据库中,其中所述主系统的sessionID作为key值,各所述子系统的sessionID作为value值。4.如权利要求2所述的分布式集群系统,其特征在于,各所述子系统采用单点登入验证对所述主系统进行身份验证。5.一种用于分布式集群系统的系统退出方法,所述分布式集群系统包括主系统和...

【专利技术属性】
技术研发人员:程文星
申请(专利权)人:努比亚技术有限公司
类型:发明
国别省市:广东,44

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

1