检查点及一致性标记符的制作方法

文档序号:6566581阅读:147来源:国知局
专利名称:检查点及一致性标记符的制作方法
技术领域
本申请总体上涉及数据存储系统,特别是使用数据存储系统中的 一致点及相关联的一致数据拷贝的技术。
背景技术
计算机系统可包括不同的资源,其由一个或多个主机处理器使 用。计算机系统中的资源和主机处理器可由一个或多个通信连接互 连。例如,这些资源可包括数据存储装置如包括在伊姆西公司制造的 数据存储系统中的数据存储装置。这些数据存储系统连到一个或多个 主机处理器并向每一主机处理器提供存储服务。来自一个或多个不同 厂家的多个数据存储系统可被连接并可为计算机系统中的一个或多 个主机处理器提供公共数据存储。
结合数据存储系统可执行不同的任务。例如,可在数据存储系统 中执行处理从而在目标系统创建和维护来自源系统的数据的镜象拷 贝。当执行导致对源系统进行数据修改的文件操作时,所述修改可被 记录且之后应用于数据的目标系统拷贝。在执行数据操作时,当数据 处于一致状态时,可能希望使用目标系统上的数据拷贝。例如,当所 有未完成数据库事务均被提交时,源或目标系统可表征为在该时间点 处于一致状态,任何新引入的事务均被暂停或"排队",且任何数据 库缓冲器均在所选时间点转储清除。然而,很难建立和确定目标系统 上的数据拷贝何时处于这样的一致状态。
因而,需要有效的技术用于在目标系统上提供数据的一致拷贝并 用于确定目标系统上的数据拷贝何时处于一致状态,同时使对源系统 的数据及访问源系统上的数据的应用的负面影响最小。


本发明的特征和优点从下面结合附图对本发明示例性实施例进 行的详细描述可明显看出,其中
图1为可使用在此描述的技术的计算机系统的实施例。 图2A为数据存储系统的实施例。
图2B所示为图2A的数据存储系统的一实施例中包括的指挥站和 存储器之间的逻辑内部通信。
图3为用以执行在此所述的技术以在目标上获得数据的一致拷 贝的组成部分的例子。
图4为可连伺文件操作的实时复制一起使用以维护源数据的镜 象拷贝的组成部分的例子。
图5为可包括在连同将一致点标记符插入所捕获的文件操作流 中一起使用的框架中的组成部分的例子。
图6为所捕获的文件操作流的例子。
图7为可包括在一致点标记符记录中的组成部分的例子。
图8为确定源数据何时处于一致状态所执行的处理步骤的流程图。
图9为源系统处理对应于所捕获文件操作的记录及转发给目标 系统的一致点标记符所执行的处理步骤的流程图。
图10为目标系统处理对应于所捕获文件操j乍的记录及从源系统 接收的一致点标记符所执行的处理步骤的流程图。
图11和12为其中可使用在此描述的技术和组成部分的其它结构 的例子。及
图13更详细地示出了可连同在此描述的技术一起使用的数据存 储系统结构的例子。
具体实施例方式
现在参考图l,其示出了可连同实现在此所述的技术一起使用的 计算机系统的实施例。计算机系统10包括通过通信媒质18连到主机系统14a-14n的数据存储系统12。在计算机系统10的该实施例中, N个主机14a-14n可在执行输入/输出(I/O)操作或数据请求时访问 数据存储系统12。通信媒质18可以是本领域技术人员已知的多种网 络或其它类型通信连接中的任一或多个。通信媒质18可以是网络连 接、总线、构架、和/或其它类型的数据链路,如本领域已知的硬连 线或其它连接。例如,通信媒质18可以是因特网、内联网、网络或 其它无线或其它硬连线连接,主机系统14a-14n借助其可访问和与数 据存储系统12通信,并还可与计算机系统10中包括的其它组成部分 通信。
计算机系统10中包括的每一主机系统14a-14n和数据存储系统 12均可通过根据通信媒质18的类型提供和支持的多种连接中的任何 一种连接到通信媒质18。主计算机系统14a-14n中包括的处理器可 以是多种专有或可从市场上购得的单或多处理器系统中的任何一种, 如基于Intel的处理器、或能够根据每一特定实施例和应用支持流量 的、可从市场上购得的其它类型处理器。
应注意,可包括在数据存储系统12中的硬件和软件的特定例子 在此进行详细描述,其可随每一特定实施例变化。每一主计算机 14a-14n和数据存储系统可全部位于同一物理场所,或者,也可位于 不同的物理位置。可用于在计算机系统10的主计算机系统和数据存 储系统之间提供不同类型的连接的通信媒质的例子可使用多种不同 的通信协议,如SCSI、光纤通道、iSCSI等。主机、管理组件及数据 存储系统借助其可连到通信媒质的部分或所有连接可通过其它通信 设备,如Connectrix或其它可能存在的交换设备,如电话线、中继 器、多路复用器、甚至人造卫星。 -
每一主计算机系统可根据不同类型的任务执行不同类型的数据 操作。在图1的实施例中,主计算机14a-14n中的每一个可向数据存 储系统12发出数据请求以执行数据操作。例如,在主计算机14a-14n 之一上运行的应用程序可执行导致一个或多个数据请求发给数据存 储系统12的读或写操作。
16现在参考图2A,其示出了可包括在图1的计算机系统10中的数 据存储系统12的实施例。图2A的数据存储系统12包括可由一个或 多个不同厂家制造的一个或多个数据存储系统20a-20n。每一数据存 储系统20a-20n可以相互连接(未示出)。另外,数据存储系统也可 通过任一或多个通信连接31连到主机系统,所述通信连接可根据特 定实施例中使用的不同协议而随每一特定实施例和设备变化。所使用 的通信连接的类型可随某些系统参数和要求变化,如与根据主计算机 系统发给数据存储系统12的I/O请求速率所需要的带宽和吞吐量有 关的参数和要求。在下面详细描述的该例子中,参考元件20a的详图。 应注意,类似的详述也可应用于任一或多个其它元件,如20n,但为 了简单说明已省略这些描述。还应注意,实施例可包括来自一个或多 个厂家的数据存储系统。20a-20n中的每一个可以是图1的计算机系 统10的实施例中包括的、向主计算机系统提供存储服务的资源。应 注意,数据存储系统12可独立运行,或也可包括为包括其它组成部 分的存储区网络(SAN)的一部分。
每一数据存储系统如20a可包括多个磁盘设备或巻,如由n排磁 盘或巻24a-24n组成的排列24。在该排列中,每一排磁盘或巻可连 到负责与磁盘或巻24的一部分之间的操作的后端管理的磁盘适配器 (DA)或指挥站。在系统20a中,单一 DA如23a可负责一排磁盘或 巻如排24a的管理。
系统20a还可包括一个或多个主机适配器(HA)或指挥站 21a-21n。这些HA中的每一个可用于管理一个或多个主机系统和全局 存储器之间的通信和数据操作。在实施例中,HA可以是光纤通道适 配器或有助于主机通信的其它适配器。
一个或多个内部逻辑通信路径可能存在于DA、 RA、 HA和存储器 26之间。例如,实施例可使用一个或多个内部总线和/或通信模块。 例如,全局存储器部分25b可用于促进数据存储系统中的DA、 HA和 RA之间的数据传送及其它通信。在一实施例中,DA23a-23n可使用高 速缓存器执行数据操作如与其它磁盘适配器或指挥站或系统20a的
17其它组成部分通信,所述高速缓存器可包括在全局存储器25b中。另
一部分25a是存储器的可用于与随每一实施例变化的其它目的地连 接的部分。
如该实施例中所述的特定数据存储系统或其特定装置如磁盘不 应视为限制。其它类型的可从市场上购得的数据存储系统及控制对这 些特定装置的访问的处理器和硬件也可包括在实施例中。
在存储系统20a中还示出了 RA或远程适配器40。 RA可以是包括 用于促进数据存储系统之间如两个相同或不同类型的数据存储系统 之间的通信的处理器的硬件。
主机系统通过通道向存储系统提供数据和访问控制信息,存储系 统也可通过通道向主机系统提供数据。主机系统不直接寻址存储系统 的磁盘驱动器,而是对数据的访问可从主机系统看作多个逻辑装置或 逻辑巻(LV)的地方提供给一个或多个主机系统。LV可以也可不对 应于实际的磁盘驱动器。例如, 一个或多个LV可驻留在单一物理磁 盘驱动器上。单一存储系统中的数据可由多个主机寻址从而使主机能 共享其中驻留的数据。HA可用于数据存储系统和主机系统之间的通 信。RA可用于促进两个数据存储系统之间的通信。DA可用于帮助到 驻留于其上的相关磁盘驱动器和LV的通信。
DA在磁盘驱动器上执行I/O操作。在下面的描述中,在其它指 挥站发起的与I/O操作有关的数据请求之后,驻留在LV上的数据可 由DA寻址。
现在参考图2B,其示出了数据存储系统中包括的指挥站和存储 器之间的逻辑内部通信的表示。图2B中包括连到存储器26的多个指 挥站37a-37n。指挥站37a-37n中的每一个代表可包括在数据存储系 统中的HA、 RA或DA之一。在于此公幵的实施例中,可以有高达16 个指挥站连到存储器26。其它实施例可使用更高或更低数量的指挥 站。
图2B的表示还包括可选通信模块(CM) 38,其在指挥站37a-37n 之间提供备选通信路径。指挥站37a-37n中的每一个均可连到CM38,
18使得指挥站37a-37n中的任一个均可发送消息和/或数据给指挥站 37a-37n中的任何其它指挥站,而无需通过存储器26。 CM38可使用 常规MUX/路由器技术实现,其中指挥站37a-37n中的发送指挥站提 供适当的地址以使消息和/或数据能被指挥站37a-37n中的预定接收 指挥站接收。此外,指挥站37a-37n中的发送指挥站能够将消息同时 通信给指挥站37a-37n的所有其它指挥站。
现在参考图3,其示出了可用于执行在此描述的技术的系统10 的组成部分的例子。例子IOO包括如前结合其它附图所述的主机14a 和数据存储系统12。主机14a包括在其上运行的数据库应用程序102。 数据库应用程序102可读和写数据,例如从可在主机14a本地的数据 存储装置104。与执行某些操作如备份操作一起,来自主机本地的装 置如装置104的数据可被复制到另一中心位置,如数据存储系统12 上的装置106。之后,数据存储系统12的装置106可被备份到其它 数据存储装置上。连同操作装置104中包括的文件,数据库应用10 可执行基于文件的命令,如读、写、截取文件操作。根据特定实施例 的文件系统和结构,也可在文件系统级对数据执行备份操作,其中将 被备份的指定组成部分是特定文件、目录等。作为备份操作的主题的 数据可以是包括在装置106中的一部分数据。
在获得和维护来自源装置如104的源数据的拷贝时,可执行初始 同步操作。同步操作可开始将源数据的文件复制到目标,如包括在装 置106中的目标数据。在同步之后,源和目标数据拷贝完全一样。之 后,随后对源数据的更新和修改可通过对源数据执行的镜象文件操作 而被异步地复制到目标数据上。换言之,如果特定文件操作导致源数 据的修改或变化,该文件操作可被记录并继而应用于目标数据。当基 于目标数据执行备份操作时,目标数据可表征为源数据在时间点的一 致拷贝。如在此所描述的,源数据的拷贝在时间点处于一致状态,例 如,当所有未完成数据库事务均被提交时,任何新进入的事务暂停或 "排队",及任何数据库缓冲器或其它缓存的数据相对于所选时间点 转储清除。下面将描述的是用于从目标如数据存储系统12的装置106上的 装置104获得源数据的一致拷贝。目标数据在其为源数据的一致拷贝 的时间点时可用于执行其它操作和任务如备份操作。
尽管例子100仅示出了单一主机14a,应注意,系统10中包括 的任一其它主机也可连同在此所述的技术使用。主机14a、特定应用 程序如数据库应用程序102、及执行备份操作时存储装置106上包括 的目标数据的使用均被选择用于说明在此描述的技术。除数据库应用 程序以外,其它应用程序也可用于执行源数据装置复制到目标数据存 储装置的操作。另外,除备份操作以外,目标数据存储装置还可连同 多种不同操作中的任一操作使用。
图3中包括的组成部分仅代表实施例中实际包括的组成部分的 一部分。已包括在图3中的特定组成部分仅用于说明和示例的目的。 本文别处描述了多种结构。例如,在实施在此描述的技术时, 一实施 例可使用主机-主机通信、数据存储系统-主机、或数据存储系统-数 据存储系统通信。
在下面的段落中,将首先描述用于将源数据复制在目标上的技 术。随后将描述复制技术的另外的组成以帮助确定目标数据何时可被 表征为源数据的一致拷贝。
现在将描述的是用于将源数据如源装置104的数据复制到目标 装置如装置106的技术。在此所述的复制技术可根据文件系统级命令 在文件系统级执行。根据将结合图4描述的一种技术,多个文件系统 级命令可被捕获和保存为实时应用于源装置104的文件操作。当这些 文件操作被捕获和记录在源系统如主机14a上的队列或存储位置中 时,捕获的操作可转发给目标系统或服务器以应用于目标装置106中 包括的目标数据。
应注意,尽管在此详细描述的是使用异步复制的特定复制技术, 在此描述的技术可连同本领域一般技术人员已知的其它复制技术一 起使用,如多种同步复制模式。
20现在参考图4,其示出了可用于实时复制文件操作以在目标装置
106上保持源装置104中包括的源数据的镜象拷贝的组成部分的例子 200。例子200中包括的是源系统230和目标系统240。例如,源系 统230可以是如前结合图3所示的主机14a。例如,目标系统240可 以是数据存储系统12中包括的或连接到数据存储系统12的服务器。 应用程序102可执行文件操作如文件写操作或导致源数据修改的其 它操作。在应用程序102运行期间,由应用程序102发出的这些文件 操作(步骤l)可使用一个或多个组成部分捕获。部分组成部分在内 核空间202中运行。在内核空间202中运行的组成部分可包括I/O管 理器204、镜象驱动器206和文件系统208。应注意,实施例可包括 不同于结合该例子所示的其它组成部分。例如,实施例可在文件系统 208下面包括一个或多个与磁盘或其它装置104接口的其它驱动器。 镜象驱动器206可表征为过滤驱动器,其在备份调用链过程中捕获感 兴趣的文件操作(步骤2)并将感兴趣的文件操作记录在内核高速缓 存210中(步骤3)。在内核高速缓存210存满或溢出时,镜象驱动 器206可将捕获的数据操作记录在溢出位置212 (步骤4)。内核高 速缓存和/或溢出位置212中包括的捕获数据操作的消费者或读者为 复制服务214,用户模式的过程。复制服务214从内核高速缓存210
(步骤5)和溢出位置212 (步骤6)读捕获的数据操作。应注意, 镜象驱动器206持续写到溢出位置212,直到复制服务处理足够量的 来自内核高速缓存的捕获文件操作时为止。当这发生时,镜象驱动器 可重新开始向内核高速缓存210写。当镜象驱动器在内核高速缓存 210或溢出位置212排队内核操作时,复制服务214从内核高速缓存 或溢出位置212读文件操作。复制服务214将从210和/或212读的 文件操作传给适当的目标系统如服务器240 (步骤7)。例如,位于 目标服务器上的代码可包括复制服务216,其处理所接收的、传自源 系统230的服务214的文件操作(步骤8)。之后,目标上的复制服 务216可将所接收的文件操作应用于目标存储装置106中包括的目标 数据的文件(步骤9)并向源系统发回确认(步骤IO)。应注意,在
21复制服务216被阻止执行或应用文件操作时,文件操作可被记录在封
锁数据容器220中(步骤11)。应注意,例如,如果磁盘存满、文 件正在使用中等,将文件操作应用于文件可被阻止。 一旦文件被标记 为有被阻止的操作,则对该特定文件的所有随后的文件操作均被保存 在封锁数据容器220中,直到所述文件与非封锁文件操作状态相关联 为止。复制服务216可定期尝试重新应用封锁数据容器220中包括的 文件操作(步骤12)。
如刚才所述的,镜象可表征为应用于源数据的文件操作的实时镜 象。例如,可使用镜象驱动器206和服务214帮助镜象。镜象可由应 用程序如数据库应用程序102的文件操作触发。例如,应用程序也可 以是任何其它用户模式过程,如Microsoft Word。文件操作也可由 例如通过映射的驱动器连到所述源的远程客户计算机引起。.刚才结合 图4的例子200所述的操作可表征为具有包括三个不同的阶段镜象 阶段,其中文件操作在内核中捕获并排队发送给目标。第二阶段可表 征为转发阶段,其中文件操作从所述源转发给目标。第三阶段可表征 为更新阶段,其中文件操作应用于目标数据。应注意,源系统230和 目标系统240可位于相同或不同计算机系统内。换言之,230可包括 在第一计算机系统中,240可包括在第二不同的计算机系统中。或者, 组件230和240可物理上紧邻定位或位于地理上不同的位置。例子 200的这些及其它变化很容易由本领域一般技术人员意识到。
如每一请求的返回状态所指示的,当文件操作已被完成时,镜象 驱动器206可捕获和记录文件操作,所述返回状态由202中包括的组 件的返回调用链的向上箭头指示。在完成文件操作的基础上,镜象驱 动器206确定是否应捕获特定文件操作。在该例子中,如果操作导致 文件的修改如文件创建、文件写操作、文件截断操作等,文件操作可 以是感兴趣的操作。应注意,其它条件可与确定特定文件操作是否为 感兴趣的操作相关联,例如,文件操作的成功状态。如果镜象驱动器 206根据实施例指定的一个或多个条件确定特定文件操作是感兴趣的 操作,则数据操作可被捕获并保存在内核高速缓存210中。应注意,在该例子中,内核高速缓存可表征为充作所有镜象的文件操作的队列 的共享存储器的区域。内核高速缓存可以是固定大小。如果内核高速 缓存存满,则文件操作可记录在溢出区域212。在该例子中,源上的
复制服务214和目标上的复制服务216可表征为用户模式应用程序, 且不要求在特权模式如内核模式202下运行。
关于记录感兴趣的文件操作,镜象驱动器206产生将应用于目标 装置106中包括的目标数据的文件操作流。前述内容描述了异步数据 移动,其中在另外的对源数据的数据操作被允许继续之前文件系统变 化不必提交给目标。而是,源系统被允许在数据复制处理的同时正常 运行。前述例子中使用的异步复制使能立即捕获源数据的任何变化, 并继而缓存在源系统本地。之后,当网络和其它资源允许时所述变化 转发给目标系统或服务器。
现在将描述的是可用于在前述所记录的文件操作流中插入另外 的一致点标记符的技术。 一致点标记符指明复制在目标数据中的源数 据的拷贝处于一致状态的各个点。换言之, 一致点标记符可插入文件 操作流中以用作标识点,使得如果到该特定标记符的数据操作应用于 目标装置,目标装置可表征为源数据拷贝的一致时间点。如将结合图 4的组成部分在此描述的一实施例中,复制服务214的修改版本也可 用于将一致点标记符插入将应用于数据的目标拷贝的文件操作流或 队列中。
应注意,R印liStor是由伊姆西公司制造的可从市场上购得的产 品,其连同如在此所述的数据复制和镜象一起使用。可从市场上购得 的R印liStor产品包括复制服务214和216及按结合图4的实施例 200所述进行运行的镜象驱动器。现在将描述的是其中如图4中所示 的那些组成部分的修改版本可用于在目标上获得源数据的一致时间 点拷贝。包括在目标中的源数据拷贝可用于执行本领域一般技术人员 将意识到的其它操作。
现在参考图5,示出了可包括在框架中的组成部分的例子300, 其用于将一致点标记符插入在源系统上捕获的文件操作流中。例子
23300中包括写入者302、提供者304、及请求者306。例子300中还另 外包括组成部分VSS310。在该例子中,VSS310是微软公司的巻映射 拷贝服务(VSS) 。 VSS是可通过商业途径获得的产品,其可表征为 提供具有应用程序编程接口 (API)的框架,该框架可连同创建数据 的一致时间点拷贝一起使用。如更常使用的,VSS允许系统管理员创 建一巻文件的快照或映射拷贝,其可共享为网络资源。VSS与不同的 组成部分通信,这些组成部分可相对于特定数据集表征为不同的类, 如写入者302、提供者304和请求者306,从而可产生数据的时间点 拷贝。写入者302可表征为第一组组成部分,其将如图4的源系统 230中包括的源数据写到数据拷贝。例如,写入者可以是结合图3和 4所示的数据库应用程序102、微软交换服务器、或其它应用程序。 通常,写入者302可执行更新或导致数据集修改的其它类型的操作。 提供者304可表征为提供数据集的软件和/或硬件组成部分,如基础 存储系统。例如,数据集的提供者可包括数据存储系统如伊姆西公司 的Symmetrix数据存储系统或其它数据存储系统。提供者304通常提 供可由写入者302访问的资源或数据集。请求者306可表征为提出获 取时间点拷贝的请求的那些组成部分。 一般地,例如,请求者可包括 用于请求对提供者304之一提供的数据执行备份复制的备份软件应 用程序。在运行中,请求者306可向VSS组成部分310发出请求以获 得数据集的时间点拷贝。之后,VSS310与该数据集的写入者302通 信以暂停任何新事务、完成任何当前事务、及将任何缓存的数据转储 到磁盘上。 一旦写入者302已对所请求的数据集完成这组操作,VSS 组成部分310与适当的提供者304通信以开始所请求数据集的映射拷 贝过程。 一旦映射拷贝已被创建,则备份软件(如该例子中的请求者) 可从该映射拷贝将数据复制到磁带上,而不涉及特定数据集的写入 者。因而,VSS用作为获得数据的时间点拷贝而促进写入者302、提 供者304和请求者306之间的通信的框架。
前述框架可用于获得源数据的一致时间点拷贝。与在此所述的技 术有关,基于主机的用户模式进程如图4的例子200的复制服务214,可注册为数据集如源数据的提供者304之一。因而,使用图4的框架,
复制服务214可注册为提供者并在所请求的数据集(如源数据)处于 一致状态时可由VSS310通知。当需要产生一致点标记符时,当请求 者306之一使用应用程序编程接口 (API)时进程可发起请求。应注 意,充作用于一致点标记符产生的请求者和提供者的进程或组成部分 可以是相同的进程或组成部分,也可以是不同的进程或组成部分。API 可根据特定实施例如VSS和其它组成部分进行指定。
作为例子,调度程序可以是在源系统中运行并作为请求者306请 求源数据的进程。复制服务214可被注册为源数据的提供者304。 VSS310与数据库应用程序和源数据的任何其它写入者302通信以完: 成现有的事务、不开始任何新的事务、及转储任何缓存的源数据,使 得源数据处于一致状态。之后,VSS310通知源数据的注册提供者304, 其导致源数据当前处于一致状态的通知将发送给服务214。对源数据 的任何进一步的操作均被暂停预定的一小段时间。之后,服务214可 将一致点标记符产生为源数据的所捕获文件操作流中的下一组成部 分。然后,源数据的各个写入者302可重新开始与源数据有关的正常
操作p
现在参考图6,其示出了可保存在内核高速缓存210中的所捕获 文件操作流的实施例。例子400中包括记录列表。每一记录或对应于 已被捕获的特定文件操作,如记录404,或对应于一致点标记符,如 记录402。每一捕获的文件操作记录404中包括的数据根据特定文件 操作可包括特定文件名称、位置、数据值等。 一致点标记符记录4Q2 可以是写入文件操作流的特殊记录。可包括在一致点标记符记录中的 数据元的实施例将在下面详细描述。
现在参考图7,其示出了可包括在一致点标记符记录402中的组 成部分的例子。在图7的例子402中, 一致点标记符记录可包括暂停-转发标志404、暂停更新标志406、源脚本的标识符408、'目标脚本 的标识符410、及其它数据412。在一实施例中,字段4O4和408可用于在源系统上处理一致点标记符,字段406和410可用于在目标系
统上处理一致点标记符。
源系统上的服务214可根据内核高速缓存中的特定记录检查和 执行处理。当记录对应于一致点标记符时,可使用字段404和408的 值执行特殊处理。当一致点标记符记录402被检测时,字段408可指 明在源系统上运行的脚本。该脚本可包括根据暂停转发标志404的值 检查和执行处理的处理步骤。暂停转发标志404可以是用于在源系统 上处理所捕获的文件操作流的二进位值。在一实施例中,如果暂停转 发标志404被置位(如等于l),则标志404指示对应于所捕获文件 操作的记录不应从源发送给目标系统,从而导致文件操作的待办事项 将保存在源系统上而不是目标系统上。如果暂停转发标志404为关 (如等于0),其表明对应于所捕获文件操作的记录应从源系统转发 给目标系统,使得任何待办事项或数据的内建将在目标系统上发生, 而不是源系统。暂停转发标志404可用于字段408指示的源脚本的处 理步骤。应注意,源脚本字段408是可选字段,因为对于其中没有脚 本运行因而暂停转发标志值可被忽略情况下的记录402,未指定值。 在这种情况下,只要标志402的值为0,文件操作即可有效地转发给 目标系统。在一实施例中,标志404可导致记录在源系统上排队预定 时间段。在该预定时间段之后,复制服务214可重新开始处理和转发 记录给目标系统。在另一实施例中,脚本可包括导致记录转发给目标 系统的处理步骤以暂停直到发生特定事件为止。当该特定事件已出现 时,可发信号通知服务214重新开始处理记录。
对于400的从源系统转发的所接收记录,处理也可由服务216在 目标系统上执行。当检测到对应于一致点标记符的记录时,可使用字 段406和410的值执行特殊处理。暂停更新标志406可以是二进位值, 当捕获文件操作的应用应暂停或不应应用于目标系统上的目标数据 拷贝时其值为l。否则,当暂停更新标志值为0时其表明如400的所 传输记录指明的所捕获文件操作应应用于数据的目标拷贝。标志406 可用于字段410指示的目标系统脚本执行的处理。字段410可选地确
26定将在目标系统上运行的脚本。在目标系统处理时标志406的值可被 忽视的情况下,特定一致点标记符的记录也可能未被指定。字段408 和410可包括标识符如包含将在相应源或目标系统上运行的脚本的 目录位置和文件名称。
应注意,实施例可包括另外的可用于处理源和/或目标系统上的 记录的字段。
在一实施例中,源系统的复制服务可创建记录402的每一例图因 而初始化记录402的字段。作为例子,如果备份将使用目标数据的拷 贝每天执行,源系统上的调度程序进程可发起请求以按每24小时间 隔产生一致点标记符。相应的一致点标记符记录的特定值可指该操作 的脚本。除了为源数据的备份操作一致拷贝产生标记符以外,另外的 产生标记符的请求也可按预定时间间隔或基于与其它操作有关的某 些事件的发生执行。这样,为一致点标记符创建记录的服务因而可用 相应操作的特定脚本初始化字段,如脚本字段—408和410。类似地, 产生记录402的服务214也可根据将要执行的特定操作初始化每一记 录例图的其它字段。
现在参考图8,其示出了在确定源数据何时处于一致状态的实施 例中执行的处理步骤的流程图500。 500的步骤概括了上面结合图5 所述的处理。在步骤502,提出获取源数据的一致拷贝的请求。例如, 这样的请求可连同调度程序任务执行定期备份操作等一起提出。在步 骤504, VSS组成部分与写入源数据的写入者通信以暂停新的事务、 完成当前事务、及将所有缓存的数据转储到磁盘上。写入者可在该状 态暂停预定时间段。之后,VSS与数据处于一致状态的源数据的注册 提供者通信。在该例子中,提供者可以是例如图4的复制服务214。 在步骤508.,已注册提供者将对应于一致点标记符的记录写入将被处 理的所记录操作的队列从而转发给目标系统。
现在参考图9,其示出了在处理来自将被转发给目标系统的记录 的输出队列的记录时由源系统执行的处理步骤的流程图。如本文别处 结合图4的组成部分所述,这些记录可保存在内核高速缓存和/或溢出位置。在步骤552,读输出队列中的下一记录。在步骤554,确定 该记录是否对应于一致点标记符。如果否,控制进行到步骤556以执 行其它处理。应注意,步骤556的其它处理可包括如本文别处所述的 将记录转发给目标系统的步骤。另外,实施例还可根据不同于在此所 述的文件操作及每一记录中包括的其它字段执行其它处理步骤。之 后,控制进行到歩骤552读下一记录。如果步骤554结果为是,控制 进行到步骤558,读当前记录的字段。在步骤560确定是否已指定源 脚本。如果否,控制进行到步骤552以继续处理下一记录。如果步骤 560结果为是,即表明源脚本已被指定,则在步骤561获取源脚本并 运行该脚本。在源脚本的该例子中包括使用暂停转发标志及基于所述 标志的值有条件地执行处理步骤的语句。换言之,在该例子中,源脚 本包括用于执行步骤562、 564和566的语句。在步骤562,确定暂 停转发标志是否被置位。如果是,控制进行到步骤564,源系统暂停 将输出队列中的记录发送给目标系统。如果步骤562的结果为否,则 不暂停从输出队列转发进一步的记录给目标系统。控制进行到步骤 566,根据源脚本可执行其它处理步骤。在该例子中,源脚本可规定 如果先前被暂停,则从输出队列转发记录可被重新开始。还应注意, 对前述的变化可在脚本中说明。控制进行到步骤552,处理输出队列 中的下一记录。流程图550的步骤可由源系统的复制服务214及源系 统脚本执行。
现在参考图10,其示出了在处理从源系统接收的记录时由目标 系统执行的处理步骤的流程图。在步骤602,读输入队列中的下一记 录。在步骤604,确定该记录是否对应于一致点标记符。如果否,控 制进行到步骤610以确定这是否是将要应用于已经处于封锁状态的 文件的文件操作。如果否,控制进行到步骤606以将所述操作应用于 目标数据。在步骤606之后,控制进行到步骤602以处理输入队列中 的下一记录。否则,如果文件操作将应用于处于封锁状态的文件,控 制进行到步骤612以将记录保存在已保存的块文件中,如图4的组成 部分220。如本说明书别处所述的,在特定文件不再处于封锁状态的
28一些随后的时间点,封锁的文件操作可应用于目标数据。在步骤612
之后,控制进行到步骤602以处理输入队列中的下一记录。如果步骤 604确定当前记录对应于一致点标记符,则控制进行到步骤608以读 当前记录的字段。在步骤614,确定是否已指定目标脚本。如果否, 控制进行到步骤602。否则,控制进行到步骤616以读所述脚本并开 始运行所述脚本。在目标脚本的该例子中包括使用暂停应用更新标志 及基于所述标志的值有条件地执行处理步骤的语句。换言之,在该例 子中,目标脚本包括用于执行步骤618、 620和624的语句。在步骤 618,确定暂停应用更新标志是否被置位。如果否,控制进行到步骤 624。否则,控制进行到步骤620以暂停处理输入队列中的任何进一 步的记录,因而暂停应用所述记录指明的任何进一步的文件操作。在 步骤624,另外的处理可根据脚本执行,如果先前在步骤620暂停, 脚本还可导致输入队列中的记录的处理重新开始。例如,在步骤624 根据脚本的处理可包括执行目标数据的备份或执行目标数据的拆分, 同时目标系统当前正暂停对目标数据的任何进一步的更新。随后,在 备份或其它操作执行之后,目标系统可重新开始输入队列中的记录的 处理。还应注意,对前述的变化可在脚本中说明。控制进行到步骤 602以处理下一记录。流程图600的步骤可由目标系统的复制服务216 和目标系统脚本执行。
前面描述了使用VSS的实施例。然而,实施例可在协调访问特定 数据集的组成部分之间的通信时使用其它技术,而不使用VSS。例如, 实施例可使用脚本和/或其它编程技术作为VSS的替代。
应注意,图4的组成部分,当修改为包括获取和利用一致点标记 符的功能时,可被包括在多种不同结构的任一结构中。例如,第一结 构可在主机上包括源230的组成部分。源的复制服务214可驻留在主 机中并在其中运行。数据源、装置104可以在主机本地,也可连接到 主机。目标240的一种结构可包括复制服务216驻留于其上并在其上 运行的目标主机。目标装置106可以在目标主机本地或连接到目标主 机。前述可表征为基于主机-主机的通信系统,连同在此所述的技术
29使用的复制服务、镜象驱动器和其它组成部分驻留在主机系统上。连 同在此所述的技术使用的组成部分的一部分也可驻留在数据存储系 统内并在其中运行。例如,目标系统240的实施例可包括目标数据存
储系统,如Symmetrix或Clarion数据存储系统,复制服务216驻留 在其上并在其上运行。源系统230可包括使用适当通信连接与目标数 据存储系统通信的主机。在另一实施例中,源系统230可包括源主机, 应用程序102及镜象驱动器206在其上运行。源系统230还可包括源 数据存储系统,复制服务214基于其运行并与源主机通信以从210和 212获取记录的文件操作和标记符。230的源数据存储系统可使用在 此所述的技术与目标240通信(按适于目标240的方式使用基于主机 的或基于数据存储的通信)。现在将说明的是可连同前述技术使用的 不同结构的一些例子。
现在参考图11,示出了其中可使用在此所述的组成部分和技术 的结构的例子1000。例子1000包括连接到两个源主机1014a-b的源 数据存储系统1012。两个主机1014a-b可使用通信媒质1026与目标 主机1014c-d通信。两个源主机1014a-b可相互通信及在通信媒质 1018a上与源数据存储系统1012通信。类似地,目标主机1014c-d 可相互通信及在通信媒质1018b上与目标数据存储系统1012a通信。 前述可表征为使用在此所述的技术的基于主机-主机的通信,其中源 230和目标240的用于执行在此所述的处理步骤的组成部分驻留在相: 应的源和目标主机系统上并在其上运行。前述例子1000还示出了实 施例中也可能存在的、数据存储系统的分布特性。源和目标数据存储 系统可以是例如结合图2所述的存储系统。
现在参考图12,示出了其中可使用在此所述的组成部分和技术 的另一结构的例子1100。在例子1100中,源主机1102与目标数据 存储系统1012a通信。目标数据存储系统1012a可包括一个或多个数 据存储系统,如Symmetrix或Clarion数据存储系统,源主机1102 在1020上与其通信。源主机1102可从源数据存储系统1012获得源 数据。源数据存储系统1012可以是例如结合图2所述的存储系统。现在参考图13,示出了可包括在源和/或目标数据存储系统中的
组成部分的另一结构的例子1200。具体地,例子1200可以是用于图 12的目标数据存储系统的结构。例子1200包括组成部分1050,其可 表征为用于帮助通过公共点的一个或多个数据存储系统20a-20n之 间的通信的前端处理器或计算机。例如,组成部分1050可以是可包 括在SAN (存储区网络)中的服务器系统或其它用于促进与组成部分 20a-20n的通信的处理器。结合图4的组成部分可使用一致标记符根 据在此所述的技术进行修改,在例子1200是目标系统的实施例中, 复制服务216可驻留在组成部分1050上并于其上运行。
图U-13为选择来图示可包括在使用在此所述的技术的实施例 中的不同结构的一些例子。在使用在此所述的技术进行基于主机-主 机、数据存储-主机及主机-数据存储的通信时,本领域一般技术人员 将可意识到其它变化。
前面描述了用于将一致点标记符从源系统传给目标系统的技术, 其中数据自动从源系统的源数据复制到目标系统的目标数据。源数据 可以是基于文件系统的组成部分如文件、目录等。如上所述的一实施 例可使用微软的VSS (巻映射拷贝服务)框架以指定时间间隔或在一 致点获取源数据的一致"快照",及将相关联的一致点标记符写入将 应用于目标中的拷贝的所捕获文件操作队列中。不同的组成部分可使 用所定义的应用程序编程接口 (API)通信。所捕获的文件操作队列 及一致点标记符可持续发送给目标系统,在那里所捕获的文件操作被 读并应用于目标数据拷贝,直到达到一致点标记符为止。在该点,目 标系统知道目标数据相对于源数据的快照处于一致状态。在将来自队 列的任何更多的所捕获文件操作应用于目标数据之前,如执行多个任 务的任一任务如备份操作、 一致拆分操作等时在目标数据中所反射 的,目标系统可使用源数据的一致拷贝。同样,在此所述的是在源和 目标系统之间传输时可用于控制队列中的所捕获文件操作流的特征。 脚本可在源系统上运行以控制源系统的输出队列中包括的文件操作 和一致点标记符发送给目标系统的流速(如暂停转发从而不发送对目
31标系统的任何进一步的更新/写)。脚本也可在目标系统上运行以暂 停将任何进一步的所捕获文件操作应用于目标数据。这样,代表源数 据的时间点一致拷贝的目标数据可被冻结在该一致状态一定时间,使 得可执行其它操作(如备份操作、拆分操作等)。备选实施例可使用 脚本或其它编程技术控制所有已注册数据写入者(如数据库应用程
序)、提供者(如数据存储系统如Symmetrix数据存储系统)和请求 者之间的协调,从而获取数据源的一致快照及将一致点标记符插入将 作为数据复制的一部分应用于目标数据的文件操作记录队列中,而不 是使用VSS框架。如在此根据不同结构所述的及本领域一般技术人员 将意识到的其它结构,不同的组成部分可驻留在主机和/或数据存储 系统上并在其上运行。
在本发明己结合详细图示和描述的优选实施例公开的同时,其修 改和改进对本领域技术人员而言将显而易见。因此,本发明的精神和 范围应仅由下述权利要求限制。
权利要求
1、用于获取一致状态的源数据拷贝的方法,包括记录一个或多个具有相应时序的文件操作,其修改所述源数据;接收请求一致状态的源数据拷贝的请求;当应用一部分所述文件操作之后确定在所述相应时序中所述源数据在哪一点处于一致状态;在所述相应时序中标记所述源数据处于一致状态的所述点;及将确定使所述源数据处于一致状态的那部分文件操作应用于所述源数据的所述拷贝。
2、 根据权利要求1的方法,其中所述标记所述相应时序中的所 述点包括确定所述文件操作中获得所述一致状态的相应文件操作。
3、 根据权利要求1的方法,还包括实时记录应用于源数据的所述部分文件操作,其中所述部分文件 操作被记录为时间有序的一系列记录,每一所述记录对应于所述部分 中的所述文件操作之一;将标记符记录插入所述一系列记录中,其指明所述源数据何时处 于一致状态;及将对应于所述一系列记录的文件操作应用于源数据的所述拷贝, 直到标记符记录被确定为止。
4、 根据权利要求3的方法,还包括当使用所述源数据的所述拷贝执行操作时暂停进一步将所记录 的文件操作应用于源数据的所述拷贝,同时允许新输入的文件操作应 用于所述源数据。
5、 根据权利要求4的方法,其中所述暂停进一步将所记录的文 件操作应用于源数据的所述拷贝通过在包括所述源数据的所述拷贝 的目标系统上运行目标脚本进行控制。
6、 根据权利要求5的方法,还包括将对应于所述部分文件操作的记录传输给所述目标系统,其中所 述传输所述记录根据包括所述源数据的源系统上的处理而被暂停。
7、 根据权利要求6的方法,还包括在所述源系统上运行源脚本以控制所述记录从所述源系统到所 述目标系统的传输。
8、 根据权利要求7的方法,其中所述标记符记录包括对应于至 少下述之一的指示符所述源脚本、所述目标脚本、指示是否暂停将 所述部分数据操作应用于所述源数据的所述拷贝的第一标志值、指示 是否暂停将所述记录从所述源系统传输给所述目标系统的第二标志 值。
9、 根据权利要求4的方法,其中使用所述源数据的所述拷贝执 行的所述操作是所述源数据的备份操作。
10、 根据权利要求1的方法,其中所述请求处于一致状态的源数据的拷贝的请求使用连接到协调对所述源数据的访问的组成部分的应用程序编程接口提出,响应于接收到所述请求,所述组成部分使所述源数据的写入者完成现有的事务、不开始任何新的事务、 及转储数据高速缓存保存的所述源数据,所述写入者根据至少一条件暂停开始新事务;与已注册组成部分通信所述源数据处于一致状态;及与所述写入者通信以根据所述至少一条件重新开始新事务。
11、 根据权利要求1的方法,其中所述已注册组成部分通过将标 记符记录插入对应于所述部分文件操作的时间有序的一系列记录中而实现所述在所述相应的时序中标记所述点,所述方法进一步包括 将所述记录从包括所述源数据的源位置传输给包括所述源数据 的所述拷贝的目标位置,其中不管是否有另外的数据操作应用于所述 源数据,所述部分文件操作均被应用于所述拷贝。
12、 用于获取一致状态的源数据拷贝的计算机程序产品,包括代码记录一个或多个具有相应时序的文件操作,其修改所述源数据;接收请求一致状态的源数据拷贝的请求;当应用一部分所述文件操作之后确定在所述相应时序中所述源数据在哪一点处于一致状态;在所述相应时序中标记所述源数据处于一致状态的所述点;及 将确定使所述源数据处于一致状态的那部分文件操作应用于所述源数据的所述拷贝。
13、 根据权利要求12的计算机程序产品,其中所述在所述相应时序中标记所述点的代码包括确定所述文件操作中获得所述一致状态的相应文件操作。
14、 根据权利要求l的计算机程序产品,还包括代码实时记录应用于源数据的所述部分文件操作,其中所述部分文件 操作被记录为时间有序的一系列记录,每一所述记录对应于所述部分中的所述文件操作之一;将标记符记录插入所述一系列记录中,其指明所述源数据何时处 于一致状态;及将对应于所述一系列记录的文件操作应用于源数据的所述拷贝, 直到标记符记录被确定为止。
15、 根据权利要求14的计算机程序产品,还包括代码当使用所述源数据的所述拷贝执行操作时暂停进一步将所记录 的文件操作应用于源数据的所述拷贝,同时允许新输入的文件操作应 用于所述源数据。
16、 根据权利要求15的计算机程序产品,其中所述暂停进一步 将所记录的文件操作应用于源数据的所述拷贝的代码通过在包括所 述源数据的所述拷贝的目标系统上运行目标脚本进行控制。
17、 根据权利要求16的计算机程序产品,还包括代码将对应于所述部分文件操作的记录传输给所述目标系统,其中所 述传输所述记录根据包括所述源数据的源系统上的处理而被暂停。
18、 根据权利要求17的计算机程序产品,还包括代码在所述源系统上运行源脚本以控制所述记录从所述源系统到所 述目标系统的传输,其中所述标记符记录包括对应于至少下述之一的 指示符所述源脚本、所述目标脚本、指示是否暂停将所述部分数据 操作应用于所述源数据的所述拷贝的第一标志值、指示是否暂停将所 述记录从所述源系统传输给所述目标系统的第二标志值。
19、 系统,包括 包括数据源的第一数据存储系统;包括数据目标的第二数据存储系统;包括在连接到所述第一数据存储系统的第一主机中的第一代码,其记录一个或多个具有相应时序的文件操作,所述文件操作修改所述源数据;接收请求一致状态的源数据拷贝的请求;当应用一部分所述文件操作之后确定在所述相应时序中所 述源数据在哪一点处于一致状态;及在所述相应时序中标记所述源数据处于一致状态的所述点;及包括在连接到所述第二数据存储系统的第二主机中的第二代码,其将确定使所述源数据处于一致状态的那部分文件操作应用 于所述源数据的所述拷贝。
20、 根据权利要求19的系统,其中所述请求处于一致状态的源 数据的拷贝的请求使用包括在所述第一主机中的、连接到所述第一主 机中包括的协调对所述源数据的访问的组成部分的应用程序编程接 口提出,所述组成部分还包括第三代码,其使所述源数据的写入者完成现有的事务、不开始任何新的事务、 及转储数据高速缓存保存的所述源数据,所述写入者根据至少一条件 暂停开始新事务;与已注册组成部分通信所述源数据处于一致状态;及与所述写入者通信以根据所述至少一条件重新开始新事务。
21、 用于捕获应用于数据集的文件操作的方法,包括-记录一个或多个具有相应时序的文件操作,其修改所述数据集;接收请求一致状态的数据集的拷贝的请求;当应用一部分所述文件操作之后确定在所述相应时序中所述数据集在哪一点处于一致状态;及在所述相应时序中标记所述数据集处于一致状态的所述点。
22、 根据权利要求21的方法,其中所述在所述相应时序中标记所述点包括-确定所述文件操作中获得所述一致状态的相应文件操作。
23、 根据权利要求21的方法,还包括实时记录应用于数据集的所述部分文件操作,其中所述部分文件操作被记录为时间有序的一系列记录,每一所述记录对应于所述部分中的所述文件操作之一;及将标记符记录插入所述一系列记录中,其指明所述数据集何时处于一致状态。
24、 根据权利要求23的方法,还包括从与所述数据集相关联的系统传输对应于所述部分文件操作的记录,其中所述传输所述记录根据所述系统上执行的处理而被暂停。
25、 根据权利要求24的方法,还包括在所述系统上运行源脚本以控制所述记录到目标的传输。
26、根据权利要求23的方法,其中所述标记符记录包括对应于至少下述之一的指示符所述源脚本、在所述记录传输给目标之后连同处理所述记录运行的目标脚本、指示是否暂停将所述部分数据操作应用于在所述目标处的所述数据集的拷贝的第一标志值、指示是否暂停从所述系统传输所述记录的第二标志值。
27、根据权利要求21的方法,其中所述请求处于一致状态的数据集的拷贝的请求使用连接到协调对所述数据集的访问的组成部分的应用程序编程接口提出,响应于接收到所述请求,所述组成部分使所述数据集的写入者完成现有的事务、不开始任何新的事务、及转储数据高速缓存保存的所述数据集,所述写入者根据至少一条件暂停开始新事务;与已注册组成部分通信所述数据集处于一致状态;及与所述写入者通信以根据所述至少一条件重新开始新事务。
28、 根据权利要求21的方法,其中所述已注册组成部分通过将标记符记录插入对应于所述部分文件操作的时间有序的一系列记录中而实现所述在所述相应的时序中标记所述点。
29、 用于捕获应用于数据集的文件操作的系统,包括镜象驱动器,其在成功完成感兴趣的文件操作基础上,在一位置相对于其它已记录的感兴趣文件操作在时间有序的表示中记录对应于所述感兴趣的文件操作应用于所述数据集时的所述文件操作;及复制服务,其在所述数据集处于一致状态的通知基础上,在所述位置的下一条目中记录一致点标记符,所述一致点标记符指明当到对应于所述一致点标记符的时间点所记录的感兴趣文件操作被应用于所述数据集时所述数据集处于一致状态。
30、 根据权利要求29的系统,还包括协调对所述数据集的访问的组成部分;及连接到所述组成部分的应用程序编程接口 ,其中记录所述数据集处于一致状态的时间点的请求使用所述应用程序编程接口做出,所述组成部分还包括代码,响应于接收所述请求使所述数据集的写入者完成现有的事务、不开始任何新的事务、及转储数据高速缓存保存的所述数据集,所述写入者根据至少一条件暂停开始新事务;与已注册组成部分通信所述数据集处于一致状态;及与所述写入者通信以根据所述至少一条件重新开始新事务。
31、 根据权利要求30的系统,还包括使用所述数据集执行文件操作并是所述数据集的写入者的应用程序。
32、 根据权利要求29的系统,其中所述镜象驱动器是当处理文件操作时包括在以内核模式运行的多个组成部分的调用链中的驱动器。
33、 根据权利要求29的系统,还包括以用户模式运行的代码,其从所述位置读信息,所述信息对应于已记录的文件操作和一致点标记符,所述代码还将所述信息传输给目标。
34、 保存在存储器中的数据结构,包括对应于已记录文件操作的时序的多个记录,每一记录对应于应用于数据集的所述已记录文件操作之一;及插入所述多个记录中的一个或多个一致点标记符,每一所述一致点标记符代表当到所述点将一部分所述已记录文件操作应用于所述数据集之后所述时序中所述数据集处于一致状态的点。
35、 根据权利要求34的数据结构,其中每一所述一致点标记符由一致点标记符记录表示,其包括用于控制将已记录文件操作应用于所述数据集的拷贝的暂停更新标志。
36、 根据权利要求35的数据结构,其中所述一致点标记符记录包括转发标志,其指明所述数据结构中随后记录的传输是否将被暂停。
37、 根据权利要求36的数据结构,其中所述一致点标记符记录包括用于与所述数据集相关联的源位置的源脚本的标识符,所述源脚本使用所述转发标志控制随后的记录从源到目标的传输。
38、 根据权利要求35的数据结构,其中所述一致点标记符记录包括用于与所述数据集的所述拷贝相关联的目标位置的目标脚本的标识符,所述目标脚本使用所述暂停更新标志控制将已记录的文件操作应用于所述数据集的所述拷贝。
39、 用于捕获应用于数据集的文件操作的计算机程序产品,包括代码-记录一个或多个具有相应时序的文件操作,其修改所述数据集;接收请求一致状态的数据集的拷贝的请求;当应用一部分所述文件操作之后确定在所述相应时序中所述数据集在哪一点处于一致状态;及在所述相应时序中标记所述数据集处于一致状态的所述点。
40、 根据权利要求39的计算机程序产品,其中所述请求处于一致状态的数据集的拷贝的请求使用连接到协调对所述数据集的访问 的组成部分的应用程序编程接口提出,响应于接收到所述请求,所述组成部分包括代码使所述数据集的写入者完成现有的事务、不开始任何新的事务、及转储数据高速缓存保存的所述数据集,所述写入者根据至少一条件暂停开始新事务;与已注册组成部分通信所述数据集处于一致状态;及 与所述写入者通信以根据所述至少一条件重新开始新事务,其中所述已注册组成部分通过将标记符记录插入对应于所述部分文件操作的时间有序的一系列记录中而在所述相应的时序中标记所述点。
41、 产生源数据的时间点拷贝的方法,包括-接收对应于应用于所述源数据的时间有序的一系列已记录文件 操作的一组记录,所述记录组包括一个或多个一致点标记符,每一一 致点标记符指示当到所述时间点出现的所述己记录文件操作部分应 用于所述源数据时所述源数据处于一致状态的时间点;将对应于所述记录组的已记录文件操作应用于源数据的所述拷 贝,直到对应于一致点标记符的标记符记录被确定为止。
42、 根据权利要求41的方法,还包括当使用所述源数据的所述拷贝执行操作时暂停进一步将已记录 的文件操作应用于源数据的所述拷贝。
43、 根据权利要求42的方法,其中所述暂停进一步将所记录的 文件操作应用于源数据的所述拷贝通过在包括所述源数据的所述拷 贝的目标系统上运行目标脚本进行控制。
44、 根据权利要求43的方法,其中所述标记符记录包括对应于至少下述之一的指示符所述目标脚本、指示是否暂停将所记录文件 操作应用于所述源数据的所述拷贝的第一标志值。
45、 根据权利要求42的方法,其中使用所述源数据的所述拷贝 执行的所述操作是所述源数据的备份操作。
46、 根据权利要求41的方法,其中所述一致点标记符中的第一 标记符对应于所述源数据在第一时间点的第一版本,所述一致点标记 符中的第二标记符对应于所述源数据在第二时间点的第二版本,所述 方法还包括在检测到所述第一一致点标i己符的基础上,暂停进一步应用所记 录文件操作第一时间段,同时所述源数据的所述拷贝的当前状态对应 于所述第一版本;重新开始处理所述记录组,直到检测到所述第二一致点标记符为止;在检测到所述第二一致点标记符的基础上,暂停进一步应用所记 录文件操作第二时间段,同时所述源数据的所述拷贝的当前状态对应 于所述第二版本;及重新开始处理所述记录组。
47、 根据权利要求46的方法,其中所述暂停步骤和所述重新开 始步骤均根据标志值和在包括所述源数据的所述拷贝的目标系统上 运行的脚本进行控制。
48、 根据权利要求47的方法,其中所述脚本的位置包括在对应 于所述第一和第二一致点标记符中的每一个的标记符记录的字段中, 及所述标志值包括在每一标记符记录的另一字段中。
49、 产生源数据的时间点拷贝的计算机禾呈序产品,包括代码 接收对应于应用于所述源数据的时间有序的一系列已记录文件操作的一组记录,所述记录组包括一个或多个一致点标记符,每一一 致点标记符指示当到所述时间点出现的所述已记录文件操作部分应 用于所述源数据时所述源数据处于一致状态的时间点;将对应于所述记录组的己记录文件操作应用于源数据的所述拷 贝,直到对应于一致点标记符的标记符记录被确定为止。
50、 根据权利要求49的计算机程序产品,还包括代码 当使用所述源数据的所述拷贝执行操作时暂停进一步将已记录的文件操作应用于源数据的所述拷贝。
51、 根据权利要求50的计算机程序产品,其中所述暂停进一步将所记录的文件操作应用于源数据的所述拷贝的代码通过在包括所 述源数据的所述拷贝的目标系统上运行目标脚本进行控制。
52、 根据权利要求51的计算机程序产品,其中所述标记符记录包括对应于至少下述之一的指示符所述目标脚本、指示是否暂停将所记录文件操作应用于所述源数据的所述拷贝的第一标志值。
53、 根据权利要求50的计算机程序产品,其中使用所述源数据 的所述拷贝执行的所述操作是所述源数据的备份操作。
54、 根据权利要求49的计算机程序产品,其中所述一致点标记 符中的第一标记符对应于所述源数据在第一时间点的第一版本,所述 一致点标记符中的第二标记符对应于所述源数据在第二时间点的第 二版本,所述计算机程序产品还包括代码-在检测到所述第一一致点标记符的基础上,暂停进一步应用所记 录文件操作第一时间段,同时所述源数据的所述拷贝的当前状态对应 于所述第一版本;重新开始处理所述记录组,直到检测到所述第二一致点标记符为止;在检测到所述第二一致点标记符的基础上,暂停进一步应用所记 录文件操作第二时间段,同时所述源数据的所述拷贝的当前状态对应 于所述第二版本;及重新开始处理所述记录组。
55、 根据权利要求54的计算机程序产品,其中所述暂停代码和 所述重新开始代码均根据标志值和在包括所述源数据的所述拷贝的 目标系统上运行的脚本进行控制。
56、 根据权利要求55的计算机程序产品,其中所述脚本的位置包括在对应于所述第一和第二一致点标记符中的每一个的标记符记 录的字段中,及所述标志值包括在每一标记符记录的另一字段中。
57、 用于产生源数据的时间点拷贝的目标系统,包括包括所述源数据的所述拷贝的数据存储装置;复制服务,包括代码接收对应于应用于所述源数据的时间有序的一系列已记录文件 操作的一组记录,所述记录组包括一个或多个一致点标记符,每一一 致点标记符指示当到所述时间点出现的所述已记录文件操作部分应用于所述源数据时所述源数据处于一致状态的时间点;将对应于所述记录组的已记录文件操作应用于源数据的所述拷 贝,直到对应于一致点标记符的标记符记录被确定为止。
58、 根据权利要求57的目标系统,还包括代码 当使用所述源数据的所述拷贝执行操作时暂停进一步将已记录的文件操作应用于源数据的所述拷贝,其中所述暂停进一步将所记录 的文件操作应用于源数据的所述拷贝通过在包括所述源数据的所述 拷贝的目标系统上运行目标脚本进行控制。
59、 根据权利要求58的目标系统,其中所述标记符记录包括对 应于至少下述之一的指示符所述目标脚本、指示是否暂停将所记录文件操作应用于所述源数据的所述拷贝的第一标志值。
60、 根据权利要求57的目标系统,其中所述一致点标记符中的 第一标记符对应于所述源数据在第一时间点的第一版本,所述一致点 标记符中的第二标记符对应于所述源数据在第二时间点的第二版本, 所述目标系统还包括代码在检测到所述第一一致点标记符的基础上,暂停进一步应用所记 录文件操作第一时间段,同时所述源数据的所述拷贝的当前状态对应于所述第一版本;重新开始处理所述记录组,直到检测到所述第二一致点标记符为止;在检测到所述第二一致点标记符的基础上,暂停进一步应用所记 录文件操作第二时间段,同时所述源数据的所述拷贝的当前状态对应 于所述第二版本;及重新开始处理所述记录组。
全文摘要
本发明描述了用于获取处于一致状态的源数据拷贝的方法、计算机程序产品和系统。具有相应时序的、修改所述源数据的一个或多个文件操作被记录。接收请求一致状态的源数据拷贝的请求。确定在相应的时序中所述源数据在应用一部分文件操作之后在哪一点处于一致状态。标记相应的时序中所述源数据处于一致状态的那一点。被确定使源数据处于一致状态的那部分文件操作应用于源数据的拷贝。
文档编号G06F12/00GK101501652SQ200680003967
公开日2009年8月5日 申请日期2006年2月23日 优先权日2005年3月4日
发明者埃兰·奥加德, 罗伯特·K.·卡斯特, 肯尼思·J.·加利波 申请人:伊姆西公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1