一种多数据中心环境下的数据分布策略及数据修复算法制造技术

技术编号:29594338 阅读:25 留言:0更新日期:2021-08-06 19:56
本发明专利技术公开了一种跨数据中心的数据分布策略,这种数据分布策略通过对数据在多个数据中心之间的分布作出约束,将一组纠删码分别存储在多个数据中心,其中每个云中心内部所存储的码块都小于恢复要求。使用这种数据分布策略部署的存储系统,可以允许数据中心级别的事故,从而保证了数据的高可靠性。并针对使用这种分布策略分布的MSR码单节点失效场景,通过在修复过程中引入辅助计算节点和节点计算能力,设计出了相应的遗传算法以最小修复时延和最小额外传输开销为目标对节点修复树进行优化求解,最终实现修复时延和额外传输开销的trade_off。

【技术实现步骤摘要】
一种多数据中心环境下的数据分布策略及数据修复算法
本专利技术属于分布式纠删码存储系统领域,具体涉及一种多数据中心环境下的数据分布策略及数据修复算法。
技术介绍
分布式存储系统凭借其优秀的性能和低廉的构造成本成为了当前大规模数据存储领域的主流存储系统。但由于分布式存储系统的底层设备普遍采用廉价商用硬件,故障率较高,因此,如何在节点失效成为一种常见问题的场景下保证存储数据的完整性与可靠性成为了首要问题。当单个数据中心遭遇爆炸、地震或断电等不可预知事件时,整个数据中心都会被迫停止服务,造成巨大损失,如2020年7月24日,腾讯云因广州运营商光缆物理中断宕机,导致腾讯云广州区域全面断网,包括腾讯云主页、控制台、DNSPod等业务都受到了波及,由此可见跨地域数据中心的必要性,这种跨地域数据中心将数据分别存储在多个数据中心内,以存储空间为代价,进一步提高了数据的可靠性,通过将请求发送至不同的数据存储节点,更好的实现负载均衡及更快的响应用户请求。当数据中心级别的故障发生时,跨地域数据中心可以不被单个数据中心的故障影响到整体存储系统提供数据访问服务,能更有效的应对这类灾难性事故。最为重要的是,因为这种多中心可以允许数据中心级别的事故,所以数据中心可以省去大量的发电机、UPS等设备,有效降低成本。
技术实现思路
为了克服上述现有技术的不足,本专利技术提供了一种多数据中心环境下的数据分布策略及数据修复算法,数据分布策略有效容许了数据中心级别的灾难,数据修复算法为灾后数据再分布做出了进一步保证,二者相结合有效保证了存储数据的完整性与可靠性成。本专利技术所采用的技术方案是:利用纠删码恢复原文件时对码块的数量要求这一条件,将一组纠删码分别存储在多个数据中心,其中每个云中心内部所存储的码块都小于恢复要求,并设计了一种遗传算法,在满足MSR码修复树度约束条件和数据中心之间选择节点数量的约束条件下,以最小修复时延和最小额外传输开销为目标,搜索全局近似最优修复树。如图1所示,一组(6,4)纠删码分布在3个数据中心,其中每个数据中心只拥有2个数据块,而恢复源文件所需要的数据块最少为4个,因此,假设数据中心1遭遇灾难时,可以通过其他两个数据中心内所存储的数据来恢副数据中心1上所存储的数据,同理,当datacenter2上的B2数据块损坏时,可以通过其他数据块进行修复。如图2所示,设一组(5,2,3)MSR码存储于V0,V1,V2,V3,V4中,它们之间链路的可用带宽如图所示(单位Mbps),若源数据大小为M=400MB,则当节点发生故障时,每个节点传输的数据块为β=M/(k(d-k+1))=100MB。当节点V0发生故障并选择V2,V3,V4作为供给provider节点进行修复时,若采用星型修复,则修复拓扑如图2-(a)所示,修复时延t=100/20Mbps=5s,若采用树形修复拓扑如图2-(b),且修复树中的所有节点都可以合并数据块,则修复时延t=100/40+100/40=5s,若在这5个节点外有一节点V6,将该点引入修复树,则修复拓扑如图2-(c)所示,则修复时延变为t=100/100+100/40=3.5s,此时节点6被称为辅助节点,在修复拓扑中的主要作用是转发合并数据块,使修复树总传输时延更小,一棵修复树中辅助节点的数量并不确定,由链路状态所决定。但是随着辅助节点的加入,网络上的总传输流量开销会增大,没有辅助节点时,整棵重构树内一共拥有d条边,总传输流量恒为d*β,而加入辅助节点后总传输流量不再恒定不变,可表示为d*β+count(compute)*β,count(compute)表示为辅助节点的个数,因此,额外传输开销可表示为式1:count(compute)/d(1)MSR码常用三元组(n,k,d)表示,n为所有数据所存储的节点,k个点可以恢复出原数据,d个节点可以重构失效节点的数据。与(n,k)RS码可以任意设置参数不同,(n,k,d)MSR码的参数是有一定的结构关系的,k<d<n,这种码通过引入参数d,使得参与修复过程的节点更多,从而减小总的网络传输开销,缩短整体修复时延。当使用MSR码在数据中心存储数据时,每个节点上所存储的数据块大小为M/k,发生节点失效时每个节点所传输的数据块为M/(k(d-k+1)),则若想使合并后的节点数据块大小也为M/k时,则至少有d-k+1直接连至重构点break_node,因此使用MSR码的修复拓扑必须满足:degreebreak_node≥d-k+1(2)假设每个节点上所传输的数据块大小β=M/(k(d-k+1)),Di是每个节点需要处理的数据量,processi为节点i的处理能力,则本章要寻找的最优修复树应满足公式(3):Trepair=min(c1*max(β/ωi,j+α·Di/processi+α·Dj/processj)+c2*(count(compute)/d))count(C1<k1),count(C2<k2)k1+k2=k(3)degreebreak_node≥d-k+1其中c1+c2=1,它们分别表示修复时延权重系数和修复流量权重系数,用于调节修复时延或是修复流量在tradeoff中所占的权重。与现有技术相比,本专利技术的有益效果是保证了数据的安全性与可靠性。附图说明图1为一组分布在多数据中心的(6,4)纠删码;图2为三种修复方案对比图;图3为交叉算子举例图;图4为变异算子举例图;图5为实验对比图。具体实施方式下面结合附图对本专利技术做进一步描述,应指出的是,所描述的实施例仅只在于便于解释本专利技术,并不构成对本专利技术的限制。本专利技术主要分为以下步骤:步骤1:构建两个数据中心,在其中存储一组(n,k,d)MSR码,其中每个数据中心存储的数据块不超过k个。步骤2:选中一个节点作为失效节点;步骤3:以遗传算法的初始化函数为根据,构建以失效节点为根,满足节点修复约束的修复树,重复popsize次,构成种群;假设数据中心为C1/C2,则具体修复树生成算法如下:首先找出所有可用节点都放入候选节点集S与两个云中可提供数据块的节点集N1、N2,然后S从中任意选出d-k+1个与break_node点相连接,并将这些点从S中删除,查看这d-k+1个节点有多少个节点属于N1、N2,再从节点集S中任选一个点加入重构树中,一直重复上述加点操作,直到满足C1、C2内分别有d1、d2个点被加入重构树中的约束条件。步骤4:根据交叉概率f1从种群中随机选择两个修复树进行交叉,产生新的个体。所设计的交叉算子借鉴了单点交叉的思想,将父代的基因分为C1、C2、computer三类,将两个父代的C1节点集合互换、C2节点集合保持不变,两个父代的computer节点集合做并集,然后从中随机选取部分点直接遗传至子代,从而在继承父代基因的基础上产生新的个体,如图3所示。步骤5:根据变异概率f2从种群本文档来自技高网...

【技术保护点】
1.一种多数据中心环境下的数据分布策略及数据修复算法,其特征在于:/n(1)提出了一种在多数据中心背景下的纠删码分布策略。这种数据分布策略利用纠删码恢复原文件时对码块的数量要求这一条件,将一组纠删码分别存储在多个数据中心,其中每个云中心内部所存储的码块都小于恢复要求。使用这种数据分布策略部署的数据,当存储系统中有节点受到攻击时,由于单个云中心内部所存储的数据有限,无法得到完整的元数据;同时,当某个数据中心遭受自然灾害等故障导致节点失效时,也可以通过其余数据中心中存储的数据来重构失效节点,从而保证了数据的高可靠性。这种分布策略可以表示为式(1),其中Ci表示为每个数据中心所存储的数据块的数量,k为重构元数据所需的最小节点数,M为原数据的大小:/n

【技术特征摘要】
1.一种多数据中心环境下的数据分布策略及数据修复算法,其特征在于:
(1)提出了一种在多数据中心背景下的纠删码分布策略。这种数据分布策略利用纠删码恢复原文件时对码块的数量要求这一条件,将一组纠删码分别存储在多个数据中心,其中每个云中心内部所存储的码块都小于恢复要求。使用这种数据分布策略部署的数据,当存储系统中有节点受到攻击时,由于单个云中心内部所存储的数据有限,无法得到完整的元数据;同时,当某个数据中心遭受自然灾害等故障导致节点失效时,也可以通过其余数据中心中存储的数据来重构失效节点,从而保证了数据的高可靠性。这种分布策略可以表示为式(1),其中Ci表示...

【专利技术属性】
技术研发人员:王勇锁欣叶苗蔡月
申请(专利权)人:桂林电子科技大学
类型:发明
国别省市:广西;45

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

1