通过业务写操作修复镜像同步的方法及装置制造方法

文档序号:6552323阅读:149来源:国知局
通过业务写操作修复镜像同步的方法及装置制造方法
【专利摘要】本发明提供通过业务写操作修复镜像同步的方法及装置,该方法包括:在执行将主资源数据同步到镜像资源的同步任务时,将故障区域的故障资源地址记录到缓存资源,并标记主资源与镜像资源的镜像状态为未同步,故障资源地址包括主资源读不成功导致镜像资源无法写入,或主资源读成功而镜像资源写不成功的故障区域的故障资源地址;当写入业务数据时,如果镜像资源写成功,且写成功区域属于故障区域,则清除写成功区域对应的故障资源地址;当同步任务完成,且缓存资源中没有故障资源地址时,将镜像状态标记为已同步。应用本发明在镜像状态为未同步时,只要镜像资源写业务数据成功,就可以替换主资源,为业务提供镜像保护,从而最大化镜像资源的利用率。
【专利说明】通过业务写操作修复镜像同步的方法及装置

【技术领域】
[0001] 本发明涉及存储【技术领域】,尤其涉及一种通过业务写操作修复镜像同步的方法及 装直。

【背景技术】
[0002] 镜像技术是将数据同时写入两份独立的磁盘中,如RAID1 (Redundant Array of Independent Disksl,独立磁盘冗余阵列1),或是写入建立在多个物理资源上的卷资源中。 其中,一个资源称为主资源,另一个资源作为主资源的副本,称为镜像资源,当主资源故障 时,可以将业务切换至镜像资源,以保证业务不中断。在建立主资源与镜像资源的镜像关系 时,通过执行同步任务将主资源的所有数据完全同步到镜像资源,在写入业务数据时,将业 务数据同时写入主资源和镜像资源,以保证二者的数据一致。
[0003] 现有技术中,在执行同步任务时,如果从主资源读取数据失败导致镜像资源无法 写入数据,或者将从主资源读取的数据写入镜像资源失败时,则认为两个资源的镜像状态 为未同步;在未同步状态下,即使镜像资源能够写业务数据成功,也会因为未同步状态,而 无法在主资源故障时提供镜像保护,从而导致业务中断。


【发明内容】

[0004] 本发明提供一种通过业务写操作修复镜像同步的方法及装置,以解决现有技术中 在未同步状态下,写业务数据成功的镜像资源无法提供镜像保护的问题。
[0005] 根据本发明实施例的第一方面,提供一种通过业务写操作修复镜像同步的方法, 所述方法应用于存储设备上,所述存储设备上设置缓存资源,所述方法包括:
[0006] 在执行将主资源数据同步到镜像资源的同步任务时,将故障区域的故障资源地址 记录到所述缓存资源,并标记主资源与镜像资源的镜像状态为未同步,其中,所述故障资源 地址包括主资源读不成功导致镜像资源无法写入的故障区域的故障资源地址,和/或,主 资源读成功而镜像资源写不成功的故障区域的故障资源地址;
[0007] 当写入业务数据时,判断镜像资源是否写成功,如果镜像资源写成功,且写成功区 域属于所述故障区域,则清除所述写成功区域对应的故障资源地址;
[0008] 当所述同步任务完成,且所述缓存资源中没有故障资源地址时,将所述镜像状态 标记为已同步。
[0009] 根据本发明实施例的第二方面,提供一种通过业务写操作修复镜像同步的装置, 所述装置应用于存储设备上,所述存储设备上设置缓存资源,所述装置包括:
[0010] 同步任务执行单元,用于在执行将主资源数据同步到镜像资源的同步任务时,将 故障区域的故障资源地址记录到所述缓存资源,并标记主资源与镜像资源的镜像状态为未 同步,其中,所述故障资源地址包括主资源读不成功导致镜像资源无法写入的故障区域的 故障资源地址,和/或,主资源读成功而镜像资源写不成功的故障区域的故障资源地址; [0011] 业务写维护单元,用于当写入业务数据时,判断镜像资源是否写成功,如果镜像 资源写成功,且写成功区域属于所述故障区域,则清除所述写成功区域对应的故障资源地 址;
[0012] 镜像同步修复单元,用于当所述同步任务完成,且所述缓存资源中没有故障资源 地址时,将所述镜像状态标记为已同步。
[0013] 应用本发明实施例,通过缓存资源记录执行同步任务时主资源上读不成功导致镜 像资源无法写入,或主资源读成功而镜像资源写不成功的故障区域的故障资源地址,当主 资源和镜像资源的镜像状态为未同步时,只要业务写入镜像资源成功,就清除对应故障区 域的故障资源地址,并在同步任务完成且缓存资源中没有故障资源地址时可以将镜像状态 更新为已同步,从而保证只要镜像资源写业务数据成功,就可以替换主资源,为业务提供镜 像保护,从而最大化镜像资源的利用率。

【专利附图】

【附图说明】
[0014] 此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施 例,并与说明书一起用于解释本发明的原理。
[0015] 图1为本发明实施例的应用场景示意图;
[0016] 图2为本发明一种实施方式中镜像资源执行同步任务的流程图;
[0017] 图3是本发明一种实施方式中恢复镜像资源同步状态的方法流程图;
[0018] 图4是本发明一种实施方式中恢复镜像资源同步状态的装置运行的硬件环境架 构图;
[0019] 图5是本发明一种实施方式中恢复镜像资源同步状态的装置框图。

【具体实施方式】
[0020] 本发明中的镜像技术是将数据同时写入两份独立的磁盘中,如RAID1,或是写入建 立在多个物理资源上的卷资源中。参见图1,为本发明实施例的应用场景示意图:
[0021] 图1中,客户端设备通过网络与存储设备通信,存储设备上为两个独立的资源建 立镜像关系,其中一个资源为主资源,另一个资源为镜像资源,主资源和镜像资源上的存储 空间按照资源所在阵列的条带(block)划分,每个条带具有对应的资源地址。当客户端设 备上产生业务数据时,由存储设备将业务数据写入主资源和镜像资源中。写业务数据时,可 以采用同步镜像写入方式,即同时将业务数据写入主资源和镜像资源;也可以采用异步镜 像写入方式,即将业务数据先写入专用cache (缓存),然后再将业务数据从专用cache中分 别写入主资源和镜像资源。本发明中对业务数据的写入方式不进行限制。
[0022] 本发明中存储设备上设置有缓存资源,用来记录主资源与镜像资源执行同步任务 时,从主资源读取数据失败导致镜像资源无法写入的故障区域的故障资源地址。优选的,可 以为该缓存资源提供UPS(Uninterruptible Power Supply,不间断电源)支持,以保证该 缓存资源中记录的故障资源地址不会因为存储设备掉电而丢失。基于缓存资源所记录的故 障资源地址,在写业务数据时,只要业务写入镜像资源成功,就清除对应故障区域的故障资 源地址,并在同步任务完成且缓存资源中没有故障资源地址时可以将镜像状态更新为已同 步,从而保证只要镜像资源写业务数据成功就能够为业务提供镜像保护。下面通过具体实 施例对本发明方案进行详细说明。
[0023] 参见图2,为本发明一种实施方式中镜像资源执行同步任务的流程图:
[0024] 步骤200 :开始执行将主资源同步到镜像资源的同步任务。
[0025] 步骤201 :顺序将主资源阵列上一个条带的数据同步到镜像资源所在阵列的对应 条带上。
[0026] 在为主资源和镜像资源建立镜像关系时,通过执行同步任务,将主资源数据同步 到镜像资源。在执行同步任务时,将在线主资源对应阵列每个条带的数据逐个同步到镜像 资源所在阵列的对应条带上,该同步过程包括从主资源上读取数据,并将数据写入镜像资 源。
[0027] 步骤202 :判断主资源是否在线,若是,则执行步骤203 ;否则,执行步骤208。
[0028] 步骤203:判断主资源数据是否读成功,若是,则执行步骤204;否则,执行步骤 207。
[0029] 步骤204 :判断镜像资源是否在线,若是,则执行步骤205 ;否则,执行步骤208。 [0030] 步骤205 :判断从主资源读出的数据往镜像资源写时是否写成功,若是,则执行步 骤206 ;否则,执行步骤207。
[0031] 步骤206 :判断同步任务是否执行完,若是,则结束当前流程;否则,返回步骤201。
[0032] 步骤207 :将主资源读不成功导致镜像资源无法写入或镜像资源写不成功的故障 区域的故障资源地址记录到缓存资源,并标记主资源与镜像资源的镜像状态为未同步,返 回步骤206。
[0033] 本发明中存储设备上设置了缓存空间,在主资源数据读不成功,或者镜像资源数 据写不成功时,在缓存资源中记录不成功的故障资源地址。在记录故障资源地址时,可以将 组合计算得到的故障资源所对应的LUN(Logical Unit Number,逻辑单元号)标识和实际物 理布局的扇区位置作为故障资源地址。
[0034] 步骤208 :暂停同步任务,结束当前流程。
[0035] 参见图3,是本发明一种实施方式中通过业务写操作修复镜像同步的方法流程图, 该实施例基于图2所示同步执行过程,假设镜像状态为未同步且缓存资源中记录了故障资 源地址:
[0036] 步骤301 :写入业务数据。
[0037] 本发明中写入业务数据可以采用同步写入方式,也可以采用异步写入方式。无论 采用何种写入方式,均根据主资源和镜像资源最终是否写入成功的结果执行相应的操作。 作为一种示例,本实施例描述的业务写入逻辑过程从镜像资源是否写成功开始判断,即先 判断镜像资源的写结果,再判断主资源的写结果;类似的,业务写入逻辑过程也可以从主资 源是否写成功开始判断,即先判断主资源的写结果,再判断镜像资源的写结果,对此本实施 例不再赘述。
[0038] 步骤302 :判断镜像资源是否写成功,若是,则执行步骤303 ;否则,执行步骤309。
[0039] 步骤303 :当写成功区域属于故障区域时,清除缓存中该写成功区域对应的故障 资源地址。
[0040] 在图2示出的同步任务执行过程中,缓存资源记录了因为主资源读数据不成功导 致镜像资源无法写入的故障资源地址,或者是主资源读成功但镜像资源未写成功的故障资 源地址。在业务写入过程中,当业务数据写入到某个故障资源地址对应的故障区域时,如果 镜像资源写成功,则可以清除缓存资源中记录的该故障区域的故障资源地址。
[0041] 步骤304:同步任务完成且缓存资源中没有故障资源地址,将镜像状态标记为已 同步。
[0042] 本发明中业务写入可以发生在执行同步任务过程中,或者执行同步任务完成后。 其中,在同步任务完成且缓存资源中没有故障资源地址时,说明经过多次写业务数据操作, 镜像资源上的所有区域均写成功了正确数据,此时将镜像状态从"未同步"修改为"已同 I K " /J/ 〇
[0043] 步骤305 :判断主资源是否写成功,若是,则执行步骤308 ;否则,执行步骤306。
[0044] 步骤306 :将镜像资源替换主资源,并返回业务成功。
[0045] 本实施例中,在镜像资源写成功,而主资源写不成功时,由于镜像状态已经标记为 "已同步",因此镜像资源可以立刻替换主资源,为业务提供镜像保护。
[0046] 步骤307 :将主资源写不成功的故障区域的故障资源地址记录到缓存资源,并标 记镜像状态为未同步,结束当前流程。
[0047] 步骤306中镜像资源替换主资源后,原镜像资源成为新的主资源,而原主资源成 为新的镜像资源,此时新的镜像资源由于业务写不成功,需要将故障资源地址记录到缓存 资源,由于新的镜像资源无法提供镜像保护,因此将镜像状态从"已同步"再次修改为"未同 步",后续可以根据现有同步机制,重新开始执行镜像同步任务。
[0048] 步骤308 :返回业务成功,结束当前流程。
[0049] 步骤309 :将镜像资源写不成功的故障区域的故障资源地址记录到缓存资源,并 等待执行下次同步任务,结束当前流程。
[0050] 由于镜像资源写不成功,因此镜像资源无法为业务提供镜像保护,需要等待执行 下次同步任务时,对镜像资源进行修复。
[0051] 步骤310 :判断主资源是否写成功,若是,则执行步骤308 ;否则,执行步骤311。
[0052] 步骤311 :返回业务失败,结束当前流程。
[0053] 结合图2和图3所示的实施例可知,本发明通过缓存资源记录执行同步任务时主 资源上读不成功导致镜像资源无法写入或主资源读成功但镜像资源未写成功的故障区域 的故障资源地址,当主资源和镜像资源的镜像状态为未同步时,只要业务写入镜像资源成 功,就清除对应故障区域的故障资源地址,并在同步任务完成且缓存资源中没有故障资源 地址时可以将镜像状态更新为已同步,从而保证只要镜像资源写业务数据成功,就可以替 换主资源,为业务提供镜像保护,从而可以最大化镜像资源的利用率。
[0054] 参见图4,为本发明一种实施方式中恢复镜像资源同步状态的装置运行的硬件环 境架构图:
[0055] 本发明通过业务写操作修复镜像同步的装置的实施例可以应用在存储设备上。装 置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为 例,作为一个逻辑意义上的装置,是通过其所在设备的CPU将非易失性存储器中对应的计 算机程序指令读取到内存中运行形成的。从硬件层面而言,如图4所示,为本发明通过业务 写操作修复镜像同步的装置所在设备的一种硬件结构图,除了图4所示的CPU、内存、网络 接口、以及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其他硬件。
[0056] 参见图5,是本发明一种实施方式中通过业务写操作修复镜像同步的装置框图。
[0057] 所述装置包括:同步任务执行单元510、业务写维护单元520和镜像同步修复单元 530。
[0058] 其中,同步任务执行单元510,用于在执行将主资源数据同步到镜像资源的同步 任务时,将故障区域的故障资源地址记录到所述缓存资源,并标记主资源与镜像资源的镜 像状态为未同步,其中,所述故障资源地址包括主资源读不成功导致镜像资源无法写入的 故障区域的故障资源地址,或主资源读成功而镜像资源写不成功的故障区域的故障资源地 址;
[0059] 业务写维护单元520,用于当写入业务数据时,判断镜像资源是否写成功,如果镜 像资源写成功,且写成功区域属于所述故障区域,则清除所述写成功区域对应的故障资源 地址;
[0060] 镜像同步修复单元530,用于当所述同步任务完成,且所述缓存资源中没有故障资 源地址时,将所述镜像状态标记为已同步。
[0061] 可选的,所述业务写维护单元520,还可以用于在写入业务数据时,如果镜像资源 写成功,且所述镜像状态为已同步,判断主资源是否写成功,如果主资源写不成功,将所述 镜像资源替换所述主资源,并返回业务成功,以及将所述主资源写不成功的故障区域的故 障资源地址记录到所述缓存资源,并标记所述镜像状态为未同步;如果主资源写成功,则返 回业务成功。
[0062] 可选的,所述业务写维护单元520,还可以用于在写入业务数据时,如果镜像资源 写不成功,则将写不成功的故障资源地址记录到所述缓存资源,并等待所述同步任务执行 单元执行下次同步任务。
[0063] 可选的,所述业务写维护单元520,还可以用于在写入业务数据时,如果镜像资源 写不成功,判断所述主资源是否写成功,如果写成功,返回业务成功,如果写不成功,返回业 务失败。
[0064] 上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的 实现过程,在此不再赘述。
[0065] 本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其 它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或 者适应性变化遵循本发明的一般性原理并包括本发明未公开的本【技术领域】中的公知常识 或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的 权利要求指出。
[〇〇66] 应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并 且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
【权利要求】
1. 一种通过业务写操作修复镜像同步的方法,其特征在于,所述方法应用于存储设备 上,所述存储设备上设置缓存资源,所述方法包括: 在执行将主资源数据同步到镜像资源的同步任务时,将故障区域的故障资源地址记录 到所述缓存资源,并标记主资源与镜像资源的镜像状态为未同步,其中,所述故障资源地址 包括主资源读不成功导致镜像资源无法写入的故障区域的故障资源地址,或主资源读成功 而镜像资源写不成功的故障区域的故障资源地址; 当写入业务数据时,判断镜像资源是否写成功,如果镜像资源写成功,且写成功区域属 于所述故障区域,则清除所述写成功区域对应的故障资源地址; 当所述同步任务完成,且所述缓存资源中没有故障资源地址时,将所述镜像状态标记 为已同步。
2. 根据权利要求1所述的方法,其特征在于,所述方法还包括: 在写入业务数据时,如果镜像资源写成功,且所述镜像状态为已同步,判断主资源是否 写成功,如果主资源写不成功,将所述镜像资源替换所述主资源,并返回业务成功; 将所述主资源写不成功的故障区域的故障资源地址记录到所述缓存资源,并标记所述 镜像状态为未同步。
3. 根据权利要求2所述的方法,其特征在于,所述方法还包括: 在写入业务数据时,如果主资源写成功,则返回业务成功。
4. 根据权利要求1所述的方法,其特征在于,所述方法还包括: 在写入业务数据时,如果镜像资源写不成功,则将写不成功的故障资源地址记录到所 述缓存资源,并等待执行下次同步任务。
5. 根据权利要求4所述的方法,其特征在于,所述方法还包括: 在写入业务数据时,如果镜像资源写不成功,判断所述主资源是否写成功,如果写成 功,返回业务成功,如果写不成功,返回业务失败。
6. -种通过业务写操作修复镜像同步的装置,其特征在于,所述装置应用于存储设备 上,所述存储设备上设置缓存资源,所述装置包括: 同步任务执行单元,用于在执行将主资源数据同步到镜像资源的同步任务时,将故障 区域的故障资源地址记录到所述缓存资源,并标记主资源与镜像资源的镜像状态为未同 步,其中,所述故障资源地址包括主资源读不成功导致镜像资源无法写入的故障区域的故 障资源地址,或主资源读成功而镜像资源写不成功的故障区域的故障资源地址; 业务写维护单元,用于当写入业务数据时,判断镜像资源是否写成功,如果镜像资源写 成功,且写成功区域属于所述故障区域,则清除所述写成功区域对应的故障资源地址; 镜像同步修复单元,用于当所述同步任务完成,且所述缓存资源中没有故障资源地址 时,将所述镜像状态标记为已同步。
7. 根据权利要求6所述的装置,其特征在于, 所述业务写维护单元,还用于在写入业务数据时,如果镜像资源写成功,且所述镜像状 态为已同步,判断主资源是否写成功,如果主资源写不成功,将所述镜像资源替换所述主资 源,并返回业务成功,以及将所述主资源写不成功的故障区域的故障资源地址记录到所述 缓存资源,并标记所述镜像状态为未同步。
8. 根据权利要求7所述的装置,其特征在于, 所述业务写维护单元,还用于在写入业务数据时,如果主资源写成功,则返回业务成 功。
9. 根据权利要求6所述的装置,其特征在于, 所述业务写维护单元,还用于在写入业务数据时,如果镜像资源写不成功,则将写不 成功的故障资源地址记录到所述缓存资源,并等待所述同步任务执行单元执行下次同步任 务。
10. 根据权利要求9所述的装置,其特征在于, 所述业务写维护单元,还用于在写入业务数据时,如果镜像资源写不成功,判断所述主 资源是否写成功,如果写成功,返回业务成功,如果写不成功,返回业务失败。
【文档编号】G06F3/06GK104090729SQ201410317976
【公开日】2014年10月8日 申请日期:2014年7月4日 优先权日:2014年7月4日
【发明者】石岩 申请人:浙江宇视科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1