[發明專利]基于自適應樂觀鎖的文件鎖定方法、系統及存儲介質在審
| 申請號: | 202110294190.2 | 申請日: | 2021-03-19 |
| 公開(公告)號: | CN112988687A | 公開(公告)日: | 2021-06-18 |
| 發明(設計)人: | 朱黎;劉遠;郭鑌 | 申請(專利權)人: | 北京明略昭輝科技有限公司 |
| 主分類號: | G06F16/176 | 分類號: | G06F16/176;G06F9/50;G06F9/54 |
| 代理公司: | 青島清泰聯信知識產權代理有限公司 37256 | 代理人: | 趙燕 |
| 地址: | 100089 北京市海淀區*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 自適應 樂觀 文件 鎖定 方法 系統 存儲 介質 | ||
本申請涉及一種基于自適應樂觀鎖的文件鎖定方法、系統、電子設備及存儲介質,其中,該方法包括:訪問請求獲取步驟,用于接收客戶端的文件訪問請求并通過等待隊列緩存訪問請求對應的鎖請求;鎖沖突判斷步驟,用于當已分配鎖發生資源釋放時,獲取等待隊列中隊首鎖請求,判斷隊首鎖請求是否與隊首鎖請求對應的文件中已有鎖請求的范圍存在沖突;請求處理步驟,用于當隊首鎖請求與文件中已存在的鎖請求無沖突時,賦予所述隊首鎖請求對應的資源;反之,根據隊首鎖請求與已有鎖請求的沖突范圍是否屬于擴展范圍獲取釋放資源。通過本申請,解決了解決樂觀鎖機制面臨多個進程交錯訪問文件的不同范圍時鎖請求效率降低的問題,提高請求處理效率。
技術領域
本申請涉及計算機技術領域,特別是涉及基于自適應樂觀鎖的文件鎖定方法、系統、電子設備及計算機可讀存儲介質。
背景技術
當多個進程對同一文件進行訪問時,為了避免并發操作引起的數據混亂,通常會對需要操作的文件進行加鎖。但如果不同進程訪問的是該文件的不同區間數據,那么對整個文件加鎖的開銷就相對較高,這種情況下需要使用字節范圍鎖來減少沖突。范圍鎖鎖定的是文件當中的某個區域,對同一文件可以允許多個范圍鎖,從而提高多進程同時訪問的并發度。但是在單個進程多次訪問同一文件的不同區域的情況下,字節范圍鎖的效率就不如文件鎖。
目前采用樂觀鎖機制來解決范圍鎖在單個進程多次訪問同一文件不同區域時效率較低的問題。樂觀鎖機制的主要思想如圖1所示:在收到對文件某個區域的訪問請求時,根據已經分配的鎖范圍,給予該請求進程包括請求區域在內的最大范圍鎖。也就是說請求進程得到的不是請求鎖的準確范圍,而是在不與當前已有的其他范圍鎖發生沖突的前提下,覆蓋請求鎖范圍,同時擴展了與請求范圍連續的最大范圍。
現有技術對單個進程多次訪問某一文件的不同范圍時非常有效,但如果有多個進程需要交錯訪問文件的不同范圍時,這種樂觀鎖機制又很容易造成沖突,從而需要大量的釋放鎖操作,這樣會導致鎖請求的效率大大降低,并且會造成網絡負載增多以及操作延遲。
發明內容
本申請實施例提供了一種基于自適應樂觀鎖的文件鎖定方法、系統、電子設備及計算機可讀存儲介質,以至少解決樂觀鎖機制面臨多個進程交錯訪問文件的不同范圍時鎖請求效率降低的問題。
第一方面,本申請實施例提供了一種基于自適應樂觀鎖的文件鎖定方法,包括:
訪問請求獲取步驟,用于接收一客戶端的文件訪問請求并通過一等待隊列緩存所述訪問請求對應的鎖請求;
鎖沖突判斷步驟,用于當已分配鎖發生資源釋放時,獲取所述等待隊列中隊首鎖請求,判斷所述隊首鎖請求是否與所述隊首鎖請求對應的文件中已有鎖請求的范圍存在沖突;
請求處理步驟,用于當所述隊首鎖請求與所述文件中已存在的鎖請求無沖突時,賦予所述隊首鎖請求對應的資源;反之,根據所述隊首鎖請求與所述已有鎖請求的沖突范圍是否屬于擴展范圍獲取釋放資源。
基于上述步驟,本申請實施例對所有的鎖請求均通過所述等待隊列進行緩存,并取所述等待隊列隊首鎖請求判斷其是否與已有鎖請求沖突,解決了在多個進程交錯訪問文件的情況下大量釋放鎖操作導致的鎖請求處理效率低下的問題,降低操作延遲,提高請求處理效率。
在其中一些實施例中,所述請求處理步驟進一步包括:
請求資源賦予步驟,用于當所述隊首鎖請求與所述文件中已有鎖請求無沖突時,賦予所述隊首鎖請求對應的資源;
擴展范圍判斷步驟,用于判斷所述隊首鎖請求與所述已有鎖請求的沖突范圍是否屬于擴展范圍;
資源釋放步驟,用于若所述沖突范圍屬于拓展范圍,則當所述已有鎖請求所屬客戶端釋放所述擴展范圍資源時,即為對所述擴展范圍的資源進行解鎖時,根據所述隊首鎖請求對所述擴展范圍進行加鎖,并將所述隊首鎖請求移出所述等待隊列;否則,所述隊首鎖請求等待所述已有鎖請求釋放資源并執行所述鎖沖突判斷步驟。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京明略昭輝科技有限公司,未經北京明略昭輝科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110294190.2/2.html,轉載請聲明來源鉆瓜專利網。





