[发明专利]分布式锁的实现方法及装置在审
申请号: | 202210135345.2 | 申请日: | 2022-02-14 |
公开(公告)号: | CN114579321A | 公开(公告)日: | 2022-06-03 |
发明(设计)人: | 常存银 | 申请(专利权)人: | 阿里巴巴(中国)有限公司 |
主分类号: | G06F9/52 | 分类号: | G06F9/52;G06F9/54 |
代理公司: | 北京众达德权知识产权代理有限公司 11570 | 代理人: | 南海燕 |
地址: | 310000 浙江省杭州市滨江*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 实现 方法 装置 | ||
本申请实施例公开了一种分布式锁的实现方法及装置,应用于包含多个主机、多个存储侧管理节点、分布式装置和共享存储空间的系统。具体技术方案包括:存储侧管理节点接收主机请求所述共享存储空间的相关命令;根据所述存储侧管理节点本地的锁共享信息,确定是否允许所述相关命令;若允许所述相关命令,则更新所述锁共享信息,将允许所述相关命令的信息共享给其他存储侧管理节点以供更新其他存储侧管理节点本地的锁共享信息;其中,所述锁共享信息维护有所述共享存储空间的状态信息,所述状态信息包括被注册的信息、被预留的信息、被抢占的信息或空闲的信息。本申请通过分布式锁实现了合理地共享存储空间。
技术领域
本申请涉及计算机技术领域,特别是涉及一种分布式锁的实现方法及装置。
背景技术
随着混合云及线下企业客户市场的争夺越来越激烈,公有云存储产品如何满足线下企业客户存储特性需求也变得越来越重要,企业特性的满足逐步成为线下客户竞标中的关键项。诸如共享LUN(Logical Unit Number,逻辑单元号)等共享存储空间特性是在企业存储中非常核心及基础的特性之一。
在一个共享存储的环境下,多个前端计算节点可能会通过分布式架构同时访问同一存储空间,如果此时多个前端计算节点在同一时间点对同一存储空间(例如同一个LUN)进行I/O(输入/输出)操作,则会造成I/O冲突,甚至可能会导致数据损坏。因此亟需一种分布式锁的实现方式,通过分布式锁来实现合理地共享存储空间。
发明内容
有鉴于此,本申请提供了一种分布式锁的实现方法及装置,以便通过分布式锁来实现合理地共享存储空间。
本申请提供了如下方案:
根据第一方面,提供了一种分布式锁的实现方法,应用于包含多个主机、多个存储侧管理节点和共享存储空间的系统;所述方法包括:
存储侧管理节点接收主机请求所述共享存储空间的相关命令;
根据所述存储侧管理节点本地的锁共享信息,确定是否允许所述相关命令;
若允许所述相关命令,则更新所述锁共享信息,将允许所述相关命令的信息共享给其他存储侧管理节点;
其中,所述锁共享信息维护有所述共享存储空间的状态信息,所述状态信息包括被注册的信息、被预留的信息、被抢占的信息或空闲的信息。
根据本申请实施例一可实现的方式,在根据所述存储侧管理节点本地的锁共享信息,确定是否允许所述相关命令之前,还包括:
识别所述相关命令的类型;
若所述相关命令为预留命令或抢占命令,则继续执行根据所述存储侧管理节点本地的锁共享信息,确定是否允许所述相关命令的步骤;
若所述相关命令为注册命令,则确定允许所述注册命令,并将注册信息共享给其他存储侧管理节点。
根据本申请实施例一可实现的方式,根据所述存储侧管理节点本地的锁共享信息,确定是否允许所述相关命令包括:
若所述锁共享信息包含所述共享存储空间被其他主机预留或抢占的信息,则不允许所述预留命令或抢占命令,否则,允许所述预留命令或抢占命令;
更新所述锁共享信息包括:在所述锁共享信息中更新所述共享存储空间被发送所述相关命令的主机预留或抢占的信息。
根据本申请实施例一可实现的方式,该方法还包括:
若依据其他存储侧管理节点针对允许所述相关命令的信息返回的响应,确定存在存储侧管理节点失联或存在命令冲突,则不允许所述预留命令或抢占命令。
根据本申请实施例一可实现的方式,该方法还包括:
若允许所述预留命令或抢占命令,则为所述主机分配锁钥。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴(中国)有限公司,未经阿里巴巴(中国)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210135345.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种用于纸板粘合的瓦楞纸涂胶机构
- 下一篇:一种加热不燃烧制品料棒成型机