1.一种基于任务负载感知的纠删码归档方法,其特征在于,该方法包括以下步骤:
(1)选取编码节点:获取当前归档条带每个存储节点的任务数和每个存储节点所含有本条带数据分块的个数,选取任务数最小且含有当前条带数据分块最多的一个存储节点作为编码节点,编码节点的任务数更新为任务数加纠删码的校验分块数;
(2)选取供给节点:依次获取当前条带中各个数据分块的供给节点,并更新供给节点的任务数;
(3)编码计算分配:编码节点获取所有供给节点中的数据分块进行编码计算,得到校验分块,并将校验分块传输给其他非供给节点;
(4)循环编码分配:判断是否还有其他条带没有进行归档,若有则选定该条带返回步骤(1);否则结束归档。
2.根据权利要求1所述的一种基于任务负载感知的纠删码归档方法,其特征在于,所述步骤(2)包括以下子步骤:
(21)获取当前数据分块所在的所有存储节点,选取任务数最小的存储节点作为候选节点;
(22)候选节点中若有编码节点,则选编码节点同时作为当前数据分块的供给节点;
(23)候选节点中若无编码节点,则任选一个候选节点作为供给节点;供给节点任务数加1,编码节点任务数加1;
(24)判断是否还有其他数据分块没有选取供给节点,若有则选定该数据分块返回子步骤(21);否则结束供给节点的选择。
3.根据权利要求1或2所述的一种基于任务负载感知的纠删码归档方法,其特征在于,所述步骤(3)包括以下子步骤:
(31)每个供给节点从本地磁盘中读取相应的数据分块;非编码节点的供给节点通过网络将数据分块发送给编码节点;
(32)编码节点根据所有供给节点提供的数据分块进行编码计算,获取校验分块;
(33)编码节点通过网络将生成的校验分块传输给存储集群中的非供给节点。
4.一种基于任务负载感知的纠删码归档系统,其特征在于,该系统包括以下部分:
编码节点选取模块,用于获取当前归档条带每个存储节点的任务数和每个存储节点所含有本条带数据分块的个数,选取任务数最小且含有当前条带数据分块最多的一个存储节点作为编码节点,编码节点的任务数更新为任务数加纠删码的校验分块数;
供给节点选取模块,用于依次获取当前条带中各个数据分块的供给节点,并更新供给节点的任务数;
编码计算分配模块,用于利用编码节点获取所有供给节点中的数据分块进行编码计算,得到校验分块,并将校验分块传输给其他非供给节点;
循环编码分配模块,用于判断是否还有其他条带没有进行归档,若有则选定该条带返回编码节点选取模块;否则结束归档。
5.根据权利要求4所述的一种基于任务负载感知的纠删码归档系统,其特征在于,所述供给节点选取模块包括以下部分:
候选节点选取单元,用于获取当前数据分块所在的所有存储节点,选取任务数最小的存储节点作为候选节点;
第一供给节点选取单元,用于判断若候选节点中有编码节点,则选编码节点同时作为当前数据分块的供给节点;
第二供给节点选取单元,用于判断若候选节点中没有编码节点,则任选一个候选节点作为供给节点;供给节点任务数加1,编码节点任务数加1;
循环选取单元,用于判断是否还有其他数据分块没有选取供给节点,若有则选定该数据分块返回候选节点选取单元;否则结束供给节点的选择。
6.根据权利要求4或5所述的一种基于任务负载感知的纠删码归档系统,其特征在于,所述编码计算分配模块包括以下部分:
数据传输单元,用于控制每个供给节点从本地磁盘中读取相应的数据分块;非编码节点的供给节点通过网络将数据分块发送给编码节点;
校验获取单元,用于控制编码节点根据所有供给节点提供的数据分块进行编码计算,获取校验分块;
校验储存单元,用于控制编码节点通过网络将生成的校验分块传输给存储集群中的非供给节点。