優(yōu)化用于去重的數(shù)據(jù)塊大小的制作方法
【專利說明】優(yōu)化用于去重的數(shù)據(jù)塊大小
[0001] 本申請要求于2013年3月13日提交的序列號為13/802, 167的美國臨時(shí)專利申 請的優(yōu)先權(quán),該美國臨時(shí)專利申請要求于2012年10月1日提交的序列號為61/708, 255W 及于2012年10月1日提交的序列號為61/708, 295的美國臨時(shí)專利申請的優(yōu)先權(quán),W引用 方式將上述申請的公開內(nèi)容全部并入本文。
【背景技術(shù)】
[0002] 數(shù)據(jù)去重(datade化plication)是一種數(shù)據(jù)壓縮技術(shù),其通過識別和消除冗余數(shù) 據(jù)來減小數(shù)據(jù)量。針對"單一實(shí)例存儲"的最早的去重技術(shù)是基于文件粒度的去重。在文 件粒度的去重中,基于內(nèi)容來檢測相同文件的重復(fù)拷貝并且僅在磁盤上存儲該文件的一個(gè) 拷貝,無論該些重復(fù)拷貝是否具有相同的名字。但是,文件粒度的技術(shù)效率很低,該與在該 樣的過程級別上對數(shù)據(jù)進(jìn)行比較有關(guān);例如,如果將單個(gè)詞添加到一個(gè)文檔,那么單一實(shí)例 存儲將不會識別出任何數(shù)據(jù)冗余并且會將整個(gè)文件存儲為"新"文件。
[0003] 一種用于減小數(shù)據(jù)去重所需要的網(wǎng)絡(luò)帶寬和計(jì)算機(jī)存儲的量的方法是:將各個(gè)文 件分成塊,識別重復(fù)的數(shù)據(jù)塊,并且僅對重復(fù)的數(shù)據(jù)塊的單個(gè)實(shí)例進(jìn)行傳送和存儲。一種用 于將文件(或諸如完整的文件系統(tǒng)該樣的其他數(shù)據(jù)源)分成塊的方法包括使用固定大小的 塊。當(dāng)產(chǎn)生數(shù)據(jù)塊時(shí),將文件分成較小的塊提供的潛在好處是產(chǎn)生更多的重復(fù)塊,從而在除 去和解決重復(fù)時(shí)使得被復(fù)制的數(shù)據(jù)更小。另一方面,將文件分成較大的塊所具有的好處是 需要較少的索引和較少的塊比較,該使得針對被復(fù)制的數(shù)據(jù)的塊索引更小并且相關(guān)聯(lián)的處 理和存儲器開銷更小。
[0004] 基于文件粒度的去重的早期技術(shù)大部分已經(jīng)消失,取而代之的是塊粒度的去重, 在塊粒度的去重中一個(gè)文件被當(dāng)作多個(gè)數(shù)據(jù)塊的一個(gè)集合。塊粒度的去重在文件內(nèi)進(jìn)行操 作并且僅存儲唯一的或新創(chuàng)建的塊。在操作中,將一個(gè)文件的每一塊與已知的塊進(jìn)行比較。 如果一個(gè)塊在先前已經(jīng)被存儲,那么僅引用該塊而不是再次對該塊進(jìn)行存儲。使用其他的 編碼技術(shù)對僅存儲一次的每一塊進(jìn)行壓縮。因此,與單一實(shí)例存儲相比,塊粒度的去重提供 了更大的壓縮率。
[0005]最早的塊粒度技術(shù)使用固定塊去重,其中將塊尺寸預(yù)置為常數(shù)值。盡管固定塊去 重相對于文件粒度的去重而言是一種改進(jìn),但是固定塊去重并不能容忍在一個(gè)文件的開始 處或在中間的數(shù)據(jù)插入。目P,當(dāng)數(shù)據(jù)被插入到文件中時(shí),固定塊去重會將所有隨后的塊檢測 為新塊,從而導(dǎo)致了較低的去重壓縮率。在該樣的情況中,固定塊去重效率很低,類似于與 文件粒度的去重技術(shù)相關(guān)聯(lián)的低效率。
[0006] 可變塊去重技術(shù)解決了在固定塊技術(shù)中固有的數(shù)據(jù)插入問題,但W引發(fā)額外 的處理為代價(jià)。可變塊去重通過識別文件數(shù)據(jù)內(nèi)的特定標(biāo)記符(所謂的"幻數(shù)(magic number)")來設(shè)置塊邊界。盡管可變塊去重技術(shù)改進(jìn)了壓縮率,但是由于增加了與識別塊 邊界相關(guān)聯(lián)的開銷而使性能變慢。
【發(fā)明內(nèi)容】
[0007] 因此,本文提供了通過確定針對特定文件類型的最優(yōu)塊大小來改進(jìn)數(shù)據(jù)去重的技 術(shù)。例如,本技術(shù)的實(shí)施例可W在用于確定針對文件類型的最優(yōu)數(shù)據(jù)塊大小的方法中使用, 其中所述方法包括;構(gòu)建將多個(gè)壓縮率與多個(gè)測試數(shù)據(jù)塊大小相關(guān)聯(lián)的函數(shù),其中所述多 個(gè)壓縮率中的壓縮率是通過使用去重技術(shù)和所述多個(gè)測試數(shù)據(jù)塊大小中的測試數(shù)據(jù)塊大 小對所述文件類型的文件進(jìn)行轉(zhuǎn)換來計(jì)算的;確定所述函數(shù)的最大壓縮率;W及將與所述 最大壓縮率相關(guān)聯(lián)的測試數(shù)據(jù)塊大小選擇為針對所述文件類型的最優(yōu)數(shù)據(jù)塊大小。在一些 實(shí)施例中,進(jìn)一步提供了方法,其中構(gòu)建將多個(gè)壓縮率與多個(gè)測試數(shù)據(jù)塊大小相關(guān)聯(lián)的函 數(shù)進(jìn)一步包括:提供所述文件類型的文件,其中所述文件具有文件大?。桓鶕?jù)所述文件生 成多個(gè)數(shù)據(jù)塊,其中所述多個(gè)數(shù)據(jù)塊中的每個(gè)數(shù)據(jù)塊的大小為所述測試數(shù)據(jù)塊大小;將所 述去重技術(shù)應(yīng)用于所述多個(gè)數(shù)據(jù)塊W產(chǎn)生去重后的結(jié)果文件,其中所述去重后的結(jié)果文件 具有去重后的結(jié)果文件大??;W及根據(jù)所述文件大小和所述去重后的結(jié)果文件大小來計(jì)算 壓縮率。
[000引在一些實(shí)施例中,首先根據(jù)類型將多個(gè)文件進(jìn)行分組,并且因此在一些實(shí)施例中, 所述文件是從相同文件類型的文件集合中選擇的,并且使用來自所述相同文件類型的文件 集合中的一個(gè)或多個(gè)、大部分或所有文件來構(gòu)建所述函數(shù)??蒞使用各種技術(shù)來定義文件 的文件類型。在一些實(shí)施例中,通過分析文件內(nèi)容來確定文件的文件類型。例如,在一些實(shí) 施例中,所述文件包括多個(gè)數(shù)據(jù)字節(jié),并且通過檢驗(yàn)來自所述多個(gè)數(shù)據(jù)字節(jié)中的數(shù)據(jù)字節(jié) 來確定所述文件類型,并且在一些實(shí)施例中,所述文件具有擴(kuò)展名,并且根據(jù)所述擴(kuò)展名來 確定所述文件類型。文件類型包括但不限于表1中的文件類型。
[0009] 表 1
[0010]
【主權(quán)項(xiàng)】
1. 一種用于確定對文件類型進(jìn)行去重的最優(yōu)數(shù)據(jù)塊大小的方法,所述方法包括: a) 構(gòu)建將多個(gè)壓縮率與多個(gè)測試數(shù)據(jù)塊大小相關(guān)聯(lián)的函數(shù),其中所述多個(gè)壓縮率中的 壓縮率是通過使用去重技術(shù)和所述多個(gè)測試數(shù)據(jù)塊大小中的測試數(shù)據(jù)塊大小對具有所述 文件類型的文件進(jìn)行轉(zhuǎn)換來計(jì)算的; b) 確定所述函數(shù)的最大壓縮率;以及 c) 將與所述最大壓縮率相關(guān)聯(lián)的測試數(shù)據(jù)塊大小選擇為針對所述文件類型的所述最 優(yōu)數(shù)據(jù)塊大小。
2. 根據(jù)權(quán)利要求1所述的方法,其中,構(gòu)建將多個(gè)壓縮率與多個(gè)測試數(shù)據(jù)塊大小相關(guān) 聯(lián)的函數(shù)還包括: a) 提供具有所述文件類型的文件,其中所述文件具有文件大??; b) 根據(jù)所述文件生成多個(gè)數(shù)據(jù)塊,其中所述多個(gè)數(shù)據(jù)塊中的每個(gè)數(shù)據(jù)塊的大小為所述 測試數(shù)據(jù)塊大?。? c) 將所述去重技術(shù)應(yīng)用于所述多個(gè)數(shù)據(jù)塊以產(chǎn)生去重后的結(jié)果文件,其中所述去重后 的結(jié)果文件具有去重后的結(jié)果文件大?。灰约? d) 根據(jù)所述文件大小和所述去重后的結(jié)果文件大小來計(jì)算壓縮率。
3. 根據(jù)權(quán)利要求1所述的方法,其中,所述文件是從具有相同文件類型的文件的集合 中選擇的。
4. 根據(jù)權(quán)利要求3所述的方法,其中,使用來自所述具有相同文件類型的文件的集合 中的所有文件來構(gòu)建所述函數(shù)。
5. 根據(jù)權(quán)利要求1所述的方法,其中,所述文件包括多個(gè)數(shù)據(jù)字節(jié),并且所述文件類型 是通過檢驗(yàn)來自所述多個(gè)數(shù)據(jù)字節(jié)的數(shù)據(jù)字節(jié)來確定的。
6. 根據(jù)權(quán)利要求1所述的方法,其中,所述文件具有擴(kuò)展名,并且所述文件類型是根據(jù) 所述擴(kuò)展名來確定的。
7. 根據(jù)權(quán)利要求1所述的方法,其中,所述文件類型是從由以下構(gòu)成的組中選擇的:應(yīng) 用、圖像、文本文件、源代碼、音頻、視頻、數(shù)據(jù)庫、電子表格、字處理文檔、系統(tǒng)文件、目錄、磁 盤映像、檔案、可移植文檔、二進(jìn)制文件、矢量圖像、字體、計(jì)算機(jī)輔助設(shè)計(jì)、壓縮文件、物理 可記錄介質(zhì)歸檔、電子設(shè)計(jì)自動(dòng)化、桌面出版、文檔、地理信息系統(tǒng)、圖形信息管理器、調(diào)色 板、光柵圖形、3D圖形、數(shù)學(xué)、目標(biāo)代碼、共享庫、動(dòng)態(tài)鏈接庫、頁面描述、個(gè)人信息管理器、演 示文稿、項(xiàng)目管理、參考文獻(xiàn)管理、科學(xué)數(shù)據(jù)、腳本、游戲、虛擬機(jī)、手冊文件、網(wǎng)頁、標(biāo)記語言 以及財(cái)務(wù)記錄。
8. 根據(jù)權(quán)利要求1所述的方法,其中,所述文件具有資源分支,并且所述文件類型是根 據(jù)所述資源分支來確定的。
9. 根據(jù)權(quán)利要求1所述的方法,其中,所述文件具有元數(shù)據(jù),并且所述文件類型是根據(jù) 所述元數(shù)據(jù)來確定的。
10. 根據(jù)權(quán)利要求1所述的方法,其中,所述函數(shù)是將所述多個(gè)壓縮率與所述多個(gè)測試 數(shù)據(jù)塊大小相關(guān)聯(lián)的模型。
11. 根據(jù)權(quán)利要求1所述的方法,其中,所述函數(shù)是基于所述多個(gè)壓縮率和所述多個(gè)測 試數(shù)據(jù)塊大小的插值。
12. -種數(shù)據(jù)備份系統(tǒng),包括: i) 將多種文件類型與多個(gè)最優(yōu)數(shù)據(jù)塊大小相關(guān)聯(lián)的表; ii) 去重技術(shù); iii) 用于接收具有文件類型的數(shù)據(jù)源的功能單元;以及 iii)處理器,其被配置為根據(jù)所述數(shù)據(jù)源生成多個(gè)數(shù)據(jù)塊,其中,所述多個(gè)數(shù)據(jù)塊中的 每個(gè)數(shù)據(jù)塊的大小為與所述文件類型相關(guān)聯(lián)的最優(yōu)數(shù)據(jù)塊大小。
13. 根據(jù)權(quán)利要求12所述的數(shù)據(jù)備份系統(tǒng),還包括用于使用根據(jù)權(quán)利要求1所述的方 法來構(gòu)建所述表的功能單元。
14. 根據(jù)權(quán)利要求12所述的數(shù)據(jù)備份系統(tǒng),其中,所述數(shù)據(jù)源是文件。
15. 根據(jù)權(quán)利要求12所述的數(shù)據(jù)備份系統(tǒng),其中,所述數(shù)據(jù)源是文件系統(tǒng)。
16. 根據(jù)權(quán)利要求12所述的數(shù)據(jù)備份系統(tǒng),其中,所述數(shù)據(jù)源包括多個(gè)文件。
17. 根據(jù)權(quán)利要求16所述的數(shù)據(jù)備份系統(tǒng),其中,所述多個(gè)文件駐留在多個(gè)機(jī)器、計(jì)算 機(jī)、卷、存儲介質(zhì)、存儲器、位置或網(wǎng)絡(luò)節(jié)點(diǎn)上。
18. 根據(jù)權(quán)利要求12所述的數(shù)據(jù)備份系統(tǒng),其中,所述數(shù)據(jù)備份系統(tǒng)是在所述數(shù)據(jù)源 本地的。
19. 根據(jù)權(quán)利要求12所述的數(shù)據(jù)備份系統(tǒng),其中,所述數(shù)據(jù)備份系統(tǒng)遠(yuǎn)離所述數(shù)據(jù)源。
20. 根據(jù)權(quán)利要求12所述的數(shù)據(jù)備份系統(tǒng),還包括根據(jù)操作系統(tǒng)或文件系統(tǒng)的標(biāo)準(zhǔn)文 件生成的預(yù)先填充的多個(gè)數(shù)據(jù)塊。
【專利摘要】本申請中提供的技術(shù)涉及數(shù)據(jù)去重,并且具體地但不唯一地涉及用于對數(shù)據(jù)塊的高效最優(yōu)大小進(jìn)行確定以用于備份數(shù)據(jù)源的方法和系統(tǒng)。此外,在本申請中還提供用于在數(shù)據(jù)備份應(yīng)用中識別重復(fù)數(shù)據(jù)的系統(tǒng)。
【IPC分類】G06F17-30, G06F12-16
【公開號】CN104871155
【申請?zhí)枴緾N201380062853
【發(fā)明人】T·拉姆
【申請人】西部數(shù)據(jù)技術(shù)公司
【公開日】2015年8月26日
【申請日】2013年9月30日
【公告號】EP2904525A1, US20140095439, WO2014055449A1