一种多服务器下的会话保持共享方法及系统的制作方法

文档序号:9420401
一种多服务器下的会话保持共享方法及系统的制作方法
【技术领域】
[0001] 本发明设及一种会话保持技术,特别设及一种多服务器下的会话保持共享方法及 系统。
【背景技术】
[0002] 部署目前大型网站架构都采用集群部署方式,weblogic、tomcat等服务器虽然支 持会话的复制,但是实现机制一般采用广播风暴的方式,因此比较笨重,严重影响服务器性 能。
[0003] 用户感知体验方面,当在服务端进行上线操作时需要重启服务端,由于会话是存 放在服务端jvm内存中,重启会导致用户会话丢失,此时用户访问功能时可能会提示重新 登录。

【发明内容】

[0004] 本发明所要解决的技术问题是提供一种在集群环境下避免用广播的方式传递会 话、服务端重启时仍然能够保持会话的多服务器下的会话保持共享方法及系统。
[0005] 本发明解决上述技术问题的技术方案如下:一种多服务器下的会话保持共享方 法,包括W下步骤:
[0006] 当系统中的任一服务器接收客户端发送的用于请求创建会话的会话请求时,根据 会话请求获取会话ID;
[0007] 接收到会话请求的所述服务器根据会话ID查询缓存服务器,得到查询结果;
[0008] 所述服务器将查询结果返回给客户端。
[0009] 本发明的有益效果是:本发明避免web服务器之间进行会话复制等不必要操作, 使会话能够统一进行管理,不用担屯、引web服务器因重启导致的会话丢失。
[0010] 在上述技术方案的基础上,本发明还可W做如下改进。
[0011] 进一步,所述缓存服务器包括一级缓存服务器和二级缓存服务器。
[0012] 进一步,所述接收到会话请求的所述服务器根据会话ID查询缓存服务器具体为:
[0013] 如果所述一级缓存服务器中存在会话ID,所述服务器获取与会话ID对应的会话, 并将会话返回给客户端,否则,所述服务器继续查找二级缓存服务器,如果所述二级缓存服 务器中存在会话ID,则将会话返回给客户端,否则,在一级缓存服务器中根据会话ID创建 一个会话,并将所述创建的会话存储到二级缓存服务器中。
[0014] 进一步,当系统中的另一服务器接收同一客户端发送的用于请求创建会话的会话 请求时,根据会话请求获取会话ID,根据会话ID直接从缓存服务器中获取会话,并将获取 的会话返回给客户端。
[0015] 进一步,一种多服务器下的会话保持共享系统,包括获取模块、查询模块和返回模 块;
[0016] 所述获取模块,用于当系统中的任一服务器接收客户端发送的用于请求创建会话 的会话请求时,根据会话请求获取会话ID;
[0017] 所述查询模块,用于接收到会话请求的所述服务器根据会话ID查询缓存服务器, 得到查询结果;
[001引所述返回模块,用于所述服务器将查询结果返回给客户端。
[0019] 进一步,所述缓存服务器包括一级缓存服务器和二级缓存服务器。
[0020] 进一步,所述查询模块进一步用于:
[0021] 如果所述一级缓存服务器中存在会话ID,所述服务器获取与会话ID对应的会话, 并将会话返回给客户端,否则,所述服务器继续查找二级缓存服务器,如果所述二级缓存服 务器中存在会话ID,则将会话返回给客户端,否则,在一级缓存服务器中根据会话ID创建 一个会话,并将所述创建的会话存储到二级缓存服务器中。
[0022] 进一步,还包括再次会话请求模块,用于当系统中的另一服务器接收同一客户端 发送的用于请求创建会话的会话请求时,根据会话请求获取会话ID,根据会话ID直接从缓 存服务器中获取会话,并将获取的会话返回给客户端。
【附图说明】
[0023] 图1为本发明方法步骤流程图;
[0024] 图2为本发明系统结构图。
[0025] 附图中,各标号所代表的部件列表如下:
[00%] 1、获取模块,2、查询模块,3、返回模块,4、次会话请求模块。
【具体实施方式】
[0027] W下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并 非用于限定本发明的范围。 阳0測 实施例1
[0029] 如图1所示,一种多服务器下的会话保持共享方法,包括W下步骤:
[0030] 当系统中的任一服务器接收客户端发送的用于请求创建会话的会话请求时,根据 会话请求获取会话ID;
[0031] 接收到会话请求的所述服务器根据会话ID查询缓存服务器,得到查询结果;
[0032] 所述服务器将查询结果返回给客户端。
[0033] 所述缓存服务器包括一级缓存服务器和二级缓存服务器。
[0034] 所述接收到会话请求的所述服务器根据会话ID查询缓存服务器具体为:
[0035] 如果所述一级缓存服务器中存在会话ID,所述服务器获取与会话ID对应的会话, 并将会话返回给客户端,否则,所述服务器继续查找二级缓存服务器,如果所述二级缓存服 务器中存在会话ID,则将会话返回给客户端,否则,在一级缓存服务器中根据会话ID创建 一个会话,并将所述创建的会话存储到二级缓存服务器中。
[0036] 当系统中的另一服务器接收同一客户端发送的用于请求创建会话的会话请求时, 根据会话请求获取会话ID,根据会话ID直接从缓存服务器中获取会话,并将获取的会话返 回给客户端。
[0037] 如图2所示,一种多服务器下的会话保持共享系统,包括获取模块1、查询模块2和 返回模块3;
[0038] 所述获取模块1,用于当系统中的任一服务器接收客户端发送的用于请求创建会 话的会话请求时,根据会话请求获取会话ID;
[0039] 所述查询模块2,用于接收到会话请求的所述服务器根据会话ID查询缓存服务 器,得到查询结果;
[0040] 所述返回模块3,用于所述服务器将查询结果返回给客户端。
[0041] 所述缓存服务器包括一级缓存服务器和二级缓存服务器。
[0042] 所述查询模块2进一步用于:
[0043] 如果所述一级缓存服务器中存在
再多了解一些
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1