[发明专利]一种分布式独占锁的实现方法和装置有效

专利信息
申请号: 201811291978.2 申请日: 2018-11-01
公开(公告)号: CN109324764B 公开(公告)日: 2021-11-26
发明(设计)人: 马怀旭 申请(专利权)人: 郑州云海信息技术有限公司
主分类号: G06F3/06 分类号: G06F3/06
代理公司: 北京安信方达知识产权代理有限公司 11262 代理人: 林桐苒;解婷婷
地址: 450018 河南省郑州市*** 国省代码: 河南;41
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 分布式 独占 实现 方法 装置
【说明书】:

发明公开了一种分布式独占锁的实现方法和装置。涉及虚拟化计算平台技术,解决了基于RBD的分布式锁锁资源残留的问题。该方法包括:维护租约进程;节点在获取锁资源时,注册至所述租约进程,通过所述租约进程完成对分布式锁的I/O操作。本发明提供的技术方案适用于Sanlock分布式锁,实现了支持租约的分布式锁系统。

技术领域

本发明涉及虚拟化计算平台技术,尤指一种分布式独占锁的实现方法和装置。

背景技术

随着计算机技术和网络技术的快速发展,大型集群在实际生产环境中得到广泛使用。通过将服务器集群虚拟化,组成云计算平台虚拟化系统,在虚拟化系统中,常常需要协调动作,不同系统或者是在同一个系统不同主机之间共享同一个或一组资源,往往需要互斥来防止彼此的干扰,保证一致性,因此需要分布式锁来保证上述情况下系统的正常运行。

分布式锁一般来说需要支撑大规格环境下的使用,因此需要使用带租约的分布式锁来保证获取锁资源的节点的唯一性,同时还要保证同一个节点唯一的获取该资源。由于分布式锁的获取者是集群中的主机成员,因此分布式锁的实现方式分为两种:一种为网络型的,即DLM实现方式;一种是共享存储型的,即sanlock实现方式。但是sanlock并不支持ceph的可靠的自动的分布式存储块设备(RBD),因此需要实现一套基于RBD的分布式锁系统。现有的基于RBD的分布式锁系统中,当节点离线或者是网络断开时后容易造成锁资源的残留。

发明内容

为了解决上述技术问题,本发明提供了一种分布式独占锁的实现方法和装置。通过租约进程对锁资源进行管理,解决了基于RBD的分布式锁锁资源残留的问题。

为了达到本发明目的,本发明提供了一种分布式独占锁的实现方法,包括:

维护租约进程;

节点在获取锁资源时,注册至所述租约进程,通过所述租约进程完成对分布式锁的I/O操作。

优选的,该方法还包括:

定时向所述分布式锁的存储池下发所述节点的时间戳,表明所述节点在线。

优选的,该方法还包括:

在预置的检测间隔没有接收到所述节点更新的时间戳时,判定所述节点已经离线。

优选的,该方法还包括:

在检测到节点离线后,释放所述节点占用的锁资源。

优选的,节点在获取锁资源时,注册至所述租约进程,通过所述租约进程完成对分布式锁的I/O操作的步骤之前,还包括:

进行锁信息查询,根据所述节点请求的锁资源的标识,查询占用所述锁资源的主机;

在所述锁资源未被任何主机占用或占用所述锁资源的主机已离线时,将所述锁资源分配给所述节点。

优选的,所述锁资源的标识包含所述租约进程的进程ID信息和节点ID信息。

优选的,该方法还包括:

当所述租约进程终结时,释放所述租约进程涉及的全部锁资源。

本发明还提供了一种分布式独占锁的实现装置,包括:

进程管理模块,用于维护租约进程;

I/O操作模块,用于在获取锁资源时,注册至所述租约进程,通过所述租约进程完成对分布式锁的I/O操作。

优选的,该装置还包括:

检测模块,用于接收定时向所述分布式锁的存储池下发所述节点的时间戳,并在预置的检测间隔没有接收到所述节点更新的时间戳时,判定所述节点已经离线。

优选的,该装置还包括:

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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