本發(fā)明涉及計(jì)算機(jī)存儲(chǔ)領(lǐng)域,具體地說是一種分布式文件系統(tǒng)小文件寫緩存優(yōu)化的方法。
背景技術(shù):
隨著計(jì)算機(jī)技術(shù)的快速發(fā)展,各種形式的信息數(shù)據(jù)量越來越大,PB級(jí)別的海量數(shù)據(jù)存儲(chǔ)變得越來越重要。傳統(tǒng)意義的文件系統(tǒng)已不能滿足現(xiàn)有應(yīng)用的大容量、高可靠性、高性能等要求,為滿足這些新的要求,分布式文件系統(tǒng)得到了廣泛的重視。
現(xiàn)有的分布式文件系統(tǒng)的研究主要分為元數(shù)據(jù)和實(shí)際數(shù)據(jù)存儲(chǔ)分開管理,通過元數(shù)據(jù)與實(shí)際數(shù)據(jù)的隔離實(shí)現(xiàn)了分布式文件系統(tǒng)的容量動(dòng)態(tài)增減、性能現(xiàn)行擴(kuò)展。
然而,電子商務(wù)、移動(dòng)通信、傳感器網(wǎng)絡(luò)等各種應(yīng)用產(chǎn)生的數(shù)據(jù),不僅存儲(chǔ)容量巨大,而且還具有數(shù)據(jù)類型繁多、數(shù)據(jù)大小變化大、流動(dòng)快等顯著特點(diǎn),往往能夠產(chǎn)生千萬級(jí)、億級(jí)甚至十億、百億級(jí)的海量小文件。
在進(jìn)行大文件寫入時(shí),可以在客戶端進(jìn)行數(shù)據(jù)合并來提高刷新效率,而小文件內(nèi)容則無法有效合并,因此急需發(fā)明一種小文件寫入緩存優(yōu)化的方法。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的技術(shù)任務(wù)是提供一種分布式文件系統(tǒng)小文件寫緩存優(yōu)化的方法。
本發(fā)明的技術(shù)任務(wù)是按以下方式實(shí)現(xiàn)的,一種分布式文件系統(tǒng)小文件寫緩存優(yōu)化的方法,具體方法步驟如下:
S1、掛載文件系統(tǒng),指定目錄打開緩存功能;
S2、將所寫入的數(shù)據(jù)保存到客戶端緩存;
S3、緩存管理模塊按照inode進(jìn)行臟數(shù)據(jù)區(qū)分管理;
S4、緩存刷新模塊定期刷新臟數(shù)據(jù)到后端存儲(chǔ)池。
進(jìn)一步,優(yōu)選的方法為,所述的S3緩存管理模塊按照inode進(jìn)行臟數(shù)據(jù)區(qū)分管理的具體步驟為:
在客戶端每個(gè)inode里面新增一個(gè)索引,用來管理屬于當(dāng)前inode的臟數(shù)據(jù),在客戶端進(jìn)行小文件寫入時(shí)將所寫入的數(shù)據(jù)關(guān)聯(lián)到新增的索引上面。
進(jìn)一步,優(yōu)選的方法為,所述的S4中緩存刷新的具體步驟為:
增加定時(shí)器,用于定期觸發(fā)臟數(shù)據(jù)刷新操作;
在文件寫入完成后關(guān)閉文件句柄,然后將待刷新inode放至任務(wù)隊(duì)列,每一次只刷新特定數(shù)量的inode,刷新的數(shù)據(jù)內(nèi)容必須是與inode相關(guān)聯(lián);以使得每一次刷新操作可以批量刷新inode的同時(shí)刷新與該inode關(guān)聯(lián)的臟數(shù)據(jù)。
進(jìn)一步,優(yōu)選的方法為,所述的緩存功能的打開與關(guān)閉功能,以目錄為操作的基本單位。
進(jìn)一步,優(yōu)選的方法為,所述的目錄下的子目錄繼承了緩存功能的打開與關(guān)閉功能。
一種分布式文件系統(tǒng)小文件寫緩存優(yōu)化的裝置,包括客戶端、緩存功能開啟模塊、緩存管理模塊和緩存刷新模塊;
其中客戶端,客戶端緩存用于保存寫入的數(shù)據(jù);
緩存功能開啟模塊,以目錄為操作的基本單位,用于緩存功能的打開與關(guān)閉;
緩存管理模塊,用于按照inode進(jìn)行臟數(shù)據(jù)區(qū)分管理;
緩存刷新模塊,用于實(shí)現(xiàn)批量刷新inode,刷新的數(shù)據(jù)內(nèi)容與inode相關(guān)聯(lián)。
進(jìn)一步,優(yōu)選的結(jié)構(gòu)為,所述的緩存刷新模塊包括定時(shí)器,用于批量inode的延遲刷新。
本發(fā)明是小文件寫入時(shí),將數(shù)據(jù)內(nèi)容寫入到緩存,并且關(guān)聯(lián)到具體的inode;由定時(shí)器延遲刷新,每一次只刷新特定數(shù)量的inode,刷新的數(shù)據(jù)內(nèi)容必須是與inode相關(guān)聯(lián)。而且本發(fā)明的緩存功能是以目錄為操作的基本單位,可以指定目錄打開或者關(guān)閉該功能特性。
本發(fā)明的一種分布式文件系統(tǒng)小文件寫緩存優(yōu)化的方法和現(xiàn)有技術(shù)相比,有益效果如下:
1、通過目錄布局,實(shí)現(xiàn)緩存功能的開關(guān)控制,以及子目錄對(duì)緩存功能開關(guān)控制的繼承;
2、刷新inode操作由定時(shí)器觸發(fā),將同步刷新變成異步,并且可以實(shí)現(xiàn)批量刷新inode,刷新的數(shù)據(jù)內(nèi)容與inode強(qiáng)相關(guān),可以有效提高小文件寫入效率;
3、可以同時(shí)面向大文件與小文件的寫入操作。
附圖說明
附圖1為一種分布式文件系統(tǒng)小文件寫緩存優(yōu)化的方法的流程示意圖。
具體實(shí)施方式
實(shí)施例1:
本發(fā)明是文件系統(tǒng)進(jìn)行小文件寫操作時(shí),將所寫入的數(shù)據(jù)保存到客戶端緩存并且按照inode區(qū)分管理,然后由定時(shí)器定期將臟數(shù)據(jù)刷新到后端存儲(chǔ)池,批量寫入,批量刷新以提高小文件的寫入效率。
一種分布式文件系統(tǒng)小文件寫緩存優(yōu)化的方法,具體方法步驟如下:
S1、掛載文件系統(tǒng),指定目錄打開緩存功能;所述的緩存功能的打開與關(guān)閉功能,以目錄為操作的基本單位,而且子目錄繼承了緩存功能的打開與關(guān)閉功能。
S2、將所寫入的數(shù)據(jù)保存到客戶端緩存;
S3、緩存管理模塊按照inode進(jìn)行臟數(shù)據(jù)區(qū)分管理;在客戶端每個(gè)inode里面新增一個(gè)索引,用來管理屬于當(dāng)前inode的臟數(shù)據(jù),在客戶端進(jìn)行小文件寫入時(shí)將所寫入的數(shù)據(jù)關(guān)聯(lián)到新增的索引上面。
S4、緩存刷新模塊定期刷新臟數(shù)據(jù)到后端存儲(chǔ)池。增加定時(shí)器,用于定期觸發(fā)臟數(shù)據(jù)刷新操作;
在文件寫入完成后關(guān)閉文件句柄,然后將待刷新inode放至任務(wù)隊(duì)列,每一次只刷新特定數(shù)量的inode,刷新的數(shù)據(jù)內(nèi)容必須是與inode相關(guān)聯(lián);以使得每一次刷新操作可以批量刷新inode的同時(shí)刷新與該inode關(guān)聯(lián)的臟數(shù)據(jù)。
本發(fā)明還包括應(yīng)用上述方法的裝置,一種分布式文件系統(tǒng)小文件寫緩存優(yōu)化的裝置,包括客戶端、緩存功能開啟模塊、緩存管理模塊和緩存刷新模塊;
其中客戶端,客戶端緩存用于保存寫入的數(shù)據(jù);
緩存功能開啟模塊,以目錄為操作的基本單位,用于緩存功能的打開與關(guān)閉;
緩存管理模塊,用于按照inode進(jìn)行臟數(shù)據(jù)區(qū)分管理;
緩存刷新模塊,用于實(shí)現(xiàn)批量刷新inode,刷新的數(shù)據(jù)內(nèi)容與inode相關(guān)聯(lián)。
進(jìn)一步,優(yōu)選的結(jié)構(gòu)為,所述的緩存刷新模塊包括定時(shí)器,用于批量inode的延遲刷新。
本發(fā)明文件系統(tǒng)在進(jìn)行小文件寫入時(shí),將所有的數(shù)據(jù)按照inode來分類管理,并且由定時(shí)器定期觸發(fā)刷新操作,每一次刷新操作可以批量刷新inode,同時(shí)刷新與該inode相關(guān)的數(shù)據(jù)。
本發(fā)明通過目錄布局,實(shí)現(xiàn)緩存功能的開關(guān)控制,以及子目錄對(duì)緩存功能開關(guān)控制的繼承;刷新inode操作由定時(shí)器觸發(fā),將同步刷新變成異步,并且可以實(shí)現(xiàn)批量刷新inode,刷新的數(shù)據(jù)內(nèi)容與inode強(qiáng)相關(guān),可以有效提高小文件寫入效率;可以同時(shí)面向大文件與小文件的寫入操作。
通過上面具體實(shí)施方式,所述技術(shù)領(lǐng)域的技術(shù)人員可容易的實(shí)現(xiàn)本發(fā)明。但是應(yīng)當(dāng)理解,本發(fā)明并不限于上述的幾種具體實(shí)施方式。在公開的實(shí)施方式的基礎(chǔ)上,所述技術(shù)領(lǐng)域的技術(shù)人員可任意組合不同的技術(shù)特征,從而實(shí)現(xiàn)不同的技術(shù)方案。