一种数据保护方法、装置以及系统的制作方法

文档序号:9579154阅读:845来源:国知局
一种数据保护方法、装置以及系统的制作方法
【技术领域】
[0001] 本发明涉及计算机技术,特别涉及一种数据保护方法、装置以及系统。
【背景技术】
[0002] 随着数据量的增长以及对数据安全性的要求越来越高,由于各种原因发生数据损 坏,导致数据损失的事件越来越多。所以存储厂商也开始注重在存储系统比如磁盘阵列系 统中采取数据保护措施,以保证数据的完整性。
[0003] 目前,在存储系统中进行数据保护的方法包括:将各个数据存储到存储系统中,并 利用各个数据计算出校验和,将计算出的校验和也保存在存储系统中。当发现在存储系统 中的某些数据被损坏时,利用未损坏的数据和校验和恢复出被损坏的数据。
[0004] 但是目前,一般是在需要到存储系统中读取备份的数据的时候,才检查存储系统 中的数据是否发生损坏,如果损坏,才进行数据恢复处理,因此,不能及时感知到存储系统 中的数据损坏。

【发明内容】

[0005] 本发明提供一种数据保护方法、装置以及系统,能够及时感知到存储系统中的数 据损坏。
[0006] -种数据保护的方法,确定纠错矩阵;所述纠错矩阵的行数为M,所述第一矩阵的 列数为S;S为大于等于2的自然数;Μ为大于等于(S+2)的自然数;纠错矩阵中每一位上的 数值为预设定值;还包括:
[0007] 根据S个数据块以及纠错矩阵,计算该S个数据块对应的存储矩阵;该存储矩阵中 包括S个数据块以及纠错码;
[0008] 将S个数据块以及对应的存储矩阵保存到存储系统中;
[0009] 每当到达检测周期时,检测所述存储系统中的所述S个数据块是否发生损坏,如 果是,利用该S个数据块对应的存储矩阵,恢复发生损坏的数据块。
[0010] 所述S为4;所述Μ为6;
[0011] 所述纠错矩阵戈
其中,C1至C8为预设的常数;
[0012] 所述根据S个数据块以及纠错矩阵计算该S个数据块对应的存储矩阵包括:
[0013] 计算
与4个数据块DO至D3组成的矩阵
[0014]
丨乘积,得到存储矩P
,其中,K1和K2为计算出的数值。
[0015] 所述利用该S个数据块对应的存储矩阵,恢复发生损坏的数据块包括:
[0016] 利用存储矩罔以及所述纠错矩P
,得到D0至D3中发生 损坏的数据块。
[0017] 在所述恢复发生损坏的数据块之后,进一步包括:
[0018] 将对应发生损坏的第一数据块所恢复出的数据块写入到所述存储系统的新的有 效区域内;
[0019] 当需要读取第一数据块时,从所述新的有效区域内直接读取所述恢复出的数据。
[0020] 所述存储系统为磁盘。
[0021] -种数据保护的装置,包括:
[0022] 纠错矩阵保存单元,用于保存纠错矩阵,所述纠错矩阵的行数为M,所述第一矩阵 的列数为S;S为大于等于2的自然数;Μ为大于等于(S+2)的自然数;
[0023] 存储矩阵计算单元,用于根据待保存的S个数据块以及所述纠错矩阵保存单元所 保存的纠错矩阵,计算该S个数据块对应的存储矩阵;该存储矩阵中包括S个数据块以及纠 错码;
[0024] 存储执行单元,用于将待保存的S个数据块以及所述存储矩阵计算单元对应的存 储矩阵保存到存储系统中;
[0025] 恢复单元,用于每当到达检测周期时,检测所述存储系统中的所述S个数据块是 否发生损坏,如果是,利用存储系统中的S个数据块对应的存储矩阵,恢复发生损坏的数据 块。
[0026] 所述纠错矩阵保存单元包括:
[0027] 第一保存子单元,用于保存纠错矩時
;其中,C1至C8为预设的常 数;
[0028] 所述存储矩阵计算单元包括:
[0029] 第一计算子单元,用于计寞
_4个数据块D0至D3组成的矩阵

1勺乘积,得到存储矩阵 ,其中,K1和K2为计算出的数值。
[0030] 所述恢复单元中包括:
[0031] 第一数据恢复子单元,用于利用存储矩P
以及所述纠错矩阵
得到D0至D3中发生损坏的数据块。
[0032] 进一步包括:数据读取单元,其中,
[0033] 所述存储执行单元,在所述恢复单元恢复发生损坏的数据块之后,将对应发生损 坏的第一数据块所恢复出的数据块写入到所述存储系统的新的有效区域内;
[0034] 数据读取单元,用于当需要读取第一数据块时,从所述新的有效区域内直接读取 所述恢复出的数据。
[0035] 一种数据保护系统,包括磁盘以及上述任意一种数据保护装置。
[0036] 本发明实施例提供的数据保护方法、装置及系统,能够每当到达检测周期时,主动 检测存储系统中的S个数据块是否发生损坏,如果是,利用该S个数据块对应的存储矩阵, 恢复发生损坏的数据块。因此,不是现有技术中等到需要读取数据时,才检测存储系统中的 数据是否发生损坏。因此,本发明实施例能够更为及时地感知到存储系统中的数据损坏。【附图说明】
[0037] 图1是本发明一个实施例中数据保护方法的流程图。
[0038]图2是本发明另一个实施例中数据保护方法的流程图。
[0039]图3是本发明一个实施例中数据保护装置的结构示意图。
[0040]图4是本发明另一个实施例中数据保护装置的结构示意图。
【具体实施方式】
[0041]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本 发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实 施例,都属于本发明保护的范围。
[0042]本发明一个实施例提出了一种数据保护的方法,该实施例方法预先确定纠错矩 阵;所述纠错矩阵的行数为M,该纠错矩阵的列数为S;S为大于等于2的自然数;Μ为大于 等于(S+2)的自然数,之后,参见图1,该实施例方法包括:
[0043]步骤101:根据S个数据块以及纠错矩阵,计算该S个数据块对应的存储矩阵;该 存储矩阵中包括S个数据块以及纠错码;纠错矩阵中每一位上的数值为预设定值;
[0044]步骤102 :将S个数据块以及对应的存储矩阵保存到存储系统中;
[0045]步骤103 :每当到达检测周期时,检测所述存储系统中的所述S个数据块是否发生 损坏,如果是,执行步骤104,否则,结束当前流程。
[0046]步骤104 :利用该S个数据块对应的存储矩阵,恢复发生损坏的数据块。
[0047]可见,在上述图1所示的本发明实施例中,能够每当到达检测周期时,主动检测存 储系统中的S个数据块是否发生损坏,如果是,利用该S个数据块对应的存储矩阵,恢复发 生损坏的数据块。因此,不是现有技术中等到需要读取数据时,才检测存储系统中的数据是 否发生损坏。因此,本发明实施例能够更为及时地感知到存储系统中的数据损坏。
[0048]进一步地,基于上述图1所示的方法,由于纠错矩阵的行数为Μ,列数为S;S为大 于等于2的自然数;Μ为大于等于(S+2)的自然数,这样,针对S个数据块,在后续恢复数据 块时,根据矩阵对应的方程次数,就可以一次恢复出至少两个数据块,提高了恢复效率。
[0049]在本发明一个实施例中,可以针对4个数据块为一个存储单元,也就是说,针对4 个数据块设计一个6*4的纠错矩阵,并得到存储矩阵,后续恢复时,可以同时恢复该4个数 据块中的两个数据库。在此种情况下,上述图1所示过程中的S为4;Μ为6。也就是说,纠 错矩阵是一个行数为6,列数为4的矩阵,并且,纠错矩阵具体可以:
其 中,C1至C8为预设的常数。基于此纠错矩阵,步骤101中,根据S个即4个数据块以及纠 错矩阵计算该S个数据块对应的存储矩阵包括:
[0050] 计算与4个数据块DO至D3组成的矩P
]乘积,得到存储矩降
其中,K1和K2为计算出的数值。
[0051] 相应地,在利用上述6*4的纠错矩阵及4个数据块为一个处理单元的方式,将该4 个数据块及对应的存储矩阵保存到存储系统中后,相应地,步骤104中,利用该S个数据块 对应的存储矩阵,恢复发生损坏的数据块包括:
[0052] 利用存储矩p
以及所述纠错矩阵
得到D0至D3中发生 损坏的数据块。具体地,由于纠错矩阵和K1和K2为定值,则可以根据例如二元一次方程对D0至D3中损坏的例如两个数据块进行恢复处理。
[0053] 为了进一步保证快速恢复,在上述步骤10在恢复发生损坏的数据块之后,进一步 包括:
[0054] 将对应发生损坏的第一数据块所恢复出的数据块写入到所述存储系统的新的有 效区域内;
[0055] 当需要读取第一数据块时,从所述新的有效区域内直接读取所述恢复出的数据。
[0056] 在本发明的一些实施例中,所述存储系统为磁盘。
[0057] 为了更加清楚地说明本发明实施例中进行数据保护方法的过程,以存储系统为磁 盘为例,结合图2所示过程进行说明,包括:
[0058] 步骤201:设置6*4的纠错矩阵如下:
[0059]
;其中,C1至C8为预设的常数。
[0060] 本步骤中,将纠错矩阵设置为此种形式,是为了保证既得到与待存储的数据块相 同的各个数据块,又得到相应的纠错码。
[0061] 并且,行数为列数加2,列数为一个恢复单元中数据块的个数。这样,则可以保证后 续根据多元一次方程组,一次恢复出多个数据块。
[0062] 步骤202 :获取当前需要存储的4个数据块,比如,为DO,Dl,D2和D3。
[0063] 步骤203 :利用6*4的纠错矩阵以及当前获取的4个数据块组成的4*1矩阵,计算 出6*1的存储矩阵。
[0064] 这里,计算公式为 其 中,K1和K2为计算出的数值。
[0065] 执行到本步骤,则计算出了对应于当前获取的4个数据块的当前存储矩P
可见,本实施例中,存储矩阵中的前4个数值等于待存储的当前4个数据块,后2个数值等 于矩阵乘法后得到的数值。
[0066] 步骤204 :将
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1