CN106027677A - 一种分布式Web应用程序会话管理方法 - Google Patents

一种分布式Web应用程序会话管理方法 Download PDF

Info

Publication number
CN106027677A
CN106027677A CN201610548763.9A CN201610548763A CN106027677A CN 106027677 A CN106027677 A CN 106027677A CN 201610548763 A CN201610548763 A CN 201610548763A CN 106027677 A CN106027677 A CN 106027677A
Authority
CN
China
Prior art keywords
session
request
server end
session information
amendment
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
CN201610548763.9A
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.)
Inspur General Software Co Ltd
Original Assignee
Inspur General Software 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 Inspur General Software Co Ltd filed Critical Inspur General Software Co Ltd
Priority to CN201610548763.9A priority Critical patent/CN106027677A/zh
Publication of CN106027677A publication Critical patent/CN106027677A/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/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Abstract

本发明公开了一种分布式Web应用程序会话管理方法包括会话的客户端和服务器端,其具体管理过程为:在客户端标记该客户端发起的请求是否需要对会话信息进行修改,然后在服务器端完成修改过程,该修改通过锁机制来实现,在并发情况下,当不同服务器端上的请求都需要修改会话信息时,则只能等一台修改完成以后另一台才能进行修改;并通过对请求标记为只读来实现,标记为只读的请求只能对会话进行读操作。本发明的一种分布式Web应用程序会话管理方法与现有技术相比,通过标记客户端发起的请求是否需要对会话信息进行修改,来实现分布式环境下会话信息的一致性和高效性,实用性强,大大提高会话效率,适用范围广泛,易于推广。

Description

一种分布式Web应用程序会话管理方法
技术领域
本发明涉及计算机技术领域,具体地说是一种分布式Web应用程序会话管理方法。
背景技术
会话是指Web应用程序的客户端和服务器端保存状态信息的一种机制。Web应用基于http协议这种无状态的协议来实现,但是大多数时候应用服务器端需要知道它接收到的请求是否来自同一个客户端,这种判断不同请求是否来在同一个客户端并且能保持请求状态信息的机制叫做会话管理。
为了增强系统的可扩展性、稳定性和执行效率,很多企业应用采用分布式架构来实现其高并发性和稳定性,在传统模式中大部分应用是通过使用负载均衡的“粘滞会话”方式来保持会话,但是这种方式有很多弊端;为了充分利用分布式部署的优势,目前越来越多企业希望能实现真正的负载均衡,把来自用户的请求均匀的分散到分布式应用服务器端的每一个节点上。
在分布式系统中,因为我们没法预料用户的下一次请求会被发送到那一台服务器端,所以会话的管理在分布式系统中尤其重要,如何在各个应用服务器端之间共享会话信息,如何保证各应用服务器端之间会话的一致性,特别是在高并发的情况下经常会发生数据冲突或者数据死锁,这些都是分布式系统中会话管理的难题。
基于此,现提供一种分布式Web应用程序会话管理方法,以解决上述问题。
发明内容
本发明的技术任务是针对以上不足之处,提供一种分布式Web应用程序会话管理方法。
一种分布式Web应用程序会话管理方法,包括会话的客户端和服务器端,其具体管理过程为:在客户端标记该客户端发起的请求是否需要对会话信息进行修改,然后在服务器端完成修改过程,该修改通过锁机制来实现,在并发情况下,当不同服务器端上的请求都需要修改会话信息时,则只能等一台修改完成以后另一台才能进行修改;并通过对请求标记为只读来实现,标记为只读的请求只能对会话进行读操作。
在客户端标记请求是否需要修改是指在客户端发送请求前先判断本次请求是否会发生对会话信息的修改操作,如果会发生修改,则客户端在请求信息里增加一个标记,表明请求会修改会话信息。
服务器端完成修改过程是指当服务器端收到请求后,根据标记信息判断请求是否会修改会话;如果请求需要修改会话,服务器端尝试向分布式系统申请对会话的锁定;申请锁定成功以后,服务器端判断是否把会话信息同步到本机;如果需要同步则先同步会话再进行后续的程序处理;处理结束后,服务器端将会话信息更新到会话持久化系统中。
当服务器端发现收到的请求的会话已被其它服务器端锁定时,则服务器端按设定的规则等待会话解锁并重试请求锁定会话信息;当请求不会发生对会话信息的修改时,请求里增加一个“只读”标记。
服务器端收到请求以后,如果发现标记是只读,则无视会话的锁定状态,直接将会话信息同步到本机;服务器端执行完后续程序处理操作之后不会判断本次请求内是否发生了对会话信息的修改,直接将本机会话信息销毁掉,不需把会话信息同步回会话持久化系统中。
本发明的一种分布式Web应用程序会话管理方法和现有技术相比,具有以下有益效果:
本发明的一种分布式Web应用程序会话管理方法,通过标记客户端发起的请求是否需要对会话信息进行修改,来实现分布式环境下会话信息的一致性和高效性,实用性强,大大提高会话效率,适用范围广泛,尤其适用于高并发情况下的分布式系统对话管理中,易于推广。
附图说明
附图1为本发明的实现流程图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步说明。
本发明提供一种分布式Web应用程序会话管理方法,包括会话的客户端和服务器端,其具体管理过程为:通过标记客户端发起的请求是否需要对会话信息进行修改,来实现分布式环境下会话信息的一致性和高效性。一致性通过锁机制来实现,并发情况下,如果不同服务器端上的请求都需要修改会话信息,则只能等一台修改完成以后另一台才能进行修改;高效性通过对请求标记为只读来实现,标记为只读的请求只能对会话进行读操作,就算修改了会话信息,修改也仅在本次请求内有效,不会对其他请求造成影响。
具体的,本发明的实现步骤为:
客户端发送请求前先判断本次请求是否会发生对会话信息的修改操作;
如果会发生修改,则客户端需在请求信息里增加一个标记,表明请求会修改会话信息;
服务器端收到请求后,会根据标记信息判断请求是否会修改会话;
如果请求需要修改会话,服务器端会尝试向分布式系统申请对会话的锁定;
申请锁定成功以后,服务器端会判断是否把把会话信息同步到本机;
如果需要同步则先同步会话再进行后续的程序处理;
处理结束后,服务器端将会话信息更新到会话持久化系统中。
为了实现一致性,本发明还包含以下步骤:
如果服务器端发现收到的请求的会话已被其它服务器端锁定;
服务器端将会按设定的规则等待会话解锁并重试请求锁定会话信息;
当请求不会发生对会话信息的修改时,请求里会增加一个“只读”标记。
为了实现高效性,本发明还包含以下步骤:
服务器端收到请求以后,如果发现标记是只读,则会无视会话的锁定状态,直接将会话信息同步到本机;
服务器端执行完后续程序处理操作之后不会判断本次请求内是否发生了对会话信息的修改,直接将本机会话信息销毁掉,不需把会话信息同步回会话持久化系统中。
更为详细的,如图1所示,包括如下步骤:
步骤S01,通过判断请求里边的标记信息判断请求是否会发生对会话信息的修改操作;
如果需要修改,则执行步骤S102;如果不需要则执行步骤S201;
在步骤S102中, 应用服务器端会请求对会话信息的锁定;
步骤S103判断锁定请求是否成功;
如果锁定失败,则按照设定的规则重复执行步骤S102, 规则可以是固定时间间隔,或其他自定义策略;
每个锁有最大可所定时限,如果超过则自定解锁;
步骤S104,锁定成功以后会把会话信息从会话持久化系统中同步到服务器端本机;
步骤S105,执行后续程序处理包括会话的修改;
步骤S106,请求结束后把应用服务器端上的会话信息同步回会话持久化系统并解除对会话的锁定;
步骤S201,判断如果请求不会修改会话信息,把会话信息从会话持久化系统中同步到服务器端本机;
步骤S202,执行后续程序处理;
步骤S203,不管会话是否被修改过,销毁本机会话信息;
请求结束。
通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。
除说明书所述的技术特征外,均为本专业技术人员的已知技术。

Claims (5)

1.一种分布式Web应用程序会话管理方法,其特征在于,包括会话的客户端和服务器端,其具体管理过程为:在客户端标记该客户端发起的请求是否需要对会话信息进行修改,然后在服务器端完成修改过程,该修改通过锁机制来实现,在并发情况下,当不同服务器端上的请求都需要修改会话信息时,则只能等一台修改完成以后另一台才能进行修改;并通过对请求标记为只读来实现,标记为只读的请求只能对会话进行读操作。
2.根据权利要求1所述的一种分布式Web应用程序会话管理方法,其特征在于,在客户端标记请求是否需要修改是指在客户端发送请求前先判断本次请求是否会发生对会话信息的修改操作,如果会发生修改,则客户端在请求信息里增加一个标记,表明请求会修改会话信息。
3.根据权利要求1所述的一种分布式Web应用程序会话管理方法,其特征在于,服务器端完成修改过程是指当服务器端收到请求后,根据标记信息判断请求是否会修改会话;如果请求需要修改会话,服务器端尝试向分布式系统申请对会话的锁定;申请锁定成功以后,服务器端判断是否把会话信息同步到本机;如果需要同步则先同步会话再进行后续的程序处理;处理结束后,服务器端将会话信息更新到会话持久化系统中。
4.根据权利要求1所述的一种分布式Web应用程序会话管理方法,其特征在于,当服务器端发现收到的请求的会话已被其它服务器端锁定时,则服务器端按设定的规则等待会话解锁并重试请求锁定会话信息;当请求不会发生对会话信息的修改时,请求里增加一个“只读”标记。
5.根据权利要求4所述的一种分布式Web应用程序会话管理方法,其特征在于,服务器端收到请求以后,如果发现标记是只读,则无视会话的锁定状态,直接将会话信息同步到本机;服务器端执行完后续程序处理操作之后不会判断本次请求内是否发生了对会话信息的修改,直接将本机会话信息销毁掉,不需把会话信息同步回会话持久化系统中。
CN201610548763.9A 2016-07-13 2016-07-13 一种分布式Web应用程序会话管理方法 Pending CN106027677A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610548763.9A CN106027677A (zh) 2016-07-13 2016-07-13 一种分布式Web应用程序会话管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610548763.9A CN106027677A (zh) 2016-07-13 2016-07-13 一种分布式Web应用程序会话管理方法

Publications (1)

Publication Number Publication Date
CN106027677A true CN106027677A (zh) 2016-10-12

Family

ID=57109989

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610548763.9A Pending CN106027677A (zh) 2016-07-13 2016-07-13 一种分布式Web应用程序会话管理方法

Country Status (1)

Country Link
CN (1) CN106027677A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110493340A (zh) * 2019-08-21 2019-11-22 北京小米移动软件有限公司 分布式系统中的会话方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101599159A (zh) * 2009-07-14 2009-12-09 武汉大学 一种网络购物车的异步交互方法
CN102473089A (zh) * 2009-08-27 2012-05-23 惠普发展公司有限责任合伙企业 用于双操作系统的文件系统
CN103491055A (zh) * 2012-06-12 2014-01-01 中兴通讯股份有限公司 一种在多个客户端间同步信息的方法、客户端和服务器
CN104753987A (zh) * 2013-12-26 2015-07-01 北京东方通科技股份有限公司 一种分布式会话管理方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101599159A (zh) * 2009-07-14 2009-12-09 武汉大学 一种网络购物车的异步交互方法
CN102473089A (zh) * 2009-08-27 2012-05-23 惠普发展公司有限责任合伙企业 用于双操作系统的文件系统
CN103491055A (zh) * 2012-06-12 2014-01-01 中兴通讯股份有限公司 一种在多个客户端间同步信息的方法、客户端和服务器
CN104753987A (zh) * 2013-12-26 2015-07-01 北京东方通科技股份有限公司 一种分布式会话管理方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110493340A (zh) * 2019-08-21 2019-11-22 北京小米移动软件有限公司 分布式系统中的会话方法及装置
CN110493340B (zh) * 2019-08-21 2023-08-04 北京小米移动软件有限公司 分布式系统中的会话方法及装置

Similar Documents

Publication Publication Date Title
JP4241940B2 (ja) 分散形データベース内でトランザクションをするための方法
CN107145396B (zh) 分布式锁实现方法和设备
EP2585988B1 (en) Provisioning multiple network resources
WO2019042101A1 (zh) 一种跨链交易方法及装置
EP3208998B1 (en) Method, apparatus and system for executing distributed transaction resources
US11336451B2 (en) Cross-blockchain resource transmission
CN107040594A (zh) 基于pbft的许可区块链节点准入的方法及装置
EP0533407A2 (en) Heterogeneous transaction coordination
CN110909076B (zh) 一种存储集群数据同步方法、装置、设备及存储介质
CN111612614A (zh) 一种基于公链的子链业务系统
Würtz et al. An artificial hormone system for self-organizing real-time task allocation in organic middleware
CA2532777A1 (en) System, method, and computer program product for centralized management of an infiniband distributed system area network
CN112491959B (zh) 基于中继链的跨链资源交换方法、装置和系统
CN105354108A (zh) 一种数据备份方法及节点
CN104750562B (zh) 分布式系统中的锁处理系统及方法
US20140108484A1 (en) Method and system for optimizing distributed transactions
CN106027677A (zh) 一种分布式Web应用程序会话管理方法
CN107465725B (zh) 基于客户信息控制系统的异构长事务处理系统及方法
CN110958139B (zh) 网络控制方法、编排器、控制器及计算机可读存储介质
US20120266211A1 (en) Transparent database connection reconnect
CN108924184B (zh) 数据处理方法和服务器
CN101626365B (zh) 一种目录服务器及ldap扩展操作的实现系统和方法
CN113703946A (zh) 应用恢复方法及其装置、电子设备、计算机可读存储介质
CN114095946A (zh) 一种5gc服务网元管理系统及其管理方法
CN112766486A (zh) 神经网络结构的搜索方法、终端、服务器及可读存储介质

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20161012