亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

應(yīng)用于分布式存儲(chǔ)系統(tǒng)的超安存編解碼方法

文檔序號(hào):7861902閱讀:455來源:國(guó)知局
專利名稱:應(yīng)用于分布式存儲(chǔ)系統(tǒng)的超安存編解碼方法
應(yīng)用于分布式存儲(chǔ)系統(tǒng)的超安存編解碼方法技術(shù)領(lǐng)域
本方法涉及計(jì)算機(jī)數(shù)據(jù)存儲(chǔ)安全領(lǐng)域,具體涉及一種保障分布式存儲(chǔ)系統(tǒng)高可靠性的超安存編解碼方法。
背景技術(shù)
目前云存儲(chǔ)支撐方法一般是采用分布式文件系統(tǒng)的存儲(chǔ)方法,將數(shù)據(jù)分塊存放到廉價(jià)的普通計(jì)算機(jī)上,這樣數(shù)據(jù)的安全問題,也就是容災(zāi)問題就成為了一般云存儲(chǔ)支撐方法的重要考慮點(diǎn)。一般的云存儲(chǔ)支撐方法大多采用簡(jiǎn)單冗余備份的方式對(duì)數(shù)據(jù)塊進(jìn)行復(fù)制備份,一個(gè)數(shù)據(jù)塊在多臺(tái)機(jī)器有幾份完全一致的副本,但這種容災(zāi)方法造成了大量的磁盤空間的浪費(fèi),對(duì)系統(tǒng)的能耗、成本都有較大影響,本方法采用編解碼方式的安全策略,在保證系統(tǒng)性能不降低的前提下,從磁盤利用方面大大提高了磁盤空間的利用率,相對(duì)應(yīng)的也大大降低了系統(tǒng)的成本和能耗。
RS (Reed-Solomon)碼是一類糾錯(cuò)能力很強(qiáng)的特殊的非二進(jìn)制BCH碼。對(duì)于任選正整數(shù)S可構(gòu)造一個(gè)相應(yīng)的碼長(zhǎng)為n=qS_l的q進(jìn)制BCH碼,而q作為某個(gè)素?cái)?shù)的冪。當(dāng) S=l,q>2時(shí)所建立的碼長(zhǎng)n=q_l的q進(jìn)制BCH碼,稱它為RS碼。當(dāng)q=2m(m>l),其碼元符號(hào)取自于F(2m)的二進(jìn)制RS碼可用來糾正突發(fā)差錯(cuò),它是最常用的RS碼。一個(gè)RS碼有以下幾個(gè)參數(shù)塊長(zhǎng)度n(=2~m-l)個(gè)符號(hào);消息長(zhǎng)度k個(gè)符號(hào);奇偶校驗(yàn)長(zhǎng)度n-k=e個(gè)符號(hào); 最小距離dmin=n-k+l個(gè)符號(hào),通過縮短,(n, k)RS碼的長(zhǎng)度可以減少到具有相同符號(hào)長(zhǎng)度的(n’,k’)RS碼,其中η’和k’分別小于或者等于η和k。發(fā)明內(nèi)容
本發(fā)明的目的在于將RS算法融入分布式存儲(chǔ)系統(tǒng),提供一種超安存編解碼方法, 解決一般云存儲(chǔ)支撐方法采用的簡(jiǎn)單復(fù)制備份方法所造成的磁盤空間的浪費(fèi)問題,使大規(guī)模數(shù)據(jù)云存儲(chǔ)解決方案在擁有超高性能的前提下,提高磁盤的利用率,保障數(shù)據(jù)的安全性, 降低系統(tǒng)總能耗,節(jié)約成本。
本發(fā)明的超安存編解碼方案是在分布式云存儲(chǔ)系統(tǒng)的基礎(chǔ)上進(jìn)行設(shè)計(jì)的。分布式云存儲(chǔ)系統(tǒng)(如南京云創(chuàng)存儲(chǔ)科技有限公司自行研發(fā)的cStor云存儲(chǔ)系統(tǒng),且本發(fā)明中涉及的元數(shù)據(jù)管理節(jié)點(diǎn)、客戶端、塊數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)等技術(shù)名稱與cStor云存儲(chǔ)系統(tǒng)中使用的技術(shù)名稱具有相同的定義)采用分布式的存儲(chǔ)策略,主要包括元數(shù)據(jù)管理節(jié)點(diǎn)和多個(gè)塊數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn),其中,元數(shù)據(jù)管理節(jié)點(diǎn)負(fù)責(zé)組織調(diào)度塊數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn),存放及管理元數(shù)據(jù)信息,塊數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)負(fù)責(zé)存儲(chǔ)數(shù)據(jù)塊,客戶端的讀寫操作需先與元數(shù)據(jù)管理節(jié)點(diǎn)交互獲得塊數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)信息,再與塊數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)直接進(jìn)行數(shù)據(jù)交互。元數(shù)據(jù)管理節(jié)點(diǎn)由元數(shù)據(jù)服務(wù)器構(gòu)成,塊數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)由塊數(shù)據(jù)服務(wù)器構(gòu)成。
本發(fā)明具體采用如下技術(shù)方案一種應(yīng)用于分布式存儲(chǔ)系統(tǒng)的超安存編解碼方法,包括配置編解碼參數(shù)(M,N),其中M為原始數(shù)據(jù)塊數(shù)目,N為RS編碼后數(shù)據(jù)塊數(shù)目;客戶端寫數(shù)據(jù)時(shí)將文件進(jìn)行順序分組,每組為X字節(jié)大小,X為任意正整數(shù),再對(duì)每個(gè)組進(jìn)行順序分塊成M塊,每塊為連續(xù)X/M字節(jié)的大??;對(duì)于每一個(gè)分組,客戶端把該分組的 M個(gè)數(shù)據(jù)塊存到M個(gè)不同的塊數(shù)據(jù)服務(wù)器,元數(shù)據(jù)服務(wù)器記錄該分組的塊存儲(chǔ)信息;客戶端讀數(shù)據(jù)時(shí),當(dāng)目標(biāo)塊數(shù)據(jù)服務(wù)器無法訪問時(shí),客戶端從分組內(nèi)的任意其余M臺(tái)可訪問的數(shù)據(jù)塊服務(wù)器讀取數(shù)據(jù),并通過RS解碼得到目標(biāo)數(shù)據(jù);塊數(shù)據(jù)服務(wù)器收到元數(shù)據(jù)服務(wù)器的編解碼任務(wù)時(shí),把元數(shù)據(jù)管理節(jié)點(diǎn)指示的分組中的 M個(gè)數(shù)據(jù)塊復(fù)制到本地,以每個(gè)塊為矩陣的一行,構(gòu)造成一個(gè)M行的矩陣,并根據(jù)塊索引計(jì)算出當(dāng)前需編解碼的數(shù)據(jù)塊在分組中所在的位置,如果小于等于M,則執(zhí)行RS編碼任務(wù),產(chǎn)生冗余數(shù)據(jù)塊;如果大于M小于等于N,則執(zhí)行RS解碼任務(wù),產(chǎn)生原始數(shù)據(jù)塊。
有益效果按照本發(fā)明的超安存編解碼方法,以參數(shù)(M,N)配置系統(tǒng),則系統(tǒng)中任意不大于N-M臺(tái)塊數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)宕機(jī),均可根據(jù)剩余節(jié)點(diǎn)解碼出原數(shù)據(jù),充分保證數(shù)據(jù)的安全性,元數(shù)據(jù)服務(wù)器能夠不斷的檢測(cè)數(shù)據(jù)塊的有效情況,對(duì)無效的數(shù)據(jù)塊能夠自動(dòng)恢復(fù)原始數(shù)據(jù)塊,又同時(shí)以比較小的冗余代價(jià),降低了成本。


附圖I :客戶端寫數(shù)據(jù)流程;附圖2 :文件數(shù)據(jù)分組塊分布示意圖(M=4, N=6);附圖3 :客戶端讀數(shù)據(jù)流程;附圖4 :客戶端解碼讀數(shù)據(jù)流程;附圖5 :元數(shù)據(jù)服務(wù)控制塊數(shù)據(jù)服務(wù)器編解碼數(shù)據(jù)流程。具體 實(shí)施方式
下面結(jié)合附圖對(duì)本發(fā)明的技術(shù)方案進(jìn)行詳細(xì)說明4. I客戶端編解碼方法客戶端在向元數(shù)據(jù)管理節(jié)點(diǎn)注冊(cè)成功后,元數(shù)據(jù)管理節(jié)點(diǎn)向客戶端返回編解碼參數(shù) (M,N),其中,M為原始數(shù)據(jù)塊數(shù)目,N為編碼后數(shù)據(jù)塊數(shù)目??蛻舳藢憯?shù)據(jù)時(shí)不進(jìn)行編碼, 這樣保證了客戶端寫數(shù)據(jù)的性能,以及不會(huì)要求太高的機(jī)器硬件配置??蛻舳俗x數(shù)據(jù)時(shí)如果所讀的原始數(shù)據(jù)塊數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)無法訪問,客戶端啟動(dòng)解碼流程從任意其余M臺(tái)可訪問的塊數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)讀取分組內(nèi)的數(shù)據(jù)塊,進(jìn)行解碼運(yùn)算得到目標(biāo)數(shù)據(jù)。
4. I. I客戶端寫數(shù)據(jù)流程客戶端寫數(shù)據(jù)流程如圖I所示,文件系統(tǒng)驅(qū)動(dòng)模塊收到內(nèi)核的寫數(shù)據(jù)消息,回調(diào)編解碼客戶端函數(shù),將數(shù)據(jù)寫入寫操作緩沖區(qū),由線程負(fù)責(zé)將數(shù)據(jù)從緩沖區(qū)中取出并發(fā)送到塊數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)。客戶端寫數(shù)據(jù)的過程中,一個(gè)文件首先按64MB (以X=64MB大小為例說明) 大小為一個(gè)組進(jìn)行順序分組,再以64MB/M為一個(gè)數(shù)據(jù)塊(chunk,lchunk=1024block)對(duì)每個(gè)分組進(jìn)行均勻分塊(不足的字節(jié)編解碼時(shí)都用數(shù)字O填充),并分別存儲(chǔ)到元數(shù)據(jù)管理節(jié)點(diǎn)指定的M個(gè)塊數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn),元數(shù)據(jù)服務(wù)器記錄每個(gè)分組的塊存儲(chǔ)信息(塊存儲(chǔ)信息包含數(shù)據(jù)塊的塊標(biāo)識(shí)、塊版本號(hào)和存儲(chǔ)的位置)。在寫入數(shù)據(jù)的過程中,寫數(shù)據(jù)時(shí)請(qǐng)求包括 offset (相對(duì)文件起始位置的偏移量)、size (當(dāng)前寫數(shù)據(jù)的大小)和data (當(dāng)前請(qǐng)求的實(shí)際數(shù)據(jù))等字段,客戶端計(jì)算塊索引、block編號(hào)以及block內(nèi)部偏移量,計(jì)算過程如下1)根據(jù)block_no= offset>>16 得到 block 編號(hào);2)根據(jù)chindx= (block_no>>10) *N + (block_no%1024) * M/1024,計(jì)算塊索引位置,發(fā)送消息給元數(shù)據(jù)服務(wù)器,元數(shù)據(jù)服務(wù)器根據(jù)索引創(chuàng)建一個(gè)新的插槽,并記錄新塊的元數(shù)據(jù)信息;3)根據(jù)pos=(block_no % (Μ 10)) / M計(jì)算得到block在塊數(shù)據(jù)服務(wù)器的block偏移量;4)根據(jù)from=offset&OxFFFF計(jì)算得到block中的偏移量;圖2所示為(M=4,N=6)時(shí)客戶端分塊過程,客戶端把64MB大小的數(shù)據(jù)分成連續(xù)的4塊 (chunk 1> chunk2、chunk3、chunk4),每塊大小為16MB。這4個(gè)原始數(shù)據(jù)塊保存在4臺(tái)不同的塊數(shù)據(jù)服務(wù)器;chunk5和chunke為2臺(tái)塊數(shù)據(jù)服務(wù)器編碼后生成的冗余數(shù)據(jù)塊。
4. I. 2客戶端讀數(shù)據(jù)客戶端不需解碼讀取數(shù)據(jù)流程如附圖3所示,文件系統(tǒng)驅(qū)動(dòng)模塊收到內(nèi)核的讀數(shù)據(jù)消息,回調(diào)編解碼客戶端函數(shù),客戶端根據(jù)偏移量計(jì)算塊索引,向元數(shù)據(jù)服務(wù)器發(fā)送請(qǐng)求消息獲取該數(shù)據(jù)塊所保存的塊數(shù)據(jù)服務(wù)器,客戶端從塊數(shù)據(jù)服務(wù)器讀取數(shù)據(jù)。在讀數(shù)據(jù)的過程中,讀數(shù)據(jù)時(shí)請(qǐng)求包括offset (相對(duì)文件起始位置的偏移量)、size (當(dāng)前讀數(shù)據(jù)的大小)和 data (返回?cái)?shù)據(jù)的緩沖區(qū))等字段??蛻舳瞬恍杞獯a讀數(shù)據(jù)時(shí)計(jì)算塊索引的算法如下1)根據(jù)block_no= offset>>16 得到 block 編號(hào);2)indx= (block_no>>10) *N + (block_no%1024) *M/1024,計(jì)算塊索引編號(hào);客戶端解碼讀取數(shù)據(jù)流程如附圖4所示,當(dāng)目標(biāo)塊數(shù)據(jù)服務(wù)器無法訪問時(shí),編解碼客戶端從分組中的任意其它M臺(tái)可訪問的數(shù)據(jù)塊服務(wù)器讀取數(shù)據(jù),并通過解碼運(yùn)算得到目標(biāo)數(shù)據(jù)。
4.2元數(shù)據(jù)管理節(jié)點(diǎn)模塊編解碼方法元數(shù)據(jù)管理節(jié)點(diǎn)控制整個(gè)編解碼任務(wù)的調(diào)度、管理和控制,它并不執(zhí)行具體的編解碼操作。元數(shù)據(jù)管理節(jié)點(diǎn)編解碼任務(wù)有兩個(gè)觸發(fā)點(diǎn)1)客戶端寫完一個(gè)數(shù)據(jù)塊后,向元數(shù)據(jù)管理節(jié)點(diǎn)發(fā)送寫完數(shù)據(jù)塊消息,由于客戶端寫的都是原始數(shù)據(jù),元數(shù)據(jù)管理節(jié)點(diǎn)只需產(chǎn)生N-M個(gè)編碼任務(wù)記錄,加入編碼記錄隊(duì)列中,消息結(jié)構(gòu)為Ucodechunk。由于客戶端每寫完一個(gè)塊后,所對(duì)應(yīng)分組內(nèi)的編碼塊需重新編碼, 可以延時(shí)到一個(gè)分組的M塊都寫成功后才開始觸發(fā)編碼,或者超過一段時(shí)間后元數(shù)據(jù)管理節(jié)點(diǎn)才開始真正調(diào)度編解碼任務(wù),向塊數(shù)據(jù)服務(wù)器發(fā)送編解碼任務(wù)請(qǐng)求消息,消息結(jié)構(gòu)為 s3code ;2)元數(shù)據(jù)管理節(jié)點(diǎn)周期性的檢查各個(gè)文件,當(dāng)發(fā)現(xiàn)文件的某個(gè)塊為空或者有效塊數(shù)為O時(shí),產(chǎn)生一個(gè)編解碼任務(wù),調(diào)度一個(gè)塊數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)執(zhí)行編解碼任務(wù),恢復(fù)這個(gè)塊的有效數(shù)據(jù),塊數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)向元數(shù)據(jù)管理節(jié)點(diǎn)返回編解碼狀態(tài),元數(shù)據(jù)管理節(jié)點(diǎn)清除隊(duì)列中編解碼任務(wù)記錄;元數(shù)據(jù)服務(wù)器單個(gè)編碼任務(wù)記錄結(jié)構(gòu)為typedef struct _s3codechunk{uint32_t inode; //文件節(jié)點(diǎn)標(biāo)識(shí) uint64_t chunkid; // 塊節(jié)點(diǎn)標(biāo)識(shí)uint32_t version;// 塊版本號(hào)uint32_t indx;//塊索引uint32_t savetime;//記錄保存的時(shí)間uint8_t decodeable;//編碼還是解碼uint8_t sesflags;//會(huì)話標(biāo)識(shí)uint32_t rootinode;//根節(jié)點(diǎn)標(biāo)識(shí)uint32_t uid;// 用戶標(biāo)識(shí)uint8_t s3coding;//是否正在編碼uint32_t s3codingstarttime; // 編碼開始時(shí)間struct —s3codechunk 氺next;}s3codechunk;元數(shù)據(jù)服務(wù)器向數(shù)據(jù)塊服務(wù)器發(fā)送的編碼數(shù)據(jù)結(jié)構(gòu)為 typedef struct _s3codearg {chindx; chunkid:version;srceptr;塊索引 1塊標(biāo)識(shí)丨版本號(hào)Il數(shù)據(jù)塊服務(wù)器信息_s3code{indx; // chunkid; version; savetime s3codeargm[M];編碼數(shù)據(jù)塊索引 //塊標(biāo)識(shí) //版本號(hào) ;//編碼開始時(shí)間//編碼組記錄uint32_t uint64_t uint32_t void*} s3codearg;typedef struct uint32_t uint64_t uint32_t uint32_t s3codearg} s3code;編解碼參數(shù)(M,N)由元數(shù)據(jù)服務(wù)器控制,編解碼客戶端和塊數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)向元數(shù)據(jù)管理節(jié)點(diǎn)注冊(cè)時(shí),元數(shù)據(jù)管理節(jié)點(diǎn)返回編解碼參數(shù)。
4. 3塊數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)模塊編碼方法塊數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)收到元數(shù)據(jù)管理節(jié)點(diǎn)的塊編碼任務(wù)后,產(chǎn)生一個(gè)編解碼任務(wù)加入到工作隊(duì)列中。工作任務(wù)調(diào)用塊復(fù)制流程(從不同塊數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)之間復(fù)制數(shù)據(jù)塊),把元數(shù)據(jù)管理節(jié)點(diǎn)指示的分組中的M個(gè)數(shù)據(jù)塊復(fù)制到本地,以每個(gè)塊為矩陣的一行,構(gòu)造成一個(gè)M行的矩陣,執(zhí)行編碼任務(wù),產(chǎn)生冗余數(shù)據(jù)塊。編解碼參數(shù)(M,N)為塊數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)向元數(shù)據(jù)管理節(jié)點(diǎn)注冊(cè)時(shí)返回。
塊數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)編解碼流程如附圖5所示1)元數(shù)據(jù)管理節(jié)點(diǎn)向塊數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)發(fā)送編碼請(qǐng)求;2)塊數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)從任意M個(gè)塊數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)復(fù)制分組中的M個(gè)數(shù)據(jù)塊;3)塊數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)編碼M個(gè)數(shù)據(jù)塊得到目標(biāo)數(shù)據(jù)塊并保存;4)塊數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)刪除復(fù)制過來的M個(gè)數(shù)據(jù)塊;5)塊數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)向元數(shù)據(jù)管理節(jié)點(diǎn)發(fā)送編碼成功消息。
4.4塊數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)模塊解碼方法塊數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)收到元數(shù)據(jù)管理節(jié)點(diǎn)的塊解碼任務(wù)后,產(chǎn)生一個(gè)解碼任務(wù)加入到工作隊(duì)列中。工作任務(wù)調(diào)用塊復(fù)制流程(從不同塊數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)之間復(fù)制數(shù)據(jù)塊),把元數(shù)據(jù)管理節(jié)點(diǎn)指示的分組中的M個(gè)數(shù)據(jù)塊復(fù)制到本地,以每個(gè)塊為矩陣的一行,構(gòu)造成一個(gè)M行的矩陣,執(zhí)行解碼任務(wù),產(chǎn)生原始數(shù)據(jù)塊。編解碼參數(shù)(M,N)為塊數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)向元數(shù)據(jù)管理節(jié)點(diǎn)注冊(cè)時(shí)返回。
塊數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)解碼流程如附圖5所示1)元數(shù)據(jù)管理節(jié)點(diǎn)向塊數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)發(fā)送解碼請(qǐng)求;2)塊數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)從任意M個(gè)塊數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)復(fù)制分組中的M個(gè)數(shù)據(jù)塊;3)塊數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)解碼M個(gè)數(shù)據(jù)塊得到目標(biāo)數(shù)據(jù)塊并保存;4)塊數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)刪除復(fù)制過來的M個(gè)數(shù)據(jù)塊;塊數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)向元數(shù)據(jù)管理節(jié)點(diǎn)發(fā)送解碼成功消息。
權(quán)利要求
1.一種應(yīng)用于分布式存儲(chǔ)系統(tǒng)的超安存編解碼方法,所述其特征在于包括 配置編解碼參數(shù)(M,N),其中M為原始數(shù)據(jù)塊數(shù)目,N為RS編碼后數(shù)據(jù)塊數(shù)目; 客戶端寫數(shù)據(jù)時(shí)將文件進(jìn)行順序分組,每組為X字節(jié)大小,X為任意正整數(shù),再對(duì)每個(gè)組進(jìn)行順序分塊成M塊,每塊為連續(xù)X/M字節(jié)的大??;對(duì)于每一個(gè)分組,客戶端把該分組的M個(gè)數(shù)據(jù)塊存到M個(gè)不同的塊數(shù)據(jù)服務(wù)器,元數(shù)據(jù)服務(wù)器記錄該分組的塊存儲(chǔ)信息; 客戶端讀數(shù)據(jù)時(shí),當(dāng)目標(biāo)塊數(shù)據(jù)服務(wù)器無法訪問時(shí),客戶端從分組內(nèi)的任意其余M臺(tái)可訪問的數(shù)據(jù)塊服務(wù)器讀取數(shù)據(jù),并通過RS解碼得到目標(biāo)數(shù)據(jù); 塊數(shù)據(jù)服務(wù)器收到元數(shù)據(jù)服務(wù)器的編解碼任務(wù)時(shí),把元數(shù)據(jù)管理節(jié)點(diǎn)指示的分組中的M個(gè)數(shù)據(jù)塊復(fù)制到本地,以每個(gè)塊為矩陣的一行,構(gòu)造成一個(gè)M行的矩陣,并根據(jù)塊索引計(jì)算出當(dāng)前需編解碼的數(shù)據(jù)塊在分組中所在的位置,如果小于等于M,則執(zhí)行RS編碼任務(wù),產(chǎn)生冗余數(shù)據(jù)塊;如果大于M小于等于N,則執(zhí)行RS解碼任務(wù),產(chǎn)生原始數(shù)據(jù)塊。
2.如權(quán)利要求I所述的應(yīng)用于分布式存儲(chǔ)系統(tǒng)的超安存編解碼方法,其特征在于,元數(shù)據(jù)管理節(jié)點(diǎn)周期性的檢查各個(gè)文件,當(dāng)發(fā)現(xiàn)文件的某個(gè)塊為空或者有效塊數(shù)為O時(shí),產(chǎn)生一個(gè)編解碼任務(wù),調(diào)度一臺(tái)塊數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)執(zhí)行編解碼任務(wù),恢復(fù)這個(gè)塊的有效數(shù)據(jù)。
3.如權(quán)利要求I所述的應(yīng)用于分布式存儲(chǔ)系統(tǒng)的超安存編解碼方法,其特征在于,編解碼參數(shù)(M,N)由元數(shù)據(jù)服務(wù)器控制,客戶端和塊數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)向元數(shù)據(jù)管理節(jié)點(diǎn)注冊(cè)時(shí),元數(shù)據(jù)管理節(jié)點(diǎn)返回編解碼參數(shù)。
全文摘要
本發(fā)明公開一種應(yīng)用于分布式存儲(chǔ)系統(tǒng)的超安存編解碼方法,該方法將RS算法融入分布式存儲(chǔ)系統(tǒng),解決一般云存儲(chǔ)支撐方法采用的簡(jiǎn)單復(fù)制備份方法所造成的磁盤空間的浪費(fèi)問題,使大規(guī)模數(shù)據(jù)云存儲(chǔ)解決方案在擁有超高性能的前提下,提高磁盤的利用率,保障數(shù)據(jù)的安全性,降低系統(tǒng)總能耗,節(jié)約成本。按照本發(fā)明的超安存編解碼方法,以參數(shù)(M,N)配置系統(tǒng),則系統(tǒng)中任意不大于N-M臺(tái)塊數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)宕機(jī),均可根據(jù)剩余節(jié)點(diǎn)解碼出原數(shù)據(jù),充分保證數(shù)據(jù)的安全性,元數(shù)據(jù)服務(wù)器能夠不斷的檢測(cè)數(shù)據(jù)塊的有效情況,對(duì)無效的數(shù)據(jù)塊能夠自動(dòng)恢復(fù)原始數(shù)據(jù)塊,又同時(shí)以比較小的冗余代價(jià),降低了成本。
文檔編號(hào)H04L29/08GK102932331SQ20121037158
公開日2013年2月13日 申請(qǐng)日期2012年9月29日 優(yōu)先權(quán)日2012年9月29日
發(fā)明者張真, 劉志明, 王義飛, 趙慶福, 蔣文佼 申請(qǐng)人:南京云創(chuàng)存儲(chǔ)科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1