【技术实现步骤摘要】
一种纠删码存储单节点失效的修复优化方法
[0001]本专利技术涉及数据存储
,尤其是涉及针对单节点失效修复和修复优化的一种纠删码存储单节点失效的修复优化方法。
技术介绍
[0002]为容纳爆炸性增长的数据量,如今的存储系统通常设于成百上千个存储节点(简称为节点)上,这导致原本属于意外发生的故障普遍发生。“备份”和“纠删码”是现有存储系统常用的冗余容错技术,都依赖于预先存储额外的冗余数据来修复丢失的数据。备份是直接复制多份原始数据并分别存储在不同节点上,数据丢失时只需从幸存的任意副本中获得原始数据。纠删码通常由两个参数(k,m)进行设置,将原始文件划分为固定大小的k个数据块,对数据块进行线性编码生成额外的m个冗余块(称为校验块),这k+m个块组成一个“条带”,条带中任意一个丢失的数据块可通过取回同个条带的幸存的k个块进行解码恢复。纠删码通过两个轻量级的计算操作,即“编码”和“解码”来实现原始数据和冗余数据间的有效转换。与简单地存储相同副本的备份方法相比,纠删码在保证相同容错能力的同时消耗更少的存储开销,因此在商业存储系统
【技术保护点】
【技术特征摘要】
1.一种纠删码存储单节点失效的修复优化方法,其特征在于包括以下步骤:1)编码数据和分散存储;2)修复流图抽象,以图的形式描述单条带的数据传输以及参与修复的块之间的依赖关系;3)单条带修复流确定阶段,单条带修复流的映射结合存储系统中所有节点的上传、下载流量负载考虑,从整体角度确定单条带修复流来平衡节点的上传下载负载;4)多条带传输调度阶段,平衡系统中节点整体的上传、下载流量负载后,调度数据的传输顺序以进一步提高修复并行性。2.如权利要求1所述一种纠删码存储单节点失效的修复优化方法,其特征在于在步骤1)中,所述编码数据和分散存储的具体步骤为:(1.1)根据系统的可靠性需求和存储开销限制,选择满足系统容错需求和存储效率的纠删码;(1.2)根据纠删码的参数将原始数据划分为固定大小的数据块;(1.3)根据纠删码的参数和编码规则对数据块进行编码生成校验块;(1.4)将同个条带的数据块和校验块分散存储在不同的节点中。3.如权利要求1所述一种纠删码存储单节点失效的修复优化方法,其特征在于在步骤2)中,所述以图的形式描述单条带的数据传输以及参与修复的块之间的依赖关系,具体步骤如下:(2.1)当单个节点失效时,根据纠删码的编码参数和条带采用的修复优化方法,将每个条带抽象为有向无环图来表示单条带的修复流;(2.2)单条带的修复流图包含k+1个点,包括k个取数据的点和1个解码并存储修复数据的点,顶点间的有向边表明数据的传输方向,有向边的结构由条带采用的修复优化方法确定;(2.3)根据节点内所有数据的分布信息即数据所属的条带的节点分布情况将条带的修复流图中的k+1个点映射到实际的存储系统的节点,即从该条带的k+m
‑
1个幸存节点中选取k个取数据的节点并从未存储该条带任何数据的节点中选取1个存储修复数据的目标节点。4.如权利要求1所述一种纠删码存储单节点失效的修复优化方法,其特征在于在步骤3)中,所述从整体角度确定单条带修复流来平衡节点的上传下载负载,具体步骤如下:(3.1)从单条带的修复流图得到图中各个顶点的上传、下载流量消耗其中,1≤i≤k+1,根据消耗流量的不同将所有条带的所有顶点分成三类:(1)叶子顶点(2)根顶点(3)中间顶点由于全双工通信的特点,上传和下载可以独立考虑,而叶子顶点仅耗费上传带宽、根节点仅耗费下载带宽,不同类型的顶点映射到存储节点中对存储节点的负载影响不同,以不同优先级考虑不同类的...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。