一种基于纠删码的节点修复方法及相关设备

    专利查询2026-05-07  4


    本技术实施例涉及数据处理领域,尤其涉及一种基于纠删码的节点修复方法及相关设备。


    背景技术:

    1、里所码,又称里德-所罗门码(rs code,reed-solomon codes),是一种前向纠错的信道编码,又被称为纠删码。其中,纠删码已被广泛应用于大规模分布式存储系统中,以提高数据可靠性且具有相对较低数据冗余度。然而,在全节点故障的情况下,擦除编码需要大量的网络传输来恢复数据。但是,现有的研究大多假设每个节点都是同构的,忽略了现实中数据中心的异质性。在异构数据中心网络(dcn,data center network)环境中,现有的研究还没有一个通用、高效的调度框架。一些现有的修复算法只考虑机架架构,最大限度地减少跨机架流量,但将跨机架网络视为同构网络。或者只考虑机架之间的网络环境,而忽略机架内的网络环境。这使得在具有不同网络带宽、延迟和数据传输路径的异构dcn环境中,数据恢复吞吐量极低。


    技术实现思路

    1、本技术实施例提供了一种基于纠删码的节点修复方法及相关设备,用于解决纠删码节点修复速度慢以及缺乏调度框架的问题。

    2、本技术实施例第一方面提供了一种基于纠删码的节点修复方法,包括:

    3、获取用户上传的待修复数据,并基于所述待修复数据的纠删码将所述待修复数据划分为k个数据块和m个校验块;其中,所述m个校验块由所述k个数据块经过编码后得到,所述k和所述m为正整数,且所述k不小于所述m,对应于所述待修复数据的所述k个数据块和所述m个校验块的集合确定为条带,每个数据块分布在k+m个不同的存储节点上;

    4、确定待修复故障块所在的待修复条带,并从所述待修复条带中选择k个帮助块;确定修复条带,并从所述修复条带中选择待请求节点;其中,所述待修复故障块用于描述对应于所述待修复数据中需要修复的数据块,所述待修复条带为所述故障块所在的条带,所述帮助块为所述待修复条带中除所述故障块外剩下的k+m-1个数据块,所述帮助块对应的存储节点为帮助节点,所述修复条带为不包含所述故障块的条带,所述待请求节点用于描述不包含所述待修复条带对应的数据块的存储节点,且所述待请求节点用于存储修复后的待修复故障块;

    5、构建修复有向无环图,设置所述修复有向无环图的k+1个顶点及修复边;其中,前k个顶点用于表征所述待修复条带的k个帮助节点,最后一个顶点用于表征所述待修复故障块及对应的所述待请求节点,所述修复边用于表征从任一顶点与所述待请求节点之间的映射集合;

    6、根据动态权重映射算法,于所述映射集合中对每个顶点执行映射,记录映射后负载最小的帮助节点和待请求节点,并将所述帮助节点确定为目标帮助节点,将所述待请求节点确定为目标请求节点;

    7、基于切片的链路资源分配算法将所有修复有向无环图中确定的目标帮助节点的目标帮助块以及目标修复链路,并按照目标修复链路对所述目标帮助块进行切片,得到切片帮助块,以根据所述切片帮助块及所述目标修复链路完成所述待修复故障块的节点修复;其中,所述目标修复链路为所有目标帮助节点与所有目标请求节点之间不重叠的数据传输链路。

    8、本技术实施例第二方面提供了一种基于纠删码的节点修复系统,包括:

    9、获取单元,用于获取用户上传的待修复数据,并基于所述待修复数据的纠删码将所述待修复数据划分为k个数据块和m个校验块;其中,所述m个校验块由所述k个数据块经过编码后得到,所述k和所述m为正整数,且所述k不小于所述m,对应于所述待修复数据的所述k个数据块和所述m个校验块的集合确定为条带,每个数据块分布在k+m个不同的存储节点上;

    10、确定单元,用于确定待修复故障块所在的待修复条带,并从所述待修复条带中选择k个帮助块;确定修复条带,并从所述修复条带中选择待请求节点;其中,所述待修复故障块用于描述对应于所述待修复数据中需要修复的数据块,所述待修复条带为所述故障块所在的条带,所述帮助块为所述待修复条带中除所述故障块外剩下的k+m-1个数据块,所述帮助块对应的存储节点为帮助节点,所述修复条带为不包含所述故障块的条带,所述待请求节点用于描述不包含所述待修复条带对应的数据块的存储节点,且所述待请求节点用于存储修复后的待修复故障块;

    11、设置单元,用于构建修复有向无环图,设置所述修复有向无环图的k+1个顶点及修复边;其中,前k个顶点用于表征所述待修复条带的k个帮助节点,最后一个顶点用于表征所述待修复故障块及对应的所述待请求节点,所述修复边用于表征从任一顶点与所述待请求节点之间的映射集合;

    12、记录单元,用于根据动态权重映射算法,于所述映射集合中对每个顶点执行映射,记录映射后负载最小的帮助节点和待请求节点,并将所述帮助节点确定为目标帮助节点,将所述待请求节点确定为目标请求节点;

    13、所述确定单元1202,还用于基于切片的链路资源分配算法将所有修复有向无环图中确定的目标帮助节点的目标帮助块以及目标修复链路,并按照目标修复链路对所述目标帮助块进行切片,得到切片帮助块,以根据所述切片帮助块及所述目标修复链路完成所述待修复故障块的节点修复;其中,所述目标修复链路为所有目标帮助节点与所有目标请求节点之间不重叠的数据传输链路。

    14、本技术实施例第二方面提供的基于纠删码的节点修复系统用于执行第一方面所述的基于纠删码的节点修复方法。

    15、本技术实施例第三方面提供了一种基于纠删码的节点修复装置,包括:

    16、中央处理器,存储器,输入输出接口,有线或无线网络接口以及电源;

    17、所述存储器为短暂存储存储器或持久存储存储器;

    18、所述中央处理器配置为与所述存储器通信,并执行所述存储器中的指令操作以执行第一方面所述的基于纠删码的节点修复方法。

    19、本技术实施例第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质包括指令,当所述指令在计算机上运行时,使得计算机执行第一方面所述的基于纠删码的节点修复方法。

    20、本技术实施例第五方面提供了一种计算机程序产品,所述计算机程序产品包括指令,当所述指令在计算机上运行时,使得计算机执行第一方面所述的基于纠删码的节点修复方法。

    21、从以上技术方案可以看出,本技术实施例具有以下优点:通过本技术实施例公开的一种基于纠删码的节点修复方法,先获取用户上传的待修复数据,并基于待修复数据的纠删码将待修复数据划分为k个数据块和m个校验块;然后,确定待修复故障块所在的待修复条带,并从待修复条带中选择k个帮助块;确定修复条带,并从修复条带中选择待请求节点;再构建修复有向无环图,设置修复有向无环图的k+1个顶点及修复边;其次,根据动态权重映射算法,于映射集合中对每个顶点执行映射,记录映射后负载最小的帮助节点和待请求节点,并将帮助节点确定为目标帮助节点,将待请求节点确定为目标请求节点;最后,基于切片的链路资源分配算法将所有修复有向无环图中确定的目标帮助节点的目标帮助块以及目标修复链路,并按照目标修复链路对目标帮助块进行切片,得到切片帮助块,以根据切片帮助块及目标修复链路完成待修复故障块的节点修复;其中,目标修复链路为所有目标帮助节点与所有目标请求节点之间不重叠的数据传输链路。由此,通过计算出负载最小的修复链路,可以有效解决纠删码在异构环境下的全节点修复速度慢,并尽可能地减少修复时间。同时,通过选择修复故障块的帮助块,实现通用的调度框架,提高了方案的可实现性。


    技术特征:

    1.一种基于纠删码的节点修复方法,其特征在于,所述方法包括:

    2.根据权利要求1所述的基于纠删码的节点修复方法,其特征在于,所述基于所述待修复数据的纠删码将所述待修复数据划分为k个数据块和m个校验块,包括:

    3.根据权利要求1所述的基于纠删码的节点修复方法,其特征在于,所述构建修复有向无环图,设置所述修复有向无环图的k+1个顶点及修复边之前,所述方法还包括:

    4.根据权利要求1所述的基于纠删码的节点修复方法,其特征在于,所述构建修复有向无环图,设置所述修复有向无环图的k+1个顶点及修复边,包括:

    5.根据权利要求4所述的基于纠删码的节点修复方法,其特征在于,所述根据动态权重映射算法,于所述映射集合中对每个顶点执行映射,包括:

    6.根据权利要求4所述的基于纠删码的节点修复方法,其特征在于,所述记录映射后负载最小的帮助节点和待请求节点,并将所述帮助节点确定为目标帮助节点,将所述待请求节点确定为目标请求节点,包括:

    7.根据权利要求6所述的基于纠删码的节点修复方法,其特征在于,所述基于切片的链路资源分配算法将所有修复有向无环图中确定的目标帮助节点的目标帮助块以及目标修复链路,并按照目标修复链路对所述目标帮助块进行切片,得到切片帮助块,包括:

    8.根据权利要求7所述的基于纠删码的节点修复方法,其特征在于,所述根据所述切片帮助块及所述目标修复链路完成所述待修复故障块的节点修复,包括:

    9.一种基于纠删码的节点修复系统,其特征在于,所述系统包括:

    10.一种基于纠删码的节点修复装置,其特征在于,所述装置包括:


    技术总结
    本申请实施例提供了一种基于纠删码的节点修复方法及相关设备,用于解决纠删码节点修复速度慢以及缺乏调度框架的问题。本申请实施例方法包括:获取用户上传的待修复数据;确定待修复故障块所在的待修复条带,选择帮助块;确定修复条带,选择待请求节点;构建修复有向无环图,设置修复有向无环图的顶点及修复边;根据动态权重映射算法,于映射集合中对每个顶点执行映射,记录映射后负载最小的帮助节点和待请求节点;基于切片的链路资源分配算法将所有修复有向无环图中确定的目标帮助节点的目标帮助块以及目标修复链路,并按照目标修复链路对目标帮助块进行切片,得到切片帮助块,以根据切片帮助块及目标修复链路完成待修复故障块的节点修复。

    技术研发人员:李诗逸,张帅蓬,夏文
    受保护的技术使用者:哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院)
    技术研发日:
    技术公布日:2024/11/26
    转载请注明原文地址:https://tc.8miu.com/read-35435.html

    最新回复(0)