專利名稱:通過服務(wù)器端去副本的有效數(shù)據(jù)傳輸?shù)姆椒ê拖到y(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明 一 般涉及去除冗余數(shù)據(jù),更具體地,涉及服務(wù)器端去副本(de-duplication)的減少數(shù)據(jù)傳輸。
背景技術(shù):
去副本將分區(qū)數(shù)據(jù)對象處理成更小的部分(稱為"區(qū)塊(chunk)")并在區(qū)塊目錄(存儲庫)中僅保留唯一的區(qū)塊。為了能夠重構(gòu)對象,存儲唯一區(qū)塊的哈希(hash)列表(索引或元數(shù)據(jù))代替原始對象。通常在由各種去副本產(chǎn)品的銷售商報告的去副本壓縮比中忽略哈希列表。即典型地,銷售商僅報告該唯一的區(qū)塊數(shù)據(jù)大小與原始大小。
當(dāng)使用較小的區(qū)塊時哈希列表相對較大。較小的區(qū)塊更可能進行匹配并可以用于實現(xiàn)更高的壓縮比。已知的去副本系統(tǒng)通過使用大區(qū)塊尺寸來嘗試減少索引元數(shù)據(jù)的重要性,因此接受了較低的總壓縮比。應(yīng)用于哈希列表的標(biāo)準(zhǔn)壓縮方法(LZ、 Gzip、壓縮、Bzip2等)也執(zhí)行不善。 為了減少從客戶到服務(wù)器的帶寬需求,必須在客戶端執(zhí)行(基于哈希)的去副本。客戶端數(shù)據(jù)去副本具有以下不足1)由于客戶端數(shù)據(jù)去副本需要更緊密地與現(xiàn)有的應(yīng)用和系統(tǒng)結(jié)合,所以難以部署;2)當(dāng)在客戶端數(shù)據(jù)去副本中使用哈希方法時難以直接比較,并且delta差分需要大的本地高速緩存,其在資源有限的客戶端中可能無法獲得。
當(dāng)客戶端數(shù)據(jù)去副本不可能時,可選的是在服務(wù)器執(zhí)行數(shù)據(jù)去副本。在服務(wù)器端數(shù)據(jù)去副本中,在從客戶端到服務(wù)器的鏈路中進行去副本之前傳輸數(shù)據(jù)。
發(fā)明內(nèi)容
本發(fā)明提供一種用于減少冗余數(shù)據(jù)塊(block)的方法和系統(tǒng)。所述方法包括將具有第一長度的第一數(shù)據(jù)塊編碼為具有第二長度的位流;將所述位流傳輸?shù)椒?wù)器;以及通過從第一多個數(shù)據(jù)塊和所述位流解碼所述第一數(shù)據(jù)塊來減少冗余數(shù)據(jù)塊,其中所述第一多個數(shù)據(jù)塊中的每個塊的長度等于所述第一長度。 在本發(fā)明的一個實施例中,使用Sl印ian-Wolf解碼器執(zhí)行所述解碼。在本發(fā)明的另外的實施例中,當(dāng)對于全部所述第一長度解碼成功時,對所述第一數(shù)據(jù)塊執(zhí)行去副本。在本發(fā)明的另外的實施例中,當(dāng)對于全部所述第一長度解碼不成功時,向客戶請求所述第一數(shù)據(jù)塊的進一步信息。本發(fā)明的這個實施例還提供將具有所述第一長度的所述第一數(shù)據(jù)塊編碼為具有所述第二長度和第三長度中之一的另一位流;將所述另一位流傳輸?shù)剿龇?wù)器;通過從第二多個數(shù)據(jù)塊和所述另一位流解碼所述第一數(shù)據(jù)塊來減少冗余數(shù)據(jù)塊,其中所述第二多個數(shù)據(jù)塊中的每個塊的長度等于所述第一長度。在本發(fā)明的另外的實施例中,通過所述解碼執(zhí)行去副本。在本發(fā)明的一個實施例中,對于預(yù)定沖突速率使用可變長度執(zhí)行所述解碼。在本發(fā)明的另外的實施例中,所述傳輸?shù)膫鬏斔俾士勺円詽M足預(yù)定沖突速率。 本發(fā)明另外提供一種用于減少冗余數(shù)據(jù)塊的系統(tǒng),包括客戶端設(shè)備,包括編碼器
4模塊,所述編碼器模塊被配置為將數(shù)據(jù)塊編碼為位流;服務(wù)器設(shè)備,包括解碼器模塊,所述 解碼器模塊被配置為使用所述服務(wù)器設(shè)備上的之前存儲的多個數(shù)據(jù)塊來解碼所述位流;以 及去副本模塊,耦合到所述解碼器模塊,所述去副本模塊被配置為對所述數(shù)據(jù)塊的成功解 碼部分進行去副本。 本發(fā)明的一個實施例還包括耦合到所述服務(wù)器設(shè)備的數(shù)據(jù)存儲器設(shè)備。本發(fā)明 的另外的實施例還包括至少另一客戶端設(shè)備。在本發(fā)明的另外的實施例中,所述編碼器模 塊執(zhí)行S1印ian-Wo 1 f編碼。在本發(fā)明另外的實施例中,所述解碼器模塊執(zhí)行S1印ian-Wo 1 f 解碼。在本發(fā)明的一個實施例中,所述去副本模塊還包括序列標(biāo)識符模塊,被配置為標(biāo)識數(shù)
據(jù)對象的區(qū)塊部分標(biāo)識符的序列;索引模塊,被配置為基于序列類型將索引應(yīng)用于區(qū)塊部
分的標(biāo)識;以及編碼模塊,被配置為使用第一編碼處理編碼第一重復(fù)序列,和使用第二編碼
處理編碼第二重復(fù)序列,其中避免了對區(qū)塊部分標(biāo)識符的重復(fù)序列的存儲。 本發(fā)明的另外的實施例提供一種用于在去副本之前減少冗余數(shù)據(jù)傳輸?shù)挠嬎銠C
程序產(chǎn)品。當(dāng)由處理器執(zhí)行時所述計算機程序產(chǎn)品將具有第一長度的第一數(shù)據(jù)塊編碼為
具有第二長度的位流;將所述位流傳輸至服務(wù)器;以及通過從第一多個數(shù)據(jù)塊和所述位流
解碼所述第一數(shù)據(jù)塊來減少冗余數(shù)據(jù)塊,其中所述第一多個數(shù)據(jù)塊中的每個塊的長度等于
所述第一長度。 在本發(fā)明的一個實施例中,使用Sl印ian-Wolf解碼器執(zhí)行所述解碼。在本發(fā)明的 另外的實施例中,當(dāng)對于全部所述第一長度解碼成功時,對所述第一數(shù)據(jù)塊執(zhí)行去副本。在 本發(fā)明的另外的實施例中,當(dāng)對于全部所述第一長度解碼不成功時,從客戶請求所述第一 數(shù)據(jù)塊的進一步信息。本發(fā)明的另外的實施例還使得計算機將具有所述第一長度的所述 第一數(shù)據(jù)塊編碼為具有所述第二長度和第三長度中之一的另一位流;將所述另一位流傳輸 到所述服務(wù)器;通過從第二多個數(shù)據(jù)塊和所述另一位流解碼所述第一數(shù)據(jù)塊來減少冗余數(shù) 據(jù)塊,其中所述第二多個數(shù)據(jù)塊中的每個塊的長度等于所述第一長度。在本發(fā)明的一個實 施例中,所述傳輸?shù)膫鬏斔俾士勺円詽M足預(yù)定沖突速率。 在本發(fā)明的另外的實施例中,提供一種方法,包括使用Sl印ian-Wolf編碼處理
將具有第一長度的第一數(shù)據(jù)塊編碼為具有第二長度的位流;將所述位流傳輸至服務(wù)器設(shè) 備;以及使用Sl印ian-Wolf解碼處理通過從第一多個數(shù)據(jù)塊和所述位流解碼所述第一數(shù) 據(jù)塊,在去副本之前減少冗余數(shù)據(jù)塊,其中所述第一多個數(shù)據(jù)塊中的每個塊的長度等于所 述第一長度。 在本發(fā)明的一個實施例中,當(dāng)對于全部所述第一長度解碼不成功時,從客戶端請 求所述第一數(shù)據(jù)塊的進一步信息。在本發(fā)明的另外的實施例中,所述方法還包括將具有所 述第一長度的所述第一數(shù)據(jù)塊編碼為具有所述第二長度和第三長度中之一的另一位流;將 所述另一位流傳輸?shù)剿龇?wù)器;通過從第二多個數(shù)據(jù)塊和所述另一位流解碼所述第一數(shù) 據(jù)塊來減少冗余數(shù)據(jù)塊,其中所述第二多個數(shù)據(jù)塊中的每個塊的長度等于所述第一長度。
本發(fā)明的另外的實施例提供了一種用于減少冗余數(shù)據(jù)塊的傳輸?shù)南到y(tǒng)。所述系統(tǒng) 包括客戶端設(shè)備,包括Sl印ian-Wolf編碼器模塊,所述Sl印ian-Wolf編碼器模塊被配置 為將數(shù)據(jù)塊編碼為位流;服務(wù)器設(shè)備,包括Sl印ian-Wolf解碼器模塊,所述Sl印ian-Wolf 解碼器模塊被配置為使用所述服務(wù)器設(shè)備上的之前存儲的多個數(shù)據(jù)塊來解碼所述位流;以 及去副本模塊,耦合到所述解碼器模塊,所述去副本模塊被配置為對所述數(shù)據(jù)塊的成功解
5碼部分進行去副本。 在本發(fā)明的一個實施例中,所述Sl印ian-Wolf解碼器被配置為在去副本之前減少冗余數(shù)據(jù)塊。 結(jié)合附圖,根據(jù)下面通過實例例示了本發(fā)明的原理的詳細的說明,本發(fā)明的其他方面和優(yōu)點將變得顯而易見。
結(jié)合附圖,參考以下詳細的說明,可以對本發(fā)明的特點、優(yōu)點以及優(yōu)選模式的應(yīng)用具有更充分的理解,其中 圖1例示了根據(jù)本發(fā)明的一個實施例的用于在去副本之前減少需要傳輸?shù)椒?wù)器設(shè)備的冗余數(shù)據(jù)的系統(tǒng); 圖2例示了根據(jù)本發(fā)明的一個實施例的用于在去副本之前減少需要傳輸?shù)椒?wù)器的冗余數(shù)據(jù)的處理的框圖;以及 圖3例示了根據(jù)本發(fā)明的一個實施例的如圖1所示的系統(tǒng)的去副本模塊。
具體實施例方式
為了例示本發(fā)明的一般原理而進行下述說明,其并不意指限制在此請求的創(chuàng)造性理念。此外,在此描述的具體特征可以結(jié)合在各個可能的組合和變形中的每個所描述的特征來使用。除非在此特別限定,所有術(shù)語將給出其最廣泛的可能解釋,包括說明書中隱含的含義以及本領(lǐng)域技術(shù)人員理解的和/或在詞典、條約等中定義的含義。 本說明可以公開用于在去副本之前減少冗余數(shù)據(jù)塊的幾個優(yōu)選實施例及其操作和/或組件部分。盡管為了清楚起見,在本發(fā)明的環(huán)境中根據(jù)去副本減少處理和設(shè)備來進行下面的描述,應(yīng)該緊記,在此的教導(dǎo)可以在所有類型的系統(tǒng)、設(shè)備和應(yīng)用中具有廣泛的應(yīng)用。 本發(fā)明提供了一種用于減少冗余數(shù)據(jù)塊的方法和系統(tǒng)。所述方法包括將具有第一長度的第一數(shù)據(jù)塊編碼為具有第二長度的位流;將所述位流傳輸?shù)椒?wù)器設(shè)備;以及通過從第一多個數(shù)據(jù)塊和所述位流解碼所述第一數(shù)據(jù)塊來減少冗余數(shù)據(jù)塊,其中所述第一多個數(shù)據(jù)塊中的每個塊的長度等于所述第一長度。 圖1例示了根據(jù)一個實施例的用于在去副本之前減少冗余數(shù)據(jù)塊傳輸?shù)南到y(tǒng)100的框圖。正如所示的那樣,系統(tǒng)100包括客戶端設(shè)備1到N 150,其包含編碼器模塊160。在本發(fā)明的一個實施例中,該編碼器使用Sl印ian-Wolf編碼(David Sl印ian和J. K. Wolf的〃 Noiseless Coding ofCorrelated Information Sources" ;IEEE Transactions onInformationTheory ;1973年7月;第471-480頁;vol. 19)。應(yīng)注意,Sl印ian-Wolf涉及彼此不進行通信的兩個或多個物理上分離的源的輸出的壓縮(分布式編碼)。這些源將他們的壓縮的輸出發(fā)送到中央點(例如,服務(wù)器設(shè)備110)以進行聯(lián)合解碼。本發(fā)明的其他實施例使用其他已知的分布式編碼技術(shù)以進行編碼和解碼。 客戶端設(shè)備150通過網(wǎng)絡(luò)、無線連接、有線連接等連接到服務(wù)器設(shè)備。該服務(wù)器設(shè)備包括解碼器模塊120和去副本模塊130。耦接到該服務(wù)器設(shè)備的是數(shù)據(jù)存儲器設(shè)備140。在本發(fā)明的一個實施例中,該解碼器模塊使用Sl印ian-Wolf解碼來執(zhí)行解碼。在本發(fā)明的一個實施例中,客戶端設(shè)備150包括數(shù)據(jù)源,例如上傳/下載文件(例如數(shù)據(jù)文件、視頻/音頻文件、流媒體等),其可以駐留在或非駐留在客戶端設(shè)備150。在本發(fā)明的實施例中,該數(shù)據(jù)源從諸如例如互聯(lián)網(wǎng)、局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)的網(wǎng)絡(luò)、盤、盤驅(qū)動、閃存卡、存儲器等下載。 在本發(fā)明的一個實施例中,編碼器模塊160使用長度n的Sl印ian-Wolf編碼器將具有長度n的二進制數(shù)據(jù)塊X編碼為m位的位流Z,其中m《n (m和n是大于0的整數(shù))??蛻舳嗽O(shè)備150將Z傳輸或路由到服務(wù)器設(shè)備110。服務(wù)器設(shè)備IIO使用與客戶端設(shè)備150的編碼器模塊160所用相同的Sl印ian-Wolf碼的解碼器模塊120,以從Z和在數(shù)據(jù)存儲器設(shè)備140上存儲的一組N個數(shù)據(jù)塊中解碼X,在該組中的每個數(shù)據(jù)塊具有長度n {Y (i)}_U=1} A M 。如果對于i = N的(Z, Y」)解碼是成功的,那么將X轉(zhuǎn)發(fā)到去副本模塊130以進行去副本。如果解碼失敗并且i = N,則服務(wù)器設(shè)備110發(fā)送關(guān)于X的更多信息的請求到客戶端設(shè)備150。當(dāng)客戶端設(shè)備150接收到關(guān)于X的更多信息的服務(wù)器設(shè)備110的請求時,編碼器模塊160使用相同的或不同的Sl印ian-Wolf碼來生成另外的m'位的位流Z',其中m+m'《n,并將Z'傳輸或路由到服務(wù)器設(shè)備110,以便解碼器120進行另外的解碼,其中對于該解碼,Z = (Z, Z')。在本發(fā)明的一個實施例中,指定m和Sl印ian-Wolf碼以滿足所要的沖突速率。 圖2例示了去副本模塊130。去副本模塊130執(zhí)行在數(shù)據(jù)存儲設(shè)備140中的解碼數(shù)據(jù)塊的去副本。在一個實施例中,元數(shù)據(jù)包括說明、參數(shù)、優(yōu)先級、日期、時間和關(guān)于區(qū)塊化的對象部分的其它相關(guān)信息。哈希是字符(例如元數(shù)據(jù))串到代表原始串的較短的固定長度值或鍵的轉(zhuǎn)換。在一個實施例中,哈希處理用于索引和檢索在數(shù)據(jù)存儲設(shè)備140中的區(qū)塊部分。應(yīng)注意,使用較短的哈希元數(shù)據(jù)發(fā)現(xiàn)區(qū)塊部分比使用原始的值發(fā)現(xiàn)區(qū)塊部分更快。在一個實施例中,哈希函數(shù)用于創(chuàng)建數(shù)據(jù)對象的區(qū)塊部分的代表值的索引版本。即,哈希函數(shù)用于索引原始的值,于是之后每次當(dāng)檢索到與所述值關(guān)聯(lián)的數(shù)據(jù)時就使用該函數(shù)。在一個實施例中,使用已知的哈希函數(shù),例如除數(shù)余數(shù)法(division-remainder method)、折疊法(folding)、進制轉(zhuǎn)換(radix transformation)、數(shù)字重排(digit rearrangement)等。在另外的實施例中,使用加密的哈希函數(shù),例如MD2,MD4,MD5,安全哈希算法(SHA)等。
在本發(fā)明的一個實施例中,去副本模塊130包括分區(qū)塊模塊141、搜索模塊142、序列標(biāo)識符模塊143、索引模塊144、編碼模塊145和去除模塊146。在本發(fā)明的另外的實施例中,包括在去副本模塊130中的各個模塊可以是軟件處理、硬件模塊或軟件和硬件的組合。在本發(fā)明的一個實施例中,去副本模塊130減少在去副本中的區(qū)塊部分的索引標(biāo)識符,其中這些標(biāo)識符是對象的元數(shù)據(jù)哈希。分區(qū)塊模塊141被配置為根據(jù)從數(shù)據(jù)分區(qū)塊器接收的區(qū)塊創(chuàng)建更小的區(qū)塊部分。在本發(fā)明的另外的實施例中,分區(qū)塊模塊141通過以下中的一個或多個來對較大的區(qū)塊的輸入流執(zhí)行分區(qū)塊以便將區(qū)塊部分的輸入流減少到更小的區(qū)塊部分固定大小分區(qū)塊、滑動窗分區(qū)塊、可變大小分區(qū)塊、內(nèi)容從屬分區(qū)塊。
在本發(fā)明的一個實施例中,搜索模塊142對數(shù)據(jù)存儲器設(shè)備140進行搜索以發(fā)現(xiàn)塊針對最初目的為數(shù)據(jù)存儲器設(shè)備140的區(qū)塊的匹配區(qū)塊。在本發(fā)明的一個實施例中,序列標(biāo)識符模塊143進行操作以標(biāo)識數(shù)據(jù)對象的區(qū)塊部分標(biāo)識符的序列。根據(jù)本發(fā)明的一個實施例,索引模塊144進行操作以基于區(qū)塊重復(fù)序列類型將索引應(yīng)用于區(qū)塊部分的標(biāo)識。在本發(fā)明的另外的實施例中,所存儲的區(qū)塊部分的標(biāo)識(例如哈希元數(shù)據(jù))包括以時間發(fā)生順序鏈接新增的區(qū)塊部分的標(biāo)識的時序指針。 在本發(fā)明的一個實施例中,編碼模塊145連接到索引模塊144,編碼模塊145操作 以使用第一編碼處理來編碼第一重復(fù)區(qū)塊序列,以及使用第二編碼處理來編碼第二重復(fù)區(qū) 塊序列,從存儲器中去除區(qū)塊部分標(biāo)識符的重復(fù)序列以減少存儲器使用。根據(jù)本發(fā)明的一 個實施例,第二編碼處理標(biāo)識了區(qū)塊部分的第一重復(fù)序列的第一外觀。在本發(fā)明的另外的 實施例中,第二編碼處理包括從重復(fù)區(qū)塊部分的第一外觀到重復(fù)區(qū)塊部分的第二外觀的距 離偏移。在本發(fā)明的實施例中,基于重復(fù)區(qū)塊標(biāo)識的長度來分配序列類型。在本發(fā)明的一 個實施例中,可選的去除模塊146從數(shù)據(jù)存儲器設(shè)備140除去重復(fù)區(qū)塊部分以減少在數(shù)據(jù) 存儲器設(shè)備140中所存儲的區(qū)塊部分。 在本發(fā)明的一個實施例中,要從客戶端設(shè)備150傳輸或路由到服務(wù)器設(shè)備110的 數(shù)據(jù)量的減少使得傳輸時間得到了減少和/或降低了帶寬需求。由于編碼器模塊160包括 Sl印ian-Wolf編碼,其在實現(xiàn)上是簡單的、在計算上是有效的,本發(fā)明的實施例可以容易地 集成到現(xiàn)有的應(yīng)用和系統(tǒng)中。 相對于非哈希值服務(wù)器端去副本來說,使用本發(fā)明的實施例的一個優(yōu)點是與在 使用去副本有效情況下的無損耗壓縮相比顯著減少要傳輸?shù)臄?shù)據(jù)量。對于具有在服務(wù)器存 儲的復(fù)制副本的數(shù)據(jù),可以在一個回合中使用Sl印ian-Wolf解碼來執(zhí)行去副本,然而使用 無損耗壓縮則必須在兩個回合中依次執(zhí)行解壓縮和去副本。相對于哈希值服務(wù)器端數(shù)據(jù) 去副本來說,使用本發(fā)明的實施例的其他優(yōu)點是在當(dāng)數(shù)據(jù)的完全副本在服務(wù)器不可用而 存在其細微改變時(在這種情況下,不能發(fā)現(xiàn)要傳輸?shù)臄?shù)據(jù)的哈希值的準(zhǔn)確匹配,因此,需 要傳輸原始的數(shù)據(jù)),在仍然可以實現(xiàn)重點壓縮的意義上,本發(fā)明的實施例相對于哈希值服 務(wù)器端數(shù)據(jù)去副本更靈活和高效[對于Sl印ian-Wolf情況,如果所存儲的未壓縮數(shù)據(jù)與 Sl印ian-Wolf解碼數(shù)據(jù)之間的區(qū)別很小,則可以在解碼之后執(zhí)行第二層級去副本以進一步 壓縮所存儲的數(shù)據(jù)];與在有限范圍內(nèi)僅發(fā)送哈希值相比,本發(fā)明的實施例允許靈活調(diào)整 傳輸速率以滿足所要的沖突速率。 圖3例示了用于減少從客戶端設(shè)備到服務(wù)器設(shè)備的數(shù)據(jù)傳輸?shù)奶幚?00的框圖。 處理300以框310開始,其中在客戶端設(shè)備上,使用Sl印ian-Wolf解碼器將具有長度n的 數(shù)據(jù)塊X編碼為m位的位流Z。在框320,將位流Z傳輸或路由至服務(wù)器設(shè)備。在框330,通 過將i設(shè)置為一 ("1")初始化Sl印ian-Wolf解碼器,其中i是用于解碼位流Z中的第i 個數(shù)據(jù)塊的索引。在框340,對于第i個數(shù)據(jù)塊(其為當(dāng)前i = 1),將位流Z解碼為X。
框350確定是否成功解碼第i個數(shù)據(jù)塊。如果成功解碼所有數(shù)據(jù)塊(即i = 1至 n),則處理300繼續(xù)進行到框355,其中在服務(wù)器設(shè)備上對于解碼數(shù)據(jù)塊X執(zhí)行數(shù)據(jù)去副本。 如果沒有成功解碼第i個數(shù)據(jù)塊,則處理300繼續(xù)到框360。在框360,確定i是否小于n(i < n)。如果i小于n,則處理300繼續(xù)到框365,其中使i增加1 (i = i+l)并且處理300繼 續(xù)進行到框340。如果確定i不小于1,則處理300繼續(xù)到框370,其中從服務(wù)器設(shè)備發(fā)送關(guān) 于數(shù)據(jù)塊X的更多信息的請求到客戶端設(shè)備。處理300繼續(xù)到框380,其中客戶端設(shè)備使用 相同或不同的Sl印ian-Wolf編碼器將具有長度為n的數(shù)據(jù)塊X編碼為在客戶端設(shè)備上的 m'位的位流Z'(其中m+m'《n)。于是設(shè)置Z為(Z, Z'),處理300繼續(xù)進行到框320。 處理300繼續(xù)進行直到恢復(fù)數(shù)據(jù)塊X以進行服務(wù)器設(shè)備上的去副本。 本發(fā)明的實施例可以使用完全硬件實現(xiàn)、完全軟件實現(xiàn)或包括硬件和軟件元素的實現(xiàn)的形式。在優(yōu)選的實施例中,本發(fā)明以軟件實現(xiàn),其包括但是不限于固件、常駐軟件、微碼等。 此外,本發(fā)明的實施例可以使用從計算機可用或計算機可讀介質(zhì)可訪問的計算機 程序產(chǎn)品,該介質(zhì)提供程序代碼以通過或連接于計算機、處理設(shè)備、任何指令執(zhí)行系統(tǒng)使 用。為了說明的目的,計算機可用或計算機可讀介質(zhì)可以是可以包含、存儲、通信、或傳輸該 程序的設(shè)備以通過或連接于指令執(zhí)行系統(tǒng)、設(shè)備或組織使用。 該介質(zhì)可以是電子的、磁性的、光學(xué)的或半導(dǎo)體系統(tǒng)(或設(shè)備或裝置)。計算機可 讀介質(zhì)的實例包括但是不限于半導(dǎo)體或固態(tài)存儲器、磁帶、可移動計算機磁盤、RAM、只讀存 儲器(R0M)、剛性磁盤、光學(xué)盤等。光學(xué)盤的現(xiàn)有的實例包括光盤只讀存儲器(CD-ROM)、光 盤讀/寫(CD-R/W)和DVD。 1/0設(shè)備(包括但不限于鍵盤、顯示器、定點設(shè)備等)可以直接連接到該系統(tǒng),也可
以通過中間控制器連接到該系統(tǒng)。網(wǎng)絡(luò)適配器也可以連接到該系統(tǒng)以支持該數(shù)據(jù)處理系統(tǒng)
通過中間的私有或公共網(wǎng)絡(luò)連接到其它數(shù)據(jù)處理系統(tǒng)或遠程打印機或存儲器設(shè)備。調(diào)制解
調(diào)器、有線調(diào)制解調(diào)器和以太網(wǎng)卡僅僅是一些當(dāng)前可用的網(wǎng)絡(luò)適配器的類型。 在上述說明中,闡述了許多具體細節(jié)。然而,應(yīng)理解,可以實現(xiàn)本發(fā)明的實施例而
無需這些具體細節(jié)。例如,可以代替熟知的等同組件和部件以代替在此描述的細節(jié),類似
的,可以代替熟知的等同技術(shù)以代替在此公開的特定技術(shù)。在其它實例中,沒有詳細示出熟
知的結(jié)構(gòu)和技術(shù)以避免使對本說明的理解變得不清楚。 在說明書中提及的"實施例"、"一個實施例"、"一些實施例"或"其它實施例"指結(jié) 合實施例描述的具體特征、結(jié)構(gòu)或特性包括在至少一些實施例中,但是不必是所有實施例。 出現(xiàn)的"實施例"、"一個實施例"、"一些實施例"的不必都指相同的實施例。如果說明書陳述 "可以"、"可"或"能夠"包括組件、特征、結(jié)構(gòu)或特性,則不必要求包括該特定的組件、特征、 結(jié)構(gòu)或特性。如果說明書或權(quán)利要求書涉及"一個"部件,其不是指僅存在一個部件。如果 說明書或權(quán)利要求書涉及"一個附加的"部件,這并不排除存在多于一個的附加的部件。
雖然在附圖中描述和示出了 一些示例性實施例,但是應(yīng)理解,這樣的實施例僅僅 是例示而非對本發(fā)明的廣泛性進行限制,以及本發(fā)明并不限于所示的和描述的具體結(jié)構(gòu)和 排列,因為本領(lǐng)域技術(shù)人員可以想到各種其它改變。
9
權(quán)利要求
一種方法,包括將具有第一長度的第一數(shù)據(jù)塊編碼為具有第二長度的位流;將所述位流傳輸?shù)椒?wù)器;以及通過從第一多個數(shù)據(jù)塊和所述位流解碼所述第一數(shù)據(jù)塊來減少冗余數(shù)據(jù)塊,其中所述第一多個數(shù)據(jù)塊中的每個塊的長度等于所述第一長度。
2. 如權(quán)利要求1所述的方法,其中使用Sl印ian-Wolf解碼器執(zhí)行所述解碼。
3. 如權(quán)利要求1所述的方法,其中當(dāng)對于全部所述第一長度成功解碼時,對所述第一 數(shù)據(jù)塊執(zhí)行去副本。
4. 如權(quán)利要求1所述的方法,其中當(dāng)對于全部所述第一長度解碼不成功時,從客戶端 請求所述第一數(shù)據(jù)塊的進一步信息。
5. 如權(quán)利要求4所述的方法,還包括將具有所述第一長度的所述第一數(shù)據(jù)塊編碼為具有所述第二長度和第三長度中之一 的另一位流;將所述另一位流傳輸?shù)剿龇?wù)器;通過從第二多個數(shù)據(jù)塊和所述另一位流解碼所述第一數(shù)據(jù)塊來減少冗余數(shù)據(jù)塊,其中 所述第二多個數(shù)據(jù)塊中的每個塊的長度等于所述第一長度。
6. 如權(quán)利要求1所述的方法,其中通過所述解碼執(zhí)行去副本。
7. 如權(quán)利要求1所述的方法,其中對于預(yù)定沖突速率使用可變長度執(zhí)行所述解碼。
8. 如權(quán)利要求1所述的方法,其中所述傳輸?shù)膫鬏斔俾士勺円詽M足預(yù)定沖突速率。
9. 一種用于減少冗余數(shù)據(jù)塊的系統(tǒng),包括客戶端設(shè)備,包括編碼器模塊,所述編碼器模塊被配置為將數(shù)據(jù)塊編碼為位流; 服務(wù)器設(shè)備,包括解碼器模塊,所述解碼器模塊被配置為使用所述服務(wù)器設(shè)備上的之前存儲的多個數(shù)據(jù)塊來解碼所述位流;以及去副本模塊,耦合到所述解碼器模塊,所述去副本模塊被配置為對所述數(shù)據(jù)塊的成功解碼部分進行去副本。
10. 如權(quán)利要求9所述的系統(tǒng),還包括耦合到所述服務(wù)器設(shè)備的數(shù)據(jù)存儲器設(shè)備。
11. 如權(quán)利要求9所述的系統(tǒng),還包括至少另一客戶端設(shè)備。
12. 如權(quán)利要求9所述的系統(tǒng),其中所述編碼器模塊執(zhí)行Sl印ian-Wolf編碼。
13. 如權(quán)利要求9所述的系統(tǒng),其中所述解碼器模塊執(zhí)行Sl印ian-Wolf解碼。
14. 一種計算機系統(tǒng),包括用于執(zhí)行如權(quán)利要求1-8中任一項的所述的方法的裝置。
15. —種包括計算機可用介質(zhì)的計算機程序制品,所述介質(zhì)包括計算機可讀程序,其中 當(dāng)在計算機上執(zhí)行所述計算機可讀程序時使得所述計算機執(zhí)行將具有第一長度的第一數(shù)據(jù)塊編碼為具有第二長度的位流; 將所述位流傳輸至服務(wù)器;以及通過從第一多個數(shù)據(jù)塊和所述位流解碼所述第一數(shù)據(jù)塊來減少冗余數(shù)據(jù)塊,其中所述 第一多個數(shù)據(jù)塊中的每個塊的長度等于所述第一長度。
16. —種方法,包括使用Sl印ian-Wolf編碼處理將具有第一長度的第一數(shù)據(jù)塊編碼為具有第二長度的位流;將所述位流傳輸至服務(wù)器設(shè)備;以及使用Sl印ian-Wolf解碼處理通過從第一多個數(shù)據(jù)塊和所述位流解碼所述第一數(shù)據(jù) 塊,在去副本之前減少冗余數(shù)據(jù)塊,其中所述第一多個數(shù)據(jù)塊中的每個塊的長度等于所述第一長度。
17. 如權(quán)利要求16所述的方法,其中當(dāng)對于全部所述第一長度解碼不成功時,從客戶 端請求所述第一數(shù)據(jù)塊的進一步信息。
18. 如權(quán)利要求17所述的方法,還包括將具有所述第一長度的所述第一數(shù)據(jù)塊編碼為具有所述第二長度和第三長度中之一 的另一位流;將所述另一位流傳輸?shù)剿龇?wù)器;通過從第二多個數(shù)據(jù)塊和所述另一位流解碼所述第一數(shù)據(jù)塊來減少冗余數(shù)據(jù)塊,其中 所述第二多個數(shù)據(jù)塊中的每個塊的長度等于所述第一長度。
19. 一種用于減少冗余數(shù)據(jù)塊的傳輸?shù)南到y(tǒng),包括客戶端設(shè)備,包括Sl印ian-Wolf編碼器模塊,所述Sl印ian-Wolf編碼器模塊被配置為 將數(shù)據(jù)塊編碼為位流;服務(wù)器設(shè)備,包括Sl印ian-Wolf解碼器模塊,所述Sl印ian-Wolf解碼器模塊被配置為 使用所述服務(wù)器設(shè)備上的之前存儲的多個數(shù)據(jù)塊來解碼所述位流;以及去副本模塊,耦合到所述解碼器模塊,所述去副本模塊被配置為對所述數(shù)據(jù)塊的成功 解碼部分進行去副本。
20. 如權(quán)利要求19所述的系統(tǒng),其中所述Sl印ian-Wolf解碼器被配置為在去副本之前 減少冗余數(shù)據(jù)塊。
全文摘要
本發(fā)明涉及通過服務(wù)器端去副本的有效數(shù)據(jù)傳輸?shù)姆椒ê拖到y(tǒng)。在本發(fā)明實施例中公開一種用于減少冗余數(shù)據(jù)塊的方法和系統(tǒng)。所述方法包括將具有第一長度的第一數(shù)據(jù)塊編碼為具有第二長度的位流;將所述位流傳輸?shù)椒?wù)器;以及通過從第一多個數(shù)據(jù)塊和所述位流解碼所述第一數(shù)據(jù)塊來減少冗余數(shù)據(jù)塊,其中所述第一多個數(shù)據(jù)塊中的每個塊的長度等于所述第一長度。
文檔編號H04L29/06GK101741838SQ20091022244
公開日2010年6月16日 申請日期2009年11月13日 優(yōu)先權(quán)日2008年11月18日
發(fā)明者D·何, V·舍伊寧 申請人:國際商業(yè)機器公司