[发明专利]一种面向纠删码的数据放置方法有效
申请号: | 201410269720.8 | 申请日: | 2014-06-17 |
公开(公告)号: | CN104035732B | 公开(公告)日: | 2017-01-18 |
发明(设计)人: | 王意洁;许方亮;裴晓强;符永铨;孙伟东;程力;李小勇;马行空;王媛;赵越;林轩;熊泽宇 | 申请(专利权)人: | 中国人民解放军国防科学技术大学 |
主分类号: | G06F3/06 | 分类号: | G06F3/06;G06F11/07 |
代理公司: | 国防科技大学专利服务中心43202 | 代理人: | 郭敏 |
地址: | 410073 湖*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种面向纠删码的数据放置方法,目的是提高大规模分布存储系统的容错能力。技术方案是先构建由一个控制节点和M个机架(每个机架上安装N个存储节点)组成的分布存储系统,控制节点上安装有数据写入管理程序,存储节点上安装有数据写入程序;控制节点执行数据写入管理程序,接收用户提交的数据对象写入请求,对数据对象进行分块和编码计算,得到原始数据块和冗余数据块,且向各存储节点分发数据块写入请求;存储节点的数据写入程序接收来自控制节点的数据块写入请求,将原始数据块或冗余数据块写入本地磁盘。本发明有效兼顾了分布存储系统的数据访问效率、数据可靠性和数据修复效率,最大限度地提升了大规模分布存储系统的容错能力。 | ||
搜索关键词: | 一种 面向 纠删码 数据 放置 方法 | ||
【主权项】:
一种面向纠删码的数据放置方法,其特征在于包括以下步骤:第一步,构建一个分布存储系统,它由多个节点构成,每个节点都是一台可独立运行的计算机,各节点通过网络设备互连;分布存储系统中的节点分为两类:控制节点和存储节点,控制节点和存储节点上均安装有操作系统、TCP/IP协议软件,配置了网络环境;分布存储系统包括一个控制节点,负责与用户交互,控制节点上安装有数据写入管理程序;数据写入管理程序接收用户提交的数据对象写入请求,负责存储编码系数,对数据对象进行分块和编码计算,向各存储节点分发数据块写入请求;所述编码系数是指纠删码编码计算公式Gj1×D1+…+Gji×Di+…+Gjk×Dk=Cj中的系数Gji,j=1,2,…,m,i=1,2,…,k;分布存储系统包括M个机架,每个机架上安装N个存储节点,存储节点负责存储数据对象的原始数据块和冗余数据块,执行数据块写入任务;在分布存储系统中,每个原始数据块和冗余数据块均拥有唯一的数据块编号,M为正整数,N为正整数;存储节点上安装有数据写入程序,数据写入程序负责接收来自控制节点的数据块写入请求,完成数据块写入任务;第二步,控制节点执行数据写入管理程序,接收用户提交的数据对象DO,对数据对象DO进行分块和编码计算,得到原始数据块和冗余数据块,具体步骤如下:2.1控制节点的数据写入管理程序接收用户提交的数据对象DO写入请求;2.2控制节点的数据写入管理程序将数据对象DO分割为k个原始数据块D1~Dk,记Di,1≤i≤k;2.3控制节点的数据写入管理程序利用编码系数对k个原始数据块D1~Dk进行编码计算,得到m个冗余数据块C1~Cm,记Cj,1≤j≤m;第三步,控制节点执行数据写入管理程序,将编码计算得到的k个原始数据块即D1~Dk和m个冗余数据块即C1~Cm分别写入不同的存储节点,具体步骤如下:3.1初始化信息,具体包括:3.1.1分布存储系统的机架记为Rz,z为机架序号,1≤z≤M,分布存储系统的M个机架构成机架集合RSet;3.1.2分布存储系统中每个机架Rz的N个存储节点构成存储节点集合SNSetz;3.1.3令原始数据块Dx的序号x=1;3.1.4令写入同一机架的原始数据块数目sum=m;3.1.5令冗余数据块Cy的序号y=1;3.2控制节点的数据写入管理程序从RSet中任意选择一个机架Rz,将sum个原始数据块写入从Rz的存储节点集合SNSetz中任意选择的sum个存储节点,方法是:3.2.1初始化信息,令写入机架Rz的原始数据块数目dn=1;3.2.2控制节点的数据写入管理程序从SNSetz中任意选择一个存储节点SN,控制节点的数据写入管理程序向存储节点SN发送Dx的写入请求,将存储节点SN从SNSetz中删除,即,SNSetz=SNSetz‑{SN};3.2.3存储节点SN的数据写入程序接收来自控制节点的Dx写入请求,将Dx写入本地磁盘;3.2.4更新Dx的序号,x=x+1;3.2.5更新写入机架Rz的原始数据块数目dn=dn+1;3.2.6如果dn>sum,则说明sum个原始数据块已经分别写入机架Rz中的不同存储节点,转第3.2.7步;否则,转第3.2.2步;3.2.7将机架Rz从RSet中删除,即,RSet=RSet‑{Rz}3.3如果(k‑x+1)≥m,则转第3.2步,继续将原始数据块写入到不同机架的存储节点;否则,转第3.4步;3.4如果0<(k‑x+1)<m,则令sum=k‑x+1,转到第3.2步,继续将原始数据块写入到不同机架的存储节点;否则,说明k个原始数据块已经分别写入不同机架的存储节点,转第3.5步;3.5控制节点的数据写入管理程序从RSet中任意选择一个机架Rz,将m个冗余数据块C1~Cm写入从SNSetz中任意选择的m个存储节点;第四步,控制节点执行数据写入管理程序,向用户发送数据写入成功信息。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科学技术大学,未经中国人民解放军国防科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201410269720.8/,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置