当前位置: 首页 > 专利查询>威睿公司专利>正文

存储复制的方法和系统技术方案

技术编号:5077165 阅读:215 留言:0更新日期:2012-04-11 18:40
采用复制协议创建数据对象的一致性副本,所述复制协议包括条件性复制阶段和随后的一致性复制阶段。在该条件性复制阶段,根据选择探索法从包含在主计算机的数据对象选择脏区并拷贝到包含在辅助计算机中的数据对象副本。在该一致性复制阶段,由该主计算机创建该数据对象的不变映像,并从该数据对象的该不变映像将剩余脏区拷贝到该数据对象副本,以创建该数据对象的一致性副本。

【技术实现步骤摘要】
【国外来华专利技术】存储复制的方法和系统与相关申请的交叉引用本申请主张2008年4月4日提交的美国临时专利申请61/042,693的优先权。
技术介绍
存储复制是一种数据保护策略,其中数据对象(例如,文件、物理卷、逻辑卷、文件系统等)被复制,以提供一些冗余措施。存储复制可被用于多种目的,例如确保存储故障、位置灾难时的数据有效性,或进行有计划的维护。存储复制还可用于确保数据有效性之外的目的。例如,工作负荷可被指向数据对象的副本,而非原始数据对象。存储复制方法通常被设计为支持一种被称为恢复点目标(RPO)的约束,该RPO通常指定在故障或灾难时的潜在数据损失上限。RPO可通过时间、写操作、数据改变量等进行说明。例如,如果一个特定数据对象组的RPO表示为二十四小时,则存储复制方法被设计为支持该RPO将需要至少每二十四小时复制该组数据对象。这种特定的方法能够以满足每个数据对象的RPO的方式复制数据对象内容。在典型的存储复制情况下,存在该数据对象的一个原始拷贝和该数据对象的一个或多个副本。根据一种存储复制方法,该原始数据对象的不变映像被创建,然后该不变对象映像的“脏区”被拷贝到相应的副本。“脏区”指原始数据对象的部分,其中在该数据对象的所述部分被拷贝至副本的最后点起所述部分已被修改。需要创建该原始数据对象的不变映像,从而使得脏区的拷贝形成一致性数据对象副本。以满足相应数据组的RPO的频率重复这种创建不变对象映像和将脏区拷贝到该数据对象的副本的循环。然而,创建不变对象映像需要在计算、I/O性能、存储空间或前述所有方面的开销(overhead)。因此,存储复制方法通常被设计为很少创建不变对象映像和拷贝脏区,因而导致了保守的(长)RPO。此外,该不变对象映像通常恰好及时地创建,以满足该数据对象的RPO。因此,该脏区在较窄的时间窗中传送,这使得很难有效使用资源例如CPU、磁碟带宽、网络带宽等。专利技术综述本专利技术的一个或多个实施方式提供了可减少存储复制过程中所需的开销的存储复制协议。由此,存储复制可以更频繁地进行,从而满足更为积极的(更短)RPO。在一个实施方式中,提供了创建数据对象的一致性副本的方法。该方法包括确定该数据对象的一个或多个区为脏区,并将一个或多个脏区拷贝到该数据对象的一个副本。该方法进一步包括创建该数据对象的不变映像,并将未被拷贝到该数据对象的该副本上的脏区从该不变映像拷贝到该数据对象的副本上,以创建该数据对象的一致性副本。在另一实施方式中,提供了根据复制协议创建数据对象的一致性副本的方法,该复制协议包括第一协议阶段和第二协议阶段。在该第一协议阶段,该数据对象中曾被修改的区被追踪,且该修改的区被选择性地拷贝到该数据对象的副本上。在该第二协议阶段中,创建该数据对象的不变映像,并将该数据对象的不变映像中对应于该数据对象的曾在第一协议阶段中被修改但未被拷贝至该数据对象的副本的这些区拷贝至该数据对象的该副本。该复制协议的这两个阶段以所述顺序被反复执行。根据本专利技术的一个实施方式的存储复制系统包括与原始数据对象关联的第一计算机和与第二数据对象关联的第二计算机。该第一计算机和该第二计算机可以是相同或不同的计算机,并且当其不同时,它们可位于相同或不同的位置。该第一计算机被编程以记录该原始数据对象中曾被修改的区,将该被修改的区指定为脏区,将该脏区选择性地传输至该第二计算机,创建该原始数据对象的不变映像,并传输该原始数据对象的不变映像中对应于未被传输至该第二计算机的脏区的区。该第二计算机被编程以从该原始数据对象接收脏区,并将它们持续存储在第二数据对象中,并当该第二数据对象处于一致性状态时创建该第二数据对象的不变映像。附图说明图1示意性地显示了根据本专利技术的一个或多个实施方式的存储复制协议;图2为向数据对象执行写入的方法的流程图;图3为执行复制循环的方法的流程图;图4为在条件性复制阶段中选择和拷贝区的方法的流程图;以及图5A和5B为执行一致性复制阶段的方法的流程图。具体实施方式根据本专利技术的一个或多个实施方式,根据数据对象的RPO定期创建该数据对象的一致性副本。创建一致性副本的方法起始于该数据对象的最初副本,其可以是以任意技术上可行的方式创建的该对象的拷贝。该方法记录该数据对象通过写操作修改的区,并通过一定量复制循环进行重复。在每个复制循环的结尾,创建一个新的一致性副本。每个复制循环由两个阶段组成。在第一阶段,该修改的区被选择性地从该数据对象传送至该数据对象的副本。这些传送不一定形成一致性副本。在第二阶段,创建该数据对象的不变实例,并将该数据对象的该不变实例的所有脏区传送至该数据对象的副本。在数据对象的副本持续存储传送的脏区可形成一致性副本。然后创建该一致性副本的不变映像,并完成第二阶段。然后,启动一个新的复制循环。此处所用的数据对象的“一致性”副本反映了仅当对该相同对象的作为W2的潜在因果关系前导(potentialcausalpredecessors)的所有写操作反映在相同副本中时的写操作W2。当且仅当W2在W1完成后发布(issued)时,写操作W1为W2的潜在因果关系前导。图1示意性地显示了根据本专利技术的一个或多个实施方式的存储复制协议。图1中显示的协议为包括了条件性复制协议130和一致性复制协议140(两者均将在下文详述)的一个协议。数据对象112位于主计算机110,并根据本协议复制。数据对象112的副本位于辅助计算机150。主计算机110和辅助计算机150可以是相同计算机的部分或者是不同的计算机,并可位于相同的或者物理上单独的位置(例如,数据中心)。此外,此处披露的数据结构和协议可采用软件构造、硬件构造及其任意组合以任意技术上可行的方式执行。数据对象112可以是文件、物理卷、逻辑卷、文件系统等,其受到主计算机110的管理。数据对象112可包含单个数据对象或者一组数据对象。在任意情况下,为简便考虑,此处都采用单数形式的数据对象112。此外,数据对象112由一个或多个数据区组成。数据区的粒度是一个可设置参数,该参数可由设计人员根据基本存储系统的I/O原子数、设计人员希望复制数据的粒度以及用于追踪新写入数据的方法等因素确定。不变数据对象114及时反映数据对象112在特定时间点的不变映像。在此处所述的实施方式中,不变数据对象114在一致性复制协议140开始时从数据对象112创建,并在一致性复制协议140执行中通过确保对数据对象112的新写操作不修改不变对象114得以保存。可以利用任何技术上可行的方法来建立和保存不变对象114。其它方法包括对整个数据对象112记录并制作拷贝。因此,在一些实施方式中,数据对象112是不变数据对象114和对其进行的任意写操作的逻辑组合。主计算机110追踪数据对象112的脏区。当数据区被写操作修改时,该数据区是“脏”的。脏区的追踪可以任意技术上可行的方式实现。根据追踪数据对象的脏区所采用的方法,可使用各种数据结构。在此处所述的本专利技术的实施方式中,采用了有效数据结构122。有效数据结构122可作为单独的数据结构、作为更大的数据结构的一部分或作为多个数据结构执行。执行的范例包括,但不限于,位图、日志和校验表。位于辅助计算机150的数据对象112的副本包括数据对象副本152和一致性数据对象副本154。数据对象副本152和一本文档来自技高网...
存储复制的方法和系统

【技术保护点】
创建数据对象的一致性副本的方法,该方法包括:  (a)确定该数据对象的一个或多个区为脏区;  (b)将一个或多个脏区拷贝到该数据对象的副本;  (c)创建该数据对象的不变映像;并  (d)从该数据对象的不变映像将未被拷贝到该数据对象的副本的脏区拷贝到该数据对象的副本,以创建该数据对象的一致性副本。

【技术特征摘要】
【国外来华专利技术】US 2008-4-4 61/042,693;US 2008-4-22 12/107,2051.创建数据对象的一致性副本的方法,该方法包括:(a)确定该数据对象的已经被写操作修改的一个或多个区为脏区;(b)将所述脏区中的一个或多个区从所述数据对象拷贝到该数据对象的副本;(c)创建该数据对象的不变映像;并(d)从该数据对象的不变映像将在步骤(b)中未被从所述数据对象拷贝到该数据对象的副本的所述脏区中的一个或者多个其他区拷贝到该数据对象的副本,以创建该数据对象的一致性副本,其中步骤(a)和(b)在第一阶段进行,而步骤(c)和(d)在第二阶段进行,且其中该第一阶段和该第二阶段以满足预定约束的顺序重复。2.如权利要求1所述的方法,进一步包括:从拷贝的步骤(b)选择一个或多个脏区;并将所选的脏区标识为流动区。3.如权利要求2所述的方法,进一步包括:接收该流动区已被拷贝到该数据对象的副本上的确认;以及响应接收该确认,除去该流动区的流动标识。4.如权利要求3所述的方法,其中未被拷贝到该数据对象的副本上的脏区包括未被选择拷贝的脏区和未接受确认的流动区。5.如权利要求2所述的方法,其中在选择一个或多个供拷贝脏区时采用了选择探索法,所述选择探索法基于以下中的任一项来选择一个或者多个脏区:(1)如何分摊一个时间段内处理器、存储器和网络资源的使用;以及(2)在由于工作负荷中本地写入而存在高比例覆写时避免过多不必要的区拷贝。6.如权利要求5所述的方法,其中在该第二阶段过程中,执行对该数据对象的数据区的新的写操作而不修改该数据对象的不变映像。7.如权利要求5所述的方法,其中每个第二阶段的完成生成该数据对象的一致性副本,且该数据对象的一致性副本的历史被保留。8.如权利要求1所述的方法,进一步包括采用该数据对象的副本创建该数据对象的最后的一致性副本的不变映像并重复步骤(a)至步骤(d)。9.如权利要求1所述的方法,其中拷贝的步骤(b)以反复方式进行。10.如权利要求9所述的方法,进一步包括:为拷贝的步骤(b)选择一个或多个脏区;并将所选的脏区标识为流动区,其中在拷贝的步骤(b)的每一次反复时进行该选择和标志的步骤。11.根据复制协议创建数据对象的一致性副本的方法,该复制协议包括第一协议和第二协议,该第一协议在第一协议阶段实现且该第二协议在第二协议阶段实现,该方法包括:在第一协议阶段中,保留能确定数据对象中哪些作为脏区的区曾被写入操作写入的记录,并选择性从所述数据对象拷贝该区至该数据对象的副本;以及在第二协议阶段中,创建该数据对象的不变映像,并将对应于该数据对象的曾在第一协议阶段中被写入但未被拷贝至该数据对象的副本...

【专利技术属性】
技术研发人员:克里斯托卡拉曼诺里斯马修本杰明安杜尔帕特里克威廉彭齐亚斯德克斯
申请(专利权)人:威睿公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1