CN102308286A - 用于在不停止i/o情况下的多服务器应用同步的方法和系统 - Google Patents
用于在不停止i/o情况下的多服务器应用同步的方法和系统 Download PDFInfo
- Publication number
- CN102308286A CN102308286A CN2009801560135A CN200980156013A CN102308286A CN 102308286 A CN102308286 A CN 102308286A CN 2009801560135 A CN2009801560135 A CN 2009801560135A CN 200980156013 A CN200980156013 A CN 200980156013A CN 102308286 A CN102308286 A CN 102308286A
- Authority
- CN
- China
- Prior art keywords
- time
- server
- processor
- value
- data
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1461—Backup scheduling policy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1464—Management of the backup or restore process for networked environments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/82—Solving problems relating to consistency
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)
- Hardware Redundancy (AREA)
- Retry When Errors Occur (AREA)
Abstract
根据一个实施例的方法包括接收执行与多个服务器上运行的应用关联的数据的备份的请求;根据与服务器的通信计算时间值,所述时间值计算包括至少一次通信的延迟和参考时钟值与至少一个服务器的时钟值之差中的至少一项;以及与服务器上的I/O处理器进行通信以便在大约同一开始时间启动对数据的协调备份操作。还披露了其他的系统、方法和计算机程序产品。
Description
技术领域
本发明一般地涉及改进的数据处理系统和方法,更具体地说,本发明涉及使用跨多个服务器的应用同步保护业务数据的方法。
背景技术
保护业务数据是现代信息技术(IT)操作的关键部分。业务数据具有多种形式并且由包括数据库、文件系统、电子邮件应用、在线交易系统等的各种业务应用进行管理。存在各种数据保护系统、方法和技术,用于保护这种业务数据以及管理这种数据的业务应用。这些用于数据保护的系统、方法和技术包括传统的文件备份、映像备份技术、存储硬件复制功能、快照、连续数据保护、镜像等。
现代业务应用及其关联的业务数据日益地跨越多个服务器传播,从而实现了应用的更高的可伸缩性和性能。在现代应用体系结构中,这些应用和数据甚至可以跨本地、区域、国家,或者在某些情况下,甚至全球范围。这便为现有的数据保护系统、方法和技术带来了重要的挑战。这带来的最重要的挑战之一是同步应用的各种组件及其关联的数据,以便获取具有应用及其数据的一致性视图的数据副本。如果没有某个时点上的应用和数据的一致性视图,则有可能应用及其数据不能够被恢复而没有某种程度的应用或数据损坏。这通常,例如,是由于未完成的进行中的事务。这是任何应用甚至单个服务器应用都具有的问题。跨多个卷和多个服务器尤其是跨距离的应用会带来更严峻的挑战。
在本领域中,一种现有技术是使用卷的硬件或软件快照并将所述卷分为多个作为一个组一起复制的一致性组以保证其同步。硬件快照解决方案的一个重要问题是它们是在存储硬件或存储网络级别上实现的,因此不会意识到任何所需的应用亲缘性(affinity)。软件快照解决方案还需要与应用进行额外的同步,如下文所述。
因此,本领域中需要解决上述问题。
发明内容
结合了基于存储硬件、软件和应用的快照技术的优点的解决方案将是有利的。寻找这样一种解决方案,其能够甚至跨越跨一个或多个服务器的多个存储设备制作高效和一致的应用和应用数据快照,并且以最小化或消除应用意识和停机时间的方式执行,以及避免某些应用界面的固有低效性。
根据一个实施例的方法包括接收执行与多个服务器上运行的应用关联的数据备份的请求;根据与服务器的通信计算时间值,所述时间值计算包括至少一次通信的延迟(latency)和参考时钟值与至少一个服务器的时钟值之差中的至少一项;以及与服务器上的I/O处理器进行通信以便在大约同一开始时间启动对数据的协调备份操作。
根据另一实施例的方法包括接收执行与多个服务器上运行的应用关联的数据备份的请求;根据与服务器的通信计算时间值,所述时间值计算包括至少一次通信的延迟和参考时钟值与至少一个服务器的时钟值之差中的至少一项,其中所述时间值表示服务器同步的最大时间偏差;以及指示服务器上的I/O处理器在大约同一开始时间启动对数据的协调备份操作,其中所述I/O处理器在启动备份操作期间延长应用实例和与其关联的数据存储卷之间的通信。
根据又一实施例的计算机程序产品包括一种其中包含计算机可用程序代码的计算机可用介质。所述计算机可用程序代码包括被配置为根据与多个服务器的通信计算时间值的计算机可用程序代码,所述时间值计算包括至少一次通信的延迟和参考时钟值与至少一个服务器的时钟值之差中的至少一项,以及被配置为与服务器上的I/O处理器进行通信以便在大约同一开始时间启动对数据的协调备份操作的计算机可用程序代码,
根据一个实施例的系统包括处理器和计算机可用介质,所述计算机可用介质其中包含计算机可用程序代码,所述计算机可用程序代码当被所述处理器执行时,导致所述处理器:根据与服务器的通信计算时间值,所述时间值计算包括至少一次通信的延迟和参考时钟值与至少一个服务器的时钟值之差中的至少一项;以及与服务器上的I/O处理器进行通信以便在大约同一开始时间启动对数据的协调备份操作。
根据另一实施例的系统包括用于与多个服务器上的时间同步模块进行通信的时间同步服务器,所述时间同步服务器计算其本身和所述时间同步模块之间的时间差同步;以及与服务器上的I/O处理器进行通信以便在大约同一时间启动对与服务器上运行的应用关联的数据的同步备份操作的备份服务器,所述同步备份操作的开始时间至少部分地基于所述时间同步服务器所计算的时间差同步。
这些实施例中的任何一个可以在诸如固态驱动器(SSD)、闪存、磁数据存储系统(例如磁带驱动系统)、光设备、网络存储设备、虚拟化存储设备等之类的任何存储设备上实现。
本发明的其他方面和实施例通过以下详细说明将变得显而易见,所述详细说明当结合附图阅读时通过举例示出了本发明的原理。
附图说明
现在参考优选实施例,仅通过举例,对本发明进行描述,所述优选实施例在以下附图中示出:
图1是根据一个实施例用于对多服务器应用进行一致性数据保护的系统的简化示意图;以及
图2示出根据一个实施例的方法的流程图。
具体实施方式
下面的说明是为了阐述本发明的一般原理,并非旨在限制此处所要求保护的发明构思。进一步地,此处所述的特定功能可以在各种可能的组合和排列中的任何一个中与其他所述功能结合使用。
除非此处另有具体定义,否则所有术语都被赋予最广泛的可能解释,包括说明书所隐含的意义以及本领域的技术人员理解的和/或词典、论文等中定义的意义。
还必须指出,如说明书和所附的权利要求中使用的那样,单数形式“一”、“一个”和“所述”、“该”包括复数指涉,除非另外指定。
其他人已经尝试了由应用提供的跨多个服务器同步,但是这些方法存在缺陷,因为它们在应用级上实现,特定于某个应用,而不适用于其他应用,它们通常需要写入应用API,一般会带来性能成本。此外,存在基于主机的卷复制解决方案,但是它不会跨多个系统上的多个卷来同步复制。
尽管本领域中存在兴趣,几乎没有应用实现了同步检查点和接口,即使对于应用的单服务器实现也是如此。对于应用的多服务器实现,甚至更难找到有效和高效的同步检查点接口。某些情况下,现有技术要求完全关闭应用,接下来对应用进行完全备份,然后重新启动应用。这在多数业务关键环境中是无法接受的。此外,很难跨多个服务器执行此操作。而且,即使在应用允许同步,并且数据保护解决方案使用这些接口的情况下,这种方法仍有重大的低效性。例如,数据保护方案依赖于应用来提供这些接口,并且这些接口经常不可用,即使可用,也经常效率极低(例如,执行缓慢)。最后,硬件镜像和复制解决方案一般专注于连续业务操作,不能从需要恢复到先前时点的损坏问题中恢复。
本发明的实施例克服了上述缺点。
下面的说明披露了使用跨单个或多个服务器上的多个存储设备的应用同步来保护业务数据和/或其他类型数据的系统和方法。
如在此使用的那样,“I/O处理器”可以是任意卷驱动器、磁盘驱动器、I/O过滤器驱动器等,它们可以有效地冻结或延长输入和输出操作,并且可以在与I/O处理器关联的所有卷、盘、驱动器等上启动数据备份操作。
如在此使用的那样,“应用”由在一个或多个机器、服务器等上运行的数个应用实例组成,每个应用实例在其管理的数据之间保持某种数据一致性,并且所有应用实例的组合共同构成所述应用。此外,应用可以具有许多不同的操作、部分和/或活动(例如索引、数据库和web接口等)并且每个部分、操作和/或活动可以从不同机器上工作。所有这些应用部分、操作和/或活动共同构成所述应用。
如在此使用的那样,“快照”是指任何时点备份,例如通过硬件快照、软件快照或其他任何时点备份机制制作的时点备份。
在一个一般实施例中,提供了一种方法。在操作中,接收执行与在多个服务器上运行的应用关联的数据的备份的请求。而且,根据与服务器的通信计算时间值,所述时间值计算包括至少一次通信的延迟和参考时钟值与至少一个服务器的时钟值之差中的至少一项。此外,与服务器上的I/O处理器进行通信以便在大约同一开始时间启动对数据的协调备份操作。
在另一个一般实施例中,提供了一种方法。在操作中,接收执行与在多个服务器上运行的应用关联的数据的备份的请求。而且,根据与服务器的通信计算时间值,所述时间值计算包括至少一次通信的延迟和参考时钟值与至少一个服务器的时钟值之差中的至少一项,其中所述时间值表示服务器同步的最大时间偏差。此外,指示服务器上的I/O处理器在大约同一开始时间启动对数据的协调备份操作,其中所述I/O处理器在启动备份操作期间延长应用实例和与其关联的数据存储卷之间的通信。
在另一一般实施例中,提供了一种计算机程序产品。所述计算机程序产品包括其中包含计算机可用程序代码的计算机可用介质,所述计算机可用程序代码包括:被配置为根据与多个服务器的通信计算时间值的计算机可用程序代码,所述时间值计算包括至少一次通信的延迟和参考时钟值与至少一个服务器的时钟值之差中的至少一项。所述计算机可用程序代码还包括:被配置为与服务器上的I/O处理器进行通信以便在大约同一开始时间启动对数据的协调备份操作的计算机可用程序代码。
在另一一般实施例中,提供了一种系统。所述系统包括处理器和计算机可用介质,所述计算机可用介质其中包含计算机可用程序代码。所述计算机可用程序代码当被所述处理器执行时,导致所述处理器根据与服务器的通信计算时间值,所述时间值计算包括至少一次通信的延迟和参考时钟值与至少一个服务器的时钟值之差中的至少一项;以及与服务器上的I/O处理器进行通信以便在大约同一开始时间启动对数据的协调备份操作。
在另一一般实施例中,提供了一种系统。所述系统包括用于与多个服务器上的时间同步模块进行通信的时间同步服务器,所述时间同步服务器计算其本身和所述时间同步模块之间的时间差同步。而且,所述系统包括用于与服务器上的I/O处理器进行通信以便在大约同一时间启动对与服务器上运行的应用关联的数据的同步备份操作的备份服务器,所述同步备份操作的开始时间至少部分地基于所述时间同步服务器所计算的时间差同步。
本领域的技术人员将理解,本发明可以体现为系统、方法或计算机程序产品。因此,本发明可以采取完全硬件实施例、完全软件实施例(包括固件、驻留软件、微代码等)或组合了软件和硬件方面的实施例的形式,所有这些硬件和软件部件在此一般性地被称为“电路”、“模块”或“系统”。此外,本发明可以采取体现在任何有形的表现介质(在介质中具有计算机可读程序代码)中的计算机程序产品的形式。
可以使用一个或多个计算机可用或计算机可读介质的任意组合。所述计算机可用或计算机可读介质可以是(例如但不限于)电、磁、光、电磁、红外线或半导体系统、装置、设备或传播介质。计算机可读介质的更具体的实例(非穷举列表)可以包括以下项:具有一条或多条线的电连接、便携式计算机软盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦写可编程只读存储器(EPROM或闪存)、光纤、便携式光盘只读存储器(CD-ROM)、光存储设备、诸如那些支持因特网或内联网的传输介质、或磁存储设备。应指出的是,所述计算机可用或计算机可读介质甚至可以是程序被打印在其上的纸张或其他适合的介质,因为所述程序可以通过例如光扫描所述纸张或其他介质被电子地捕获,然后被编译、解释或以其他适合的方式被处理(如果必要),然后被存储在计算机存储器中。在本文档的上下文中,计算机可用或计算机可读介质可以是任何能够包含、存储、传送、传播或传输由指令执行系统、装置或设备使用或与所述指令执行系统、装置或设备结合的程序的介质。计算机可用介质可以包括其中包含计算机可用程序代码(在基带中或作为载波的一部分)的传播数据信号。可以使用任何适当的介质(包括但不限于无线、线缆、光缆、RF等)来传输计算机可用程序代码。
用于执行本发明的操作的计算机程序代码可以使用一种或多种编程语言的任意组合来编写,所述编程语言包括诸如Java、Smalltalk、C++或类似语言之类的面向对象的编程语言以及诸如“C”编程语言或类似的编程语言之类的常规过程编程语言。所述程序代码可以完全地在用户计算机上执行,部分地在用户计算机上执行,作为独立的软件包执行,部分地在用户计算机上并部分地在远程计算机上执行,或者完全地在远程计算机或服务器上执行。在后者的情况中,所述远程计算机可以通过包括局域网(LAN)或广域网(WAN)的任何类型网络与用户的计算机相连,也可以与外部计算机进行连接(例如,使用因特网服务提供商通过因特网连接)。
下面参考根据本发明的优选实施例的方法、装置(系统)和计算机程序产品的流程图和/或方块图对本发明进行描述。将理解,所述流程图和/或方块图的每个方块以及所述流程图和/或方块图中的方块的组合可以由计算机程序指令来实现。这些计算机程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,以便通过所述计算机或其他可编程数据处理装置的处理器执行的所述指令产生用于实现在一个或多个流程图和/或方块图方块中指定的功能/操作的装置。
这些计算机程序指令也可以被存储在指导计算机或其他可编程数据处理装置以特定方式执行功能的计算机可读介质中,从而存储在所述计算机可读介质中的所述指令产生一件包括实现在所述一个或多个流程图和/或方块图方块中指定的功能/操作的指令装置的制品。
所述计算机程序指令还可被加载到计算机或其他可编程数据处理装置,以导致在所述计算机或其他可编程装置上执行一系列操作步骤以产生计算机实现的过程,从而在所述计算机或其他可编程装置上执行的指令提供用于实现在一个或多个流程图和/或方块图方块中指定的功能/操作的过程。
披露了通过高效地复制新的和已更改的块并使用新颖的应用同步方法执行快照的方法,所述应用同步方法跨多个使用诸如卷驱动程序、盘驱动程序、I/O过滤器驱动器等的I/O处理器的服务器。
具体而言,此处披露了数个实施例,其中包括数据保护系统和方法,所述系统和方法包括跨多个在不同生产服务器上运行的I/O处理器的I/O级时点同步,以便在不进行应用集成的情况下实现跨多个存储设备和多个服务器的应用数据一致性同步。
另一实施例包括数据保护系统和方法,所述系统和方法使用时间同步模块协调在不同生产服务器上运行的多个I/O处理器,从而在不需要冻结I/O的情况下实现跨多个存储设备和多个服务器运行的应用的一致性备份。
又一实施例包括在不与多服务器级上的应用接口的情况下,在局域网(LAN)或广域网(WAN)距离上跨多个存储设备和多个服务器获取的应用数据的一致性时点快照。
另一方法包括跨包括本地连接的盘、直接连接的盘和存储区域网络(SAN)连接盘的多个服务器上的多个存储设备获取的应用数据的一致性时点快照。
又一方法包括通过分析包括通信延迟的时间查询,判定两个不同服务器之间的时间差程度的方法。
进一步的实施例包括在一组主机和这些主机所产生的I/O请求之间的最大可能的时间差和通信延迟之间进行同步的方法。
附图中的流程图和方块图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实施方式的架构、功能和操作。在此方面,所述流程图或方块图中的每个方块都可以表示代码的模块、段或部分,其包括用于实现指定的(一个或多个)逻辑功能的一个或多个可执行指令。还应指出,在某些备选实施方式中,在方块中说明的功能可以不按图中说明的顺序发生。例如,示为连续的两个方块可以实际上被基本同时地执行,或者某些时候,取决于所涉及的功能,所述方块可以以相反的顺序执行。还应指出,所述方块图和/或流程图的每个方块以及所述方块图和/或流程图中的方块的组合可以由执行指定功能或操作的基于专用硬件的系统或专用硬件和计算机指令的组合来实现。
在某些优选实施例中,以一致的方式实现用于保护多服务器应用的新颖系统、方法和计算机产品。现在参考图1,多服务器业务应用102可包括多个应用实例104,每个实例在单独的生产服务器108和/或虚拟服务器上运行。这些应用实例104可以通过熟悉相关现有技术的技术人员公知的点对点、主-从或其他体系结构相互协调以形成多服务器业务应用102。同步快照服务器116可接收执行多服务器业务应用102的快照的请求,并且可协调一个或多个I/O处理器110以执行一致性快照。
I/O处理器110可以是允许、使能或者以其他方式帮助在多服务器业务应用102和数据存储设备106和/或卷之间实现I/O操作的任何驱动器、软件、硬件等模块。
在优选实施例中,解决方案可使用图1中示出的模块。时间同步模块114可驻留在其中执行应用实例104的全部或一些生产服务器108中。时间同步模块114可对来自时间同步服务器112的请求做出应答以同步与给定应用关联的两个或多个服务器之间的时间。此外,时间同步模块114可以与任何服务器无关地同步它们本身之间的时间。
I/O处理器110可以驻留在每个真实或虚拟的生产服务器108中,在某些真实或虚拟的生产服务器108中,或在应用实例104在其中执行的一个真实或虚拟的生产服务器108中。I/O处理器110能够拦截来自一个或多个应用实例104的I/O操作(例如,I/O请求、数据传输等)。它们还可以随需或在发生特定的事件时冻结所有待决的I/O操作,并且使所述I/O操作保持冻结,直到被请求解冻I/O操作或发生另一特定事件。冻结I/O操作意味着每个待决的I/O操作或每个被发送到指定盘的I/O操作将被延迟或拒绝,直到被解冻。此外,这些I/O处理器可以延长I/O操作以便处理所述I/O操作,但是不允许所述I/O操作完成,直到一段指定的时间之后。这些I/O处理器110可以以新颖的方式被使用以跨多个服务器协调同步数据保护操作。
同步快照服务器116可驻留在单独的主机中,所述主机可以是,也可以不是生产服务器108中的一个。该服务器可与时间同步模块114和/或I/O处理器110的全部、一些和/或一个实例进行通信。同步快照服务器116可使用时间同步服务器112以获取时间值,所述时间值在某些实施例中是与给定应用关联的所有服务器之间的最大时间增量(delta)。进一步地,它可以在执行多卷、多服务器业务应用102的同步I/O级一致性快照时使用此时间值。
时间同步服务器112可在同步快照服务器116中运行并且根据请求,可驱动其本身和全部、一些和/或一个时间同步模块114之间的时间差同步,以便确定与给定应用关联的全部、一些和/或一个服务器108之间的时间值,例如最大时间增量。
在特别优选的实施例中,应用卷同步方法不需要与任何应用接口集成以实现跨多个存储设备和多个服务器的同步。但是,可能存在一些更理想和能够更高效地启动同步的时点或数据管理点(例如,在可能涉及多个I/O操作的已完成应用事务之后)。可能只有应用知道这些点中的哪一个最有利于执行同步。该优选实施例还可以与其自身的新颖同步一起与应用特定的接口集成,以确保根据应用的输入在最佳时点(即,从应用的角度来看)执行同步。
现在继续参考图1,同步快照服务器116可以持续跟踪其域内的所有I/O处理器110。它还可以了解上述这些I/O处理器110中的哪些与任何多服务器业务应用102关联。可以通过手动输入和/或通过熟悉相关现有技术的技术人员公知的自动应用资源发现来实现上述了解。此外,可以同步和保存应用中所涉及的任何关联的操作系统和配置信息(例如,相关的注册表项数据、设备配置等)以及存储设备106和服务器108之间的全部、一些和/或一个连接(Microsoft和Windows是Microsoft Corporation在美国、其他国家或两者的商标)。
可通过请求I/O处理器110冻结与应用关联的一个或多个存储设备106或卷上的全部、一些和/或一个I/O操作来实现跨全部、一些和/或一个I/O处理器110的同步。但是,这种同步方法可能带来性能问题,因为每个I/O处理器110在整个同步和快照启动过程中必须等待其他所有I/O处理器110,并在所述整个过程中可能阻止所有I/O操作。下面的新颖方式通过添加时间同步对象和延长I/O操作而非冻结它们可解决这个问题。
在某些实施例中,此处披露的方法可以包括在系统中。所述系统可包括处理器和计算机可读介质,所述计算机可读介质其中包含计算机可用程序代码,所述计算机可用程序代码当被所述处理器执行时,可导致所述处理器:根据与服务器的通信计算时间值,所述时间值计算包括至少一次通信的延迟和参考时钟值与至少一个服务器的时钟值之差中的至少一项;以及与服务器上的I/O处理器进行通信以便在大约同一开始时间启动对数据的协调备份操作。
在其他实施例中,此处披露的方法可以包括在另一系统中。所述系统可包括用于与多个服务器上的时间同步模块进行通信的时间同步服务器,所述时间同步服务器计算其本身和所述时间同步模块之间的时间差同步。此外,所述系统可包括用于与服务器上的I/O处理器进行通信以便在大约同一时间启动对与服务器上运行的应用关联的数据的同步备份操作的备份服务器(例如,同步快照服务器),所述同步备份操作的开始时间至少部分地基于所述时间同步服务器所计算的时间差同步。需要指出,时间同步服务器和备份服务器可以驻留在同一主机或不同主机中。而且,时间同步服务器可以是备份服务器的子组件。
现在参考图2,示出了通过延长I/O操作跨与应用关联的多个存储设备和多个服务器实现同步和执行一致性备份的过程流程图。此方法200可在图1中的功能的上下文中执行。当然,方法200可以在任何合意的环境中执行,并不限于与图1关联地使用。
图2中示出的操作仅为了举例,任何实施例中都可以包括更多或更少的操作。另外,可以根据想要的结果,可删除、更改或修改一些操作。例如,在某些实施例中,操作202和210可以包括获取数据快照的完全操作性和功能性方法。
在操作202中,同步快照服务器可接受执行多设备、多服务器业务应用的同步数据备份的请求。根据某些实施例,所述备份操作可以是数据快照,且为了简单起见,此处所述的备份操作可被称为快照。但是,这并不限定本发明的范围,本发明包括制作数据备份和数据快照的能力。所述请求可通过用户输入、进度计划模块、发生预定事件、经过预定时间以及先前快照尝试不成功等来启动。
在某些实施例中,所述备份操作可以在不与多服务器业务应用通信的情况下启动。
在操作204中,同步快照服务器可查询时间同步服务器来获取时间值(诸如max_time_delta的时间值)以用于跨与指定应用关联的所有设备和服务器的同步。根据某些实施例,所述时间值可以是跨与应用关联的所有服务器的时钟时间差和延迟的正规化值,从而它表示所涉及的所有服务器同步所需的最大时间偏差。所述时间值可按照下面“确定时间值”部分中所述的方法计算。
在操作206中,同步快照服务器可请求所有I/O处理器通过在指定时间(例如T1)延长I/O操作来执行同步应用实例快照。该快照可通过将诸如Initiate_Stretch_IO_Snapshot命令之类的异步命令发送到与应用关联的全部、一些或一个I/O处理器来执行。与所述异步命令一起,可将T1(时间值)、要快照的盘和/或卷的列表以及其他相关数据传递给每个I/O处理器。
在某些实施例中,所述I/O处理器以外的某个对象可以启动与所述I/O处理器关联的应用快照。在其他实施例中,冻结或延长I/O操作的I/O处理器可以在其应用实例上启动快照。
例如,冻结过程可中断和停止访问硬盘驱动器上的数据的请求,从而不访问所述硬盘驱动器以及不从所述硬盘驱动器中搜索所请求的数据。在另一实例中,在冻结过程中可中断和保留将文档输出到打印机队列的请求,从而所述文档不被输出到打印机,但是在所述冻结过程完成之后,可然后将所述文档发送到打印机队列进行打印。
延长过程的一个示例可以是接收到将文件写入硬盘的请求,其中允许写入开始,从而文件的重要部分可被写入硬盘,但是在所述延长过程完成之前,不允许写入完成。一旦所述延长过程完成,便可将文件的其余部分写入硬盘,从而可反映新文件的存在。另一示例是接收到将CD-ROM中的数据复制到硬盘的请求,其中在所述延长过程中,可以从CD-ROM读取数据,但是不将所述数据写入硬盘,直到所述延长过程结束之后。
更多其他的冻结和延长实施例是可能的,并且上述示例并非旨在以任何方式限制本发明,而是仅作为示例示出。
在操作208中,在预定时间(例如T1减去所述时间值),根据其自身服务器的时钟,每个I/O处理器可开始延长与其接收的每个I/O操作的通信,所述I/O操作是针对它所控制的与被保护的应用关联的任何卷和/或磁盘。在某些实施例中,I/O处理器可以在启动备份操作期间延长多服务器业务应用实例和与其关联的数据存储卷或盘之间的通信。在其他实施例中,I/O处理器不能在启动备份操作期间冻结应用实例和与其关联的数据存储卷和/或盘之间的通信。
在某些实施例中,延长I/O过程可允许启动I/O操作,但是它可以不允许这些操作在延长过程结束之前结束。所述延长I/O过程可以持续,直到经过特定的时间,例如直到T1加所述时间值(根据某些实施例,这可以是最大时间增量)的时间量,从而I/O延长时间大于或等于所述时间值的两倍,如等式1所示。
(IO_end_time-IO_start_time)≥(2*time_value) 等式1
根据某些实施例,所述时间值可以是在任意两个服务器之间进行同步的“最坏情况”时间差。从最早的服务器开始其延长I/O过程之时(IO_start_time)到最迟的服务器完成其延长I/O过程之时(release_time)的时长可以是所述时间值(例如最大时间增量max_time_delta)的两倍。通过延长I/O操作(2*max_time_delta),可以实现跨服务器一致性状态,其具有跨所有涉及的服务器上的所有I/O的应用数据的一致性图像。I/O处理器可以进一步做标记(通过使用IO_start_time)并可以监视在所述延长I/O期间接收的所有I/O操作。I/O处理器然后可在另一时间释放个别I/O操作(即,停止延长该I/O操作并允许其完成),如等式2所示。
release_time=IO_start_time+(2*max_time_delta) 等式2
通过执行延长一段时间直到达到release_time,可基本确定地在个别I/O级实现跨所有服务器的同步。
在某些方法中,所述延长可以从大约开始时间(例如,IO_start_time)减去时间值(例如,max_time_delta)时启动。在其他方法中,所述延长可以在大约开始时间加上所述时间值之后结束。
在操作210中,在预定时间(例如时间T1),每个I/O处理器启动其控制的与应用关联的任何或所有卷的快照。一旦启动完成,每个I/O处理器便可返回向同步快照服务器报告快照启动已完成。在某些优选实施例中,每个I/O处理器可以在同一同步窗口内启动备份操作,例如,可以在相互极短的时间内启动每个服务器上的备份操作。
在操作212中,同步快照服务器可等待所有I/O处理器返回报告已实现快照启动完成。同步快照服务器可具有超时值,所述超时值可以在I/O处理器丢失通信或出现其他故障时阻止它仍处在等待状态。
在操作214中,如果与应用关联的任何或所有I/O处理器上的所有快照启动完成,同步快照服务器可恢复正常操作。此外,所有I/O处理器可以在等式2中定义的release_time恢复正常的I/O操作。需要指出,在整个操作期间,根据某些实施例,未停止任何I/O操作,而是仅延长了I/O操作。进一步地,在其他实施例中,I/O处理器在延长期间可处理I/O操作,并且仅延迟完成I/O直到release_time之后。这通过使延长的I/O操作在release_time非常迅速地完成I/O进一步提高了效率。
在操作216中,如果有任何I/O处理器未报告已发生应用实例快照启动,则同步快照服务器可等待所有I/O处理器返回报告已发生快照启动。如果达到超时值,则同步快照服务器可继续执行操作218,而不做进一步的等待。
在操作218中,时间同步服务器可判定最坏情况时间差是否大于时间值(例如max_time_delta)。如果不大于,则方法200返回到操作212。如果最坏情况时间差大于时间值,则方法200继续到操作220,其中可放弃(abort)当前快照过程,且所述快照过程在操作202处被重新启动。
确定时间值
一些优选实施例的一个方面是确定时间值,该时间值表示与给定应用关联的全部各种服务器之间的时间差。此处描述了根据一种方法确定适当的时间值的方法。为了简单起见,所述时间值将被指称为变量max_time_delta,但这绝非限制本发明的范围,且只是作为时间值的变量名的示例包括在本文内。可以使用确定时间值的其他适当实现而不缩小本发明的范围。
当请求时或出现预定事件之后,时间同步服务器可确定所有服务器之间的max_time_delta。max_time_delta中包含了三个要素:1)与给定应用关联的要同步的服务器之间的时钟差,2)这些服务器之间的通信延迟,3)如下面所述的因子K。需要指出,根据某些实施例,max_time_delta的确定不一定需要解决服务器之间的时钟差和延迟问题。max_time_delta表示的可以是在给定时钟差和延迟问题的情况下,可在其中实现跨多个服务器的数据同步的时间值。
在同步快照服务器内可以具有时间同步服务器,其通过与应用关联的任何或所有服务器上的时间同步模块进行协作来确定用于给定应用的max_time_delta。
根据某些实施例,时间同步服务器可查询其自身服务器的时钟以了解当日时间(time of day)T0。该时间一般可以精确到1/100秒或更少。可以根据时间同步服务器上的服务器时钟确定用于max_time_delta的所有计算。其他实施例可以根据一些其他服务器时钟标准或其他装置确定max_time_delta。
时间同步服务器可以将诸如Time_Synchronization_Check的时间同步检查请求发送到与给定应用关联的所有服务器上的任何或所有时间同步模块。所述时间同步检查请求可包括T0,以便于以后参考。时间同步服务器还可以等待来自时间同步模块的响应。
每个时间同步模块都可以接收时间同步检查请求,立即查询其自身服务器的时钟以了解当日时间Tx,并可将该时间返回到时间同步服务器。当时间同步模块返回响应时,时间同步服务器可对响应进行处理。几乎立即地,时间同步服务器可再次查询其自身服务器的时钟以了解当日时间T1。然后可根据等式3计算该特定时间同步模块的总延迟Lx。
Lx=T1-T0 等式3
通过在迭代过程中多次(‘n’)进行上述过程并根据等式4算出所观察的平均延迟,可以获得服务器和该模块之间延迟的更精确的表示。
L_Avex=(S1-nLx)/n 等式4
还可以使用两个时间差TDx1和TDx2的平均值计算时间同步模块和时间同步服务器之间诸如TD_Avex的平均时间差。根据等式5,可以将这些时间计算为两个服务器的当日时间时钟查询之差的绝对值。
TDx1=|Tx-T0|以及TDx2=|T1-Tx| 等式5
这些时间差可固有地包括时间同步服务器和该时间同步模块之间的部分延迟(即,单向通信)。然后根据等式6对这两个时间差进行平均。
TD_Avex=(TDx1+TDx2)/2 等式6
可采取所述时间差的绝对值以涵盖时间同步服务器和时间同步模块上的服务器时钟稍微不同步的可能性(例如,从而Tx看上去早于T0)。可通过拒绝大于某种合理的时钟差的TDX值来处理总时间差(例如,时间时钟设置不正确)。可以采取平均值,以通过将来自时间同步模块的时间与时间同步服务器的开始时间和结束时间进行比较来使两个服务器之间的时钟差正规化。
当计算与应用关联的所有同步模块的TDx1和TDx2时,时间同步服务器可以跟踪max_time_delta。任意给定时间上的最大max_time_delta都可用作最坏情况时间差值,为了清晰起见,可以将所述最坏情况时间差值表示为worst_case_time_difference。通过进一步计算这些值,可以更精确地确定两个不同的服务器的时钟的接近程度。通过观察到如果两个服务器上的两个时钟完全同步,则T0加上TD_Avex将非常接近Tx,便可能确定接近程度。了解这种关系之后,便可观察它们之间的时间差。通过多次这样计算以及迭代地对时间差进行平均,可得到两个服务器之间的时间差的近似值。
当所有时间同步模块都返回报告时,时间同步服务器可使用最坏情况时间差值worst_case_time_difference,该最坏情况时间差值可针对任何模块计算。如上所述,该最坏情况时间差可以正规化所涉及的所有服务器之间的通信延迟和时间差,并且将该值表示为实现跨服务器同步所需的最大同步时段。此方法将适用于所有情况,除非通信延迟突然、意外地显著增加。这种情况会潜在地导致,例如,I/O处理器接收不到将I/O延长至某个时间(T1-max_time_delta)之后的指令。可以通过引入额外的系数K以将max_time_delta调整为等于系数K与最坏情况时间差的乘积来处理这种情况。
系统K可以在整个应用生命周期内手动或动态地调整。然后时间同步服务器可将max_time_delta返回到同步快照服务器以用于启动快照过程。但是,时间同步服务器可以继续在整个快照启动期间监视worst_case_time_difference的值。尽管I/O处理器延长I/O并执行同步快照,但是时间同步服务器可以继续与时间同步模块协作来继续检查worst_case_time_difference。如果在快照启动过程中的任意时间上worst_case_time_difference大于max_time_delta(也就是说,在当前快照同步过程中使用的max_time_delta),则表示可能存在某种会危及同步的重大的新延迟。如果是这样,时间同步服务器可通知同步快照服务器应当重新启动快照,且同步快照服务器可放弃当前的快照并使用max_time_delta重新启动快照,所述max_time_delta是使用较新的worst_case_time_difference计算的。
尽管上面描述了各种实施例,但是应该理解,提供它们只是为了举例而非限制。因此,优选实施例的广度和范围不应该被上述任何示例性实施例限制,而只应根据下面的权利要求及其等价物定义。
Claims (26)
1.一种方法,包括:
接收执行与在多个服务器上运行的应用关联的数据的备份的请求;
根据与服务器的通信计算时间值,所述时间值计算包括至少一次通信的延迟和参考时钟值与至少一个服务器的时钟值之差中的至少一项;以及
与服务器上的I/O处理器进行通信以便在大约同一开始时间启动对数据的协调备份操作。
2.如权利要求1中所述的方法,进一步包括指示所述I/O处理器在启动备份操作期间延长应用实例和与其关联的数据存储卷之间的通信。
3.如权利要求2中所述的方法,其中I/O处理器在所述延长期间处理I/O操作并且在所述延长结束后完成I/O操作。
4.如权利要求2或3中任一权利要求中所述的方法,其中所述延长从大约开始时间减去所述时间值时启动。
5.如权利要求2至4中任一权利要求中所述的方法,其中所述延长在大约所述开始时间加上所述时间值之后结束。
6.如权利要求2至5中任一权利要求中所述的方法,进一步包括接收关于I/O处理器已启动备份操作的确认,且在接收所述关于I/O处理器已启动备份操作的确认之后,指示I/O处理器恢复正常操作。
7.如上述任一权利要求中所述的方法,其中所述时间值表示服务器同步的最大时间偏差。
8.如上述任一权利要求中所述的方法,其中所述I/O处理器不会在启动备份操作期间冻结应用实例和与其关联的数据存储卷之间的通信。
9.如上述任一权利要求中所述的方法,其中所述备份操作是数据的快照。
10.如上述任一权利要求中所述的方法,其中所述备份操作是在没有与应用通信的情况下启动的。
11.如上述任一权利要求中所述的方法,进一步包括指示I/O处理器在启动备份操作期间延长写操作,其中读操作被正常服务。
12.一种方法,包括:
接收执行与多个服务器上运行的应用关联的数据的备份的请求;
根据与服务器的通信计算时间值,所述时间值计算包括至少一次通信的延迟和参考时钟值与至少一个服务器的时钟值之差中的至少一项,其中所述时间值表示服务器同步的最大时间偏差;以及
指示服务器上的I/O处理器在大约同一开始时间启动对数据的协调备份操作,
其中所述I/O处理器在启动备份操作期间延长应用实例和与其关联的数据存储卷之间的通信。
13.如权利要求12中所述的方法,其中所述延长从大约所述开始时间减去所述时间值时启动。
14.如权利要求12或13中任一权利要求中所述的方法,其中所述延长在大约所述开始时间加上所述时间值之后结束。
15.如权利要求12至14中任一权利要求中所述的方法,进一步包括接收有关I/O处理器已启动备份操作的确认,在接收所述有关I/O处理器已启动备份操作的确认之后,指示I/O处理器恢复正常操作。
16.如权利要求12至15中任一权利要求中所述的方法,其中所述I/O处理器不会在启动备份操作期间冻结应用实例和与其关联的数据存储卷之间的通信。
17.如权利要求12至15中任一权利要求中所述的方法,其中I/O处理器在延长期间处理I/O操作并且在延长结束后完成I/O操作。
18.如权利要求12至17中任一权利要求中所述的方法,其中所述备份操作是在没有与应用通信的情况下启动的。
19.一种计算机程序产品,包括:
一种其中包含计算机可用程序代码的计算机可用介质,所述计算机可用程序代码包括:
被配置为根据与多个服务器的通信计算时间值的计算机可用程序代码,所述时间值计算包括至少一次通信的延迟和参考时钟值与至少一个服务器的时钟值之差中的至少一项;以及
被配置为与服务器上的I/O处理器进行通信以便在大约同一开始时间启动对数据的协调备份操作的计算机可用程序代码。
20.如权利要求19中所述的计算机程序代码,进一步包括被配置为指示所述I/O处理器在启动备份操作期间延长应用实例和与其关联的数据存储卷之间的通信的计算机可用程序代码。
21.如权利要求19或20中任一权利要求中所述的计算机程序产品,其中所述时间值表示服务器与备份服务器同步的最大时间偏差,所述备份服务器与服务器上的I/O处理器大约异步地进行通信以便在同一同步窗口内启动对数据的协调备份操作。
22.如权利要求19至21中任一权利要求中所述的计算机程序产品,其中所述I/O处理器不会在启动备份操作期间冻结应用实例和与其关联的数据存储卷之间的通信。
23.一种系统,包括:
处理器;
计算机可用介质,所述计算机可用介质其中包含计算机可用程序代码,所述计算机可用程序代码当被所述处理器执行时,可导致所述处理器:
根据与服务器的通信计算时间值,所述时间值计算包括至少一次通信的延迟和参考时钟值与至少一个服务器的时钟值之差中的至少一项;以及
与服务器上的I/O处理器进行通信以便在大约同一开始时间启动对数据的协调备份操作。
24.一种系统,包括:
用于与多个服务器上的时间同步模块进行通信的时间同步服务器,所述时间同步服务器计算其本身和所述时间同步模块之间的时间差同步;以及
用于与服务器上的I/O处理器进行通信以便在大约同一时点启动对与服务器上运行的应用关联的数据的同步备份操作的备份服务器,所述同步备份操作的开始时间至少部分地基于所述时间同步服务器所计算的时间差同步。
25.如权利要求24中所述的系统,其中所述备份操作是与所述应用关联的数据的快照。
26.如权利要求24或25中任一权利要求中所述的系统,其中所述备份服务器包括用于指示所述I/O处理器在启动备份操作期间延长应用实例和与其关联的数据存储卷之间的通信的计算机代码。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/365,051 US8108575B2 (en) | 2009-02-03 | 2009-02-03 | Methods of multi-server application synchronization without stopping I/O |
US12/365,051 | 2009-02-03 | ||
PCT/EP2009/067266 WO2010089003A1 (en) | 2009-02-03 | 2009-12-16 | Method and system for multi-server application synchronization without stopping i/o |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102308286A true CN102308286A (zh) | 2012-01-04 |
CN102308286B CN102308286B (zh) | 2013-11-13 |
Family
ID=41785620
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009801560135A Active CN102308286B (zh) | 2009-02-03 | 2009-12-16 | 用于在不停止i/o情况下的多服务器应用同步的方法和系统 |
Country Status (5)
Country | Link |
---|---|
US (3) | US8108575B2 (zh) |
EP (1) | EP2366150B1 (zh) |
JP (1) | JP5647624B2 (zh) |
CN (1) | CN102308286B (zh) |
WO (1) | WO2010089003A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104769544A (zh) * | 2012-08-27 | 2015-07-08 | 国际商业机器公司 | 多卷即时虚拟拷贝冻结 |
CN107450969A (zh) * | 2016-05-31 | 2017-12-08 | 中兴通讯股份有限公司 | 一种应用程序状态设置的方法和装置 |
CN113821362A (zh) * | 2021-11-25 | 2021-12-21 | 云和恩墨(北京)信息技术有限公司 | 数据复制方法及装置 |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8108575B2 (en) | 2009-02-03 | 2012-01-31 | International Business Machines Corporation | Methods of multi-server application synchronization without stopping I/O |
US9325789B2 (en) * | 2009-02-17 | 2016-04-26 | International Business Machines Corporation | Distributed server election with imperfect clock synchronization |
US9723074B2 (en) * | 2011-11-15 | 2017-08-01 | Alcatel Lucent | Method and apparatus for in the middle primary backup replication |
EP2615511A1 (de) * | 2012-01-12 | 2013-07-17 | Siemens Aktiengesellschaft | Verfahren zur synchronen Ausführung von Programmen in einem redundanten Automatisierungssystem |
US9411811B2 (en) | 2014-01-06 | 2016-08-09 | International Business Machines Corporation | Coordinated point-in-time snapshots of multiple computing platforms |
CN106293998A (zh) * | 2015-05-29 | 2017-01-04 | 北京中科同向信息技术有限公司 | 一种基于快照技术的系统备份方法 |
CN105099649B (zh) * | 2015-08-14 | 2018-10-16 | 宋亚玲 | 一种网络时间同步嵌入的方法和系统 |
CN105208104B (zh) * | 2015-08-26 | 2018-10-02 | 浪潮(北京)电子信息产业有限公司 | 一种远程镜像数据一致性检测方法及装置 |
US10417096B2 (en) * | 2017-07-20 | 2019-09-17 | Vmware, Inc. | Multi-virtual machine time consistent snapshots |
CN107704550B (zh) * | 2017-09-26 | 2021-04-30 | 深圳前海微众银行股份有限公司 | 文件迁移方法、装置以及计算机可读存储介质 |
CN109710498B (zh) * | 2017-10-26 | 2020-09-29 | 华为技术有限公司 | 一种管理日志的方法和装置 |
US10705927B2 (en) | 2018-07-19 | 2020-07-07 | Hewlett Packard Enterprise Development Lp | Freeze a volume of a replication set and unfreeze the volume based on at least one of a snapshot permit message, a snapshot abort message, and expiration of a timeout |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5854754A (en) * | 1996-02-12 | 1998-12-29 | International Business Machines Corporation | Scheduling computerized backup services |
US20040153615A1 (en) * | 2003-01-21 | 2004-08-05 | Koning G. Paul | Distributed snapshot process |
US20040215666A1 (en) * | 2002-12-31 | 2004-10-28 | Namik Hrle | Method and device for establishing synchronized recovery log points |
CN1604038A (zh) * | 2003-08-29 | 2005-04-06 | 国际商业机器公司 | 调整数据传输速率的装置和方法 |
CN101042662A (zh) * | 2006-03-08 | 2007-09-26 | 国际商业机器公司 | 用于管理分布式应用环境中的数据备份的系统和方法 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4021A (en) * | 1845-05-01 | Isaac l | ||
US4015A (en) * | 1845-04-26 | Hand-loom for weaving figured fabrics | ||
US7021A (en) * | 1850-01-15 | Substitute for the clevis | ||
JPH09198269A (ja) * | 1996-01-23 | 1997-07-31 | Toshiba Corp | 耐故障性型コンピュータシステム及び通信処理方法 |
US6157971A (en) * | 1998-06-02 | 2000-12-05 | Adaptec, Inc. | Source-destination re-timed cooperative communication bus |
US6731600B1 (en) * | 1999-02-08 | 2004-05-04 | Realnetworks, Inc. | System and method for determining network conditions |
US6801921B2 (en) | 2000-09-08 | 2004-10-05 | Hitachi, Ltd. | Method and system for managing multiple database storage units |
US6636875B1 (en) | 2000-10-25 | 2003-10-21 | International Business Machines Corporation | System and method for synchronizing related data elements in disparate storage systems |
US7139932B2 (en) | 2002-01-03 | 2006-11-21 | Hitachi, Ltd. | Data synchronization of multiple remote storage after remote copy suspension |
US8037264B2 (en) * | 2003-01-21 | 2011-10-11 | Dell Products, L.P. | Distributed snapshot process |
US7937551B2 (en) * | 2003-01-21 | 2011-05-03 | Dell Products L.P. | Storage systems having differentiated storage pools |
JP2006525724A (ja) * | 2003-05-06 | 2006-11-09 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | クロックの時間同期方法 |
JP4545529B2 (ja) | 2004-08-27 | 2010-09-15 | 株式会社日立製作所 | スナップショットの作成方法及びプログラム並びにストレージシステム |
US7437388B1 (en) * | 2004-12-21 | 2008-10-14 | Symantec Corporation | Protecting data for distributed applications using cooperative backup agents |
EP1677192A3 (en) | 2004-12-29 | 2009-02-18 | International Business Machines Corporation | A computing system and a method for calculating a recovery time of an application system |
JP4806557B2 (ja) | 2005-10-18 | 2011-11-02 | 株式会社日立製作所 | ログを管理するストレージ装置及び計算機システム |
US7386675B2 (en) * | 2005-10-21 | 2008-06-10 | Isilon Systems, Inc. | Systems and methods for using excitement values to predict future access to resources |
US7343447B2 (en) | 2005-11-08 | 2008-03-11 | International Business Machines Corporation | Method and system for synchronizing direct access storage volumes |
JP5085031B2 (ja) * | 2005-11-10 | 2012-11-28 | 株式会社東芝 | X線アンギオ撮影装置 |
US7571268B2 (en) | 2006-04-06 | 2009-08-04 | International Business Machines Corporation | Consistent updates across storage subsystems coupled to a plurality of primary and secondary units at selected times |
US8108575B2 (en) | 2009-02-03 | 2012-01-31 | International Business Machines Corporation | Methods of multi-server application synchronization without stopping I/O |
US7930359B2 (en) | 2009-02-03 | 2011-04-19 | International Business Machines Corporation | Methods of consistent data protection for multi-server applications |
-
2009
- 2009-02-03 US US12/365,051 patent/US8108575B2/en not_active Expired - Fee Related
- 2009-12-16 JP JP2011546647A patent/JP5647624B2/ja active Active
- 2009-12-16 WO PCT/EP2009/067266 patent/WO2010089003A1/en active Application Filing
- 2009-12-16 EP EP09801961A patent/EP2366150B1/en active Active
- 2009-12-16 CN CN2009801560135A patent/CN102308286B/zh active Active
-
2011
- 2011-09-29 US US13/249,112 patent/US8321610B2/en active Active
-
2012
- 2012-09-13 US US13/615,305 patent/US8656073B2/en not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5854754A (en) * | 1996-02-12 | 1998-12-29 | International Business Machines Corporation | Scheduling computerized backup services |
US20040215666A1 (en) * | 2002-12-31 | 2004-10-28 | Namik Hrle | Method and device for establishing synchronized recovery log points |
US20040153615A1 (en) * | 2003-01-21 | 2004-08-05 | Koning G. Paul | Distributed snapshot process |
CN1604038A (zh) * | 2003-08-29 | 2005-04-06 | 国际商业机器公司 | 调整数据传输速率的装置和方法 |
CN101042662A (zh) * | 2006-03-08 | 2007-09-26 | 国际商业机器公司 | 用于管理分布式应用环境中的数据备份的系统和方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104769544A (zh) * | 2012-08-27 | 2015-07-08 | 国际商业机器公司 | 多卷即时虚拟拷贝冻结 |
CN104769544B (zh) * | 2012-08-27 | 2017-06-30 | 国际商业机器公司 | 多卷即时虚拟拷贝冻结 |
CN107450969A (zh) * | 2016-05-31 | 2017-12-08 | 中兴通讯股份有限公司 | 一种应用程序状态设置的方法和装置 |
CN113821362A (zh) * | 2021-11-25 | 2021-12-21 | 云和恩墨(北京)信息技术有限公司 | 数据复制方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102308286B (zh) | 2013-11-13 |
US8321610B2 (en) | 2012-11-27 |
WO2010089003A1 (en) | 2010-08-12 |
US8108575B2 (en) | 2012-01-31 |
US20100198793A1 (en) | 2010-08-05 |
JP5647624B2 (ja) | 2015-01-07 |
US20130007315A1 (en) | 2013-01-03 |
US20120023068A1 (en) | 2012-01-26 |
EP2366150B1 (en) | 2012-09-05 |
US8656073B2 (en) | 2014-02-18 |
EP2366150A1 (en) | 2011-09-21 |
JP2012517042A (ja) | 2012-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102308286B (zh) | 用于在不停止i/o情况下的多服务器应用同步的方法和系统 | |
EP2795476B1 (en) | Application consistent snapshots of a shared volume | |
US8880480B2 (en) | Method and apparatus for data rollback | |
US7599967B2 (en) | No data loss system with reduced commit latency | |
US10678663B1 (en) | Synchronizing storage devices outside of disabled write windows | |
US8103714B2 (en) | Transactional quality of service in event stream processing middleware | |
Kemme et al. | Database replication: a tale of research across communities | |
US9189495B1 (en) | Replication and restoration | |
US20150347250A1 (en) | Database management system for providing partial re-synchronization and partial re-synchronization method of using the same | |
US10114848B2 (en) | Ensuring the same completion status for transactions after recovery in a synchronous replication environment | |
US20120079224A1 (en) | Maintaining mirror and storage system copies of volumes at multiple remote sites | |
US20030208511A1 (en) | Database replication system | |
US20100145914A1 (en) | Database management server apparatus, database management system, database management method and database management program | |
KR970066900A (ko) | 분산 메모리형 멀티프로세서 시스템 및 고장 회복 방법 | |
US7506116B2 (en) | Maintaining and using information on updates to a data group after a logical copy is made of the data group | |
CN105320718B (zh) | 同步复制环境中的事务完成 | |
US8250036B2 (en) | Methods of consistent data protection for multi-server applications | |
CN110413687A (zh) | 基于节点互证校验的分布式事务故障处理方法及相关设备 | |
JP4870190B2 (ja) | データ処理方法、計算機、及びデータ処理プログラム | |
US10296517B1 (en) | Taking a back-up software agnostic consistent backup during asynchronous replication | |
JP4998010B2 (ja) | データベースシステム管理、データベースシステム、プログラム及び処理装置 | |
US20110113010A1 (en) | Synchronizing an auxiliary data system with a primary data system | |
EP4088195A1 (en) | Processing delete requests based on change feed of updates | |
CN112579704B (zh) | 数据反向同步方法、装置、系统、镜像服务器和存储介质 | |
WO2023011703A1 (en) | Computing device and method for use in the computing device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |