基于分布式存储系统的多节点修复方法及其系统的制作方法

文档序号:9914531阅读:802来源:国知局
基于分布式存储系统的多节点修复方法及其系统的制作方法
【技术领域】
[0001] 本发明属于分布式存储系统,特别是一种基于分布式存储系统的多节点修复方法 及其系统。
【背景技术】
[0002] 近年来,系统产生的数据规模显著增长,在社会生活方面,诸如社交网络、流媒体 服务以及电子商务等所产生的数据量都在TB甚至PB级别;在科学研究领域方面,诸如海洋 和大气研究、天气预报、能源开发等方面每天需要处理的数据也是海量级,例如一颗卫星一 天拍摄图像所产生的数据量就在TB级别。因此,分布式存储系统逐渐发展起来,将数据处理 与数据存储分离以适应大数据的存储。
[0003] 然而,在针对分布式存储系统损坏节点的数据修复研究中,大多数的再生码和其 他编码方法都是基于参与修复的数据节点具有相同的下载费用,而修复数据过程中从每个 数据节点下载的信息量也是一样的。然而实际应用中,经常存在各个数据节点具有不一样 的下载费用的情况。因此,不同的数据节点而采用相同的下载费用,往往导致修复损坏节点 的费用较高。

【发明内容】

[0004] 针对上述现有技术中存在的问题,本发明提供一种基于分布式存储系统的多节点 修复方法及其系统,能够降低多节点修复的费用。
[0005] 本发明的基于分布式存储系统的多节点修复方法,技术方案如下,包括:
[0006] 根据最大流最小割确定新节点连接的节点集合,所述节点集合包括第一类型节点 以及第二类型节点;
[0007] 获取所述节点集合中第一类型节点的数量以及第二类型节点的数量;
[0008] 根据第一类型节点的数量、第二类型节点的数量、第一类型节点的单位下载费用 以及第二类型节点的单位下载费用,计算修复该新节点总费用最小时的第一类型节点的第 一下载量和第二类型节点的第二下载量;
[0009] 根据所述节点集合、第一下载量和第二下载量修复该新节点。
[0010] 本发明的基于分布式存储系统的多节点修复系统,包括:
[0011]节点确定模块,用于根据最大流最小割确定与待修复的新节点连接的节点集合, 所述节点集合包括第一类型节点以及第二类型节点;
[0012] 节点获取模块,用于获取所述节点集合中第一类型节点的数量以及第二类型节点 的数量;
[0013] 计算模块,用于根据第一类型节点的数量、第二类型节点的数量、第一类型节点的 单位下载费用以及第二类型节点的单位下载费用,计算修复该新节点总费用最小时从第一 类型节点下载的第一下载量和从第二类型节点下载的第二下载量;
[0014] 节点修复模块,用于根据所述节点集合、第一下载量和第二下载量修复该新节点。
[0015] 本发明的基于分布式存储系统的多节点修复方法及其系统,在修复节点过程中, 从不同类型的节点下载数据需要不同的下载费用,根据不同待修复新节点的下载费用调整 从每个连接节点下载的数据量,使得在使用不对等的下载信息量的同时,借助多节点协作 机制带来的优势,从而降低多节点修复的费用。
【附图说明】
[0016] 图1为一个实施例的基于分布式存储系统的多节点修复方法的流程示意图;
[0017] 图2为一个较佳实现方式的非对称协作码信息流图;
[0018] 图3为一个较佳实现方式的非对称单节点修复模式与非对称多节点修复模式的最 小修复带宽对比图;
[0019] 图4为一个较佳实现方式的非对称单节点修复模式与非对称多节点修复模式的总 下载费用对比图;
[0020] 图5为一个实施例的基于分布式存储系统的多节点修复系统的流程示意图。
【具体实施方式】
[0021] 为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进 一步地详细描述。
[0022] 请参阅图1中一个实施例的基于分布式存储系统的多节点修复方法的流程示意 图,包括步骤S101至步骤S104:
[0023] S101,根据最大流最小割确定新节点连接的节点集合,所述节点集合包括第一类 型节点以及第二类型节点。
[0024] 步骤S101通过将节点修复问题抽象为信息流图模型的方式,利用图论中最大流最 小割定理分析得出模型的最小割公式,通过最大流最小割公式确定修复新节点需要连接的 节点集合,保证了节点的极大距离可分码属性,从而在节点修复过程中优化了修复模型。
[0025] 作为一个优选的实施方式,所述节点集合中包括原始节点以及其他已修复的新节 点。以往的研究都是基于每次修复一个失效的数据节点原则,继而修复下一个数据节点,BP 单节点修复模式。但是多个数据节点同时失效在存储系统中经常发生,例如churn系统,系 统常会有多个数据节点同时离开或者加入系统中,此外,很多P2P系统经常在大面积断电的 情况下需要面对很多突然的失联,或被恶意控制的大量数据节点同时离开系统,虽然大多 数现有的修复机制可以通过一个接一个的修复方式来恢复多个数据节点,但其修复效率 低,效果并不理想。假定存有原始文件的η个节点中的r个数据节点同时失效,按照单节点模 式,新数据节点需要下载的数据只能从现有的(n-r)个数据节点获得,而重建的r个新数据 节点之间的带宽不能被有效的利用。然而,通过本优选实施方式,能够有效利用重建完成的 新数据节点之间的带宽,从而提高待修复节点的修复效率。
[0026] S102,获取所述节点集合中第一类型节点的数量以及第二类型节点的数量。
[0027] 在修复节点过程中从不同类型节点下载数据需要不同的下载费用,因此分别获取 所述节点集合中第一类型节点的数量以及第二类型节点的数量,可为后续计算修复该新节 点总费用最小时的第一类型节点的第一下载量和第二类型节点的第二下载量提供数据基 础。
[0028] S103,根据第一类型节点的数量、第二类型节点的数量、第一类型节点的单位下载 费用以及第二类型节点的单位下载费用,计算修复该新节点总费用最小时的第一类型节点 的第一下载量和第二类型节点的第二下载量。
[0029] 本步骤根据第一类型节点的数量、第二类型节点的数量、第一类型节点的单位下 载费用以及第二类型节点的单位下载费用,从不同类型的节点下载数据对应不同的下载费 用,根据不同待修复新节点的下载费用调整从每个连接节点下载的数据量,使得在使用不 对等的下载信息量的同时,计算得到修复该新节点总费用最小时的第一类型节点的第一下 载量和第二类型节点的第二下载量。
[0030] 具体地,步骤S103可通过以下方式实现:根据第一类型节点的数量以及第一类型 节点的单位下载费用,计算修复该新节点从第一类型节点下载数据所需的第一下载费用; 根据第二类型节点的数量以及第二类型节点的单位下载费用,计算修复该新节点从第二类 型节点下载数据所需的第二下载费用;根据所述第一下载费用以及第二下载费用得到修复 该新节点的总费用,并计算修复该新节点总费用最小时从第一类型节点下载的第一下载量 和从第二类型节点下载的第二下载量。
[0031] S104,根据所述节点集合、第一下载量和第二下载量修复该新节点。
[0032]根据通过步骤S103得到的第一下载量、第二下载量,以及节点集合中不同类型的 节点,从节点集合中下载数据,修复该新节点,从而降低了该节点修复的费用。
[0033]具体地,步骤S104可通过以下方式实现:根据所述第一下载量从节点集合中的第 一类型节点得到第一下载数据,以及根据所述第二下载量从节点集合中的第二类型节点得 到第二下载数据;根据所述第一下载数据以及第二下载数据修复该新节点。
[0034] 本实施例的基于分布式存储系统的多节点修复方法,在修复节点过程中,从不同 类型的节点下载数据需要不同的下载费用,根据不同待修复新节点的下载费用调整从每个 连接节点下载的数据量,使得在使用不对等的下载信息量的同时,借助多节点协作机制带 来的优势,从而降低多节点修复的费用。
[0035] 以下为本发明的基于分布式存储系统的多节点修复方法的一个较佳实现方式,包 括:
[0036] -、节点修复的判定条件
[0037] 将大小为B的原始文件进行编码,使整个存储系统满足(n,k)性质,即从η个数据分 片中的任意k个分片即可修复出原始文件。将节点修复问题抽象为信息流图模型,如图2所 示,通过图论中最大流最小割定理分析得出模型的最小割公式,最小割满足如下不等式:
[0040] g-1 = L,PQ = qo = 0,Pi+qi = mi,i为待修复节点的层数,L为节点修复过程中的总层 数,α为每个节点的最小存储带宽,cU为与待修复节点连
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1