一种连跳复制的方法及装置与流程

文档序号:17600361发布日期:2019-05-07 20:12阅读:482来源:国知局
一种连跳复制的方法及装置与流程

本发明涉及数据处理技术领域,尤其涉及一种连跳复制方法及装置。



背景技术:

在大数据时代,数据量越来越大,数据也越来越重要,把数据保存在专门的存储设备中,并通过存储设备的数据保护特性提高数据可靠性已经成为主流方式。

复制是传统数据保护特性之一,也是应对“硬灾难”的常用方案。硬灾难,故名思议,指“硬”的灾难,通常指由于raid(redundantarraysofindependentdrives,独立磁盘冗余阵列)故障、地震、火灾等因素导致生产数据物理上损坏或者不能读取。通过复制技术,可以在灾备中心为生产数据卷保存一份数据副本卷,副本数据卷和生产成数据卷在物理上独立,当生产数据卷发生硬灾难时,可使用副本数据卷进行数据恢复。

现有技术中,连跳复制是一种保护性更高的复制方案,连跳复制是一种为lun(logicalunitnumber,逻辑单元号,通常为基于raid创建的独立可用的存储空间)生成多个副本的方案;比如luna是生产数据卷,通过连跳复制将luna中的数据复制到lunb,由lunb再复制到lunc,由lunc继续复制到lund等;其中,该连跳复制中,由luna复制到lunb为第一跳复制,由lunb再复制到lunc为第二跳复制,依此类推;在连跳复制中,在每一跳复制的源lun,都需要持续统计新写入的数据,并跟踪记录该源lun的数据的变化,根据该数据的变化情况进行将数据复制到目标lun。该种方式中,由于第二跳复制及以后的第n(n大于2)跳复制的源lun每次有数据更新时都需要统计并记录数据的变化,会影响数据更新的效率,进而会影响复制的效率。



技术实现要素:

有鉴于此,本发明提供一种连跳复制的方法及装置,以解决现有技术方案中存在的问题与不足。

本申请是通过如下技术方案实现的:

第一方面,本申请实施例中提供了一种连跳复制的方法,包括:

获取上一跳复制的第一传输位图,根据所述第一传输位图得到当前跳复制中的源lun的差异位图;当前跳复制被触发时,根据所述差异位图得到当前跳复制中的第二传输位图;其中,所述第一传输位图与所述第二传输位图用于标记将要进行传输的数据;所述差异位图用于记录当前跳复制中的源lun的数据更新情况;

按照所述第二传输位图中所标记的数据,将当前跳复制中的所述源lun中的与所述标记的数据一致的数据传输至当前跳复制中的目标lun。

第二方面,本申请实施例提供了一种连跳复制的装置,包括:

获取模块,用于获取上一跳复制的第一传输位图,根据所述第一传输位图得到当前跳复制中的源lun的差异位图;当前跳复制被触发时,根据所述差异位图得到当前跳复制中的第二传输位图;其中,所述第一传输位图与所述第二传输位图用于标记将要进行传输的数据;所述差异位图用于记录当前跳复制中的源lun的数据更新情况;

传输模块,用于按照所述第二传输位图中所标记的数据,将当前跳复制中的所述源lun中的与所述标记的数据一致的数据传输至当前跳复制中的目标lun。

第三方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如第一方面所述方法的步骤。

第四方面,本申请实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述方法的步骤。

本申请实施例提供的一种连跳复制的方法及装置,与现有的技术相比,在连跳复制的过程中,在除了第一跳复制的其他复制过程中,源lun可以直接根据上一跳复制的传输位图生成差异位图,无需持续统计并记录源lun中数据的变化,具有效率高的积极效果。

附图说明

图1为本申请一实施例中提供的连跳复制的示例图;

图2为本申请一实施例中提供的一种连跳复制的方法的流程示意图;

图3为本申请一实施例中提供的一种连跳复制的装置的结构示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

考虑到现有技术中,在进行连跳复制过程中,需要对每一跳复制的源lun的数据变化进行统计和记录,此时会影响该复制源lun数据更新的效率,并且影响整个连跳复制的效率;基于此,本申请实施例提供了一种连跳复制的方法及装置。

图1为本申请一实施例中提供的连跳复制的示例图;参照图1所示,在该连跳复制过程中,将lunx中的数据复制到luny中,然后将luny中的数据复制到lunz中。上述lunx、luny、lunz分别为不同的独立的存储空间。其中,在将lunx中的数据复制到luny中的过程中,lunx中的数据为生产数据,luny中的数据为副本数据,lunx和luny构成一个复制对,在该复制对中lunx称为该复制对的源lun,luny称为该复制对的目标lun,并且该复制对为本连跳复制中的第一跳复制。在将luny中的数据复制到lunz中的过程中,luny和lunz构成一个复制对,在该复制对中luny称为该复制对的源lun,lunz称为该复制对的目标lun,并且该复制对为本连跳复制中的第二跳复制;可见在该连跳复制中,luny为第一跳复制的目标lun,同时为第二跳复制的源lun。

在将源lun中的数据复制到目标lun中的过程中,需要实时记录该源lun中的数据的更新情况,通过设置差异位图的方式跟踪记录该源lun中的数据的变化,进而源lun的每个写io均需要更新该差异位图,在触发复制以后,根据该差异位图生成传输位图,该传输位图中标记了哪些数据需要传输至目标lun,进而可以根据该传输位图进行将源lun中的数据复制到目标lun。

上述触发复制的方式可以是设置每隔预设时间段进行复制一次,例如每隔一个小时进行复制一次,也可以是在检测到数据变化量达到预设阈值时进行复制一次。

上述的连跳复制方案中,lunx是生产数据卷,同时作为第一跳复制(lunx-luny复制对)中的源lun,通过差异位图跟踪生产数据变化情况,当第一跳复制开始时,根据该差异位图生成传输位图,进而根据该传输位图将lunx中的数据复制到luny;luny作为第一跳复制(lunx-luny复制对)中的目标lun,仅在复制过程中才会写入数据到luny,同时,luny还作为第二跳复制(luny-lunz复制对)中的源lun,写入数据过程中还需要更新luny的差异位图;在第二跳复制(luny-lunz复制对)中,本次复制的数据是由lunx的传输位图决定的,因为仅传输位图标记的数据才会复制到luny中;因此,可以推导出,lunx上本次复制使用的传输位图等同于本次复制过程中复制数据写入luny时在luny上产生的差异位图。即,可以通过lunx的传输位图生成luny的差异位图,无需在luny上持续统计新写入的数据,按照差异位图记录差异数据。

图2为本申请一实施例中提供的一种连跳复制的方法的流程示意图。参照图2所示,该方法包括如下步骤s100-s102:

s100、获取上一跳复制的第一传输位图,根据所述第一传输位图得到当前跳复制中的源lun的差异位图;当前跳复制被触发时,根据所述差异位图得到当前跳复制中的源lun的第二传输位图;其中,所述第一传输位图与所述第二传输位图分别用于标记将要进行传输的数据;所述差异位图用于记录当前跳复制中的源lun的数据更新情况。

以图1中所示的三连跳复制为例,在第一跳复制(lunx-luny复制对)中,在判断第一跳复制的目标lun(luny)既为目标lun又作为第二跳复制的源lun时,具体的判断方法可以是通过该lun上所设置的标签进行判断(目标lun、源lun和同时作为目标lun、源lun的lun分别具有不同的标签),luny可以获取到第一跳复制的第一传输位图,根据该第一传输位图生成第二跳复制中的源lun(luny)的差异位图,进一步的根据该差异位图生成第二跳复制的第二传输位图。

上述步骤s100中,根据所述第一传输位图得到差异位图,可以是通过如下步骤a10实现:

步骤a10、更改所述第一传输位图的标记位与所述当前跳复制中的源lun的差异位图的标记位一致,将更改标记位后的所述第一传输位图作为所述当前跳复制中的源lun的差异位图。

为便于区分,传输位图与差异位图分别具有不同标记位,由于差异位图与第一传输位图的内容一致,所以在得到第一传输位图以后可以直接将第一传输位图的标记位进行修改,使第一传输位图的标记位与差异位图的标记位一致,然后将修改标记位后的第一传输位图作为差异位图。

上述步骤s100中,在根据差异位图得到当前跳复制中的源lun的第二传输位图之后,还包括如下步骤b10:

步骤b10、清空所述差异位图。

在当前跳复制中,在根据差异位图得到第二传输位图以后,清空该差异位图,进而便于该差异位图记录下一次复制前的源lun中的数据变化。

本申请一实施例中,在根据差异位图得到当前跳复制中的源lun的第二传输位图之后,将该源lun的写io挂起;在清空差异位图之后,将挂起的源lun的写io释放。如此可以保证复制的数据与更新的数据一致。

上述在清空差异位图之后,还创建本次复制时间点和本次复制视图。该复制视图基于时间点创建,可用于查看时间点对应时刻lun中数据,类似于照片。

s102、按照所述第二传输位图中所标记的数据,将当前跳复制中的所述源lun中的与所述标记的数据相对应的数据传输至当前跳复制中的目标lun。

上述在第二跳复制中可以根据第二传输位图进行将源lun(luny)中的数据传输到目标lun(lunz)中。

复制完成时,在本次复制对的源lun上删除本次复制视图、本次复制时间点,并清空本次复制传输位图。

本申请实施例中,在当前跳复制中利用上一跳复制的传输位图,生成差异位图,无需实时记录和跟踪当前跳复制中源lun中的数据的更新,提高了源lun数据更新的效率,进而提高了连跳复制的效率。

本申请一实施例中,上述在将当前跳复制中的源lun中的与第二传输位图所标记的数据相对应的数据传输至当前跳复制中的目标lun后,继续判断该目标lun是否是下一跳复制的源lun,如果是,则将所述第二传输位图传输至所述目标lun,该目标lun作为下一跳复制的源lun,根据第二传输位图得到下一跳复制中的差异位图,并自动触发下一跳复制。进而下一跳复制中也无需记录和跟踪源lun中的数据的变化。

图3为本申请一实施例中提供的一种连跳复制的装置的结构示意图。参照图3所示,该装置,包括:

获取模块300,用于获取上一跳复制的第一传输位图,根据所述第一传输位图得到当前跳复制中的源lun的差异位图;当前跳复制被触发时,根据所述差异位图得到当前跳复制中的第二传输位图;其中,所述第一传输位图与所述第二传输位图用于标记将要进行传输的数据;所述差异位图用于记录当前跳复制中的源lun的数据更新情况;

传输模块302,用于按照所述第二传输位图中所标记的数据,将当前跳复制中的所述源lun中的与所述标记的数据一致的数据传输至当前跳复制中的目标lun。

本申请一可选的实施例中,上述获取模块300,具体用于:

更改所述第一传输位图的标记位与所述当前跳复制中的源lun的差异位图的标记位一致,将更改标记位后的所述第一传输位图作为所述当前跳复制中的源lun的差异位图。

本申请另一可选的实施例中,上述的装置,还包括:

差异位图处理模块,用于清空所述差异位图。

本申请另一可选的实施例中,上述的装置,还包括:

判断模块,用于判断所述目标lun是否是下一跳复制的源lun,如果是,则将所述第二传输位图传输至所述目标lun。

本申请另一可选的实施例中,上述的装置,还包括:

接口管理模块,用于将所述源lun的写io挂起;以及将挂起的所述源lun的写io释放。

本申请一实施例中提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如第一方面所述方法的步骤,以实现在连跳复制的过程中,在除了第一跳复制的其他复制过程中,源lun可以直接根据上一跳复制的传输位图生成差异位图,无需持续统计并记录源lun中数据的变化,具有效率高的积极效果。

本申请一实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述方法的步骤,以实现在连跳复制的过程中,在除了第一跳复制的其他复制过程中,源lun可以直接根据上一跳复制的传输位图生成差异位图,无需持续统计并记录源lun中数据的变化,具有效率高的积极效果。

装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在控制器的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。

上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

本说明书中描述的主题及功能操作的实施例可以在以下中实现:数字电子电路、有形体现的计算机软件或固件、包括本说明书中公开的结构及其结构性等同物的计算机硬件、或者它们中的一个或多个的组合。本说明书中描述的主题的实施例可以实现为一个或多个计算机程序,即编码在有形非暂时性程序载体上以被数据处理装置执行或控制数据处理装置的操作的计算机程序指令中的一个或多个模块。可替代地或附加地,程序指令可以被编码在人工生成的传播信号上,例如机器生成的电、光或电磁信号,该信号被生成以将信息编码并传输到合适的接收机装置以由数据处理装置执行。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备、或它们中的一个或多个的组合。

本说明书中描述的处理及逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程计算机执行,以通过根据输入数据进行操作并生成输出来执行相应的功能。所述处理及逻辑流程还可以由专用逻辑电路—例如fpga(现场可编程门阵列)或asic(专用集成电路)来执行,并且装置也可以实现为专用逻辑电路。

适合用于执行计算机程序的计算机包括,例如通用和/或专用微处理器,或任何其他类型的中央处理单元。通常,中央处理单元将从只读存储器和/或随机存取存储器接收指令和数据。计算机的基本组件包括用于实施或执行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备,例如磁盘、磁光盘或光盘等,或者计算机将可操作地与此大容量存储设备耦接以从其接收数据或向其传送数据,抑或两种情况兼而有之。然而,计算机不是必须具有这样的设备。此外,计算机可以嵌入在另一设备中,例如移动电话、个人数字助理(pda)、移动音频或视频播放器、游戏操纵台、全球定位系统(gps)接收机、或例如通用串行总线(usb)闪存驱动器的便携式存储设备,仅举几例。

适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、媒介和存储器设备,例如包括半导体存储器设备(例如eprom、eeprom和闪存设备)、磁盘(例如内部硬盘或可移动盘)、磁光盘以及cdrom和dvd-rom盘。处理器和存储器可由专用逻辑电路补充或并入专用逻辑电路中。

虽然本说明书包含许多具体实施细节,但是这些不应被解释为限制任何发明的范围或所要求保护的范围,而是主要用于描述特定发明的具体实施例的特征。本说明书内在多个实施例中描述的某些特征也可以在单个实施例中被组合实施。另一方面,在单个实施例中描述的各种特征也可以在多个实施例中分开实施或以任何合适的子组合来实施。此外,虽然特征可以如上所述在某些组合中起作用并且甚至最初如此要求保护,但是来自所要求保护的组合中的一个或多个特征在一些情况下可以从该组合中去除,并且所要求保护的组合可以指向子组合或子组合的变型。

类似地,虽然在附图中以特定顺序描绘了操作,但是这不应被理解为要求这些操作以所示的特定顺序执行或顺次执行、或者要求所有例示的操作被执行,以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中均需要这样的分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中,或者封装成多个软件产品。

由此,主题的特定实施例已被描述。其他实施例在所附权利要求书的范围以内。在某些情况下,权利要求书中记载的动作可以以不同的顺序执行并且仍实现期望的结果。此外,附图中描绘的处理并非必需所示的特定顺序或顺次顺序,以实现期望的结果。在某些实现中,多任务和并行处理可能是有利的。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1