【技術(shù)實(shí)現(xiàn)步驟摘要】
本申請(qǐng)涉及計(jì)算機(jī)信息
,特別是涉及一種數(shù)據(jù)存儲(chǔ)方法和裝置、以及一種數(shù)據(jù)恢復(fù)方法和裝置。
技術(shù)介紹
目前,隨著信息技術(shù)產(chǎn)業(yè)的迅猛發(fā)展,出于成本、可靠性等多方面的考慮,越來(lái)越多的廠商選擇在產(chǎn)品中部署分布式系統(tǒng),使得分布式系統(tǒng)也因此得到了快速的發(fā)展。在現(xiàn)有的分布式系統(tǒng)架構(gòu)中,文件一般都被分割成多個(gè)數(shù)據(jù)塊進(jìn)行存儲(chǔ);為了保證系統(tǒng)的健壯性及災(zāi)難恢復(fù)能力,數(shù)據(jù)塊一般又會(huì)有多個(gè)副本,并分別存放于不同的物理位置。然而,上述多副本的容災(zāi)方法需要配置更多的存儲(chǔ)設(shè)備,從而增加了存儲(chǔ)設(shè)備的成本,以三副本為例,上述多副本的容災(zāi)方法將增加200%的存儲(chǔ)冗余,以及增加200%的存儲(chǔ)成本。相對(duì)于多副本的容災(zāi)方法,RS(里所,Reed-Solomon)方法可以依據(jù)指定的數(shù)據(jù)塊生成對(duì)應(yīng)的校驗(yàn)塊,并在數(shù)據(jù)塊失效時(shí),可以依據(jù)未失效的數(shù)據(jù)塊和校驗(yàn)塊恢復(fù)出失效的數(shù)據(jù)塊,因此能夠以更小的數(shù)據(jù)冗余度獲得更高數(shù)據(jù)可靠性。例如,在指定的數(shù)據(jù)塊及其對(duì)應(yīng)校驗(yàn)塊的大小分別為100M和30M時(shí),上述RS方法可以使用30%的冗余達(dá)到三副本的存儲(chǔ)可靠性。然而,在失效的數(shù)據(jù)塊的恢復(fù)過(guò)程中,上述RS方法通常需要讀取全部未失效的數(shù)據(jù)塊和校驗(yàn)塊,也即,上述RS方法在數(shù)據(jù)恢復(fù)過(guò)程中無(wú)法有效利用IO(輸入輸出,Input Output),通常30%冗余的RS方法在數(shù)據(jù)恢復(fù)過(guò)程中需要讀取100M的數(shù)據(jù),這樣將造成10倍的IO消耗。
技術(shù)實(shí)現(xiàn)思路
本申請(qǐng)實(shí)施例所要解決的技術(shù)問(wèn)題是提供一種數(shù)據(jù)存儲(chǔ)方法和一種數(shù)據(jù)恢復(fù)方法,能夠減少數(shù)據(jù)恢復(fù)過(guò)程中讀取的數(shù)據(jù)量,進(jìn)而能夠大大降低數(shù)據(jù)恢復(fù)過(guò)程中的IO消耗。相應(yīng)的,本申請(qǐng)實(shí)施例還提供了一種數(shù)據(jù)存 ...
【技術(shù)保護(hù)點(diǎn)】
一種數(shù)據(jù)存儲(chǔ)方法,其特征在于,包括:依據(jù)待存儲(chǔ)數(shù)據(jù)的局部數(shù)據(jù),對(duì)整體生成矩陣的行進(jìn)行拆分,以得到對(duì)應(yīng)的局部生成矩陣;所述局部生成矩陣的拆分行中包括零元素;利用所述局部生成矩陣,對(duì)所述待存儲(chǔ)數(shù)據(jù)的整體數(shù)據(jù)進(jìn)行編碼,以得到對(duì)應(yīng)的整體校驗(yàn)數(shù)據(jù);所述整體校驗(yàn)數(shù)據(jù)包括:與所述局部數(shù)據(jù)相關(guān)的局部校驗(yàn)數(shù)據(jù);存儲(chǔ)所述局部校驗(yàn)數(shù)據(jù)及其對(duì)應(yīng)的局部數(shù)據(jù)。
【技術(shù)特征摘要】
1.一種數(shù)據(jù)存儲(chǔ)方法,其特征在于,包括:依據(jù)待存儲(chǔ)數(shù)據(jù)的局部數(shù)據(jù),對(duì)整體生成矩陣的行進(jìn)行拆分,以得到對(duì)應(yīng)的局部生成矩陣;所述局部生成矩陣的拆分行中包括零元素;利用所述局部生成矩陣,對(duì)所述待存儲(chǔ)數(shù)據(jù)的整體數(shù)據(jù)進(jìn)行編碼,以得到對(duì)應(yīng)的整體校驗(yàn)數(shù)據(jù);所述整體校驗(yàn)數(shù)據(jù)包括:與所述局部數(shù)據(jù)相關(guān)的局部校驗(yàn)數(shù)據(jù);存儲(chǔ)所述局部校驗(yàn)數(shù)據(jù)及其對(duì)應(yīng)的局部數(shù)據(jù)。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,通過(guò)如下步驟獲取所述待存儲(chǔ)數(shù)據(jù)的局部數(shù)據(jù):對(duì)所述待存儲(chǔ)數(shù)據(jù)進(jìn)行數(shù)據(jù)塊劃分;對(duì)劃分得到的數(shù)據(jù)塊進(jìn)行分組,并依據(jù)所述分組得到對(duì)應(yīng)的局部數(shù)據(jù)。3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述待存儲(chǔ)數(shù)據(jù)的局部數(shù)據(jù)包括:依據(jù)所述待存儲(chǔ)數(shù)據(jù)對(duì)應(yīng)分組的局部數(shù)據(jù),所述局部校驗(yàn)數(shù)據(jù)包括:?jiǎn)畏纸M的局部數(shù)據(jù)對(duì)應(yīng)的第一局部校驗(yàn)數(shù)據(jù);和/或分組組合的局部數(shù)據(jù)對(duì)應(yīng)的第二局部校驗(yàn)數(shù)據(jù)。4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述方法還包括:存儲(chǔ)單分組信息與第一局部校驗(yàn)數(shù)據(jù)的存儲(chǔ)地址之間的映射關(guān)系;和/或存儲(chǔ)分組組合信息與第二局部校驗(yàn)數(shù)據(jù)的存儲(chǔ)地址之間的映射關(guān)系。5.一種數(shù)據(jù)恢復(fù)方法,其特征在于,包括:針對(duì)待恢復(fù)數(shù)據(jù),從預(yù)先存儲(chǔ)的數(shù)據(jù)中讀取對(duì)應(yīng)的局部校驗(yàn)數(shù)據(jù)和局部數(shù)據(jù);其中,所述局部校驗(yàn)數(shù)據(jù)為依據(jù)局部生成矩陣對(duì)所述待存儲(chǔ)數(shù)據(jù)的整體數(shù)據(jù)進(jìn)行編碼得到,所述局部生成矩陣為對(duì)整體生成矩陣的行進(jìn)行拆分得到,所述局部生成矩陣的拆分行中包括零元素;依據(jù)所讀取的局部校驗(yàn)數(shù)據(jù)和局部數(shù)據(jù),對(duì)所述待恢復(fù)數(shù)據(jù)進(jìn)行恢復(fù)。6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述依據(jù)所讀取的局部校驗(yàn)數(shù)據(jù)和局部數(shù)據(jù),對(duì)所述待恢復(fù)數(shù)據(jù)進(jìn)行恢復(fù)的步驟,包括:構(gòu)造局部解碼矩陣;所述局部解碼矩陣包括:?jiǎn)挝痪仃嚨男泻途植可删仃嚨男?,所述單位矩陣的行不包括所述待恢?fù)數(shù)據(jù)對(duì)應(yīng)行,所述局部解碼矩陣為方陣;依據(jù)所述局部解碼矩陣對(duì)所述局部校驗(yàn)數(shù)據(jù)和局部數(shù)據(jù)進(jìn)行解碼,以得到所述待恢復(fù)數(shù)據(jù)對(duì)應(yīng)的原始數(shù)據(jù)。7.根據(jù)權(quán)利要求5或6所述的方法,其特征在于,所述針對(duì)待恢復(fù)數(shù)據(jù),從預(yù)先存儲(chǔ)的數(shù)據(jù)中讀取對(duì)應(yīng)的局部校驗(yàn)數(shù)據(jù)的步驟,包括:從所述待恢復(fù)數(shù)據(jù)中獲取屬于單目標(biāo)分組的第一待恢復(fù)數(shù)據(jù);在所述第一待恢復(fù)數(shù)據(jù)的數(shù)據(jù)長(zhǎng)度不超過(guò)所述單目標(biāo)分組對(duì)應(yīng)第一局部校驗(yàn)數(shù)據(jù)的數(shù)據(jù)長(zhǎng)度時(shí),從預(yù)先存儲(chǔ)的數(shù)據(jù)中讀取所述單目標(biāo)分組對(duì)應(yīng)的第一局部校驗(yàn)數(shù)據(jù)和局部數(shù)據(jù),作為所述第一待恢復(fù)數(shù)據(jù)對(duì)應(yīng)的局部校驗(yàn)數(shù)據(jù)和局部數(shù)據(jù);其中,所述第一局部校驗(yàn)數(shù)據(jù)為依據(jù)單分組的局部數(shù)據(jù)得到。8.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述從預(yù)先存儲(chǔ)的數(shù)據(jù)中讀取所述單目標(biāo)分組對(duì)應(yīng)的第一局部校驗(yàn)數(shù)據(jù)的步驟,包括:依據(jù)預(yù)先存儲(chǔ)的單分組信息與第一局部校驗(yàn)數(shù)據(jù)的存儲(chǔ)地址之間的映射關(guān)系,獲取所述單目標(biāo)分組對(duì)應(yīng)第一局部校驗(yàn)數(shù)據(jù)的第一目標(biāo)存儲(chǔ)地址;依據(jù)所述第一目標(biāo)存儲(chǔ)地址,從預(yù)先存儲(chǔ)的數(shù)據(jù)中讀取對(duì)應(yīng)的第一局部校驗(yàn)數(shù)據(jù)。9.根據(jù)權(quán)利要求5或6所述的方法,其特征在于,所述針對(duì)待恢復(fù)數(shù)據(jù),從預(yù)先存儲(chǔ)的數(shù)據(jù)中讀取對(duì)應(yīng)的局部校驗(yàn)數(shù)據(jù)的步驟,包括:從所述待恢復(fù)數(shù)據(jù)中獲取屬于單目標(biāo)分組的第一待恢復(fù)數(shù)據(jù);在所述第一待恢復(fù)數(shù)據(jù)的數(shù)據(jù)長(zhǎng)度超過(guò)所述單目標(biāo)分組對(duì)應(yīng)第一局部校驗(yàn)數(shù)據(jù)的數(shù)據(jù)長(zhǎng)度時(shí),從所述待恢復(fù)數(shù)據(jù)中獲取屬于目標(biāo)分組組合的第二待恢復(fù)數(shù)據(jù);所述目標(biāo)分組組合包括:?jiǎn)文繕?biāo)分組;在所述第二待恢復(fù)數(shù)據(jù)的數(shù)據(jù)長(zhǎng)度不超過(guò)所述目標(biāo)分組組合對(duì)應(yīng)第二局部校驗(yàn)數(shù)據(jù)的數(shù)據(jù)長(zhǎng)度時(shí),從預(yù)先存儲(chǔ)的數(shù)據(jù)中讀取所述目標(biāo)分組組合對(duì)應(yīng)的第二局部校驗(yàn)數(shù)據(jù)和局部數(shù)據(jù),作為所述第二待恢復(fù)數(shù)據(jù)對(duì)應(yīng)的局部校驗(yàn)數(shù)據(jù)和局部數(shù)據(jù);其中,所述第二局部校驗(yàn)數(shù)據(jù)為依據(jù)分組組合的局部數(shù)據(jù)得到。10.根據(jù)權(quán)利要求9所述的方法,其特征在于,所述從預(yù)先存儲(chǔ)的數(shù)據(jù)中讀取所述目標(biāo)分組組合對(duì)應(yīng)的第二局部校驗(yàn)數(shù)據(jù)的步驟,包括:依據(jù)預(yù)先存儲(chǔ)的分組組合信息與第二局部校驗(yàn)數(shù)據(jù)的存儲(chǔ)地址之間的映射關(guān)...
【專(zhuān)利技術(shù)屬性】
技術(shù)研發(fā)人員:張帥,陳曉輝,尹殷,李凱,
申請(qǐng)(專(zhuān)利權(quán))人:北京三快在線科技有限公司,
類(lèi)型:發(fā)明
國(guó)別省市:北京;11
還沒(méi)有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。