为了实现数据冗余备份,根据云存储的结构特点和可用性要求,提出半随机线性网络编码(SRLNC)算法,使用有限域GF(2s)上的单位行向量和随机行向量组成编码矩阵,对数据块分片、编码后进行冗余存储,采取单位行向量优先的策略进行解码.分析了该算法的解码方程组存在唯一解的概率,并提出衡量算法运算时间的"每字符运算次数"指标.实验结果表明,新算法在解码过程的运算时间随结点可用性的增加以指数级减少,当冗余度≤3且结点的可用性≥0.8时,比随机线性网络编码算法的编码运算时间快33%以上,比解码运算时间快5倍以上,适合应用于"一次写多次读"的云存储系统.
According to structural characteristics and availability requirements of cloud storage,a semirandom linear network coding(SRLNC) algorithm is proposed for data redundancy.The data block is split into pieces,encoded by coding matrix composed of unit row vectors and random row vectors on finite fields GF(2s),stored in data nodes dispersedly.In decoding process,the data block can be restored with the strategy of unit row vectors priority.The probability of unique solution is analyzed for SRLNC decoding equations,a new operations per character index is defined to measure algorithm efficiency.Experiments prove that the operating time of the decoding process in the proposed algorithm exponentially reduces with the increase of the node availability.When the availability of each node ≥ 0.8 and redundancy≤3,the encoding operation of the proposed algorithm is faster up to 33%,and decoding operation of the proposed is 5 times faster than that of random linear network coding algorithm,respectively.It is shown that the proposed algorithm is applicable to "write once read many"cloud storage system.