CN107077405A - 使用位图数据结构的数据恢复 - Google Patents

使用位图数据结构的数据恢复 Download PDF

Info

Publication number
CN107077405A
CN107077405A CN201580048946.8A CN201580048946A CN107077405A CN 107077405 A CN107077405 A CN 107077405A CN 201580048946 A CN201580048946 A CN 201580048946A CN 107077405 A CN107077405 A CN 107077405A
Authority
CN
China
Prior art keywords
bitmap
data
target
accumulation
target device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201580048946.8A
Other languages
English (en)
Other versions
CN107077405B (zh
Inventor
R·巴特帕蒂
M·C·约翰逊
M·卡达姆
R·王
G·普拉萨德
朱智全
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN107077405A publication Critical patent/CN107077405A/zh
Application granted granted Critical
Publication of CN107077405B publication Critical patent/CN107077405B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2071Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
    • G06F11/2074Asynchronous techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1405Saving, restoring, recovering or retrying at machine instruction level
    • G06F11/1407Checkpointing the instruction stream
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2082Data synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/855Details of asynchronous mirroring using a journal to transfer not-yet-mirrored changes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Retry When Errors Occur (AREA)

Abstract

本公开的示例描述在源设备与目标设备之间的数据复制的主要形式不能被使用时实现基于位图的数据复制。根据一个示例,可以从目标设备接收时间标识符。如果源设备确定主要复制方法不能够用于复制与时间标识符相关联的数据,则可以发起次要复制方法。次要复制方法可以使用恢复位图,该恢复位图标识自先前事件以来在源设备上已经改变的数据块。

Description

使用位图数据结构的数据恢复
背景技术
系统可以使用用于在源与目标之间复制数据的基于日志的复制。可以在日志中采集源设备的更新,并且日志可以被发送给一个或多个目标设备以用于复制。在操作期间,目标的日志可以失去与源的日志同步。其关于本申请被引导到的该通常技术环境。
发明内容
提供该概述以引入以在详细描述中下文进一步描述的简化形式的概念的选择。该概述不旨在标识所要求保护的主题的关键特征或基本特征,其也不旨在用于限制所要求保护的主题的范围。
本公开的示例描述在源设备与目标设备之间失去同步时实现基于位图的复制。根据一个示例,可以从目标设备接收时间标识符。如果源设备确定主要复制方法不能够用于复制与时间标识符相关联的数据,则可以发起次要复制方法。次要复制方法可以使用恢复位图,恢复位图标识自先前事件以来在源设备上已经改变的数据块。
在一个示例中,开始的日志序列号(LSN)和结束的LSN可以在被标记在恢复位图中以跟踪自先前事件以来在源设备上已经改变的数据块的复制。恢复位图的创建可以包括贯穿为了目标设备而维持的分层位图结构来传播位图数据。恢复位图可以包括由分层位图结构所指示的数据的累积。除了恢复位图之外,分层位图结构可以包括对应于当前虚拟日志文件中的数据记录的检查点位图和对应于多个日志文件中的数据记录的累积位图。在由检查点位图表示的当前日志文件充满时,数据可以从检查点位图被传播到累积位图。在确定主要复制方法不能用于复制与时间标识符相关联的数据时,数据可以从累积位图被传播到恢复位图。次要复制方法的发起可以进一步包括将恢复位图发送到目标设备。
在一个示例中,主要复制方法是基于日志的复制方法,时间标识符是LSN,并且先前事件是通过最近先前地接收到的LSN所指示的事务、数据向目标设备的先前复制。进一步地,恢复位图可以标识对应于由恢复位图表示的最近数据改变的LSN。即,源设备可以从目标设备接收第二LSN。基于第二LSN的接收,源设备可以确定针对目标设备的累积位图是否为空。当针对目标设备的累积位图为空时,源设备可以使用主要复制方法(诸如基于日志的复制)将复制数据提供到目标设备。当针对目标的累积位图不为空时,数据可以从累积位图被传播到恢复位图,以从恢复位图被发送到目标设备。
除了其中源设备管理针对单个目标设备的复制数据的示例之外,源设备可以管理数据向多个目标设备的复制。该源设备可以创建和维持针对多个目标设备的每个目标设备的分离的恢复位图。
在其中在源设备上发生数据改变的示例中,当在源设备上进行新的更新时,可以设定恢复位图中的新的比特。作为示例,新的比特可以等于在其中已经发生改变的源设备的存储范围。
示例的附加方面、特征和/或优点将在以下描述中部分被阐述并且部分从描述将是明显的或者可以通过本公开的实践进行学习。
附图说明
参考以下附图描述非限制性和非排他性的示例。
图1A图示了可以被用于实现本文所描述的示例的系统的概述。
图1B图示了可以被用于实现本文所描述的示例的包括源和目标的系统的概述。
图2图示了如本文所描述的用于传播分层位图结构中的数据的过程图。
图3A图示了如本文所描述的用于使用次要复制方法处理请求的操作流。
图3B图示了如本文所描述的用于处理包括日志序列号(LSN)的请求的操作流。
图4是用于目标设备上的数据复制的操作流。
图5是图示可以利用其实践本公开的各方面的计算设备的示例的框图。
图6A和图6B是可以利用其实践本公开的各方面的移动计算设备的简化框图。
图7是在其中可以实践本公开的各方面的分布式计算系统的简化框图。
具体实施方式
本公开的示例描述当在源设备与目标设备之间失去同步时实现利用使用数据结构的次要复制方法。
复制系统与其他复制系统共享由日志序列号LSN标识的日志记录,作为关于将源数据存储库和目标数据存储库同步的目标的复制协议的一部分。当应用向数据存储库发出更新时,复制系统将更新同步地记录到复制日志并且满足应用请求。当其便于设备处理更新时,可以从复制日志应用对数据存储库本身的更新。
存在记录以确保如果死机发生,则在死机之后在数据存储库中将正确地反映提交的事务。其确保未提交的事务将被正确地重新运行并且在死机之后未反映在数据存储库中。日志记录的LSN用于在由复制系统所实施的恢复协议期间构建正确的恢复顺序。当构建恢复协议中的恢复顺序时,可以对日志序列号进行比较。进一步地,使用日志的复制许可目标设备维持同步,而不要求大量的数据被传输给目标设备。相反,在初始化时,目标设备接收源设备的数据存储库的全部复制,并且此后源设备保持影响源设备数据存储库的任何事务的日志。事务的日志周期性地被发送到目标设备,使得这样的事务可以在目标设备数据存储库处被重放以保持两个数据存储库处于同步。
虚拟日志文件(VLF)可以用于辅助复制日志的内部管理。当VLF变满时,记录自动地继续使用复制日志中的下一VLF。然而,一旦最后的VLF充满时,日志“包裹”并且开始重写第一VLF中的日志数据。因此,复制日志可以被实现为循环文件。
目标设备可能与源设备失去同步,或者可能不能够以源设备在源数据存储库处正应用日志记录的相同速率来消耗日志记录。这可以针对包括通信失败、暂时机器停机等的若干原因发生。在一些情况下,可以期望源设备应当继续接受数据事务请求,同时目标设备尝试赶上。在其中目标设备存储不能够针对延长时间段与源数据存储库通信或者不能够以源数据存储库正创建新记录的相同速率消耗日志记录时,存在可能发生日志包裹的机会。也即,当记录到达日志的结尾时,其包裹以再次开始并且开始重写之前在那里的那些。一旦发生该情况,日志就不再由目标数据存储库可用于与源数据存储恢复同步。
目标设备可以尝试通过日志复制数据,但是如果目标至此不同步已经发生日志包裹,则目标设备可能不能够使用日志文件复制。在过去,目标数据存储可能已经需要复制整个源数据存储库,其是带宽和处理的低效的使用。因此,本公开的示例涉及利用位图复制不再由基于日志的恢复方法可复制的数据的一种数据复制方法和系统。
与维持日志文件并行,源数据存储库处的复制系统可以维持存储器内位图以跟踪当日志记录被应用到源数据存储库时已经写到的磁盘块。存储器内位图可以维持对自从先前事件(诸如日志检查点)以来已经发生的源数据存储上的数据的所有改变。该源设备可以将数据从该全局位图传播到在源设备上维持的目标特定位图。使用针对每个目标数据存储的分离的分层位图结构虑及多个目标设备与独立于其他目标设备的源设备同步。也即,来自源数据存储库的数据可以继续使用基于日志的复制被复制到某些目标设备,同时相同源数据可以使用一个或多个分层位图结构将数据复制到其他目标设备。
图1A图示了可以被用于实现本文所描述的示例的系统100的概述。图1A图示了可以在源102和其相关联的数据存储库104与多个目标(例如,108、112、116)和其相应的数据存储库110、114和118之间发生的相互作用。源102可以包括复制系统106,其与源数据存储库104操作性地连接。该复制系统106可以包括在源102(其可以是计算设备)上操作以保持源数据存储库104和目标数据存储库110、114和118同步的软件应用。作为示例,复制系统106可以酌情实现主要复制方法(例如,基于日志的复制)和次要复制方法。复制系统106可以在主要复制方法与次要复制方法之间切换。例如,针对包括提供目标108的最近同步的指示的LSN的日志数据,源102可以从目标108接收查询。源可以确定是否可以通过使用主要复制方法实现针对目标设备108的同步。例如,如果源102的数据存储库104上的日志不能够用于复制一个或多个必要的记录,则源102的复制系统106可以切换到次要复制方法。从那里,数据可以被传输到目标108以恢复与源102同步。如本文所解释的,次要复制方法可以包括基于位图的复制方法。
在另一示例中,包括目标108、目标112和目标116的多个目标可以针对数据的同步查询源102。当对不同的查询作出反应时,源102可能能够并行运行主要复制方法和次要复制方法二者。例如,目标108可以与源102基本上同步,因此基于日志的复制仍然是与目标108一起使用的。相反,目标112可能已经经历长的失败,并且在这期间,影响由目标112需要的日志数据的日志包裹可能已经发生,在该情况下,源102可以切换到针对目标112的基于位图的复制程序。与源102类似,目标108、112和116可以可配置为实现基于日志的复制和基于位图的复制二者以用于重新同步。
图1B图示了可以被用于实现本文所描述的示例的包括源102和目标108的系统120的概述。源102和目标108可以被连接在网络中以执行任何类型的复制。在另一示例中,源102可以与多个目标108、112和116连接,如在图1A中所示。可以在源102与目标108之间执行磁盘存储复制,包括例如同步复制或异步复制。可以通过创建到在具有处理器的设备上运行的操作系统中的软件的实施方式来实现复制。
参考图1B,目标108可以向源102通知时间标识符(诸如LSN)。时间标识符指示复制请求在目标108上已经处理到达的时间点。在其中基于日志的复制由复制系统106使用的示例中,时间标识符可以是LSN。目标108可以向源102通知LSN。这允许源102标识目标108已经复制源数据直到的点。如果目标108在有效的基于日志的复制后面太远(例如,影响由目标108需要的数据的日志包裹已经发生),那么源102的复制系统106可以切换到次要复制方法以发送目标108数据以用于复制。
在该方面中,源102可以维持全局存储器内位图122,其被用于指示自从先前事件以来已经被记录在源数据存储库104上已经改变的数据。在一个示例中,先前事件可以是日志检查点,并且全局存储器内位图122将详述自从先前的日志检查点以来已经由任何事务改变的磁盘的所有范围。全局存储器内位图122的每个比特可以被设定为等于在其中数据改变已经发生在源102的数据存储库104上的磁盘的特定范围。作为示例,一个比特可以等于源盘的256K。在该示例中,如果自先前事件以来已经改变源盘的该256K的任何部分,则对应于源盘的该256K部分的比特被设定在位图中(例如,从零改变到一),以指示源盘的该部分中的改变。然而,全局存储器内位图122的比特的映射是任意的并且可以被改变。例如,使每个比特对应于源盘的较小部分提高准确度,而且增加必须维持的位图的大小。
当创建新复制伙伴时(例如,目标108),源102可以代表目标108存储持续的位图集。该位图集可以用于在其中目标108需要通过基于位图的恢复方法复制数据的情况下,跟踪针对目标108的位图数据。在一个示例中,目标特定位图可以包括检查点位图124、累积位图126和恢复位图128,如在图1B中所示。
当新检查点被记录在源102上时,在目标108需要通过基于位图的复制复制数据的情况下,复制系统106将全局存储器内位图122的位图数据传播到目标特定位图。那时候,可以对存储器内位图122进行重置。针对源102将被复制到的所有目标(例如,图1A中所示的示例中的目标108、112和118)执行该过程,这是因为源102将维持针对每个这种目标的目标特定位图。如上文所指出的,坚持源102的磁盘上的目标特定位图集虑及独立于其他目标设备的独立寿命和同步协议。
全局存储器内位图122标记日志检查点的开始的LSN和结束的LSN。当新检查点被写在源数据存储库104上时,源102可以将位图数据从全局存储器内位图122传播到每个检查点位图124。作为示例,存储器内位图122例如与检查点位图124进行OR(逻辑OR)以传播位图数据。在将位图的比特传输到检查点位图124时,比特可以被标记有由先前的检查点所标识的LSN和全局存储器内位图122中的结束的LSN。在将存储器内位图122传播到检查点位图124时,存储器内位图122的开始和结束的LSN被发送到检查点位图124。检查点位图124表示对应于可以由多个文件表示的虚拟日志的数据记录的磁盘块集。如此,检查点位图124可以包括由在当前虚拟日志中表示的事务影响的源102的磁盘块的编译。当基于日志的复制正并行操作时,对源数据的改变继续被添加到当前虚拟日志直到当前虚拟日志充满。一旦当前虚拟日志充满,检查点位图124就被传播到累积位图126(例如,进行OR)。
当检查点位图124被传播到累积位图126时,针对累积位图的元数据被调节以反映新“结束的”LSN以等于由正传播到累积位图的检查点位图124反映的最后的LSN。此外,在传播到累积位图126时,检查点位图124被清除。在示例中,无论何时该目标使用基于日志的复制成功地复制数据,针对特定目标的检查点位图124也可以被清除(由于在检查点位图124中反映的数据改变将已经反映在由基于日志的复制所提供的日志中)。当新虚拟日志被添加时,检查点位图124LSN指向新的虚拟日志文件(n+1)中的第一记录。
累积位图126表示磁盘块的累积集合,其对应于由尚未复制到目标108的数据存储库110的先前虚拟日志文件影响的数据记录。例如,累积位图126可以表示由多个虚拟日志影响的源磁盘块(当每次新的虚拟日志被创建时,检查点位图124例如与累积位图126进行OR(逻辑OR))。与累积位图126相关联的元数据还跟踪由累积位图126所表示的LSN。
当源102从目标108接收时间标识符并且确定基于位图的复制需要复制数据时,源102可以将数据从累积位图126传播到恢复位图128。也即,当做出请求以发送用于复制的数据时,并且日志文件不能用于充分地完成复制,数据可以从累积位图126传播到恢复位图128。当数据被传播到恢复位图128时,重置累积位图126。在示例中,无论何时目标108使用基于日志的复制成功地复制数据,针对目标108的检查点位图126可以被清除(由于在累积位图126中反映的数据改变将已经反映在由基于日志的复制所提供的日志中)。在累积位图126与恢复位图128之间传播数据时,累积位图126例如与恢复位图128进行OR(逻辑OR)。即,传播数据包括将数据从累积位图126复制到恢复位图128。
从该点,恢复位图128可以被传输到目标108以许可复制。目标108可以然后请求源102以向目标108发送由恢复位图128中所指示的源数据存储库104的部分中的所有数据。例如,目标108可以执行源102的磁盘的受影响部分的读取。当恢复位图被传输到目标108时,可以重置恢复位图128。目标108还可以接收指示反映在所接收到的恢复位图128中的最新LSN的元数据。目标108可以然后使用恢复位图的最新LSN来提供目标108在复制中最新的程度的前进的指示。
目标108可以继续将复制请求发送到源102。源102可以接收包括另一时间标识符(例如,由先前接收到的恢复位图128所表示的最新LSN)的这样的请求并且重置累积位图126。新的时间标识符可以指示目标108同步的点(包括在消耗由恢复位图128所指示的数据之后)。如果基于位图的复制仍然需要将源102与目标108同步(例如,如果针对目标108的累积位图不为空),则源102可以继续将位图数据传播到目标108。备选地,如果更新的针对复制的请求的时间标识符指示目标108足够地更新,则复制系统106可以切换回到使用针对目标108的基于日志的复制方法。
图2示了如本文所描述的用于传播分层位图结构中的数据的过程200。分层位图结构的示例可以包括检查点位图124、累积位图126和恢复位图128,如参考图1B所描述的。也即,源102可以将位图数据从全局存储器内位图122传播到分层目标特定位图结构。参考针对关于每个位图和分层位图结构内的处理流的细节的以上图1B的描述。
参考图2,提供了用于创建分层位图结构的过程200。在示例中,当新的复制伙伴被创建时(例如,新的目标被配置为复制源(诸如源102)),复制系统106在源数据存储库104处开始过程200。源数据存储库104可以创建包括针对新伙伴(例如,目标108)的检查点位图124、累积位图126和恢复位图128的持久位图集。如在图2中所示,位图逻辑地跟踪虚拟日志文件的结构。例如,检查点位图124跟踪由当前虚拟日志影响的源数据的各部分。累积位图126跟踪由自针对相关目标的最后更新以来已经完成的先前虚拟日志影响的源数据的各部分。恢复位图128表示目标的最后的同步更新与其当前同步请求之间的改变的源数据部分的快照。这允许存储器内位图122、检查点位图124和累积位图126继续采集源数据变化,同时由恢复位图128所指示的改变继续由目标108消耗。
在示例中,针对检查点位图124和累积位图126中的每一个的初始值被设定到全部零,同时针对恢复位图128的初始值被设定到全部“一”。这使得目标108能够执行整个数据存储库的初始全部数据复制,作为其恢复协议的一部分。当目标在复制由恢复位图128所指示的数据存储块的过程中时,源数据存储库104可以经历进而由位图集记录的修改,如上文所描述的。这使得源102能够继续处理数据,同时目标108通过数据复制恢复同步。如上文所描述的,通过包括检查点位图124、累积位图126和恢复位图128的目标特定位图集从存储器内位图122传播位图。在恢复位图128完全消耗之后,目标可以请求进一步的复制更新,在该点处源102的复制系统106检查累积位图是否为空。如果不是的话,其将累积位图126复制到恢复位图128并且清除累积位图126。可以重复过程200直到恢复位图128为空或者直到基于日志的复制可以再次被恢复。
下表概述用于传播至少图1B和图2中所描述的基于位图的复制的数据的触发器的示例:
下表概述用于至少图1B和图2中所描述的位图的重置的触发器的示例:
图3A图示了如本文所描述的用于使用次要复制方法处理请求的操作流300。在操作302处开始,源(例如,源102)可以从目标(例如,目标108)接收时间标识符。作为示例,时间标识符可以是LSN。
从操作302转到操作304,可以确定主要复制方法(例如,实现基于日志的复制方法)是否能够复制与时间标识符相关联的数据。如果主要复制系统能够复制与时间标识符相关联的数据,则主要复制方法被实现为将复制数据传输到目标108。
如果主要复制方法不能够复制数据,则流300转到其中可以使用次要复制方法(例如,实现基于位图的复制方法)发起数据的复制的操作306。当数据复制完成时,目标108可以将第二时间标识符(例如,第二LSN)发送到源102以指示目标现在已经复制到的LSN。
移动到操作308,可以从目标接收第二时间标识符(例如,LSN)。从那里,可以确定(在操作310处)是否可以使用主要复制方法或者次要复制方法(操作310)处理第二请求。适当的复制方法可以然后被用于使得目标108能够复制数据。
图3B图示了用于使用主要基于日志的复制方法和次要位图恢复方法的复制处理的操作流312。在示例中,可以通过源设备(诸如源102)执行操作流312。流312在操作314处开始,其中可以从目标(例如,目标108)接收LSN。LSN可以被包括在数据复制请求中。
流312转到决定316,其中确定LSN的复制是否能够使用基于日志的复制方法,或者确定是否需要实现基于位图的处理以复制数据。例如,源可以通过评价LSN确定请求是否可以由基于日志的复制满足。如果使用日志文件复制是可能的,则至少一个日志文件被发送(操作318)以实现基于日志的复制。如果LSN指示复制不能够使用日志文件被执行,则基于位图的处理可以被用于复制数据(操作320)。
一旦已经使用基于位图的处理完成复制(例如,恢复位图已经被发送到目标并且由目标消耗),则可以从指示目标已经复制源的点的目标接收第二LSN(操作322)。第二LSN可以被接收作为第二复制请求的一部分。流312可以转到决定324,其中确定目标是否参与位图处理例程(操作324)。例如,源可以确定该目标的最后的复制是否是基于位图的复制。如果目标参与位图处理例程,则确定针对该目标的累积位图是否为空(决定326)。如果累积位图不为空,则累积位图被传播到恢复位图(如上文所描述的)并且恢复位图被发送到用于复制的目标108(操作328)。
在其中累积位图126被确定为空的情况下(例如,在决定326处)或者当确定目标未参与位图处理例程(例如,在决定324处)时,确定第二LSN是否是从日志数据可复制的(决定330)。如果第二LSN是使用至少一个日志文件可复制的,流312转到操作322,其中(一个或多个)文件被发送到目标以通过主要基于日志的复制方法满足复制请求。然而,在决定330处,如果第二LSN指示基于日志的复制是不可用的,则流312返回操作320,其中位图处理被用于复制数据以传输到目标108。
由目标发送的接收和评价LSN的过程可以继续允许目标维持与源同步或者在源与目标之间失去同步的情况下恢复同步。
图4是用于目标设备(诸如图1A的目标108、116或116)上的数据复制的操作流400。当日志序列号(LSN)被发送到源(例如,源102)时,流400在操作402处开始。源可以确定数据复制是否不能使用基于日志的复制方法被执行。在其中基于日志的复制方法可以复制与LSN相关联的数据的源的情况下,源可以将至少一个日志文件发送到目标设备以用于复制处理。移动到操作404,来自源的日志数据许可目标执行复制处理。
随着时间的经过,目标设备可以接收日志数据的许多传输以维持同步。然而,同步可能最终失去。转到操作406,目标可以检测故障的发生。故障可以具有包括网络连接或者硬件故障的任何类型。如果故障持续足够长的时间段,则目标将可能失去与源同步。
在目标从故障恢复之后,另一LSN可以被发送(操作408)到源以便恢复复制同步。如果源不能完全恢复来自日志文件的数据,则源可以经由基于位图的复制发起复制处理。源可以将位图数据传播到目标特定分层位图结构,其包括恢复位图(诸如恢复位图128)。一旦位图数据被传播通过目标特定分层位图结构,恢复位图的数据就可以被接收(410)用于复制处理。
然后,可以消耗位图数据(操作412)并且可以执行复制处理。例如,目标可以请求源向目标复制由位图数据所指示的源盘部分中的所有数据。在执行复制处理之后,第三LSN(操作414)可以被发送到源。第三LSN可以被提供作为更新的复制请求的一部分。在示例中,第三LSN等于作为由位图数据表示的最近LSN的在所接收到的位图数据中所指示的LSN。数据的复制可以使用基于日志的复制或者基于位图的复制之一继续直到目标与源同步。
图5至图7和相关联的描述提供了在其中可以实践本发明的示例的各种操作环境的讨论。然而,关于图5至图7所图示和所讨论的设备和系统出于示例和说明的目的并且对可以被用于实践本文所描述的本发明的示例的大量的计算设备配置是非限制性的。
图5是图示可以实践本发明的示例利用的计算设备502的物理部件(例如,如本文所描述的源机器102和目标机器104)的框图。下文所描述的计算设备部件可以适于上文所描述的计算设备。在基本配置中,计算设备502可以包括至少一个处理单元504和存储器系统506。取决于计算设备的配置和类型,系统存储器506可以包括但不限于:易失性存储(例如,随机存取存储器)、非易失性存储(例如,只读存储器)、闪速存储器或者这样的存储器的任何组合。系统存储器506可以包括操作系统507和适于允许运行软件应用520(诸如针对数据复制的应用528、IO管理器524和其他实用程序526)的一个或多个程序模块508。例如,操作系统507可以适于控制计算设备502的操作。此外,本发明的示例可以结合图形库、其他操作系统或者任何其他应用程序被实践并且不限于任何特定应用或者系统。通过虚线522内的那些部件在图5中图示该基本配置。计算设备502可以具有附加的特征或功能性。例如,计算设备502还可以包括附加的(可移除和/或不可移除的)数据存储设备(诸如例如磁盘、光盘或者磁带)。通过可移除的存储设备509和不可移除的存储设备510在图5中图示这样的附加存储装置。
如上文所陈述的,若干程序模块和数据文件可以被存储在系统存储器506中。当在处理单元504上执行时,程序模块508(例如,应用528、输入/输出(I/O)管理器524和其他实用程序526)可以执行包括但不限于例如图4中所图示的操作流400的阶段中的一个或多个的过程。根据本发明的示例可以使用的其他程序模块可以包括电子邮件和联系人应用、字处理应用、电子数据表应用、数据库应用、幻灯片演示应用、绘图或者计算机辅助应用等。
此外,本发明的示例可以被实践在包括分离的电子元件的电路、包含逻辑门的封装或者集成电子芯片、利用微处理器的电路中或者包含电子元件或微处理器的单个芯片上。例如,本发明的示例可以经由片上系统(SOC)被实践,其中图5中所图示的每个或许多部件可以被集成到单个集成电路上。这样的SOC设备可以包括一个或多个处理单元、图形单元、通信单元、系统虚拟化单元和全部被集成(或者“被烧制”)到芯片衬底上作为单个集成电路的各种应用功能。当经由SOC操作时,本文所描述的功能可以经由单个集成电路(芯片)上的计算设备502的其他部件集成的专用逻辑操作。本公开的示例还可以使用能够执行逻辑操作(诸如例如AND、OR和NOT)的其他技术实践,包括但不限于机械、光学、流体和量子技术。另外,本发明的示例可以被实践在通用计算机内或在任何其他电路或系统中。
计算设备502还可以具有(一个或多个)输入设备512,诸如键盘、鼠标、笔、声音输入设备、触摸输入设备等。还可以包括(一个或多个)输出设备(诸如显示器、扬声器、打印机等)。前述设备是示例并且可以使用其他示例。计算设备504可以包括允许与其他计算设备518通信的一个或多个通信连接516。适合的通信连接516的示例包括但不限于RF发射器、接收器和/或收发器电路;通用串行总线(USB)、并行端口和/或串行端口。
如本文所使用的术语计算机可读介质可以包括计算机存储介质。计算机存储介质可以包括以用于信息(诸如计算机可读指令、数据结构或者程序模块)的存储的任何方法或者技术中实现的易失性和非易失性、可移除和不可移除的介质。系统存储器506、可移除的存储设备509和不可移除的存储设备510是全部计算机存储介质示例(即,存储器存储装置)。计算机存储介质可以包括RAM、ROM、电可擦只读存储器(EEPROM)、闪速存储器或者其他存储器技术、CD-ROM、数字多用光盘(DVD)或者其他光学存储、磁带盒、磁带、磁盘存储或者其他磁性存储设备或者可以用于存储信息并且可以由计算设备502访问的任何其他制品。任何这样的计算机存储介质可以是计算设备502的一部分。计算机存储介质不包括载波或者其他传播或者调制数据信号。
可以由计算机可读指令、数据结构、程序模块或者经调制的数据信号(诸如载波或者其他传输机制)中的其他数据实现通信介质,并且包括任何信息递送介质。术语“经调制数据信号”可以描述具有以关于将信息编码在信号中的这样的方式设定或改变的一个或多个特性的信号。以示例而非限制的方式,通信介质包括有线介质(诸如有线网络或直接有线连接)和无线介质(诸如声学、射频(RF)、红外和其他无线介质)。
图6A和图6B图示了可以实践本发明的示例利用的移动计算设备600,例如,移动电话、智能电话、平板个人计算机、膝上型计算机等。例如,移动计算设备600可以被用于实现源102和目标108。参考图6A,图示了用于实现示例的移动计算设备600的一个示例。在基本配置中,移动计算设备600是具有输入元件和输出元件二者的手持式计算机。移动计算设备600通常包括显示器605和一个或多个输入按钮610,其允许用户将信息输入到移动计算设备600中。移动计算设备600的显示器605还可以用作输入设备,例如,触摸屏显示器。如果被包括的话,可选侧面输入元件615允许进一步的用户输入。侧面输入元件615可以是旋转开关、按钮或者任何其他类型的手动输入元件。在备选示例中,移动计算设备600可以包含更多或更少的输入元件。例如,在一些示例中,显示器605可以不是触摸屏。在又一备选示例中,移动计算设备600是便携式电话系统(诸如蜂窝电话)。移动计算设备600还可以包括可选的小键盘635。可选的小键盘635可以是物理小键盘或触摸屏显示器上生成的“软”小键盘。在各种示例中,输出元件包括用于示出图形用户接口(GUI)、视觉指示器620(例如,发光二极管)和/或音频换能器625(例如,扬声器)的显示器605。在一些示例中,移动计算设备600包含用于给用户提供触觉反馈的振动换能器。在又一示例中,移动计算设备600包含输入和/或输出端口(诸如音频输入(例如,麦克风插孔))、音频输出(例如,头戴式耳机插孔)和用于将信号发送到外部设备或从外部设备接收信号的视频输出(例如,HDMI端口)。
图6B是图示移动计算设备的一个示例的架构的框图。也即,移动计算设备600可以包含用于实现一些示例的系统(即,架构)602。在一个示例中,系统602被实现为能够运行一个或多个应用(例如,浏览器、电子邮件、日历、联系人管理器、消息客户端、游戏和媒体客户端/播放器)的“智能电话”。在一些示例中,系统602被集成为计算设备,诸如集成个人数字助理(PDA)和无线电话。
一个或多个应用程序666可以被加载到存储器662中并且在操作系统664上运行或与操作系统664相关联。应用程序的示例包括电话拨号器程序、电子邮件程序、个人信息管理(PIM)程序、词语处理程序、电子数据表程序、因特网浏览器程序、消息程序等。系统602还包括存储器662内的非易失性存储区域668。非易失性存储区域668可以用于存储在系统602断电的情况下不应当丢失的持久信息。应用程序666可以使用和存储非易失性存储区域668中的信息(诸如电子邮件或由电子邮件应用使用的其他消息等)。同步应用(未示出)还驻留在系统602上并且被编程为与驻留在主机计算机上的对应的同步应用相互作用以保持存储在非易失性存储区域668中的信息与存储在主机计算机处的对应的信息同步。如应当理解,其他应用可以被加载到存储器662并且在移动计算设备600上运行,包括用于数据复制的应用528、IO管理器524和本文所描述的其他实用程序526。
系统602具有电源670,其可以被实现为一个或多个电池。电源670可能进一步包括外部电源,诸如对电池补充或者再充电的AC适配器或加电对接支架。
系统602可以包括外围设备端口678,其执行促进系统602与一个或多个外围设备之间的连接的功能。在操作系统604的控制下,进行到外围设备端口672的传输和从外围设备端口672的传输。换句话说,由外围设备端口678接收的通信可以经由操作系统664被传播到应用程序666,并且反之亦然。
系统602还可以包括无线电672,其执行发射和接收射频通信的功能。无线电672经由通信载波或者服务提供商促进系统602与“外部世界”之间的无线连接。在操作系统664的控制下进行到无线电672的传输和从无线电672的传输。换句话说,由无线电672接收的通信可以经由操作系统664被传播到应用程序666,并且反之亦然。
视觉指示器620可以用于提供视觉通知,和/或音频接口674可以被用于经由音频换能器625产生可听通知。在所图示的示例中,视觉指示器620是发光二极管(LED),并且音频换能器625是扬声器。这些设备可以直接耦合到电源670,使得当被激活时,其即使处理器660和其他部件可能关闭以用于保留电池功率,其也保持由通知机制所指示的持续时间。LED可以被编程以保持无线地直到用户采取动作指示设备的加电状态。音频接口674用于将可听信号提供给用户和从用户接收可听信号。例如,除了被耦合到音频换能器625之外,音频接口674还可以被耦合到麦克风以接收可听输入(诸如促进电话交谈)。根据本发明的示例,麦克风还可以用作音频传感器以促进通知的控制,如下文将描述的。系统602可以进一步包括视频接口676,其使得板上照相机630的操作能够记录静止图像、视频流等。
实现系统602的移动计算设备600可以具有附加的特征或功能。例如,移动计算设备600还可以包括附加的(可移除和/或不可移除的)数据存储设备(诸如磁盘、光盘或者磁带)。通过非易失性存储区域668在图6B中图示这样的附加存储装置。
由移动计算设备600生成或采集并且经由系统602存储的数据/信息本地存储在移动计算设备600上,如上文所描述的,或者数据可以被存储在经由无线电672或者经由移动计算设备600与关联于移动计算设备600(例如,分布式计算网络(诸如因特网)中的服务器计算机)的分离的计算设备之间的有线连接可以由设备访问的任何数目的存储介质。如应当理解,可以经由移动计算设备600或者无线电672或者经由分布式计算网络访问这样的数据/信息。类似地,根据众所周知的数据/信息传送和存储装置(包括电子邮件和合作数据/信息共享系统),这样的数据/信息可以在计算设备之间容易地传送以用于存储和使用。
图7图示了如上文所描述的用于提供可靠地访问存储系统上的目标数据并且处理到一个或多个客户端设备的通信失败的应用的系统的架构的一个示例。与应用528、IO管理器524、其他实用程序526和存储(例如,存储104和存储110)相关联访问、相互作用或者编辑的目标数据可以被存储在不同的通信信道或者其他存储类型中。例如,可以使用目录服务722、web门户724、邮箱服务726、即时消息存储728或社交联网站点730存储各种文档。应用528、IO管理器524、其他实用程序526和存储系统可以使用用于使能数据利用的这些类型的系统等中的任一个,如本文所描述的。服务器720可以提供用于由通过网络715在通用计算设备502和(一个或多个)移动设备600上操作的客户端使用的存储系统。通过示例,网络715可以包括因特网或者任何其他类型的局域网或者广域网,并且客户端节点可以被实现为实现在个人计算机中的计算设备502、平板计算设备和/或移动计算设备600(例如,智能电话)。可以从存储库716获得内容客户端计算设备502或600的这些示例中的任一个示例。
本公开的示例描述在源设备与目标设备之间失去同步时实现基于位图的复制。根据一个示例,可以从目标设备接收时间标识符。如果源设备确定主要复制方法不能够用于复制与时间标识符相关联的数据,则可以发起次要复制方法。次要复制方法可以使用标识自从先前事件以来在源设备上已经改变的数据块的恢复位图。
在一个示例中,开始的LSN和结束的LSN可以在被标记在恢复位图中以跟踪自从先前事件以来在源设备上已经改变的数据块的复制。恢复位图的创建可以包括贯穿为了目标设备而维持的分层位图结构而传播位图数据。该恢复位图可以包括由分层位图结构所指示的数据的累积。除了恢复位图之外,分层位图结构可以包括对应于当前虚拟日志文件中的数据记录的检查点位图和对应于多个日志文件中的数据记录的累积位图。在由检查点位图所表示的当前日志文件充满时,数据可以从检查点位图被传播到累积位图。在确定主要复制方法不能用于复制与时间标识符相关联的数据时,数据可以从累积位图被传播到恢复位图。次要复制方法的发起可以进一步包括将恢复位图发送到目标设备。
在示例中,主要复制方法是基于日志的复制方法,时间标识符是LSN,并且先前事件是通过由LSN所指示的事务、数据向目标设备的先前复制。在另一示例中,恢复位图可以标识对应于由恢复位图表示的最近数据改变的LSN。也即,源设备可以从目标设备接收第二LSN。基于第二LSN的接收,源设备可以确定针对目标设备的累积位图是否为空。当针对目标设备的累积位图为空时,源设备可以使用主要复制方法(诸如基于日志的复制)将复制数据提供到目标设备。当针对目标的累积位图不为空时,数据可以从累积位图被传播到恢复位图,以从恢复位图被发送到目标设备。
除了其中源设备管理针对单个目标设备的复制数据的示例之外,源设备可以管理对多个目标设备的数据的复制。该源设备可以创建和维持针对多个目标设备的每个目标设备的分离的恢复位图。
在其中在源设备上发生数据改变的示例中,当在源设备上进行新更新时,可以设定恢复位图中的新的比特。作为示例,新的比特可以等于在其中已经发生改变的源设备的存储的范围。
本公开的进一步的示例描述从目标设备接收LSN并且确定基于日志的复制方法是否能够复制与LSN相关联的数据。如果基于日志的复制方法不能够复制与LSN相关联的数据,则源设备可以使用基于位图的复制方法发起数据的复制。基于位图的复制方法使用标识自先前事件以来在源设备上已经发生的数据块的恢复位图。基于位图的恢复方法的发起可以包括通过包括恢复位图的目标特定位图结构来传播位图数据。目标特定位图结构还可以包括对应于当前虚拟日志文件中的数据记录的检查点位图和对应于多个日志文件中的数据记录的累积位图。数据的比特从恢复位图被传输到目标设备以用于复制,其中每个数据比特等于来自在其中自从对目标设备的先前复制以来已经发生改变的源设备的磁盘数据的范围。一旦与LSN相关联的数据可以由目标设备处理,目标设备就可以将第二LSN发送给源设备。基于第二LSN的接收,源设备可以确定针对目标设备的累积位图是否为空。当针对目标设备的累积位图为空时,源设备可以使用基于位图的复制方法将复制数据提供到目标设备。当针对目标的累积位图不为空时,数据可以从累积位图被传播到恢复位图并且恢复位图的数据可以被发送到目标设备。
贯穿本说明书对“一个示例”或“示例”已经做出的引用意指所描述的特定特征、结构或特性被包括在至少一个示例中。因此,这样的短语的使用可以指代超过仅一个示例。此外,所描述的特征、结构或特性可以以任何适合的方式被组合在一个或多个示例中。
然而,相关领域的技术人员可以认识到,可以在没有特定细节中的一个或多个的情况下或者在其他方法、资源、材料等的情况下实践这些示例。在其他实例中,未详细示出或者描述众所周知的结构、资源或操作以仅观察示例的难以理解的方面。
虽然已经图示和描述了示例性示例和应用,但是应理解到,示例不限于本文所描述的精确配置和资源。在不脱离所要求变化的示例的范围的情况下,可以在本文所公开的方法和系统的布置、操作和细节中做出对本领域的技术人员明显的各种修改、变化和变型。

Claims (15)

1.一种方法,包括:
从目标设备接收时间标识符;
确定主要复制方法不能够用于复制与所述时间标识符相关联的数据;以及
使用次要复制方法发起数据的复制,其中所述次要复制方法使用恢复位图,所述恢复位图标识自先前事件以来在源设备上已经改变的数据块。
2.根据权利要求1所述的方法,还包括:
在接收到所述目标设备与所述源设备充分同步的指示时,切换回到所述主要复制方法。
3.根据权利要求1所述的方法,其中所述主要复制方法是基于日志的复制方法,所述时间标识符是日志序列号,并且所述先前事件是通过由所述日志序列号指示的事务的、数据向所述目标设备的先前复制。
4.根据权利要求1所述的方法,还包括创建所述恢复位图,其中创建所述恢复位图包括:贯穿为了所述目标设备而被维持的分层位图结构传播位图数据。
5.根据权利要求1所述的方法,还包括:
创建在所述源设备上被维持的分层位图结构,所述分层位图结构包括为了所述目标设备而被维持的多个位图,其中所述恢复位图包括由所述多个位图指示的数据的累积。
6.根据权利要求5所述的方法,其中为了所述目标设备而被维持的所述多个位图包括对应于当前虚拟日志中的数据记录的检查点位图和对应于先前虚拟日志中的数据记录的累积位图。
7.根据权利要求6所述的方法,其中当由所述检查点位图表示的所述当前虚拟日志充满时,数据从所述检查点位图被传播到所述累积位图。
8.一种计算机可读存储介质,其当在计算机上被执行时使得所述计算机执行包括以下各项的过程:
从目标设备接收时间标识符;
确定主要复制方法不能够用于复制与所述时间标识符相关联的数据;以及
使用次要复制方法发起数据的复制,其中所述次要复制方法使用恢复位图,所述恢复位图标识自先前事件以来在源设备上已经改变的数据块。
9.根据权利要求8所述的计算机可读存储介质,还包括:
通过包括所述恢复位图的目标特定位图结构来传播位图数据,
其中所述目标特定位图结构还包括:
检查点位图,其对应于当前虚拟日志中的数据记录;以及累积位图,其对应于先前虚拟日志中的数据记录;并且其中当由所述检查点位图表示的所述当前虚拟日志充满时,数据从所述检查点位图被传播到所述累积位图;并且在确定所述主要复制方法不能够用于复制与所述时间标识符相关联的数据时,数据从所述累积位图被传播到所述恢复位图。
10.一种方法,包括:
从目标设备接收日志序列号(LSN);
确定基于日志的复制方法不能够用于复制与所述LSN相关联的数据;以及
使用基于位图的复制方法发起数据的复制,其中所述基于位图的复制方法使用恢复位图,所述恢复位图标识自先前事件以来在源设备上已经改变的数据块。
11.根据权利要求10所述的方法,其中数据比特从所述恢复位图被传输到所述目标设备以用于复制,并且每个数据比特等于从所述源设备到所述目标设备的磁盘数据的范围,在所述源设备中,自先前复制以来已经发生改变。
12.根据权利要求10所述的方法,其中所述发起还包括:通过包括所述恢复位图的目标特定位图结构来传播位图数据,所述目标特定位图结构包括对应于当前虚拟日志中的数据记录的检查点位图和对应于先前虚拟日志中的数据记录的累积位图,以及
其中所述方法还包括:
从所述目标设备接收第二LSN;
确定针对所述目标设备的所述累积位图是否为空;
当针对所述目标设备的所述累积位图为空时,使用所述基于位图的复制方法向所述目标设备提供复制;以及
当针对所述目标的所述累积位图不为空时,将数据从所述累积位图传播到所述恢复位图并且向所述目标设备发送所述恢复位图。
13.根据权利要求1所述的方法,还包括:
从所述目标设备接收所述第二时间标识符;
确定针对所述目标设备的所述累积位图是否为空;
当针对所述目标设备的所述累积位图为空时,使用所述主要复制方法向所述目标设备提供复制;以及
当针对所述目标设备的所述累积位图不为空时,将数据从所述累积位图传播到所述恢复位图并且向所述目标设备发送所述恢复位图。
14.根据权利要求9所述的计算机可读存储介质,还包括:
通过包括所述恢复位图的目标特定位图结构来传播位图数据,
其中所述目标特定位图结构还包括:
检查点位图,其对应于当前虚拟日志中的数据记录;以及累积位图,其对应于先前虚拟日志中的数据记录;并且其中当由所述检查点位图表示的所述当前虚拟日志充满时,数据从所述检查点位图被传播到所述累积位图;并且在确定所述主要复制方法不能够用于复制与所述时间标识符相关联的数据时,数据从所述累积位图被传播到所述恢复位图。
15.根据权利要求9所述的计算机可读存储介质,其中由所述计算机执行的所述过程还包括:
从所述目标设备接收第二时间标识符;
确定针对所述目标设备的所述累积位图是否为空;
当针对所述目标设备的所述累积位图为空时,使用所述主要复制方法向所述目标设备提供复制;以及
当针对所述目标设备的所述累积位图不为空时,将数据从所述累积位图传播到所述恢复位图并且向所述目标设备发送所述恢复位图。
CN201580048946.8A 2014-09-12 2015-09-07 用于数据复制方法和系统 Active CN107077405B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/484,592 2014-09-12
US14/484,592 US11144397B2 (en) 2014-09-12 2014-09-12 Data recovery using bitmap data structure
PCT/US2015/048760 WO2016040214A1 (en) 2014-09-12 2015-09-07 Data recovery using bitmap data structure

Publications (2)

Publication Number Publication Date
CN107077405A true CN107077405A (zh) 2017-08-18
CN107077405B CN107077405B (zh) 2020-12-01

Family

ID=54207717

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580048946.8A Active CN107077405B (zh) 2014-09-12 2015-09-07 用于数据复制方法和系统

Country Status (4)

Country Link
US (3) US11144397B2 (zh)
EP (1) EP3195126B1 (zh)
CN (1) CN107077405B (zh)
WO (1) WO2016040214A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109725855A (zh) * 2018-12-29 2019-05-07 杭州宏杉科技股份有限公司 一种连跳复制的方法及装置
CN110389713A (zh) * 2018-04-20 2019-10-29 伊姆西Ip控股有限责任公司 数据同步方法、设备和计算机可读介质

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9936013B2 (en) * 2014-10-29 2018-04-03 Netapp, Inc. Techniques for controlling client traffic on a clustered system
US10884884B2 (en) * 2017-03-23 2021-01-05 International Business Machines Corporation Reversal of the direction of replication in a remote copy environment by tracking changes associated with a plurality of point in time copies
US10552274B1 (en) * 2017-08-03 2020-02-04 EMC IP Holding Company LLC Asynchronous in-memory data checkpointing for distributed computing systems
US11221928B2 (en) 2019-04-18 2022-01-11 Netapp, Inc. Methods for cache rewarming in a failover domain and devices thereof
US11281548B2 (en) * 2019-10-03 2022-03-22 EMC IP Holding Company LLC 2-phase sync replication recovery to optimize recovery point objective (RPO)
KR20220040695A (ko) * 2020-09-24 2022-03-31 삼성전자주식회사 전자장치 및 그 제어방법
US11954119B2 (en) * 2021-01-14 2024-04-09 International Business Machines Corporation Applying changes in a target database system
US20240106892A1 (en) 2021-01-25 2024-03-28 Volumez Technologies Ltd. Remote Online Volume Cloning Method and System
US20220284034A1 (en) * 2021-03-02 2022-09-08 International Business Machines Corporation Replicating data changes of a source database in a target database using data change records and runtime statistics of the source database
US11675809B2 (en) 2021-03-02 2023-06-13 International Business Machines Corporation Replicating data changes using multiple storage devices and tracking records of pending data changes stored on the storage devices
US11928352B2 (en) 2021-05-05 2024-03-12 Netapp, Inc. Maintaining the benefit of parallel splitting of ops between primary and secondary storage clusters in synchronous replication while adding support for op logging and early engagement of op logging
US11663098B2 (en) * 2021-07-15 2023-05-30 Vmware, Inc. Maintaining durability of a data object using unplanned delta components during transient failures
US20230244691A1 (en) * 2022-01-31 2023-08-03 Nutanix, Inc. Replication using data identity
US11907562B2 (en) 2022-07-11 2024-02-20 Netapp, Inc. Methods and storage nodes to decrease delay in resuming input output (I/O) operations after a non-disruptive event for a storage object of a distributed storage system by utilizing asynchronous inflight replay of the I/O operations

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101727366A (zh) * 2008-10-23 2010-06-09 株式会社日立制作所 进行利用了日志的远程复制的计算机系统
US8229896B1 (en) * 2008-06-30 2012-07-24 Symantec Corporation Method and apparatus for identifying data blocks required for restoration
US20120303581A1 (en) * 2011-05-23 2012-11-29 Microsoft Corporation Replication processes in a distributed storage environment

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06124223A (ja) 1991-03-28 1994-05-06 Texas Instr Inc <Ti> ディスクファイルシステムのログ装置および方法
JP3763992B2 (ja) 1999-03-30 2006-04-05 富士通株式会社 データ処理装置及び記録媒体
US7398285B2 (en) 2003-07-30 2008-07-08 International Business Machines Corporation Apparatus and system for asynchronous replication of a hierarchically-indexed data store
WO2005048124A2 (en) 2003-11-04 2005-05-26 Constant Data, Inc. Hybrid real-time data replication
US7167880B2 (en) 2004-04-14 2007-01-23 Hitachi, Ltd. Method and apparatus for avoiding journal overflow on backup and recovery system using storage based journaling
US7546485B2 (en) 2006-08-15 2009-06-09 Hewlett-Packard Development Company, L.P. Method and system for efficient journal-based resynchronization
US8301791B2 (en) 2007-07-26 2012-10-30 Netapp, Inc. System and method for non-disruptive check of a mirror
US7962458B2 (en) * 2008-06-12 2011-06-14 Gravic, Inc. Method for replicating explicit locks in a data replication engine
US8166263B2 (en) * 2008-07-03 2012-04-24 Commvault Systems, Inc. Continuous data protection over intermittent connections, such as continuous data backup for laptops or wireless devices
US8117410B2 (en) 2008-08-25 2012-02-14 Vmware, Inc. Tracking block-level changes using snapshots
US8949197B2 (en) 2011-10-31 2015-02-03 Oracle International Corporation Virtual full backups
US9389799B2 (en) * 2013-05-22 2016-07-12 International Business Machines Corporation Parallel processes for performing multiple incremental copies

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8229896B1 (en) * 2008-06-30 2012-07-24 Symantec Corporation Method and apparatus for identifying data blocks required for restoration
CN101727366A (zh) * 2008-10-23 2010-06-09 株式会社日立制作所 进行利用了日志的远程复制的计算机系统
US20120303581A1 (en) * 2011-05-23 2012-11-29 Microsoft Corporation Replication processes in a distributed storage environment

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110389713A (zh) * 2018-04-20 2019-10-29 伊姆西Ip控股有限责任公司 数据同步方法、设备和计算机可读介质
CN109725855A (zh) * 2018-12-29 2019-05-07 杭州宏杉科技股份有限公司 一种连跳复制的方法及装置
CN109725855B (zh) * 2018-12-29 2023-09-01 杭州宏杉科技股份有限公司 一种连跳复制的方法及装置

Also Published As

Publication number Publication date
US20230071311A1 (en) 2023-03-09
WO2016040214A1 (en) 2016-03-17
US20160077917A1 (en) 2016-03-17
US11144397B2 (en) 2021-10-12
EP3195126A1 (en) 2017-07-26
CN107077405B (zh) 2020-12-01
EP3195126B1 (en) 2018-10-24
US20210390019A1 (en) 2021-12-16
US11526399B2 (en) 2022-12-13
US11755414B2 (en) 2023-09-12

Similar Documents

Publication Publication Date Title
CN107077405A (zh) 使用位图数据结构的数据恢复
CN106663103B (zh) 使用逻辑文档日志的可扩展最终一致性系统
CN102214205B (zh) 用于经聚类的数据库系统中的逻辑复制的系统和方法
CN109313634A (zh) 用于单个文件的文件同步暂停
KR101137101B1 (ko) 다중 동기화 소스의 크로스-폴리네이션
JP4791051B2 (ja) 任意数のバックアップ・コンポーネント用のシステム・アーキテクチャのための方法、システム、およびコンピュータ・プログラム
CN106663089A (zh) 文档编辑的智能冲突检测和语义表达
CN103842996A (zh) 合并来自多个源的播放列表
CN102713824A (zh) 基于未来使用估计的分配存储器
JP2007507030A (ja) データを同期させるための方法、システム及びプログラム
CN102483711B (zh) 对复制顺序访问存储组件进行同步
CN102667720A (zh) 没有排序依赖的一致性
CN109937405B (zh) 用于发送大数据集的高级重试机制
CN115202929B (zh) 数据库集群备份系统
US11036712B2 (en) Latency-reduced document change discovery
US20050154786A1 (en) Ordering updates in remote copying of data
CN108140043B (zh) 只附加分布式数据库的读写协议
US20180121293A1 (en) Code base synchronization between source control systems
US20180121174A1 (en) Centralized coding time tracking and management
CN103970620B (zh) 一种准连续性数据复制方法及装置
US9619332B2 (en) Method and system for efficiently managing content on an information handling device
CN110673985B (zh) 一种自动备份版本库的方法、存储介质及服务器
US20190347090A1 (en) Build isolation system in a multi-system environment
CN110413370A (zh) 用于实现依赖原始设备映射盘的虚拟机的数据备份的方法和系统
CN111522883A (zh) 对象数据的备份方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant