CN105955839B - 一种基于有限域二进制加法移位的再生码容错方法 - Google Patents
一种基于有限域二进制加法移位的再生码容错方法 Download PDFInfo
- Publication number
- CN105955839B CN105955839B CN201610301776.6A CN201610301776A CN105955839B CN 105955839 B CN105955839 B CN 105955839B CN 201610301776 A CN201610301776 A CN 201610301776A CN 105955839 B CN105955839 B CN 105955839B
- Authority
- CN
- China
- Prior art keywords
- finite field
- repair
- node
- binary addition
- sub
- 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.)
- Active
Links
- 230000008929 regeneration Effects 0.000 title claims abstract description 30
- 238000011069 regeneration method Methods 0.000 title claims abstract description 30
- 238000013459 approach Methods 0.000 title abstract 2
- 238000006073 displacement reaction Methods 0.000 title abstract 2
- 239000011159 matrix material Substances 0.000 claims abstract description 29
- 238000000034 method Methods 0.000 claims abstract description 29
- 230000008439 repair process Effects 0.000 claims description 21
- 230000002441 reversible effect Effects 0.000 claims description 3
- 230000001172 regenerating effect Effects 0.000 claims 1
- 238000004364 calculation method Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 238000004088 simulation Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
本发明公开了一种适用于分布式存储系统的基于有限域下二进制加法移位的再生码容错方法。该方法基于乘积矩阵框架,在二进制加法移位BASIC再生码的基础上引入有限域运算,克服了BASIC再生码方案在编码矩阵行列式不存在乘法逆元的情况下会造成无法恢复数据的问题,而且并没有引入额外的计算开销。
Description
技术领域
本发明涉及分布式存储领域,特别是涉及针对分布式存储系统的一种再生码容错方法。
背景技术
大数据下的分布式存储系统是由大规模的服务器构成,在动态的网络环境下服务器宕机是频繁发生的,将再生码容错性技术引入到分布式存储系统的主要目的是保证分布式存储系统的可靠性。
现有的实现数据容错技术主要的途径就是通过增加分布式存储系统中的数据冗余来实现,但也增大了存储负担,所以需要提高其效率,用更小的数据冗余来保证更高的可靠性,最终降低系统成本。常见的分布式存储系统的容错技术主要有基于复制的容错技术、基于纠删码的容错技术和再生码的容错技术。
其中Rashmi等人提出了一种通用的乘积矩阵框架的再生码来实现精确的容错修复过程,简化再生过程,而2013年Hou等人在乘积矩阵再生码的基础上提出了BASIC(BinaryAddition and Shift Implementable Convolutional)再生码,通过使用移位操作来代替有限域内的运算,提升计算效率且更易于实现,但是BASIC再生码在编码矩阵的行列式不存在乘法逆元时,将出现无法恢复数据的问题,这将造成原始数据永久丢失。
在BASIC再生码的基础上,我们提出了G-BASIC(Galois field’s BinaryAddition and Shift Implementable Convolutional)再生码方案,解决无法恢复数据的问题,并不引入额外的计算开销。
发明内容
发明目的:本发明提供一种应用于分布式存储系统的再生码容错方法,该方法采用有限域下的二进制加法移位运算,可以快速实现数据的修复和重建,并且解决传统BASIC再生码方案可能出现无法恢复数据的问题,同时未引入额外的计算开销。
技术方案:为实现上述发明目的,本发明采用如下技术方案:
一种基于有限域二进制加法移位的再生码容错方法,该方法在二进制加法移位BASIC再生码的基础上引入有限域运算,编码过程的步骤如下:
(1)根据子数据包长度l,将长度为n的数据包分为n'个子数据包,每个子数据包对应一个子消息矩阵;
(2)将编码矩阵分别与这n'个子消息矩阵相乘积进行编码,生成n'个子存储矩阵;其中矩阵的乘积采用有限域下的二进制加法移位运算。
进一步地,上述方法中,根据子数据包长度l选取有限域GF(2l)。
进一步地,上述方法中,所述有限域下的二进制加法移位运算方法根据如下公式实现二进制序列a(x)=a0+a1x+a2x2+...+al-1xl-1和b(x)=b0+b1x+b2x2+...+bl-1xl-1的乘积:
其中,u为a(x)的系数{ai}中为1的个数;这些为1的系数记为满足0≤v0<v1<...<vu-1≤l-1;为长度为l有限域的不可约多项式。
进一步地,根据如下公式计算:
其中,满足xlmodm(x)=n(x)。
进一步地,上述方法中,修复过程的步骤如下:
(1)失效节点f连接任意d个修复节点集合{hj|j=1,...,d},修复节点hj计算内部乘积值其中矩阵的乘积采用有限域下的二进制加法移位运算;为修复节点hj对应的编码行向量,M为消息矩阵,为失效节点的编码列向量;
(2)替代节点从d个修复节点中获取d个内部乘积值组成乘积向量ξ;
(3)替代节点通过对乘积向量ξ左乘(det(Ψrepair))-1adj(Ψrepair),得到失效节点数据,其中Ψrepair是d×d的可逆矩阵。
有益效果:本发明方法通过定义有限域中的相关运算,针对BASIC再生码方案在编码矩阵的行列式不存在乘法逆元时,出现无法完成数据重建的问题,G-BASIC再生码在引入有限域后,保证在任何情况下均可正确的实现数据重建。并且,BASIC再生码和G-BASIC再生码,进行1bit数据的异或运算的次数相同,本发明方法并不引入额外的计算开销。
附图说明
图1是BASIC再生码和G-BASIC再生码完成编码过程的时间曲线对比图。
具体实施方式
下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
本发明实施例公开的一种基于有限域二进制加法移位的再生码容错方法,该方法在二进制加法移位BASIC再生码的基础上引入有限域运算,以快速实现编码和重建,客服BASIC再生码方案在编码矩阵行列式不存在乘法逆元的情况下会造成无法恢复数据的问题,而且并没有引入额外的计算开销。本发明方法在编码阶段的主要步骤如下:
(1)将长度为n的数据包拆分为n'个子数据包,子数据包长度为l,一般可取2的整数幂,其中:
对应的消息矩阵M,也可拆分为n'个子消息矩阵,即:
M={M1,M2,...,Mn'}
(2)G-BASIC的编码过程相当于对这n'个子消息矩阵分别做编码,即:
Ci=ΨMi
其中,Ψ为编码矩阵,Ci为子存储矩阵,产生的n'个子存储矩阵构成了存储矩阵C,即:
C={C1,C2,...,Cn'}
编码过程中,根据子数据长度l选取有限域GF(2l),并确定有限域对应长度为l的不可约多项式m(x)。如在l=3时,m(x)可取1+x+x3。
具体编码过程的乘法移位运算如下所示:
本发明方法在修复阶段的主要步骤如下:
(1)失效节点连接任意d个修复节点集合,修复节点hj计算内部乘积值εj。
(2)替代节点从d个修复节点中获取d个内部乘积值ε组成乘积向量ξ。
(3)替代节点通过对乘积向量ξ左乘(det(Ψrepair))-1adj(Ψrepair),得到失效节点数据。
具体的:令失效节点的编码列向量,表示的转置,那么存储在失效节点的存储向量cf,满足:
失效节点f连接任意d个修复节点集合{hj|j=1,...,d},修复节点hj计算内部乘积值εj,满足:
其中为修复节点hj对应的编码行向量。
替代节点从d个修复节点中获取d个内部乘积值ε组成乘积向量ξ,满足:
其中:
修复矩阵Ψrepair是(d×d)的可逆矩阵,在构建时M是对称矩阵,满足:
替代节点通过对ξ左乘(det(Ψrepair))-1adj(Ψrepair),得到向量c'f,即:
c'f=(det(Ψrepair))-1adj(Ψrepair)ξ
最终,可以推导出:
这样就修复了失效节点的存储数据。
下面以n=6,k=3,d=4的再生码为例,模拟BASIC再生码和G-BASIC再生码的编码过程。
首先对于BASIC再生码和G-BASIC再生码进行条件约定,对于BASIC再生码,需要根据测试数据包的长度选择适合的模2n运算。而对于G-BASIC再生码,因为计算机读取数据时以字节为单位,所以选择子数据包长为8比较方便,故G-BASIC再生码采用基于GF(28)有限域的运算,对应的不可约多项式m(x)=1+x8。
然后将数据分为9个数据包,构建消息矩阵M。
再确定编码矩阵,本次仿真设置编码矩阵Ψ满足:
为不失一般性,测试数据量的大小分别设置为0.1KB、1KB、10KB、100KB、1000KB、103.1KB、103.2KB、103.3KB、103.4KB、103.5KB、103.6KB、103.7KB、103.8KB、103.9KB、10MB。
最终获得在上述不同大小的数据量下,BASIC再生码和G-BASIC再生码完成编码过程的时间曲线,如图1所示。从图中可以看出,BASIC再生码和G-BASIC再生码在相同数据量的条件下编码耗时基本一致,这表明了在实际仿真测试中G-BASIC再生码在解决BASIC再生码存在的问题后没有引入过多的额外计算开销。
Claims (2)
1.一种基于有限域二进制加法移位的再生码容错方法,其特征在于:该方法在二进制加法移位BASIC再生码的基础上引入有限域运算,编码过程的步骤如下:
(1)根据子数据包长度l,将长度为n的数据包分为n'个子数据包,每个子数据包对应一个子消息矩阵;
(2)将编码矩阵分别与这n'个子消息矩阵相乘积进行编码,生成n'个子存储矩阵;其中矩阵的乘积采用有限域下的二进制加法移位运算;
根据子数据包长度l选取有限域GF(2l);
所述有限域下的二进制加法移位运算方法根据如下公式实现二进制序列a(x)=a0+a1x+a2x2+...+al-1xl-1和b(x)=b0+b1x+b2x2+...+bl-1xl-1的乘积:
其中,u为a(x)的系数{ai}中为1的个数;这些为1的系数记为满足0≤v0<v1<...<vu-1≤l-1;
为长度为l有限域的不可约多项式;
根据如下公式计算:
其中,满足xlmod m(x)=n(x)。
2.根据权利要求1所述的一种基于有限域二进制加法移位的再生码容错方法,其特征在于:修复过程的步骤如下:
(1)失效节点f连接任意d个修复节点集合{hj|j=1,...,d},修复节点hj计算内部乘积值其中矩阵的乘积采用有限域下的二进制加法移位运算;为修复节点hj对应的编码行向量,M为消息矩阵,为失效节点的编码列向量;
(2)替代节点从d个修复节点中获取d个内部乘积值组成乘积向量ξ;
(3)替代节点通过对乘积向量ξ左乘(det(Ψrepair))-1adj(Ψrepair),得到失效节点数据,其中Ψrepair是d×d的可逆矩阵。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610301776.6A CN105955839B (zh) | 2016-05-09 | 2016-05-09 | 一种基于有限域二进制加法移位的再生码容错方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610301776.6A CN105955839B (zh) | 2016-05-09 | 2016-05-09 | 一种基于有限域二进制加法移位的再生码容错方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105955839A CN105955839A (zh) | 2016-09-21 |
CN105955839B true CN105955839B (zh) | 2018-12-14 |
Family
ID=56914961
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610301776.6A Active CN105955839B (zh) | 2016-05-09 | 2016-05-09 | 一种基于有限域二进制加法移位的再生码容错方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105955839B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110990776B (zh) * | 2019-11-29 | 2023-12-29 | 深圳大学 | 编码分布式计算方法、装置、计算机设备及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103650462B (zh) * | 2012-04-27 | 2016-12-14 | 北京大学深圳研究生院 | 基于同态的自修复码的编码、解码和数据修复方法及其存储系统 |
WO2014059651A1 (zh) * | 2012-10-19 | 2014-04-24 | 北京大学深圳研究生院 | 一种射影自修复码的编码、数据重构及修复方法 |
-
2016
- 2016-05-09 CN CN201610301776.6A patent/CN105955839B/zh active Active
Non-Patent Citations (3)
Title |
---|
BASIC Regenerating Code: Binary Addition and Shift for Exact Repair;Hanxu Hou 等;《IEEE International Symposium on Information Theory》;20130731;1622-1625 * |
Regenerating Codes over a Binary Cyclic Code;Kenneth W. Shum 等;《IEEE International Symposium on Information Theory》;20140731;1046-1050 * |
二元再生码在分布式存储系统的应用;侯韩旭 等;《计算机研究与发展》;20131215;45-53 * |
Also Published As
Publication number | Publication date |
---|---|
CN105955839A (zh) | 2016-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103688515B (zh) | 一种最小带宽再生码的编码和存储节点修复方法 | |
US9647698B2 (en) | Method for encoding MSR (minimum-storage regenerating) codes and repairing storage nodes | |
CN103124182B (zh) | 文件下载和流系统 | |
Oggier et al. | Self-repairing homomorphic codes for distributed storage systems | |
CN102640422B (zh) | 为编码和解码过程采用使码元永久钝化的fec码的方法和装置 | |
CN111149093B (zh) | 分布式存储系统的数据编码、解码及修复方法 | |
CN105518996B (zh) | 一种基于二进制域里德所罗门码的数据编解码方法 | |
CN110168505B (zh) | 分布式存储系统的数据修复方法及存储介质 | |
CN101459430B (zh) | 低密度生成矩阵码的编码方法及装置 | |
TW201228246A (en) | Hybrid codec apparatus and method for data transferring | |
WO2012008921A9 (en) | Data encoding methods, data decoding methods, data reconstruction methods, data encoding devices, data decoding devices, and data reconstruction devices | |
CN113391946B (zh) | 一种分布式存储中的纠删码的编解码方法 | |
CN108762978B (zh) | 一种局部部分重复循环码的分组构造方法 | |
CN103703446B (zh) | 网络存储中抗拜占庭失效的数据重构、失效数据恢复方法及装置 | |
CN103650462B (zh) | 基于同态的自修复码的编码、解码和数据修复方法及其存储系统 | |
CN108279995A (zh) | 一种基于安全再生码的分布式存储系统的存储方法 | |
WO2017185681A1 (zh) | 一种gel码字结构编码和译码的方法、装置及相关设备 | |
CN105955839B (zh) | 一种基于有限域二进制加法移位的再生码容错方法 | |
WO2017041232A1 (zh) | 一种二进制循环码的编解码框架 | |
CN102761340A (zh) | 一种bch并行编码电路 | |
CN109257049B (zh) | 一种修复二进制阵列码校验矩阵的构造方法及修复方法 | |
CN108628697B (zh) | 一种基于二进制的节点修复方法及系统 | |
CN108199720B (zh) | 一种减小存储开销和提高修复效率的节点修复方法及系统 | |
WO2020029417A1 (zh) | 一种二进制mds阵列编码的编码框架方法 | |
Schindelhauer et al. | Maximum distance separable codes based on circulant cauchy matrices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |