CN115993941A - 分布式数据存储纠错方法及系统 - Google Patents

分布式数据存储纠错方法及系统 Download PDF

Info

Publication number
CN115993941A
CN115993941A CN202310287200.9A CN202310287200A CN115993941A CN 115993941 A CN115993941 A CN 115993941A CN 202310287200 A CN202310287200 A CN 202310287200A CN 115993941 A CN115993941 A CN 115993941A
Authority
CN
China
Prior art keywords
data
error correction
groups
storage
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202310287200.9A
Other languages
English (en)
Other versions
CN115993941B (zh
Inventor
万春勇
骆政亟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shaanxi Zhong'an Shulian Information Technology Co ltd
Original Assignee
Shaanxi Zhong'an Shulian Information Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shaanxi Zhong'an Shulian Information Technology Co ltd filed Critical Shaanxi Zhong'an Shulian Information Technology Co ltd
Priority to CN202310287200.9A priority Critical patent/CN115993941B/zh
Publication of CN115993941A publication Critical patent/CN115993941A/zh
Application granted granted Critical
Publication of CN115993941B publication Critical patent/CN115993941B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明提供了一种分布式数据存储纠错方法及系统,分布式数据存储纠错方法包括:在数据存储过程中,将原始文件划分成多组信息数据;将多组信息数据进行编码后对应得到多组编码数据,将多组编码数据存储在多个存储节点中;在数据读取过程中,读取存储节点存储的多组编码数据;利用多组编码数据之间的约束关系进行纠错恢复以得到多组信息数据;将恢复得到的多组信息数据合并成原始文件。分布式数据存储纠错系统应用于分布式数据存储纠错方法。本发明技术避免了数据恢复过程中的多元有限域上的矩阵求逆运算,降低了数据恢复的计算复杂度,进而提高了数据恢复效率。

Description

分布式数据存储纠错方法及系统
技术领域
本发明涉及数据存储技术领域,具体而言,涉及一种分布式数据存储纠错方法及系统。
背景技术
随着信息技术的飞速发展,需要的数据存储量呈爆炸式增长,从而对数据存储性能提出了更高要求。分布式存储在性能方面具有其他存储方式无法比拟的优势,成为当今主流的数据存储方式,被若干大型数据中心采用。然而,数据存储节点不可避免地受到一些因素(例如发生故障)的影响而失效,导致存储数据丢失。因此,如何设计有效方法对失效的存储节点的数据进行纠错和修复,获得更好的数据存储性能,是分布式存储系统面临的关键问题之一。
容错技术是提高分布式存储系统数据可靠性的重要手段。目前常用的分布式存储系统容错技术主要包括多副本技术和纠删码两大类。多副本技术把相同数据的多个副本存储到不同的节点上,这些副本之间相互备份,当某个存储节点失效时,可以通过具有相同数据副本的存储节点进行数据恢复。通过设计副本数目,多副本技术可以提高分布式存储系统的可靠性,但是系统的整体存储效率过低。与多副本技术相比,使用纠删码来构建存储系统的容错机制能够在可靠性和效率之间获得更好的折中。这类容错机制中最常使用的纠删码是极大距离可分码(Maximum Distance Separable code,简称为MDS码)。MDS码具有最优恢复能力,并且容错能力可以灵活配置。但是,MDS码在数据恢复过程中涉及多元有限域上的大量计算,特别地涉及多元有限域上的矩阵求逆计算,具有高复杂度的特征,不利于实际分布式存储系统中的应用。
发明内容
本发明的主要目的在于提供一种分布式数据存储纠错方法及系统,以至少解决现有技术中纠删码数据恢复过程中的多元有限域上的矩阵求逆运算计算复杂度太高,数据恢复时间太长的问题。
为了实现上述目的,本发明提供了一种分布式数据存储纠错方法及系统。
本发明一方面提供了一种分布式数据存储纠错方法,包括:在数据存储过程中,将原始文件划分成多组信息数据;将多组信息数据进行编码后对应得到多组编码数据,将多组编码数据存储在多个存储节点中;在数据读取过程中,读取存储节点存储的多组编码数据;利用多组编码数据之间的约束关系进行纠错恢复以得到多组信息数据;将恢复得到的多组信息数据合并成原始文件。
进一步地,每组信息数据包含若干块,每块信息数据的长度为固定值。
进一步地,将多组信息数据进行编码后对应得到多组编码数据包括:采用纠删码将信息数据和多组预先选取的系数通过运算得到校验数据;将得到的校验数据和信息数据共同编码组成编码数据。
进一步地,将多组编码数据存储在存储节点中包括:将每组编码数据在每个存储节点存储为一个数据块,数据块中包含校验数据和信息数据,信息数据存储在信息节点,校验数据存储在校验节点;其中,存储节点中包括信息节点和校验节点。
进一步地,多组预先选取的系数使在读取存储节点存储的编码数据时,读取丢失的数据块数量不超过校验数据的块数时,通过纠错译码恢复出原始的信息数据。
进一步地,利用多组编码数据之间的约束关系进行纠错恢复包括:读取存储节点存储的数据块中的信息数据和校验数据;将读取的数据块的结果构成向量;若读取的数据块没有丢失,则读取结果为该数据块的值,否则读取结果为一个特殊固定值,记为缺失值;判断读取结果向量中信息数据是否丢失;如果信息数据丢失,对读取结果向量中的缺失值进行恢复;纠错恢复多组编码数据后,得到多组信息数据。
进一步地,对读取结果向量中的缺失值进行恢复包括:将读取结果向量传递至预设校验方程;根据预设校验方程判断读取结果是否可以将丢失数据恢复;若可以恢复,则进行数据恢复,并将恢复数据传递至读取结果向量;重复上述过程,直至信息数据全部恢复或者恢复过程无法继续进行。
进一步地,通过在预设校验方程中设置条件进行判断恢复过程是否可以继续进行。
本发明另一方面提供了一种分布式数据存储纠错系统,分布式数据存储纠错系统应用于分布式数据存储纠错方法,分布式数据存储纠错系统包括:串并变换单元,串并变换单元用于将原始文件划分成多组信息数据;编码单元,编码单元用于将多组信息数据进行编码并对应得到多组编码数据;存储单元,存储单元用于将多组编码数据存储在存储节点中;读取单元,读取单元用于读取存储节点存储的多组编码数据;纠错恢复单元,纠错恢复单元用于利用多组编码数据之间的约束关系进行纠错恢复,以得到多组信息数据;合并单元,合并单元用于将恢复得到的多组信息数据合并成原始文件。
本发明技术方案提供了一种分布式数据存储纠错方法及系统。分布式数据存储纠错方法,包括:在数据存储过程中,将原始文件划分成多组信息数据;将多组信息数据进行编码后对应得到多组编码数据,将多组编码数据存储在多个存储节点中;在数据读取过程中,读取存储节点存储的多组编码数据;利用多组编码数据之间的约束关系进行纠错恢复以得到多组信息数据;将恢复得到的多组信息数据合并成原始文件。一种分布式数据存储纠错系统,分布式数据存储纠错系统应用于分布式数据存储纠错方法,分布式数据存储纠错系统包括:串并变换单元,串并变换单元用于将原始文件划分成多组信息数据;编码单元,编码单元用于将多组信息数据进行编码并对应得到多组编码数据;存储单元,存储单元用于将多组编码数据存储在存储节点中;读取单元,读取单元用于读取存储节点存储的多组编码数据;纠错恢复单元,纠错恢复单元用于利用多组编码数据之间的约束关系进行纠错恢复,以得到多组信息数据;合并单元,合并单元用于将恢复得到的多组信息数据合并成原始文件。
本发明技术避免了纠删码数据恢复过程中的多元有限域上的矩阵求逆运算,降低了数据恢复的计算复杂度,进而提高了数据恢复效率。
附图说明
构成本申请的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例可选的一种分布式数据存储纠错方法的流程图;
图2是根据本发明实施例可选的一种分布式数据存储纠错方法的纠删码编码示意图;
图3是根据本发明实施例可选的一种分布式数据存储纠错方法的纠删码纠错恢复数据示意图;
图4是根据本发明实施例可选的一种分布式数据存储纠错方法的纠删码纠错恢复数据算法流程图;
图5是根据本发明实施例可选的一种分布式数据存储纠错方法的纠删码的校验矩阵示意图;
图6是根据本发明实施例可选的一种分布式数据存储纠错方法的纠删码的校验矩阵非零元素的逆构成的矩阵示意图;
图7是根据本发明实施例可选的一种分布式数据存储纠错系统示意图。
其中,上述附图包括以下附图标记:
10、串并变换单元;20、编码单元;30、存储单元;40、读取单元;50、纠错恢复单元;60、合并单元;201、信息数据;202、编码数据;2021、信息节点;2022、校验节点;301、读取数据。
实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
图1是根据本发明实施例可选的一种分布式数据存储纠错方法的流程图。一种分布式数据存储纠错方法,包括以下步骤:
S101:在数据存储过程中,将原始文件划分成多组信息数据;
S102:将多组信息数据进行编码后对应得到多组编码数据,将多组编码数据存储在多个存储节点中;
S103:在数据读取过程中,读取存储节点存储的多组编码数据;
S104:利用多组编码数据之间的约束关系进行纠错恢复以得到多组信息数据;
S105:将恢复得到的多组信息数据合并成原始文件。
在上述步骤中,数据编码和纠错恢复是最关键的操作,直接影响存储系统的可靠性和计算复杂度。本发明提供了分布式存储系统中的高效数据存储及纠错恢复方案。
图2是根据本发明实施例可选的一种分布式数据存储纠错方法的纠删码编码示意图。假定每组信息数据201包含k块。为了便于实现,数据存储和读取通常以字节(8比特)为单位,即每块信息数据的长度选取为1字节。此时,每块信息数据对应有限域GF(256)中的一个元素。GF(256)是二元域GF(2)的扩域,其元素可用0、1、2 …255表示,每个元素对应于一个8比特二进制向量。GF(256)由GF(2)上的八次本原多项式构造得到,具体构造是本领域公知内容,不再详细介绍。数据编码采用纠删码方式,利用k块信息数据计算r块校验数据,得到n = k + r块编码数据202。
假定信息数据d = [d0,d1,…,dk-1],校验数据p = [p0,p1,…,pr-1]。校验数据的计算方法为:
p= P0,0d+ P0,1d+ … + P0,k-1dk-1
p= P1,0d+ P1,1d+ … + P1,k-1dk-1
pr-1 = Pr-1,0d+ P r-1,1d+ … + P r-1,k-1dk-1
其中,r×k个系数Pi,j(0≤i<r, 0≤j<k)为GF(256)中的元素。系数Pi,j(0≤i<r, 0≤j<k)的选择使得纠删码满足MDS码性质,即使得编码数据读取过程中丢失的数据数目不超过校验数据的块数r时,就可以通过纠错译码恢复出原始k个信息数据。
在完成计算后,将编码数据按块进行存储,每个存储节点存储一个数据块,其中k个信息节点2021存储信息数据,r个校验节点2022存储校验数据。
为了更清楚地说明上述编码计算和数据存储过程,下面以k=3、r=3为例具体进行描述。
假定信息数据d = [93,243,251],系数选择为P0,0 = 57、P0,1 = 176、P0,2 = 100、P1,0 = 193、P1,1 = 91、P1,2 = 25、P2,0 = 203、P2,1 = 87、P2,2 = 54使得构造的纠删码满足MDS性质。通过计算可以得出
p= 57×93 + 176×243 + 100×251 = 4
p= 193×93 + 91×243 + 25×251 = 7
p= 203×93 + 87×243 + 54×251 = 9
然后,将信息数据和校验数据进行存储,其中三个信息节点分别存储数据93、243、251;三个校验节点分别存储数据4、7、9。
图3是根据本发明实施例可选的一种分布式数据存储纠错方法的纠删码纠错恢复数据示意图。如前所述,数据存储节点的失效(图中标×的节点)会导致存储数据丢失。数据读取过程读取每个存储节点的数据块,获得读取数据301,然后将读取数据结果构成向量,其长度为n=k+r。若某个节点数据块没有丢失,则读取结果为该数据块的值,否则读取结果为缺失值(?)。数据纠错恢复采用特定的恢复方法,其保证当丢失数据数目不超过r时,就可以恢复出原始k个信息数据201。
目前典型的数据纠错恢复方案涉及多元有限域上的大量计算,特别地涉及多元有限域上的矩阵求逆计算,具有高复杂度的特征,不利于实际分布式存储系统中的应用。针对这一问题,本发明提出了一种分布式存储系统的纠删码高效纠错恢复算法。
图4是根据本发明实施例可选的一种分布式数据存储纠错方法的纠删码纠错恢复数据算法流程图。假定编码后的数据构成码字c = [d, p],纠删码的校验矩阵为H。由线性码性质可知,等式c∙HT = 0成立。其中,T表示矩阵转置。对于线性码,校验矩阵的构造是本领域公知内容,不再详细介绍。本发明利用上述约束关系,提出了一种高效数据纠错恢复算法,对读取结果向量中的缺失值进行恢复。
假定校验矩阵H的维数为m×n,H的第j行第i列元素为hji。定义I={1,2,…,n},J={1,2,…,m}。可以看出,I中每个元素对应编码后的一个数据块,J中每个元素对应一个校验方程。对于每个校验方程定义一个计数器,记tj为第j个校验方程的计数器。此外,对于任意i∈I,记N(i)={j∈J: hji≠0},对于任意j∈J,记M(j)={i∈I: hji≠0}。假定x为读取结果向量。纠错恢复过程将向量x传递至校验方程,判断是否可以将丢失数据恢复,若可以恢复,则将恢复数据传递至x。重复上述过程,直至信息数据全部恢复或者恢复过程无法继续。具体来说,提出的算法包含下述步骤:
S401:读取信息数据和校验数据。其中,信息数据的块数为k,校验数据的块数为r。
S402:构造长度为n向量x。x的第i个分量xi对应第i块数据,若在读取过程中未丢失,则xi为该块数据值,若在读取过程中丢失,则xi为?。
S403:判断x中信息数据是否丢失。若无丢失,转步骤S415;否则转步骤S404。
S404:置flag = 0。对于任意j∈J,置t= 0。
S405:置i = 1。
S406:将数据xi传递至N(i)中的校验方程,具体方法为:
若x≠ ?,则传递至j∈N(i)的数据为hjixi
若x= ?,则对于任意j∈N(i),t← tj+ 1;
S407:判断i = n是否成立,若不成立,转步骤S408;否则转步骤S409。
S408:置i ← i + 1,转步骤S406。
S409:置j = 1。
S410:判断t=1是否成立,若成立,转步骤S411;否则转步骤S412。
S411:记xi* = ?,i*∈M(j),恢复数据xi*,具体方法为
其中,为hji*的逆。置flag = 1。
S412:判断j = m是否成立,若不成立,转步骤S413;否则转步骤S414。
S413:置j ← j + 1,转步骤S410。
S414:判断flag = 0是否成立,若成立,则转步骤S415;否则转步骤S403。
S415:结束数据恢复算法。
从上面描述的步骤中可以看出,本发明提出的数据恢复算法避免了多元有限域上的矩阵求逆计算。此外,从步骤S411可知,在数据恢复的计算过程中,需要用到校验矩阵H元素hji*的逆。元素求逆可以在数据恢复过程中进行计算,也可以预先计算出校验矩阵H每个元素的逆,保存在一个矩阵F中。
为了更清楚地说明本发明提出的数据恢复算法,仍然以前面给出的k=3、r=3的纠删码为例具体进行描述算法的执行过程。
图5是根据本发明实施例可选的一种分布式数据存储纠错方法的纠删码的校验矩阵示意图。图6是根据本发明实施例可选的一种分布式数据存储纠错方法的纠删码的校验矩阵非零元素的逆构成的矩阵示意图。从图5和图6可知,m=6、n=6。假定编码后的数据构成码字[93,243,251,4,7,9],其中前三块数据为信息数据,后三块数据为校验数据。假定第1个信息节点、第2个信息节点、第3个校验节点失效。
步骤S401读取信息数据?、?、251,读取校验数据4、7、?。步骤S402构造向量x=[?,?,251,4,7,?]。步骤S403判断x中信息数据有丢失,转步骤S404,置flag = 0,对于j∈J={1,2,3,4,5,6},置t= 0。
步骤S405~S408依次将数据x1~x6传递至校验方程,具体为:
i = 1:将数据x1传递至第1、4、5、6个校验方程,结果为t= 1,t= 0,t= 0,t=1,t= 1,t= 1;
i = 2:将数据x2传递至第2、4、5、6个校验方程,结果为t= 1,t= 1,t= 0,t=2,t= 2,t= 2;
i = 3:将数据x3传递至第3、4、5、6个校验方程,传递至第3个校验方程的数据为1×251=251,传递至第4个校验方程的数据为100×251=241,传递至第5个校验方程的数据为25×251=123,传递至第6个校验方程的数据为54×251=61;
i = 4:将数据x4传递至第1、2、3、4个校验方程,传递至第1个校验方程的数据为64×4=29,传递至第2个校验方程的数据为56×4=224,传递至第3个校验方程的数据为14×4=56,传递至第4个校验方程的数据为1×4=4;
i = 5:将数据x5传递至第1、2、3、5个校验方程,传递至第1个校验方程的数据为167×7=82,传递至第2个校验方程的数据为13×7=35,传递至第3个校验方程的数据为108×7=25,传递至第5个校验方程的数据为1×7=7;
i = 6:将数据x6传递至第1、2、3、6个校验方程,结果为t= 2,t= 2,t= 1,t=2,t= 2,t= 3。
步骤S409~S413进行数据恢复,具体为
j = 1和j = 2:不满足t= 1;
j = 3:i*=6,x= 63-1×(1×251+14×4+108×7) =225×(251+56+25)=9,置flag=1;
j = 4、5、6:不满足t= 1。
此时,向量x=[?,?,251,4,7,9]。
步骤S414依据flag值判断后转步骤S403,判断x中信息数据有丢失,转步骤S404,置flag = 0,对于j∈J={1,2,3,4,5,6},置t= 0。
步骤S405~S408依次将数据x1~x6传递至校验方程,具体为:
i = 1:将数据x1传递至第1、4、5、6个校验方程,结果为t= 1,t= 0,t= 0,t=1,t= 1,t= 1;
i = 2:将数据x2传递至第2、4、5、6个校验方程,结果为t= 1,t= 1,t= 0,t=2,t= 2,t= 2;
i = 3:将数据x3传递至第3、4、5、6个校验方程,传递至第3个校验方程的数据为1×251=251,传递至第4个校验方程的数据为100×251=241,传递至第5个校验方程的数据为25×251=123,传递至第6个校验方程的数据为54×251=61;
i = 4:将数据x4传递至第1、2、3、4个校验方程,传递至第1个校验方程的数据为64×4=29,传递至第2个校验方程的数据为56×4=224,传递至第3个校验方程的数据为14×4=56,传递至第4个校验方程的数据为1×4=4;
i = 5:将数据x5传递至第1、2、3、5个校验方程,传递至第1个校验方程的数据为167×7=82,传递至第2个校验方程的数据为13×7=35,传递至第3个校验方程的数据为108×7=25,传递至第5个校验方程的数据为1×7=7;
i = 6:将数据x6传递至第1、2、3、6个校验方程,传递至第1个校验方程的数据为2×9=18,传递至第2个校验方程的数据为111×9=48,传递至第3个校验方程的数据为63×9=218,传递至第6个校验方程的数据为1×9=9。
步骤S409~S413进行数据恢复,具体为
j = 1:i*=1,x= 1-1×(64×4+167×7+2×9) = 1×(29+82+18)=93,置flag=1;
j = 2:i*=2,x= 1-1×(56×4+13×7+111×9) = 1×(224+35+48)=243,置flag=1;
j = 3、4、5、6:不满足t= 1。
此时,向量x=[93,243,251,4,7,9]。
步骤S414依据flag值判断后转步骤S403,判断x中信息数据无丢失,转步骤S415,结束数据纠错恢复过程。
图7是根据本发明实施例可选的一种分布式数据存储纠错系统示意图。如图7所示,本发明提供了一种分布式数据存储纠错系统,分布式数据存储纠错系统应用于分布式数据存储纠错方法,分布式数据存储纠错系统包括:
串并变换单元10,串并变换单元10用于将原始文件划分成多组信息数据;
编码单元20,编码单元20用于将多组信息数据进行编码并对应得到多组编码数据;
存储单元30,存储单元30用于将多组编码数据存储在存储节点中;
读取单元40,读取单元40用于读取存储节点存储的多组编码数据;
纠错恢复单元50,纠错恢复单元50用于利用多组编码数据之间的约束关系进行纠错恢复,以得到多组信息数据;
合并单元60,合并单元60用于将恢复得到的多组信息数据合并成原始文件。
本文中所公开的实施例描述的各示例的单元及模型步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (9)

1.一种分布式数据存储纠错方法,其特征在于,包括:
在数据存储过程中,将原始文件划分成多组信息数据;
将多组所述信息数据进行编码后对应得到多组编码数据,将多组所述编码数据存储在多个存储节点中;
在数据读取过程中,读取所述存储节点存储的多组所述编码数据;
利用多组所述编码数据之间的约束关系进行纠错恢复以得到多组所述信息数据;
将恢复得到的多组所述信息数据合并成所述原始文件。
2.根据权利要求1所述的分布式数据存储纠错方法,其特征在于,每组所述信息数据包含若干块,每块所述信息数据的长度为固定值。
3.根据权利要求1所述的分布式数据存储纠错方法,其特征在于,所述将多组所述信息数据进行编码后对应得到多组编码数据包括:
采用纠删码将所述信息数据和多组预先选取的系数通过运算得到校验数据;
将得到的所述校验数据和所述信息数据共同编码组成所述编码数据。
4.根据权利要求3所述的分布式数据存储纠错方法,其特征在于,将多组所述编码数据存储在存储节点中包括:
将每组所述编码数据在每个所述存储节点存储为一个数据块,所述数据块中包含所述校验数据和所述信息数据,所述信息数据存储在信息节点,所述校验数据存储在校验节点;
其中,所述存储节点中包括所述信息节点和所述校验节点。
5.根据权利要求4所述的分布式数据存储纠错方法,其特征在于,
在所述读取所述存储节点存储的多组所述编码数据时,读取丢失的所述数据块数量不超过所述校验数据的块数时,通过纠错译码恢复出原始的所述信息数据。
6.根据权利要求4所述的分布式数据存储纠错方法,其特征在于,利用多组所述编码数据之间的约束关系进行纠错恢复包括:
读取所述存储节点存储的所述数据块中的所述信息数据和所述校验数据;
将读取的所述数据块的结果构成向量;若读取的所述数据块没有丢失,则读取结果为该所述数据块的值,否则读取结果为一个特殊固定值,记为缺失值;
判断读取结果向量中所述信息数据是否丢失;
如果所述信息数据丢失,对所述读取结果向量中的所述缺失值进行恢复;纠错恢复多组所述编码数据后,得到多组所述信息数据。
7.根据权利要求 6所述的分布式数据存储纠错方法,其特征在于,所述对所述读取结果向量中的所述缺失值进行恢复包括:
将所述读取结果向量传递至预设校验方程;
根据所述预设校验方程判断所述读取结果是否可以将丢失数据恢复;
若可以恢复,则进行数据恢复,并将恢复数据传递至所述读取结果向量;
重复上述过程,直至所述信息数据全部恢复或者恢复过程无法继续进行。
8.根据权利要求7所述的分布式数据存储纠错方法,其特征在于,通过在所述预设校验方程中设置条件进行判断所述恢复过程是否可以继续进行。
9.一种分布式数据存储纠错系统,所述分布式数据存储纠错系统应用于权利要求1到8中任一条中所述的分布式数据存储纠错方法,其特征在于,所述分布式数据存储纠错系统包括:
串并变换单元(10),所述串并变换单元(10)用于将原始文件划分成多组信息数据;
编码单元(20),所述编码单元(20)用于将多组所述信息数据进行编码并对应得到多组编码数据;
存储单元(30),所述存储单元(30)用于将多组所述编码数据存储在存储节点中;
读取单元(40),所述读取单元(40)用于读取所述存储节点存储的多组所述编码数据;
纠错恢复单元(50),所述纠错恢复单元(50)用于利用多组所述编码数据之间的约束关系进行纠错恢复,以得到多组所述信息数据;
合并单元(60),所述合并单元(60)用于将恢复得到的多组所述信息数据合并成所述原始文件。
CN202310287200.9A 2023-03-23 2023-03-23 分布式数据存储纠错方法及系统 Active CN115993941B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310287200.9A CN115993941B (zh) 2023-03-23 2023-03-23 分布式数据存储纠错方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310287200.9A CN115993941B (zh) 2023-03-23 2023-03-23 分布式数据存储纠错方法及系统

Publications (2)

Publication Number Publication Date
CN115993941A true CN115993941A (zh) 2023-04-21
CN115993941B CN115993941B (zh) 2023-06-02

Family

ID=85992428

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310287200.9A Active CN115993941B (zh) 2023-03-23 2023-03-23 分布式数据存储纠错方法及系统

Country Status (1)

Country Link
CN (1) CN115993941B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100218037A1 (en) * 2008-09-16 2010-08-26 File System Labs Llc Matrix-based Error Correction and Erasure Code Methods and Apparatus and Applications Thereof
CN101834899A (zh) * 2010-04-29 2010-09-15 中科院成都信息技术有限公司 一种分布式自适应编码存储方法
CN107844272A (zh) * 2017-10-31 2018-03-27 成都信息工程大学 一种提高纠错能力的交叉分组编译码方法
CN110178122A (zh) * 2018-07-10 2019-08-27 深圳花儿数据技术有限公司 分布式存储系统的数据同步修复方法及存储介质
CN111625394A (zh) * 2020-05-27 2020-09-04 成都信息工程大学 基于纠删码的数据恢复方法、装置、设备及存储介质
CN112860475A (zh) * 2021-02-04 2021-05-28 山东云海国创云计算装备产业创新中心有限公司 基于rs纠删码的校验块恢复方法、装置、系统及介质
CN113505019A (zh) * 2021-05-14 2021-10-15 山东云海国创云计算装备产业创新中心有限公司 一种纠删码数据及校验恢复方法、装置、设备及可读介质
CN114564337A (zh) * 2022-03-04 2022-05-31 中信银行股份有限公司 一种基于x码的分布式存储系统容错方法及系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100218037A1 (en) * 2008-09-16 2010-08-26 File System Labs Llc Matrix-based Error Correction and Erasure Code Methods and Apparatus and Applications Thereof
CN101834899A (zh) * 2010-04-29 2010-09-15 中科院成都信息技术有限公司 一种分布式自适应编码存储方法
CN107844272A (zh) * 2017-10-31 2018-03-27 成都信息工程大学 一种提高纠错能力的交叉分组编译码方法
CN110178122A (zh) * 2018-07-10 2019-08-27 深圳花儿数据技术有限公司 分布式存储系统的数据同步修复方法及存储介质
CN111625394A (zh) * 2020-05-27 2020-09-04 成都信息工程大学 基于纠删码的数据恢复方法、装置、设备及存储介质
CN112860475A (zh) * 2021-02-04 2021-05-28 山东云海国创云计算装备产业创新中心有限公司 基于rs纠删码的校验块恢复方法、装置、系统及介质
CN113505019A (zh) * 2021-05-14 2021-10-15 山东云海国创云计算装备产业创新中心有限公司 一种纠删码数据及校验恢复方法、装置、设备及可读介质
CN114564337A (zh) * 2022-03-04 2022-05-31 中信银行股份有限公司 一种基于x码的分布式存储系统容错方法及系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
M. MATUS; M. KOLESIK; J.V. MOLONEY; I.B. DJORDJEVIC ELECTRICAL AND COMPUTER ENGINEERING DEPARTMENT, UNIVERSITY OF ARIZONA TUCSON, : "All-optical message encoding, error detection and error correction", 《NUSOD \'05. PROCEEDINGS OF THE 5TH INTERNATIONAL CONFERENCE ON NUMERICAL SIMULATION OF OPTOELECTRONIC DEVICES, 2005.》, pages 121 - 122 *
冯凯杰: "基于软编码与变长编码的自纠错输出编码算法研究", 《中国优秀硕士学位论文全文数据库信息科技辑》, pages 140 - 38 *
胡至洵;: "面向分布式文件存储系统的数据恢复策略", 能源与环保, no. 03 *

Also Published As

Publication number Publication date
CN115993941B (zh) 2023-06-02

Similar Documents

Publication Publication Date Title
Blaum et al. EVENODD: An efficient scheme for tolerating double disk failures in RAID architectures
CN103392172B (zh) 纠正存储阵列中的擦除
CN104160452B (zh) 用于存储数据和对擦除进行纠正的方法、系统和装置
US8166370B1 (en) Efficient RAID ECC controller for RAID systems
Greenan et al. Flat XOR-based erasure codes in storage systems: Constructions, efficient recovery, and tradeoffs
US20210271557A1 (en) Data encoding, decoding and recovering method for a distributed storage system
US7350126B2 (en) Method for constructing erasure correcting codes whose implementation requires only exclusive ORs
US6823425B2 (en) System and method for implementing advanced RAID using a set of unique matrices as coefficients
CN111078460B (zh) 一种快速纠删码计算方法
CN105808170B (zh) 一种能够修复单磁盘错误的raid6编码方法
CN113297001B (zh) 一种raid编解码方法及编解码电路
CN112000512B (zh) 一种数据修复方法及相关装置
CN109358980B (zh) 一种对数据更新和单磁盘错误修复友好的raid6编码方法
CN114281270B (zh) 一种数据存储方法、系统、设备以及介质
CN108762978B (zh) 一种局部部分重复循环码的分组构造方法
CN112799875A (zh) 基于高斯消元进行校验恢复的方法、系统、设备及介质
JP4733403B2 (ja) 復号器、データ記憶装置およびデータの誤り訂正の方法
WO2017185681A1 (zh) 一种gel码字结构编码和译码的方法、装置及相关设备
CN113258936B (zh) 一种基于循环移位的双重编码的构造方法
WO2020029418A1 (zh) 一种修复二进制码生成矩阵构造方法及修复方法
CN115993941B (zh) 分布式数据存储纠错方法及系统
JP7429223B2 (ja) ターボ積符号の復号方法、装置、デコーダー及びコンピュータ記憶媒体
CN115454712B (zh) 一种校验码恢复方法、系统、电子设备及存储介质
WO2017041232A1 (zh) 一种二进制循环码的编解码框架
WO2020029423A1 (zh) 一种修复二进制阵列码校验矩阵的构造方法及修复方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CB03 Change of inventor or designer information

Inventor after: Wan Chunyong

Inventor after: Luo Zhengcheng

Inventor before: Wan Chunyong

Inventor before: Luo Zhengji

CB03 Change of inventor or designer information