CN105141676A - 一种多服务器下的会话保持共享方法及系统 - Google Patents

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

Info

Publication number
CN105141676A
CN105141676A CN201510490249.XA CN201510490249A CN105141676A CN 105141676 A CN105141676 A CN 105141676A CN 201510490249 A CN201510490249 A CN 201510490249A CN 105141676 A CN105141676 A CN 105141676A
Authority
CN
China
Prior art keywords
session
server
client
request
cache 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
Application number
CN201510490249.XA
Other languages
English (en)
Inventor
杨春明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Si Tech Information Technology Co Ltd
Original Assignee
Beijing Si Tech Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Si Tech Information Technology Co Ltd filed Critical Beijing Si Tech Information Technology Co Ltd
Priority to CN201510490249.XA priority Critical patent/CN105141676A/zh
Publication of CN105141676A publication Critical patent/CN105141676A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明涉及一种多服务器下的会话保持共享方法及系统,包括以下步骤:当系统中的任一服务器接收客户端发送的用于请求创建会话的会话请求时,根据会话请求获取会话ID;接收到会话请求的所述服务器根据会话ID查询缓存服务器,得到查询结果;所述服务器将查询结果返回给客户端。本发明避免web服务器之间进行会话复制等不必要操作,使会话能够统一进行管理,不用担心引web服务器因重启导致的会话丢失。

Description

一种多服务器下的会话保持共享方法及系统
技术领域
本发明涉及一种会话保持技术,特别涉及一种多服务器下的会话保持共享方法及系统。
背景技术
部署目前大型网站架构都采用集群部署方式,weblogic、tomcat等服务器虽然支持会话的复制,但是实现机制一般采用广播风暴的方式,因此比较笨重,严重影响服务器性能。
用户感知体验方面,当在服务端进行上线操作时需要重启服务端,由于会话是存放在服务端jvm内存中,重启会导致用户会话丢失,此时用户访问功能时可能会提示重新登录。
发明内容
本发明所要解决的技术问题是提供一种在集群环境下避免用广播的方式传递会话、服务端重启时仍然能够保持会话的多服务器下的会话保持共享方法及系统。
本发明解决上述技术问题的技术方案如下:一种多服务器下的会话保持共享方法,包括以下步骤:
当系统中的任一服务器接收客户端发送的用于请求创建会话的会话请求时,根据会话请求获取会话ID;
接收到会话请求的所述服务器根据会话ID查询缓存服务器,得到查询结果;
所述服务器将查询结果返回给客户端。
本发明的有益效果是:本发明避免web服务器之间进行会话复制等不必要操作,使会话能够统一进行管理,不用担心引web服务器因重启导致的会话丢失。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,所述缓存服务器包括一级缓存服务器和二级缓存服务器。
进一步,所述接收到会话请求的所述服务器根据会话ID查询缓存服务器具体为:
如果所述一级缓存服务器中存在会话ID,所述服务器获取与会话ID对应的会话,并将会话返回给客户端,否则,所述服务器继续查找二级缓存服务器,如果所述二级缓存服务器中存在会话ID,则将会话返回给客户端,否则,在一级缓存服务器中根据会话ID创建一个会话,并将所述创建的会话存储到二级缓存服务器中。
进一步,当系统中的另一服务器接收同一客户端发送的用于请求创建会话的会话请求时,根据会话请求获取会话ID,根据会话ID直接从缓存服务器中获取会话,并将获取的会话返回给客户端。
进一步,一种多服务器下的会话保持共享系统,包括获取模块、查询模块和返回模块;
所述获取模块,用于当系统中的任一服务器接收客户端发送的用于请求创建会话的会话请求时,根据会话请求获取会话ID;
所述查询模块,用于接收到会话请求的所述服务器根据会话ID查询缓存服务器,得到查询结果;
所述返回模块,用于所述服务器将查询结果返回给客户端。
进一步,所述缓存服务器包括一级缓存服务器和二级缓存服务器。
进一步,所述查询模块进一步用于:
如果所述一级缓存服务器中存在会话ID,所述服务器获取与会话ID对应的会话,并将会话返回给客户端,否则,所述服务器继续查找二级缓存服务器,如果所述二级缓存服务器中存在会话ID,则将会话返回给客户端,否则,在一级缓存服务器中根据会话ID创建一个会话,并将所述创建的会话存储到二级缓存服务器中。
进一步,还包括再次会话请求模块,用于当系统中的另一服务器接收同一客户端发送的用于请求创建会话的会话请求时,根据会话请求获取会话ID,根据会话ID直接从缓存服务器中获取会话,并将获取的会话返回给客户端。
附图说明
图1为本发明方法步骤流程图;
图2为本发明系统结构图。
附图中,各标号所代表的部件列表如下:
1、获取模块,2、查询模块,3、返回模块,4、次会话请求模块。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
实施例1
如图1所示,一种多服务器下的会话保持共享方法,包括以下步骤:
当系统中的任一服务器接收客户端发送的用于请求创建会话的会话请求时,根据会话请求获取会话ID;
接收到会话请求的所述服务器根据会话ID查询缓存服务器,得到查询结果;
所述服务器将查询结果返回给客户端。
所述缓存服务器包括一级缓存服务器和二级缓存服务器。
所述接收到会话请求的所述服务器根据会话ID查询缓存服务器具体为:
如果所述一级缓存服务器中存在会话ID,所述服务器获取与会话ID对应的会话,并将会话返回给客户端,否则,所述服务器继续查找二级缓存服务器,如果所述二级缓存服务器中存在会话ID,则将会话返回给客户端,否则,在一级缓存服务器中根据会话ID创建一个会话,并将所述创建的会话存储到二级缓存服务器中。
当系统中的另一服务器接收同一客户端发送的用于请求创建会话的会话请求时,根据会话请求获取会话ID,根据会话ID直接从缓存服务器中获取会话,并将获取的会话返回给客户端。
如图2所示,一种多服务器下的会话保持共享系统,包括获取模块1、查询模块2和返回模块3;
所述获取模块1,用于当系统中的任一服务器接收客户端发送的用于请求创建会话的会话请求时,根据会话请求获取会话ID;
所述查询模块2,用于接收到会话请求的所述服务器根据会话ID查询缓存服务器,得到查询结果;
所述返回模块3,用于所述服务器将查询结果返回给客户端。
所述缓存服务器包括一级缓存服务器和二级缓存服务器。
所述查询模块2进一步用于:
如果所述一级缓存服务器中存在会话ID,所述服务器获取与会话ID对应的会话,并将会话返回给客户端,否则,所述服务器继续查找二级缓存服务器,如果所述二级缓存服务器中存在会话ID,则将会话返回给客户端,否则,在一级缓存服务器中根据会话ID创建一个会话,并将所述创建的会话存储到二级缓存服务器中。
还包括再次会话请求模块4,用于当系统中的另一服务器接收同一客户端发送的用于请求创建会话的会话请求时,根据会话请求获取会话ID,根据会话ID直接从缓存服务器中获取会话,并将获取的会话返回给客户端。
1、此方案必须依赖缓存中间件Memcache,通过其建立缓存服务器,用于保存会话,维护会话状态。
2、此方案必须依赖JavaWeb服务器。服务器类型不限,支持所有主流服务器。
3、此方案依据J2EEServlet规范,实现HttpSession规范,扩展其实现方法,使其能够与缓存中间件(Memcache)进行数据交互。
创建缓存中间件(Memcache)客户端程序,用于连接、操作缓存中间件(Memcache)。
一级缓存:服务器JVM内存存储。
二级缓存:Memcache缓存中间件。
当用户发送请求到服务端,根据用户的会话ID进入服务器内存(一级缓存)中查找是否存在用户会话,如果存在会话返回会话,如果不存在会话去Memcache(二级缓存)中查找是否存在用户会话,如何存在会话,返回会话,并且让其与服务器内存(一级缓存)中添加一个会话,如果不存在会话,让其在服务器内存(一级缓存)中添加一个会话,并将也让会话保存在Memcache(二级缓存)中一份。
具体实施中,1、客户端发来请求,要求创建会话。假如此时server1为请求的接受者。
2、server1去Memcahce中查找会话。如果找到则返回,没有找到则创建一个新会话。
3、客户端再次发来请求要求获取会话,假如此时server2为请求的接受者。
4、server2会直接从Memcache中获取会话,返回给客户端。
1、Jar包下载:
2、修改web.xml配置文件,增加:
3、修改config4session.properties,增加:
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种多服务器下的会话保持共享方法,其特征在于,包括以下步骤:
当系统中的任一服务器接收客户端发送的用于请求创建会话的会话请求时,根据会话请求获取会话ID;
接收到会话请求的所述服务器根据会话ID查询缓存服务器,得到查询结果;
所述服务器将查询结果返回给客户端。
2.根据权利要求1所述的多服务器下的会话保持共享方法,其特征在于,所述缓存服务器包括一级缓存服务器和二级缓存服务器。
3.根据权利要求2所述的多服务器下的会话保持共享方法,其特征在于,所述接收到会话请求的所述服务器根据会话ID查询缓存服务器具体为:
如果所述一级缓存服务器中存在会话ID,所述服务器获取与会话ID对应的会话,并将会话返回给客户端,否则,所述服务器继续查找二级缓存服务器,如果所述二级缓存服务器中存在会话ID,则将会话返回给客户端,否则,在一级缓存服务器中根据会话ID创建一个会话,并将所述创建的会话存储到二级缓存服务器中。
4.根据权利要求1所述的多服务器下的会话保持共享方法,其特征在于,当系统中的另一服务器接收同一客户端发送的用于请求创建会话的会话请求时,根据会话请求获取会话ID,根据会话ID直接从缓存服务器中获取会话,并将获取的会话返回给客户端。
5.一种多服务器下的会话保持共享系统,其特征在于,包括获取模块(1)、查询模块(2)和返回模块(3);
所述获取模块(1),用于当系统中的任一服务器接收客户端发送的用于请求创建会话的会话请求时,根据会话请求获取会话ID;
所述查询模块(2),用于接收到会话请求的所述服务器根据会话ID查询缓存服务器,得到查询结果;
所述返回模块(3),用于所述服务器将查询结果返回给客户端。
6.根据权利要求5所述的多服务器下的会话保持共享系统,其特征在于,所述缓存服务器包括一级缓存服务器和二级缓存服务器。
7.根据权利要求6所述的多服务器下的会话保持共享系统,其特征在于,所述查询模块(2)进一步用于:
如果所述一级缓存服务器中存在会话ID,所述服务器获取与会话ID对应的会话,并将会话返回给客户端,否则,所述服务器继续查找二级缓存服务器,如果所述二级缓存服务器中存在会话ID,则将会话返回给客户端,否则,在一级缓存服务器中根据会话ID创建一个会话,并将所述创建的会话存储到二级缓存服务器中。
8.根据权利要求5所述的多服务器下的会话保持共享系统,其特征在于,还包括再次会话请求模块(4),用于当系统中的另一服务器接收同一客户端发送的用于请求创建会话的会话请求时,根据会话请求获取会话ID,根据会话ID直接从缓存服务器中获取会话,并将获取的会话返回给客户端。
CN201510490249.XA 2015-08-11 2015-08-11 一种多服务器下的会话保持共享方法及系统 Pending CN105141676A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510490249.XA CN105141676A (zh) 2015-08-11 2015-08-11 一种多服务器下的会话保持共享方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510490249.XA CN105141676A (zh) 2015-08-11 2015-08-11 一种多服务器下的会话保持共享方法及系统

Publications (1)

Publication Number Publication Date
CN105141676A true CN105141676A (zh) 2015-12-09

Family

ID=54726880

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510490249.XA Pending CN105141676A (zh) 2015-08-11 2015-08-11 一种多服务器下的会话保持共享方法及系统

Country Status (1)

Country Link
CN (1) CN105141676A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106603713A (zh) * 2016-12-29 2017-04-26 深圳Tcl新技术有限公司 会话管理方法和系统
CN107273114A (zh) * 2017-05-09 2017-10-20 武汉票据交易中心有限公司 一种mvc管理方法及服务器
CN107517227A (zh) * 2016-06-15 2017-12-26 阿里巴巴集团控股有限公司 用于分布式一致性系统的会话实现方法以及装置
CN107797859A (zh) * 2017-11-16 2018-03-13 山东浪潮云服务信息科技有限公司 一种定时任务的调度方法及一种调度服务器
CN108540556A (zh) * 2018-04-13 2018-09-14 南京新贝金服科技有限公司 一种基于高速缓存的精细化Session集群共享系统及方法
CN109688229A (zh) * 2019-01-24 2019-04-26 江苏中云科技有限公司 一种负载均衡集群下会话保持系统
CN109889336A (zh) * 2019-03-08 2019-06-14 浙江齐治科技股份有限公司 一种中间件获取密码的方法、装置及系统
WO2021008475A1 (zh) * 2019-07-17 2021-01-21 中兴通讯股份有限公司 分布式数据库预处理方法及代理层、系统、存储介质
CN114389817A (zh) * 2021-12-23 2022-04-22 中国电信股份有限公司 多服务器之间共享的用户会话数据的传输方法及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6678791B1 (en) * 2001-08-04 2004-01-13 Sun Microsystems, Inc. System and method for session-aware caching
CN201682522U (zh) * 2010-02-08 2010-12-22 阿里巴巴集团控股有限公司 会话信息存储系统及应用服务器
CN103200212A (zh) * 2012-01-04 2013-07-10 中国移动通信集团公司 一种在云计算环境下实现分布式会话的方法和系统
CN103209223A (zh) * 2013-04-27 2013-07-17 中国农业银行股份有限公司 分布式应用会话信息共享方法、系统和应用服务器
CN103607312A (zh) * 2013-11-29 2014-02-26 广州华多网络科技有限公司 用于服务器系统的数据请求处理方法及系统
CN103701957A (zh) * 2014-01-14 2014-04-02 互联网域名系统北京市工程研究中心有限公司 Dns递归方法及其系统
CN204204033U (zh) * 2014-11-17 2015-03-11 杨永亮 基于无线网络的电子商务系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6678791B1 (en) * 2001-08-04 2004-01-13 Sun Microsystems, Inc. System and method for session-aware caching
CN201682522U (zh) * 2010-02-08 2010-12-22 阿里巴巴集团控股有限公司 会话信息存储系统及应用服务器
CN103200212A (zh) * 2012-01-04 2013-07-10 中国移动通信集团公司 一种在云计算环境下实现分布式会话的方法和系统
CN103209223A (zh) * 2013-04-27 2013-07-17 中国农业银行股份有限公司 分布式应用会话信息共享方法、系统和应用服务器
CN103607312A (zh) * 2013-11-29 2014-02-26 广州华多网络科技有限公司 用于服务器系统的数据请求处理方法及系统
CN103701957A (zh) * 2014-01-14 2014-04-02 互联网域名系统北京市工程研究中心有限公司 Dns递归方法及其系统
CN204204033U (zh) * 2014-11-17 2015-03-11 杨永亮 基于无线网络的电子商务系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
王旭铭: "负载均衡集群中的会话保持研究", 《中国优秀硕士学位论文全文数据库》 *
赵艳芳等: "Web服务器负载均衡会话保持的研究", 《云南民族大学学报(自然科学版)》 *

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107517227A (zh) * 2016-06-15 2017-12-26 阿里巴巴集团控股有限公司 用于分布式一致性系统的会话实现方法以及装置
CN107517227B (zh) * 2016-06-15 2020-10-13 阿里巴巴集团控股有限公司 用于分布式一致性系统的会话实现方法以及装置
CN106603713B (zh) * 2016-12-29 2020-09-22 深圳Tcl新技术有限公司 会话管理方法和系统
CN106603713A (zh) * 2016-12-29 2017-04-26 深圳Tcl新技术有限公司 会话管理方法和系统
CN107273114A (zh) * 2017-05-09 2017-10-20 武汉票据交易中心有限公司 一种mvc管理方法及服务器
CN107797859A (zh) * 2017-11-16 2018-03-13 山东浪潮云服务信息科技有限公司 一种定时任务的调度方法及一种调度服务器
CN107797859B (zh) * 2017-11-16 2021-08-20 山东浪潮云服务信息科技有限公司 一种定时任务的调度方法及一种调度服务器
CN108540556B (zh) * 2018-04-13 2019-09-10 南京新贝金服科技有限公司 一种基于高速缓存的精细化Session集群共享系统及方法
CN108540556A (zh) * 2018-04-13 2018-09-14 南京新贝金服科技有限公司 一种基于高速缓存的精细化Session集群共享系统及方法
CN109688229A (zh) * 2019-01-24 2019-04-26 江苏中云科技有限公司 一种负载均衡集群下会话保持系统
CN109889336A (zh) * 2019-03-08 2019-06-14 浙江齐治科技股份有限公司 一种中间件获取密码的方法、装置及系统
CN109889336B (zh) * 2019-03-08 2022-06-14 浙江齐治科技股份有限公司 一种中间件获取密码的方法、装置及系统
WO2021008475A1 (zh) * 2019-07-17 2021-01-21 中兴通讯股份有限公司 分布式数据库预处理方法及代理层、系统、存储介质
US11847116B2 (en) 2019-07-17 2023-12-19 Xi'an Zhongxing New Software Co., Ltd. Distributed database preprocessing method, agent layer, system and storage medium
CN114389817A (zh) * 2021-12-23 2022-04-22 中国电信股份有限公司 多服务器之间共享的用户会话数据的传输方法及装置

Similar Documents

Publication Publication Date Title
CN105141676A (zh) 一种多服务器下的会话保持共享方法及系统
EP3490224B1 (en) Data synchronization method and system
CN109347968B (zh) 一种下载资源文件的数据块的方法、设备和系统
CN111615066B (zh) 一种基于广播的分布式微服务注册及调用方法
US9590947B2 (en) IP management method, client and server
CN101969468B (zh) 查询服务器集群系统及查询方法
US20160006645A1 (en) Increased data transfer rate method and system for regular internet user
US20040261082A1 (en) System and method for managing cached objects using notification bonds
US10069941B2 (en) Scalable event-based notifications
CN105472002A (zh) 基于集群节点间即时拷贝的会话同步方法
CN103200212A (zh) 一种在云计算环境下实现分布式会话的方法和系统
CN105450703A (zh) 一种数据缓存方法和装置
CN104935668A (zh) 分布式文件系统及其数据同步的方法
CN106131138A (zh) 一种基于非阻塞队列的展示数据实时推送系统和方法
CN112087390A (zh) 一种网络路由方法及装置
CN103731507A (zh) 一种分布式数据存储设备处理数据的方法及装置
US9760370B2 (en) Load balancing using predictable state partitioning
CN107872538B (zh) 解耦tcp长连接的业务处理方法、反向代理和业务服务器
US20210297309A1 (en) Method and apparatus for performing communication in internet of things
WO2022083385A1 (en) Network nodes and methods therein for providing backup network function
KR20190064066A (ko) IoT 로컬 네트워크에서 CoAP 기반의 트래픽 부하 관리 장치 및 방법
CN103701885A (zh) P2p系统中查询索引的方法、p2p服务器以及p2p服务器系统
CN110417850B (zh) 软件配置获取方法、系统、服务器及介质
CN108647269A (zh) 一种管理存储设备数据变化的方法
KR100450605B1 (ko) 웹-어플리케이션 서버 및 그의 동적 컨텐츠 제공 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20151209

RJ01 Rejection of invention patent application after publication