CN109617955A - 一种基于分布式缓存的无状态会话分层管理实现方法 - Google Patents
一种基于分布式缓存的无状态会话分层管理实现方法 Download PDFInfo
- Publication number
- CN109617955A CN109617955A CN201811473656.XA CN201811473656A CN109617955A CN 109617955 A CN109617955 A CN 109617955A CN 201811473656 A CN201811473656 A CN 201811473656A CN 109617955 A CN109617955 A CN 109617955A
- Authority
- CN
- China
- Prior art keywords
- session
- grade
- destroy
- user
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 16
- 238000004140 cleaning Methods 0.000 claims abstract description 9
- 230000006378 damage Effects 0.000 claims description 6
- 230000000875 corresponding effect Effects 0.000 claims description 5
- 235000013399 edible fruits Nutrition 0.000 claims description 3
- 230000002596 correlated effect Effects 0.000 claims description 2
- 230000001419 dependent effect Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 4
- 238000004088 simulation Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/2885—Hierarchically arranged intermediate devices, e.g. for hierarchical caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5682—Policies or rules for updating, deleting or replacing the stored data
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供一种基于分布式缓存的无状态会话分层管理实现方法,涉及软件运行时用户状态的管理和维护技术领域,根据软件操作的不通场景,将会话分为用户级会话、模块级会话、功能级会话三个层级;会话链中的节点需要销毁清理时,该节点派生出来的节点都需要清理掉,解决了分布式环境中会话的分层以及管理的问题。
Description
技术领域
本发明涉及软件运行时用户状态的管理和维护技术,尤其涉及一种基于分布式缓存的无状态会话分层管理实现方法。
背景技术
在分布式和微服务架构越来越流行的今天,越来越多的企业开始将系统向分布式系统和微服务架构上迁移。在微服务架构下如何保证各个服务之间会话如何保持以及传递;如何做到服务端的无状态,保证服务端的高可用性;如何对会话状态进行统一的管理,都是开发人员在软件的开发和设计过程中不得不面对和解决的一些问题。
发明内容
为了解决以上技术问题,本发明提出了一种基于分布式缓存的无状态会话分层管理实现方法,通过这种实现方法,为分布式和微服务架构的软件系统提供一种会话管理和维护的思路与方案。
本发明的技术方案是:
一种基于分布式缓存的无状态会话分层管理实现方法,主要通过以下步骤完成:
1)会话分层
根据软件操作的不同场景,将会话分为用户级会话、模块级会话、功能级会话三个层级。创建过程中按照该用户->模块->功能的顺序创建,并在创建过程中生成不同层级会话之间的链式关系。创建后的会话统一以键值对的形式存储在分布式缓存中。
2)生命周期管理
会话链中的节点需要销毁清理时,该节点派生出来的节点都需要清理掉。即当父级会话销毁时需要发出销毁事件告知并询问子级会话。当所有子级会话允许销毁时父级会话才可以被销毁,当子级会话不允许销毁时父级会话不能进行清理。
进一步的包括,
服务端不存储会话相关状态,由分布式缓存对用户状态进行统一管理。便于服务端进行横向扩展
服务端无状态,服务端执行所依赖的信息需要从客户端通过网络请求传递到服务端,然后服务端通过客户端传递到服务端的会话id从分布式缓存中还原回,该id对应的用户会话状态。
进一步的包括,
基于会话分层的设计,运行时可以根据不通的应用场景分别创建用户级会话、模块级会话、功能级会话三个不通层级的会话信息,分别标识对应作用域内的上下文信息;
根据不通的使用场景,将会话分成用户级会话、模块级会话、功能级会话三个层级。其中,功能级会话由用户级会话或者模块级会话派生。模块级会话由用户级会话派生。用户级会话由用户登录时生成创建。
进一步的包括,
会话统一管理,能够对不同层级会话信息的生命周期进行统一的管理和维护,并将各个层级的会话信息串成链式结构方便管理和维护;
各个层级的会话由公共的会话组件统一管理。父级会话的销毁时需要先询问销毁子级会话,如果子级会话不允许销毁则父级会话不能销毁,只有所有的子级会话销毁之后父级会话才能够销毁。
本发明的有益效果是
解决了分布式环境中会话的分层以及管理的问题;该无状态会话分层管理方案能够保证服务端无状态的场景下,完成对不同层次级别的会话信息进行统一的管理和维护的任务。
附图说明
图1本发明的运行时会话传递示意图;
图2本发明的会话分层示意图;
图3本发明的生命周期管理示意图;
图4本发明的运行流程图。
具体实施方式
下面结合附图对本发明的内容进行更加详细的阐述:
本发明为了最终实现基于分布式缓存的无状态会话分层管理实现方法,在设计上主要通过以下步骤完成:
1)会话分层
根据软件操作的不同场景,将会话分为用户级会话、模块级会话、功能级会话三个层级。创建过程中按照该用户->模块->功能的顺序创建,并在创建过程中生成不同层级会话之间的链式关系。创建后的会话统一以键值对的形式存储在分布式缓存中。
2)生命周期管理
会话链中的节点需要销毁清理时,该节点派生出来的节点都需要清理掉。即当父级会话销毁时需要发出销毁事件告知并询问子级会话。当所有子级会话允许销毁时父级会话才可以被销毁,当子级会话不允许销毁时父级会话不能进行清理。
示例:
场景:
某基于微服务架构开发的ERP管理系统需要软件运行过程中能够随时获取到用户的相关会话状态信息。
步骤一、搭建好服务运行环境
参照图4搭建好缓存、负载等相关软件并配置好,相关设置模拟实际生产开发运行环境。
步骤二登录
通过用户登录系统并创建出用户级的会话信息,同时返回代表此用户信息的令牌信息(Token)。
步骤三、创建分层会话
打开具体的业务功能并创建新的功能级会话,并建立好功能级会话与用户级会话的链式关系。将功能级会话返回给客户端。在功能内的请求携带该功能级会话信息到服务端并从分布式缓存中还原出对应的会话实体信息。
步骤四、服务无状态
在程序正在运行过程中,关闭ServerB模拟ServerB宕机的场景。此时客户端可以正常操作。验证服务端的高可用性。
步骤五、生命周期管理
直接退出系统清理用户级会话,此时会在事件框架中发出响应的清理事件,告知当前用户会话要清理了。询问子级会话是否能够清理退出。如果子级会话中有不能退出的。则不能退出系统,只有当所有的子级会话全部允许清理时才能够退出清理用户级会话。
以上所述的实施例,只是本发明具体实施方式的一种,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。
Claims (8)
1.一种基于分布式缓存的无状态会话分层管理实现方法,其特征在于,
主要通过以下步骤完成:
1)会话分层
根据软件操作的不同场景,将会话分为用户级会话、模块级会话、功能级会话三个层级;
2)生命周期管理
会话链中的节点需要销毁清理时,该节点派生出来的节点都清理掉;即当父级会话销毁时需要发出销毁事件告知并询问子级会话;当所有子级会话允许销毁时父级会话才可以被销毁,当子级会话不允许销毁时父级会话不能进行清理。
2.根据权利要求1所述的方法,其特征在于,
会话分层创建过程中按照该用户->模块->功能的顺序创建,并在创建过程中生成不同层级会话之间的链式关系;创建后的会话统一以键值对的形式存储在分布式缓存中。
3.根据权利要求2所述的方法,其特征在于,
服务端不存储会话相关状态,由分布式缓存对用户状态进行统一管理。
4.根据权利要求2所述的方法,其特征在于,
基于会话分层的设计,运行时根据不同的应用场景分别创建用户级会话、模块级会话、功能级会话三个不同层级的会话信息,分别标识对应作用域内的上下文信息。
5.根据权利要求4所述的方法,其特征在于,
会话统一管理,对不同层级会话信息的生命周期进行统一的管理和维护,并将各个层级的会话信息串成链式结构。
6.根据权利要求3所述的方法,其特征在于,
服务端无状态,服务端执行所依赖的信息需要从客户端通过网络请求传递到服务端,然后服务端通过客户端传递到服务端的会话id从分布式缓存中还原回,该id对应的用户会话状态。
7.根据权利要求4所述的内容,其特征在于:
根据不同的使用场景,将会话分成用户级会话、模块级会话、功能级会话三个层级;其中,功能级会话由用户级会话或者模块级会话派生;模块级会话由用户级会话派生;用户级会话由用户登录时生成创建。
8.根据权利要求5所述的内容,其特征在于:
各个层级的会话由公共的会话组件统一管理;父级会话的销毁时需要先询问销毁子级会话,如果子级会话不允许销毁则父级会话不能销毁,只有所有的子级会话销毁之后父级会话才能够销毁。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811473656.XA CN109617955A (zh) | 2018-12-04 | 2018-12-04 | 一种基于分布式缓存的无状态会话分层管理实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811473656.XA CN109617955A (zh) | 2018-12-04 | 2018-12-04 | 一种基于分布式缓存的无状态会话分层管理实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109617955A true CN109617955A (zh) | 2019-04-12 |
Family
ID=66005315
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811473656.XA Pending CN109617955A (zh) | 2018-12-04 | 2018-12-04 | 一种基于分布式缓存的无状态会话分层管理实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109617955A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110580258A (zh) * | 2019-09-20 | 2019-12-17 | 中国银行股份有限公司 | 大数据自由查询方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1642106A (zh) * | 2004-01-09 | 2005-07-20 | 华为技术有限公司 | 一种会话连接资源管理的优化方法 |
CN102215266A (zh) * | 2011-06-20 | 2011-10-12 | 中兴通讯股份有限公司 | 持久化服务的实现方法及持久化服务系统 |
CN105208058A (zh) * | 2014-06-19 | 2015-12-30 | 中国银联股份有限公司 | 基于web会话共享的信息交互系统 |
CN107395555A (zh) * | 2016-05-17 | 2017-11-24 | 中兴通讯股份有限公司 | 一种会话管理的方法、设备和系统 |
CN107911443A (zh) * | 2017-11-14 | 2018-04-13 | 北京小度信息科技有限公司 | 一种会话信息处理方法、装置、服务器和可读存储介质 |
-
2018
- 2018-12-04 CN CN201811473656.XA patent/CN109617955A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1642106A (zh) * | 2004-01-09 | 2005-07-20 | 华为技术有限公司 | 一种会话连接资源管理的优化方法 |
CN102215266A (zh) * | 2011-06-20 | 2011-10-12 | 中兴通讯股份有限公司 | 持久化服务的实现方法及持久化服务系统 |
CN105208058A (zh) * | 2014-06-19 | 2015-12-30 | 中国银联股份有限公司 | 基于web会话共享的信息交互系统 |
CN107395555A (zh) * | 2016-05-17 | 2017-11-24 | 中兴通讯股份有限公司 | 一种会话管理的方法、设备和系统 |
CN107911443A (zh) * | 2017-11-14 | 2018-04-13 | 北京小度信息科技有限公司 | 一种会话信息处理方法、装置、服务器和可读存储介质 |
Non-Patent Citations (1)
Title |
---|
吴和生: "云计算环境中多核多进程负载均衡技术的研究与应用", 《中国博士学位论文全文数据库》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110580258A (zh) * | 2019-09-20 | 2019-12-17 | 中国银行股份有限公司 | 大数据自由查询方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101891506B1 (ko) | 하나 이상의 클라우드 시스템 상에 애플리케이션들을 이식 가능하게 배치하기 위한 방법들 및 시스템들 | |
US9929916B1 (en) | Achieving stateful application software service behavior in distributed stateless systems | |
CN111190730B (zh) | 异构云管理平台 | |
US8719780B2 (en) | Application server with a protocol-neutral programming model for developing telecommunications-based applications | |
Schafer et al. | Tasklets:" better than best-effort" computing | |
TW200525938A (en) | Remote system administration using command line environment | |
US20080147551A1 (en) | System and Method for a SIP Server with Online Charging | |
Suciu et al. | Cloud consulting: ERP and communication application integration in open source cloud systems | |
Xiong et al. | Challenges for building a cloud native scalable and trustable multi-tenant AIoT platform | |
CN109582459A (zh) | 应用的托管进程进行迁移的方法及装置 | |
CN111427668A (zh) | 一种云计算环境下的虚拟资源自动化管理方法 | |
Mohamed et al. | MidCloud: an agent‐based middleware for effective utilization of replicated Cloud services | |
Stavrinides et al. | The impact of checkpointing interval selection on the scheduling performance of real‐time fine‐grained parallel applications in SaaS clouds under various failure probabilities | |
Seelam et al. | Polyglot application auto scaling service for platform as a service cloud | |
CN101212342B (zh) | 多版本网元的网络管理方法 | |
CN109617955A (zh) | 一种基于分布式缓存的无状态会话分层管理实现方法 | |
Theeten et al. | Towards the optimization of a parallel streaming engine for telco applications | |
Guo et al. | Mobile agent‐based service migration in mobile edge computing | |
Chazalet | Service level agreements compliance checking in the cloud computing: architectural pattern, prototype, and validation | |
Rouf et al. | A framework for developing devops operation automation in clouds using components-off-the-shelf | |
CN108243205A (zh) | 一种用于控制云平台资源分配的方法、设备与系统 | |
WO2014036715A1 (zh) | 基于交付点的实时资源供应流程控制系统和方法 | |
CN116501482A (zh) | 云计算管理系统、装置、可读存储介质及计算设备 | |
Kumar et al. | Middleware for enterprise scale data stream management using utility-driven self-adaptive information flows | |
Matos et al. | Distributed applications and interoperable systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190412 |