新四季網

一種文件鎖實現方法及裝置製造方法

2023-05-10 12:06:46 2

一種文件鎖實現方法及裝置製造方法
【專利摘要】本發明公開一種文件鎖實現方法及裝置,當第一協議訪問文件系統時,該方法包括:將所述第一協議的打開open對象映射為第一文件鎖,其中,open對象是指一次打開open請求所產生的協議數據;根據預設的互斥規則將所述第一文件鎖和上一次訪問文件系統的第二協議對應的第二文件鎖做衝突判斷,根據衝突判斷結果返回創建open請求失敗或者允許第一協議訪問文件系統。本發明所提供的方法和裝置解決多個協議共存於一個網絡附屬存儲時,由於協議壁壘導致數據不能得到保護,文件數據容易被改寫的問題。
【專利說明】一種文件鎖實現方法及裝置

【技術領域】
[0001] 本發明涉及電子【技術領域】,尤其涉及一種文件鎖實現方法及裝置。

【背景技術】
[0002] 目前,網絡附屬存儲(Network Attached Storage, NAS)支持伺服器信息塊 (Server Message Block,SMB),網絡文件系統(Network File System,NFS),文件傳輸協議 (File Transfer Protocol,FTP),超文本傳輸協議(Hyper Text Transfer Protocol,HTTP) 等多種協議,當多種協議的客戶端同時工作在一個伺服器上時,由於協議之間的壁壘,只能 實現協議內的協議一致性,不能實現跨協議的協議一致性。基於上述原因會出現某一協議 訪問了一個已經被其他協議設置拒絕訪問的文件或者目錄,例如:用SMB協議創建的文件 在設置了排他訪問的時候依然可以被NFS協議打開或者刪除,兩個協議對文件系統操作的 流程如圖1所示,當SMB客戶端先打開一個文件filel並設置排他修改時,NFS客戶端的寫 請求就會直接修改filel,這就造成協議規則被破壞,數據不能得到保護,文件數據容易被改 寫,使得用戶體驗不好等問題。


【發明內容】

[0003] 本發明提供一種文件鎖實現方法及裝置,本發明所提供的方法和裝置解決多個協 議共存於一個網絡附屬存儲時,由於協議壁壘導致數據不能得到保護,文件數據容易被改 寫的問題。
[0004] 第一方面,本發明提供一種文件鎖實現方法,第一協議訪問文件系統時,該方法包 括:
[0005] 將所述第一協議的打開open對象映射為第一文件鎖,其中,open對象是指一次打 開open請求所產生的協議數據;
[0006] 根據預設的互斥規則將所述第一文件鎖和上一次訪問文件系統的第二協議對應 的第二文件鎖做衝突判斷,根據衝突判斷結果返回創建open請求失敗或者允許第一協議 訪問文件系統。
[0007] 結合第一方面,在第一種可能的實現方式中,所述衝突判斷包括;
[0008] 根據所述第二文件鎖確定所述第二協議是否允許其他open對象操作所述文件系 統;和/或
[0009] 根據所述第二文件鎖確定所述第二協議是否允許其他open對象緩存數據到所述 文件系統。
[0010] 結合第一方面的第一種可能的實現方式,在第二種可能的實現方式中,根據衝突 判斷結果返回創建open請求失敗或者允許第一協議訪問文件系統包括:
[0011] 當所述衝突判斷結果為所述第二協議不允許其他open對象操作所述文件系統, 則返回創建open請求失敗;否則允許第一協議訪問文件系統;
[0012] 當所述衝突判斷結果為所述第二協議不允許其他open對象緩存數據到所述文件 系統,則在召回第一協議已緩存的數據後,訪問所述文件系統。
[0013] 結合第一方面,或者第一方面的第一至二種可能的實現方式,在第三種可能的實 現方式中,根據預設的互斥規則將所述第一文件鎖和上一次訪問文件系統的第二協議對應 的第二文件鎖做衝突判斷包括:
[0014] 確定所述第二文件鎖中的第一標誌位與所述第一文件鎖中對應的第二標誌位不 相同,則以所述第一標誌位所指示的內容作為衝突判斷的結果。
[0015] 結合第一方面,或者第一方面的第一至三種可能的實現方式,在第三種可能的實 現方式中,當第一協議內部能夠生成open對象,則將所述第一協議的open對象映射為第一 文件鎖包括:
[0016] 確定第一協議的open對象是否有對文件系統的操作請求,如果有任一類型的操 作請求,則將所述第一文件鎖中與任一類型的操作對應的標誌位置位;
[0017] 確定第一協議的open對象是否允許其他open對象操作所述文件系統,如果允許 任一類型的操作,則將所述第一文件鎖中與任一類型的操作對應的標誌位置位;
[0018] 確定第一協議的open對象是否請求客戶端緩存,如果是,則將所述第一文件鎖中 與緩存對應的標誌位置位。
[0019] 結合第一方面的第四種可能的實現方式,在第五種可能的實現方式中,當第一協 議內部不會生成open對象,則確定第一協議的open對象是否有對文件系統的操作請求之 前,該方法還包括:
[0020] 生成臨時的協議open對象,並將所述臨時的協議open對象作為所述第一協議的 open對象。
[0021] 第二方面,本發明提供一種文件鎖實現裝置,第一協議訪問文件系統時,該裝置包 括:
[0022] 映射單元,用於將所述第一協議的打開open對象映射為第一文件鎖,其中,open 對象是指一次打開open請求所產生的協議數據;
[0023] 衝突判斷單元,用於根據預設的互斥規則將所述第一文件鎖和上一次訪問文件系 統的第二協議對應的第二文件鎖做衝突判斷,根據衝突判斷結果返回創建open請求失敗 或者允許第一協議訪問文件系統。
[0024] 結合第二方面,在第一種可能的實現方式中,衝突判斷單元具體用於根據所述第 二文件鎖確定所述第二協議是否允許其他open對象操作所述文件系統;和/或,根據所述 第二文件鎖確定所述第二協議是否允許其他open對象緩存數據到所述文件系統。
[0025] 結合第二方面的第一種可能的實現方式,在第二種可能的實現方式中,衝突判斷 單元具體用於當所述衝突判斷結果為所述第二協議不允許其他open對象操作所述文件系 統,則返回創建open請求失敗;否則允許第一協議訪問文件系統;當所述衝突判斷結果為 所述第二協議不允許其他open對象緩存數據到所述文件系統,則在召回第一協議已緩存 的數據後,訪問所述文件系統。
[0026] 結合第二方面,或者第二方面的第一至二種可能的實現方式,在第三種可能的實 現方式中,衝突判斷單元具體用於確定所述第二文件鎖中的第一標誌位與所述第一文件鎖 中對應的第二標誌位不相同,則以所述第一標誌位所指示的內容作為衝突判斷的結果。
[0027] 結合第二方面,或者第二方面的第一至三種可能的實現方式,在第三種可能的實 現方式中,當第一協議內部能夠生成open對象,則映射單元具體用於確定第一協議的open 對象是否有對文件系統的操作請求,如果有任一類型的操作請求,則將所述第一文件鎖中 與任一類型的操作對應的標誌位置位;確定第一協議的open對象是否允許其他open對象 操作所述文件系統,如果允許任一類型的操作,則將所述第一文件鎖中與任一類型的操作 對應的標誌位置位;確定第一協議的open對象是否請求客戶端緩存,如果是,則將所述第 一文件鎖中與緩存對應的標誌位置位。
[0028] 結合第二方面的第四種可能的實現方式,在第五種可能的實現方式中,當第一協 議內部不會生成open對象,則映射單元還用於生成臨時的協議open對象,並將所述臨時的 協議open對象作為所述第一協議的open對象。
[0029] 上述技術方案中的一個或兩個,至少具有如下技術效果:
[0030] 本發明實施例所提供的方法和裝置,每次open請求都會根據對應的open對象生 成一個文件鎖,所以每個文件鎖是與每個open對象對應的,不管第一協議和第二協議是否 相同,只要前一次open請求對文件系統進行了加鎖處理,則當前的open請求就需要依據互 斥規則做互斥判斷,只有當前的open請求對應的操作是文件系統已加文件鎖允許的操作 才能進行。所以本發明實施例提供的方法和裝置,可以融合異種協議,做到多種協議客戶端 對文件系統訪問的數據一致,從而保證了協議的完整性。

【專利附圖】

【附圖說明】
[0031] 圖1為現有技術中不同的兩個協議對文件系統操作的流程示意圖;
[0032] 圖2為本發明實施例提供的一種文件鎖實現方法的流程示意圖;
[0033] 圖3為本發明實施例中生成open對象的方法流程示意圖;
[0034] 圖4為本發明實施例中一種文件鎖實現裝置的結構示意圖。

【具體實施方式】
[0035] 為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例 中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是 本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員 在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。
[0036] 下面結合說明書附圖對本發明實施例作進一步詳細描述。
[0037] 如圖2所示,本發明實施例提供一種文件鎖實現方法,第一協議訪問文件系統時, 該方法包括:
[0038] 步驟201,將所述第一協議的打開open對象映射為第一文件鎖,其中,open對象是 指一次打開open請求所產生的協議數據;
[0039] 本發明實施例所提供的文件鎖(或稱為open鎖)用來整合異種協議的訪問排他 權限以及其他高級特性,即當各種協議要訪問某一個文件或者目錄時,都需要先生成一個 open鎖,每次open請求對應的open鎖標示了該open請求所要進行的操作以及對其他操作 的排他選項;然後用open鎖來做跨協議的互斥判斷。
[0040] 步驟202,根據預設的互斥規則將所述第一文件鎖和上一次訪問文件系統的第二 協議對應的第二文件鎖做衝突判斷,根據衝突判斷結果返回創建open請求失敗或者允許 第一協議訪問文件系統。
[0041] 在本發明實施例中,每次open請求都會根據對應的open對象生成一個open鎖, 所以每個open鎖是與每個open對象對應的,不管第一協議和第二協議是否相同,只要前一 次open請求對文件系統進行了加鎖處理,則當前的open請求就需要依據互斥規則做互斥 判斷,只有當前的open請求對應的操作是文件系統已加 open鎖允許的操作才能進行。
[0042] 在本發明實施例中,通過open鎖可以對用戶的多種操作進行互斥判斷,根據衝突 判斷結果返回創建open請求失敗或者允許第一協議訪問文件系統,可選的衝突判斷包括:
[0043] A,當所述衝突判斷結果為第二協議不允許其他open對象操作所述文件系統,則 返回創建open請求失敗;否則允許第一協議訪問文件系統;
[0044] 在該實施例中,對文件系統的操作包括修改、刪除、插入等一切協議可對文件系統 進行的操作。
[0045] B,當所述衝突判斷結果為所述第二協議不允許其他open對象緩存數據到所述文 件系統,則在召回第一協議已緩存的數據後,訪問所述文件系統。
[0046] 在該實施例中,第二協議相對於第一協議而言,是先對文件系統進行操作的協議, 所以在一般情況下,第一協議要對文件系統進行操作之前,都需要根據第二文件鎖中的標 示確定第二協議是否允許其他協議對文件系統進行操作,如果第二文件鎖標示不允許執行 的操作,第一協議則不能執行。
[0047] 上述對文件系統的操作以及數據緩存的判斷可以是同時進行的也可以有選擇的 進行。
[0048] 為了更清楚詳細的說明本發明實施例所提供文件鎖,以下對文件鎖的一種可實現 的生成方法做具體的說明,具體包括:
[0049] 在該實施例中,文件鎖可以包括3部分:用來做訪問排他的互斥的sharelock,用 來做客戶端緩存互斥的lease和做保留待後續擴充的reserved,可以用一個32bit的整數 標示,如表1 :
[0050]

【權利要求】
1. 一種文件鎖實現方法,其特徵在於,第一協議訪問文件系統時,該方法包括: 將所述第一協議的打開open對象映射為第一文件鎖,其中,open對象是指一次打開 open請求所產生的協議數據; 根據預設的互斥規則將所述第一文件鎖和上一次訪問文件系統的第二協議對應的第 二文件鎖做衝突判斷,根據衝突判斷結果返回創建open請求失敗或者允許第一協議訪問 文件系統。
2. 如權利要求1所述的方法,其特徵在於,所述衝突判斷包括; 根據所述第二文件鎖確定所述第二協議是否允許其他open對象操作所述文件系統; 和/或 根據所述第二文件鎖確定所述第二協議是否允許其他open對象緩存數據到所述文件 系統。
3. 如權利要求2所述的方法,其特徵在於,根據衝突判斷結果返回創建open請求失敗 或者允許第一協議訪問文件系統包括: 當所述衝突判斷結果為所述第二協議不允許其他open對象操作所述文件系統,則返 回創建open請求失敗;否則允許第一協議訪問文件系統; 當所述衝突判斷結果為所述第二協議不允許其他open對象緩存數據到所述文件系 統,則在召回第一協議已緩存的數據後,訪問所述文件系統。
4. 如權利要求1?3任一所述的方法,其特徵在於,根據預設的互斥規則將所述第一文 件鎖和上一次訪問文件系統的第二協議對應的第二文件鎖做衝突判斷包括: 確定所述第二文件鎖中的第一標誌位與所述第一文件鎖中對應的第二標誌位不相同, 則W所述第一標誌位所指示的內容作為衝突判斷的結果。
5. 如權利要求1?4任一所述的方法,其特徵在於,當第一協議內部能夠生成open對 象,則將所述第一協議的open對象映射為第一文件鎖包括: 確定第一協議的open對象是否有對文件系統的操作請求,如果有任一類型的操作請 求,則將所述第一文件鎖中與任一類型的操作對應的標誌位置位; 確定第一協議的open對象是否允許其他open對象操作所述文件系統,如果允許任一 類型的操作,則將所述第一文件鎖中與任一類型的操作對應的標誌位置位; 確定第一協議的open對象是否請求客戶端緩存,如果是,則將所述第一文件鎖中與緩 存對應的標誌位置位。
6. 如權利要求5所述的方法,其特徵在於,當第一協議內部不會生成open對象,則確定 第一協議的open對象是否有對文件系統的操作請求之前,該方法還包括: 生成臨時的協議open對象,並將所述臨時的協議open對象作為所述第一協議的open 對象。
7. -種文件鎖實現裝置,其特徵在於,第一協議訪問文件系統時,該裝置包括: 映射單元,用於將所述第一協議的打開open對象映射為第一文件鎖,其中,open對象 是指一次打開open請求所產生的協議數據; 衝突判斷單元,用於根據預設的互斥規則將所述第一文件鎖和上一次訪問文件系統的 第二協議對應的第二文件鎖做衝突判斷,根據衝突判斷結果返回創建open請求失敗或者 允許第一協議訪問文件系統。
8. 如權利要求7所述的裝置,其特徵在於,衝突判斷單元具體用於根據所述第二文件 鎖確定所述第二協議是否允許其他open對象操作所述文件系統;和/或,根據所述第二文 件鎖確定所述第二協議是否允許其他open對象緩存數據到所述文件系統。
9. 如權利要求8所述的裝置,其特徵在於,衝突判斷單元具體用於當所述衝突判斷結 果為所述第二協議不允許其他open對象操作所述文件系統,則返回創建open請求失敗;否 則允許第一協議訪問文件系統;當所述衝突判斷結果為所述第二協議不允許其他open對 象緩存數據到所述文件系統,則在召回第一協議已緩存的數據後,訪問所述文件系統。
10. 如權利要求7?9任一所述的裝置,其特徵在於,衝突判斷單元具體用於確定所述 第二文件鎖中的第一標誌位與所述第一文件鎖中對應的第二標誌位不相同,則W所述第一 標誌位所指示的內容作為衝突判斷的結果。
11. 如權利要求7?10任一所述的裝置,其特徵在於,當第一協議內部能夠生成open 對象,則映射單元具體用於確定第一協議的open對象是否有對文件系統的操作請求,如果 有任一類型的操作請求,則將所述第一文件鎖中與任一類型的操作對應的標誌位置位;確 定第一協議的open對象是否允許其他open對象操作所述文件系統,如果允許任一類型的 操作,則將所述第一文件鎖中與任一類型的操作對應的標誌位置位;確定第一協議的open 對象是否請求客戶端緩存,如果是,則將所述第一文件鎖中與緩存對應的標誌位置位。
12. 如權利要求11所述的裝置,其特徵在於,當第一協議內部不會生成open對象,則映 射單元還用於生成臨時的協議open對象,並將所述臨時的協議open對象作為所述第一協 議的open對象。
【文檔編號】G06F21/62GK104463010SQ201410616691
【公開日】2015年3月25日 申請日期:2014年10月31日 優先權日:2014年10月31日
【發明者】梁建業, 向光友, 劉軍 申請人:華為技術有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀