分布式存储系统中供应服务器选择和修复数据传输方法

文档序号:9691081阅读:479来源:国知局
分布式存储系统中供应服务器选择和修复数据传输方法
【技术领域】
[0001] 本发明涉及基于网络编码的分布式存储系统的数据修复,具体涉及一种在对基于 网络编码的分布式存储系统进行数据修复时进行供应服务器选择和修复数据传输的方法。
【背景技术】
[0002] 随着大数据时代的到来,爆炸式增长的信息加速了数据存储的发展。思科预测在 2018年,数据中心流量预估为8.6 ZBUettabytes)。由于分布式存储系统具有以下优点:1) 增强存储的可靠性;2)提高存储的可靠性;3)动态可扩展,易于维修等等,因此,很多提供数 据存储的服务商都是通过分布式存储系统存储数据。
[0003] 众所周知,数据的储存必须具有很高的可靠性。为了保证数据存储的可靠性并节 约成本,现有技术中,大规模的分布式存储系统一般在分布在不同地理位置的服务器上,通 过冗余方式存储数据,这样,用户可以随时随地的获得所需的信息。传统的存储方案主要有 复制和里德-所罗门码。2000年,网络编码被提出,网络编码是一种融合了路由和编码的信 息交换技术,它的核心思想是在网络中的各个节点上对各条信道上收到的信息进行线性或 者非线性的处理,然后转发给下游节点,中间节点扮演着编码器或信号处理器的角色。通过 网络编码,可以达到多播路由传输的最大流界,提高了信息的传输效率,因而其具有增加网 络吞吐量、均衡网络负载、提高带宽利用率等优点。网络编码应用于分布式存储系统的数据 存储,同时具有纠删码的MDS性质,用户只要获得足够的编码块就可以恢复原文件。
[0004] 尽管网络编码能提高可靠性,但在实际应用中,分布式存储系统中的数据容易受 到各式各样的破坏,例如断电,骇客入侵、磁盘损坏等。为了保证存储的可靠性,需要对丢失 的数据进行及时修复。当某一个存储服务器失效后,一个新的存储服务器(该服务器被称为 新生服务器)会替换原有失效服务器,并且从其它幸存的存储服务器(也称为存活服务器) 中选择部分服务器(称为供应服务器),并从其上下载修复数据,对丢失的数据进行再生。例 如,中国发明专利申请CN103336785A公开了一种基于网络编码的分布式存储方法及其装 置,其中,在数据修复步骤中,从可用数据节点(存活服务器)中随机选择编码数据块,下载 编码数据块构建修复矩阵并存储到新的可用数据节点(新生服务器)中。
[0005] 但是,在修复过程中,供应服务器的选择和修复数据的传输方法直接影响网络的 带宽(修复带宽)消耗和修复时延(再生时间)。上述随机选择供应服务器的方法对再生时间 具有不利影响。

【发明内容】

[0006] 本发明的发明目的是提供一种分布式存储系统中供应服务器选择和修复数据传 输方法,通过对供应服务器的优化选择和数据传输路径的优化,有效利用网络带宽,缩短修 复时延。
[0007] 为达到上述发明目的,本发明采用的技术方案是:一种分布式存储系统中供应服 务器选择和修复数据传输方法,基于混合整数线性规划实现,将供应服务器定义为供应节 点,所述方法包括以下步骤: A、 根据待修复的分布式存储系统,获取下列参数: 由存活服务器、新生服务器和网络中的互联设备构成的节点集合, 节点集合中各节点间的链路集合, 需选择的供应节点的数量, 每个供应节点需传输到新生节点的数据量; B、 根据所获取的参数,将基于网络编码的分布式存储系统表示为有向图G(V,E),G为有 向连通图,V和E分别为节点集合及链路集合; 其中,以所述存活服务器为存活节点,以新生服务器为新生节点,以网络中的互联设备 为中间节点,所述节点集合由存活节点、新生节点和中间节点构成; 所述链路集合的构建方法是,如果节点集合V中两个不同节点之间存在通信链路,则在 两个节点之间连接一条链路,并给出通信链路上的数据传输方向以及每个传输方向上的带 宽,重复本步骤直至所有符合条件的链路连接完毕,这些链路构成链路集合E; C、 根据有向图,基于混合整数线性规划,建立最优供应节点选择及修复数据传输的数 学模型; D、 针对建立的数学模型,求解获得最优的供应节点集合,每个供应节点到新生节点的 数据传输路径以及每条路径上传输的数据传输速率; E:获取最优供应节点选择及修复数据传输的方案。
[0008] 上述技术方案中,所述步骤C具体包括以下步骤: C1、获取已知参数:存活节点的集合、新生节点、中间节点、每个节点的上游邻居节点集 合、每个节点的下游邻居节点集合、有向边的集合、有向边上的带宽、需选择的供应节点的 数量以及每个供应节点需传输到新生节点的数据量; C2、对变量进行定义,所述变量为:每个供应节点传输至新生节点的数据流速率及该速 率的最小值、每条数据流在每条边上的数据传输速率、每个供应节点至新生节点的传输速 率以及当前存活节点是否被选为供应节点,〇表示当前存活节点没被选为供应节点,1表示 当前存活节点被选为供应节点; C3、利用所述定义的参数和变量构建目标函数一一最小化数据修复的时间等价于最大 化所有供应节点传输至新生节点的数据流速率的最小值: 构建目标函数的约束条件包括:所有供应节点传输至新生节点的数据流速率的最小值 小于等于每个供应节点传输到新生节点的传输速率、进出每个中间节点的数据传输速率守 恒、供应节点发出的数据传输速率和新生节点上收到的数据传输速率守恒、不同的数据流 通过同一条链路的总速率不超过该链路的带宽、保证只有存活节点被选择为供应节点时, 有数据流从该节点传出、限制供应节点的数量以及整数变量和实数变量的取值范围; 由此建立最优供应节点选择及修复数据传输的数学模型。
[0009] 上文中,在构建约束条件时主要考虑到如下因素:数据修复时间为每个供应节点 将需要传输的数据全部传输完毕时间的最大值。对于每个供应节点,将需要传输的数据全 部传输完毕时间等于需传输的数据量除以每个供应节点至新生节点的传输速率。因为在基 于网络编码的分布式存储系统中,每个被选为供应节点传输到新生节点的数据量为相同 值,所以,最小化数据修复时间,等价于最大化每个供应节点到新生节点的传输速率的最小 值。
[0010] 上述技术方案中,整数线性规划求解方法为隐枚举法、分枝定界法或割平面法。
[0011] 进一步的技术方案,对所提出的混合整数线性规划使用AMPL语言建模并用CPLEX 线性规划求解器直接求解,获得供应服务器选择和修复数据传输方案。
[0012] 由于上述技术方案运用,本发明与现有技术相比具有下列优点: 与现有技术中的随机选择不同,本发明将分布式系统转换为有向图,将供应服务器和 数据传输方案的选择转换成最优化问题,通过混合整数线性规划实现优化选择,最优地从 存活服务器集合中选择出相应的供应服务器集合,并得到从供应服务器到新生服务器之间 的数据传输方案,减少了整个数据修复的再生时间,从而提高了系统性能。
【附图说明】
[0013] 图1是实施例中基于网络编码的分布式存储系统的修复过程中最优供应节点和数 据传输方案的流程图; 图2是基于网络编码的分布式存储系统的网络模型; 图3是根据图2的网络模型构建的有向图; 图4-图6是二种不同的修复方案不意图; 图7是实施例中仿真结果示意图。
【具体实施方式】
[0014] 下面结合附图及实施例对本发
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1