CN110032338A - 一种面向纠删码的数据副本放置方法及系统 - Google Patents
一种面向纠删码的数据副本放置方法及系统 Download PDFInfo
- Publication number
- CN110032338A CN110032338A CN201910214010.8A CN201910214010A CN110032338A CN 110032338 A CN110032338 A CN 110032338A CN 201910214010 A CN201910214010 A CN 201910214010A CN 110032338 A CN110032338 A CN 110032338A
- Authority
- CN
- China
- Prior art keywords
- copy
- band
- warm
- data block
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000012795 verification Methods 0.000 claims abstract description 33
- 238000003860 storage Methods 0.000 claims abstract description 15
- 238000000638 solvent extraction Methods 0.000 claims abstract description 10
- 230000001174 ascending effect Effects 0.000 claims description 6
- 241001347978 Major minor Species 0.000 claims description 3
- 239000004744 fabric Substances 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 abstract description 13
- 230000008520 organization Effects 0.000 abstract description 2
- 230000008901 benefit Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000002123 temporal effect Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000010276 construction Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 101150035323 RACK1 gene Proteins 0.000 description 3
- 230000006872 improvement Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000004904 shortening Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明公开了一种面向纠删码的数据副本放置方法及系统,属于计算机系统结构领域,包括:将所有数据分块的主副本和从副本均载入内存,使得存储主副本的节点均位于主机架内,且存储从副本的节点位于k个副机架内;识别出主机架内主副本中的温数据块;利用所识别出的温数据块构造条带,并确定用于对每一个条带进行纠删码编码的编码节点;分别对每一个条带进行纠删码编码,并在编码完成后移动编码产生的校验分块,使得同一条带所对应的校验分块和从副本满足扁平化分块布局,从而实现异构集群内的纠删码归档。本发明能够减少异构集群下纠删码归档时的跨机架数据传输,从而缩短归档时长,并保证归档后的最大机架间容错度。
Description
技术领域
本发明属于计算机系统结构领域,更具体地,涉及一种面向纠删码的数据副本放置方法及系统。
背景技术
为了保证集群内存的高容错性和高存储效率,对于内存中不同访问热度的数据(即:热数据、温数据、冷数据)需要使用不同的冗余方式进行存储,通常地,热数据采用副本机制存储,保证高访问性能;温数据采用纠删码机制存储,保证高存储效率;冷数据则持久化至磁盘,节省内存空间。数据由副本机制存储到纠删码机制存储的转换过程称为纠删码归档(Erasure-coded Archival)。
由于纠删码存储需要编解码计算,并且更新时网络传输量大,现有的纠删码归档优化研究方案中,一般都采用并行性和流水线技术来加速纠删码归档过程中的编解码计算过程。这些研究方案都是基于同机架下的同构环境,而实际生产系统往往处于异构环境。以TOR(Top of Rack)架构为例,同一机架内多个服务器/节点通过一台交换机互联,不同机架上交换机通过上一层交换机(如Root Switch)互联。机架内节点通过链路层通信,机架间节点通过网络层通信,前者与后者存在传输性能差异,一般为5:1~20:1,极端情况下可达到450:1,从而,机架内通信和跨机架通信构成了异构访问。在ToR架构下,当纠删码归档中原始数据的存储节点位于不同机架时,其传输性能是不同的,针对同构环境而研究的流水线归档技术会面临断流问题,此外,与纠删编码时间相比,数据传输时间占归档时间的大部分,而由于机架间的数据传输速率明显小于机架内的数据传输速率,当需要归档的数据存储于不同机架上的节点上时,会导致纠删码归档时间过长,所以要在异构环境下内存集群归档的过程中减少甚至避免机架间数据传输。
当前无论同构或异构环境下,现有数据分块放置方案,如镜像策略(standardmirroring)、链式策略(chained declustering)、移位策略(shifted declustering)、Hadoop分布式文件系统(hdfs,Hadoop Distributed File System)中三副本放置策略等,均考虑了数据的可靠性、正常情况下以及发生失效时的负载均衡、最大并行度等,但都没有考虑纠删码归档的时间,特别在机架集群中,归档过程不可避免引起机架间数据传输,使得归档时间较长。
发明内容
针对现有技术的缺陷和改进需求,本发明提供了一种面向纠删码的数据副本放置方法及系统,其目的在于,减少异构集群中纠删码归档的时间。
为实现上述目的,按照本发明的一个方面,提供了一种面向纠删码的数据副本放置方法,包括:
(1)将所有数据分块的主副本和从副本均载入内存,使得存储主副本的节点均位于主机架内,且存储从副本的节点位于k个副机架内;
(2)识别出主机架内主副本中的温数据块;
(3)利用所识别出的温数据块构造条带,并确定用于对每一个条带进行纠删码编码的编码节点;
每一个条带由k个温数据块构成,且每个条带所对应的k个从副本分别存储于k个副机架中;
(4)分别对每一个条带进行纠删码编码,并在编码完成后移动编码产生的校验分块,使得同一条带所对应的校验分块和从副本满足扁平化分块布局,从而实现异构集群内的纠删码归档;
其中,主机架为异构集群内具有最大可用带宽的机架,副机架为主机架之外的其他机架,k≥2。
本发明通过将具有最大可用带宽的机架作为主机架,并将所有数据分块的主副本均载入主机架中,使得进行纠删码归档时,仅利用主机架内的数据分块即可完成编码过程,而无需从其他机架上传输数据分块,从而减少了机架间的数据传输,有效缩短了纠删码归档的时间。
进一步地,步骤(1)包括:
(11)获得异构集群内各机架的可用带宽,将具有最大可用带宽的机架作为主机架,其余机架作为副机架;将可用带宽最大的机架作为主机架,可缩短纠删码编码时机架内节点间数据传输的时间;
(12)将所有数据分块划分为多个数据分组,每个数据分组包括k个数据分块;
(13)将所有数据分块的主副本均载入主机架内,并将每一个数据分组对应的k个从副本分别载入k个副机架内,从而将所有数据分块的主副本和从副本均载入内存。
作为进一步优选地,步骤(13)中,对于每一个数据分组,将其对应的k个从副本分别载入k个副机架的方式为交叉散步布局方式;利用交叉散步布局方式载入从副本,可以保证最大的容错率。
进一步地,步骤(2)包括:
获得所有数据分块的被访问次数,以计算单个数据分块的平均被访问次数;
将被访问次数小于平均被访问次数的数据分块的主副本识别为温数据块;
其中,数据分块的被访问次数为其主副本和从副本的被访问次数之和。
进一步地,步骤(3)包括:
(S1)按照温数据块载入时间升序的顺序对所有温数据块进行排序,以得到第一温数据块集合;
(S2)按顺序从第一温数据块集合中依次选择k个温数据块,使得所选择的温数据块所对应的k个从副本分别存储于k个副机架中,利用所选择的k个温数据块构造一个条带;
(S3)从第一温数据块集合中删除所选择的k个温数据块;
(S4)随机选择包含条带内温数据块的节点作为编码节点,用于对所构造的条带进行纠删码编码;
(S5)重复执行步骤(S2)~(S4),直至第一温数据块集合为空,或者第一温数据块集合中剩余的温数据块不能构造新的条带。
上述构造条带的方法,充分利用了数据访问的时间局部性,使得同一条带内的数据分块具有相似的访问模式和热度,从而同一条带内的所有数据分块极有可能会随着数据被不断访问而同时变为冷数据,进而直接删除条带便可删除冷数据,释放条带所占用的内存空间。
进一步地,步骤(3)包括:
(T1)按照温数据块所在节点ID升序的顺序对所有温数据块进行排序,以得到第二温数据块集合;
(T2)按顺序从第二温数据块集合中依次选择k个温数据块,使得所选择的温数据块所对应的k个从副本分别存储于k个副机架中,利用所选择的k个温数据块构造一个条带;
(T3)从第二温数据块集合中删除所选择的k个温数据块;
(T4)将包含条带内最多温数据块的节点作为编码节点,用于对所构造的条带进行纠删码编码;
(T5)重复执行步骤(T2)~(T4),直至第二温数据块集合为空,或者第二温数据块集合中剩余的温数据块不能构造新的条带。
上述构造条带的方法,充分利用了数据访问的空间局部性,使得编码节点上会存储有条带内大部分数据块,从而能够在纠删码编码时减少机架内节点间的数据传输,减少纠删码归档的时间。
进一步地,步骤(4)包括:
(41)对于任意一个条带,在其编码节点上对条带内的所有温数据块进行纠删码编码,以生成该条带的r个校验分块;
(42)编码完成后,从主机架上删除条带内的温数据块;
(43)移动生成的校验分块,使得一个校验分块存储于编码节点上,其余的r-1个校验分块分别存储于r-1个副机架上,并且同一条带的校验分块和对应的从副本存储于不同的副机架上;
(44)对每一个条带分别执行步骤(41)~(43),以实现异构集群内的纠删码归档。
通过移动校验分块,使得同一条带的校验分块和对应的从副本满足扁平化分块布局,保证了归档后具有最大的机架间容错度。
按照本发明的另一方面,提供了一种面向纠删码的数据副本放置系统,包括:数据载入模块、温数据块识别模块、条带构造模块以及编码模块;
数据载入模块用于将所有数据分块的主副本和从副本均载入内存,使得存储主副本的节点均位于主机架内,且存储从副本的节点位于k个副机架内;
温数据块识别模块用于识别出主机架内主副本中的温数据块;
条带构造模块用于利用所识别出的温数据块构造条带,并确定用于对每一个条带进行纠删码编码的编码节点;
编码模块用于分别对每一个条带进行纠删码编码,并在编码完成后移动编码产生的校验分块,使得同一条带所对应的校验分块和从副本满足扁平化分块布局,从而实现异构集群内的纠删码归档;
其中,主机架为异构集群内具有最大可用带宽的机架,副机架为主机架之外的其他机架,每一个条带由k个温数据块构成,且每个条带所对应的k个从副本分别存储于k个副机架中,k≥2。
总体而言,通过本发明所构思的以上技术方案,能够取得以下有益效果:
(1)本发明所提供的面向纠删码的数据副本放置方法,通过将具有最大可用带宽的机架作为主机架,并将所有数据分块的主副本均载入主机架中,使得进行纠删码归档时,仅利用主机架内的数据分块即可完成编码过程,而无需从其他机架上传输数据分块,从而减少了机架间的数据传输,有效缩短了纠删码归档的时间。
(2)本发明所提供的面向纠删码的数据副本放置方法,在其优选方案中,构造条带时,充分利用了数据访问的时间局部性,使得同一条带内的数据分块具有相似的访问模式和热度,从而同一条带内的所有数据分块极有可能会随着数据被不断访问而同时变为冷数据,进而直接删除条带便可删除冷数据,有利于释放条带所占用的内存空间。
(3)本发明所提供的面向纠删码的数据副本放置方法,在其优选方案中,构造条带时,充分利用了数据访问的空间局部性,使得编码节点上会存储有条带内大部分数据块,从而能够在纠删码编码时减少机架内节点间的数据传输,减少纠删码归档的时间。
(4)本发明所提供的面向纠删码的数据副本放置方法,通过移动校验分块,使得同一条带的校验分块和对应的从副本满足扁平化分块布局,保证了归档后具有最大的机架间容错度。
附图说明
图1为现有的交叉散步布局方式示意图;
图2为本发明实施例提供的面向纠删码的数据副本放置方法流程图;
图3为本发明实施例提供的归档前数据分块放置的示意图;
图4为本发明实施例提供的归档中数据分块放置的示意图;
图5为本发明实施例提供的归档后数据分块放置的示意图;
图6为本发明实施例提供的利用时间局部性构造条带的方法流程图;
图7为本发明实施例提供的利用空间局部性构造条带的方法流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
在详细介绍本发明的技术方案之前,先对相关的技术术语进行简要介绍:
纠删码归档:为保证内存的容错性,刚载入内存的数据通常用副本方式进行存储,如双副本、三副本,在本发明中,均采用双副本方式进行存储;随着系统的运行,这些副本数据的访问频度将降低,如果仍旧按副本方式进行存放,将导致很低的存储空间利用率,如采用三副本备份方式的空间利用率仅为33.3%,为了提高存储空间利用率,通常采用纠删码进行存放,将数据的存储方式由副本方式转换为纠删码方式的过程即为纠删码归档;
条带:一个条带是由多个数据分块组成的整体,可以独立地恢复出失效数据;
温数据块:内存中的数据根据访问热度的不同被分为热数据、温数据和冷数据,其中,由温数据构成的数据分块为温数据块;
机架:集群由多个机架构成,每个机架内包含多个节点;
编码节点:用来完成纠删码编码操作生成校验块的节点称为编码节点;
交叉散步布局:数据分块的放置方式,以k个数据分块为一组,每一组的k个数据分别放置于k个副机架内,每一组数据分块从上一组数据分块中第二个数据分块的放置位置开始依次循环放置;数据分块放置完成后,在副机架内的布局如图1所示,其中,Rack0为主机架,Rack1~Rack4为4个副机架,每四个数据分为一组,共三组数据分块{A1,A2,A3,A4}、{B1,B2,B3,B4}和{C1,C2,C3,C4};
扁平化分块布局:一个条带中的校验分块和数据分块分布在不同的机架中;
时间局部性:如果一个信息项正在被访问,那么在近期它很可能还会被再次访问;
空间局部性:在最近的将来将用到的信息很可能与现在正在使用的信息在空间地址上是临近的。
为实现减少异构集群中纠删码归档的时间,本发明提供的面向纠删码的数据副本放置方法,如图2所示,包括:
(1)将所有数据分块的主副本和从副本均载入内存,使得存储主副本的节点均位于主机架内,且存储从副本的节点位于k个副机架内;
在一个可选的实施方式中,步骤(1)具体包括:
(11)获得异构集群内各机架的可用带宽,将具有最大可用带宽的机架作为主机架,其余机架作为副机架;将可用带宽最大的机架作为主机架,可缩短纠删码编码时机架内节点间数据传输的时间;
(12)将所有数据分块划分为多个数据分组,每个数据分组包括k个数据分块;
(13)将所有数据分块的主副本均载入主机架内,并将每一个数据分组对应的k个从副本分别载入k个副机架内,从而将所有数据分块的主副本和从副本均载入内存;
在本实施例中,步骤(13)中,对于每一个数据分组,将其对应的k个从副本分别载入k个副机架的方式为交叉散步布局方式;利用交叉散步布局方式载入从副本,可以保证最大的容错率;
k的取值可根据实际所采用的纠删码编码方式相应设定,在本实施例中,k=4;
(2)识别出主机架内主副本中的温数据块;
在一个可选的实施方式中,步骤(2)具体包括:
获得所有数据分块的被访问次数,以计算单个数据分块的平均被访问次数;
将被访问次数小于平均被访问次数的数据分块的主副本识别为温数据块;
其中,数据分块的被访问次数为其主副本和从副本的被访问次数之和;
(3)利用所识别出的温数据块构造条带,并确定用于对每一个条带进行纠删码编码的编码节点;
每一个条带由k个温数据块构成,且每个条带所对应的k个从副本分别存储于k个副机架中;
按照上述方法所构造条带后,其中一个条带所对应的温数据块和从副本布局如图3所示,其中,Rack0为主机架,其上存储的{D1,D2,D3,D4}为构成条带的四个温数据块,Rack1~Rack5为均为副机架,Rack1~Rack4分别用于存储条带内四个温数据块所对应的从副本;
(4)分别对每一个条带进行纠删码编码,并在编码完成后移动编码产生的校验分块,使得同一条带所对应的校验分块和从副本满足扁平化分块布局,从而实现异构集群内的纠删码归档;
在一个可选的实施方式中,步骤(4)具体包括:
(41)对于任意一个条带,在其编码节点上对条带内的所有温数据块进行纠删码编码,以生成该条带的r个校验分块;
在本实施例中,采用的纠删码编码方式具体为(6,4)RS码进行编码,即对4个数据分块用RS码编码生成2个校验分块;应当理解的是,除了RS码,LDPC编码、阵列编码等其他纠删码编码方式也可用于本发明;对图3所示条带中的温数据块{D1,D2,D3,D4}进行编码后,生成两个校验块{P1,P2},如图4所示;
(42)编码完成后,从主机架上删除条带内的温数据块;
(43)移动生成的校验分块,使得一个校验分块存储于编码节点上,其余的r-1个校验分块分别存储于r-1个副机架上,并且同一条带的校验分块和对应的从副本存储于不同的副机架上;
如图5所示,最终,会从主机架上删除图3所示条带内的所有温数据块{D1,D2,D3,D4},并且移动校验块后,校验块P1位于主机架Rack0中的编码节点上,校验块则被移动到了副机架Rack5上,使得该条带的校验分块和对应的从副本满足扁平化分块布局
(44)对每一个条带分别执行步骤(41)~(43),以实现异构集群内的纠删码归档;
通过移动校验分块,使得同一条带的校验分块和对应的从副本满足扁平化分块布局,保证了归档后具有最大的机架间容错度。
本发明通过将具有最大可用带宽的机架作为主机架,并将所有数据分块的主副本均载入主机架中,使得进行纠删码归档时,仅利用主机架内的数据分块即可完成编码过程,而无需从其他机架上传输数据分块,从而减少了机架间的数据传输,有效缩短了纠删码归档的时间。
在一个可选的实施方式中,上述步骤(3)中可利用数据访问的时间局部性构造条带,具体地,如图6所示,步骤(3)包括:
(S1)按照温数据块载入时间升序的顺序对所有温数据块进行排序,以得到第一温数据块集合;
(S2)按顺序从第一温数据块集合中依次选择k个温数据块,使得所选择的温数据块所对应的k个从副本分别存储于k个副机架中,利用所选择的k个温数据块构造一个条带;
(S3)从第一温数据块集合中删除所选择的k个温数据块;
(S4)随机选择包含条带内温数据块的节点作为编码节点,用于对所构造的条带进行纠删码编码;
(S5)重复执行步骤(S2)~(S4),直至第一温数据块集合为空,或者第一温数据块集合中剩余的温数据块不能构造新的条带。
上述构造条带的方法,充分利用了数据访问的时间局部性,使得同一条带内的数据分块具有相似的访问模式和热度,从而同一条带内的所有数据分块极有可能会随着数据被不断访问而同时变为冷数据,进而直接删除条带便可删除冷数据,释放条带所占用的内存空间。
在另一个可选的实施方式中,上述步骤(3)可利用数据访问的空间局部性构造条带,具体地,如图7所示,步骤(3)包括:
(T1)按照温数据块所在节点ID升序的顺序对所有温数据块进行排序,以得到第二温数据块集合;
(T2)按顺序从第二温数据块集合中依次选择k个温数据块,使得所选择的温数据块所对应的k个从副本分别存储于k个副机架中,利用所选择的k个温数据块构造一个条带;
(T3)从第二温数据块集合中删除所选择的k个温数据块;
(T4)将包含条带内最多温数据块的节点作为编码节点,用于对所构造的条带进行纠删码编码;
(T5)重复执行步骤(T2)~(T4),直至第二温数据块集合为空,或者第二温数据块集合中剩余的温数据块不能构造新的条带。
上述构造条带的方法,充分利用了数据访问的空间局部性,使得编码节点上会存储有条带内大部分数据块,从而能够在纠删码编码时减少机架内节点间的数据传输,减少纠删码归档的时间。
本发明还提供了一种面向纠删码的数据副本放置系统,包括:数据载入模块、温数据块识别模块、条带构造模块以及编码模块;
数据载入模块用于将所有数据分块的主副本和从副本均载入内存,使得存储主副本的节点均位于主机架内,且存储从副本的节点位于k个副机架内;
温数据块识别模块用于识别出主机架内主副本中的温数据块;
条带构造模块用于利用所识别出的温数据块构造条带,并确定用于对每一个条带进行纠删码编码的编码节点;
编码模块用于分别对每一个条带进行纠删码编码,并在编码完成后移动编码产生的校验分块,使得同一条带所对应的校验分块和从副本满足扁平化分块布局,从而实现异构集群内的纠删码归档;
其中,主机架为异构集群内具有最大可用带宽的机架,副机架为主机架之外的其他机架,每一个条带由k个温数据块构成,且每个条带所对应的k个从副本分别存储于k个副机架中;k的取值可根据实际所采用的纠删码编码方式相应设定,在本实施例中,k=4。
在本发明实施例中,各模块的具体实施方式可参考上述方法实施例中的描述,在此将不再复述。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种面向纠删码的数据副本放置方法,其特征在于,包括:
(1)将所有数据分块的主副本和从副本均载入内存,使得存储主副本的节点均位于主机架内,且存储从副本的节点位于k个副机架内;
(2)识别出所述主机架内主副本中的温数据块;
(3)利用所识别出的温数据块构造条带,并确定用于对每一个条带进行纠删码编码的编码节点;
每一个条带由k个温数据块构成,且每个条带所对应的k个从副本分别存储于k个副机架中;
(4)分别对每一个条带进行纠删码编码,并在编码完成后移动编码产生的校验分块,使得同一条带所对应的校验分块和从副本满足扁平化分块布局,从而实现异构集群内的纠删码归档;
其中,所述主机架为所述异构集群内具有最大可用带宽的机架,所述副机架为所述主机架之外的其他机架,k≥2。
2.如权利要求1所述的面向纠删码的数据副本放置方法,其特征在于,所述步骤(1)包括:
(11)获得所述异构集群内各机架的可用带宽,将具有最大可用带宽的机架作为主机架,其余机架作为副机架;
(12)将所有数据分块划分为多个数据分组,每个数据分组包括k个数据分块;
(13)将所有数据分块的主副本均载入所述主机架内,并将每一个数据分组对应的k个从副本分别载入k个副机架内,从而将所有数据分块的主副本和从副本均载入内存。
3.如权利要求2所述的面向纠删码的数据副本放置方法,其特征在于,所述步骤(13)中,对于每一个数据分组,将其对应的k个从副本分别载入k个副机架的方式为交叉散步布局方式。
4.如权利要求1所述的面向纠删码的数据副本放置方法,其特征在于,所述步骤(2)包括:
获得所有数据分块的被访问次数,以计算单个数据分块的平均被访问次数;
将被访问次数小于所述平均被访问次数的数据分块的主副本识别为温数据块;
其中,数据分块的被访问次数为其主副本和从副本的被访问次数之和。
5.如权利要求1所述的面向纠删码的数据副本放置方法,其特征在于,所述步骤(3)包括:
(S1)按照温数据块载入时间升序的顺序对所有温数据块进行排序,以得到第一温数据块集合;
(S2)按顺序从所述第一温数据块集合中依次选择k个温数据块,使得所选择的温数据块所对应的k个从副本分别存储于k个副机架中,利用所选择的k个温数据块构造一个条带;
(S3)从所述第一温数据块集合中删除所选择的k个温数据块;
(S4)随机选择包含条带内温数据块的节点作为编码节点,用于对所构造的条带进行纠删码编码;
(S5)重复执行步骤(S2)~(S4),直至所述第一温数据块集合为空,或者所述第一温数据块集合中剩余的温数据块不能构造新的条带。
6.如权利要求1所述的面向纠删码的数据副本放置方法,其特征在于,所述步骤(3)包括:
(T1)按照温数据块所在节点ID升序的顺序对所有温数据块进行排序,以得到第二温数据块集合;
(T2)按顺序从所述第二温数据块集合中依次选择k个温数据块,使得所选择的温数据块所对应的k个从副本分别存储于k个副机架中,利用所选择的k个温数据块构造一个条带;
(T3)从所述第二温数据块集合中删除所选择的k个温数据块;
(T4)将包含条带内最多温数据块的节点作为编码节点,用于对所构造的条带进行纠删码编码;
(T5)重复执行步骤(T2)~(T4),直至所述第二温数据块集合为空,或者所述第二温数据块集合中剩余的温数据块不能构造新的条带。
7.如权利要求1-6任一项所述的面向纠删码的数据副本放置方法,其特征在于,所述步骤(4)包括:
(41)对于任意一个条带,在其编码节点上对条带内的所有温数据块进行纠删码编码,以生成该条带的r个校验分块;
(42)编码完成后,从所述主机架上删除条带内的温数据块;
(43)移动生成的校验分块,使得一个校验分块存储于编码节点上,其余的r-1个校验分块分别存储于r-1个副机架上,并且同一条带的校验分块和对应的从副本存储于不同的副机架上;
(44)对每一个条带分别执行步骤(41)~(43),以实现异构集群内的纠删码归档。
8.一种面向纠删码的数据副本放置系统,其特征在于,包括:数据载入模块、温数据块识别模块、条带构造模块以及编码模块;
所述数据载入模块用于将所有数据分块的主副本和从副本均载入内存,使得存储主副本的节点均位于主机架内,且存储从副本的节点位于k个副机架内;
所述温数据块识别模块用于识别出所述主机架内主副本中的温数据块;
所述条带构造模块用于利用所识别出的温数据块构造条带,并确定用于对每一个条带进行纠删码编码的编码节点;
所述编码模块用于分别对每一个条带进行纠删码编码,并在编码完成后移动编码产生的校验分块,使得同一条带所对应的校验分块和从副本满足扁平化分块布局,从而实现异构集群内的纠删码归档;
其中,所述主机架为所述异构集群内具有最大可用带宽的机架,所述副机架为所述主机架之外的其他机架,每一个条带由k个温数据块构成,且每个条带所对应的k个从副本分别存储于k个副机架中,k≥2。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910214010.8A CN110032338B (zh) | 2019-03-20 | 2019-03-20 | 一种面向纠删码的数据副本放置方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910214010.8A CN110032338B (zh) | 2019-03-20 | 2019-03-20 | 一种面向纠删码的数据副本放置方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110032338A true CN110032338A (zh) | 2019-07-19 |
CN110032338B CN110032338B (zh) | 2020-05-19 |
Family
ID=67236271
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910214010.8A Expired - Fee Related CN110032338B (zh) | 2019-03-20 | 2019-03-20 | 一种面向纠删码的数据副本放置方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110032338B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111444036A (zh) * | 2020-03-19 | 2020-07-24 | 华中科技大学 | 数据关联性感知的纠删码内存替换方法、设备及内存系统 |
CN113157715A (zh) * | 2021-05-12 | 2021-07-23 | 厦门大学 | 纠删码数据中心机架协同更新方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080065704A1 (en) * | 2006-09-12 | 2008-03-13 | Microsoft Corporation | Data and replica placement using r-out-of-k hash functions |
CN103701900A (zh) * | 2013-12-26 | 2014-04-02 | 清华大学 | 基于异构集群的数据分布方法 |
CN104035732A (zh) * | 2014-06-17 | 2014-09-10 | 中国人民解放军国防科学技术大学 | 一种面向纠删码的数据放置方法 |
CN105302500A (zh) * | 2015-11-24 | 2016-02-03 | 中国科学技术大学 | 一种基于动态条带构造的分布式编码方法 |
CN107729514A (zh) * | 2017-10-25 | 2018-02-23 | 郑州云海信息技术有限公司 | 一种基于hadoop的副本放置节点确定方法及装置 |
CN108512908A (zh) * | 2018-03-13 | 2018-09-07 | 山东超越数控电子股份有限公司 | 一种基于Ceph的云存储容错机制和基于Ceph的web管理平台 |
-
2019
- 2019-03-20 CN CN201910214010.8A patent/CN110032338B/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080065704A1 (en) * | 2006-09-12 | 2008-03-13 | Microsoft Corporation | Data and replica placement using r-out-of-k hash functions |
CN103701900A (zh) * | 2013-12-26 | 2014-04-02 | 清华大学 | 基于异构集群的数据分布方法 |
CN104035732A (zh) * | 2014-06-17 | 2014-09-10 | 中国人民解放军国防科学技术大学 | 一种面向纠删码的数据放置方法 |
CN105302500A (zh) * | 2015-11-24 | 2016-02-03 | 中国科学技术大学 | 一种基于动态条带构造的分布式编码方法 |
CN107729514A (zh) * | 2017-10-25 | 2018-02-23 | 郑州云海信息技术有限公司 | 一种基于hadoop的副本放置节点确定方法及装置 |
CN108512908A (zh) * | 2018-03-13 | 2018-09-07 | 山东超越数控电子股份有限公司 | 一种基于Ceph的云存储容错机制和基于Ceph的web管理平台 |
Non-Patent Citations (1)
Title |
---|
YUANQI CHEN,YI ZHOU,SHUBBHI TANEJA,XIAO QIN,JIANZHONG HUANG: "aHDFS An Erasure-Coded Data Archival system for hadoop cluster", 《IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111444036A (zh) * | 2020-03-19 | 2020-07-24 | 华中科技大学 | 数据关联性感知的纠删码内存替换方法、设备及内存系统 |
CN111444036B (zh) * | 2020-03-19 | 2021-04-20 | 华中科技大学 | 数据关联性感知的纠删码内存替换方法、设备及内存系统 |
CN113157715A (zh) * | 2021-05-12 | 2021-07-23 | 厦门大学 | 纠删码数据中心机架协同更新方法 |
CN113157715B (zh) * | 2021-05-12 | 2022-06-07 | 厦门大学 | 纠删码数据中心机架协同更新方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110032338B (zh) | 2020-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106951340B (zh) | 一种基于局部性优先的rs纠删码数据布局方法及系统 | |
CN106484559B (zh) | 一种校验矩阵的构造方法及水平阵列纠删码的构造方法 | |
CN102411639B (zh) | 元数据的多副本存储管理方法和系统 | |
CN108696569A (zh) | 在NVMe-oF以太网SSD中提供数据复制的系统和方法 | |
CN109493076A (zh) | 一种Kafka消息唯一消费方法、系统、服务器及存储介质 | |
CN105357294B (zh) | 一种存储数据的方法及集群管理节点 | |
WO2022174537A1 (zh) | 一种条带数据存储结构及其构建、修复和更新方法 | |
CN110032338A (zh) | 一种面向纠删码的数据副本放置方法及系统 | |
CN110231915A (zh) | 数据管理方法、系统、装置、计算机设备及存储介质 | |
CN107153514A (zh) | 数据读写方法及装置 | |
US20240037119A1 (en) | A method and device for storing data in a distributed database | |
CN109194444A (zh) | 一种基于网络拓扑的平衡二叉树修复方法 | |
CN102387175A (zh) | 一种存储系统迁移的方法和系统 | |
CN106027638A (zh) | 一种基于混合编码的hadoop数据分发方法 | |
CN103428288A (zh) | 基于分区状态表和协调节点的副本同步方法 | |
CN102541693A (zh) | 数据的多副本存储管理方法和系统 | |
CN109165112A (zh) | 一种元数据集群的故障恢复方法、系统及相关组件 | |
CN109189326A (zh) | 分布式集群的管理方法和装置 | |
EP4060514A1 (en) | Distributed database system and data disaster backup drilling method | |
CN103327074A (zh) | 一种全局共享缓存的紧耦合多控多活存储系统的设计方法 | |
CN108536555B (zh) | 一种基于BCube(n,b)数据中心的数据存取方法 | |
CN105723365A (zh) | 用于优化索引、主数据库节点和订户数据库节点的方法 | |
CN113157715B (zh) | 纠删码数据中心机架协同更新方法 | |
Zhao et al. | G-update: A group-based update scheme for heterogenous erasure-coded storage systems | |
CN107329856A (zh) | 一种基于raid的sds部署方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20200519 |
|
CF01 | Termination of patent right due to non-payment of annual fee |