[发明专利]一种基于纠删码集群存储系统的交叉重构方法有效
申请号: | 201210591296.X | 申请日: | 2012-12-29 |
公开(公告)号: | CN103106124A | 公开(公告)日: | 2013-05-15 |
发明(设计)人: | 黄建忠;曹强;谢长生;黄思倜;张峰豪 | 申请(专利权)人: | 华中科技大学 |
主分类号: | G06F11/14 | 分类号: | G06F11/14;G06F3/06 |
代理公司: | 华中科技大学专利中心 42201 | 代理人: | 朱仁玲 |
地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 纠删码 集群 存储系统 交叉 方法 | ||
技术领域
本发明属于数据存储领域,更具体地,涉及一种基于纠删码集群存储系统的交叉重构方法。
背景技术
随着计算机技术和网络技术的发展,集群存储系统需要具有高存储利用率和高容错率的容错技术以应对海量数据对集群可靠性提出的挑战。纠删码容错技术在上述两方面具有优势而越来越受到重视。
纠删码容错技术通过纠删码算法将数据进行编码得到少量冗余,再将数据与冗余一起存储。如图1所示,每个节点的磁盘空间被划分成一个个条块。整个集群的磁盘空间由一个个相互独立的条带组成。每个条带将k个数据块通过一定编码算法计算出r个冗余块,将这k+r个条块分布到集群的不同节点。集群可以使用某一条带中的任意k个条块,解码得到该条带内的所有数据块和冗余块。因此该集群存储系统最多可以容忍r个节点失效。
但是纠删码容错技术存在一个缺点,即任意一个节点失效都需要通过网络传输k个存活节点的数据来恢复这个失效节点上的数据,这个过程的网络带宽开销大。特别是随着数据量的爆炸性增长,不断增大的存储规模使得出现失效节点已成为集群存储系统的常态。为了恢复失效节点上的数据并替换失效的节点,纠删码集群存储系统需要让新加入的节点向k个存活的节点获取数据以进行重构,引起网络带宽的大量占用。特别是当集群中有f(f≥2)个节点同时失效时,现有的重构方法或者需要让这f个替换节点各自向k个存活节点获取数据,需要占用f×k倍的网络带宽开销,从而造成重构时间的延长,降低集群的可靠性。所以,多节点同时失效而引起的大量网络带宽开销是纠删码集群存储系统的目前重构方法面临的巨大挑战。
发明内容
针对现有技术的缺陷,本发明的目的在于提供一种基于纠删码集群存储系统的交叉重构方法,旨在解决现有重构方法面对纠删码集群存储系统中出现多个节点同时失效的情况下造成大量网络带宽开销的问题,本发明的方法将需要恢复的数据划分给各个替换节点,每个替换节点只负责一部分条带的恢复,各自重构之后得到的少量数据在两两替换节点之间相互发送和接收,能够降低网络带宽开销和加快重构速度,同时具有高可靠性和高可扩展性。
为实现上述目的,本发明提供了一种基于纠删码集群存储系统的交叉重构方法,包括以下步骤:
(1)纠删码集群存储系统的第i个替换节点RNi将自身条带号的基准值rowstep初始化为0,其中i=1,…,f,f为系统中失效节点的数量;
(2)替换节点RNi向集群中任意k个存活节点发出请求,获取这k个存活节点的第rowstep+i个条块,分别记为B1,…,Bk,其中k为系统中数据节点的数量;
(3)替换节点RNi使用条块B1,…,Bk根据下式计算出属于集群的第rowstep+i个条带的f个失效块,分别记为RBrowstep+i,1,…,RBrowstep+i,f:
RBrow,j=DECj(B1,…,Bk)
其中DEC()代表水平编码算法的解码操作,row表示正在处理的是集群中第row个条带的各个条块,j表示通过这次解码操作计算出来的是第j个替换节点上的失效块,且有j=1,…,f;
(4)替换节点RNi将失效块RBrowstep+i,i写入本地磁盘,成为本地的第rowstep+i个条块;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210591296.X/2.html,转载请声明来源钻瓜专利网。