分布式存储系统中的混合冗余容错编解码方法及系统的制作方法_2

文档序号:9491633阅读:来源:国知局
当前网络状况值小于所述判断 阈值时,判定输出网络状况不好。
[0065] 更进一步,如图2所示,当网络状况不好,采用非线性自修复码编码方式对数据进 行编码和解码的步骤包括:
[0066] 步骤201,数据分块,将目标数据分割成若干大小相等的数据块,定义码本c,定义 目标数据分块个数N,数据块B,,j e [l,N],j是整数,则全部编码数据B= {Bi,B2,…,BJ, 通常一个网络数据包的结构包括版本号、包头长度等信息。B]数据块是将除了信息之外的 数据部分平均分割,简单说就是矩阵。例如共1024B数据,平分成4块,就是按顺序每256B 视作一块Bj,网络共有K个节点。
[0067] 步骤202,通过构建非线性多项式对所述数据块进行循环编码,确定编码的目标是 对每个数据块 B],通过一个相同的码本c映射得到L维的编码矢量V = (Vl,V2,…,vj,其 中L>N,即V1= c*B i,Vj= c*B j,码本c通过非线性多项式计算得到;
[0068] p定义为
其中k为网络 节点的个数,其中e [1,N],i为整数,中的非零元素,则Ci1也是矩阵。
[0069] 步骤203,对全部数据块构建新的空间基为2M,则有B =取,B2,…,BN} e 2M,M为 单个数据块的尺寸,将每个数据块通过上一步计算得到的相应的码本c在所述空间基上 进行映射,得到L维的编码矢量V = (V1, V2,…,V1)。
[0070] 步骤204, 一般情况下,通过码本c,对从编码端获得的编码矢量V = (Vl,v2,~ ,Α),进行解码,得到每个数据块B' ,= C*',,其中B',为解码端与相对应的数据块, 在编码矢量没有任何丢失的情况下B' ^=B j。步骤205,在网络状况不好的条件下,编码 矢量V可能会丢失,因此需要通过牛顿多项式插值进行相应部分的解码。假设某个编码矢 量Vi丢失,则对L维的编码矢量V = (V D v2, Vi vi+1…,vj进行牛顿多项式插值来解码的 具体方法为:
[0071] 将所述数据块和所述编码矢量之间的关系用η次牛顿多项式表示为:
[0073] 其中a^"an,为待求解系数,n e [1,Ν],η为整数,η为V "的个数,η(χ)表 示编码矢量为X时对应的数据块,则有:
[0076] ..........
[0077] 以此类推可以得到全部^,代入上式可以得到B' "的全部值。如图3所示,本发 明还提供分布式存储系统中的混合冗余容错编解码系统包括:
[0078] 判断网络状况模块301,用于判断网络状况的好坏;
[0079] 非线性自修复码编解码模块302,用于网络状况不好时通过对数据进行编码、解 码,恢复原始数据;
[0080] Reed-Solomen纠删码编解码模块303,用于网络状况良好时通过对数据进行编 码、解码,恢复原始数据。
[0081] 在一些实施方式中,判断网络状况模块301包括:
[0082] 响应时间测试模块301a,用于测试网络的响应时间;
[0083] 带宽能量测试模块30Ib,用于测试网络带宽能量值,并与所述响应时间作比计算 得出网络状况值。
[0084] 在一些实施方式中,非线性自修复码编解码模块302包括:
[0085] 数据分块模块302a,用于将目标数据分割成若干大小相等的数据块;
[0086] 非线性多项式循环编码模块302b,用于对所述数据块编码,获得相应的可映射所 述数据块的编码信息;
[0087] 构建空间基模块302c,用于将每个数据块通过相应的所述编码信息在所述空间基 上进行映射得到编码矢量;
[0088] 解码模块302d,用于通过解码获得原始数据。
[0089] 在一些实施方式中解码模块302d包括:
[0090] 牛顿多项式差值解码模块302山,用于所述编码矢量丢失时,通过对所述数据块和 所述编码矢量关系构建牛顿多项式,计算得出全部原始数据;
[0091] 编码矢量解码模块302d2,用于所述编码矢量没有丢失时对所述编码矢量进行解 码。
[0092] 从上面所述可以看出,本发明提供的分布式存储系统中的混合冗余容错编解码方 法和系统通过采用两种编解码混合的容错技术和判断网络状况模块、Reed-Solomen纠删码 编解码模块、非线性自修复码编解码模块减少了网络传输数据量,同时参与数据恢复运算 的数据量和重建时间能够明显减少。
[0093] 采用牛顿多项式差值解码模块,通过已损编码信息的少量本地相关编码信息或片 段对其进行重构,提高维护数据冗余的效率,解决少量丢失编码信息重构问题,可较大程度 的降低丢包导致的数据重组困难。
[0094] 所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非 旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本发明的思路下,以上实施例 或者不同实施例中的技术特征之间也可以进行组合,并存在如上所述的本发明的不同方面 的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明的精神和原则之内, 所做的任何省略、修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【主权项】
1. 一种分布式存储系统中的混合冗余容错编解码方法,其特征在于,包括: 判断当前输出网络状况的好坏; 若当前输出网络状况良好,则采用Reed-Solomen纠删码编码方式对数据进行编码; 若当前输出网络状况不好,则采用非线性自修复码编码方式对数据进行编码; 对采用不同编码方式编码得到的数据,采用相对应的解码方式对数据进行解码。2. 根据权利要求1所述的方法,其特征在于,所述判断当前输出网络状况的好坏的步 骤包括: 确定判断阔值,定义单次网络状况值=网络带宽化PS)/响应时间(ms),反复测试多组 网络带宽和响应时间数据,通过计算得到多个网络状况值,算出网络状况值的平均值,W该 平均值作为判断阔值; 对比判断当前输出网络状况好坏,将当前网络状况值与所述判断阔值比较,当前网络 状况值大于所述判断阔值时,判定输出网络状况良好,当前网络状况值小于所述判断阔值 时,判定输出网络状况不好。3. 根据权利要求1所述的方法,其特征在于,所述采用非线性自修复码编码方式对数 据进行编码和解码的步骤包括: 数据分块,将目标数据分割成若干大小相等的数据块; 通过构建非线性多项式对所述数据块进行循环编码; 构建新的空间基,将每个数据块通过构建非线性多项式获得的相应编码信息在所述空 间基上进行映射得到编码矢量; 若编码矢量丢失,通过对所述数据块和所述编码矢量之间关系构建牛顿多项式,计算 得出全部原始数据; 若编码矢量没有丢失,通过对所述编码矢量解码获得原始数据。4. 根据权利要求3所述的方法,其特征在于,所述数据分块的步骤包括: 定义目标数据分块个数N,单个数据块B,,je[1,闲,j为整数; 目标数据B=巧1,Bz,…,BJ。5. 根据权利要求4所述的方法,其特征在于,所述通过构建非线性多项式对数据块进 行循环编码步骤包括: 定义码本C;确定编码的目标:对所有数据块B,通过码本C映射得到L维的编码矢量V =(Vi,V2,…,Vl),L〉N,即V.j=C地.j; 构建非线性多项式,,其中k为网络节点的个数; 码本c= (ρ(αι),ρ(α2),…,ρ(〇),其中曰1为Bi,ie[1,闲,i为整数,中的非零 元素,实现循环编码。6. 根据权利要求5所述的方法,其特征在于,所述空间基是2M,则B=巧1,B2,… ,BJe2M,其中Μ是数据块的尺寸。7. -种分布式存储系统中的混合冗余容错编解码系统,其特征在于,包括: 判断网络状况模块,用于判断网络状况的好坏; Reed-Solomen纠删码编解码模块,用于网络状况良好时通过对数据进行编码、解码,恢 复原始数据; 非线性自修复码编解码模块,用于网络状况不好时通过对数据进行编码、解码,恢复原 始数据。8. 根据权利要求7所述的系统,其特征在于,所述判断网络状况模块包括: 响应时间测试模块,用于测试网络的响应时间; 带宽能量测试模块,用于测试网络带宽能量值,并与所述响应时间作比计算得出网络 状况值。9. 根据权利要求7所述的系统,其特征在于,所述非线性自修复码编解码模块包括: 数据分块模块,用于将目标数据分割成若干大小相等的数据块; 非线性多项式循环编码模块,用于对所述数据块编码,获得相应的可映射所述数据块 的编码?目息。 构建空间基模块,用于将每个数据块通过相应的所述编码信息在所述空间基上进行映 射得到编码矢量; 解码模块,用于通过解码获得原始数据。10. 根据权利要求9所述的系统,其特征在于,所述解码模块包括: 牛顿多项式差值解码模块,用于所述编码矢量丢失时,通过对所述数据块和所述编码 矢量关系构建牛顿多项式,计算得出全部原始数据; 编码矢量解码模块,用于所述编码矢量没有丢失时对所述编码矢量解码。
【专利摘要】本发明公开了一种分布式存储系统中的混合冗余容错编解码方法包括:判断当前输出网络状况的好坏;若当前输出网络状况良好,采用Reed-Solomen纠删码编码方式对数据进行编码;若当前输出网络状况不好,则采用非线性自修复码编码方式;对采用不同编码方式编码得到的数据,采用相对应的解码方式对数据进行解码。本发明还公开了一种分布式存储系统中的混合冗余容错编解码系统,包括:判断网络状况模块,Reed-Solomen纠删码编解码模块,非线性自修复码编解码模块。本发明提供的分布式存储系统中的混合冗余容错编解码方法和系统,根据不同网络状况采取不同的容错方式,降低对存储和网络带宽的要求,通过解决少量编码信息重构问题,较大程度降低丢包导致的数据重组困难。
【IPC分类】H04L1/00
【公开号】CN105245314
【申请号】CN201510685199
【发明人】孙乔, 付兰梅, 邓卜乔, 杨毅, 裴旭斌
【申请人】北京国电通网络技术有限公司, 国家电网公司, 国网浙江省电力公司, 北京中电飞华通信股份有限公司, 清华大学, 北京万里开源软件有限公司
【公开日】2016年1月13日
【申请日】2015年10月20日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1