异步复制数据的方法和装置的制作方法

文档序号:6563171阅读:252来源:国知局
专利名称:异步复制数据的方法和装置的制作方法
技术领域
本发明一般地涉及数字信息的存储,而且具体而言涉及在次级存储站异步复制存储在主存储站的数据事务。
背景技术
典型数据处理系统包括一个或多个主计算机和数据存储子系统。此外,在许多计算环境中,数据完整性就算不是必须的,也是重要的。因此,次级存储子系统被提供来维护存储在主存储子系统上的数据备份。将会理解,备份数据必须复制得尽可能接近原始数据。数据或“事务(transaction)”的存储顺序可以是重要的,其中某些事务依赖于其他的在先事务。因此,数据的一致性需要在复制期间维护任何依赖性事务的顺序。传统的维护一致性的方法是以事务从主机到达的相同顺序将事务传送到次级存储设备,在下一事务的传送开始前,等待每个事务被次级站确认。
然而,每次一个事务的过程对于所述复制系统的性能有不利影响,特别是当所述复制管理器和次级站之间的距离增加的时候。而且,如此低效的带宽利用甚至可以变得成本非常昂贵。

发明内容
本发明提供一种用于以下述方式将数据复制到远程或次级存储设备的复制管理器、方法和计算机程序产品,所述方式减少由传统的每次一个事务的过程所施加的对性能的不利影响和低效的带宽利用。待传送的事务被复制管理器分组,以使得事务不依赖于所述组中的任何其他事务。接着所述组中所有事务可以被传送到次级存储设备。
在一实施例中,从一个或多个主机设备接收数据事务,并且每个事务开始和完成的时间被记录。标识具有最早开始时间的事务,以及创建包括该事务和开始时间比被标识的事务的完成时间更早的所有其他事务的组。接着所述组中的事务被传送到存储设备。优选地,将开始时间比具有最早完成时间的事务的完成时间更晚的任何事务在被传送之前从组中移除,从而进一步确保依存关系被避免。
在另一实施例中,提供了一种具有接口、存储器和处理器的数据复制管理器,通过所述接口从一个或多个主机设备接收数据事务,而且通过所述接口所述事务被传送到主和次级存储设备,所述存储器用于存储接收每个事务的开始时间和接收每个事务的完成时间,所述处理器可操作来执行指令。所述指令包括引导事务的传送,用以在主存储设备中存储;标识所有已接收的事务中具有最早开始时间的事务;创建包括所标识的事务和开始时间比所述事务的完成时间更早的所有其他事务的组;以及引导所述组中的事务的异步传送,用以在次级存储设备中存储。优选地,所述指令还包括从所述组中移除开始时间比所述组中的所有事务中具有最早完成时间的事务的完成时间更晚的任何事务,从而进一步地确保依存关系被避免。
在再一实施例中,提供了一种具有实现于其中的计算机可读代码的计算机程序产品,所述计算机可读代码用于将数据拷贝到次级数据存储站。所述代码包括下述指令,这些指令用于从一个或多个主机设备接收多个数据事务,记录接收每个事务的开始和完成时间,标识在所有接收到的事务中具有最早开始时间的第一事务,创建包括所述第一事务和开始时间比所述第一事务的完成时间更早的所有其他事务的第一组,以及异步传送所述第一组中的事务到存储设备。优选地,将开始时间比具有最早完成时间的事务的完成时间更晚的任何事务在被传送前从组中移除,从而进一步地确保依存关系被避免。


图1是可以实现本发明的数据处理环境的框图;图2是由本发明的复制设备接收的数据事务框的例示;
图3是本发明的方法的流程图;图4是由本发明的复制设备接收的数据事务的另一框的例示;图5A和5B是本发明可选方法的流程图;以及图6例示了可以实现本发明的数据处理环境的可选配置。
具体实施例方式
图1是可以实现本发明的数据处理环境100的框图。所述环境包括一个或多个主计算机或设备102、数据复制管理器110、以及主和次级存储设备120和130。在操作中,主机102传输数据事务到复制管理器110,复制管理器110引导所述事务被存储在主存储设备120上,而事务的拷贝被存储在次级存储设备130上。出于安全性和数据完整性的原因,次级存储设备130优选地位于相对于复制管理器110和主存储设备120的远程位置,并通过网络通信链路104被连接到复制管理器110。复制管理器110可以被集成到主存储设备120中或可以是单独的单元。
复制管理器110包括接口112A、112B和112C,复制管理器110通过所述接口与主机102以及主和次级存储设备120和130传递和交换数据。复制管理器110还包括存储器114和处理器116,所述处理器116用于执行存储在存储器114中的指令。如下所述,复制管理器110还可以包括可以被存储在存储器114中的元数据118。
参考图2并参考图3的流程图,将描述本发明的实施例。数据事务框200被从主机102传送到复制管理器110,用于存储和复制存储(步骤300)。5个此类的事务TR1-TR5在图2中示出,尽管通常更多数量的事务将被传送。所述复制管理器110记录由复制管理器110接收到开始每个事务的时间(“开始时间”)(步骤302)。在复制管理器记录每个数据事务的开始时间之后,该事务被传送到主存储设备(120)用于存储(步骤304)。当主存储设备(120)确认它已经接收到所述数据事务之时,复制管理器记录完成每个事务的时间(“完成时间”)(步骤306)。
与按照传统地以数据事务TR1-TR5在复制管理器110上被接收的相同顺序来传送它们到次级存储设备130不同,将它们分组用以传送,这更加高效地利用通信链路104的可用带宽。具有最早开始时间的事务被标识(步骤308),其是图2中开始和完成时间分别为t0和t7的TR1。接着复制管理器110标识出开始时间比首先标识的事务TR1的完成时间t7更早的其他事务(步骤310);这些事务是TR2-TR5。
为了验证组中的事务间没有依存关系,复制管理器110优选地标识出组中事务的最早完成时间(步骤312)。然后确定是否有任何事务的开始时间比所述最早完成时间更晚(步骤314)。如果是,则将该事务从组中移除(步骤316)并放回等待被传送到次级存储设备130的事务列表上。在图2中,事务TR3具有最早完成时间(t4),而事务TR5的开始时间(t5)在之后发生;因而,将事务TR5从组中移除。在所述事务被验证后,复制管理器110通过接口112C并在通信链路104上启动将剩余事务异步传送到次级存储设备130(步骤318)。即,复制管理器110开始传送事务而无需等待接收先前传送的事务已被次级存储设备130成功接收到的确认。当在次级存储设备130成功接收了每个事务之时,次级存储设备130将确认发送回到复制管理器110(步骤320)。当复制管理器110已接收到对于组中所有事务的确认之时,复制管理器110确定是否还存在要被发送的事务(步骤322)。如果是,则复制管理器110重复所述创建新的要传送的事务的组的过程。否则,过程结束(步骤324)。
现在参考图4并参考图5A和5B的流程图,将描述本发明的另一实施例。事务框400从主机102传送到复制管理器110用以存储和复制存储(步骤500)。十四个这样的事务TR1-TR14在图4中被示出,尽管通常更多数量的事务将被传送。与图2和图3的实施例相同,复制管理器110记录每个事务的开始时间(步骤502)。数据事务TR1-TR14被传送到主存储设备120,并被存储于其上(步骤504)。当事务从主机到达并处于同样顺序时,接着复制管理器110记录每个事务的完成时间(步骤506),而且也将信息存储为元数据118(步骤508)。元数据优选地包括每个事务的开始和完成时间,所述事务对于次级存储设备130为“未完成”(在此没有这种事务),等待被传送到次级存储设备130的事务(在此为所有十四个事务)的开始和完成时间,以及等待中的事务的最早开始时间。
与先前的实施例相同,最初的事务组通过标识最早开始时间而被创建(步骤510),其是图4中的TR1。接着,通过元数据118,复制管理器110标识开始时间比事务TR1的完成时间更早的其他事务(步骤512);这些事务是TR2-TR8。所述组中最早完成时间也被标识(步骤514),而开始时间比该时间更晚的任何事务被标识(步骤516)。将后面的事务从所述组中移除(步骤518)。这样,事务TR7和TR8被移除来确保所述组不包括任何可能的依存关系。在最初组中的事务被验证后,复制管理器110通过接口112C并在通信链路104上启动将剩余事务异步传送到次级存储设备130(步骤520)。元数据118也被更新(步骤522),以映射出事务TR1-TR6现仍未完成,具有最早完成时间的未完成事务是TR5,事务TR7-TR14在等待中,以及具有最早开始时间的等待中的事务是TR7。
在先前描述的实施例中,只在复制管理器110从次级存储设备130接收到对于最初组中所有事务的确认后,才创建第二组事务。相反地,在当前描述的实施例中,在从次级存储设备130接收回第一确认后,就创建下一组(步骤524)。在本例中,复制管理器将首先接收对事务TR5的接收。剩余未完成事务被检查,以确定未完成事务的最早完成时间是否已改变(步骤526)。如果否,则复制管理器110等待接收另外的确认(步骤528)。如果是,则元数据118中的最早完成时间的值被更新为新确认的值(步骤530)。开始时间比新的最早完成时间更早的等待中事务被选择,即TR7(步骤532),从而验证了新组中的事务之间没有依存关系。
通过进一步利用通信链路104上的可用带宽,复制管理器110启动将新组中的事务异步传送到次级存储设备130(步骤534),即使当第一组中的事务仍然未完成也是如此。复制管理器110还更新元数据118(步骤536)来映射出当前事务TR1-TR4和TR6-TR7为未完成,事务TR3在未完成事务中具有最早完成时间,事务TR8-TR14正在等待中,以及事务TR8在等待中的事务中具有最早开始时间。在复制管理器110接收到事务TR3已接收的确认后(步骤538),如果仍存在等待中的事务(步骤540),则通过从等待中的事务中选择新组的事务而重复所述过程。否则,过程结束(步骤542)。
在可实现本发明的数据处理环境的可选配置中,远程或次级复制管理器600(图6)被插到本地或主复制管理器610和次级存储设备130之间。本地复制管理器610可操作来将事务分组并将它们传送到远程复制管理器600。于是事务的依存关系被远程复制管理器600中的处理器、存储器和元数据所消除。因此,本发明方法的执行可以从本地复制管理器110转移到远程复制管理器600。
重要的是要注意,虽然本发明已经在完全运行的数据处理系统的上下文中被描述,但是本领域普通技术人员将会理解,本发明的过程能够以指令的计算机可读媒体的形式和多种形式来分布,而且不管实际被用来执行所述分布的信号承载媒体的具体类型都可应用本发明。计算机可读媒体的示例包括可记录类型媒体(诸如软盘、硬盘驱动器、RAM和CD-ROM)以及传输类型媒体(诸如数字和模拟通信链路)。
已经出于例示和描述的目的呈现了对本发明的描述,但是其并非旨在穷尽性的或将本发明限制于已公开的形式。对于本领域普通技术人员来说,许多修改和变更将显而易见。所选择并描述的实施例是为了最好地解释发明的原理和实际应用,并使本领域普通技术人员能够理解本发明可用于具有适合于所预期的具体使用的各种修改的各种实施例。此外,虽然以上描述了方法和系统,但本领域的需要也可以由包含用于异步复制数据的指令的计算机程序产品来满足。
权利要求
1.一种用于异步拷贝数据到次级数据存储站的方法,包括从一个或多个主机设备接收多个数据事务;记录接收每个事务的开始和完成时间;标识所有已接收的事务中具有最早开始时间的第一事务;创建包括所述第一事务和开始时间比所述第一事务的完成时间更早的所有其他事务的第一组;以及异步传送所述第一组中的事务到存储设备。
2.如权利要求1所述的方法,还包括在所述第一组中的事务进行传送前,从第一组中移除开始时间比第一组所有事务中具有最早完成时间的事务的完成时间更晚的任何事务。
3.如权利要求1所述的方法,还包括接收所述第一组中事务被存储设备成功接收的确认;选择第二事务,所述第二事务在所有剩余的已接收事务中具有最早的开始时间;创建包括所述第二事务和开始时间比所述第二事务的完成时间更早的所有其他剩余事务;以及异步传送所述第二组中的事务到存储设备。
4.如权利要求1所述的方法,还包括接收第一组中的事务被存储设备成功接收的确认;标识在开始时间比第一组中尚未确认被存储设备成功接收的事务中的最早完成时间更早的所有剩余事务中具有最早开始时间的第二事务;创建第二组,所述第二组包括所述第二事务和开始时间比第一组中尚未确认被存储设备成功接收的事务中的最早完成时间更早的所有其他事务;以及异步传送所述第二组中的事务到存储设备。
5.如权利要求1所述的方法,还包括在传送所述第一组中的事务前,从第一组中移除开始时间比第一组所有事务中具有最早完成时间的事务的完成时间更晚的任何事务;接收第一组中事务被存储设备成功接收的确认;标识从一个或多个主机设备接收的、开始时间比第一组中尚未确认被存储设备成功接收的事务中的最早完成时间更早的所有剩余事务中具有最早开始时间的第二事务;创建第二组,所述第二组包括所述第二事务和开始时间比第一组中尚未确认被存储设备成功接收的事务中的最早完成时间更早的所有其他事务;以及异步传送所述第二组中的事务到存储设备。
6.如权利要求1所述的方法,其中由本地复制管理器执行所述记录、标识、创建和传送;以及所述存储设备是远程存储设备。
7.如权利要求1所述的方法,其中由远程复制管理器执行所述记录、标识、创建和传送;以及所述存储设备是远程存储设备。
8.一种数据复制管理器,包括第一接口,通过其从一个或多个主机设备接收数据事务;第二接口,通过其数据事务被传送到主存储设备;第三接口,通过其数据事务被传送到次级存储设备;存储器,用于存储接收每个事务的开始时间和接收每个事务的完成时间;以及处理器,其可操作来执行指令用于引导通过所述第二接口的事务传送,用以在主存储设备中进行存储;标识所有已接收的事务中具有最早开始时间的第一事务;创建包括所述第一事务和开始时间比所述第一事务的完成时间更早的所有其他事务的第一组;以及引导通过所述第三接口的所述第一组中的事务的异步传送,用以在次级存储设备中进行存储。
9.如权利要求8所述的复制管理器,所述处理器还可操作来执行指令用于在所述第一组中的事务进行传送前,从第一组中移除开始时间比第一组所有事务中具有最早完成时间的事务的完成时间更晚的任何事务。
10.如权利要求8所述的复制管理器,所述处理器还可操作来执行指令用于接收第一组中事务被次级存储设备成功接收的确认;选择第二事务,所述第二事务在所有剩余的已接收事务中具有最早的开始时间;创建包括所述第二事务和开始时间比所述第二事务的完成时间更早的所有其他剩余事务;以及异步传送所述第二组中的事务到次级存储设备。
11.如权利要求8所述的复制管理器,所述处理器还可操作来执行指令用于接收第一组中的事务被存储设备成功接收的确认;标识在开始时间比第一组中尚未确认被存储设备成功接收的事务中的最早完成时间更早的所有剩余事务中具有最早开始时间的第二事务;创建第二组,所述第二组包括所述第二事务和开始时间比第一组中尚未确认被存储设备成功接收的事务中的最早完成时间更早的所有其他事务;以及异步传送所述第二组中的事务到次级存储设备。
12.一种用于拷贝数据到次级数据存储站的方法,包括从一个或多个主机设备接收多个数据事务;创建第一组事务,其中事务不依赖于第一组中的任何其他事务;以及异步传送所述第一组中的事务到存储设备。
13.如权利要求12所述的方法,还包括接收所述第一组中的事务已被存储设备成功接收的确认;创建第二组事务,其中事务不依赖于第二组中任何其他事务;以及异步传送所述第二组中的事务到存储设备。
14.如权利要求12所述的方法,其中由本地复制管理器执行所述创建和传送;以及所述存储设备是远程存储设备。
15.如权利要求12所述的方法,其中由远程复制管理器执行所述创建和传送;以及所述存储设备是远程存储设备。
全文摘要
在数据处理环境中,以下述方式将数据复制到远程或次级存储设备,所述方式减少由传统的每次一个事务的过程所施加的对性能的不利影响和低效的带宽利用。通过选择开始时间比第一事务的完成时间更早的事务,待传送的事务被复制管理器分组。因此,组中的事务将不依赖于该组中的任何其它事务。一旦进行了选择,该组中的所有事务就可以被传送到次级存储设备。
文档编号G06F9/46GK1928830SQ20061015142
公开日2007年3月14日 申请日期2006年9月7日 优先权日2005年9月8日
发明者J·J·伍尔夫冈, K·F·戴三世, K·W·博伊德 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1