CN110058958A - 用于管理数据备份的方法、设备和计算机程序产品 - Google Patents
用于管理数据备份的方法、设备和计算机程序产品 Download PDFInfo
- Publication number
- CN110058958A CN110058958A CN201810049494.0A CN201810049494A CN110058958A CN 110058958 A CN110058958 A CN 110058958A CN 201810049494 A CN201810049494 A CN 201810049494A CN 110058958 A CN110058958 A CN 110058958A
- Authority
- CN
- China
- Prior art keywords
- time
- backup
- region
- data volume
- 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
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/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/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
-
- 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
- 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/1466—Management of the backup or restore process to make the backup process non-disruptive
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3419—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开的实施例涉及用于管理数据备份的方法、设备和计算机程序产品。该方法包括确定源存储设备上待备份的区域的寻址操作所要涉及的第一数据量以及拷贝操作所要涉及的第二数据量,寻址操作寻址区域的起始地址,拷贝操作拷贝与区域的长度相对应的数据量。该方法还包括基于源存储设备的标识,获得具有第一数据量的先前寻址操作所用的第一历史时间,以及具有第二数据量的先前拷贝操作所用的第二历史时间。此外,该方法还可以基于第一历史时间和第二历史时间,确定备份区域所需的预测时间。本公开的实施例可以缩短预测所用的时间,同时保证预测的准确性。
Description
技术领域
本公开的实施例总体涉及块级数据备份,具体涉及用于管理数据备份的方法、设备和计算机程序产品。
背景技术
在一些备份情况中,大量的改变块以非常小的粒度散布在存储设备上。备份改变块(还称为“增量备份”)可能消耗比备份整个存储设备(还称为“全备份”)更多的时间。如果备份的经过时间是可预测的,则可以在增量备份消耗比全备份更多时间的情况下切换至全备份。然而,尚不存在预测备份的经过时间的有效方式。
发明内容
本公开的实施例提供了用于管理数据备份的方法、设备和计算机程序产品。
在本公开的第一方面,提供了一种用于管理数据备份的方法。该方法包括确定源存储设备上待备份的区域的寻址操作所要涉及的第一数据量以及拷贝操作所要涉及的第二数据量,寻址操作寻址区域的起始地址,拷贝操作拷贝与区域的长度相对应的数据量。该方法还包括基于源存储设备的标识,获得具有第一数据量的先前寻址操作所用的第一历史时间,以及具有第二数据量的先前拷贝操作所用的第二历史时间。此外,该方法还可以基于第一历史时间和第二历史时间,确定备份区域所需的预测时间。
在本公开的第二方面,提供了一种电子设备。该电子设备包括至少一个处理单元和至少一个存储器。至少一个存储器被耦合到至少一个处理单元并且存储由至少一个处理单元执行的指令。该指令当由至少一个处理单元执行时,使得电子设备执行以下动作:确定源存储设备上待备份的区域的寻址操作所要涉及的第一数据量以及拷贝操作所要涉及的第二数据量,寻址操作寻址区域的起始地址,拷贝操作拷贝与区域的长度相对应的数据量;基于源存储设备的标识,获得具有第一数据量的先前寻址操作所用的第一历史时间,以及具有第二数据量的先前拷贝操作所用的第二历史时间;以及基于第一历史时间和第二历史时间,确定备份区域所需的预测时间。
在本公开的第三方面,提供了计算机程序产品。该计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令。机器可执行指令在被执行时使得机器执行根据本公开的第一方面所描述的方法的任意步骤。
提供发明内容部分是为了以简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。发明内容部分无意标识本公开的关键特征或主要特征,也无意限制本公开的范围。
附图说明
通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中在本公开示例性实施例中,相同的参考标号通常代表相同部件。
图1示出了用于数据备份的架构的示意图;
图2示出了备份的两种类型;
图3示出了根据本公开的一个实施例的用于管理数据备份的方法的流程图;
图4示出了根据本公开的一个实施例的针对多个区域的备份过程的示意图;
图5示出了根据本公开的一个实施例的备份过程的示意图;
图6示出了根据本公开的一个实施例的用于在备份执行期间收集数据点的方法的流程图;
图7示出了根据本公开的一个实施例的用于更新历史时间的学习和改善方法的流程图;
图8示出了根据本公开的一个实施例的用于管理数据备份的装置的框图;以及
图9示出了可以用来实施本公开的实施例的示例设备的示意性框图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施例。虽然附图中显示了本公开的优选实施例,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
在本文中使用的术语“存储设备”可以是物理或虚拟的(逻辑的),例如物理磁盘或例如云环境中的虚拟网盘。在本文中使用的术语“块”是指存储设备被划分的最小单位。在不同的操作系统中,一个块的大小可以是不同的。例如,一个块的大小可以是64KB。
块级备份绕开了文件系统,并且直接从存储设备读取数据。因此,块级备份的速度快于文件级备份,而越来越受欢迎。在本文中,为了简洁起见,使用术语“备份”来表示术语“块级备份”。此外,备份也可以表达为恢复。
但是当改变块散布时,备份时间变得不可控。在一些备份情况中,大量的改变块以非常小的粒度散布在存储设备上。在这些块上的读取是效率低的。作为结果,备份改变块(还称为“增量备份”)可能消耗比备份整个存储空间(还称为“全备份”)更多的时间。举例来说,10G的存储空间可以具有总量为1G的改变块;由于这1G的改变块不是连续的而是分散的很多小块的集合,所以备份这1G的改变块可能需要比备份10G的存储空间更多的时间。这造成备份无法在有限的备份窗口内实现。
在本文中,开发了一种基于时间序列模型的自适应预测方法。充分考虑了预测准确度和算法复杂度之间的折中。通过不断的学习对预测参数进行改善,这对于存储设备I/O(输入/输出)性能和不同运行环境的改变是自适应的。利用本文中的预测方法,能够通过切换至消耗时间较少的等效全备份来避免低效率的增量备份。
图1示出了用于数据备份的架构100的示意图。应当理解,仅出于示例性的目的描述架构100的结构和功能而不是暗示对于本公开的范围的任何限制。本公开的实施例可以被体现在不同的结构和/或功能中。
如图1所示,架构100可以包括:客户端110、源存储设备120和目的地存储设备130。源存储设备120和/或目的地存储设备130可以是本地的,或者可以挂载在本地。备份代理111运行在客户端110上。备份代理111可操作为将源存储设备120上存储的数据备份至目的地存储设备130。备份代理111可以在实体机或虚拟机中运行。例如,备份代理111可以是代理插件。下文中所描述的方法可以由在客户端110上运行的备份代理111来执行。
图2示出了备份的两种类型。图2示出了构成源存储设备120的块240。例如,源存储设备120是磁盘。图2所示的区域250包括连续的发生改变的块240。通常存在两种类型的备份:全备份210和增量备份220。增量备份220是其中块的相继拷贝仅包括已改变的那部分块的备份,这是因为未改变块在已进行的在前备份拷贝中已被备份。如图2所示,针对全备份210,源存储设备的所有块240被备份。然而,针对增量备份220,只有改变的块被备份。
仅通过示例的方式,在增量备份220情况下,客户端110接收描述改变块是如何组织的区域250的列表。在本文中,术语“区域”可以是可一个接一个地读取的物理上线性的块系列,从而最小化磁头移动。区域250可以由两个参数来表示:指示起始地址的从地址0的偏移offset和长度length,其中length等于块的整数倍。即,区域可以表示为[offset,length]。典型的区域列表如下:
[offset1,length1],[offset2,length2],[offset3,length3]…
针对区域列表中的第一区域,备份代理111从源存储设备120上的地址“offset1”开始读取数据(所读取的字节数目是length1),然后将读取的数据附加至目的地存储设备130上存储的目标文件。以相同方式,备份代理111继续拷贝和附加下一区域,直到完成列表中的所有区域。在一个示例中,列表中的区域按其起始地址被排序,从而最小化磁头移动。
在备份代理111中,与备份中的其它处理部分相比较,用于读取和拷贝块的处理是高度耗时的部分。例如,其它处理部分可以包括:在备份的准备过程中制造环境,例如将待备份的源存储设备120克隆并挂载至备份代理111;以及在备份结束后清理现场,例如解挂载并且删除克隆。此外,在待备份的改变块增加的情况下,读取和拷贝块的经过时间可能会升高。即使多个备份读取和拷贝相同量的块,所经过的时间也可能是各种各样的,因为待备份的块可以是连续的或者散布在存储设备上。这意味着存储设备I/O的花费是不同的。存在影响读取和拷贝的经过时间的许多因素,诸如存储设备类型、存储设备大小和操作系统环境等。另一方面,对于备份的运行时间而言,除去读取和拷贝块过程的运行时间有较大变数,备份中的其他过程(例如备份开始时的准备过程、备份结束后的清理过程)的运行时间通常接近于常数。由于上述原因,在本文中,备份的经过时间可以指的是备份代理111中读取和拷贝块的经过时间。
在一些情况下,增量备份的区域的数目可以是极其庞大的。这导致这一备份的执行极其耗时,并且甚至可能比针对相同备份源的全备份更加耗时。这是因为散布块的读取效率低于在HDD(硬盘驱动器)或SSD(固态驱动器)上的连续盘读取。如果备份的经过时间是可预测的,则可以在增量备份消耗比全备份更多时间的情况下切换至全备份。
然而,尚不存在预测备份的经过时间的有效方式。学习和预测通常涉及耗时的算法。备份服务对于时间是相当敏感的。耗时的算法在备份情境下基本上失去了其价值,即便预测可能是准确的。此外,可能影响经过时间的因素组合是非常复杂和易变的。这些都使得预测变得极其困难。本公开的实施例提供改善块级备份的性能的自适应预测方法。
图3示出了根据本公开的一个实施例的用于管理数据备份的方法300的流程图。例如,方法300可以由如图1所示的备份代理111来执行。应当理解的是,方法300还可以包括未示出的附加框和/或可以省略所示出的框,本公开的范围在此方面不受限制。图3中的虚线框都是可选的。
在框310,备份代理111确定源存储设备120上待备份的区域,并且确定该区域的寻址操作所要涉及的第一数据量以及拷贝操作所要涉及的第二数据量。在一些实施例中,在执行块读取之前,备份代理111可以捕获源存储设备120的发生数据改变的区域250。
如上所述,全备份执行存储设备的连续读写,而增量备份执行一系列读取-附加迭代。每个区域的备份操作被视为一个迭代。本文的时间序列模型被构建在区域上。在每次迭代内,涉及两种类型的操作:寻址(DA)操作和拷贝(RAD)操作。DA是读取-附加迭代内的第一操作,用于寻址由区域的offset字段指示的位置。偏移offset指示区域的起始地址。RAD是DA的后续操作,用于连续地拷贝(读取-附加)由区域的长度length字段所指示的数据量。在微观水平上,全备份可以被视为仅执行一次迭代的增量备份的特殊情况。例如,数据量可以字节或比特为单位。
图4示出了根据本公开的一个实施例的针对多个区域的备份过程400的示意图。随着时间的推移,针对每个区域的迭代可以依次执行。仅通过示例的方式,图4仅示出了三个迭代410:用于第一区域的迭代1、用于第二区域的迭代2以及用于第N区域的迭代N。这些迭代可以属于同一备份/恢复处理。如上所述,每个迭代410包括寻址(DA)操作和拷贝(RAD)操作。在本文中,DA或RAD还被称为数据点420。
数据点420是对DA或RAD操作的组合性时间度量。数据点420包含值的元组:{workload,cost},其中值workload是针对DA或RAD操作的数据量度量,例如,假设RAD操作读取了65536个字节,则该操作的workload为65536;值cost是针对DA或RAD操作的时间度量,例如假设DA操作花费了100us,那么该操作的cost是100,即操作的cost表示操作的经过时间。
对于相同的备份源(源存储设备120)和同一类型的操作(DA或RAD),操作的cost与其workload密切相关。换言之,操作所花费的时间与其涉及的数据量密切相关。因此,对操作的经过时间的预测能够根据具有相同数据量(workload)的已完成操作的花费时间(cost)来进行。那么,备份的经过时间是属于该备份的所有操作的经过时间之和。所以,如果属于备份的所有操作的经过时间被预测,则能够进行对该备份的经过时间的预测。本公开的发明构思是基于可检测的时间序列数据来进行预测。
在图3的框320,基于源存储设备的标识,备份代理111获得具有第一数据量的先前寻址操作所用的第一历史时间,以及具有第二数据量的先前拷贝操作所用的第二历史时间。第一和第二历史时间在本文中还被称为预测参数。对于不同的备份源(不同的源存储设备120),由于存储器类型、大小、操作环境等差异,预测参数可以是不同的。预测参数可以与源存储设备120的标识(ID)相关联地存储。在一些实施例中,用于备份源的预测参数组被存储为键-值对,其中“键”是备份源ID,并且“值”是包含与该备份源相关联的所有预测参数的JSON字符串。
备份代理111可以加载当前的预测参数,并在预测参数中查找第一和第二历史时间。如上所述,当前的预测参数被打包成以键-值对存储的JSON字符串。通过作为键的备份源ID来提取JSON字符串。然后,备份代理111可以将JSON字符串展开成先前数据点420的两个列表。一个列表包括寻址(DA)操作的预测参数(还称为PP_DA),并且另一个列表包括拷贝(RAD)操作的预测参数(还称为PP_RAD)。具体而言,这两个列表包括关于先前寻址操作和先前拷贝操作的数据量和花费时间信息。备份代理111可以根据当前操作的类型在相应列表中搜寻具有相同数据量的先前操作在历史上所花费的时间。作为一个示例,备份代理111可以在PP_DA列表中找到具有第一数据量的先前寻址操作所用的第一历史时间,并且可以在PP_RAD列表中找到具有第二数据量的先前拷贝操作所用的第二历史时间。
在图3的框330,基于第一历史时间和第二历史时间,备份代理111确定备份区域所需的预测时间。第一历史时间和第二历史时间之和可以被认为是备份区域将要花费的时间。通过这种方式,本公开提出了一种基于时间度量的模型(时间序列模型)。该模型在区域250这一微观水平上来描述消耗的备份时间。通过将区域备份的时间分两部分考虑,可以缩短预测所用的时间,同时保证预测的准确性。
在可选框340,可以存在待备份的彼此不连续的多个区域。该多个区域可以属于上面描述的增量备份。基于备份区域所需的预测时间,备份代理111可以确定备份多个区域所需的预测总时间。预测总时间可以是多个区域的寻址操作和拷贝操作的经过时间之和。可以基于该预测总时间来执行对源存储设备上的数据的备份。
在一些实施例中,如下面在备份执行阶段将更详细讨论的,可以将多个区域250转化成两个数据点列表。一个列表是用于寻址操作的预测列表P_DA,另一个列表是用于拷贝操作的预测列表P_RAD。这两个预测列表可以被初始化为空。第一和第二数据量被填入数据点的workload。可以按照workload的升序顺序对这两个预测列表进行排序。在上述预测参数列表(PP_DA和PP_RAD)中查找具有相同数据量workload的历史数据点,并将相应的历史花费时间cost填入预测列表P_DA和P_RAD。还可以按照workload的升序顺序将预测参数列表PP_DA和PP_RAD进行排序。因此,可以采用相同的指针来访问预测列表和预测参数列表。利用匹配的数据量workload,从PP_DA和PP_RAD中提取历史花费时间cost,并将提取的cost填入P_DA和P_RAD。容易理解的是,该预测阶段的时间复杂度是O(N),空间复杂度是O(N),其中N是数据点的数目。然后,基于预测列表P_DA和P_RAD中填入的历史花费时间cost,可以计算备份多个区域所需的预测总时间。预测总时间表示预测的该备份的经过时间。基于预测总时间,可以选择备份策略。
图5示出了根据本公开的一个实施例的备份过程500的示意图。备份过程500主要包括三个阶段:预测阶段510、备份执行阶段(包括全备份执行阶段520和增量备份执行阶段530)以及学习和改善阶段540。在预测阶段510中,基于备份的区域250以及先前学习的预测参数,备份代理111可以预测传入的备份所需要的执行时间。预测阶段510发生在备份执行程序之前。
预测阶段510的预测结果可以用于选择备份策略。具体而言,备份代理111可以确定备份多个区域250所需的预测总时间。然后,备份代理111可以将该预测总时间与备份源存储设备120整体(即,全备份)所需的时间进行比较。如已知的,第一次备份(还称为0级备份)是全备份。在0级备份期间,可以学习和保存全备份的经过时间,作为用于后续备份的预测参数。所以能够将传入的增量备份的预测总时间与过去的全备份的经过时间进行比较。如果全备份消耗更少的时间,则通过返回备份策略的标志,可以切换至全备份的程序。通过这种方式,可以基于预测来优化备份程序。如果预测指示增量备份的块读取的效率低于全备份的盘连续读取,则可以通过切换至全备份来优化备份程序。该全备份等效于增量备份,因为没有块的丢失。此外,在后端存储设备的数据去重复特征的帮助下,不会消耗附加存储空间。
具体而言,响应于预测总时间少于备份源存储设备整体所需的时间,分别执行针对多个区域的备份,即进入增量备份执行阶段530。在增量备份执行阶段530中,读取散布的多个区域的块。响应于预测总时间多于备份源存储设备整体所需的时间,执行针对源存储设备整体的备份,即进入全备份执行阶段520。在全备份执行阶段520中,执行连续读取,直到源存储设备120的所有块被读取。换言之,如果预测结果表明增量备份要花费比全备份更多的时间,则切换至全备份。无论在全备份执行阶段520还是增量备份执行阶段530中,均执行数据点收集525。在数据点收集525中,收集在块读取和拷贝期间的每个操作的数据点。即,数据点收集525发生在备份执行程序期间。
在学习和改善阶段540中,对在数据点收集525中收集的数据点进行学习,然后基于学习结果来生成或改善当前的预测参数。每当备份同一源存储设备120时,收集数据点并且改善预测参数,这使得预测更加准确。由于预测参数被不断地学习和改善,本文中的预测方法具有对各种环境中的块级备份的适应性。此外,对不同目的地环境的配置没有要求。
返回到图3,在可选框350,备份代理111可以执行对区域250的备份。如上所述,在针对区域250的迭代内部,由区域250指示的块被读取和附加。在一些实施例中,在源存储设备120上的读取操作被看作文件读取操作。在迭代内,备份代理111可以执行寻址操作和拷贝操作。在寻址操作中,备份代理111可以寻址至区域的起始地址,并且将第一数据量读取至缓冲器。作为一个示例,备份代理111可以利用操作系统调用(例如lseek)将读写位置调整至由区域250的偏移offset指示的块。lseek的调用不会产生磁盘I/O,但是第一次读取操作(第一数据量的读取)包括磁盘寻址处理。在拷贝操作中,备份代理111可以将读取的第一数据量从缓冲器附加至流存储器,并且继续读取和附加区域250的其余数据量直到完成由区域250的长度length指示的所有数据量。第二数据量等于由区域250的长度length指示的数据量。
在可选框360,备份代理111可以基于在备份执行程序中收集的数据点来更新历史时间以备后续备份使用。在一些实施例中,备份代理111可以确定执行寻址操作所用的第一实际时间。备份代理111可以至少部分地基于第一实际时间,更新第一历史时间以备后续备份使用。在一些实施例中,备份代理111可以确定执行拷贝操作所用的第二实际时间。备份代理111可以至少部分地基于第二实际时间,更新第二历史时间以备后续备份使用。以这种方式,可以实现对实际数据的学习,以用于改善预测参数。
在一些实施例中,寻址操作或拷贝操作所用的实际时间可以通过放置在这些操作之前或之后的时间收集器来收集。在寻址操作开始时,时间收集器记录第一时间戳(例如,以微秒为单位)。在寻址操作结束或拷贝操作开始时,(另一)时间收集器记录第二时间戳(例如,以微秒为单位)。然后,通过计算第一与第二时间戳之差,可以确定执行寻址操作所用的第一实际时间。在拷贝操作结束时,(又一)时间收集器记录第三时间戳(例如,以微秒为单位)。然后,通过计算第二与第三时间戳之差,可以确定执行拷贝操作所用的第二实际时间。
图6示出了根据本公开的一个实施例的用于在备份执行期间收集数据点的方法600的流程图。例如,方法600可以由如图1所示的备份代理111来执行。应当理解的是,方法600还可以包括未示出的附加框和/或可以省略所示出的框,本公开的范围在此方面不受限制。
在框602,考虑到执行性能,备份代理111可以预分配两个列表以分别用于寻址(DA)操作和拷贝(RAD)操作。每个列表可以具有一定数目的数据点。如上所述,该数据点的数目应该等于待备份的区域的数目的两倍。因而,通过避免了在迭代内的存储器分配,填充数据点是相当快的。
在框604,备份代理111可以确定是否存在任何未处理的区域。如果不存在,则备份结束。如果存在,则在框606,被放置在寻址(DA)操作之前的时间收集器A可以获得时间戳A。
在框608,lseek至区域的起始位置(由偏移offset指示的起始地址)。在框610,将字节读取至缓冲器。所读取的字节数可以取决于系统配置和区域长度length。假设系统被配置为在寻址时最大读取16个块,而长度length大于16个块,则在框610读取16个块。假设系统被配置为在寻址时最大读取16个块,而长度length小于16个块,则在框610读取长度length所包含的块。在框612,被放置在寻址(DA)操作之后的时间收集器B可以获得时间戳B。在框614,可以计算寻址(DA)操作的花费时间(cost)和数据量(workload),以记录DA操作的数据点。操作的workload可以由相同的时间收集器来收集。与cost不同,workload不是时间值,而是表示操作中涉及多少工作负荷(数据量)。DA操作的workload(还称为第一数据量)是在框610读取的字节数。
在框616,将在框610中读取的字节从缓冲器附加至流存储器。在框618,备份代理111可以确定是否存在更多的字节要读取。如果存在,在框620,读取和附加其余字节。如果不存在未读取的字节,在框622,被放置在拷贝(RAD)操作之后的时间收集器C可以获得时间戳C。在框624,可以计算RAD操作的花费时间(cost)和数据量(workload),以记录RAD操作的数据点。RAD操作的workload(还称为第二数据量)是所附加的字节数,即等于区域的长度length。方法600可以返回到框604,再次确定是否存在任何未处理的区域,以处理其余区域。
通过以上方式,在块读取和附加期间,数据点被收集并且被填入在框602预分配的两个列表中。如上所述,一个列表用于DA操作的数据点,还被称为DA操作的实际值/观测值(OV_DA)。另一个列表用于RAD操作的数据点,还被称为RAD操作的实际值/观测值(OV_RAD)。
图7示出了根据本公开的一个实施例的用于更新历史时间的学习和改善方法700的流程图。例如,方法700可以由如图1所示的备份代理111来执行。应当理解的是,方法700还可以包括未示出的附加框和/或可以省略所示出的框,本公开的范围在此方面不受限制。学习和改善方法700可以被实施为基于数据点列表的数据处理。从这个角度来说,学习的输入数据和作为预测参数的改善结果两者都可以被表示为数据点列表。备选地或附加地,预测阶段510以及学习和改善阶段540可以共享相同的数据点列表,这通过避免存储器拷贝而给出快速执行。
在框702,可以对通过方法600收集的两个列表(OV_DA和OV_RAD)中的数据点按照数据量workload大小进行排序。作为一个示例,可以按照workload的升序顺序对数据点进行排序。这是预处理动作。此后,该顺序可以被保持。
在框704,针对OV_DA和OV_RAD列表中的每个列表,计算具有相同数据量workload的数据点的平均花费时间(cost)。这是学习动作。由于在备份内可以存在具有相同长度length的几个区域,所以对于相同的数据量workload,可以存在几个实际时间值(cost)。计算这些cost的算术平均,并且合并具有相同workload的数据点。例如,输入的OV_DA列表为[{100,20},{100,30},{300,50}]。平均后的输出OV_DA列表为[{100,25},{300,50}]。也就是说,输出OV_DA列表不包含重复的数据量workload。容易看出,随着实际值的增加和待预测的区域的增加,实际花费时间的算术平均将接近于后续备份的真实花费时间。应理解,去重复的实际观测列表(OV_DA和OV_RAD)也可以被称为新学习的预测参数。
在框706,加载当前(现存)的预测参数,并且确定是否存在预测参数。该加载可以是与预测阶段510的预测参数加载几乎相同的程序。为了节省时间,可以使用用于避免相同备份源ID在这两个阶段中的双重加载程序的机制。加载的预测参数可以被展开成两个数据点列表:一个列表为针对寻址操作的PP_DA列表,另一个列表为针对拷贝操作的PP_RAD列表。应理解,预测参数包含历史操作的数据量和相关联的历史时间。
在框708,响应于存在预测参数,将实际值与当前的预测参数进行合并。这是改善动作。OV_DA列表被合并到PP_DA列表中,并且OV_RAD列表被合并到PP_RAD列表中。在经合并的列表内,再次计算花费时间(cost)的算术平均,并且具有相同数据量(workload)的数据点被合并。例如,OV_DA列表为[{100,25},{300,50}]而PP_DA列表为[{200,35},{300,60}],那么经合并的列表为[{100,25},{200,35},{300,55}]。可以仍然保持数据量(workload)的升序顺序。以这种方式,预测参数中的历史时间得以更新。该改善动作增强了在数据量(workload)水平下的预测范围,并且对于实际值的改变是适应性的。
因而,框704和框708的总体效果如下。在一些实施例中,备份代理111可以确定第一历史时间(预测参数)和至少一个参考时间的第一平均时间,并且基于该第一平均时间来更新第一历史时间。该参考时间是具有第一数据量的参考寻址操作所花费的时间(还称为实际值/观测值)。例如,该参考时间可以是在方法600中实际观测到的时间。在一些实施例中,备份代理111可以确定第二历史时间和至少一个参考时间的第二平均时间,并且基于该第二平均时间来更新第二历史时间。该参考时间是具有第二数据量的参考拷贝操作所花费的时间。以这种方式,可以使得历史时间更加逼近实际时间,从而提高预测准确性。
在框710,保存经改善的预测参数。这是框706的加载的反向处理。例如,作为数据点列表的预测参数被打包成JSON字符串,并且与源存储设备120的标识相关联地存储。在框706不存在预测参数的情况下,在框710可以保存实际观测列表(OV_DA和OV_RAD),作为预测参数以备后续预测使用。
在一些实施例中,在计算和合并期间,可以使用指针来访问列表中的元素。容易理解的是,方法700(除了框702)的时间复杂度是O(N),空间复杂度是O(N),其中N是数据点的数目。还容易理解的是,预测参数是统计数据点。随着在源存储设备120上执行的备份增加,统计历史花费时间被改善,并且接近于真实花费时间。
通过上述的收集和学习备份的时间度量的方法,可以实现自适应预测。预测参数可以通过学习结果来生成并且能够不断地被改善。通过与源存储设备120的标识相关联地存储预测参数,可以适应于磁盘I/O性能和不同环境的改变。
下面的表1示出了测试结果。在测试处理中,首先创建备份源,并且然后经由写数据工具(例如DD)在备份源中写入改变的块。在写入过程中,经由测试脚本随机生成改变块的偏移offset和长度length。然后,执行备份并且收集日志。在日志中,记录以下度量:预测阶段的执行时间(PT)、学习和改善阶段的执行时间(LRT)、预测的备份的经过时间(PET)、以及备份的实际经过时间(RET)。分别对同一备份源进行了多次测试。还通过改变相关联的条件和环境,来再现相同的测试。在表1中,所有时间都是以微秒为单位记录的。
表1 测试结果
具体参见上面的表1中的10G大小、FC VNX类型的备份源的示例,创建了大量区域(区域数目为17283)。预测的该增量备份的经过时间是55877826。预测的等效全备份的经过时间是43513096,少于增量备份的时间。因此,应切换至全备份程序。全备份的实际经过时间是40376192。由此可以看出,如果增量备份包含大量的区域,则该增量备份的预测时间将长于等效全备份的预测时间。在这种情况下,备份代理111能够自动切换至等效全备份的程序,从而节省备份时间。
参见表1的第一测试情况,随着测试变多,PET的值非常接近于RET的值。这说明利用不断改善的预测参数(测试次数的增加),预测可以变得准确。还参见表1的第一测试情况,针对大约10000个区域,预测和学习阶段两者都可以在13毫秒内完成。这说明预测算法和学习改善算法两者都可以极快地执行。本文中的算法的性能与区域数目线性相关。此外,从表1可以看出,本文中的算法可以适应于变化的环境(不同的源存储设备大小和类型、不同的OpenStack版本、以及不同的主机类型)。通过基于预测而切换至耗时较少的备份程序,可以优化备份。利用本公开的块级备份的预测技术,可以将大量区域的增量备份性能提高30%至50%,并且将备份任务调度在有限的备份窗口内。
图8示出了根据本公开的一个实施例的用于管理数据备份的装置800的框图。在一些实施例中,装置800例如可以实施在备份代理111处。备选地,在一些实施中,装置800可以直接被实现为备份代理111本身,也即,备份代理111可以由装置800实现。
如图8所示,装置800可以包括第一确定模块810,其被配置为确定源存储设备上待备份的区域的寻址操作所要涉及的第一数据量以及拷贝操作所要涉及的第二数据量,寻址操作寻址区域的起始地址,拷贝操作拷贝与区域的长度相对应的数据量。装置800还可以包括获得模块820,其被配置为基于源存储设备的标识,获得具有第一数据量的先前寻址操作所用的第一历史时间,以及具有第二数据量的先前拷贝操作所用的第二历史时间。此外,装置800还可以包括第二确定模块830,其被配置为基于第一历史时间和第二历史时间,确定备份区域所需的预测时间。
在一些实施中,区域选自待备份的彼此不连续的多个区域。装置800还可以包括第三确定模块,其被配置为基于备份区域所需的预测时间,确定备份多个区域所需的预测总时间。装置800还可以包括第一执行模块,其被配置为基于预测总时间,执行对源存储设备上的数据的备份。
在一些实施中,第一执行模块可以包括第一执行子模块,其被配置为响应于预测总时间少于备份源存储设备整体所需的时间,分别执行针对多个区域的备份。
在一些实施中,第一执行模块可以包括第二执行子模块,其被配置为响应于预测总时间多于备份源存储设备整体所需的时间,执行针对源存储设备整体的备份。
在一些实施中,装置800还可以包括第二执行模块,其被配置为执行寻址操作和执行拷贝操作。寻址操作包括寻址至区域的起始地址并且将第一数据量读取至缓冲器。拷贝操作包括将读取的第一数据量从缓冲器附加至流存储器,并且读取和附加区域的其余数据量直到完成由区域的长度指示的数据量。第二数据量等于由区域的长度指示的数据量。
在一些实施中,装置800还可以包括第四确定模块,其被配置为确定执行寻址操作所用的第一实际时间。此外,装置800还可以包括第一更新模块,其被配置为至少部分地基于第一实际时间,更新第一历史时间以备后续备份使用。
在一些实施中,装置800还可以包括第五确定模块,其被配置为确定执行拷贝操作所用的第二实际时间。此外,装置800还可以包括第二更新模块,其被配置为至少部分地基于第二实际时间,更新第二历史时间以备后续备份使用。
在一些实施中,第一更新模块可以包括第一确定子模块,其被配置为确定第一历史时间和至少一个参考时间的第一平均时间。第一更新模块还可以包括第一更新子模块,其被配置为基于第一平均时间来更新第一历史时间,参考时间是具有第一数据量的参考寻址操作所花费的时间。
在一些实施中,第一更新模块可以包括第二确定子模块,其被配置为确定第二历史时间和至少一个参考时间的第二平均时间。第一更新模块还可以包括第二更新子模块,其被配置为基于第二平均时间来更新第二历史时间,参考时间是具有第二数据量的参考拷贝操作所花费的时间。
出于清楚的目的,在图8中没有示出装置800的某些可选模块。然而,应当理解,上文参考图1-7所描述的各个特征同样适用于装置800。而且,装置800的各个模块可以是硬件模块,也可以是软件模块。例如,在某些实施例中,装置800可以部分或者全部利用软件和/或固件来实现,例如被实现为包含在计算机可读介质上的计算机程序产品。备选地或附加地,装置800可以部分或者全部基于硬件来实现,例如被实现为集成电路(IC)、专用集成电路(ASIC)、片上系统(SOC)、现场可编程门阵列(FPGA)等。本公开的范围在此方面不受限制。
图9示出了可以用来实施本公开的实施例的示例设备900的示意性框图。如图所示,设备900包括中央处理单元(CPU)901,其可以根据存储在只读存储器(ROM)902中的计算机程序指令或者从存储单元908加载到随机访问存储器(RAM)903中的计算机程序指令,来执行各种适当的动作和处理。在RAM 903中,还可存储设备900操作所需的各种程序和数据。CPU 901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
设备900中的多个部件连接至I/O接口905,包括:输入单元906,例如键盘、鼠标等;输出单元907,例如各种类型的显示器、扬声器等;存储单元908,例如磁盘、光盘等;以及通信单元909,例如网卡、调制解调器、无线通信收发机等。通信单元909允许设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的各个过程和处理,例如方法300,可由处理单元801执行。例如,在一些实施例中,方法300可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序被加载到RAM 803并由CPU 801执行时,可以执行上文描述的方法300的一个或多个框。备选地,CPU 801也可以通过任何其他适当的方式(例如,借助于固件)而被配置为执行上文描述的方法300。
综上,本公开提供了一种用于预测数据备份所需的时间的方法。通过分别考虑带备份区域的寻址操作和拷贝操作的经过时间,提供了一种时间序列模型。基于该时间序列模型的预测方法给出了在预测准确性和算法复杂度之间的适当折中。通过源存储设备的标识以及不断的学习完善预测参数,可以实现对不同磁盘I/O性能和运行环境的自适应性。使用该预测方法,可以在增量备份消耗比全备份更多时间的情况下,自动切换至全备份,从而优化备份。
本公开可以是方法、装置、系统和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作动作,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (19)
1.一种用于管理数据备份的方法,包括:
确定源存储设备上待备份的区域的寻址操作所要涉及的第一数据量以及拷贝操作所要涉及的第二数据量,所述寻址操作寻址所述区域的起始地址,所述拷贝操作拷贝与所述区域的长度相对应的数据量;
基于所述源存储设备的标识,获得具有所述第一数据量的先前寻址操作所用的第一历史时间,以及具有所述第二数据量的先前拷贝操作所用的第二历史时间;以及
基于所述第一历史时间和所述第二历史时间,确定备份所述区域所需的预测时间。
2.根据权利要求1所述的方法,其中所述区域选自待备份的彼此不连续的多个区域,并且所述方法还包括:
基于备份所述区域所需的所述预测时间,确定备份所述多个区域所需的预测总时间;以及
基于所述预测总时间,执行对所述源存储设备上的数据的备份。
3.根据权利要求2所述的方法,其中所述备份包括:
响应于所述预测总时间少于备份所述源存储设备整体所需的时间,分别执行针对所述多个区域的备份。
4.根据权利要求2所述的方法,其中所述备份包括:
响应于所述预测总时间多于备份所述源存储设备整体所需的时间,执行针对所述源存储设备整体的备份。
5.根据权利要求1所述的方法,还包括:
执行所述寻址操作,包括:
寻址至所述区域的所述起始地址;
将所述第一数据量读取至缓冲器;以及
执行所述拷贝操作,包括:
将读取的所述第一数据量从所述缓冲器附加至流存储器;以及
读取和附加所述区域的其余数据量直到完成由所述区域的长度指示的数据量,所述第二数据量等于由所述区域的长度指示的数据量。
6.根据权利要求5所述的方法,还包括:
确定执行所述寻址操作所用的第一实际时间;以及
至少部分地基于所述第一实际时间,更新所述第一历史时间以备后续备份使用。
7.根据权利要求5所述的方法,还包括:
确定执行所述拷贝操作所用的第二实际时间;以及
至少部分地基于所述第二实际时间,更新所述第二历史时间以备后续备份使用。
8.根据权利要求6所述的方法,其中所述更新包括:
确定所述第一历史时间和至少一个参考时间的第一平均时间;以及
基于所述第一平均时间来更新所述第一历史时间,所述参考时间是具有所述第一数据量的参考寻址操作所花费的时间。
9.根据权利要求7所述的方法,其中所述更新包括:
确定所述第二历史时间和至少一个参考时间的第二平均时间;以及
基于所述第二平均时间来更新所述第二历史时间,所述参考时间是具有所述第二数据量的参考拷贝操作所花费的时间。
10.一种电子设备,包括:
至少一个处理单元;
至少一个存储器,所述至少一个存储器被耦合到所述至少一个处理单元并且存储由所述至少一个处理单元执行的指令,所述指令当由所述至少一个处理单元执行时,使得所述电子设备执行以下动作:
确定源存储设备上待备份的区域的寻址操作所要涉及的第一数据量以及拷贝操作所要涉及的第二数据量,所述寻址操作寻址所述区域的起始地址,所述拷贝操作拷贝与所述区域的长度相对应的数据量;
基于所述源存储设备的标识,获得具有所述第一数据量的先前寻址操作所用的第一历史时间,以及具有所述第二数据量的先前拷贝操作所用的第二历史时间;以及
基于所述第一历史时间和所述第二历史时间,确定备份所述区域所需的预测时间。
11.根据权利要求10所述的电子设备,其中所述区域选自待备份的彼此不连续的多个区域,并且所述指令当由所述至少一个处理单元执行时,还使得所述电子设备执行以下动作:
基于备份所述区域所需的所述预测时间,确定备份所述多个区域所需的预测总时间;以及
基于所述预测总时间,执行对所述源存储设备上的数据的备份。
12.根据权利要求11所述的电子设备,其中所述备份包括:
响应于所述预测总时间少于备份所述源存储设备整体所需的时间,分别执行针对所述多个区域的备份。
13.根据权利要求11所述的电子设备,其中所述备份包括:
响应于所述预测总时间多于备份所述源存储设备整体所需的时间,执行针对所述源存储设备整体的备份。
14.根据权利要求10所述的电子设备,所述指令当由所述至少一个处理单元执行时,还使得所述电子设备执行以下动作:
执行所述寻址操作,包括:
寻址至所述区域的所述起始地址;
将所述第一数据量读取至缓冲器;以及
执行所述拷贝操作,包括:
将读取的所述第一数据量从所述缓冲器附加至流存储器;以及
读取和附加所述区域的其余数据量直到完成由所述区域的长度指示的数据量,所述第二数据量等于由所述区域的长度指示的数据量。
15.根据权利要求14所述的电子设备,所述指令当由所述至少一个处理单元执行时,还使得所述电子设备执行以下动作:
确定执行所述寻址操作所用的第一实际时间;以及
至少部分地基于所述第一实际时间,更新所述第一历史时间以备后续备份使用。
16.根据权利要求14所述的电子设备,所述指令当由所述至少一个处理单元执行时,还使得所述电子设备执行以下动作:
确定执行所述拷贝操作所用的第二实际时间;以及
至少部分地基于所述第二实际时间,更新所述第二历史时间以备后续备份使用。
17.根据权利要求15所述的电子设备,其中所述更新包括:
确定所述第一历史时间和至少一个参考时间的第一平均时间;以及
基于所述第一平均时间来更新所述第一历史时间,所述参考时间是具有所述第一数据量的参考寻址操作所花费的时间。
18.根据权利要求16所述的电子设备,其中所述更新包括:
确定所述第二历史时间和至少一个参考时间的第二平均时间;以及
基于所述第二平均时间来更新所述第二历史时间,所述参考时间是具有所述第二数据量的参考拷贝操作所花费的时间。
19.一种计算机程序产品,所述计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令,所述机器可执行指令在被执行时使机器执行根据权利要求1至9中任一项所述的方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810049494.0A CN110058958B (zh) | 2018-01-18 | 2018-01-18 | 用于管理数据备份的方法、设备和计算机程序产品 |
US16/251,333 US10817383B2 (en) | 2018-01-18 | 2019-01-18 | Method, apparatus and computer program product for managing data backup |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810049494.0A CN110058958B (zh) | 2018-01-18 | 2018-01-18 | 用于管理数据备份的方法、设备和计算机程序产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110058958A true CN110058958A (zh) | 2019-07-26 |
CN110058958B CN110058958B (zh) | 2023-07-25 |
Family
ID=67213975
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810049494.0A Active CN110058958B (zh) | 2018-01-18 | 2018-01-18 | 用于管理数据备份的方法、设备和计算机程序产品 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10817383B2 (zh) |
CN (1) | CN110058958B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112685224A (zh) * | 2019-10-17 | 2021-04-20 | 伊姆西Ip控股有限责任公司 | 任务管理的方法、设备和计算机程序产品 |
CN112988455A (zh) * | 2019-12-13 | 2021-06-18 | 伊姆西Ip控股有限责任公司 | 用于数据备份的方法、设备和计算机程序产品 |
CN113076224A (zh) * | 2021-05-07 | 2021-07-06 | 中国工商银行股份有限公司 | 数据备份方法、数据备份系统、电子设备及可读存储介质 |
CN113138877A (zh) * | 2020-01-17 | 2021-07-20 | 伊姆西Ip控股有限责任公司 | 用于管理备份系统的方法、设备和计算机程序产品 |
CN113377572A (zh) * | 2020-02-25 | 2021-09-10 | 伊姆西Ip控股有限责任公司 | 管理备份作业的方法、电子设备和计算机程序产品 |
CN114579049A (zh) * | 2022-02-14 | 2022-06-03 | 阿里巴巴(中国)有限公司 | 存储数据的调整方法、装置、电子设备和存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11768738B2 (en) | 2021-04-30 | 2023-09-26 | Bank Of America Corporation | Intelligent failsafe engine |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1882906A (zh) * | 2003-09-30 | 2006-12-20 | 维瑞泰斯操作公司 | 在数据存储器中保持临时数据的系统和方法 |
US20070061244A1 (en) * | 2005-09-14 | 2007-03-15 | Jorey Ramer | Increasing mobile interactivity |
US20110231580A1 (en) * | 2009-10-23 | 2011-09-22 | Hitachi, Ltd. | Information system, information apparatus and method of controlling information apparatus |
US20160019138A1 (en) * | 2011-07-28 | 2016-01-21 | Netlist, Inc. | Memory module and system and method of operation |
CN105637487A (zh) * | 2013-06-13 | 2016-06-01 | 数据引力公司 | 用于数据智能存储系统的实况还原 |
CN105960635A (zh) * | 2014-02-07 | 2016-09-21 | 国际商业机器公司 | 从具有不同时间点的源数据的存储库中的源数据的拷贝创建复原拷贝 |
CN107077492A (zh) * | 2014-09-10 | 2017-08-18 | 亚马逊科技公司 | 可扩展的基于日志的事务管理 |
CN107148617A (zh) * | 2014-09-19 | 2017-09-08 | 亚马逊科技公司 | 日志协调存储组的自动配置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7054960B1 (en) * | 2003-11-18 | 2006-05-30 | Veritas Operating Corporation | System and method for identifying block-level write operations to be transferred to a secondary site during replication |
US9268647B1 (en) * | 2012-12-30 | 2016-02-23 | Emc Corporation | Block based incremental backup from user mode |
JP6248435B2 (ja) * | 2013-07-04 | 2017-12-20 | 富士通株式会社 | ストレージ装置、およびストレージ装置の制御方法 |
US20160117226A1 (en) * | 2014-10-22 | 2016-04-28 | Netapp, Inc. | Data recovery technique for recovering data from an object store |
-
2018
- 2018-01-18 CN CN201810049494.0A patent/CN110058958B/zh active Active
-
2019
- 2019-01-18 US US16/251,333 patent/US10817383B2/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1882906A (zh) * | 2003-09-30 | 2006-12-20 | 维瑞泰斯操作公司 | 在数据存储器中保持临时数据的系统和方法 |
US20070061244A1 (en) * | 2005-09-14 | 2007-03-15 | Jorey Ramer | Increasing mobile interactivity |
US20110231580A1 (en) * | 2009-10-23 | 2011-09-22 | Hitachi, Ltd. | Information system, information apparatus and method of controlling information apparatus |
US20160019138A1 (en) * | 2011-07-28 | 2016-01-21 | Netlist, Inc. | Memory module and system and method of operation |
CN105637487A (zh) * | 2013-06-13 | 2016-06-01 | 数据引力公司 | 用于数据智能存储系统的实况还原 |
CN105960635A (zh) * | 2014-02-07 | 2016-09-21 | 国际商业机器公司 | 从具有不同时间点的源数据的存储库中的源数据的拷贝创建复原拷贝 |
CN107077492A (zh) * | 2014-09-10 | 2017-08-18 | 亚马逊科技公司 | 可扩展的基于日志的事务管理 |
CN107148617A (zh) * | 2014-09-19 | 2017-09-08 | 亚马逊科技公司 | 日志协调存储组的自动配置 |
Non-Patent Citations (2)
Title |
---|
WONJIN LEE等: "A big data management system for energy consumption prediction models", 《NINTH INTERNATIONAL CONFERENCE ON DIGITAL INFORMATION MANAGEMENT (ICDIM 2014)》 * |
史敏鸽: "浅析数据分级存储在数字图书馆建设中的运用", 《江西图书馆学刊》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112685224A (zh) * | 2019-10-17 | 2021-04-20 | 伊姆西Ip控股有限责任公司 | 任务管理的方法、设备和计算机程序产品 |
CN112988455A (zh) * | 2019-12-13 | 2021-06-18 | 伊姆西Ip控股有限责任公司 | 用于数据备份的方法、设备和计算机程序产品 |
CN113138877A (zh) * | 2020-01-17 | 2021-07-20 | 伊姆西Ip控股有限责任公司 | 用于管理备份系统的方法、设备和计算机程序产品 |
CN113138877B (zh) * | 2020-01-17 | 2024-04-19 | 伊姆西Ip控股有限责任公司 | 用于管理备份系统的方法、设备和计算机程序产品 |
CN113377572A (zh) * | 2020-02-25 | 2021-09-10 | 伊姆西Ip控股有限责任公司 | 管理备份作业的方法、电子设备和计算机程序产品 |
CN113076224A (zh) * | 2021-05-07 | 2021-07-06 | 中国工商银行股份有限公司 | 数据备份方法、数据备份系统、电子设备及可读存储介质 |
CN113076224B (zh) * | 2021-05-07 | 2024-02-27 | 中国工商银行股份有限公司 | 数据备份方法、数据备份系统、电子设备及可读存储介质 |
CN114579049A (zh) * | 2022-02-14 | 2022-06-03 | 阿里巴巴(中国)有限公司 | 存储数据的调整方法、装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110058958B (zh) | 2023-07-25 |
US20190220366A1 (en) | 2019-07-18 |
US10817383B2 (en) | 2020-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110058958A (zh) | 用于管理数据备份的方法、设备和计算机程序产品 | |
Klimovic et al. | Selecta: Heterogeneous cloud storage configuration for data analytics | |
Sambasivan et al. | Principled workflow-centric tracing of distributed systems | |
US8010337B2 (en) | Predicting database system performance | |
US9563974B2 (en) | Aggregating graph structures | |
US11977532B2 (en) | Log record identification using aggregated log indexes | |
US10592396B2 (en) | Memory validity states in time-travel debugging | |
CN110008224A (zh) | 一种数据库事务处理方法及装置 | |
CN108241555A (zh) | 一种分布式数据库的备份、恢复方法、装置和服务器 | |
CN105468473A (zh) | 数据迁移方法及数据迁移装置 | |
Sambasivan et al. | So, you want to trace your distributed system? Key design insights from years of practical experience | |
CN107665219A (zh) | 一种日志管理方法及装置 | |
Montplaisir et al. | Efficient model to query and visualize the system states extracted from trace data | |
US11321318B2 (en) | Dynamic access paths | |
AU2021244852B2 (en) | Offloading statistics collection | |
KR20180096780A (ko) | 코어 트레이스로부터 데이터 마이닝을 하기 위한 방법 및 장치 | |
US12045173B2 (en) | Stale data recovery using virtual storage metadata | |
CN109284066A (zh) | 一种数据处理方法、装置、设备及系统 | |
Pérez-Arteaga et al. | Cost comparison of lambda architecture implementations for transportation analytics using public cloud software as a service | |
CN109828750A (zh) | 自动配置数据埋点的方法、装置、电子设备及存储介质 | |
US10067849B2 (en) | Determining dynamic statistics based on key value patterns | |
CN104123104B (zh) | 日志控制系统及方法 | |
CN104166541A (zh) | 用于更新被测控件库的方法和装置 | |
CN114981783A (zh) | 将主题可重放执行跟踪与比较可重放执行跟踪进行区分 | |
CN112231531A (zh) | 一种基于opentsdb的数据展示方法、设备及介质 |
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 |