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

      一種基于二進(jìn)制域里德所羅門碼的數(shù)據(jù)編解碼方法

      文檔序號:9757211閱讀:677來源:國知局
      一種基于二進(jìn)制域里德所羅門碼的數(shù)據(jù)編解碼方法
      【專利說明】-種基于二進(jìn)制域里德所羅口碼的數(shù)據(jù)編解碼方法 【技術(shù)領(lǐng)域】
      [0001] 本發(fā)明設(shè)及分布式存儲系統(tǒng)領(lǐng)域,尤其設(shè)及一種基于二進(jìn)制域里德所羅口碼的數(shù) 據(jù)編解碼方法。 【【背景技術(shù)】】
      [0002] 隨著計算機(jī)網(wǎng)絡(luò)應(yīng)用的迅速發(fā)展,網(wǎng)絡(luò)信息數(shù)據(jù)量變得越來越大,海量信息存儲 變得尤為重要,持續(xù)增長的數(shù)據(jù)存儲壓力帶動著整個存儲市場的快速發(fā)展;分布式存儲W 其高性價比、低初期投資、按需付費(fèi)等優(yōu)越的特點(diǎn)日益成為當(dāng)今大數(shù)據(jù)存儲的主流技術(shù)。分 布式存儲系統(tǒng)的存儲結(jié)點(diǎn)失效已經(jīng)成為一種常態(tài),當(dāng)系統(tǒng)所部署的存儲結(jié)點(diǎn)變得不可靠 時,必須引入冗余來提高結(jié)點(diǎn)失效時的可靠性,引入冗余最簡單的方法就是對原始數(shù)據(jù)直 接備份,直接備份雖然簡單但是其存儲效率和系統(tǒng)可靠性不高,而通過編碼引入冗余的方 法可W提高其存儲效率;因此分布式存儲的高概率可用性、可靠性W及安全性等均是分布 式存儲系統(tǒng)的關(guān)鍵技術(shù)問題。在目前的存儲系統(tǒng)中,編碼方法一般采用MDS碼,MDS碼可W 達(dá)到存儲空間效率的最佳,一個(n,k)MDS糾刪碼需要將一個原始文件分成k個大小相等的 模塊,并通過線性編碼生成n個互不相關(guān)的編碼模塊,由n個結(jié)點(diǎn)存儲不同的模塊,并滿足 MDS屬性(n個編碼模塊中任意k個就可重構(gòu)原始文件)。
      [0003] 當(dāng)存儲系統(tǒng)中的存儲結(jié)點(diǎn)失效時,為了保持存儲系統(tǒng)的冗余量,需要恢復(fù)該失效 結(jié)點(diǎn)存儲的數(shù)據(jù)并將該數(shù)據(jù)存儲在新結(jié)點(diǎn)中,該過程稱為修復(fù)過程。在修復(fù)過程中,里德所 羅口碼首先需要下載k個存儲結(jié)點(diǎn)的數(shù)據(jù)并恢復(fù)出原始數(shù)據(jù),之后為新結(jié)點(diǎn)編碼出失效結(jié) 點(diǎn)的存儲數(shù)據(jù)。而當(dāng)原始數(shù)據(jù)出現(xiàn)改動時,為了維持?jǐn)?shù)據(jù)的一致,需要對冗余的校驗數(shù)據(jù)塊 進(jìn)行更改,運(yùn)個過程稱為更新過程。
      [0004] 畑P碼,全稱RowDiagonal Parity Code,是一種簡單的糾刪碼(引自論文 References P. Corbett et al. "Row diagonal parity for double disk failure correction, "4th Usenix Conf. on File and Storage Tech. , San Francisco, 2004)。它 不需要使用有限域或者生成矩陣,只是按行和按泛對角線進(jìn)行異或計算,生成兩個校驗數(shù) 據(jù)塊,構(gòu)成了一種帶有2個校驗數(shù)據(jù)塊的糾刪碼;但是RDP碼更新復(fù)雜度偏高和不可拓展。
      [0005] 論文[James S. Plank, "Optimizing Cauchy Reed-Solomon Codes for Fault-Tolerant Network Storage Applications ^'"Network Computing and Applications, 2006.]提出的柯西里德所羅口碼(CauchyReed-Solomon Code,簡稱 CRS碼) 是當(dāng)前最常用的里德所羅口編碼之一,已經(jīng)被廣泛用于分布式存儲系統(tǒng)中,例如在皿FS中 就提供了一套基于CRS編碼的分布式存儲系統(tǒng)。但是CRS依然存在著一些缺陷,首先,使用 0-1生成矩陣,雖然能大大降低編解碼復(fù)雜度,但實際上,它的解碼復(fù)雜度卻不是最優(yōu)的,還 存在許多糾刪碼,比如DRP編碼,它們的解碼復(fù)雜度要優(yōu)于CRS。其次,它用于編解碼的有限 域二進(jìn)制矩陣還是比較復(fù)雜,散亂無章的0和1使得編解碼難W更進(jìn)一步優(yōu)化。然后,也是 因為編碼復(fù)雜度目前還比較高,使得數(shù)據(jù)更新時,需要分析各種不同的情況,也使得編碼復(fù) 雜度比較高。 【
      【發(fā)明內(nèi)容】

      [0006] 為了解決現(xiàn)有技術(shù)中的問題,本發(fā)明提供了一種基于二進(jìn)制域里德所羅口碼的數(shù) 據(jù)構(gòu)造、重構(gòu)及更新方法,解決現(xiàn)有技術(shù)中主要針對傳統(tǒng)的存儲裝置系統(tǒng)結(jié)構(gòu)比較復(fù)雜,采 用的編碼方式結(jié)點(diǎn)數(shù)據(jù)存儲量大,在編碼解碼更新過程中所需要計算復(fù)雜性高的問題,達(dá) 到保證系統(tǒng)的冗余度,有效地減少了數(shù)據(jù)更新時的計算量,降低了編解碼過程中的計算復(fù) 雜度,并提高結(jié)點(diǎn)失效后修復(fù)過程的有效性(包括計算開銷和修復(fù)時間)的目的。
      [0007] 本發(fā)明提供了一種基于二進(jìn)制域里德所羅口碼的數(shù)據(jù)編解碼方法,包括W下步 驟:包括W下步驟:(A)原始數(shù)據(jù)構(gòu)建二進(jìn)制域里德所羅口碼;度)更新二進(jìn)制域里德所羅 口碼;似重構(gòu)二進(jìn)制域里德所羅口碼;所述步驟(A)、步驟做W及步驟似中的運(yùn)算均采 用異或運(yùn)算。 W08] 作為本發(fā)明的進(jìn)一步改進(jìn),所述原始數(shù)據(jù)包括k個長度為化it原始的 數(shù)據(jù)塊,記為Si= S i,A,2. . . i = 0, 1,2,. . .,k-1 ;校驗數(shù)據(jù)塊叫通過如下 方式給出:二X。(,'〇 )貨A如貨…? 私1);校驗數(shù)據(jù)塊m。唯一的標(biāo)識符為 瓜。二,午'…二I )二(0,化 2fl,…,(A - 1 )(;),U 二 0,1,2,…,巧-充一1.原始的數(shù)據(jù)塊和 校驗數(shù)據(jù)塊是線性獨(dú)立的;原始的數(shù)據(jù)塊被存放在系統(tǒng)結(jié)點(diǎn)中,校驗數(shù)據(jù)塊被存放在校驗 結(jié)點(diǎn)中。
      [0009] 作為本發(fā)明的進(jìn)一步改進(jìn),所述步驟(A)中進(jìn)一步包括:(Al)原始數(shù)據(jù)分塊,將 原始數(shù)據(jù)B平均分割成k個數(shù)據(jù)塊,每個數(shù)據(jù)塊有L bit數(shù)據(jù),記為S = (S。,Si, ...,Sk 1); (A。構(gòu)建校驗數(shù)據(jù)塊 M = (m。,mi,. . .,IHn k 1),孤二之]^ =化 1,...,..,.表-1,其 中,r/表示在原始數(shù)據(jù)塊S,前面添加的"0"的比特數(shù),從而形成校驗數(shù)據(jù)塊m 1;其中為 ,咕,...,片)=二(.0,口,2a,...,(./f -1)幻),"二0,1,...,/? -A'-l.; (A:3)節(jié)點(diǎn)存儲數(shù)據(jù)進(jìn) 行分發(fā),將原始數(shù)據(jù)塊和校驗數(shù)據(jù)塊共計N塊發(fā)送到N個節(jié)點(diǎn)上;每個結(jié)點(diǎn)存儲數(shù)據(jù),結(jié)點(diǎn) Ni (i = 0, 1,. . .,n-1)存儲的數(shù)據(jù)為 s〇, Si, S2,. . .,Sk 1,m〇, mi, m2,. . .,m。k 1,校驗數(shù)據(jù)塊通過 異或運(yùn)算獲取。
      [0010] 作為本發(fā)明的進(jìn)一步改進(jìn),所述步驟度)中進(jìn)一步包括:度1)新的原始數(shù)據(jù)塊分 塊,將更新后的文件進(jìn)行分塊,分成新的k個原始數(shù)據(jù)塊;度2)將新的原始數(shù)據(jù)塊和對應(yīng)的 舊的原始數(shù)據(jù)塊進(jìn)行比較,算出每個塊的變化量;度3)判斷每個塊是不是發(fā)生改變,若發(fā) 生改變,每個校驗數(shù)據(jù)塊根據(jù)冗余符號,在對應(yīng)的位置上加上變化量,完成編碼的更新;若 沒有發(fā)生改變則不進(jìn)行任何操作。
      [0011] 作為本發(fā)明的進(jìn)一步改進(jìn),所述步驟(C)中進(jìn)一步包括:收集任意k個結(jié)點(diǎn)上的原 始數(shù)據(jù)塊和/或校驗數(shù)據(jù)塊,通過循環(huán)迭代進(jìn)行異或計算完成解碼。
      [0012] 本發(fā)明的有益效果是:通過該方法大大提高了數(shù)據(jù)上傳和下載的速率,很大程度 上減少了系統(tǒng)操作復(fù)雜度(如元數(shù)據(jù)更新、更新后的數(shù)據(jù)廣播等);在實際的分布式存儲系 統(tǒng)中具有很高的應(yīng)用價值和發(fā)展?jié)摿?;二進(jìn)制域里德所羅口碼(即BRS碼)不僅擁有最優(yōu) 的編解碼速度,同時也擁有最快的更新速度。面對龐大的數(shù)據(jù)量更新,BRS能W最快的速度 完成更新,在最短的時間內(nèi)完成任務(wù),節(jié)省時間和資源,既能減少成本的消耗又能達(dá)到一種 良好的用戶體驗。 【【附圖說明】】
      [0013] 圖1是本發(fā)明基于二進(jìn)制域里德所羅口碼的框架圖。
      [0014] 圖2是本發(fā)明構(gòu)造二進(jìn)制域里德所羅口碼的流程示意圖。
      [0015] 圖3是本發(fā)明更新二進(jìn)制域里德所羅口碼的流程示意圖。 【【具體實施方式】】
      [0016] 下面結(jié)合【附圖說明】及【具體實施方式】對本發(fā)明進(jìn)一步說明。
      [0017] 傳統(tǒng)的里德所羅口碼構(gòu)造都是基于有限域GF(q),為了減小里德所羅口的復(fù)雜性, 我們提出了一種基于二進(jìn)制域的里德所羅口碼度inary Reed-Solomon Code,簡為BRS 碼);我們知道,對于k個原始數(shù)據(jù)塊(長度為化it),不妨令Si,,表示數(shù)據(jù)塊S 1中第j個 bit的值,則可記為Si= S . . Si,L, i = 0, 1,2,. . . , k-1。難點(diǎn)在于成功找到n-k個獨(dú) 立的校驗數(shù)據(jù)塊,使得n個數(shù)據(jù)塊(包括原始數(shù)據(jù)塊和校驗數(shù)據(jù)塊)中的任意k個數(shù)
      當(dāng)前第1頁1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1