[發明專利]一種鎖操作處理方法及裝置有效
| 申請號: | 201710330135.8 | 申請日: | 2017-05-11 |
| 公開(公告)號: | CN107544851B | 公開(公告)日: | 2020-06-09 |
| 發明(設計)人: | 鐘晉明 | 申請(專利權)人: | 新華三云計算技術有限公司 |
| 主分類號: | G06F9/52 | 分類號: | G06F9/52 |
| 代理公司: | 北京博思佳知識產權代理有限公司 11415 | 代理人: | 林祥 |
| 地址: | 610041 四川省成都市高新區天華二路2*** | 國省代碼: | 四川;51 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 操作 處理 方法 裝置 | ||
本發明提供一種鎖操作處理方法及裝置,所述方法包括:當檢測到第一類型鎖操作,且鎖資源的狀態為第一狀態時,將所述第一類型鎖操作下發到磁盤,并將所述鎖資源的狀態設置為第二狀態;其中,所述鎖資源的初始狀態為第一狀態;當再次檢測到所述第一類型鎖操作時,將所述第一類型鎖操作下發到內存。應用本發明實施例可以減少鎖操作在磁盤上的處理,提高鎖操作處理性能。
技術領域
本發明涉及數據處理技術領域,尤其涉及一種鎖操作處理方法及裝置。
背景技術
共享文件系統是指多個節點組成一個集群,訪問同一塊存儲空間,在任意節點上讀寫文件,在其他節點上也仍可以訪問該文件,節點間通過分布式鎖協商讀寫權限。
磁盤鎖是一種分布式鎖,基于ATS(Atomic TestSet,原子測試與設置)的SCSI(Small Computer System Interface,小型計算機系統接口)比較寫指令來實現;比較寫是原子操作,不可中斷的,因此用來實現磁盤鎖。
當調用節點的共享文件系統的系統操作接口,如獲取屬性(getattr),設置屬性(setattr),讀目錄(readdir)時,會觸發磁盤鎖操作。
共享文件系統可以掛載在通用文件系統VFS(Virtual File System,虛擬文件系統)下。VFS通過鎖資源(lockres)將磁盤鎖下發到磁盤,其中,磁盤鎖可以包括PR鎖(Protective Read lock,保護讀鎖)和EX鎖(EXclusive lock,排它鎖);PR鎖可由多個節點同時獲取,EX鎖只能在無鎖時獲取,且只有一個節點能獲取;加PR鎖后,鎖狀態為PR,加EX鎖后,鎖狀態為EX。獲取PR鎖的多個節點全部解鎖PR后,成為無鎖。獲取EX鎖的節點解鎖EX后,成為無鎖。
實踐發現,用戶對共享文件系統進行操作時,會下發大量的getattr、readdir等操作,從而會引發大量的磁盤鎖操作,磁盤鎖操作較為耗時,且性能較低。
發明內容
本發明提供一種鎖操作處理方法及裝置,以減少鎖操作在磁盤上的處理,提高鎖操作處理性能。
根據本發明的第一方面,提供一種鎖操作處理方法,包括:
當檢測到第一類型鎖操作,且鎖資源的狀態為第一狀態時,將所述第一類型鎖操作下發到磁盤,并將所述鎖資源的狀態設置為第二狀態;其中,所述鎖資源的初始狀態為第一狀態;
當再次檢測到所述第一類型鎖操作時,將所述第一類型鎖操作下發到內存。
根據本發明的第二方面,提供一種鎖操作處理裝置,包括:檢測單元、下發單元以及設置單元;其中:
所述下發單元,用于當所述檢測單元檢測到第一類型鎖操作,且鎖資源的狀態為第一狀態時,將所述第一類型鎖操作下發到磁盤;其中,所述鎖資源的初始狀態為第一狀態;
所述設置單元,用于當所述下發單元將所述第一類型鎖操作下發到磁盤時,將所述鎖資源的狀態設置為第二狀態;
所述下發單元,還用于當所述檢測單元再次檢測到所述第一類型鎖操作時,將所述第一類型鎖操作下發到內存。
應用本發明公開的技術方案,當檢測到第一類型鎖操作,且鎖資源的狀態為第一狀態時,將第一類型鎖操作下發到磁盤,并將鎖資源的狀態設置為第二狀態;當再次檢測到第一類型鎖操作時,將第一類型鎖操作下發到內存,對于連續多次同一類型的鎖操作,僅需要進行一次實際的磁盤鎖操作,從而,減少了鎖操作在磁盤上的處理,提高了鎖操作處理性能。
附圖說明
圖1是本發明實施例提供的一種鎖操作處理方法的流程示意圖;
圖2A~2D是本發明實施例提供的具體實例中鎖操作的示意圖;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于新華三云計算技術有限公司,未經新華三云計算技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710330135.8/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:用于控制分布式鎖的方法和裝置
- 下一篇:信息推送方法和裝置





