分布式存储系统单点失效修复方法、电子设备与存储介质技术方案

技术编号:26596450 阅读:43 留言:0更新日期:2020-12-04 21:18
本发明专利技术公开了一种分布式存储系统单点失效修复方法,包括:S1、将存储系统抽象化表示为网络拓扑带权全连通无向图,初始化编码解码算法;S2、使用种群初始化算法产生初始种群的可行个体;S3、判断代数是否到达设定值,如果是则得到当前网络状况下的最优带宽修复树集合,利用所述最优带宽修复树集合对失效节点进行修复,如果否则转步骤S4;S4、根据优化约束条件设定适应度函数,计算种群中个体的适应度;S5、设计选择算法,进行种群个体选择;S6、部分个体直接进入下一代;S7、部分个体进行交叉变异;S8、得到下一代种群,并转步骤S3。本发明专利技术还提供了相应的电子设备与存储介质。

【技术实现步骤摘要】
分布式存储系统单点失效修复方法、电子设备与存储介质
本专利技术属于分布式存储
,更具体地,涉及一种分布式存储系统单点失效修复方法、电子设备与存储介质。
技术介绍
大规模分布式存储系统中节点失效故障发生频率很高,商用存储方案一般会使用一定方法制造数据冗余来保证数据的完整可靠性,使得从某些节点发生故障起到数据在新生节点完成重构的过程中不丢失数据。多副本技术(multi-replica)和采取编码制造冗余的纠删码技术(EC,ErasureCode)都是可以用来产生数据冗余的存储技术。其中,多副本存储技术实现简单,单存储空间利用率有限,导致该技术应对大规模数据存储场景时硬件成本极大增加。采用纠删码技术可以有效的解决这一问题,但传统的纠删码技术例如RS纠删码(Reed-Solomoncode)在进行数据恢复过程中会带来较大的网络开销。因此目前一般使用再生码(Regenerationcode)等改进的编码方式优化网络数据传输量。基于再生码的失效节点修复过程由于新生节点可以完整下载全部所需修复数据块并进行修复计算的特性,使得可以构建优化修复树来完成再生码所需的数据下载传输并进行数据计算修复。一般使用再生码的存储系统的修复树构建需要考虑存储节点网络拓扑与网络状况并以此构建包含以新生节点为根,修复数据提供节点为枝叶的修复树,现有专利和文献大多使用近似局部最优的修复树构建方法求解该问题,在节点修复时间上未达到全局最优。
技术实现思路
针对现有技术存在的问题,本专利技术提出了一种分布式存储系统单点失效修复,基于遗传算法和再生码的分布式存储故障节点修复树的构建,该方案考虑了存储系统的网络拓扑结构和链路性能,设计了修复树的构造和择优条件。并在为此构建求解近似全局最优修复树的遗传算法的过程中,设计了算法相关的编码方式、适应度函数、交叉和变异算法,引入了最优瓶颈带宽的概念,以期达到构建最优瓶颈带宽最大的最优修复树,得到这一问题的近似全局最优解。为实现上述目的,按照本专利技术的一个方面,提供了一种分布式存储系统单点失效修复方法,包括:S1、将存储系统抽象化表示为网络拓扑带权全连通无向图,初始化编码解码算法;S2、使用种群初始化算法产生初始种群的可行个体;S3、判断代数是否到达设定值,如果是则得到当前网络状况下的最优带宽修复树集合,利用所述最优带宽修复树集合对失效节点进行修复,如果否则转步骤S4;S4、根据优化约束条件设定适应度函数,计算种群中个体的适应度;S5、设计选择算法,进行种群个体选择;S6、部分个体直接进入下一代;S7、部分个体进行交叉变异;S8、得到下一代种群,并转步骤S3。本专利技术的一个实施例中,所述步骤S1包括:将存储集群表示为网络拓扑带权全连通无向图G=(V,E,W),其中V标识图中节点、E标识图中的边、W标识边的权重;相应的编码方式为:构造修复树的节点有且仅有一个父节点,假设需要表示的一棵修复树为T,其包含分布式存储系统中的n个节点;引入由二元组组成的序列L作为编码容器,其中二元组分为数组下标和元素,二元组数组下标取1~n的连续递增序号表示修复树中n个节点,二元组的元素表示二元组下标所标识的存储节点在修复树中的父节点,若某节点为根节点,将其父节点,也即编码元素节点置为0。编序列完全构造生成后,序列L中数组元素非0的二元组也标识修复树中的某一个边;相应的解码方式为:其中将编码数组元素为0的置为树的根节点,之后遍历序列L中的所有二元组,将每一组二元组对应的边、点进行连接。本专利技术的一个实施例中,所述步骤S2包括:S21、给定需要生成的种群个数为M,M大于0;S22、判断是否M=0,M=0则初始化种群步骤结束,否执行步骤S23;S23、将存储集群表示为G=(V,E,W)网络拓扑带权全连通无向图;本步骤用于将网络拓补和集群节点关系进行抽象化处理,描述点、边、权重的对应关系;S24、初始化数据,首先构造新生节点所在的集合A,同时将其余n-1个分布式存储修复数据提供节点加入集合B,使得A∪B=V,集合A中的节点也可以视为修复树的根节点,初始化空序列L作为生成树的初始化表示;S25、判断集合B中是否有元素,有则跳转步骤S26,当时,解码序列L的结果即为单次运算的生成树;否则跳转到S28;S26、从集合A中随机选取a作为编码二元组数组元素,并记录;从集合B中随机选取b作为编码二元组数组下标,并记录;S27、将边ab作为树中的一条边,之后将元素b加入集合A的同时从集合B中删除该元素,并将ab表示为编码二元组(a,b)加入序列L。循环执行S25、S26、S27步骤n-1次,直到即可获得L即为一棵树TE的编码,并确保树中的边TE∈E;S28、输出L作为初始化种群的一员,并令M-1后返回执行S22。本专利技术的一个实施例中,所述步骤S4中的适应度函数设计为:S41、解码需要计算的树S42、记录解码生成的每一条边的带宽ωij,记T中带宽最小的链路称为“瓶颈链路”,其带记为ω′ij;S43、设定适应度函数F(T)=ω′ij。本专利技术的一个实施例中,所述步骤S5为:设种群每代的个体数目为M,首先采用精英继承算法选择当前种群中适应度函数最优的t个个体直接加入下一代种群;之后对剩余t′=M-t个个体依次进行轮盘赌选择算法依概率判定其是否执行交叉和变异动作。本专利技术的一个实施例中,所述轮盘赌选择算法具体为:S52、针对每一个个体进行是否执行交叉变异操作的概率计算其中1≤r≤M;S53、在[0,1]区间产生一个随机数R作为概率阈值;S54、若R<P(Tr),则r对应的树Tr个体加入进行交叉变异操作的集合;S55、针对所有本算法输入种群个体执行判断,获得t″个个体进行后续的交叉和变异。本专利技术的一个实施例中,所述步骤S7具体为:交叉概率以PC表示,经过步骤S5产生的种群中的t″个可交叉个体在每一轮种群迭代都会以概率PC执行交叉操作,产生t″个交叉后个体之后进行变异算法。本专利技术的一个实施例中,所述交叉算法的步骤如下:S711、将树TA与树TB以向量表示形式合并为一个向量,得到的新向量每个向量下标有两个节点,树TA与树TB需要通过交叉生成两个孩子;S712、寻找合并后重复的边,即寻找编码二元组中相同或者倒置的基因组;S713、在每一对满足上一步条件的二元组中随机删除一条,以达到去除生成树环路的目的;S714、由于修复树生成树中每个除根节点外的节点有且仅有一个父节点,交叉算法生成子代的步骤如下:遍历步骤S713得到的长基因串的下标,除没有重复下标的二元组,有相同下标的二元组选一对加入子代。本专利技术的一个实施例中,种群中经过交叉操作的t″个个体会按照变异概率Pm判断执行变异算法,产生t″个经过变异算法步骤的个体会产生并加入下一代种群,所述变异算法具体为:S721、等概本文档来自技高网...

【技术保护点】
1.一种分布式存储系统单点失效修复方法,其特征在于,包括:/nS1、将存储系统抽象化表示为网络拓扑带权全连通无向图,初始化编码解码算法;/nS2、使用种群初始化算法产生初始种群的可行个体;/nS3、判断代数是否到达设定值,如果是则得到当前网络状况下的最优带宽修复树集合,利用所述最优带宽修复树集合对失效节点进行修复,如果否则转步骤S4;/nS4、根据优化约束条件设定适应度函数,计算种群中个体的适应度;/nS5、设计选择算法,进行种群个体选择;/nS6、部分个体直接进入下一代;/nS7、部分个体进行交叉变异;/nS8、得到下一代种群,并转步骤S3。/n

【技术特征摘要】
1.一种分布式存储系统单点失效修复方法,其特征在于,包括:
S1、将存储系统抽象化表示为网络拓扑带权全连通无向图,初始化编码解码算法;
S2、使用种群初始化算法产生初始种群的可行个体;
S3、判断代数是否到达设定值,如果是则得到当前网络状况下的最优带宽修复树集合,利用所述最优带宽修复树集合对失效节点进行修复,如果否则转步骤S4;
S4、根据优化约束条件设定适应度函数,计算种群中个体的适应度;
S5、设计选择算法,进行种群个体选择;
S6、部分个体直接进入下一代;
S7、部分个体进行交叉变异;
S8、得到下一代种群,并转步骤S3。


2.如权利要求1所述的分布式存储系统单点失效修复方法,其特征在于,所述步骤S1包括:
将存储集群表示为网络拓扑带权全连通无向图G=(V,E,W),其中V标识图中节点、E标识图中的边、W标识边的权重;
相应的编码方式为:构造修复树的节点有且仅有一个父节点,假设需要表示的一棵修复树为T,其包含分布式存储系统中的n个节点;引入由二元组组成的序列L作为编码容器,其中二元组分为数组下标和元素,二元组数组下标取1~n的连续递增序号表示修复树中n个节点,二元组的元素表示二元组下标所标识的存储节点在修复树中的父节点,若某节点为根节点,将其父节点,也即编码元素节点置为0。编序列完全构造生成后,序列L中数组元素非0的二元组也标识修复树中的某一个边;
相应的解码方式为:其中将编码数组元素为0的置为树的根节点,之后遍历序列L中的所有二元组,将每一组二元组对应的边、点进行连接。


3.如权利要求1或2所述的分布式存储系统单点失效修复方法,其特征在于,所述步骤S2包括:
S21、给定需要生成的种群个数为M,M大于0;
S22、判断是否M=0,M=0则初始化种群步骤结束,否执行步骤S23;
S23、将存储集群表示为G=(V,E,W)网络拓扑带权全连通无向图;本步骤用于将网络拓补和集群节点关系进行抽象化处理,描述点、边、权重的对应关系;
S24、初始化数据,首先构造新生节点所在的集合A,同时将其余n-1个分布式存储修复数据提供节点加入集合B,使得A∪B=V,集合A中的节点也可以视为修复树的根节点,初始化空序列L作为生成树的初始化表示;
S25、判断集合B中是否有元素,有则跳转步骤S26,当时,解码序列L的结果即为单次运算的生成树;否则跳转到S28;
S26、从集合A中随机选取a作为编码二元组数组元素,并记录;从集合B中随机选取b作为编码二元组数组下标,并记录;
S27、将边ab作为树中的一条边,之后将元素b加入集合A的同时从集合B中删除该元素,并将ab表示为编码二元组(a,b)加入序列L。循环执行S25、S26、S27步骤n-1次,直到即可获得L即为一棵树TE的编码,并确保树中的边TE∈E;
S28、输出L作为初始化种群的一员,并令M-1后返回执行S22。


4.如权利要求1或2所述的分布式存储系统单点失效修复方法,其特征在于,所述步骤S4中的适应度函数设计为:
S41、解码需要计算的树
S42、记录解码生成的每一条边的带宽ωij,记T中带宽最小的链路称为“瓶颈链路”,其带记为ω′ij;
S43、设定适应度函数F(T)=ω′ij。


5.如权利要求1或2所述的分布式存储系统单点失效修复方法,其特征在于,所述步骤S5为:
设种群每代的个体数目为M,首先...

【专利技术属性】
技术研发人员:郇宜鸣李庆林蓝海张书东李海静李豪
申请(专利权)人:烽火通信科技股份有限公司
类型:发明
国别省市:湖北;42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1