CN108512553A - 一种降低带宽消耗的截短再生码构造方法 - Google Patents
一种降低带宽消耗的截短再生码构造方法 Download PDFInfo
- Publication number
- CN108512553A CN108512553A CN201810194923.3A CN201810194923A CN108512553A CN 108512553 A CN108512553 A CN 108512553A CN 201810194923 A CN201810194923 A CN 201810194923A CN 108512553 A CN108512553 A CN 108512553A
- Authority
- CN
- China
- Prior art keywords
- matrix
- node
- data
- coefficient
- matrixes
- 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
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3059—Digital compression and data reduction techniques where the original information is represented by a subset or similar information, e.g. lossy compression
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/60—General implementation details not specific to a particular type of compression
- H03M7/6011—Encoder aspects
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/60—General implementation details not specific to a particular type of compression
- H03M7/6047—Power optimization with respect to the encoder, decoder, storage or transmission
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明涉及一种降低带宽消耗的截短再生码构造方法,该方法在参数为(n,k)母码基础上,删除t个信息位,得到(n‑t,k‑t)的截短子码,添加冗余令并将编码后t个节点保存数据均为0,求解出冗余量的数值;译码和修复时,对连接的节点所对应的系数向量构成的矩阵补充上t个截短节点的系数向量,构成新的k×d系数矩阵,将从节点中下载的数据所构成的编码矩阵补充t行零向量,形成新的编码矩阵,将补齐后系数矩阵和接受的数据矩阵按照MSR母码的进行译码或者修复。本发明降低了截短再生码的计算复杂度,解决了当网络节点和带宽资源受限时再生码参数选择的较少,适应能力较差的问题,从而实现了低复杂度、低带宽开销的再生码构造。
Description
技术领域
本发明涉及分布式存储技术领域,尤其涉及一种降低带宽消耗的截短再生码构造方法。
背景技术
随着互联网的迅猛发展,大数据时代的到来,5G移动通信的快速推进,全球数据流量呈现***式增长,对***的数据存储能力提出了更高的要求。与传统集中式存储***相比,分布式存储***具有成本低,存储容量大,拓展性强,并行处理速度快等优势,逐渐受到了学术和产业界的广泛关注。为保证***整体可靠性和稳定性,分布式存储***普遍采用冗余策略,GFS(Google File System)等分布式***采用复制方案,OceanStore等***采用纠删编码,但仍然无法避免存储资源浪费和带宽开销过大等问题,严重影响***工作效率。
网络编码通过将中间节点赋予了计算能力,对数据进行编码操作,提升了整个***的带宽利用率和吞吐率。Dimakis等人在网络编码的基础上提出了再生码(RegeneratingCodes),达到了存储-带宽开销折衷最优解。但是,在复杂网络条件下,尤其是带宽资源受限时,再生码的适应能力较差,进一步降低再生码对带宽资源的需求是亟需解决的问题。
Rashmi等人提出了基于乘积矩阵(Product-Matrix)框架下的MBR和MSR的构造方式,虽然能够实现任意参数MBR码的构造,但是对MSR仍然存在着不少限制。Goparaju等人基于干扰对齐思想提出了一种对任意n,k,d参数适用的MSR新的构造。Li等人提出了具有两个校验结构的基于不变子空间MSR通用框架,能够达到最少I/O读取。Kamath等人提出了一种局部再生码的构造,通过传统的MSR和MBR的改造实现局部修复特性。Papailiopoulos等人提出了简单再生码,通过MDS码与异或操作结合,是实现局部修复特性的再生码。Shah等人研究了再生码的安全性,在窃听者可以访问存储节点数据,并且能下载修复数据的场景下,实现了具有保密能力的再生码。
通过上述分析可知,目前再生码的计算开销仍然较大,影响到数据下载和修复的时间开销,从而影响在实际***中的工作效率。
发明内容
针对现有技术中存在的缺陷或不足,本发明所要解决的技术问题是:提供一种降低带宽消耗的截短再生码构造方法。
技术方案为:
一种降低带宽消耗的截短再生码构造方法,该方法在参数为(n,k)母码基础上,删除t个信息位,得到(n-t,k-t)的截短子码,添加冗余令并将编码后t个节点保存数据均为0,求解出冗余量的数值;
译码和修复时,对连接的节点所对应的系数向量构成的矩阵补充上t个截短节点的系数向量,构成新的k×d系数矩阵,将从节点中下载的数据所构成的编码矩阵补充t行零向量,形成新的编码矩阵,将补齐后系数矩阵和接受的数据矩阵按照MSR母码的译码或者修复方式进行译码或者修复。
作为本发明的进一步改进,该方法包括:
(1)以参数(n,k,d)[α,γ,B]为MSR母码,截短t个节点后得到参数为(ns,ks,ds)[αs,γs,Bs]的截短子码,则MSR母码与截短子码参数间存在以下关系:
(2)在乘积矩阵框架下,删除信息位t个节点并添加冗余后得到其中前α个数据为已知的冗余量,由两个α×α的对角矩阵构成的d×α的矩阵构造消息矩阵M为:
(3)构造编码矩阵C=Ψ·M,令C中前t行元素全部等于0,求解冗余量的数值,其中,Ψ是以范德蒙矩阵为系数矩阵。
作为本发明的进一步改进,该方法的译码时,从连接任意ks个节点,对应节点系数向量构成ks×d系数矩阵,记为Ψs_DC,将Ψs_DC补上t个截短节点的系数向量构成新的k×d系数矩阵ΨDC。从ks个节点下载数据构成ks×d的编码矩阵Ψs_DCM,补充t行零向量,形成新的k×d编码矩阵ΨDCM。将补齐后的系数矩阵和补齐后的编码矩阵按照由乘积矩阵构成的MSR码的译码方式进行译码即可。
译码具体的步骤包括:
(1)数据收集器需要连接任意ks个节点,对应的节点系数向量构成ks×d系数矩阵Ψs_DC,将Ψs_DC补上t个截短节点的系数向量,构成新的k×d系数矩阵ΨDC,得:ΨDC=[ΦDCΛDCΦDC];
从ks个节点下载数据构成ks×d的编码矩阵Ψs_DCM,对编码矩阵补充t行零向量,形成新的k×d编码矩阵ΨDCM,得:
(2)将收集数据ΨDCM右乘表示为:P和Q为中间变量且均为对称矩阵,其中,
(3)引入(i,j)矩阵元素,当i≠j时,由于对称矩阵(i,j)元素与(j,i)元素相同,即Pij+λiQij=Pji+λjQji,解得i≠j情况下的Pi,j和Qi,j;
在i=j时,除第i个元素未知,其余均为已知,可以解出S1,以此方法同解出S2,完成译码。其中,φ均表示为ΦDC的列,即φi为矩阵ΦDC的第i列,以下均同。
作为本发明的进一步改进,该方法修复时,连接ds个帮助节点,记为帮助节点系数向量构成ds×d系数矩阵,记为Ψs_repair,将Ψs_repair补上t个截短节点的系数向量构成新的d×d系数矩阵Ψrepair。从每个帮助节点下载β数据。构成ds×β的数据矩阵,补充t行零向量,形成新的d×β数据矩阵。将补齐后系数矩阵和接受的数据矩阵按照由乘积矩阵构造的MSR码的修复方式进行修复。
修复具体的步骤包括:
(1)将失效节点记为f,f的系数向量为计算丢失的数据为
(2)连接ds个帮助节点,记为构成ds×d系数矩阵Ψs_repair,将Ψs_repair补上t个截短节点的系数向量构成新的d×d系数矩阵Ψrepair,得:
(3)从每个帮助节点下载β数据,构成ds×β的数据矩阵,补充t行零向量,形成新的d×β数据矩阵,帮助节点数据与φf右乘,得到传输至新节点,新节点从ds个帮助节点接受数据ΨrepairMφf并左乘表示为:再通过转置即可修复丢失数据
作为本发明的进一步改进,该方法应用于复杂度方面的开销时包括如下步骤:
(1)定义本原多项式为g(z)的有限域GF(2w)中基础运算的异或次数,加法是按位异或,需要w次异或操作,乘法是多项式的相乘然后利用本原多项式g(z)降维,需要μw次异或,其中μ=(w-1)+||g(z)||0;
(2)定义求解方程Ax=B,其中A为的n×n矩阵,未知数x为n×1矩阵,B为n×1矩阵,求解A-1需要次异或,未知数矩阵x由两个矩阵的乘积A-1B解出。
作为本发明的进一步改进,该方法的编码过程分包括如下步骤:
(1)由ta组方程解出ta个补齐的冗余量,转化为求解数学模型Ax=B,其中A为的ta×ta矩阵,未知数x为ta×1矩阵,B为ta×1矩阵,则需要次异或操作;
(2)将大小为(n+t)×(2k+2t-2)的系数矩阵与(2k+2t-2)×α的消息矩阵相乘,需要α(n+t)(2k+2t-2)次乘法和α(n+t)(2k+2t-3)次加法,每次乘法需要μw次异或,每次加法需要w次异或,进行α(n+t)w·[(2k+2t-2)μ+(2k+2t-3)]次异或后,平均到每一位原始数据,得到编码的异或次数为
作为本发明的进一步改进,该方法的译码过程分包括如下步骤:
(1)对系数矩阵和收集数据的补齐操作不涉及异或操作;
(2)大小为(k+t)×α的数据右乘α×(k+t)的进行α(k+t)2次加法和(α-1)(k+t)2次乘法;
(3)通过个形如Ax=B的方程,其中A为2×2矩阵,可以解得P矩阵和Q矩阵中i≠j位置的元素,此时异或次数为4(k+t)2μw;
(4)由于已知可以通过解α个方程组译码出原始数据S1,依此通过Q解出S2。
作为本发明的进一步改进,该方法的修复过程分包括如下步骤:
(1)在帮助节点内,将本节点存储1×α矩阵乘以α×β失效节点系数矩阵,生成1×β的新数据;
(2)新节点接收到来自帮助节点的(2k+t+2)×β矩阵,并与(2k+t+2)×(2k+t+2)系数矩阵的逆相乘,异或次数为β(2k+t+2)[(2k+t+2)μw+(2k+t+1)w];再转置相加,需要(2k+t+2)βμ次异或。平均到每位原始数据,进行次异或,修复完成。
本发明的有益效果是:
为降低再生码在***中的带宽消耗,提升再生码在带宽资源限制网络中的适用性,本发明在使用乘积矩阵构造再生码的前提下,通过减少母码的部分信息位,达到减少存储节点数、减少带宽开销的目的,并且引入了二进制加法和位移的运算(Binary Additionand Shift Implementable Convolutional,BASIC),降低了截短再生码的计算复杂度,解决了当网络节点和带宽资源受限时,再生码参数选择的较少,适应能力较差的问题,从而实现了一种低复杂度、低带宽开销的再生码构造方法。
附图说明
图1a为本发明提供的t=1时,单位带宽开销,MSR码和截短MSR码的性能分析;
图1b为本发明提供的t=2时,单位带宽开销,MSR码和截短MSR码的性能分析;
图2a为本发明提供的n=8,k=3时,RS、MBR、MSR、sMBRt=1、sMBRt=2方案的带宽开销比较;
图2b为本发明提供的n=9,k=3时,RS、MBR、MSR、sMBRt=1、sMBRt=2方案的带宽开销比较;
图2c为本发明提供的n=16,k=6时,RS、MBR、MSR、sMBRt=1、sMBRt=2方案的带宽开销比较;
图3a为本发明提供的使用MSR、截短MSR、与BASIC截短MSR的的编码复杂度比较图;
图3b为本发明提供的使用MSR、截短MSR、与BASIC截短MSR的的译码复杂度比较图;
图3c为本发明提供的使用MSR、截短MSR、与BASIC截短MSR的的修复复杂度比较图。
具体实施方式
下面结合附图说明及具体实施方式对本发明进一步说明。
本发明的原理说明:
针对网络节点和带宽资源受限时,再生码参数选择的较少,适应能力较差的问题,提出了一种降低带宽消耗的截短再生码构造方法,以下分析详述其实现原理与性能分析。
设计一组参数为(n,k,d)[α,β,B]的再生码,其中n为总的节点数,k为译码需要连接的节点数,d为修复需要连接的节点数,α为每个节点存储量,β为修复时从一个节点下载的数据大小,B为一次能够编码的原始符号数。再生码的现有指标存储开销α与带宽开销γ所描述的是节点性能,并不能够体现实际***中的性能。例如表1,当链路带宽限定为β=1,数据总量M=6时,单纯以α和γ两个指标作为评判再生码性能好坏的标准时,可以看出参数为(4,2,2)[1,2]MSR码具有最小开销,可以将其视为性能最好,但是在实际***中,由于带宽的限制和条带化的次数不同,(4,2,2)[1,2]MSR码的实际***存储占用量和带宽消耗量并非最佳,而α和γ较大的(6,3,4)[2,4]MSR码反而***表现更好。
表1三种MSR码方案的参数比较(M=6,β=1)
为了能够公平直观的比较不同参数下再生码在实际***中的性能,定义两个新的再生码指标:单位存储开销USC(Unit storage cost),即每个单位数据块存储时占用的硬盘空间;单位带宽开销URB(Unit repair bandwidth),即每个单位数据块修复时消耗的传输带宽。MSR码和MBR码的USC和URB分别表示为和则:,
本发明将截短的思想运用于再生码,并使用单位存储开销USC和单位带宽开销URB两个指标来评判再生码的性能。所谓截短,就是在参数为(n,k)母码基础上,删除t个信息位,得到(n-t,k-t)的截短子码,从而达到缩短编码的目的。优选的,本发明的核心关键技术是通过删除一些信息位,并添加冗余使得编码后t个节点保存数据均为0,从而不需要存进节点,使得在实际***中具有更低的开销。
在本发明中,由于截短MBR码不能提升性能,故本发明主要考虑截短MSR码。
编码时的步骤为:
(1)假设参数为(n,k,d)[α,γ,B]的MSR母码,截短t个节点后得到参数为(ns,ks,ds)[αs,γs,Bs]的截短子码,则母码与子码参数间存在以下关系,用公式表示为:
ns=n-t
ks=k-t
ds=d-t
αs=α
γs=γ-t
Bs=B-t·α
(2)同时,因为MSR母码是基于乘积矩阵的构造,且MSR母码的参数受到乘积矩阵框架的约束,所以优选的本发明的截短MSR构造是在乘积矩阵框架下的改进。在编码过程中,删除信息位添加冗余后得到其中前α个数据为已知的冗余量,是后若干元素的线性组合。系数矩阵Ψ是范德蒙矩阵,形如:
而消息矩阵M是由两个α×α的对角矩阵构成的d×α的矩阵,形如:
(3)编码矩阵C=Ψ·M,令C中前t行元素全部等于0,可以确定α个冗余量与原始数据的线性关系,由此求解冗余量的数值。
译码时,从连接任意ks个节点,对应节点系数向量构成ks×d系数矩阵,记为Ψs_DC,将Ψs_DC补上t个截短节点的系数向量构成新的k×d系数矩阵ΨDC。从ks个节点下载数据构成ks×d的编码矩阵Ψs_DCM,补充t行零向量,形成新的k×d编码矩阵ΨDCM。将补齐后的系数矩阵和补齐后的编码矩阵按照由乘积矩阵构成的MSR码的译码方式进行译码即可。
具体译码过程的步骤为:
(1)数据收集器需要连接任意ks个节点,对应的节点系数向量构成ks×d系数矩阵,记为Ψs_DC。将Ψs_DC补上t个截短节点的系数向量,构成新的k×d系数矩阵ΨDC,具体公式为:
ΨDC=[ΦDC ΛDCΦDC]
(2)从ks个节点下载数据构成ks×d的编码矩阵Ψs_DCM,对编码矩阵补充t行零向量,形成新的k×d编码矩阵ΨDCM,用公式表示为:
首先,将收集数据ΨDCM右乘用公式表示为:
记P和Q为中间变量,则:
由于S1和S2均为对称矩阵,故P和Q均为对称矩阵。故式简化为用P和Q表示,得
另外,由于P,Q,ΛDC均为对称矩阵,则式也为对称矩阵。
其次,引入(i,j)矩阵元素,当i≠j时,由于对称矩阵(i,j)元素与(j,i)元素相同,即Pij+λiQij=Pji+λjQji,解得i≠j情况下的Pi,j和Qi,j。在计算i=j时,除第i个元素未知,其余均为已知,可以解出S1。同理解出S2,完成译码,其中,φ均表示为ΦDC的列,即φi为矩阵ΦDC的第i列,以下均同。
修复时,连接ds个帮助节点,记为帮助节点系数向量构成ds×d系数矩阵,记为Ψs_repair,将Ψs_repair补上t个截短节点的系数向量构成新的d×d系数矩阵Ψrepair。从每个帮助节点下载β数据。构成ds×β的数据矩阵,补充t行零向量,形成新的d×β数据矩阵。将补齐后系数矩阵和接受的数据矩阵按照由乘积矩阵构造的MSR码的修复方式进行修复。
具体修复过程的步骤为:
(1)将失效节点记为f,f的系数向量为计算丢失的数据为:
(2)连接ds个帮助节点,记为这些帮助节点系数向量构成ds×d系数矩阵,记为Ψs_repair。将Ψs_repair补上t个截短节点的系数向量构成新的d×d系数矩阵Ψrepair,得到如下公式:
(3)从每个帮助节点下载β数据。构成ds×β的数据矩阵,补充t行零向量,形成新的d×β数据矩阵。帮助节点数据与φf右乘,得到传输至新节点。新节点从ds个帮助节点接受数据ΨrepairMφf。
首先,新节点将接收的数据左乘用公式表示为:
其次,通过转置即可修复丢失数据完成修复。
在本发明中,截短MSR码是基于乘积矩阵构造的,因此存在约束条件d=2k-2。对于MSR码,由(n+t,k+t,2k+2t-2)的MSR母码截短t位可以得到一个参数为(n,k,2k+t-2)的截短MSR码,则截短MSR码的USC和URB分别表示为:
与具有相同n,k参数下的MSR码对比,截短MSR可以在维持相同单位存储开销的基础上,降低单位带宽开销,如图1a、图1b仿真结果所示。
从图1a和图1b中看出当截短位数相同时优选的,随着k值的增大,截短MSR与MSR码的单位带宽开销差距将逐渐减小,因为截短节点数在总的节点数中占比将逐渐减小。截短位数t越大,截短节点数占比越大,截短MSR的单位带宽开销将下降更为明显。截短MSR码能够使单位带宽开销降低k值等于5时通过截短一位可将单位带宽开销降低10%。k值大于10后,截短一位的降幅小于5%。k值小于等于9时截短两位降幅达到10%。k值大于19后截短两位的降幅小于5%。
在实际试验中,选取大小为4KB、8KB、12KB、16KB、20KB的原始文件,在参数图2a:n=8,k=3,图2b:n=9,k=3,图2c:n=16,k=6条件下,比较RS码、MBR、MSR、截短MSR几种编码方案在实际***中的带宽开销,得到如如图2a、图2b、图2c所示。
首先分析图2a,截短MSR对比MSR能降低带宽开销,并且带宽开销随截短位数增加而减少。其次纵向对比在具有相同的k值不同冗余度下的带宽开销,如图2a和图2b,虽然n值增加冗余度增大,但是各种方案的带宽开销均保持不变,截短MSR能够降低的带宽开销也不变,验证了截短MSR的性能与冗余度无关。当相同冗余度不同k值时,如图2a和图2c,RS码带宽开销依旧最大,MBR保持最小,MSR和两种截短MSR居中。k=3时,截短一位的MSR相比于MSR降低了16.7%的带宽开销,截短两位降低了24.6%;k=6时,截短一位仅降低4.4%,截短两位降低了12.1%,虽然截短仍然能够降低带宽开销,但是当k值增大时降低的幅度已经不明显,在实际***中截短带来的带宽开销的降幅也基本符合
对于复杂度方面的开销构造截短再生码时,本发明的方法包括如下步骤:
(1)首先,定义本原多项式为g(z)的有限域GF(2w)中基础运算的异或次数,加法是按位异或,需要w次异或操作,乘法是多项式的相乘然后利用本原多项式g(z)降维,需要μw次异或,其中μ=(w-1)+||g(z)||0;
(2)其次,定义求解方程的异或次数,并作为数学模型解决后续截短MSR码的复杂度分析。假设求解方程Ax=B,其中A为的n×n矩阵,未知数x为n×1矩阵,B为n×1矩阵,求解A-1需要次异或,未知数矩阵x由两个矩阵的乘积A-1B解出,该矩阵乘法的异或次数为n2μw+n(n-1)w,由于逆矩阵异或次数的量级远远大于矩阵乘积的异或次数,为简单处理,令方程求解的总异或次数为假设,原始数据共有Bm位符号,将原始数据分割成B个原始码块,每个原始码块m个符号,若有限域为GF(2w),则w=m。
编码过程分为两个步骤,具体是:
(1)首先,由tα组方程解出tα个补齐的冗余量,转化为求解数学模型Ax=B,其中A为的tα×tα矩阵,未知数x为tα×1矩阵,B为tα×1矩阵,则需要次异或操作。
(2)其次,将大小为(n+t)×(2k+2t-2)的系数矩阵与(2k+2t-2)×α的消息矩阵相乘,需要α(n+t)(2k+2t-2)次乘法和α(n+t)(2k+2t-3)次加法,每次乘法需要μw次异或,每次加法需要w次异或,该步骤需要α(n+t)w·[(2k+2t-2)μ+(2k+2t-3)]次异或。平均到每一位原始数据,编码的异或次数为
译码过程分为四个步骤:
(1)首先,对系数矩阵和收集数据的补齐操作不涉及异或操作。然后,大小为(k+t)×α的数据右乘α×(k+t)的需要α(k+t)2次加法和(α-1)(k+t)2次乘法,该步骤共计(k+t)2w·[αμ+α-1]次异或;
(2)其次,通过个形如Ax=B的方程,其中A为2×2矩阵,可以解得P矩阵和Q矩阵中i≠j位置的元素,此时异或次数为4(k+t)2μw;
(3)最后,由于已知可以通过解α个方程组译码出原始数据S1。每个方程形如AxB=C,其中A为1×α矩阵,x为α×α矩阵,C为1×α矩阵,可以变形为BT·(xTAT)=CT,解该方程需要次异或,得到xTAT=D;一共有α组方程,则异或次数为将α组形如xTAT=D方程重构形成ES1=F,其中,E为α×α矩阵,S1为α×1矩阵,F为α×1矩阵,则解出S1需要异或次。同理可通过Q解出S2。平均到每一位原始数据,译码需要次异或。
修复过程分两个步骤:
(1)首先,在帮助节点内,将本节点存储1×α矩阵乘以α×β失效节点系数矩阵,生成1×β的新数据。该过程经过βα次乘法和β(α-1)次加法,次数为β[αμw+(α-1)w]的异或操作。因为一共有2k+t+2个帮助节点,故总共的异或次数是β(2k+t+2)[αμw+(α-1)w]。
(2)其次,新节点接收到来自帮助节点的(2k+t+2)×β矩阵,并与(2k+t+2)×(2k+t+2)系数矩阵的逆相乘,异或次数为β(2k+t+2)[(2k+t+2)μw+(2k+t+1)w]。再转置相加,需要(2k+t+2)βμ次异或。平均到每位原始数据,修复需要次异或。
对本发明的复杂度进行分析:
在本发明中截短MSR码与常用的纠删码、MSR码、局部修复再生码的复杂度比较如表2。截短MSR在编码环节需要计算在原始数据前添加的冗余量,并且需补零按照MSR母码的规则进行译码和修复,故截短MSR的复杂度略高于MSR,是一种牺牲计算开销降低带宽开销的编码方式。
表2复杂度比较
分析各种方案的复杂度,均涉及有限域运算带来的μ因子,Hou等人提出了一种BASIC操作,取代传统有限域计算,能够降低计算复杂度。将BASIC操作能够运用于截短MSR码,称为BASIC截短MSR码(BASIC_sMSR),在编码、译码、修复各个环节均能起到降低计算开销的作用,如图3a、3b和3c所示。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (10)
1.一种降低带宽消耗的截短再生码构造方法,其特征在于,该方法在参数为(n,k)母码基础上,删除t个信息位,得到(n-t,k-t)的截短子码,添加冗余令并将编码后t个节点保存数据均为0,求解出冗余量的数值;
译码和修复时,对连接的节点所对应的系数向量构成的矩阵补充上t个截短节点的系数向量,构成新的k×d系数矩阵,将从节点中下载的数据所构成的编码矩阵补充t行零向量,形成新的编码矩阵,将补齐后系数矩阵和接受的数据矩阵按照MSR母码的译码或者修复方式进行译码或者修复。
2.根据权利要求1所述的降低带宽消耗的截短再生码构造方法,其特征在于,该方法包括:
(1)以参数(n,k,d)[α,γ,B]为MSR母码,截短t个节点后得到参数为(ns,ks,ds)[αs,γs,Bs]的截短子码,则MSR母码与截短子码参数间存在以下关系:
(2)在乘积矩阵框架下,删除信息位t个节点并添加冗余后得到其中前α个数据为已知的冗余量,由两个α×α的对角矩阵构成的d×α的矩阵构造消息矩阵M为:
(3)构造编码矩阵C=Ψ·M,令C中前t行元素全部等于0,求解冗出余量的数值,其中,Ψ是以范德蒙矩阵为系数矩阵。
3.根据权利要求2所述的降低带宽消耗的截短再生码构造方法,其特征在于,译码时,从连接任意ks个节点,对应节点系数向量构成ks×d系数矩阵,记为Ψs_DC,将Ψs_DC补上t个截短节点的系数向量构成新的k×d系数矩阵ΨDC,从ks个节点下载数据构成ks×d的编码矩阵Ψs_DCM,补充t行零向量,形成新的k×d编码矩阵ΨDCM,将补齐后的系数矩阵和补齐后的编码矩阵按照由乘积矩阵构成的MSR码的译码方式进行译码。
4.根据权利要求3所述的降低带宽消耗的截短再生码构造方法,其特征在于,译码时的步骤包括:
(1)数据收集器需要连接任意ks个节点,对应的节点系数向量构成ks×d系数矩阵Ψs_DC,将Ψs_DC补上t个截短节点的系数向量,构成新的k×d系数矩阵ΨDC,表示为:ΨDC=[ΦDC ΛDCΦDC];
从ks个节点下载数据构成ks×d的编码矩阵Ψs_DCM,对编码矩阵补充t行零向量,形成新
的k×d编码矩阵ΨDCM,得:
(2)将收集数据ΨDCM右乘得P和Q为中间变量且均为对称矩阵,其中,
(3)引入(i,j)矩阵元素,当i≠j时,由于对称矩阵(i,j)元素与(j,i)元素相同,即Pij+λiQij=Pji+λjQji,解得i≠j情况下的Pi,j和Qi,j;
在i=j时,除第i个元素未知,其余均为已知,可以解出S1,以此方法同解出S2,完成译码,其中,φ均表示为ΦDC的列,φi为矩阵ΦDC的第i列。
5.根据权利要求2所述的降低带宽消耗的截短再生码构造方法,其特征在于,修复时,连接ds个帮助节点,记为帮助节点系数向量构成ds×d系数矩阵,记为Ψs_repair,将Ψs_repair补上t个截短节点的系数向量构成新的d×d系数矩阵Ψrepair,从每个帮助节点下载β数据,构成ds×β的数据矩阵,补充t行零向量,形成新的d×β数据矩阵,将补齐后系数矩阵和接受的数据矩阵按照由乘积矩阵构造的MSR码的修复方式进行修复。
6.根据权利要求5所述的降低带宽消耗的截短再生码构造方法,其特征在于,该方法的修复步骤包括:
(1)将失效节点记为f,f的系数向量为计算丢失的数据为
(2)连接ds个帮助节点,记为构成ds×d系数矩阵Ψs_repair,将Ψs_repair补上t个截短节点的系数向量构成新的d×d系数矩阵Ψrepair,得:
(3)从每个帮助节点下载β数据,构成ds×β的数据矩阵,补充t行零向量,形成新的d×β数据矩阵,帮助节点数据与φf右乘,得到传输至新节点,新节点从ds个帮助节点接受数据ΨrepairMφf并左乘得:再通过转置即可修复丢失数据
7.根据权利要求1所述的降低带宽消耗的截短再生码构造方法,其特征在于,该方法应用于复杂度方面的开销时包括如下步骤:
(1)定义本原多项式为g(z)的有限域GF(2w)中基础运算的异或次数,加法是按位异或,需要w次异或操作,乘法是多项式的相乘然后利用本原多项式g(z)降维,需要μw次异或,其中μ=(w-1)+||g(z)||0;
(2)定义求解方程Ax=B,其中A为的n×n矩阵,未知数x为n×1矩阵,B为n×1矩阵,求解A-1需要次异或,未知数矩阵x由两个矩阵的乘积A-1B解出。
8.根据权利要求7所述的降低带宽消耗的截短再生码构造方法,其特征在于,该方法的编码过程分包括如下步骤:
(1)由ta组方程解出ta个补齐的冗余量,转化为求解数学模型Ax=B,其中A为的tα×tα矩阵,未知数x为ta×1矩阵,B为ta×1矩阵,则需要μw次异或操作;
(2)将大小为(n+t)×(2k+2t-2)的系数矩阵与(2k+2t-2)×α的消息矩阵相乘,需要α(n+t)(2k+2t-2)次乘法和α(n+t)(2k+2t-3)次加法,每次乘法需要μw次异或,每次加法需要w次异或,进行α(n+t)w·[(2k+2t-2)μ+(2k+2t-3)]次异或后,平均到每一位原始数据,得到编码的异或次数为
9.根据权利要求7所述的降低带宽消耗的截短再生码构造方法,其特征在于,该方法的译码过程分包括如下步骤:
(1)对系数矩阵和收集数据的补齐操作不涉及异或操作;
(2)大小为(k+t)×α的数据右乘进行α(k+t)2次加法和(α-1)(k+t)2次乘法;
(3)通过形如Ax=B的方程,其中A为2×2矩阵,可以解得P矩阵和Q矩阵中i≠j位置的元素,此时异或次数为4(k+t)2μw;
(4)由于已知可以通过解α个方程组译码出原始数据S1,依此通过Q解出S2。
10.根据权利要求7所述的降低带宽消耗的截短再生码构造方法,其特征在于,该方法的修复过程分包括如下步骤:
(1)在帮助节点内,将本节点存储1×α矩阵乘以α×β失效节点系数矩阵,生成1×β的新数据;
(2)新节点接收到来自帮助节点的(2k+t+2)×β矩阵,并与(2k+t+2)×(2k+t+2)系数矩阵的逆相乘,异或次数为β(2k+t+2)[(2k+t+2)μw+(2k+t+1)w];再转置相加,需要(2k+t+2)βμ次异或,平均到每位原始数据,进行次异或,修复完成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810194923.3A CN108512553B (zh) | 2018-03-09 | 2018-03-09 | 一种降低带宽消耗的截短再生码构造方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810194923.3A CN108512553B (zh) | 2018-03-09 | 2018-03-09 | 一种降低带宽消耗的截短再生码构造方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108512553A true CN108512553A (zh) | 2018-09-07 |
CN108512553B CN108512553B (zh) | 2022-09-27 |
Family
ID=63377374
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810194923.3A Active CN108512553B (zh) | 2018-03-09 | 2018-03-09 | 一种降低带宽消耗的截短再生码构造方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108512553B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111971945A (zh) * | 2019-04-03 | 2020-11-20 | 东莞理工学院 | 一种用于数据中心的机架感知再生码 |
CN113553212A (zh) * | 2021-07-28 | 2021-10-26 | 哈尔滨工业大学(深圳) | 用于卫星集群存储网络的混合再生编码修复方法及*** |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102624866A (zh) * | 2012-01-13 | 2012-08-01 | 北京大学深圳研究生院 | 一种存储数据的方法、装置及分布式网络存储*** |
CN103688514A (zh) * | 2013-02-26 | 2014-03-26 | 北京大学深圳研究生院 | 一种最小存储再生码的编码和存储节点修复方法 |
CN103688515A (zh) * | 2013-03-26 | 2014-03-26 | 北京大学深圳研究生院 | 一种最小带宽再生码的编码和存储节点修复方法 |
CN104506506A (zh) * | 2014-12-15 | 2015-04-08 | 齐宇庆 | 一种电子信息安全存储***及存储方法 |
US20160026543A1 (en) * | 2014-07-24 | 2016-01-28 | At&T Intellectual Property I, L.P. | Distributed Storage of Data |
CN105681425A (zh) * | 2016-01-22 | 2016-06-15 | 广东顺德中山大学卡内基梅隆大学国际联合研究院 | 基于分布式存储***的多节点修复方法及其*** |
US20170017581A1 (en) * | 2015-05-27 | 2017-01-19 | California Institute Of Technology | Communication Efficient Secret Sharing |
CN107086870A (zh) * | 2017-03-16 | 2017-08-22 | 东莞理工学院 | 修复多节点失效的mds阵列码编码以及解码方法 |
CN107395319A (zh) * | 2017-06-16 | 2017-11-24 | 哈尔滨工业大学深圳研究生院 | 基于打孔的码率兼容极化码编码方法及*** |
-
2018
- 2018-03-09 CN CN201810194923.3A patent/CN108512553B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102624866A (zh) * | 2012-01-13 | 2012-08-01 | 北京大学深圳研究生院 | 一种存储数据的方法、装置及分布式网络存储*** |
CN103688514A (zh) * | 2013-02-26 | 2014-03-26 | 北京大学深圳研究生院 | 一种最小存储再生码的编码和存储节点修复方法 |
CN103688515A (zh) * | 2013-03-26 | 2014-03-26 | 北京大学深圳研究生院 | 一种最小带宽再生码的编码和存储节点修复方法 |
US20160026543A1 (en) * | 2014-07-24 | 2016-01-28 | At&T Intellectual Property I, L.P. | Distributed Storage of Data |
CN104506506A (zh) * | 2014-12-15 | 2015-04-08 | 齐宇庆 | 一种电子信息安全存储***及存储方法 |
US20170017581A1 (en) * | 2015-05-27 | 2017-01-19 | California Institute Of Technology | Communication Efficient Secret Sharing |
CN105681425A (zh) * | 2016-01-22 | 2016-06-15 | 广东顺德中山大学卡内基梅隆大学国际联合研究院 | 基于分布式存储***的多节点修复方法及其*** |
CN107086870A (zh) * | 2017-03-16 | 2017-08-22 | 东莞理工学院 | 修复多节点失效的mds阵列码编码以及解码方法 |
CN107395319A (zh) * | 2017-06-16 | 2017-11-24 | 哈尔滨工业大学深圳研究生院 | 基于打孔的码率兼容极化码编码方法及*** |
Non-Patent Citations (5)
Title |
---|
丁尚 等: "基于简单再生码的带宽感知的分布式存储节点修复优化", 《软件学报》 * |
张星 等: "基于离散粒子群优化算法的合作感知调度方案", 《通信学报》 * |
徐志强 等: "基于稀疏随机矩阵的再生码构造方法", 《计算机应用》 * |
李钧: "分布式存储***中数据再生策略研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
邓锐: "分布式存储***中再生码的性能分析和优化设计", 《哈尔滨工业大学硕士论文》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111971945A (zh) * | 2019-04-03 | 2020-11-20 | 东莞理工学院 | 一种用于数据中心的机架感知再生码 |
CN113553212A (zh) * | 2021-07-28 | 2021-10-26 | 哈尔滨工业大学(深圳) | 用于卫星集群存储网络的混合再生编码修复方法及*** |
CN113553212B (zh) * | 2021-07-28 | 2023-07-18 | 哈尔滨工业大学(深圳) | 用于卫星集群存储网络的混合再生编码修复方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN108512553B (zh) | 2022-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9647698B2 (en) | Method for encoding MSR (minimum-storage regenerating) codes and repairing storage nodes | |
CN103688515B (zh) | 一种最小带宽再生码的编码和存储节点修复方法 | |
Duminuco et al. | A practical study of regenerating codes for peer-to-peer backup systems | |
CN104219019A (zh) | 编码方法及编码设备 | |
CN105356968B (zh) | 基于循环置换矩阵的网络编码的方法及*** | |
CN104079370A (zh) | 信道编译码方法及装置 | |
CN105703782B (zh) | 一种基于递增移位矩阵的网络编码方法及*** | |
CN108132854B (zh) | 一种可同时恢复数据元素及冗余元素的纠删码解码方法 | |
CN113391946B (zh) | 一种分布式存储中的纠删码的编解码方法 | |
CN107086870A (zh) | 修复多节点失效的mds阵列码编码以及解码方法 | |
CN103746774A (zh) | 一种高效数据读取的容错编码方法 | |
CN101483779A (zh) | 一种二维矢量地图的压缩方法 | |
CN108512553A (zh) | 一种降低带宽消耗的截短再生码构造方法 | |
CN105356892A (zh) | 网络编码的方法及*** | |
CN105808170A (zh) | 一种能够以最小磁盘读写修复单磁盘错误的raid6编码方法 | |
CN100440737C (zh) | 一种高度结构化的ldpc编码和解码方法及其编码器和解码器 | |
CN113258936B (zh) | 一种基于循环移位的双重编码的构造方法 | |
CN109062724B (zh) | 一种纠删码转换方法及终端 | |
CN104782101B (zh) | 用于分布式网络存储的自修复码的编码、重构和恢复方法 | |
CN114510368A (zh) | 一种基于rs纠删码的编解码加速方法及*** | |
CN103650462A (zh) | 基于同态的自修复码的编码、解码和数据修复方法及其存储*** | |
CN107317844B (zh) | 基于锯齿可解码的最小存储开销的分布式存储方法及*** | |
WO2014059651A1 (zh) | 一种射影自修复码的编码、数据重构及修复方法 | |
WO2017041233A1 (zh) | 一种功能修复再生码的编码和存储节点修复方法 | |
CN108647108B (zh) | 一种基于循环vfrc的最小带宽再生码的构造方法 |
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 |