一种数据一致性校验的方法和装置的制造方法

文档序号:9326807阅读:319来源:国知局
一种数据一致性校验的方法和装置的制造方法
【技术领域】
[0001] 本发明涉及计算机存储技术,特别涉及一种数据一致性校验的方法和装置。
【背景技术】
[0002] 随着计算机技术的发展,数据呈海量增长。需要将数据存储到存储设备比如磁盘 阵列中,以备后续使用。
[0003] 在将数据存储到存储设备中时,可能会出现存储错误,比如,一些数据的存储位置 发生错误,不同的数据在存储位置上发生重叠。为了避免后续从存储设备中读取数据时发 生错误,则在将数据存储到存储设备中后,需要对所存储的数据进行一致性校验,以便能够 根据一致性校验结果,调整数据的存储位置。
[0004]目前的数据一致性校验方法主要包括:针对每一个需要存储到存储设备中的数 据,计算其对应的校验码;将数据存储到存储设备中;当需要校验数据的一致性时,利用预 先得到的数据的校验码和对应存储位置上的数据的校验码进行对比,如果一致,则通过一 致性校验。
[0005] 然而,目前的数据一致性校验方法,仅仅通过校验码的方式,无法更为准确地对数 据进行一致性校验。

【发明内容】

[0006] 本发明提供一种数据一致性校验的方法和装置,能够使得数据一致性校验更为准 确。
[0007] -种数据一致性校验的方法,包括:
[0008] 针对每一个需要存储的数据单元,确定该数据单元对应的逻辑块地址LBA ;
[0009] 将每一个数据单元对应的LBA携带在该数据单元中;
[0010] 将各个数据单元存储到存储设备中;
[0011] 在针对存储设备中存储的第一数据单元进行数据一致性校验时,利用第一数据单 元中携带的LBA校验存储该第一数据单元的第一存储位置是否正确,如果正确,则确定一 致性校验通过,否则,确定一致性校验失败。
[0012] 在所述一致性校验失败后,进一步包括:根据所述第一数据单元中携带的LBA,确 定所述存储设备中的第二存储位置,将所述第一数据单元存储到所述第二存储位置。
[0013] 进一步包括:预先设置包尾标识;
[0014] 所述将每一个数据单元对应的LBA携带在该数据单元中进一步包括:在每一个数 据单元的尾部携带所述包尾标识;
[0015] 在所述利用第一数据单元中携带的LBA校验存储该第一数据单元的第一存储位 置之后,并在所述确定一致性校验通过之前,进一步包括:
[0016] 利用第一数据单元中携带的所述包尾标识进行一致性验证。
[0017] 所述利用第一数据单元中携带的所述包尾标识进行一致性验证包括:
[0018] 从所述第一数据单元的包头开始,逐帧向后查找,判断在查找到下一个数据单元 的包头之前,是否查找到所述包尾标识,如果查找到,则确定一致性校验通过,否则,确定一 致性校验失败。
[0019] 所述包尾标识包括:测试文件名、设备序列号和测试线程号中的任意一个或多个。
[0020] 当所述包尾标识中包括测试文件名时,所述利用第一数据单元中携带的所述包尾 标识进行一致性验证包括:判断当前执行数据一致性校验的测试文件的名称是否与第一数 据单元中的测试文件名匹配,如果是,则确定数据一致性校验通过,否则,校验失败;
[0021] 当所述包尾标识中包括设备序列号时,所述利用第一数据单元中携带的所述包尾 标识进行一致性验证包括:判断当前执行数据一致性校验的设备的序列号是否与第一数据 单元中的设备序列号匹配,如果是,则确定数据一致性校验通过,否则,校验失败;
[0022] 当所述包尾标识中包括测试线程号时,所述利用第一数据单元中携带的所述包尾 标识进行一致性验证包括:判断当前执行数据一致性校验的线程的线程号是否与第一数据 单元中的测试线程号匹配,如果是,则确定数据一致性校验通过,否则,校验失败。
[0023] -种数据一致性校验的装置,包括:
[0024] 数据单元处理模块,用于针对每一个需要存储的数据单元,确定该数据单元对应 的逻辑块地址LBA,将每一个数据单元对应的LBA携带在该数据单元中;
[0025] 存储模块,用于将各个数据单元存储到存储设备中;
[0026] 校验执行模块,用于在针对存储设备中存储的第一数据单元进行数据一致性校验 时,利用第一数据单元中携带的LBA校验存储该第一数据单元的第一存储位置是否正确, 如果正确,则确定一致性校验通过,否则,确定一致性校验失败。
[0027] 包括:所述数据单元处理模块,进一步在每一个数据单元的尾部携带预先设置的 包尾标识;
[0028] 所述校验执行单元,在所述确定一致性校验通过之前,利用第一数据单元中携带 的所述包尾标识进行一致性校验。
[0029] 所述校验执行单元包括:
[0030] 第一校验执行子单元,用于在执行所述利用第一数据单元中携带的所述包尾标识 进行一致性验证时,具体从所述第一数据单元的包头开始,逐帧向后查找,判断在查找到下 一个数据单元的包头之前,是否查找到所述包尾标识,如果查找到,则确定一致性校验通 过,否则,确定一致性校验失败。
[0031] 所述校验执行单元包括:
[0032] 第二校验执行子单元,用于在执行所述利用第一数据单元中携带的所述包尾标识 进行一致性校验时,
[0033] 当所述包尾标识中包括测试文件名时,第二校验执行子单元判断当前执行数据一 致性校验的测试文件的名称是否与第一数据单元中的测试文件名匹配,如果是,则确定数 据一致性校验通过,否则,校验失败;
[0034] 当所述包尾标识中包括设备序列号时,第二校验执行子单元判断当前执行数据一 致性校验的设备的序列号是否与第一数据单元中的设备序列号匹配,如果是,则确定数据 一致性校验通过,否则,校验失败;
[0035] 当所述包尾标识中包括测试线程号时,第二校验执行子单元判断当前执行数据一 致性校验的线程的线程号是否与第一数据单元中的测试线程号匹配,如果是,则确定数据 一致性校验通过,否则,校验失败。
[0036] 本发明实施例提供的数据一致性校验的方法和装置,对数据单元的结构进行了改 动,将能够反映数据单元预期写入位置的LBA携带在数据单元中,这样,在后续进行数据一 致性校验时,则可以基于LBA来判断数据单元的实际存储位置与预期写入位置是否相同, 如果不相同,则可以确定出数据一致性校验失败,如果相同,则可以确定出数据一致性校验 通过。可见,通过在需要存储的数据单元中携带LBA的方式,能够使得数据一致性校验更为 准确。
【附图说明】
[0037] 图1是本发明一个实施例中进行数据一致性校验的流程图。
[0038] 图2是本发明另一个实施例中进行数据一致性校验的流程图。
[0039] 图3是本发明一个实施例中数据块错位情况示意图。
[0040] 图4是本发明一个实施例中数据块重叠情况示意图。
[0041] 图5是本发明一个实施例数据一致性校验装置的结构示意图。
【具体实施方式】
[0042] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本 发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实 施例,都属于本发明保护的范围。
[0043] 本发明一个实施例提出了一种数据一致性校验的方法,参见图1,包括:
[0044] 步骤101 :针对每一个需要存储的数据单元,确定该数据单元对应的逻辑块地址 LBA ;
[0045] 步骤102 :将每一个数据单元对应的LBA携带在该数据单元中;
[0046] 步骤103 :将各个数据单元存储到存储设备中;
[0047] 步骤104 :在针对存储设备中存储的第一数据单元进行数据一致性校验时,利用 第一数据单元中携带的LBA校验存储该第一数据单元的第一存储位置是否正确,如果正 确,则执行步骤105,否则,执行步骤106。
[0048] 步骤105 :确定一致性校验通过,结束当前流程;
[0049] 步骤106 :确定一致性校验失败。
[0050] 可见,本发明实施例的数据一致性校验的方法对数据单元的结构进行了改动,将 能够反映数据单元预期写入位置的LBA携带在数据单元中,这样,在后续进行数据一致性 校验时,则可以基于LBA来判断数据单元的实际存储位置与预期写入位置是否相同,如果 不相同,则可以确定出数据一致性校验失败,如果相同,则可以确定出数据一致性校验通 过。可见,通过在需要存储的数据单元中携带LBA的方式,能够使得数据一致性校验更为准 确。
[0051] 基于本发明实施例中,在数据单元中携带LBA的方式,能够为数据一致性校验提 供该数据单元的准确预期写入位置,
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1