CN112714031A - 一种基于带宽感知的故障节点快速修复方法 - Google Patents

一种基于带宽感知的故障节点快速修复方法 Download PDF

Info

Publication number
CN112714031A
CN112714031A CN202110330726.1A CN202110330726A CN112714031A CN 112714031 A CN112714031 A CN 112714031A CN 202110330726 A CN202110330726 A CN 202110330726A CN 112714031 A CN112714031 A CN 112714031A
Authority
CN
China
Prior art keywords
server
data
servers
bandwidth
repair
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
CN202110330726.1A
Other languages
English (en)
Other versions
CN112714031B (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.)
Central South University
Original Assignee
Central South 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 Central South University filed Critical Central South University
Priority to CN202110330726.1A priority Critical patent/CN112714031B/zh
Publication of CN112714031A publication Critical patent/CN112714031A/zh
Application granted granted Critical
Publication of CN112714031B publication Critical patent/CN112714031B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery

Abstract

本发明公开了一种基于带宽感知的故障节点快速修复方法,通过获取原始数据进行编码操作;设置源点服务器,由源点服务器向相邻服务器发送数据包确认服务器间链路实时带宽;源点服务器根据连通服务器反馈的实时带宽情况,构建部署数据传输链路;进行部署预检测,为失效节点构建纠删码修复网络;将存储失效数据块的服务器设置为失效服务器,根据源点服务器反馈实时带宽情况,进行修复预检测,对纠删码修复任务分布情况进行优化。本发明通过动态选择具有最优带宽的服务器参与纠删码的部署和修复任务,能够保证整个存储系统的负载均衡,并使得纠删码的部署和修复效率得到有效提高,进而提高了系统的可用性和可靠性。

Description

一种基于带宽感知的故障节点快速修复方法
技术领域
本发明具体涉及一种基于带宽感知的故障节点快速修复方法。
背景技术
近年来,大规模分布式存储系统存储的数据量快速增长。传统存储系统中,三重副本技术是一种常用的可靠性机制,使用副本替换失效节点完成故障修复。该方式简单易用,但它引入了难以负担的存储成本和三倍存储开销,这使得减少存储开销成为大规模存储系统中不可避免的任务。许多存储系统已经开始使用纠删码作为其可靠性机制。RS(Reed-Solomon)码作为一种被广泛运用的纠删码,其工作原理如下:当数据写入存储系统时,原始数据会被划分为k个大小相同的数据块联合生成矩阵完成编码过程。其中生成矩阵由k×k的单位矩阵和(n-k)×k的编码矩阵组成。编码矩阵中所有元素均为整数。生成矩阵与数据块的集合编码运算生成n个数据块,其中包含k个数据块和n-k个校验块。这n个块的集合称为条带。此后,条带中的数据块由n个存储组件存储,每个条带可以容忍n-k个块的失效,存储开销为n/k。
然而,纠删码存储系统受到很多性能方面的影响,其中之一是恢复出现故障的存储组件需要很长时间(可能是磁盘设备或存储服务器)。在部署RS码的存储系统中,默认的修复方式为从存储条带信息的服务器中随机选出k个数据块,将它们传输到失效服务器上,通过解码运算,重新恢复失效的数据块。修复一个数据块,需要连接其他k个可用数据块才能完成。而大型存储系统中,存储节点失效的发生非常频繁,漫长的恢复时间可能会影响服务质量甚至影响整个系统。由于各服务器之间存在实际带宽情况差异,完成节点修复的大部分时间消耗在数据的传输时间上。传统修复过程会随机选择服务器,该模式进一步延长了修复时间,导致资源浪费。
发明内容
本发明的目的在于提供一种基于带宽感知的故障节点快速修复方法,通过动态选取链路带宽来加速纠删码的部署和修复,同时,将故障节点快速修复。
本发明提供的这种基于带宽感知的故障节点快速修复方法,包括如下步骤
S1.获取原始数据,划分成k个数据块,规定每个数据块大小为ω;
S2.根据(n, k)纠删码设计生成矩阵,将k个原始数据块编码生成大小相同的n-k个校验数据块,规定每个数据块大小为ω;n个数据块组成的集合称作条带,分布于服务器集群中,并用于存储原始数据的信息;
S3.步骤S1~步骤S2在一个服务器中完成,设置这一个服务器为源点服务器,源点服务器选择n-1个服务器作为存储条带数据的预选服务器,构建部署数据传输链路;
S4.对部署数据传输链路进行部署预检测;
S5.被选中的服务器执行数据传输任务,传输完成后源点服务器删除多余数据块,完成纠删码部署网络的构建;
S6.若存储节点发生失效,则为失效节点构建纠删码修复网络;
S7.将发生数据失效的服务器称为失效服务器;失效服务器选择存储条带中其他数据的k个服务器参与纠删码修复任务,并构建修复数据传输链路;
S8.对修复数据传输链路进行修复预检测;
S9.对纠删码修复任务分布情况进行优化;被选中的服务器执行数据传输任务,将所需数据块传输到失效服务器上,失效服务器完成对失效数据的修复工作。
步骤S3所述的源点服务器选择n-1个服务器,具体为源点服务器选择带宽最优的n-1个服务器。
步骤S4的部署预检测,具体为,若选定的传输路径上存在某一服务器s,在本次数据传输中传输的数据块数量超过了n/2,则替换以服务器s作为数据传输路径节点的目标服务器,
替换方法具体包括,选择降序序列中第n+1个服务器,预计算它接收到大小为ω的数据块的时间为t1=(ω/βn+1);
预计算传输路径上以服务器s作为数据传输的中继节点的服务器r接收大小为ω的数据块的时间t2=(nω/βs+...+ω/βr-1,r);其中,服务器s为服务器r-1、服务器r在数据传输过程中的前继节点,服务器r-1为服务器r在数据传输过程中的前继节点;
比较t1和t2的大小,若t1<t2,则把存储数据块的任务目标服务器k替换成降序序列中第n+1个服务器;若t1≥t2,则结束替换过程。
步骤S7所述的失效服务器选择除源点服务器之外的k个服务器,具体为失效服务器选择除源点服务器之外的带宽最优的k个服务器。
步骤S8的修复预检测具体为,检测失效服务器与其他k个服务器的数据传输过程中是否存在一条数据传输链路上有若干个服务器都被选中参与纠删码修复任务,同时,这种数据传输链路称作公共路径。
公共路径上与源点服务器距离相对远的服务器存储的数据块在传输过程中将数据块与它的前继服务器上存储的数据块合并,将计算过程分摊到传输路径上的服务器上;根据纠删码在有限域内的计算法则,若干个大小为ω且包含不同数据的数据块合并为一个大小为ω的数据块。
步骤S9的优化过程具体包括,不在公共路径上的服务器x向与它连通的公共路径上的服务器发送数据包,确认链路实时带宽;
服务器x将公共路径上与x连通的各服务器按带宽β降序排列,降序序列为{β1, β2,..., βp},其中,β为不在公共路径上的服务器与和公共路径上与此服务器连通服务器之间的带宽,p为与服务器x连通且位于公共路径上的服务器的数量;
预计算服务器x上数据块传输到失效服务器的传输时间
Figure 245434DEST_PATH_IMAGE001
选择降序序列中第一个服务器o,预计算服务器x传输数据块到公共路径上的服务器o的传输时间
Figure 100258DEST_PATH_IMAGE002
比较
Figure 4628DEST_PATH_IMAGE003
Figure 399838DEST_PATH_IMAGE004
的大小,若
Figure 214210DEST_PATH_IMAGE005
,修改路由计划,服务器x上保存的数据块通过公共路径传输;若
Figure 291799DEST_PATH_IMAGE006
,结束优化过程。
本发明提供的这种基于带宽感知的故障节点快速修复方法,通过动态选择具有最优带宽的服务器参与纠删码的部署和修复任务,同时还能保持整个存储系统的负载均衡,使得纠删码的部署和修复效率得到有效提高,提高了系统的可用性和可靠性。
附图说明
图1为本发明方法的流程示意图。
图2为本发明方法实施例的纠删码部署示意图。
图3为本发明方法的纠删码修复的流程示意图。
图4为本发明方法实施例的纠删码修复示意图。
图5为本发明方法实施例的网络拓扑图。
图6为本发明方法实施例与现有技术的修复时间比较图。
具体实施方式
如图1为本发明方法的流程示意图。本发明提供的这种基于带宽感知的故障节点快速修复方法,包括如下步骤
S1.获取原始数据,划分成k个数据块,规定每个数据块大小为ω;当对k份数据编码时,生成n-k份编码数据,共n份数据。n份数据分别存储在纠删码存储系统的n个存储节点中。其中任意一份数据(或一个节点)发生失效,只需要在剩下的n-1份数据中任取k份数据执行解码操作,即可还原出失效的数据。
S2.根据(n, k)纠删码设计生成矩阵,将k个原始数据块编码生成大小相同的n-k个校验数据块,规定每个数据块大小为ω;n个数据块组成的集合称作条带,分布于服务器集群中存储原始数据的信息;
S3.步骤S1~步骤S2在一个服务器中完成,设置这一个服务器为源点服务器,由源点服务器向相邻服务器发送数据包确认服务器间链路实时带宽;
源点服务器根据连通服务器反馈的实时带宽情况,将若干个服务器按带宽降序排列,降序序列为{β1, β2,..., βn,..., βm };其中,β为带宽,m为与源点服务器相连通的服务器数目,且满足m>n;
源点服务器选择降序序列中前n-1个服务器作为存储条带数据的预选服务器,构建部署数据传输链路;
S4.对部署数据传输链路进行部署预检测;部署预检测,具体为,若选定的传输路径上存在某一服务器s,在本次数据传输中传输的数据块数量超过了n/2,则替换以服务器s作为数据传输路径节点的目标服务器,替换方法为:
选择降序序列中第n+1个服务器,预计算它接收到大小为ω的数据块的时间为t1=(ω/βn+1);
预计算传输路径上以服务器s作为数据传输的中继节点的服务器r接收大小为ω的数据块的时间t2=(nω/βs+...+ω/βr-1,r);其中,服务器s为服务器r-1、服务器r在数据传输过程中的前继节点,服务器r-1为服务器r在数据传输过程中的前继节点;
比较t1和t2的大小,若t1<t2,则把存储数据块的任务目标服务器k替换成降序序列中第n+1个服务器;若t1≥t2,则结束替换过程;
S5.被选中的服务器执行数据传输任务,传输完成后源点服务器删除多余数据块,完成纠删码部署网络的构建;
S6.若存储节点发生失效,则为失效节点构建纠删码修复网络;
S7.将存储失效数据块的服务器设置为失效服务器;
源点服务器根据存储相同条带数据服务器反馈的实时带宽情况,将除此之外的n-1个服务器按带宽优劣顺序降序排列;
失效服务器选择降序序列中前k个服务器参与纠删码修复任务,并构建修复数据传输链路;
S8.对修复数据传输链路进行修复预检测;修复预检测具体为,检测失效服务器与其他k个服务器的数据传输过程中是否存在一条数据传输链路上有多个服务器都被选中参与纠删码修复任务,同时,这种数据传输链路称作公共路径;公共路径上与源点距离相对远的服务器存储的数据块在传输过程中将数据块与它的前继服务器上存储的数据块合并,将计算过程分摊到传输路径上的服务器上;具体为,根据纠删码在有限域内的计算法则,若干个大小为ω且包含不同数据的数据块合并为一个大小为ω的数据块;
S9.对纠删码修复任务分布情况进行优化;被选中的服务器执行数据传输任务,将所需数据块传输到失效服务器上,失效服务器完成对失效数据的修复工作。
优化过程具体包括,不在公共路径上的服务器x向与它连通的公共路径上的服务器发送数据包,确认链路实时带宽;
服务器x将公共路径上与x连通的各服务器按带宽β降序排列,降序序列为{β1, β2,..., βp},其中,β为不在公共路径上的服务器与和公共路径上与此服务器连通服务器之间的带宽,p为与服务器x连通且位于公共路径上的服务器的数量;
预计算服务器x上数据块传输到失效服务器的传输时间 ;
选择降序序列中第一个服务器o,预计算服务器x传输数据块到公共路径上的服务器o的传输时间
Figure 870417DEST_PATH_IMAGE002
比较
Figure 193951DEST_PATH_IMAGE003
Figure 987464DEST_PATH_IMAGE004
的大小,若
Figure 980827DEST_PATH_IMAGE005
,修改路由计划,服务器x上保存的数据块通过公共路径传输;若
Figure 735157DEST_PATH_IMAGE007
,结束优化过程。
具体实施方式中,如图2为本发明方法实施例的纠删码部署示意图,展示本方法纠删码部署方案。具体说明如下:
在图2所示的网络拓扑结构中部署(4, 3)-RS码,其中数据块的数量为3,校验块的数量为1。各节点代表服务器,各服务器之间的边的权值表示他们之间的带宽(单位MB/s),如βB,C =6MB/s,其余以此类推。假设该图中每个服务器同一时刻只能处理1个数据块,处理时间t0=0.1,且接收到数据就对其进行相应处理。由于带宽确认数据包很小,服务器处理带宽确认数据包的时间可忽略不计。
选择服务器A作为源点服务器,源点服务器在完成编码操作后需要把编码生成的其他n-1份数据分发到网络拓扑结构中其他n-1个服务器存储。源点服务器通过向与之连通的其他服务器发送带宽确认数据包并等待回执。基于与其他服务器之间的带宽情况,源点服务器A生成降序序列{D,B,C,F,E,G}。从中选出参与部署任务服务器集合为{D,B,C}。
对参与部署任务的服务器进行检测,其中服务器B需要承担2个数据块的传输任务,因此需要对其进行负载优化。假设每个数据块大小ω=1MB,预计算服务器F接收到数据块的时间t1= 2ω/βB+ω/βB,C + t0=0.6;服务器C接收到数据块的时间t2=0.5。t1>t2,将任务分配给服务器F实现负载均衡。最终执行附属任务的服务器集合为{D,B,F},优化完成。
源点服务器将n-1份数据分发给执行任务的各服务器存储,并删除多余数据,完成纠删码的部署。
如图3为本发明方法的纠删码修复的流程示意图,失效服务器需要从条带中根据一定规则选择k份数据执行解码操作,恢复失效数据。
具体修复过程如下:
步骤1:故障检测。纠删码故障类型可分成两类:一类称为普通故障(NodeRecovery)。这类故障的特点是暂时不需要查询故障数据,可联合多个普通故障一起修复,修复优先级低。另一类称作退化读(Degraded Read),这类故障的特点是需要访问发生故障的数据块,修复优先级高。数据存储系统通过控制器(Coordinator)检测系统中数据块是否失效。
步骤2:带宽感知。将存储失效数据块的服务器设置为失效服务器,失效服务器向存储同一条带内数据的其他n-1个服务器发送带宽确认数据包确认链路实时带宽。其他服务器在接收到该数据包后向失效服务器发送回执数据包,根据收到指定服务器发送的回执数据包的时间综合判断源点服务器与指定服务器之间实时带宽情况。失效服务器将所得链路带宽对应服务器进行排序操作。
步骤3:选择纠删码修复服务器。失效服务器将选择降序序列中前k个服务器作为纠删码部署的服务器,构建与被选择服务器之间的数据传输通路。
步骤4:预检测。检测失效服务器与其他k个服务器的传输链路上是否存在公共路径,公共路径上所有服务器均在降序序列中前k个服务器中。假设纠删码修复传输路径上存在公共路径:服务器m-服务器v-服务器u-失效服务器,需要传输多个数据块。根据纠删码在有限域内的运算性质,多个大小为ω包含不同数据的数据块经过有限域规定的运算后的运算结果仍然为有限域内元素,且大小为ω。因此公共路径上与失效距离更远的服务器m存储的数据块可以在传输过程中位于公共路径且存储其他数据块的前继服务器v上将需要传输的数据块合并。该路径上服务器传输的数据块在到达失效服务器时大小为ω而非3ω。
步骤5:优化纠删码修复传输任务。具体优化步骤如下:
如果传输路径上存在步骤4中的公共路径。检测不在公共路径上的其他被选择服务器与公共部分路径上服务器带宽。假设服务器d与上述公共路径上服务器连通。服务器d向公共路径上服务器发送带宽确认数据包确认链路实时带宽。其他服务器在接收到该数据包后向服务器d发送回执数据包,根据收到指定服务器发送的回执文数据包的时间综合判断服务器d与指定服务器之间实时带宽情况。服务器d将所得链路带宽对应服务器进行排序操作,生成降序序列{u,m,v}。
根据服务器d与失效服务器之间带宽情况预计算它接收到大小为ω的数据块所需时间t1=(ω/βd)。
选择降序序列中第一个服务器u,根据服务器d与服务器u之间带宽情况预计算它接收到大小为ω的数据块所需时间t2=(ω/βd,u)。
根据t1和t2大小情况来决定是否需要对预定任务进行修改。如果t1>t2,那么把服务器d到失效服务器间的数据传输任务修改成为服务器d到服务器u的数据传输任务,服务器d存储的数据块经过服务器u,通过公共路径传输到失效服务器。否则保持原定任务不变。对选定参与修复任务的所有不在公共路径上的服务器逐一检测,直到参与修复任务的服务器尽可能多的通过公共路径进行数据传输,优化完成。
具体实施方式中,如图4为本发明方法实施例的纠删码修复示意图,展示本方法纠删码修复方案。具体说明如下:
在图4所示的网络拓扑结构中已部署(7, 5)-RS码,其中数据块数量为5,校验块数量为2。各节点代表服务器,各服务器之间的边的权值表示他们之间的带宽(单位MB/s),如βB,C=4MB/s,其余以此类推。控制器(Coordinator)负责检测系统中是否出现数据块失效。假设该图中每个服务器同一时刻只能处理2个数据块,处理时间t0=0.1s,且接收到数据就对其进行相应处理。由于带宽确认数据包很小,服务器处理带宽确认数据包的时间可忽略不计。假设每个数据块大小ω=1MB。
存储条带中数据块的服务器集合为{A,B,C,D,E,F,G}。控制器(Coordinator)检测到服务器A存储的数据失效,需要通过联合其他k=5个服务器完成数据修复。失效服务器A通过向与之连通的其他n-1个服务器发送带宽确认数据包并等待回执。基于与其他服务器之间的带宽情况,失效服务器A生成降序序列{D,B,C,E,F,G}。从中选出参与修复任务的服务器集合为{D,B,C,E,F}。
对参与修复任务的服务器进行检测,其中出现公共路径(服务器E-服务器C-服务器B-失效服务器A)。路径上的服务器可以通过有限域内运算合并需要传输的数据块。而不在公共路径上的服务器F和服务器D检查它们到公共路径上服务器的带宽情况。
对于服务器F,基于与失效服务器A和公共路径上服务器的带宽,得到降序序列{C,A,D}。预计算服务器C接收到数据块的时间t1=0.25s;失效服务器A接收到数据块的时间t2=0.5s,t1<t2,将服务器F的传输任务的目标服务器替换成为服务器C,通过公共路径将数据块传输到失效服务器A。
对于服务器D,感知与失效服务器A和公共路径上服务器的带宽,得到降序序列{B,A,E}。预计算服务器C接收到数据块的时间t1=0.2s;失效服务器A接收到数据块的时间t2=0.5s,t1<t2,将服务器D的传输任务目标服务器替换成为服务器B,通过公共路径传输服务器D的数据块。由于修复任务需要等待所有数据块传输到失效服务器才能执行迅速按修复操作,通过优化网络传输时间来加速整个修复任务,优化完成。
失效服务器接收到其他k个服务器传输的数据块,执行解码操作,完成对失效数据块的修复。
本实施例以一个采用了(9, 6)-RS码的分布式存储系统为例来说明一种基于带宽感知的故障节点快速修复方法的部署过程,以及当一个系统节点损坏时如何修复该节点的数据的过程。
首先确定分布式存储系统的编码模型。其中n=9,k=6,所以校验节点的个数n-k=3。
如图5为本发明方法实施例的网络拓扑图,其中各节点代表服务器,各服务器之间的边的权值表示他们之间的带宽(单位MB/s),如βG,C =2MB/s,其余以此类推。控制器(Coordinator)负责检测系统中是否出现数据块失效。假设该图中每个服务器同一时刻只能处理2个数据块,处理时间t0=0.1s,且接收到数据就对其进行相应处理。由于带宽确认数据包很小,服务器处理带宽确认数据包的时间可忽略不计。
首先是纠删码的部署过程。
步骤一:选择服务器A作为纠删码部署的源点服务器,源点服务器A将原始数据划分成为k=6个数据块,每个数据块大小ω=1MB。
步骤二:源点服务器A根据编码矩阵为原始数据生成n-k=3个编码块。
步骤三:带宽感知。源点服务器通过向与之连通的其他服务器发送带宽确认数据包。其他服务器在接收到该数据包后向源点服务器发送回执数据包,根据收到指定服务器发送的回执数据包的时间综合判断源点服务器与指定服务器之间实时带宽情况。基于与其他服务器之间的带宽情况,源点服务器A生成降序序列{G,I,C,E,D,F,H,B}。
步骤四:源点服务器从降序序列中选出参与部署任务服务器集合为{G,I,C,E,D,F,H,B}。
步骤五:预检测,检测参与部署任务的服务器,其中负载最高的服务器G和服务器I都只需要承担4(小于n/2)个数据块的传输任务,因此无需对部署任务进行负载优化。
步骤六:源点服务器A将n-1份数据分发给服务器G、I、C、E、D、F、H、B存储,并删除多余数据,完成纠删码的部署。存储条带中数据块的服务器集合为{A,G,I,C,E,D,F,H,B}。
然后是纠删码存储系统中对失效数据的恢复过程。
步骤A1:故障检测。控制器(Coordinator)检测到服务器H存储的数据失效,需要通过联合其他k=6个服务器完成数据修复。
步骤A2:带宽感知。设置失效服务器为服务器H,失效服务器H向存储同一条带内数据的其他n-1个服务器发送带宽确认数据包确认链路实时带宽。其他服务器在接收到该数据包后向失效服务器发送回执数据包,根据收到指定服务器发送的回执数据包的时间综合判断源点服务器与指定服务器之间实时带宽情况。基于与其他服务器之间的带宽情况,失效服务器H生成降序序列{B,D,E,C,F,I,G,A}。
步骤A3:失效服务器从降序序列中选出参与部署任务服务器集合为{B,D,E,C,F,I}。
步骤A4:预检测,检测参与修复任务的服务器,其中出现公共路径Path1(服务器C-服务器D-失效服务器H)和公共路径Path2(服务器I-服务器E-失效服务器H)。
步骤A5:优化纠删码修复传输任务。不在公共路径上的服务器F和服务器B检查它们到公共路径上服务器的带宽情况。
对于服务器F,基于与失效服务器H和公共路径上服务器的带宽,得到降序序列a1={C,D,H}和降序序列a2={E,H,I}。对于降序序列a1,预计算服务器C接收到服务器H传输的数据块的时间t1=ω/βC,F=0.142s;失效服务器H接收到服务器F存储的数据块的时间t2=ω/βH,F=0.667s,t1<t2,将服务器F的传输任务的目标服务器替换成为服务器C,通过公共路径将数据块传输到失效服务器A。对于降序序列a2,预计算服务器E接收到服务器H传输的数据块的时间t3=ω/βE,F=0.2s;失效服务器H接收到服务器F存储的数据块的时间t2=ω/βH,F=0.667s,t3<t2,将服务器F的传输任务的目标服务器替换成为服务器E,通过公共路径将数据块传输到失效服务器A。对于两种优化方案,t1<t3,因此服务器F上的数据选择通过服务器C传输到失效服务器H。
对于服务器B,基于与失效服务器H和公共路径上服务器的带宽,得到降序序列a1={H,C,D}和降序序列a2={H,I,E}。由于降序序列a1、a2中均是服务器H与服务器B之间的带宽最有,因此服务器B的数据传输任务无需优化。
步骤A6:失效服务器H接收到其他k=6个服务器传输的数据块,执行解码操作,完成对失效数据块的修复。
随机算法表示在纠删码部署(或修复)过程中随机选择服务器参与部署(或修复)任务的方式。如图6为本发明方法实施例与现有技术的修复时间比较图,展示了改变纠删码参数的情况下,本方法与随机算法在修复性能的比较。由图可见,即使纠删码参数的发生了变化,相较随机算法,本方法均有较高性能提升。此外,随着参数的增大,修复性能的提升也越显著。

Claims (7)

1.一种基于带宽感知的故障节点快速修复方法,其特征在于包括如下步骤
S1.获取原始数据,划分成k个数据块,规定每个数据块大小为ω
S2.根据(n, k)纠删码设计生成矩阵,将k个原始数据块编码生成大小相同的n-k个校验数据块,规定每个数据块大小为ωn个数据块组成的集合称作条带,分布于服务器集群中存储原始数据的信息;
S3.步骤S1~步骤S2在一个服务器中完成,设置这一个服务器为源点服务器,源点服务器选择降序序列中前n-1个服务器作为包含原始数据的条带的预选目标服务器,构建部署数据传输链路;
S4.对部署数据传输链路进行部署预检测;
S5.被选中的服务器执行数据传输任务,传输完成后源点服务器删除多余数据块,完成纠删码部署网络的构建;
S6.为失效节点构建纠删码修复网络;
S7.将存储失效数据块的服务器设置为失效服务器;失效服务器选择除源点服务器之外的k个服务器参与纠删码修复任务,并构建修复数据传输链路;
S8.对修复数据传输链路进行修复预检测;
S9.对纠删码修复任务分布情况进行优化;被选中的服务器执行数据传输任务,将所需数据块传输到失效服务器上,失效服务器完成对失效数据的修复工作。
2.根据权利要求1所述的基于带宽感知的故障节点快速修复方法,其特征在于步骤S3所述的源点服务器选择n-1个服务器,具体为源点服务器选择带宽最优n-1个服务器。
3.根据权利要求2所述的基于带宽感知的故障节点快速修复方法,其特征在于步骤S4的部署预检测,具体为,若选定的传输路径上存在某一服务器s,在本次数据传输中传输的数据块数量超过了n/2,则替换以服务器s作为数据传输路径节点的目标服务器。
4.根据权利要求3所述的基于带宽感知的故障节点快速修复方法,其特征在于替换方法具体包括,选择降序序列中第n+1个服务器,预计算它接收到大小为ω的数据块的时间为t 1=(ω/β n+1);
预计算传输路径上以服务器s作为数据传输的中继节点的服务器r接收大小为ω的数据块的时间t 2=(nω/β s +...+ω/β r-1,r );其中,服务器s为服务器r-1、服务器r在数据传输过程中的前继节点,服务器r-1为服务器r在数据传输过程中的前继节点;
比较t 1t 2的大小,若t 1<t 2,则把存储数据块的任务目标服务器k替换成降序序列中第n+1个服务器;若t 1≥ t 2,则结束替换过程。
5.根据权利要求4所述的基于带宽感知的故障节点快速修复方法,其特征在于步骤S7所述的失效服务器选择除源点服务器之外的k个服务器,具体为失效服务器选择除源点服务器之外的带宽最优的k个服务器。
6.根据权利要求5所述的基于带宽感知的故障节点快速修复方法,其特征在于步骤S8的修复预检测具体为,检测失效服务器与其他k个服务器的数据传输过程中是否存在一条数据传输链路上有若干个服务器都被选中参与纠删码修复任务,同时,这种数据传输链路称作公共路径;公共路径上与源点距离相对远的服务器存储的数据块在传输过程中将数据块与它的前继服务器上存储的数据块合并,将计算过程分摊到传输路径上的服务器上;根据纠删码在有限域内的计算法则,若干个大小为ω且包含不同数据的数据块合并为一个大小为ω的数据块。
7.根据权利要求6所述的基于带宽感知的故障节点快速修复方法,其特征在于步骤S9的优化过程具体包括,不在公共路径上的服务器x向与它连通的公共路径上的服务器发送数据包,确认链路实时带宽;
服务器x将公共路径上与x连通的各服务器按带宽β降序排列,降序序列为{β 1,β 2,...,β p },其中,β为不在公共路径上的服务器与和公共路径上与此服务器连通服务器之间的带宽,p为与服务器x连通且位于公共路径上的服务器的数量;
预计算服务器x上数据块传输到失效服务器的传输时间
Figure 60303DEST_PATH_IMAGE001
选择降序序列中第一个服务器o,预计算服务器x传输数据块到公共路径上的服务器o的传输时间
Figure 583689DEST_PATH_IMAGE002
比较
Figure 13533DEST_PATH_IMAGE003
Figure 192842DEST_PATH_IMAGE004
的大小,若
Figure 467965DEST_PATH_IMAGE005
,修改路由计划,服务器x上保存的数据块通过公共路径传输;若
Figure 111436DEST_PATH_IMAGE006
,结束优化过程。
CN202110330726.1A 2021-03-29 2021-03-29 一种基于带宽感知的故障节点快速修复方法 Active CN112714031B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110330726.1A CN112714031B (zh) 2021-03-29 2021-03-29 一种基于带宽感知的故障节点快速修复方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110330726.1A CN112714031B (zh) 2021-03-29 2021-03-29 一种基于带宽感知的故障节点快速修复方法

Publications (2)

Publication Number Publication Date
CN112714031A true CN112714031A (zh) 2021-04-27
CN112714031B CN112714031B (zh) 2021-06-22

Family

ID=75550373

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110330726.1A Active CN112714031B (zh) 2021-03-29 2021-03-29 一种基于带宽感知的故障节点快速修复方法

Country Status (1)

Country Link
CN (1) CN112714031B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113721848A (zh) * 2021-08-19 2021-11-30 华中科技大学 一种基于纠删码的多节点调度修复方法及系统
CN114237985A (zh) * 2021-12-22 2022-03-25 中国人民解放军国防科技大学 修复纠删码存储系统中失效存储块的方法及相关设备
CN116701043A (zh) * 2023-08-04 2023-09-05 浪潮电子信息产业股份有限公司 面向异构计算系统的故障节点切换方法、装置和设备

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103645861A (zh) * 2013-12-03 2014-03-19 华中科技大学 一种纠删码集群中失效节点的重构方法
CN103650569A (zh) * 2013-07-22 2014-03-19 华为技术有限公司 无线网络故障诊断方法和设备
CN104156400A (zh) * 2014-07-22 2014-11-19 中国科学院信息工程研究所 一种海量网络流数据的存储方法及装置
CN106662983A (zh) * 2015-12-31 2017-05-10 华为技术有限公司 分布式存储系统中的数据重建的方法、装置和系统
US20170187766A1 (en) * 2014-09-09 2017-06-29 Tsinghua University Hybrid network system, communication method and network node
CN107154945A (zh) * 2017-05-31 2017-09-12 中南大学 一种基于纠删码的多云碎片化安全存储方法及系统
US9841908B1 (en) * 2016-06-30 2017-12-12 Western Digital Technologies, Inc. Declustered array of storage devices with chunk groups and support for multiple erasure schemes
CN109445681A (zh) * 2018-08-27 2019-03-08 华为技术有限公司 数据的存储方法、装置和存储系统
CN109889440A (zh) * 2019-02-20 2019-06-14 哈尔滨工程大学 一种基于最大生成树的纠删码失效节点重构路径选择方法
US20190361111A1 (en) * 2018-05-25 2019-11-28 Qualcomm Incorporated Determining transmission timing of a positioning beacon from a time of reception of a reference signal
CN111506428A (zh) * 2020-04-20 2020-08-07 中国科学技术大学 一种基于纠删码存储系统的负载均衡修复调度方法

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103650569A (zh) * 2013-07-22 2014-03-19 华为技术有限公司 无线网络故障诊断方法和设备
CN103645861A (zh) * 2013-12-03 2014-03-19 华中科技大学 一种纠删码集群中失效节点的重构方法
CN104156400A (zh) * 2014-07-22 2014-11-19 中国科学院信息工程研究所 一种海量网络流数据的存储方法及装置
US20170187766A1 (en) * 2014-09-09 2017-06-29 Tsinghua University Hybrid network system, communication method and network node
CN106662983A (zh) * 2015-12-31 2017-05-10 华为技术有限公司 分布式存储系统中的数据重建的方法、装置和系统
US9841908B1 (en) * 2016-06-30 2017-12-12 Western Digital Technologies, Inc. Declustered array of storage devices with chunk groups and support for multiple erasure schemes
CN107154945A (zh) * 2017-05-31 2017-09-12 中南大学 一种基于纠删码的多云碎片化安全存储方法及系统
US20190361111A1 (en) * 2018-05-25 2019-11-28 Qualcomm Incorporated Determining transmission timing of a positioning beacon from a time of reception of a reference signal
CN109445681A (zh) * 2018-08-27 2019-03-08 华为技术有限公司 数据的存储方法、装置和存储系统
CN109889440A (zh) * 2019-02-20 2019-06-14 哈尔滨工程大学 一种基于最大生成树的纠删码失效节点重构路径选择方法
CN111506428A (zh) * 2020-04-20 2020-08-07 中国科学技术大学 一种基于纠删码存储系统的负载均衡修复调度方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BING ZHU: "Replicated Convolutional Codes:A Design Framework for Repair-Efficient Distributed Storage Codes", 《IEEE》 *
王伟平: "基于零空间的网络编码云存储完整性校验方案", 《清华大学学报(自然科学版)》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113721848A (zh) * 2021-08-19 2021-11-30 华中科技大学 一种基于纠删码的多节点调度修复方法及系统
CN113721848B (zh) * 2021-08-19 2024-02-09 华中科技大学 一种基于纠删码的多节点调度修复方法及系统
CN114237985A (zh) * 2021-12-22 2022-03-25 中国人民解放军国防科技大学 修复纠删码存储系统中失效存储块的方法及相关设备
CN116701043A (zh) * 2023-08-04 2023-09-05 浪潮电子信息产业股份有限公司 面向异构计算系统的故障节点切换方法、装置和设备
CN116701043B (zh) * 2023-08-04 2024-01-12 浪潮电子信息产业股份有限公司 面向异构计算系统的故障节点切换方法、装置和设备

Also Published As

Publication number Publication date
CN112714031B (zh) 2021-06-22

Similar Documents

Publication Publication Date Title
CN112714031B (zh) 一种基于带宽感知的故障节点快速修复方法
JP5298393B2 (ja) 並列リードソロモンraid(rs−raid)アーキテクチャ、デバイス、および方法
US7200117B2 (en) Method of optimizing network capacity and fault tolerance in deadlock-free routing
US5987622A (en) Parallel computer system including parallel storage subsystem including facility for correction of data in the event of failure of a storage device in parallel storage subsystem
US7797609B2 (en) Apparatus and method for merging data blocks with error correction code protection
CN103688515A (zh) 一种最小带宽再生码的编码和存储节点修复方法
US11500725B2 (en) Methods for data recovery of a distributed storage system and storage medium thereof
JP5078347B2 (ja) 複数のノードを有するコンピュータ・システムの故障ノードをフェイルオーバー(修復)する方法
CN101488863B (zh) 消除邻居重建中路由震荡的方法、装置及系统
JP2011507066A (ja) メモリアレイにおけるエラー訂正
CN105450741A (zh) 分布式存储系统中供应服务器选择和修复数据传输方法
CN113541870A (zh) 一种纠删码存储单节点失效的修复优化方法
CN107528711B (zh) 一种数据传输方法、装置以及网元
CN108199720B (zh) 一种减小存储开销和提高修复效率的节点修复方法及系统
CN114237985B (zh) 修复纠删码存储系统中失效存储块的方法及相关设备
US10104202B2 (en) Collectively loading programs in a multiple program multiple data environment
CN113721848B (zh) 一种基于纠删码的多节点调度修复方法及系统
JP4704252B2 (ja) ネットワークシステムのブロードキャスト処理方法及びネットワークシステム
CN105279048A (zh) 一种数据恢复方法及装置
CN113098660B (zh) 一种基于部分复制技术的不等局部可修复喷泉码构造方法
Xie et al. AZ-Recovery: an efficient crossing-AZ recovery scheme for erasure coded cloud storage systems
CN108628697A (zh) 一种基于二进制的节点修复方法及系统
CN111863107B (zh) 闪存纠错方法及装置
JP2012033169A (ja) バックアップシステムにおける符号化を使用して、ライブチェックポインティング、同期、及び/又は復旧をサポートするための方法及び装置
US20070283208A1 (en) Systems, methods, and computer program products for providing a two-bit symbol bus error correcting code with bus diagnostic features

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