一种分布式Session管理中间件制造技术

技术编号:12916959 阅读:55 留言:0更新日期:2016-02-24 23:26
本申请公开了一种分布式Session管理中间件,包括Session生命周期管理模块和Session存储器;Session生命周期管理模块用于当用户通过浏览器向服务器集群系统发送的本次会话请求为首次会话请求时,创建与本次会话请求对应的Session信息,并将该Session信息发送至Session存储器;Session存储器用于对每次Session生命周期管理模块发送的Session信息进行存储,并且当有新的节点服务器被添加到服务器集群系统中时,通过中心节点服务器,将自身存储的所有Session信息下发至新的节点服务器。本申请提高了对Session信息的管理效率,避免了大量信息同步。

【技术实现步骤摘要】

本专利技术涉及Sess1n管理
,特别涉及一种分布式Sess1n管理中间件。
技术介绍
随着互联网的发展,人们要求服务器系统具有更高的性能和稳定性,由此使得服务器集群系统的应用越来越广泛,而服务器集群系统中的Sess1n管理模式也由此从单机管理模式逐渐向集群管理模式扩展,Sess1n在集群节点之间的同步、存储成为了其核心技术问题。目前,基于Tomcat或WebLogic中间件对于Sess1n的同步均是米用组播的方式,在各个集群节点进行Sess1n复制,这样需要对大量的Sess1n信息进行复制,在用户数量和集群数量达到一定规模后,对Sess1n信息的复制操作便成为了系统的性能瓶颈,从而降低了对Sess1n信息的管理效率。综上所述可以看出,如何提高对Sess1n信息的管理效率,避免大量信息同步是目前亟待解决的问题。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种分布式Sess1n管理中间件,提高了对Sess1n信息的管理效率,避免大量信息同步。其具体方案如下:—种分布式Sess1n管理中间件,应用于服务器集群系统,所述服务器集群系统包括N台节点服务器,N为正整数,其中,所述N台节点服务器中包括一台中心节点服务器;所述分布式Sess1n管理中间件包括Sess1n生命周期管理模块和Sess1n存储器;其中,所述Sess1n生命周期管理模块,用于当用户通过浏览器向所述服务器集群系统发送的本次会话请求为首次会话请求时,创建与本次会话请求对应的Sess1n信息,并将该Sess1n信息发送至所述Sess1n存储器;当用户通过浏览器向所述服务器集群系统发送的本次会话请求并非首次会话请求时,从所述Sess1n存储器中读取出与该用户通过当前浏览器发送的首次会话请求所对应的Sess1n信息;所述Sess1n存储器,用于对每次所述Sess1n生命周期管理模块发送的Sess1n信息进行存储,并且当有新的节点服务器被添加到所述服务器集群系统中时,通过所述中心节点服务器,将自身存储的所有Sess1n信息下发至所述新的节点服务器。优选的,所述Sess1n存储器包括Sess1n缓冲池和MongoDB数据库;其中,所述Sess1n缓冲池,用于在每次接收到所述Sess1n生命周期管理模块发送的Sess1n信息后,对该Sess1n信息进行缓存处理,并将该Sess1n信息转发至所述MongoDB数据库;所述MongoDB数据库,用于在每次接收到所述Sess1n缓冲池发送的Sess1n信息后,对该Sess1n信息进行持久化存储,并且当有新的节点服务器被添加到所述服务器集群系统中时,通过所述中心节点服务器,将自身存储的所有Sess1n信息下发至所述新的节点服务器。优选的,所述中心节点服务器包括:指令接收单元,用于当有新的节点服务器被添加到所述服务器集群系统中时,获取所述新的节点服务器发送的Sess1n信息请求指令;信息传输单元,用于当所述指令接收单元接收到所述Sess1n信息请求指令时,将所述MongoDB数据库中存储的所有Sess1n信息传输至所述新的节点服务器。优选的,所述Sess1n生命周期管理模块包括:请求拦截单元,用于对用户通过浏览器向所述服务器集群系统发送的本次会话请求进行拦截;请求判断单元,用于判断所述请求拦截单元拦截到的本次会话请求中是否携带Sess1nID,如果否,则判定本次会话请求为首次会话请求,如果是,则判定本次会话请求并非首次会话请求;Sess1n创建单元,用于当本次会话请求没有携带Sess1nID时,创建与本次会话请求对应的Sess1n信息,并将该Sess1n信息发送至所述Sess1n缓冲池,其中,每个Sess1n信息均包含与其对应的Sess1nID ;Sess1n读取单元,用于当本次会话请求携带有Sess1nID时,利用该Sess1nID,确定当前所述Sess1n缓冲池中是否存储有与该Sess1nID对应的Sess1n信息,如果是,则从所述Sess1n缓冲池中读取出与该Sess1nID对应的Sess1n信息,如果否,贝>J从所述MongoDB数据库读取出与该Sess1nID对应的Sess1n信息。优选的,所述分布式Sess1n管理中间件还包括超时Sess1n销毁模块,其中,所述超时Sess1n销毁模块,用于对所述Sess1n缓冲池的每个Sess1n信息是否超时进行判断,当判断出所述Sess1n缓冲池的任一 Sess1n信息超时后,对该Sess1n信息进行销毁处理;所述Sess1n缓冲池,还用于当所述所述超时Sess1n销毁模块对所述Sess1n缓冲池中的任一 Sess1n信息进行销毁后,发送相应指令到所述MongoDB数据库,以通知所述MongoDB数据库对相应的Sess1n信息进行销毁处理。优选的,所述超时Sess1n销毁模块包括:超时监控单元,用于对所述Sess1n缓冲池中的每个Sess1n信息进行扫描,并计算当前时刻与每个Sess 1n信息对应的上一次会话请求的时刻之间的时间差,判断每个Sess1n信息对应的时间差是否大于或等于预设值;销毁指令发送单元,用于当所述超时监控单元判断出任一 Sess1n信息对应的时间差大于或等于所述预设值时,向所述Sess1n缓冲池发送与该Sess1n信息对应的Sess1n销毁指令,以使所述Sess1n缓冲池根据该Sess1n销毁指令对相应的Sess1n信息进行销毁处理。优选的,所述分布式Sess1n管理中间件还包括:Sess1n属性更新单元,用于当需要对已创建的任一 Sess1n信息的属性进行更新时,同时对所述Sess1n缓冲池和所述MongoDB数据库中相应的Sess1n信息的属性进行更新处理。优选的,所述分布式Sess1n管理中间件还包括:Sess1n会话时间变更单元,用于当需要对已创建的任一 Sess1n信息的会话时间进行变更时,仅对所述Sess1n缓冲池中的相应Sess1n信息的会话时间进行变更。优选的,所述分布式Sess1n管理中间件还包括: Sess1n监控模块,用于对所述Sess1n缓冲池中的Sess1n信息的数量以及占用内存情况进行监控,并对所述MongoDB数据库的运行状态进行监控。优选的,所述分布式Sess1n管理中间件还包括:MongoDB副本集,用于对所述MongoDB数据库中存储的数据进行备份处理。本专利技术中,分布式Sess1n管理中间件包括Sess1n生命周期管理模块和Sess1n存储器;其中,Sess1n生命周期管理模块用于当用户通过浏览器向服务器集群系统发送的本次会话请求为首次会话请求时,仓ll建与本次会话请求对应的Sess1n信息,并将该Sess1n信息发送至Sess1n存储器;Sess1n存储器用于对每次Sess1n生命周期管理模块发送的Sess1n信息进行存储,并且当有新的节点服务器被添加到服务器集群系统中时,通过中心节点服务器,将自身存储的所有Sess1n信息下发至新的节点服务器。可见,本专利技术中,当用户通过浏览器向服务器集群系统发送首次会话请求时,均通过Sess1n生命周期管理模块创建相应的Sess1n信息,并通过Sess1n存储器对Sess1n生命周期管理模块创建的Sess1n信息进行存储,当有新的节点服务器被本文档来自技高网...

【技术保护点】
一种分布式Session管理中间件,其特征在于,应用于服务器集群系统,所述服务器集群系统包括N台节点服务器,N为正整数,其中,所述N台节点服务器中包括一台中心节点服务器;所述分布式Session管理中间件包括Session生命周期管理模块和Session存储器;其中,所述Session生命周期管理模块,用于当用户通过浏览器向所述服务器集群系统发送的本次会话请求为首次会话请求时,创建与本次会话请求对应的Session信息,并将该Session信息发送至所述Session存储器;当用户通过浏览器向所述服务器集群系统发送的本次会话请求并非首次会话请求时,从所述Session存储器中读取出与该用户通过当前浏览器发送的首次会话请求所对应的Session信息;所述Session存储器,用于对每次所述Session生命周期管理模块发送的Session信息进行存储,并且当有新的节点服务器被添加到所述服务器集群系统中时,通过所述中心节点服务器,将自身存储的所有Session信息下发至所述新的节点服务器。

【技术特征摘要】

【专利技术属性】
技术研发人员:郭新波王亚玲杨超李春阳刘彬崔蔚李春歧
申请(专利权)人:国网信息通信产业集团有限公司南京南瑞集团公司国家电网公司
类型:发明
国别省市:北京;11

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

1