书签 分享 收藏 举报 版权申诉 / 9

一种数据镜像时保证业务有效性的方法和装置.pdf

  • 上传人:b***
  • 文档编号:6360102
  • 上传时间:2019-06-04
  • 格式:PDF
  • 页数:9
  • 大小:481.06KB
  • 摘要
    申请专利号:

    CN201510309186.3

    申请日:

    2015.06.05

    公开号:

    CN104915152A

    公开日:

    2015.09.16

    当前法律状态:

    授权

    有效性:

    有权

    法律详情:

    授权|||实质审查的生效IPC(主分类):G06F 3/06申请日:20150605|||公开

    IPC分类号:

    G06F3/06

    主分类号:

    G06F3/06

    申请人:

    浙江宇视科技有限公司

    发明人:

    熊小兰; 石岩

    地址:

    310051浙江省杭州市滨江区西兴街道江陵路88号10幢南座1-11层

    优先权:

    专利代理机构:

    北京博思佳知识产权代理有限公司11415

    代理人:

    林祥

    PDF完整版下载: PDF下载
    内容摘要

    本发明提供一种数据镜像时保证业务有效性的方法,包括:设置记录镜像资源数据有效性标识的表项;初始时,每一条表项均记录镜像资源数据无效的无效标识;在镜像资源和主资源同步过程中,上层业务下发第一写IO,如果该第一写IO在写主资源失败且写镜像资源成功时,将该第一写IO在镜像资源的对应数据区中写入的数据的标识置为有效标识,且向上层业务返回成功;在镜像资源和主资源同步过程中,当上层业务下发读IO时,判断该读IO对应的镜像资源中的数据的标识是否为有效标识,如果是,则读取镜像资源中的该数据,否则,读取主资源中的对应数据。本发明方案实现存储业务的持续性和有效性,避免了镜像资源备份数据的功能盲区。

    权利要求书

    权利要求书
    1.  一种数据镜像时保证业务有效性的方法,该方法应用于存储设备,该存储设备包括主资源和镜像资源,其特征在于,该方法包括:
    设置记录镜像资源数据有效性标识的表项;初始时,每一条表项均记录镜像资源数据无效的无效标识;
    在镜像资源和主资源同步过程中,上层业务下发第一写IO,如果该第一写IO在写主资源失败且写镜像资源成功时,将该第一写IO在镜像资源的对应数据区中写入的数据的标识置为有效标识,且向上层业务返回成功;
    在镜像资源和主资源同步过程中,当上层业务下发读IO时,判断该读IO对应的镜像资源中的数据的标识是否为有效标识,如果是,则读取镜像资源中的该数据,否则,读取主资源中的对应数据。

    2.  如权利要求1所述的方法,其特征在于,在镜像资源和主资源同步过程中,上层业务下发第二写IO,如果该第二写IO待写的数据区与第一写IO待写的数据区相同时,若该第二写IO写主资源成功,则清除第一写IO在镜像资源中写入的数据的有效标识。

    3.  如权利要求2所述的方法,其特征在于,主资源中的某一数据在同步到镜像资源对应数据区时,如果所述镜像资源对应数据区中的数据的标识为有效标识,则禁止将主资源中的该数据同步到镜像资源中。

    4.  如权利要求3所述的方法,其特征在于,在镜像资源和主资源同步完成时,若之前同步过程中上层业务下发的每一个写IO写镜像资源均成功,则判断所述表项是否存在有效标识,如果存在,则触发镜像顶替。

    5.  如权利要求4所述的方法,其特征在于,镜像顶替完成后,将新的镜像资源标记为未同步状态,或者将新的镜像资源之前写失败的数据区中的数据标记为无效。

    6.  一种数据镜像时保证业务有效性的装置,该装置应用于存储设备,该存储设备包括主资源和镜像资源,其特征在于,该装置包括:
    表项设置单元,用于设置记录镜像资源数据有效性标识的表项;初始时,每一条表项均记录镜像资源数据无效的无效标识;
    标识记录单元,用于在镜像资源和主资源同步过程中,上层业务下发第一写IO,如果该第一写IO在写主资源失败且写镜像资源成功时,将该第一写IO在镜像资源的对应数据区中写入的数据的标识置为有效标识,且向上层业务返回成功;
    数据读取单元,用于在镜像资源和主资源同步过程中,当上层业务下发读IO时,判断该读IO对应的镜像资源中的数据的标识是否为有效标识,如果是,则读取镜像资源中的该数据,否则,读取主资源中的对应数据。

    7.  如权利要求6所述的装置,其特征在于,该标识记录单元,还用于在镜像资源和主资源同步过程中,上层业务下发第二写IO,如果该第二写IO待写的数据区与第一写IO待写的数据区相同时,若该第二写IO写主资源成功,则清除第一写IO在镜像资源中写入的数据的有效标识。

    8.  如权利要求7所述的装置,其特征在于,所述装置还包括:数据同步单元,用于主资源中的某一数据在同步到镜像资源对应数据区时,如果所述镜像资源对应数据区中的数据的标识为有效标识,则禁止将主资源中的该数据同步到镜像资源中。

    9.  如权利要求8所述的装置,其特征在于,所述装置还包括:镜像顶替单元,用于在镜像资源和主资源同步完成时,若之前同步过程中上层业务下发的每一个写IO写镜像资源均成功,则判断所述表项是否存在有效标识,如果存在,则触发镜像顶替。

    10.  如权利要求9所述的装置,其特征在于,所述标识记录单元,还用于镜像顶替完成后,将新的镜像资源标记为未同步状态,或者将新的镜像资源之前写失败的数据区中的数据标记为无效。

    说明书

    说明书一种数据镜像时保证业务有效性的方法和装置
    技术领域
    本发明涉及存储技术领域,尤其涉及数据镜像时保证业务有效性的方法和装置。
    背景技术
    存储中的一种镜像技术建立在多个物理资源之上的卷资源中,一个资源(镜像资源)作为另外一个资源(主资源)精确、完整的副本,并在主盘故障时将业务无缝切换至镜像盘(镜像顶替),确保将物理磁盘发生故障所引起的停机时间降到最少,从而为存储网络提供高可用性。新创建的基于卷资源的镜像在镜像关系建立后,需要进行一次主资源到镜像资源的所有数据完全同步,以保证两资源的数据一致。只有在镜像资源和主资源完全一致时(称为已同步状态),镜像资源才能在主资源失效时,顶替主资源提供服务(镜像顶替)。
    当主资源跟镜像资源已完成同步时,如果上层业务读写主资源失败,会触发镜像顶替,转由镜像资源提供业务读写;当主资源和镜像资源还未完成同步时,则不满足镜像顶替条件,主资源读写失败时业务会直接报错。具体地,镜像未达到已同步状态时,主资源写失败则业务直接返回失败,不管镜像资源是否写成功,数据是否可用。后续在同步未完成时,业务读取前述写失败的数据,由于无法读镜像资源,主资源会直接返错;后续即使在同步完成之后,业务读该部分数据时,因为之前写失败了,不论读主资源或者镜像资源都会返回错误。
    发明内容
    有鉴于此,本发明提供一种数据镜像时保证业务有效性的方法和装置。
    该数据镜像时保证业务有效性的方法包括:设置记录镜像资源数据有效性标识的表项;初始时,每一条表项均记录镜像资源数据无效的无效标识;在镜像资源和主资源同步过程中,上层业务下发第一写IO,如果该第一写IO在写主资源失败且写镜像资源成功时,将该第一写IO在镜像资源的对应数据区中写入的数据的标识置为有效标识,且向上层业务返回成功;在镜像资源和主资源同步过程中,当上层业务下发读IO时,判断该读IO对应的镜像资源中的数据的标识是否为有效标识,如果是,则读取镜像资源中的该数据,否则,读取主资源中的对应数据。
    优选地,在镜像资源和主资源同步过程中,上层业务下发第二写IO,如果该第二写IO待写的数据区与第一写IO待写的数据区相同时,若该第二写IO写主资源成功,则清除第一写IO在镜像资源中写入的数据的有效标识。
    优选地,主资源中的某一数据在同步到镜像资源对应数据区时,如果所述镜像资源对应数据区中的数据的标识为有效标识,则禁止将主资源中的该数据同步到镜像资源中。
    优选地,在镜像资源和主资源同步完成时,若之前同步过程中上层业务下发的每一个写IO写镜像资源均成功,则判断所述表项是否存在有效标识,如果存在,则触发镜像顶替。
    优选地,镜像顶替完成后,将新的镜像资源标记为未同步状态,或者将新的镜像资源之前写失败的数据区中的数据标记为无效。
    该数据镜像时保证业务有效性的装置包括:表项设置单元,用于设置记录镜像资源数据有效性标识的表项;初始时,每一条表项均记录镜像资源数据无效的无效标识;标识记录单元,用于在镜像资源和主资源同步过程中,上层业务下发第一写IO,如果该第一写IO在写主资源失败且写镜像资源成功时,将该第一写IO在镜像资源的对应数据区中写入的数据的标识置为有 效标识,且向上层业务返回成功;数据读取单元,用于在镜像资源和主资源同步过程中,当上层业务下发读IO时,判断该读IO对应的镜像资源中的数据的标识是否为有效标识,如果是,则读取镜像资源中的该数据,否则,读取主资源中的对应数据。
    优选地,该标识记录单元,还用于在镜像资源和主资源同步过程中,上层业务下发第二写IO,如果该第二写IO待写的数据区与第一写IO待写的数据区相同时,若该第二写IO写主资源成功,则清除第一写IO在镜像资源中写入的数据的有效标识。
    优选地,所述装置还包括:数据同步单元,用于主资源中的某一数据在同步到镜像资源对应数据区时,如果所述镜像资源对应数据区中的数据的标识为有效标识,则禁止将主资源中的该数据同步到镜像资源中。
    优选地,所述装置还包括:镜像顶替单元,用于在镜像资源和主资源同步完成时,若之前同步过程中上层业务下发的每一个写IO写镜像资源均成功,则判断所述表项是否存在有效标识,如果存在,则触发镜像顶替。
    优选地,所述标识记录单元,还用于镜像顶替完成后,将新的镜像资源标记为未同步状态,或者将新的镜像资源之前写失败的数据区中的数据标记为无效。
    相较于现有技术,本发明的方案实现了同步过程中,上层业务写主资源失败写镜像资源成功情况下,上层业务成功读取任何数据的可能性。这样就能保证业务的持续性和有效性,避免了镜像资源备份数据的功能盲区。
    附图说明
    图1是本发明一种存储设备的基础硬件架构图。
    图2是本发明实施例装置的逻辑结构图。
    图3是本发明实施例一种记录镜像资源数据有效性标识的表项图。
    图4是本发明实施例有效性标识表项内容变换图。
    具体实施方式
    针对背景技术中提到的技术问题,本发明提供一种数据镜像过程中保证业务有效性的方案。以下通过具体实施例详细说明。
    图1所示为本发明一种存储设备的基础硬件架构。本发明实施例在此硬件架构的基础上可以通过计算机程序来实现。请参图2,在计算机程序实现的实施例中,本发明的数据镜像过程中保证业务有效性装置逻辑上包括以下单元:表项设置单元、标识记录单元和数据读取单元。其中,表项设置单元,用于设置记录镜像资源数据有效性标识的表项;初始时,每一条表项均记录镜像资源数据无效的无效标识。标识记录单元,用于在镜像资源和主资源同步过程中,上层业务下发第一写IO,如果该第一写IO在写主资源失败且写镜像资源成功时,将该第一写IO在镜像资源的对应数据区中写入的数据的标识置为有效标识,且向上层业务返回成功。数据读取单元,用于在镜像资源和主资源同步过程中,当上层业务下发读IO时,判断该读IO对应的镜像资源中的数据的标识是否为有效标识,如果是,则读取镜像资源中的该数据,否则,读取主资源中的对应数据。进一步地,本发明实施例的装置还包括数据同步单元和镜像顶替单元。这两个单元在本发明实施例中的功能请参下文详细描述。
    记录镜像资源数据有效性标识的每一条表项指向镜像资源的某一数据区(数据区为存储数据的空间),如果表项中记录的标识为有效,则表示对应的数据区中的数据有效。每条表项所指向的数据区的大小可以自行设置,比如说可以设置为16(MB)。如果镜像资源总的大小为N(MB),则需要的表项数目M=N/16。初始时,每个表项中填入的都是无效标识。请参图3给出的记录镜像资源数据有效性标识的表项。其中,填入1的表项表示其指向的镜像资源数据区中的数据有效,填入0的表项表示其指向的镜像资源数据区中的数据无效。当然,这里的0和1仅是一种举例。
    在镜像同步开始后,主资源中的数据将依次被同步到镜像资源中。在该 同步过程中,上层业务会存在读写数据的需求。对于写IO,需要在主资源和镜像资源中对应的数据区都写入数据。对于读IO,通常都是读主资源对应数据区的数据。在主资源和镜像资源数据同步过程中,上层业务下发一个写IO,该写IO在写入主资源数据区和镜像资源数据区时,出现了写主资源失败,但是写镜像资源成功的情况,此时可以将标识镜像资源数据有效的表项置为1,并向上层业务返回成功。请参图4的一个例子,初始时,表示镜像资源数据是否有效的表项均填入0;在同步过程中,上层业务下发了写IO,该写IO在主资源数据区x中写失败,在对应镜像资源数据区y中写成功了,镜像资源数据区y对应表项7,故,表项7中的标识将由0改为1。这里需要说明的是,如果当前镜像资源数据区y中的数据尚未被同步,则后续同步到该数据区时,由于其标识为1,则执行主资源和镜像资源数据同步的数据同步单元禁止将主资源中的对应的数据同步到该镜像资源数据区中。因为此时,镜像资源数据区中的数据是有效的,而主资源中由于之前的写失败从而其中的数据是无效的。
    镜像同步过程中,上层业务存在读需求,数据读取单元首先判断待读的主资源数据区对应的镜像资源数据区中的数据的有效性标识是否为有效,如果是,则读取镜像资源中的该数据,否则,读取主资源中的数据。还是以图4为例,如果读业务需要读取的数据是主资源中的数据区x中的数据,而该数据区x对应的镜像资源数据区为y,该数据区y对应的数据的有效性标识为表项7中的标识,当前为有效标识“1”,所以数据读取单元读取镜像资源数据区y中的数据。如果读业务需要读取主资源的数据区对应的镜像资源数据区非数据区y,而是其他有效标识为0的数据区,则数据读取单元读取主资源中的数据。
    通过上述方法,在同步未完成时,虽然写主资源失败,但是镜像资源写成功了,镜像资源此部分数据是有效的,通过镜像资源数据有效标识表示未同步状态下镜像资源的数据有效性,这样就能保证业务的持续性和有效性,避免了镜像资源备份数据的功能盲区。
    更进一步地,在主资源和镜像资源同步过程中,如果上层业务需要再一次写之前出现写错误的主资源数据区,比如说,需要写主资源数据区x(之前写该数据区时出现了写错误,而写其对应的镜像资源数据y时写成功了),但本次写该主资源数据区成功了,则标识记录单元需要清除该主资源数据区对应的镜像资源数据区中数据的有效标识,即将之前的“1”改为“0”。由于该业务写在执行对主资源写的时候也需要执行对镜像资源的写操作,在对镜像资源写数据时,有可能写成功,也有可能写失败,但是这里不论镜像资源是否写成功,都需要将标识置为无效。这样处理,可以避免出现数据一致性问题。这样的处理方式非常简单,只要镜像数据对应的是无效标识,则以主资源中的数据为准。
    当镜像资源和主资源同步完成时(此时主资源和镜像资源中的数据不一定完全一致),若镜像同步过程中所有的业务写在镜像资源中均写成功了,则镜像顶替单元判断镜像资源数据有效性标识的各个表项中是否存在有效标识,如果是,则主动触发镜像顶替,否则不进行镜像顶替。这里的镜像顶替为特殊强制性顶替,不同于现有技术中的镜像顶替。这样处理,可以提前置换掉非健康状态的主资源,保证业务的可靠性。在镜像顶替后,可以有不同的处理:可直接将新的镜像资源(即原来的主资源)同步状态置为未同步,表示需要重新进行镜像初始同步;或者是将新的镜像资源之前写失败的数据区中数据的标记置为无效,表示与新的主资源不一致。
    以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

    关 键  词:
    一种 数据 镜像时 保证 业务 有效性 方法 装置
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:一种数据镜像时保证业务有效性的方法和装置.pdf
    链接地址:https://www.zhuanlichaxun.net/p-6360102.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1