針對云存儲系統(tǒng)中重復(fù)冗余數(shù)據(jù)的高效去重方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)信息存儲技術(shù)領(lǐng)域,特別涉及一種針對云存儲系統(tǒng)中重復(fù)冗余數(shù)據(jù)的高效去重復(fù)方法。
【背景技術(shù)】
[0002]重復(fù)數(shù)據(jù)刪除技術(shù)是一種粗粒度的無損的冗余數(shù)據(jù)去除的特殊數(shù)據(jù)壓縮技術(shù)。重復(fù)數(shù)據(jù)刪除技術(shù)通過對數(shù)據(jù)進(jìn)行粗粒度的劃分,然后通過指紋計(jì)算技術(shù)提取數(shù)據(jù)塊的Hash指紋,通過指紋的索引查詢來判斷數(shù)據(jù)是否冗余,如果新數(shù)據(jù)塊與存儲系統(tǒng)中已有數(shù)據(jù)內(nèi)容相同,則不會對新數(shù)據(jù)進(jìn)行存儲,而是通過保存指向原有數(shù)據(jù)塊的指針,確定數(shù)據(jù)的存儲位置,對于指針存儲的開銷遠(yuǎn)遠(yuǎn)小于對數(shù)據(jù)的占用空間。因此,重復(fù)數(shù)據(jù)刪除技術(shù)可以有效的提升存儲系統(tǒng)的空間使用率,節(jié)省磁盤存儲容量。
[0003]云存儲環(huán)境中實(shí)現(xiàn)重復(fù)數(shù)據(jù)刪除技術(shù)是指在云存儲架構(gòu)中加入重刪功能,提升存儲空間利用率,降低存儲成本。在大規(guī)模集群中,實(shí)現(xiàn)海量數(shù)據(jù)的存儲,基于塊級別的在線重復(fù)數(shù)據(jù)刪除技術(shù)在數(shù)據(jù)去重率以及存儲管理開銷上具有很大的優(yōu)勢,受到學(xué)術(shù)界以及工業(yè)界的廣泛認(rèn)可與應(yīng)用。但是在大規(guī)模存儲系統(tǒng)中,也存在兩大挑戰(zhàn),一是數(shù)據(jù)塊索引查詢磁盤瓶頸,二是大規(guī)模數(shù)據(jù)路由問題。
[0004]在重復(fù)數(shù)據(jù)刪除過程中,對數(shù)據(jù)塊的去重是基于指紋的查找與匹配來判定的。因此索引查詢優(yōu)化是提高重刪系統(tǒng)I/O性能,解決磁盤查找瓶頸的關(guān)鍵因素。目前針對于數(shù)據(jù)塊索引優(yōu)化的策略主要有三類:一是基于數(shù)據(jù)局部性的優(yōu)化策略;二是基于相似性理論的優(yōu)化策略;三是基于SSD的索引優(yōu)化策略。在集群存儲系統(tǒng)中,數(shù)據(jù)的存儲位置是衡量一個存儲系統(tǒng)的重要指標(biāo),因?yàn)檫@不僅涉及到各節(jié)點(diǎn)存儲的負(fù)載均衡性,也會對上層應(yīng)用造成一定的影響。而在集群重復(fù)數(shù)據(jù)刪除過程中,出于對系統(tǒng)整體性能開銷的考慮,跨節(jié)點(diǎn)的全局去重會嚴(yán)重降低系統(tǒng)存儲性能,所以一般都是采用只對節(jié)點(diǎn)內(nèi)部數(shù)據(jù)進(jìn)行數(shù)據(jù)去重。所以基于集群重復(fù)數(shù)據(jù)刪除技術(shù)的集群重刪系統(tǒng)在數(shù)據(jù)路由問題上,將會對系統(tǒng)整體去重效果產(chǎn)生很大影響。
【發(fā)明內(nèi)容】
[0005]本發(fā)明旨在至少在一定程度上解決上述相關(guān)技術(shù)中的技術(shù)問題之一。
[0006]為此,本發(fā)明的目的在于提出一種針對云存儲系統(tǒng)中重復(fù)冗余數(shù)據(jù)的高效去重方法,該方法能夠快速地在云存儲系統(tǒng)中去除冗余數(shù)據(jù),提升存儲磁盤利用率,保證系統(tǒng)的吞吐性能,從而降低存儲成本。
[0007]為了實(shí)現(xiàn)上述目的,本發(fā)明的實(shí)施例提出了一種針對云存儲系統(tǒng)中重復(fù)冗余數(shù)據(jù)的高效去重方法,所述云存儲系統(tǒng)包括多個數(shù)據(jù)存儲服務(wù)器和多個客戶端,其中,所述多個數(shù)據(jù)存儲服務(wù)器組成的集群包括由多個數(shù)據(jù)服務(wù)器組成的數(shù)據(jù)服務(wù)器集群和一個元數(shù)據(jù)服務(wù)器,所述方法包括以下步驟:S1:所述多個客戶端接收用戶的上傳數(shù)據(jù),將所述數(shù)據(jù)組織成數(shù)據(jù)超塊以作為數(shù)據(jù)路由單位,并提取其中的數(shù)據(jù)路由特征指紋,用于數(shù)據(jù)路由選擇;S2:所述元數(shù)據(jù)服務(wù)器與數(shù)據(jù)服務(wù)器集群根據(jù)路由策略來處理所述多個客戶端的數(shù)據(jù)路由選擇請求,其中,所述數(shù)據(jù)服務(wù)器集群對所述數(shù)據(jù)路由特征指紋進(jìn)行相似指紋匹配以確定相似路由節(jié)點(diǎn),所述元數(shù)據(jù)服務(wù)器根據(jù)負(fù)載均衡策略確定最終的數(shù)據(jù)路由地址;S3:確定數(shù)據(jù)路由地址后,所述客戶端與相應(yīng)的數(shù)據(jù)服務(wù)器進(jìn)行交互,以將相似冗余數(shù)據(jù)發(fā)送至選擇的數(shù)據(jù)服務(wù)器,所述選擇的數(shù)據(jù)服務(wù)器在接收到相似冗余數(shù)據(jù)后,在線對冗余數(shù)據(jù)進(jìn)行快速去重。
[0008]根據(jù)本發(fā)明實(shí)施例的針對云存儲系統(tǒng)中重復(fù)冗余數(shù)據(jù)的高效去重方法,通過在分布式文件系統(tǒng)的基礎(chǔ)上融入了集群重復(fù)數(shù)據(jù)刪除技術(shù),在云存儲環(huán)境中構(gòu)建大規(guī)模、高性能、分布式重刪系統(tǒng),該方法能夠有效地解決在大規(guī)模存儲時冗余數(shù)據(jù)去重過程中的數(shù)據(jù)塊查找的磁盤瓶頸問題,減少了指紋匹配的次數(shù),從而提高了去重性能;另外,在具有重刪功能的集群存儲系統(tǒng)的數(shù)據(jù)路由選擇上,可以快速定位數(shù)據(jù)路由地址,使系統(tǒng)保持高效的全局去重率;同時,該方法還可以減少路由選擇過程中的網(wǎng)絡(luò)帶寬消耗,提升磁盤使用率,降低數(shù)據(jù)管理成本。
[0009]另外,根據(jù)本發(fā)明上述實(shí)施例的針對云存儲系統(tǒng)中重復(fù)冗余數(shù)據(jù)的高效去重方法還可以具有如下附加的技術(shù)特征:
[0010]在一些示例中,根據(jù)局部相似路由算法生成所述路由策略。
[0011]在一些示例中,所述步驟S2進(jìn)一步包括:在上傳數(shù)據(jù)時,每個客戶端對所述數(shù)據(jù)超塊進(jìn)行邏輯劃分,生成多個數(shù)據(jù)段,并根據(jù)采樣策略對每個數(shù)據(jù)段進(jìn)行指紋采樣,以獲取數(shù)據(jù)路由特征指紋;所述客戶端與集群中的各數(shù)據(jù)服務(wù)器進(jìn)行指紋數(shù)據(jù)交互,通過查詢相似索引表確定各數(shù)據(jù)服務(wù)器的匹配信息;所述客戶端與元數(shù)據(jù)服務(wù)器進(jìn)行通信,根據(jù)所述各數(shù)據(jù)服務(wù)器的匹配信息與集群中選擇的路由節(jié)點(diǎn)使用情況,確定最終的數(shù)據(jù)路由地址。
[0012]在一些示例中,所述各數(shù)據(jù)服務(wù)器的匹配信息包括每個數(shù)據(jù)服務(wù)器的匹配成功的指紋個數(shù)。
[0013]在一些示例中,所述采樣策略是基于布羅德最小獨(dú)立置換原理,對每個數(shù)據(jù)段進(jìn)行指紋采樣,并獲取數(shù)據(jù)路由特征指紋。
[0014]在一些示例中,所述步驟S3進(jìn)一步包括:所述數(shù)據(jù)服務(wù)器在接收到客戶端發(fā)送的存儲請求時,啟動相應(yīng)的數(shù)據(jù)處理線程,對到達(dá)的數(shù)據(jù)超塊進(jìn)行處理;所述數(shù)據(jù)服務(wù)器在接收數(shù)據(jù)時,根據(jù)數(shù)據(jù)路由特征指紋將相似容器元數(shù)據(jù)加載到內(nèi)存的相似索引查找子集,并與到達(dá)的數(shù)據(jù)超塊進(jìn)行數(shù)據(jù)冗余匹配;如果未匹配到的相似的數(shù)據(jù)超塊,則結(jié)合熱點(diǎn)索引庫進(jìn)一步地進(jìn)行數(shù)據(jù)去重處理。
[0015]在一些示例中,其中,所述數(shù)據(jù)服務(wù)器集群根據(jù)系統(tǒng)緩存中相似冗余數(shù)據(jù)的訪問頻率異步更新所述熱點(diǎn)索引庫。
[0016]本發(fā)明的附加方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發(fā)明的實(shí)踐了解到。
【附圖說明】
[0017]本發(fā)明的上述和/或附加的方面和優(yōu)點(diǎn)從結(jié)合下面附圖對實(shí)施例的描述中將變得明顯和容易理解,其中:
[0018]圖1是根據(jù)本發(fā)明一個實(shí)施例的針對云存儲系統(tǒng)中重復(fù)冗余數(shù)據(jù)的高效去重方法的流程圖;
[0019]圖2是根據(jù)本發(fā)明一個實(shí)施例的針對云存儲系統(tǒng)中重復(fù)冗余數(shù)據(jù)的高效去重系統(tǒng)的架構(gòu)圖;
[0020]圖3是根據(jù)本發(fā)明另一個實(shí)施例的針對云存儲系統(tǒng)中重復(fù)冗余數(shù)據(jù)的高效去重方法的流程示意圖;
[0021 ]圖4是根據(jù)本發(fā)明一個實(shí)施例的數(shù)據(jù)服務(wù)器中數(shù)據(jù)存儲模型的設(shè)計(jì)圖;
[0022]圖5是根據(jù)本發(fā)明一個實(shí)施例的局部路由算法特征指紋選取過程示意圖;
[0023]圖6是根據(jù)本發(fā)明一個實(shí)施例的局部路由算法有狀態(tài)路由選擇過程示意圖;
[0024]圖7是根據(jù)本發(fā)明一個實(shí)施例的云存儲系統(tǒng)中的數(shù)據(jù)寫入過程示意圖;
[0025]圖8是根據(jù)本發(fā)明一個實(shí)施例的云存儲系統(tǒng)中的數(shù)據(jù)重組過程示意圖。
【具體實(shí)施方式】
[0026]下面詳細(xì)描述本發(fā)明的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實(shí)施例是示例性的,僅用于解釋本發(fā)明,而不能理解為對本發(fā)明的限制。
[0027]以下結(jié)合附圖描述根據(jù)本發(fā)明實(shí)施例的針對云存儲系統(tǒng)中重復(fù)冗余數(shù)據(jù)的高效去重方法。
[0028]首先結(jié)合圖2所示,本發(fā)明實(shí)施例中的云存儲系統(tǒng)例如包括多個數(shù)據(jù)存儲服務(wù)器組成的集群以及多個客戶端,其中,多個數(shù)據(jù)存儲服務(wù)器組成的集群包括由多個數(shù)據(jù)服務(wù)器組成的數(shù)據(jù)服務(wù)器集群和一個元數(shù)據(jù)服務(wù)器。
[0029]圖1是根據(jù)本發(fā)明一個實(shí)施例的針對云存儲系統(tǒng)中重復(fù)冗余數(shù)據(jù)的高效去重方法的流程圖。如圖1所示,該方法包括以下步驟:
[0030]步驟S101:多個客戶端接收用戶的上傳數(shù)據(jù),將數(shù)據(jù)組織成數(shù)據(jù)超塊以作為數(shù)據(jù)路由單位,并提取其中的數(shù)據(jù)路由特征指紋,用于數(shù)據(jù)路由選擇。
[0031]換言之,每個接入的客戶端通過系統(tǒng)提供的對外交互接口進(jìn)行數(shù)據(jù)的存儲操作。根據(jù)提供的文件操作接口實(shí)現(xiàn)基于重復(fù)數(shù)據(jù)刪除技術(shù)的存儲邏輯,主要完成數(shù)據(jù)預(yù)處理階段。具體包括:將數(shù)據(jù)組織成數(shù)據(jù)超塊(SuperBlock),然后通過網(wǎng)絡(luò)與分布式文件系統(tǒng)中各節(jié)點(diǎn)進(jìn)行交互以確定數(shù)據(jù)超塊的路由地址,最后將數(shù)據(jù)與數(shù)據(jù)路由特征指紋發(fā)送到數(shù)據(jù)服務(wù)器。
[