[发明专利]一种分布式锁实现方法和装置有效
申请号: | 201811103385.9 | 申请日: | 2018-09-20 |
公开(公告)号: | CN109189583B | 公开(公告)日: | 2021-10-01 |
发明(设计)人: | 马怀旭 | 申请(专利权)人: | 郑州云海信息技术有限公司 |
主分类号: | G06F9/52 | 分类号: | G06F9/52;G06F16/23 |
代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 林桐苒;解婷婷 |
地址: | 450018 河南省郑州市*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分布式 实现 方法 装置 | ||
1.一种分布式锁实现方法,其特征在于,包括:
配置sanlock与不同存储池类型对应的执行模式,所述执行模式至少包含I/O模型,该I/O模型用于提供sanlock对不同类型存储池上进行I/O下发的支持,包括:在sanlock的diskio中增加I/O模型,同时在sanlock的I/O流程中增加对不同存储池支持的结构体,其中所述存储池为支持不带租约的锁;
识别当前存储池类型,包括:在操作sanlock输入路径path参数的同时,获取指示存储池类型的存储池标签,根据所述存储池类型标签的内容,确定存储池类型;
根据当前存储池类型,选择sanlock的执行模式;
在选择的所述执行模式下,完成对所述存储池的带租约的分布式锁的读写。
2.根据权利要求1所述的分布式锁实现方法,其特征在于,所述存储池类型至少包含:rados块设备RBD存储池。
3.根据权利要求1所述的分布式锁实现方法,其特征在于,识别当前存储池类型的步骤包括:
接收路径path参数,从中提取存储池类型标签;
根据所述存储池类型标签的内容,确定存储池类型。
4.根据权利要求2所述的分布式锁实现方法,其特征在于,根据当前存储池类型,选择执行模式的步骤包括:
在当前存储池类型为RBD存储池时,选择预置的与RBD存储池匹配的I/O模型。
5.一种分布式锁实现装置,其特征在于,包括:
配置模块,用于配置sanlock与不同存储池类型对应的执行模式,所述执行模式至少包含I/O模型,该I/O模型用于提供sanlock对不同类型存储池上进行I/O下发的支持,包括:在sanlock的diskio中增加I/O模型,同时在sanlock的I/O流程中增加对不同存储池支持的结构体,其中所述存储池为支持不带租约的锁;
存储池识别模块,用于识别当前存储池类型,包括:在操作sanlock输入路径path参数的同时,获取指示存储池类型的存储池标签,根据所述存储池类型标签的内容,确定存储池类型;
执行模式选择模块,用于根据当前存储池类型,选择sanlock的执行模式;
锁读写模块,用于在选择的所述执行模式下,完成对所述存储池的带租约的分布式锁的读写。
6.根据权利要求5所述的分布式锁实现装置,其特征在于,所述存储池识别模块包括:
标签提取单元,用于接收路径path参数,从中提取存储池类型标签;
类型匹配单元,用于根据所述存储池类型标签的内容,确定存储池类型。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811103385.9/1.html,转载请声明来源钻瓜专利网。