[发明专利]用于控制分布式锁的方法和装置在审

专利信息
申请号: 201610500055.8 申请日: 2016-06-29
公开(公告)号: CN107544850A 公开(公告)日: 2018-01-05
发明(设计)人: 陈兴波;丁雪丰 申请(专利权)人: 百度在线网络技术(北京)有限公司
主分类号: G06F9/52 分类号: G06F9/52
代理公司: 北京英赛嘉华知识产权代理有限责任公司11204 代理人: 王达佐,马晓亚
地址: 100085 北京市*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 用于 控制 分布式 方法 装置
【说明书】:

技术领域

本申请涉及计算机技术领域,尤其涉及互联网技术领域,具体涉及一种用于控制分布式锁的方法和装置。

背景技术

在多系统进行交互的情况下,有时需要对系统间相关联的操作进行协调,使得系统的操作能同步或互斥执行。

分布式锁是控制分布式系统之间同步访问共享资源的一种方式。在分布式系统中,常常需要协调他们的动作。如果不同的系统或是同一个系统的不同主机之间共享了一个或一组资源,那么访问这些资源的时候,往往需要互斥来防止彼此干扰来保证一致性,在这种情况下,便需要使用到分布式锁。现有的系统一致性协调方案中,一般通过一致性协调工具(例如,Zookeeper软件、Chubby组件等)对分布式锁进行控制,其中,Zookeeper软件是一个为分布式应用提供一致性服务的软件;Chubby组件是用于解决分布式一致性问题的组件。现有的一致性协调方案要求客户端和服务端之间保持连接,客户端和服务端之间协议复杂,需要使用专用的客户端进行交互;服务端的Zookeeper集群和Chubby集群写操作只在主节点进行,使用ZAB协议(ZooKeeper Atomic Broadcast,原子消息广播协议)或Paxos算法(Leslie Lamport于1990年提出的一种基于消息传递的一致性算法)进行提交,需要集群中过半节点提交成功,整个集群的提交工作才能正常完成,即现有的一致性协调方法普遍存在对客户端和服务端的要求较多,交互复杂的问题。

发明内容

本申请的目的在于提出一种用于控制分布式锁的方法和装置,来 解决以上背景技术部分提到的技术问题。

第一方面,本申请提供了一种用于控制分布式锁的方法,所述方法包括:向服务端发送分布式锁的加锁请求,所述加锁请求包括:所述分布式锁的标识;响应于从所述服务端接收到加锁成功消息,执行受所述分布式锁保护的业务操作,其中,所述加锁成功消息是在所述服务端确定所述分布式锁未被占用的情况下返回的;响应于从所述服务端接收到加锁失败消息或在预设的第一时间段内未接收到所述服务端返回的消息,继续向所述服务端发送所述加锁请求并且在满足以下条件之一的情况下停止发送所述加锁请求:从所述服务端接收到所述加锁成功消息,自首次向所述服务端发送所述加锁请求起经过了预设的第二时间段;其中,所述加锁失败消息是在所述服务端确定所述分布式锁被占用的情况下返回的。

在一些实施例中,所述方法还包括:响应于受所述分布式锁保护的业务操作的执行完成,向所述服务端发送所述分布式锁的解锁请求,所述解锁请求包括:所述分布式锁的标识。

在一些实施例中,所述响应于从所述服务端接收到加锁成功消息,执行受所述分布式锁保护的业务操作,包括:在所述业务操作的执行期间,间隔预设第三时间段向所述服务端发送对所述分布式锁的延期解锁请求,所述延期解锁请求包括:所述分布式锁的标识。

在一些实施例中,所述响应于从所述服务端接收到加锁成功消息,执行受所述分布式锁保护的业务操作,包括:响应于从所述服务端接收到轮询消息,向所述服务端发送所述分布式锁的延期解锁请求或解锁请求。

第二方面,本申请提供一种用于控制分布式锁的方法,所述方法包括:从客户端接收分布式锁的加锁请求,所述加锁请求包括:所述分布式锁的标识;判断所述加锁请求指示的所述分布式锁是否被占用;响应于确定所述加锁请求指示的所述分布式锁未被占用,向所述客户端发送加锁成功消息,以供所述客户端执行受所述分布式锁保护的业务操作;响应于确定所述加锁请求指示的所述分布式锁被占用,向所述客户端发送加锁失败消息。

在一些实施例中,所述方法还包括:响应于从所述客户端接收所述分布式锁的解锁请求,解除所述解锁请求指示的所述分布式锁,所述解锁请求包括:所述分布式锁的标识。

在一些实施例中,所述方法还包括:响应于从所述客户端接收所述分布式锁的延期解锁请求,对所述延期解锁请求指示的所述分布式锁的过期时间进行更新,所述延期解锁请求包括:所述分布式锁的标识。

在一些实施例中,所述方法还包括:在所述分布式锁的过期时间之前,向所述客户端发送轮询消息。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于百度在线网络技术(北京)有限公司,未经百度在线网络技术(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201610500055.8/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top