主权项 |
一种基于纠删码集群存储系统的交叉重构方法,其特征在于,包括以下步骤:(1)纠删码集群存储系统的第i个替换节点RNi将自身条带号的基准值rowstep初始化为0,其中i=1,…,f,f为系统中失效节点的数量;(2)替换节点RNi向集群中任意k个存活节点发出请求,获取这k个存活节点的第rowstep+i个条块,分别记为B1,…,Bk,其中k为系统中数据节点的数量;(3)替换节点RNi使用条块B1,…,Bk根据下式计算出属于集群的第rowstep+i个条带的f个失效块,分别记为RBrowstep+i,1,…,RBrowstep+i,f:RBrow,j=DECj(B1,…,Bk)其中DEC()代表水平编码算法的解码操作,row表示正在处理的是集群中第row个条带的各个条块,j表示通过这次解码操作计算出来的是第j个替换节点上的失效块,且有j=1,…,f;(4)替换节点RNi将失效块RBrowstep+i,i写入本地磁盘,成为本地的第rowstep+i个条块;(5)替换节点RNi将失效块RBrowstep+i,1,…,RBrowstep+i,i‑1,RBrowstep+i,i+1,…,RBrowstep+i,f一一对应地发送给替换节点RN1,…,RNi‑1,RNi+1,…,RNf,同时替换节点RNi接收从替换节点RN1,…,RNi‑1,RNi+1,…,RNf发来的各一个失效块,一一对应地记为RBrowstep+1,i,…,RBrowstep+i‑1,i,RBrowstep+i+1,i,…,RBrowstep+f,i;(6)替换节点RNi将在步骤(5)中从其他替换节点接收到的f‑1个失效块写入本地磁盘;(7)替换节点RNi将自身条带号的基准值rowstep加f;(8)替换节点RNi判断是否已恢复所有条块,若是,则返回步骤(2),否则过程结束。 |