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,将会存在系统安全隐患。因此,有必要提供一种用于分布式集群系统的系统退出方法及分布式集群系统来解决上述技术问题。
技术实现思路
本专利技术的主要目的在于提出一种用于分布式集群系统的系统退出方法,旨在解 ...
【技术保护点】
一种分布式集群系统,其特征在于,所述分布式集群系统包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的用于分布式集群系统的系统退出程序,所述用于分布式集群系统的系统退出程序被所述处理器执行时实现如下步骤:实时检测退出主系统的退出操作;当检测到所述退出主系统的退出操作时,获取所述主系统的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.一种用于分布式集群系统的系统退出方法,所述分布式集群系统包括主系统和...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。