使用数据分配优化来改进备份性能的制作方法

文档序号:12363262阅读:184来源:国知局
使用数据分配优化来改进备份性能的制作方法与工艺

现代存储阵列将数据放置在与它的访问统计匹配的存储性能层中。对于任何指定数据的层级使用在大的时间间隔内层中数据的使用的监测而确定。频繁访问的数据被放置在较快层中,而很少访问的数据被放置在较低层中,从而优化对数据的访问时间。数据使用的监测由于典型地大的数据集大小和对数据使用频率的改变缓慢发生这一事实而在大的时间标度内进行:热数据持续一段时间是热的,并且后来数据通常变冷,自此都保持为冷的。然而,备份数据典型地具有不同的使用简档:完整备份典型地每周进行,从而覆写之前副本中的一个,其中增量备份在一周的每天发生。在完整备份期间,需要最佳系统性能来使备份适应曾经缩小的窗口以用于进行备份(例如,假定对现今的数据系统施加始终按照需求)。然而,在备份后,备份所需要的数据保持为冷的直到下一个备份(例如,完整或增量备份)。

附图说明

本发明的各种实施例在下列详细描述和附图中公开。

图1是图示用于改进备份性能的系统的实施例的图。

图2是图示用于改进备份性能的过程的实施例的流程图。

图3是图示用于确定分配的过程的实施例的流程图。

图4A是图示用于确定分配的过程的实施例的流程图。

图4B是图示用于基于成本函数确定分配的过程的实施例的流程图。

图5是图示用于基于成本函数确定第二分配的过程的实施例的流程图。

图6是图示用于基于成本函数确定分配的过程的实施例的流程图。

具体实施方式

本发明可以采用许多方式实现,包括作为:过程;设备;系统;物质组成;计算机可读存储介质上包含的计算机程序产品;和/或处理器,例如配置成执行存储在存储器(其耦合于处理器)上和/或由该存储器提供的指令的处理器。在该说明书中,这些实现或本发明可采取的任何其他形式可称为技术。一般,公开的过程的步骤的顺序可在本发明的范围内更改。除非另外规定,例如描述为配置成执行任务的处理器或存储器等部件可实现为暂时配置成在指定时间执行任务的通用部件或被制造来执行任务的特定部件。如本文使用的,术语‘处理器’指一个或多个装置、电路和/或处理核,其配置成处理例如计算机程序指令等数据。

本发明的一个或多个实施例的详细描述在下文连同图示本发明的原理的附图一起提供。本发明连同这样的实施例描述,但本发明不限于任何实施例。本发明的范围仅由权利要求限制并且本发明包含许多备选、修改和等同物。在下列描述中阐述许多特定细节以便提供对本发明的全面理解。为了示例目的提供这些细节,并且本发明可根据权利要求实践而没有这些具体细节中的一些或全部。为了清楚起见,在与本发明有关的技术领域中已知的技术材料未被详细描述使得不会不必要地掩盖本发明。

公开用于改进备份性能的系统。该系统包括接口、处理器和存储器。接口接收卷标识符来备份。处理器确定与卷标识符关联的卷的数据在多个存储层中的分配来改进备份处理。处理器至少部分基于分配来移动数据。处理器备份卷的数据。存储器耦合于处理器并且配置成对处理器提供指令。

在一些实施例中,至少部分基于访问频率将数据放置在存储性能层中-最常访问的文件被放置在最快访问的顶层中(例如,在具有固态存储器的层中-例如,闪存、随机存取存储器(RAM)、企业级闪存驱动(EFD)等),而偶尔访问的文件被放置在中等访问的中间层(例如,快速驱动、光纤通道驱动等)中,很少访问的文件被放置在低层(例如,具有慢驱动、串行高级技术附连(SATA)驱动、集成驱动电子(IDE)驱动、去重驱动)中,并且几乎从不访问的文件被放置在远程层(例如,异地存储、云存储等)中。在各种实施例中,存储系统包括存储器的许多层,每个层具有不同的访问特性。在一些实施例中,层最快到最慢地排列。

在一些实施例中,备份数据典型地具有不同的访问简档。例如,完整备份在访问所有数据中具有周期性尖峰,而增量备份在访问所有改变数据中具有不同的周期性尖峰。完整和增量备份需要在时间窗口中进行以便不影响系统性能。为了最快运行,要备份的所有数据仅在备份期间位于最快层中,并且然后就在备份之后返回如基于正常操作访问简档而指示的层。

在一些实施例中,确定卷的数据分配来改进备份处理。确定每个层的未被占用的区域。确定关于使任何指定数据移到与它的当前层不同的层的成本核算以及该移动对备份性能的影响。成本用于确定对于指定备份的分配。例如,对于完全备份,分配指示所有数据移到最高性能层。在一些实施例中,数据基于有多少将装入层(例如,在最高层中尽可能多,在下一个最高层中尽可能多等,直到尽可能多的数据被提升到较高层)而被放在一系列层中。在一些实施例中,在备份后,系统确定第二分配。例如,该第二分配使数据在移到较高层之前返回它来自的层(例如,系统回想每个数据的位点并且将数据返回它起源的层)。在一些实施例中,第二分配根据访问历史重新计算适合于指定数据的存储层。

在各种实施例中,分配至少部分基于下列中的一个或多个:改变数据的百分比、直到增量备份开始余下的时间、直到完整备份开始余下的时间、存储层的数量、存储层中的每个的性能信息、使数据在层之间移动的时间、使数据在层之间移动的系统负载、每个数据的当前层或用于确定分配的任何其他合适的参数。在一些实施例中,不知道要备份的卷的哪个数据已改变。在一些实施例中,在计算分配时的增量备份的时候,改变的块是未知的,因此至少部分基于如在之前的备份期间确定的之前的改变块百分比做出关于改变块的百分比的假设。在一些实施例中,分配成功-例如,将实际备份时间与对于没有移到分配的数据的估计备份时间比较-被反馈来改进成本函数和分配算法的性能。

图1是图示用于改进备份性能的系统的实施例的图。在示出的示例中,应用服务器100能够与存储系统112通信。在一些实施例中,应用服务器100运行请求访问存储在存储系统112中的数据的应用。存储系统112包括分层存储器114,其包括存储器的许多层,其中每个层具有不同的性能特性。分层存储器114包括第一层存储单元102、第二层存储单元104和第三层存储单元106。存储系统112包括备份存储单元108和存储器管理器110。备份存储单元108备份分层存储器114。在一些实施例中,备份存储单元108包括去重备份存储单元,其将要备份的数据分段并且在新的段与之前存储的段相同的情况下存储新的段集时存储对之前存储的段的引用。存储器管理器110跟踪数据位点-例如,每个数据的层位点-并且管理数据位点来优化性能,其包括在操作期间和备份期间的存储器访问性能。

图2是图示用于改进备份性能的过程的实施例的流程图。在一些实施例中,图2的过程由图1的存储系统112实现。在一些实施例中,图2的过程由图1的存储器管理器110实现。在示出的示例中,在200中接收卷标识符来备份。在202中,确定卷的数据在存储层中的分配以改进备份处理。在204中,至少部分基于分配来移动数据。在206中,卷的数据被备份。在208中,确定卷的数据在存储层中的第二分配来改进访问。在210中,数据至少部分基于第二分配来移动数据。

图3是图示用于确定分配的过程的实施例的流程图。在一些实施例中,图3的过程用于实现图2的202。在示出的示例中,在300中接收层信息。在302中,接收卷的数据改变信息。在各种实施例中,数据改变信息在备份之前已知为使用确定改变的块或数据的过程来测量,数据改变信息已知为至少部分基于之前确定的改变块或数据或任何其他合适的数据改变信息源而估计。在304中,接收备份时间。在306中,选择数据。在308中,至少部分基于成本函数来确定对所选数据的分配。在310中,确定是否存在更多数据。在存在更多数据的情况下,控制传到306。在没有更多数据的情况下,在312中提供分配。

图4A是图示用于确定分配的过程的实施例的流程图。在一些实施例中,图4A的过程用于实现图3的308。在示出的示例中,在400中基于可用时间来计算可能移动的数据量。例如,接着备份的时间量和可用于使数据在层之间移动的带宽用于确定可以从现有层移到较高层的数据量。在402中,确定较高层中的可用空间可以容纳的数据量部分。例如,较高层中来自当前数据的可用空间用于确定可能移动的可以装入较高层的数据量部分。在404中,基于层的速度差异和数据量部分来确定关于备份时间的效益。例如,基于可以移动的数据以及数据要移到的层,对备份时间确定时间中的差异。在406中,基于由于传输数据而失去的时间来确定成本。例如,确定移动数据的处理成本以及这对其他过程的影响。在408中,确定效益是否大于阈值。例如,阈值基于成本和/或客户选择来确定阈值并且将其与效益比较(例如,N(例如,200)分钟的效益大于M(例如,40)分钟的阈值,其至少部分基于L(例如,20)分钟的成本和在成本之上的K(例如,20)分钟(如由用户选择的)的最小效益)。在效益大于阈值的情况下,在410中指示数据到较高层的数据量部分的分配,并且过程结束。例如,要从较低层移到较高层的数据指示为分配。在效益不大于阈值的情况下,在412中指示数据保持在当前层中,并且过程结束。例如,数据的分配是相同的并且没有数据移动来改进备份性能。

在一些实施例中,成本函数和/或效益函数用于确定分配。例如,成本和/或效益函数指示处理的增加时间和/或减小时间对备份和/或其他过程的影响。在一些实施例中,确定分配包括下列中的一个或多个:确定多个存储层中的可用存储。在各种实施例中,确定分配至少部分基于下列中的一个或多个:在卷中改变的数据的百分比,直到备份余下的时间,存储层的数量、多个存储层中的每个的性能或任何其他输入信息。在一些实施例中,确定分配包括确定成本函数、确定效益函数或任何其他合适的函数。在一些实施例中,成本函数包括使数据在层与第二层之间移动的成本。在一些实施例中,使数据移动的成本至少部分基于下列中的一个或多个:移动时间(例如,移动数据的移动时间),系统负载,用于移动的带宽极限,或任何其他合适的因子。在一些实施例中,成本函数至少部分基于数据的当前存储层。在一些实施例中,效益和成本使用合适的权重和/或符号在一个方程中组合。在一些实施例中,成本函数包括效益量。

在一些实施例中,成本函数包括具有指派给每个的权重的因子,其中这些权重用随时间随着从之前的备份得到的认识而改变。在各种实施例中,因子包括自上次备份以来改变的数据的百分比、到下次备份的时间、存储层之间的带宽、每个层中的可用空间、用于在层之间传输数据的时间、备份时间中使数据移动到较快层的节省或任何其他合适的因子。

图4B是图示用于基于成本函数确定分配的过程的实施例的流程图。在一些实施例中,图4的过程用于实现图3的308。在示出的示例中,在450中确定用于使数据移到数据当前不在的每个层的成本。在452中,选择到与用于分配的最低成本关联的层的移动。

在一些实施例中,多个存储层包括较慢存储层和较快存储层(例如,到和/或从较慢存储层的访问时间和/或传输时间比较快层要慢)。在一些实施例中,分配指示将数据从较慢存储层移到较快存储层或将数据从较快存储层移到较慢存储层。

图5是图示用于基于成本函数确定第二分配的过程的实施例的流程图。在一些实施例中,图5的过程用于实现图2的208。在示出的示例中,在500中接收信息。在502中,接收访问信息。在504中,选择数据。在506中,至少部分基于成本函数确定对于所选数据的第二分配。在508中,确定是否存在更多数据。在存在更多数据的情况下,控制传到504。在没有更多数据的情况下,在512中提供第二分配。

图6是图示用于基于成本函数确定分配的过程的实施例的流程图。在一些实施例中,图6的过程用于实现图5的506。在示出的示例中,在600中确定用于使数据移到数据当前不在的每个层的访问成本。在602中,选择到与用于分配的最低成本关联的层的移动。

在一些实施例中,第二分配针对在备份卷的数据之后。在一些实施例中,数据根据在备份数据卷之后的第二分配而移动。在一些实施例中,第二分配至少部分基于优化对数据的访问。

尽管前面的实施例已经为了清楚理解的目的而相当详细地描述,本发明不限于提供的细节。存在实现本发明的许多备选方式。公开的实施例是说明性而非限制性的。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1