[发明专利]分布式锁的实现方法、相关设备及系统有效
申请号: | 201710283923.6 | 申请日: | 2017-04-26 |
公开(公告)号: | CN106936931B | 公开(公告)日: | 2020-09-04 |
发明(设计)人: | 宋跃忠;侯杰;林程勇;戴龙飞 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 郝传鑫;熊永强 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 实现 方法 相关 设备 系统 | ||
1.一种分布式锁的实现方法,其特征在于,所述方法包括:
主网络节点接收锁处理消息;
所述主网络节点对所述锁处理消息进行缓存;
所述主网络节点获取当前缓存的至少两个锁处理消息,并根据当前缓存的所述至少两个锁处理消息生成一条日志信息;
所述主网络节点向从属于该主网络节点的至少一个从网络节点同步所述日志信息;
当所述主网络节点确定所述日志信息同步成功后,对所述日志信息中的所述至少两个锁处理消息进行处理。
2.如权利要求1所述的方法,其特征在于,所述当所述主网络节点确定所述日志信息同步成功包括:
所述主网络节点接收所述至少一个从网络节点存储成功所述日志信息后发送的确认消息;
所述主网络节点根据接收到的所述确认消息的数量,确定所述日志信息是否同步成功。
3.如权利要求1或2所述的方法,其特征在于,所述主网络节点对所述锁处理消息进行缓存包括:
所述主网络节点将所述锁处理消息缓存在消息缓存队列中,所述消息缓存队列中锁处理消息的排序由各个锁处理消息的接收先后顺序确定;
所述当所述主网络节点确定所述日志信息同步成功后,对所述日志信息中的所述至少两个锁处理消息进行处理包括:
当所述主网络节点确定所述日志信息同步成功后,按照所述消息缓存队列中各锁处理消息的排序依次对所述消息缓存队列中的锁处理消息进行处理。
4.如权利要求1-2任一项所述的方法,其特征在于,所述锁处理消息携带目标资源的资源标识;
所述主网络节点向从属于该主网络节点的至少一个从网络节点同步所述日志信息包括:
所述主网络节点确定本身所属的分布式锁节点集合,所述分布式锁节点集合与所述目标资源的资源标识对应,所述分布式锁节点集合中包括所述主网络节点以及至少一个从网络节点;
所述主网络节点向所述分布式锁节点集合中的至少一个从网络节点同步所述日志信息。
5.如权利要求1-2任一项所述的方法,其特征在于,所述锁处理消息为锁请求消息或锁释放消息。
6.一种主网络节点,其特征在于,所述主网络节点包括:
接收模块,用于接收锁处理消息;
处理模块,用于对所述锁处理消息进行缓存;
所述处理模块还用于:获取当前缓存的至少两个锁处理消息,并根据当前缓存的所述至少两个锁处理消息生成一条日志信息;
发送模块,用于向从属于该主网络节点的至少一个从网络节点同步所述日志信息;
所述处理模块还用于:当确定所述日志信息同步成功后,对所述日志信息中的所述至少两个锁处理消息进行处理。
7.如权利要求6所述的主网络节点,其特征在于,
所述接收模块还用于:接收所述至少一个从网络节点存储成功所述日志信息后发送的确认消息;
所述处理模块具体用于:根据接收到的所述确认消息的数量,确定所述日志信息是否同步成功。
8.如权利要求6或7所述的主网络节点,其特征在于,所述处理模块具体用于:
将所述锁处理消息缓存在消息缓存队列中,所述消息缓存队列中锁处理消息的排序由各个锁处理消息的接收先后顺序确定;
确定所述日志信息同步成功后,对所述日志信息中的所述至少两个锁处理消息进行处理包括:
当确定所述日志信息同步成功后,按照所述消息缓存队列中各锁处理消息的排序依次对所述消息缓存队列中的锁处理消息进行处理。
9.如权利要求6-7任一项所述的主网络节点,其特征在于,所述锁处理消息携带目标资源的资源标识;
所述处理模块还用于:
确定本身所属的分布式锁节点集合,所述分布式锁节点集合与所述目标资源的资源标识对应,所述分布式锁节点集合中包括所述主网络节点以及至少一个从网络节点;
所述发送模块具体用于:
向所述分布式锁节点集合中的至少一个从网络节点同步所述日志信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710283923.6/1.html,转载请声明来源钻瓜专利网。