当前位置: 首页 > 专利查询>长安大学专利>正文

一种基于系统最小存储再生码的局部性修复编码方法技术方案

技术编号:12738800 阅读:72 留言:0更新日期:2016-01-20 23:48
本发明专利技术公开了一种基于系统最小存储再生码的局部性修复编码方法,包括构造系统最小存储再生码的存储结构及生成矩阵,建立基于系统最小存储再生码的局部性修复编码结构,采用建立的局部性修复编码对修复组内单节点故障、两不相邻节点故障以及两相邻节点故障进行修复。该局部性修复编码方法采用系统最小存储再生码作为局部码,存储节点存放原始数据副本,降低了存储节点修复过程中的磁盘I/O开销和修复带宽开销;存储节点中冗余数据部分由前后两个存储节点的最小存储再生编码数据部分生成,基于此编码结构,当修复组中存在单节点、两相邻节点以及两不相邻节点故障时,都可以通过前后节点快速实现故障节点数据重构,恢复出故障节点数据。

【技术实现步骤摘要】

本专利技术属于计算机领域,涉及一种基于系统最小存储再生码的局部性修复编码方 法。
技术介绍
分布式存储系统通常采用"复制"和"纠删码"策略生成冗余数据,确保数据存储 的可靠性和可用性。然而"复制"的冗余策略存储代价过高,需要存储大量副本数据确保系 统较高的可靠性,"纠删码"策略在节点修复过程中带宽开销过大,需要存储系统具有较高 的网络带宽。针对"复制"和"纠删码"冗余策略存在的局限性,Dimakis等人提出了再生 码,包括最小存储再生(Minimum Storage Regenerating, MSR)码和最小带宽再生(Minimum Bandwidth Regenerating, MBR)码,但再生码在故障节点修复过程中连接的节点数量较多, 具有较高的磁盘I/O开销,成为存储系统中故障节点修复的主要性能瓶颈。现有的局部性 修复编码虽然具有较低的磁盘I/O开销,但现有局部性修复编码方案修复故障节点时没有 考虑节点存储开销。
技术实现思路
针对上述现有技术中存在的缺陷或不足,本专利技术的目的在于,提供一种基于系统 最小存储再生码的局部性修复编码方法,该方法可以降低故障节点修复过程中的磁盘I/O 开销,且具有较低的节点存储开销。 为了实现上述目的,本专利技术采用如下技术方案: -种基于系统最小存储再生码的局部性修复编码方法,具体包括以下步骤: 步骤一,构造系统MSR码及其存储结构 记分布式存储系统中存储节点的原始信息数据中的信息符号有k位,生成的系统 MSR码有η位,构造(n,k)系统MSR码,则(n,k)系统MSR码c为: c = m · Gmsr 上式中,m = ,表示分布式存储系统中存储节点的原始信息数据, mi,m2,…,11^表示信息符号;Gmsr= kXn,表示(n,k)系统MSR码的生成矩阵,其中I为 kXk单位矩阵,P为kX (n-k)维子矩阵; 根据(n,k)系统MSR码C得到(n,k)系统MSR码的存储结构; 步骤二,构造基于系统MSR码的局部性修复编码 将步骤一得到的系统MSR码作为局部码,在分布式存储系统的存储节点中选取f 个存储节点构成修复组,在该具有f个存储节点的修复组内构造局部性修复编码; 步骤三,修复组内节点故障修复 根据局部性修复编码对修复组内节点进行故障修复。 具体地,所述步骤二的具体实现方法包括: 将步骤一构造出来的系统MSR码作为局部码,给定修复组中f个存储节点的原始 信息数据叫,!!!;;,…,mf;给定修复组中f个存储节点的系统MSR码的生成矩阵GMSRJ,G MSR_2,… ,GMSR_f,得到对应的P1, P2,…,Pf;节点i为f个存储节点中的第i个存储节点,根据第i个 存储节点的原始信息数据叫和P i,得到系统MSR编码数据Hi1P1;用相邻节点i-Ι和i+Ι中 存储的系统MSR编码数据Hi 1 A JPm 1+1P1+1,得到节点i中存储的局部性修复编码生成的冗 余数据 Ini Ji JmwPwc3 具体地,所述步骤三中,根据局部性修复编码对修复组内节点进行故障修复,包括 修复组内单节点i故障修复、修复组内两不相邻节点i-Ι和i+Ι故障修复和修复组内两相 邻节点i和i+Ι故障修复。 具体地,所述修复组内单节点i故障修复,其具体方法包括: 节点i-ι从节点i_2上采集数据IIii 2Pi 2,与自身存储的数据IIii 2Pi JmiPi进行异或 操作,恢复出数据Hi1P1,并传送给节点i ;节点i根据子矩阵Gmsr i中的P i矩阵,恢复出原始 信息数据Hii,节点i从其相邻节点i-Ι和相邻节点i+Ι上分别采集数据Iiii i和m i+1Pi+1, 并对采集到的数据进行异或操作,得到冗余数据Hi1 A 具体地,所述修复组内单节点i故障修复,其具体方法包括: 节点i+Ι从节点i+2上采集数据mi+2Pi+2,与自身存储的数据Iii iPdnv2Pi+;;进行异或 操作,恢复出数据Hi1P1,并传送给节点i ;节点i根据子矩阵Gmsr i中的P i矩阵,恢复出原始 信息数据Hii,节点i从其相邻节点i-Ι和相邻节点i+Ι上分别采集数据Iiii i和m i+1Pi+1, 并对采集到的数据进行异或操作,得到冗余数据Hi1 A 具体地,组内两不相邻节点i-Ι和i+Ι故障修复,其具体方法包括: 对于故障节点i-Ι,通过节点i-3、i-2和节点i实现节点i-Ι上的数据重构,恢复 出原始信息数据In i i、系统MSR编码数据Iiii Ji i和冗余数据Iiii 2Pi JmiPi;节点i-2从节点i-3 上采集数据Hl1 3,与自己存储的数据Hi1 A 3+mi A i进行异或操作,恢复出数据Hl1 A i,并 传送给节点i-Ι ;节点i-Ι根据子矩阵Gmsr i i中的P1 i矩阵,恢复出原始信息数据Hi1 1;节点 i-Ι从其相邻节点i_2和相邻节点i上分别采集数据Hi1 A 2和m A,并对采集到的数据进 行异或操作,得到冗余数据Hi1 J1 Jm1P1; 对于故障节点i+Ι,通过节点i和节点i+2、i+3实现节点i+Ι上的数据重构,恢复 出原始信息数据m 1+1和系统MSR编码数据m 1+1P1+1,以及冗余数据Hi1PJn^2P 1W节点i+2从 节点i+3上采集数据m1+3P1+3,与自己存储的数据m 1+1P1+1+m1+3P1+3进行异或操作,恢复出数据 m1+1P1+1,并传送给节点i+Ι ;节点i+Ι根据子矩阵GMSR_1+1中的P1+1矩阵,恢复出原始信息数据 mi+1;节点i+Ι从其相邻节点i和相邻节点i+2上分别采集数据m力和m i+2Pi+2,并对采集到 的数据进行异或操作,得到冗余数据mR+mwPw。 具体地,所述组内两相邻节点i和i+Ι故障修复,其具体实现方法包括: 对于故障节点i,通过节点i_2和节点i-Ι,重构系统MSR编码数据IiiiP i,进一步通 过MSR编码矩阵GMS[U,恢复原始信息数据mi;故障节点i+Ι通过节点i+2和i+3重构m i+1 和m1+1P1+1;在恢复出系统MSR编码数据m 和m 1+1P1+1的基础上,节点i和i+Ι相互利用对 方MSR编码数据,以及相邻节点i-Ι和i+2上的编码数据Hi1 A JPm1+2P1+2,恢复出冗余数据 Hii A Jnv1Pw和IiiiPdnv2Pi+;;,实现故障节点上的数据重构;节点i-Ι从节点i-2上采集数 据Hi 1 A 2,与自己存储的数据Hi1 A Jm1P1进行异或操作,恢复出数据m A,并传送给节点i ; 节点i根据子矩阵Gmsr i中的P i矩阵,恢复出原始信息数据m1;节点i+2从节点i+3上采集 数据m1+3P1+3,与自己存储的数据m1+1P1+1+m 1+3P1+3进行异或操作,恢复出数据m 1+1P1+1,并传送给 节点i+Ι ;节点i+Ι根据子矩阵GMSR_i+1中的P i+1矩阵,恢复出原始信息数据11^+1;节点i从相 邻节点i-Ι和相邻节点i+Ι上分别采集数据Hi 1 JP m 1+1P1+1,并对采集到的数据进当前第1页1 2 3 4 本文档来自技高网...
一种基于系统最小存储再生码的局部性修复编码方法

【技术保护点】
一种基于系统最小存储再生码的局部性修复编码方法,其特征在于,具体包括以下步骤:步骤一,构造系统MSR码及其存储结构分布式存储系统中存储节点的原始信息数据中的信息符号有k位,生成的系统MSR码有n位,构造(n,k)系统MSR码,则(n,k)系统MSR码c为:c=m·GMSR上式中,m=[m1m2…mk],表示分布式存储系统中存储节点的原始信息数据,m1,m2,…,mk表示信息符号;GMSR=[I|P]k×n,表示(n,k)系统MSR码的生成矩阵,其中I为k×k单位矩阵,P为k×(n‑k)维子矩阵;根据(n,k)系统MSR码c得到(n,k)系统MSR码的存储结构;步骤二,构造基于系统MSR码的局部性修复编码将步骤一得到的系统MSR码作为局部码,在分布式存储系统的存储节点中选取f个存储节点构成修复组,在该具有f个存储节点的修复组内构造局部性修复编码;步骤三,修复组内节点故障修复根据局部性修复编码对修复组内节点进行故障修复。

【技术特征摘要】

【专利技术属性】
技术研发人员:王静段宗涛杨洋
申请(专利权)人:长安大学
类型:发明
国别省市:陕西;61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1