[发明专利]一种基于网络的分布式锁的实现方法、设备及介质在审
申请号: | 201811617626.1 | 申请日: | 2018-12-28 |
公开(公告)号: | CN109753364A | 公开(公告)日: | 2019-05-14 |
发明(设计)人: | 丁波;喻波;王志海;刘旺;韩振国;安鹏 | 申请(专利权)人: | 北京明朝万达科技股份有限公司 |
主分类号: | G06F9/52 | 分类号: | G06F9/52;G06F9/54;H04L29/06 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100097 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 加锁 分布式锁 客户端 操作请求 满足条件 排序 第三方软件 客户端队列 单点故障 访问资源 共享资源 失败信息 有效访问 重入性 网络 返回 服务 客户 | ||
本发明提供的基于网络的分布式锁的实现方法、设备及介质,首先接收至少一个客户端发来的分布式锁的加锁操作请求,将至少一个客户端加入到客户端队列中进行排序,可以基于时间或者优先级进行排序,然后获取首先进行加锁操作请求的当前客户端,判断所述当前客户端的加锁请求是同步加锁请求还是异步加锁请求;根据不同的加锁请求使用不同的加锁策略,使得满足条件的所述当前客户端对应的加锁请求获得分布式锁,并访问资源信息,不满足条件,则返回加锁失败信息。根据本发明的内容,实现了共享资源的有效访问,解决了分布式锁重入性问题、分布式锁服务的单点故障问题以及分布式锁服务对第三方软件的依赖。
技术领域
本申请涉及计算机技术领域,具体涉及互联网技术领域,尤其涉及基于网络的分布式锁的实现方法、设备及介质。
背景技术
目前几乎所有的大型网站以及应用的部署都是分布式的。分布式场景中数据的一致性是一个比较重要的话题。分布式的CAP理论告诉我们“任何一个分布式系统都无法同时满足一致性(Consistency),可用性(Availability),分布容错性(Partition Tolerance),最多只能同时满足两项。”。所以很多系统设计之初就对这三项做出了取舍。在大多数互联网系统中都需要牺牲强一致性,来换区高可用性,系统往往只需要保证最终一致性即可。
现有技术的方案中,包括了三种分布式锁的实现方式:
(1)基于数据库的分布式锁:利用关系型数据库表中字段的主键字段的唯一性约束,以共享资源的编号标识作为主键。申请共享锁时插入对应资源编号的数据,插入成功则申请锁成功,插入失败则申请锁失败。
(2)基于缓存(Redis)的分布式锁:通过对key-value键值对的插入,修改,删除实现分布式锁。申请锁是插入数据,插入成功则锁申请成功,插入失败则申请锁失败。借助key-value键值对的超时机制防止死锁。使用完毕,则delete释放锁。
(3)基于zookeeper的分布式锁:基于Zookeeper的Node,Watcher,临时顺序节点机制实现分布式锁。申请锁时,给代表相关共享资源的节点注册监听,并在其下面创建临时顺序节点。在接收到节点变更通知时,判断自己是否是编号最小的节点,如果是,则获得锁,不是,则继续等待通知。完成了对相关资源的访问后,删除自己创建的节点。
高并发情形下为了保证一个属性或一个方法同一时刻只能被一个线程访问,在传统单体应用单机部署的情况下,可以使用一些并发控制相关的API。但随着业务发展的需要,原单体应用演变成分布式系统之后,原来的多线程,多进程分布到了不同的系统之上,此时单体系统的并发控制策略将失效。此时就需要一种夸进程,夸系统的机制来控制共享资源的访问,这就是要解决的问题。
发明内容
为解决上述技术问题,本发明提出了一种基于网络的分布式锁的实现方法、设备及介质,来解决以上背景技术部分提到的技术问题。
根据本发明的一个实施例,本发明提供了一种基于网络的分布式锁的实现方法,应用于服务器端的主节点,包括
所述主节点接收至少一个客户端发来的分布式锁的加锁操作请求;
将所述至少一个客户端的所述加锁操作请求对应的所述至少一个客户端,加入到所述当前分布式锁的客户端队列中并进行排序,获取首先进行加锁操作请求的当前客户端;
判断所述当前客户端的加锁请求是同步加锁请求还是异步加锁请求;
根据不同的加锁请求使用不同的加锁策略,使得满足条件的所述当前客户端对应的加锁请求获得分布式锁,并访问资源信息,不满足条件,则返回加锁失败信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京明朝万达科技股份有限公司,未经北京明朝万达科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811617626.1/2.html,转载请声明来源钻瓜专利网。