分布式锁的实现方法以及装置制造方法及图纸

技术编号:33044090 阅读:42 留言:0更新日期:2022-04-15 09:26
本申请提供了一种分布式锁的实现方法以及装置,数据库包括多个分库,该方法包括:在目标业务调用目标数据的情况下,在分布式锁记录表中插入锁记录对目标数据进行加锁,分布式锁记录表与分库一一对应且存储在目标数据所在的分库中;在目标业务完成的情况下,查询分布式锁记录表中的锁记录,对目标数据进行解锁。本申请采用分布式锁记录表对分库的目标数据进行加锁和解锁操作,通过数据库分库提升锁记录的安全性,与传统数据库逻辑上是中心锁信息节点的实现方式相比,避免中心锁信息节点导致高并发场景下锁记录读写压力过大的问题,提高了并发能力。了并发能力。了并发能力。

【技术实现步骤摘要】
分布式锁的实现方法以及装置


[0001]本申请涉及计算机软件领域,具体而言,涉及一种分布式锁的实现方法、装置、计算机可读存储介质以及处理器。

技术介绍

[0002]分布式锁实现原理:分布式系统中,不同进程在访问共享资源之前,需要先检查目标资源加锁情况。如果已存在分布式锁,则加锁失败,不能访问目标资源;如果不存在分布式锁,则添加分布式锁,然后访问目标资源。
[0003]常见的分布式锁实现方式有以下三种:
[0004]1)基于Zookeeper。加锁方对某个共享资源加锁时,在分布式锁的实现Zookeeper上的与该资源对应的指定节点的目录下,生成一个唯一的瞬时有序节点。如果有序节点中序号最小则获取锁成功。当释放锁的时候,只需将这个瞬时节点删除即可;
[0005]2)基于缓存(redis)。获取锁的时候,使用setnx加锁,并使用expire命令为锁添加一个超时时间,超过该时间则自动释放锁,锁的value值为一个随机生成的UUID,释放锁时通过delete删除UUID相同的锁。
[0006]3)基于数据库。在数据库中建本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种分布式锁的实现方法,其特征在于,数据库包括多个分库,该方法包括:在目标业务调用目标数据的情况下,在分布式锁记录表中插入锁记录对所述目标数据进行加锁,所述分布式锁记录表存储在所述目标数据所在的分库中,所述分布式锁记录表与所述分库一一对应;在所述目标业务完成的情况下,查询所述分布式锁记录表中的所述锁记录,对所述目标数据进行解锁。2.根据权利要求1所述的方法,其特征在于,所述锁记录包括主键和锁级别,所述主键为所述目标数据的唯一标志,所述分布式锁记录表的所述锁记录与所述目标数据一一对应,在分布式锁记录表中插入锁记录对目标数据进行加锁,包括:在第二锁记录的所述主键与任意一个第一锁记录的所述主键相同的情况下,根据所述锁级别对所述目标数据进行加锁,所述第一锁记录为已插入的所述锁记录,所述第二锁记录为待插入的所述锁记录;在所述第二锁记录的所述主键与所有的所述第一锁记录的所述主键均不同或者所述分布式锁记录表不存在所述第一锁记录的情况下,将待插入的所述锁记录插入所述分布式锁记录表并回复加锁成功。3.根据权利要求2所述的方法,其特征在于,所述锁级别包括分布式排它锁和分布式共享锁,在第二锁记录的主键与任意一个第一锁记录的主键相同的情况下,根据所述锁级别对所述目标数据进行加锁,包括:在所述第二锁记录的所述锁级别和第三锁记录的所述锁级别中的一个为所述分布式排它锁的情况下,回复加锁失败,所述第三锁记录为与所述第二锁记录的主键相同的所述第一锁记录;在所述第二锁记录的所述锁级别和所述第三锁记录的所述锁级别均为所述分布式共享锁的情况下,更新所述第三锁记录并回复加锁成功。4.根据权利要求1所述的方法,其特征在于,所述锁记录包括锁级别和共享计数,所述锁级别包括分布式排它锁和分布式共享锁,所述共享计数为当前调用所述目标数据的所述目标业务的数量,在所述目标业务完成的情况下,查询所述分布式锁记录表中的锁记录,对所述目标数据进行解锁,包括:在目标锁记录不存在的情况下,回复解锁成功,所述目标锁记录为所述目标数据对应的所述锁记录;在所述目标锁记录的所述锁级别为所述分布式排它锁的情况下,删除所述目标锁记录并回复解锁成功;在所述目标锁记录的所述锁级别为所述分布式共享锁的情况下,根据所述共享计数对所述目标锁记录进行处理并回复解锁成功。5.根据权利要求4所述的方法,其特征在于,根据所述共享计数对所述目标锁记录进行处理并回复解锁成功,包括:在所述目标锁记录的所述共享计数大于1的情况下,将所述共享计数减1;在所述目标锁记录的所述共享计数等于1的情况下,删除所述目标锁记录并回复解锁成功。6.根据权利要求1所述的方法,其特征在于,所述锁记录包括锁级别和锁的值,所述锁
级别包括分布式排它锁和分布式共享锁,所述锁的值用于表征所述目...

【专利技术属性】
技术研发人员:朱峰姚亚峰刘亮田健易剑
申请(专利权)人:中国邮政储蓄银行股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1