專(zhuān)利名稱(chēng):數(shù)據(jù)存儲(chǔ)方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)存儲(chǔ)技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)存儲(chǔ)方法及裝置。
背景技術(shù):
隨著高性能計(jì)算由傳統(tǒng)的主機(jī)方式向網(wǎng)絡(luò)化集群演變,傳統(tǒng)的基于主機(jī)的存儲(chǔ)架構(gòu)已逐漸向網(wǎng)絡(luò)化存儲(chǔ)發(fā)展,計(jì)算和存儲(chǔ)分離的趨勢(shì)越來(lái)越明顯。對(duì)象存儲(chǔ)文件系統(tǒng)能夠有效結(jié)合存儲(chǔ)區(qū)域網(wǎng)絡(luò)(SAN)和網(wǎng)絡(luò)附加存儲(chǔ)(NAS)系統(tǒng)的優(yōu)點(diǎn),支持直接訪問(wèn)磁盤(pán)以提高性能,且通過(guò)共享的文件和元數(shù)據(jù)來(lái)簡(jiǎn)化管理,其在可擴(kuò)展性、性能、易用性等方面都有顯著提高,隨著網(wǎng)絡(luò)化存儲(chǔ)技術(shù)的不斷成熟,對(duì)象存儲(chǔ)文件系統(tǒng)已成為重要的發(fā)展方向。對(duì)象是對(duì)象存儲(chǔ)文件系統(tǒng)中數(shù)據(jù)存儲(chǔ)的基本單位,一個(gè)對(duì)象實(shí)際上就是文件數(shù)據(jù)和一組屬性的組合,這些屬性可以定義基于文件的獨(dú)立冗余磁盤(pán)陣列(Redundant Arrayof Inexpensive Disks, RAID)參數(shù)、數(shù)據(jù)分布和服務(wù)質(zhì)量等,對(duì)象通過(guò)與存儲(chǔ)系統(tǒng)通信維護(hù)自己的屬性。在存儲(chǔ)設(shè)備中,所有對(duì)象都有一個(gè)對(duì)象標(biāo)識(shí),通過(guò)對(duì)象標(biāo)識(shí)命令訪問(wèn)該對(duì)象。配額是操作系統(tǒng)的一個(gè)可選的功能,它允許管理員限制分派給用戶(hù)或目錄所使用的磁盤(pán)空間大小,以防止某個(gè)用戶(hù)或目錄占用過(guò)多可用的磁盤(pán)空間。當(dāng)用戶(hù)在磁盤(pán)分區(qū)上拷貝或存儲(chǔ)一個(gè)新文件時(shí),他就擁有對(duì)這個(gè)文件的所有權(quán),這時(shí)磁盤(pán)配額程序就將此文件的大小計(jì)入該用戶(hù)的磁盤(pán)配額空間內(nèi)。傳統(tǒng)的磁盤(pán)配額機(jī)制一般從“占用磁盤(pán)大小”和“所有文件的數(shù)量”兩個(gè)方面來(lái)對(duì)用戶(hù)進(jìn)行限制。通過(guò)設(shè)置用戶(hù)在分區(qū)中最多使用的塊數(shù)量就能達(dá)到控制磁盤(pán)占用的目的,無(wú)法對(duì)目錄進(jìn)行相關(guān)的配額控制。而近些年來(lái)文件系統(tǒng)管理的存儲(chǔ)空間不斷增長(zhǎng)。特別是在分布式存儲(chǔ)系統(tǒng)中,往往是一套存儲(chǔ)系統(tǒng)可以管理數(shù)十拍字節(jié)(Petabyte,PB)的存儲(chǔ)空間,上面可以運(yùn)行多種業(yè)務(wù)。因此對(duì)配額的控制需要也更加豐富,單一的用戶(hù)級(jí)別的配額管理靈活性較低,已經(jīng)無(wú)法滿(mǎn)足現(xiàn)代文件系統(tǒng)的配額管理需求。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供了一種數(shù)據(jù)存儲(chǔ)方法及裝置,適用于為存儲(chǔ)空間非常大、運(yùn)行業(yè)務(wù)類(lèi)型較多且需要更靈活的配額控制管理方式的存儲(chǔ)系統(tǒng)。為了解決上述問(wèn)題,第一方面,本發(fā)明實(shí)施例提供了一種數(shù)據(jù)存儲(chǔ)方法,包括接收對(duì)目標(biāo)文件的寫(xiě)請(qǐng)求,所述目標(biāo)文件包含在具有額定配額的目錄中,所述寫(xiě)請(qǐng)求包括待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù);判斷所述待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù)的大小是否滿(mǎn)足配額對(duì)象集記錄的剩余空間的大小,所述配額對(duì)象集用于管理目錄的額定配額;當(dāng)所述待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù)的大小不超過(guò)配額對(duì)象集記錄的剩余空間的大小時(shí),將所述待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù)寫(xiě)入所述目標(biāo)文件的對(duì)象中。結(jié)合第一方面,在第一種實(shí)現(xiàn)方式中,所述目標(biāo)文件由設(shè)定數(shù)量的對(duì)象組成;
將所述待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù)寫(xiě)入所述目標(biāo)文件的對(duì)象中包括根據(jù)所述待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù)的大小將所述待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù)寫(xiě)入所述目標(biāo)文件的對(duì)應(yīng)大小的對(duì)象中。結(jié)合第一方面,在第二種實(shí)現(xiàn)方式中,所述目標(biāo)文件由設(shè)定長(zhǎng)度的對(duì)象組成;將所述待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù)寫(xiě)入所述目標(biāo)文件的對(duì)象中包括創(chuàng)建所述待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù)對(duì)應(yīng)的對(duì)象,并向所創(chuàng)建的對(duì)象中寫(xiě)入所述待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù);判斷已寫(xiě)入所述目標(biāo)文件的數(shù)據(jù)的長(zhǎng)度是否達(dá)到所述對(duì)象的設(shè)定長(zhǎng)度;當(dāng)已寫(xiě)入所述目標(biāo)文件的數(shù)據(jù)的長(zhǎng)度達(dá)到所述對(duì)象的設(shè)定長(zhǎng)度時(shí),繼續(xù)創(chuàng)建所述待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù)對(duì)應(yīng)的對(duì)象直到將所述待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù)全部寫(xiě)入所述目標(biāo)文件。結(jié)合第一方面或第一方面的上述實(shí)現(xiàn)方式中的任一種,在第三種實(shí)現(xiàn)方式中,在接收對(duì)目標(biāo)文件的寫(xiě)請(qǐng)求之前,還包括接收對(duì)目標(biāo)目錄進(jìn)行配額控制的請(qǐng)求; 根據(jù)所述對(duì)目標(biāo)目錄進(jìn)行配額控制的請(qǐng)求,為所述目標(biāo)目錄設(shè)置額定配額并創(chuàng)建配額對(duì)象集,所述配額對(duì)象集中記錄了所述目標(biāo)目錄下所有文件和子目錄已使用的對(duì)象占用空間的統(tǒng)計(jì)信息、對(duì)象與文件和子目錄的所屬關(guān)系、以及所述目標(biāo)目錄及其所有子目錄的所屬關(guān)系;檢查所述目標(biāo)目錄是否為空,并在不為空時(shí)遍歷所述目標(biāo)目錄,將所述目標(biāo)目錄下所有文件和子目錄的相關(guān)信息記錄在所述配額對(duì)象集中。結(jié)合第一方面的第三種實(shí)現(xiàn)方式,在第四種實(shí)現(xiàn)方式中,還包括接收移出目標(biāo)目錄的請(qǐng)求,所述目標(biāo)目錄包含在具有額定配額的目錄中;在對(duì)應(yīng)的配額對(duì)象集中查找所述目標(biāo)目錄所有相關(guān)的對(duì)象,刪除所有相關(guān)對(duì)象所對(duì)應(yīng)的數(shù)據(jù),并刪除所有相關(guān)的對(duì)象在所述配額對(duì)象集中的記錄,回收所述目標(biāo)目錄的占用空間。結(jié)合第一方面的第三或第四種實(shí)現(xiàn)方式,在第五種實(shí)現(xiàn)方式中,所述配額對(duì)象集包括對(duì)象分配表以及目錄組織關(guān)系表,所述對(duì)象分配表用于記錄所述目標(biāo)目錄下所有文件和子目錄已使用的對(duì)象占用空間的統(tǒng)計(jì)信息、對(duì)象與文件和子目錄的所屬關(guān)系;所述目錄組織關(guān)系表用于記錄所述目標(biāo)目錄及其所有子目錄的所屬關(guān)系。結(jié)合第一方面或第一方面的上述實(shí)現(xiàn)方式中的任一種,在第六種實(shí)現(xiàn)方式中,所述配額對(duì)象集包括至少兩個(gè)配額對(duì)象子集,所述配額對(duì)象子集用于管理目錄的額定配額中的部分配額。第二方面,本發(fā)明實(shí)施例提供了一種數(shù)據(jù)存儲(chǔ)裝置,包括接收單元,用于接收對(duì)目標(biāo)文件的寫(xiě)請(qǐng)求,所述目標(biāo)文件包含在具有額定配額的目錄中,所述寫(xiě)請(qǐng)求包括待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù);判斷單元,用于判斷所述待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù)的大小是否滿(mǎn)足配額對(duì)象集記錄的剩余空間的大小,所述配額對(duì)象集用于管理目錄的額定配額;存儲(chǔ)單元,用于在所述待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù)的大小不超過(guò)配額對(duì)象集記錄的剩余空間的大小時(shí),將所述待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù)寫(xiě)入所述目標(biāo)文件的對(duì)象中。
結(jié)合第二方面,在第一種實(shí)現(xiàn)方式中,所述存儲(chǔ)單元根據(jù)所述待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù)的大小將所述待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù)寫(xiě)入所述目標(biāo)文件的對(duì)應(yīng)大小的對(duì)象中。結(jié)合第二方面,在第二種實(shí)現(xiàn)方式中,所述存儲(chǔ)單元還用于創(chuàng)建所述待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù)對(duì)應(yīng)的對(duì)象,并向所創(chuàng)建的對(duì)象中寫(xiě)入所述待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù);所述判斷單元還用于判斷待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù)的長(zhǎng)度是否達(dá)到所述對(duì)象的設(shè)定長(zhǎng)度;所述存儲(chǔ)單元在待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù)的長(zhǎng)度達(dá)到所述對(duì)象的設(shè)定長(zhǎng)度時(shí),繼續(xù)創(chuàng)建所述待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù)對(duì)應(yīng)的對(duì)象直到將所述待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù)全部寫(xiě)入所述目標(biāo)文件。結(jié)合第二方面或第二方面的上述實(shí)現(xiàn)方式中的任一種,在第三種實(shí)現(xiàn)方式中,所述接收單元還用于接收對(duì)目標(biāo)目錄進(jìn)行配額控制的請(qǐng)求;所述系統(tǒng)還包括配額控制單元,用于根據(jù)所述對(duì)目標(biāo)目錄進(jìn)行配額控制的請(qǐng)求,為所述目標(biāo)目錄設(shè)置額定配額并創(chuàng)建配額對(duì)象集;并在所述目標(biāo)目錄不為空時(shí)遍歷所述目標(biāo)目錄,將所述目標(biāo)目錄下所有文件和子目錄的相關(guān)信息記錄在所述配額對(duì)象集中。結(jié)合第二方面的第三種實(shí)現(xiàn)方式,在第四種實(shí)現(xiàn)方式中,所述接收單元還用于在接收對(duì)目標(biāo)文件的寫(xiě)請(qǐng)求之后還包括接收移出目標(biāo)文件的請(qǐng)求;所述配額控制單元還用于在所述配額對(duì)象集中查找所述目標(biāo)文件所有相關(guān)的對(duì)象,刪除所有相關(guān)對(duì)象所對(duì)應(yīng)的數(shù)據(jù),并刪除所有相關(guān)的對(duì)象在所述配額對(duì)象集中的記錄,回收所述目標(biāo)文件的占用空間。本發(fā)明實(shí)施例的方法及裝置在使用配額對(duì)象集來(lái)實(shí)現(xiàn)基于對(duì)象的文件系統(tǒng)對(duì)目錄配額的管理的前提下進(jìn)行數(shù)據(jù)的存儲(chǔ),更適用于存儲(chǔ)空間非常大、運(yùn)行業(yè)務(wù)類(lèi)型較多且需要更靈活的配額控制管理方式的存儲(chǔ)系統(tǒng)。根據(jù)下面參考附圖對(duì)示例性實(shí)施例的詳細(xì)說(shuō)明,本發(fā)明的其它特征及方面將變得清楚。
包含在說(shuō)明書(shū)中并且構(gòu)成說(shuō)明書(shū)的一部分的說(shuō)明書(shū)附圖與說(shuō)明書(shū)一起示出了本發(fā)明的示例性實(shí)施例、特征和方面,并且用于解釋本發(fā)明的原理。圖1為本發(fā)明實(shí)施例的方法及裝置的應(yīng)用場(chǎng)景示意圖;圖2為本發(fā)明實(shí)施例的一種數(shù)據(jù)存儲(chǔ)方法的流程圖;圖3為本發(fā)明實(shí)施例的另一種數(shù)據(jù)存儲(chǔ)方法的流程圖;圖4為本發(fā)明實(shí)施例的數(shù)據(jù)存儲(chǔ)方法中配額對(duì)象集的應(yīng)用示意圖;圖5為本發(fā)明實(shí)施例的數(shù)據(jù)存儲(chǔ)方法中的對(duì)象分配表示意圖;圖6為本發(fā)明實(shí)施例的數(shù)據(jù)存儲(chǔ)方法中的目錄關(guān)系表示意圖;圖7為目標(biāo)文件由設(shè)定長(zhǎng)度的對(duì)象組成時(shí)本發(fā)明實(shí)施例的數(shù)據(jù)存儲(chǔ)方法示意圖;圖8為目標(biāo)文件由設(shè)定長(zhǎng)度的對(duì)象組成時(shí)本發(fā)明實(shí)施例的數(shù)據(jù)存儲(chǔ)方法示意圖9為本發(fā)明實(shí)施例的又一種數(shù)據(jù)存儲(chǔ)方法的流程圖;圖10本發(fā)明實(shí)施例的數(shù)據(jù)存儲(chǔ)方法中配額對(duì)象集的另一種應(yīng)用示意圖;圖11為本發(fā)明實(shí)施例一種結(jié)構(gòu)的數(shù)據(jù)存儲(chǔ)裝置的結(jié)構(gòu)示意圖;圖12為本發(fā)明實(shí)施例另一種結(jié)構(gòu)的數(shù)據(jù)存儲(chǔ)裝置的結(jié)構(gòu)示意圖;圖13為本發(fā)明實(shí)施例又一種結(jié)構(gòu)的數(shù)據(jù)存儲(chǔ)裝置的結(jié)構(gòu)示意圖。
具體實(shí)施例方式以下將參考附圖詳細(xì)說(shuō)明本發(fā)明的各種示例性實(shí)施例、特征和方面。附圖中相同的附圖標(biāo)記表示功能相同或相似的元件。盡管在附圖中示出了實(shí)施例的各種方面,但是除非特別指出,不必按比例繪制附圖。在這里專(zhuān)用的詞“示例性”意為“用作例子、實(shí)施例或說(shuō)明性”。這里作為“示例性”所說(shuō)明的任何實(shí)施例不必解釋為優(yōu)于或好于其它實(shí)施例。另外,為了更好的說(shuō)明本發(fā)明,在下文的具體實(shí)施方式
中給出了眾多的具體細(xì)節(jié)。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,沒(méi)有這些具體細(xì)節(jié),本發(fā)明同樣可以實(shí)施。在另外一些實(shí)例中,對(duì)于大家熟知的方法、手段、元件和電路未作詳細(xì)描述,以便于凸顯本發(fā)明的主旨。本發(fā)明實(shí)施例的方法的應(yīng)用場(chǎng)景為對(duì)象存儲(chǔ)系統(tǒng),該對(duì)象存儲(chǔ)系統(tǒng)中文件系統(tǒng)管理人員對(duì)文件系統(tǒng)的目錄進(jìn)行配額管理,限制文件系統(tǒng)中目錄的占用空間。該應(yīng)用場(chǎng)景如圖1所示。在圖1中,接入端即用戶(hù)終端,可以包括當(dāng)前技術(shù)已知的任何計(jì)算設(shè)備,如服務(wù)器、臺(tái)式計(jì)算機(jī)等等。在其內(nèi)部,安裝有操作系統(tǒng)以及其他應(yīng)用程序,文件系統(tǒng)即運(yùn)行在接入端上,文件系統(tǒng)對(duì)用戶(hù)的文件操作(讀寫(xiě)等)進(jìn)行解釋?zhuān)⒃谠獢?shù)據(jù)服務(wù)器和對(duì)象存儲(chǔ)服務(wù)器間通信,完成所請(qǐng)求的操作。元數(shù)據(jù)服務(wù)器用于為接入端提供元數(shù)據(jù),主要是文件的邏輯視圖,包括文件與目錄的組織關(guān)系、每個(gè)文件所對(duì)應(yīng)的存儲(chǔ)介質(zhì)等。對(duì)象存儲(chǔ)服務(wù)器(也稱(chēng)對(duì)象存儲(chǔ)設(shè)備(Object-based Storage Devic e, OSD))是指使用對(duì)象對(duì)所保存的數(shù)據(jù)進(jìn)行管理的設(shè)備,每個(gè)對(duì)象存儲(chǔ)服務(wù)器都是一個(gè)智能設(shè)備,具有自己的存儲(chǔ)介質(zhì)、以及網(wǎng)絡(luò)系統(tǒng)等,負(fù)責(zé)管理本地的對(duì)象,它將數(shù)據(jù)存放到作為存儲(chǔ)介質(zhì)的磁盤(pán)的磁道和扇區(qū),將若干磁道和扇區(qū)組合起來(lái)構(gòu)成對(duì)象,并且通過(guò)此對(duì)象向外界提供對(duì)數(shù)據(jù)的訪問(wèn)。對(duì)象由用戶(hù)數(shù)據(jù)、構(gòu)成對(duì)象的磁盤(pán)的磁道的物理位置)和屬性構(gòu)成。存儲(chǔ)介質(zhì)是對(duì)象存儲(chǔ)服務(wù)器的一部分,用于存儲(chǔ)數(shù)據(jù)。如圖2所示,本發(fā)明實(shí)施例提供的數(shù)據(jù)存儲(chǔ)方法,包括S201.接收對(duì)目標(biāo)文件的寫(xiě)請(qǐng)求,所述目標(biāo)文件包含在具有額定配額的目錄中,所述寫(xiě)請(qǐng)求包括待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù);S202.判斷所述待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù)的大小是否滿(mǎn)足配額對(duì)象集記錄的剩余空間的大小;S203.當(dāng)所述待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù)的大小不超過(guò)配額對(duì)象集記錄的剩余空間的大小時(shí),將所述待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù)寫(xiě)入所述目標(biāo)文件的對(duì)象中,所述配額對(duì)象集用于管理目錄的額定配額,其中記錄了所述目標(biāo)目錄下所有文件和子目錄已使用的對(duì)象占用空間的統(tǒng)計(jì)信息、對(duì)象與文件和子目錄的所屬關(guān)系、以及所述目標(biāo)目錄及其所有子目錄的所屬關(guān)系。
本發(fā)明實(shí)施例的方法在使用配額對(duì)象集來(lái)實(shí)現(xiàn)基于對(duì)象的文件系統(tǒng)對(duì)目錄配額 的管理的前提下進(jìn)行數(shù)據(jù)的存儲(chǔ),更適用于為存儲(chǔ)空間非常大、運(yùn)行業(yè)務(wù)類(lèi)型較多且需要 更靈活的配額控制管理方式的存儲(chǔ)系統(tǒng)。
如圖3所示,在本發(fā)明實(shí)施例的方法中,步驟S201之前,
還包括
S301.接收對(duì)目標(biāo)目錄進(jìn)行配額控制的請(qǐng)求;
S302.根據(jù)所述對(duì)目標(biāo)目錄進(jìn)行配額控制的請(qǐng)求,為所述目標(biāo)目錄設(shè)置額定配額 并創(chuàng)建配額對(duì)象集;
S303.檢查所述目標(biāo)目錄是否為空,并在不為空時(shí)遍歷所述目標(biāo)目錄,將所述目標(biāo) 目錄下所有文件和子目錄的相關(guān)信息記錄在所述配額對(duì)象集中。
該配額對(duì)象集可通過(guò)若干表結(jié)構(gòu)對(duì)目標(biāo)目錄進(jìn)行額定配額的空間的管理,以在子 目錄遷入/遷出時(shí)可以快速計(jì)算出遷入/遷出的容量。在本發(fā)明實(shí)施例的方法中,該配額 對(duì)象集包括對(duì)象分配表以及目錄組織關(guān)系表,該對(duì)象分配表中包含如下信息當(dāng)前對(duì)象分 配表中已經(jīng)使用的對(duì)象占用空間的統(tǒng)計(jì)信息,以及對(duì)象與文件和子目錄的所屬關(guān)系。其中, 若在該文件系統(tǒng)的設(shè)計(jì)中,文件由若干等長(zhǎng)對(duì)象組成,則該占用空間的統(tǒng)計(jì)可以簡(jiǎn)化為對(duì) 象數(shù)量的統(tǒng)計(jì);若對(duì)文件系統(tǒng)設(shè)計(jì)中,文件由設(shè)定數(shù)量的對(duì)象組成,則該占用空間的統(tǒng)計(jì)可 以簡(jiǎn)化為對(duì)象長(zhǎng)度的統(tǒng)計(jì)。需要說(shuō)明的是,一個(gè)文件可對(duì)應(yīng)多個(gè)對(duì)象,在本發(fā)明實(shí)施例的方 法中,對(duì)象的長(zhǎng)度表示其用于存儲(chǔ)的物理空間的大小,也即表示其所能存儲(chǔ)的數(shù)據(jù)的大小。 通常,文件由等長(zhǎng)的對(duì)象組成時(shí),對(duì)組成該文件的對(duì)象的數(shù)量不做限制;文件由設(shè)定數(shù)量的 對(duì)象組成時(shí),對(duì)組成該文件的對(duì)象的長(zhǎng)度不做限制。
記錄對(duì)象與文件和子目錄的所屬關(guān)系(例如每個(gè)對(duì)象對(duì)應(yīng)的父目錄的ID)可以方 便在目錄移動(dòng)時(shí),統(tǒng)計(jì)其所使用的所有對(duì)象所占有的空間的大小。目錄組織關(guān)系表記錄了 所述目標(biāo)目錄中各子目錄的父子關(guān)系信息。對(duì)象分配表及目錄組織關(guān)系表可采用多種形 式,包括但不限于數(shù)據(jù)庫(kù)、位圖、B樹(shù)等不同的組織方式。
以圖4所示的目錄A (DIR A)為例,為其設(shè)置95G的額定配額,并建立24M的配額 對(duì)象集(所記錄的內(nèi)容占用空間大小為24M),用于管理和記錄該95G的目錄下的所有文件 和子目錄。該目錄A下的文件由設(shè)定長(zhǎng)度的對(duì)象組成,因此可將對(duì)占用空間的統(tǒng)計(jì)簡(jiǎn)化為 對(duì)象數(shù)量的統(tǒng)計(jì),例如該配額對(duì)象集的對(duì)象分配表具有記錄10000個(gè)對(duì)象與文件和子目錄 的所屬關(guān)系的額定空間,如圖4中所示的,當(dāng)前已記錄了 24個(gè)對(duì)象與文件和子目錄的所屬 關(guān)系。該對(duì)分配表中所記錄的對(duì)象與文件和子目錄的所屬關(guān)系如圖5所示。該配額對(duì)象集 的目錄組織關(guān)系表如圖6所示。
在本發(fā)明實(shí)施例的方法中,將已設(shè)置了額定配額并建立了配額對(duì)象集的目錄在下 文中稱(chēng)作配額目錄。在配額目錄下新增文件或者向既有文件中追加內(nèi)容(寫(xiě)數(shù)據(jù))時(shí),均需 要檢查對(duì)象分配表是否達(dá)到配額限制(空間已滿(mǎn))。如果達(dá)到配額限制,則拒絕新增內(nèi)容寫(xiě) 入,從而達(dá)到配額管理的目的。當(dāng)該配額目錄中有子目錄遷出時(shí),需要對(duì)目錄組織關(guān)系表進(jìn) 行掃描,快速找到相關(guān)的對(duì)象并移除,根據(jù)該目錄組織關(guān)系表所記載的各目錄的父子關(guān)系, 很快的統(tǒng)計(jì)出移除子目錄的大小,回收相關(guān)對(duì)象所占用的空間,從而調(diào)整配額目錄的配額 信息。
具言之,在步驟S201中,若該目標(biāo)文件由設(shè)定長(zhǎng)度的對(duì)象組成,也即每個(gè)對(duì)象所 能存儲(chǔ)的數(shù)據(jù)的大小一定時(shí),則如圖7所示,在步驟S203中,將所述待寫(xiě)入所述目標(biāo)文件的 數(shù)據(jù)寫(xiě)入所述目標(biāo)文件的對(duì)象中的步驟具體包括
S701.為待寫(xiě)入的數(shù)據(jù)創(chuàng)建同樣具有該設(shè)定長(zhǎng)度的對(duì)象,記錄所創(chuàng)建的對(duì)象占用 的空間及其與文件和子目錄的所屬關(guān)系;
S702.向所創(chuàng)建的對(duì)象中寫(xiě)入待寫(xiě)入的數(shù)據(jù);
S703.判斷已寫(xiě)入的數(shù)據(jù)是否達(dá)到該設(shè)定長(zhǎng)度,若達(dá)到,則執(zhí)行步驟S704,否則, 繼續(xù)執(zhí)行步驟S702 ;
S704.判斷待寫(xiě)入的數(shù)據(jù)是否已全部寫(xiě)完,若未寫(xiě)完,則返回執(zhí)行步驟S701,繼續(xù) 為待寫(xiě)入的數(shù)據(jù)創(chuàng)建對(duì)象,若已寫(xiě)完,則結(jié)束。
例如,當(dāng)文件由多個(gè)對(duì)應(yīng)存儲(chǔ)空間均為IM的對(duì)象組成,且需要向目標(biāo)文件中寫(xiě)入 3M的數(shù)據(jù)時(shí),需要為待寫(xiě)入的數(shù)據(jù)創(chuàng)建3個(gè)對(duì)象,每個(gè)對(duì)象中寫(xiě)入IM的數(shù)據(jù)。
在需增加目標(biāo)文件時(shí),基于對(duì)象的文件系統(tǒng)執(zhí)行上述步驟中的步驟S701至步驟 S704,寫(xiě)入目標(biāo)文件對(duì)應(yīng)的數(shù)據(jù)。
在步驟S201中,若該目標(biāo)文件由設(shè)定數(shù)量的對(duì)象組成,即對(duì)象的長(zhǎng)度不一定時(shí), 則如圖8所示,在步驟S203中,將所述待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù)寫(xiě)入所述目標(biāo)文件的對(duì) 象中的步驟具體包括
S801.判斷所述目標(biāo)文件對(duì)應(yīng)的對(duì)象是否已達(dá)到設(shè)定數(shù)量,若是,則執(zhí)行步驟 S803,否則執(zhí)行步驟S802 ;
S802.為待寫(xiě)入的數(shù)據(jù)創(chuàng)建對(duì)應(yīng)長(zhǎng)度的對(duì)象,并將該待寫(xiě)入的數(shù)據(jù)寫(xiě)入所創(chuàng)建的 對(duì)象中;
S803.向配額對(duì)象集申請(qǐng)變更任一目標(biāo)對(duì)象的長(zhǎng)度,變更的長(zhǎng)度為使得變更后的 對(duì)象所對(duì)應(yīng)的物理空間足夠容納該待寫(xiě)入的數(shù)據(jù);
S804.修改所述目標(biāo)對(duì)象的長(zhǎng)度,并記錄修改后的目標(biāo)對(duì)象占用的空間,將待寫(xiě)入 數(shù)據(jù)寫(xiě)入該目標(biāo)對(duì)象。
例如,需要向目標(biāo)文件中寫(xiě)入3M的數(shù)據(jù)時(shí),若構(gòu)成目標(biāo)文件的對(duì)象的長(zhǎng)度均不能 滿(mǎn)足其所對(duì)應(yīng)的物理空間足夠再容納3M的數(shù)據(jù),則可選擇任一對(duì)象作為目標(biāo)對(duì)象,來(lái)變更 其長(zhǎng)度,使其變更后所對(duì)應(yīng)的物理空間足夠容納該3M的數(shù)據(jù)。
在本發(fā)明實(shí)施例的方法中,還包括如圖9所示的步驟
S901.接收移出目標(biāo)目錄的請(qǐng)求,所示目標(biāo)目錄包含在具有額定配額的目錄中;
S902.在對(duì)應(yīng)的配額對(duì)象集中查找所述目標(biāo)目錄所有相關(guān)的對(duì)象,刪除所有相關(guān) 對(duì)象所對(duì)應(yīng)的數(shù)據(jù),并刪除所有相關(guān)的對(duì)象在所述配額對(duì)象集中的記錄,統(tǒng)計(jì)并回收目標(biāo) 目錄的占用空間。
其中,步驟S902中可具體包括
遞歸查找目錄組織關(guān)系表,找到所有目標(biāo)目錄的子目錄;
查找對(duì)象分配表,統(tǒng)計(jì)目標(biāo)目錄的大小,將所有子目錄相關(guān)的對(duì)象移出該對(duì)象分 配表。
綜上,本發(fā)明實(shí)施例的方法通過(guò)目錄組織關(guān)系表及對(duì)象分配表,可以統(tǒng)計(jì)配額目 錄下任意子目錄下所有文件占用的空間,并加速配額目錄中文件的遷入、遷出操作。
此外,為了避免性能瓶頸,本發(fā)明實(shí)施例的方法中的配額對(duì)象集可以為分布式設(shè) 計(jì),如圖10所示,每個(gè)配額對(duì)象集包括至少兩個(gè)子集。每個(gè)子集分別用于記錄配額目錄下 已使用的部分對(duì)象占用空間的統(tǒng)計(jì)信息、對(duì)象與文件和/或子目錄的所屬關(guān)系等,且每個(gè) 子集所對(duì)應(yīng)的配額可相同或不全相同。如圖10中所示,每個(gè)配額對(duì)象子集包括一個(gè)對(duì)象分 配表;所有配額對(duì)象子集共享一個(gè)目錄關(guān)系表。
如圖11所示,本發(fā)明實(shí)施例還提供了一種數(shù)據(jù)存儲(chǔ)裝置1100,該裝置包括接收 單元1110、判斷單元1120以及存儲(chǔ)單元1130。
其中,接收單元1110用于接收對(duì)目標(biāo)文件的寫(xiě)請(qǐng)求。判斷單元1120用于判斷所 述寫(xiě)請(qǐng)求包括待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù)的大小是否滿(mǎn)足配額對(duì)象集記錄的剩余空間的 大小,將所述待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù)寫(xiě)入所述目標(biāo)文件的對(duì)象中;存儲(chǔ)單元1130用于 在所述待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù)的大小不超過(guò)配額對(duì)象集記錄的剩余空間的大小時(shí)。
本發(fā)明實(shí)施例的裝置在使用配額對(duì)象集來(lái)實(shí)現(xiàn)基于對(duì)象的文件系統(tǒng)對(duì)目錄配額 的管理的前提下進(jìn)行數(shù)據(jù)的存儲(chǔ),更適用于為存儲(chǔ)空間非常大、運(yùn)行業(yè)務(wù)類(lèi)型較多且需要 更靈活的配額控制管理方式的存儲(chǔ)系統(tǒng)。
此外,在本發(fā)明實(shí)施例的數(shù)據(jù)存儲(chǔ)裝置中,在目標(biāo)文件由設(shè)定數(shù)量的對(duì)象組成時(shí), 存儲(chǔ)單元1130根據(jù)所述待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù)的大小將所述待寫(xiě)入所述目標(biāo)文件的 數(shù)據(jù)寫(xiě)入所述目標(biāo)文件的對(duì)應(yīng)大小的對(duì)象中。在目標(biāo)文件由設(shè)定長(zhǎng)度的對(duì)象組成時(shí),存儲(chǔ) 單元1130還用于創(chuàng)建所述待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù)對(duì)應(yīng)的對(duì)象,并向所創(chuàng)建的對(duì)象中 寫(xiě)入所述待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù);判斷單元1120還用于判斷待寫(xiě)入所述目標(biāo)文件的 數(shù)據(jù)的長(zhǎng)度是否達(dá)到所述對(duì)象的設(shè)定長(zhǎng)度;存儲(chǔ)單元1130在待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù) 的長(zhǎng)度達(dá)到所述對(duì)象的設(shè)定長(zhǎng)度時(shí),繼續(xù)創(chuàng)建所述待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù)對(duì)應(yīng)的對(duì)象 直到將所述待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù)全部寫(xiě)入所述目標(biāo)文件。
此外,接收單元1120還用于接收對(duì)目標(biāo)目錄進(jìn)行配額控制的請(qǐng)求。此時(shí),如圖12 所示,本發(fā)明實(shí)施例的另一種結(jié)構(gòu)的數(shù)據(jù)存儲(chǔ)裝置1200在圖11所示的各單元的基礎(chǔ)上還 包括配額控制單元1210,用于根據(jù)所述對(duì)目標(biāo)目錄進(jìn)行配額控制的請(qǐng)求,為所述目標(biāo)目錄 設(shè)置額定配額并創(chuàng)建配額對(duì)象集;并在所述目標(biāo)目錄不為空時(shí)遍歷所述目標(biāo)目錄,將所述 目標(biāo)目錄下所有文件和子目錄的相關(guān)信息記錄在所述配額對(duì)象集中。
接收單元1120還用于在接收對(duì)目標(biāo)文件的寫(xiě)請(qǐng)求之后還包括接收移出目標(biāo)文件 的請(qǐng)求。此時(shí),配額控制單元1210還用于在所述配額對(duì)象集中查找所述目標(biāo)文件所有相關(guān) 的對(duì)象,刪除所有相關(guān)對(duì)象所對(duì)應(yīng)的數(shù)據(jù),并刪除所有相關(guān)的對(duì)象在所述配額對(duì)象集中的 記錄,回收所述目標(biāo)文件的占用空間。
如圖13為本發(fā)明實(shí)施例提供的又一種數(shù)據(jù)存儲(chǔ)裝置1300的結(jié)構(gòu)示意圖,本發(fā)明 具體實(shí)施例并不對(duì)該裝置的具體實(shí)現(xiàn)做限定。如圖13所示,該裝置1300可以包括
處理器(processor)1310、通信接口(Communications Interface) 1320、存儲(chǔ)器 (memory) 1330、以及通信總線1340。其中
處理器1310、通信接口 1320、以及存儲(chǔ)器1330通過(guò)通信總線1240完成相互間的通信。
通信接口 1320,用于與比如客戶(hù)端等的網(wǎng)元通信。
處理器1310,用于執(zhí)行程序1332,具體可以執(zhí)行上述圖2至圖9所示的方法實(shí)施例中的相關(guān)步驟。
具體地,程序1332可以包括程序代碼,所述程序代碼包括計(jì)算機(jī)操作指令。
處理器1310可能是一個(gè)中央處理器CPU,或者是特定集成電路ASICXApplication Specific Integrated Circuit),或者是被配置成實(shí)施本發(fā)明實(shí)施例的一個(gè)或多個(gè)集成電路。
存儲(chǔ)器1330,用于存放程序1332。存儲(chǔ)器1330可能包含高速RAM存儲(chǔ)器,也可能 還包括非易失性存儲(chǔ)器(non-volatile memory),例如至少一個(gè)磁盤(pán)存儲(chǔ)器。程序1332具 體可以包括
接收單元,用于接收對(duì)目標(biāo)文件的寫(xiě)請(qǐng)求,所述目標(biāo)文件包含在具有額定配額的 目錄中,所述寫(xiě)請(qǐng)求包括待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù);
判斷單元,用于判斷所述寫(xiě)請(qǐng)求包括待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù)的大小是否滿(mǎn)足 配額對(duì)象集記錄的剩余空間的大小,將所述待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù)寫(xiě)入所述目標(biāo)文件 的對(duì)象中;
存儲(chǔ)單元,用于在所述待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù)的大小不超過(guò)配額對(duì)象集記錄 的剩余空間的大小時(shí),將所述待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù)寫(xiě)入所述目標(biāo)文件的對(duì)象中。
程序1332中各單元的具體實(shí)現(xiàn)可以參見(jiàn)圖10至11所示實(shí)施例中的相應(yīng)單元,在 此不贅述。所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡(jiǎn)潔,上述描述的設(shè)備 和模塊的具體工作過(guò)程,可以參考前述方法實(shí)施例中的對(duì)應(yīng)過(guò)程描述,在此不再贅述。
本領(lǐng)域普通技術(shù)人員可以意識(shí)到,結(jié)合本文中所公開(kāi)的實(shí)施例描述的各示例的單 元及方法步驟,能夠以電子硬件、或者計(jì)算機(jī)軟件和電子硬件的結(jié)合來(lái)實(shí)現(xiàn)。這些功能究竟 以硬件還是軟件方式來(lái)執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專(zhuān)業(yè)技術(shù)人員 可以對(duì)每個(gè)特定的應(yīng)用來(lái)使用不同方法來(lái)實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出 本發(fā)明的范圍。
所述功能如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷(xiāo)售或使用時(shí),可以 存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō) 對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì) 算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè) 人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。 而前述的存儲(chǔ)介質(zhì)包括U盤(pán)、移動(dòng)硬盤(pán)、只讀存儲(chǔ)器(ROM,Read-Only Memory)、隨機(jī)存取 存儲(chǔ)器(RAM, Random Access Memory)、磁碟或者光盤(pán)等各種可以存儲(chǔ)程序代碼的介質(zhì)。
以上實(shí)施方式僅用于說(shuō)明本發(fā)明,而并非對(duì)本發(fā)明的限制,有關(guān)技術(shù)領(lǐng)域的普通 技術(shù)人員,在不脫離本發(fā)明的精神和范圍的情況下,還可以做出各種變化和變型,因此所有 等同的技術(shù)方案也屬于本發(fā)明的范疇,本發(fā)明的專(zhuān)利保護(hù)范圍應(yīng)由權(quán)利要求限定。
權(quán)利要求
1.一種數(shù)據(jù)存儲(chǔ)方法,其特征在于,包括 接收對(duì)目標(biāo)文件的寫(xiě)請(qǐng)求,所述目標(biāo)文件包含在具有額定配額的目錄中,所述寫(xiě)請(qǐng)求包括待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù); 判斷所述待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù)的大小是否滿(mǎn)足配額對(duì)象集記錄的剩余空間的大小,所述配額對(duì)象集用于管理目錄的額定配額; 當(dāng)所述待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù)的大小不超過(guò)配額對(duì)象集記錄的剩余空間的大小時(shí),將所述待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù)寫(xiě)入所述目標(biāo)文件的對(duì)象中。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述目標(biāo)文件由設(shè)定數(shù)量的對(duì)象組成; 將所述待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù)寫(xiě)入所述目標(biāo)文件的對(duì)象中包括 根據(jù)所述待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù)的大小將所述待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù)寫(xiě)入所述目標(biāo)文件的對(duì)應(yīng)大小的對(duì)象中。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述目標(biāo)文件由設(shè)定長(zhǎng)度的對(duì)象組成; 將所述待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù)寫(xiě)入所述目標(biāo)文件的對(duì)象中包括 創(chuàng)建所述待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù)對(duì)應(yīng)的對(duì)象,并向所創(chuàng)建的對(duì)象中寫(xiě)入所述待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù); 判斷已寫(xiě)入所述目標(biāo)文件的數(shù)據(jù)的長(zhǎng)度是否達(dá)到所述對(duì)象的設(shè)定長(zhǎng)度; 當(dāng)已寫(xiě)入所述目標(biāo)文件的數(shù)據(jù)的長(zhǎng)度達(dá)到所述對(duì)象的設(shè)定長(zhǎng)度時(shí),繼續(xù)創(chuàng)建所述待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù)對(duì)應(yīng)的對(duì)象直到將所述待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù)全部寫(xiě)入所述目標(biāo)文件。
4.根據(jù)權(quán)利要求1至3中任一項(xiàng)所述的方法,其特征在于,在接收對(duì)目標(biāo)文件的寫(xiě)請(qǐng)求之前,還包括 接收對(duì)目標(biāo)目錄進(jìn)行配額控制的請(qǐng)求; 根據(jù)所述對(duì)目標(biāo)目錄進(jìn)行配額控制的請(qǐng)求,為所述目標(biāo)目錄設(shè)置額定配額并創(chuàng)建配額對(duì)象集,所述配額對(duì)象集中記錄了所述目標(biāo)目錄下所有文件和子目錄已使用的對(duì)象占用空間的統(tǒng)計(jì)信息、對(duì)象與文件和子目錄的所屬關(guān)系、以及所述目標(biāo)目錄及其所有子目錄的所屬關(guān)系; 檢查所述目標(biāo)目錄是否為空,并在不為空時(shí)遍歷所述目標(biāo)目錄,將所述目標(biāo)目錄下所有文件和子目錄的相關(guān)信息記錄在所述配額對(duì)象集中。
5.根據(jù)權(quán)利要求4中所述的方法,其特征在于,還包括 接收移出目標(biāo)目錄的請(qǐng)求,所述目標(biāo)目錄包含在具有額定配額的目錄中; 在對(duì)應(yīng)的配額對(duì)象集中查找所述目標(biāo)目錄所有相關(guān)的對(duì)象,刪除所有相關(guān)對(duì)象所對(duì)應(yīng)的數(shù)據(jù),并刪除所有相關(guān)的對(duì)象在所述配額對(duì)象集中的記錄,回收所述目標(biāo)目錄的占用空間。
6.根據(jù)權(quán)利要求4或5所述的方法,其特征在于,所述配額對(duì)象集包括對(duì)象分配表以及目錄組織關(guān)系表,所述對(duì)象分配表用于記錄所述目標(biāo)目錄下所有文件和子目錄已使用的對(duì)象占用空間的統(tǒng)計(jì)信息、對(duì)象與文件和子目錄的所屬關(guān)系;所述目錄組織關(guān)系表用于記錄所述目標(biāo)目錄及其所有子目錄的所屬關(guān)系。
7.根據(jù)權(quán)利要求1至6任一項(xiàng)所述的方法,其特征在于,所述配額對(duì)象集包括至少兩個(gè)配額對(duì)象子集,所述配額對(duì)象子集用于管理目錄的額定配額中的部分配額。
8.一種數(shù)據(jù)存儲(chǔ)裝置,其特征在于,包括 接收單元,用于接收對(duì)目標(biāo)文件的寫(xiě)請(qǐng)求,所述目標(biāo)文件包含在具有額定配額的目錄中,所述寫(xiě)請(qǐng)求包括待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù); 判斷單元,用于判斷所述待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù)的大小是否滿(mǎn)足配額對(duì)象集記錄的剩余空間的大小,所述配額對(duì)象集用于管理目錄的額定配額; 存儲(chǔ)單元,用于在所述待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù)的大小不超過(guò)配額對(duì)象集記錄的剩余空間的大小時(shí),將所述待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù)寫(xiě)入所述目標(biāo)文件的對(duì)象中。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述存儲(chǔ)單元根據(jù)所述待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù)的大小將所述待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù)寫(xiě)入所述目標(biāo)文件的對(duì)應(yīng)大小的對(duì)象中。
10.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述存儲(chǔ)單元還用于創(chuàng)建所述待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù)對(duì)應(yīng)的對(duì)象,并向所創(chuàng)建的對(duì)象中寫(xiě)入所述待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù); 所述判斷單元還用于判斷待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù)的長(zhǎng)度是否達(dá)到所述對(duì)象的設(shè)定長(zhǎng)度; 所述存儲(chǔ)單元在待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù)的長(zhǎng)度達(dá)到所述對(duì)象的設(shè)定長(zhǎng)度時(shí),繼續(xù)創(chuàng)建所述待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù)對(duì)應(yīng)的對(duì)象直到將所述待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù)全部寫(xiě)入所述目標(biāo)文件。
11.根據(jù)權(quán)利要求8至10中任一項(xiàng)所述的裝置,其特征在于, 所述接收單元還用于接收對(duì)目標(biāo)目錄進(jìn)行配額控制的請(qǐng)求; 所述系統(tǒng)還包括 配額控制單元,用于根據(jù)所述對(duì)目標(biāo)目錄進(jìn)行配額控制的請(qǐng)求,為所述目標(biāo)目錄設(shè)置額定配額并創(chuàng)建配額對(duì)象集;并在所述目標(biāo)目錄不為空時(shí)遍歷所述目標(biāo)目錄,將所述目標(biāo)目錄下所有文件和子目錄的相關(guān)信息記錄在所述配額對(duì)象集中。
12.根據(jù)權(quán)利要求11中所述的裝置,其特征在于, 所述接收單元還用于在接收對(duì)目標(biāo)文件的寫(xiě)請(qǐng)求之后還包括接收移出目標(biāo)文件的請(qǐng)求; 所述配額控制單元還用于在所述配額對(duì)象集中查找所述目標(biāo)文件所有相關(guān)的對(duì)象,刪除所有相關(guān)對(duì)象所對(duì)應(yīng)的數(shù)據(jù),并刪除所有相關(guān)的對(duì)象在所述配額對(duì)象集中的記錄,回收所述目標(biāo)文件的占用空間。
全文摘要
本發(fā)明提供了一種數(shù)據(jù)存儲(chǔ)方法及裝置,涉及數(shù)據(jù)存儲(chǔ)技術(shù)領(lǐng)域。該方法包括接收對(duì)目標(biāo)文件的寫(xiě)請(qǐng)求,所述目標(biāo)文件包含在具有額定配額的目錄中,所述寫(xiě)請(qǐng)求包括待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù);判斷所述待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù)的大小是否滿(mǎn)足配額對(duì)象集中剩余空間的大??;當(dāng)所述待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù)的大小不超過(guò)配額對(duì)象集中剩余空間的大小時(shí),將所述待寫(xiě)入所述目標(biāo)文件的數(shù)據(jù)寫(xiě)入所述目標(biāo)文件的對(duì)象中,所述配額對(duì)象集用于管理目錄的額定配額。本發(fā)明實(shí)施例提供的方法及裝置適用于為存儲(chǔ)空間非常大、運(yùn)行業(yè)務(wù)類(lèi)型較多且需要更靈活的配額控制管理方式的存儲(chǔ)系統(tǒng)。
文檔編號(hào)G06F3/06GK103064639SQ20121058737
公開(kāi)日2013年4月24日 申請(qǐng)日期2012年12月28日 優(yōu)先權(quán)日2012年12月28日
發(fā)明者胡波 申請(qǐng)人:華為技術(shù)有限公司