CN112445656B - 分布式存储系统中数据的修复方法及装置 - Google Patents
分布式存储系统中数据的修复方法及装置 Download PDFInfo
- Publication number
- CN112445656B CN112445656B CN202011468257.1A CN202011468257A CN112445656B CN 112445656 B CN112445656 B CN 112445656B CN 202011468257 A CN202011468257 A CN 202011468257A CN 112445656 B CN112445656 B CN 112445656B
- Authority
- CN
- China
- Prior art keywords
- data
- node
- bandwidth
- newly
- supply node
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 230000008439 repair process Effects 0.000 claims abstract description 15
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 10
- 238000004891 communication Methods 0.000 claims description 5
- 238000012544 monitoring process Methods 0.000 claims description 5
- 230000005540 biological transmission Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 3
- 235000008694 Humulus lupulus Nutrition 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- 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/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1464—Management of the backup or restore process for networked environments
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种分布式存储系统中数据的修复方法及装置,属于数据修复技术领域,解决了现有技术中数据修复速度慢、可靠性和实用性差的问题。该方法包括,当分布式存储系统中的多个供应节点的任意一个发生故障时,将多个冗余节点中的一个作为新生供应节点;从控制器中获取新生供应节点的带宽数据值,并获取新生供应节点和其他每一供应节点间的网络距离;根据带宽数据值和网络距离,生成数据修复模型,根据数据修复模型传输数据编码块至新生供应节点;基于接收到的数据编码块利用配置的编解码算法修复失效的数据编码块。该方法通过实时监测存储节点的带宽,通过选择最佳带宽提高数据修复速度和数据修复的可靠性、可用性。
Description
技术领域
本发明涉及数据修复技术领域,尤其涉及一种分布式存储系统中数据的修复方法及装置。
背景技术
互联网、5G及其相关产业的飞速发展使我们迈入了大数据时代,存储海量数据将面临着巨大挑战。大规模分布式存储系统以其海量存储能力,高吞吐量,高可用性和低成本的突出优势取代了集中式存储系统成为主流系统.由于分布式存储系统中节点数量庞大,经常会产生各种类型故障,从而导致节点失效情况频发.因此,必须采用容错技术来保证在部分存储节点失效的情况下,数据仍然能够被正常读取和下载,具有容错能力且节约存储资源的分布式存储编码成为大数据时代重点研究的核心技术之一。
现有数据修复方法主要是对简单的再生码进行研究和改进,通过将再生码分段再对每段编码产生冗余块,从而减少节点失效产生的网络负载,提高纠删码数据修复的速度;此外,中国专利“CN103729151B”公开了一种基于改进型纠删码的失效数据修复方法,其构建了由1个控制节点和N个存储节点组成的分布式存储系统,控制节点安装有数据写入管理程序和数据读取程序,存储节点安装有数据写入程序和数据读取程序,数据写入管理程序接收用户提交的数据对象,进行分块和编码计算,最终修复丢失的数据。
现有技术至少存在以下缺陷,一是现有基于纠删码的数据修复主要致力于减少纠删码的修复负载以提高纠删码数据修复的速度,忽略了基于带宽提高数据修复速度,导致修复速度提升少,且数据修复的可用性、可靠性差;二是,现有的失效数据修复模型没有覆盖所有可提供数据编码块的供应节点,且忽略了现实网络中的带宽是实时变化的,将失效数据修复模型建立在各供应节点之间的带宽是固定不变的,从而导致无法有效提升数据修复速度。
发明内容
鉴于上述的分析,本发明实施例旨在提供一种分布式存储系统中数据的修复方法,用以解决现有技术中失效数据修复速度慢、可靠性和实用性差的问题。
一方面,本发明提供了一种分布式存储系统中数据的修复方法,包括:
当分布式存储系统中的多个供应节点的任意一个发生故障时,将多个冗余节点中的一个作为新生供应节点;所述供应节点用于存储数据编码块,所述数据编码块为根据原数据包含的数据块编码获得的;
从控制器中获取所述新生供应节点的带宽数据值,并获取所述新生供应节点和其他每一供应节点间的网络距离;
根据所述带宽数据值和网络距离,生成数据修复模型,根据所述数据修复模型传输数据编码块至所述新生供应节点;
基于接收到的所述数据编码块利用配置的编解码算法修复失效的数据编码块。
进一步的,所述从控制器中获取所述新生供应节点的带宽数据值的步骤包括:
根据新生供应节点的IP地址和/或MAC地址,从控制器中获取对应存储的带宽数据值,将最后一次更新的带宽数据值作为新生供应节点的带宽数据值。
进一步的,根据下述条件选择向所述新生供应节点传输数据编码块的供应节点:
与所述新生供应节点间的网络距离最小,
并且可用带宽大于预设值,所述可用带宽为每一供应节点与新生供应节点对应的带宽数据值中的最小带宽,以及
向所述新生供应节点传输数据编码块的供应节点的数量等于原数据包含的数据块的数量。
本发明提供了一种分布式存储系统中存储节点网络数据的获取方法,包括:
定时获取分布式存储系统中每一存储节点的带宽数据值,并获取每个存储节点之间的网络距离;
根据数据请求,发送对应存储节点的带宽数据值,以及该存储节点与其他存储节点之间的网络距离。
进一步的,所述定时获取分布式存储系统中每一存储节点的带宽数据值的步骤包括:
通过不同的交换机端口分别向每一存储节点发送多个数据包;
从对应交换机端口接收返回的数据包发送数量、数据包接收数量、时间间隔以及交换机端口的带宽速率,进而确定每一存储节点的带宽数据值。
进一步的,通过下式计算存储节点的带宽数据值:
其中,surp_bandwidth表示存储节点的可用带宽,curr_bandwidth表示存储节点对应的交换机端口的带宽速率,rn表示数据包接收数量,sn表示数据包发送数量,T表示时间间隔。
进一步的,还包括:
获取每一存储节点的IP地址和MAC地址,并将所述存储节点的带宽数据值、与其他每一存储节点间的网络距离和所述IP地址和MAC地址匹配。
本发明提供了一种分布式存储系统中数据的修复方法,控制器通过交换机与所述分布式存储系统通信连接,所述分布式存储系统包括多个存储节点,其中,所述多个存储节点包括一个主控节点、多个供应节点和多个冗余节点,所述供应节点用于存储数据编码块;所述数据编码块为根据原数据包含的数据块编码获得的;
所述方法包括如下步骤:
控制器定时获取分布式存储系统中每一存储节点的带宽数据值,并获取每个存储节点之间的网络距离;
当分布式存储系统中的多个供应节点的任意一个发生故障时,所述主控节点将多个冗余节点中的一个作为新生供应节点;
控制器根据主控节点的数据请求,发送所述新生供应节点的带宽数据值,以及该新生供应节点与其他存储节点之间的网络距离。
所述主控节点接收所述新生供应节点的带宽数据值,并获取所述新生供应节点和其他每一供应节点间的网络距离;根据所述带宽数据值和网络距离,生成数据修复模型,所述数据修复模型,根据下述条件选择向所述新生供应节点传输数据编码块的供应节点:
与所述新生供应节点间的网络距离最小,
并且可用带宽大于预设值,所述可用带宽为每一供应节点与新生供应节点对应的带宽数据值中的最小带宽,以及
向所述新生供应节点传输数据编码块的供应节点的数量等于原数据包含的数据块的数量;
所述新生供应节点基于接收到的所述数据编码块,修复失效的数据编码块。
另一方面,本发明提供了一种分布式存储系统中数据的修复装置,包括:
新生供应节点确定模块,用于当分布式存储系统中的多个供应节点的任意一个发生故障时,将多个冗余节点中的一个作为新生供应节点;所述供应节点用于存储数据编码块;
数据请求模块,用于从控制器中获取所述新生供应节点的带宽数据值,并获取所述新生供应节点和其他每一供应节点间的网络距离;
数据修复模块,用于根据所述带宽数据值和网络距离,生成数据修复模型,根据所述数据修复模型传输数据编码块至所述新生供应节点;以及基于接收到的所述数据编码块利用配置的编解码算法修复失效的数据编码块。
本发明提出的一种分布式存储系统中数据的修复装置,包括:
数据获取模块,用于定时获取分布式存储系统中每一存储节点的带宽数据值,并获取每个存储节点之间的网络距离;
数据发送模块,用于根据数据请求,发送对应存储节点的带宽数据值,以及该存储节点与其他存储节点之间的网络距离。
与现有技术相比,本发明至少可实现如下有益效果之一:
1、本发明提出的分布式存储系统中数据的修复方法及装置,通过将控制平面和数据转发平面分离开,以实现对分布式存储系统中各存储节点的带宽进行实时测量,并根据实时带宽生成数据修复模型,即根据网络距离和实时带宽选择向新生供应节点传输数据编码块的供应节点,加快传输速度,进而提高数据修复速度以及数据修复的可靠性和可用性。
2、本发明提出的分布式存储系统中数据的修复方法及装置,控制器通过交换机端口向分布式存储系统中各个存储节点发送数据包,并根据交换机端口对应返回的数据包发送量、数据包返回量、时间间隔以及交换机端口的实时带宽获得各存储节点的实时带宽,从而解决了网络环境实时带宽难以测量的问题。
3、相比于现有技术中基于减少数据修复负载以提高数据修复速度的方法,本发明提出的基于实时带宽的数据修复方法对失效数据的修复速度提高了10%。
本发明中,上述各技术方案之间还可以相互组合,以实现更多的优选组合方案。本发明的其他特征和优点将在随后的说明书中阐述,并且,部分优点可从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过说明书以及附图中所特别指出的内容中来实现和获得。
附图说明
附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件。
图1为本发明实施例纠删码编码的示意图;
图2为本发明实施例分布式存储系统中数据的修复方法的流程图;
图3为本发明实施例数据修复模型网络拓扑结构的示意图;
图4为本发明分布式存储系统中数据的修复装置的示意图。
具体实施方式
下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理,并非用于限定本发明的范围。
纠删码是分布式存储系统的一种容错技术,如图1所示,可以用三元组(n,k,k')表示,主要是将原数据D分为k个大小相等的数据块,通过特定的编码算法对k个数据块进行编码计算,产生n个数据编码块,其中n>k,从n个数据编码块中取任意k'(k<k'<n)个编码块都可以恢复出原数据对象D。当节点发生失效时,供应节点向新生供应节点发送数据,新生供应节点接收数据之后,根据使用的编解码算法恢复出丢失的数据。
本发明的一个具体实施例,公开了一种分布式存储系统中数据的修复方法(分布式存储系统侧)。如图2所示,包括以下步骤:
S110、当分布式存储系统中的多个供应节点的任意一个发生故障时,将多个冗余节点中的一个作为新生供应节点。具体的,分布式存储系统包括多个存储节点,存储节点包括一个主控节点、多个供应节点和多个冗余节点,供应节点用于存储数据编码块,示例性的,一个供应节点存储一个数据编码块。此外,分布式存储系统的多个存储节点分布于多个主机上。主控节点用于监测各供应节点是否发生故障,当监测到某一供应节点发生故障时,根据分布式存储系统的数据分布规则确定用来恢复数据的新生供应节点。
S120、从控制器中获取新生供应节点的带宽数据值,并获取新生供应节点和其他每一供应节点间的网络距离。
S130、根据新生供应节点和其他未失效的供应节点的带宽数据值,以及新生供应节点与其他每一未失效的供应节点间的网络距离,生成数据修复模型,根据数据修复模型传输数据编码块至新生供应节点。基于带宽的数据修复模型,在进行数据编码块传输路径的选择时,优选选择网络距离小、带宽好的供应节点,提高数据编码块的传输数据,进而提高失效数据的修复速度。
S140、基于接收到的数据编码块利用配置的编解码算法修复失效的数据编码块。其中,编解码算法是分布式存储系统自身配置的。
优选的,从控制器中获取新生供应节点的带宽数据值的步骤包括:
根据新生供应节点的IP地址和/或MAC地址,从控制器中获取对应存储的带宽数据值,将最后一次更新的带宽数据值作为新生供应节点的带宽数据值。
优选的,数据修复模型根据下述条件选择向新生供应节点传输数据编码块的供应节点:
与新生供应节点间的网络距离最小,
并且可用带宽大于预设值,该可用带宽为每一供应节点与新生供应节点对应的带宽数据值中的最小带宽,以及
向新生供应节点传输数据编码块的供应节点的数量等于原数据包含的数据块的数量。
网络距离小指的是供应节点至新生供应节点经过的网络设备少。在网络距离相同的情况下,选择带宽好的节点。
本发明的另一个具体实施例,公开了一种分布式存储系统中存储节点网络数据的获取方法(控制器侧),包括:
定时获取分布式存储系统中每一存储节点的带宽数据值,并获取每个存储节点之间的网络距离;具体的,分布式存储系统的各存储节点之间的网络距离存储于其配置文件中,控制器可以从分布式存储系统的配置文件中获取各存储节点之间的网络距离,并进行存储。
根据数据请求,发送对应存储节点的带宽数据值,以及该存储节点与其他存储节点之间的网络距离。示例性的,确定了新生供应节点之后,则根据输数据请求,发送该新生供应节点的网络带宽值和该新生供应节点与其他每一供应节点间的网路距离。
优选的,定时获取分布式存储系统中每一存储节点的带宽数据值的步骤包括:
通过不同的交换机端口分别向每一存储节点发送sn个数据包。
从对应交换机端口接收返回的数据包发送数量sn、数据包接收数量rn、时间间隔T以及交换机端口的带宽速率curr_bandwidth,进而确定每一存储节点的带宽数据值。
具体通过下式计算存储节点的带宽数据值:
其中,surp_bandwidth表示存储节点的可用带宽,curr_bandwidth表示存储节点对应的交换机端口的带宽速率,rn表示数据包接收数量,sn表示数据包发送数量,T表示时间间隔。
优选的,还包括:
获取每一存储节点的IP地址和MAC地址,并将存储节点的带宽数据值、与其他每一存储节点间的网络距离和所述IP地址和MAC地址匹配,以便根据该匹配关系调用对应的带宽数据至和网络距离。
本发明的又一个实施例提供了一种分布式存储系统中数据的修复方法,控制器通过交换机与所述分布式存储系统通信连接,该分布式存储系统包括多个存储节点,其中,多个存储节点包括一个主控节点、多个供应节点和多个冗余节点,所述供应节点用于存储数据编码块;所述数据编码块为根据原数据包含的数据块编码获得的;
该方法包括如下步骤:
控制器定时获取分布式存储系统中每一存储节点的带宽数据值,并获取每个存储节点之间的网络距离;
当分布式存储系统中的多个供应节点的任意一个发生故障时,所述主控节点将多个冗余节点中的一个作为新生供应节点;
控制器根据主控节点的数据请求,发送所述新生供应节点的带宽数据值,以及该新生供应节点与其他存储节点之间的网络距离。
所述主控节点接收所述新生供应节点的带宽数据值,并获取所述新生供应节点和其他每一供应节点间的网络距离;根据所述带宽数据值和网络距离,生成数据修复模型,所述数据修复模型,根据下述条件选择向所述新生供应节点传输数据编码块的供应节点:
与所述新生供应节点间的网络距离最小,
并且可用带宽大于预设值,所述可用带宽为每一供应节点与新生供应节点对应的带宽数据值中的最小带宽,以及
向所述新生供应节点传输数据编码块的供应节点的数量等于原数据包含的数据块的数量;
所述新生供应节点基于接收到的所述数据编码块,修复失效的数据编码块。
示例性的,数据修复模型,选择向所述新生供应节点传输数据编码块的供应节点的方式如下:
交换机与分布式存储系统各节点的通信连接关系如图3所示,S1、S2表示交换机,N1、N2、N3、N4为供应节点,N5为失效的供应节点,N6为新生供应节点。对于RS(n,3)纠删码,需要3个数据编码块才可以修复丢失的数据,即需要从N1、N2、N3、N4中选择三个向N6传输数据编码块。具体的,N4与N6的网络距离为2跳,N1、N2、N3与N6的网络距离为3跳,因此选择N4向N6传输数据编码块,进一步确定N1、N2、N3至N6的链路的可用带宽,选择带宽较好的两个节点向N6传输数据编码块。经过模拟实践验证,相比于基于较少数据修复负载的方法,基于带宽的纠删码修复方法对数据的修复速度提升了10%。
本发明的又一个实施例,公开了一种分布式存储系统中数据的修复装置。
由于装置实施例与上述方法实施例的原理相同,重复之处可以参考方法实施例,因此在此不再赘述。
具体的,如图4所示,该装置包括控制器、数据转发设备以及分布式存储系统。控制器设置于数据转发设备上,数据转发设备包括多个交换机,控制器通过数据转发设备与分布式存储系统实现通信连接,具体的,多个交换机依次通信连接,也可以根据对网络拓扑结构的要求,采用其他的连接方式。
优选的,在分布式存储系统侧,主要包括:
新生供应节点确定模块,用于当分布式存储系统中的多个供应节点的任意一个发生故障时,将多个冗余节点中的一个作为新生供应节点;其中,供应节点用于存储数据编码块。
数据请求模块,用于从控制器中获取所述新生供应节点的带宽数据值,并获取所述新生供应节点和其他每一供应节点间的网络距离。
数据修复模块,用于根据所述带宽数据值和网络距离,生成数据修复模型,根据所述数据修复模型传输数据编码块至所述新生供应节点;以及基于接收到的所述数据编码块利用配置的编解码算法修复失效的数据编码块。
优选的,在控制器侧,主要包括:
数据获取模块,用于定时获取分布式存储系统中每一存储节点的带宽数据值,并获取每个存储节点之间的网络距离。
数据发送模块,用于根据数据请求,发送对应存储节点的带宽数据值,以及该存储节点与其他存储节点之间的网络距离。
与现有技术相比,本发明实施例提出的分布式存储系统中数据的修复方法及装置,首先,通过将控制平面和数据转发平面分离开,以实现对分布式存储系统中各存储节点的带宽进行实时测量,并根据实时带宽生成数据修复模型,即根据网络距离和实时带宽选择向新生供应节点传输数据编码块的供应节点,加快传输速度,进而提高数据修复速度以及数据修复的可靠性和可用性。其次,控制器通过交换机端口向分布式存储系统中各个存储节点发送数据包,并根据交换机端口对应返回的数据包发送量、数据包返回量、时间间隔以及交换机端口的实时带宽获得各存储节点的实时带宽,从而解决了网络环境实时带宽难以测量的问题。最后相比于现有技术中基于减少数据修复负载以提高数据修复速度的方法,本发明提出的基于实时带宽的数据修复方法对失效数据的修复速度提高了10%。
本领域技术人员可以理解,实现上述实施例方法的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读存储介质中。其中,所述计算机可读存储介质为磁盘、光盘、只读存储记忆体或随机存储记忆体等。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
Claims (7)
1.一种分布式存储系统中数据的修复方法,其特征在于,包括:
当分布式存储系统中的多个供应节点的任意一个发生故障时,主控节点将多个冗余节点中的一个作为新生供应节点;所述供应节点用于存储数据编码块,所述数据编码块为根据原数据包含的数据块编码获得的;
基于所述主控节点的数据请求,所述主控节点从控制器中获取所述新生供应节点的带宽数据值,并获取所述新生供应节点和其他每一供应节点间的网络距离;
根据所述带宽数据值和网络距离,生成数据修复模型,根据所述数据修复模型传输数据编码块至所述新生供应节点;
基于接收到的所述数据编码块利用配置的编解码算法修复失效的数据编码块;
所述从控制器中获取所述新生供应节点的带宽数据值的步骤包括:
根据新生供应节点的IP地址和/或MAC地址,从控制器中获取对应存储的带宽数据值,将最后一次更新的带宽数据值作为新生供应节点的带宽数据值;
所述控制器从所述分布式存储系统的配置文件中获取各存储节点之间的网络距离,并进行存储;
所述控制器通过交换机端口向所述分布式存储系统中各个存储节点发送数据包,并根据所述交换机端口对应返回的数据包发送量、数据包返回量、时间间隔以及交换机端口的实时带宽获得各存储节点的实时带宽;
所述分布式存储系统包括多个存储节点,存储节点包括一个主控节点、多个供应节点和多个冗余节点,供应节点用于存储数据编码块,主控节点用于监测各供应节点是否发生故障,当监测到某一供应节点发生故障时,根据分布式存储系统的数据分布规则确定用来恢复数据的新生供应节点;
根据下述条件选择向所述新生供应节点传输数据编码块的供应节点:
与所述新生供应节点间的网络距离最小,
并且可用带宽大于预设值,所述可用带宽为每一供应节点与新生供应节点对应的带宽数据值中的最小带宽,以及向所述新生供应节点传输数据编码块的供应节点的数量等于原数据包含的数据块的数量;
在网络距离相同的情况下,选择带宽好的节点。
2.根据权利要求1所述的分布式存储系统中数据的修复方法,其特征在于,还包括:
定时获取分布式存储系统中每一存储节点的带宽数据值,并获取每个存储节点之间的网络距离;
根据数据请求,发送对应存储节点的带宽数据值,以及该存储节点与其他存储节点之间的网络距离;
获取每一存储节点的IP地址和MAC地址,并将所述存储节点的带宽数据值、与其他每一存储节点间的网络距离和所述IP地址和MAC地址匹配;
所述控制器从所述分布式存储系统的配置文件中获取各存储节点之间的网络距离,并进行存储;
所述控制器通过交换机端口向所述分布式存储系统中各个存储节点发送数据包,并根据所述交换机端口对应返回的数据包发送量、数据包返回量、时间间隔以及交换机端口的实时带宽获得各存储节点的实时带宽;
所述分布式存储系统包括多个存储节点,存储节点包括一个主控节点、多个供应节点和多个冗余节点,供应节点用于存储数据编码块,主控节点用于监测各供应节点是否发生故障,当监测到某一供应节点发生故障时,根据分布式存储系统的数据分布规则确定用来恢复数据的新生供应节点;
根据下述条件选择向所述新生供应节点传输数据编码块的供应节点:
与所述新生供应节点间的网络距离最小,
并且可用带宽大于预设值,所述可用带宽为每一供应节点与新生供应节点对应的带宽数据值中的最小带宽,以及向所述新生供应节点传输数据编码块的供应节点的数量等于原数据包含的数据块的数量;
在网络距离相同的情况下,选择带宽好的节点。
3.根据权利要求2所述的分布式存储系统中数据的修复方法,其特征在于,
所述定时获取分布式存储系统中每一存储节点的带宽数据值的步骤包括:
通过不同的交换机端口分别向每一存储节点发送多个数据包;
从对应交换机端口接收返回的数据包发送数量、数据包接收数量、时间间隔以及交换机端口的带宽速率,进而确定每一存储节点的带宽数据值。
4.根据权利要求3所述的分布式存储系统中数据的修复方法,其特征在于,通过下式计算存储节点的带宽数据值:
其中,surp_bandwidth表示存储节点的可用带宽,curr_bandwidth表示存储节点对应的交换机端口的带宽速率,rn表示数据包接收数量,sn表示数据包发送数量,T表示时间间隔。
5.一种分布式存储系统中数据的修复方法,其特征在于,控制器通过交换机与所述分布式存储系统通信连接;所述分布式存储系统包括多个存储节点,其中,所述多个存储节点包括一个主控节点、多个供应节点和多个冗余节点,所述供应节点用于存储数据编码块;所述数据编码块为根据原数据包含的数据块编码获得的;
所述方法包括如下步骤:
控制器定时获取分布式存储系统中每一存储节点的带宽数据值,并获取每个存储节点之间的网络距离;
当分布式存储系统中的多个供应节点的任意一个发生故障时,所述主控节点将多个冗余节点中的一个作为新生供应节点;
控制器根据主控节点的数据请求,发送所述新生供应节点的带宽数据值,以及该新生供应节点与其他存储节点之间的网络距离;
所述主控节点接收所述新生供应节点的带宽数据值,并获取所述新生供应节点和其他每一供应节点间的网络距离;根据所述带宽数据值和网络距离,生成数据修复模型,所述数据修复模型,根据下述条件选择向所述新生供应节点传输数据编码块的供应节点:
与所述新生供应节点间的网络距离最小,
并且可用带宽大于预设值,所述可用带宽为每一供应节点与新生供应节点对应的带宽数据值中的最小带宽,以及
向所述新生供应节点传输数据编码块的供应节点的数量等于原数据包含的数据块的数量;
所述新生供应节点基于接收到的所述数据编码块,修复失效的数据编码块;
所述主控节点接收所述新生供应节点的带宽数据值的步骤包括:
根据新生供应节点的IP地址和/或MAC地址,从控制器中获取对应存储的带宽数据值,将最后一次更新的带宽数据值作为新生供应节点的带宽数据值;
所述控制器从所述分布式存储系统的配置文件中获取各存储节点之间的网络距离,并进行存储;
所述控制器通过交换机端口向所述分布式存储系统中各个存储节点发送数据包,并根据所述交换机端口对应返回的数据包发送量、数据包返回量、时间间隔以及交换机端口的实时带宽获得各存储节点的实时带宽;
主控节点用于监测各供应节点是否发生故障,当监测到某一供应节点发生故障时,根据分布式存储系统的数据分布规则确定用来恢复数据的新生供应节点;
根据下述条件选择向所述新生供应节点传输数据编码块的供应节点:
与所述新生供应节点间的网络距离最小,
并且可用带宽大于预设值,所述可用带宽为每一供应节点与新生供应节点对应的带宽数据值中的最小带宽,以及向所述新生供应节点传输数据编码块的供应节点的数量等于原数据包含的数据块的数量;
在网络距离相同的情况下,选择带宽好的节点。
6.一种分布式存储系统中数据的修复装置,其特征在于,包括:
新生供应节点确定模块,用于当分布式存储系统中的多个供应节点的任意一个发生故障时,主控节点将多个冗余节点中的一个作为新生供应节点;所述供应节点用于存储数据编码块;
数据请求模块,所述主控节点用于从控制器中获取所述新生供应节点的带宽数据值,并获取所述新生供应节点和其他每一供应节点间的网络距离;
数据修复模块,用于根据所述带宽数据值和网络距离,生成数据修复模型,根据所述数据修复模型传输数据编码块至所述新生供应节点;以及基于接收到的所述数据编码块利用配置的编解码算法修复失效的数据编码块;
所述从控制器中获取所述新生供应节点的带宽数据值的步骤包括:
根据新生供应节点的IP地址和/或MAC地址,从控制器中获取对应存储的带宽数据值,将最后一次更新的带宽数据值作为新生供应节点的带宽数据值;
所述控制器从所述分布式存储系统的配置文件中获取各存储节点之间的网络距离,并进行存储;
所述控制器通过交换机端口向所述分布式存储系统中各个存储节点发送数据包,并根据所述交换机端口对应返回的数据包发送量、数据包返回量、时间间隔以及交换机端口的实时带宽获得各存储节点的实时带宽;
所述分布式存储系统包括多个存储节点,存储节点包括一个主控节点、多个供应节点和多个冗余节点,供应节点用于存储数据编码块,主控节点用于监测各供应节点是否发生故障,当监测到某一供应节点发生故障时,根据分布式存储系统的数据分布规则确定用来恢复数据的新生供应节点;
根据下述条件选择向所述新生供应节点传输数据编码块的供应节点:
与所述新生供应节点间的网络距离最小,
并且可用带宽大于预设值,所述可用带宽为每一供应节点与新生供应节点对应的带宽数据值中的最小带宽,以及向所述新生供应节点传输数据编码块的供应节点的数量等于原数据包含的数据块的数量;
在网络距离相同的情况下,选择带宽好的节点。
7.根据权利要求6所述的分布式存储系统中数据的修复装置,其特征在于,还包括:
数据获取模块,用于定时获取分布式存储系统中每一存储节点的带宽数据值,并获取每个存储节点之间的网络距离;
数据发送模块,用于根据数据请求,发送对应存储节点的带宽数据值,以及该存储节点与其他存储节点之间的网络距离。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011468257.1A CN112445656B (zh) | 2020-12-14 | 2020-12-14 | 分布式存储系统中数据的修复方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011468257.1A CN112445656B (zh) | 2020-12-14 | 2020-12-14 | 分布式存储系统中数据的修复方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112445656A CN112445656A (zh) | 2021-03-05 |
CN112445656B true CN112445656B (zh) | 2024-02-13 |
Family
ID=74739939
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011468257.1A Active CN112445656B (zh) | 2020-12-14 | 2020-12-14 | 分布式存储系统中数据的修复方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112445656B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113721848B (zh) * | 2021-08-19 | 2024-02-09 | 华中科技大学 | 一种基于纠删码的多节点调度修复方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103428031A (zh) * | 2013-08-05 | 2013-12-04 | 浙江大学 | 一种基于软件定义网络的域间链路快速故障恢复方法 |
CN103607304A (zh) * | 2013-11-21 | 2014-02-26 | 中国人民解放军国防科学技术大学 | 一种基于纠删码的失效数据线形修复方法 |
CN109067852A (zh) * | 2018-07-15 | 2018-12-21 | 中国人民解放军国防科技大学 | 一种基于纠删码的跨中心协同修复方法 |
CN109343998A (zh) * | 2018-10-09 | 2019-02-15 | 中国人民解放军国防科技大学 | 一种基于纠删码的全分布修复方法 |
CN110178122A (zh) * | 2018-07-10 | 2019-08-27 | 深圳花儿数据技术有限公司 | 分布式存储系统的数据同步修复方法及存储介质 |
WO2020010504A1 (zh) * | 2018-07-10 | 2020-01-16 | 深圳花儿数据技术有限公司 | 分布式存储系统的数据修复方法及存储介质 |
CN110895451A (zh) * | 2019-11-14 | 2020-03-20 | 北京京航计算通讯研究所 | 基于分布式系统的数据访问性能优化方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2660723A1 (en) * | 2012-05-03 | 2013-11-06 | Thomson Licensing | Method of data storing and maintenance in a distributed data storage system and corresponding device |
US20150142863A1 (en) * | 2012-06-20 | 2015-05-21 | Singapore University Of Technology And Design | System and methods for distributed data storage |
-
2020
- 2020-12-14 CN CN202011468257.1A patent/CN112445656B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103428031A (zh) * | 2013-08-05 | 2013-12-04 | 浙江大学 | 一种基于软件定义网络的域间链路快速故障恢复方法 |
CN103607304A (zh) * | 2013-11-21 | 2014-02-26 | 中国人民解放军国防科学技术大学 | 一种基于纠删码的失效数据线形修复方法 |
CN110178122A (zh) * | 2018-07-10 | 2019-08-27 | 深圳花儿数据技术有限公司 | 分布式存储系统的数据同步修复方法及存储介质 |
WO2020010504A1 (zh) * | 2018-07-10 | 2020-01-16 | 深圳花儿数据技术有限公司 | 分布式存储系统的数据修复方法及存储介质 |
CN109067852A (zh) * | 2018-07-15 | 2018-12-21 | 中国人民解放军国防科技大学 | 一种基于纠删码的跨中心协同修复方法 |
CN109343998A (zh) * | 2018-10-09 | 2019-02-15 | 中国人民解放军国防科技大学 | 一种基于纠删码的全分布修复方法 |
CN110895451A (zh) * | 2019-11-14 | 2020-03-20 | 北京京航计算通讯研究所 | 基于分布式系统的数据访问性能优化方法 |
Non-Patent Citations (4)
Title |
---|
Reducing network cost of data repair in erasure-coded cross-datacenter storage;Han Bao等;《Future Generation Computer Systems》;494-506 * |
分布式存储中的纠删码容错技术研究;王意洁等;《计算机学报》;第40卷(第01期);236-255 * |
朱盼盼等.分布式存储系统中纠删码数据修复算法优化与实现.《计算机应用研究》.2020,第1-3节. * |
王勇等.基于软件定义网络和多属性决策的Ceph存储系统节点选择方法.《计算机学报》.2018,第4节. * |
Also Published As
Publication number | Publication date |
---|---|
CN112445656A (zh) | 2021-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110601888B (zh) | 一种时间敏感网络中确定性故障检测与定位方法及系统 | |
Li et al. | Tree-structured data regeneration in distributed storage systems with regenerating codes | |
CN103631666B (zh) | 数据冗余容错的适配管理设备、服务设备、系统及方法 | |
CN112835738B (zh) | 一种条带数据存储结构的构建方法 | |
CN112445656B (zh) | 分布式存储系统中数据的修复方法及装置 | |
CN112256471A (zh) | 基于网络数据转发与控制层面分离的纠删码修复方法 | |
CN105450741A (zh) | 分布式存储系统中供应服务器选择和修复数据传输方法 | |
CN111092931B (zh) | 电力系统在线超实时仿真的流式数据快速分发方法及系统 | |
CN114594911B (zh) | 基于链下纠删码分布式存储的区块链数据存储系统及方法 | |
US20240187765A1 (en) | Passive optical network for utility infrastructure resiliency | |
CN112218321B (zh) | 主备链路切换方法、装置、通信设备和存储介质 | |
CN112260799A (zh) | 基于网络数据转发与控制层面分离的纠删码修复系统 | |
CN108156040A (zh) | 一种分布式云存储系统中的中央控制节点 | |
CN111522656A (zh) | 一种边缘计算数据调度与分布方法 | |
CN102984009B (zh) | 一种基于P2P的VoIP系统容灾备份方法 | |
CN109165112A (zh) | 一种元数据集群的故障恢复方法、系统及相关组件 | |
CN101753275A (zh) | 重传视频报文的方法、装置及系统 | |
CN114090342A (zh) | 存储容灾的链路管理方法及消息执行节点、存储控制集群 | |
CN105959338B (zh) | 一种三维立体模型式的云存储多节点数据恢复方法 | |
CN102255921A (zh) | 一种媒体流存储方法和数据管理服务器 | |
CN115550287A (zh) | 一种远程复制关系的建立方法及相关装置 | |
CN111273998A (zh) | 一种基于喷泉码与网络编码的虚拟机动态迁移方法及系统 | |
CN108632066B (zh) | 一种构建视频多播虚拟网的方法和装置 | |
CN112947151B (zh) | 基于车辆双can总线的高效滤波方法及装置 | |
Li et al. | Building parallel regeneration trees in distributed storage systems with asymmetric links |
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 |