本發(fā)明涉及存儲技術領域,特別涉及一種分布式文件系統(tǒng)的磁盤配額管理系統(tǒng)及方法。
背景技術:
當前,隨著數據時代的到來,日常需要存儲的數據量越來越大,在這種背景下,網絡存儲技術開始得到了廣泛地應用。
分布式文件系統(tǒng)作為網絡存儲技術中的重要組成部分,能夠為多用戶提供文件系統(tǒng)資源服務。分布式文件系統(tǒng)能夠為每個客戶端分配一定額度的磁盤空間,當某一客戶端上的磁盤空間使用量超過相應的磁盤配額時,分布式文件系統(tǒng)將會限制該客戶端對磁盤空間的使用,從而能夠達到對磁盤空間的管控目的。而如何對分布式文件系統(tǒng)中的磁盤配額進行統(tǒng)一管理則是目前有待解決的問題。
技術實現要素:
有鑒于此,本發(fā)明的目的在于提供一種分布式文件系統(tǒng)的磁盤配額管理系統(tǒng)及方法,實現了對分布式文件系統(tǒng)中的磁盤配額進行統(tǒng)一管理的目的。其具體方案如下:
一種分布式文件系統(tǒng)的磁盤配額管理系統(tǒng),包括元數據服務器和N個客戶端,N為正整數;其中,所述元數據服務器包括:
信息記錄模塊,用于記錄所有客戶端上的磁盤配額信息,得到相應的全局配額信息;
配額管理模塊,用于當任一客戶端的磁盤配額信息發(fā)生變化,則獲取該客戶端發(fā)送的相應的配額信息變更請求,并將所述配額信息變更請求發(fā)送至所述信息記錄模塊,以利用所述配額信息變更請求,對所述全局配額信息進行相應地更新。
優(yōu)選的,任一客戶端均包括:
配額維護模塊,用于對該客戶端的磁盤配額進行維護管理;
請求生成模塊,用于在所述配額維護模塊對該客戶端的磁盤配額進行維護管理的過程中,若該客戶端的磁盤配額發(fā)生變化,則生成相應的配額信息變更請求;
請求發(fā)送模塊,用于將所述請求生成模塊生成的配額信息變更請求發(fā)送至所述信息記錄模塊,以利用該配額信息變更請求,對所述全局配額信息進行相應地更新。
優(yōu)選的,所述配額維護模塊包括配額設置單元和/或配額修改單元和/或配額刪除單元;其中,
所述配額設置單元,用于對相應客戶端的磁盤配額進行設置;
所述配額修改單元,用于對相應客戶端的磁盤配額進行修改處理;
所述配額刪除單元,用于對相應客戶端的磁盤配額進行刪除處理。
優(yōu)選的,任一客戶端還包括:
配額查詢模塊,用于對該客戶端的磁盤配額進行查詢處理。
優(yōu)選的,所述元數據服務器還包括:
空間使用量記錄模塊,用于記錄所有客戶端上的磁盤空間使用量,得到相應的全局使用量信息;
空間使用量同步模塊,用于將所述空間使用量記錄模塊記錄的全局使用量信息同步至每一客戶端。
優(yōu)選的,任一客戶端還包括:
空間使用量監(jiān)視模塊,用于對該客戶端的磁盤空間使用量進行監(jiān)視;
空間變化量上報模塊,用于當所述空間使用量監(jiān)視模塊監(jiān)視到該客戶端的磁盤空間使用量發(fā)生變化,并且在滿足預設上報條件的情況下,將相應的空間變化量發(fā)送至所述空間使用量記錄模塊,以利用該空間變化量對所述全局使用量信息進行相應地更新。
優(yōu)選的,所述元數據服務器還包括:
空間變化量廣播模塊,用于當所述空間使用量記錄模塊接收到任一客戶端發(fā)送的空間變化量,則將該空間變換量廣播至其他客戶端,以利用該空間變化量,對其他客戶端中保存的全局使用量信息進行相應地更新。
優(yōu)選的,所述元數據服務器還包括配額信息同步模塊,用于將所述信息記錄模塊記錄的全局配額信息同步至每一客戶端。
優(yōu)選的,所述元數據服務器還包括:
配額信息廣播模塊,用于當所述配額管理模塊接收到任一客戶端發(fā)送的配額信息變更請求,則將與該配額信息變更請求對應的配額變更信息分別廣播至其他客戶端,以利用該配額變更信息,對其他客戶端中保存的全局配額信息進行相應地更新。
本發(fā)明還公開了一種分布式文件系統(tǒng)的磁盤配額管理方法,包括:
記錄所有客戶端上的磁盤配額信息,得到相應的全局配額信息;
當任一客戶端的磁盤配額信息發(fā)生變化,則獲取該客戶端發(fā)送的相應的配額信息變更請求;
利用所述配額信息變更請求,對所述全局配額信息進行相應地更新。
本發(fā)明中,磁盤配額管理系統(tǒng)包括元數據服務器和N個客戶端;其中,元數據服務器包括:信息記錄模塊,用于記錄所有客戶端上的磁盤配額信息,得到相應的全局配額信息;配額管理模塊,用于當任一客戶端的磁盤配額信息發(fā)生變化,則獲取該客戶端發(fā)送的相應的配額信息變更請求,并將配額信息變更請求發(fā)送至信息記錄模塊,以利用配額信息變更請求,對全局配額信息進行相應地更新。可見,本發(fā)明中,元數據服務器中的信息記錄模塊記錄所有客戶端上的磁盤配額信息,當客戶端上的磁盤配額信息發(fā)生變化時,則會對信息記錄模塊中記錄的全局配額信息進行相應地更新管理,這樣能夠讓元數據服務器及時地獲知當前分布式文件系統(tǒng)的所有客戶端中最新的磁盤配額信息,由此可實現對分布式文件系統(tǒng)中的磁盤配額進行統(tǒng)一管理的目的。
附圖說明
為了更清楚地說明本發(fā)明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據提供的附圖獲得其他的附圖。
圖1為本發(fā)明實施例公開的一種分布式文件系統(tǒng)的磁盤配額管理系統(tǒng)結構示意圖;
圖2為本發(fā)明實施例公開的一種分布式文件系統(tǒng)的磁盤配額管理方法流程圖。
具體實施方式
下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
本發(fā)明實施例公開了一種分布式文件系統(tǒng)的磁盤配額管理系統(tǒng),參見圖1所示,上述磁盤配額管理系統(tǒng)包括元數據服務器和N個客戶端,N為正整數;其中,元數據服務器包括:
信息記錄模塊11,用于記錄所有客戶端上的磁盤配額信息,得到相應的全局配額信息;
配額管理模塊12,用于當任一客戶端的磁盤配額信息發(fā)生變化,則獲取該客戶端發(fā)送的相應的配額信息變更請求,并將配額信息變更請求發(fā)送至信息記錄模塊11,以利用配額信息變更請求,對上述全局配額信息進行相應地更新。
上述信息記錄模塊11具體是元數據服務器中的預設存儲空間,例如高速緩存等。上述配額管理模塊12具體可以是在上述元數據服務器中運行的線程。
另外,本實施例中,上述信息記錄模塊11中所記錄的任一客戶端上的磁盤配額信息具體可以包括客戶端ID和相應的磁盤配額值。其中,磁盤配額值是指相應客戶端所能使用的最大磁盤空間。
本發(fā)明實施例中,磁盤配額管理系統(tǒng)包括元數據服務器和N個客戶端;其中,元數據服務器包括:信息記錄模塊,用于記錄所有客戶端上的磁盤配額信息,得到相應的全局配額信息;配額管理模塊,用于當任一客戶端的磁盤配額信息發(fā)生變化,則獲取該客戶端發(fā)送的相應的配額信息變更請求,并將配額信息變更請求發(fā)送至信息記錄模塊,以利用配額信息變更請求,對全局配額信息進行相應地更新??梢?,本發(fā)明實施例中,元數據服務器中的信息記錄模塊記錄所有客戶端上的磁盤配額信息,當客戶端上的磁盤配額信息發(fā)生變化時,則會對信息記錄模塊中記錄的全局配額信息進行相應地更新管理,這樣能夠讓元數據服務器及時地獲知當前分布式文件系統(tǒng)的所有客戶端中最新的磁盤配額信息,由此可實現對分布式文件系統(tǒng)中的磁盤配額進行統(tǒng)一管理的目的。
本發(fā)明實施例公開了一種具體的分布式文件系統(tǒng)的磁盤配額管理系統(tǒng),相對于上一實施例,本實施例對技術方案作了進一步的說明和優(yōu)化。具體的:
上一實施例中,磁盤配額管理系統(tǒng)包括元數據服務器和N個客戶端。本實施例中,任一客戶端均可以包括配額維護模塊、請求生成模塊和請求發(fā)送模塊;其中,
配額維護模塊,用于對該客戶端的磁盤配額進行維護管理;
請求生成模塊,用于在配額維護模塊對該客戶端的磁盤配額進行維護管理的過程中,若該客戶端的磁盤配額發(fā)生變化,則生成相應的配額信息變更請求;
請求發(fā)送模塊,用于將請求生成模塊生成的配額信息變更請求發(fā)送至信息記錄模塊,以利用該配額信息變更請求,對全局配額信息進行相應地更新。
具體的,上述配額維護模塊包括配額設置單元和/或配額修改單元和/或配額刪除單元;其中,
配額設置單元,用于對相應客戶端的磁盤配額進行設置;
配額修改單元,用于對相應客戶端的磁盤配額進行修改處理;
配額刪除單元,用于對相應客戶端的磁盤配額進行刪除處理。
可以理解的是,在對客戶端的磁盤配額進行設置、修改或刪除處理時,均會使得客戶端的磁盤配額發(fā)生相應地變化。
需要說明的是,本實施例中,任一客戶端中配額維護模塊的合法使用者是系統(tǒng)管理員,也即,系統(tǒng)管理員賬號是使用上述配額維護模塊的合法賬號,而普通用戶是禁止使用上述配額維護模塊的。本實施例中只有系統(tǒng)管理員采用對客戶端的磁盤配額進行設置、修改和刪除操作。
進一步的,本實施例中,任一客戶端還可以包括:配額查詢模塊,用于對該客戶端的磁盤配額進行查詢處理。
需要說明的是,本實施例中,不論是系統(tǒng)管理員還是普通用戶,均可以使用上述配額查詢模塊對客戶端中的磁盤配額進行查詢處理。
進一步的,為了讓元數據服務器和各個客戶端均能獲知分布式文件系統(tǒng)中的磁盤空間使用情況,本實施例中的元數據服務器還可以包括空間使用量記錄模塊和空間使用量同步模塊;其中,
空間使用量記錄模塊,用于記錄所有客戶端上的磁盤空間使用量,得到相應的全局使用量信息;
空間使用量同步模塊,用于將空間使用量記錄模塊記錄的全局使用量信息同步至每一客戶端。
另外,為了讓元數據服務器及時獲知當前分布式文件系統(tǒng)中最新的磁盤空間使用情況,本實施例中的任一客戶端還可以包括空間使用量監(jiān)視模塊和空間變化量上報模塊;其中,
空間使用量監(jiān)視模塊,用于對該客戶端的磁盤空間使用量進行監(jiān)視;
空間變化量上報模塊,用于當空間使用量監(jiān)視模塊監(jiān)視到該客戶端的磁盤空間使用量發(fā)生變化,并且在滿足預設上報條件的情況下,將相應的空間變化量發(fā)送至空間使用量記錄模塊,以利用該空間變化量對全局使用量信息進行相應地更新。
需要說明的是,上述預設上報條件可以是超限上報條件,也即,當某一客戶端的磁盤空間使用量大于預設的上報閾值后,則觸發(fā)上述空間變換量上報模塊將相應的空間變化量發(fā)送至上述空間使用量記錄模塊。可以理解的是,上述上報閾值需要預先保存在相應客戶端中,例如,本實施例可以將上報閾值存儲在客戶端的磁盤配額信息中,也即,任一客戶端自身的磁盤配額信息還可以包括上報閾值。
當然,上述預設上報條件也可以是定時上報條件,也即,在客戶端中啟動一個定時器,定期將空間使用量監(jiān)視模塊所監(jiān)視到的空間變化量發(fā)送至空間使用量記錄模塊。
進一步的,為了讓各個客戶端均能及時地獲知當前其他客戶端中最新的磁盤空間使用情況,本實施例中的元數據服務器還可以包括:
空間變化量廣播模塊,用于當空間使用量記錄模塊接收到任一客戶端發(fā)送的空間變化量,則將該空間變換量廣播至其他客戶端,以利用該空間變化量,對其他客戶端中保存的全局使用量信息進行相應地更新。
進一步的,為了讓各個客戶端均能獲知分布式文件系統(tǒng)中的磁盤配額情況,本實施例中的元數據服務器還可以包括:
配額信息同步模塊,用于將信息記錄模塊記錄的全局配額信息同步至每一客戶端。每一客戶端獲取到全局配額信息后,可將其緩存至本地。
進一步的,本發(fā)明實施例中的元數據服務器還可以包括:
配額信息廣播模塊,用于當配額管理模塊接收到任一客戶端發(fā)送的配額信息變更請求,則將與該配額信息變更請求對應的配額變更信息分別廣播至其他客戶端,以利用該配額變更信息,對其他客戶端中保存的全局配額信息進行相應地更新。
另外,本實施例中,任一客戶端中還可以包括:
文件操作控制模塊,用于判斷當前該客戶端中的磁盤空間使用量是否大于相應的磁盤配額值,若是,則禁止對該客戶端的磁盤空間進行特定操作,若否,則允許對該客戶端的磁盤空間進行上述特定操作。其中上述特定操作包括文件寫操作、文件刪除操作、文件屬性變更操作和文件截斷操作。
另外,上述任一客戶端中還可以包括:
預警模塊,用于在當前客戶端中的磁盤空間使用量不超過相應的磁盤配額值,但是大于預設預警閾值的情況下,發(fā)出相應的預警信息,以提醒用戶當前的磁盤空間剩余量處于較低水平。
相應的,本發(fā)明實施例還公開了一種分布式文件系統(tǒng)的磁盤配額管理方法,參見圖2所示,該方法包括:
步驟S21:記錄所有客戶端上的磁盤配額信息,得到相應的全局配額信息;
步驟S22:當任一客戶端的磁盤配額信息發(fā)生變化,則獲取該客戶端發(fā)送的相應的配額信息變更請求;
步驟S23:利用配額信息變更請求,對全局配額信息進行相應地更新。
其中,關于上述磁盤配額管理方法更加詳細的過程可以參考前述實施例中公開的相應內容,在此不再進行贅述。
可見,本發(fā)明實施例中,對所有客戶端上的磁盤配額信息進行記錄,得到全局配額信息,當客戶端上的磁盤配額信息發(fā)生變化時,則會對信息記錄模塊中記錄的全局配額信息進行相應地更新管理,這樣能夠及時地獲知當前分布式文件系統(tǒng)的所有客戶端中最新的磁盤配額信息,由此可實現對分布式文件系統(tǒng)中的磁盤配額進行統(tǒng)一管理的目的。
最后,還需要說明的是,在本文中,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。
以上對本發(fā)明所提供的一種分布式文件系統(tǒng)的磁盤配額管理系統(tǒng)及方法進行了詳細介紹,本文中應用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領域的一般技術人員,依據本發(fā)明的思想,在具體實施方式及應用范圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本發(fā)明的限制。