掌桥专利:专业的专利平台
掌桥专利
首页

用于备份数据的方法、设备和计算机程序产品

文献发布时间:2023-06-19 10:35:20


用于备份数据的方法、设备和计算机程序产品

技术领域

本公开的实施例总体上涉及数据存储领域,并且更具体地涉及用于备份数据的方法、设备以及计算机程序产品。

背景技术

为了避免数据的丢失,用户通常将文件和数据存储在备份系统中,备份系统通常能够存储大量数据。当发生数据故障或者发生灾难时,可以通过备份系统来恢复数据,从而避免不必要的损失。数据备份的备份种类可以分为全部备份、增量备份、差异备份以及选择性备份等。数据备份根据系统是否处于正常运行状态,又可以分为热备份和冷备份。

流式传输是一种以稳定持续流的形式传输数据的技术,其可以通过并行数据传输来提高传输的速度,并行数据传输是指充分利用网络带宽,将待传输的数据分成若干切片,并建立多个流并行地传输这些切片。流式备份是指通过流式传输的方式来从备份客户端向备份服务器备份数据,一般来说,并行的流式备份可以提高数据备份的速度。

发明内容

本公开的实施例提供了一种用于备份数据的方法、设备和计算机程序产品,能够根据流式备份的实际环境,自动且智能地配置流式备份的优化参数,减少了人力成本,而且能够实现实时调整优化参数,由此提高了流式备份的执行效率。

在本公开的一个方面,提供了一种用于备份数据的方法。该方法包括:获得要从客户端备份到服务器的特定数据的数据属性、客户端处的资源使用率以及客户端与服务器之间的网络状况;基于数据属性、资源使用率以及网络状况,设置用于执行流式备份的多个参数,其中多个参数至少包括流式传输的并发数和数据解析的并发数;以及根据所设置的多个参数,解析特定数据并且从客户端向服务器备份特定数据。

在本公开的另一方面,提供了一种用于备份数据的设备。该设备包括处理单元以及存储器,其中存储器被耦合至处理单元并且存储有指令。所述指令在由处理单元执行时执行以下动作:获得要从客户端备份到服务器的特定数据的数据属性、客户端处的资源使用率以及客户端与服务器之间的网络状况;基于数据属性、资源使用率以及网络状况,设置用于执行流式备份的多个参数,其中多个参数至少包括流式传输的并发数和数据解析的并发数;以及根据所设置的多个参数,解析特定数据并且从客户端向服务器备份特定数据。

在本公开的又一方面,提供了一种计算机程序产品。该计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括计算机可执行指令,所述计算机可执行指令在被执行时使得计算机执行根据本公开的实施例的方法或过程。

提供发明内容部分是为了简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。本发明内容部分无意标识本公开的关键特征或主要特征,也无意限制本公开的各个实施例的范围。

附图说明

通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中在本公开示例性实施例中,相同的附图标记通常代表相同的元素。

图1示出了根据本公开的实施例的示例备份系统的示例架构的示意图;

图2示出了根据本公开的实施例的用于备份数据的方法的流程图;

图3示出了根据本公开的实施例的通过决策树模型来自动配置流式备份的优化参数的示例环境的示意图;

图4示出了根据本公开的实施例的用于训练决策树模型的方法的流程图;

图5示出了根据本公开的实施例的示例决策树模型的一部分的示意图;以及

图6示出了可以用来实施本公开的实施例的设备的示意性块图。

具体实施例

下面将参照附图更详细地描述本公开的优选实施例。虽然附图中显示了本公开的一些具体实施例,然而应该理解,可以以各种形式实现本公开,而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。

在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象,除非明确指示不同。

在数据备份的场景中,为了提高数据备份的效率,可以配置一些优化参数,例如并发数。传统地,存在两种方式来配置优化参数。一种方式是针对所有的场景,设置相同的优化参数,然而,由于各个数据备份场景的实际环境因素不同,同一优化参数并不能适合各种各样的实际场景。另一种方式是人工或手动地配置优化参数,由于流式备份的参数配置非常专业,用户通常无法独自完成,因而需要售技术支持人员甚至研发人员(在技术支持人员也无法解决的情况下)参与配置,其人力成本较高。此外,由于备份场景的多样性和复杂性,优化参数可能需要不断调整,而人工的配置方式无法实时地完成这样的调整。因此,传统的数据备份的优化参数配置要么不够准确和恰当,要么人力成本较高并且无法实时进行调整,影响了流式备份的执行效率。

为此,本公开的实施例提出了一种自动配置流式备份的优化参数的新方案。本公开的实施例在执行流式备份的过程中,能够根据流式备份的实际环境,自动且智能地配置流式备份的优化参数,减少了人力成本,并且能够实现实时调整优化参数,由此提高了流式备份的执行效率。此外,根据本公开的一些实施例,能够根据人工智能和机器学习技术训练出决策树模型,进而通过决策树模型来自动确定流式备份的优化参数。

以下参考图1至图6来说明本公开的基本原理和若干示例实现方式。应当理解,给出这些示例性实施例仅是为了使本领域技术人员能够更好地理解进而实现本公开的实施例,而并非以任何方式限制本公开的范围。

图1示出了根据本公开的实施例的示例备份系统100的架构的示意图。如图1所示,备份系统100包括备份客户端110和备份服务器120,备份客户端110可以将其中的数据实时地、周期性地或者非周期性地备份到备份服务器120,以保证数据的安全性。根据本公开的实施例,备份客户端110可以为安装在某些特定机器上的客户端。应当理解,虽然图1中仅示出1个备份客户端和1个备份服务器,然而,备份系统100可以包括更多个备份客户端和/或更多个备份服务器。

备份客户端110除了可以用来备份普通的文件系统中的文件之外,还可以用于包括一些特定类型的数据,诸如数据库、虚拟机文件(如Hyper-v、vCenter)、电子邮件文件(如Exchange),等等。在这些特定类型的特定数据中,其中的一个很小的变化,会导致整个文件的很大变化,例如,在数据库中新插入一条数据会导致整个数据库文件的很大变化,而如果是将整个数据库文件直接备份到备份服务器,将导致庞大的数据备份量,并且导致非常低的去重率。因此,针对这些特定类型的特定数据,在执行数据备份之前需要在备份客户端中对特定数据进行解析。

如图1所示,备份客户端110包括数据解析模块108,其能够对特定类型的特定数据105进行解析以提取变化的数据,如箭头106所示,然后可以仅备份一些变化的数据。然后,数据解析模块108将待备份的数据流式备份到备份服务器120,如箭头115所示。通过这种方式,能够将特定数据解析成具有相应规则的流格式,由此实现较高的去重率。一般来说,针对各种类型的特定数据,需要分别适配相应的数据解析模块。

流式备份带来了较高的去重率,但是使得备份客户端110更为复杂,进而使得各个备份任务的性能和稳定性无法保证。因此,针对特定的备份客户端和/或备份场景,需要配置优化参数来优化流式备份的执行性能。如图1的箭头106所示,可以设置数据解析的并发数,从而加快数据解析的速度。同样地,如箭头115所示,可以设置流式传输的并发数,从而加快数据传输的速度。然而,过多的并发数或者不恰当的并发数可能会导致资源之间的抢占,影响了处理速度,甚至造成无法完成备份任务。因此,需要准确且智能地确定各种备份场景下的适合的优化参数。

一般来说,数据去重和虚拟合成技术可以提高数据传输的效率。利用数据去重技术,原始数据被分成由散列值表示的固定或可变块,并且分块算法确保相同的数据块始终生成相同的散列值。如果已经传输和存储了相同的数据块,则不需要传输数据块,从而节省了通过网络传输的数据,并减少了存储所消耗的容量。

图2示出了根据本公开的实施例的用于备份数据的方法200的流程图。为了更好地描述方法200,在此参考图1所描述的备份系统100来一起描述。

在202,获得要从客户端备份到服务器的特定数据的数据属性、客户端处的资源使用率以及客户端与服务器之间的网络状况。例如,在需要进行特定数据的流式备份时,获得流式备份场景下的环境参数,这些特定数据可以为数据库、虚拟机文件、或电子邮件文件等。本申请的发明人发现,影响流式备份的性能的影响因素有很多,主要包括待备份的数据属性、硬件资源使用情况以及网络状况,因此,本公开的实施例在考虑这些影响因素的基础上,自动确定并选择恰当的优化参数。

在一些实施例中,这些影响因素具体可以包括特定数据的类型、特定数据的大小、特定数据中的新字节比例、客户端处的处理资源使用率、客户端处的存储资源使用率、以及客户端处的输入输出资源使用率。可选地,影响因素还可以包括获得上一次数据备份的持续时间、以及客户端与服务器之间的网络带宽和网络延时。

在204,基于数据属性、资源使用率以及网络状况,设置用于执行流式备份的多个参数,其中多个参数至少包括流式传输的并发数和数据解析的并发数。发明人发现通过设置某些参数,能够提升流式备份的执行效率。因此,本公开的实施例根据多个影响因素的值来自动配置一些优化参数。在一些实施例中,优化参数除了包括流式传输的并发数和数据解析的并发数之外,还可以包括用于存储解析数据的缓冲区(其可以被设置在数据解析模块108中)的大小和流式传输的块大小(即数据切片的大小)。

在206,根据所设置的多个参数,解析特定数据并且从客户端向服务器备份特定数据。例如,参考图1所描述的数据解析模块108根据数据解析的并发数(例如3个并发)来并行地解析特定数据105,备份客户端110根据流式传输的并发数(例如4个并发)来向备份服务器120并行地传输数据。

因此,本公开的实施例在执行流式备份的过程中,能够根据流式备份的实际环境,自动且智能地配置流式备份的优化参数,减少了人力成本,而且还能够实现实时地调整优化参数,由此提高了流式备份的执行效率。

图3示出了根据本公开的实施例的通过决策树模型来自动配置流式备份的优化参数的示例环境300的示意图。与图1相比,图3进一步包括了根据本公开的实施例的决策树模型330。

如图3所示,决策树模型330可以包括收集器331和处理器332,其中收集器331用于从各个备份客户端收集备份历史数据和客户端统计数据作为训练数据,然后将训练数据传给处理器332进行机器学习,其中训练数据中的每一条记录至少包括数据属性、资源使用率、网络状况以及对应的优化参数。处理器332根据从收集器331收到的历史数据和统计数据来进行训练,从而构建决策树模型330。

继续参考图3,当需要执行流式备份时,备份客户端110收集影响流式备份的性能的影响因素310,其可以包括待备份的特定数据的数据属性、客户端处硬件资源使用率以及客户端与服务器之间的网络状况,等等,并且将影响因素310发送给经训练的决策树模型330。决策树模型330根据接收到的影响因素310,能够确定出适合的优化参数320,并且将优化参数320发送给备份客户端110。备份客户端110然后根据接收到的优化参数320配置流式备份过程,由此提高流式备份的效率。

在本公开的一些实施例中,所使用的机器学习模型为决策树模型。决策树是类似流程图的结构,其中每个内部节点表示对属性的“测试”,每个分支代表测试的结果,并且每个叶节点代表一个类标签(计算所有属性后做出的决定)。从根到叶的路径表示分类规则。在决策分析中,决策树和密切相关的影响图被用作视觉和分析决策支持工具。决策树通常可用于决策分析,以帮助确定最有可能达到目标,同时也是机器学习中的流行工具的策略。

ID3算法是一种决策树算法。每个训练实例都被描述为属性-值对的列表,其构成了实例的联合描述。实例标有它所属的类的名称。为了简化讨论,假设实例属于两个类中的一个:正实例,其是要学习的概念(目标概念)的示例;以及负实例,其是目标概念的反例。ID3算法可以以直接的方式应用于两个以上的类。此外,假设属性具有离散值。ID3是一种有用的概念学习算法,因为其可以有效地构建一个很好地推广的决策树。对于非增量学习任务,ID3算法通常是构建分类规则的较好选择。

然而,对于增量学习任务,最好是逐步接受实例,而不需要每次都构建新的决策树,ID4算法是一种支持增量学习的逐步学习决策树。此文,用于确定何时在节点处改变属性测试的ID4算法中的机制被包括在新算法ID5R中,其保证与给定训练实例集合的ID3算法构建相同的决策树。然而,与ID4算法一样,ID5R无法处理数字属性和两个以上的有价值属性。

在本公开的一些实施例中,决策树模型330可以为快速决策树(VFDT)模型,其可以通过使用Hoeffding边界作为分裂条件而生成。VFDT一种基于Hoeffding树的决策树学习系统。可以在每个实例的恒定时间学习Hoeffding树,并通过使用Hoeffding边界克服传统决策树学习器(诸如ID3、C4.5和SLIQ)的存储限制。边界用于确定决策树的每个内部节点需要多少实例,以便在如何拆分节点方面做出统计上重要的决策。Hoeffding边界的一个很好的特征是其独立于原始数据集的概率分布,这反过来意味着需要更多的观察才能得到与分布依赖方法相同的结论。Hoeffding边界的关键特征是它确保选择的属性具有高概率,与使用无限数量的实例选择的属性相同。VFDT能够使用现成的硬件每秒处理数万个实例。因此,本公开的实施例使用VFDT算法来训练Hoeffding树以用作决策树模型。

应当理解,任何已知的或者将来改进的VFDT算法或Hoeffding树相关算法可以与本公开的实施例结合使用。

图4示出了根据本公开的实施例的用于训练决策树模型的方法400的流程图。如图4所示,在402,获得历史数据和统计数据作为训练数据集,然后在404利用训练数据集来训练决策树模型,这个阶段可以称之为出厂前的模型训练。训练数据集可以包括客户端历史状态以及对应的优化参数,以作为先验知识帮助对新数据的分类。在完成决策树的训练之后,在406在用户处在备份系统上部署训练好的决策树模型(例如,设备出厂之前预部署根据本公开的实施例的决策树模型),然后在408在备份系统的流式备份期间向用户提供恰当的优化参数。

在410,获得新的训练数据。由于历史数据和统计数据的局限性,可能不能适合所有的真实场景,虽然决策树模型由于其泛化能力能够针对各种场景产生一个最优方案,然而所推荐的方案可能并不是真正的最优方案。因此,在实际的流式备份过程中,如果用户由于某些原因选择了与决策树模型推荐的方案不同的方案(用户干预的方案),并且用户选择的方案效果更好(例如,处理速度更快),则可以将用户选择的方案的数据进行收集,并且作为新的训练数据。然后,在404,对决策树模型进行增量训练(而无需完整的重复训练),也即,将用户干预的方案数据作为新的学习样本,参与下一轮的决策树模型训练。在一些实施例中,可以使用适合大数据增量学习的Hoeffding树来作为本公开的实施例中的决策树模型。通过这种方式,能够进一步提高所训练的决策树模型的准确率。

图5示出了根据本公开的实施例的示例决策树模型500的一部分的示意图。例如,决策树模型500可以是使用VFDT算法基于测试数据集而自动学习生成的分类模型。在图5的示例中,根节点510例如为“特定数据类型”,如果待备份的特定数据类型为VMDK,则通过边连接到叶节点520“CPU使用率”;如果待备份的特定数据类型为Oracle,则通过边连接到叶节点530“新字节”;如果待备份的特定数据类型为Hyper-V,则通过边连接到叶节点540“存储器使用率”。

接下来,在叶节点520处,如果CPU使用率小于等于80%,则选择第2种方式的优化参数,如521所示;如果CPU使用率大于80%,则选择第1种方式的优化参数,如522所示。每种方式的优化参数可以由技术研发人员预先设置,通过这种方式,能够在预定的若干种优化参数中选择一种,由此能够比神经网络等方式产生更恰当的优化参数组合。例如,第1种方式的优化参数可以为:数据解析的并发数为2、用于存储解析数据的缓冲区的大小为1MB、流式传输的并发数为2、以及流式传输的块大小为8KB。第2种方式的优化参数可以为:数据解析的并发数为4、用于存储解析数据的缓冲区的大小为512KB、流式传输的并发数为2、以及流式传输的块大小为4KB。第3种方式的优化参数可以为:数据解析的并发数为16、用于存储解析数据的缓冲区的大小为512KB、流式传输的并发数为2、以及流式传输的块大小为4KB。第4种方式的优化参数可以为:数据解析的并发数为32、用于存储解析数据的缓冲区的大小为2MB、流式传输的并发数为4、以及流式传输的块大小为64KB。应当理解,虽然图5总仅示出4种示例优化方式,然而,可以包括更多种优化方式。

类似地,在叶节点530处,如果待备份的特定数据中新字节比例小于10%,则选择第1种方式的优化参数,如531所示。在叶节点540处,如果存储器使用率小于等于50%,则选择第3种方式的优化参数,如541所示;如果存储器使用率大于50%但是小于80%,则选择第2种方式的优化参数,如542所示;如果存储器使用率大于80%,则选择第1种方式的优化参数,如543所示。

继续参考图5,数据550可以为用于训练决策树模型500的训练数据,例如历史使用数据。应当理解,训练数据中可以包括大量条数据。如虚线561所示出的,在Oracle数据类型的新字节比例小于10%的情形中,将选择第1种方式的优化参数,如虚线562所指示的。应当理解,图5中仅示出了示例决策树模型的一部分,实际的决策树模型还包括更多的节点和边或者不同的节点和边。此外,图5仅仅是决策树模型的一个示例,而不用于限制本公开的范围。

在训练生成决策树模型500之后,针对新的流式备份场景,根据所获得的影响因素的值(即使是训练数据中未出现过的新数据),决策树模型500可以自动地确定并推荐恰当的优化参数。此外,由于本公开的实施例的决策树模型是利用大量的训练数据而训练出的,因而其能够实现比人工设置优化参数更高的准确性。

在自学习历史数据之后,构建基于Hoeffding树。可以定期收集备份客户端的一些数据,并计算这些数据的平均值。可以选择几种获取平均值的方法,例如几何平均值、调和平均值、权重平均值和二次平均值。备份客户端的定期平均数据将被输入处理器以进行增量训练,以丰富当前的决策树模型。例如,当需要调整备份客户端时,这意味着其数据集或I/O使用量在一段时间内发生变化,系统可以相应地确定其新的流式备份优化方式,从而更安全且有效地保护其数据。

在一些实施例中,如果用户选择一个或多个备份客户端不需要动态流式备份优化,则可以使得这些备份客户端的统计数据不被周期性收集,因而将不会影响其流式备份优化方式。

图6示出了可以用来实施本公开的实施例的设备600的示意性块图,设备600可以为本公开的实施例所描述的设备或装置。如图6所示,设备600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的计算机程序指令或者从存储单元608加载到随机访问存储器(RAM)603中的计算机程序指令,来执行各种适当的动作和处理。在RAM 603中,还可存储设备600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。

设备600中的多个部件连接至I/O接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。

上文所描述的各个方法或过程可由处理单元601来执行。例如,在一些实施例中,方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由ROM 602和/或通信单元609而被载入和/或安装到设备600上。当计算机程序被加载到RAM 603并由CPU 601执行时,可以执行上文描述的方法或过程中的一个或多个步骤或动作。

在一些实施例中,以上所描述的方法和过程可以被实现为计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。

计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。

本文所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。

用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言,以及常规的过程式编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。

这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理单元执行时,产生了实现流程图和/或块图中的一个或多个方块中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或块图中的一个或多个方块中规定的功能/动作的各个方面的指令。

也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或块图中的一个或多个方块中规定的功能/动作。

附图中的流程图和块图显示了根据本公开的多个实施例的设备、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或块图中的每个方块可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方块中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方块实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这取决于所涉及的功能。也要注意的是,块图和/或流程图中的每个方块、以及块图和/或流程图中的方块的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中技术的技术改进,或者使得本技术领域的其它普通技术人员能理解本文披露的各实施例。

相关技术
  • 用于备份数据的方法、设备和计算机程序产品
  • 用于备份数据的方法、设备和计算机程序产品
技术分类

06120112607862