访问和复制备份数据对象的制作方法

文档序号:6498105阅读:217来源:国知局
访问和复制备份数据对象的制作方法
【专利摘要】一种技术包括:提供面向存储器具的客户端的接口以访问存储在存储器具上的备份数据对象;以及使用客户端与存储器具通信以控制复制备份数据对象的至少一部分的操作的至少一个方面。
【专利说明】访问和复制备份数据对象

【背景技术】
[0001]出于在网络上的数据(例如,被包含在一个或多个文件中的数据)可能变得遭破坏、被盖写、遭受病毒攻击等的情况下将该数据回复到在先状态的目的,典型的计算机网络可以具有备份和恢复系统。备份和恢复系统典型地包括大容量存储设备,诸如磁带驱动器和/或硬驱动器;并且该系统可以包括物理和/或虚拟可移除存储设备。
[0002]例如,备份和恢复系统可以在磁带上存储备份数据,并且在备份数据到给定磁带的传送之后,磁带可以从它的磁带驱动器移除且存储在诸如防火保险柜之类的安全位置中。可替换地,备份和恢复系统可以是基于虚拟磁带库的系统,其模仿和替换物理磁带驱动系统。以这种方式,利用基于虚拟磁带库的系统,虚拟盒式磁盘代替磁带来存储备份数据。

【专利附图】

【附图说明】
[0003]图1是根据示例实施方式的包括备份和恢复系统的计算机网络的示意图。
[0004]图2是根据示例实施方式的图1的备份和恢复系统所使用的对象储存器的图示。
[0005]图3是根据示例实施方式的在备份会话期间创建的对象储存器中的对象的图示。
[0006]图4是描绘了根据示例实施方式的用于复制备份数据的技术的流程图。
[0007]图5是描绘了根据示例实施方式的用于访问存储在图1的备份和恢复系统上的基于对象的备份数据且控制复制备份数据的操作的至少一个方面的技术的流程图。
[0008]图6是描绘了根据示例实施方式的由图1的备份应用使用的用于调节由备份和恢复系统对数据的复制的技术的流程图。
[0009]图7是描绘了根据示例实施方式的由图1的备份应用使用的用于搜索和/或成组存储在备份和恢复系统上的数据对象的技术的流程图。

【具体实施方式】
[0010]图1描绘了包括备份和恢复系统4以及系统4的一个或多个客户端90的示例计算机网络5,所述客户端90 (在备份会话期间)生成存储在系统4上的备份数据。备份数据可以包括许多类型的数据,诸如应用导出数据、系统状态信息、应用、文件、配置数据等等。一般而言,给定客户端90可以在恢复会话期间访问备份和恢复系统4以回复所选数据并且可能将客户端回复到特定在先状态。作为非限制性示例,一般而言,(一个或多个)客户端90可以是未在图1中图示的网络的服务器。
[0011]依照示例实施方式,备份和恢复系统4包括存储用于(一个或多个)客户端90的备份数据的主存储器具20和存储该备份数据的副本的副存储器具100。以这种方式,出于添加备份安全性的附加层这种目的,主存储器具20可以间或地复制存储在主存储器具20上的备份数据以产生由副存储器具100存储的对应的经复制的备份数据。
[0012]根据特定实施方式,主存储器具20和副存储器具100可以位于相同的设施处并共享本地连接(例如区域网(LAN)连接)或者可以部署在不同位置处且被远程连接(例如经由广域网(WAN)连接)。在图1中描绘的示例中,主存储器具20使用通信链路88与副存储器具100通信。通信链路88表示一种或多种类型的网络构造(即WAN连接、LAN连接无线连接、因特网连接等等)。
[0013](一个或多个)客户端90使用诸如一个或多个总线或其它快速互连之类的通信链路96与主存储器具20通信。通信链路96表示一种或多种类型的网络构造(即WAN连接、LAN连接无线连接、因特网连接等等)。一般而言,(一个或多个)客户端90可以使用一个或多个协议与主存储器具20通信,所述协议诸如是串行附连小型计算机系统接口(SCSI)总线协议、并行SCSI协议、通用串行总线(USB)协议、光纤信道协议、以太网协议等。
[0014]根据特定实施方式,通信链路96可以与相对高带宽(例如LAN连接)、相对低带宽(例如WAN连接)或中间带宽相关联。而且,根据特定实施方式,给定客户端90可以位于主存储器具20的相同设施处或者可以位于与主存储器具20不同的位置处。一个客户端90相对于主存储器具20可以是本地的,另一客户端90可以相对于主存储器具远程定位等等。因此,设想到在所附权利要求的范围内的许多变型。
[0015]依照一些实施方式,主存储器具20、副存储器具100和(一个或多个)客户端90是“物理机器”或实际机器,其由机器可执行指令(即“软件”)和硬件组成。尽管在图1中将主存储器具20、副存储器具100和(一个或多个)客户端90中的每一个描绘为被包含在框中,但是特定物理机器可以是分布式机器,其具有提供分布式和并行处理系统的多个节点。
[0016]依照一些实施方式,物理机器可以位于一个机柜(或机架)内;或者可替换地,物理机器可以位于多个机柜(或机架)中。
[0017]给定客户端90可以包括这样的硬件92,如一个或多个中央处理单元(CPU) 93和存储机器可执行指令93、应用数据、配置数据等等的存储器94。一般而言,存储器94是非瞬变存储器,其可以包括半导体存储设备、磁存储设备、光学存储设备等等。客户端90可以包括各种其它硬件组件,诸如以下各项中的一个或多个:大容量存储驱动器;用于与通信链路96通信的网络接口卡;显示器;诸如鼠标和键盘之类的输入设备;等等。
[0018]给定客户端90可以包括机器可执行指令91,其在被客户端90的(一个或多个)CPU93执行时形成备份应用97。一般而言,备份应用97执行关于针对客户端90的数据的备份和回复的各种功能。作为示例的非穷举列表,由备份应用97执行的功能可以包括以下各项中的一个或多个:生成备份数据;将备份数据传送到主存储器具20 ;访问主存储器具20上的备份数据;搜索和组织主存储器具20上的备份数据的存储;读取、写入和修改备份数据的属性;监视和控制至少部分地被主存储器具20执行以将备份数据复制到副存储器具100上的复制操作的一个或多个方面;执行给定复制操作的一个或多个功能;在恢复会话期间回复客户端20上的数据或系统状态;等等。
[0019]依照本文所公开的示例性实施方式,客户端90可以包括机器可执行指令集,其在被客户端90的(一个或多个)CPU 93执行时形成用于访问备份和恢复系统4的应用编程接口(API) 98。一般而言,出于执行应用97的以上记载的功能之一的目的,API 98被备份应用97用于与主存储器具20通信。
[0020]依照实施方式,客户端90可以包括机器可执行指令集,其形成用于备份应用97的适配器,所述适配器将备份应用97所发布的命令和请求转换成对应的API命令/请求,并且反之亦然。
[0021]给定客户端90可以包括其它各种其它机器可执行指令集,其在被客户端90的(一个或多个)CPU 93执行时执行其它功能。作为示例,给定客户端90可以包含出于形成下述各项的目的的机器可执行指令:操作系统;虚拟机器管理程序;用于控制备份/回复操作的图形用户接口(GUI);设备驱动器;等等。因此,设想到在所附权利要求的范围内的许多变型。
[0022]作为物理机器,主存储器具20还包含硬件60和机器可执行指令68。例如,主存储器具20的硬件60可以包括:一个或多个CPU 62 ;存储机器可执行指令、应用数据、配置数据、备份相关数据等的非瞬变存储器80 (由半导体存储设备、磁存储设备、光学存储设备等形成的存储器);以及存储备份相关数据、应用数据、配置数据等的一个或多个随机存取驱动器63 (光学驱动器、固态驱动器、磁存储驱动器等);一个或多个顺序存取大容量存储设备(例如磁带驱动器);网络接口卡;等等。
[0023]如还在图1中描绘的,机器可执行指令68在被主存储器具20的一个或多个CPU62执行时形成用于器具20的各种软件实体,诸如本文所描述的以下各项中的一个或多个:引擎70、资源管理器74、储存管理器76、去重复引擎73和磁带附连引擎75。
[0024]类似于主存储器具20,副存储器具100也是包含硬件的物理机器,诸如:存储器120 ;—个或多个CPU ;大容量存储驱动器;网络接口卡;等等。而且,副存储器具100还包含用于形成各种应用、设备驱动器、操作系统、控制复制操作的组件等等的机器可执行指令。
[0025]依照本文所公开的实施方式,备份和恢复系统4将备份数据作为“对象”进行管理(例如,相比于依据基于文件的系统将备份数据作为文件进行管理)。如本领域技术人员可以领会到的,“对象”是由如身份、状态和行为这样的性质表征的实体;并且一般而言,对象可以通过机器可执行指令的执行而操纵。特别地,本文所公开的对象的性质可以由备份应用97创建、修改、检索和一般地访问。依照一些实施方式,对象可以具有操作系统限定的最大尺寸。
[0026]存储在备份和恢复系统4中的对象可以被组织在数据容器或“对象储存器”中。一般而言,依照示例性实施方式,对象储存器具有非层级或“平坦”地址空间,使得存储在给定对象储存器中的对象并不被布置在目录类型的组织中。
[0027]对于图1中描绘的示例,主存储器具20以一个或多个对象86的形式存储备份数据,所述对象86被组织或布置到一个或多个对象储存器84中。而且,对于图1中描绘的示例,将对象86和对象储存器84描绘为存储在存储器80中,尽管潜在数据可以存储在主存储器具20的一个或多个大容量存储驱动器中。
[0028]副存储器具100以一个或多个复制对象126的形式存储经复制的备份数据,所述复制对象126被组织或布置在一个或多个对象储存器124中。换言之,从存储在主存储器具20上的对象86导出复制对象126。而且,对于图1中描绘的示例,将对象126和对象储存器124描绘为存储在存储器120中,尽管潜在数据可以存储在副存储器具100的一个或多个大容量存储驱动器中。
[0029]在给定备份会话期间,给定客户端90的备份应用97通过通信链路96访问主存储器具20,以出于在主存储器具20上存储或更新备份数据的目的来创建、修改(例如增补)或盖写一个或多个备份对象86。同样地,在给定回复会话期间,给定客户端90的备份应用97可以访问主存储器具20以检索一个或多个备份对象86。依照一些实施方式,可以从存储在副存储器具100上的对应复制对象126回复主存储器具20上的对象86。
[0030]出于从给定对象86读取或向给定对象86写入的目的,备份应用97打开对象86且然后寻找所打开的对象86的给定位置以读取/写入一系列字节。而且,因为存储在对象86中的数据可以被压缩(如本文进一步公开的那样),所以数据的读取/写入可以包括在没有首先解压缩或再水合(rehydrating)的情况下读取/写入数据;或者读取/写入可以可替换地涉及首先再水合数据。
[0031]一般而言,API 98向备份应用97提供对象储存器84和对象86的呈现,这允许备份应用97搜索对象86、修改对象86、创建对象86、删除对象86、检索关于某些对象86的信息、更新关于某些对象86的信息等等。结合图1来参照图2,作为更具体的示例,API 98可以给备份应用97呈现包含N个对象86 (作为示例描绘的对象86-1……86-N)的给定对象储存器84。一般而言,对象86可以包含在一个或多个备份会话期间生成的数据,诸如备份数据、特定客户端状态的图像、首部数据等等。API 98还向备份应用97呈现对象元数据150,备份应用97可以访问和/或修改所述对象元数据150。一般而言,元数据150是与对象86 —起存储的,并描述关联的对象86的各种性质,以及存储涉及对象86的增加值信息。
[0032]作为示例,元数据150可以针对给定的关联的对象86指示以下各项中的一个或多个:对象类型;时间/日期戳;涉及作业历史的状态信息和对象86与作业历史的关系;针对关联的对象86的标识符;针对关联的对象86的相关对象储存器;关于遗留磁带盒式磁盘存储器内容的等同物的信息;密钥;等等。作为示例,对象类型可以指代针对对象86采用增量备份还是全部备份;标识创建了对象86的备份应用97 ;标识与对象86相关联的客户端90 ;数据类型(作为示例,首部数据、原始备份数据、图像数据);等等。
[0033]对象86的访问和控制经由与主存储器具的引擎70、资源管理器74、储存管理器76、去重复引擎73和磁带附连引擎75的交互而发生。依照一些示例性实施方式,引擎70充当针对通信链路88 和96的外部服务端点以用于数据路径和控制。更具体地,依照一些实施方式,由客户端90发布的命令和请求由引擎70处理,并且反之亦然。作为非限制性示例,由引擎70处理的命令包括打开对象、关闭对象、将数据写入到对象、盖写对象、读取对象、读取对象数据、删除对象、修改/写入关于对象的元数据相关信息、读取关于对象的元数据信息、设置偏好和配置参数等等的命令。请求可以包括例如状态查询请求,诸如例如涉及特定复制作业的状态的请求。引擎70还控制备份和恢复系统4是在低带宽操作模式(以下描述)中操作还是在高带宽操作模式(以下描述)中操作,并且一般而言,引擎70控制复制操作以在副存储器具100上创建/修改复制对象126。
[0034]考虑到资源约束(例如,可用的物理存储器),资源管理器74管理对象86的锁定(即,防止一次由多于一个实体进行修改)。一般而言,资源管理器74保持关于对象访问和修改的一致性,因为对给定对象86的访问可以被多于一个实体并发地请求。
[0035]主存储器具20的储存管理器76负责检索给定对象储存器84、控制可创建和删除对象储存器84的实体、控制对对象储存器的访问、控制如何管理对象储存器84等等。
[0036]主存储器具20的去重复引擎73针对主存储器具的高带宽操作模式(以下描述)控制用于主存储器具20的散列化和组块化操作(同样以下描述)。去重复引擎73还检验是否已经存储组块并由此决定是否存储数据或参考现有数据。依照示例性实施方式,去重复引擎73针对低和高带宽模式二者执行该检验。
[0037]出于将一个或多个对象86的经复制的物理副本存储到物理磁带上的目的,磁带附连引擎75可以被客户端90访问,所述物理磁带被插入到耦合到磁带附连引擎75的物理磁带驱动器(在图1中未示出)中。
[0038]结合图1来参照图3,依照示例性实施方式,备份应用97可以在示例性备份会话期间创建和/或修改对象86的给定集合。对于该示例,在主存储器具20上的示例性对象储存器84-1中创建对象。一般而言,对象86的创建/修改涉及与引擎70、资源管理器74和储存管理器76的交互。
[0039]对于该示例,对象86包括首部对象86-1,其包含针对特定备份会话的首部信息。作为非限制性示例,首部对象86-1可以包含标识在备份会话中使用的其它对象86、标识备份会话、指示是否采用压缩、标识针对数据对象的特定顺序等等的信息。对于该示例,对象86还包括各种数据对象(在图3中描绘的数据对象86-2……86-P),其对应于备份会话的顺序排序的数据片段且可以或可以不被压缩。对于该示例,对象86包括图像对象86-P+1,出于将客户端90回复到给定状态的目的,其可以被用作恢复图像。
[0040]要注意,备份应用97可以随机访问对象86。因此,不同于存储在物理或虚拟顺序访问设备(诸如物理磁带驱动器或虚拟磁带驱动器)上的备份数据,备份应用97可以在对象86到期时选择性地删除与给定备份会话相关联的数据对象86。而且,备份应用97可以修改给定对象86或者将数据增补到对象86,而不管在相同备份会话中创建/修改的其它数据对象86的状态如何。
[0041]出于生成存储在副存储器具100上的复制对象126的目的,备份和恢复系统4使用被称为“去重复操作”的数据复制操作。一般而言,去重复操作减小了原本跨主存储器具20与副存储器具100之间的通信链路88传送的数据的量。当通信链路88与相对低的带宽(诸如,例如,WAN连接)相关联时,这样的减小可以特别有益。
[0042]图4总体上描绘了依照一些实施方式的出于复制存储在主存储器具20上的对象86以产生对应复制对象126的目的的示例复制操作200,所述复制对象126存储在副存储器具100上的对应对象储存器124中。结合图1来参照图4,依照示例性实施方式,复制操作200包括将源数据(即,源对象86的数据)划分(框204)成被称为“组块”的数据块。以这种方式,该划分产生了组块的有序序列,以作为目的复制对象126的一部分存储在副存储器具100上。
[0043]出于减小通过通信链路88传送的数据的量的目的,如果相同组块(即,具有匹配或相同字节模式的组块)已经存储在副存储器具100上,则不跨通信链路88传送该组块。取而代之,对先前存储的组块的参考被存储在其在目的对象中的地方,从而导致数据压缩。
[0044]出于确定给定组块是否已经被存储在副存储器具100上的目的,首先将组块的签名传送到副存储器具100。更具体地,依照示例性实施方式,出于确定(图4中的框208)针对数据的对应唯一散列的目的,可以将加密功能应用到给定候选组块。然后,依据框212,将散列传送到副存储器具100。副存储器具100将所接收的散列与针对其所存储的组块的散列进行比较以确定候选组块的副本是否存储在器具100上,并向主存储器具20通知该确定。
[0045]如果匹配发生(判定框216),则主存储器具20不将候选组块传输到副存储器具100。取而代之,依据框220,主存储器具20将对应的参考传输到已经存储的组块以用在其在目的对象中的地方。否则,如果匹配未发生(依据判定框216),则依据框224,主存储器具20跨通信链路88将候选组块传输到副存储器具100。副存储器具100因此在对应对象126中存储组块或对组块的参考。
[0046]如果存在另一组块要处理(判定框228),则控制返回到框208。因此,以上述方式处理组块,直到源数据已经以其经压缩的形式复制到副存储器具100上为止。由于上述数据去重复操作200而导致的数据减小可以由数据压缩或“去重复”比率来表征。
[0047]再次参照图1,依照示例性实施方式,可以在针对备份和恢复系统4的两个操作模式之一中执行对象86的上述复制:低带宽操作模式;或者高带宽操作模式。对于低带宽操作模式,客户端90执行复制操作的以上参考的组块化和散列化功能。换言之,客户端90将源数据划分成组块;将加密功能应用到组块以生成对应散列;传输散列;以及随后传输组块或对组块的参考,这取决于是否发生匹配。在下述情况下低带宽操作模式可以特别有利:客户端90具有相对高程度的处理能力;通信链路96是相对低带宽链路(例如WAN连接);去重复比率相对高;或者这些因素中的一个或多个的组合有利于客户端90要执行的组块化和散列化。
[0048]在高带宽操作模式中,组块化和散列化功能由主存储器具20执行。在下述情况下高带宽操作模式可以特别有利:主存储器具20具有相对高程度的处理能力,通信链路96具有相对高带宽(例如LAN连接);去重复比率相对低;或者这些因素中的一个或多个的组合有利于主存储器具100要执行的组块化和散列化。
[0049]依照一些实施方式,备份应用97可以指定关于是要采用低带宽操作模式还是要采用高带宽操作模式的偏好。作为示例,可以经由在客户端90与引擎70之间传送的命令来传送该偏好。基于该偏好,引擎70要么依赖于客户端90 (对于低带宽操作模式而言)要么依赖于去重复引擎73 (对于高带宽操作模式而言)来执行组块化和散列化功能。
[0050]结合图1来参照图5,作为概括,依照示例性实施方式,API 98准许备份应用97执行技术250。依据技术250,API 98提供面向存储器具的客户端的接口,依据框254,这允许客户端访问存储在存储器具上的对象(“源对象”)。客户端可以与存储器具通信(框258)以控制复制源对象的至少一部分以产生目的对象的操作的至少一个方面。因此,如上所阐述的,作为示例,依据技术260 (参见图6 ),备份应用97可以访问(框262 )存储在主存储器具20上的对象86并使针对对象86的元数据(框266)指示关于是客户端90还是主存储器具20执行用于对象86的去重复的压缩(组块化和散列化)的偏好。
[0051]要注意,复制可以发生在相同存储器具上的不同对象储存器之间,或者甚至在给定对象储存器内的两个对象之间的数据。尽管可以复制整个对象,但是给定复制操作可以涉及复制给定对象的一部分而非整个对象。而且,可以从来自一个或多个源对象的一个或多个复制区域构造目的对象;并且目的对象可以穿插有从客户端直接备份到目的对象的数据的一个或多个区域。因此,设想到在所附权利要求的范围内的许多变型。
[0052]相比于例如其中备份数据被布置在根据磁带驱动格式存储的文件中的基于虚拟磁带驱动的系统,备份和恢复系统4对对象的使用允许备份数据的相对更丰富的搜索和成组。更具体地,结合图1来参照图7,依据技术270,备份应用97可以访问(框274)存储在主存储器具上的对象,并依据框278,基于关联的元数据来搜索对象和/或使对象成组。
[0053]虽然在本文中已经公开了有限数目的示例,但是受益于本公开的本领域技术人员将从中领会到许多修改和变型。意图在于,所附权利要求覆盖所有这样的修改和变型。
【权利要求】
1.一种方法,包括: 提供面向存储器具的客户端的接口以访问存储在存储器具上的备份数据对象;以及使用客户端与存储器具通信以控制复制备份数据对象的至少一部分的操作的至少一个方面。
2.权利要求1的方法,还包括使用客户端与存储器具通信以存储指示备份数据对象的至少一个性质的元数据。
3.权利要求2的方法,其中所述至少一个性质包括指示以下各项中的至少一个的对象类型: 对象是与全部备份还是增量备份相关联; 创建了备份数据对象的备份应用的身份; 客户端的身份;以及 与备份数据对象相关联的数据类型。
4.权利要求2的方法,其中元数据包括指示与备份数据对象相关联的作业历史的状态数据。
5.权利要求1的方法,还包括使用客户端与存储器具通信以将备份数据对象存储在对象储存器中。
6.权利要求1的 方法,其中使用客户端与存储器具通信包括与存储器具通信以调节是存储器具还是客户端执行连同所述操作的数据压缩。
7.权利要求1的方法,还包括在用于客户端的备份会话中使用客户端与存储器具通信,所述备份会话中的通信包括存储多个对象,所述多个对象包括以下各项中的至少一个: 首部对象; 备份数据对象;以及 恢复状态信息对象。
8.一种装置,包括: 基于处理器的备份应用,其备份在客户端上生成的数据;以及基于处理器的接口,其允许备份应用访问存储在存储器具上的备份数据对象并与存储器具通信以控制复制备份数据对象的至少一部分的操作的至少一个方面。
9.权利要求8的装置,其中备份应用被适配成使用接口来与存储器具通信以存储指示备份数据对象的至少一个性质的元数据。
10.权利要求9的装置,其中所述至少一个性质包括指示以下各项中的至少一个的对象类型: 对象是与全部备份还是增量备份相关联; 创建了备份数据对象的备份应用的身份; 客户端的身份;以及 与备份数据对象相关联的数据类型。
11.权利要求8的装置,其中存储器具是存储系统的一部分,并且备份应用还被适配成在存储系统上执行针对特定对象的搜索。
12.权利要求8的装置,其中存储器具是存储系统的一部分,并且备份应用还被适配成执行使在存储系统上存储的至少两个对象成组在一起的操作。
13.权利要求8的装置,其中备份应用还被适配成使用接口与存储器具通信以调节是存储器具还是客户端执行连同所述操作的数据压缩。
14.权利要求13的装置,其中备份应用还被适配成使用接口与存储器具通信以设置是存储器具还是客户端执行连同所述操作的数据压缩的可盖写偏好。
15.一种包括存储指令的计算机可读存储介质的制品,所述指令在被至少一个处理器执行时使所述至少一个处理器执行下述操作: 提供接口以允许存储器具的客户端访问存储在存储器具上的备份数据对象;以及使用接口与存储器具通信以控制复制备份数据对象的至少一部分的操作的至少一个方面。
【文档编号】G06F12/16GK104081370SQ201280068730
【公开日】2014年10月1日 申请日期:2012年3月15日 优先权日:2012年3月15日
【发明者】P.T.坎布尔, A.托德, D.叙尔 申请人:惠普发展公司,有限责任合伙企业
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1