【技术实现步骤摘要】
一种数据编码方法、系统、设备以及介质
[0001]本专利技术涉及数据编码领域,具体涉及一种数据编码方法、系统、设备以及存储介质。
技术介绍
[0002]纠删码(erasure coding,EC)是一种数据保护方法,它将数据分割成片段,把冗余数据扩展、编码,并将其存储在不同的位置,比如磁盘、存储节点或者其它地理位置。将原始数据分割成k个数据块,并根据编码矩阵生成m编码块,将n(n=k+m)块分布到不同的服务器上。只需要k个块就可以恢复原来的数据。
[0003]参数配置:k:数据块。k表示将原始数据划分的块数和恢复原始数据的最小块数。k值越小,发生故障时,数据重构的代价越大;k值越大,需要多路数据拷贝,增加网络和IO的负载。
[0004]m:编码块。m影响数据保存的可靠性和存储成本。取值越大,对故障的容忍度大,数据的冗余度也会增加,存储成本也会提高。
[0005]n:生成块数(n=k+m)有效存储比:k/n传统的纠删码编码一般利用范德蒙或柯西矩阵,其编码如图1所示,图中待编码的数据块为k=5个,编码需求 ...
【技术保护点】
【技术特征摘要】
1.一种数据编码方法,其特征在于,包括以下步骤:获取待编码的数据块矩阵和编码矩阵,其中编码矩阵的行数为待编码的数据块的总数量K+3,列数为数据块的总数量K,第一编码矩阵的前K行K列构成的矩阵为单位矩阵,第K+1行至第K+3行的元素为:其中,r为纠删恢复数量,H为,表示m
‑
1的单位阵,m为H的行数或列数,表示m
‑
1列的全0行向量,表示m
‑
1行的全0列向量,且H满足阿贝尔乘法群;利用所述编码矩阵乘以数据块矩阵以得到校验块,其中校验块的数量等于r;将所述校验块存储到预设位置。2.如权利要求1所述的方法,其特征在于,还包括:响应于若干个数据块和/或校验块错误,利用所述编码矩阵和剩余正确的数据块和所述校验块恢复错误的若干个数据块和/或校验块。3.如权利要求2所述的方法,其特征在于,利用所述编码矩阵和剩余正确的数据块和所述校验块恢复错误的若干个数据块和/或校验块,进一步包括:将所述编码矩阵中错误的数据块和/或校验块对应的行删除得到恢复矩阵;利用所述恢复矩阵得到所述恢复矩阵的逆矩阵,其中所述逆矩阵中所有元素通过单位矩阵、矩阵H以及矩阵H的幂次方表示;根据阿贝尔乘法群Q确定矩阵H的不同幂次方之间的对应关系以求得所述逆矩阵中所有元素;利用所述逆矩阵乘以剩余的正确数据块和校验块构成的矩阵得到所有的数据块以恢复错误的数据块;再次利用编码矩阵对所述恢复的数据块进行编码以恢复错误的校验块。4.如权利要求3所述的方法,其特征在于,将所述编码矩阵中错误的数据块和/或校验块对应的行删除得到恢复矩阵,进一步包括:判断所述恢复矩阵的对角线是否存在元素0;响应于存在元素0,调整恢复矩阵中行的顺序。5.一种数据编码系统,其特征在于,包括:获取模块,配置为获取待编码的数据块矩阵和编码矩阵,其中编码矩阵的行数为待编码的数据块的总数量K+3,列数为数据块的总数量K,第一编码...
【专利技术属性】
技术研发人员:吴睿振,张旭,陈静静,张永兴,王凛,刘彤,
申请(专利权)人:苏州浪潮智能科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。