亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

數(shù)據(jù)采樣去重的制作方法

文檔序號(hào):6498088閱讀:170來(lái)源:國(guó)知局
數(shù)據(jù)采樣去重的制作方法
【專利摘要】用于去重的技術(shù)包括接收包括第一數(shù)據(jù)塊的一系列數(shù)據(jù)塊以及決定第一數(shù)據(jù)塊是否是采樣數(shù)據(jù)塊。如果第一數(shù)據(jù)塊是采樣數(shù)據(jù)塊且關(guān)于第一數(shù)據(jù)塊的信息不在索引中,則將關(guān)于第一數(shù)據(jù)塊的信息存儲(chǔ)在索引中。如果第一數(shù)據(jù)塊不是采樣數(shù)據(jù)塊且關(guān)于第一數(shù)據(jù)塊的信息不在索引中,則部分地基于第一數(shù)據(jù)塊是否在信息被存儲(chǔ)在索引中的數(shù)據(jù)塊附近來(lái)決定是否將關(guān)于第一數(shù)據(jù)塊的信息存儲(chǔ)在索引中。
【專利說(shuō)明】數(shù)據(jù)采樣去重

【背景技術(shù)】
[0001] 數(shù)據(jù)去重指用于消除冗余數(shù)據(jù)的技術(shù)。在去重過(guò)程中,重復(fù)的數(shù)據(jù)被刪除,只留 下待存儲(chǔ)的數(shù)據(jù)的一個(gè)拷貝。去重可能能夠減小所需的存儲(chǔ)容量,因?yàn)橹挥形ㄒ坏臄?shù)據(jù)被 存儲(chǔ)。

【專利附圖】

【附圖說(shuō)明】
[0002] 圖1是具有數(shù)據(jù)采樣去重的計(jì)算機(jī)系統(tǒng)的示例性方框圖。
[0003] 圖2是使用數(shù)據(jù)采樣去重來(lái)處理數(shù)據(jù)塊的示例性方法的流程圖。
[0004] 圖3A-3C是示出由具有數(shù)據(jù)采樣去重的計(jì)算機(jī)系統(tǒng)處理的數(shù)據(jù)的例子的圖。
[0005] 圖4是示出根據(jù)例子的存儲(chǔ)用于提供使用數(shù)據(jù)采樣去重來(lái)處理數(shù)據(jù)的方法的指 令的非臨時(shí)計(jì)算機(jī)可讀介質(zhì)的方框圖。

【具體實(shí)施方式】
[0006] 本申請(qǐng)公開了去重技術(shù)以幫助減少冗余數(shù)據(jù)。在一個(gè)例子中,所公開的是包括部 分地基于數(shù)據(jù)塊是否是采樣數(shù)據(jù)塊來(lái)將數(shù)據(jù)塊的信息存儲(chǔ)在索引中的技術(shù)。數(shù)據(jù)塊是否是 采樣數(shù)據(jù)塊的確定可包括檢查它是否具有預(yù)定特性,該預(yù)定特性可以是確定性的并基于數(shù) 據(jù)塊的散列值。
[0007] 在一個(gè)例子中,技術(shù)可包括接收包括第一數(shù)據(jù)塊的一系列數(shù)據(jù)塊以及決定第一數(shù) 據(jù)塊是否是采樣數(shù)據(jù)塊。在一個(gè)例子中,可通過(guò)檢查第一數(shù)據(jù)塊的散列值是否具有預(yù)定特 性來(lái)做出關(guān)于數(shù)據(jù)塊是否是采樣數(shù)據(jù)塊的決定。如果第一數(shù)據(jù)塊是采樣數(shù)據(jù)塊以及關(guān)于第 一數(shù)據(jù)塊的信息不在索引中,則關(guān)于第一數(shù)據(jù)塊的信息被存儲(chǔ)在索引中。如果第一數(shù)據(jù)塊 不是采樣數(shù)據(jù)塊以及關(guān)于第一數(shù)據(jù)塊的信息未存儲(chǔ)在索引中,則部分地基于第一數(shù)據(jù)塊是 否在信息被存儲(chǔ)在索引中的數(shù)據(jù)塊附近來(lái)做出是否將關(guān)于第一數(shù)據(jù)塊的信息存儲(chǔ)在索引 中的決定。如本文使用的,所謂術(shù)語(yǔ)"附近",我們意指在該系列數(shù)據(jù)塊中的正被討論的兩 個(gè)塊之間的距離小。在數(shù)據(jù)流102由將被順序地存儲(chǔ)的一系列連續(xù)數(shù)據(jù)塊組成的情況下, 該距離可簡(jiǎn)單地是多少個(gè)數(shù)據(jù)塊分開正被討論的兩個(gè)數(shù)據(jù)塊。在數(shù)據(jù)流102由具有它們應(yīng) 被存儲(chǔ)到的邏輯地址的一系列數(shù)據(jù)塊組成的情況下,距離可被定義為在邏輯地址之間的距 離。定義距離的其它方式是可能的。以這種方式,關(guān)于哪些數(shù)據(jù)塊應(yīng)具有其存儲(chǔ)在索引中 的信息的決定可基于數(shù)據(jù)塊的預(yù)定特性和數(shù)據(jù)塊的地點(diǎn)的組合。
[0008] 用于做出是否將信息存儲(chǔ)在索引中的決定的這些技術(shù)可幫助減小索引的大小,因 為與存儲(chǔ)它在索引中接收的所有數(shù)據(jù)塊的信息的技術(shù)比較,只有一定百分比的數(shù)據(jù)塊將具 有其存儲(chǔ)在索引中的信息。如在下文進(jìn)一步詳細(xì)解釋的,由于用于做出關(guān)于將關(guān)于數(shù)據(jù)塊 的信息存儲(chǔ)在索引中的決定的這些技術(shù),當(dāng)越多的相同數(shù)據(jù)塊被接收到時(shí),則越多的數(shù)據(jù) 塊可具有其存儲(chǔ)在索引中的信息,且因此越多的數(shù)據(jù)塊可被去重。換句話說(shuō),如果技術(shù)接收 數(shù)據(jù)塊并發(fā)現(xiàn)關(guān)于數(shù)據(jù)塊的信息已經(jīng)存儲(chǔ)在索引中,則該數(shù)據(jù)塊是副本,意味著數(shù)據(jù)塊的 拷貝已經(jīng)存儲(chǔ)在存儲(chǔ)系統(tǒng)中。此外,不是在存儲(chǔ)系統(tǒng)中產(chǎn)生數(shù)據(jù)塊的額外拷貝,該技術(shù)可引 用在儲(chǔ)存器中所存儲(chǔ)的數(shù)據(jù)塊的拷貝。
[0009] 圖1是用于數(shù)據(jù)采樣去重的計(jì)算機(jī)系統(tǒng)100的示例性方框圖。計(jì)算機(jī)系統(tǒng)100包 括接收機(jī)模塊106,其可接收來(lái)自數(shù)據(jù)流102的數(shù)據(jù),例如一系列數(shù)據(jù)塊。在一些例子中, 數(shù)據(jù)流102作為字節(jié)序列到達(dá)計(jì)算機(jī)系統(tǒng)100,并接著分塊成一系列數(shù)據(jù)塊,其接著由接收 機(jī)模塊106接收。計(jì)算機(jī)系統(tǒng)100包括可將所接收的數(shù)據(jù)的選定數(shù)據(jù)塊作為數(shù)據(jù)塊116存 儲(chǔ)在存儲(chǔ)系統(tǒng)104中的存儲(chǔ)模塊112。在一些例子中,存儲(chǔ)系統(tǒng)104可以是計(jì)算機(jī)系統(tǒng)100 的部分,而在其它例子中,它可以是單獨(dú)的,但通過(guò)例如網(wǎng)絡(luò)的裝置耦合到計(jì)算機(jī)系統(tǒng)100。
[0010] 計(jì)算機(jī)系統(tǒng)100包括采樣模塊108,用于決定從數(shù)據(jù)流102接收的數(shù)據(jù)塊是否是采 樣數(shù)據(jù)塊。例如,采樣模塊108可通過(guò)檢查數(shù)據(jù)塊的散列值是否具有預(yù)定特性來(lái)決定數(shù)據(jù) 塊是否是采樣數(shù)據(jù)塊。預(yù)定特性可以是散列值的確定性特性,例如對(duì)于某個(gè)固定的N,散列 =0 mod N〇
[0011] 此外,計(jì)算機(jī)系統(tǒng)100包括索引器模塊110,用于決定從數(shù)據(jù)流102接收的數(shù)據(jù)塊 中的哪些應(yīng)具有關(guān)于它們的存儲(chǔ)在索引114中的信息。例如,索引器模塊110可檢查關(guān)于 所接收的數(shù)據(jù)塊之一的信息是否存儲(chǔ)在索引114中。在另一例子中,索引器模塊110可檢 查數(shù)據(jù)塊是否是采樣數(shù)據(jù)塊以及關(guān)于數(shù)據(jù)塊的信息是否存儲(chǔ)在索引114中。如果索引器模 塊110確定數(shù)據(jù)塊是采樣數(shù)據(jù)塊以及關(guān)于數(shù)據(jù)塊的信息未存儲(chǔ)在索引114中,則它可將關(guān) 于數(shù)據(jù)塊的信息存儲(chǔ)在索引中。
[0012] 另一方面,如果索引器模塊110確定數(shù)據(jù)塊不是采樣數(shù)據(jù)塊以及關(guān)于數(shù)據(jù)塊的信 息未存儲(chǔ)在索引114中,則它可部分地基于該數(shù)據(jù)塊是否在信息被存儲(chǔ)在索引中的數(shù)據(jù)塊 附近來(lái)決定是否將關(guān)于該數(shù)據(jù)塊的信息存儲(chǔ)在索引中。關(guān)于數(shù)據(jù)塊的信息可包括數(shù)據(jù)塊的 散列值。關(guān)于數(shù)據(jù)塊的信息還可包括關(guān)于數(shù)據(jù)塊的位置信息,例如數(shù)據(jù)塊被存儲(chǔ)在例如存 儲(chǔ)系統(tǒng)104的儲(chǔ)存器中的位置的指針或物理地址。
[0013] 索引器模塊110可配置成確定關(guān)于數(shù)據(jù)塊相對(duì)于存儲(chǔ)在索引114中的其它數(shù)據(jù) 塊的位置(地點(diǎn))相關(guān)的信息。例如,索引器模塊110可通過(guò)檢查數(shù)據(jù)塊是否在信息在索引 中的該系列數(shù)據(jù)塊之一的數(shù)據(jù)塊的預(yù)定距離內(nèi)來(lái)決定數(shù)據(jù)塊是否在信息被存儲(chǔ)在索引114 中的其它數(shù)據(jù)塊附近。索引器模塊110可通過(guò)檢查該系列數(shù)據(jù)塊中的在給定數(shù)據(jù)塊的預(yù)定 距離內(nèi)的所有數(shù)據(jù)塊以確定它們是否具有關(guān)于它們的在索引中的信息來(lái)完成此。
[0014] 在另一例子中,索引器模塊110可通過(guò)檢查數(shù)據(jù)塊是否在信息被存儲(chǔ)在索引中的 該系列數(shù)據(jù)塊中的至少預(yù)定數(shù)量的數(shù)據(jù)塊附近來(lái)決定數(shù)據(jù)塊是否在存儲(chǔ)在索引114中的 其它數(shù)據(jù)塊附近。例如數(shù)據(jù)塊的預(yù)定距離或預(yù)定數(shù)量的這些位置相關(guān)的參數(shù)可包括任何數(shù) 量的數(shù)據(jù)塊例如10個(gè)數(shù)據(jù)塊,并可基于與數(shù)據(jù)塊或數(shù)據(jù)塊的流的特新有關(guān)的各種因素。
[0015] 如上所述,索引器模塊110可在索引114中存儲(chǔ)關(guān)于數(shù)據(jù)塊的信息。在另一例子 中,索引器模塊110也可移除通過(guò)索引器模塊以前存儲(chǔ)在索引114中的關(guān)于一個(gè)或多個(gè)數(shù) 據(jù)塊的信息。在一個(gè)例子中,索引器模塊110可從索引114移除非采樣數(shù)據(jù)塊的信息,如果 它們的信息已存儲(chǔ)在索引中多于預(yù)定的一段時(shí)間。在另一例子中,索引器模塊110可從索 弓丨114移除隨機(jī)選擇的非采樣數(shù)據(jù)塊的信息。這些移除技術(shù)可幫助防止索引的大小變得太 大,并從而幫助減小例如額外的存儲(chǔ)容量要求。
[0016] 如上面解釋的,計(jì)算機(jī)系統(tǒng)100可將所接收的數(shù)據(jù)流作為數(shù)據(jù)塊116存儲(chǔ)在存儲(chǔ) 系統(tǒng)104中。在一個(gè)例子中,索引器模塊110可首先接收來(lái)自數(shù)據(jù)流102的數(shù)據(jù)塊,并決定 將關(guān)于哪些數(shù)據(jù)塊的信息存儲(chǔ)在索引114中。然后,存儲(chǔ)模塊112可存儲(chǔ)數(shù)據(jù)塊的拷貝,關(guān) 于這些數(shù)據(jù)塊的信息被發(fā)現(xiàn)不與在存儲(chǔ)系統(tǒng)104中的數(shù)據(jù)塊116 -樣在索引114中。為了 便于從存儲(chǔ)系統(tǒng)104獲取數(shù)據(jù)塊,計(jì)算機(jī)系統(tǒng)100或存儲(chǔ)系統(tǒng)104可包括邏輯到物理地址 指針的表。邏輯地址可代表所存儲(chǔ)的數(shù)據(jù)塊之一的位置的邏輯地址,而物理地址可代表存 儲(chǔ)在存儲(chǔ)系統(tǒng)104的物理介質(zhì)上的該數(shù)據(jù)塊的拷貝的位置的物理地址。表可提供一種機(jī)制 來(lái)跟蹤所存儲(chǔ)的數(shù)據(jù)的位置用于隨后獲取。例如,計(jì)算機(jī)系統(tǒng)100可從例如另一計(jì)算機(jī)的 源接收請(qǐng)求以獲取在給定邏輯地址處的數(shù)據(jù)塊。該請(qǐng)求可包括數(shù)據(jù)塊的邏輯地址。在一個(gè) 例子中,存儲(chǔ)模塊110可使用邏輯地址來(lái)搜索邏輯到物理地址表以找到相應(yīng)于邏輯地址的 物理地址。一旦物理地址被找到,存儲(chǔ)模塊112就可使用物理地址來(lái)從存儲(chǔ)系統(tǒng)104獲取 期望的數(shù)據(jù)塊,并將它返回到請(qǐng)求的源。雖然存儲(chǔ)模塊112被描述為能夠執(zhí)行將數(shù)據(jù)塊存 儲(chǔ)到存儲(chǔ)系統(tǒng)104的功能,但應(yīng)理解,例如索引器模塊110的另一模塊可用于執(zhí)行這樣的功 能。
[0017] 接收機(jī)模塊106被示為操作地耦合到數(shù)據(jù)流102。在一個(gè)例子中,接收機(jī)模塊106 可提供塊接口以接收來(lái)自數(shù)據(jù)流102的數(shù)據(jù)塊,并將數(shù)據(jù)作為數(shù)據(jù)塊116存儲(chǔ)在存儲(chǔ)系統(tǒng) 104上。在另一例子中,接收機(jī)模塊106可提供文件系統(tǒng)接口以接收來(lái)自數(shù)據(jù)流102的文 件或文件更新,并可能以數(shù)據(jù)塊116的形式將文件或文件變化存儲(chǔ)在存儲(chǔ)系統(tǒng)104中。在 另一例子中,接收機(jī)模塊106可提供塊和文件系統(tǒng)接口的組合。在另一例子中,雖然接收機(jī) 模塊106被示為接收來(lái)自數(shù)據(jù)流102的數(shù)據(jù),但應(yīng)理解,例如存儲(chǔ)模塊106的另一模塊可從 存儲(chǔ)系統(tǒng)104獲取數(shù)據(jù),并將所獲取的數(shù)據(jù)作為數(shù)據(jù)塊的數(shù)據(jù)流提供到耦合到計(jì)算機(jī)系統(tǒng) 100的外部設(shè)備。
[0018] 計(jì)算機(jī)系統(tǒng)100被示為單個(gè)計(jì)算設(shè)備。然而,應(yīng)理解,計(jì)算機(jī)系統(tǒng)100可包括集中 放置、分布在廣闊的地理位置上或其組合的多個(gè)計(jì)算設(shè)備。計(jì)算機(jī)系統(tǒng)100可以是能夠進(jìn) 行數(shù)據(jù)處理的任何電子設(shè)備。例如,計(jì)算機(jī)系統(tǒng)100可以是服務(wù)器計(jì)算機(jī)、客戶端計(jì)算機(jī)、 移動(dòng)設(shè)備等。
[0019] 存儲(chǔ)系統(tǒng)104被示為單個(gè)存儲(chǔ)元件。然而,應(yīng)理解,存儲(chǔ)系統(tǒng)104可包括集中放 置、分布在廣闊的地理位置上或其組合的多個(gè)存儲(chǔ)元件。存儲(chǔ)系統(tǒng)104可以是能夠存儲(chǔ)數(shù) 據(jù)用于隨后獲取的任何電子設(shè)備。例如,存儲(chǔ)系統(tǒng)104可以是一個(gè)或多個(gè)磁盤驅(qū)動(dòng)器、光學(xué) 驅(qū)動(dòng)器、非易失性存儲(chǔ)器等。計(jì)算機(jī)系統(tǒng)可以是網(wǎng)絡(luò)的部分,例如存儲(chǔ)區(qū)域網(wǎng)(SAN)、局域網(wǎng) (LAN)、網(wǎng)絡(luò)附接儲(chǔ)存器(NAS)等。
[0020] 數(shù)據(jù)流102被示為單個(gè)數(shù)據(jù)源。然而,應(yīng)理解,數(shù)據(jù)流102可包括集中放置、分布 在廣闊的地理位置上或其組合的多個(gè)數(shù)據(jù)流。數(shù)據(jù)流102被示為來(lái)自外部計(jì)算機(jī)系統(tǒng)100 的數(shù)據(jù)源。然而,應(yīng)理解,數(shù)據(jù)流102可包括從計(jì)算機(jī)系統(tǒng)100本身接收數(shù)據(jù)的功能。
[0021] 雖然存儲(chǔ)系統(tǒng)104被示為與計(jì)算機(jī)系統(tǒng)100分離,但應(yīng)理解,存儲(chǔ)系統(tǒng)可例如與計(jì) 算機(jī)系統(tǒng)100集成在一起作為例如存儲(chǔ)機(jī)箱的單個(gè)物理結(jié)構(gòu)的部分。雖然計(jì)算機(jī)系統(tǒng)100 例如索引器模塊110的功能被示為計(jì)算機(jī)系統(tǒng)的部分,但應(yīng)理解,這樣的功能可分布在其 它計(jì)算機(jī)系統(tǒng)當(dāng)中。應(yīng)理解,計(jì)算機(jī)系統(tǒng)100的功能可在硬件、軟件或其組合中實(shí)現(xiàn)。
[0022] 本申請(qǐng)的去重技術(shù)可應(yīng)用于各種計(jì)算機(jī)系統(tǒng)環(huán)境。例如,本申請(qǐng)的去重技術(shù)可應(yīng) 用于虛擬計(jì)算機(jī)系統(tǒng)環(huán)境。在這樣的環(huán)境中,取代直接在計(jì)算機(jī)系統(tǒng)上執(zhí)行軟件應(yīng)用的是, 有時(shí)被稱為管理程序的中間軟件應(yīng)用可合并到系統(tǒng)中。在這種情況下,軟件應(yīng)用不需要在 真實(shí)物理機(jī)器(計(jì)算機(jī))上執(zhí)行,而替代地可在被稱為虛擬機(jī)的模擬計(jì)算機(jī)上執(zhí)行。
[0023] 虛擬計(jì)算機(jī)系統(tǒng)環(huán)境可包括運(yùn)行例如若干虛擬機(jī)的服務(wù)器計(jì)算機(jī)。虛擬系統(tǒng)環(huán)境 可模擬真實(shí)機(jī)器,包括模擬機(jī)器的模擬磁盤儲(chǔ)存器。模擬磁盤儲(chǔ)存器可采取可包括模擬磁 盤儲(chǔ)存器的內(nèi)容的虛擬磁盤映像的形式。這樣的系統(tǒng)可包括運(yùn)行耦合到啞終端的虛擬機(jī)的 服務(wù)器,啞終端可以是簡(jiǎn)單地顯示數(shù)據(jù)并提供用于輸入數(shù)據(jù)的鍵盤的計(jì)算設(shè)備。啞終端可 依賴于以虛擬機(jī)的形式使大部分計(jì)算工作在服務(wù)器上執(zhí)行。每個(gè)虛擬機(jī)可具有虛擬磁盤映 像,其可具有類似的內(nèi)容。例如,虛擬磁盤映像可包括應(yīng)用,例如在每個(gè)虛擬機(jī)上可以是相 同的操作系統(tǒng)和設(shè)備驅(qū)動(dòng)。在一個(gè)例子中,計(jì)算機(jī)系統(tǒng)100可接收來(lái)自數(shù)據(jù)流102的數(shù)據(jù), 數(shù)據(jù)流102可包括對(duì)虛擬磁盤映像的寫入或更新。虛擬磁盤映像可以是可能已經(jīng)沿著塊邊 界被劃分的數(shù)據(jù)塊的形式。在服務(wù)器上運(yùn)行的虛擬機(jī)可將數(shù)據(jù)發(fā)送到計(jì)算機(jī)系統(tǒng)100以及 從計(jì)算機(jī)系統(tǒng)100請(qǐng)求數(shù)據(jù)。在這種情況下,計(jì)算機(jī)系統(tǒng)100可使構(gòu)成虛擬磁盤映像的數(shù) 據(jù)塊去重。
[0024] 在另一例子中,本申請(qǐng)的去重技術(shù)可應(yīng)用于計(jì)算機(jī)備份環(huán)境。在這種情況下,計(jì)算 機(jī)系統(tǒng)100可接收來(lái)自數(shù)據(jù)流102的數(shù)據(jù),其可能需要沿著塊邊界被劃分(S卩,分塊)。
[0025] 圖2示出根據(jù)本申請(qǐng)的例子的使用圖1的計(jì)算機(jī)系統(tǒng)100來(lái)處理數(shù)據(jù)塊的方法的 流程圖。為了說(shuō)明,將假設(shè)計(jì)算機(jī)系統(tǒng)100可接收來(lái)自數(shù)據(jù)流102的數(shù)據(jù)塊并將關(guān)于數(shù)據(jù) 塊的信息存儲(chǔ)在索引114中??蛇M(jìn)一步假設(shè)計(jì)算機(jī)系統(tǒng)100可將來(lái)自數(shù)據(jù)流102的數(shù)據(jù)作 為數(shù)據(jù)塊116存儲(chǔ)在存儲(chǔ)系統(tǒng)104中。
[0026] 在塊200,計(jì)算機(jī)系統(tǒng)100接收包括第一數(shù)據(jù)塊的一系列數(shù)據(jù)塊用于隨后處理。例 如,接收機(jī)模塊106可接收來(lái)自數(shù)據(jù)流102的數(shù)據(jù)塊用于隨后由采樣模塊108和索引器模 塊110處理??商娲?,接收機(jī)模塊106可將接收自數(shù)據(jù)流102的數(shù)據(jù)劃分成包括第一數(shù) 據(jù)塊的一個(gè)或多個(gè)數(shù)據(jù)塊。
[0027] 在塊202,計(jì)算機(jī)系統(tǒng)100檢查關(guān)于第一數(shù)據(jù)塊的信息是否被發(fā)現(xiàn)在索引114中。 如果關(guān)于第一數(shù)據(jù)塊的信息被發(fā)現(xiàn)在索引114中,則處理繼續(xù)進(jìn)行到塊204,如下面解釋 的。另一方面,如果關(guān)于第一數(shù)據(jù)塊的信息沒(méi)有被發(fā)現(xiàn)在索引114中,則處理繼續(xù)進(jìn)行到塊 203,其中計(jì)算機(jī)系統(tǒng)100將第一數(shù)據(jù)塊的拷貝存儲(chǔ)到存儲(chǔ)系統(tǒng)104。一旦計(jì)算機(jī)系統(tǒng)100 將第一數(shù)據(jù)塊的拷貝存儲(chǔ)到存儲(chǔ)系統(tǒng)104,處理就繼續(xù)進(jìn)行到塊204,如下面解釋的。
[0028] 在塊204,計(jì)算機(jī)系統(tǒng)100決定第一數(shù)據(jù)塊是否是采樣數(shù)據(jù)塊。例如,采樣模塊 108可通過(guò)檢查第一數(shù)據(jù)塊的散列值是否具有預(yù)定特性來(lái)決定第一數(shù)據(jù)塊是否是采樣數(shù)據(jù) 塊。散列值可由索引器模塊110使用來(lái)用于隨后處理。例如,在下面的塊206中,索引器模 塊110可使用散列值來(lái)確定關(guān)于第一數(shù)據(jù)塊的信息是否存儲(chǔ)在索引114中。雖然采樣模塊 108被描述為能夠決定第一數(shù)據(jù)塊是否是采樣數(shù)據(jù)塊,但應(yīng)理解,采樣模塊能夠決定數(shù)據(jù)塊 中的任一個(gè)是否是采樣數(shù)據(jù)塊。
[0029] 在塊206,計(jì)算機(jī)系統(tǒng)100檢查第一數(shù)據(jù)塊是否是采樣數(shù)據(jù)塊以及關(guān)于第一數(shù)據(jù) 塊的信息是否未存儲(chǔ)在索引114中。例如,如上面解釋的,采樣模塊108可通過(guò)檢查數(shù)據(jù) 塊的散列值是否具有預(yù)定特性來(lái)確定數(shù)據(jù)塊是否是采樣數(shù)據(jù)塊。在另一例子中,索引器模 塊110可基于數(shù)據(jù)塊計(jì)算散列值,并使用它來(lái)檢查關(guān)于第一數(shù)據(jù)塊的信息是否存儲(chǔ)在索引 114中。如果索引器模塊110確定第一數(shù)據(jù)塊是采樣數(shù)據(jù)塊以及關(guān)于第一數(shù)據(jù)塊的信息未 存儲(chǔ)在索引114中,則這指示關(guān)于該數(shù)據(jù)塊的信息要被存儲(chǔ)在索引中。在這種情況下,處理 繼續(xù)進(jìn)行到如下面解釋的塊208。另一方面,如果索引器模塊110確定第一數(shù)據(jù)塊不是采樣 數(shù)據(jù)塊或關(guān)于第一數(shù)據(jù)塊的信息未存儲(chǔ)在索引114中,則處理繼續(xù)進(jìn)行到塊210用于進(jìn)一 步處理。
[0030] 在塊208,索引器模塊110將關(guān)于第一數(shù)據(jù)塊的信息存儲(chǔ)在索引114中。在一個(gè)例 子中,關(guān)于第一數(shù)據(jù)塊的信息可包括數(shù)據(jù)塊的散列值。索引器模塊110可將額外信息存儲(chǔ) 在索引114中,所述額外信息例如存儲(chǔ)系統(tǒng)104中相應(yīng)的數(shù)據(jù)塊116的物理地址。該地址 信息可用于進(jìn)入的數(shù)據(jù)塊的隨后去重。一旦索引器模塊110將關(guān)于第一數(shù)據(jù)塊的信息存儲(chǔ) 在索引114中,處理就退出。
[0031] 在塊210,計(jì)算機(jī)系統(tǒng)100檢查第一數(shù)據(jù)塊是否不是采樣數(shù)據(jù)塊以及關(guān)于第一數(shù) 據(jù)塊的信息是否未存儲(chǔ)在索引114中。如果索引器模塊110確定第一數(shù)據(jù)塊不是采樣數(shù)據(jù) 塊以及關(guān)于數(shù)據(jù)塊的信息未存儲(chǔ)在索引114中,則處理繼續(xù)進(jìn)行到塊212以使計(jì)算機(jī)系統(tǒng) 100決定是否將關(guān)于第一數(shù)據(jù)塊的信息存儲(chǔ)在索引中,如下面進(jìn)一步詳細(xì)解釋的。另一方 面,如果索引器模塊110確定第一數(shù)據(jù)塊是采樣數(shù)據(jù)塊或數(shù)據(jù)塊的信息已經(jīng)存儲(chǔ)在存儲(chǔ)在 索引114中,則處理退出。
[0032] 在塊212,計(jì)算機(jī)系統(tǒng)100部分地基于第一數(shù)據(jù)塊是否在信息被存儲(chǔ)在索引中的 數(shù)據(jù)塊附近來(lái)決定是否將關(guān)于第一數(shù)據(jù)塊的信息存儲(chǔ)在索引114中。索引器模塊110可確 定該系列數(shù)據(jù)塊中的哪些數(shù)據(jù)塊既具有在索引114中的信息又在第一數(shù)據(jù)塊附近。它可使 用該信息來(lái)幫助做出其決定。例如,索引器模塊110可通過(guò)檢查第一數(shù)據(jù)塊是否在信息在 索引中的該系列數(shù)據(jù)塊之一的數(shù)據(jù)塊的預(yù)定距離內(nèi)來(lái)決定第一數(shù)據(jù)塊是否在信息被存儲(chǔ) 在索引114中的其它數(shù)據(jù)塊附近。也就是說(shuō),計(jì)算機(jī)系統(tǒng)100檢查是否存在該系列數(shù)據(jù)塊 中的數(shù)據(jù)塊,其既具有關(guān)于它的在索引114中的信息又在第一數(shù)據(jù)塊的預(yù)定距離內(nèi)。
[0033] 在另一例子中,索引器模塊110可通過(guò)檢查第一數(shù)據(jù)塊是否在信息被存儲(chǔ)在索引 中的該系列數(shù)據(jù)塊中的至少預(yù)定數(shù)量的數(shù)據(jù)塊附近來(lái)決定第一數(shù)據(jù)塊是否在信息被存儲(chǔ) 在索引114中的數(shù)據(jù)塊附近。也就是說(shuō),計(jì)算機(jī)系統(tǒng)100檢查是否存在該系列數(shù)據(jù)塊中的 至少預(yù)定數(shù)量的數(shù)據(jù)塊,其既具有關(guān)于它們的在索引114中的信息又在第一數(shù)據(jù)塊的預(yù)定 距離內(nèi)。如上面解釋的,例如數(shù)據(jù)塊的預(yù)定距離或預(yù)定數(shù)量的位置相關(guān)的參數(shù)可包括任何 數(shù)量的數(shù)據(jù)塊例如10個(gè)數(shù)據(jù)塊,并可基于與數(shù)據(jù)塊的特性有關(guān)的各種因素。
[0034] 雖然圖2描述了僅僅第一數(shù)據(jù)塊的處理,但應(yīng)理解,前面的塊202將以第一數(shù)據(jù)塊 在第二次迭代時(shí)由第二數(shù)據(jù)塊、在第三次迭代時(shí)由第三數(shù)據(jù)塊等代替等而重復(fù),直到該系 列數(shù)據(jù)塊的所有數(shù)據(jù)塊均已被處理為止。
[0035] 圖3A-3C是示出使用計(jì)算機(jī)系統(tǒng)100處理數(shù)據(jù)以用于去重的例子的圖。為了說(shuō) 明,將假設(shè)計(jì)算機(jī)系統(tǒng)1〇〇可接收來(lái)自數(shù)據(jù)流102的數(shù)據(jù)塊并決定是否將關(guān)于數(shù)據(jù)塊的信 息存儲(chǔ)在索引114中。將進(jìn)一步假設(shè)計(jì)算機(jī)系統(tǒng)100可將數(shù)條數(shù)據(jù)作為數(shù)據(jù)塊116存儲(chǔ)在 存儲(chǔ)系統(tǒng)104中。此外,在本例中,將進(jìn)一步假設(shè)數(shù)據(jù)流102提供由相同的10個(gè)數(shù)據(jù)塊序 列(塊A到塊J)重復(fù)三次組成的30個(gè)數(shù)據(jù)塊的序列,因?yàn)檫@10個(gè)數(shù)據(jù)塊由被稱為用戶1、 用戶2和用戶3的三個(gè)不同的用戶發(fā)送到計(jì)算機(jī)系統(tǒng)100。例如,這10個(gè)數(shù)據(jù)塊可以是每 個(gè)用戶從其管理者接收的同一電子文檔的部分,例如電子郵件內(nèi)容。為了說(shuō)明操作,將進(jìn)一 步假設(shè)采樣模塊108可做出關(guān)于數(shù)據(jù)塊是否是采樣數(shù)據(jù)塊的決定。此外,可假設(shè)索引器模 塊110可做出關(guān)于數(shù)據(jù)塊的信息(例如數(shù)據(jù)塊的散列值)是否存儲(chǔ)在索引114中的決定。
[0036] 將進(jìn)一步假設(shè)在這10個(gè)數(shù)據(jù)塊當(dāng)中存在具有帶有預(yù)定特性的散列的兩個(gè)數(shù)據(jù)塊 (塊B和H)(由陰影描繪),該預(yù)定特性使采樣模塊108決定它們是采樣數(shù)據(jù)塊。還可假設(shè) 接收機(jī)模塊106可接收來(lái)自數(shù)據(jù)流102的數(shù)據(jù)塊以及存儲(chǔ)模塊112可決定是否將數(shù)條所接 收的數(shù)據(jù)塊作為數(shù)據(jù)塊116存儲(chǔ)在存儲(chǔ)系統(tǒng)104中。然而應(yīng)理解,例如,上文是為了說(shuō)明的 目的,以及不同數(shù)量的數(shù)據(jù)塊可被使用,且不同數(shù)量的用戶可提供數(shù)據(jù)塊。
[0037] 參考圖3A,用戶1第一次將10個(gè)數(shù)據(jù)塊(塊A到塊J)發(fā)送到計(jì)算機(jī)系統(tǒng)100。采 樣模塊108可處理這10個(gè)數(shù)據(jù)塊(塊A到塊J)中的每個(gè)并確定數(shù)據(jù)塊中的任一個(gè)是否是 采樣數(shù)據(jù)塊。此外,索引器模塊110可確定關(guān)于數(shù)據(jù)塊中的任一個(gè)的信息是否存儲(chǔ)在索引 114中。在一個(gè)例子中,采樣模塊108可通過(guò)檢查數(shù)據(jù)塊的散列值是否具有預(yù)定特性來(lái)確 定數(shù)據(jù)塊是否是采樣數(shù)據(jù)塊。為了說(shuō)明,將進(jìn)一步假設(shè)這是計(jì)算機(jī)系統(tǒng)100第一次接收到 這10個(gè)數(shù)據(jù)塊(塊A到塊J)。在這種情況下,索引114將不包含關(guān)于這10個(gè)數(shù)據(jù)塊(塊A 到塊J)中的任一個(gè)的信息(例如散列值和物理地址)。因此,索引器模塊110將發(fā)現(xiàn)在索引 114中沒(méi)有存儲(chǔ)關(guān)于這10個(gè)數(shù)據(jù)塊的信息。
[0038] 在本例中,采樣模塊108確定只有兩個(gè)數(shù)據(jù)塊--±夬B和Η--是采樣數(shù)據(jù)塊以及 其余數(shù)據(jù)塊不是采樣數(shù)據(jù)塊。索引器模塊110確定關(guān)于塊Β或Η的信息未存儲(chǔ)在索引114 中,且因此它將關(guān)于這些數(shù)據(jù)塊的信息存儲(chǔ)在索引中,如總地由圖3Α中的箭頭300所示的。 此外,因?yàn)檫@是這10個(gè)數(shù)據(jù)塊第一次由計(jì)算機(jī)系統(tǒng)100接收到,計(jì)算機(jī)系統(tǒng)將這10個(gè)數(shù)據(jù) 塊的拷貝存儲(chǔ)在存儲(chǔ)系統(tǒng)104中。此外,因?yàn)檫@是這10個(gè)數(shù)據(jù)塊第一次被接收到,去重不 發(fā)生,因?yàn)闆](méi)有一個(gè)數(shù)據(jù)塊被發(fā)現(xiàn)是重復(fù)的數(shù)據(jù)塊。
[0039] 轉(zhuǎn)到圖3Β,在用戶1發(fā)送這10個(gè)數(shù)據(jù)塊(塊Α到塊J)之后,用戶2接著將10個(gè)數(shù) 據(jù)塊發(fā)送到計(jì)算機(jī)系統(tǒng)100。來(lái)自用戶2的數(shù)據(jù)塊是與在上面的圖3A中的用戶1所發(fā)送的 相同的數(shù)據(jù)塊。采樣模塊108和索引器模塊110可以執(zhí)行與上面結(jié)合圖3A解釋的相同的 過(guò)程。
[0040] 在本例中,這是采樣模塊108第二次接收到這10個(gè)數(shù)據(jù)塊(塊A到塊J)。在這種 情況下,采樣模塊108確定塊B和Η是采樣數(shù)據(jù)塊,因?yàn)樗鼈兊纳⒘芯哂蓄A(yù)定特性。索引器 模塊110確定關(guān)于塊Β和Η的信息已經(jīng)存儲(chǔ)在索引114中,且因此系統(tǒng)不需要將該信息的 額外拷貝存儲(chǔ)在索引中。此外,計(jì)算機(jī)系統(tǒng)1〇〇不必將塊Β和Η的另一拷貝存儲(chǔ)在存儲(chǔ)系 統(tǒng)104中,因?yàn)殛P(guān)于這些數(shù)據(jù)塊的信息由索引器模塊110以前存儲(chǔ)在索引114中。也就是 說(shuō),去重對(duì)塊Β和Η發(fā)生,因?yàn)檫@些數(shù)據(jù)塊被發(fā)現(xiàn)是重復(fù)的數(shù)據(jù)塊,且因此不需要再次存儲(chǔ) 在存儲(chǔ)系統(tǒng)104中。
[0041] 繼續(xù)該例子,采樣模塊108確定其余數(shù)據(jù)塊(塊A、C-G和Ι-J)不是采樣數(shù)據(jù)塊。 索引器模塊110還確定關(guān)于這些其余數(shù)據(jù)塊的信息未存儲(chǔ)在索引114中。在這種情況下, 索引器模塊110部分地基于這些數(shù)據(jù)塊是否在信息被存儲(chǔ)在索引中的數(shù)據(jù)塊附近來(lái)決定 是否將關(guān)于這些數(shù)據(jù)塊的信息存儲(chǔ)在索引114中。索引器模塊110可確定關(guān)于其余數(shù)據(jù)塊 (塊A、C-G和Ι-J)相對(duì)于存儲(chǔ)在索引114中的其它數(shù)據(jù)塊的位置(地點(diǎn))相關(guān)的信息。在一 個(gè)例子中,索引器模塊110可通過(guò)檢查其余數(shù)據(jù)塊中的任一個(gè)是否在信息在索引中的該系 列數(shù)據(jù)塊之一的數(shù)據(jù)塊的預(yù)定距離內(nèi)來(lái)決定其余數(shù)據(jù)塊中的任一個(gè)是否在信息被存儲(chǔ)在 索引114中的數(shù)據(jù)塊附近。為了說(shuō)明,將假設(shè)預(yù)定距離被設(shè)置為離信息被存儲(chǔ)在索引114中 的數(shù)據(jù)塊之一一個(gè)數(shù)據(jù)塊。在這種情況下,采樣數(shù)據(jù)塊--塊B和Η--是信息被存儲(chǔ)在索 弓丨114中的數(shù)據(jù)塊。在這種情況下,索引器模塊110確定四個(gè)其余數(shù)據(jù)塊(塊A、C、G和I) 在離采樣數(shù)據(jù)塊--塊B和Η--之一一個(gè)數(shù)據(jù)塊的預(yù)定距離內(nèi)。索引器模塊110將接著 把這些數(shù)據(jù)塊(塊A、C、G和I)的信息存儲(chǔ)在索引114中,如總地由圖3Β中的箭頭300所示 的。此外,因?yàn)檫@是這些數(shù)據(jù)塊第二次由計(jì)算機(jī)系統(tǒng)100接收到,存儲(chǔ)模塊112將把其余數(shù) 據(jù)塊(塊A、C-G和I-J)的第二拷貝存儲(chǔ)在存儲(chǔ)系統(tǒng)104中。也就是說(shuō),存儲(chǔ)模塊112將需 要把這些數(shù)據(jù)塊的第二拷貝存儲(chǔ)在存儲(chǔ)系統(tǒng)104中,因?yàn)殛P(guān)于這些數(shù)據(jù)塊的信息以前未存 儲(chǔ)在索引114中。也就是說(shuō),去重不對(duì)這些數(shù)據(jù)塊(塊A、C-G和I-J)發(fā)生,因?yàn)檫@些數(shù)據(jù)塊 被發(fā)現(xiàn)不是重復(fù)的數(shù)據(jù)塊,且因此不需要再次存儲(chǔ)在存儲(chǔ)系統(tǒng)104中。
[0042] 在圖3C,用戶3接著將10個(gè)數(shù)據(jù)塊(塊A到塊J)發(fā)送到計(jì)算機(jī)系統(tǒng)100。來(lái)自用 戶3的數(shù)據(jù)塊是與上面在圖3A中的用戶1和在圖3B中的用戶2所發(fā)送的相同的數(shù)據(jù)塊。
[0043] 在本例中,這是采樣模塊108第三次接收到這10個(gè)數(shù)據(jù)塊(塊A到塊J)。在這種 情況下,采樣模塊108確定塊B和Η是采樣數(shù)據(jù)塊,因?yàn)樗鼈兊纳⒘芯哂蓄A(yù)定特性。索引器 模塊110確定關(guān)于塊Β和Η的信息已經(jīng)存儲(chǔ)在索引114中,且因此不需要將它們的信息的 另一拷貝存儲(chǔ)在索引中。此外,計(jì)算機(jī)系統(tǒng)100不必將塊Β和Η的額外拷貝存儲(chǔ)在存儲(chǔ)系 統(tǒng)104中,因?yàn)殛P(guān)于這些數(shù)據(jù)塊的信息由索引器模塊110以前存儲(chǔ)在索引114中。也就是 說(shuō),去重對(duì)塊Β和Η發(fā)生,因?yàn)檫@些數(shù)據(jù)塊被發(fā)現(xiàn)是重復(fù)的數(shù)據(jù)塊,且因此不需要再次存儲(chǔ) 在存儲(chǔ)系統(tǒng)104中。
[0044] 繼續(xù)該例子,采樣模塊110確定塊A、C、G和I不是采樣數(shù)據(jù)塊。然而,索引器模塊 110確定關(guān)于塊A、C、G和I的信息已經(jīng)存儲(chǔ)在索引114中,且因此它不需要將該信息的另 一拷貝存儲(chǔ)在索引中。此外,計(jì)算機(jī)系統(tǒng)1〇〇不必將塊A、C、G和I的另一拷貝存儲(chǔ)在存儲(chǔ) 系統(tǒng)104中,因?yàn)殛P(guān)于這些數(shù)據(jù)塊的信息由索引器模塊110以前存儲(chǔ)在索引114中。也就 是說(shuō),去重對(duì)塊A、C、G和I發(fā)生,因?yàn)檫@些數(shù)據(jù)塊被發(fā)現(xiàn)是重復(fù)的數(shù)據(jù)塊,且因此不需要再 次存儲(chǔ)在存儲(chǔ)系統(tǒng)104中。
[0045] 繼續(xù)該例子,采樣模塊110確定其余數(shù)據(jù)塊(塊D-F和J)不是采樣數(shù)據(jù)塊。索引 器模塊110然后確定關(guān)于這些其余數(shù)據(jù)塊的信息未存儲(chǔ)在索引114中。在這種情況下,索 引器模塊110部分地基于這些數(shù)據(jù)塊是否在信息被存儲(chǔ)在索引中的數(shù)據(jù)塊附近來(lái)決定是 否將關(guān)于這些數(shù)據(jù)塊的信息存儲(chǔ)在索引114中。索引器模塊110可確定關(guān)于數(shù)據(jù)塊相對(duì) 于存儲(chǔ)在索引114中的其它數(shù)據(jù)塊的位置(地點(diǎn))相關(guān)的信息。在一個(gè)例子中,索引器模塊 110可通過(guò)檢查這些數(shù)據(jù)塊是否在信息在索引中的該系列數(shù)據(jù)塊之一的數(shù)據(jù)塊的預(yù)定距離 內(nèi)來(lái)決定這些數(shù)據(jù)塊是否在信息被存儲(chǔ)在索引114中的數(shù)據(jù)塊附近。如上所解釋的,為了 說(shuō)明,假設(shè)預(yù)定距離被設(shè)置為離信息被存儲(chǔ)在索引114中的數(shù)據(jù)塊一個(gè)數(shù)據(jù)塊。在這種情 況下,塊A-C和G-Ι具有關(guān)于它們的存儲(chǔ)在索引114中的信息。索引器模塊110確定塊D、 G和J在離塊A-C和G-Ι之--個(gè)數(shù)據(jù)塊的預(yù)定距離內(nèi)。索引器模塊110將關(guān)于塊D、G和 J的信息存儲(chǔ)在索引114中,如總地由圖3C中的箭頭300所示的。此外,因?yàn)檫@是數(shù)據(jù)塊 A、D-F和J第三次由計(jì)算機(jī)系統(tǒng)100接收到,計(jì)算機(jī)系統(tǒng)將把這些數(shù)據(jù)塊的第三拷貝存儲(chǔ) 在存儲(chǔ)系統(tǒng)104中。也就是說(shuō),存儲(chǔ)模塊112將需要把這些數(shù)據(jù)塊(塊A、D-F和J)的第三 拷貝存儲(chǔ)在存儲(chǔ)系統(tǒng)104中,因?yàn)殛P(guān)于這些數(shù)據(jù)塊的信息以前未存儲(chǔ)在索引114中。
[0046] 如可在上面圖3A到3C的背景中的例子中所示的,相同的數(shù)據(jù)塊被接收到的次數(shù) 越多,就有越多的數(shù)據(jù)塊將具有由索引器模塊110存儲(chǔ)在索引114中的它們的信息,且越多 的副本被發(fā)現(xiàn)不需要存儲(chǔ)在存儲(chǔ)系統(tǒng)104中。也就是說(shuō),相同的數(shù)據(jù)被接收得越頻繁,需要 存儲(chǔ)在存儲(chǔ)系統(tǒng)中的數(shù)據(jù)塊的拷貝的數(shù)量就越小,因?yàn)殛P(guān)于數(shù)據(jù)塊的信息已在以前存儲(chǔ)在 索引114中。
[0047] 圖4是示出根據(jù)實(shí)施例的存儲(chǔ)用于處理數(shù)據(jù)以用于去重的代碼的非臨時(shí)計(jì)算機(jī) 可讀介質(zhì)的方框圖。非臨時(shí)計(jì)算機(jī)可讀介質(zhì)總地由參考數(shù)字400指稱,并可包括在與圖1 有關(guān)的計(jì)算機(jī)系統(tǒng)1〇〇中。非臨時(shí)計(jì)算機(jī)可讀介質(zhì)400可對(duì)應(yīng)于存儲(chǔ)例如編程代碼等的計(jì) 算機(jī)實(shí)現(xiàn)的指令的任何典型存儲(chǔ)設(shè)備。例如,非臨時(shí)計(jì)算機(jī)可讀介質(zhì)400可包括非易失性 存儲(chǔ)器、易失性存儲(chǔ)器和/或一個(gè)或多個(gè)存儲(chǔ)設(shè)備中的一個(gè)或多個(gè)。非易失性存儲(chǔ)器的例 子包括但不限于電可擦除可編程只讀存儲(chǔ)器(EEPR0M)和只讀存儲(chǔ)器(ROM)。易失性存儲(chǔ)器 的例子包括但不限于靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)和動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)。存儲(chǔ)設(shè) 備的例子包括但不限于硬盤驅(qū)動(dòng)器、光盤驅(qū)動(dòng)器、數(shù)字通用盤驅(qū)動(dòng)器、光學(xué)驅(qū)動(dòng)器和閃速存 儲(chǔ)器設(shè)備。
[0048] 根據(jù)實(shí)施例,一個(gè)或多個(gè)處理器402通常獲取并執(zhí)行存儲(chǔ)在非臨時(shí)計(jì)算機(jī)可讀介 質(zhì)400中的指令以操作計(jì)算機(jī)系統(tǒng)100。在實(shí)施例中,有形機(jī)器可讀介質(zhì)400可通過(guò)總線 402由處理器402訪問(wèn)。非臨時(shí)計(jì)算機(jī)可讀介質(zhì)400的區(qū)域406可包括如本文所述的接收 機(jī)模塊106的功能。非臨時(shí)計(jì)算機(jī)可讀介質(zhì)400的另一區(qū)域408可包括如本文所述的采樣 模塊108的功能。非臨時(shí)計(jì)算機(jī)可讀介質(zhì)400的另一區(qū)域410可包括如本文所述的索引 器模塊110的功能。非臨時(shí)計(jì)算機(jī)可讀介質(zhì)400的區(qū)域412可包括如本文所述的存儲(chǔ)模塊 112的功能。
[〇〇49] 雖然被示為連續(xù)的塊,但軟件部件可以以任何順序或配置被存儲(chǔ)。例如,如果非臨 時(shí)計(jì)算機(jī)可讀介質(zhì)400是硬盤驅(qū)動(dòng)器,則軟件部件可存儲(chǔ)在非連續(xù)或甚至重疊的扇區(qū)中。 [0050] 在前述描述中,闡述了很多細(xì)節(jié)以提供對(duì)本示例性發(fā)明的理解。然而,本領(lǐng)域中的 技術(shù)人員將理解,本示例性發(fā)明可在沒(méi)有這些細(xì)節(jié)的情況下被實(shí)施。雖然關(guān)于有限數(shù)量的 實(shí)施例公開了示例性發(fā)明,但本領(lǐng)域中的技術(shù)人員將認(rèn)識(shí)到從中的很多修改和變型。意圖 是所附權(quán)利要求涵蓋落在示例性發(fā)明的真實(shí)精神和范圍內(nèi)的這樣的修改和變型。
【權(quán)利要求】
1. 一種用于去重的計(jì)算機(jī)系統(tǒng),包括: 索引,用于存儲(chǔ)關(guān)于數(shù)據(jù)塊的信息; 接收機(jī)模塊,用于接收包括第一數(shù)據(jù)塊的一系列數(shù)據(jù)塊;以及 索引器模塊,用于: 如果所述第一數(shù)據(jù)塊是采樣數(shù)據(jù)塊且關(guān)于所述第一數(shù)據(jù)塊的信息不在所述索引中,則 將關(guān)于所述第一數(shù)據(jù)塊的信息存儲(chǔ)在所述索引中,以及 如果所述第一數(shù)據(jù)塊不是采樣數(shù)據(jù)塊且關(guān)于所述第一數(shù)據(jù)塊的信息不在所述索引中, 則部分地基于所述第一數(shù)據(jù)塊是否在信息被存儲(chǔ)在所述索引中的數(shù)據(jù)塊附近來(lái)決定是否 將關(guān)于所述第一數(shù)據(jù)塊的信息存儲(chǔ)在所述索引中。
2. 如權(quán)利要求1所述的計(jì)算機(jī)系統(tǒng),其中采樣模塊配置成通過(guò)檢查所述第一數(shù)據(jù)塊的 散列值是否具有預(yù)定特性來(lái)決定所述第一數(shù)據(jù)塊是否是采樣數(shù)據(jù)塊。
3. 如權(quán)利要求1所述的計(jì)算機(jī)系統(tǒng),其中所述索引器模塊配置成通過(guò)檢查所述第一數(shù) 據(jù)塊是否在信息在所述索引中的所述系列數(shù)據(jù)塊之一的預(yù)定距離內(nèi)來(lái)決定所述第一數(shù)據(jù) 塊是否在信息被存儲(chǔ)在所述索引中的數(shù)據(jù)塊附近。
4. 如權(quán)利要求1所述的計(jì)算機(jī)系統(tǒng),其中所述索引器模塊配置成通過(guò)檢查所述第一數(shù) 據(jù)塊是否在信息被存儲(chǔ)在所述索引中的所述系列數(shù)據(jù)塊中的至少預(yù)定數(shù)量的數(shù)據(jù)塊附近 來(lái)決定所述第一數(shù)據(jù)塊是否在處于所述索引中的數(shù)據(jù)塊附近。
5. 如權(quán)利要求1所述的計(jì)算機(jī)系統(tǒng),其中所述索引器模塊還配置成如果關(guān)于非采樣數(shù) 據(jù)塊的信息已存儲(chǔ)在所述索引中一段預(yù)定的時(shí)間段則從所述索引移除關(guān)于所述非采樣數(shù) 據(jù)塊的信息。
6. 如權(quán)利要求1所述的計(jì)算機(jī)系統(tǒng),其中所述索引器模塊還配置成從所述索引移除關(guān) 于隨機(jī)非采樣數(shù)據(jù)塊的信息。
7. -種去重的方法,包括: 接收包括第一數(shù)據(jù)塊的一系列數(shù)據(jù)塊; 決定所述第一數(shù)據(jù)塊是否是采樣數(shù)據(jù)塊; 如果所述第一數(shù)據(jù)塊是采樣數(shù)據(jù)塊且關(guān)于所述第一數(shù)據(jù)塊的信息不在所述索引中,則 將關(guān)于所述第一數(shù)據(jù)塊的信息存儲(chǔ)在所述索引中;以及 如果所述第一數(shù)據(jù)塊不是采樣數(shù)據(jù)塊且關(guān)于所述第一數(shù)據(jù)塊的信息不在所述索引中, 則部分地基于所述第一數(shù)據(jù)塊是否在信息被存儲(chǔ)在所述索引中的數(shù)據(jù)塊附近來(lái)決定是否 將關(guān)于所述第一數(shù)據(jù)塊的信息存儲(chǔ)在所述索引中。
8. 如權(quán)利要求7所述的方法,其中決定所述第一數(shù)據(jù)塊是否是采樣數(shù)據(jù)塊還包括檢查 所述第一數(shù)據(jù)塊的散列值是否具有預(yù)定特性。
9. 如權(quán)利要求7所述的方法,其中決定所述第一數(shù)據(jù)塊是否在處于所述索引中的數(shù)據(jù) 塊附近還包括檢查所述第一數(shù)據(jù)塊是否在信息在所述索引中的所述系列數(shù)據(jù)塊之一的數(shù) 據(jù)塊的預(yù)定距離內(nèi)。
10. 如權(quán)利要求7所述的方法,還包括如果關(guān)于非采樣數(shù)據(jù)塊的信息已存儲(chǔ)在所述索 引中一段預(yù)定的時(shí)間段則從所述索引移除關(guān)于所述非采樣數(shù)據(jù)塊的信息。
11. 如權(quán)利要求7所述的方法,還包括從所述索引移除關(guān)于隨機(jī)非采樣數(shù)據(jù)塊的信息。
12. -種包括用于去重的代碼的非臨時(shí)計(jì)算機(jī)可讀介質(zhì),所述代碼如果被執(zhí)行則使處 理器: 接收包括第一數(shù)據(jù)塊的一系列數(shù)據(jù)塊; 決定所述第一數(shù)據(jù)塊是否是采樣數(shù)據(jù)塊; 如果所述第一數(shù)據(jù)塊是采樣數(shù)據(jù)塊且關(guān)于所述第一數(shù)據(jù)塊的信息不在所述索引中,則 將關(guān)于所述第一數(shù)據(jù)塊的信息存儲(chǔ)在所述索引中;以及 如果所述第一數(shù)據(jù)塊不是采樣數(shù)據(jù)塊且關(guān)于所述第一數(shù)據(jù)塊的信息不在所述索引中, 則部分地基于所述第一數(shù)據(jù)塊是否在信息被存儲(chǔ)在所述索引中的數(shù)據(jù)塊附近來(lái)決定是否 將關(guān)于所述第一數(shù)據(jù)塊的信息存儲(chǔ)在所述索引中。
13. 如權(quán)利要求12所述的計(jì)算機(jī)可讀介質(zhì),還包括如果被執(zhí)行則使處理器執(zhí)行下列操 作的代碼: 通過(guò)檢查所述第一數(shù)據(jù)塊的散列值是否具有預(yù)定特性來(lái)決定所述第一數(shù)據(jù)塊是否是 采樣數(shù)據(jù)塊。
14. 如權(quán)利要求12所述的計(jì)算機(jī)可讀介質(zhì),還包括如果被執(zhí)行則使處理器執(zhí)行下列操 作的代碼: 通過(guò)檢查所述第一數(shù)據(jù)塊是否在信息在所述索引中的所述系列數(shù)據(jù)塊之一的數(shù)據(jù)塊 的預(yù)定距離內(nèi)來(lái)決定所述第一數(shù)據(jù)塊是否在處于所述索引中的數(shù)據(jù)塊附近。
15. 如權(quán)利要求12所述的計(jì)算機(jī)可讀介質(zhì),還包括如果被執(zhí)行則使處理器執(zhí)行下列操 作的代碼: 如果關(guān)于非采樣數(shù)據(jù)塊的信息已存儲(chǔ)在所述索引中一段預(yù)定的時(shí)間段則從所述索引 移除關(guān)于所述非采樣數(shù)據(jù)塊的信息。
【文檔編號(hào)】G06F12/06GK104067238SQ201280068650
【公開日】2014年9月24日 申請(qǐng)日期:2012年3月8日 優(yōu)先權(quán)日:2012年3月8日
【發(fā)明者】M.D.利利布里奇 申請(qǐng)人:惠普發(fā)展公司,有限責(zé)任合伙企業(yè)
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1