一种统一分布式锁实现方法及系统与流程

专利2025-07-09  33


本发明涉及分布式锁相关的,尤其是涉及一种统一分布式锁实现方法及系统。


背景技术:

1、现有技术中有着各种分布式锁的实现方案,分布式锁使用场景比较复杂,各种分布式锁方法各有优点和缺点。现有分布式锁有时要求性能要求比较高,有时一致性要求比较高,单一分布式锁实现方案不能完全满足各种业务场景的需要。分布式锁的高可用机制比较复杂,分布式系统单独搭建高可用的分布式锁集群门槛较高,增加应用系统的复杂度,资源浪费也比较严重。

2、针对以上技术问题,分布式锁需要建立一种统一的企业级服务,所以提出了一种统一分布式锁实现方法及系统。对外提供一致的访问接口,后端提供多种分布式锁机制的实现,并实现高可用,消费方可根据业务场景的特点指定分布式锁的实现方式;或者仅指定性能及一致性要求,分布式锁服务自动路由到相应的分布式锁集群,提供符合消费方要求的分布式锁实现方案。另外,通过建设为企业级的分布式锁服务,消费方只需通过api使用分布式锁,降低了应用使用分布式锁的门槛,同时也提高了资源使用效率。

3、值得说明的是,本申请所涉及数据采集及迁移行为都已经经过用户的同意,并且为申请人进行正常的经营活动所必需。对于采集后的数据申请人进行了匿名化、保密等脱敏处理,并相应设置了数据的访问权限以确保不会泄露用户的隐私,本申请涉及的数据合规措施仅做列举,其他相关的数据合规措施申请人也有设置。申请人所进行的数据处理活动符合数据安全法与个人信息保护法等法律法规的规定。


技术实现思路

1、为解决现有状况的不足,本发明针对以上背景技术的缺陷,本发明提出了一种统一分布式锁实现方法及系统。包括:

2、本申请第一方面提出了一种统一分布式锁实现方法,其特征在于,包括:

3、s1、获取用户的分布式锁第一需求信息,其中,所述分布式锁第一需求信息包括直接指定分布式锁的实现方式或者指定分布式锁的性能需求信息、一致性需求信息;

4、s2、将分布式锁第一需求信息与已有的分布式锁的实现方式进行匹配,获得第一匹配结果;

5、s3、基于第一匹配结果调用分布式锁的实现方式,其中,分布式锁的实现方式包括基于关系型数据库(如mysql)、redis、ignite、zookeeper、etcd分布式锁实现方式;

6、s4、分布式锁实现模块相应于第一匹配结果的调用实现分布式锁。

7、进一步的,所述分布式锁的实现方式为基于redis分布锁实现,包括设置分布式锁的超时时间,所述超时时间包括上锁超时时间、获取超时时间。

8、进一步的,所述方法包括:判断获取锁的时间是否超过获取超时时间,如果超过则放弃获取锁;判断上锁时间是否超过上锁超时时间,如果超过则释放锁。

9、进一步的,所述方法实现包括通过redisson开发框架实现。

10、进一步的,所述分布式锁的实现方式为基于etcd分布锁实现,包括将唯一的路径名设为key值,设定分布式锁的有效时间。

11、进一步的,所述方法实现包括通过jetcd开发框架实现。

12、本申请第二方面提出了一种统一分布式锁实现装置,其特征在于,包括:

13、统一接口模块,用于获取用户的分布式锁第一需求信息,其中,所述分布式锁第一需求信息包括直接指定分布式锁的实现方式或者指定分布式锁的性能需求信息、一致性需求信息;

14、匹配模块,用于将分布式锁第一需求信息与已有的分布式锁的实现方式进行匹配,获得第一匹配结果;

15、调用模块,用于基于第一匹配结果调用分布式锁的实现方式,其中,分布式锁的实现方式包括基于关系型数据库(如mysql)、redis、ignite、zookeeper、etcd分布式锁实现方式;

16、分布式锁实现模块,包括关系型数据库(如mysql)分布式锁实现模块、redis分布式锁实现模块、ignite分布式锁实现模块、zookeeper分布式锁实现模块、etcd分布式锁实现模块,用于相应于第一匹配结果实现分布式锁方法。

17、本申请第三方面提出了一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;

18、所述存储器存储计算机执行指令;

19、所述处理器执行所述存储器存储的计算机执行指令,以实现上述统一分布式锁实现的方法。

20、本申请第四方面提出了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现上述统一分布式锁实现的方法。

21、本申请第五方面提出了一种计算机程序产品,其特征在于,包括计算机程序,该计算机程序被处理器执行时实现上述统一分布式锁实现的方法。

22、本发明的有益效果为:将分布式锁建设为统一的企业级服务,对外提供一致的访问接口,后端提供多种分布式锁机制的实现,并实现高可用,消费方可根据业务场景的特点直接指定分布式锁的实现方式;或者仅指定性能及一致性要求,分布式锁服务自动路由到相应的分布式锁集群,提供符合消费方要求的分布式锁实现方案,满足不同业务场景下对性能和一致性不同的要求;另外,通过建设为企业级级的分布式锁服务,消费方只需通过api使用分布式锁,降低了应用使用分布式锁的门槛,同时也提高了资源使用效率。



技术特征:

1.一种统一分布式锁实现方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述分布式锁的实现方式为基于redis分布锁实现,包括设置分布式锁的超时时间,所述超时时间包括上锁超时时间、获取超时时间。

3.根据权利要求2所述的方法,其特征在于,所述方法包括:判断获取锁的时间是否超过获取超时时间,如果超过则放弃获取锁;判断上锁时间是否超过上锁超时时间,如果超过则释放锁。

4.根据权利要求3所述的方法,其特征在于,所述方法实现包括通过redisson开发框架实现。

5.根据权利要求1所述的方法,其特征在于,所述分布式锁的实现方式为基于etcd分布锁实现,包括将唯一的路径名设为key值,设定分布式锁的有效时间。

6.根据权利要求5所述的方法,其特征在于,所述方法实现包括通过jetcd开发框架实现。

7.一种统一分布式锁实现装置,其特征在于,包括:

8.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;

9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-6中任一项所述的方法。

10.一种计算机程序产品,其特征在于,包括计算机程序,该计算机程序被处理器执行时实现权利要求1-6中任一项所述的方法。


技术总结
本申请提供了一种统一分布式锁实现方法及系统,该方法包括:获取用户的分布式锁第一需求信息,所述分布式锁第一需求信息包括直接指定分布式锁的实现方式或者指定分布式锁的性能需求信息、一致性需求信息;将分布式锁第一需求信息与已有的分布式锁的实现方式进行匹配,获得第一匹配结果;基于第一匹配结果调用分布式锁的实现方式,分布式锁的实现方式包括基于关系型数据库、Redis、Ignite、Zookeeper、Etcd等分布式锁实现;分布式锁实现模块相应于第一匹配结果的调用实现分布式锁。本发明提供了多种分布式锁实现方法,满足不同业务场景下对性能和一致性不同的要求。用户只需通过API使用分布式锁,降低了应用使用分布式锁的门槛,同时也提高了资源使用效率。

技术研发人员:张战锋
受保护的技术使用者:中信银行股份有限公司
技术研发日:
技术公布日:2024/11/11
转载请注明原文地址: https://tieba.8miu.com/read-15682.html

最新回复(0)