一種訪問分布式集群文件系統方法及系統的制作方法
【專利摘要】本發明公開了一種訪問分布式集群文件系統方法及系統,包括:其中一個客戶端預先配置每個客戶端目錄配額值,將配置好的客戶端目錄配額值發送給元數據服務器并保存在元數據服務器中;還包括:當客戶端有數據寫入時,通知元數據服務器;元數據服務器根據來自客戶端的通知,比較客戶端目錄已用空間大小與客戶端目錄配額值的大小,在客戶端目錄已用空間大小小于所述客戶端目錄配額值,通知客服端接受所述數據寫入。本申請的技術方案實現了分布式集群存儲系統的目錄配額功能,并依據配置的客戶端目錄配額值提示客戶端對寫入數據進行處理,避免了數據的丟失。
【專利說明】一種訪問分布式集群文件系統方法及系統
【技術領域】
[0001] 本發明涉及分布式集群技術,尤指一種訪問分布式集群文件系統方法及裝置。
【背景技術】
[0002] 目前,PB級的集群存儲系統已經在某些行業正式運行,會有大量的、不同操作系統 類型的用戶訪問集群存儲系統,這樣就會對客戶端目錄容量配置有了需求。關于目錄配額 的應用,使用服務器自帶的硬盤針對基于磁盤的配額設置技術已經很成熟,但是現有的這 種技術是無法實現分布式集群存儲系統的目錄配額功能的,很多情況下只能使用用戶配額 來限制用戶的訪問空間的替代方案,這就使得用戶在存儲數據時可以存儲一定容量大小的 數據,但是當訪問這些數據時可能就會花費很長時間去尋找這些數據。所以,如何實現分布 式集群文件系統目錄配額的功能是一個亟需解決的技術問題。
【發明內容】
[0003] 為了解決上述技術問題,本發明提供了一種訪問分布式集群文件系統方法及系 統,能夠實現分布式集群存儲系統的目錄配額功能,從而能夠使得客戶端方便快捷的訪問 分布式集群存儲系統。
[0004] 為了達到上述發明目的,本發明公開了一種訪問分布式集群文件系統方法,包括 以下步驟:其中一個客戶端預先配置各個客戶端目錄配額值,將配置好的客戶端目錄配額 值發送給元數據服務器并保存在元數據服務器中;還包括 :
[0005] 當客戶端有數據寫入時,通知元數據服務器;
[0006] 元數據服務器比較客戶端目錄已用空間大小與客戶端目錄配額值的大小,在客戶 端目錄已用空間大小小于所述客戶端目錄配額值,通知客服端接受所述數據寫入。
[0007] 進一步地,比較出客戶端目錄已用空間大小大于或等于所述客戶端目錄配額值 時,所述元數據服務器通知客戶端拒絕所述數據寫入。
[0008] 進一步地,在比較客戶端目錄已用空間大小與客戶端目錄配額值之前,上述方法 還包括:
[0009] 該元數據服務器獲取該客戶端目錄已用空間大小。
[0010] 進一步地,上述客戶端的系統為Linux操作系統或Windows操作系統。
[0011] 本發明還公開了一種訪問分布式集群文件系統系統,包括:一個或一個以上的客 戶端和元數據服務器;其中,
[0012] 每個客戶端,均用于當有數據寫入時,通知元數據服務器;
[0013] 其中一個客戶端,還用于預先配置每個客戶端目錄配額值,將配置好的客戶端目 錄配額值發送給元數據服務器并保存在元數據服務器中;
[0014] 元數據服務器,用于比較客戶端目錄已用空間大小與客戶端目錄配額值的大小, 在客戶端目錄已用空間大小小于所述客戶端目錄配額值,通知客服端接受所述數據寫入。
[0015] 進一步地,元數據服務器還用于:
[0016] 比較出客戶端目錄已用空間大小大于或等于所述客戶端目錄配額值時,通知客戶 端拒絕所述數據寫入。
[0017] 進一步地,元數據服務器,還用于獲取所述客戶端目錄已用空間大小。
[0018] 進一步地,客戶端的系統為Linux操作系統或Windows操作系統。
[0019] 本申請技術方案包括:其中一個客戶端預先配置各個客戶端目錄配額值,將配置 好的客戶端目錄配額值發送給元數據服務器并保存在元數據服務器中;還包括:當客戶端 有數據寫入時,通知元數據服務器;元數據服務器根據來自客戶端的通知,比較客戶端目錄 已用空間大小與客戶端目錄配額值的大小,在客戶端目錄已用空間大小小于所述客戶端目 錄配額值,通知客服端接受所述數據寫入。本申請的技術方案實現了分布式集群存儲系統 的目錄配額功能,并依據配置的客戶端目錄配額值提示客戶端對寫入數據進行處理,避免 了數據的丟失。
【專利附圖】
【附圖說明】
[0020] 此處所說明的附圖用來提供對本發明的進一步理解,構成本申請的一部分,本發 明的示意性實施例及其說明用于解釋本發明,并不構成對本發明的不當限定。在附圖中:
[0021] 圖1為本發明訪問分布式集群文件系統方法的流程圖;
[0022] 圖2為本發明訪問分布式集群文件系統系統的結構示意圖。
【具體實施方式】
[0023] 下面結合附圖及具體實施例對本發明進行詳細說明。
[0024] 圖1為本發明訪問分布式集群文件系統方法的流程圖,如圖1所示,包括以下步 驟:
[0025] 步驟101,其中一個客戶端預先配置每個客戶端目錄配額值,將配置好的客戶端目 錄配額值發送給元數據服務器并保存在元數據服務器中。
[0026] 需要說明的是,配置好的客戶端目錄配額值可以存儲在元數據服務器中的數據結 構inode中。
[0027] 本發明所說的目錄配額值是指客戶端在分布式集群文件系統中所分配的的存儲 容量的上限值。關于配置每個客戶端目錄配額值,所有客戶端中有一個管理員客戶端,可以 獲知其他各個客戶端的信息,根據各個客戶端實際的應用情況在該管理員客戶端對所有的 客戶端(包括自身)設置目錄配額值,例如,可以是管理所有客戶端的管理員客戶端,本領 域技術人員熟知如何設置,此處不再贅述。
[0028] 需要說明的是,當客戶端有數據寫入分布式集群文件系統中的某個文件時,會自 動將文件的創建者、文件的創建日期、文件的修改日期和文件的大小等基本屬性保存或更 新到元數據服務器中,這些信息都存儲在對應的inode中,并且管理員客戶端根據各個客 戶端的信息預先設置各個客戶端目錄配額值。
[0029] 步驟102,當客戶端有數據寫入時,通知元數據服務器。
[0030] 本步驟需要說明的是,客戶端有數據寫入時,客戶端需要與元數據服務器建立消 息通信,建好后,客戶端向元數據服務器發送通知。
[0031] 步驟103,元數據服務器比較客戶端目錄已用空間大小與客戶端目錄配額值的大 小,若客戶端目錄已用空間大小小于該客戶端目錄配額值,通知客服端接受數據寫入。
[0032] 上述方法還包括:比較出客戶端目錄已用空間大小大于或等于該客戶端目錄配額 值時,元數據服務器通知客戶端拒絕所述數據寫入。
[0033] 在步驟103之前,本發明方法還包括:元數據服務器獲取該客戶端目錄已用空間 大小。
[0034] 上述方法中,客戶端的系統為Linux操作系統或Windows操作系統。
[0035] 需要說明的是,當客戶端目錄配額已滿,客戶端可以申請重新配置客戶端目錄配 額值,這并不影響本發明的上述方法思想。
[0036] 本發明方法通過對各個客戶端配置客戶端目錄配額值,并將配置好的配額值發送 給元數據服務器,實現了分布式集群存儲系統的目錄配額功能,并依據配置的客戶端目錄 配額值提示客戶端對寫入數據進行處理,避免了數據的丟失。
[0037] 圖2為本發明訪問分布式集群文件系統系統的結構示意圖,如圖2所示,包括:一 個或一個以上的客戶端和元數據服務器。其中,
[0038] 每個客戶端,均用于當有數據寫入時,通知元數據服務器。
[0039] 其中一個客戶端,還用于預先配置每個客戶端目錄配額值,將配置好的客戶端目 錄配額值發送給元數據服務器并保存在元數據服務器中。
[0040] 需要說明的是,配置好的客戶端目錄配額值存儲在元數據服務器的數據結構 (inode)中。
[0041] 元數據服務器,用于根據來自客戶端的通知,比較客戶端目錄已用空間大小與客 戶端目錄配額值的大小,若客戶端目錄已用空間大小小于所述客戶端目錄配額值,通知接 受數據寫入。
[0042] 進一步地,元數據服務器,還用于:比較出客戶端目錄已用空間大小大于或等于所 述客戶端目錄配額值時,通知客戶端拒絕所述數據寫入。
[0043] 進一步地,元數據服務器,還用于獲取所述客戶端目錄已用空間大小。
[0044] 上述客戶端的系統為Linux操作系統或Windows操作系統。
[0045] 本領域普通技術人員可以理解上述方法中的全部或部分步驟可通過程序來指令 相關硬件完成,所述程序可以存儲于計算機可讀存儲介質中,如只讀存儲器、磁盤或光盤 等。可選地,上述實施例的全部或部分步驟也可以使用一個或多個集成電路來實現。相應 地,上述實施例中的各模塊/單元可以采用硬件的形式實現,也可以采用軟件功能模塊的 形式實現。本申請不限制于任何特定形式的硬件和軟件的結合。
[0046] 以上所述,僅為本發明的較佳實例而已,并非用于限定本發明的保護范圍。凡在本 發明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發明的保護范 圍之內。
【權利要求】
1. 一種訪問分布式集群文件系統方法,其特征在于,其中一個客戶端預先配置各個客 戶端目錄配額值,將配置好的客戶端目錄配額值發送給元數據服務器并保存在元數據服務 器中;還包括: 當客戶端有數據寫入時,通知元數據服務器; 元數據服務器比較客戶端目錄已用空間大小與客戶端目錄配額值的大小,在客戶端目 錄已用空間大小小于所述客戶端目錄配額值,通知客服端接受所述數據寫入。
2. 根據權利要求1所述的方法,其特征在于,所述比較出客戶端目錄已用空間大小大 于或等于所述客戶端目錄配額值時,所述元數據服務器通知客戶端拒絕所述數據寫入。
3. 根據權利要求1或2所述的方法,其特征在于,在所述比較客戶端目錄已用空間大小 與客戶端目錄配額值之前,所述方法還包括: 所述元數據服務器獲取所述客戶端目錄已用空間大小。
4. 根據權利要求1或2所述的方法,其特征在于,所述客戶端的系統為Linux操作系統 或Windows操作系統。
5. -種訪問分布式集群文件系統系統,其特征在于,包括:一個或一個以上的客戶端 和元數據服務器;其中, 每個客戶端,均用于當有數據寫入時,通知元數據服務器; 其中一個客戶端,還用于預先配置每個客戶端目錄配額值,將配置好的客戶端目錄配 額值發送給元數據服務器并保存在元數據服務器中; 元數據服務器,用于比較客戶端目錄已用空間大小與客戶端目錄配額值的大小,在客 戶端目錄已用空間大小小于所述客戶端目錄配額值,通知客服端接受所述數據寫入。
6. 根據權利要求5所述的裝置,其特征在于,所述元數據服務器還用于: 比較出客戶端目錄已用空間大小大于或等于所述客戶端目錄配額值時,通知客戶端拒 絕所述數據寫入。
7. 根據權利要求5或6所述的系統,其特征在于,所述元數據服務器,還用于獲取所述 客戶端目錄已用空間大小。
8. 根據權利要求5或6所述的系統,其特征在于,客戶端的系統為Linux操作系統或 Windows操作系統。
【文檔編號】H04L29/08GK104158858SQ201410368101
【公開日】2014年11月19日 申請日期:2014年7月29日 優先權日:2014年7月29日
【發明者】張延良 申請人:浪潮(北京)電子信息產業有限公司