国产精品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>

      一種最小存儲再生碼的編碼和存儲節(jié)點修復方法

      文檔序號:7790591閱讀:401來源:國知局
      一種最小存儲再生碼的編碼和存儲節(jié)點修復方法
      【專利摘要】本發(fā)明涉及一種最小存儲再生碼的編碼方法,包括如下步驟:得到n個第一數(shù)據(jù)包,表示為Si,i=1,2,...,n;設置n個存儲節(jié)點及正整數(shù)k,使n=2k;分別以所述第i個第一數(shù)據(jù)包的下一個第一數(shù)據(jù)包為起點,對其隨后連續(xù)k個第一數(shù)據(jù)包的數(shù)據(jù)頭或尾部加入設定數(shù)量的比特0,得到k個第二數(shù)據(jù)包,運算所述k個第二數(shù)據(jù)包得到一個編碼數(shù)據(jù)包;重復上述步驟得到n個編碼數(shù)據(jù)包,表示為Pi,i=1,2,...,n;將第i個第一數(shù)據(jù)包和以該第一數(shù)據(jù)包的下一個第一數(shù)據(jù)包為起點得到的編碼數(shù)據(jù)包存儲在第i個存儲節(jié)點。本發(fā)明還涉及一種修復上述編碼的存儲節(jié)點的方法。實施本發(fā)明的最小存儲再生碼的編碼和存儲節(jié)點修復方法,具有以下有益效果:其運算簡單、開銷小、修復帶寬較小。
      【專利說明】一種最小存儲再生碼的編碼和存儲節(jié)點修復方法
      【技術領域】
      [0001]本發(fā)明涉及分布式存儲領域,更具體地說,涉及一種最小存儲再生碼的編碼和存儲節(jié)點修復方法。
      【背景技術】
      [0002]隨著計算機網(wǎng)絡應用的迅速發(fā)展,網(wǎng)絡信息數(shù)據(jù)量變得越來越大,海量信息存儲變得尤為重要。傳統(tǒng)意義的文件存儲系統(tǒng)已經(jīng)不能滿足現(xiàn)有應用的大容量、高可靠性、高性能等方面的要求,分布式存儲系統(tǒng)以其高效的可擴展性和高可用性成為存儲海量數(shù)據(jù)的有效系統(tǒng)。然而在分布式存儲系統(tǒng)中,存儲數(shù)據(jù)的節(jié)點是不可靠的。為了能夠由不可靠的存儲節(jié)點提供可靠的存儲服務,需要在存儲系統(tǒng)中引入冗余。引入冗余最簡單的方法就是對原始數(shù)據(jù)直接備份,直接備份雖然簡單但是其存儲效率和系統(tǒng)可靠性不高,而通過編碼引入冗余的方法可以提高其存儲效率。在目前的存儲系統(tǒng)中,編碼方法一般采用MDS碼(Maximum Distance Separable最大距離可分離),MDS碼可以達到存儲空間效率的最佳,一個(n,k)MDS糾錯碼需要將一個原始文件分成k個大小相等的模塊,并通過線性編碼生成η個互不相關的編碼模塊,由η個節(jié)點存儲不同的模塊,并滿足MDS屬性(η個編碼模塊中任意k個就可重構原始文件)。這種編碼技術在提供有效的網(wǎng)絡存儲冗余中占有重要的地位,特別適合存儲大的文件以及檔案數(shù)據(jù)備份應用。
      [0003]在分布式存儲系統(tǒng)中,把大小為B的數(shù)據(jù)存儲在η個存儲節(jié)點中,每個存儲節(jié)點存儲的數(shù)據(jù)大小為α。數(shù)據(jù)接收者只需要連接并下載η個存儲節(jié)點中的任意k個存儲節(jié)點的數(shù)據(jù)即可恢復出原始數(shù)據(jù)B,這一過程稱為數(shù)據(jù)重建過程。RS (Reed-Solomon里德-所羅門)碼是滿足MDS碼特性的一種碼字。當存儲系統(tǒng)中的存儲節(jié)點失效時,為了保持存儲系統(tǒng)的冗余量,需要恢復該失效節(jié)點存儲的數(shù)據(jù)并將該數(shù)據(jù)存儲在新節(jié)點中,該過程稱為修復過程。然而,在修復過程中,RS碼首先需要下載k個存儲節(jié)點的數(shù)據(jù)并恢復出原始數(shù)據(jù),之后為新節(jié)點編碼出失效節(jié)點的存儲數(shù)據(jù)。為了恢復一個存儲節(jié)點的數(shù)據(jù)而解碼出整個原始數(shù)據(jù)顯然對傳輸帶寬是一種浪費。`
      [0004]然而,系統(tǒng)節(jié)點失效或者文件損耗,系統(tǒng)的冗余度會隨著時間而逐漸減小,因此需要一種機制來保證系統(tǒng)的冗余。文獻[R.Rodrigues and B.Liskov, “HighAvailability in DHTs:Erasure Coding vs.Replication,,,Workshop on Peer-to-PeerSystems (IPTPS) 2005.]中提出的EC碼(Erasure Codes糾錯碼),該碼在存儲開銷上是比較有效的,然而支持冗余恢復所需要的通信開銷也比較大。圖1表示只要系統(tǒng)中有效節(jié)點數(shù)d ^ k,就可以從現(xiàn)有節(jié)點中獲得原始文件;圖2表示恢復失效節(jié)點所存儲內(nèi)容的過程。從圖1和圖2中可以看出整個恢復過程是:1)首先從系統(tǒng)中的k個存儲節(jié)點中下載數(shù)據(jù)并重構原始文件;2)由原始文件再重新編碼出新的模塊,存儲在新節(jié)點上。該恢復過程表明修復任何一個失效節(jié)點所需要的網(wǎng)絡負載至少為k個節(jié)點所存儲的內(nèi)容。
      [0005]同時,為了降低修復過程中所使用的帶寬,文獻[A.G.Dimakis, P.G.Godfrey,Μ.J.Wainwright,K.Ramchandran,“Network coding for distributed storage systems,,,IEEE Proc.1NFOCOM, Anchorage, Alaska, May2007.]利用網(wǎng)絡編碼理論的思想提出了再生碼(RGC, Regenerating Codes), RGC碼也滿足MDS碼特性。再生碼的修復過程中,新節(jié)點需要在剩下的存儲節(jié)點中連接d個存儲節(jié)點并分別從這d個存儲節(jié)點中下載P大小的數(shù)據(jù),所以RGC碼的修復帶寬為。同時給出了 RGC碼功能修復的模型并提出了 RGC碼的兩類最佳碼:最小存儲再生碼(MSR, Minimum - storage Regenerating)和最小修復帶寬再生碼(MBR, Minimum - bandwidth Regenerating)。RGC 碼的修復帶寬優(yōu)于 RS 碼,但 RGC 的修復過程需要連接d(d>k)個存儲節(jié)點(d稱為修復節(jié)點)。另外,修復節(jié)點需要對其存儲的數(shù)據(jù)執(zhí)行隨機線性網(wǎng)絡編碼操作。為了滿足所有編碼包是相互獨立的,RGC碼的運算需要在一個較大的有限域內(nèi)。
      [0006]專利PCT/CN2012/083174中提出了一種實用射影自修復碼的編碼、數(shù)據(jù)重構及修復方法。實用射影自修復碼(PPSRC,Practical Projective Self-repairing Codes)同樣具有自修復碼的兩個典型屬性:丟失的編碼模塊可從其他編碼模塊中下載少于整個文件的數(shù)據(jù)進行修復;丟失的編碼模塊從一個給定數(shù)的模塊中修復,該給定數(shù)只與丟失了多少模塊數(shù)有關,而與具體哪些模塊丟失無關。這些屬性使得修復一個丟失模塊的負載比較低,另外由于系統(tǒng)中各節(jié)點地位相同、負載均衡使得在網(wǎng)絡的不同位置,可以獨立并發(fā)地修復不同丟失模塊。
      [0007]該碼字除了滿足以上條件外還有以下特性:當一個節(jié)點失效時,可以有(n -1)/2對修復節(jié)點可供選擇;當有(n -1)/2個節(jié)點同時失效時,我們?nèi)匀豢梢允褂檬O碌?n+1)/2個節(jié)點中的2兩個節(jié)點來修復失效節(jié)點。
      [0008]PPSRC碼的編碼以及自修復過程僅涉及異或運算,并不像一般自修復碼,其編碼需要計算多項式相對較復雜,PPSRC碼的計算復雜度小于PSRC碼(Pro jectiveSelf-repairing Codes射影自修復碼)。同時,PPSRC碼的修復帶寬和修復節(jié)點優(yōu)于MSR碼。PPSRC碼的冗余是可控的,適用于一般的存儲系統(tǒng),PPSRC碼的重建帶寬達到最佳。
      [0009]總而言之,PPSRC碼有效地減少了數(shù)據(jù)存儲節(jié)點,降低了系統(tǒng)數(shù)據(jù)存儲的冗余度,很大程度上提高了實用自修復碼的使用價值。
      [0010]然而,PPSRC碼也存在一定的不足之處。首先,PPSRC碼的編解碼過程較為復雜,有限域及其子域的劃分運算量相對較大,并且數(shù)據(jù)重構過程比較繁瑣;其次,在PPSRC碼中,編碼模塊是不可再分的,因此修復編碼模塊也必須是不可再分的。同時,PPSRC碼的整個編解碼過程運算復雜度較高,冗余量雖然可控但其實還是相當大的。通常PPSRC碼存儲節(jié)點數(shù)選取非常大,對于相對小一些的文件來說就顯得完全沒有必要了。這些均增加了 PPSRC碼在實際分布式存儲系統(tǒng)中實施難度,該射影自修復碼通用性不強。
      [0011]專利PCT/CN2012/071177中提出了一種RGC碼,該方案中修復一個丟失的編碼模塊只需要一小部分的數(shù)據(jù)量,而不需要重構整個文件。RGC碼應用線性網(wǎng)絡編碼思想,利用NC (Network Coding)屬性(即最大流最小割)來改善修復一個編碼模塊所需要的開銷,從網(wǎng)絡信息論上可以證明用和丟失模塊相同數(shù)據(jù)量的網(wǎng)絡開銷就可修復丟失模塊。
      [0012]RGC碼主要思想還是利用MDS屬性,當網(wǎng)絡中一些存儲節(jié)點失效,也就相當于存儲數(shù)據(jù)丟失,需要從現(xiàn)有有效節(jié)點中下載信息來使得丟失的數(shù)據(jù)修復丟失的數(shù)據(jù)模塊,并將其存儲在新的節(jié)點上。隨著時間的推移,很多原始節(jié)點可能都會失效,一些再生的新節(jié)點可以在自身再重新執(zhí)行再生過程,繼而生成更多的新節(jié)點。因此再生過程需要確保兩點:1)失效的節(jié)點間是相互獨立的,再生過程可以循環(huán)遞推;2)任意k個節(jié)點就足夠恢復原始文件。
      [0013]圖2描述了當一個節(jié)點失效后的再生過程。分布式系統(tǒng)中η個存儲節(jié)點各自存儲α個數(shù)據(jù),當有一個節(jié)點失效,新節(jié)點通過從其他d > k個存活節(jié)點中下載數(shù)據(jù)并用于節(jié)點再生,每個節(jié)點的下載量為β,每個存儲節(jié)點i通過一對節(jié)點Xiin, Xiout來表示,這對節(jié)點通過一個容量為該節(jié)點的存儲量(即α)的邊連接。再生過程通過一個信息流圖描述,XinW
      系統(tǒng)中任意d個可用節(jié)點中各自收集β個數(shù)據(jù),通過
      【權利要求】
      1.一種最小存儲再生碼的編碼方法,其特征在于,包括如下步驟: A)將原始數(shù)據(jù)平均分為n個數(shù)據(jù)塊,得到n個第一數(shù)據(jù)包;所述第一數(shù)據(jù)包表示為Si, i=l, 2,...,n ;其中,所述n為偶數(shù); B)設置n個存儲節(jié)點及正整數(shù)k,使n=2k; C)分別以第i個第一數(shù)據(jù)包的下一個第一數(shù)據(jù)包為起點,對該起點及其隨后連續(xù)k-1個第一數(shù)據(jù)包的數(shù)據(jù)頭或尾部加入設定數(shù)量的比特O,得到k個第二數(shù)據(jù)包,運算所述k個第二數(shù)據(jù)包得到一個編碼數(shù)據(jù)包;重復上述步驟得到n個編碼數(shù)據(jù)包;所述編碼數(shù)據(jù)包表示為Pi, i=l, 2,...,n ;其中,所述第一數(shù)據(jù)包的第n個和第I個是連續(xù)的,連續(xù)的k個第一數(shù)據(jù)包中一個為第n個第一數(shù)據(jù)包時,其下一個連續(xù)的第一數(shù)據(jù)包是第I個第一數(shù)據(jù)包; D)將第i個第一數(shù)據(jù)包和以該第一數(shù)據(jù)包的下一個第一數(shù)據(jù)包為起點得到的編碼數(shù)據(jù)包存儲在第i個存儲節(jié)點。
      2.根據(jù)權利要求1所述的最小存儲再生碼的編碼方法,其特征在于,所述步驟C)進一步包括如下步驟: Cl)得到k個編碼識別碼; C2)以第i個第一數(shù)據(jù)包的下一個第一數(shù)據(jù)包為起點,對該起點及跟隨其后的、連續(xù)的k_l個第一數(shù)據(jù)包分別依據(jù)其對應的編碼識別碼進行在其數(shù)據(jù)頭部或尾部添加設定數(shù)量的比特O,得到k個第二數(shù)據(jù)包;對所述k個第二數(shù)據(jù)包進行運算,得到一個編碼數(shù)據(jù)包; C3)依次分別將步驟C2)中作為起點的第一數(shù)據(jù)包之后的第一數(shù)據(jù)包作為起點,重復步驟C2),直到得到n個編碼數(shù)據(jù)包。
      3.根據(jù)權利要求2所述的最小存儲再生碼的編碼方法,其特征在于,所述步驟Cl)進一步包括: Cll)判斷k是否素數(shù),如是,執(zhí)行步驟C12);否則,執(zhí)行步驟C13);
      C12)按照
      4.根據(jù)權利要求3所述的最小存儲再生碼的編碼方法,其特征在于,所述步驟C2)進一步包括: C21)取得編碼識別碼中的最大值,即
      5.根據(jù)權利要求4所述的最小存儲再生碼的編碼方法,其特征在于,所述存儲節(jié)點中的第一數(shù)據(jù)包和編碼數(shù)據(jù)包分別存儲,表示為第i個存儲節(jié)點存儲的數(shù)據(jù)包集合為(Si, Pi)
      6.根據(jù)權利要求5所述的最小存儲再生碼的編碼方法,其特征在于,所述原始文件的數(shù)據(jù)量為η。
      7.一種修復如權利要求1所述的編碼方法中存儲節(jié)點的存儲節(jié)點修復方法,其特征在于,包括如下步驟: I)確認第i個存儲節(jié)點失效,并取得編碼識別碼; J)依次下載第i+Ι到i+k個可用存儲節(jié)點上的第一數(shù)據(jù)包,所述下載的k個存儲節(jié)點是連續(xù)的;通過對下載的k個第一數(shù)據(jù)包進行編碼異或運算得到所述第i個存儲節(jié)點的編碼數(shù)據(jù)包; K)下載第1-Ι個存儲節(jié)點的編碼數(shù)據(jù)包,并取得所述第i+Ι到第i+k-Ι個存儲節(jié)點的第一數(shù)據(jù)包,所述下載第一數(shù)據(jù)包的k-Ι個存儲節(jié)點是連續(xù)的;對下載的編碼數(shù)據(jù)包和k-1個原始數(shù)據(jù)包異或運算后得到所述第i個存儲節(jié)點的第一數(shù)據(jù)包; L)組合所述運算得到的第一數(shù)據(jù)包和編碼數(shù)據(jù)包并存入新的第i個存儲節(jié)點。
      8.根據(jù)權利要求7所述的存儲節(jié)點修復方法,其特征在于,所述步驟J)進一步包括: Jl)取出k個編碼識別碼; J2)取得編碼識別碼中的最大值,即
      9.權利要求9缺失。
      10.根據(jù)權利要求9所述的存儲節(jié)點修復方法,其特征在于,所述步驟K)進一步包括:Kl)下載第1-Ι個存儲節(jié)點的編碼數(shù)據(jù)包,并取得所述第i+Ι到第i+k-ι個存儲節(jié)點的第一數(shù)據(jù)包,所述下載第一數(shù)據(jù)包的k-Ι個存儲節(jié)點是連續(xù)的; K2)對下載的第1-Ι個存儲節(jié)點編碼數(shù)據(jù)包和k-Ι個第一數(shù)據(jù)包異或運算后得到所述第i個存儲節(jié)點對應的第二數(shù)據(jù)包,即表示
      【文檔編號】H04L29/08GK103688514SQ201380001960
      【公開日】2014年3月26日 申請日期:2013年2月26日 優(yōu)先權日:2013年2月26日
      【發(fā)明者】李揮, 侯韓旭, 朱兵 申請人:北京大學深圳研究生院, 李揮
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1