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