[发明专利]一种分布式锁服务实现方法、装置及计算机设备在审
申请号: | 202110769143.9 | 申请日: | 2021-07-07 |
公开(公告)号: | CN113342507A | 公开(公告)日: | 2021-09-03 |
发明(设计)人: | 陈敏;曾琰;林鹏;黄九鸣;张圣栋 | 申请(专利权)人: | 湖南四方天箭信息科技有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50 |
代理公司: | 湖南兆弘专利事务所(普通合伙) 43008 | 代理人: | 周长清 |
地址: | 410000 湖南省长沙市高新开*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分布式 服务 实现 方法 装置 计算机 设备 | ||
本发明公开一种分布式锁服务实现方法、装置及计算机设备,该方法包括:接收客户端发送的上锁请求,上锁请求中携带有租约信息以及租约信息对应的至少一个上锁资源;获取预先配置的各个锁之间是否存在冲突的冲突类型配置信息;根据冲突类型配置信息,确定是否为上锁请求中上锁资源发起上锁请求,其中如果上锁不存在冲突则发起上锁请求、如果上锁存在冲突则不发起上锁请求。本发明能够避免锁竞争,同时提高数据操作性能以及系统吞吐量,且具有实现方法简单、锁粒度小、效率高以及灵活性强等优点。
技术领域
本发明涉及互联网技术领域,尤其涉及一种分布式锁服务实现方法、装置及计算机设备。
背景技术
在分布式系统中,如果不同的系统或者同一个系统的不同主机之间共享了一个或者一组资源,那么在访问这些资源的时候,往往需要配置为互斥,防止彼此干扰以保证一致性,为实现该功能及需要使用分布式锁。分布式锁一般具有以下特点:
(1)互斥性。即同一时刻只有一个线程能获取到锁。
(2)可重入性。即同一个节点上的同一个线程如果获取到了锁,那么也可以再次获取到这个锁。
(3)锁超时。即锁超时之后会自动释放锁,防止死锁。
(4)支持阻塞和非阻塞。即可以指定超时时间返回,在超时时间内,获取到锁立即返回获取成功,超时后则返回获取锁失败。
目前,常用的分布式锁服务实现主要为redis、zookeeper、etcd等,但是这些分布式锁中锁的粒度是固定的,由于分布式锁服务具有互斥性,因而当一个进程获取到一个资源的锁之后,其他进程则无法获取到被上锁资源的锁。而在实际应用场景中,上锁并不仅仅只有互斥的情况,锁之间也可能并不是互斥的,采用传统的分布式锁时极易使得上锁时发生冲突、锁竞争等情况,降低分布式锁系统的吞吐量。如某些读取场景中,虽然读取操作和写入操作是互斥的,但是读取和读取操作之间并不是互斥的,此时如果对读取操作使用传统的分布式锁,则会使得读取和读取操作之间也是互斥,这会大大降低读取性能。
针对上述问题,有从业者提出使用设置锁权限的方式来实现分布式锁管理,即每次在接收到加锁请求时,依据锁权限配置判断请求锁的权限是否与最高等级冲突,如果不冲突则授予锁权限。这类方式虽然可以依据设置的锁权限来管理分布式锁,但是每次仅能够授权最高等级的锁,对于不是最高等级的锁,无论是否互斥仍然无法获得授权,即仍然会存在当锁之间并不存在冲突时却会形成互斥的问题,且上述基于权限的锁判断粒度依然很大,无法适用于一些没有权限高低区分的分布式锁请求场景。
发明内容
本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种能够避免锁竞争,同时提高数据操作性能以及系统吞吐量,且实现方法简单、锁粒度小、效率高以及灵活性强的分布式锁服务实现方法、装置及系统。
为解决上述技术问题,本发明提出的技术方案为:
一种分布式锁服务实现方法,包括:
接收客户端发送的上锁请求,所述上锁请求中携带有租约信息以及所述租约信息对应的至少一个上锁资源;
获取预先配置的各个锁之间是否存在冲突的冲突类型配置信息;
根据所述冲突类型配置信息,确定是否为所述上锁请求中所述上锁资源发起上锁请求,其中如果上锁不存在冲突则发起上锁请求、如果上锁存在冲突则不发起上锁请求。
进一步的,所述根据所述冲突类型配置信息,确定是否为所述上锁请求中所述上锁资源发起上锁请求,包括:
检查所述上锁资源是否已被获取;
当所述被上锁资源已被获取时,提取所述上锁资源的上锁状态;
比对所述上锁状态中的上锁线程与本次上锁使用的线程,确定是否线程重入;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于湖南四方天箭信息科技有限公司,未经湖南四方天箭信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110769143.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种适用于隔震层的双向双阶屈服的金属消能器
- 下一篇:一种任务调度方法及装置