CN113711188B - 连续复制系统中的数据分发 - Google Patents
连续复制系统中的数据分发 Download PDFInfo
- Publication number
- CN113711188B CN113711188B CN201980095671.1A CN201980095671A CN113711188B CN 113711188 B CN113711188 B CN 113711188B CN 201980095671 A CN201980095671 A CN 201980095671A CN 113711188 B CN113711188 B CN 113711188B
- Authority
- CN
- China
- Prior art keywords
- data
- mode
- log
- forecast
- switching
- 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.)
- Active
Links
- 230000010076 replication Effects 0.000 title claims description 58
- 238000000034 method Methods 0.000 claims abstract description 51
- 230000001932 seasonal effect Effects 0.000 claims description 8
- 230000003362 replicative effect Effects 0.000 claims description 3
- 238000011084 recovery Methods 0.000 abstract description 16
- 230000008569 process Effects 0.000 description 12
- 230000000694 effects Effects 0.000 description 8
- 238000010801 machine learning Methods 0.000 description 5
- 230000000750 progressive effect Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 239000003795 chemical substances by application Substances 0.000 description 4
- 238000013500 data storage Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000013480 data collection Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000001010 compromised effect Effects 0.000 description 2
- 238000013523 data management Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- YHXISWVBGDMDLQ-UHFFFAOYSA-N moclobemide Chemical compound C1=CC(Cl)=CC=C1C(=O)NCCN1CCOCC1 YHXISWVBGDMDLQ-UHFFFAOYSA-N 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000001681 protective effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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/1471—Saving, restoring, recovering or retrying involving logging of persistent data for recovery
-
- 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/1448—Management of the data involved in backup or backup restore
- G06F11/1451—Management of the data involved in backup or backup restore by selection of backup contents
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2053—Error 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/2094—Redundant storage or storage space
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2097—Error 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 maintaining the standby controller/processing unit updated
-
- 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/84—Using snapshots, i.e. a logical point-in-time copy of the data
-
- 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/855—Details of asynchronous mirroring using a journal to transfer not-yet-mirrored changes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
用于执行包括复制操作的数据保护操作的系统和方法。复制操作可自动地学习以及预测复制系统何时需要切换模式,诸如切换为保护模式或快进模式。所述复制操作确保以如下方式来复制数据:所述方式优化保存执行时间点恢复操作所需要的数据的能力同时对新数据的复制操作排定优先次序。
Description
技术领域
本发明的实施方式涉及用于保护数据的系统、方法和设备。更明确地说,本发明的实施方式涉及数据保护操作,包括备份操作、复原操作、数据分发操作和复制操作。更具体地说,本发明的实施方式涉及优化包括连续复制系统的复制系统中的数据分发模型。
背景技术
在许多计算系统中,可将数据从源系统或位点复制到目标系统或位点。复制实质上是将相同的数据存储在多于一个的位置或多于一个的节点处的过程。在复制数据时,所有用户可共享相同的数据。替选地,在将数据从主存储装置复制到辅存储装置时,如果主存储装置经历诸如故障等问题,那么辅存储装置可即刻取代主存储装置。
然而,在复制系统中复制的数据量可能会给数据被复制到的系统造成负担。在目标系统尝试维持撤销一些操作并且返回到前面的时间点的能力时,尤其是这样。
更具体地说,存在与在确保复制仍然可以提供时间点(PIT)复原能力的同时在目标位点处复制数据相关联的负担。一个负担是以下事实:通常需要牺牲撤销一些复制动作所需要用到的数据,以便确保数据被成功地复制。因此,可能会失去PIT复原能力。
附图说明
为了描述可获得本发明的至少一些优点和特征的方式,将通过参考本发明的特定实施方式来呈现对本发明的实施方式的更具体描述,在附图中示出了所述特定实施方式。应理解,这些附图仅绘示了本发明的典型实施方式并且因此不应被视为限制其范围,通过使用这些附图将更具体和详细地描述并解释本发明的实施方式,在附图中:
图1示出将数据从源位点复制到目标位点的数据保护应用程序的示例;
图2示出在目标位点处进行复制期间可使用的日志的示例并且示出复制数据的方法;
图3示出用于复制数据同时最小化数据损失的示例架构的示例;以及
图4是用于在目标位点处复制数据的流程图。
具体实施方式
本发明的实施方式大体上涉及数据保护以及用于执行数据保护操作的系统、方法和设备。数据保护操作的示例包括但不限于备份操作、复原操作、复制操作、数据分发操作、时间点恢复操作等或其组合。更明确地说,本发明的实施方式涉及用于执行包括复制操作的数据保护操作的系统、硬件、软件、计算机可读介质以及方法。
本发明的实施方式涉及可执行复制操作的数据保护系统(例如,DELL EMC恢复点)。本发明的实施方式涉及实现连续复制并且能够更高效地处理可能会产生密集工作负荷的数据和应用程序的系统、设备和方法。本文论述的连续复制实现连续应用并且优化执行任何时间点恢复操作的能力。
图1示出可在其中执行数据操作(诸如复制操作和/或时间点恢复操作)的环境的示例。图1示出与数据104相关联的源位点102。数据104表示可被复制的不同类型的数据。数据104可包括例如数据库数据、文件、对象、虚拟机等。
数据104通常被复制到目标位点110并且存储为复制数据116。因此,复制数据116与数据104相同。例如,如果数据104是与一个或多个应用程序有关的一组虚拟机,那么复制数据116是这些虚拟机的副本。
当对数据104作出改变时,也对复制数据116执行这些变化或写入。虽然可能会存在延迟,但是复制数据116实时地与数据104基本上相同并且是近实时复制的示例。
数据104可由数据保护系统106复制。数据保护系统106可包括复制引擎108,所述复制引擎可与在目标位点110处操作的复制引擎112协作。
在一个示例中,复制引擎108可被定位以拦截或以其他方式识别对数据104进行的写入。这些写入随后传输到目标位点110处的复制引擎112。随后将所述写入应用于复制数据116。因此,对复制数据116执行了对数据104执行的写入(或其他操作,诸如删除、移动等)。
使用日志114来实现目标位点110处的复制,所述日志可包括进行串流118和撤销串流120。通常,日志114是在复制过程中使用的存储器的表示。在一个示例中,进行串流118和撤销串流120共享同一个存储器。在一个示例中,日志114的大小可能不是无限的,即便非常大。撤销串流120含有允许时间点恢复的数据。如果撤销串流120丢失,那么执行时间点恢复的能力也会失去。然而,优先权通常会给予复制方面。为了确保执行复制,执行时间点恢复操作的能力可能会受损。本发明的实施方式防止或最小化执行时间点恢复操作的能力受损的程度。本发明的实施方式最小化刷新或复制大量数据的应用程序对其他应用程序的执行和复制的影响。
在一个示例中,代理122还可以在数据104处或对数据104(例如,对虚拟机、对文件服务器等)进行操作。代理122可收集关于数据104的信息,诸如偏差、水平和季节性。可使用这些因素(或历史因素)来生成与复制需要有关的预报。在生成预报时,实施方式还可以考虑趋势、周期、不规则变化、随机变化等。
在一个示例中,偏差是指实际结果与先前结果之间的差异。例如,如果虚拟机预期复制x量的数据但实际上生成了y量的数据,那么该差异为偏差的示例。在一个示例中,可使用偏差来改善后续的预报或用于生成预报的模型。
季节性通常是指可取决于一天中的时间、一周中的时间或另一个参数的周期性变化。在复制的情况下,季节性可反映在源处发生的某些动作。例如,可定期地向数据库添加数据。可使用该添加的季节性来预测目标位点何时可能会经历复制负荷的增加。
水平可指数据量。这三个分量可在时间序列方程式中使用来生成预报或预测。这些预测或预报可由复制引擎使用来管理目标位点处的复制过程。
历史数据可与日志的当前状态和或进行串流/撤销串流结合。例如,如果预报预测在目标位点处预期会有大量数据并且日志中的空闲存储器的量较低,那么复制引擎可能会采取措施或改变复制过程。这是切换模式的示例。
大体上,复制可按正常模式(例如,下文描述的5阶段模式)操作。这是执行复制并且保存旧数据以实现PIT恢复的模式。另一种模式是保护模式。在保护模式下,不执行复制的一些方面或阶段,同时仍将旧数据保存在撤销(UNDO)串流中。例如,新数据可能不写入到目标存储装置,使得日志不用承担替换旧数据的责任。这节省了资源,而又不会牺牲PIT恢复能力。更明确地说,这可在一段时间内保留PIT恢复能力。如果有足够的存储器容纳进入的新数据,那么稍后可恢复正常模式。
在必要时,可进入快进(FF)模式。在FF模式下,可牺牲撤销数据,以便确保复制方面仍成功。在这种情况下,传入的新数据可覆盖撤销串流中的数据。在这种情况下,可能会失去至少一些PIT恢复。然而,在一些实施方式中,可选择性地替换撤销数据(例如,首先牺牲撤销串流中的最旧数据)。
图2示出在目标位点处执行复制的示例并且用于说明目标位点处的复制操作的模式。在此示例中,日志202包括进行(DO)串流204和撤销串流206。如先前所述,日志202可为存储器,并且进行串流204表示存储将写入到复制数据存储装置210的新数据的日志部分,并且撤销串流206表示并且包含来自复制数据212的先前被新的传入数据覆盖的旧数据。因此,进行串流204含有在源位点处已写入(或改变、删除、移动)的数据。因此,日志202可将数据接收到进行串流204(或存储器的该部分)中。实际上,进行串流204是用于传入数据的缓冲器。在来自进行串流204的数据被传送到复制数据存储装置210上的复制数据212时,被新数据替代或改变的数据存储在撤销串流206中。
在方法200中描述了数据去往/来自复制数据212的移动,所述方法描述了正常复制的5个阶段(阶段1-5)。
更明确地说,在阶段1中例如通过复制引擎将新数据或传入IO(例如,磁盘x,偏移y)写入到进行串流220中。接下来,在阶段2中,从复制磁盘222(例如,复制数据存储装置210)读取旧数据。更明确地说,在阶段2中读取222磁盘x、偏移y处存在的数据,并且随后在阶段3中将所述数据作为撤销数据写入224到撤销串流206。撤销数据可包括旧数据以及允许执行时间点恢复操作的元数据。
一旦在阶段3中将撤销数据写入224到撤销串流206,便在阶段4中从进行串流读取226先前写入到进行串流204的新数据并且随后在此示例中在阶段5中写入228到复制磁盘228或写入到复制数据存储装置210。因此,被接收到进行串流中并且随后存储在复制数据212中的新数据替代被读取并且保存在撤销串流206中的旧数据。
实际上,撤销串流206保存复制数据212的历史并且追踪被新数据覆盖的数据。撤销串流206因此在希望时或在需要时允许PIT恢复。通常,至少由于存储器限制,PIT在时间上限制为某一时间量。因此,撤销串流206中的数据可能会期满并且随时间过去而被移除。
在此示例中,步骤222、224、226和228(或阶段2至4)可不同步执行,使得不会阻挡传入的IO串流。一旦从进行串流204读取了数据组块,那么将进行串流204中的空间(或存储器)标记为空闲,使得所述空间可用于将来的IO。另外,如先前所述,元数据保存在日志202中,使得可生成作为特定时间点的对磁盘状态的存取。在一个示例中,日志202中的数据可按特定大小的块来处理。
方法200确保数据保护系统可为写入到复制数据存储装置210中的IO提供任何时间点能力。例如,这些步骤确保可生成时间点复原,因为被新数据覆盖的在磁盘x、偏移y处的旧数据保存在撤销串流206中。在一个示例中,如先前所述,可允许撤销串流206中的数据期满。
在数据保护系统的工作负担较高时,连续复制操作可切换为快进(FF)复制模式。FF模式需要较少资源,但要以撤销串流中的数据为代价。更明确地说,在开始FF复制时,不执行步骤222和224或阶段2至3。因此,当在FF模式下操作时,撤销数据不被保存而是仅被覆盖。后果之一是撤销串流206中的先前条目变为无效的,并且可能会丢弃整个历史。
保护性模式或保护模式在需要FF复制模式时可以尽可能防止历史或撤销串流206被丢弃,或最小化历史丢失的程度。在一个示例中,在保护模式中,仅执行阶段1。因此,允许新数据填充日志。预报可指示例如保护模式将允许所有传入的新数据成功地存储在进行串流204中。之后(例如,在预报指示工作负荷减少时),复制操作可再次进入正常模式。结果,保存撤销数据。
本发明的实施方式还确保不执行冗余或不必要的操作。例如,本发明的实施方式使用时间序列模型和机器学习方法来自动地学习并预测系统可能需要改变到FF模式。在此类情况下,代替如方法200中所示的连续执行复制(执行阶段1至5),所述系统将停止数据分发(例如,仅执行阶段1),并且随后只在需要时才开始快进分发。这样显著地减少目标存储装置210的负担并且允许系统更高效地运行。
在一个示例中,当确定进行串流可能在将来消耗日志202(例如,基于使用或基于预报,在某一时间段中)时,系统可自动地停止分发的阶段2至5并且仅执行阶段1。这样防止复制数据存储装置210中的数据仅被覆盖,同时防止与阶段3至4相关联的冗余IO(例如,将由于随后可能进入的FF模式而丢失的数据写入到撤销串流206)。在此示例中,不需要进入FF模式,除非清楚进行串流将压倒(填满)日志202。因此,代替简单地进入FF模式并且丢失撤销串流206,本发明的实施方式允许对进行串流204排定优先次序,而不会牺牲撤销串流206或至少同时保护撤销串流206一段时间。
换句话说,在执行复制的所有阶段可能会导致不必要的动作的情况下,本发明的实施方式可避免冗余写入。另外,通过避免对撤销串流206的冗余写入,已用于冗余写入的资源(存储器、处理资源、网络业务、存储IOP和吞吐量)可被其他应用程序使用并且可防止其他应用程序进入FF模式,由此节省日志。另外,消除冗余写入可积极地影响存储器(诸如快闪存储器)的寿命,所述存储器的寿命通常是按写入来定义。
本发明的实施方式因此基于例如机器学习和预测方法而进入FF模式或保护模式。预计负荷(量、速率等)的预报可与当前的日志状态结合以确定是否切换模式。此预报可与阈值水平结合。例如,在满足阈值时,对模式进行切换。
图3示出数据保护系统的示例,所述数据保护系统结合了数据收集、机器学习和/或分析以确定如何处理日志或如何处理复制操作。在一个示例中,复制操作或数据保护系统可提供模型库,所述模型可用于评估被复制的资产的历史数据。可对单独的资产或作为整体的多个资产使用这些模型。
因此,每个资产、每组资产或作为整体的多个资产可各自反映出模型所使用的因素(季节性、水平、偏差、趋势等)。因此,以持续进行的方式存储、更新和评估历史数据,使得可基于实际的活动和/或过去的活动来更新或改变预报。预报可识别来自特定应用程序或资产的数据的激增、来自一组资产或来自作为整体的所有资产的数据的激增。预报可识别所述激增预计持续多长时间。预报可识别闲置时段等。
另外,一些事件可以以不同的方式来进行处理。例如,新的资产(诸如虚拟机)在是新的时可能会具有数据激增。然而,没有旧数据要保护。因此,复制引擎可以理解此方面并且不会担心与撤销串流有关的阶段。
复制同样可按照备份系统来使用或与备份系统一起使用。因此,在创建备份时,备份可根据周期来创建。可预报这些激增。另外,还可预报预计数据的大小。随着时间过去,可使用机器学习来基于实际数据量、实际传送时间等来调整模型。另外,预报可适于源位点上的当前活动。
因此,可由分析引擎306进行确定何时进入FF模式(或另一种模式)。分析引擎306可存取复制历史数据302、串流状态308,并且可包括模型库,所述模型可应用于历史数据302和/或串流状态308以确定日志或更明确地说进行串流和撤销串流的健康或状态。复制引擎314可基于由分析引擎306生成的预报316来切换模式。
本发明的实施方式允许使用复制历史数据库302来实时地或近实时地管理复制操作,这是可收集、存储和更新与数据资产304有关的信息或元数据的数据收集机制的示例。分析引擎306可包括可应用于历史数据点以进行预报目的、模型竞争等的模型318。复制引擎314可包括可在确定是否切换模式时使用的阈值310。这些阈值310可用于基于日志、传入串流和/或历史数据来确定是否暂停数据分发。阈值310还可以确定何时进入FF模式、保护模式和/或恢复正常模式。这样允许提高复制操作的效率。
例如,许多存储和保护资产向其制造商发送日常状态更新(ASUP数据\SYR数据等)。在其他情况下,部署用于从那些资产收集数据的数据收集代理(例如,DPA代理)。所收集的数据含有关于资产的使用和利用率的相关信息。由代理从数据资产304收集的数据可存储为历史数据302。复制历史数据302可集中存储并且由数据保护系统使用。还可以对数据进行解析以便进行分析。
例如,当数据资产304是虚拟机时,由数据代理收集(或以另一种方式获取)的一些数据可包括更新时间表、IOP、写入频率、多久添加一次数据、数据增长速率等。在分析数据时,历史数据302可表示数据是按规则的间隔成块地添加或可指示与数据资产304相关联的其他趋势、季节性、偏差、水平等。此类信息允许复制操作预测在复制数据时在复制目标位点处可能生成的负荷类型并且可纳入到是进入FF模式、保护模式还是正常模式的判断中。
更明确地说,分析引擎306被配置为接收或分析信息,诸如复制历史数据302和串流状态308。分析引擎306随后生成预报316,在确定要进入的模式时,复制引擎314使用所述预报。
分析引擎306可预测随着时间过去每个数据资产(例如,在虚拟机被复制的环境中的每个虚拟机)的状态。另外,分析引擎306还可以预测随着时间过去整个环境至少在利用率方面的状态。
分析引擎306可发现不同资产的使用的趋势及季节性模式。分析引擎306考虑每个资产单独的历史数据302以及作为整体的环境的历史数据。可使用时间序列模型以及线性回归模型来完成利用率(数值)的预测。所述模型可拟合到给定的训练数据集,随后针对给定的测试数据集对所述模型进行验证和评估。不同的时间序列可与不同的预报模型相关。
分析引擎306可提供或包括模型库318,使得可以找到最好地描述数据(例如,通过最小化错误函数结果)的模型。可评估各种模型,并且可针对任何给定的预测任务选择表现最好的模型。与使用任何单个模型类型相比,这样提高了总体准确性。
为了随着时间过去在不同的受保护应用程序中追踪复制数据大小的行为,可使用时间序列(TS)模型。可选择任何时间序列模型(例如,回归模型、ARIMA或神经网络)。在一个示例中,使用霍尔特-温特(Holt-Winters)模型,因为其简单并且易于以在线方式更新该模型。该模型基本上追踪信号的三个分量:水平、偏差和季节性。大体上,所述模型可使用以下时间序列方程式:
■水平
■偏差
■季节性
■预报Ft+k=Lt+kBt+St+k-s />
其中Yt是时间t时的实际值,并且s是季节周期的长度。关于以上方程式的详细描述和分析,请参考“The Analysis of Time Series:An Introduction”,第6版,ChrisChatfield,CRC Press,2013年11月19日。
这种模型(和其他模型)可预测日志的利用率和预测该利用率的影响。例如,所述模型可预测进行串流将消耗整个日志。在这种情况下,复制引擎可进入FF模式或保护模式。替选地,所述系统可通过进入保护模式来在进行串流被充满之前停止分发,并且随后仅在需要时并且基于预报而进入FF模式,这可以连续地或重复地更新。所述预测可基于所预测的存储性能、历史数据以及对即将对日志写入的活动的预测。
复制引擎314可基于阈值310来确定何时执行模式切换。如果执行模式切换,那么选择312模式,并且过程继续。如果不执行模式切换,那么过程仍继续。
分析引擎306可生成预报316,所述预报可包括置信区间,并且能够存取串流状态308(例如,日志中剩余的存储空间,或空闲容量,由进行串流使用的存储空间、由撤销串流使用的存储空间)。可将此信息提供到复制引擎314,所述复制引擎随后可确定是否需要切换模式。
因此,可基于阈值310来确定是否切换模式。例如,预报316可指示进行串流将在某一时间段(例如,2个小时)内被充满。此预报316可基于预期会发生的或在意料之外的数据激增。预报316还可以识别可能的数据量、激增将持续多久等。如果日志的空闲容量低于阈值,那么复制引擎314可停止数据分发并且进入保护模式。在一个实施方式中,这样有效地允许日志的一部分用于进行串流而非撤销串流。如果空闲容量达到另一个阈值,那么在明显看出进行串流将被压倒时,可进入FF模式。可针对不同的应用程序不同地设置这些阈值。其他阈值的示例可包括切换到FF模式的最小置信水平、刷新最小大小等。
如先前所描述,本发明的实施方式可评估日志活动和源活动、历史源活动,并且预测日志的进行串流将变满。在一个示例中,暂停分发,直到日志被充满。在这个阶段(或在阈值时),可开始另一种分发方法(诸如FF模式或保护模式)。在一个示例中,例如,在保护模式下,没有日志丢失。另外,在预报316改变时可对决策进行重新评估,同时暂停分发(例如,同时仅执行阶段1)。
图4示出用于复制数据的方法的示例。在图4的方法中,存取或接收402历史数据。如先前所描述,从数据资产收集历史数据,并且可处理或分析所述历史数据以识别数据资产的属性或因素,诸如偏差、水平、季节性、趋势等或其组合。另外,历史数据还可包括就所述因素而论的关于数据资产的实时或近实时数据。例如,数据激增可出乎意料地发生,并且此信息可由分析引擎接收。
还由数据保护系统的分析引擎接收或存取404串流状态。所述串流状态可包括但不限于存储器大小、进行串流的大小、撤销串流的大小、空闲存储器、从一个或多个应用程序写入串流中的当前数据速率、使用率、空闲存储器是增加还是减少等。
使用此信息,分析引擎可产生406预报。在一个示例中,分析引擎在应用预报时可仅使用日志的状态。预报可包括关于预期的数据传送的信息(例如,大小)、完成传送的时间、或者在选择或确定操作模式时可使用的信息。复制引擎可获取预报并且将预报应用于日志的当前状态。这样允许复制引擎确定存储器是否将会被当前的IO串流消耗并且估计这样情况何时会发生。
在一个示例中,使用阈值,复制引擎确定是否切换408模式。如果不,那么所述过程重复,并且根据新的或更新后的预报来重复确定是否切换模式。如果是,那么切换410模式。然而,复制系统切换到的模式可以改变。例如,如果预计存储器在第一阈值(例如,1个小时)内被消耗,那么系统可切换为FF模式。如果预计存储器在第二阈值(例如,2个小时)内被消耗,那么系统可切换为保护模式并且随后评估后续的预报以查看预报是否改变。这样允许以最优化的方式来保护撤销串流。在切换模式时可使用其他阈值。另外,可单独地考虑应用程序或数据资产。如果数据资产正在经历大的激增,那么从整个系统的角度来看,此激增仍可能较小。因此,切换为FF模式可能不是必要的,因为来自单个应用程序的激增可能不会像来自整个系统的激增那样影响日志。
另外,在测量实际测量值并且将其与历史数据进行比较时,可使用此类机器学习来更新模型。
以下讨论本发明的各种实施方式的示例操作环境的方面。此论述不意欲以任何方式限制本发明的范围或实施方式的适用性。
本公开不限于在虚拟机上运行的复制应用程序,RP4VM保护其他运行时环境(诸如物理服务器、容器等或其组合),但还可以与其他运行时环境有关。
一般而言,本发明的实施方式可以结合单独地和/或共同地实现和/或致使实现数据管理操作的系统、软件和组件来实现。此类数据管理操作可包括但不限于数据读取/写入/删除操作、数据备份操作、数据复原操作、数据克隆操作、数据归档操作和灾难恢复操作。因此,虽然在一些方面,本文中的论述可旨在论述数据保护环境和操作,但本发明的范围不限于此。因此,更一般来说,本发明的范围包含所公开的概念可能是有用的任何操作环境。举例来说而非限制,本发明的实施方式可与数据备份和复原平台(诸如Dell-EMCNetWorker以及Avamar和Data Domain平台)一起使用。
数据保护环境可采取公共或私有云存储环境、本地存储环境以及包括公共和私有元件的混合存储环境的形式,但本发明的范围同样扩展到任何其他类型的数据保护环境。这些示例性存储环境中的任何一个可部分或完全虚拟化。所述存储环境可包括数据中心或由数据中心组成,所述数据中心可操作以服务于由一个或多个客户端发起的读取和写入操作。
除了存储环境之外,操作环境还可以包括各自托管一个或多个应用程序的一个或多个主机装置,诸如客户端。因而,特定的客户端可采用一个或多个应用程序中的每一者的一个或多个实例或以其他方式与所述一个或多个实例相关联。大体上,客户端采用的应用程序不限于任何特定功能性或功能性类型。一些示例应用程序和数据包括电子邮件应用程序(诸如MS Exchange)、文件系统,以及数据库(诸如甲骨文数据库和SQL服务器数据库)。客户端上的应用程序可生成希望被保护的新的和/或修改后的数据。
可通过根据本发明的各种实施方式的一个或多个数据保护策略来保护本文公开的任何装置或实体。可通过根据本发明的实施方式的数据保护策略来保护的装置的其他示例包括但不限于容器和VM。
操作环境中的任何装置(包括客户端、服务器和主机)可采取软件、物理机或虚拟机(VM)或者以上各者的任何组合的形式,但对于任何实施方式,不需要特定的装置实现方式或配置。类似地,数据保护系统组件诸如数据库、存储服务器、存储卷(LUN)、存储磁盘、复制服务、备份服务器、复原服务器、备份客户端和复原客户端例如可以同样采取软件、物理机或虚拟机(VM)的形式,但是对于任何实施方式,并未要求特定的组件实现方式。在采用VM的情况下,可以采用超级监管程序或其他虚拟机监视器(VMM)来创建和控制VM。
如本文所使用,术语‘数据’的范畴意欲为广义的。因此,所述术语以举例而非限制的方式涵盖诸如可由数据串流分段过程产生的数据片段、数据组块、数据块、原子数据、电子邮件、任何类型的对象、文件、联系人、目录、子目录、卷、容器以及上述一项或多项的任何组。
本发明的示例实施方式适用于能够存储和处理呈模拟、数字或其他形式的各种类型的对象的任何系统。虽然诸如文档、文件、块或对象等术语可以举例的方式使用,但是本公开的原理不限于表示和存储数据或其他信息的任何特定形式。而是,此类原理同样适用于能够表示信息的任何对象。
如下文更详细地讨论,本文中公开的实施方式可以包括使用包括各种计算机硬件或软件模块的专用或通用计算机。计算机可以包括处理器以及携载指令的计算机存储介质,所述指令在由所述处理器执行和/或导致被所述处理器执行时执行本文中公开的任何一种或多种方法。
如上文所指示,在本发明的范围内的实施方式还包括计算机存储介质,所述计算机存储介质是用于携载计算机可执行指令或数据结构或在上面存储有计算机可执行指令或数据结构的物理介质。此类计算机存储介质可以是可以被通用或专用计算机存取的任何可用的物理介质。
举例来说,且未限制,此类计算机存储介质可以包括硬体存储装置,诸如固态磁盘/装置(SSD)、RAM、ROM、EEPROM、CD-ROM、快闪存储器、相变存储器(“PCM”)或其他光盘存储装置、磁盘存储装置或其他磁存储装置、或任何其他硬件存储装置,以上各者可以用于存储呈计算机可执行指令或数据结构的形式的程序代码,所述计算机可执行指令或数据结构可以由通用或专用计算机系统存取并执行以实施本发明所公开的功能性。以上各者的组合也应包括在计算机存储介质的范畴内。此类介质也是非暂时性存储介质的示例,并且非暂时性存储介质还包括基于云的存储系统和结构,但是本发明的范围不限于非暂时性存储介质的这些示例。
计算机可执行指令包括例如导致通用计算机、专用计算机或专用处理装置执行某一功能或一组功能的指令和数据。虽然用结构特征和/或方法行为特定的语言描述了主题,但是应理解,在所附权利要求中定义的主题不一定限制于上文公开的特定特征或行为。而是,本文公开的特定特征和行为是作为实现权利要求的示例形式来公开。
如本文所使用,术语‘模块’或‘组件’可以指代在计算系统上执行的软件对象或例程。本文描述的不同组件、模块、引擎和服务可以实现为在计算系统上例如作为单独线程执行的对象或进程。虽然本文描述的系统和方法可以用软件实现,但是用硬件或软件与硬件的组合实现也是可能的并且是设想到的。在本公开中,‘计算实体’可以是如本文先前所定义的任何计算系统,或在计算系统上运行的任何模块或模块组合。
在至少一些情况中,提供硬件处理器,所述硬件处理器可操作以实施用于执行一种方法或过程(诸如本文公开的方法和过程)的可执行指令。硬件处理器可以包括或可以不包括其他硬件的元件,诸如本文公开的计算装置和系统。
就计算环境而言,本发明的实施方式可以在客户端-服务器环境(无论是网络环境还是本地环境)中或在任何其他合适的环境中执行。用于本发明的至少一些实施方式的合适的操作环境包括云计算环境,在所述云计算环境中客户端、服务器或其他机器中的一者或多者可在云环境中驻留并操作。
在不偏离本发明的精神或实质特性的情况下,本发明可以体现为其他特定形式。所描述的实施方式在所有方面都被视为仅说明性而非限制性的。因此,本发明的范围由所附权利要求而非前文的描述指示。属于权利要求的含义和等效物范围内的所有变化将包含在权利要求的范围内。
Claims (20)
1.一种在将源位点处的数据资产复制到目标位点的计算系统中用于在复制操作中复制所述数据资产的方法,所述方法包括:
存取关于所述源位点处的正在复制的所述数据资产的历史数据;
基于与所述源位点处的所述数据资产相关联的所述历史数据来生成对所述源位点的复制需要的预报;
根据所述预报和所述目标位点处的日志的状态来切换在所述目标位点处的所述复制操作的模式,其中,所述日志包括包含空闲部分和已使用部分的存储器,其中,所述存储器用于在所述目标位点处复制所述数据资产,其中,所述预报用于确定所述空闲部分是否足以适应预报的所述源位点的所述复制需要,以及其中,基于所述日志是否能够适应预报的所述复制需要来切换所述模式;以及
根据所述模式来复制所述数据资产。
2.如权利要求1所述的方法,所述方法还包括从所述源位点处的所述数据资产收集历史数据。
3.如权利要求1所述的方法,其中所述模式是正常模式、保护模式或快进模式。
4.如权利要求3所述的方法,所述方法还包括基于所述预报将所述模式切换为另一种模式。
5.如权利要求1所述的方法,其中进入一种模式包括在所述预报越过阈值时切换为另一种模式,其中所述阈值是所述存储器中的所述空闲部分的量。
6.如权利要求1所述的方法,其中所述历史数据包括所述数据资产中的每一者单独的和作为整体的所述数据资产的季节性、偏差和水平中的至少一项。
7.如权利要求6所述的方法,所述方法还包括更新所述预报并且确定是否切换为不同的模式。
8.如权利要求3所述的方法,所述方法还包括:
将新数据存储在所述日志的进行串流部分中并且将旧数据存储在所述日志的撤销串流部分中。
9.如权利要求8所述的方法,所述方法还包括使所述撤销串流部分中的数据期满。
10.如权利要求8所述的方法,所述方法还包括切换为保护模式,其中在所述保护模式下,从所述进行串流部分到复制存储装置的数据分发被暂停,并且所述撤销串流部分中的数据被保存。
11.如权利要求10所述的方法,所述方法还包括在所述进行串流部分预期会填满所述日志时切换为快进模式。
12.如权利要求10所述的方法,所述方法还包括在所述预报允许时切换为正常模式。
13.一种非暂时性计算机可读介质,所述非暂时性计算机可读介质包括计算机可执行指令,所述计算机可执行指令在被执行时执行在复制操作期间将数据资产从源位点复制到目标位点的方法,所述方法包括:
存取关于所述源位点处的正在复制的所述数据资产的历史数据;
基于与所述源位点处的所述数据资产相关联的所述历史数据来生成对所述源位点的复制需要的预报;
根据所述预报和所述目标位点处的日志的状态来切换在所述目标位点处的所述复制操作的模式,其中,所述日志包括包含空闲部分和已使用部分的存储器,其中,所述存储器用于在所述目标位点处复制所述数据资产,其中,所述预报用于确定所述空闲部分是否足以适应预报的所述源位点的所述复制需要,以及其中,基于所述日志是否能够适应预报的所述复制需要来切换所述模式;以及
根据所述模式来复制所述数据资产。
14.如权利要求13所述的非暂时性计算机可读介质,所述方法还包括从所述源位点处的所述数据资产收集历史数据,其中所述模式是正常模式、保护模式或快进模式。
15.如权利要求14所述的非暂时性计算机可读介质,所述方法还包括基于所述预报来将所述模式切换为所述正常模式、所述保护模式和所述快进模式中的一者,其中所述模式是基于所述预报与阈值的关系来进行切换,其中所述阈值与所述存储器的所述空闲部分的量有关。
16.如权利要求14所述的非暂时性计算机可读介质,其中所述历史数据包括所述数据资产中的每一者单独的和作为整体的所述数据资产的季节性、偏差和水平中的至少一项。
17.如权利要求14所述的非暂时性计算机可读介质,所述方法还包括更新所述预报并且确定是否切换为不同的模式。
18.如权利要求14所述的非暂时性计算机可读介质,所述方法还包括:
将新数据存储在所述日志的进行串流部分中并且将旧数据存储在所述日志的撤销串流部分中。
19.如权利要求18所述的非暂时性计算机可读介质,所述方法还包括切换为保护模式,其中在所述保护模式下,从所述进行串流部分到复制存储装置的数据分发被暂停,并且所述撤销串流部分中的数据被保存。
20.如权利要求19所述的非暂时性计算机可读介质,所述方法还包括在所述进行串流部分预期会填满所述日志时切换为快进模式或者在所述预报允许时切换为正常模式。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/395,035 | 2019-04-25 | ||
US16/395,035 US11442958B2 (en) | 2019-04-25 | 2019-04-25 | Data distribution in continuous replication systems |
PCT/US2019/067125 WO2020219121A1 (en) | 2019-04-25 | 2019-12-18 | Data distribution in continuous replication systems |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113711188A CN113711188A (zh) | 2021-11-26 |
CN113711188B true CN113711188B (zh) | 2024-04-05 |
Family
ID=69187924
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980095671.1A Active CN113711188B (zh) | 2019-04-25 | 2019-12-18 | 连续复制系统中的数据分发 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11442958B2 (zh) |
EP (1) | EP3959616B1 (zh) |
CN (1) | CN113711188B (zh) |
WO (1) | WO2020219121A1 (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105279210A (zh) * | 2014-06-26 | 2016-01-27 | 赛贝斯股份有限公司 | 同步复制环境中的自动模式切换 |
CN105550062A (zh) * | 2015-12-03 | 2016-05-04 | 上海爱数信息技术股份有限公司 | 基于持续数据保护与时间点浏览恢复的数据回流方法 |
US9367260B1 (en) * | 2013-12-13 | 2016-06-14 | Emc Corporation | Dynamic replication system |
CN107025068A (zh) * | 2015-10-16 | 2017-08-08 | 谷歌公司 | 在存储器内异步复制数据 |
CN108463806A (zh) * | 2014-12-01 | 2018-08-28 | 摄取技术有限公司 | 用于基于预测模型修改数据采集参数的计算机体系结构和方法 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6823336B1 (en) * | 2000-09-26 | 2004-11-23 | Emc Corporation | Data storage system and method for uninterrupted read-only access to a consistent dataset by one host processor concurrent with read-write access by another host processor |
US7844856B1 (en) | 2007-12-26 | 2010-11-30 | Emc (Benelux) B.V., S.A.R.L. | Methods and apparatus for bottleneck processing in a continuous data protection system having journaling |
US7840536B1 (en) * | 2007-12-26 | 2010-11-23 | Emc (Benelux) B.V., S.A.R.L. | Methods and apparatus for dynamic journal expansion |
TW200952497A (en) * | 2008-06-04 | 2009-12-16 | Ind Tech Res Inst | Memory arrangement method and system for parallel processing AC/DC prediction in video compression |
US7962458B2 (en) * | 2008-06-12 | 2011-06-14 | Gravic, Inc. | Method for replicating explicit locks in a data replication engine |
WO2011128922A1 (en) | 2010-04-15 | 2011-10-20 | Neptuny S.R.L. | Automated upgrading method for capacity of it system resources |
US8335771B1 (en) * | 2010-09-29 | 2012-12-18 | Emc Corporation | Storage array snapshots for logged access replication in a continuous data protection system |
US9275063B1 (en) * | 2011-09-30 | 2016-03-01 | Emc Corporation | Replication optimizated IO |
US9477661B1 (en) * | 2012-12-20 | 2016-10-25 | Emc Corporation | Method and apparatus for predicting potential replication performance degradation |
US9418129B2 (en) * | 2013-03-08 | 2016-08-16 | Oracle International Corporation | Adaptive high-performance database redo log synchronization |
US9507844B2 (en) * | 2014-03-28 | 2016-11-29 | International Business Machines Corporation | Automatic adjustment of data replication based on data access |
US20160210341A1 (en) * | 2015-01-16 | 2016-07-21 | Linkedin Corporation | Capacity planning for database replication latency |
US10902324B2 (en) * | 2016-06-13 | 2021-01-26 | Nutanix, Inc. | Dynamic data snapshot management using predictive modeling |
KR101904786B1 (ko) * | 2017-03-06 | 2018-10-08 | 주식회사 데이터스트림즈 | 소스 데이터베이스 관리시스템에서 변경되는 데이터를 실시간으로 목표 데이터베이스 관리시스템에 복제하는 장치 및 그 방법 |
US11423327B2 (en) * | 2018-10-10 | 2022-08-23 | Oracle International Corporation | Out of band server utilization estimation and server workload characterization for datacenter resource optimization and forecasting |
-
2019
- 2019-04-25 US US16/395,035 patent/US11442958B2/en active Active
- 2019-12-18 WO PCT/US2019/067125 patent/WO2020219121A1/en unknown
- 2019-12-18 EP EP19842465.7A patent/EP3959616B1/en active Active
- 2019-12-18 CN CN201980095671.1A patent/CN113711188B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9367260B1 (en) * | 2013-12-13 | 2016-06-14 | Emc Corporation | Dynamic replication system |
CN105279210A (zh) * | 2014-06-26 | 2016-01-27 | 赛贝斯股份有限公司 | 同步复制环境中的自动模式切换 |
CN108463806A (zh) * | 2014-12-01 | 2018-08-28 | 摄取技术有限公司 | 用于基于预测模型修改数据采集参数的计算机体系结构和方法 |
CN107025068A (zh) * | 2015-10-16 | 2017-08-08 | 谷歌公司 | 在存储器内异步复制数据 |
CN105550062A (zh) * | 2015-12-03 | 2016-05-04 | 上海爱数信息技术股份有限公司 | 基于持续数据保护与时间点浏览恢复的数据回流方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2020219121A1 (en) | 2020-10-29 |
EP3959616B1 (en) | 2023-01-25 |
US11442958B2 (en) | 2022-09-13 |
US20200342000A1 (en) | 2020-10-29 |
CN113711188A (zh) | 2021-11-26 |
EP3959616A1 (en) | 2022-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9798629B1 (en) | Predicting backup failures due to exceeding the backup window | |
US11593300B2 (en) | Anomaly-based retention policies for snapshot-based data protection systems | |
US10303508B2 (en) | Adaptive self-maintenance scheduler | |
US10565063B2 (en) | Virtual machine snapshot backup based on multilayer de-duplication | |
US9542296B1 (en) | Disk replacement using a predictive statistical model | |
US9798627B2 (en) | Backup image duplication | |
US10909073B2 (en) | Automatic snapshot and journal retention systems with large data flushes using machine learning | |
US10528520B2 (en) | Snapshot management using heatmaps in a large capacity disk environment | |
US11093387B1 (en) | Garbage collection based on transmission object models | |
JP2016524220A (ja) | 効率的なデータ複製及びガベージコレクション予測 | |
US9996423B2 (en) | Point in time snapshots using copy on predicted write | |
WO2016069029A1 (en) | Snapshot creation | |
CN110058958B (zh) | 用于管理数据备份的方法、设备和计算机程序产品 | |
US10592351B1 (en) | Data restore process using a probability distribution model for efficient caching of data | |
US9336250B1 (en) | Systems and methods for efficiently backing up data | |
CN113711188B (zh) | 连续复制系统中的数据分发 | |
US20230177364A1 (en) | Smart telemetry method based state transition prediction | |
US20220335059A1 (en) | Automatic consistency group scale-out for any point in time replication systems | |
US20230244575A1 (en) | Managing restore workloads using a hazard function | |
US11669407B2 (en) | Optimized client-side deduplication | |
US11907117B2 (en) | Efficient method to dynamically select a protection duration for retention locking deduplicated objects | |
KR102509256B1 (ko) | 스케줄링된 안티-엔트로피 복구 설계를 위한 기술들 | |
US20200201696A1 (en) | System and method for backup failure prevention in deduplication-based storage system | |
CN117743024A (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 |