CN109062724B - 一种纠删码转换方法及终端 - Google Patents
一种纠删码转换方法及终端 Download PDFInfo
- Publication number
- CN109062724B CN109062724B CN201810806947.XA CN201810806947A CN109062724B CN 109062724 B CN109062724 B CN 109062724B CN 201810806947 A CN201810806947 A CN 201810806947A CN 109062724 B CN109062724 B CN 109062724B
- Authority
- CN
- China
- Prior art keywords
- code
- msr
- mds
- node
- memory
- 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.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1012—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
本发明公开了一种纠删码转换方法及终端,获取任意有限域上系统节点具有最佳修复带宽的MDS码的生成矩阵,提取生成矩阵内用于产生校验数据的元素,生成MSR码的校验矩阵;根据校验矩阵构造MSR码;本发明通过将任意有限域上系统节点具有最佳修复带宽的MDS码生成矩阵内用于产生校验数据的部分作为MSR码的校验矩阵,从而实现了对任何有限域上的系统节点具有最佳修复带宽的MDS码进行转换为MSR码的技术方案,所构造的MSR码所采用的有限域大小与原MDS码一致,且MSR码构造是基于已知的系统节点具有最佳修复带宽的MDS码,生成方式简单,易于软硬件上的实现。
Description
技术领域
本发明涉及分布式存储系统领域,尤其涉及一种纠删码转换方法及终端。
背景技术
随着互联网应用的飞速发展,网络上的数据量日益剧增,高效可靠地存储大数据便显得尤为重要。传统的集中式存储系统因可扩展性差、专用存储设备昂贵等缺点已不再能满足大规模数据的存储需要。分布式存储系统因具有较好的可扩展性、存储设备廉价等优点而得到了广泛的关注和应用。然而,分布式存储系统中各个节点的可靠性不高,失效现象时常发生,节点失效会增加数据丢失的可能性,进而降低系统的可靠性。为提高分布式存储系统的可靠性,需要在系统中增加冗余。常用的增加冗余的机制包括复制技术和纠删码技术。与复制技术相比,在冗余量相同的情况下纠删码技术能提供更高的可靠性,因而更具有优势。而在所有的纠删码中,MDS码如RS(Reed-Solomon)码因在冗余量相同的情况下具有最大的纠删错误能力,被广泛用于Google Colossus、Microsoft Azure等多个分布式云存储系统。对于一个采用(n,k)MDS码的分布式存储系统,通常是将源文件均分成k份,再用该MDS码进行编码后得到n份数据,然后分别存放在n个独立的存储设备或存储节点上。
在分布式存储系统中,当节点失效时,为了保持系统的可靠性,系统需修复出失效节点里的数据并将该数据存储在新的节点中,常用的修复方式是从其它存活的节点中下载数据以修复该失效节点,这些节点也被称之为帮助节点。在修复过程中,所下载数据的量被称为修复带宽。然而,对于采用传统的MDS码的分布式存储系统,在修复一个失效节点时需连接任意k个帮助节点并下载其中的全部数据,再重构源文件,然后再编码产生失效节点里的数据,相应的修复带宽最大,这给系统带来巨大的开销,参见图4。
为了降低修复带宽,基于网络编码的思想,文献"Network coding fordistributed storage systems,IEEE Trans.on Information Theory,vol.56,no.9,p.4539-4551,September 2010(基于网络编码的分布式存储系统,IEEE信息论汇刊,第56卷,第9期,第4539-4551页,2010年9月)"给出了单个节点的存储与修复带宽之间的最佳折中并提出了再生码,其中最重要的两类编码是最小存储再生(MSR,Minimum StorageRegenerating)码和最小带宽再生(MBR,Minimum Bandwidth Regenerating)码。而该文献中所构造的再生码是功能修复码,即代替失效节点的新节点存储的数据不需要与失效节点原来的数据完全一样,只需保持在功能上等价即可。然而,对于代替失效节点的新节点存储的数据完全与失效节点原来的数据一样的精确修复再生码,在实际应用中能极大的减小系统的复杂度,因而更贴合实际应用。因此,本发明主要关注精确修复再生码,特别地,关注精确修复的MSR码。
对于一份大小为k*N个元素的源文件,若存储在采用(n=k+r,k)MSR码的分布式存储系统中,需首先将源文件均分成k份,每份包含N个元素,然后对这k份数据编码得到n份数据,用长度为N的列向量fi表示,1≤i≤n。将这n份数据分别存储在一个包含n个存储节点的分布式存储系统中。特别地,若某k个节点存储的数据即是源文件,则称相应的编码为系统码。一个(n,k)MSR码具有:(1)MDS性质,即连接任意k个存储节点并下载其中的数据可以重构源文件;(2)最佳修复性质,即修复一个失效节点的带宽为γ=dN/(d-k+1),这可以通过连接d(k≤d≤n-1)个帮助节点并从每个帮助节点中下载N/(d-k+1)个元素实现,如图5所示。显然当d=n-1时,修复带宽最小。目前已知的精确修复MSR码大多考虑d=n-1的情形来最大的减小修复带宽,本发明也考虑这一种情况。
为减少系统的冗余以进一步降低存储开销,实际的分布式存储系统通常要求所采用的(n,k)MSR码是高码率的码,即k/n>1/2,而目前这种类型的MSR码非常稀少,但已知的系统节点具有最佳修复带宽的MDS码的构造较为丰富。申请号为CN201610237700.1,专利名称为一种由极大距离可分存储码生成最小存储再生码的一般方法,公开了一种将系统节点具有最佳修复带宽的MDS码转换为MSR码的一般方法,但该专利只能针对非二元域的MDS码进行转换,存在一定的缺陷。
发明内容
本发明所要解决的技术问题是:提供一种纠删码转换方法及终端,从而实现对任何有限域上的系统节点具有最佳修复带宽的MDS码转换为MSR码的技术方案,具有通用性。
为了解决上述技术问题,本发明采用的技术方案为:
1、一种纠删码转换方法,包括以下步骤:
S1、获取任意有限域上系统节点具有最佳修复带宽的MDS码的生成矩阵,提取所述生成矩阵内用于产生校验数据的元素,生成MSR码的校验矩阵;
S2、根据所述校验矩阵构造所述MSR码。
为了解决上述技术问题,本发明采用的另一种技术方案为:
一种纠删码转换终端,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
S1、获取任意有限域上系统节点具有最佳修复带宽的MDS码的生成矩阵,提取所述生成矩阵内用于产生校验数据的元素,生成MSR码的校验矩阵;
S2、根据所述校验矩阵构造所述MSR码。
本发明的有益效果是:
一种纠删码转换方法和终端,通过将任意有限域上系统节点具有最佳修复带宽的MDS码生成矩阵内用于产生校验数据的部分作为MSR码的校验矩阵,从而实现了对任何有限域上的系统节点具有最佳修复带宽的MDS码转换为MSR码的技术方案,所构造的MSR码所采用的有限域大小与原MDS码一致,且MSR码构造是基于已知的系统节点具有最佳修复带宽的MDS码,生成方式简单,易于软硬件上的实现。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,并可依照说明书的内容予以实施,以下以本发明的较佳实施例并配合附图详细说明如后,本发明的具体实施方式由以下实施例及其附图详细给出。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明涉及的一种纠删码转换方法的流程示意图;
图2为本发明涉及的系统节点具有最佳修复带宽的MDS码生成矩阵的示意图;
图3为本发明涉及的MSR码校验矩阵的示意图;
图4为本发明涉及的采用传统MDS码的分布式存储系统的编码、存储、重构源文件的结构示意图;
图5为本发明涉及的现有技术中MSR码修复单个失效节点的结构示意图;
图6为本发明涉及的一种纠删码转换终端的结构示意图。
其中,上述附图包括如下附图标记:
1、一种纠删码转换终端;2、存储器;3、处理器。
具体实施方式
下面将参考附图并结合实施例,来详细说明本发明:
在此之前,为了便于理解本发明的技术方案,对于本发明中涉及的英文缩写、设备等进行说明如下:
如图1至图3所示,一种纠删码转换方法,包括以下步骤:
S1、获取任意有限域上系统节点具有最佳修复带宽的MDS码的生成矩阵,提取所述生成矩阵内用于产生校验数据的元素,生成MSR码的校验矩阵;
S2、根据所述校验矩阵构造所述MSR码。
其中,任意有限域包括二元域和非二元域,如图2所示,假设采用的(n=k+r,k)MDS码C0的节点容量为N,生成矩阵G0中为用于产生校验数据的元素分别为Ai,j,i=1,2,…,r,j=1,2,…,k,存储节点j的修复矩阵为Sj。即若采用MDS码C0的分布式存储系统中的存储节点i所存储的数据用N维列向量fi表示,则它们满足:
fk+i=Ai,1f1+Ai,2f2+…+Ai,kfk,i=1,2,…,r。
其中,f1,…,fk为存储节点存储的源文件信息。
由此,将MDS码的生成矩阵作为MSR码的校验矩阵的关键信息,从而得到MSR码。
从上述描述可知,本发明的有益效果在于:通过将任意有限域上系统节点具有最佳修复带宽的MDS码的生成矩阵内用于产生校验数据的部分作为MSR码的校验矩阵,从而实现了对任何有限域上的系统节点具有最佳修复带宽的MDS码转换为MSR码的技术方案,所构造的MSR码所采用的有限域大小与原MDS码一致,且MSR码构造是基于已知的系统节点具有最佳修复带宽的MDS码,生成方式简单,易于软硬件上的实现。
进一步地,所述步骤S1中生成MSR码的校验矩阵的具体步骤为:
获取所述生成矩阵内用于产生校验数据的第X列元素,将所述第X列元素按照从上往下的顺序依次填充至所述校验矩阵的第X行上。
其中,如图3所示,获取生成矩阵G0用于产生校验数据的第1列元素A1.1至A1.k,成为了校验矩阵H1的第1行元素上,以此类推,将生成矩阵G0用于产生校验数据的每一列元素按照从上到下排序,并按照从左往右依次填充至校验矩阵H1。最终得到如图3所示的校验矩阵H1。
从上述描述可知,通过将系统节点具有最佳修复带宽的MDS码的生成矩阵进行简单的转换之后,得到了MSR码的校验矩阵,生成方式简单,易于软硬件上的实现。
进一步地,所述步骤S2具体为:
记采用所述MSR码的分布式存储系统的节点j所存储的数据为gj,j=1,2,…,k,所述MDS码的生成矩阵中用于产生校验数据的元素分别为Ai,j,i=1,2,…,r,j=1,2,…,k,则生成的MSR码通过以下方式定义:
Ai,1g1+Ai,2g2+…+Ai,kgk=0,i=1,2,…,r。
其中gj为Fq上长度为N的列向量,j=1,2,…,k。
从上述描述可知,提供了一种由校验矩阵构造MSR码的技术方案。
进一步地,所述步骤S1中的MDS码为(n=k+r,k)MDS码,所述步骤S2中的MSR码为新(n’=k,k’=k-r)MSR码,其中,n为MDS码内所有的存储节点数量,n’为MSR码内所有的存储节点数量,k为MDS码内存储源文件的存储节点数量,k’为MSR码内存储源文件的存储节点数量,r为存储校验数据的存储节点数量。
从上述描述可知,生成的MSR码与作为基码的MDS码之间的有限域大小一致且每一个存储节点的节点容量相同。
进一步地,还包括步骤:
判断是否收到修复指令,若收到,则连接除失效节点之外的所有存储节点上的数据,根据修复矩阵下载所需数据。
其中,对采用MSR码的分布式存储系统,修复其失效节点j时,从剩下的存储节点中下载的数据为Sjgt,其中t=1,…,k且t≠j。
失效节点j中的数据gj可通过解以下线性方程组来修复
同时,MSR码重构过程如下:若已连接存储节点i1,…,ik’,其中1≤ij≤k,j=1,2,…,k’,令集合{j1,…,jr}表示{1,…,k}\{i1,…,ik’},则另外r个存储节点j1,…,jr中的数据gj1,…,gjr可通过解以下线性方程组得到:
从而可重构源文件。
从上述描述可知,在相应的分布式存储系统的某个存储节点出现故障时,即为失效节点,通过连接剩下所有的存储节点作为帮助节点,再通过下载所需数据、计算即可修复失效节点,修复失效节点的过程中只消耗最小的带宽资源,同时,若采用系统节点具有最佳存取修复性质的MDS码作为基码,则新MSR码的节点也具有这一性质。
如图6所示,一种纠删码转换终端,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现以下步骤:
S1、获取任意有限域上系统节点具有最佳修复带宽的MDS码的生成矩阵,提取所述生成矩阵内用于产生校验数据的元素,生成MSR码的校验矩阵;
S2、根据所述校验矩阵构造所述MSR码。
从上述描述可知,本发明的有益效果在于:通过将任意有限域上系统节点具有最佳修复带宽的MDS码的生成矩阵内用于产生校验数据的部分作为MSR码的校验矩阵,从而实现了对任何有限域上的系统节点具有最佳修复带宽的MDS码转换为MSR码的技术方案,所构造的MSR码所采用的有限域大小与原MDS码一致,且MSR码构造是基于已知的系统节点具有最佳修复带宽的MDS码,生成方式简单,易于软硬件上的实现。
进一步地,所述步骤S1中生成MSR码的校验矩阵的具体步骤为:
获取所述生成矩阵内用于产生校验数据的第X列元素,将所述第X列元素按照从上往下的顺序依次填充至所述校验矩阵的第X行上。
从上述描述可知,通过将MDS码的生成矩阵进行简单的转换之后,得到了MSR码的校验矩阵,生成方式简单,易于软硬件上的实现。
进一步地,所述步骤S2具体为:
记采用所述MSR码的分布式存储系统的节点j所存储的数据为gj,j=1,2,…,k,所述MDS码的生成矩阵中用于产生校验数据的元素分别为Ai,j,i=1,2,…,r,j=1,2,…,k,则生成的MSR码通过以下方式定义:
Ai,1g1+Ai,2g2+…+Ai,kgk=0,i=1,2,…,r。
其中gj为Fq上长度为N的列向量,j=1,2,…,k。
从上述描述可知,提供了一种由校验矩阵构造MSR码的技术方案。
进一步地,所述步骤S1中的MDS码为(n=k+r,k)MDS码,所述步骤S2中的MSR码为新(n’=k,k’=k-r)MSR码,其中,n为MDS码内所有的存储节点数量,n’为MSR码内所有的存储节点数量,k为MDS码内存储源文件的存储节点数量,k’为MSR码内存储源文件的存储节点数量,r为存储校验数据的存储节点数量。
从上述描述可知,生成的MSR码与作为基码的MDS码之间的有限域大小一致且每一个存储节点的节点容量相同。
进一步地,所述处理器执行所述计算机程序时还实现以下步骤:
判断是否收到修复指令,若收到,则连接除失效节点之外的所有存储节点上的数据,根据修复矩阵下载所需数据。
从上述描述可知,在相应的分布式存储系统的某个存储节点出现故障时,即为失效节点,通过连接剩下所有的存储节点作为帮助节点,再通过下载所需数据、计算即可修复,修复失效节点的过程中只消耗最小的带宽资源,同时,若采用系统节点具有最佳存取修复性质的MDS码作为基码,则新MSR码的节点也具有这一性质。
如图1至图3所示,本发明的实施例一为:
一种纠删码转换方法,包括以下步骤:
S1、获取任意有限域上系统节点具有最佳修复带宽的MDS码的生成矩阵,提取生成矩阵内用于产生校验数据的元素,获取生成矩阵内用于产生校验数据的第X列元素,将第X列元素按照从上往下的顺序依次填充至校验矩阵的第X行上,在本实施例中,从文献"Twonew classes of two-parity MDS array codes with optimal repair,IEEECommunications Letters,vol.20,no.7,pp.1293-1296,July2016(两类新的具有最佳修复的两个校验点的MDS阵列码,IEEE通信快报,第20卷,第7期,第1293-1296页,2016年7月)"中选定一个域F2上存储节点具有最佳修复带宽的(6,4)MDS码作为基码C0,即本实施例中存储节点数量n为6,MDS码内存储源文件的存储节点数量k为4,存储校验数据的存储节点数量r为2,节点容量N为8,为简化符号可假定采用(6,4)MDS码的分布式存储系统的存储节点i存储的数据为a1,i,…,a8,i,i=1,2,…,6,其中存储节点1、存储节点2、存储节点3、存储节点4的数据表示为源文件,存储节点5、存储节点6的数据表示为校验数据。则采用(6,4)MDS码C0的分布式存储系统结构如表一所示。
表一:采用(6,4)MDS码C0的分布式存储系统结构
修复码C0的第1,2,3,4个存储节点可从每个剩下节点上分别下载第1、2、5、6;3、4、7、8;1、4、5、8;2、3、6、7个数据。
S2、根据步骤S1得到的校验矩阵构造MSR码,在本实施例中,通过上述的步骤转化,得到一个新的(4,2)MSR码C1,为简化符号可假定采用该(4,2)MSR码C1的分布式存储系统的节点i存储的数据为b1,i,…,b8,i,i=1,2,3,4,其中可事先将任意2个节点存储的数据设置为源文件。则采用该(4,2)MSR码C1的分布式存储系统结构如表二所示。
表二:采用该(4,2)MSR码C1的分布式存储系统结构
存储节点1 | 存储节点2 | 存储节点3 | 存储节点4 |
b<sub>1,1</sub> | b<sub>1,2</sub> | b<sub>1,3</sub> | b<sub>1,4</sub> |
b<sub>2,1</sub> | b<sub>2,2</sub> | b<sub>2,3</sub> | b<sub>2,4</sub> |
b<sub>3,1</sub> | b<sub>3,2</sub> | b<sub>3,3</sub> | b<sub>3,4</sub> |
b<sub>4,1</sub> | b<sub>4,2</sub> | b<sub>4,3</sub> | b<sub>4,4</sub> |
b<sub>5,1</sub> | b<sub>5,2</sub> | b<sub>5,3</sub> | b<sub>5,4</sub> |
b<sub>6,1</sub> | b<sub>6,2</sub> | b<sub>6,3</sub> | b<sub>6,4</sub> |
b<sub>7,1</sub> | b<sub>7,2</sub> | b<sub>7,3</sub> | b<sub>7,4</sub> |
b<sub>8,1</sub> | b<sub>8,2</sub> | b<sub>8,3</sub> | b<sub>8,4</sub> |
其中,这四个存储节点的数据满足以下约束关系:
bi,1+bi,2+bi,3+bi,4=0,i=1,2,…,8,
b1,1+b4,1+b1,2+b2,3+b5,3+b5,4=0,
b2,1+b3,1+b2,2+b6,3+6b1,4+b6,4=0,
b3,1+b2,2+b3,2+b7,3+b4,4+b7,4=0,
b4,1+b1,2+b4,2+b3,3+b8,3+b8,4=0,
b1,1+b5,1+b8,1+b1,2+b5,2+b1,3+b6,3+b1,4=0,
b2,1+b6,1+b7,1+b2,2+b6,2+b2,3+b2,4+b5,4=0,
b3,1+b7,1+b3,2+b6,2+b7,2+b3,3+b3,4+b8,4=0,
b4,1+b8,1+b4,2+b5,2+b8,2+b4,3+b7,3+b4,4=0。
进一步地,还包括步骤:
判断是否收到修复指令,若收到,则连接除失效节点之外的所有存储节点上的数据,根据约束关系得到除失效节点的数据。
在本实施例中,对于采用该(4,2)MSR码C1的分布式存储系统,若存储节点1为失效节点,则通过下载所有存活节点中的第1、2、5、6个元素,再根据上述下载的数据通过简单计算即可得存储节点1中的数据。类似的,若存储节点2为失效节点,则通过下载所有存活节点中的第3、4、7、8个元素;若存储节点3为失效节点,则通过下载所有存活节点中的第1、4、5、8个元素;若存储节点4为失效节点,则通过下载所有存活节点中的第2、3、6、7个元素。
如图6所示,本发明的实施例二为:
一种纠删码转换终端1,包括存储器2、处理器3以及存储在所述存储器2上并可在所述处理器3上运行的计算机程序,所述处理器3执行所述计算机程序时实现上述实施例一中的步骤S1、步骤S2、步骤S3。
一种纠删码转换方法和终端,通过将任意有限域上系统节点具有最佳修复带宽的MDS码的生成矩阵内用于产生校验数据的部分作为MSR码的校验矩阵,从而实现了对任何有限域上的系统节点具有最佳修复带宽的MDS码转换为MSR码的技术方案,所构造的MSR码所采用的有限域大小与原MDS码一致;MSR码构造是基于已知的系统节点具有最佳修复带宽的MDS码,生成方式简单,易于软硬件上的实现;在相应的分布式存储系统的某个存储节点出现故障时,即为失效节点,通过连接剩下所有的存储节点作为帮助节点,再通过下载所需数据、计算即可修复,修复失效节点的过程中只消耗最小的带宽资源,同时,若采用系统节点具有最佳存取修复性质的MDS码作为基码,则新MSR码的节点也具有这一性质。
以上所述,仅为本发明的较佳实施例而已,并非对本发明作任何形式上的限制;凡本行业的普通技术人员均可按说明书附图所示和以上所述而顺畅地实施本发明;但是,凡熟悉本专业的技术人员在不脱离本发明技术方案范围内,利用以上所揭示的技术内容而做出的些许更动、修饰与演变的等同变化,均为本发明的等效实施例;同时,凡依据本发明的实质技术对以上实施例所作的任何等同变化的更动、修饰与演变等,均仍属于本发明的技术方案的保护范围之内。
Claims (6)
1.一种纠删码转换方法,其特征在于,包括以下步骤:
S1、获取任意有限域上系统节点具有最佳修复带宽的MDS码的生成矩阵,提取所述生成矩阵内用于产生校验数据的元素,生成MSR码的校验矩阵;
S2、根据所述校验矩阵构造所述MSR码;
所述步骤S1中生成MSR码的校验矩阵的具体步骤为:
获取所述生成矩阵内用于产生校验数据的第X列元素,将所述第X列元素按照从上往下的顺序依次填充至所述校验矩阵的第X行上;
所述步骤S2具体为:
记采用所述MSR码的分布式存储系统的节点j所存储的元素为gj,j=1,2,…,k,所述MDS码的生成矩阵中用于产生校验数据的元素分别为Ai,j,i=1,2,…,r,j=1,2,…,k,则生成的MSR码通过以下方式定义:
Ai,1g1+Ai,2g2+...Ai,kgk=0,i=1,2,…,r,其中,k为MDS码内存储源文件的存储节点数量,r为存储校验数据的存储节点数量。
2.根据权利要求1所述的一种纠删码转换方法,其特征在于:所述步骤S1中的MDS码为(n=k+r,k)MDS码,所述步骤S2中的MSR码为新(n’=k,k’=k-r)MSR码,其中,n为MDS码内所有的存储节点数量,n’为MSR码内所有的存储节点数量,k为MDS码内存储源文件的存储节点数量,k’为MSR码内存储源文件的存储节点数量,r为存储校验数据的存储节点数量。
3.根据权利要求1所述的一种纠删码转换方法,其特征在于,还包括步骤:
判断是否收到修复指令,若收到,则连接除失效节点之外的所有存储节点上的数据,根据修复矩阵下载所需数据。
4.一种纠删码转换终端,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现以下步骤:
S1、获取任意有限域上系统节点具有最佳修复带宽的MDS码的生成矩阵,提取所述生成矩阵内用于产生校验数据的元素,生成MSR码的校验矩阵;
S2、根据所述校验矩阵构造所述MSR码;
所述步骤S1中生成MSR码的校验矩阵的具体步骤为:
获取所述生成矩阵内用于产生校验数据的第X列元素,将所述第X列元素按照从上往下的顺序依次填充至所述校验矩阵的第X行上;
所述步骤S2具体为:
记采用所述MSR码的分布式存储系统的节点j所存储的元素为gj,j=1,2,…,k,所述MDS码的生成矩阵中用于产生校验数据的元素分别为Ai,j,i=1,2,…,r,j=1,2,…,k,则生成的MSR码通过以下方式定义:
Ai,1g1+Ai,2g2+...Ai,kgk=0,i=1,2,…,r,其中,k为MDS码内存储源文件的存储节点数量,r为存储校验数据的存储节点数量。
5.根据权利要求4所述的一种纠删码转换终端,其特征在于:所述步骤S1中的MDS码为(n=k+r,k)MDS码,所述步骤S2中的MSR码为新(n’=k,k’=k-r)MSR码,其中,n为MDS码内所有的存储节点数量,n’为MSR码内所有的存储节点数量,k为MDS码内存储源文件的存储节点数量,k’为MSR码内存储源文件的存储节点数量,r为存储校验数据的存储节点数量。
6.根据权利要求4所述的一种纠删码转换终端,其特征在于,所述处理器执行所述计算机程序时还实现以下步骤:
判断是否收到修复指令,若收到,则连接除失效节点之外的所有存储节点上的数据,根据修复矩阵下载所需数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810806947.XA CN109062724B (zh) | 2018-07-21 | 2018-07-21 | 一种纠删码转换方法及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810806947.XA CN109062724B (zh) | 2018-07-21 | 2018-07-21 | 一种纠删码转换方法及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109062724A CN109062724A (zh) | 2018-12-21 |
CN109062724B true CN109062724B (zh) | 2019-04-05 |
Family
ID=64834879
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810806947.XA Expired - Fee Related CN109062724B (zh) | 2018-07-21 | 2018-07-21 | 一种纠删码转换方法及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109062724B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111971945A (zh) * | 2019-04-03 | 2020-11-20 | 东莞理工学院 | 一种用于数据中心的机架感知再生码 |
CN112732203B (zh) * | 2021-03-31 | 2021-06-22 | 中南大学 | 一种再生码构造方法、文件重构方法及节点修复方法 |
CN117632041A (zh) * | 2024-01-25 | 2024-03-01 | 国家计算机网络与信息安全管理中心天津分中心 | 基于再生码的分布式存储方法、装置和电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104881365A (zh) * | 2015-05-31 | 2015-09-02 | 上海交通大学 | 基于纠删码相似性的raid-6可扩展方法 |
CN107656832A (zh) * | 2017-09-18 | 2018-02-02 | 华中科技大学 | 一种低数据重建开销的纠删码方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102624866B (zh) * | 2012-01-13 | 2014-08-20 | 北京大学深圳研究生院 | 一种存储数据的方法、装置及分布式网络存储系统 |
CN104461781B (zh) * | 2014-12-01 | 2017-10-31 | 华中科技大学 | 一种基于纠删码的数据块重建方法 |
CN105260259B (zh) * | 2015-09-16 | 2018-01-02 | 长安大学 | 一种基于系统最小存储再生码的局部性修复编码方法 |
CN105721611B (zh) * | 2016-04-15 | 2019-03-01 | 西南交通大学 | 一种由极大距离可分存储码生成最小存储再生码的方法 |
CN106383669B (zh) * | 2016-09-19 | 2019-04-16 | 渤海大学 | 一种基于(n,k,m)编码的分布式存储方法及系统 |
-
2018
- 2018-07-21 CN CN201810806947.XA patent/CN109062724B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104881365A (zh) * | 2015-05-31 | 2015-09-02 | 上海交通大学 | 基于纠删码相似性的raid-6可扩展方法 |
CN107656832A (zh) * | 2017-09-18 | 2018-02-02 | 华中科技大学 | 一种低数据重建开销的纠删码方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109062724A (zh) | 2018-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109062724B (zh) | 一种纠删码转换方法及终端 | |
CN103688515B (zh) | 一种最小带宽再生码的编码和存储节点修复方法 | |
CN105721611B (zh) | 一种由极大距离可分存储码生成最小存储再生码的方法 | |
US20150089283A1 (en) | Method of data storing and maintenance in a distributed data storage system and corresponding device | |
CN110022216B (zh) | 低通信复杂度的高效异步拜占庭共识方法、网络通信平台 | |
WO2020047707A1 (zh) | 分布式存储系统的数据编码、解码及修复方法 | |
CN105138613A (zh) | 一种业务对象和xml报文相互转换的方法及系统 | |
CN109792256A (zh) | 用于对擦除码的对数据进行编码和解码的装置和相关方法 | |
CN109194444A (zh) | 一种基于网络拓扑的平衡二叉树修复方法 | |
Esmaili et al. | The core storage primitive: Cross-object redundancy for efficient data repair & access in erasure coded storage | |
Hollmann | Storage codes—Coding rate and repair locality | |
Hou et al. | A new design of binary MDS array codes with asymptotically weak-optimal repair | |
CN104391759A (zh) | 一种纠删码存储中负载感知的数据归档方法 | |
CN107003933A (zh) | 部分复制码的构建方法、装置及其数据修复的方法 | |
CN107153661A (zh) | 一种基于hdfs系统的数据的存储、读取方法及其装置 | |
CN113391946A (zh) | 一种分布式存储中的纠删码的编解码方法 | |
CN104782101B (zh) | 用于分布式网络存储的自修复码的编码、重构和恢复方法 | |
CN105488014A (zh) | Xml格式的接口测试案例报文的生成方法和装置 | |
CN108923960A (zh) | 一种基于代理协助再生码的存储节点修复方法 | |
WO2022110691A1 (zh) | 编码方法、译码方法、电子设备及存储介质 | |
CN106658034A (zh) | 文件存储和读取的方法及装置 | |
CN109067852A (zh) | 一种基于纠删码的跨中心协同修复方法 | |
CN112000278B (zh) | 一种热数据存储的自适应局部重构码设计方法及云存储系统 | |
Zorgui et al. | Centralized multi-node repair in distributed storage | |
CN108512553B (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190405 Termination date: 20210721 |