[發明專利]一種鎖操作處理方法及裝置有效
| 申請號: | 201710330135.8 | 申請日: | 2017-05-11 |
| 公開(公告)號: | CN107544851B | 公開(公告)日: | 2020-06-09 |
| 發明(設計)人: | 鐘晉明 | 申請(專利權)人: | 新華三云計算技術有限公司 |
| 主分類號: | G06F9/52 | 分類號: | G06F9/52 |
| 代理公司: | 北京博思佳知識產權代理有限公司 11415 | 代理人: | 林祥 |
| 地址: | 610041 四川省成都市高新區天華二路2*** | 國省代碼: | 四川;51 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 操作 處理 方法 裝置 | ||
1.一種鎖操作處理方法,其特征在于,包括:
當檢測到第一類型鎖操作,且鎖資源的狀態為第一狀態時,將所述第一類型鎖操作下發到磁盤,并將所述鎖資源的狀態設置為第二狀態;其中,所述鎖資源的初始狀態為第一狀態;
當再次檢測到所述第一類型鎖操作時,將所述第一類型鎖操作下發到內存。
2.根據權利要求1所述的方法,其特征在于,所述將所述第一類型鎖操作下發到磁盤之后,還包括:
當檢測到第二類型鎖操作時,確定該第二類型鎖操作失敗,并將磁盤鎖的狀態設置為第四狀態;其中,所述磁盤鎖的初始狀態為第三狀態。
3.根據權利要求2所述的方法,其特征在于,所述確定該第二類型鎖操作失敗之后,還包括:
若上一次第一類型鎖操作為加鎖操作,則當檢測到解鎖操作的第一類型鎖操作時,將該解鎖操作的第一類型鎖操作下發到磁盤,并將所述鎖資源設置為第一狀態;
若上一次第一類型鎖操作為解鎖操作,則將該解鎖操作的第一類型鎖操作下發到磁盤,并將所述鎖資源設置為第一狀態。
4.根據權利要求3所述的方法,其特征在于,當所述第一類型鎖為排它鎖時,所述將該解鎖操作的第一類型鎖操作下發到磁盤之后,還包括:
將所述磁盤鎖的狀態設置為第三狀態。
5.根據權利要求3所述的方法,其特征在于,當所述第一類型鎖為保護讀鎖,所述第二類型鎖為排它鎖時,所述將所述鎖資源設置為第一狀態之后,還包括:
當獲取所述第一類型鎖的所有節點均完成解鎖操作,且檢測到加鎖操作的第二類型鎖操作時,將該加鎖操作的第二類型鎖操作下發到磁盤,并將所述磁盤鎖的狀態設置為第三狀態。
6.一種鎖操作處理裝置,其特征在于,包括:檢測單元、下發單元以及設置單元;其中:
所述下發單元,用于當所述檢測單元檢測到第一類型鎖操作,且鎖資源的狀態為第一狀態時,將所述第一類型鎖操作下發到磁盤;其中,所述鎖資源的初始狀態為第一狀態;
所述設置單元,用于當所述下發單元將所述第一類型鎖操作下發到磁盤時,將所述鎖資源的狀態設置為第二狀態;
所述下發單元,還用于當所述檢測單元再次檢測到所述第一類型鎖操作時,將所述第一類型鎖操作下發到內存。
7.根據權利要求6所述的裝置,其特征在于,
所述設置單元,還用于當所述檢測單元檢測到第二類型鎖操作時,確定該第二類型鎖操作失敗,并將磁盤鎖的狀態設置為第四狀態;其中,所述磁盤鎖的初始狀態為第三狀態。
8.根據權利要求7所述的裝置,其特征在于,
所述下發單元,還用于若上一次第一類型鎖操作為加鎖操作,則當所述檢測單元檢測到解鎖操作的第一類型鎖操作時,將該解鎖操作的第一類型鎖操作下發到磁盤;若上一次第一類型鎖操作為解鎖操作,則將該解鎖操作的第一類型鎖操作下發到磁盤;
所述設置單元,還用于當所述下發單元將該解鎖操作的第一類型鎖操作下發到磁盤時,將所述鎖資源設置為第一狀態。
9.根據權利要求8所述的裝置,其特征在于,
所述設置單元,還用于當所述第一類型鎖為排它鎖時,在所述下發單元將該解鎖操作的第一類型鎖操作下發到磁盤之后,將所述磁盤鎖的狀態設置為第三狀態。
10.根據權利要求8所述的裝置,其特征在于,
所述下發單元,還用于當所述第一類型鎖為保護讀鎖,所述第二類型鎖為排它鎖時,在所述設置單元將所述鎖資源設置為第一狀態之后,若獲取所述第一類型鎖的所有節點均完成解鎖操作,且所述檢測單元檢測到加鎖操作的第二類型鎖操作,則將該加鎖操作的第二類型鎖操作下發到磁盤;
所述設置單元,還用于當所述下發單元將該加鎖操作的第二類型鎖操作下發到磁盤時,將所述磁盤鎖的狀態設置為第三狀態。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于新華三云計算技術有限公司,未經新華三云計算技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710330135.8/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:用于控制分布式鎖的方法和裝置
- 下一篇:信息推送方法和裝置





