对数据存储备份的数据选择的制作方法

文档序号:6497643阅读:152来源:国知局
对数据存储备份的数据选择的制作方法
【专利摘要】在数据存储管理技术中,在一次存储池中存储第一去复制数据对象。确定第一数据对象已驻留于一次存储池中的持续时间,并比较确定的持续时间与预定的时间间隔。在确定的持续时间满足或超过预定的时间间隔之后,技术包括:确定第一数据对象是否具有被另一数据对象参照的区段;和在确定的持续时间满足或超过预定的时间间隔之后,根据第一数据对象是否具有被另一数据对象参照的区段来确定是否将第一数据对象从一次存储池移动到二次存储池。
【专利说明】对数据存储备份的数据选择
【技术领域】
[0001]本说明书一般涉及计算系统中的数据备份,特别是涉及选择用于从源移动到目标的数据。
【背景技术】
[0002]存在各种已知的用于备份数据的技术。常常通过使用可在常称为存储池的一个或更多个位置中存储诸如用户文件的数据对象的存储管理服务器,实现这些备份技术。存储管理服务器经常使用用于跟踪关于存储的对象的信息的数据库,包含存储池中的对象的属性和位置。
[0003]一种称为“去复制”(dedUpliCation)的备份技术是通过消除共享共用数据的文件中的冗余数据减少用于存储数据的存储空间的方法。在去复制系统中,一般实际上只有数据的一个唯一实例保持于诸如盘或带的存储介质上,并且不同文件或数据库中的数据的附加的实例可被指向唯一数据复本的指针替代。因此,如果只有添加的新文件的几个字节与其它文件中的数据不同,那么可以只对新文件存储新字节,并在参照其它文件或数据库中的共用数据的添加文件中包含指针。
[0004]因此,去复制提供去除备份操作中的冗余数据由此减少需要的存储并且可能节省网络带宽的方法。去复制系统常常通过将文件分割成一系列的块或区段而操作。去复制系统确定块中的任一个是否已被存储并然后前进以仅存储那些非冗余的块。可借助被存储的文件中的块或已存储于系统中的块检查冗余。
[0005]高速缓存常常被用于暂时存储从存储检索的数据。这种高速缓存可提供更快的对常用或者另外有望需要的数据的访问。存在各种已知的用于选择用于保留于高速缓存中或从高速缓存冲刷的数据的高速缓存算法。这种高速缓存技术包含可从高速缓存冲刷最老的数据的先入先出(FIFO)技术。另一高速缓存技术是可从高速缓存冲刷近期最少使用数据的近期最少使用(或读取)(LRU)技术。

【发明内容】

[0006]在本发明的一个方面中,描述用于管理计算系统中的数据存储的操作。在一个实施例中,操作包括:在一次存储池中存储第一去复制数据对象;确定第一数据对象已驻留于一次存储池中的持续时间;比较确定的持续时间与预定的时间间隔;在确定的持续时间满足或超过预定的时间间隔之后,确定第一数据对象是否具有被另一数据对象参照的区段;和在确定的持续时间满足或超过预定的时间间隔之后,根据第一数据对象是否具有被另一数据对象参照的区段,确定是否将第一数据对象从一次存储池移动到二次存储池。
[0007]在另一方面中,上述的确定是否移动第一数据对象包含在确定的持续时间满足或超过预定的时间间隔之后,计算由不被另一数据对象参照的数据对象区段占据的空间。
[0008]在又一方面中,描述了包括以下过程的其它操作:如果计算的由不被另一数据对象参照的数据对象区段占据的空间超过阈值,则将第一数据对象从一次存储池移动到二次存储池。
[0009]在又一方面中,描述了包括以下过程的其它操作:在一次存储池中存储第二去复制数据对象;确定第二数据对象已驻留于一次存储池中的持续时间;比较确定的第二数据对象的持续时间与预定的时间间隔;在确定的第二数据对象的持续时间满足或超过预定的时间间隔之后,确定第二数据对象是否具有被另一数据对象参照的区段;和在确定的持续时间满足或超过预定的时间间隔之后,根据第二数据对象是否具有被另一数据对象参照的区段,确定是否将第二数据对象从一次存储池移动到二次存储池。
[0010]在另一方面中,上述的确定是否移动第二数据对象包含在确定的持续时间满足或超过预定的时间间隔之后,计算由不被另一数据对象参照的第二数据对象的数据对象区段占据的空间。
[0011]在又一方面中,描述了包括以下过程的其它操作:如果计算的由不被另一数据对象参照的第一数据对象的数据对象区段占据的空间超过计算的由不被另一数据对象参照的第二数据对象的数据对象区段占据的空间,则将第一数据对象从一次存储池移动到二次存储池。
[0012]在又一方面中,描述了包括以下过程的其它操作:在一次存储池中存储包含去复制的数据对象的第一卷;对第一卷的各数据对象:确定第一卷的数据对象已驻留于一次存储池中的持续时间;比较对第一卷的数据对象确定的持续时间与预定的时间间隔;和在对第一卷的数据对象确定的持续时间满足或超过预定的时间间隔之后,对不被另一数据对象参照的第一卷的数据对象的各区段计算由不被另一数据对象参照的数据对象区段占据的空间,并计算第一卷的可用空间;和根据计算的占据的空间和计算的可用空间确定是否将第一卷的数据对象从一次存储池移动到二次存储池。
[0013]在另一方面中,根据客户机站上的备份事件之间的时间间隔、客户机站之间的复制数据的传播时间和存储于一次存储池中的数据对象的备份处理时间中的至少一个,确定上述的第一卷的各数据对象的预定时间间隔。
[0014]在又一方面中,描述了包括以下过程的其它操作:在一次存储池中存储包含去复制的数据对象的第二卷;对第二卷的各数据对象:确定第二卷的数据对象已驻留于一次存储池中的持续时间;比较对第二卷的数据对象确定的持续时间与预定的时间间隔;和在对第二卷的数据对象确定的持续时间满足或超过预定的时间间隔之后,对不被另一数据对象参照的第二卷的数据对象的各区段计算由不被另一数据对象参照的数据对象区段占据的空间,并计算第二卷的可用空间;和根据计算的占据的空间和计算的可用空间确定是否将第二卷的数据对象从一次存储池移动到二次存储池。
[0015]在又一方面中,上述的确定是否移动第二卷的数据对象包含在确定的持续时间满足或超过预定的时间间隔之后,计算由不被另一数据对象参照的第二卷的数据对象区段占据的空间。
[0016]在又一方面中,描述了包括以下过程的其它操作:如果计算的由不被另一数据对象参照的第一卷的数据对象区段占据的空间超过计算的由不被另一数据对象参照的第二卷的数据对象区段占据的空间,则将第一卷的数据对象从一次存储池移动到二次存储池。
[0017]可根据特定的应用实现其它的特征和方面。【专利附图】

【附图说明】
[0018]现在仅作为例子参照附图描述本发明的实施例,其中,
[0019]图1示出可实现示出的实施例的多个方面的计算环境的例子;
[0020]图2是图1的实施例的数字数据处理机器的示意图;
[0021]图3表示根据描述的实施例的示例性信号承载介质;
[0022]图4是表示根据描述的实施例的解释性的存储层级的子部件的示意图;
[0023]图5示出可实现示出的实施例的多个方面的计算环境的另一例子;
[0024]图6、图7示出用于选择移动到二次存储的数据的动作的实施例;
[0025]图8示出可实现示出的实施例的多个方面的计算环境的另一例子;
[0026]图9示出网络计算实施例中的节点的实现;
[0027]图10示出云计算环境的实施例;
[0028]图11示出云计算环境的抽象模型层的实施例。
【具体实施方式】
[0029]描述的实施例允许备份数据。这里,术语“备份”适用于由数据管理系统执行的数据存储操作,包括存档、迁移、复制和去复制数据以及复制数据以防止数据损失。在一个实施例中,本说明书针对选择用于从源移动到目标的数据。
[0030]在本说明书的一个特征中,可在第一数据对象已驻留于一次存储池满足或超过预定的时间间隔的持续时间之后,根据第一数据对象是否具有由另一数据对象参照的区段,来确定是否将第一数据对象从一次存储池移动到二次存储池。作为另一例子,可在确定的第一和第二数据对象的持续时间满足或超过预定的时间间隔之后,根据不被另一数据对象参照的区段的总尺寸,来确定是否将第一数据对象而不是第二数据对象从一次存储池移动到二次存储池。取决于特定的应用,可以使用其他选择准则。
[0031]如后面更详细地解释的那样,根据描述的实施例的用于从源移动到目标的数据的选择可提高一些实施例中的备份操作的效果。例如,可以减少或消除不必要的网络流量。根据特定的应用,除其以外或者作为其替代,可以实现其它的特征。
[0032]在典型的构成中,诸如存储管理服务器的基于盘的存储系统具有将文件(或诸如数据库的其它数据对象)A分成区段a?h、检测区段b和e冗余并仅存储特有区段的能力。可在数据对象A内或者在存储于存储系统中的其它数据对象内出现冗余。
[0033]一般地,通过使用诸如Rabin指纹识别的方法将对象分成区段。可通过使用诸如MD5或SHA-1的散列函数以产生各区段的散列值并然后比较该值与已存储于系统上的区段的值,来检测冗余区段。
[0034]一般地,存储的区段的散列值保持在诸如数据库的指数中。如果冗余区段被识别,那么区段可被指向匹配区段从而构成对该区段的参照的指针替代。在客户机-服务器软件系统中,可在源(客户机)、目标(服务器)或与服务器连接的去复制器具上执行备份期间的去复制。另外,可在多个服务器之间复制被去复制的数据,使得源服务器只有在数据区段还没有驻留于目标上时才向目标服务器发送这些数据区段。
[0035]数据对象以及它们的去复制区段可作为文件系统中的单个文件存储于盘或其它存储子系统中。作为替代方案,许多数据对象和区段可一起作为集合存储于驻留于文件系统中的更大的文件中。例如,数据对象和它们的区段的集合可被称为“卷”。
[0036]已应用或提出各种其它的技术以增加操作效率。例如,诸如磁带的顺序存取介质的存储池可被配置为用于“并置”,该“并置”导致存储管理服务器在相同的一个带或多个带上将同一客户机节点的数据分组。并且,存储管理服务器上的小的对象可在被存储管理服务器接收时聚集成单个实体。美国专利6098074描述了存储的对象被聚集成“管理文件”的聚集技术。对象然后可被跟踪并作为存储层级内的单个管理文件移动。在适当的情况下,可单独地、诸如对于删除或检索操作处理各单个对象。
[0037]数据复制被用于将备份来自多个客户机节点的数据的一个服务器中的数据复制到另一服务器,使得,如果数据备份到的主源服务器停止,则客户机可从复制站点恢复它们的数据。诸如Tivoli? StorageManager(TSM)的存储管理服务器在一个或更多个存
储池中存储数据对象,并且使用用于跟踪关于存储的对象的元数据的数据库。(Tivoli是International Business Machines Corporation在全世界的商标)。存储管理服务器可出于灾害恢复目的将数据对象复制到远程位置。用于将数据迁移到远程位置的方法中的一些包括物理地将包含数据的复本的带子从源站点运输到灾害恢复站点、电子地传送数据(TSM导出/导入)或使用源站点盘存储的硬件复制以产生数据的镜像。可用的复制硬件装置包括通过使用去复制硬件执行块级复制的Virtual Tape Library (VTL)产品。
[0038]并且,诸如备份服务器的存储管理系统中的数据可存储于存储池层级中,这允许数据被存储于具有诸如成本和性能的各种特性的广泛的装置上。可在存储池级上施加管理数据的某些策略以确定存储对象的适当的装置。例如,层级中的上级(可被称为一次存储或一次池)可包含数据被去复制的盘介质。层级中的下级(可被称为二次存储)可包含诸如磁带的较慢、较便宜的存储。
[0039]在存储于存储管理服务器上之后,可通过使用将对象从一个存储池移动到另一存储池的诸如迁移的数据传送操作,来移动和复制数据对象。例如,对象可从诸如盘的相对较快、较昂贵的存储移动到诸如带子的相对较慢、较便宜的存储。附加的数据传送操作包括出于可用性和恢复目的将一个存储池中的对象复制或拷贝到另一池的存储池备份。
[0040]在以下的描述中,参照形成其一部分并示出几个实施例的附图。应当理解,可以利用其它的实施例,并且,在不背离本发明的范围的情况下,可提出结构和操作的变化。
[0041]这里提供的描述的一个方面涉及可通过各种硬件部件和互连体现的存储管理系统。由图1的存储管理系统100表示一个例子。广义上,系统100包括数据存储子系统102、一个或更多个管理员站104和一个或更多个客户机站106。子系统102响应客户机站106以及管理员站104的指示而操作。
[0042]管理员站104被系统管理员使用以配置、监视和修复子系统102。在最终用户的指引下,客户机站106使用子系统102以代表它们存储和管理数据。具体而言,各客户机站106创建并关注“用户文件”的形式的数据。就此而言,各客户机站106单独地使用子系统102以存档、备份、检索和恢复其用户文件。因此,各用户文件与作为该用户文件的源的单个客户机站106相关。
[0043]各客户机站106可包含任何通用计算机,诸如Power Systems工作站、基于Intel处理器的个人计算机、大型计算机等。客户机站106可包含运行类似或不同的操作系统的类似或不同的机器。一些示例性系统包括AIX?、UNIX、Window?等。[0044]客户机站106通过网络116与子系统102互连。网络116可包含任何希望的连接,包含一个或更多个导电线或总线、光纤线、数据通信信道、无线链接、因特网连接、电话线、存储区域网络(SAN)、局域网络(LAN)、内联网、互联网、广域网络(WAN)等。优选地,使用诸如T3链路的高速通信信道,从而使用诸如TCP/IP的网络协议。
[0045]管理员站104包含供人或自动存储管理员向子系统102传输机器可读指令的电子设备。因此,根据特定的应用,站104可包含配备处理器的通用计算机或“哑”端子。
[0046]在示例性实施例中,数据存储子系统102可包含诸如由IBM发布的TivoliStorage Manager?(TSM?)产品的商用服务器,该产品被修改以根据这里提供的描述操作。但是,由于也可使用其它的硬件配置,因此,以下讨论子系统102的一般示图。
[0047]数据存储子系统102包含具有后面更详细地讨论的结构的数据处理设备108。数据处理设备108通过接口 112与网络116和客户机站106交换信号,并且类似地通过接口110与管理员站104交换信号。接口 110、112可包含用于与实现的客户机站和管理员站的实施例通信的任何适当装置。例如,接口 110、112可包含Ethernet卡、小型计算机系统接口( “SCSI”)、并行数据端口、串行数据端口、电话调制解调器、光纤链路、无线链路等。
[0048]数据处理设备108还与数据库113和存储层级114耦接。如后面更详细地讨论的那样,存储层级114被用于在非聚集的集合中存储选择的单个用户文件。另外,存储层次被用于存储“管理的文件”。各管的理文件一般包含一起存储为“聚集”文件的多个构成用户文件。但是,在一些情况下,管理文件可以是单个用户文件(原样存储)。非聚集形式和聚集形式的用户文件的子系统存储可防止这些文件在客户机的机器上损坏或者丢失,通过释放客户机站上的存储空间来辅助客户机,并且也可提供客户机数据的管理。就此而言,存储层级114的操作可包含将客户机站106的文件“存档”、“去复制”、“复制”以及以其他方式“备份”到存储层级114,对客户机站106 “检索”存储的文件和“恢复”在层级114上备份的文件。
[0049]数据库113包含关于包含于存储层级114中的文件的信息。例如,如在美国专利N0.6098074中描述的那样,该信息可包含管理的文件存储于存储层级114中的地址、存储的数据的各种特性、某些客户机特定的数据管理偏好等。
[0050]数据处理设备108可由各种硬件部件和互连体现。图2表示数字数据处理设备200的形式的一个例子。
[0051]设备200包含与存储单元204耦接的处理单元202,诸如微处理器或其它处理机器。在本例子中,存储单元204包含诸如快速访问存储器206和非易失性存储器208的一个或更多个存储装置。快速访问存储器206优选包含随机存取存储器,并且可被用于存储由处理单元202执行的编程指令。非易失性存储器208可包含例如一个或更多个磁数据存储盘,诸如“硬盘”、带驱动或任何其它适当的存储装置。设备200还包含至少一个输入/输出210,诸如线、总线、电缆、电磁链路或者用于在处理单元202与子系统102的其它部件之间交换数据的其它手段。
[0052]尽管以上进行了具体描述,但本领域技术人员(受益于本公开)可以认识到,在不背离本发明的范围的情况下,可通过不同结构的机器实现以上讨论的设备。作为具体的例子,可消除部件206或208中的一个;并且,可在处理单元202上设置或者甚至在设备200外面设置存储单兀204。[0053]可根据客户机的特定要求,在各种数量和特性的存储介质中实现存储层级114。为了具体示出一个例子,图4示出代表性的存储层级400。层级400包含多个级别402?410,这里,越来越高的级别代表越来越高的存储性能。级别402?410提供具有各种特征和性能特性的存储装置。
[0054]在本例子中,第一级别402包含高速存储装置,诸如磁硬盘驱动器、可写入光盘或其它直接存取存储装置(“DASD”)。级别402在级别402?410中尽管最昂贵但提供最快的数据存储和检索时间。第二级别404包含希望的性能特性比级别402低但具有更低的成本的DASD。第三级别406包含多个光盘和一个或更多个光盘驱动器。第四和第五级别408?410包含更便宜的存储手段,诸如磁带或另一顺序存取存储装置。
[0055]级别408?410可能特别适于便宜、长期的数据档案,而级别402?406适于短期快速存取数据存储。作为例子,甚至可实现级别402和/或级别404中的一个或更多个装置以提供数据存储高速缓存。
[0056]根据用户的要求,级别402?410的装置可与子系统102共位或者被远程定位。因此,层级400的存储装置可通过诸如一个或更多个导电线或总线、光纤线、数据通信信道、无线链路、因特网连接、电话线、SCSI连接、ESCON连接等的各种手段与数据处理设备108耦接。
[0057]虽然没有示出,但可通过单个装置类型和对应的单个级别实现层级400。本领域技术人员可以认识到“层级”被解释性地使用,原因是这里提供的描述包含但不要求存储装置性能的层级。
[0058]在存储层级114/400的语境中,使用术语“存储池”以识别具有类似的性能特性的一个或更多个存储装置。例如,级别404可包含几个存储池,每个池包含一个或更多个DASD。
[0059]图5示出具有分别包含源备份管理器506a和目标备份管理器506b的源服务器504a和目标服务器504b的计算环境502的实施例,该源服务器504a和目标服务器504b分别用于备份源存储器508a到目标存储器508b上的对象的数据。服务器504a、504b装置中任一个可用作源服务器和目标服务器。可代表与源服务器504a连接的客户机节点执行备份以备份由客户机节点拥有的对象。源服务器504a和目标服务器504b保持分别在对象信息510a和510b中限定的数据对象。可采取被称为区段或块512a、512b的数据的单独单元的形式的数据对象的数据分别保持于源存储器508a和目标存储器508b中。各服务器504a、504b保持指示存储器508a、508b中的位置的块存储信息514a、514b,在这些位置中,在对象信息510a、5IOb中限定的数据对象的块被定位。对象信息510a、5IOb包含各限定的数据对象的元数据或实体,各限定的数据对象包含分配给各对象的数据的块512a、512b的有序列表。
[0060]源服务器504a和目标服务器504b分别保持具有关于代表客户机节点复制到目标服务器504b的源服务器504a上的数据对象的信息的源备份数据库516a和目标备份数据库516b。源服务器504a进一步保持并使用:源列表530,使得用于备份的源服务器504a上的对象满足备份准则,诸如拥有客户机节点、客户机节点上的文件空间和数据类型;目标列表532,使得目标服务器504b上的对象满足备份准则;目标服务器504b中的对象的目标库存534,包含用于唯一识别对象的唯一标识符或属性;和用于备份到目标服务器504b的处于源列表530上而不处于目标列表532上的文件的备份列表536。用于构建目标库存534的准则可更宽或者与备份准则相同。
[0061]去复制部件524a提供去复制服务,用于使得源服务器504a和目标服务器504b确保当源服务器504a或目标服务器504b发送对象数据时,不存在已存在于接收服务器504a、504b中的复制块。去复制部件524a包含用于执行去复制操作的去复制管理器526a和提供关于已分配给对象的块512a、512b的信息(诸如去复制指数)的块指数528a。虽然一个存储器508a、508b中的一个块可包含于对管理该存储的服务器504a、504b限定的多个数据对象中,但去复制管理器526a确保当在源服务器504a和目标服务器504b之间传送数据对象时,只在源存储器508a和目标存储器508b中保持各块的一个复本。去复制管理器526a还可保持具有关于向源服务器504a和目标服务器504b中的对象分配块的信息的对象信息510c。
[0062]为了执行去复制,当在数据对象中具有新的或不变的块时,源备份管理器506a或其它的部件可计算块的散列,并然后将块的散列传送到去复制管理器526a以确定块指数528a是否具有匹配的散列。如果不是,那么去复制管理器526a通知源备份管理器506a块是新的并且源备份管理器506a向目标服务器504b发送用于存储于目标存储器508b中的数据对象中的新的或改变的块的完整复本。否则,如果块指数528a具有散列的匹配复本,那么源备份管理器506a不需要传送块的完整复本。事实上,源备份管理器506a可传送块的摘要及其在对象中的位置。作为替代方案,源备份管理器506a可与去复制部件524a交互作用以确定它是否需要向目标服务器504b发送块。
[0063]在客户机侧去复制实施例中,源备份管理器506a(即客户机)与去复制管理器526a通信以确定是否需要向目标服务器504b发送块,使得只向目标服务器504b发送没有如在目标存储器508b中那样在块指数528中指示的新块。在服务器侧去复制实施例中,源服务器504a向目标服务器504b发送用于备份的数据对象的所有块,并且目标备份管理器506b请求去复制部件524a确定哪些块是需要存储于目标存储器508b中的新块。
[0064]以类似的方式,复制部件524b为源服务器504a和目标服务器504b提供复制服务。复制部件524b包含用于执行复制操作的复制管理器526b和提供关于分配给对象的块512a、512b的信息的诸如复制指数的块指数528b。复制管理器526b与去复制管理器526a一起确保在复制功能中当在源服务器504a与目标服务器504b之间传送数据对象时,仅发送各块的一个复本。复制管理器526b也可保持具有关于向源服务器504a和目标服务器504b中的对象分配块的信息的对象信息510d。
[0065]可在在诸如局域网络(LAN)、存储区域网络(SAN)、广域网络(WAN)等的网络上通信的单独的计算机装置中实现源服务器504a、目标服务器504b、去复制部件524a和复制部件524b。在其它的实施例中,可在一个或两个计算机系统上实现源服务器504a、目标服务器504b、去复制部件524a和/或复制部件524b。如果源服务器504a、目标服务器504b、去复制部件524a和/或复制部件524b处于同一系统中,那么它们可在总线上或者通过存储器通信。
[0066]可在诸如互连硬盘驱动(例如,配置为DASD、RAID、JBOD等)、固态存储装置(例如,EEPROM(电可擦除可编程只读存储器)、快擦写存储器、闪盘、存储类存储器(SCM))、电子存储器、磁带介质、带盒等的在现有技术中已知的一个或更多个存储装置中配置源存储器508a和目标存储器508b。
[0067]源备份管理器506a、目标备份管理器506b、去复制管理器526a和复制管理器526b可在由处理器执行的存储器中包含软件程序。在替代性实施例中,可在诸如例如为特定用途集成电路(ASIC)、扩展卡等的专用集成电路的硬件部件中实现程序506a、506b、526a、526b的一些部分或全部。
[0068]虽然源备份管理器506a、目标备份管理器506b、去复制管理器526a和复制管理器526b被示为单独的部件,但是,在替代性实现中,可在单个计算机系统中的单个程序部件中或者在多于两个的计算机装置中的多于两个的程序部件中实现由这些部件506a、506b、526a和526b执行的功能。例如,可在源服务器504a或目标服务器504b或源备份管理器506a或目标备份管理器506b部件的一部分上实现去复制部件524a。源备份管理器506a和目标备份管理器506b可被客户机节点使用以作为恢复操作的一部分而恢复对象。
[0069]当用于去复制、复制或其它的备份数据的一次存储生长并开始达到满容量时,常常希望将一次池的数据移动到二次存储,从而使得空间用于新到来的数据。例如,在具有去复制的存储中,存在可用于选择哪些特定的去复制区段从一次存储移动到二次存储中的各种方法。
[0070]可以认识到,对选择用于从一次存储移动到二次存储中的区段,可以利用诸如先入先出(FIFO)和近期最少使用(或读取)(LRU)的各种已知的高速缓存算法。但是,这种高速缓存算法可能不非常适用于区段被参照多次、被参照一次或者根本不被参照的区段的去复制(或其它)池。并且,高速缓存算法可能不会意识到作为迁移到二次存储的候选的区段可能是逻辑数据对象的一部分。
[0071]因此,如果FIFO(先入先出)高速缓存算法要被用于选择最旧的用于迁移的区段,那么这里认识到最旧的区段可能被高度参照。因而,认识到最旧的区段可能不是好的迁移候选,而保持在一次存储上可能更有用。类似地,如果LRU(近期最少使用)算法要被用于选择近期最少使用的迁移用区段,那么LRU高速缓存算法不会考虑如何参照区段。
[0072]因此,用于选择要移动到二次存储的另一方法可以是识别最少参照(LR)区段。在这种选择方法中,可确定其它的逻辑数据对象多少次参照数据对象的区段以及将具有最少次数的外部参照的那些移动到二次存储。
[0073]但是,根据本说明书,认识到再次参照给定的区段的可能性是选择迁移到二次存储的区段时的有用考虑。例如,移动在将来最不可能参照的区段是合适的。相反,利用仅识别最少参照区段的区段选择方法会提高近期的一次池的存储效率,但长期来看是低效率的,原因是不能确定在将来再次越来越多地参照给定区段的可能性。
[0074]根据本说明书,认识到,当特定的区段首先进入一次池时,如果在区段被提供足够的机会以通过另一到来的数据对象的区段而进行匹配之前,该区段迁移到二次池,那么不大可能实现明显的空间节省。因此,在本说明书的一个方面中,新存储于一次存储中的区段可被赋予足够的时间以通过其它到来的数据对象进行匹配。这种选择区段的过程(其在区段迁移之前,提供通过其它到来的数据对象来匹配区段的足够时间)可能更适于实施去复制的存储。因此,根据本说明书的用于将数据对象或数据对象的卷或数据对象或卷的多个部分移动到二次存储的数据选择算法可在空间节省量上提高一次池的效率。
[0075]在本说明书中,提到多少次“参照”给定区段。这里,区分外部参照和包含内部参照以及外部参照的总参数。例如,当在对象内重复数据时,给定数据对象可在其自身内具有复制数据。这些内部参照在这里不被视为外部参照。相反,当不同(即,外部)数据对象也参照同一区段时,区段在这里被视为具有外部参照。
[0076]在一个实施例中,数据选择方法寻求避免迁移刚刚被添加到一次存储的数据。为了给予供区段与将来到来数据对象匹配的时间,数据选择算法可限制数据向已驻留于一次存储中最小时间段的数据对象或区段的迁移。
[0077]根据本说明书,可根据各种因素或其它的考虑确定用于在移动给定的数据对象或一组区段之前等待的时间段。例如,一个这种考虑可以是备份事件之间的时间间隔。如果预期来自随后的备份的数据与来自备份数据的相同或不同源的现有备份类似,那么可允许时间供这些区段保持于一次池中并与随后的备份的数据匹配。
[0078]用于确定在移动给定数据对象或一组区段之前等待的适当时间段的另一考虑是给定的一组数据对象传播到在一次池中存储其数据的各种机器一般花费的时间。例如,可在确定在移动给定数据对象或一组区段之前等待的适当时间段时考虑一组电子邮件数据对象传播到不同的机器并然后备份到同一去复制一次池所花费的时间。作为另一例子,在来自各种机器的软件数据对象备份到去复制系统的情况下,可在确定在移动给定数据对象或一组区段之前等待的适当时间段时考虑新可用软件安装于第一机器并随后安装于其它机器上所花费的时间。
[0079]用于确定在移动给定数据对象或一组区段之前等待的适当时间段的另一考虑可以是数据初始发送到一次存储的点与数据可在后面被处理的随后时间点之间的时间间隔。例如,如果数据要被复制到远程系统,那么应允许数据保持于源系统上的一次池中,直到数据被复制为止。允许数据保持于一次存储至少该时间间隔可提高复制效率,原因是数据将处于源系统上的一次存储中,该一次存储一般比二次存储快。另外,可通过对数据的区段处理在一次池中允许足够的时间,使得目标系统可被发送区段而不是整个数据对象,来提高复制处理效率,从而节省网络带宽。可以理解,也可考虑数据初始发送到一次存储的点与数据可在后面通过其它类型的备份操作被处理的随后时间点之间的时间间隔。
[0080]可以理解,根据特定的应用,可以考虑用于确定在移动给定卷、数据对象或一组区段之前等待的适当时间段的其它因素。并且,在考虑各种因素时确定的时间段的持续期可根据特定的因素或考虑而改变。在一个实施例中,以上的时间段中的一个或更多个的最大值,如果适用于特定的应用,可被用作区段或数据对象在被考虑迁移到二次存储之前应保持在一次池中的最小时间段。因此,该时间段可构成要在数据迁移到二次存储之前满足的时间阈值。可以理解,根据特定的应用,可通过其它的方式计算阈值。例如,在考虑适用于特定的应用的各种因素时确定的各种时间段的平均值可被用作阈值。可基于被视为对特定的应用最重要的因素或多种因素选择其它的阈值。
[0081]数据可通过各种方式移入和移出存储。根据本说明书,用于确定哪些数据从一次存储移动到二次存储的选择方法可根据数据形式改变。例如,可以使用一种数据选择方法以确定哪些数据对象从一次存储移动。并且,根据系统的构架,可以使用不同的数据选择方法以确定选择数据对象的哪些卷移动到二次存储。
[0082]以下描述两个单独但类似的数据选择算法。可以使用一种算法以选择整个数据对象从一次存储迁移到二次存储。可以使用另一算法以选择移动数据对象的哪些卷。[0083]在本说明书中,除了时间要素以外,选择方法依赖于给定区段被“参照”多少次。如以上阐述的那样,可区分外部参照和包含内部参照以及外部参照的总参照。因此,给定数据对象可在其自身内(即,当在对象内重复数据时)具有对复制数据的内部参照。相反,当不同(即,外部)数据对象也参照同一区段时,区段在这里被视为具有外部参照。
[0084]图6示出用于选择哪些数据区段从一次存储移动到二次存储的数据选择方法的操作的一个例子。在第一操作中,去复制数据对象存储(块610)于一次存储池中。去复制系统通过将文件分成一系列的区段而操作。去复制系统确定区段中的任一个是否已被存储,并然后前进以仅存储那些非冗余的区段。可通过存储的文件中的内部区段或已存储于一次池中的外部区段检查冗余性。
[0085]通过使用诸如MD5或SHA-1的散列函数以例如产生各区段的散列值并然后比较该值与已存储于系统上的区段的值,检测冗余区段。一般地,用于存储的区段的散列值保持在指数中,诸如数据库系统中的数据库中。如果冗余区段被识别,那么区段可被指向匹配区段的指针替代,构成对该区段的参照。可以理解,根据特定的应用,可通过使用其它的技术对数据去复制。
[0086]在另一操作中,确定(块612)第一数据对象驻留于一次存储池中的持续时间。在示出的实施例中,管理关于数据对象的信息的数据库系统可包含各数据对象存储于一次存储池中的时间的时间戳。可通过使用数据对象的时间戳计算数据对象已驻留于一次存储池中的“年龄”或持续时间,并可将其与阈值比较(块614)。
[0087]对于对象的年龄(从对象时间戳计算)比提供的 阈值大(块614)的一次存储中的各数据对象,可以计算如果对象要移动到二次存储会释放的潜在空间量(块616~620)。在示出的实施例中,潜在空间节省可计算如下:
[0088]空间节省=[(对用于数据对象的所有区段)
[0089]Σ ((如果(区段外部参照计数≥R),则为0,否则为I) *extent_size)]
[0090]其中,例如,R= I。
[0091]因此,例如,确定数据对象的第一区段是否被另一数据对象参照(块616)(即,外部参照)。在以上的表达式中,如果区段具有至少一个外部参照,那么外部参照计数> 1,并且,潜在的空间节省子式对该区段被赋值O。作为结果,在本例子中,该区段的潜在空间节省被计算为0*extent_size或O潜在空间节省。
[0092]相反,如果数据对象的第一区段不被另一数据对象参照(块616) ( 即,不被外部参照),那么外部参照计数不> 1,并且,潜在的空间节省子式对该区段被赋值I。作为结果,该区段的潜在空间节省被计算为l*extent_size或等于该区段的尺寸的潜在空间节省。由此,在本例子中,数据对象区段的尺寸被加算(块618)到数据对象的累积潜在空间节省总值上。
[0093]对数据对象的各区段重复该过程。由此,确定是否已检查数据对象的所有区段(块620)。在一个实施例中,可首先移动具有最大的空间节省的那些对象。作为替代方案,为了避免将得到的组分类,可以使用尺寸阈值以仅移动如果移动的话会节省一定的空间量的数据对象。由此,在图6的实施例中,确定数据对象的累积潜在空间节省是否超过阈值(块622)。如果是,那么数据对象是好的移动候选,并因此可移动(块624)到二次存储池以在一次存储池中让出空间。相反,如果数据对象的累积潜在空间节省不超过阈值(块622),那么数据对象可能是较差或者不希望的移动候选,并因此不需要移动(块626)到二次存储池以在一次存储池中让出空间。
[0094]可以理解,值R可被赋予I以外的值。因此,如果R的值=2,那么外部参照计数会与2相比,使得潜在节省计算会包含具有I个或更少的外部参照而不是没有外部参照的区段。根据特定的应用,也可使用其它值和其它的空间节省计算。
[0095]图7示出用于选择数据区段的哪个卷或哪些卷从一次存储移动到二次存储的数据选择方法的操作的一个例子。在第一操作中,选择存储池中的包含去复制数据对象的卷(块710)。然后检查(块712)选择卷的数据对象,以确定数据对象已驻留于一次存储池中的持续时间是否满足或超过预定的阈值。如上所述,在示出的实施例中,管理关于数据对象的信息的数据库系统可包含各数据对象存储于一次存储池中的时间的时间戳。因此,如以上关于图6讨论的那样,可通过使用数据对象的时间戳计算选择卷的数据对象已驻留于一次存储池中的“年龄”或持续时间,并可将其与阈值比较。
[0096]对于对象的年龄(从对象时间戳计算)比提供的阈值大(块712)的一次存储中的选择卷中的各数据对象,可通过与以上关于块616~620描述的方式类似的方式在逐个区段的基础上,计算(714)如果对象要移动(作为选择卷的一部分)到二次存储会释放的潜在空间量。因此,在示出的实施例中,潜在空间节省可再次计算如下:
[0097]空间节省=[(对用于数据对象的所有区段)
[0098]Σ ((如果(区段外部参照计数≥R),则为0,否则为I) *extent_size)]
[0099]其中,例如,R= I。
[0100]在计算特定数据对象的各区段的潜在空间节省时,确定(块718)是否已对于选择的卷的所有数据对象进行了潜在空间节省计算。如果不是,那么如上面讨论的,计算选择卷的各剩余数据对象的潜在空间节省。可以理解,根据特定的应用,可使用其它计算以确定空间节省。
[0101]一旦对于选择的卷的所有数据对象计算潜在空间节省,卷的所有数据对象的潜在空间节省可被加在一起(块720)以提供累积总值,该累积总值也与选择卷中否则“可用的”空间求和。在一些卷中,数据不总是连续存储,使得选择卷的多个部分可能包含不被使用但具有接收新数据的有限可用性的存储空间。例如,在一些应用中,事先被从带驱动卷删除的数据占据的空间可能不容易被重新使用。在本实施例中,这种空间在这里被称为否则可用的空间,如果卷要移动到二次存储,则该否则可用的空间会被释放。
[0102]在一个实施例中,可首先移动具有最大的潜在空间节省和否则可用的空间的那些卷的数据对象。作为替代方案,为了避免将得到的组分类,可使用尺寸阈值以仅移动会节省一定的空间量的卷的数据对象。例如,这种卷选择的阈值可被表达为卷尺寸的百分比或总节省数据。
[0103]在图7的实施例中,选择卷的否则可用的空间与对选择卷的数据对象中的每一个计算的潜在空间节省的累积总值的和被比较(块720),以确定选择卷的潜在空间节省与否则可用的空间的和是否超过(720)阈值。如果是,那么选择的卷可能是好的移动候选,并因此可移动(块722)到二次存储池以在一次存储池中让出空间。相反,如果选择卷的否则可用的空间与对选择卷的数据对象中的每一个计算的潜在空间节省的累积总值的和不超过(块720)阈值,那么选择的卷可能是较差或者不希望的移动候选,并因此不需要移动(块724)到二次存储池以在一次存储池中让出空间。
[0104]图8示出诸如图1所示的数据存储子系统102、管理员站104或客户机站106的网络部件的计算机构架800的一个实现。构架800可包含处理器802 (例如,微处理器)、内存804 (例如,易失性存储器装置)和存储器806 (例如,非易失性存储,诸如磁盘驱动、光盘驱动、带驱动等)。存储器806可包含内部存储装置或附接的或网络可访问的存储。存储器806中的程序被加载到内存804中并以在本领域中已知的方式由处理器802执行。构架还包含用于使得能够与网络通信的网络卡808。视频控制器808控制视觉显示器。输入装置810被用于向处理器802提供用户输入,并且可包含键盘、鼠标、尖笔、麦克风、触摸敏感显示屏或在本领域中已知的任何其它激活或输入机构。输出装置812能够呈现从处理器802或诸如显示监视器、打印机、存储器等的其它部件传送的信息。
[0105]通过在一次池中保持最有用的数据并通过将具有较小价值的数据移动到二次存储以在一次池中让出用于另外存储的空间,根据特定的应用,根据本说明书的数据选择方法可提高去复制、复制或其它备份系统的效率。因此,对于客户机去复制系统,例如,在仅向服务器系统中的一次池发送新区段的情况下,可通过提高在一次池中存在区段匹配的概率,减少或消除不必要的网络流量、I/o和指数活动。类似地,通过对随后的复制操作在池中保持数据,可通过在一次池中以扩展的形式保持数据从而仅向复制目标发送新区段而减少网络流量。
[0106]因此,可以相信,根据本说明书的数据选择方法可允许数据从去复制存储池的有效迁移或者区段向复制目标的有效转发。例如,通过与区段或数据对象存储于去复制一次存储池中的时间组合地使用对给定数据对象的区段的外部参照的量以确定哪些数据从去复制池移动到二次存储,可提高包括数据迁移、数据去复制和数据复制的各种备份操作。在一个方面中,数据选择方法可考虑数据寿命周期以保持更紧密地适于一次池中的环境的数据。并且,与仅使用数据相比,数据选择方法可基于对来自多个去复制数据对象的区段的参照和它们已驻留于一次池中的时间。
[0107]云计算实施例
[0108]图1、图8的计算环境可以是服务传输的云计算模型的一部分,用于启用对于可借助与服务提供者的最小管理努力或交互而迅速提供和释放的可配置计算资源(例如,网络、网络带宽、服务器、处理、内存、存储器、应用、虚拟机和服务)的共享池的方便、按需网络访问。参照图9?11进一步描述云计算实现。该云模型可包括至少五个特性、至少三个服务模型和至少四个部署模型。
[0109]特性如下:
[0110]按需自助式服务:云消费者可在无需与服务提供者进行人为交互的情况下,单方面自动地按需部署诸如服务器时间和网络存储等的计算能力。
[0111]广泛网络接入:能力在网络上是可用的,并且通过异构的薄或厚源平台(例如,移动电话、便携式计算机和roA)促进使用的标准机制被访问。
[0112]资源集储(pooling):借助根据要求动态分配和再分配的不同的物理和虚拟资源,提供者的计算资源被集储,以服务使用多租户模型的多个消费者。存在这样一种位置依赖性的意义,因为消费者一般在提供的资源的确切位置上没有控制或知识,但能够在更高的抽象水平上(例如,国家、州或数据中心)规定位置。[0113]迅速弹性:能力在一些情况下自动地被迅速、弹性地提供,以迅速地放大并且迅速地释放以迅速地缩小。对于消费者,可用于提供的能力常常看起来是不受限制的,并且可以在任何时间以任何量被购买。
[0114]测量服务:云系统通过在适于服务类型(例如,存储器、处理、带宽和活动用户帐户)的特定抽象水平上调配能力,自动地控制和优化资源使用。资源使用可被监视、控制和报告,从而对于利用的服务的提供者和消费者均提供透明性。
[0115]服务模型如下:
[0116]软件即服务(SaaS):向消费者提供的能力是,使用在云基础构架上运行的提供者的应用。可通过诸如网络浏览器的薄源接口(例如,基于网络的电子邮件)从各种源装置访问应用。除了有限的用户特定应用配置设定有可能例外以外,消费者不管理或控制包括网络、服务器、操作系统、存储器或者甚至单个应用能力的底层云基础构架。
[0117]平台即服务(PaaS):向消费者提供的能力是,在云基础构架上部署消费者创建的或获取的通过使用由提供者支持的编程语言和工具创建的应用。消费者不管理或控制包含网络、服务器、操作系统或存储器的底层云基础构架,但对部署的应用并且可能对托管环境配置的应用具有控制权。
[0118]基础构架即服务(IaaS):向消费者提供的能力是,提供处理、存储器、网络和其它基础计算资源,这里,消费者能够部署和运行可包含操作系统和应用的任意软件。消费者不管理或控制底层云基础构架,但对于操作系统、存储器、部署的应用具有控制权,并且可能对于选择联网组件(例如,主机防火墙)具有有限的控制权。
[0119]部署模型如下:
[0120]私有云:云基础构架单独地为某个组织运行。它可以由该组织或第三方管理,并且可存在于该组织内部或外部。
[0121]共同体云:云基础构架被若干组织共享并支持有共同利害关系(例如,任务、安全要求、政策和合规考虑)的特定共同体。它可以由多个组织或第三方管理,并且可存在于该共同体内部或外部。
[0122]公共云:云基础构架对公众或大型产业群可用,并由出售云服务的组织拥有。
[0123]混合云:云基础构架由两个或更多个云(私有云、共同体云或公共云)组成,这些云依然是独特的实体,但是通过使数据和应用能够移植的标准化技术或私有技术(例如,用于云之间的负载平衡的云突发负载分担技术)绑定在一起。
[0124]云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和语义互操作性。云计算的核心是包含互连节点的网络的基础构架。
[0125]图9不出可包括源服务器504a、目标服务器504b和去复制和复制部件524a、524b的实现的云计算节点900的实施例,这里,可在节点900中的一个或更多个中实现部件。云计算节点900仅是适当的云计算节点的一个例子,并且不是要对于这里描述的本发明的实施例的使用或功能的范围提出任何限制。不管怎样,云计算节点900能够被实现,和/或能够执行这里阐述的功能中的任一种。
[0126]在云计算节点900中存在计算机系统/服务器902,该计算机系统/服务器902可与众多其它通用或专用计算系统环境或配置一起操作。可适用与计算机系统/服务器902一起使用的公知的计算系统、环境和/或配置的例子包括但不限于个人计算机系统、服务器计算机系统、薄源、厚源、手持或膝上设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费者电子产品、网络PC、小型计算机系统、大型计算机系统和包括以上的系统或设备中的任一种的分布式云计算环境,等等。
[0127]计算机系统/服务器902可以在由计算机系统执行的诸如程序模块的计算机系统可执行指令的一般语境下描述。一般地,程序模块可包含执行特定的任务或实现特定的抽象数据类型的例程、程序、对象、组件、逻辑和数据结构等。计算机系统/服务器902可以在其中由通过通信网络链接的远程处理设备执行任务的分布式云计算环境中实施。在分布式云计算环境中,程序模块可位于包括内存存储装置的本地或远程计算机系统存储介质上。
[0128]如图9所示,云计算节点900中的计算机系统/服务器902被示为通用计算装置的形式。计算机系统/服务器902的组件可包括但不限于:一个或更多个处理器或处理单元904、系统内存906和耦接包含系统内存906到处理器904的各种系统组件的总线908。
[0129]总线908表示几种类型的总线结构中的一种或多种,包括内存总线或内存控制器、外设总线、图形加速端口、处理器或者使用多种总线结构中的任一种的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线、微通道体系结构(MAC)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)局域总线以及外设组件互连(PCI)总线。
[0130]计算机系统/服务器902典型地包括各种计算机系统可读介质。这些介质可以是能够被计算机系统/服务器902访问的任意可获得的介质,包括易失性和非易失性介质、可移除和不可移除的介质。
[0131]系统内存906可包括易失性存储器形式的计算机系统可读介质,诸如随机存取存储器(RAM)910和/或高速缓存存储器912。计算机系统/服务器902还可包括其它的可移除/不可移除、非易失性/非非易失性计算机系统存储介质。仅作为举例,存储系统913可以提供用来读写不可移除的、非易失性磁介质(未示出,一般称为“硬盘驱动器”)。尽管没有示出,但是可以提供用于对可移除非易失性磁盘(例如,“软盘”)读写的磁盘驱动器以及对诸如⑶-ROM、DVD-ROM或其它光介质的可移除非易失性光盘读写的光盘驱动器。在这些情况下,每个驱动器可通过一个或多个数据介质接口与总线908连接。如后面进一步解释和描述的那样,内存906可包括至少一个程序产品,该程序产品具有一组(例如,至少一个)程序模块,这些程序模块被配置以执行本发明的实施例的功能。
[0132]作为例子而不是限制,具有一组(至少一个)程序模块916的程序/实用工具914以及操作系统、一个或更多个应用程序、其它程序模块和程序数据可以存储于内存906中。操作系统、一个或更多个应用程序、其它程序模块和程序数据或它们的一些组合中的每一个可包括联网环境的实现。程序模块916 —般实施这里描述的本发明的实施例的功能和/或方法。
[0133]计算机系统/服务器902还可与诸如键盘、指向设备、显示器920等的一个或更多个外部设备918、使得用户能够与计算机系统/服务器902交互的一个或更多个设备和/或使得计算机系统/服务器902能够与一个或更多个其它计算设备通信的任何设备(例如,网络卡、调制解调器等)通信。这种通信可通过输入/输出(I/O)接口 922进行。并且,计算机系统/服务器902可通过网络适配器924与诸如局域网络(LAN)、一般广域网络(WAN)和/或公共网络(例如,因特网)的一个或更多个网络通信。如图所示,网络适配器924通过总线908与计算机系统/服务器902的其它组件通信。应当理解,虽然没有示出,但是,可以结合计算机系统/服务器902使用其它的硬件和/或软件组件。例子包括但不限于微代码、设备驱动程序、冗余处理单元、外部盘驱动阵列、RAID系统、带驱动器和数据档案存储系统等。
[0134]现在参照图10,其中示出了示例性的云计算环境950。如图所示,云计算环境950包括由云消费者使用的本地计算设备(诸如例如个人数字助理(PDA)或蜂窝电话954A、台式计算机954B、膝上型计算机954C和/或自动计算机系统954N)可与之通信的一个或更多个云计算节点900。节点900可与另一节点通信。可以在诸如上述的私有云、共同体云、公共云或混合云或它们的组合的一个或更多个网络中将它们进行物理或者虚拟分组(未示出)。这允许云计算环境950提供基础构架即服务、平台即服务和/或软件即服务,而云消费者无需针对此在本地计算设备上维护资源。应当理解,图13所示的各种计算装置954A?N仅是示意性的,计算节点900和云计算环境950可在任何类型的网络和/或网络可寻址连接上与任意类型的计算化装置通信(例如,通过使用网络浏览器)。
[0135]现在参照图11,示出由云计算环境950 (图12)提供的一组功能抽象层。首先应当理解,图11所示的部件、层和功能仅是示意性的,并且,本发明的实施例不限于此。如图所示,提供以下的层和相应的功能:
[0136]硬件和软件层960包括硬件和软件组件。硬件组件的例子包括:主机,在一个例子中,为IBM? zSeries?系统;基于Rise(精简指令集计算机)体系结构
的服务器,在一个例子中,为丨BM? pSeries?系统;IBM? xSeries?系统;
IBM? BladeCenter?系统;存储装置;网络和联网组件。软件组件的例子包括:网络应用服务器软件,在一个例子中,为IBM NVebSphere?应用服务器软件;数据库软件,在一个例子中,为 IBM DB2?‘数据库软件。(IBM、zSeries、pSeries、xSe;ries、BladeCente;r、WebSphere 以及 DB2 是 International Business Machines Corporation 在全世界各地的注册商标)。
[0137]虚拟化层962提供抽象层,可从该层提供以下的虚拟实体的例子:虚拟服务器、虚拟存储、包括虚拟私有网络的虚拟网络、虚拟应用和操作系统以及虚拟源。
[0138]在一个例子中,管理层964可以提供下述的功能。资源供应功能提供用于在云计算环境中执行任务的计算资源和其它资源的动态获取。计量和定价功能在云计算环境内对资源的使用进行成本跟踪,并且为这些资源的消费提供帐单或发票。在一个例子中,这些资源可以包括应用软件许可。安全功能为云消费者和任务提供身份认证,为数据和其它资源提供保护。用户门户功能为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能提供云计算资源的分配和管理,以满足必需的服务水平。服务水平协议(SLA)计划和履行功能为根据SLA预测未来需求的云计算资源提供预先安排和供应。
[0139]工作负载层966提供可利用云计算环境的功能的例子。可从该层提供的工作负载和功能的例子包括:地图绘制与导航;软件开发及生命周期管理;虚拟教室教育递送;数据分析处理;交易处理;和诸如以上参照图1?8描述的去复制和其它备份服务。
[0140]描述的操作可实现为使用标准编程和/或工程技术以产生软件、固件、硬件或它们的任意的组合的方法、设备或计算机程序产品。因此,实施例的各方面可采取这里可统称为“电路”、“模块”或“系统”的完全硬件实施例、完全软件实施例(包含固件、驻留软件、微代码等)或组合软件和硬件方面的实施例的形式。并且,本发明的各方面可采取体现于上面具有体现的计算机可读程序代码的一个或更多个计算机可读介质中的计算机程序产品的形式。
[0141]可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是一但不限于——电、磁、光、电磁、红外线、或半导体的系统、设备或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPR0M或闪存,诸如图3的闪存300)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0142]计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0143]计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括一但不限于一无线、有线、光缆、RF等等,或者上述的任意合适的组合。
[0144]可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言一诸如Java、Smalltalk、C++等,还包括常规的过程式程序设计语言一诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络一包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0145]下面将参照根据本发明实施例的方法、设备(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
[0146]也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理设备、或其他装置以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品。[0147]计算机程序指令也可被加载于计算机、其它可编程数据处理设备或其它装置上,以导致在计算机或其它可编程设备或其它装置上执行一系列的操作步骤,以产生计算机实现的处理,使得在计算机或其它可编程设备上执行的指令提供用于实现在流程图和/或框图块中规定的功能/作用的步骤。
[0148]除非另外明确规定,否则,术语“某实施例”、“实施例”、“多个实施例”、“该实施例”、“这些实施例”、“一个或更多个实施例”、“一些实施例”和“一个实施例”意味着本发明的一个或更多个(但不是全部)实施例。
[0149]除非另外明确规定,否则,术语“包括”、“包含”、“具有”和它们的各种变体意味着“包括但不限于”。
[0150]除非另外明确规定,否则,举出的项目的列表不意味着项目中的任一个或全部是相互排斥的。
[0151]除非另外明确规定,否则,术语“一个”、“一种”和“该”意味着“一个或更多个”。
[0152]除非另外明确规定,否则,相互通信的设备不需要相互连续通信。另外,相互通信的设备可直接或间接地通过一个或更多个媒介通信。
[0153]具有相互通信的几个组件的实施例的描述不意味着需要所有这些组件。相反,描述各种任选的组件,以示出本发明的各种可能的实施例。
[0154]并且,虽然可以按依次的次序描述处理步骤、方法步骤或算法等,但是,这些处理、方法和算法可被配置为以交替的次序工作。换句话说,可描述的步骤的任何次序或顺序未必表示要求以该次序执行这些步骤。可以按任何实际次序执行这里描述的处理的步骤。并且,可以同时执行一些步骤。
[0155]当这里描述单个装置或物品时,很显然,作为单个装置/物品的替代,可使用多于一个的装置/物品(不管它们是否协作)。类似地,在这里描述多于一个的装置或物品(不管它们是否协作)的情况下,很显然,作为多于一个的装置或物品的替代,可以使用单个装置/物品,或者,作为表示的数量的装置或程序的替代,可以使用不同数量的装置/物品。装置的功能和/或特征可替代性地通过没有明确描述为具有这些功能/特征的一个或更多个其它装置被体现。因此,本发明的其它实施例不需要包括装置自身。
[0156]图6、图7所示的动作表示以一定次序出现的某些事件。在替代性实施例中,可以以不同的次序执行、修改或去除某些动作。并且,可以向上述的逻辑添加步骤,并且仍符合描述的实施例。并且,这里描述的动作可依次出现或者可并行地处理某些动作。并且,可通过单个处理单元或通过分布式处理单元执行动作。
[0157]以上,出于解释和描述的目的,给出了本发明的各实施例的描述。它不是穷尽性的或者要将本发明限于公开的确切的形式。考虑以上的教导,许多修改和变更是可能的。本发明的范围不是由该详细的描述限定,而是由所附的权利要求限定。以上的规范、例子和数据提供本发明的成分的制造和使用的完整的描述。由于可以在不背离本发明的精神和范围的情况下提出本发明的许多实施例,因此,本发明存在于以下所附的权利要求中。
【权利要求】
1.一种管理计算系统中的数据存储的方法,该方法包括: 在一次存储池中存储第一去复制数据对象; 确定第一数据对象已驻留于一次存储池中的持续时间; 比较确定的持续时间与预定的时间间隔; 在确定的持续时间满足或超过预定的时间间隔之后,确定第一数据对象是否具有被另一数据对象参照的区段;和 在确定的持续时间满足或超过预定的时间间隔之后,根据第一数据对象是否具有被另一数据对象参照的区段,确定是否将第一数据对象从一次存储池移动到二次存储池。
2.根据权利要求1的方法,其中,确定是否移动第一数据对象包含在确定的持续时间满足或超过预定的时间间隔之后,计算由不被另一数据对象参照的数据对象区段占据的空间。
3.根据权利要求2的方法,还包括:如果计算的由不被另一数据对象参照的数据对象区段占据的空间超过阈值,则将第一数据对象从一次存储池移动到二次存储池。
4.根据权利要求1的方法,还包括: 在一次存储池中存储 第二去复制数据对象; 确定第二数据对象已驻留于一次存储池中的持续时间; 比较确定的第二数据对象的持续时间与预定的时间间隔; 在确定的第二数据对象的持续时间满足或超过预定的时间间隔之后,确定第二数据对象是否具有被另一数据对象参照的区段;和 在确定的持续时间满足或超过预定的时间间隔之后,根据第二数据对象是否具有被另一数据对象参照的区段,确定是否将第二数据对象从一次存储池移动到二次存储池。
5.根据权利要求4的方法,其中,确定是否移动第二数据对象包含在确定的持续时间满足或超过预定的时间间隔之后,计算由不被另一数据对象参照的第二数据对象的数据对象区段占据的空间。
6.根据权利要求5的方法,还包括:如果计算的由不被另一数据对象参照的第一数据对象的数据对象区段占据的空间超过计算的由不被另一数据对象参照的第二数据对象的数据对象区段占据的空间,则将第一数据对象从一次存储池移动到二次存储池。
7.根据权利要求1的方法,还包括: 在一次存储池中存储包含去复制的数据对象的第一卷; 对第一卷的各数据对象: 确定第一卷的数据对象已驻留于一次存储池中的持续时间; 比较对第一卷的数据对象确定的持续时间与预定的时间间隔;和在对第一卷的数据对象确定的持续时间满足或超过预定的时间间隔之后,对不被另一数据对象参照的第一卷的数据对象的各区段计算由不被另一数据对象参照的数据对象区段占据的空间,并计算第一卷的可用空间;和 根据计算的占据的空间和计算的可用空间确定是否将第一卷的数据对象从一次存储池移动到二次存储池。
8.根据权利要求7的方法,其中,根据客户机站上的备份事件之间的时间间隔、客户机站之间的复制数据的传播时间和存储于一次存储池中的数据对象的备份处理时间中的至少一个,确定第一卷的各数据对象的预定时间间隔。
9.根据权利要求7的方法,还包括: 在一次存储池中存储包含去复制的数据对象的第二卷; 对第二卷的各数据对象: 确定第二卷的数据对象已驻留于一次存储池中的持续时间; 比较对第二卷的数据对象确定的持续时间与预定的时间间隔;和在对第二卷的数据对象确定 的持续时间满足或超过预定的时间间隔之后,对不被另一数据对象参照的第二卷的数据对象的各区段计算由不被另一数据对象参照的数据对象区段占据的空间,并计算第二卷的可用空间;和 根据计算的占据的空间和计算的可用空间确定是否将第二卷的数据对象从一次存储池移动到二次存储池。
10.根据权利要求9的方法,其中,确定是否移动第二卷的数据对象包含在确定的持续时间满足或超过预定的时间间隔之后,计算由不被另一数据对象参照的第二卷的数据对象区段占据的空间。
11.根据权利要求10的方法,还包括:如果计算的由不被另一数据对象参照的第一卷的数据对象区段占据的空间超过计算的由不被另一数据对象参照的第二卷的数据对象区段占据的空间,则将第一卷的数据对象从一次存储池移动到二次存储池。
12.一种用于管理具有包含数据对象的多个区段的多个存储池的数据存储的计算机程序产品,该计算机程序产品包含具有在其中实现的执行以进行操作的计算机可读程序代码的计算机可读存储介质,所述操作包括: 在一次存储池中存储第一去复制数据对象; 确定第一数据对象已驻留于一次存储池中的持续时间; 比较确定的持续时间与预定的时间间隔; 在确定的持续时间满足或超过预定的时间间隔之后,确定第一数据对象是否具有被另一数据对象参照的区段;和 在确定的持续时间满足或超过预定的时间间隔之后,根据第一数据对象是否具有被另一数据对象参照的区段,确定是否将第一数据对象从一次存储池移动到二次存储池。
13.根据权利要求12的计算机程序产品,其中,确定是否移动第一数据对象包含在确定的持续时间满足或超过预定的时间间隔之后,计算由不被另一数据对象参照的数据对象区段占据的空间。
14.根据权利要求13的计算机程序产品,其中,所述操作还包括:如果计算的由不被另一数据对象参照的数据对象区段占据的空间超过阈值,则将第一数据对象从一次存储池移动到二次存储池。
15.根据权利要求12的计算机程序产品,其中,所述操作还包括: 在一次存储池中存储第二去复制数据对象; 确定第二数据对象已驻留于一次存储池中的持续时间; 比较确定的第二数据对象的持续时间与预定的时间间隔; 在确定的第二数据对象的持续时间满足或超过预定的时间间隔之后,确定第二数据对象是否具有被另一数据对象参照的区段;和在确定的持续时间满足或超过预定的时间间隔之后,根据第二数据对象是否具有被另一数据对象参照的区段,确定是否将第二数据对象从一次存储池移动到二次存储池。
16.根据权利要求15的计算机程序产品,其中,确定是否移动第二数据对象包含在确定的持续时间满足或超过预定的时间间隔之后,计算由不被另一数据对象参照的第二数据对象的数据对象区段占据的空间。
17.根据权利要求16的计算机程序产品,其中,所述操作还包括:如果计算的由不被另一数据对象参照的第一数据对象的数据对象区段占据的空间超过计算的由不被另一数据对象参照的第二数据对象的数据对象区段占据的空间,则将第一数据对象从一次存储池移动到二次存储池。
18.根据权利要求12的计算机程序产品,其中,所述操作还包括: 在一次存储池中存储包含去复制的数据对象的第一卷; 对第一卷的各数据对象: 确定第一卷的数据对象已驻留于一次存储池中的持续时间; 比较对第一卷的数据对象确定的持续时间与预定的时间间隔;和在对第一卷的数据对象确定的持续时间满足或超过预定的时间间隔之后,对不被另一数据对象参照的第一卷的数据对象的各区段计算由不被另一数据对象参照的数据对象区段占据的空间,并计算第一卷的可用空间;和 根据计算的占据的空间和计算的可用空间确定是否将所述卷的数据对象从一次存储池移动到二次存储池。
19.根据权利要求18的计算机程序产品,其中,根据客户机站上的备份事件之间的时间间隔、客户机站之间的复制数据的传播时间和存储于一次存储池中的数据对象的备份处理时间中的至少一个,确定第一卷的各数据对象的预定的时间间隔。
20.一种计算系统,包括: 具有包含数据对象的区段的多个存储池的数据存储器;和 包含处理器和具有在其中实现的由处理器执行以进行管理操作的计算机可读程序代码的计算机可读存储介质,所述管理操作包括: 在一次存储池中存储第一去复制数据对象; 确定第一数据对象已驻留于一次存储池中的持续时间; 比较确定的持续时间与预定的时间间隔; 在确定的持续时间满足或超过预定的时间间隔之后,确定第一数据对象是否具有被另一数据对象参照的区段;和 在确定的持续时间满足或超过预定的时间间隔之后,根据第一数据对象是否具有被另一数据对象参照的区段,确定是否将第一数据对象从一次存储池移动到二次存储池。
21.根据权利要求20的计算系统,其中,确定是否移动第一数据对象包含在确定的持续时间满足或超过预定的时间间隔之后,计算由不被另一数据对象参照的数据对象区段占据的空间。
22.根据权利要求21的计算系统,其中,所述操作还包括:如果计算的由不被另一数据对象参照的数据对象区段占据的空间超过阈值,则将第一数据对象从一次存储池移动到二次存储池。
23.根据权利要求21的计算系统,其中,所述操作还包括: 在一次存储池中存储第二去复制数据对象; 确定第二数据对象已驻留于一次存储池中的持续时间; 比较确定的第二数据对象的持续时间与预定的时间间隔; 在确定的第二数据对象的持续时间满足或超过预定的时间间隔之后,确定第二数据对象是否具有被另一数据对象参照的区段;和 在确定的持续时间满足或超过预定的时间间隔之后,根据第二数据对象是否具有被另一数据对象参照的区段,确定是否将第二数据对象从一次存储池移动到二次存储池。
24.根据权利要求23的计算系统,其中,确定是否移动第二数据对象包含在确定的持续时间满足或超过预定的时间间隔之后,计算由不被另一数据对象参照的第二数据对象的数据对象区段占据的空间。
25.根据权利要求24的计算系统,其中,所述操作还包括:如果计算的由不被另一数据对象参照的第一数据对象的数据对象区段占据的空间超过计算的由不被另一数据对象参照的第二数据对象的数据对象区段占据的空间,则将第一数据对象从一次存储池移动到二次存储池。
26.根据权利要求20的计算系统,其中,所述操作还包括: 在一次存储池中存储包含去复制的数据对象的第一卷; 对第一卷的各数据对象: 确定第一卷的数据对象已驻留于一次存储池中的持续时间; 比较对第一卷的数据对象确定的持续时间与预定的时间间隔;和在对第一卷的数据对象确定的持续时间满足或超过预定的时间间隔之后,对不被另一数据对象参照的第一卷的数据对象的各区段计算由不被另一数据对象参照的数据对象区段占据的空间,并计算第一卷的可用空间;和 根据计算的占据的空间和计算的可用空间确定是否将第一卷的数据对象从一次存储池移动到二次存储池。
27.根据权利要求26的计算系统,其中,根据客户机站上的备份事件之间的时间间隔、客户机站之间的复制数据的传播时间和存储于一次存储池中的数据对象的备份处理时间中的至少一个,确定第一卷的各数据对象的预定的时间间隔。
28.根据权利要求26的计算系统,其中,所述操作还包括: 在一次存储池中存储包含去复制的数据对象的第二卷; 对第二卷的各数据对象: 确定第二卷的数据对象已驻留于一次存储池中的持续时间; 比较对第二卷的数据对象确定的持续时间与预定的时间间隔;和在对第二卷的数据对象确定的持续时间满足或超过预定的时间间隔之后,对不被另一数据对象参照的第二卷的数据对象的各区段计算由不被另一数据对象参照的数据对象区段占据的空间,并计算第二卷的可用空间;和 根据计算的占据的空间和计算的可用空间确定是否将第二卷的数据对象从一次存储池移动到二次存储池。
29.根据权利要求28的计算系统,其中,确定是否移动第二卷的数据对象包含在确定的持续时间满足或超过预定的时间间隔之后,计算由不被另一数据对象参照的第二卷的数据对象区段占据的空间。
30.根据权利要求29的计算系统,还包括:如果计算的由不被另一数据对象参照的第一卷的数据对象区段占据的空间超过计算的由不被另一数据对象参照的第二卷的数据对象区段占据的空间, 则将第一卷的数据对象从一次存储池移动到二次存储池。
【文档编号】G06F17/30GK104011717SQ201280061504
【公开日】2014年8月27日 申请日期:2012年12月4日 优先权日:2011年12月15日
【发明者】R·S·埃尔德, D·M·坎农, M·J·安格林, C·S·道森 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1