一种数据镜像时保证业务有效性的方法和装置制造方法及图纸

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

【技术实现步骤摘要】

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

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

【技术特征摘要】

【专利技术属性】
技术研发人员:熊小兰石岩
申请(专利权)人:浙江宇视科技有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1