CN109522150A - 基于超图的自适应可分解部分重复码构造及故障修复方法 - Google Patents

基于超图的自适应可分解部分重复码构造及故障修复方法 Download PDF

Info

Publication number
CN109522150A
CN109522150A CN201811209226.7A CN201811209226A CN109522150A CN 109522150 A CN109522150 A CN 109522150A CN 201811209226 A CN201811209226 A CN 201811209226A CN 109522150 A CN109522150 A CN 109522150A
Authority
CN
China
Prior art keywords
link
hypergraph
vertex
adaptive
node
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
CN201811209226.7A
Other languages
English (en)
Other versions
CN109522150B (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.)
Hefei Minglong Electronic Technology Co ltd
Original Assignee
Changan University
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 Changan University filed Critical Changan University
Priority to CN201811209226.7A priority Critical patent/CN109522150B/zh
Publication of CN109522150A publication Critical patent/CN109522150A/zh
Application granted granted Critical
Publication of CN109522150B publication Critical patent/CN109522150B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/373Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with erasure correction and erasure determination, e.g. for packet loss recovery or setting of erasures for the decoding of Reed-Solomon codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Image Processing (AREA)

Abstract

本发明属于计算机领域,具体涉及一种基于超图的自适应可分解部分重复码构造方法,包括如下步骤:步骤1:通过超图染色的方法构造出染色的线性(d,ρ)‑超图,所述的染色的线性(d,ρ)‑超图包含顶点和染色链路;步骤2:确定染色的线性(d,ρ)‑超图中顶点和染色链路与FR码中节点和数据块之间的对应关系,得到FR码的编码结构。本方法使FR码能够灵活地适应动态分布式存储系统,有效降低FR码编码过程的计算复杂度。本发明还包括一种基于超图的FR码故障修复方法,通过有限的存活节点快速实现故障节点的数据重构,有效减少了修复过程中的修复时间。

Description

基于超图的自适应可分解部分重复码构造及故障修复方法
技术领域
本发明属于计算机领域,具体涉及一种基于超图的自适应可分解部分重复码构造及故障修复方法。
背景技术
随着海量数据的出现及信息数据的爆炸性增长,分布式存储系统因其廉价性和高扩展性等特点得到了广泛的应用。在分布式存储系统中,人们普遍追求数据存储的可靠性和可用性。
最初,采取三副本复制策略和纠删码提高系统可靠性,然而复制策略的存储代价过高,纠删码的修复带宽开销过大。随后,Dimakis等人提出了再生码,显著降低了故障节点的修复带宽开销。通过对修复带宽和存储开销进行分析,Dimakis等人于2010年又提出了最小存储再生(Minimum Storage Regeneration,MSR)码和最小带宽再生(MinimumBandwidth Regeneration,MBR)码。再生码(包括MSR码和MBR码),在故障节点修复过程通常涉及大量有限域运算,计算复杂度较高。为了进一步降低故障节点修复过程中的计算复杂度和修复带宽开销,Rouayheb和Ramchandran于2010年提出了一种精确MBR码——FR码,能够容忍多故障节点的低复杂度无编码修复。传统的FR码主要针对静态存储系统,节点存储容量和编码块的重复度保持不变。在分布式存储系统中,节点故障必然导致数据丢失,因此系统时刻处于动态的变化中。FR码的主要缺点是其参数不能灵活地适应动态分布式存储系统。针对上述不足,朱兵提出了每节点具有自适应存储容量的FR码——自适应FR码。随后,OktayOlmez提出了基于组合设计构造FR码,将基于可分解设计构造的FR码称为可分解FR码。考虑到FR码中节点存储容量和编码块重复度能随分布式存储系统动态地改变,Yi-Sheng Su提出了自适应可分解FR码,并提出该码的两种构造方法,分别是基于循环置换矩阵(circulant permutation matrices,CPMs)与仿射置换矩阵(affine permutationmatrices,APMs)。当分布式存储系统规模较大时,基于CPMs和APMs构造自适应可分解FR码涉及大量的有限域运算,构造过程的计算复杂度较高,且自适应可分解FR码的存在受到条件限制。
发明内容
针对上述现有技术中存在的自适应可分解部分重复码涉及大量的有限域运算,构造过程的计算复杂度较高,且自适应可分解部分重复码的存在受到条件限制的问题,本发明提供一种基于超图的自适应可分解部分重复码构造方法,包括如下步骤:
步骤1:通过超图染色的方法构造出染色的线性(d,ρ)-超图,所述的染色的线性(d,ρ)-超图包含顶点和链路;
步骤2:确定步骤1得到的染色的线性(d,ρ)-超图中顶点和染色链路与自适应可分解部分重复码中节点和数据块之间的对应关系,即超图中顶点对应于自适应可分解部分重复码中数据块,超图中染色链路对应于自适应可分解部分重复码中节点,超图中染色链路所包含的顶点对应于自适应可分解部分重复码中节点所存储的数据块,得到自适应可分解部分重复码的编码结构。
进一步的,步骤1包括如下子步骤:
步骤1.1:构造线性(d,ρ)-超图G=(V,E)的模型,包括顶点集V={v1,v2,…,vθ}和链路集E={e1,e2,…,en};
步骤1.2:将步骤1.1的顶点集和链路集分为多个顶点子集和多个链路子集;
步骤1.3:对步骤1.2中得到的每个链路子集中的链路分配顶点;
步骤1.4:对步骤1.3得到的每个链路子集分配颜色,得到染色链路;
步骤1.5:通过步骤1.4得到的分配过顶点且分配过颜色的染色链路即为染色的线性(d,ρ)-超图。
进一步的,步骤1.1包括如下子步骤:
线性(d,ρ)-超图G=(V,E)由顶点集V={v1,v2,…,vθ}和链路集E={e1,e2,…,en}组成,每条链路均包含d个顶点,每个顶点均存在于ρ个链路中,任意两条链路最多包含超图中的同一顶点,其中n≡0modρ,θ≡0modd,n/ρ=θ/d,d2≤θ,且n、ρ、θ、d均为正整数。
进一步的,步骤1.2包括如下子步骤:
将顶点集V={v1,v2,…,vθ}按序列分为d个顶点子集,分别为V1={v1,…vθ/d},…,Vd={v(θ-θ/(d+1)),…vθ},每个顶点子集包含θ/d个顶点;将链路集E={e1,e2,…,en}按序列分为ρ个链路子集,每个链路子集包含n/ρ个链路,分别为E1={e1,1,…,e1,k,…e1,n/ρ},…,Em={e1,1,…,em,j,…e1,n/ρ},…,Eρ={eρ,1,…,eρ,j,…eρ,n/ρ},其中1≤m≤ρ、1≤j≤n/ρ,m、j均为正整数,em,j表示第m个链路子集Em中的第j个链路。
进一步的,步骤1.3包括如下子步骤:
步骤1.3.1:对第一个链路子集E1={e1,1,…,e1,n/ρ}中的链路e1,1,…,e1,θ/d分配顶点,取链路序号1≤j≤n/ρ,取顶点序号1≤i≤θ,当i=jmod(n/ρ)时,将顶点{vi|i=jmod(n/ρ),1≤i≤θ}分配到链路e1,j中;
步骤1.3.2:对第t(2≤t≤ρ)个链路子集中的链路分配顶点,取链路序号1≤j≤n/ρ,需要根据链路e1,1,…,e1,n/ρ,…,et-1,1,…,et-1,n/ρ中分配的顶点,为当前链路子集中的链路et,1,…,et,θ/d分配顶点,且分配原则同时满足条件(1)、(2)和(3):
条件(1):链路et,1,…,et,θ/d中包含所有顶点且任意两条链路不相邻且局部不相关;
条件(2):当前链路中的任一条链路et,j中有且仅有每个顶点子集V1,…,Vd中的一个顶点;
条件(3):顶点集V中任意两个顶点最多存在于链路e1,1,…,e1,n/ρ,…,et,1,…,et,n/ρ中的一个链路中。
进一步的,步骤1.4包括如下子步骤:
对步骤1.2得到的ρ个链路子集中的每个链路子集分配一种颜色,则超图中共有ρ种不同颜色的链路,即染色链路,顶点集V={v1,v2,…,vθ}中每个顶点存在于ρ条不同颜色的链路中。
进一步的,步骤2包括如下子步骤:
所述的染色链路中,每种颜色的染色链路组对应一个自适应可分解部分重复码的平行类,每个平行类由一组节点组成,每个平行类中的节点存储所有数据块,且每个平行类内任意两个节点不存储重复的数据块。
本发明还提供一种基于超图的自适应可分解部分重复码故障修复方法,包括以下步骤:
步骤1:按照基于超图的自适应可分解部分重复码构造方法,将原文件按照自适应可分解部分重复码的编码结构存储到节点中;
步骤2:判断发生故障的节点数目,若单个节点发生故障,则执行步骤3,若多个节点发生故障,则执行步骤4;
步骤3:找到该故障节点对应的线性(d,ρ)-超图染色链路,根据超图中链路染色情况,替换节点连接任意一个完整链路集对应的存活节点,完成故障节点的修复;
步骤4:找到故障节点对应的超图中染色链路,当多故障节点对应的超图中染色链路最多存在ρ-1种颜色时,且超图中至少存在一个完整链路集,替换节点连接任意一个完整链路集对应的存活节点,完成故障节点的修复;当多故障节点对应的超图中染色链路存在ρ种颜色,且故障节点数不超过n-k时,替换节点连接任意k个存活节点重构原始文件,完成故障节点的修复。
与现有技术相比,本发明具有以下技术效果:
1、采用基于超图的自适应可分解部分重复码编码方法实现对原文件的存储,使该FR码能够灵活地适应动态分布式存储系统。对于大规模分布式存储系统,能够有效降低FR码编码过程的计算复杂度。
2、在分布式存储系统中,基于超图的自适应可分解部分重复码具有较优的修复带宽开销和修复局部性。
3、当分布式存储系统中存在单节点和多节点故障时,都只需要通过有限的存活节点快速实现故障节点的数据重构,即可快速恢复出故障节点数据,有效降低了修复过程中计算复杂度,获得较少的修复时间。
附图说明
图1是染色后的完整线性(d,ρ)-超图示意图;
图2(a)、2(b)、2(c)是每个线性(d,ρ)-超图中链路子集的顶点分配图;
图3是染色的线性(d,ρ)-超图的关联矩阵;
图4是基于超图染色的自适应可分解部分重复码结构图。
具体实施方式
本发明提供一种基于超图的自适应可分解部分重复码构造方法,包括以下步骤:
步骤1:通过超图染色的方法构造出染色的线性的一致正则超图,即染色的线性(d,ρ)-超图,所述的染色的线性(d,ρ)-超图包含顶点和染色链路;
步骤2:确定步骤1得到的染色的线性(d,ρ)-超图中顶点和染色链路与自适应可分解部分重复码中节点和数据块之间的对应关系,即超图中顶点对应于自适应可分解部分重复码中数据块,超图中染色链路对应于自适应可分解部分重复码中节点,超图中染色链路所包含的顶点对应于自适应可分解部分重复码中节点所存储的数据块,得到自适应可分解部分重复码的编码结构。
具体的,还可以获得步骤1中染色的线性(d,ρ)-超图的关联矩阵,将染色的线性(d,ρ)-超图的关联矩阵对应自适应可分解部分重复码的关联矩阵,自适应可分解部分重复码的关联矩阵中,行向量对应于自适应可分解部分重复码中的数据块,列向量对应于自适应可分解部分重复码中的节点,当节点中包含某个数据块时,就对应位置为1,否则为0,获得自适应可分解部分重复码的编码结构,这是由染色的线性(d,ρ)-超图得到FR码的另一种方法。
采用基于超图的自适应可分解部分重复码构造方法实现对原文件的存储,使该FR码能够灵活地适应动态分布式存储系统。对于大规模分布式存储系统,能够有效降低FR码编码过程的计算复杂度。
具体的,步骤1包括如下子步骤:
步骤1.1:构造线性(d,ρ)-超图G=(V,E)的模型,包括顶点集V={v1,v2,…,vθ}和链路集E={e1,e2,…,en};
步骤1.2:将步骤1.1的顶点集和链路集分为多个顶点子集和多个链路子集;
步骤1.3:对步骤1.2中得到的每个链路子集中的链路分配顶点;
步骤1.4:对步骤1.3得到的每个链路子集分配颜色,得到染色链路;
步骤1.5:通过步骤1.4得到的分配过顶点且分配过颜色的染色链路即为染色的线性(d,ρ)-超图。
具体的,步骤1.1包括如下子步骤:
线性(d,ρ)-超图G=(V,E)由顶点集V={v1,v2,…,vθ}和链路集E={e1,e2,…,en}组成,每条链路均包含d个顶点,每个顶点均存在于ρ个链路中,任意两条链路最多包含超图中的同一顶点,其中n≡0modρ,θ≡0modd,n/ρ=θ/d,d2≤θ,且n、ρ、θ、d均为正整数。
具体的,步骤1.2包括如下子步骤:
将顶点集V={v1,v2,…,vθ}按序列分为d个顶点子集,分别为V1={v1,…vθ/d},…,Vd={v(θ-θ/(d+1)),…vθ},每个顶点子集包含θ/d个顶点;将链路集E={e1,e2,…,en}按序列分为ρ个链路子集,每个链路子集包含n/ρ个链路,分别为E1={e1,1,…,e1,k,…e1,n/ρ},…,Em={e1,1,…,em,j,…e1,n/ρ},…,Eρ={eρ,1,…,eρ,j,…eρ,n/ρ},其中1≤m≤ρ、1≤j≤n/ρ,m、j均为正整数,em,j表示第m个链路子集Em中的第j个链路。
具体的,步骤1.3包括如下子步骤:
步骤1.3.1:对第一个链路子集E1={e1,1,…,e1,n/ρ}中的链路e1,1,…,e1,θ/d分配顶点,取链路序号1≤j≤n/ρ,取顶点序号1≤i≤θ,当i=jmod(n/ρ)时,将顶点{vi|i=jmod(n/ρ),1≤i≤θ}分配到链路e1,j中;
步骤1.3.2:对第t(2≤t≤ρ)个链路子集中的链路分配顶点,取链路序号1≤j≤n/ρ,需要根据链路e1,1,…,e1,n/ρ,…,et-1,1,…,et-1,n/ρ(即所有已经分配过顶点的链路)中分配的顶点,为当前链路子集中的链路et,1,…,et,θ/d分配顶点,且分配原则同时满足条件(1)、(2)和(3):
条件(1):链路et,1,…,et,θ/d中包含所有顶点且任意两条链路不相邻且局部不相关;
条件(2):当前链路中的任一条链路et,j中有且仅有每个顶点子集V1,…,Vd中的一个顶点;
条件(3):顶点集V中任意两个顶点最多存在于链路e1,1,…,e1,n/ρ,…,et,1,…,et,n/ρ中的一个链路中。
具体的,步骤1.4包括如下子步骤:
对步骤1.3得到的ρ个链路子集中的每个链路子集分配一种颜色,则超图中共有ρ种不同颜色的链路,即染色链路,顶点集V={v1,v2,…,vθ}中每个顶点存在于ρ条不同颜色的链路中。
具体的,步骤2包括如下子步骤:
所述的染色链路中,每种颜色的染色链路组对应一个自适应可分解部分重复码的平行类,每个平行类由一组节点组成,每个平行类中的节点存储所有数据块,且每个平行类内任意两个节点不存储重复的数据块。
本发明提供一种基于超图的自适应可分解部分重复码故障修复方法,包括以下步骤:
步骤1:按照基于超图的自适应可分解部分重复码构造方法,将原文件按照自适应可分解部分重复码的编码结构存储到节点中;
步骤2:判断发生故障的节点数目,若单个节点发生故障,则执行步骤3,若多个节点发生故障,则执行步骤4;
步骤3:找到该故障节点对应的线性(d,ρ)-超图染色链路,根据超图中链路染色情况,替换节点连接任意一个完整链路集对应的存活节点,完成故障节点的修复;
所述的完整链路集不包括故障节点对应的链路,此时完成对单个故障节点进行的精确无编码修复;
步骤4:找到故障节点对应的超图中染色链路,当多故障节点对应的超图中染色链路最多存在ρ-1种颜色时,且超图中至少存在一个完整链路集,替换节点连接任意一个完整链路集对应的存活节点,完成故障节点的修复;当多故障节点对应的超图中染色链路存在ρ种颜色,且故障节点数不超过n-k时,替换节点连接任意k个存活节点重构原始文件,能实现对多个故障节点的快速修复。
当分布式存储系统中存在单节点和多节点故障时,都只需要通过有限的存活节点快速实现故障节点的数据重构,即可快速恢复出故障节点数据,有效降低了修复过程中计算复杂度获得了较少的修复时间。
以下给出本发明的具体实施方式,需要说明的是本发明并不局限于以下具体实施例,凡在本申请技术方案基础上做的等同变换均落入本发明的保护范围。
实施例1:
本实施例具体说明了基于超图的自适应可分解部分重复码构造方法及故障修复方法。
步骤1:通过超图染色的方法构造出染色的线性的一致正则超图,即染色的线性(d,ρ)-超图;
步骤1.1:假定超图G=(V,E)中,顶点集V={v1,v2,…,v16},链路集E={e1,e2,…,e12},每条链路包含4个顶点,每个顶点存在于3条链路中;
步骤1.2:如图1所示,将顶点集V按序列分为4个顶点子集,分别为V1={v1,v2,v3,v4},V2={v5,v6,v7,v8},V3={v9,v10,v11,v12},V4={v13,v14,v15,v16},将链路集E按序列分为3个链路子集E1={e1,e2,e3,e4},E2={e5,e6,e7,e8},E3={e9,e10,e11,e12};
步骤1.3:依据超图染色的启发式构造算法为步骤1.2中得到的链路子集中的链路分配顶点,链路e1,e2,e3,e4中包含的顶点分别为{v1,v5,v9,v13},{v2,v6,v10,v14},{v3,v7,v11,v15},{v4,v8,v12,v16};链路e5,e6,e7,e8中包含的顶点分别为{v1,v6,v11,v16},{v2,v5,v12,v15},{v3,v8,v9,v14},{v4,v7,v10,v13};链路e9,e10,e11,e12中包含的顶点分别为{v1,v7,v12,v14},{v2,v8,v11,v13},{v3,v5,v10,v16},{v4,v6,v9,v15}。
步骤1.4:对步骤1.3得到的每个链路子集进行链路染色,为同一链路子集中的链路染同种颜色,共存在3种染色。
步骤1.5:通过步骤1.4得到的分配过顶点且分配过颜色的染色链路即为染色的线性(d,ρ)-超图。
将超图的顶点对应关联矩阵的行向量,超图的链路对应关联矩阵的列向量,当顶点vi属于链路ej时,aij=1;否则,aij=0。由超图G=(V,E)得到的关联矩阵A=(aij)n×m,如图2所示。将超图的关联矩阵等价为FR码的关联矩阵,关联矩阵的行向量表示FR码的编码块,列向量表示FR码的存储节点,则自适应可分解部分重复码数据块数θ=16,节点数n=12。行向量的重表示编码块重复度ρ=3,列向量的重表示节点存储容量d=4。基于超图染色的自适应可分解部分重复码结构如图3所示,N1~N12是12个存储节点,d1~d16是16个不同的数据块。
当节点N1故障时,该故障节点对应于超图中链路集E1={e1,e2,e3,e4}中链路e1,替换节点连接链路集E2={e5,e6,e7,e8}对应的存活节点{N5,N6,N7,N8}(或链路集E3={e9,e10,e11,e12}对应的存活节点{N9,N10,N11,N12}),即可对故障节点进行精确无编码修复。
当{N1,…,N8}中多个节点故障时,故障节点对应于E1={e1,e2,e3,e4}和E2={e5,e6,e7,e8}两个链路集的链路,替换节点连接链路集E3={e9,e10,e11,e12}对应的存活节点{N5,N6,N7,N8},即可对多故障节点进行精确无编码修复;当{N1,…,N12}中多个节点故障且故障节点数不超过n-k时,假设k=4,故障节点为{N1,N2,N3,N5,N6,N9,N10},替换节点连接任意k=4个存活节点,如存活节点{N4,N7,N8,N12},即可重构原始文件,实现对多个故障节点的快速修复。

Claims (8)

1.基于超图的自适应可分解部分重复码构造方法,其特征在于,包括以下步骤:
步骤1:通过超图染色的方法构造出染色的线性(d,ρ)-超图,所述的染色的线性(d,ρ)-超图包含顶点和染色链路;
步骤2:确定步骤1得到的染色的线性(d,ρ)-超图中顶点和染色链路与自适应可分解部分重复码中节点和数据块之间的对应关系,即超图中顶点对应于自适应可分解部分重复码中数据块,超图中染色链路对应于自适应可分解部分重复码中节点,超图中染色链路所包含的顶点对应于自适应可分解部分重复码中节点所存储的数据块,得到自适应可分解部分重复码的编码结构。
2.如权利要求1所述的基于超图的自适应可分解部分重复码构造方法,其特征在于,步骤1包括如下子步骤:
步骤1.1:构造线性(d,ρ)-超图G=(V,E)的模型,包括顶点集V={v1,v2,…,vθ}和链路集E={e1,e2,…,en};
步骤1.2:将步骤1.1的顶点集和链路集分为多个顶点子集和多个链路子集;
步骤1.3:对步骤1.2中得到的每个链路子集中的链路分配顶点;
步骤1.4:对步骤1.3得到的每个链路子集分配颜色,得到染色链路;
步骤1.5:通过步骤1.4得到的分配过顶点且分配过颜色的染色链路即为染色的线性(d,ρ)-超图。
3.如权利要求2所述的基于超图的自适应可分解部分重复码构造方法,其特征在于,步骤1.1包括如下子步骤:
线性(d,ρ)-超图G=(V,E)由顶点集V={v1,v2,…,vθ}和链路集E={e1,e2,…,en}组成,每条链路均包含d个顶点,每个顶点均存在于ρ个链路中,任意两条链路最多包含超图中的同一顶点,其中n≡0modρ,θ≡0modd,n/ρ=θ/d,d2≤θ,且n、ρ、θ、d均为正整数。
4.如权利要求2所述的基于超图的自适应可分解部分重复码构造方法,其特征在于,步骤1.2包括如下子步骤:
将顶点集V={v1,v2,…,vθ}按序列分为d个顶点子集,分别为V1={v1,…vθ/d},…,Vd={v(θ-θ/(d+1)),…vθ},每个顶点子集包含θ/d个顶点;将链路集E={e1,e2,…,en}按序列分为ρ个链路子集,每个链路子集包含n/ρ个链路,分别为E1={e1,1,…,e1,k,…e1,n/ρ},…,Em={e1,1,…,em,j,…e1,n/ρ},…,Eρ={eρ,1,…,eρ,j,…eρ,n/ρ},其中1≤m≤ρ、1≤j≤n/ρ,m、j均为正整数,em,j表示第m个链路子集Em中的第j个链路。
5.如权利要求2所述的基于超图的自适应可分解部分重复码构造方法,其特征在于,步骤1.3包括如下子步骤:
步骤1.3.1:对第一个链路子集E1={e1,1,…,e1,n/ρ}中的链路e1,1,…,e1,θ/d分配顶点,取链路序号1≤j≤n/ρ,取顶点序号1≤i≤θ,当i=jmod(n/ρ)时,将顶点{vi|i=jmod(n/ρ),1≤i≤θ}分配到链路e1,j中;
步骤1.3.2:对第t(2≤t≤ρ)个链路子集中的链路分配顶点,取链路序号1≤j≤n/ρ,需要根据链路e1,1,…,e1,n/ρ,…,et-1,1,…,et-1,n/ρ中分配的顶点,为当前链路子集中的链路et,1,…,et,θ/d分配顶点,且分配原则同时满足条件(1)、(2)和(3):
条件(1):链路et,1,…,et,θ/d中包含所有顶点且任意两条链路不相邻且局部不相关;
条件(2):当前链路中的任一条链路et,j中有且仅有每个顶点子集V1,…,Vd中的一个顶点;
条件(3):顶点集V中任意两个顶点最多存在于链路e1,1,…,e1,n/ρ,…,et,1,…,et,n/ρ中的一个链路中。
6.如权利要求3所述的基于超图的自适应可分解部分重复码构造方法,其特征在于,步骤1.4包括如下子步骤:
对步骤1.3得到的ρ个链路子集中的每个链路子集分配一种颜色,则超图中共有ρ种不同颜色的链路,即染色链路,顶点集V={v1,v2,…,vθ}中每个顶点存在于ρ条不同颜色的链路中。
7.如权利要求1所述的基于超图的自适应可分解部分重复码构造方法,其特征在于,步骤2包括如下子步骤:
所述的染色链路中,每种颜色的染色链路组对应一个自适应可分解部分重复码的平行类,每个平行类由一组节点组成,每个平行类中的节点存储所有数据块,且每个平行类内任意两个节点不存储重复的数据块。
8.一种基于超图的自适应可分解部分重复码故障修复方法,包括以下步骤:
步骤1:按照权利要求1-7中任一项所述的基于超图的自适应可分解部分重复码构造方法,将原文件按照自适应可分解部分重复码的编码结构存储到节点中;
步骤2:判断发生故障的节点数目,若单个节点发生故障,则执行步骤3,若多个节点发生故障,则执行步骤4;
步骤3:找到该故障节点对应的线性(d,ρ)-超图染色链路,根据超图中链路染色情况,替换节点连接任意一个完整链路集对应的存活节点,完成故障节点的修复;
步骤4:找到故障节点对应的超图中染色链路,当多故障节点对应的超图中染色链路最多存在ρ-1种颜色时,且超图中至少存在一个完整链路集,替换节点连接任意一个完整链路集对应的存活节点,完成故障节点的修复;当多故障节点对应的超图中染色链路存在ρ种颜色,且故障节点数不超过n-k时,替换节点连接任意k个存活节点重构原始文件,完成故障节点的修复。
CN201811209226.7A 2018-10-17 2018-10-17 基于超图的自适应可分解部分重复码构造及故障修复方法 Active CN109522150B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811209226.7A CN109522150B (zh) 2018-10-17 2018-10-17 基于超图的自适应可分解部分重复码构造及故障修复方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811209226.7A CN109522150B (zh) 2018-10-17 2018-10-17 基于超图的自适应可分解部分重复码构造及故障修复方法

Publications (2)

Publication Number Publication Date
CN109522150A true CN109522150A (zh) 2019-03-26
CN109522150B CN109522150B (zh) 2022-03-15

Family

ID=65772092

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811209226.7A Active CN109522150B (zh) 2018-10-17 2018-10-17 基于超图的自适应可分解部分重复码构造及故障修复方法

Country Status (1)

Country Link
CN (1) CN109522150B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110532125A (zh) * 2019-07-15 2019-12-03 长安大学 一种基于图因子分解的部分重复码构造方法
CN110781025A (zh) * 2019-09-29 2020-02-11 长安大学 基于完全图的对称部分重复码构造及故障节点修复方法
CN111125014A (zh) * 2019-11-19 2020-05-08 长安大学 一种基于u-型设计的柔性部分重复码的构造方法
CN113347026A (zh) * 2021-05-21 2021-09-03 长安大学 基于立方体网络的部分重复码构造和故障节点修复方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106788455A (zh) * 2016-11-29 2017-05-31 陕西尚品信息科技有限公司 一种基于包的最优局部可修复系统码的构造方法
US20180262212A1 (en) * 2011-12-30 2018-09-13 Streamscale, Inc. Accelerated erasure coding system and method
CN108540520A (zh) * 2018-02-06 2018-09-14 长安大学 基于部分重复码的局部性修复编码及节点故障修复方法
CN108650110A (zh) * 2018-03-27 2018-10-12 北京航空航天大学 一种hpc间接网络环境下的链路故障检测方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180262212A1 (en) * 2011-12-30 2018-09-13 Streamscale, Inc. Accelerated erasure coding system and method
CN106788455A (zh) * 2016-11-29 2017-05-31 陕西尚品信息科技有限公司 一种基于包的最优局部可修复系统码的构造方法
CN108540520A (zh) * 2018-02-06 2018-09-14 长安大学 基于部分重复码的局部性修复编码及节点故障修复方法
CN108650110A (zh) * 2018-03-27 2018-10-12 北京航空航天大学 一种hpc间接网络环境下的链路故障检测方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王静、张崇等: "分布式存储系统中基于Pyramid码的局部性修复编码", 《电子测量与仪器学报》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110532125A (zh) * 2019-07-15 2019-12-03 长安大学 一种基于图因子分解的部分重复码构造方法
CN110781025A (zh) * 2019-09-29 2020-02-11 长安大学 基于完全图的对称部分重复码构造及故障节点修复方法
CN111125014A (zh) * 2019-11-19 2020-05-08 长安大学 一种基于u-型设计的柔性部分重复码的构造方法
CN111125014B (zh) * 2019-11-19 2023-02-28 长安大学 一种基于u-型设计的柔性部分重复码的构造方法
CN113347026A (zh) * 2021-05-21 2021-09-03 长安大学 基于立方体网络的部分重复码构造和故障节点修复方法

Also Published As

Publication number Publication date
CN109522150B (zh) 2022-03-15

Similar Documents

Publication Publication Date Title
CN109522150A (zh) 基于超图的自适应可分解部分重复码构造及故障修复方法
CN106776112B (zh) 一种基于Pyramid码的局部性修复编码方法
CN108540520A (zh) 基于部分重复码的局部性修复编码及节点故障修复方法
CN104641385B (zh) 神经核心电路及为多个神经元保存神经元属性的方法
DE60304194T2 (de) Verfahren und vorrichtung zur tolerierung von mehreren abhängigen oder zwei beliebigen fehlern in einer speicherplattenanordnung
CN106484559A (zh) 一种校验矩阵的构造方法及水平阵列纠删码的构造方法
CN105721611B (zh) 一种由极大距离可分存储码生成最小存储再生码的方法
CN105302500A (zh) 一种基于动态条带构造的分布式编码方法
CN107250986A (zh) 数据分条、分配和重构
US11500725B2 (en) Methods for data recovery of a distributed storage system and storage medium thereof
CN110212923A (zh) 一种基于模拟退火的分布式纠删码存储系统数据修复方法
CN112835738B (zh) 一种条带数据存储结构的构建方法
CN110389848A (zh) 基于分块构造的部分重复码构造方法及故障节点修复方法
CN103106124B (zh) 一种基于纠删码集群存储系统的交叉重构方法
CN112799604B (zh) 一种基于N-Code的RAID6磁盘阵列扩容方法及数据填充方法
CN107003933B (zh) 部分复制码的构建方法、装置及其数据修复的方法
CN109684127A (zh) 基于完全图最小带宽再生码的局部性节点修复方法
CN106788891A (zh) 一种适用于分布式存储的最优局部修复码构造方法
CN108347306A (zh) 分布式存储系统中类局部重构码编码及节点故障修复方法
CN107943617A (zh) 数据的修复方法、装置及服务器集群
CN106788455B (zh) 一种基于包的最优局部可修复系统码的构造方法
CN102420812B (zh) 一种支持分布并行处理的Web服务自动QoS组合方法
CN106708973A (zh) 一种蒙特卡洛逆向求解PageRank问题的加速方法
Iliadis et al. Reliability evaluation of erasure coded systems,”
CN111654417A (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
TR01 Transfer of patent right

Effective date of registration: 20240112

Address after: 230000 B-1015, wo Yuan Garden, 81 Ganquan Road, Shushan District, Hefei, Anhui.

Patentee after: HEFEI MINGLONG ELECTRONIC TECHNOLOGY Co.,Ltd.

Address before: 710064 No. 126 central section of South Ring Road, Yanta District, Xi'an, Shaanxi

Patentee before: CHANG'AN University

TR01 Transfer of patent right