[发明专利]用于控制分布式锁的方法和装置在审
| 申请号: | 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年提出的一种基于消息传递的一致性算法)进行提交,需要集群中过半节点提交成功,整个集群的提交工作才能正常完成,即现有的一致性协调方法普遍存在对客户端和服务端的要求较多,交互复杂的问题。
发明内容
本申请的目的在于提出一种用于控制分布式锁的方法和装置,来 解决以上背景技术部分提到的技术问题。
第一方面,本申请提供了一种用于控制分布式锁的方法,所述方法包括:向服务端发送分布式锁的加锁请求,所述加锁请求包括:所述分布式锁的标识;响应于从所述服务端接收到加锁成功消息,执行受所述分布式锁保护的业务操作,其中,所述加锁成功消息是在所述服务端确定所述分布式锁未被占用的情况下返回的;响应于从所述服务端接收到加锁失败消息或在预设的第一时间段内未接收到所述服务端返回的消息,继续向所述服务端发送所述加锁请求并且在满足以下条件之一的情况下停止发送所述加锁请求:从所述服务端接收到所述加锁成功消息,自首次向所述服务端发送所述加锁请求起经过了预设的第二时间段;其中,所述加锁失败消息是在所述服务端确定所述分布式锁被占用的情况下返回的。
在一些实施例中,所述方法还包括:响应于受所述分布式锁保护的业务操作的执行完成,向所述服务端发送所述分布式锁的解锁请求,所述解锁请求包括:所述分布式锁的标识。
在一些实施例中,所述响应于从所述服务端接收到加锁成功消息,执行受所述分布式锁保护的业务操作,包括:在所述业务操作的执行期间,间隔预设第三时间段向所述服务端发送对所述分布式锁的延期解锁请求,所述延期解锁请求包括:所述分布式锁的标识。
在一些实施例中,所述响应于从所述服务端接收到加锁成功消息,执行受所述分布式锁保护的业务操作,包括:响应于从所述服务端接收到轮询消息,向所述服务端发送所述分布式锁的延期解锁请求或解锁请求。
第二方面,本申请提供一种用于控制分布式锁的方法,所述方法包括:从客户端接收分布式锁的加锁请求,所述加锁请求包括:所述分布式锁的标识;判断所述加锁请求指示的所述分布式锁是否被占用;响应于确定所述加锁请求指示的所述分布式锁未被占用,向所述客户端发送加锁成功消息,以供所述客户端执行受所述分布式锁保护的业务操作;响应于确定所述加锁请求指示的所述分布式锁被占用,向所述客户端发送加锁失败消息。
在一些实施例中,所述方法还包括:响应于从所述客户端接收所述分布式锁的解锁请求,解除所述解锁请求指示的所述分布式锁,所述解锁请求包括:所述分布式锁的标识。
在一些实施例中,所述方法还包括:响应于从所述客户端接收所述分布式锁的延期解锁请求,对所述延期解锁请求指示的所述分布式锁的过期时间进行更新,所述延期解锁请求包括:所述分布式锁的标识。
在一些实施例中,所述方法还包括:在所述分布式锁的过期时间之前,向所述客户端发送轮询消息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于百度在线网络技术(北京)有限公司,未经百度在线网络技术(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610500055.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种挡水板及一种电蒸柜蒸架
- 下一篇:一种锁操作处理方法及装置





