一種多用戶共享同一文件的方法
【專利摘要】本申請公開了一種多用戶共享同一文件的實現方法,為每個共享文件都配置一組文件操作計數器,在有新的文件操作請求時,根據該請求所提供的請求模式和共享模式,以及當前維護的一組用戶數計數器,可以快速判斷所請求的文件操作是否會導致文件共享的沖突問題。基于此,采用本發明可以有效提高多用戶共享同一文件的管理維護效率。
【專利說明】—種多用戶共享同一文件的方法
【技術領域】
[0001]本發明涉及計算機存儲【技術領域】,特別是涉及一種面向分布式文件系統的客戶端多用戶共享同一文件的管理方法。
【背景技術】
[0002]分布式文件系統包括客戶端和服務端。客戶端和服務端是不可分割的整體,要使用分布式文件系統,需要由客戶端來訪問,由服務端來存儲大量的數據內容。
[0003]分布式文件系統客戶端程序作為存儲系統的結構模型中的訪問層,可以將本地電腦的文件保存到互聯網上的服務器中,也可以像操作本地文件系統一樣操作該系統。同時用戶可以隨時通過其它安裝有該分布式文件系統客戶端的電腦,快速地訪問和獲取屬于該用戶的文件。
[0004]文件共享問題是個由來已久的問題,在分布式文件系統客戶端中自然也是不可避免的,要處理好這一問題,既要保證數據的安全性,又要保證處理方式的高效性,以免影響程序的整體性能。
[0005]通常用戶在請求一個文件時必須提供兩個模式,其一是請求模式,即該用戶需要對文件進行什么操作(讀、寫、刪除及其組合),其二是共享模式,即該用戶允許其他用戶進行什么操作。對同一文件而言,系統會為所有請求此文件的用戶保存其請求模式和共享模式,并且保證任一用戶的請求(共享)模式與其他用戶的共享(請求)模式不沖突。沖突檢測是一個至關重要的問題,是保證數據安全性必不可少的,最直接的方法是將新用戶的請求(共享)模式與之前所有用戶的共享(請求)模式一一比較,這種方法雖然簡單、容易實現,但效率非常低下。對于網絡文件系統而言,這種低效率會導致極差的用戶體驗。
【發明內容】
[0006]有鑒于此,本發明的主要目的在于提供一種多用戶共享同一文件的方法,該方法是可有效提高文件共享的管理維護效率。
[0007]為了達到上述目的,本發明提出的技術方案為:
[0008]一種多用戶共享同一文件的實現方法,其特征在于,包括:
[0009]步驟101、當分布式文件系統接收到對一共享文件F進行文件操作的請求時,根據所述請求中的請求模式信息和共享模式信息、以及當前維護的一組所述共享文件F的文件操作計數器,對所述請求進行沖突檢查;所述文件操作包括讀、寫和/或刪除操作的任一組合;
[0010]步驟102、當所述檢查結果為存在沖突時,向所述請求對應的用戶發送請求失敗的指示信息;
[0011]步驟103、當所述檢查結果為不存在沖突時,為該請求建立相應的客戶端文件操作對象ClientFile,并根據所述請求中的請求模式信息和共享模式信息,更新所述共享文件F的文件操作計數器;當所述請求的操作完成時,銷毀所述客戶端文件操作對象,根據所述請求中的請求模式信息和共享模式信息,更新所述共享文件F的文件操作計數器。
[0012]綜上所述,本發明提出的多用戶共享同一文件的實現方法,為每個共享文件都配置一組文件操作計數器,在有新的文件操作請求時,根據該請求所提供的請求模式和共享模式,以及當前維護的一組用戶數計數器,可以快速判斷所請求的文件操作是否會導致文件共享的沖突問題,因此,可以有效提高多用戶共享同一文件的管理維護效率。
【專利附圖】
【附圖說明】
[0013]圖1為本發明實施例一的流程示意圖。
【具體實施方式】
[0014]為使本發明的目的、技術方案和優點更加清楚,下面將結合附圖及具體實施例對本發明作進一步地詳細描述。
[0015]本發明的核心思想是:對于每個需要共享的文件,配置并維護一組用戶數計數器,用于對當前對該文件進行讀、寫、刪除以及不共享讀、寫、刪除的用戶進行統計,這樣,當有新的文件操作請求時,可以根據該新的文件操作請求提供的請求模式和共享模式,以及當前維護的一組用戶數計數器,快速判斷出所請求的文件操作是否會導致文件共享的沖突問題,從而可以提高多用戶共享同一文件的管理維護效率。
[0016]圖1為本發明實施例一的流程示意圖,如圖1所示,該實施例主要包括:
[0017]步驟101、當分布式文件系統接收到對一共享文件F進行文件操作的請求時,根據所述請求中的請求模式信息和共享模式信息、以及當前維護的一組所述共享文件F的文件操作計數器,對所述請求進行沖突檢查。
[0018]所述文件操作包括讀、寫和/或刪除操作的任一組合。
[0019]本步驟中,系統在接收到文件操作請求時,需要先進行沖突檢查,這里與現有系統所不同的是,需要針對每一個共享文件維護一組文件操作計數器,用于統計針對該共享文件當前已接受且未完成的各文件操作的請求次數、以及當前已接受且未完成的對各文件操作請求不共享的次數,以便基于此進行沖突檢查。如此只需要根據當前請求文件操作的請求模式信息和共享模式信息以及共享文件的一組計數器即可實現沖突檢查,而不需要考慮其他已接受請求的請求模式信息和共享模式信息,因此,實現復雜度很低,可有效提高文件共享的管理維護效率。
[0020]具體地,一組文件操作計數器可以包括以下計數器:
[0021]用于統計當前已接受且未完成的針對所述共享文件F進行讀操作的請求數計數器Si ;
[0022]用于統計當前已接受且未完成的針對所述共享文件F進行寫操作的請求數計數器S2 ;
[0023]用于統計當前已接受且未完成的針對所述共享文件F進行刪除操作的請求數計數器S3;
[0024]用于統計當前已接受且未完成的針對所述共享文件F不共享讀操作的請求數計數器S4;
[0025]用于統計當前已接受且未完成的針對所述共享文件F不共享寫操作的請求數計數器S5 ;
[0026]用于統計當前已接受且未完成的針對所述共享文件F不共享刪除操作的請求數計數器S6。
[0027]較佳地,針對所述請求進行沖突檢查時所依據的具體沖突判斷規則如下:
[0028]當所述請求的請求模式信息包含讀操作時,如果所述計數器S4大于0,則判定存在沖突;
[0029]當所述請求的請求模式信息包含寫操作時,如果所述計數器S5大于0,則判定存在沖突;
[0030]當所述請求的請求模式信息包含刪除操作時,如果所述計數器S6大于0,則判定存在沖突;
[0031]當所述請求的共享模式信息不包含讀操作時,如果所述計數器SI大于0,則判定存在沖突;
[0032]當所述請求的共享模式信息不包含寫操作時,如果所述計數器S2大于0,則判定存在沖突;
[0033]當所述請求的共享模式信息不包含刪除操作時,如果所述計數器S3大于0,則判定存在沖突。
[0034]步驟102、當所述檢查結果為存在沖突時,向所述請求對應的用戶發送請求失敗的指示信息。
[0035]這里在檢查到沖突時將拒絕所述文件操作的請求,以避免與之前已接受的文件操作請求發生沖突,確保文件共享的可靠性。因此本步驟中將向發出文件請求的用戶發出請求失敗的信息。
[0036]步驟103、當所述檢查結果為不存在沖突時,為該請求建立相應的客戶端文件操作對象ClientFile,并根據所述請求中的請求模式信息和共享模式信息,更新所述共享文件F的文件操作計數器;當所述請求的文件操作完成時,銷毀所述的客戶端文件操作對象,根據所述請求中的請求模式信息和共享模式信息,更新所述共享文件F的文件操作計數器。
[0037]本步驟中,在檢查到當前的請求與已接受的正在進行的文件操作不發生沖突時,則接受該請求,即為其建立客戶端文件操作對象,以便用戶可利用該客戶端文件操作對象進行文件操作,具體地,用戶利用該客戶端文件操作對象進行文件操作的方法同現有系統,在此不再贅述。
[0038]這里與現有系統所不同的是,在接受請求時和在請求的文件操作完成時,均需要對共享文件的一組文件操作計數器進行相應的更新,即在接受請求時需要將所述請求中的請求模式信息和共享模式信息分別對應的計數器的值進行相應的加一,在文件操作完成時,將所述請求中的請求模式信息和共享模式信息分別對應的計數器的值進行相應的減一,以確保共享文件的該組文件操作計數器對文件操作統計的有效性,進而確保文件共享的可靠性。
[0039]綜上所述,以上僅為本發明的較佳實施例而已,并非用于限定本發明的保護范圍。凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。
【權利要求】
1.一種多用戶共享同一文件的實現方法,其特征在于,包括:步驟101、當分布式文件系統接收到對一共享文件F進行文件操作的請求時,根據所述請求中的請求模式信息和共享模式信息、以及當前維護的一組所述共享文件F的文件操作計數器,對所述請求進行沖突檢查;所述文件操作包括讀、寫和/或刪除操作的任一組合;步驟102、當所述檢查結果為存在沖突時,向所述請求對應的用戶發送請求失敗的指示信息; 步驟103、當所述檢查結果為不存在沖突時,為該請求建立相應的客戶端文件操作對象ClientFile,并根據所述請求中的請求模式信息和共享模式信息,更新所述共享文件F的文件操作計數器;當所述請求的文件操作完成時,銷毀所述客戶端文件操作對象,根據所述請求中的請求模式信息和共享模式信息,更新所述共享文件F的文件操作計數器。
2.根據權利要求1所述的方法,其特征在于,所述文件操作計數器包括:用于統計當前已接受且未完成的針對所述共享文件F進行讀操作的請求數計數器SI ;用于統計當前已接受且未完成的針對所述共享文件F進行寫操作的請求數計數器S2;用于統計當前已接受且未完成的針對所述共享文件F進行刪除操作的請求數計數器S3;用于統計當前已接受且未完成的針對所述共享文件F不共享讀操作的請求數計數器S4;用于統計當前已接受且未完成的針對所述共享文件F不共享寫操作的請求數計數器S5;用于統計當前已接受且未完成的針對所述共享文件F不共享刪除操作的請求數計數器S6。
3.根據權利要求2所述的方法,其特征在于,步驟a中進行所述沖突檢查時依據的沖突判斷規則包括: 當所述請求的請求模式信息包含讀操作時,如果所述計數器S4大于0,則判定存在沖關; 當所述請求的請求模式信息包含寫操作時,如果所述計數器S5大于0,則判定存在沖關; 當所述請求的請求模式信息包含刪除操作時,如果所述計數器S6大于0,則判定存在沖關; 當所述請求的共享模式信息不包含讀操作時,如果所述計數器Si大于0,則判定存在沖關; 當所述請求的共享模式信息不包含寫操作時,如果所述計數器S2大于0,則判定存在沖關; 當所述請求的共享模式信息不包含刪除操作時,如果所述計數器S3大于0,則判定存在沖突。
【文檔編號】G06F17/30GK103678525SQ201310629397
【公開日】2014年3月26日 申請日期:2013年11月29日 優先權日:2013年11月29日
【發明者】易淑文, 陽小鮮 申請人:創新科軟件技術(深圳)有限公司, 創新科存儲技術有限公司