CN112039970B - 一种分布式业务锁服务方法、服务端、系统及存储介质 - Google Patents

一种分布式业务锁服务方法、服务端、系统及存储介质 Download PDF

Info

Publication number
CN112039970B
CN112039970B CN202010869094.1A CN202010869094A CN112039970B CN 112039970 B CN112039970 B CN 112039970B CN 202010869094 A CN202010869094 A CN 202010869094A CN 112039970 B CN112039970 B CN 112039970B
Authority
CN
China
Prior art keywords
locking
service
lock
server side
unlocking request
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.)
Active
Application number
CN202010869094.1A
Other languages
English (en)
Other versions
CN112039970A (zh
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 CN202010869094.1A priority Critical patent/CN112039970B/zh
Publication of CN112039970A publication Critical patent/CN112039970A/zh
Application granted granted Critical
Publication of CN112039970B publication Critical patent/CN112039970B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • H04L41/0826Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability for reduction of network costs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service

Abstract

本发明涉及一种分布式业务锁服务方法、服务端、系统及存储介质,方法包括:当客户端有加锁/解锁需求时,向分布式系统中的任一服务端发送本次服务的加锁/解锁请求;接收加锁/解锁请求的服务端作为接入服务端,接入服务端从节点管理中心获取路由策略;根据路由策略以及请求中的关键字,使用路由算法计算出散列后提供本次加锁服务的服务端;向路由确认的服务端转发加锁/解锁请求;接收到接入服务端转发的加锁/解锁请求的服务端根据读写锁规则进行相应的锁处理,并通过接入服务端向客户端反馈处理结果。本发明基于分布式提供业务锁资源,且锁按照对象的方式进行管理,并且提供标准化接口,轻量级部署,节约了数据库资源,节约了成本。

Description

一种分布式业务锁服务方法、服务端、系统及存储介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种分布式业务锁服务方法、服务端、系统及计算机可读存储介质。
背景技术
传统电信业务领域,核心应用都是采用数据库的方式进行数据加工及处理,其中客户端应用在与服务进行业务交易的请求响应过程中,涉及到业务规则的判断(即业务锁)一般都是业务模块自行设计,通过数据库表读写的事务特性进行相应功能开发。
数据库自身具备加锁机制,如果A在对表中某一行记录操作时可以对其进行加锁,这时的操作原子级的,这时B如果也对此行记录操作,会进行等待,等A的上一操作提交或回滚后才会释放锁占用,B才能继续进行处理。业务上正是利用了数据库的这一特性,利用对数据库表的加锁操作,来对需要互斥的并发业务操作进行控制,确保业务操作按次序独占完成。
基于磁盘的数据库存在读写访问的性能瓶颈。当应用不需要使用数据库的情况下,还需要部署数据库来实现该功能,使系统过于庞大,同时增加了数据库的资源开销。独立的数据库无法做到按照需要进行资源扩展,访问连接占用数据库的license也增加了系统的成本。
随着互联网技术在移动通信领域的发展,各种各样的技术引入层出不穷,系统也从集中运行于小型机时代逐步演进到运行于大规模计算机集群下,x86计算机分布式系统下的管理要求更加可靠,同时又要面对海量数据发挥出处理的性能。基于数据库的业务锁不能满足高并发要求,以及系统性能低、成本高的问题日益突出。
发明内容
本发明所要解决的技术问题是针对现有技术存在的问题,提供一种分布式业务锁服务方法、服务端、系统及计算机可读存储介质。
为解决上述技术问题,本发明实施例提供一种分布式业务锁服务方法,包括:
当客户端有加锁/解锁需求时,向分布式系统中的任一服务端发送本次服务的加锁/解锁请求;
接收所述加锁/解锁请求的服务端作为接入服务端,所述接入服务端根据所述加锁/解锁请求从节点管理中心Zookeeper获取路由策略;所述Zookeeper中存储预先创建的锁对象,锁对象包括锁名称和路由策略;
并根据所述路由策略以及所述加锁/解锁请求中的关键字,使用路由算法计算出散列后提供本次加锁服务的服务端;向路由确认的服务端转发所述加锁/解锁请求;
接收到所述加锁/解锁请求的服务端根据读写锁规则进行相应的锁处理,并通过所述接入服务端向客户端反馈处理结果。
为解决上述技术问题,本发明实施例还提供一种服务端,包括请求处理单元,所述请求处理单元包括路由处理子单元和加锁处理子单元;
所述路由处理子单元用于,在客户端有加锁/解锁需求时,接收客户端发送的本次加锁服务的加锁/解锁请求;接收所述加锁/解锁请求的服务端作为接入服务端,并根据所述加锁/解锁请求从节点管理中心Zookeeper获取路由策略;所述Zookeeper中存储预先创建的锁对象,锁对象包括锁名称和路由策略;
根据所述路由策略以及所述加锁/解锁请求中的关键字,使用路由算法计算出散列后提供本次加锁服务的服务端;向路由确认的服务端转发所述加锁/解锁请求;
所述加锁处理子单元用于,在接收到所述接入服务端转发的加锁/解锁请求时,根据读写锁规则进行相应的锁处理,并通过所述接入服务端向客户端反馈处理结果。
为解决上述技术问题,本发明实施例还提供一种服务端,包括存储器、处理器及存储在所述存储器上的并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现上述技术方案所述的分布式业务锁服务方法。
为解决上述技术问题,本发明实施例还提供一种计算机可读存储介质,包括指令,当所述指令在计算机上运行时,使所述计算机执行上述技术方案所述的分布式业务锁服务方法。
本发明的有益效果是:本发明实施例基于分布式提供业务锁资源,客户端只需要接入任意一个服务端,即可提供提供全局唯一的加锁服务,确保业务一致性。服务内部通过协议交互做到信息共享和自维护,采用分级管理的方式,对锁对象按照策略进行分布式计算管理,确保服务高性能和可靠性。锁按照对象的方式进行管理,可以进行创建、修改、删除、加锁、解锁等操作,可对锁类型进行精确划分,对读、写事物做到细粒度的控制,并且提供标准化接口,轻量级部署,节约了数据库资源,节约了成本。
本发明附加的方面及其的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明实践了解到。
附图说明
图1为本发明实施例提供的分布式业务锁服务系统框图;
图2为本发明实施例提供的分布式业务锁服务方法信令交互图;
图3为本发明另一实施例提供的分布式业务锁服务方法信令交互图;
图4为本发明另一实施例提供的分布式业务锁服务系统框图;
图5为本发明实施例提供的分布式业务锁实例。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
图1为本发明实施例提供的分布式业务锁服务系统框。如图1所示,该系统包括应用客户端、服务端和节点管理中心,其中,节点管理中心采用Zookeeper服务。
图2为本发明实施例提供的分布式业务锁服务方法信令交互图。如图2所示,该方法包括:
S1,当客户端有加锁/解锁需求时,向分布式系统中的任一服务端发送本次服务的加锁/解锁请求;
S2,接收所述加锁/解锁请求的服务端作为接入服务端,所述接入服务端根据所述加锁/解锁请求从节点管理中心获取路由策略;所述Zookeeper中存储预先创建的锁对象,锁对象包括锁名称和路由策略;
S3,根据所述路由策略以及所述加锁/解锁请求中的关键字,使用路由算法计算出散列后提供本次加锁服务的服务端;
例如,如图5所示,号码锁对象的路由策略为:按3位号码头进行路由。如果加锁/解锁请求中携带用户号码,则加锁/解锁请求中的关键字为号码头,如路由策略记录了号码头为135的请求由A服务器处理,号码头为136的请求由B服务器处理;则相关请求会发到对应的服务器;其中,加锁/解锁请求中也可以携带其他业务字段,比如:客户ID,用户ID,工号,路由可能只使用了3位或7位的号码头。
S4,向路由确认的服务端转发所述加锁/解锁请求;
S5,接收到所述加锁/解锁请求的服务端根据读写锁规则进行相应的锁处理;
S6,通过所述接入服务端向客户端反馈处理结果。
上述实施例提供的分布式服务锁服务方法,基于分布式提供业务锁资源,客户端只需要接入任意一个服务端,即可提供提供全局唯一的加锁服务,确保业务一致性。服务内部通过协议交互做到信息共享和自维护,采用分级管理的方式,对锁对象按照策略进行分布式计算管理,确保服务高性能和可靠性。锁按照对象的方式进行管理,可以进行创建、修改、删除、加锁、解锁等操作,可对锁类型进行精确划分,对读、写事物做到细粒度的控制,并且提供标准化接口(如基于socket协议的c/c++或java开发包),轻量级部署,节约了数据库资源,节约了成本。
可选地,所述接收到所述加锁/解锁请求的服务端根据读写锁规则进行相应的锁处理,并通过所述接入服务端向客户端反馈处理结果,包括:接收到所述加锁/解锁请求的服务端根据所述加锁/解锁请求的类型以及服务端自身当前的持锁情况进行相应的锁处理,并通过所述接入服务端向客户端反馈处理结果。
接收到所述加锁请求的服务端根据所述加锁请求的加锁类型以及服务端自身当前的持锁情况,结合读写锁规则判断当前请求能否持锁,如果可以持锁,则通过所述接入服务端向客户端反馈锁资源获取成功的反馈结果,否则反馈等待提示。
例如,服务端当前的持锁情况为无锁,所述加锁/解锁请求的类型为读锁或写锁,均可以加锁成功,向客户端反馈锁资源获取成功的反馈结果;如果服务端当前的持锁情况为读锁,所述加锁/解锁请求的加锁类型也是读锁的话,则加锁处理成功,向客户端反馈锁资源获取成功的反馈结果;如果所述加锁/解锁请求的类型是写锁,则加锁处理失败,向客户端反馈等待提示;如果服务端自身当前的持锁情况为持有写锁,所述加锁/解锁请求的加锁类型无论是读锁还是写锁,均为加锁处理失败,向客户端反馈等待提示。
并且,在进行加锁响应前,可以根据请求关键字再进行一次校验,避免出现路由信息不匹配的情况。
Zookeeper中还可以存储锁对象的超时策略,即锁对象还包括超时策略,如等待时间超过超时策略规定的时间,则本次锁申请处理结束。
可选地,还包括,根据配置的参数选项,将已经加锁的结果数据备份到备用服务端。具体地,如图3所示,在数据加锁处理完成后,还包括S7,加锁服务端从节点管理中心获取备用服务节点的配置列表;S8,根据预设的数据备份规则将已经加锁的结果数据同步到所述配置列表中对应的备用服务节点上。
可选地,还包括,通过检测各服务端之间的心跳状态信息,或检测节点管理中心上注册节点的情况,确定是否进行异常切换。基于异常状态检测的反馈,执行切换服务端地址列表,重新发起请求交易等动作。
上述实施例中,在分布式系统出现异常(如部分主机宕机、部分网络中断)时,系统能够通过内部切换的方式继续接管并提供稳定的服务,确保分布式系统下的高可用性。
可选地,还包括,根据配置信息对锁资源进行监控,对超时的锁和死锁进行释放处理。
该实施例中,提供锁分析管理工具,对锁对象资源进行创建和回收管理,监控业务锁的状态,避免出现死锁和非活动锁,并可提供锁分析用于优化应用设计,避免出现概率碰撞。
本发明实施例还提供一种服务端,服务端包括:请求处理单元,所述请求处理单元包括路由处理子单元和加锁处理子单元。
所述路由处理子单元用于,在客户端有加锁/解锁需求时,接收客户端发送的本次加锁服务的加锁/解锁请求;接收所述加锁/解锁请求的服务端作为接入服务端,并根据所述加锁/解锁请求从节点管理中心Zookeeper获取路由策略;所述Zookeeper中存储预先创建的锁对象,锁对象包括锁名称和路由策略;根据所述路由策略以及所述加锁/解锁请求中的关键字,使用路由算法计算出散列后提供本次加锁服务的服务端;向路由确认的服务端转发所述加锁/解锁请求;所述加锁处理子单元用于,在接收到所述接入服务端转发的加锁/解锁请求时,根据读写锁规则进行相应的锁处理,并通过所述接入服务端向客户端反馈处理结果。
所述加锁处理子单元具体用于:接收到所述加锁/解锁请求的服务端根据所述加锁/解锁请求的加锁类型以及服务端自身当前的持锁情况,结合读写锁规则判断当前请求能否持锁,如果可以持锁,则通过所述接入服务端向客户端反馈锁资源获取成功的反馈结果,否则反馈等待提示。
可选地,所述服务端还包括数据复制单元、系统检测单元和资源监控单元中的至少一个单元。所述数据复制单元用于,根据配置的参数选项,将已经加锁的结果数据备份到备用服务端;所述系统检测单元用于,通过检测各服务端之间的心跳状态信息,或检测节点管理中心上注册节点的情况,确定是否进行异常切换;所述资源监控单元用于,根据配置信息对锁资源进行监控,对超时的锁和死锁进行释放处理。
图4为本发明另一实施例提供的分布式业务锁服务系统框。如图4所示,该实施例中,系统包括客户端、服务端服务端和节点管理中心Zookeeper。其中,管理端在本发明实施例的方案中可以理解为服务端的可视化操作界面。
客户端包括请求单元,请求单元用于向服务端发起读写锁的操作请求,并获得服务端的反馈结果。
管理端包括管理操作单元和数据分析单元。
管理操作单元用于发起管理操作请求,如:创建锁对象,设置路由算法,配置响应超时参数等,获得服务端反馈的结果并展示。
数据分析单元用于发起数据分析请求,如:针对一段时间的加锁、解锁情况、锁占用时间、是否存在死锁、服务端响应命中率等情况进行统计,用于优化算法。
服务端包括请求处理单元、数据复制单元、系统检测单元和资源监控单元等。
请求处理单元用于处理客户端和管理端发送的各种请求,根据命令的种类进行相关的操作,包括:创建读锁、创建写锁、锁释放、锁分析统计等操作。
数据复制单元根据配置的参数选项,对已经加锁的结果数据进行同步复制,保存到其他服务端上(由其他服务端响应请求保存副本)。从而保障分布式系统的高可靠性。
系统检测单元通过检测服务间心跳状态信息,或检测zookeeper上注册节点的情况,确定是否需要进行异常切换,基于异常状态检测的反馈,进行切换服务端地址列表,重新发起请求交易等动作。
资源监控单元对系统的锁资源进行监控,根据配置的信息,对超时的锁或可能出现的死锁进行释放处理。
zookeeper中记录锁对象的定义,包括锁对象名称、路由策略、超时策略等;服务端在启动时会将这些策略加载到内存中,并创建锁对象。锁对象可以被创建、修改、也可以被删除(锁对象如果不创建,则按照对应的锁名称申请持锁时,将无法匹配);加锁、解锁即为按照对应的锁对象创建锁实例。
本发明实施例还提供一种服务端,包括存储器、处理器及存储在所述存储器上的并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现上述实施例提供的分布式业务锁服务方法。
本发明实施例还提供一种计算机可读存储介质,包括指令,当所述指令在计算机上运行时,使所述计算机执行上述实施例提供的分布式业务锁服务方法。
本发明实施例提供一种分布式业务锁服务机制和系统开发接口,由一组服务和原语开发包组成,服务可采用轻量级的方式与应用一起部署,或利用该服务产品建立业务中心;服务通过zoopkeeper管理,确保服务提供的唯一性和服务可靠性,服务内部通过协议交互做到信息共享和自维护,采用分级管理的方式,对锁关键字按照策略进行分布式计算管理,提高服务性能,并确保互斥响应;锁按照对象的方式进行管理,可以进行创建、修改、删除、加锁、解锁等操作,对锁类型进行精确划分,对读、写事物做到细粒度控制,在确保业务一致性的前提下提高业务响应能力;同时提供锁分析管理工具,对锁对象资源进行创建和回收管理,监控业务锁的状态,避免出现死锁和非活动锁,并可提供锁分析用于优化应用设计,避免出现概率碰撞;开发提供锁访问的API接口(基于socket协议的c/c++或java开发包),用于快速编程实现;
标准化接口和管理方法,轻量级部署,节约数据库资源,提高系统性能。提供增加辅助的分析工具进行系统监控及优化。
本发明实施例提供的上述分布式业务锁服务方案可取得如下技术效果:
1、使用Zookeeper进行分布式下的静态路由和配置数据管理,能够确保分布式系统的健壮性,对于锁资源对象的管理,可配置及监控、或进行强制回收处理;
2、使用服务节点实现路由算法,确保方法统一可靠;
3、使用服务节点进行加锁数据保存,热点数据只需要两次交互即可处理,效率比较高;
4、使用服务节点异步方式进行副本数据的同步,确保可靠性同时,性能能够保证;
5、服务节点最终实现了加锁算法逻辑,能够提供基于读、写方面的锁要求,实现灵活可靠;通过配置支持锁资源异常情况下的释放操作,避免系统逻辑上出现僵死情况;
6、在系统异常情况下的自动切换管理,能够确保分布式系统下的高可用性;
7、提供管理单元对锁资源进行管理、监控和分析,系统运行状态透明,便于管理和系统调优;
8、锁的处理性能达到电信级业务访问要求。
本发明实施例提供的上述分布式业务锁服务方案运用于通信运营商某省的账务处理系统中,系统并发处理进程可以达到240个,每日处理实时账单数量在20亿条左右,每个账单都会触发用户的加锁动作。也就是说,本发明实施例提供的分布式业务锁服务方案能有效满足高并发要求,大大提高了系统性能,节约了成本。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种分布式业务锁服务方法,其特征在于,包括:
当客户端有加锁/解锁需求时,向分布式系统中的任一服务端发送本次服务的加锁/解锁请求;
接收所述加锁/解锁请求的服务端作为接入服务端,所述接入服务端根据所述加锁/解锁请求从节点管理中心Zookeeper获取路由策略;所述Zookeeper中存储预先创建的锁对象,锁对象包括锁名称和路由策略;
并根据所述路由策略以及所述加锁/解锁请求中的关键字,使用路由算法计算出散列后提供本次加锁服务的服务端;向路由确认的服务端转发所述加锁/解锁请求;
接收到所述加锁/解锁请求的服务端根据读写锁规则进行相应的锁处理,并通过所述接入服务端向客户端反馈处理结果。
2.根据权利要求1所述的方法,其特征在于,所述接收到所述加锁/解锁请求的服务端根据读写锁规则进行相应的锁处理,并通过所述接入服务端向客户端反馈处理结果,包括:
接收到所述加锁/解锁请求的服务端根据所述加锁/解锁请求的类型以及服务端自身当前的持锁情况进行相应的锁处理,并通过所述接入服务端向客户端反馈处理结果。
3.根据权利要求1或2所述的方法,其特征在于,还包括,根据配置的参数选项,将已经加锁的结果数据备份到备用服务端。
4.根据权利要求1或2所述的方法,其特征在于,还包括,通过检测各服务端之间的心跳状态信息,或检测节点管理中心上注册节点的情况,确定是否进行异常切换。
5.根据权利要求1或2所述的方法,其特征在于,还包括,根据配置信息对锁资源进行监控,对超时的锁和死锁进行释放处理。
6.一种服务端,其特征在于,包括请求处理单元,所述请求处理单元包括路由处理子单元和加锁处理子单元;
所述路由处理子单元用于,在客户端有加锁/解锁需求时,接收客户端发送的本次加锁服务的加锁/解锁请求;接收所述加锁/解锁请求的服务端作为接入服务端,并根据所述加锁/解锁请求从节点管理中心Zookeeper获取路由策略;所述Zookeeper中存储预先创建的锁对象,锁对象包括锁名称和路由策略;
根据所述路由策略以及所述加锁/解锁请求中的关键字,使用路由算法计算出散列后提供本次加锁服务的服务端;向路由确认的服务端转发所述加锁/解锁请求;
所述加锁处理子单元用于,在接收到所述接入服务端转发的加锁/解锁请求时,根据读写锁规则进行相应的锁处理,并通过所述接入服务端向客户端反馈处理结果。
7.根据权利要求6所述的服务端,其特征在于,还包括数据复制单元、系统检测单元和资源监控单元中的至少一个单元;
所述数据复制单元用于,根据配置的参数选项,将已经加锁的结果数据备份到备用服务端;
所述系统检测单元用于,通过检测各服务端之间的心跳状态信息,或检测节点管理中心上注册节点的情况,确定是否进行异常切换;
所述资源监控单元用于,根据配置信息对锁资源进行监控,对超时的锁和死锁进行释放处理。
8.一种计算机可读存储介质,包括指令,其特征在于,当所述指令在计算机上运行时,使所述计算机执行根据权利要求1至5任一项所述的分布式业务锁服务方法。
9.一种服务端,包括存储器、处理器及存储在所述存储器上的并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至5任一项所述的分布式业务锁服务方法。
10.一种分布式业务锁服务系统,其特征在于,包括客户端、权利要求9所述的服务端组成的分布式系统以及节点管理中心。
CN202010869094.1A 2020-08-25 2020-08-25 一种分布式业务锁服务方法、服务端、系统及存储介质 Active CN112039970B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010869094.1A CN112039970B (zh) 2020-08-25 2020-08-25 一种分布式业务锁服务方法、服务端、系统及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010869094.1A CN112039970B (zh) 2020-08-25 2020-08-25 一种分布式业务锁服务方法、服务端、系统及存储介质

Publications (2)

Publication Number Publication Date
CN112039970A CN112039970A (zh) 2020-12-04
CN112039970B true CN112039970B (zh) 2023-04-18

Family

ID=73581443

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010869094.1A Active CN112039970B (zh) 2020-08-25 2020-08-25 一种分布式业务锁服务方法、服务端、系统及存储介质

Country Status (1)

Country Link
CN (1) CN112039970B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115145715A (zh) * 2021-03-30 2022-10-04 华为云计算技术有限公司 一种分布式事务处理方法、系统及相关设备
CN115113994B (zh) * 2021-08-30 2023-06-20 腾讯科技(深圳)有限公司 请求处理方法、装置、计算设备及存储介质
CN115114305B (zh) * 2022-04-08 2023-04-28 腾讯科技(深圳)有限公司 分布式数据库的锁管理方法、装置、设备及存储介质
CN116303489B (zh) * 2023-01-16 2023-09-01 北京优炫软件股份有限公司 一种分层局部式表锁的实现方法以及实现系统
CN116594598B (zh) * 2023-06-30 2023-09-29 北京新里程叮铃科技有限公司 业务系统的信息交互方法及装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0398495A2 (en) * 1989-05-15 1990-11-22 International Business Machines Corporation File lock management in a distributed data processing system
WO2013000135A1 (zh) * 2011-06-29 2013-01-03 中兴通讯股份有限公司 一种分布式消息的加锁方法和系统
CN106572054A (zh) * 2015-10-09 2017-04-19 阿里巴巴集团控股有限公司 分布式系统中分布式锁服务实现方法以及装置
CN107239235A (zh) * 2017-06-02 2017-10-10 郑州云海信息技术有限公司 一种多控多活raid同步方法及系统
WO2017180143A1 (en) * 2016-04-15 2017-10-19 Hitachi Data Systems Corporation Distributed lock management enabling scalability
CN109558234A (zh) * 2018-11-30 2019-04-02 中国联合网络通信集团有限公司 一种定时任务调度方法和装置
CN110377405A (zh) * 2019-06-17 2019-10-25 平安科技(深圳)有限公司 轻量级请求的并发处理方法及相关设备
CN110737681A (zh) * 2019-10-15 2020-01-31 深圳前海环融联易信息科技服务有限公司 处理请求的加锁处理方法、装置、计算机设备及存储介质
CN111259030A (zh) * 2020-01-16 2020-06-09 平安医疗健康管理股份有限公司 基于分布式锁的线程执行方法及装置、存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8352658B2 (en) * 2010-05-27 2013-01-08 Microsoft Corporation Fabric based lock manager service
CN105955804B (zh) * 2016-04-22 2018-06-05 星环信息科技(上海)有限公司 一种处理分布式事务的方法与设备
KR101884726B1 (ko) * 2016-06-21 2018-08-03 주식회사 티맥스데이터 데이터베이스 시스템에서 블록을 판독하기 위한 방법, 장치 및 컴퓨터 판독가능 매채에 저장된 컴퓨터-프로그램

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0398495A2 (en) * 1989-05-15 1990-11-22 International Business Machines Corporation File lock management in a distributed data processing system
WO2013000135A1 (zh) * 2011-06-29 2013-01-03 中兴通讯股份有限公司 一种分布式消息的加锁方法和系统
CN106572054A (zh) * 2015-10-09 2017-04-19 阿里巴巴集团控股有限公司 分布式系统中分布式锁服务实现方法以及装置
WO2017180143A1 (en) * 2016-04-15 2017-10-19 Hitachi Data Systems Corporation Distributed lock management enabling scalability
CN107239235A (zh) * 2017-06-02 2017-10-10 郑州云海信息技术有限公司 一种多控多活raid同步方法及系统
CN109558234A (zh) * 2018-11-30 2019-04-02 中国联合网络通信集团有限公司 一种定时任务调度方法和装置
CN110377405A (zh) * 2019-06-17 2019-10-25 平安科技(深圳)有限公司 轻量级请求的并发处理方法及相关设备
CN110737681A (zh) * 2019-10-15 2020-01-31 深圳前海环融联易信息科技服务有限公司 处理请求的加锁处理方法、装置、计算机设备及存储介质
CN111259030A (zh) * 2020-01-16 2020-06-09 平安医疗健康管理股份有限公司 基于分布式锁的线程执行方法及装置、存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
分布式锁解决并发的三种实现方式;鹿人藤;《CSDN》;20200229;全文 *
基于Zookeeper的分布式锁服务及性能优化;刘芬等;《计算机研究与发展》;20141215;全文 *
基于全局目录的集中型数据库分布式加锁仿真;薛小燕等;《计算机仿真》;20200415(第04期);全文 *

Also Published As

Publication number Publication date
CN112039970A (zh) 2020-12-04

Similar Documents

Publication Publication Date Title
CN112039970B (zh) 一种分布式业务锁服务方法、服务端、系统及存储介质
US8954391B2 (en) System and method for supporting transient partition consistency in a distributed data grid
US9165025B2 (en) Transaction recovery in a transaction processing computer system employing multiple transaction managers
CN107077382B (zh) 在多租户应用服务器环境中进行事务恢复的系统和方法
US8495131B2 (en) Method, system, and program for managing locks enabling access to a shared resource
CN102831156B (zh) 一种云计算平台上的分布式事务处理方法
KR102072726B1 (ko) 데이터베이스로의 미들-티어 트랜잭션 로그들의 인라인 위임을 지원하는 시스템들 및 방법들
KR101833114B1 (ko) 분산 데이터베이스 시스템들을 위한 고속 장애 복구
US5923833A (en) Restart and recovery of OMG-compliant transaction systems
CN101334797B (zh) 一种分布式文件系统及其数据块一致性管理的方法
US9424140B1 (en) Providing data volume recovery access in a distributed data store to multiple recovery agents
US8856091B2 (en) Method and apparatus for sequencing transactions globally in distributed database cluster
CN104793988A (zh) 跨数据库分布式事务的实现方法和装置
CN105814544B (zh) 用于支持分布式数据网格中的持久化分区恢复的系统和方法
JP6220851B2 (ja) 2フェーズコミットコールの厳密な順序付けに基づいたトランザクションリカバリをサポートするためのシステムおよび方法
US7330860B2 (en) Fault tolerant mechanism to handle initial load of replicated object in live system
US20110225121A1 (en) System for maintaining a distributed database using constraints
EP4213038A1 (en) Data processing method and apparatus based on distributed storage, device, and medium
CN110019469B (zh) 分布式数据库数据处理方法、装置、存储介质及电子装置
WO2016118429A1 (en) System for efficient processing of transaction requests related to an account in a database
EP2723017A1 (en) Method, apparatus and system for implementing distributed auto-incrementing counting
CN107832159A (zh) 管理分布式锁的方法和计算机可读存储介质
US11003550B2 (en) Methods and systems of operating a database management system DBMS in a strong consistency mode
CN110830582B (zh) 一种基于服务器集群选主方法和装置
US20110225120A1 (en) System for maintaining a distributed database using leases

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
GR01 Patent grant
GR01 Patent grant