本发明专利技术公开了一种基于任务负载感知的纠删码归档方法及系统,属于计算机存储技术领域。本发明专利技术方法首先获取纠删码集群中归档条带的每个节点任务数和每个节点上含有的当前归档条带数据分块个数;之后选取任务数最小且含有当前归档条带数据分块较多的一个存储节点作为编码节点,并更新编码节点的任务数;然后根据任务数最小原则和供给节点选取规则,依次选取所有数据分块的供给节点,并且更新其任务数;最后编码节点通过供给节点提供的数据分块进行编码计算,生成校验分块,完成归档任务。本发明专利技术还实现了一种基于任务负载感知的纠删码归档系统。本发明专利技术解决了现有归档方法中将大量归档任务集中分配到某个数据节点而导致的归档任务不均衡问题。
【技术实现步骤摘要】
一种基于任务负载感知的纠删码归档方法及系统
本专利技术属于计算机存储
,更具体地,涉及一种基于任务负载感知的纠删码归档方法及系统。
技术介绍
为了保障集群数据的可靠性和提高计算并行度,现有的分布式存储集群(HDFS,GFS)大多使用副本形式保存数据,即每个数据块在分布式集群中保存两个或者三个副本。副本形式的数据存储,虽然可以提高数据可靠性和并行度,但是存储开销较大,空间利用率不高。针对数据一次写多次读的集群环境,通过纠删码归档不经常被访问的数据,可以降低数据的存储开销,提高存储空间的利用率。在随机布局归档过程中,负载不均衡是影响归档性能的重要因素。在现有的随机布局归档中,一般都采用集中式数据归档和分布式数据归档。归档以条带为单位,条带主节点从条带从节点获取源数据,编码出校验数据。主节点还可以同时作为从节点,从本地磁盘获取源数据。在集中式数据归档中,随机选择存储集群中的一个节点作为所有条带的编码节点,编码节点磁盘上的数据块,直接以随机读的方式从磁盘获取,编码需要但是不在编码节点磁盘上的数据块则通过网络传输的方式从其他节点上获取。在分布式数据归档中,针对归档的每一个条带,根据数据局部性,选择局部性最大的数据节点作为该条带的编码节点,对于不在编码主节点上的数据块,通过网络从其它节点上获取。现有的随机布局归档方案的主要存在以下问题:如果编码节点需要通过网络获取大量的非本地数据块,并且集群中的数据块分布不均匀,即不同的存储节点上存储的数据块数量差异较大,集群节点负载不均衡,那么整个集群的归档性能将会大幅度下降。
技术实现思路
针对现有技术的以上缺陷或改进需求,本专利技术提供了一种基于任务负载感知的纠删码归档方法及系统,其目的在于实时感知各存储节点的任务负载,根据各存储节点的任务负载实时更新编码模块和供给模块,完成校验数据的计算和分配,最终完成数据的归档,由此解决现有随机布局归档方案中存在的:任务负载不均衡和任务堆积,进一步降低磁盘随机读的性能,以及网络资源带宽分配不均匀导致网络性能降低的技术问题。为实现上述目的,按照本专利技术的一个方面,提供了一种基于任务负载感知的纠删码归档方法,该方法包括:(1)选取编码节点:获取当前归档条带每个存储节点的任务数和每个存储节点所含有本条带数据分块的个数,选取任务数最小且含有当前条带数据分块最多的一个存储节点作为编码节点,编码节点的任务数更新为任务数加纠删码的校验分块数;(2)选取供给节点:依次获取当前条带中各个数据分块的供给节点,并更新供给节点的任务数;(3)编码计算分配:编码节点获取所有供给节点中的数据分块进行编码计算,得到校验分块,并将校验分块传输给其他非供给节点;(4)循环编码分配:判断是否还有其他条带没有进行归档,若有则选定该条带返回步骤(1);否则结束归档。进一步地,所述步骤(2)包括以下子步骤:(21)获取当前数据分块所在的所有存储节点,选取任务数最小的存储节点作为候选节点;(22)候选节点中若有编码节点,则选编码节点同时作为当前数据分块的供给节点;(23)候选节点中若无编码节点,则任选一个候选节点作为供给节点;供给节点任务数加1,编码节点任务数加1;(24)判断是否还有其他数据分块没有选取供给节点,若有则选定该数据分块返回子步骤(21);否则结束供给节点的选择。进一步地,所述步骤(3)包括以下子步骤:(31)每个供给节点从本地磁盘中读取相应的数据分块;非编码节点的供给节点通过网络将数据分块发送给编码节点;(32)编码节点根据所有供给节点提供的数据分块进行编码计算,获取校验分块;(33)编码节点通过网络将生成的校验分块传输给存储集群中的非供给节点。按照本专利技术的另一方面,提供了一种基于任务负载感知的纠删码归档系统,该系统包括:编码节点选取模块,用于获取当前归档条带每个存储节点的任务数和每个存储节点所含有本条带数据分块的个数,选取任务数最小且含有当前条带数据分块最多的一个存储节点作为编码节点,编码节点的任务数更新为任务数加纠删码的校验分块数;供给节点选取模块,用于依次获取当前条带中各个数据分块的供给节点,并更新供给节点的任务数;编码计算分配模块,用于利用编码节点获取所有供给节点中的数据分块进行编码计算,得到校验分块,并将校验分块传输给其他非供给节点;循环编码分配模块,用于判断是否还有其他条带没有进行归档,若有则选定该条带返回编码节点选取模块;否则结束归档。进一步地,所述供给节点选取模块包括以下部分:候选节点选取单元,用于获取当前数据分块所在的所有存储节点,选取任务数最小的存储节点作为候选节点;第一供给节点选取单元,用于判断若候选节点中有编码节点,则选编码节点同时作为当前数据分块的供给节点;第二供给节点选取单元,用于判断若候选节点中没有编码节点,则任选一个候选节点作为供给节点;供给节点任务数加1,编码节点任务数加1;循环选取单元,用于判断是否还有其他数据分块没有选取供给节点,若有则选定该数据分块返回候选节点选取单元;否则结束供给节点的选择。进一步地,所述编码计算分配模块包括以下部分:数据传输单元,用于控制每个供给节点从本地磁盘中读取相应的数据分块;非编码节点的供给节点通过网络将数据分块发送给编码节点;校验获取单元,用于控制编码节点根据所有供给节点提供的数据分块进行编码计算,获取校验分块;校验储存单元,用于控制编码节点通过网络将生成的校验分块传输给存储集群中的非供给节点。总体而言,通过本专利技术所构思的以上技术方案与现有技术相比,具有以下技术特征及有益效果:(1)本专利技术根据集群节点任务数,考虑整个集群节点的任务负载感知,同时考虑到节点数据的局部性,选取编码节点和供给节点,实现了负载均衡的效果,提高整体归档性能;(2)本专利技术根据集群节点的工作情况,动态更新编码节点和供给节点的任务数,再对整体进行优选选择,减轻了网络资源的竞争,实现高效归档的目标。附图说明图1是本专利技术方法的流程示意图;图2是本专利技术方法实施例的流程图;图3是本专利技术方法实施例中的数据块分布图;图4是本专利技术方法实施例中的条带1归档前后节点任务数示意图;图5是本专利技术方法实施例中的当前归档条带1的归档数据流示意图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。此外,下面所描述的本专利技术各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。以下首先就本专利技术的相关术语进行解释和说明:任务数:各条带节点归档前任务数为当前条带每个节点需要响应用户请求的个数;各节点任务数的更新包括:编码节点发送r个校验分块,其任务数加r;编码节点每接收一个数据分块,其任务数增加1;供给节点每传输一个数据分块,其任务数增加1;纠删码归档:为保证数据可用性,数据通常按副本方式存放在存储系统中,如双副本、三副本;随着系统的运行,这些副本数据的访问频度将降低,如果仍旧按副本方式进行存放,将导致很低的存储空间利用率,如采用三副本备份方式的空间利用率仅为33.3%,为了提高存储空间利用率,通常采用纠删码进行存放,将数据从副本方式转存为纠删码方式的过程被称为纠删码归档;节点数据块以及条带:在归档的编码过程中,读本文档来自技高网...

【技术保护点】
一种基于任务负载感知的纠删码归档方法,其特征在于,该方法包括以下步骤:(1)选取编码节点:获取当前归档条带每个存储节点的任务数和每个存储节点所含有本条带数据分块的个数,选取任务数最小且含有当前条带数据分块最多的一个存储节点作为编码节点,编码节点的任务数更新为任务数加纠删码的校验分块数;(2)选取供给节点:依次获取当前条带中各个数据分块的供给节点,并更新供给节点的任务数;(3)编码计算分配:编码节点获取所有供给节点中的数据分块进行编码计算,得到校验分块,并将校验分块传输给其他非供给节点;(4)循环编码分配:判断是否还有其他条带没有进行归档,若有则选定该条带返回步骤(1);否则结束归档。
【技术特征摘要】
1.一种基于任务负载感知的纠删码归档方法,其特征在于,该方法包括以下步骤:(1)选取编码节点:获取当前归档条带每个存储节点的任务数和每个存储节点所含有本条带数据分块的个数,选取任务数最小且含有当前条带数据分块最多的一个存储节点作为编码节点,编码节点的任务数更新为任务数加纠删码的校验分块数;(2)选取供给节点:依次获取当前条带中各个数据分块的供给节点,并更新供给节点的任务数;(3)编码计算分配:编码节点获取所有供给节点中的数据分块进行编码计算,得到校验分块,并将校验分块传输给其他非供给节点;(4)循环编码分配:判断是否还有其他条带没有进行归档,若有则选定该条带返回步骤(1);否则结束归档。2.根据权利要求1所述的一种基于任务负载感知的纠删码归档方法,其特征在于,所述步骤(2)包括以下子步骤:(21)获取当前数据分块所在的所有存储节点,选取任务数最小的存储节点作为候选节点;(22)候选节点中若有编码节点,则选编码节点同时作为当前数据分块的供给节点;(23)候选节点中若无编码节点,则任选一个候选节点作为供给节点;供给节点任务数加1,编码节点任务数加1;(24)判断是否还有其他数据分块没有选取供给节点,若有则选定该数据分块返回子步骤(21);否则结束供给节点的选择。3.根据权利要求1或2所述的一种基于任务负载感知的纠删码归档方法,其特征在于,所述步骤(3)包括以下子步骤:(31)每个供给节点从本地磁盘中读取相应的数据分块;非编码节点的供给节点通过网络将数据分块发送给编码节点;(32)编码节点根据所有供给节点提供的数据分块进行编码计算,获取校验分块;(33)编码节点通过网络将生成的校验分块传输给存储集群中的非供给节点。4.一种基于任务负载感知的纠删码归档系统,其特征在于,该系统包括以下部...
【专利技术属性】
技术研发人员:黄建忠,曹强,谢长生,夏杰,周盼萍,王艳群,
申请(专利权)人:华中科技大学,
类型:发明
国别省市:湖北,42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。