本發(fā)明涉及計算機系統(tǒng),尤其涉及一種數(shù)據(jù)壓縮處理方法及系統(tǒng)。
背景技術:
1、為了應對當前備份存儲中日益嚴重的數(shù)據(jù)冗余問題,數(shù)據(jù)去重和差量壓縮技術應運而生。數(shù)據(jù)去重技術通過識別并消除數(shù)據(jù)集中重復的數(shù)據(jù)塊,顯著減少了需要物理存儲的數(shù)據(jù)量。而差量壓縮則專注于已有備份數(shù)據(jù)的變化部分,僅存儲與上一次備份相比的新增或修改的數(shù)據(jù)塊,從而實現(xiàn)了更加高效的存儲利用。
2、盡管差量壓縮技術在提高備份存儲效率方面展現(xiàn)出了巨大潛力,但也對數(shù)據(jù)備份系統(tǒng)帶來了一系列挑戰(zhàn)。首先,相似數(shù)據(jù)的查找和匹配過程會消耗大量的計算資源,尤其是在處理大規(guī)模數(shù)據(jù)集時,這一開銷可能變得相當可觀,進而影響備份和恢復操作的性能。其次,對于實時性要求較高的備份系統(tǒng)來說,復雜的數(shù)據(jù)去重和差量壓縮處理可能會增加數(shù)據(jù)恢復的時間延遲,特別是在緊急情況下,這種延遲可能直接導致數(shù)據(jù)不可用,加劇數(shù)據(jù)損失和經(jīng)濟損失的風險。
3、因此,現(xiàn)在亟需一種數(shù)據(jù)壓縮處理方法及系統(tǒng)來解決上述問題。
技術實現(xiàn)思路
1、針對現(xiàn)有技術存在的問題,本發(fā)明提供一種數(shù)據(jù)壓縮處理方法及系統(tǒng)。
2、本發(fā)明提供一種數(shù)據(jù)壓縮處理方法,包括:
3、獲取當前數(shù)據(jù)壓縮處理任務對應的備份數(shù)據(jù)流,并對所述備份數(shù)據(jù)流進行數(shù)據(jù)分段處理,得到多個數(shù)據(jù)段;
4、將所述多個數(shù)據(jù)段寫入數(shù)據(jù)備份系統(tǒng),若根據(jù)所述數(shù)據(jù)備份系統(tǒng)中容器的容器引用率,確定所述數(shù)據(jù)段內數(shù)據(jù)塊在所述數(shù)據(jù)備份系統(tǒng)中的容器內為順序分布時,對第一數(shù)據(jù)塊進行數(shù)據(jù)去重處理,其中,所述第一數(shù)據(jù)塊為所述數(shù)據(jù)段內的數(shù)據(jù)塊在所述數(shù)據(jù)備份系統(tǒng)中的容器內呈順序分布的數(shù)據(jù)塊;
5、對所述數(shù)據(jù)備份系統(tǒng)中的容器內除所述第一數(shù)據(jù)塊以外的其它數(shù)據(jù)塊進行局部聯(lián)合消冗處理,以完成所述當前數(shù)據(jù)壓縮處理任務,其中,所述局部聯(lián)合消冗處理包括多容器數(shù)據(jù)去重處理和差量壓縮處理。
6、根據(jù)本發(fā)明提供的一種數(shù)據(jù)壓縮處理方法,在所述對所述數(shù)據(jù)備份系統(tǒng)中的容器內除所述第一數(shù)據(jù)塊以外的其它數(shù)據(jù)塊進行局部聯(lián)合消冗處理,以完成所述當前數(shù)據(jù)壓縮處理任務之后,所述方法還包括:
7、根據(jù)所述當前數(shù)據(jù)壓縮處理任務中對應的文件譜中數(shù)據(jù)塊的先后順序,讀取所述數(shù)據(jù)備份系統(tǒng)中對應的容器內的數(shù)據(jù)塊;
8、若讀取到的數(shù)據(jù)塊為差量壓縮處理后的數(shù)據(jù)塊,獲取對應的引用數(shù)據(jù)塊,并根據(jù)所述引用數(shù)據(jù)塊,對所述差量壓縮處理后的數(shù)據(jù)塊進行差量解碼處理,得到數(shù)據(jù)恢復后的數(shù)據(jù)塊。
9、根據(jù)本發(fā)明提供的一種數(shù)據(jù)壓縮處理方法,所述方法還包括:
10、在所述多個數(shù)據(jù)段寫入數(shù)據(jù)備份系統(tǒng)的過程中,根據(jù)所述多個數(shù)據(jù)段中各個數(shù)據(jù)塊的數(shù)據(jù)塊類型,確定所述數(shù)據(jù)備份系統(tǒng)中對應的容器號,其中,所述數(shù)據(jù)塊類型包括重復數(shù)據(jù)塊、差量塊、引用塊和非重復且未差量壓縮的數(shù)據(jù)塊;
11、根據(jù)所述容器號,模擬數(shù)據(jù)恢復過程中的恢復緩存狀態(tài)。
12、根據(jù)本發(fā)明提供的一種數(shù)據(jù)壓縮處理方法,在所述若讀取到的數(shù)據(jù)塊為差量壓縮處理后的數(shù)據(jù)塊,獲取對應的引用數(shù)據(jù)塊,并根據(jù)所述引用數(shù)據(jù)塊,對所述差量壓縮處理后的數(shù)據(jù)塊進行差量解碼處理,得到數(shù)據(jù)恢復后的數(shù)據(jù)塊之后,所述方法還包括:
13、根據(jù)所述數(shù)據(jù)恢復后的數(shù)據(jù)塊的數(shù)據(jù)大小和對應的容器讀取數(shù)量,計算得到恢復因子;
14、根據(jù)所述恢復因子和冗余消除策略之間的映射關系,獲取下一數(shù)據(jù)數(shù)據(jù)壓縮處理任務對應的目標冗余消除策略。
15、根據(jù)本發(fā)明提供的一種數(shù)據(jù)壓縮處理方法,所述若根據(jù)所述數(shù)據(jù)備份系統(tǒng)中容器的容器引用率,確定所述數(shù)據(jù)段內數(shù)據(jù)塊在所述數(shù)據(jù)備份系統(tǒng)中的容器內為順序分布時,對第一數(shù)據(jù)塊進行數(shù)據(jù)去重處理,包括:
16、獲取寫入容器中的所述數(shù)據(jù)段內的數(shù)據(jù)塊總大小;
17、根據(jù)所述數(shù)據(jù)塊總大小和容器總存儲空間,計算容器對應的所述容器引用率;
18、根據(jù)所述容器引用率和預設引用率閾值,判斷容器內所有數(shù)據(jù)塊是否全部為所述數(shù)據(jù)段內的數(shù)據(jù)塊;
19、若容器內所有數(shù)據(jù)塊全部為所述數(shù)據(jù)段內的數(shù)據(jù)塊,確定所述數(shù)據(jù)段內數(shù)據(jù)塊在所述數(shù)據(jù)備份系統(tǒng)中的容器內的分布方式為順序分布;
20、對處于順序分布的數(shù)據(jù)塊進行數(shù)據(jù)去重處理;
21、若容器內的數(shù)據(jù)塊為所述數(shù)據(jù)段內的部分數(shù)據(jù)塊,確定所述數(shù)據(jù)段內的數(shù)據(jù)塊在所述數(shù)據(jù)備份系統(tǒng)中的容器內的分布方式為非順序分布;
22、將處于非順序分布的數(shù)據(jù)塊寫入對應的容器。
23、根據(jù)本發(fā)明提供的一種數(shù)據(jù)壓縮處理方法,所述對所述數(shù)據(jù)備份系統(tǒng)中的容器內除所述第一數(shù)據(jù)塊以外的其它數(shù)據(jù)塊進行局部聯(lián)合消冗處理,包括:
24、對所述數(shù)據(jù)備份系統(tǒng)中的各個容器內第二數(shù)據(jù)塊進行數(shù)據(jù)去重處理,其中,所述第二數(shù)據(jù)塊為所述數(shù)據(jù)段內除所述第一數(shù)據(jù)塊以外且確定為重復數(shù)據(jù)的數(shù)據(jù)塊;
25、根據(jù)第三數(shù)據(jù)塊的特征值,從所述數(shù)據(jù)備份系統(tǒng)中匹配得到對應的基準數(shù)據(jù)塊,若基于所述基準數(shù)據(jù)塊,在確定所述第三數(shù)據(jù)塊為相似數(shù)據(jù)塊時,對所述第三數(shù)據(jù)塊進行差量壓縮處理;
26、其中,所述第三數(shù)據(jù)塊為所述數(shù)據(jù)段內除所述第一數(shù)據(jù)塊和所述第二數(shù)據(jù)塊以外的數(shù)據(jù)塊。
27、根據(jù)本發(fā)明提供的一種數(shù)據(jù)壓縮處理方法,所述根據(jù)第三數(shù)據(jù)塊的特征值,從所述數(shù)據(jù)備份系統(tǒng)中匹配得到對應的基準數(shù)據(jù)塊,若基于所述基準數(shù)據(jù)塊,在確定所述第三數(shù)據(jù)塊為相似數(shù)據(jù)塊時,對所述第三數(shù)據(jù)塊進行差量壓縮處理,包括:
28、基于滾動哈希算法,計算所述第三數(shù)據(jù)塊對應的多個哈希值;
29、基于預設特征值提取算法,從所述多個哈希值中確定所述第三數(shù)據(jù)塊的特征值;
30、根據(jù)所述第三數(shù)據(jù)塊的特征值,從所述數(shù)據(jù)備份系統(tǒng)中匹配得到多個目標歷史數(shù)據(jù)塊,其中,所述目標歷史數(shù)據(jù)塊為所述數(shù)據(jù)備份系統(tǒng)的歷史特征值表中與所述第三數(shù)據(jù)塊的特征值存在相同特征值的歷史數(shù)據(jù)塊,所述歷史特征值表是由歷史數(shù)據(jù)塊對應的特征值構建得到的;
31、將所述多個目標歷史數(shù)據(jù)塊中與所述第三數(shù)據(jù)塊的特征值的匹配次數(shù)最多的目標歷史數(shù)據(jù)塊確定為所述基準數(shù)據(jù)塊;
32、判斷所述基準數(shù)據(jù)塊與所述第三數(shù)據(jù)塊之間是否存在差量,若存在差量,確定所述第三數(shù)據(jù)塊為相似數(shù)據(jù)塊;
33、對所述第三數(shù)據(jù)塊進行差量壓縮處理。
34、本發(fā)明還提供一種數(shù)據(jù)壓縮處理系統(tǒng),包括:
35、數(shù)據(jù)分段模塊,用于獲取當前數(shù)據(jù)壓縮處理任務對應的備份數(shù)據(jù)流,并對所述備份數(shù)據(jù)流進行數(shù)據(jù)分段處理,得到多個數(shù)據(jù)段;
36、數(shù)據(jù)去重對象選擇模塊,用于將所述多個數(shù)據(jù)段寫入數(shù)據(jù)備份系統(tǒng),若根據(jù)所述數(shù)據(jù)備份系統(tǒng)中容器的容器引用率,確定所述數(shù)據(jù)段內數(shù)據(jù)塊在所述數(shù)據(jù)備份系統(tǒng)中的容器內為順序分布時,對第一數(shù)據(jù)塊進行數(shù)據(jù)去重處理,其中,所述第一數(shù)據(jù)塊為所述數(shù)據(jù)段內的數(shù)據(jù)塊在所述數(shù)據(jù)備份系統(tǒng)中的容器內呈順序分布的數(shù)據(jù)塊;
37、局部聯(lián)合消冗模塊,用于對所述數(shù)據(jù)備份系統(tǒng)中的容器內除所述第一數(shù)據(jù)塊以外的其它數(shù)據(jù)塊進行局部聯(lián)合消冗處理,以完成所述當前數(shù)據(jù)壓縮處理任務,其中,所述局部聯(lián)合消冗處理包括多容器數(shù)據(jù)去重處理和差量壓縮處理。
38、本發(fā)明還提供一種電子設備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,所述處理器執(zhí)行所述程序時實現(xiàn)如上述任一種所述數(shù)據(jù)壓縮處理方法。
39、本發(fā)明還提供一種非暫態(tài)計算機可讀存儲介質,其上存儲有計算機程序,該計算機程序被處理器執(zhí)行時實現(xiàn)如上述任一種所述數(shù)據(jù)壓縮處理方法。
40、本發(fā)明提供的數(shù)據(jù)壓縮處理方法及系統(tǒng),通過對當前數(shù)據(jù)壓縮處理任務對應的備份數(shù)據(jù)流進行數(shù)據(jù)分段處理,再將多個數(shù)據(jù)段寫入數(shù)據(jù)備份系統(tǒng),若根據(jù)容器引用率,確定數(shù)據(jù)段內數(shù)據(jù)塊在容器內為順序分布時,容器內呈順序分布的數(shù)據(jù)塊進行去重處理,進而對數(shù)據(jù)備份系統(tǒng)中的容器內其它數(shù)據(jù)塊進行局部聯(lián)合消冗處理,以完成當前數(shù)據(jù)壓縮處理任務,從而在進行數(shù)據(jù)壓縮處理時,提高了數(shù)據(jù)備份系統(tǒng)的性能和可靠性。