專利名稱:一種機(jī)群文件系統(tǒng)客戶端存儲資源延遲分配方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及機(jī)群文件系統(tǒng)存儲資源分配技木,特別涉及一種機(jī)群文件系統(tǒng)基于客戶端的存儲資源延遲分配方法和系統(tǒng)。
背景技術(shù):
在大規(guī)模機(jī)群文件系統(tǒng)中,元數(shù)據(jù)與數(shù)據(jù)服務(wù)分離結(jié)構(gòu)已經(jīng)成為了ー種趨勢。元數(shù)據(jù)服務(wù)器負(fù)責(zé)維護(hù)文件系統(tǒng)全局命名空間,以及特別負(fù)責(zé)維護(hù)文件布局(layout)服務(wù),管理文件邏輯地址與磁盤物理地址的映射關(guān)系,為文件分配物理存儲資源??蛻舳宋募?shù)據(jù)訪問采用帶外方式直接訪問存儲設(shè)備,不必通過元數(shù)據(jù)服務(wù)器,從而獲取較高的數(shù)據(jù)訪問性能??蛻舳宋募?shù)據(jù)訪問過程中,首先獲取文件在全局命名空間中的邏輯位置,然后獲取文件讀寫邏輯地址對應(yīng)的磁盤物理地址,最后訪問磁盤物理地址獲取數(shù)據(jù)。
·
在目前機(jī)群文件系統(tǒng)中,客戶端訪問文件數(shù)據(jù)時(shí),必須先通過網(wǎng)絡(luò)交互同步獲取文件邏輯地址對應(yīng)的磁盤物理地址,即獲取文件布局,才能夠訪問文件數(shù)據(jù),這對于系統(tǒng)性能造成了很大影響。尤其在海量小文件應(yīng)用環(huán)境中,數(shù)據(jù)訪問比率減小,元數(shù)據(jù)訪問比率增大,同步獲取文件布局的訪問開銷増大。因此,盡量降低訪問元數(shù)據(jù)的開銷,減少獲取文件布局服務(wù)網(wǎng)絡(luò)交互次數(shù),可以大幅提升海量小文件應(yīng)用性能。此外,海量小文件應(yīng)用環(huán)境中,雖然數(shù)據(jù)訪問比率減少,但是海量小文件的文件布局分散,數(shù)據(jù)訪問對物理磁盤具有很強(qiáng)的隨機(jī)性,磁盤磁頭需要頻繁移動,導(dǎo)致性能降低。因此,緩解海量小文件之間數(shù)據(jù)訪問的隨機(jī)性對于性能提升也有很大的幫助。針對減少獲取文件布局服務(wù)網(wǎng)絡(luò)交互次數(shù)問題,主要有文件布局預(yù)分配方法。文件布局預(yù)分配方法為文件預(yù)先分配一部分存儲資源,減少了獲取文件布局服務(wù)網(wǎng)絡(luò)交互次數(shù)。但是該方法也存在一些問題存儲資源預(yù)分配粒度確定存在困難。如果預(yù)分配存儲資源粒度較大,無效的預(yù)分配存儲資源還需要進(jìn)行回收,増加了操作復(fù)雜性,更加重了系統(tǒng)開銷;如果預(yù)分配粒度較小,則不能有效減少文件布局服務(wù)網(wǎng)絡(luò)交互次數(shù)。由于預(yù)分配針對單個文件,無法緩解海量小文件之間數(shù)據(jù)訪問隨機(jī)性。針對緩解海量小文件之間數(shù)據(jù)訪問隨機(jī)性問題,主要有延遲分配方法。延遲分配方法在數(shù)據(jù)真正要寫到磁盤時(shí)才進(jìn)行存儲資源的分配,但在大規(guī)模機(jī)群文件系統(tǒng)中,由于數(shù)據(jù)訪問不通過元數(shù)據(jù)服務(wù)器,無法進(jìn)行延遲分配。針對現(xiàn)有技術(shù)的不足,本發(fā)明提出了一種機(jī)群文件系統(tǒng)基于客戶端的存儲資源延遲分配方法和分配系統(tǒng),能夠減少文件布局服務(wù)網(wǎng)絡(luò)交互次數(shù),并且緩解海量小文件之間數(shù)據(jù)訪問隨機(jī)性。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是在大規(guī)模機(jī)群文件系統(tǒng)中現(xiàn)有技術(shù)無法有效減少文件布局服務(wù)網(wǎng)絡(luò)交互次數(shù)以及無法有效緩解海量小文件之間數(shù)據(jù)訪問隨機(jī)性的問題,提供了ー種基于客戶端的存儲資源延遲分配方法和分配系統(tǒng),以減少文件布局服務(wù)網(wǎng)絡(luò)交互次數(shù)以及緩解海量小文件之間數(shù)據(jù)訪問隨機(jī)性。并且,提供了一種文件刪除時(shí)存儲資源回收方法。此外,提供ー種異常宕機(jī)情況下的存儲資源一致性保證方法,保證客戶端或服務(wù)器異常宕機(jī)情況下的存儲資源一致性,保證存儲資源不丟失、不重用。本發(fā)明公開ー種機(jī)群文件系統(tǒng)客戶端存儲資源延遲分配方法,包括步驟1,客戶端根據(jù)文件布局操作情況,進(jìn)行存儲資源延遲分配;步驟2,在文件刪除時(shí)對存儲資源回收,處理客戶端延遲分配的存儲資源回收;步驟3,對存儲資源在客戶端與元數(shù)據(jù)服務(wù)器之間的一致性進(jìn)行維護(hù)。所述的機(jī)群文件系統(tǒng)客戶端存儲資源延遲分配方法,步驟I包括步驟21,將存儲資源在客戶端進(jìn)行預(yù)申請;·步驟22,寫文件時(shí)客戶端的存儲資源延遲分配文件布局;步驟23,異步提交文件布局。所述的機(jī)群文件系統(tǒng)客戶端存儲資源延遲分配方法,所述步驟21包括步驟31,客戶端根據(jù)申請策略向元數(shù)據(jù)服務(wù)器預(yù)申請一定數(shù)量的空閑存儲資源;步驟32,元數(shù)據(jù)服務(wù)器根據(jù)策略為所述客戶端采用存儲資源預(yù)留方式預(yù)分配一定數(shù)量的空閑存儲資源;步驟33,客戶端在內(nèi)存中記錄預(yù)申請獲取的空閑存儲資源。所述的機(jī)群文件系統(tǒng)客戶端存儲資源延遲分配方法,所述步驟22包括步驟41,寫文件時(shí),在客戶端從預(yù)申請存儲資源中分配空閑存儲資源;步驟42,在客戶端內(nèi)存中以文件布局格式記錄分配的存儲資源;所述的機(jī)群文件系統(tǒng)客戶端存儲資源延遲分配方法,所述步驟23包括步驟51,客戶端根據(jù)異步提交策略,通過與元數(shù)據(jù)服務(wù)器網(wǎng)絡(luò)交互,異步提交在客戶端內(nèi)存中記錄的文件布局;步驟52,元數(shù)據(jù)服務(wù)器把提交的文件布局按照元數(shù)據(jù)服務(wù)器文件布局格式進(jìn)行記求;步驟53,元數(shù)據(jù)服務(wù)器把已經(jīng)提交的文件布局中包含的存儲資源狀態(tài)設(shè)置為已經(jīng)分配狀態(tài)。所述的機(jī)群文件系統(tǒng)客戶端存儲資源延遲分配方法,步驟2包括步驟61,客戶端接收應(yīng)用程序的刪除文件請求,對文件布局包含的存儲資源進(jìn)行回收;如果文件布局的布局狀態(tài)為未提交狀態(tài),則進(jìn)行客戶端存儲資源回收;如果文件布局的布局狀態(tài)為已提交狀態(tài),則發(fā)送請求到元數(shù)據(jù)服務(wù)器進(jìn)行存儲資源回收;步驟62,如果文件布局的布局狀態(tài)為未提交狀態(tài),則進(jìn)行客戶端存儲資源回收;首先,調(diào)用客戶端預(yù)申請存儲資源管理裝置的存儲資源回收接ロ,把所述文件布局包含的存儲資源回收到客戶端預(yù)申請存儲資源中;然后,清除文件布局;步驟63,如果文件布局的布局狀態(tài)為已經(jīng)提交狀態(tài),則客戶端清除緩存中的文件布局記錄,并發(fā)送請求到元數(shù)據(jù)服務(wù)器進(jìn)行存儲資源回收;元數(shù)據(jù)服務(wù)器接收到文件布局回收請求后,清除元數(shù)據(jù)服務(wù)器文件布局,并且把被清除文件布局包含的存儲資源狀態(tài)設(shè)
置為空閑。所述的機(jī)群文件系統(tǒng)客戶端存儲資源延遲分配方法,步驟3包括
步驟71,當(dāng)客戶端異常宕機(jī)重啟后,在客戶端內(nèi)存中記錄的未分配的預(yù)申請存儲資源丟失,在客戶端內(nèi)存中記錄的未提交的文件布局丟失,已經(jīng)提交的文件布局包含存儲資源已經(jīng)在元數(shù)據(jù)服務(wù)器端一致;重啟后,客戶端與元數(shù)據(jù)服務(wù)器進(jìn)行交互,元數(shù)據(jù)服務(wù)器清除該客戶端預(yù)留存儲資源記錄,達(dá)到存儲資源一致狀態(tài);步驟72,當(dāng)元數(shù)據(jù)服務(wù)器宕機(jī)重啟后,客戶端與元數(shù)據(jù)服務(wù)器交互,元數(shù)據(jù)服務(wù)器根據(jù)客戶端當(dāng)前的預(yù)申請存儲資源記錄重新為該客戶端建立預(yù)留存儲資源,達(dá)到存儲資源一致狀態(tài);步驟73,當(dāng)客戶端和元數(shù)據(jù)服務(wù)器同時(shí)宕機(jī)后,在客戶端內(nèi)存中記錄的未分配的預(yù)申請存儲資源丟失,在客戶端內(nèi)存中記錄的未提交的文件布局丟失,在元數(shù)據(jù)服務(wù)器記錄的該客戶端的預(yù)留記錄丟失,客戶端已經(jīng)提交的文件布局相關(guān)存儲資源已經(jīng)在元數(shù)據(jù)服務(wù)器端一致。本發(fā)明公開ー種機(jī)群文件系統(tǒng)客戶端存儲資源延遲分配系統(tǒng),包括
·
延遲分配模塊,用于客戶端根據(jù)文件布局操作情況,進(jìn)行存儲資源延遲分配;資源回收模塊,用于在文件刪除時(shí)對存儲資源回收,處理客戶端延遲分配的存儲資源回收;一致性維護(hù)模塊,用于對存儲資源在客戶端與元數(shù)據(jù)服務(wù)器之間的一致性進(jìn)行維護(hù)。所述的機(jī)群文件系統(tǒng)客戶端存儲資源延遲分配系統(tǒng),延遲分配模塊包括預(yù)申請模塊,用于將存儲資源在客戶端進(jìn)行預(yù)申請;文件布局模塊,用于寫文件時(shí)客戶端的存儲資源延遲分配文件布局;異步提交模塊,用于異步提交文件布局。所述的機(jī)群文件系統(tǒng)客戶端存儲資源延遲分配系統(tǒng),所述預(yù)申請模塊包括申請空閑存儲資源模塊,用于客戶端根據(jù)申請策略向元數(shù)據(jù)服務(wù)器預(yù)申請一定數(shù)量的空閑存儲資源;分配存儲資源模塊,用于元數(shù)據(jù)服務(wù)器根據(jù)申請策略為所述客戶端采用存儲資源預(yù)留方式預(yù)分配一定數(shù)量的空閑存儲資源;記錄存儲資源模塊,用于客戶端在內(nèi)存中記錄預(yù)申請獲取的空閑存儲資源。所述的機(jī)群文件系統(tǒng)客戶端存儲資源延遲分配系統(tǒng),所述文件布局模塊包括申請資源模塊,用于寫文件時(shí),在客戶端從預(yù)申請存儲資源中分配空閑存儲資源;記錄資源模塊,用于在客戶端內(nèi)存中以文件布局格式記錄分配的存儲資源;所述的機(jī)群文件系統(tǒng)客戶端存儲資源延遲分配系統(tǒng),所述異步提交模塊包括異步提交模塊,用于客戶端根據(jù)異步提交策略,通過與元數(shù)據(jù)服務(wù)器網(wǎng)絡(luò)交互,異步提交在客戶端內(nèi)存中記錄的文件布局;記錄布局模塊,用于元數(shù)據(jù)服務(wù)器把提交的文件布局按照元數(shù)據(jù)服務(wù)器文件布局格式進(jìn)行記錄;設(shè)置狀態(tài)模塊,用于元數(shù)據(jù)服務(wù)器把已經(jīng)提交的文件布局中包含的存儲資源狀態(tài)設(shè)置為已經(jīng)分配狀態(tài)。所述的機(jī)群文件系統(tǒng)客戶端存儲資源延遲分配系統(tǒng),資源回收模塊包括
接受刪除文件模塊,用于客戶端接收應(yīng)用程序的刪除文件請求,對文件布局包含的存儲資源進(jìn)行回收;如果文件布局的布局狀態(tài)為未提交狀態(tài),則進(jìn)行客戶端存儲資源回收;如果文件布局的布局狀態(tài)為已提交狀態(tài),則發(fā)送請求到元數(shù)據(jù)服務(wù)器進(jìn)行存儲資源回收;存儲資源回收模塊,用于如果文件布局的布局狀態(tài)為未提交狀態(tài),則進(jìn)行客戶端存儲資源回收;首先,調(diào)用客戶端預(yù)申請存儲資源管理裝置的存儲資源回收接ロ,把所述文件布局包含的存儲資源回收到客戶端預(yù)申請存儲資源中;然后,清除文件布局;清除記錄模塊,用于如果文件布局的布局狀態(tài)為已經(jīng)提交狀態(tài),則客戶端清除緩存中的文件布局記錄,并發(fā)送請求到元數(shù)據(jù)服務(wù)器進(jìn)行存儲資源回收;元數(shù)據(jù)服務(wù)器接收到文件布局回收請求后,清除元數(shù)據(jù)服務(wù)器文件布局,并且把被清除文 件布局包含的存儲資源狀態(tài)設(shè)置為空閑。所述的機(jī)群文件系統(tǒng)客戶端存儲資源延遲分配系統(tǒng),一致性維護(hù)模塊包括一致性模塊,用于當(dāng)客戶端異常宕機(jī)重啟后,在客戶端內(nèi)存中記錄的未分配的預(yù)申請存儲資源丟失,在客戶端內(nèi)存中記錄的未提交的文件布局丟失,已經(jīng)提交的文件布局包含存儲資源已經(jīng)在元數(shù)據(jù)服務(wù)器端一致;重啟后,客戶端與元數(shù)據(jù)服務(wù)器進(jìn)行交互,元數(shù)據(jù)服務(wù)器清除該客戶端預(yù)留存儲資源記錄,達(dá)到存儲資源一致狀態(tài);建立預(yù)留資源模塊,用于當(dāng)元數(shù)據(jù)服務(wù)器宕機(jī)重啟后,客戶端與元數(shù)據(jù)服務(wù)器交互,元數(shù)據(jù)服務(wù)器根據(jù)客戶端當(dāng)前的預(yù)申請存儲資源記錄重新為該客戶端建立預(yù)留存儲資源,達(dá)到存儲資源一致狀態(tài);資源丟失管理模塊,用于當(dāng)客戶端和元數(shù)據(jù)服務(wù)器同時(shí)宕機(jī)后,在客戶端內(nèi)存中記錄的未分配的預(yù)申請存儲資源丟失,在客戶端內(nèi)存中記錄的未提交的文件布局丟失,在元數(shù)據(jù)服務(wù)器記錄的該客戶端的預(yù)留記錄丟失,客戶端已經(jīng)提交的文件布局相關(guān)存儲資源已經(jīng)在元數(shù)據(jù)服務(wù)器端一致。本發(fā)明的有益效果為通過采用基于客戶端的延遲分配技術(shù),有效避免了預(yù)分配技術(shù)中預(yù)分配粒度確定困難的問題,客戶端在本地精確的延遲分配所需的存儲資源,并且能夠減少文件布局服務(wù)的交互次數(shù);通過采用客戶端延遲分配技術(shù),每個客戶端獲取的預(yù)申請存儲資源可以盡量分散在不同的存儲設(shè)備,降低了客戶端之間的相互干擾,有效緩解了海量小文件之間數(shù)據(jù)訪問隨機(jī)性。此外,采用基于客戶端的存儲資源分配方法,一部分存儲資源管理開銷轉(zhuǎn)移到客戶端,有效緩解了元數(shù)據(jù)服務(wù)器的負(fù)載壓力。
圖I為本發(fā)明機(jī)群文件系統(tǒng)客戶端存儲資源延遲分配方法;圖2為本發(fā)明機(jī)群文件系統(tǒng)客戶端存儲資源延遲分配系統(tǒng);圖3為本發(fā)明具體實(shí)施方式
機(jī)群文件系統(tǒng)基于客戶端的存儲資源延遲分配系統(tǒng)示意圖;圖4為本發(fā)明具體實(shí)施方式
機(jī)群文件系統(tǒng)基于客戶端的存儲資源延遲分配系統(tǒng)示意圖。
具體實(shí)施例方式下面給出本發(fā)明的具體實(shí)施方式
,結(jié)合附圖對本發(fā)明做出了詳細(xì)描述。本發(fā)明要解決的技術(shù)問題是在大規(guī)模機(jī)群文件系統(tǒng)中現(xiàn)有技術(shù)無法有效減少文件布局服務(wù)網(wǎng)絡(luò)交互次數(shù),以及無法有效緩解海量小文件之間數(shù)據(jù)訪問隨機(jī)性的問題,提供了ー種基于客戶端的存儲資源延遲分配方法和分配系統(tǒng),以減少文件布局服務(wù)網(wǎng)絡(luò)交互次數(shù)以及緩解海量小文件之間數(shù)據(jù)訪問隨機(jī)性。并且,提供了一種文件刪除時(shí)存儲資源回收方法。此外,提供ー種異常宕機(jī)情況下的存儲資源一致性保證方法,保證客戶端或服務(wù)器異常宕機(jī)情況下的存儲資源一致性,保證存儲資源不丟失、不重用。為了達(dá)到以上目的,本發(fā)明采用ー種基于客戶端的存儲資源延遲分配技術(shù)方案,如圖I所示,本發(fā)明公開ー種機(jī)群文件系統(tǒng)客戶端存儲資源延遲分配方法,包括步驟1,客戶端根據(jù)文件布局操作情況,進(jìn)行存儲資源延遲分配;·步驟2,在文件刪除時(shí)對存儲資源回收,處理客戶端延遲分配的存儲資源回收;步驟3,對存儲資源在客戶端與元數(shù)據(jù)服務(wù)器之間的一致性進(jìn)行維護(hù)。所述的機(jī)群文件系統(tǒng)客戶端存儲資源延遲分配方法,步驟I包括步驟21,將存儲資源在客戶端進(jìn)行預(yù)申請;步驟22,寫文件時(shí)客戶端的存儲資源延遲分配文件布局;步驟23,異步提交文件布局。所述的機(jī)群文件系統(tǒng)客戶端存儲資源延遲分配方法,所述步驟21包括步驟31,客戶端根據(jù)申請策略向元數(shù)據(jù)服務(wù)器預(yù)申請一定數(shù)量的空閑存儲資源;步驟32,元數(shù)據(jù)服務(wù)器根據(jù)策略為所述客戶端采用存儲資源預(yù)留方式預(yù)分配一定數(shù)量的空閑存儲資源;步驟33,客戶端在內(nèi)存中記錄預(yù)申請獲取的空閑存儲資源。所述的機(jī)群文件系統(tǒng)客戶端存儲資源延遲分配方法,所述步驟22包括步驟41,寫文件時(shí),在客戶端從預(yù)申請存儲資源中分配空閑存儲資源;步驟42,在客戶端內(nèi)存中以文件布局格式記錄分配的存儲資源;所述的機(jī)群文件系統(tǒng)客戶端存儲資源延遲分配方法,所述步驟23包括步驟51,客戶端根據(jù)異步提交策略,通過與元數(shù)據(jù)服務(wù)器網(wǎng)絡(luò)交互,異步提交在客戶端內(nèi)存中記錄的文件布局;步驟52,元數(shù)據(jù)服務(wù)器把提交的文件布局按照元數(shù)據(jù)服務(wù)器文件布局格式進(jìn)行記求;步驟53,元數(shù)據(jù)服務(wù)器把已經(jīng)提交的文件布局中包含的存儲資源狀態(tài)設(shè)置為已經(jīng)分配狀態(tài)。所述的機(jī)群文件系統(tǒng)客戶端存儲資源延遲分配方法,步驟2包括步驟61,客戶端接收應(yīng)用程序的刪除文件請求,對文件布局包含的存儲資源進(jìn)行回收;如果文件布局的布局狀態(tài)為未提交狀態(tài),則進(jìn)行客戶端存儲資源回收;如果文件布局的布局狀態(tài)為已提交狀態(tài),則發(fā)送請求到元數(shù)據(jù)服務(wù)器進(jìn)行存儲資源回收;步驟62,如果文件布局的布局狀態(tài)為未提交狀態(tài),則進(jìn)行客戶端存儲資源回收;首先,調(diào)用客戶端預(yù)申請存儲資源管理裝置的存儲資源回收接ロ,把所述文件布局包含的存儲資源回收到客戶端預(yù)申請存儲資源中;然后,清除文件布局;
步驟63,如果文件布局的布局狀態(tài)為已經(jīng)提交狀態(tài),則客戶端清除緩存中的文件布局記錄,并發(fā)送請求到元數(shù)據(jù)服務(wù)器進(jìn)行存儲資源回收;元數(shù)據(jù)服務(wù)器接收到文件布局回收請求后,清除元數(shù)據(jù)服務(wù)器文件布局,并且把被清除文件布局包含的存儲資源狀態(tài)設(shè)
置為空閑。所述的機(jī)群文件系統(tǒng)客戶端存儲資源延遲分配方法,步驟3包括步驟71,當(dāng)客戶端異常宕機(jī)重啟后,在客戶端內(nèi)存中記錄的未分配的預(yù)申請存儲資源丟失,在客戶端內(nèi)存中記錄的未提交的文件布局丟失,已經(jīng)提交的文件布局包含存儲資源已經(jīng)在元數(shù)據(jù)服務(wù)器端一致;重啟后,客戶端與元數(shù)據(jù)服務(wù)器進(jìn)行交互,元數(shù)據(jù)服務(wù)器清除該客戶端預(yù)留存儲資源記錄,達(dá)到存儲資源一致狀態(tài);步驟72,當(dāng)元數(shù)據(jù)服務(wù)器宕機(jī)重啟后,客戶端與元數(shù)據(jù)服務(wù)器交互,元數(shù)據(jù)服務(wù)器根據(jù)客戶端當(dāng)前的預(yù)申請存儲資源記錄重新為該客戶端建立預(yù)留存儲資源,達(dá)到存儲資源一致狀態(tài);·步驟73,當(dāng)客戶端和元數(shù)據(jù)服務(wù)器同時(shí)宕機(jī)后,在客戶端內(nèi)存中記錄的未分配的預(yù)申請存儲資源丟失,在客戶端內(nèi)存中記錄的未提交的文件布局丟失,在元數(shù)據(jù)服務(wù)器記錄的該客戶端的預(yù)留記錄丟失,客戶端已經(jīng)提交的文件布局相關(guān)存儲資源已經(jīng)在元數(shù)據(jù)服務(wù)器端一致。如圖2所示,本發(fā)明公開ー種機(jī)群文件系統(tǒng)客戶端存儲資源延遲分配系統(tǒng),包括延遲分配模塊10,用于客戶端根據(jù)文件布局操作情況,進(jìn)行存儲資源延遲分配;資源回收模塊20,用于在文件刪除時(shí)對存儲資源回收,處理客戶端延遲分配的存儲資源回收;一致性維護(hù)模塊30,用于對存儲資源在客戶端與元數(shù)據(jù)服務(wù)器之間的一致性進(jìn)行維護(hù)。所述的機(jī)群文件系統(tǒng)客戶端存儲資源延遲分配系統(tǒng),延遲分配模塊包括預(yù)申請模塊,用于將存儲資源在客戶端進(jìn)行預(yù)申請;文件布局模塊,用于寫文件時(shí)客戶端的存儲資源延遲分配文件布局;異步提交模塊,用于異步提交文件布局。所述的機(jī)群文件系統(tǒng)客戶端存儲資源延遲分配系統(tǒng),所述預(yù)申請模塊包括申請空閑存儲資源模塊,用于客戶端根據(jù)申請策略向元數(shù)據(jù)服務(wù)器預(yù)申請一定數(shù)量的空閑存儲資源;分配存儲資源模塊,用于元數(shù)據(jù)服務(wù)器根據(jù)申請策略為所述客戶端采用存儲資源預(yù)留方式預(yù)分配一定數(shù)量的空閑存儲資源;記錄存儲資源模塊,用于客戶端在內(nèi)存中記錄預(yù)申請獲取的空閑存儲資源。所述的機(jī)群文件系統(tǒng)客戶端存儲資源延遲分配系統(tǒng),所述文件布局模塊包括申請資源模塊,用于寫文件時(shí),在客戶端從預(yù)申請存儲資源中分配空閑存儲資源;記錄資源模塊,用于在客戶端內(nèi)存中以文件布局格式記錄分配的存儲資源;所述的機(jī)群文件系統(tǒng)客戶端存儲資源延遲分配系統(tǒng),所述異步提交模塊包括異步提交模塊,用于客戶端根據(jù)異步提交策略,通過與元數(shù)據(jù)服務(wù)器網(wǎng)絡(luò)交互,異步提交在客戶端內(nèi)存中記錄的文件布局;
記錄布局模塊,用于元數(shù)據(jù)服務(wù)器把提交的文件布局按照元數(shù)據(jù)服務(wù)器文件布局格式進(jìn)行記錄;設(shè)置狀態(tài)模塊,用于元數(shù)據(jù)服務(wù)器把已經(jīng)提交的文件布局中包含的存儲資源狀態(tài)設(shè)置為已經(jīng)分配狀態(tài)。所述的機(jī)群文件系統(tǒng)客戶端存儲資源延遲分配系統(tǒng),資源回收模塊包括接受刪除文件模塊,用于客戶端接收應(yīng)用程序的刪除文件請求,對文件布局包含的存儲資源進(jìn)行回收;如果文件布局的布局狀態(tài)為未提交狀態(tài),則進(jìn)行客戶端存儲資源回收;如果文件布局的布局狀態(tài)為已提交狀態(tài),則發(fā)送請求到元數(shù)據(jù)服務(wù)器進(jìn)行存儲資源回收;存儲資源回收模塊,用于如果文件布局的布局狀態(tài)為未提交狀態(tài),則進(jìn)行客戶端存儲資源回收;首先,調(diào)用客戶端預(yù)申請存儲資源管理裝置的存儲資源回收接ロ,把所述文件布局包含的存儲資源回收到客戶端預(yù)申請存儲資源中;然后,清除文件布局;
·
清除記錄模塊,用于如果文件布局的布局狀態(tài)為已經(jīng)提交狀態(tài),則客戶端清除緩存中的文件布局記錄,并發(fā)送請求到元數(shù)據(jù)服務(wù)器進(jìn)行存儲資源回收;元數(shù)據(jù)服務(wù)器接收到文件布局回收請求后,清除元數(shù)據(jù)服務(wù)器文件布局,并且把被清除文件布局包含的存儲資源狀態(tài)設(shè)置為空閑。所述的機(jī)群文件系統(tǒng)客戶端存儲資源延遲分配系統(tǒng),一致性維護(hù)模塊包括一致性模塊,用于當(dāng)客戶端異常宕機(jī)重啟后,在客戶端內(nèi)存中記錄的未分配的預(yù)申請存儲資源丟失,在客戶端內(nèi)存中記錄的未提交的文件布局丟失,已經(jīng)提交的文件布局包含存儲資源已經(jīng)在元數(shù)據(jù)服務(wù)器端一致;重啟后,客戶端與元數(shù)據(jù)服務(wù)器進(jìn)行交互,元數(shù)據(jù)服務(wù)器清除該客戶端預(yù)留存儲資源記錄,達(dá)到存儲資源一致狀態(tài);建立預(yù)留資源模塊,用于當(dāng)元數(shù)據(jù)服務(wù)器宕機(jī)重啟后,客戶端與元數(shù)據(jù)服務(wù)器交互,元數(shù)據(jù)服務(wù)器根據(jù)客戶端當(dāng)前的預(yù)申請存儲資源記錄重新為該客戶端建立預(yù)留存儲資源,達(dá)到存儲資源一致狀態(tài);資源丟失管理模塊,用于當(dāng)客戶端和元數(shù)據(jù)服務(wù)器同時(shí)宕機(jī)后,在客戶端內(nèi)存中記錄的未分配的預(yù)申請存儲資源丟失,在客戶端內(nèi)存中記錄的未提交的文件布局丟失,在元數(shù)據(jù)服務(wù)器記錄的該客戶端的預(yù)留記錄丟失,客戶端已經(jīng)提交的文件布局相關(guān)存儲資源已經(jīng)在元數(shù)據(jù)服務(wù)器端一致。本發(fā)明采用基于客戶端的存儲資源延遲分配技術(shù),一次預(yù)申請較多的存儲資源,后續(xù)寫文件時(shí)可以在客戶端進(jìn)行文件布局分配,有效減少了文件布局服務(wù)網(wǎng)絡(luò)交互次數(shù);預(yù)申請的存儲資源連續(xù)性較好,有效緩解了海量小文件之間數(shù)據(jù)訪問隨機(jī)性問題。如圖3所示,一種客戶端存儲資源延遲分配系統(tǒng),包括存儲資源;元數(shù)據(jù)服務(wù)器存儲資源管理裝置;元數(shù)據(jù)服務(wù)器文件布局提交裝置;客戶端存儲資源預(yù)申請裝置;客戶端寫文件時(shí)的存儲資源延遲分配裝置;客戶端文件布局提交裝置;客戶端刪除文件時(shí)的存儲資源回收裝置;在上述分配系統(tǒng)中,進(jìn)ー步地,所述存儲資源是存儲設(shè)備抽象成具有一定容量的線性數(shù)據(jù)塊地址空間。在上述分配系統(tǒng)中,進(jìn)ー步地,元數(shù)據(jù)服務(wù)器存儲資源管理裝置維護(hù)系統(tǒng)中數(shù)據(jù)存儲資源,包括存儲資源分配、回收、查詢、預(yù)留等操作部件,具有接收客戶端存儲資源預(yù)申請與回收預(yù)申請存儲資源的接ロ。在上述分配系統(tǒng)中,進(jìn)ー步地,元數(shù)據(jù)服務(wù)器文件布局提交裝置包括文件布局提交、存儲資源狀態(tài)更新等部件。其中,文件布局提交部件負(fù)責(zé)接收客戶端文件布局提交請求,按照元數(shù)據(jù)服務(wù)器端的文件布局格式組裝文件布局,并持久記錄;存儲資源狀態(tài)更新部件負(fù)責(zé)把客戶端提交的文件布局中包含的存儲資源狀態(tài)設(shè)置為已分配狀態(tài)。在上述分配系統(tǒng)中,進(jìn)ー步地,客戶端存儲資源預(yù)申請裝置包括存儲資源預(yù)申請、預(yù)申請存儲資源記錄、預(yù)申請存儲資源查詢、預(yù)申請存儲資源分配、預(yù)申請存儲資源回收等部件,具有接收客戶端存儲資源分配、回收的接ロ。在上述分配系統(tǒng)中,進(jìn)ー步地,客戶端寫文件時(shí)的存儲資源延遲分配裝置包括組裝文件布局、設(shè)置文件布局狀態(tài)標(biāo)識的部件。其中,組裝文件布局 部件負(fù)責(zé)把分配的存儲資源按照客戶端文件布局格式組裝文件布局;設(shè)置文件布局狀態(tài)標(biāo)識部件設(shè)置文件布局狀態(tài)為客戶端還未提交到元數(shù)據(jù)服務(wù)器狀態(tài)。在上述分配系統(tǒng)中,進(jìn)ー步地,客戶端文件布局提交裝置包括提交文件布局、設(shè)置文件布局狀態(tài)標(biāo)識的部件。其中,提交文件布局負(fù)責(zé)按照與元數(shù)據(jù)服務(wù)器之間的交互協(xié)議組裝待提交文件布局,并發(fā)送到元數(shù)據(jù)服務(wù)器;設(shè)置文件布局狀態(tài)標(biāo)識部件負(fù)責(zé)文件布局提交完成之后,設(shè)置文件布局狀態(tài)標(biāo)識為已經(jīng)提交到元數(shù)據(jù)服務(wù)器狀態(tài)。在上述分配系統(tǒng)中,進(jìn)ー步地,客戶端刪除文件時(shí)的存儲資源回收裝置包括回收客戶端文件布局、回收已提交文件布局的部件。其中,回收客戶端文件布局部件負(fù)責(zé)回收未提交到元數(shù)據(jù)服務(wù)器的文件布局;回收已提交文件布局布局負(fù)責(zé)回收已經(jīng)提交到元數(shù)據(jù)服務(wù)器的文件布局。如圖4所示,基于客戶端的存儲資源延遲分配系統(tǒng),主要包括元數(shù)據(jù)服務(wù)器5和客戶端15。所述元數(shù)據(jù)服務(wù)器5具體包括存儲資源I ;與所述存儲資源I連接的存儲資源管理裝置2,具有接收客戶端15預(yù)申請存儲資源管理裝置12的存儲資源預(yù)申請的接ロ ;與所述存儲資源管理裝置2連接的文件布局維護(hù)裝置3,具有接收客戶端15文件布局維護(hù)裝置13的布局提交請求的接ロ ;所述文件布局4,由文件布局維護(hù)裝置3維護(hù);所述客戶端15具體包括預(yù)申請存儲資源11 ;與所述預(yù)申請存儲資源11連接的預(yù)申請存儲資源管理裝置12 ;與所述預(yù)申請存儲資源管理裝置12連接的文件布局維護(hù)裝置13,所述文件布局維護(hù)裝置具有接收待處理的文件布局14的接ロ ;與所述文件布局維護(hù)裝置13連接的寫文件部件16 ;與所述文件布局維護(hù)裝置13連接的刪除文件部件17。下面對各部分進(jìn)行說明所述存儲資源I是抽象化的具有一定容量的線性地址空間。該線性地址空間包含多個物理存儲設(shè)備的存儲資源,線性地址空間遵循如下的規(guī)律對相距較近地址空間的訪問性能優(yōu)于距離較遠(yuǎn)的地址空間訪問。該線性地址空間由元數(shù)據(jù)服務(wù)器存儲資源管理裝置2維護(hù)。所述預(yù)申請存儲資源11是客戶端從元數(shù)據(jù)服務(wù)器存儲資源管理裝置2獲取的預(yù)申請存儲資源。所述存儲資源管理裝置2是管理存儲資源I的裝置,對存儲資源I的申請、回收、查詢進(jìn)行管理,為預(yù)申請存儲資源管理裝置12提供存儲資源預(yù)留接ロ,為文件布局維護(hù)裝置3提供存儲資源分配、釋放、查詢接ロ。所述預(yù)申請存儲資源管理裝置12,對預(yù)申請存儲資源進(jìn)行管理,為文件布局維護(hù)裝置13提供存儲資源分配、釋放、查詢接ロ。負(fù)責(zé)從存儲資源管理裝置2預(yù)申請存儲資源,并記錄在預(yù)申請存儲資源11中。所述文件布局維護(hù)裝置3,對元數(shù)據(jù)服務(wù)器端的文件布局4進(jìn)行維護(hù),包括對文件布局4的創(chuàng)建、刪除等,為文件布局維護(hù)裝置13提供布局提交接ロ。所述文件布局維護(hù)裝置13,對客戶端的文件布局14進(jìn)行維護(hù),提供在寫文件部件中分配文件布局14的接ロ,在刪除文件部件17中釋放文件布局14的接ロ。負(fù)責(zé)接收寫文件部件的布局分配請求,并從預(yù)申請存儲資源管理裝置12分配存儲資源,創(chuàng)建文件布局14 ;負(fù)責(zé)接收刪除文件布局部件17的布局釋放請求,根據(jù)文件布局狀態(tài)把文件布局14釋放到預(yù)申請存儲資源管理裝置12中或者釋放到文件布局維護(hù)裝置3中。所述寫文件部件16完成文件寫操作,在寫操作過程中調(diào)用文件布局維護(hù)裝置13·的布局分配接ロ進(jìn)行布局分配;所述刪除文件部件17完成文件刪除操作,在刪除操作過程中調(diào)用文件布局維護(hù)裝置13的釋放文件布局接ロ完成文件布局釋放。
具體實(shí)施方式
中,基于客戶端的存儲資源延遲分配方法,包括如下步驟一、基于客戶端的存儲資源延遲分配的步驟I.客戶端存儲資源預(yù)申請步驟I. I客戶端存儲資源預(yù)申請客戶端根據(jù)歷史的文件布局操作情況,如果涉及到大量的小文件布局操作,則認(rèn)為需要進(jìn)行基于客戶端的存儲資源延遲分配,并確定期望的預(yù)申請存儲資源數(shù)量。之后,向元數(shù)據(jù)服務(wù)器發(fā)送請求以預(yù)申請存儲資源,請求中包含期望的預(yù)申請空閑存儲資源數(shù)量(Expect_Count;0I. 2元數(shù)據(jù)服務(wù)器分配預(yù)申請存儲資源元數(shù)據(jù)服務(wù)器接收到客戶端發(fā)送的存儲資源預(yù)申請請求后,啟動分配預(yù)申請存儲資源的過程。元數(shù)據(jù)服務(wù)器盡量為不同的客戶端分配不同存儲設(shè)備上的連續(xù)存儲資源,以緩解多個客戶端對同一存儲設(shè)備的隨機(jī)訪問。在分配時(shí),盡量滿足客戶端的Expect_count數(shù)量要求。在分配空閑存儲資源之后,元數(shù)據(jù)服務(wù)器以存儲資源預(yù)留的方式在內(nèi)存中記錄。針對每一個客戶端設(shè)置ー個鏈表記錄預(yù)申請的存儲資源。由于預(yù)申請的存儲資源連續(xù)性較好,因此采用擴(kuò)展extent方式進(jìn)行記錄,僅記錄預(yù)申請的起始存儲資源序號和預(yù)申請長度,即(res_start, res_count)。對存儲資源的空閑與否狀態(tài)不進(jìn)行修改,仍然保持為空閑狀態(tài),以保證在異常宕機(jī)情況下的存儲資源狀態(tài)一致性。之后,向客戶端返回預(yù)申請的存儲資源,包括預(yù)申請存儲資源的起始序號和實(shí)際分配到的存儲資源數(shù)量(res_start,res_
countノ。I. 3客戶端記錄預(yù)申請存儲資源客戶端從元數(shù)據(jù)服務(wù)器獲取預(yù)申請存儲資源后,采用extent鏈表方式記錄在內(nèi)存中,即(res_start, res_count)02.寫文件時(shí)存儲資源延遲分配文件布局步驟2. I客戶端寫文件數(shù)據(jù)客戶端首先把數(shù)據(jù)內(nèi)容拷貝到文件的頁緩存中,此時(shí)還不必進(jìn)行文件布局分配;然后,客戶端異步批量提交頁緩存,嘗試持久提交到存儲設(shè)備。頁緩存能夠包含多個文件的多個頁,可以批量提交到存儲設(shè)備。2. 2客戶端分配文件布局客戶端批量提交頁緩存時(shí),觸發(fā)客戶端分配文件布局過程。如果頁緩存所對應(yīng)的文件布局已經(jīng)存在,則直接使用已經(jīng)存在的所述文件布局即可,不必進(jìn)行文件布局分配;如果頁緩存所對應(yīng)的文件布局不存在,則需要分配。由客戶端文件布局維護(hù)裝置向客戶端預(yù)申請存儲資源管理裝置調(diào)用存儲資源分配接ロ,分配預(yù)申請存儲資源??蛻舳宋募季志S護(hù)裝置分配到存儲資源后,把分配到的存儲資源按照客戶端文件布局格式進(jìn)行組裝,并記錄在內(nèi)存中。之后,設(shè)置文件布局狀態(tài)為未提交狀態(tài)??蛻舳宋募季指袷娇梢圆捎胑xtent格式,構(gòu)成四元組(文件起始邏輯偏移、物理存儲資源起始序號、布局長度、布局狀態(tài)),表示從“文件起始邏輯偏移”開始并且長度為“布局長度”的文件內(nèi)容存儲到“物理存儲資源起始序號”開始并且長度為“布局長度”的物理存儲設(shè)備上。“布局狀態(tài)”表示文件布局已經(jīng)提交到元數(shù)據(jù)服務(wù)器或者未提交到元數(shù)據(jù)服·務(wù)器的狀態(tài)。2. 3客戶端提交頁緩存客戶端獲取頁緩存對應(yīng)的文件布局后,把頁緩存提交到對應(yīng)物理存儲設(shè)備的對應(yīng)地址。3.異步提交文件布局步驟3. I客戶端異步提交文件布局客戶端根據(jù)策略觸發(fā)異步提交文件布局過程,比如當(dāng)文件關(guān)閉后提交文件布局、當(dāng)客戶端內(nèi)存存儲資源緊張后選擇性的提交文件布局、當(dāng)超過一定時(shí)間后提交文件布局等策略??蛻舳宋募季志S護(hù)裝置把待提交文件布局按交互協(xié)議格式進(jìn)行組裝,發(fā)送提交文件布局請求到元數(shù)據(jù)服務(wù)器文件布局維護(hù)裝置。3. 2元數(shù)據(jù)服務(wù)器提交文件布局元數(shù)據(jù)服務(wù)器接收到客戶端提交文件布局請求后,獲取待提交的文件布局;然后,根據(jù)元數(shù)據(jù)服務(wù)器端的布局格式進(jìn)行提交,并持久記錄。作為ー種示例,元數(shù)據(jù)服務(wù)器端的文件布局可以采用類似EXT3的三級間接地址方式。之后,修改提交文件布局包含的物理存儲資源狀態(tài)為已占用,保證服務(wù)器宕機(jī)情況下的存儲資源狀態(tài)一致。3. 3客戶端修改文件布局狀態(tài)客戶端接收到元數(shù)據(jù)服務(wù)器文件布局請求響應(yīng)消息后,修改文件布局中的“布局狀態(tài)”為已提交狀態(tài)。ニ、刪除文件時(shí)存儲資源回收步驟I.客戶端刪除文件客戶端接收應(yīng)用程序的刪除文件請求,對文件布局包含的存儲資源進(jìn)行回收。如果文件布局“布局狀態(tài)”為未提交狀態(tài),則進(jìn)行客戶端存儲資源回收;如果文件布局“布局狀態(tài)”為已提交狀態(tài),則發(fā)送請求到元數(shù)據(jù)服務(wù)器進(jìn)行存儲資源回收。2.客戶端存儲資源回收如果文件布局“布局狀態(tài)”為未提交狀態(tài),則進(jìn)行客戶端存儲資源回收。首先,調(diào)用客戶端預(yù)申請存儲資源管理裝置的存儲資源回收接ロ,把所述文件布局包含的存儲資源回收到客戶端預(yù)申請存儲資源中;然后,清除文件布局。3.元數(shù)據(jù)服務(wù)器存儲資源回收如果文件布局“布局狀態(tài)”為已經(jīng)提交狀態(tài),則客戶端清除緩存中的文件布局記錄,并發(fā)送請求到元數(shù)據(jù)服務(wù)器進(jìn)行存儲資源回收。元數(shù)據(jù)服務(wù)器接收到文件布局回收請求后,清除元數(shù)據(jù)服務(wù)器文件布局,并且把被清除文件布局包含的存儲資源狀態(tài)設(shè)置為空閑。三、異常宕機(jī)情況下的存儲資源一致性保證步驟I.僅客戶端異常宕機(jī)恢復(fù)客戶端異常宕機(jī)后,還未分配的預(yù)申請存儲 資源以及已分配但是還未提交到元數(shù)據(jù)服務(wù)器的存儲資源丟失,已經(jīng)提交到元數(shù)據(jù)服務(wù)器的存儲資源已經(jīng)持久記錄并且存儲資源處于一致狀態(tài)。因此,當(dāng)客戶端重新啟動后,與元數(shù)據(jù)服務(wù)器進(jìn)行交互,元數(shù)據(jù)服務(wù)器丟棄為該客戶端預(yù)留的存儲資源,即可達(dá)到存儲資源一致狀態(tài)。2.僅元數(shù)據(jù)服務(wù)器異常宕機(jī)恢復(fù)元數(shù)據(jù)服務(wù)器異常宕機(jī)后,客戶端已經(jīng)提交到元數(shù)據(jù)服務(wù)器的文件布局存儲資源已經(jīng)一致,需要保證客戶端預(yù)申請存儲資源與已分配但是還未提交到元數(shù)據(jù)服務(wù)器的存儲資源狀態(tài)一致。當(dāng)元數(shù)據(jù)服務(wù)器重新啟動后,客戶端與元數(shù)據(jù)服務(wù)器通信,由元數(shù)據(jù)服務(wù)器重新構(gòu)建客戶端預(yù)申請存儲資源和已分配但是還未提交的存儲資源。具體步驟如下2. I元數(shù)據(jù)服務(wù)器宕機(jī)恢復(fù)元數(shù)據(jù)服務(wù)器宕機(jī)恢復(fù)后,等待一段延時(shí)。在這段延時(shí)中客戶端可以發(fā)現(xiàn)元數(shù)據(jù)服務(wù)器宕機(jī)重啟,并進(jìn)行存儲資源重構(gòu)操作。2. 2客戶端發(fā)送存儲資源重構(gòu)請求客戶端檢查到元數(shù)據(jù)服務(wù)器宕機(jī)重啟后,把預(yù)申請存儲資源以及已經(jīng)分配但是還未提交的存儲資源狀態(tài)組織為待重構(gòu)的存儲資源狀態(tài),然后發(fā)送到元數(shù)據(jù)服務(wù)器。2. 3元數(shù)據(jù)服務(wù)器重構(gòu)存儲資源狀態(tài)元數(shù)據(jù)服務(wù)器接收到客戶端發(fā)送的存儲資源重構(gòu)請求后,根據(jù)請求中包含的待重構(gòu)的存儲資源進(jìn)行存儲資源預(yù)留操作,并返回給客戶端存儲資源重構(gòu)完成響應(yīng)消息。2. 4客戶端存儲資源重構(gòu)完成客戶端接收到元數(shù)據(jù)服務(wù)器返回的重構(gòu)完成消息后,表示存儲資源重構(gòu)完成,存儲資源處于一致狀態(tài),后續(xù)即可進(jìn)行正常操作。3.客戶端和元數(shù)據(jù)服務(wù)器同時(shí)異常宕機(jī)客戶端和元數(shù)據(jù)服務(wù)器同時(shí)異常宕機(jī)后,客戶端預(yù)申請存儲資源以及已經(jīng)分配但是還未提交的存儲資源丟失,已經(jīng)提交到元數(shù)據(jù)服務(wù)器的文件布局存儲資源已經(jīng)一致,元數(shù)據(jù)服務(wù)器的存儲資源預(yù)留信息丟失。因此,存儲資源狀態(tài)已經(jīng)處于一致狀態(tài),客戶端和元數(shù)據(jù)服務(wù)器不必進(jìn)行任何存儲資源重構(gòu)恢復(fù)操作。本領(lǐng)域的技術(shù)人員在不脫離權(quán)利要求書確定的本發(fā)明的精神和范圍的條件下,還可以對以上內(nèi)容進(jìn)行各種各樣的修改。因此本發(fā)明的范圍并不僅限于以上的說明,而是由權(quán)利要求書的范圍來確定的。
權(quán)利要求
1.一種機(jī)群文件系統(tǒng)客戶端存儲資源延遲分配方法,其特征在于,包括 步驟1,客戶端根據(jù)文件布局操作情況,進(jìn)行存儲資源延遲分配; 步驟2,在文件刪除時(shí)對存儲資源回收,處理客戶端延遲分配的存儲資源回收; 步驟3,對存儲資源在客戶端與元數(shù)據(jù)服務(wù)器之間的一致性進(jìn)行維護(hù)。
2.如權(quán)利要求I所述的機(jī)群文件系統(tǒng)客戶端存儲資源延遲分配方法,其特征在于,步驟I包括 步驟21,將存儲資源在客戶端進(jìn)行預(yù)申請; 步驟22,寫文件時(shí)客戶端的存儲資源延遲分配文件布局; 步驟23,異步提交文件布局。
3.如權(quán)利要求2所述的機(jī)群文件系統(tǒng)客戶端存儲資源延遲分配方法,其特征在于,所述步驟21包括 步驟31,客戶端根據(jù)申請策略向元數(shù)據(jù)服務(wù)器預(yù)申請一定數(shù)量的空閑存儲資源; 步驟32,元數(shù)據(jù)服務(wù)器根據(jù)策略為所述客戶端采用存儲資源預(yù)留方式預(yù)分配一定數(shù)量的空閑存儲資源; 步驟33,客戶端在內(nèi)存中記錄預(yù)申請獲取的空閑存儲資源。
4.如權(quán)利要求2所述的機(jī)群文件系統(tǒng)客戶端存儲資源延遲分配方法,其特征在于,所述步驟22包括 步驟41,寫文件時(shí),在客戶端從預(yù)申請存儲資源中分配空閑存儲資源; 步驟42,在客戶端內(nèi)存中以文件布局格式記錄分配的存儲資源。
5.如權(quán)利要求2所述的機(jī)群文件系統(tǒng)客戶端存儲資源延遲分配方法,其特征在于,所述步驟23包括 步驟51,客戶端根據(jù)異步提交策略,通過與元數(shù)據(jù)服務(wù)器網(wǎng)絡(luò)交互,異步提交在客戶端內(nèi)存中記錄的文件布局; 步驟52,元數(shù)據(jù)服務(wù)器把提交的文件布局按照元數(shù)據(jù)服務(wù)器文件布局格式進(jìn)行記錄;步驟53,元數(shù)據(jù)服務(wù)器把已經(jīng)提交的文件布局中包含的存儲資源狀態(tài)設(shè)置為已經(jīng)分配狀態(tài)。
6.如權(quán)利要求I所述的機(jī)群文件系統(tǒng)客戶端存儲資源延遲分配方法,其特征在于,步驟2包括 步驟61,客戶端接收應(yīng)用程序的刪除文件請求,對文件布局包含的存儲資源進(jìn)行回收;如果文件布局的布局狀態(tài)為未提交狀態(tài),則進(jìn)行客戶端存儲資源回收;如果文件布局的布局狀態(tài)為已提交狀態(tài),則發(fā)送請求到元數(shù)據(jù)服務(wù)器進(jìn)行存儲資源回收; 步驟62,如果文件布局的布局狀態(tài)為未提交狀態(tài),則進(jìn)行客戶端存儲資源回收;首先,調(diào)用客戶端預(yù)申請存儲資源管理裝置的存儲資源回收接口,把所述文件布局包含的存儲資源回收到客戶端預(yù)申請存儲資源中;然后,清除文件布局; 步驟63,如果文件布局的布局狀態(tài)為已經(jīng)提交狀態(tài),則客戶端清除緩存中的文件布局記錄,并發(fā)送請求到元數(shù)據(jù)服務(wù)器進(jìn)行存儲資源回收;元數(shù)據(jù)服務(wù)器接收到文件布局回收請求后,清除元數(shù)據(jù)服務(wù)器文件布局,并且把被清除文件布局包含的存儲資源狀態(tài)設(shè)置為空閑。
7.如權(quán)利要求I所述的機(jī)群文件系統(tǒng)客戶端存儲資源延遲分配方法,其特征在于,步驟3包括 步驟71,當(dāng)客戶端異常宕機(jī)重啟后,在客戶端內(nèi)存中記錄的未分配的預(yù)申請存儲資源丟失,在客戶端內(nèi)存中記錄的未提交的文件布局丟失,已經(jīng)提交的文件布局包含存儲資源已經(jīng)在元數(shù)據(jù)服務(wù)器端一致;重啟后,客戶端與元數(shù)據(jù)服務(wù)器進(jìn)行交互,元數(shù)據(jù)服務(wù)器清除該客戶端預(yù)留存儲資源記錄,達(dá)到存儲資源一致狀態(tài); 步驟72,當(dāng)元數(shù)據(jù)服務(wù)器宕機(jī)重啟后,客戶端與元數(shù)據(jù)服務(wù)器交互,元數(shù)據(jù)服務(wù)器根據(jù)客戶端當(dāng)前的預(yù)申請存儲資源記錄重新為該客戶端建立預(yù)留存儲資源,達(dá)到存儲資源一致狀態(tài); 步驟73,當(dāng)客戶端和元數(shù)據(jù)服務(wù)器同時(shí)宕機(jī)后,在客戶端內(nèi)存中記錄的未分配的預(yù)申請存儲資源丟失,在客戶端內(nèi)存中記錄的未提交的文件布局丟失,在元數(shù)據(jù)服務(wù)器記錄的該客戶端的預(yù)留記錄丟失,客戶端已經(jīng)提交的文件布局相關(guān)存儲資源已經(jīng)在元數(shù)據(jù)服務(wù)器端一致。
8.一種機(jī)群文件系統(tǒng)客戶端存儲資源延遲分配系統(tǒng),其特征在于,包括 延遲分配模塊,用于客戶端根據(jù)文件布局操作情況,進(jìn)行存儲資源延遲分配; 資源回收模塊,用于在文件刪除時(shí)對存儲資源回收,處理客戶端延遲分配的存儲資源回收; 一致性維護(hù)模塊,用于對存儲資源在客戶端與元數(shù)據(jù)服務(wù)器之間的一致性進(jìn)行維護(hù)。
9.如權(quán)利要求8所述的機(jī)群文件系統(tǒng)客戶端存儲資源延遲分配系統(tǒng),其特征在于,延遲分配模塊包括 預(yù)申請模塊,用于將存儲資源在客戶端進(jìn)行預(yù)申請; 文件布局模塊,用于寫文件時(shí)客戶端的存儲資源延遲分配文件布局; 異步提交模塊,用于異步提交文件布局。
10.如權(quán)利要求9所述的機(jī)群文件系統(tǒng)客戶端存儲資源延遲分配系統(tǒng),其特征在于,所述預(yù)申請模塊包括 申請空閑存儲資源模塊,用于客戶端根據(jù)申請策略向元數(shù)據(jù)服務(wù)器預(yù)申請一定數(shù)量的空閑存儲資源; 分配存儲資源模塊,用于元數(shù)據(jù)服務(wù)器根據(jù)申請策略為所述客戶端采用存儲資源預(yù)留方式預(yù)分配一定數(shù)量的空閑存儲資源; 記錄存儲資源模塊,用于客戶端在內(nèi)存中記錄預(yù)申請獲取的空閑存儲資源。
11.如權(quán)利要求9所述的機(jī)群文件系統(tǒng)客戶端存儲資源延遲分配系統(tǒng),其特征在于,所述文件布局t吳塊包括 申請資源模塊,用于寫文件時(shí),在客戶端從預(yù)申請存儲資源中分配空閑存儲資源; 記錄資源模塊,用于在客戶端內(nèi)存中以文件布局格式記錄分配的存儲資源。
12.如權(quán)利要求9所述的機(jī)群文件系統(tǒng)客戶端存儲資源延遲分配系統(tǒng),其特征在于,所述異步提交模塊包括 異步提交模塊,用于客戶端根據(jù)異步提交策略,通過與元數(shù)據(jù)服務(wù)器網(wǎng)絡(luò)交互,異步提交在客戶端內(nèi)存中記錄的文件布局; 記錄布局模塊,用于元數(shù)據(jù)服務(wù)器把提交的文件布局按照元數(shù)據(jù)服務(wù)器文件布局格式進(jìn)行記錄;設(shè)置狀態(tài)模塊,用于元數(shù)據(jù)服務(wù)器把已經(jīng)提交的文件布局中包含的存儲資源狀態(tài)設(shè)置為已經(jīng)分配狀態(tài)。
13.如權(quán)利要求8所述的機(jī)群文件系統(tǒng)客戶端存儲資源延遲分配系統(tǒng),其特征在于,資源回收模塊包括 接受刪除文件模塊,用于客戶端接收應(yīng)用程序的刪除文件請求,對文件布局包含的存儲資源進(jìn)行回收;如果文件布局的布局狀態(tài)為未提交狀態(tài),則進(jìn)行客戶端存儲資源回收;如果文件布局的布局狀態(tài)為已提交狀態(tài),則發(fā)送請求到元數(shù)據(jù)服務(wù)器進(jìn)行存儲資源回收;存儲資源回收模塊,用于如果文件布局的布局狀態(tài)為未提交狀態(tài),則進(jìn)行客戶端存儲資源回收;首先,調(diào)用客戶端預(yù)申請存儲資源管理裝置的存儲資源回收接口,把所述文件布局包含的存儲資源回收到客戶端預(yù)申請存儲資源中;然后,清除文件布局; 清除記錄模塊,用于如果文件布局的布局狀態(tài)為已經(jīng)提交狀態(tài),則客戶端清除緩存中的文件布局記錄,并發(fā)送請求到元數(shù)據(jù)服務(wù)器進(jìn)行存儲資源回收;元數(shù)據(jù)服務(wù)器接收到文件布局回收請求后,清除元數(shù)據(jù)服務(wù)器文件布局,并且把被清除文件布局包含的存儲資源狀態(tài)設(shè)置為空閑。
14.如權(quán)利要求8所述的機(jī)群文件系統(tǒng)客戶端存儲資源延遲分配系統(tǒng),其特征在于,一致性維護(hù)模塊包括 一致性模塊,用于當(dāng)客戶端異常宕機(jī)重啟后,在客戶端內(nèi)存中記錄的未分配的預(yù)申請存儲資源丟失,在客戶端內(nèi)存中記錄的未提交的文件布局丟失,已經(jīng)提交的文件布局包含存儲資源已經(jīng)在元數(shù)據(jù)服務(wù)器端一致;重啟后,客戶端與元數(shù)據(jù)服務(wù)器進(jìn)行交互,元數(shù)據(jù)服務(wù)器清除該客戶端預(yù)留存儲資源記錄,達(dá)到存儲資源一致狀態(tài); 建立預(yù)留資源模塊,用于當(dāng)元數(shù)據(jù)服務(wù)器宕機(jī)重啟后,客戶端與元數(shù)據(jù)服務(wù)器交互,元數(shù)據(jù)服務(wù)器根據(jù)客戶端當(dāng)前的預(yù)申請存儲資源記錄重新為該客戶端建立預(yù)留存儲資源,達(dá)到存儲資源一致狀態(tài); 資源丟失管理模塊,用于當(dāng)客戶端和元數(shù)據(jù)服務(wù)器同時(shí)宕機(jī)后,在客戶端內(nèi)存中記錄的未分配的預(yù)申請存儲資源丟失,在客戶端內(nèi)存中記錄的未提交的文件布局丟失,在元數(shù)據(jù)服務(wù)器記錄的該客戶端的預(yù)留記錄丟失,客戶端已經(jīng)提交的文件布局相關(guān)存儲資源已經(jīng)在元數(shù)據(jù)服務(wù)器端一致。
全文摘要
本發(fā)明公開一種機(jī)群文件系統(tǒng)客戶端存儲資源延遲分配方法和系統(tǒng),該方法包括步驟1,客戶端根據(jù)文件布局操作情況,進(jìn)行存儲資源延遲分配;步驟2,在文件刪除時(shí)對存儲資源回收,處理客戶端延遲分配的存儲資源回收;步驟3,對存儲資源在客戶端與元數(shù)據(jù)服務(wù)器之間的一致性進(jìn)行維護(hù)。
文檔編號H04L29/06GK102790797SQ201210160339
公開日2012年11月21日 申請日期2012年5月22日 優(yōu)先權(quán)日2012年5月22日
發(fā)明者劉振軍, 劉超, 張軍偉, 鄭彩平, 齊穎 申請人:中國科學(xué)院計(jì)算技術(shù)研究所, 天津中科藍(lán)鯨信息技術(shù)有限公司