[發明專利]分布式鎖的實現方法及裝置在審
| 申請號: | 202210135345.2 | 申請日: | 2022-02-14 |
| 公開(公告)號: | CN114579321A | 公開(公告)日: | 2022-06-03 |
| 發明(設計)人: | 常存銀 | 申請(專利權)人: | 阿里巴巴(中國)有限公司 |
| 主分類號: | G06F9/52 | 分類號: | G06F9/52;G06F9/54 |
| 代理公司: | 北京眾達德權知識產權代理有限公司 11570 | 代理人: | 南海燕 |
| 地址: | 310000 浙江省杭州市濱江*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 分布式 實現 方法 裝置 | ||
1.分布式鎖的實現方法,應用于包含多個主機、多個存儲側管理節點和共享存儲空間的系統;所述方法包括:
存儲側管理節點接收主機請求所述共享存儲空間的相關命令;
根據所述存儲側管理節點本地的鎖共享信息,確定是否允許所述相關命令;
若允許所述相關命令,則更新所述鎖共享信息,將允許所述相關命令的信息共享給其他存儲側管理節點以供更新其他存儲側管理節點本地的鎖共享信息;
其中,所述鎖共享信息維護有所述共享存儲空間的狀態信息,所述狀態信息包括被注冊的信息、被預留的信息、被搶占的信息或空閑的信息。
2.根據權利要求1所述的方法,其中,在根據所述存儲側管理節點本地的鎖共享信息,確定是否允許所述相關命令之前,還包括:
識別所述相關命令的類型;
若所述相關命令為預留命令或搶占命令,則繼續執行根據所述存儲側管理節點本地的鎖共享信息,確定是否允許所述相關命令的步驟;
若所述相關命令為注冊命令,則確定允許所述注冊命令,并將注冊信息共享給其他存儲側管理節點。
3.根據權利要求2所述的方法,其中,根據所述存儲側管理節點本地的鎖共享信息,確定是否允許所述相關命令包括:
若所述鎖共享信息包含所述共享存儲空間被其他主機預留或搶占的信息,則不允許所述預留命令或搶占命令,否則,允許所述預留命令或搶占命令;
更新所述鎖共享信息包括:在所述鎖共享信息中更新所述共享存儲空間被發送所述相關命令的主機預留或搶占的信息。
4.根據權利要求2所述的方法,該方法還包括:
若依據其他存儲側管理節點針對允許所述相關命令的信息返回的響應,確定存在存儲側管理節點失聯或存在命令沖突,則不允許所述預留命令或搶占命令。
5.根據權利要求2所述的方法,該方法還包括:
若允許所述預留命令或搶占命令,則為所述主機分配鎖鑰。
6.根據權利要求5所述的方法,其中,該方法還包括:
若接收到I/O命令,則判斷所述I/O命令是否攜帶被分配的鎖鑰,如果是,則允許所述I/O命令;否則,拒絕所述I/O命令。
7.根據權利要求1所述的方法,還包括:
若接收到其他存儲側管理節點共享來的允許相關命令的信息,則返回響應;
其中,若允許相關命令的信息與本地存儲的鎖共享信息不沖突,則更新本地存儲的鎖共享信息,否則在所述響應中攜帶存在命令沖突的信息。
8.根據權利要求1至7中任一項所述的方法,該方法還包括:
若不允許所述相關命令,則向所述主機返回拒絕所述相關命令的信息。
9.根據權利要求1至7中任一項所述的方法,所述系統還包含分布式裝置,所述方法還包括:
存儲側管理節點將本地存儲的鎖共享信息發送給分布式裝置進行序列化存儲,以便于新加入所述系統的存儲側管理節點從所述分布式裝置獲取鎖共享信息并存儲于本地。
10.分布式鎖的實現裝置,應用于包含多個主機、多個存儲側管理節點、分布式裝置和共享存儲空間的系統,所述裝置設置于所述存儲側管理節點,包括:
第一通信單元,被配置為接收主機請求所述共享存儲空間的相關命令;
決策單元,被配置為根據所述存儲側管理節點本地的鎖共享信息,確定是否允許所述相關命令;
鎖信息維護單元,被配置為若所述決策單元確定允許所述相關命令,則更新所述鎖共享信息,其中,所述鎖共享信息維護有所述共享存儲空間的狀態信息,所述狀態信息包括被注冊的信息、被預留的信息、被搶占的信息或空閑的信息;
第二通信單元,被配置為將允許所述相關命令的信息共享給其他存儲側管理節點。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于阿里巴巴(中國)有限公司,未經阿里巴巴(中國)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202210135345.2/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種用于紙板粘合的瓦楞紙涂膠機構
- 下一篇:一種加熱不燃燒制品料棒成型機





