一种面向纠删码的数据放置方法.pdf

上传人:32 文档编号:4441159 上传时间:2018-10-02 格式:PDF 页数:11 大小:1.22MB
返回 下载 相关 举报
一种面向纠删码的数据放置方法.pdf_第1页
第1页 / 共11页
一种面向纠删码的数据放置方法.pdf_第2页
第2页 / 共11页
一种面向纠删码的数据放置方法.pdf_第3页
第3页 / 共11页
点击查看更多>>
资源描述

《一种面向纠删码的数据放置方法.pdf》由会员分享,可在线阅读,更多相关《一种面向纠删码的数据放置方法.pdf(11页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 104035732 A (43)申请公布日 2014.09.10 C N 1 0 4 0 3 5 7 3 2 A (21)申请号 201410269720.8 (22)申请日 2014.06.17 G06F 3/06(2006.01) G06F 11/07(2006.01) (71)申请人中国人民解放军国防科学技术大学 地址 410073 湖南省长沙市开福区德雅路 109号 (72)发明人王意洁 许方亮 裴晓强 符永铨 孙伟东 程力 李小勇 马行空 王媛 赵越 林轩 熊泽宇 (74)专利代理机构国防科技大学专利服务中心 43202 代理人郭敏 (54) 发明名称 一种。

2、面向纠删码的数据放置方法 (57) 摘要 本发明公开了一种面向纠删码的数据放置方 法,目的是提高大规模分布存储系统的容错能力。 技术方案是先构建由一个控制节点和M个机架 (每个机架上安装N个存储节点)组成的分布存 储系统,控制节点上安装有数据写入管理程序,存 储节点上安装有数据写入程序;控制节点执行数 据写入管理程序,接收用户提交的数据对象写入 请求,对数据对象进行分块和编码计算,得到原始 数据块和冗余数据块,且向各存储节点分发数据 块写入请求;存储节点的数据写入程序接收来自 控制节点的数据块写入请求,将原始数据块或冗 余数据块写入本地磁盘。本发明有效兼顾了分布 存储系统的数据访问效率、数据可。

3、靠性和数据修 复效率,最大限度地提升了大规模分布存储系统 的容错能力。 (51)Int.Cl. 权利要求书3页 说明书5页 附图2页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书3页 说明书5页 附图2页 (10)申请公布号 CN 104035732 A CN 104035732 A 1/3页 2 1.一种面向纠删码的数据放置方法,其特征在于包括以下步骤: 第一步,构建一个分布存储系统,它由多个节点构成,每个节点都是一台可独立运行的 计算机,各节点通过网络设备互连; 分布存储系统中的节点分为两类:控制节点和存储节点,控制节点和存储节点上均安 装有操作系统、TCP/IP。

4、协议软件,配置了网络环境; 分布存储系统包括一个控制节点,负责与用户交互,控制节点上安装有数据写入管理 程序;数据写入管理程序接收用户提交的数据对象写入请求,负责存储编码系数,对数据对 象进行分块和编码计算,向各存储节点分发数据块写入请求;所述编码系数是指纠删码编 码计算公式G j1 D 1 +G ji D i +G jk D k C j 中的系数G ji ,j1,2,m,i1,2,k; 分布存储系统包括M个机架,每个机架上安装N个存储节点,存储节点负责存储数据对 象的原始数据块和冗余数据块,执行数据块写入任务;在分布存储系统中,每个原始数据块 和冗余数据块均拥有唯一的数据块编号,M为正整数,。

5、N为正整数; 存储节点上安装有数据写入程序,数据写入程序负责接收来自控制节点的数据块写入 请求,完成数据块写入任务; 第二步,控制节点执行数据写入管理程序,接收用户提交的数据对象DO,对数据对象 DO进行分块和编码计算,得到原始数据块和冗余数据块,具体步骤如下: 2.1控制节点的数据写入管理程序接收用户提交的数据对象DO写入请求; 2.2控制节点的数据写入管理程序将数据对象DO分割为k个原始数据块D 1 D k ,记 D i ,1ik; 2.3控制节点的数据写入管理程序利用编码系数对k个原始数据块D 1 D k 进行编码 计算,得到m个冗余数据块C 1 C m ,记C j ,1jm; 第三步,。

6、控制节点执行数据写入管理程序,将编码计算得到的k个原始数据块即D 1 D k 和m个冗余数据块即C 1 C m 分别写入不同的存储节点,具体步骤如下: 3.1初始化信息,具体包括: 3.1.1分布存储系统的机架记为R z ,z为机架序号,1zM,分布存储系统的M个机 架构成机架集合RSet; 3.1.2分布存储系统中每个机架R z 的N个存储节点构成存储节点集合SNSet z ; 3.1.3令原始数据块D x 的序号x1; 3.1.4令写入同一机架的原始数据块数目summ; 3.1.5令冗余数据块C y 的序号y1; 3.2控制节点的数据写入管理程序从RSet中任意选择一个机架R z ,将su。

7、m个原始数据 块写入从R z 的存储节点集合SNSet z 中任意选择的sum个存储节点; 3.3如果(k-x+1)m,则转第3.2步,继续将原始数据块写入到不同机架的存储节点; 否则,转第3.4步; 3.4如果0k,则令i1,jj+1; 2.3.6如果jm,则编码计算生成冗余数据块结束;否则,转第2.3.2步。 3.如权利要求1所述的一种面向纠删码的数据放置方法,其特征在于3.2步中控制节 点的数据写入管理程序从RSet中任意选择一个机架R z ,将sum个原始数据块写入从R z 的 存储节点集合SNSet z 中任意选择的sum个存储节点的具体方法是: 3.2.1初始化信息,令写入机架R 。

8、z 的原始数据块数目dn1; 3.2.2控制节点的数据写入管理程序从SNSet z 中任意选择一个存储节点SN,控制节点 的数据写入管理程序向存储节点SN发送D x 的写入请求,将存储节点SN从SNSet z 中删除, 即,SNSet z SNSet z -SN; 3.2.3存储节点SN的数据写入程序接收来自控制节点的D x 写入请求,将D x 写入本地 磁盘; 3.2.4更新D x 的序号,xx+1; 3.2.5更新写入机架R z 的原始数据块数目dndn+1; 3.2.6如果dnsum,则说明sum个原始数据块已经分别写入机架R z 中的不同存储节点, 转第3.2.7步;否则,转第3.2.。

9、2步; 3.2.7将机架R z 从RSet中删除,即,RSetRSet-R z 。 4.如权利要求1所述的一种面向纠删码的数据放置方法,其特征在于3.5步中控制节 点的数据写入管理程序从RSet中任意选择一个机架R z ,将m个冗余数据块C 1 C m 写入从 SNSet z 中任意选择的m个存储节点的具体步骤是: 3.5.1初始化信息,令写入机架R z 的冗余数据块数目cn1; 3.5.2控制节点的数据写入管理程序从SNSet z 中任意选择一个存储节点SN,控制节点 的数据写入管理程序向存储节点SN发送C y 的写入请求,将存储节点SN从SNSet z 中删除, 即,SNSet z SNS。

10、et z -SN; 3.5.3存储节点SN的数据写入程序接收来自控制节点的C y 写入请求,将C y 写入本地 磁盘; 3.5.4更新C y 的序号,yy+1; 3.5.5更新写入机架R z 的原始数据块数目cncn+1; 权 利 要 求 书CN 104035732 A 3/3页 4 3.5.6如果cnm,则转第3.5.2步,继续将冗余数据块写入机架R z 中的存储节点;否 则,说明m个冗余数据块已经分别写入机架R z 中的不同存储节点,结束。 权 利 要 求 书CN 104035732 A 1/5页 5 一种面向纠删码的数据放置方法 技术领域 0001 本发明涉及分布存储系统的数据容错技术,。

11、尤其是面向纠删码的数据放置方法。 背景技术 0002 数据容错是海量数据分布存储的关键技术之一,数据容错对于提高系统的可用性 和可靠性至关重要。目前,数据容错技术主要包括基于复制的容错技术和基于纠删码的容 错技术。 0003 基于复制的容错技术简单直观,易于实现和部署,需要为每个数据对象创建若干 同样大小的副本,存储空间开销较大。基于纠删码的容错技术通过将数据对象分割为多个 数据块,通过利用纠删码算法对原始的数据块进行编码得到冗余的数据块,把多个数据块 的信息融合到较少的冗余信息中,有效节省存储空间。与基于复制的容错技术相比,基于纠 删码的容错技术具有冗余度低、存储空间利用率高等优点,已经逐步。

12、成为大数据时代数据 容错的主流技术。 0004 基于纠删码的容错技术的基本思想是对k个原始数据块进行编码计算得到m个冗 余数据块;只需k+m个数据块中的任意k个数据块,就可通过解码计算恢复得到原始的k个 数据块。 0005 具体而言,每个冗余数据块C j (j1,2,m)都是k个原始数据块Di(i 1,2,k)的线性组合,编码计算可表示为公式(1),其中,G ji (j1,2,m,i 1,2,k)是数据块编码系数。也就是说,对于冗余数据块C j (j1,2,m)而言,首先, 编码系数G ji (i1,2,k)与数据块Di(i1,2,k)进行逐位相乘,得到k个新数据 块T ji G ji D i。

13、 (i1,2,k);然后,k个新数据块T ji (i1,2,k)进行逐位相加,得 到冗余数据块 0006 G j1 D 1 +G ji D i +G jk D k C j (1) 0007 每个原始数据块D i (i1,2,k)都是其它任意k个可用数据块E j (j 1,2,k)(原始数据块或者冗余数据块)的线性组合,解码计算可表示为公式(2),其中, H ij (i1,2,k,j1,2,k)是数据块解码系数。也就是说,对于原始数据块D i (i 1,2,k)而言,首先,解码系数H ij (j1,2,k)与可用数据块E j (j1,2,k)进 行逐位相乘,得到k个新数据块S ij H ij E。

14、 j (j1,2,k);然后,k个新数据块S ij (j 1,2,k)进行逐位相加,得到原始数据块 0008 H i1 E 1 +H ij E j +H ik E k D i (2) 0009 尽管随着技术的进步,各种软硬件资源的可靠性得到了显著提高,但是,随着存储 资源规模的不断扩大,资源的失效概率明显上升。在大规模分布存储系统中,资源失效是一 种常态行为。在数据块失效时,基于纠删码的容错技术需要多个数据块才能解码恢复失效 说 明 书CN 104035732 A 2/5页 6 的原始数据块,需要占用较多的网络带宽资源。 0010 如何放置数据块对分布存储系统的数据访问效率、数据可靠性和数据修。

15、复效率等 系统性能都将产生重要影响。多存储节点同时失效大多是由电源故障或网络故障引起的, 失效的多个存储节点在拓扑上相距较近,如同一个机架中的存储节点或连接于同一个交换 机上的存储节点。因此,数据放置越分散,数据的可靠性就会越高,但是,数据访问效率就会 越低,数据修复效率也会越低。但是,数据可靠性和数据访问效率之间也不是完全矛盾的。 如果数据访问效率越高,那么,数据修复效率就会越高,在数据修复完成之前再次发生失效 的概率就会越小,从而提高数据可靠性。 0011 现有的数据放置方法主要是针对基于复制的容错技术中的数据副本放置,以提高 数据可靠性为首要目标,同时兼顾数据访问效率。基于纠删码的容错技。

16、术中的数据块放置 主要是采用随机放置方法将数据对象的原始数据块和冗余数据块分配到多个存储节点上。 虽然随机放置方法能够在一定程度上兼顾数据可靠性和数据访问效率,但是难以有效满足 大规模分布存储系统对数据访问效率和数据可靠性的性能需求,并且无法对提高数据修复 效率提供有效支撑。 0012 因此,如何针对纠删码的特点,设计面向纠删码的数据放置方法,有效兼顾大规模 分布存储系统的数据访问效率、数据可靠性和数据修复效率,有效提高大规模分布存储系 统的容错能力,已经成为分布存储领域的热点研究问题。 发明内容 0013 本发明要解决的技术问题是:针对纠删码的特点,提出一种面向纠删码的数据放 置方法,有效兼。

17、顾大规模分布存储系统的数据访问效率、数据可靠性和数据修复效率,有效 提高大规模分布存储系统的容错能力。 0014 本发明技术方案包括以下步骤: 0015 第一步,构建一个分布存储系统,它由多个节点构成,每个节点都是一台可独立运 行的计算机,各节点通过网络设备互连。 0016 分布存储系统中的节点分为两类:控制节点和存储节点。控制节点和存储节点上 均安装有操作系统、TCP/IP协议软件,配置了网络环境。 0017 分布存储系统包括一个控制节点,负责与用户交互,控制节点上安装有数据写入 管理程序。数据写入管理程序接收用户提交的数据对象写入请求,负责存储编码系数,对数 据对象进行分块和编码计算,向各。

18、存储节点分发数据块写入请求。 0018 分布存储系统包括M个机架(M为正整数),每个机架上安装N个存储节点(N为正 整数),存储节点负责存储数据对象的原始数据块和冗余数据块,执行数据块写入任务。在 分布存储系统中,每个数据块(指原始数据块和冗余数据块)拥有唯一的数据块编号。 0019 存储节点上安装有数据写入程序。数据写入程序负责接收来自控制节点的数据块 写入请求,完成数据块写入任务。 0020 第二步,控制节点执行数据写入管理程序,接收用户提交的数据对象DO,对数据对 象进行分块和编码计算,得到原始数据块和冗余数据块。具体步骤如下: 0021 2.1控制节点的数据写入管理程序接收用户提交的数。

19、据对象DO写入请求。 0022 2.2控制节点的数据写入管理程序将数据对象DO分割为k个原始数据块D 1 D k , 说 明 书CN 104035732 A 3/5页 7 记D i (1ik)。 0023 2.3控制节点的数据写入管理程序利用存储的编码系数对k个原始数据块D 1 D k 进行编码计算,得到m个冗余数据块C 1 C m ,记C j (1jm),具体步骤如下: 0024 2.3.1初始化信息,具体包括: 0025 2.3.1.1令冗余数据块C j 的序号j1。 0026 2.3.1.2令原始数据块D i 的序号i1。 0027 2.3.2控制节点的数据写入管理程序进行编码计算,将编。

20、码系数G ji 与原始数据块 D i 进行逐位相乘,即,T ji G ji D i ,得到新数据块T ji 。 0028 2.3.3如果i1,那么,令C j T ji ,转第2.3.4步;否则,将T ji 与C j 进行逐位相 加,即,C j C j +T ji ,转第2.3.4步。 0029 2.3.4更新原始数据块D i 的序号,ii+1。 0030 2.3.5如果ik,则令i1,jj+1。 0031 2.3.6如果jm,则说明编码计算生成冗余数据块结束,转第三步;否则,转第 2.3.2步,继续编码计算生成冗余数据块。 0032 第三步,控制节点执行数据写入管理程序,将编码计算得到的k个原。

21、始数据块 (即,D 1 D k )和m个冗余数据块(即,C 1 C m )分别写入不同的存储节点。具体步骤如下: 0033 3.1初始化信息,具体包括: 0034 3.1.1分布存储系统的机架记为R z ,z为机架序号(1zM),分布存储系统的 M个机架构成机架集合RSet。 0035 3.1.2分布存储系统中每个机架R z 的N个存储节点构成存储节点集合SNSet z 。 0036 3.1.3令原始数据块D x 的序号x1。 0037 3.1.4令写入同一机架的原始数据块数目summ。 0038 3.1.5令冗余数据块C y 的序号y1。 0039 3.2控制节点的数据写入管理程序从RSet。

22、中任意选择一个机架R z (1zM),将 sum个原始数据块写入从R z 的存储节点集合SNSet z 中任意选择的sum个存储节点,具体步 骤如下: 0040 3.2.1初始化信息,令写入机架R z 的原始数据块数目dn1。 0041 3.2.2控制节点的数据写入管理程序从SNSet z 中任意选择一个存储节点SN,控制 节点的数据写入管理程序向存储节点SN发送D x 的写入请求,将存储节点SN从SNSet z 中删 除,即,SNSet z SNSet z -SN。 0042 3.2.3存储节点SN的数据写入程序接收来自控制节点的D x 写入请求,将D x 写入 本地磁盘。 0043 3.2。

23、.4更新D x 的序号,xx+1。 0044 3.2.5更新写入机架R z 的原始数据块数目dndn+1。 0045 3.2.6如果dnsum,则说明sum个原始数据块已经分别写入机架R z 中的不同存储 节点,转第3.2.7步;否则,转第3.2.2步,继续将原始数据块写入机架R z 中的存储节点。 0046 3.2.7将机架R z 从RSet中删除,即,RSetRSet-R z 。 0047 3.3如果(k-x+1)m,则转第3.2步,继续将原始数据块写入到不同机架的存储 节点;否则,转第3.4步。 说 明 书CN 104035732 A 4/5页 8 0048 3.4如果0(k-x+1)m。

24、,则令sumk-x+1,转到第3.2步,继续将原始数据块写入 到不同机架的存储节点;否则,说明k个原始数据块已经分别写入不同机架的存储节点,转 第3.5步。 0049 3.5控制节点的数据写入管理程序从RSet中任意选择一个机架R z ,将m个冗余数 据块(即,C 1 C m )写入从SNSet z 中任意选择的m个存储节点,具体步骤如下: 0050 3.5.1初始化信息,令写入机架R z 的冗余数据块数目cn1。 0051 3.5.2控制节点的数据写入管理程序从SNSet z 中任意选择一个存储节点SN,控制 节点的数据写入管理程序向存储节点SN发送C y 的写入请求,将存储节点SN从SNS。

25、et z 中删 除,即,SNSet z SNSet z -SN。 0052 3.5.3存储节点SN的数据写入程序接收来自控制节点的C y 写入请求,将C y 写入 本地磁盘。 0053 3.5.4更新C y 的序号,yy+1。 0054 3.5.5更新写入机架R z 的原始数据块数目cncn+1。 0055 3.5.6如果cnm,则转第3.5.2步,继续将冗余数据块写入机架R z 中的存储节 点;否则,说明m个冗余数据块已经分别写入机架R z 中的不同存储节点,执行第四步。 0056 第四步,控制节点执行数据写入管理程序,向用户发送数据写入成功信息。 0057 与现有技术相比,本发明具有以下技。

26、术优点: 0058 1.本发明3.2.2步控制节点将原始数据块写入不同机架的不同存储节点,有效兼 顾了分布存储系统的数据访问效率和数据可靠性。 0059 2.本发明3.2.6步控制节点至多向每个机架分配m个原始数据块(m是允许失效 的数据块数目的最大值),有效避免机架失效对数据可靠性的影响,最大限度提升大规模分 布存储系统的容错能力。 0060 3.本发明3.5步控制节点将冗余数据块写入同一机架的不同存储节点,有效兼顾 了分布存储系统的数据可靠性和数据修复效率。 附图说明 0061 图1是本发明第一步构建的分布存储系统的物理结构图。 0062 图2是本发明分布存储系统的软件部署图。 0063 。

27、图3是本发明总流程图。 具体实施方式 0064 图1是本发明第一步构建的分布存储系统的物理结构图。分布存储系统的节点由 控制节点和存储节点组成。控制节点和存储节点均是包含处理器、存储器、磁盘和网络接口 的计算机。控制节点和存储节点之间通过互连网络相连。 0065 图2是本发明分布存储系统的软件部署图。控制节点上安装有操作系统、TCP/IP 网络软件、数据写入管理程序。其中操作系统、TCP/IP网络软件是通用软件,从公开发行的 软件包中获得;数据写入管理程序是本发明的专用软件。存储节点上安装有操作系统、TCP/ IP网络软件、数据写入程序。其中操作系统、TCP/IP网络软件是通用软件,从公开发行。

28、的软 件包中获得;数据写入程序是本发明的专用软件。 说 明 书CN 104035732 A 5/5页 9 0066 图3是本发明总流程图。具体流程如下: 0067 第一步,构建一个分布存储系统,它由多个节点构成,每个节点都是一台可独立运 行的计算机,各节点通过网络设备互连。 0068 第二步,控制节点执行数据写入管理程序,接收用户提交的数据对象DO,对数据对 象进行分块和编码计算,得到原始数据块和冗余数据块。 0069 第三步,控制节点执行数据写入管理程序,将编码计算得到的k个原始数据块 (即,D 1 D k )和m个冗余数据块(即,C 1 C m )分别写入不同的存储节点。 0070 第四步,控制节点执行数据写入管理程序,向用户发送数据写入成功信息。 说 明 书CN 104035732 A 1/2页 10 图1 说 明 书 附 图CN 104035732 A 10 2/2页 11 图2 图3 说 明 书 附 图CN 104035732 A 11 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1