System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机,特别涉及一种独立磁盘冗余阵列的构建及纠错方法、设备及介质。
技术介绍
1、目前各种独立磁盘冗余阵列(redundant array of independent disks,raid)技术,均是以数据加校验值的方式,对数据进行冗余保护,主要防止硬盘损坏导致数据损失。上述防范场景为确定性的硬盘损坏,由于大型独立磁盘冗余阵列运行环境复杂,可能存在传输干扰和数据错乱,进一步可能发生硬盘未报错但是数据读取错误的情况,然而传统技术没有对其鉴别对错的能力。
2、为此,上述问题亟待本领域技术人员解决。
技术实现思路
1、有鉴于此,本专利技术的目的在于提供一种独立磁盘冗余阵列的构建及纠错方法、装置、设备及介质,能够实现不依赖硬盘报错的主动纠错机制,提高了独立磁盘冗余阵列中的硬盘数据的安全性,其具体方案如下:
2、第一方面,本申请公开了一种独立磁盘冗余阵列的构建及纠错方法,包括:
3、按照目标分组码的信息位长度对待写入数据进行划分,并根据相应的划分结果构建与所述待写入数据对应的源数据矩阵;
4、根据所述源数据矩阵以及所述目标分组码的目标生成矩阵构建第一矩阵,并将所述第一矩阵中的数据写入目标独立磁盘冗余阵列的各个硬盘;
5、按照预设条带大小从所述各个硬盘中分别读取硬盘数据,并根据所述硬盘数据和所述目标分组码的码组长度构建第二矩阵,然后根据所述第二矩阵和所述目标分组码的目标校验矩阵构建第三矩阵;
6、通过所述第
7、可选的,所述当所述目标硬盘符合坏盘判定标准,则对所述目标硬盘启动预设的坏盘处理流程,包括:
8、在同一个条带中,若所述目标硬盘发生错误的次数满足预设错误次数阈值,则判定所述目标硬盘符合所述坏盘判定标准,并对所述目标硬盘启动所述预设的坏盘处理流程。
9、可选的,所述当所述目标硬盘符合坏盘判定标准,则对所述目标硬盘启动预设的坏盘处理流程,包括:
10、当所述目标硬盘符合所述坏盘判定标准,则确定目标假设结果;所述目标假设结果为预先假定所述目标硬盘中的所有所述硬盘数据为0;
11、基于所述目标假设结果并利用所述第三矩阵对所述硬盘数据进行校验,然后根据校验结果对发生错误的所述硬盘数据置1,以实现所述目标硬盘的数据恢复。
12、可选的,所述独立磁盘冗余阵列的构建及纠错方法,还包括:
13、根据所述目标分组码的校验位长度构建目标生成多项式,并根据所述校验位长度构建目标未知项的各次幂;
14、将所述目标未知项的各次幂与所述目标生成多项式进行模二取余运算,然后通过相应的运算结果构建所述目标生成矩阵。
15、可选的,所述独立磁盘冗余阵列的构建及纠错方法,还包括:
16、判断所述目标分组码的所述码组长度是否为一个字节的整数倍;
17、若所述码组长度不是一个字节的整数倍,则增加所述校验位长度,以使调整后的所述码组长度为一个字节的整数倍;
18、根据所述目标分组码的当前校验位长度构建新目标生成矩阵以及新目标校验矩阵;
19、相应的,所述根据所述硬盘数据和所述目标分组码的码组长度构建第二矩阵,然后根据所述第二矩阵和所述目标分组码的目标校验矩阵构建第三矩阵,包括:
20、根据所述硬盘数据和调整后的所述码组长度构建新第二矩阵,并根据所述新第二矩阵和所述新目标校验矩阵构建新第三矩阵;
21、相应的,所述通过所述第三矩阵对所述各个硬盘进行校验,并根据校验结果对发生错误的目标硬盘进行纠正,包括:
22、将所述新第三矩阵的当前校验位中的最后一位确定为和校验位,并根据所述和校验位判断是否需要对发生错误的所述目标硬盘进行纠正。
23、可选的,所述独立磁盘冗余阵列的构建及纠错方法,还包括:
24、若所述目标独立磁盘冗余阵列中的硬盘数量少于调整后的所述码组长度,则控制所述当前校验位长度不变,并将所述目标分组码中的目标信息位对应的数据置零。
25、可选的,所述将所述第一矩阵中的数据写入目标独立磁盘冗余阵列的各个硬盘,包括:
26、将所述第一矩阵中的每行数据并行写入所述目标独立磁盘冗余阵列的各个硬盘。
27、可选的,所述目标分组码为(15,11),其中,所述码组长度为15,所述校验位长度为4,则增加目标分组码的所述校验位长度为5,以使调整后的所述码组长度为一个字节的整数倍,相应的,所述新目标生成矩阵为:
28、
29、所述新目标校验矩阵为:
30、
31、第二方面,本申请公开了一种独立磁盘冗余阵列的构建及纠错装置,包括:
32、源数据构建模块,用于按照目标分组码的信息位长度对待写入数据进行划分,并根据相应的划分结果构建与所述待写入数据对应的源数据矩阵;
33、数据写入模块,用于根据所述源数据矩阵以及所述目标分组码的目标生成矩阵构建第一矩阵,并将所述第一矩阵中的数据写入目标独立磁盘冗余阵列的各个硬盘;
34、矩阵构建模块,用于按照预设条带大小从所述各个硬盘中分别读取硬盘数据,并根据所述硬盘数据和所述目标分组码的码组长度构建第二矩阵,然后根据所述第二矩阵和所述目标分组码的目标校验矩阵构建第三矩阵;
35、数据校验模块,用于通过所述第三矩阵对所述各个硬盘进行校验,并根据校验结果对发生错误的目标硬盘进行纠正,当所述目标硬盘符合坏盘判定标准,则对所述目标硬盘启动预设的坏盘处理流程。
36、第三方面,本申请公开了一种电子设备,包括:
37、存储器,用于保存计算机程序;
38、处理器,用于执行所述计算机程序,以实现前述公开的独立磁盘冗余阵列的构建及纠错方法。
39、第四方面,本申请公开了一种计算机可读存储介质,用于保存计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的独立磁盘冗余阵列的构建及纠错方法。
40、可见,本申请提出了一种独立磁盘冗余阵列的构建及纠错方法,包括:按照目标分组码的信息位长度对待写入数据进行划分,并根据相应的划分结果构建与所述待写入数据对应的源数据矩阵;根据所述源数据矩阵以及所述目标分组码的目标生成矩阵构建第一矩阵,并将所述第一矩阵中的数据写入目标独立磁盘冗余阵列的各个硬盘;按照预设条带大小从所述各个硬盘中分别读取硬盘数据,并根据所述硬盘数据和所述目标分组码的码组长度构建第二矩阵,然后根据所述第二矩阵和所述目标分组码的目标校验矩阵构建第三矩阵;通过所述第三矩阵对所述各个硬盘进行校验,并根据校验结果对发生错误的目标硬盘进行纠正,当所述目标硬盘符合坏盘判定标准,则对所述目标硬盘启动预设的坏盘处理流程。综上可见,本申请根据源数据矩阵本文档来自技高网...
【技术保护点】
1.一种独立磁盘冗余阵列的构建及纠错方法,其特征在于,包括:
2.根据权利要求1所述的独立磁盘冗余阵列的构建及纠错方法,其特征在于,所述当所述目标硬盘符合坏盘判定标准,则对所述目标硬盘启动预设的坏盘处理流程,包括:
3.根据权利要求1所述的独立磁盘冗余阵列的构建及纠错方法,其特征在于,所述当所述目标硬盘符合坏盘判定标准,则对所述目标硬盘启动预设的坏盘处理流程,包括:
4.根据权利要求1所述的独立磁盘冗余阵列的构建及纠错方法,其特征在于,还包括:
5.根据权利要求4所述的独立磁盘冗余阵列的构建及纠错方法,其特征在于,还包括:
6.根据权利要求5所述的独立磁盘冗余阵列的构建及纠错方法,其特征在于,还包括:
7.根据权利要求1至6任一项所述的独立磁盘冗余阵列的构建及纠错方法,其特征在于,所述将所述第一矩阵中的数据写入目标独立磁盘冗余阵列的各个硬盘,包括:
8.根据权利要求5所述的独立磁盘冗余阵列的构建及纠错方法,其特征在于,所述目标分组码为(15,11),其中,所述码组长度为15,所述校验位长度为4,则
9.一种电子设备,其特征在于,包括:
10.一种计算机可读存储介质,其特征在于,用于保存计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述的独立磁盘冗余阵列的构建及纠错方法。
...【技术特征摘要】
1.一种独立磁盘冗余阵列的构建及纠错方法,其特征在于,包括:
2.根据权利要求1所述的独立磁盘冗余阵列的构建及纠错方法,其特征在于,所述当所述目标硬盘符合坏盘判定标准,则对所述目标硬盘启动预设的坏盘处理流程,包括:
3.根据权利要求1所述的独立磁盘冗余阵列的构建及纠错方法,其特征在于,所述当所述目标硬盘符合坏盘判定标准,则对所述目标硬盘启动预设的坏盘处理流程,包括:
4.根据权利要求1所述的独立磁盘冗余阵列的构建及纠错方法,其特征在于,还包括:
5.根据权利要求4所述的独立磁盘冗余阵列的构建及纠错方法,其特征在于,还包括:
6.根据权利要求5所述的独立磁盘冗余阵列的构建及纠错方法,其特征在于,还包括...
【专利技术属性】
技术研发人员:王禹,马艳,孙明刚,
申请(专利权)人:山东云海国创云计算装备产业创新中心有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。