CN113225395A - 一种多数据中心环境下的数据分布策略及数据修复算法 - Google Patents
一种多数据中心环境下的数据分布策略及数据修复算法 Download PDFInfo
- Publication number
- CN113225395A CN113225395A CN202110482300.8A CN202110482300A CN113225395A CN 113225395 A CN113225395 A CN 113225395A CN 202110482300 A CN202110482300 A CN 202110482300A CN 113225395 A CN113225395 A CN 113225395A
- Authority
- CN
- China
- Prior art keywords
- data
- node
- distribution strategy
- repairing
- nodes
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Molecular Biology (AREA)
- Physiology (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Genetics & Genomics (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Signal Processing (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种跨数据中心的数据分布策略,这种数据分布策略通过对数据在多个数据中心之间的分布作出约束,将一组纠删码分别存储在多个数据中心,其中每个云中心内部所存储的码块都小于恢复要求。使用这种数据分布策略部署的存储系统,可以允许数据中心级别的事故,从而保证了数据的高可靠性。并针对使用这种分布策略分布的MSR码单节点失效场景,通过在修复过程中引入辅助计算节点和节点计算能力,设计出了相应的遗传算法以最小修复时延和最小额外传输开销为目标对节点修复树进行优化求解,最终实现修复时延和额外传输开销的trade_off。
Description
技术领域
本发明属于分布式纠删码存储系统领域,具体涉及一种多数据中心环境下的数据分布策略及数据修复算法。
背景技术
分布式存储系统凭借其优秀的性能和低廉的构造成本成为了当前大规模数据存储领域的主流存储系统。但由于分布式存储系统的底层设备普遍采用廉价商用硬件,故障率较高,因此,如何在节点失效成为一种常见问题的场景下保证存储数据的完整性与可靠性成为了首要问题。
当单个数据中心遭遇爆炸、地震或断电等不可预知事件时,整个数据中心都会被迫停止服务,造成巨大损失,如2020年7月24日,腾讯云因广州运营商光缆物理中断宕机,导致腾讯云广州区域全面断网,包括腾讯云主页、控制台、DNSPod等业务都受到了波及,由此可见跨地域数据中心的必要性,这种跨地域数据中心将数据分别存储在多个数据中心内,以存储空间为代价,进一步提高了数据的可靠性,通过将请求发送至不同的数据存储节点,更好的实现负载均衡及更快的响应用户请求。当数据中心级别的故障发生时,跨地域数据中心可以不被单个数据中心的故障影响到整体存储系统提供数据访问服务,能更有效的应对这类灾难性事故。最为重要的是,因为这种多中心可以允许数据中心级别的事故,所以数据中心可以省去大量的发电机、 UPS等设备,有效降低成本。
发明内容
为了克服上述现有技术的不足,本发明提供了一种多数据中心环境下的数据分布策略及数据修复算法,数据分布策略有效容许了数据中心级别的灾难,数据修复算法为灾后数据再分布做出了进一步保证,二者相结合有效保证了存储数据的完整性与可靠性成。
本发明所采用的技术方案是:利用纠删码恢复原文件时对码块的数量要求这一条件,将一组纠删码分别存储在多个数据中心,其中每个云中心内部所存储的码块都小于恢复要求,并设计了一种遗传算法,在满足MSR码修复树度约束条件和数据中心之间选择节点数量的约束条件下,以最小修复时延和最小额外传输开销为目标,搜索全局近似最优修复树。
如图1所示,一组(6,4)纠删码分布在3个数据中心,其中每个数据中心只拥有2个数据块,而恢复源文件所需要的数据块最少为4 个,因此,假设数据中心1遭遇灾难时,可以通过其他两个数据中心内所存储的数据来恢副数据中心1上所存储的数据,同理,当datacenter 2上的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,它们分别表示修复时延权重系数和修复流量权重系数,用于调节修复时延或是修复流量在trade off中所占的权重。
与现有技术相比,本发明的有益效果是保证了数据的安全性与可靠性。
附图说明
图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)检测compute节点中是否有节点含有provider属性,若有,则任选一个点将其变为provider节点,并从对应的provider节点集中任选一个点变异为compute节点;
(2)检测产生的变异个体是否满足度约束,并去掉无用的叶子节点;
(3)若compute节点中所有节点都不含有provider属性或变异后的个体不满足度约束问题,则任选一个provider叶子节点,将其连接至重构树的其他节点上。
如图4所示,若节点3既拥有compute属性,又拥有provider 属性,则将该点变为provider节点,然后任选一点(点4)变为compute 节点;若重构树中没有节点满足同时拥有两种属性的特点,则任选一个叶子节点(点7),将其连接至重构树中的其他点。
步骤6:对交叉变异后的种群进行选择,生成新的种群,然后再次循环步骤4、5,直到循环至指定代数,输出最优修复树。其中选择操作采用10%精英选择加90%随机选择的机制,既保证了算法的收敛性,又保持了种群的多样性。
实验结果如图5,通过图片可以发现引入辅助节点的遗传算法明显优于prim。但节点规模较小时,三层结构与我们提出的遗传算法所得到的修复树时延相差较大,而随着节点规模的增大,遗传算法求出的修复树逐渐与三层结构修复树接近,这是因为当provider节点占总节点的比例较少时,由于provider节点之间的分布较为松散,会产生许多中间辅助节点,从而导致重构树的深度较长,总时延变长,而随着provider节点占总节点的比例变大,节点之间的辅助节点变少,可选择的网络链路变多,从而使得最终的解与其他两种方案的差距变小。
Claims (2)
1.一种多数据中心环境下的数据分布策略及数据修复算法,其特征在于:
(1)提出了一种在多数据中心背景下的纠删码分布策略。这种数据分布策略利用纠删码恢复原文件时对码块的数量要求这一条件,将一组纠删码分别存储在多个数据中心,其中每个云中心内部所存储的码块都小于恢复要求。使用这种数据分布策略部署的数据,当存储系统中有节点受到攻击时,由于单个云中心内部所存储的数据有限,无法得到完整的元数据;同时,当某个数据中心遭受自然灾害等故障导致节点失效时,也可以通过其余数据中心中存储的数据来重构失效节点,从而保证了数据的高可靠性。这种分布策略可以表示为式(1),其中Ci表示为每个数据中心所存储的数据块的数量,k为重构元数据所需的最小节点数,M为原数据的大小:
(2)针对使用(1)中所提到的分布策略分布的MSR码单节点失效场景,通过在修复过程中引入辅助计算节点和节点计算能力,设计出了相应的遗传算法以最小修复时延和最小额外传输开销为目标对节点修复树进行优化求解,最终实现修复时延和额外传输开销的trade_off。
2.根据权利要求1所述的数据修复算法,其特征在于:采用了遗传算法的思想来设计优化算法,通过交叉变异算子代代选择来找出符合优化目标的近似全局最优解。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110482300.8A CN113225395A (zh) | 2021-04-30 | 2021-04-30 | 一种多数据中心环境下的数据分布策略及数据修复算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110482300.8A CN113225395A (zh) | 2021-04-30 | 2021-04-30 | 一种多数据中心环境下的数据分布策略及数据修复算法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113225395A true CN113225395A (zh) | 2021-08-06 |
Family
ID=77090718
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110482300.8A Pending CN113225395A (zh) | 2021-04-30 | 2021-04-30 | 一种多数据中心环境下的数据分布策略及数据修复算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113225395A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113873045A (zh) * | 2021-11-11 | 2021-12-31 | 深圳市云语科技有限公司 | 一种基于能力协商的文件多节点传输方法 |
CN114866561A (zh) * | 2022-05-03 | 2022-08-05 | 中国人民解放军国防科技大学 | 一种组合本地纠删码联盟链存储方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017041233A1 (zh) * | 2015-09-08 | 2017-03-16 | 广东超算数据安全技术有限公司 | 一种功能修复再生码的编码和存储节点修复方法 |
CN110168505A (zh) * | 2018-07-10 | 2019-08-23 | 深圳花儿数据技术有限公司 | 分布式存储系统的数据修复方法及存储介质 |
CN112035059A (zh) * | 2020-08-04 | 2020-12-04 | 烽火通信科技股份有限公司 | 分布式存储系统单点失效修复方法、电子设备与存储介质 |
-
2021
- 2021-04-30 CN CN202110482300.8A patent/CN113225395A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017041233A1 (zh) * | 2015-09-08 | 2017-03-16 | 广东超算数据安全技术有限公司 | 一种功能修复再生码的编码和存储节点修复方法 |
CN110168505A (zh) * | 2018-07-10 | 2019-08-23 | 深圳花儿数据技术有限公司 | 分布式存储系统的数据修复方法及存储介质 |
CN112035059A (zh) * | 2020-08-04 | 2020-12-04 | 烽火通信科技股份有限公司 | 分布式存储系统单点失效修复方法、电子设备与存储介质 |
Non-Patent Citations (2)
Title |
---|
郇宜鸣: "分布式存储系统中存储节点选择与节点修复技术研究", 《万方数据》 * |
郭威: "分布式存储系统中失效节点修复技术研究", 《万方数据》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113873045A (zh) * | 2021-11-11 | 2021-12-31 | 深圳市云语科技有限公司 | 一种基于能力协商的文件多节点传输方法 |
CN113873045B (zh) * | 2021-11-11 | 2023-09-12 | 深圳市云语科技有限公司 | 一种基于能力协商的文件多节点传输方法 |
CN114866561A (zh) * | 2022-05-03 | 2022-08-05 | 中国人民解放军国防科技大学 | 一种组合本地纠删码联盟链存储方法及系统 |
CN114866561B (zh) * | 2022-05-03 | 2023-09-01 | 中国人民解放军国防科技大学 | 一种组合本地纠删码联盟链存储方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210141693A1 (en) | Data storage method, apparatus, and system | |
US9053166B2 (en) | Dynamically varying the number of database replicas | |
US6498778B1 (en) | Optimizing restoration capacity | |
CN113225395A (zh) | 一种多数据中心环境下的数据分布策略及数据修复算法 | |
CN103810061B (zh) | 一种高可用云存储方法 | |
WO2009048728A1 (en) | Smart access to a dispersed data storage network | |
KR20110122169A (ko) | 분배된 복구가능한 데이터 저장소 | |
CN104008152A (zh) | 支持海量数据访问的分布式文件系统的架构方法 | |
CN105406980A (zh) | 一种多节点备份方法及装置 | |
CN104144135B (zh) | 用于多播虚拟网络的资源分配方法及抗毁资源分配方法 | |
CN107682211B (zh) | 一种网络拓扑结构确定方法、装置及计算机可读存储介质 | |
CN113655969A (zh) | 一种基于流式分布式存储系统的数据均衡存储方法 | |
Li et al. | Disaster-and-evacuation-aware backup datacenter placement based on multi-objective optimization | |
JP2009129409A (ja) | 障害回復方法、計算機、クラスタシステム、管理計算機及び障害回復プログラム | |
CN110851080A (zh) | 多云盘平台的分布式存储管理系统 | |
CN107040306A (zh) | 一种灾难状态下维持业务可靠性等级的光网络抗毁算法 | |
CN111160661A (zh) | 一种电力通信网可靠性优化方法、系统以及设备 | |
Fang et al. | Pelopartition: Improving blockchain resilience to network partitioning | |
CN111600752B (zh) | 一种电力通信业务可靠性优化方法及相关装置 | |
CN111399755A (zh) | 数据存储管理的方法和装置 | |
Qiang et al. | Heuristic survivable virtual network embedding based on node migration and link remapping | |
CN111752892A (zh) | 分布式文件系统及其实现方法、管理系统、设备及介质 | |
CN113285985A (zh) | 一种多数据中心背景下基于遗传算法的rs码节点修复方法 | |
CN107710698A (zh) | 一种业务恢复方法和控制器 | |
Arya et al. | Network coding based multiple fault tolerance scheme in P2P cloud storage system |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20210806 |