[发明专利]分布式锁的实现方法及装置有效
申请号: | 201911255781.8 | 申请日: | 2019-12-10 |
公开(公告)号: | CN110971700B | 公开(公告)日: | 2023-07-21 |
发明(设计)人: | 郭娟;王润泽 | 申请(专利权)人: | 腾讯云计算(北京)有限责任公司 |
主分类号: | H04L67/10 | 分类号: | H04L67/10;G06F9/52 |
代理公司: | 北京派特恩知识产权代理有限公司 11270 | 代理人: | 崔晓岚;张颖玲 |
地址: | 100190 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 实现 方法 装置 | ||
本发明提供了一种分布式锁的实现方法及装置,涉及云计算技术领域;方法包括:响应于目标线程发送的针对分布式锁的锁获取请求,确定目标线程对应的锁获取信息;将锁获取信息分别存储至本地队列及远端队列;本地队列,用于存储归属于同一服务实例的多个线程对应的锁获取信息;远端队列,用于存储对应全局服务实例的锁获取信息,远端队列中锁获取信息的存储顺序与相应线程的分布式锁权限的获取顺序相一致;检测到目标线程对应的锁获取信息位于本地队列的队首及远端队列的队首时,确定目标线程具有分布式锁权限;通知目标线程,以使目标线程基于分布式锁权限,访问分布式锁对应的资源。
技术领域
本发明涉及云计算技术领域,尤其涉及一种分布式锁的实现方法及装置。
背景技术
云计算(Cloud Computing)指IT基础设施的交付和使用模式,指通过网络以按需、易扩展的方式获得所需资源;广义云计算指服务的交付和使用模式,指通过网络以按需、易扩展的方式获得所需服务。这种服务可以是IT和软件、互联网相关,也可是其他服务。云计算是网格计算(Grid Computing)、分布式计算(Distributed Computing)、并行计算(Parallel Computing)、效用计算(Utility Computing)、网络存储(Network StorageTechnologies)、虚拟化(Virtualization)、负载均衡(Load Balance)等传统计算机和网络技术发展融合的产物。
随着互联网、实时数据流、连接设备多样化的发展,以及搜索服务、社会网络、移动商务和开放协作等需求的推动,云计算迅速发展起来。不同于以往的并行分布式计算,云计算的产生从理念上将推动整个互联网模式、企业管理模式发生革命性的变革。
在云计算场景中,为了保证数据的分布式一致性,不同的进程需要通过分布式锁来访问共享资源,来防止彼此干扰。
相关技术中,提供一种基于Redis的分布式锁实现方法,在分布式锁被占用时,在Redis数据库中创建一个全局唯一的键值,以标识分布式锁权限已经被占用;在分布式锁被释放后,删除该键值。然而,相关技术提供的是一种不公平锁,即当一个线程想要获取分布式锁时,直接发送锁获取请求;当该分布式锁被占用时,所有想要获取该分布式锁的线程通过重试来进行竞争,如此,由于分布式锁在分配过程中存在一定的随机性,会出现锁饥饿的问题,导致分布式系统出现一定比例的失败请求;并且,若每个服务实例中多个线程都反复进行重试,也会极大增加存储组件的访问压力。
发明内容
本发明实施例提供一种分布式锁的实现方法及装置,能够保证分布式锁权限的有序分配,避免出现失败请求,同时缓解了存储组件的访问压力。
本发明实施例的技术方案是这样实现的:
本发明实施例提供一种分布式锁的实现方法,包括:
响应于目标线程发送的针对分布式锁的锁获取请求,确定所述目标线程对应的锁获取信息;
将所述锁获取信息分别存储至本地队列及远端队列;
其中,所述本地队列,用于存储归属于同一服务实例的多个线程对应的锁获取信息;所述远端队列,用于存储对应全局服务实例的锁获取信息,所述远端队列中锁获取信息的存储顺序与相应线程的分布式锁权限的获取顺序相一致;
检测到所述目标线程对应的所述锁获取信息位于所述本地队列的队首及所述远端队列的队首时,确定所述目标线程具有所述分布式锁权限;
通知所述目标线程,以使所述目标线程基于所述分布式锁的权限,访问所述分布式锁对应的资源。
本发明实施例提供一种分布式锁的实现装置,包括:
确定模块,用于响应于目标线程发送的针对分布式锁的锁获取请求,确定所述目标线程对应的锁获取信息;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯云计算(北京)有限责任公司,未经腾讯云计算(北京)有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911255781.8/2.html,转载请声明来源钻瓜专利网。