[發(fā)明專利]一種基于糾刪碼的數(shù)據(jù)塊重建方法有效
| 申請(qǐng)?zhí)枺?/td> | 201410717059.2 | 申請(qǐng)日: | 2014-12-01 |
| 公開(kāi)(公告)號(hào): | CN104461781B | 公開(kāi)(公告)日: | 2017-10-31 |
| 發(fā)明(設(shè)計(jì))人: | 馮丹;柳青;施展;李劍;歐陽(yáng)夢(mèng)云 | 申請(qǐng)(專利權(quán))人: | 華中科技大學(xué) |
| 主分類號(hào): | G06F11/14 | 分類號(hào): | G06F11/14 |
| 代理公司: | 華中科技大學(xué)專利中心42201 | 代理人: | 曹葆青 |
| 地址: | 430074 湖北*** | 國(guó)省代碼: | 湖北;42 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 糾刪碼 數(shù)據(jù) 重建 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明屬于計(jì)算機(jī)存儲(chǔ)技術(shù)領(lǐng)域,具體涉及一種基于糾刪碼的數(shù)據(jù)塊重建方法,可減少重建數(shù)據(jù)傳輸。
背景技術(shù)
從RAID(獨(dú)立硬盤(pán)冗余陣列)到分布式存儲(chǔ)系統(tǒng),糾刪碼廣泛應(yīng)用于存儲(chǔ)系統(tǒng)中,用于防止部分?jǐn)?shù)據(jù)丟失或數(shù)據(jù)服務(wù)器宕機(jī)導(dǎo)致的數(shù)據(jù)不可訪問(wèn)。
糾刪碼是一種數(shù)據(jù)保護(hù)的編碼方法,它首先將原始數(shù)據(jù)分為等大的數(shù)據(jù)塊,然后再將數(shù)據(jù)塊編碼為校驗(yàn)塊。當(dāng)若干個(gè)數(shù)據(jù)塊或校驗(yàn)塊丟失時(shí),糾刪碼技術(shù)保證原始數(shù)據(jù)仍然可以恢復(fù)。
傳統(tǒng)的編碼方法將原始數(shù)據(jù)等分為k份數(shù)據(jù)塊,編碼生成m份校驗(yàn)塊并將它們存儲(chǔ)在k+m個(gè)不同的存儲(chǔ)節(jié)點(diǎn)。存儲(chǔ)節(jié)點(diǎn)是存儲(chǔ)設(shè)備的邏輯抽象,既可以是一個(gè)磁盤(pán)也可以是一個(gè)存儲(chǔ)服務(wù)器。所有(k+m)塊數(shù)據(jù)塊和校驗(yàn)塊中的任意k塊都可以重建出k個(gè)數(shù)據(jù)塊。但是這類糾刪碼也面臨著一個(gè)修復(fù)帶寬問(wèn)題:重建一個(gè)數(shù)據(jù)塊需要該數(shù)據(jù)塊大小的k倍磁盤(pán)I/O和網(wǎng)絡(luò)流量,占用大量的存儲(chǔ)資源和網(wǎng)絡(luò)資源。
以(n,k)里德-所羅門(mén)編碼為例,n是數(shù)據(jù)塊和校驗(yàn)塊的總個(gè)數(shù),k是數(shù)據(jù)塊個(gè)數(shù),m=n-k是校驗(yàn)塊個(gè)數(shù)。當(dāng)使用(n,k)里德-所羅門(mén)編碼對(duì)數(shù)據(jù)量為M的文件進(jìn)行編碼時(shí),首先將文件等分為k個(gè)數(shù)據(jù)塊:D0、D1、…、Dk-1,每個(gè)數(shù)據(jù)塊大小為M/k,接著計(jì)算生成矩陣和k個(gè)數(shù)據(jù)塊的乘積(計(jì)算基于有限域),得到m個(gè)校驗(yàn)塊C0、C1、…、Cm-1,每個(gè)校驗(yàn)塊大小也是M/k。(n,k)里德-所羅門(mén)編碼的生成矩陣是一個(gè)基于有限域GF(2w)的m行k列的矩陣,該矩陣可以是變換后的范德?tīng)柮傻戮仃?Vandermonde matrix),也可以是柯西矩陣(Cauchy matrix)。當(dāng)一個(gè)數(shù)據(jù)塊或校驗(yàn)塊失效時(shí),需要重建數(shù)據(jù)塊或校驗(yàn)塊以保證可靠性。如果失效的是校驗(yàn)塊,利用k塊數(shù)據(jù)塊可以重新編碼得到;如果失效的是數(shù)據(jù)塊,利用剩余n-1塊數(shù)據(jù)塊和校驗(yàn)塊中的任意k塊可重建該數(shù)據(jù)塊。無(wú)論是失效的是一塊數(shù)據(jù)塊還是一塊校驗(yàn)塊,都需要k塊整塊數(shù)據(jù)塊或校驗(yàn)塊進(jìn)行重建,所需要的數(shù)據(jù)量是M。
現(xiàn)有減少單數(shù)據(jù)節(jié)點(diǎn)失效所需重建數(shù)據(jù)量的編碼方法往往犧牲了最優(yōu)的存儲(chǔ)效率或者最大距離可分(MDS)性質(zhì)。簡(jiǎn)單再生碼(Simple Regenerating Codes,見(jiàn)論文:"Simple regenerating codes:Network coding for cloud storage."INFOCOM,2012Proceedings IEEE.IEEE,2012.)在每個(gè)存儲(chǔ)節(jié)點(diǎn)多存儲(chǔ)1/f的數(shù)據(jù)量,f越大,額外的存儲(chǔ)開(kāi)銷越小,但相應(yīng)的修復(fù)帶寬也越大,反之亦然。局部重建碼(Local Reconstruction Codes,見(jiàn)論文:"Erasure Coding in Windows Azure Storage."USENIX Annual Technical Conference.2012.)將數(shù)據(jù)塊分組,不僅在組內(nèi)進(jìn)行編碼,并在組間進(jìn)行編碼,這樣可以將大部分單點(diǎn)失效的重建局限在組內(nèi)進(jìn)行,從而減少了重建數(shù)據(jù)量,但局部重建碼需要額外的存儲(chǔ)開(kāi)銷,且不滿足MDS性質(zhì)。功能性最小存儲(chǔ)再生碼(Functional Minimum Storage Regenerating codes,見(jiàn)論文:NCCloud:A Network-Coding-Based Storage System in a Cloud-of-Clouds[J].2013.)雖然存儲(chǔ)和修復(fù)單個(gè)節(jié)點(diǎn)失效所需要的數(shù)據(jù)量都是最優(yōu)的,但存在計(jì)算開(kāi)銷大,且保存的不是原來(lái)的數(shù)據(jù),因此讀取數(shù)據(jù)時(shí)需要解碼等缺點(diǎn)。
發(fā)明內(nèi)容
本發(fā)明提供一種基于糾刪碼的數(shù)據(jù)塊重建方法,解決現(xiàn)有數(shù)據(jù)塊修復(fù)方法需要傳輸大量數(shù)據(jù)的問(wèn)題,以減少重建數(shù)據(jù)的傳輸量。
本發(fā)明所提供的一種基于糾刪碼的數(shù)據(jù)塊重建方法,包括數(shù)據(jù)分塊步驟、構(gòu)造生成矩陣G步驟、生成校驗(yàn)塊步驟、檢查數(shù)據(jù)塊狀態(tài)步驟、構(gòu)造修復(fù)矩陣步驟和修復(fù)數(shù)據(jù)塊步驟,其特征在于:
(1)數(shù)據(jù)分塊步驟:
將數(shù)據(jù)量為M的原始文件等分為k個(gè)數(shù)據(jù)塊Dj,j=0、…、k-1,再將k個(gè)數(shù)據(jù)塊分別保存在k個(gè)數(shù)據(jù)節(jié)點(diǎn)上,進(jìn)而將各數(shù)據(jù)節(jié)點(diǎn)上的數(shù)據(jù)塊Dj等分為r個(gè)數(shù)據(jù)片Dj,p,p=0、…、r-1,r=mk-1,k≥2,m≥2;等分過(guò)程中不足部分用0補(bǔ)齊并記錄不足數(shù)據(jù)塊或數(shù)據(jù)片的長(zhǎng)度;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于華中科技大學(xué),未經(jīng)華中科技大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.17sss.com.cn/pat/books/201410717059.2/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F11-00 錯(cuò)誤檢測(cè);錯(cuò)誤校正;監(jiān)控
G06F11-07 .響應(yīng)錯(cuò)誤的產(chǎn)生,例如,容錯(cuò)
G06F11-22 .在準(zhǔn)備運(yùn)算或者在空閑時(shí)間期間內(nèi),通過(guò)測(cè)試作故障硬件的檢測(cè)或定位
G06F11-28 .借助于檢驗(yàn)標(biāo)準(zhǔn)程序或通過(guò)處理作錯(cuò)誤檢測(cè)、錯(cuò)誤校正或監(jiān)控
G06F11-30 .監(jiān)控
G06F11-36 .通過(guò)軟件的測(cè)試或調(diào)試防止錯(cuò)誤
- 發(fā)送裝置及發(fā)送方法
- 一種存儲(chǔ)系統(tǒng)糾刪碼編碼、解碼電路及編解碼電路
- 基于NVRAM存儲(chǔ)系統(tǒng)直接糾刪碼的優(yōu)化方法和系統(tǒng)
- 一種數(shù)據(jù)存儲(chǔ)、重構(gòu)方法和裝置、及電子設(shè)備
- 一種通過(guò)糾刪碼對(duì)數(shù)據(jù)的處理方法及裝置
- 一種基于糾刪碼的糾刪池的創(chuàng)建方法及相關(guān)裝置
- 一種糾刪碼讀請(qǐng)求處理方法、系統(tǒng)、設(shè)備及計(jì)算機(jī)介質(zhì)
- 數(shù)據(jù)操作方法、裝置和分布式存儲(chǔ)系統(tǒng)
- 一種基于糾刪碼的新媒體圖像的篡改恢復(fù)方法及裝置
- 一種數(shù)據(jù)處理方法、裝置、設(shè)備及介質(zhì)
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法、數(shù)據(jù)系統(tǒng)、接收設(shè)備和數(shù)據(jù)讀取方法
- 數(shù)據(jù)記錄方法、數(shù)據(jù)記錄裝置、數(shù)據(jù)記錄媒體、數(shù)據(jù)重播方法和數(shù)據(jù)重播裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)發(fā)送系統(tǒng)、數(shù)據(jù)發(fā)送裝置以及數(shù)據(jù)結(jié)構(gòu)
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法及數(shù)據(jù)系統(tǒng)
- 數(shù)據(jù)嵌入裝置、數(shù)據(jù)嵌入方法、數(shù)據(jù)提取裝置及數(shù)據(jù)提取方法
- 數(shù)據(jù)管理裝置、數(shù)據(jù)編輯裝置、數(shù)據(jù)閱覽裝置、數(shù)據(jù)管理方法、數(shù)據(jù)編輯方法以及數(shù)據(jù)閱覽方法
- 數(shù)據(jù)發(fā)送和數(shù)據(jù)接收設(shè)備、數(shù)據(jù)發(fā)送和數(shù)據(jù)接收方法
- 數(shù)據(jù)發(fā)送裝置、數(shù)據(jù)接收裝置、數(shù)據(jù)收發(fā)系統(tǒng)、數(shù)據(jù)發(fā)送方法、數(shù)據(jù)接收方法和數(shù)據(jù)收發(fā)方法
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置





