付鋆 汪浩 陳運(yùn)晶
摘 要: 為了提高大量信息數(shù)據(jù)快速分析的能力,設(shè)計(jì)了一種通過內(nèi)容分塊技術(shù)來優(yōu)化層次化冗余去重過程的方法。先分層處理元數(shù)據(jù)索引表,再以分層方式完成文件級與數(shù)據(jù)塊級冗余去重的過程,之后為數(shù)據(jù)塊級設(shè)置了智能化程度更高以及具備更優(yōu)性能的內(nèi)容分塊優(yōu)化算法。重點(diǎn)分析了通過內(nèi)容分塊方式實(shí)現(xiàn)的層次化去冗優(yōu)化方案,同時(shí)對其開展了系統(tǒng)性測試。根據(jù)測試結(jié)果評價(jià)了各算法處理性能。結(jié)果表明,該設(shè)計(jì)的優(yōu)化方案可以達(dá)到更智能的程度并獲得更優(yōu)的處理效果。
關(guān)鍵詞: 云存儲; 冗余去重技術(shù); 數(shù)據(jù)分塊; 層次化
中圖分類號: TP 312 ? ? ?文獻(xiàn)標(biāo)志碼: A
Abstract: In order to improve the ability of rapid analysis of a large amount of information and data, this paper designs a method to optimize the hierarchical redundant de-duplication process through content partitioning technology. Firstly, the metadata index table is processed hierarchically, and then the process of redundancy and de-duplication at the file level and the data block level is completed in a hierarchical way. After that, the content partition optimization algorithm with higher intelligence degree and better performance is set for the data block level. This paper focuses on analyzing the hierarchical de-redundant optimization scheme by means of content partitioning and carries out systematic testing on it. The performance of each algorithm is evaluated according to the test results. The results show that the optimized scheme designed in this paper can reach a more intelligent level and obtain better processing effect.
Key words: cloud storage; redundancy deduplication technology; data partitioning; hierarchical tructure
0 引言
當(dāng)前,在信息化發(fā)展過程中大量信息數(shù)據(jù)快速產(chǎn)生,可以根據(jù)這些數(shù)據(jù)分析各個(gè)企業(yè)的實(shí)際運(yùn)營狀況并挖掘其中的高價(jià)值信息。如何實(shí)現(xiàn)對上述各類數(shù)據(jù)進(jìn)行高效管理也因此成為了現(xiàn)階段的一個(gè)重點(diǎn)研究內(nèi)容[1-5]。即使構(gòu)建了足夠數(shù)量的存儲設(shè)備來完成數(shù)據(jù)的存儲過程,當(dāng)數(shù)據(jù)進(jìn)行傳輸時(shí)也需要占據(jù)大量網(wǎng)絡(luò)帶寬,造成網(wǎng)絡(luò)堵塞的問題[6-9]。
由于存儲數(shù)據(jù)時(shí)會產(chǎn)生許多相互重復(fù)的類似數(shù)據(jù),這類重復(fù)數(shù)據(jù)通常是為了保證數(shù)據(jù)穩(wěn)定性及避免丟失而產(chǎn)生的備份部分,還有部分?jǐn)?shù)據(jù)是因?yàn)榘l(fā)生了錯(cuò)誤操作或某些以外因素,導(dǎo)致同一數(shù)據(jù)發(fā)生了被重復(fù)存儲的情況[10-12]。受數(shù)據(jù)量迅速增加的影響,當(dāng)前存儲系統(tǒng)開始受到多方面的挑戰(zhàn),為了進(jìn)一步提高存儲速度,需要采取有效措施來消除各類冗余信息,這也是克服存儲容量制約的關(guān)鍵方法。可以引入冗余去重方法使各文件存在的重復(fù)數(shù)據(jù)經(jīng)分析處理后被消除,由此達(dá)到縮減數(shù)據(jù)的效果,有效降低數(shù)據(jù)的存儲空間[13]。
1 基于內(nèi)容分塊的層次化冗余去重優(yōu)化策略1.1 層次化冗余去重
通過內(nèi)容分塊技術(shù)實(shí)現(xiàn)的層次化冗余去重優(yōu)化方法包含了層次去冗以及內(nèi)容分塊優(yōu)化二個(gè)過程,結(jié)果如圖1所示。
其中,索引信息的層次化去冗優(yōu)化需要實(shí)施分層處理,同時(shí)在硬盤上建立第2級索引信息;利用分塊優(yōu)化算法改進(jìn)傳統(tǒng)形式的基于內(nèi)容分塊算法,避免形成過大或過小的數(shù)據(jù)塊。
使用層次化冗余去重方案時(shí),需從以下二個(gè)方面進(jìn)行分層處理。
先構(gòu)建由元數(shù)據(jù)組成的索引表作為首個(gè)分層結(jié)構(gòu)。對大量數(shù)據(jù)進(jìn)行處理時(shí),該索引表會產(chǎn)生很高的內(nèi)存占有率,導(dǎo)致系統(tǒng)發(fā)生運(yùn)行性能下降的情況。本文構(gòu)建了一種分層模式的索引結(jié)構(gòu),只在內(nèi)存中加載文件級的索引表,之后采用快速訪問設(shè)備存儲數(shù)據(jù)塊索引表,同時(shí)文件級索引表只保存指針部分,使內(nèi)存壓力獲得釋放,有效改善系統(tǒng)整體性能。
看到建立在內(nèi)容基礎(chǔ)上的層次化冗余去重策略對應(yīng)的索引結(jié)構(gòu),如圖2所示。
對圖2進(jìn)行分析可以發(fā)現(xiàn),在文件索引表中各記錄的主鍵都是由文件ID構(gòu)成,并且還可以從該表中看到文件的Hash參數(shù)、數(shù)據(jù)塊指針以及總的出現(xiàn)次數(shù)。按照各文件的ID編號順序存儲于文件索引表內(nèi),確??梢酝瓿煽焖俨樵兊倪^程。在數(shù)據(jù)塊索引表內(nèi)包含了各文件非冗余數(shù)據(jù)塊參數(shù),各項(xiàng)記錄中含有數(shù)據(jù)塊Hash、文件塊ID、偏移量、引用次數(shù)以及一個(gè)指針,可以根據(jù)指針獲得數(shù)據(jù)實(shí)際存儲地址。在數(shù)據(jù)塊索引表內(nèi)存在各項(xiàng)非冗余數(shù)據(jù)塊的參數(shù),因此占據(jù)了很大的存儲空間,這就要求。為了盡量降低內(nèi)存占用率,需避免將上述數(shù)據(jù)長期存儲于內(nèi)存中,此時(shí)可以選擇快速訪問設(shè)備來處理數(shù)據(jù)存儲的問題。由此實(shí)現(xiàn)在獲得較高訪問效率的前提下有效降低內(nèi)存占用比例,最大程度發(fā)揮內(nèi)存的作用。