国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      有效計算相似搜索值和摘要塊邊界的方法和系統(tǒng)的制作方法

      文檔序號:6540766閱讀:183來源:國知局
      有效計算相似搜索值和摘要塊邊界的方法和系統(tǒng)的制作方法
      【專利摘要】為了在重復(fù)數(shù)據(jù)刪除中有效計算相似搜索值和摘要塊的邊界兩者,將輸入數(shù)據(jù)劃分成大塊,以及對于每個大塊,計算一組滾動散列值。將滾動散列值的單個線性掃描用于產(chǎn)生該大塊的相似搜索值和摘要塊的邊界兩者。
      【專利說明】有效計算相似搜索值和摘要塊邊界的方法和系統(tǒng)

      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明一般涉及計算機,尤其涉及在計算環(huán)境下在重復(fù)數(shù)據(jù)刪除系統(tǒng)(datadeduplication system)中有效計算相似搜索值和摘要塊的邊界兩者。

      【背景技術(shù)】
      [0002]在當今社會里,計算機系統(tǒng)是司空見慣的。在工作場所,在家里,或在學校都可以找到計算機系統(tǒng)。計算機系統(tǒng)可以包括數(shù)據(jù)存儲系統(tǒng)或盤存儲系統(tǒng)來處理和存儲數(shù)據(jù)。每天都必須處理大量數(shù)據(jù),當前的趨勢暗示著在可預(yù)見的將來這些數(shù)量將繼續(xù)日益增加。緩解該問題的有效途徑是使用重復(fù)刪除。重復(fù)刪除系統(tǒng)所依據(jù)的概念是利用通過定位重復(fù)數(shù)據(jù)和只存儲它的第一次出現(xiàn),一而再地復(fù)制可用數(shù)據(jù)的大部分的事實。隨后的副本用指向所存儲出現(xiàn)的指針來取代,如果數(shù)據(jù)的確是重復(fù)的,則顯著降低了存儲要求。


      【發(fā)明內(nèi)容】

      [0003]在一個實施例中,提供了在計算環(huán)境下在使用處理器設(shè)備的重復(fù)數(shù)據(jù)刪除系統(tǒng)中有效計算相似搜索值和摘要塊的邊界兩者的方法。在一個實施例中,僅舉例來說,將輸入數(shù)據(jù)劃分成大數(shù)據(jù)塊,以及對于每個大塊,計算一組滾動散列值。將滾動散列值的單個線性掃描用于產(chǎn)生該大塊的相似搜索值和摘要塊的邊界兩者。
      [0004]在另一個實施例中,提供了在計算環(huán)境下,在使用處理器設(shè)備的重復(fù)數(shù)據(jù)刪除系統(tǒng)中有效計算相似搜索值和摘要塊的邊界兩者的計算機系統(tǒng)。該計算機系統(tǒng)包括計算機可讀介質(zhì)和可操作地與該計算機可讀介質(zhì)通信的處理器。在一個實施例中,僅舉例來說,該處理器將輸入數(shù)據(jù)劃分成大數(shù)據(jù)塊,以及對于每個大塊,計算一組滾動散列值。將滾動散列值的單個線性掃描用于產(chǎn)生該大塊的相似搜索值和摘要塊的邊界兩者。
      [0005]在進一步的實施例中,提供了在計算環(huán)境下,在使用處理器設(shè)備的重復(fù)數(shù)據(jù)刪除系統(tǒng)中有效計算相似搜索值和摘要塊的邊界兩者的計算機程序產(chǎn)品。該計算機可讀存儲介質(zhì)含有存儲在上面的計算機可讀程序代碼部分。該計算機可讀程序代碼部分包括將輸入數(shù)據(jù)劃分成大數(shù)據(jù)塊的第一可執(zhí)行部分。對于每個大塊,計算一組滾動散列值。將滾動散列值的單個線性掃描用于產(chǎn)生該大塊的相似搜索值和摘要塊的邊界兩者。
      [0006]除了前面的示范性方法實施例之外,還提供了其它示范性系統(tǒng)和計算機產(chǎn)品實施例,它們也具有相關(guān)優(yōu)點。提供前面的總結(jié)是為了以簡化形式介紹下面在詳細描述中作進一步描述的構(gòu)思的選擇。這個總結(jié)無意標識要求保護的主題的關(guān)鍵特征或基本特征,也無意用于幫助確定要求保護的主題的范圍。要求保護的主題不限于解決在【背景技術(shù)】中所述的任何或所有缺點的實現(xiàn)。

      【專利附圖】

      【附圖說明】
      [0007]為了易于了解本發(fā)明的優(yōu)點,將參照例示在附圖中的特定實施例給出上面簡述的本發(fā)明的更具體描述。當明白這些圖形是描繪本發(fā)明的實施例,因此不認為是限制其范圍時,將使用附圖以另外的特征和細節(jié)描述和說明本發(fā)明,在附圖中:
      [0008]圖1是例示含有可以實現(xiàn)本發(fā)明的各個方面的示范性存儲設(shè)備的計算系統(tǒng)環(huán)境的框圖;
      [0009]圖2是例示可以實現(xiàn)本發(fā)明的各個方面的計算機系統(tǒng)中的數(shù)據(jù)存儲系統(tǒng)的硬件結(jié)構(gòu)的框圖;
      [0010]圖3是例示在可以實現(xiàn)本發(fā)明的各個方面的重復(fù)數(shù)據(jù)刪除系統(tǒng)中在重復(fù)刪除處理中根據(jù)相似搜索進行摘要檢索的示范性方法的流程圖;
      [0011]圖4是例示在可以實現(xiàn)本發(fā)明的各個方面的重復(fù)數(shù)據(jù)刪除系統(tǒng)中在重復(fù)刪除處理中根據(jù)相似搜索進行摘要檢索的示范性可替代方法的流程圖;以及
      [0012]圖5是例示在可以實現(xiàn)本發(fā)明的各個方面的重復(fù)數(shù)據(jù)刪除系統(tǒng)中,使用滾動散列值的單個線性計算有效計算相似搜索值和摘要塊的邊界兩者的示范性方法的流程圖。

      【具體實施方式】
      [0013]重復(fù)數(shù)據(jù)刪除在計算存儲系統(tǒng)中是高度重要和充滿活力的領(lǐng)域。重復(fù)數(shù)據(jù)刪除指的是減少和/或消除冗余數(shù)據(jù)。在重復(fù)數(shù)據(jù)刪除中,將可以是文件、數(shù)據(jù)流、或一些其它形式的數(shù)據(jù)的數(shù)據(jù)對象分解成稱為大塊或塊的一個或多個部分。在重復(fù)數(shù)據(jù)刪除過程中,分別減少或消除數(shù)據(jù)的重復(fù)副本,留下數(shù)據(jù)的最少量冗余副本或單個副本。重復(fù)數(shù)據(jù)刪除系統(tǒng)的目標是存儲重復(fù)數(shù)據(jù)的單個副本,實現(xiàn)這一目標所面臨的挑戰(zhàn)是在通常大型的中心庫中有效尋找重復(fù)數(shù)據(jù)模式,并以存儲劃算重復(fù)刪除形式存儲數(shù)據(jù)模式。重復(fù)刪除存儲系統(tǒng)中的重大挑戰(zhàn)是可伸縮地支持數(shù)據(jù)的巨大中心庫。這樣的大型中心庫可以達到拍字節(jié)(I拍字節(jié)=25°字節(jié))或更大的規(guī)模。支持這樣中心庫規(guī)模的重復(fù)刪除存儲系統(tǒng)必須提供在中心庫中尋找重復(fù)數(shù)據(jù)模式的有效處理,其中用實現(xiàn)重復(fù)刪除的資源消耗來度量有效性(該資源可以是CPU循環(huán)、RAM存儲、持久性存儲、聯(lián)網(wǎng)等)。在一個實施例中,重復(fù)刪除存儲系統(tǒng)可以基于保留稱為指紋或摘要的數(shù)值的搜索優(yōu)化索引,其中一個(小)指紋代表中心庫中的一個(較大)塊數(shù)據(jù)。指紋值可以是根據(jù)塊的數(shù)據(jù)計算的保密散列值。在一個實施例中,可以使用作為保密散列函數(shù)一族的安全散列算法(SHA),例如,SHA-1或SHA-256。使用索引查找表識別指紋匹配使得能夠存儲對已存在于中心庫中的數(shù)據(jù)的引用。
      [0014]為了在這種做法中提供合理的重復(fù)刪除,生成指紋所基于的數(shù)據(jù)塊的平均尺寸必須限于較小尺寸而不得過大。數(shù)據(jù)塊內(nèi)位的變化將概率性地改變數(shù)據(jù)塊的相應(yīng)指紋,因此含有大數(shù)據(jù)塊的原因使該方案與含有小塊相比對數(shù)據(jù)的更新更敏感。取決于應(yīng)用的類型和工作負荷,典型的數(shù)據(jù)塊尺寸的范圍可以從4KB到64KB。因此,僅舉例來說,小數(shù)據(jù)塊的范圍可以直到64KB的尺寸,而大數(shù)據(jù)塊是尺寸大于64KB的那些數(shù)據(jù)塊。
      [0015]為了支持可伸縮到拍字節(jié)的巨大中心庫(例如,可伸縮到至少一個拍字節(jié)的中心庫),與指紋的尺寸(范圍在16個字節(jié)與64個字節(jié)之間)耦合存儲的指紋的數(shù)量大得驚人。例如,對于I拍字節(jié)的重復(fù)刪除數(shù)據(jù),4KB平均數(shù)據(jù)塊尺寸,以及32字節(jié)指紋尺寸(例如,SHA-256),存儲指紋所需的存儲是8太字節(jié)。為這樣體量的指令保留搜索優(yōu)化數(shù)據(jù)結(jié)構(gòu)是困難的,需要優(yōu)化技術(shù)。但是,現(xiàn)有優(yōu)化技術(shù)無法在保持性能的同時可伸縮到這些尺寸。由于這個原因,為了提供合理性能,支持的中心庫必須相對較小(數(shù)十TB的數(shù)量級)。即使對于這樣的較小尺寸,由于指紋索引的大尺度,也會引起相當大的挑戰(zhàn)和運行時成本,這給重復(fù)刪除處理帶來瓶頸。
      [0016]為了解決這個問題,在一個實施例中,重復(fù)刪除系統(tǒng)可以基于在重復(fù)刪除期間搜索數(shù)據(jù)模式的兩步做法。在第一步中,在中心庫中從大塊輸入數(shù)據(jù)(例如,幾兆字節(jié))中搜索現(xiàn)有數(shù)據(jù)的相似(而不是相同)大數(shù)據(jù)塊,相應(yīng)地將輸入大數(shù)據(jù)塊劃分成區(qū)間并與相應(yīng)(相似)中心庫區(qū)間配對。在第二步中,將逐個字節(jié)匹配算法應(yīng)用在相似區(qū)間對上,以識別已存儲在數(shù)據(jù)的中心庫中的相同子區(qū)間。第二步的匹配算法依賴于讀取中心庫中的所有相關(guān)相似數(shù)據(jù),以便逐個字節(jié)地將它與輸入數(shù)據(jù)相比較。
      [0017]然而,源于作為第二步的匹配算法的基礎(chǔ)的數(shù)據(jù)的逐個字節(jié)比較的問題是為了比較的目的,應(yīng)該從中心庫中讀取大小和比率與輸入數(shù)據(jù)大致相同的數(shù)據(jù)。例如,每秒處理IGB輸入數(shù)據(jù)的系統(tǒng)為了逐個字節(jié)比較,應(yīng)該從中心庫中每秒大約讀取IGB的數(shù)據(jù)。這要求存儲中心庫數(shù)據(jù)的存儲設(shè)備具有相當高的每秒I/O (輸入/輸出)能力,這又使它們的成本增加。
      [0018]信息技術(shù)與上面的問題一致的另外趨勢如下:(1)通過提高CPU (中央處理單元)速度和增加CPU內(nèi)核的數(shù)量提高計算能力;以及(2)在盤吞吐量保持相對恒定或只適度提高的同時,提高盤密度。這意味著相對于數(shù)據(jù)容量存在較少的主軸,因此實際上使總吞吐量減少。由于上述的問題,需要設(shè)計出無需從中心庫中高速/大體量讀取、要并入上述的兩步重復(fù)刪除系統(tǒng)實施例中的可替代解決方案。
      [0019]因此,在一個實施例中,僅舉例來說,另外的實施例解決了這個問題,以及從盤到(PU的轉(zhuǎn)移資源消耗,以便從上面的趨勢中獲益。本文所述的實施例被并入上述的兩步和可伸縮重復(fù)刪除實施例中,在重復(fù)刪除期間使用相似搜索把重點放在摘要的查找上。在一個實施例中,將全局相似搜索用作把重點放在對最有可能與輸入數(shù)據(jù)匹配的中心庫數(shù)據(jù)的摘要的相似搜索上的基礎(chǔ)。
      [0020]本文所述的實施例顯著降低了基本盤所要求的每秒I/O能力,從計算能力和盤密度的提高中受益,以及相當大地降低了處理的成本,以及維護成本和環(huán)境額外開銷(例如,功耗)。
      [0021]在一個實施例中,將輸入數(shù)據(jù)分段成小段(例如,4KB),并為每個這樣的段計算摘要(保密散列值,例如,SHAl )。首先,將如上所述的相似搜索算法應(yīng)用在輸入的大塊數(shù)據(jù)(例如,16MB)上,并定位和尋找中心庫中最相似參考數(shù)據(jù)的位置。然后將這些位置用于查找相似參考數(shù)據(jù)的摘要。以與它們在數(shù)據(jù)中的出現(xiàn)相對應(yīng)的形式存儲和檢索包含在中心庫中的所有數(shù)據(jù)的摘要。給定包含在中心庫中的數(shù)據(jù)的一部分的位置,在中心庫中有效地定位和檢索與數(shù)據(jù)的該部分相聯(lián)系的摘要。接著,將這些參考摘要裝載到存儲器中,并取代比較數(shù)據(jù)來尋找匹配,將輸入摘要與裝載的參考摘要匹配。
      [0022]所述實施例提供了架構(gòu)重復(fù)數(shù)據(jù)刪除系統(tǒng)的新基本做法,它將后面接著搜索相同匹配段的可伸縮兩步做法與有效和成本劃算的基于摘要/指紋匹配算法合并(而不是逐個字節(jié)數(shù)據(jù)比較)。基于摘要/指紋的匹配算法使得可以只讀取逐個字節(jié)數(shù)據(jù)比較所需的數(shù)據(jù)的體量的一小部分(1%)。如本文提出的本發(fā)明,除了高的效率和性能、和降低的處理和硬件成本之外,重復(fù)刪除系統(tǒng)還可以提供巨大數(shù)據(jù)中心庫的高可伸縮性。
      [0023]在一個實施例中,僅舉例來說,術(shù)語“相似數(shù)據(jù)”可能指的是:對于任何給定輸入數(shù)據(jù),將與輸入數(shù)據(jù)相似的數(shù)據(jù)定義成與輸入數(shù)據(jù)幾乎相同(即,不完全相同但至少50%相似)的數(shù)據(jù)。從二進制的角度(視角)觀看數(shù)據(jù),這意味著相似數(shù)據(jù)是大多數(shù)字節(jié)與輸入數(shù)據(jù)相同(即,不完全相同但至少50%相似)的數(shù)據(jù)。
      [0024]在一個實施例中,僅舉例來說,術(shù)語“相似搜索”可以指的是搜索數(shù)據(jù)的中心庫中與輸入數(shù)據(jù)相似的數(shù)據(jù)的過程。在一個實施例中,這個過程可以使用內(nèi)部保留和搜索的、相似元素的搜索結(jié)構(gòu)來進行。
      [0025]在一個實施例中,僅舉例來說,術(shù)語“相似元素”可以根據(jù)數(shù)據(jù)計算和有助于對數(shù)據(jù)的中心庫中與輸入數(shù)據(jù)相似的數(shù)據(jù)的全局搜索。一般說來,計算一個或多個相似元素,它們代表大塊(例如,至少16MB)數(shù)據(jù)。
      [0026]因此,本文所述的各種實施例為在計算環(huán)境下,在使用處理器設(shè)備的重復(fù)數(shù)據(jù)刪除系統(tǒng)中,在重復(fù)刪除處理中基于相似搜索的摘要檢索提供了各種解決方案。在一個實施例中,僅舉例來說,將輸入數(shù)據(jù)劃分成固定尺寸大數(shù)據(jù)塊。為每個固定尺寸大數(shù)據(jù)塊計算相似元素、摘要塊邊界和摘要值。在數(shù)據(jù)的中心庫中為每個固定尺寸大數(shù)據(jù)塊從包含相似元素的搜索結(jié)構(gòu)(即,索引)中搜索匹配相似元素。在中心庫中定位相似數(shù)據(jù)的位置。將相似數(shù)據(jù)的位置用于定位和向存儲器裝載中心庫中的相似數(shù)據(jù)的所存儲摘要值和相應(yīng)所存儲摘要塊邊界。應(yīng)該注意到,在一個實施例中,該位置可以是物理的或邏輯的(即,虛擬的)。該位置屬于數(shù)據(jù)的中心庫內(nèi)部的數(shù)據(jù)?!拔恢谩钡闹匾再|(zhì)是,給定中心庫的數(shù)據(jù)的位置(物理的或邏輯的),就可以有效地定位和存取那個位置中的數(shù)據(jù)。將摘要值和相應(yīng)摘要塊邊界與所存儲摘要值和相應(yīng)所存儲摘要塊邊界匹配以尋找數(shù)據(jù)匹配。
      [0027]因此,本文所述的各種實施例為在計算環(huán)境下,在使用處理器設(shè)備的重復(fù)數(shù)據(jù)刪除系統(tǒng)中,在重復(fù)刪除處理中基于相似搜索的摘要檢索提供了各種解決方案。在一個實施例中,僅舉例來說,將輸入數(shù)據(jù)劃分成固定尺寸大數(shù)據(jù)塊。為每個固定尺寸大數(shù)據(jù)塊計算相似元素、摘要塊邊界和摘要值。在數(shù)據(jù)的中心庫中為每個固定尺寸大數(shù)據(jù)塊從包含相似元素的搜索結(jié)構(gòu)(即,索引)中搜索匹配相似元素。在中心庫中定位相似數(shù)據(jù)的位置。將相似數(shù)據(jù)的位置用于定位和向存儲器裝載中心庫中的相似數(shù)據(jù)的所存儲摘要值和相應(yīng)所存儲摘要塊邊界。將摘要值和相應(yīng)摘要塊邊界與所存儲摘要值和相應(yīng)所存儲摘要塊邊界匹配以尋找數(shù)據(jù)匹配。
      [0028]在一個實施例中,本發(fā)明提供了為了有效的重復(fù)刪除處理,利用相似搜索將相關(guān)摘要從中心庫裝載到存儲器中的解決方案。在重復(fù)數(shù)據(jù)刪除系統(tǒng)中,通過將數(shù)據(jù)劃分成大固定尺寸塊,以及對于每個大塊,計算(兩樣東西一相似元素和/或摘要塊/摘要值)相似搜索的散列值(摘要塊/摘要值)和摘要值。該重復(fù)數(shù)據(jù)刪除系統(tǒng)從相似值的搜索結(jié)構(gòu)中搜索大塊的匹配相似值,并在中心庫中尋找相似數(shù)據(jù)的位置。該重復(fù)數(shù)據(jù)刪除系統(tǒng)使用相似數(shù)據(jù)的這些位置來定位和向存儲器裝載相似中心庫數(shù)據(jù)的所存儲摘要,然后匹配輸入數(shù)據(jù)和中心庫摘要值以尋找數(shù)據(jù)匹配。
      [0029]在一個實施例中,本發(fā)明使用滾動散列值的單個線性計算,為有效計算相似搜索值和摘要塊的分段(即,邊界)兩者創(chuàng)造了條件。在重復(fù)數(shù)據(jù)刪除系統(tǒng)中,將輸入數(shù)據(jù)劃分成大塊,以及對于每個大塊,計算一組滾動散列值。滾動散列值的單個線性掃描產(chǎn)生了大塊的相似搜索值和摘要塊的邊界兩者。每個滾動散列值以字節(jié)偏移量對應(yīng)于字節(jié)的相繼窗口。相似搜索值用于在中心庫中搜索相似數(shù)據(jù)。摘要塊分段用于為摘要匹配計算大塊的摘要塊邊界和相應(yīng)摘要值。將每個滾動散列值貢獻給相似值的計算和摘要塊分段的計算。在貢獻給計算之后丟棄每個滾動散列值。所述實施例使處理效率顯著提高并使CPU消耗顯著降低,以及使性能得到相當大提高。
      [0030]因此,如上所述,本發(fā)明的重復(fù)刪除做法在重復(fù)刪除期間將兩步過程用于搜索數(shù)據(jù)模式。在第一步中,在中心庫中從大塊輸入數(shù)據(jù)(例如,2兆字節(jié)“MB”)中搜索現(xiàn)有數(shù)據(jù)的相似(而不是相同)大塊,相應(yīng)地將輸入大塊劃分成區(qū)間并與相應(yīng)(相似)中心庫區(qū)間配對。用在第一步中的相似索引是緊縮的,易于在內(nèi)部保留和搜索,因為用于相似搜索的元素相對于它們所代表的數(shù)據(jù)是非常緊縮的(例如,16字節(jié)代表4兆字節(jié))。除了相似元素的計算之外,進一步包括在第一步中的是輸入大塊數(shù)據(jù)的摘要段和各自摘要值的計算。所有這些計算都基于滾動散列值的單個計算。在第二步中,檢索相似中心庫區(qū)間的參考摘要,然后將輸入摘要與參考摘要匹配以識別數(shù)據(jù)匹配。
      [0031]在一個實施例中,在本文所述的基于相似重復(fù)刪除做法中,將輸入數(shù)據(jù)流劃分成大塊(例如,至少16MB),并在兩個主要步驟中處理每個大塊。在第一步中,應(yīng)用相似搜索過程,尋找中心庫中最相似參考數(shù)據(jù)的位置。在這個步驟內(nèi),根據(jù)滾動散列值的單個線性計算,為輸入大塊計算相似搜索元素和摘要段邊界兩者。根據(jù)產(chǎn)生的分段為輸入大塊計算摘要值,并以它們出現(xiàn)在輸入數(shù)據(jù)中的順序存儲在存儲器中。然后將相似數(shù)據(jù)的位置用于查找相似參考數(shù)據(jù)的摘要,并且也以順序形式將這些摘要裝載到存儲器中。然后,將輸入摘要與參考摘要匹配以形成數(shù)據(jù)匹配。
      [0032]當完成輸入大塊數(shù)據(jù)的重復(fù)刪除時,將與輸入大塊數(shù)據(jù)相聯(lián)系的摘要存儲在中心庫中,用作隨后輸入數(shù)據(jù)的參考摘要。以獨立于存儲這些摘要所描述的數(shù)據(jù)的重復(fù)刪除形式的線性形式,以及以它們出現(xiàn)在數(shù)據(jù)中的順序存儲摘要。這種存儲方法能夠獨立于表示重復(fù)刪除存儲形式的分段地有效檢索摘要的部分,因此降低了 I/o和計算資源消耗。
      [0033]現(xiàn)在轉(zhuǎn)到圖1,圖中描繪了計算系統(tǒng)環(huán)境的示范性架構(gòu)10。計算機系統(tǒng)10包括與通信端口 18和存儲器件16連接的中央處理單元(CPU) 12。通信端口 18與通信網(wǎng)絡(luò)20通信。通信網(wǎng)絡(luò)20和存儲網(wǎng)絡(luò)可以配置成與服務(wù)器(主機)24和可以包括存儲設(shè)備14的存儲系統(tǒng)通信。存儲系統(tǒng)可以包括可以以獨立盤冗余陣列(RAID)配置的硬盤驅(qū)動器(HDD)設(shè)備、固態(tài)設(shè)備(SSD)等。如下所述的操作可以在存儲設(shè)備14上執(zhí)行,存儲設(shè)備14可以處在系統(tǒng)10中或其它地方,可以含有與其它CPU設(shè)備12獨立和/或結(jié)合工作的多個存儲器件
      16。存儲器件16可以包括像電可擦除可編程只讀存儲器(EEPROM)那樣的存儲器或相關(guān)器件的主機。存儲器件16和存儲設(shè)備14經(jīng)由信號承載介質(zhì)與CPU12通信。另外,CPU12通過通信端口 18與含有附在上面的多個另外計算機主機系統(tǒng)24的通信網(wǎng)絡(luò)20連接。另外,存儲器件16和CPU12可以內(nèi)置和包括在計算系統(tǒng)10的每個組件中。每個存儲系統(tǒng)還可以包括結(jié)合在一起或作為獨立存儲器件16和/或CPU12工作的獨立和/或不同存儲器件16和 CPU12。
      [0034]圖2是示出按照本發(fā)明的計算機系統(tǒng)中的數(shù)據(jù)存儲系統(tǒng)的硬件結(jié)構(gòu)的示范性框圖。圖中示出了主計算機210,220,225,每一臺起作為數(shù)據(jù)存儲系統(tǒng)200的一部分進行數(shù)據(jù)處理的中央處理單元的作用。群集主機/節(jié)點(物理或虛擬設(shè)備)210,220和225可以是數(shù)據(jù)存儲系統(tǒng)200中完成本發(fā)明的目的的一個或多個新物理設(shè)備或邏輯設(shè)備。在一個實施例中,僅舉例來說,數(shù)據(jù)存儲系統(tǒng)200可以實現(xiàn)成IBM?ProtecTIER? ι酸復(fù)刪除系統(tǒng)TS7650G?。網(wǎng)絡(luò)連接260可以是光纖通道Fabric架構(gòu)、光纖通道點到點鏈路、以太網(wǎng)上光纖通道Fabric架構(gòu)或點到點鏈路、FICON或ESCON I/O接口、任何其它I/O接口類型、無線網(wǎng)絡(luò)、有線網(wǎng)絡(luò)、LAN、WAN、各向異性的、各向同性的、公用的卿,互聯(lián)網(wǎng))、專用的、或它們的組合體。主機210,220和225可以是局部的或分布在一個或多個地點中,可以裝備像光纖通道、FIC0N、ESC0N、以太網(wǎng)、光纖、無線、或同軸適配器那樣,到存儲控制器240的任何類型的Fabric架構(gòu)(或光纖通道)(未顯示在圖2中)或網(wǎng)絡(luò)適配器260。數(shù)據(jù)存儲系統(tǒng)200相應(yīng)地裝備適當Fabric架構(gòu)(未顯示在圖2中)或網(wǎng)絡(luò)適配器260以便進行通信。數(shù)據(jù)存儲系統(tǒng)200在圖2中被描繪成包含存儲控制器240和群集主機210,220和225。群集主機210,220和225可以包括群集節(jié)點。
      [0035]為了促進人們更清楚地理解本文所述的方法,存儲控制器240在圖2中被顯示成包括微處理器242、系統(tǒng)存儲器243和非易失性存儲(“NVS”)216的單個處理單元。要注意的是,在一些實施例中,存儲控制器240由多個處理單元組成,每一個帶有它們自己的處理器復(fù)合體和系統(tǒng)存儲器,并通過數(shù)據(jù)存儲系統(tǒng)200內(nèi)的專用網(wǎng)絡(luò)互連。存儲230 (在圖2中標為230a,230b和230η)可以由像存儲陣列那樣的一個或多個存儲設(shè)備組成,該存儲設(shè)備與存儲控制器240連接(通過存儲網(wǎng)絡(luò)),以及一個或多個群集主機210,220和225與每個存儲控制器240連接。
      [0036]在一些實施例中,包括在存儲230中的設(shè)備可以以循環(huán)架構(gòu)連接。存儲控制器240管理存儲230,并促進旨在用于存儲230的寫入和讀取請求的處理。存儲控制器240的系統(tǒng)存儲器243存儲處理器243可以為了執(zhí)行本發(fā)明的功能和方法步驟而加以存取以便如本文所述運行和管理存儲230的程序指令和數(shù)據(jù)。在一個實施例中,系統(tǒng)存儲器243包括執(zhí)行本文所述的方法和操作的操作軟件250,與其相聯(lián)系,或與其通信。如圖2所示,系統(tǒng)存儲器243還可以包括用于存儲230、本文也稱為“高速緩沖存儲器”、用于緩沖分別指寫入/讀取請求和它們的相關(guān)數(shù)據(jù)的“寫入數(shù)據(jù)”和“讀取數(shù)據(jù)”的高速緩存245,或與其通信。在一個實施例中,高速緩存245被分配在系統(tǒng)存儲器243外部的設(shè)備中,但微處理器242仍然可存取,并且除了進行如本文所述的操作之外,還可以用于提供抵抗數(shù)據(jù)損失的額外安全性。
      [0037]在一些實施例中,高速緩存245利用易失性存儲器和非易失性存儲器來實現(xiàn),經(jīng)由局部總線(未顯示在圖2中)與微處理器242耦合,以便提高數(shù)據(jù)存儲系統(tǒng)200的性能。包括在數(shù)據(jù)存儲控制器中的NVS216可由微處理器242存取,用于提供對如在其它圖形中所述的本發(fā)明的操作和執(zhí)行的額外支持。NAV216也可以稱為“永久”高速緩存、或“高速緩沖存儲器”,利用可以利用或可以不利用外部電力的非易失性存儲器來實現(xiàn),以便保留存儲在其中的數(shù)據(jù)。對于適合實現(xiàn)本發(fā)明的目的的任何用途,NVS可以存儲在高速緩存245中或與高速緩存245 —起存儲。在一些實施例中,像蓄電池那樣的備用電源(未顯示在圖2中)將足夠的電力供給NVS216,以便在數(shù)據(jù)存儲系統(tǒng)200斷電的情況下保留存儲在其中的數(shù)據(jù)。在某些實施例中,NVS216的容量小于等于高速緩存245的總?cè)萘俊?br> [0038]存儲230在物理上可以由像存儲陣列那樣的一個或多個存儲設(shè)備組成。存儲陣列是像硬盤那樣的單獨存儲設(shè)備的邏輯分組。在某些實施例中,存儲230由JBOD (簡單盤捆綁)陣列或RAID (獨立盤冗余陣列)陣列組成??梢赃M一步組合一批物理存儲陣列以形成將物理存儲與邏輯配置分離的隊列。可以將隊列中的存儲空間分配給定義規(guī)定在寫入/讀取請求中的存儲地點的邏輯卷。
      [0039]在一個實施例中,僅舉例來說,如圖2所示的存儲系統(tǒng)可以包括邏輯卷,或簡稱為“卷”,可以具有不同類型的分配。存儲230a,230b和230η被顯示成數(shù)據(jù)存儲系統(tǒng)200中的隊列,本文稱為隊列230a,230b和230η。隊列可以在數(shù)據(jù)存儲系統(tǒng)200本地,或可以處在物理遠地點。換句話說,本地存儲控制器可以與遠程存儲控制器連接,管理遠程地點上的存儲。隊列230a被顯示成由兩個完整卷234和236,以及一個部分卷232a構(gòu)成。隊列230b被顯示成具有另一個部分卷232b。因此,卷232跨過隊列230a和230b地分配。隊列230η被顯示成完全分配給卷238—也就是說,隊列230η指的是卷238的整個物理存儲。從上面的例子中可以懂得,一個隊列可以被配置成包括一個或多個部分和/或完整卷。卷和隊列可以進一步劃分成代表存儲的固定塊的所謂“軌道”。一個軌道因此與給定卷相聯(lián)系和可以賦予給定隊列。
      [0040]存儲控制器240可以包括重復(fù)數(shù)據(jù)刪除模塊255、相似索引模塊257 (例如,相似搜索結(jié)構(gòu))、和相似搜索模塊259。重復(fù)數(shù)據(jù)刪除模塊255、相似索引模塊257、和相似搜索模塊259可以結(jié)合存儲控制器240、主機210,220和225、和存儲設(shè)備230的每個組件來工作。重復(fù)數(shù)據(jù)刪除模塊255、相似索引模塊257、和相似搜索模塊259在結(jié)構(gòu)上可以是一個完全模塊或可以與其它單獨模塊相聯(lián)系和/或包括在其中。重復(fù)數(shù)據(jù)刪除模塊255、相似索引模塊257、和相似搜索模塊259也可以處在高速緩存245或其它組件中。
      [0041]存儲控制器240包括控制與主計算機210,220,225的光纖通道協(xié)議的控制開關(guān)241、控制所有存儲控制器240的微處理器242、存儲控制存儲控制器240的操作的微程序(操作軟件)250的非易失性控制存儲器243、用于控制的數(shù)據(jù)、臨時存儲(緩沖)數(shù)據(jù)的高速緩存245、和幫助高速緩存245讀取和寫入數(shù)據(jù)的緩沖器245,控制開關(guān)241用于控制協(xié)議以便控制到或從可能設(shè)置了信息的存儲設(shè)備230、重復(fù)數(shù)據(jù)刪除模塊255、相似索引模塊257、和相似搜索模塊259的數(shù)據(jù)傳送。可以利用本發(fā)明實現(xiàn)多個緩沖器244以幫助如本文所述的操作。在一個實施例中,群集主機/節(jié)點210,220,225和存儲控制器240通過作為接口的網(wǎng)絡(luò)適配器(可以是光纖通道)260,即,經(jīng)由叫做“Fabric架構(gòu)”的至少一個交換機連接。
      [0042]在一個實施例中,主計算機或一個或多個物理或虛擬設(shè)備210,220,225、和存儲控制器240通過作為接口的網(wǎng)絡(luò)(可以是光纖通道)260,S卩,經(jīng)由叫做“Fabric架構(gòu)”的至少一個交換機連接。在一個實施例中,將描述顯不在圖2中的系統(tǒng)的操作。微處理器242可以控制存儲器243來存儲來自主設(shè)備(物理或虛擬)210的命令信息和識別主設(shè)備(物理或虛擬)210的信息??刂崎_關(guān)241、緩沖器244、高速緩存245、操作軟件250、微處理器242、存儲器243、NVS216、重復(fù)數(shù)據(jù)刪除模塊255、相似索引模塊257、和相似搜索模塊259可以相互通信,并且可以是分開的或一個單獨組件。此外,像操作軟件250那樣的組件即使不是全部,也有幾個包括在存儲器243內(nèi)。對于適合本發(fā)明的用途,所示的設(shè)備內(nèi)的每個組件可以鏈接在一起并可以相互通信。如上所述,重復(fù)數(shù)據(jù)刪除模塊255、相似索引模塊257、和相似搜索模塊259也可以處在高速緩存245或其它組件中。這樣,可以根據(jù)存儲架構(gòu)和用戶偏好按需使用重復(fù)數(shù)據(jù)刪除模塊255、相似索引模塊257、和相似搜索模塊259。
      [0043]如上所述,在一個實施例中,將輸入數(shù)據(jù)劃分成大固定尺寸塊(例如,16MB),并對每個輸入大塊應(yīng)用相似搜索過程。相似搜索過程根據(jù)數(shù)據(jù)的輸入大塊,計算也可以稱為區(qū)分特征(DC)的緊縮相似元素,并在中心庫中搜索存儲在緊縮搜索結(jié)構(gòu)(即,索引)中的匹配相似元素。按數(shù)據(jù)的每個大塊存儲的相似元素的尺寸通常是32個字節(jié)(在大塊尺寸是幾兆字節(jié)的情況下),因此使存儲相似元素的搜索結(jié)構(gòu)非常緊縮,易于在內(nèi)部保留和搜索。
      [0044]通過對大塊的數(shù)據(jù)計算滾動散列值,S卩,以字節(jié)偏移量在字節(jié)的每個相繼窗口內(nèi)產(chǎn)生滾動散列值,然后將特定散列值和相關(guān)位置(未必是這些散列值的精確位置)選成大塊的相似元素來計算相似元素。
      [0045]本發(fā)明提供的一個重要方面和創(chuàng)新是在計算方面是昂貴操作的滾動散列值的單個線性計算用作計算大塊的相似元素(用于相似搜索)和大塊數(shù)據(jù)到摘要塊的分段(用于尋找精確匹配)兩者的基礎(chǔ)。將每個滾動散列值加入相似元素的計算中以及加入摘要塊分段的計算中。在加入兩種計算中之后,可以丟棄滾動散列值,因為存儲滾動散列值的需要降到最低程度或消失了。這種算法元素使效率顯著提高并使CPU消耗顯著降低,以及使性能得到相當大提聞。
      [0046]在一個實施例中,本發(fā)明的相似搜索過程產(chǎn)生兩種類型的輸出。第一種類型的輸出是中心庫中最相似參考數(shù)據(jù)的一組位置。第二種類型的輸出是輸入大塊的摘要,其由摘要塊的分段和與摘要塊相對應(yīng)的摘要值組成,其中摘要值是根據(jù)摘要塊的數(shù)據(jù)計算的。
      [0047]在一個實施例中,以與摘要在數(shù)據(jù)中的出現(xiàn)相對應(yīng)的形式將摘要存儲在中心庫中。給定中心庫中的位置和數(shù)據(jù)的一部分的尺寸,有效地確定與數(shù)據(jù)的那個區(qū)間相對應(yīng)的摘要在中心庫中的地點。然后將通過相似搜索過程產(chǎn)生的位置用于查找相似參考數(shù)據(jù)的所存儲摘要,并將這些參考摘要裝載到存儲器中。然后,不是比較數(shù)據(jù),而是將輸入摘要與裝載的參數(shù)摘要匹配。該匹配過程通過將參考摘要裝載到存儲器中摘要的緊縮搜索結(jié)構(gòu)中,然后對于每個輸入摘要,就那個摘要值的存在性查詢摘要的搜索結(jié)構(gòu)。摘要的搜索結(jié)構(gòu)中的搜索根據(jù)摘要值來進行。如果發(fā)現(xiàn)匹配,則確定在中心庫中找到與那個摘要相聯(lián)系的輸入數(shù)據(jù),并根據(jù)中心庫中參考摘要的位置確定中心庫中輸入數(shù)據(jù)的位置。在這種情況下,記錄輸入摘要涵蓋的輸入數(shù)據(jù)與匹配參考摘要涵蓋的中心庫數(shù)據(jù)之間的等同性。如果未發(fā)現(xiàn)匹配,則確定在中心庫中未找到與那個摘要相聯(lián)系的輸入數(shù)據(jù),將其記錄成新數(shù)據(jù)。在一個實施例中,相似搜索結(jié)構(gòu)是相似元素的全局搜索結(jié)構(gòu),摘要的存儲器搜索結(jié)構(gòu)是存儲器中摘要的局部搜索結(jié)構(gòu)。摘要的存儲器搜索結(jié)構(gòu)中的搜索通過摘要值來進行。
      [0048]圖3是例示在可以實現(xiàn)本發(fā)明的各個方面的重復(fù)數(shù)據(jù)刪除系統(tǒng)中在重復(fù)刪除處理中根據(jù)相似搜索進行摘要檢索的示范性方法300的流程圖。啟動方法300 (步驟302)。方法300將輸入數(shù)據(jù)劃分成大數(shù)據(jù)塊(步驟304)??梢詫⑤斎霐?shù)據(jù)劃分成固定尺寸大數(shù)據(jù)塊。方法300為每個大數(shù)據(jù)塊計算相似元素、摘要塊邊界、和相應(yīng)摘要值(步驟306)。方法300為每個大數(shù)據(jù)塊(可以是固定尺寸大數(shù)據(jù)塊)在搜索結(jié)構(gòu)(即,索引)中搜索匹配相似元素(步驟308)。定位中心庫(例如,數(shù)據(jù)的中心庫)中相似數(shù)據(jù)的位置(步驟310)。方法300將相似數(shù)據(jù)的位置用于定位和向存儲器裝載中心庫中的相似數(shù)據(jù)的所存儲摘要值和相應(yīng)所存儲摘要塊邊界(步驟312)。方法300將輸入數(shù)據(jù)的摘要值和相應(yīng)摘要塊邊界與所存儲摘要值和相應(yīng)所存儲摘要塊邊界匹配以尋找數(shù)據(jù)匹配(步驟314)。結(jié)束方法300 (步驟316)。
      [0049]圖4是例示在可以實現(xiàn)本發(fā)明的各個方面的重復(fù)數(shù)據(jù)刪除系統(tǒng)中在重復(fù)刪除處理中根據(jù)相似搜索進行摘要檢索的示范性可替代方法400的流程圖。啟動方法400 (步驟402)。方法400將輸入數(shù)據(jù)劃分成大塊(例如,將輸入數(shù)據(jù)劃分成大固定尺寸塊)(步驟404),以及對于輸入大數(shù)據(jù)塊,根據(jù)輸入大數(shù)據(jù)塊的數(shù)據(jù)計算滾動散列值、相似元素、摘要塊邊界、和摘要值(步驟406)。方法400在相似搜索結(jié)構(gòu)(S卩,索引)中搜索輸入大數(shù)據(jù)塊的相似元素(步驟408和410)。方法400確定是否存在足夠或充分數(shù)量的匹配相似元素(步驟412)。如果未找到足夠的匹配相似元素,則方法400確定在中心庫中未為輸入大數(shù)據(jù)塊找到相似數(shù)據(jù),將輸入大塊的數(shù)據(jù)存儲在中心庫中(步驟414),然后結(jié)束方法400 (步驟438)。如果找到足夠的相似元素,則對于在中心庫中找到的每個相似數(shù)據(jù)區(qū)間,方法400確定中心庫中每個相似數(shù)據(jù)區(qū)域的位置和大小(步驟416)。方法400定位中心庫中代表相似數(shù)據(jù)區(qū)間的摘要(步驟418)。方法400將這些摘要裝載到存儲器中摘要的搜索數(shù)據(jù)結(jié)構(gòu)中(步驟420)。方法400確定是否存在另外的相似數(shù)據(jù)區(qū)間(步驟422)。如果是,則方法400返回到步驟416。如果否,則方法400考慮輸入大數(shù)據(jù)塊的每個摘要(步驟424)。方法400確定在摘要的存儲器搜索結(jié)構(gòu)中是否存在摘要值(步驟426)。如果是,則方法400記錄摘要涵蓋的輸入數(shù)據(jù)與具有匹配摘要值的中心庫數(shù)據(jù)之間的等同性(步驟428)。如果否,則方法400記錄在中心庫中未找到摘要涵蓋的輸入數(shù)據(jù)(步驟430)。從步驟428和430兩者中,方法400確定是否存在輸入大數(shù)據(jù)塊的另外摘要(步驟432)。如果是,則方法400返回到步驟424。如果否,則方法400從相似搜索結(jié)構(gòu)中刪除中心庫中匹配數(shù)據(jù)的相似元素(步驟434和步驟410)。方法400將輸入大數(shù)據(jù)塊的相似元素加入相似搜索結(jié)構(gòu)中(步驟436)。結(jié)束方法400 (步驟438)。
      [0050]圖5是例示在可以實現(xiàn)本發(fā)明的各個方面的重復(fù)數(shù)據(jù)刪除系統(tǒng)中,使用滾動散列值的單個線性計算有效計算相似搜索值和摘要塊的邊界兩者的示范性方法500的流程圖。啟動方法500 (步驟502)。方法500將輸入數(shù)據(jù)劃分成大數(shù)據(jù)塊(步驟504)。該大數(shù)據(jù)塊可以是固定尺寸大數(shù)據(jù)塊。方法500在輸入數(shù)據(jù)中以字節(jié)偏移量考慮字節(jié)的每個相繼窗口(步驟506)。方法500確定是否存在字節(jié)的另外相繼窗口要處理(步驟508)。如果是,則方法500根據(jù)字節(jié)的相繼窗口的數(shù)據(jù)計算滾動散列值(步驟510)。方法500將滾動散列值貢獻給相似值的計算和摘要塊分段(即,摘要塊邊界)的計算(步驟512)。方法500丟棄滾動散列值(步驟514),并返回到步驟506。如果否,則方法500決定計算相似元素和摘要塊分段,得出輸入數(shù)據(jù)的最終相似元素和摘要塊分段(步驟516)。方法500根據(jù)摘要塊分段計算摘要值,其中對每個摘要塊指定相應(yīng)摘要值(步驟518)。將相似元素用于在中心庫中搜索相似數(shù)據(jù)(步驟520)。將該摘要塊和相應(yīng)摘要值用于與存儲在中心庫中的摘要塊和相應(yīng)摘要值匹配,以確定中心庫中與輸入數(shù)據(jù)相同的數(shù)據(jù)(步驟522)。結(jié)束方法500 (步驟524)。
      [0051]所屬【技術(shù)領(lǐng)域】的技術(shù)人員知道,本發(fā)明的各個方面可以實現(xiàn)為系統(tǒng)、方法或計算機程序產(chǎn)品。因此,本發(fā)明的各個方面可以具體實現(xiàn)為以下形式,即:完全的硬件實施方式、完全的軟件實施方式(包括固件、駐留軟件、微代碼等),或硬件和軟件方面結(jié)合的實施方式,這里可以統(tǒng)稱為“電路”、“模塊”或“系統(tǒng)”。此外,在一些實施例中,本發(fā)明的各個方面還可以實現(xiàn)為在一個或多個計算機可讀介質(zhì)中的計算機程序產(chǎn)品的形式,該計算機可讀介質(zhì)中包含計算機可讀的程序代碼。
      [0052]可以采用一個或多個計算機可讀介質(zhì)的任意組合。計算機可讀介質(zhì)可以是計算機可讀信號介質(zhì)或者計算機可讀存儲介質(zhì)。計算機可讀存儲介質(zhì)例如可以是一但不限于——電、磁、光、電磁、紅外線、或半導(dǎo)體的系統(tǒng)、裝置或器件,或者任意以上的組合。計算機可讀存儲介質(zhì)的更具體的例子(非窮舉的列表)包括:具有一個或多個導(dǎo)線的電連接、便攜式計算機盤、硬盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)、可擦式可編程只讀存儲器(EPROM或閃存)、光纖、便攜式緊湊盤只讀存儲器(CD-ROM)、光存儲器件、磁存儲器件、或者上述的任意合適的組合。在本文件中,計算機可讀存儲介質(zhì)可以是任何包含或存儲程序的有形介質(zhì),該程序可以被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用。
      [0053]計算機可讀介質(zhì)上包含的程序代碼可以用任何適當?shù)慕橘|(zhì)傳輸,包括一但不限于——無線、有線、光纜、RF等等,或者上述的任意合適的組合。可以以一種或多種程序設(shè)計語言的任意組合來編寫用于執(zhí)行本發(fā)明操作的計算機程序代碼,所述程序設(shè)計語言包括面向?qū)ο蟮某绦蛟O(shè)計語目一諸如Java、Smalltalk、C++等,還包括常規(guī)的過程式程序設(shè)計語言一諸如“C”語言或類似的程序設(shè)計語言。程序代碼可以完全地在用戶計算機上執(zhí)行、部分地在用戶計算機上執(zhí)行、作為一個獨立的軟件包執(zhí)行、部分在用戶計算機上部分在遠程計算機上執(zhí)行、或者完全在遠程計算機或服務(wù)器上執(zhí)行。在涉及遠程計算機的情形中,遠程計算機可以通過任意種類的網(wǎng)絡(luò)一包括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN) —連接到用戶計算機,或者,可以連接到外部計算機(例如利用因特網(wǎng)服務(wù)提供商來通過因特網(wǎng)連接)。
      [0054]下面將參照根據(jù)本發(fā)明實施例的方法、裝置(系統(tǒng))和計算機程序產(chǎn)品的流程圖和/或框圖描述本發(fā)明。應(yīng)當理解,流程圖和/或框圖的每個方框以及流程圖和/或框圖中各方框的組合,都可以由計算機程序指令實現(xiàn)。這些計算機程序指令可以提供給通用計算機、專用計算機或其它可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出一種機器,使得這些計算機程序指令在通過計算機或其它可編程數(shù)據(jù)處理裝置的處理器執(zhí)行時,產(chǎn)生了實現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的裝置。
      [0055]也可以把這些計算機程序指令存儲在計算機可讀介質(zhì)中,這些指令使得計算機、其它可編程數(shù)據(jù)處理裝置、或其他設(shè)備以特定方式工作,從而,存儲在計算機可讀介質(zhì)中的指令就產(chǎn)生出包括實現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的指令的制造品(article of manufacture)。也可以將計算機程序指令裝載到計算機、其它可編程數(shù)據(jù)處理裝置、或其它設(shè)備上使一系列操作步驟在計算機、其它可編程數(shù)據(jù)處理裝置、或其它設(shè)備上得到執(zhí)行,形成計算機實現(xiàn)過程,以便在計算機或其它可編程裝置上執(zhí)行的指令提供實現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的過程。
      [0056]圖中的流程圖和框圖顯示了根據(jù)本發(fā)明的多個實施例的系統(tǒng)、方法和計算機程序產(chǎn)品的可能實現(xiàn)的體系架構(gòu)、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段或代碼的一部分,所述模塊、程序段或代碼的一部分包含一個或多個用于實現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當注意,在有些作為替換的實現(xiàn)中,方框中所標注的功能也可以以不同于附圖中所標注的順序發(fā)生。例如,兩個連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或動作的專用的基于硬件的系統(tǒng)來實現(xiàn),或者可以用專用硬件與計算機指令的組合來實現(xiàn)。
      【權(quán)利要求】
      1.一種在計算環(huán)境下在使用處理器設(shè)備的重復(fù)數(shù)據(jù)刪除系統(tǒng)中有效計算相似搜索值和摘要塊的邊界兩者的方法,包含: 將輸入數(shù)據(jù)劃分成大數(shù)據(jù)塊; 對于每個大數(shù)據(jù)塊,計算一組滾動散列值;以及 將滾動散列值的單個線性掃描用于產(chǎn)生相似搜索值和摘要塊的邊界兩者。
      2.如權(quán)利要求1所述的方法,進一步包括以字節(jié)偏移量將每個滾動散列值與字節(jié)的相繼窗口對應(yīng)。
      3.如權(quán)利要求1所述的方法,進一步包括使用相似搜索值來搜索數(shù)據(jù)的中心庫中與輸入數(shù)據(jù)相似的數(shù)據(jù)。
      4.如權(quán)利要求1所述的方法,進一步包括使用摘要塊的邊界為每個大數(shù)據(jù)塊計算摘要值以便用于摘要匹配。
      5.如權(quán)利要求1所述的方法,進一步包括將每個滾動散列值用于貢獻給相似搜索值的計算和摘要塊的邊界的計算。
      6.如權(quán)利要求5所述的方法,進一步包括在貢獻給相似搜索值的計算和摘要塊的邊界的計算之后丟棄每個滾動散列值。
      7.如權(quán)利要求1所述的方法,進一步包括將輸入數(shù)據(jù)劃分成固定尺寸大數(shù)據(jù)塊。
      8.一種在計算環(huán)境的重復(fù)數(shù)據(jù)刪除系統(tǒng)中有效計算相似搜索值和摘要塊的邊界兩者的系統(tǒng),該系統(tǒng)包含: 重復(fù)數(shù)據(jù)刪除系統(tǒng); 與該重復(fù)數(shù)據(jù)刪除系統(tǒng)通信的計算環(huán)境中的中心庫; 可工作在計算存儲環(huán)境中以便控制該重復(fù)數(shù)據(jù)刪除系統(tǒng)的至少一個處理器設(shè)備,其中該至少一個處理器設(shè)備: 將輸入數(shù)據(jù)劃分成大數(shù)據(jù)塊, 對于每個大數(shù)據(jù)塊,計算一組滾動散列值,以及 將滾動散列值的單個線性掃描用于產(chǎn)生相似搜索值和摘要塊的邊界兩者。
      9.如權(quán)利要求8所述的系統(tǒng),其中該至少一個處理器設(shè)備以字節(jié)偏移量將每個滾動散列值與字節(jié)的相繼窗口對應(yīng)。
      10.如權(quán)利要求8所述的系統(tǒng),其中該至少一個處理器設(shè)備使用相似搜索值來搜索數(shù)據(jù)的中心庫中與輸入數(shù)據(jù)相似的數(shù)據(jù)。
      11.如權(quán)利要求8所述的系統(tǒng),其中該至少一個處理器設(shè)備使用摘要塊的邊界為每個大數(shù)據(jù)塊計算摘要值以便用于摘要匹配。
      12.如權(quán)利要求8所述的系統(tǒng),其中該至少一個處理器設(shè)備將每個滾動散列值用于貢獻給相似搜索值的計算和摘要塊的邊界的計算。
      13.如權(quán)利要求12所述的系統(tǒng),其中該至少一個處理器設(shè)備在貢獻給相似搜索值的計算和摘要塊的邊界的計算之后丟棄每個滾動散列值。
      14.如權(quán)利要求8所述的系統(tǒng),其中該至少一個處理器設(shè)備將輸入數(shù)據(jù)劃分成固定尺寸大數(shù)據(jù)塊。
      【文檔編號】G06F17/30GK104050233SQ201410098083
      【公開日】2014年9月17日 申請日期:2014年3月17日 優(yōu)先權(quán)日:2013年3月15日
      【發(fā)明者】S.H.阿基拉夫, L.阿羅諾維克, S.本-多爾, M.赫希, O.勒尼曼 申請人:國際商業(yè)機器公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1