从循序存取备份存档中有效恢复数据的制作方法

文档序号:6350910阅读:134来源:国知局
专利名称:从循序存取备份存档中有效恢复数据的制作方法
技术领域
本发明涉及恢复数据,且更具体地涉及用于从一循序存取备份存档中恢复数据的装置及方法。
背景技术
“备份”大体上指代出于复原的目的而创建并维持的原始数据的复本。复本可用于在原始数据丢失或损坏的情况下恢复原始数据。尽管多数备份共享一共同目的,但备份数据的方式(亦称为“数据存储库模型”)可显著不同。在许多情况下,数据存储库模型至少部分地基于所使用存储介质的类型(亦即,备份是存储于磁带、硬盘、光盘上,还是存储于其它类型的存储介质上)。一旦数据经备份,用以复原数据的技术也显著地不同。这种复原技术可至少部分地基于最初存储及建构备份数据的方式。在某些情况下,存储于磁带上的备份缺乏指示数据集存储于备份中的何处或哪些数据集实际包括于备份中的信息(诸如,索引或定位点)。在这种情况下,从备份中恢复特定数据集可能是耗时且资源密集的过程。具体地,在这种情况下恢复数据集可能需要读取备份中的每一数据集以判定数据集是否为待恢复的数据集。在备份含有少量数据集的情况下这可能不是问题。然而,如果备份含有大量数据集,则读取及检查该数据集中的每一个可能显著消耗处理时间及资源。上述问题可以通过经请求待备份的数据集可能不反映实际备份的数据集的事实而严重。该问题也可以通过可改变每一数据集中的数据的量的事实而加剧。因而,搜索技术不能简单地将备份视为固定大小条目的数组以快速转递至一所要的数据集。鉴于前述,需要的是一种从具有上述特性的备份存档中更有效地恢复数据集的装置及方法。另外需要的是为使用由现有存储控制器所支持的搜索命令来有效地搜索所要数据集的装置及方法。另外还需要的是为最小化在执行这种搜索时所利用的处理时间及资源的装置及方法。

发明内容
因此,本发明在第一方面中提供从循序存取备份存档中有效地恢复数据的方法,该方法包含接收识别可能包含于经配置以待被循序地存取的备份存档内的数据集的候选清单;接收识别需要从备份存档中恢复的数据集的筛选清单;从该候选清单及该筛选清单产生识别在搜索备份存档时被忽略的数据集的搜索清单;及在备份存档中循序地执行多个搜索,使得该多个搜索对备份存档共同执行一单通(Single Pass),其中每一搜索从备份存档的最近存取部分开始,且每一搜索在遇到未由该搜索清单明确忽略的数据集后停止。优选地,备份存档存储于磁带驱动上。优选地,每一数据集含有可变量的数据。优选地,该方法进一步包含使用搜索命令起始该多个搜索中的每一个。优选地,该搜索命令接受有限数目的搜索串作为输入。优选地,该多个搜索中搜索的数目取决于通过搜索命令接受为输入的搜索串的数目。优选地,在筛选清单中识别的数据集的数目大于通过搜索命令接受为输入的搜索串的数目。在第二方面中,提供从循序存取备份存档中有效地恢复数据的装置,该装置包含判定模块,其获取识别可能包含于经配置以待被循序存取的备份存档内的数据集的候选清单;判定模块,其获取识别需要从备份存档中恢复的数据集的筛选清单;产生模块,其从候选清单及筛选清单中产生识别在搜索备份存档时将被忽略的数据集的搜索清单;以及搜索模块,其循序地执行对备份存档的多个搜索,使得该多个搜索对备份存档共同执行一单通,其中每一搜索从备份存档的最近存取部分开始,且每一搜索在遇到未由该搜索清单明确忽略的数据集后停止。 优选地,备份存档存储于磁带驱动上。优选地,每一数据集含有可变量的数据。优选地,该装置进一步包含命令产生模块,其产生用于该多个搜索中的每一个的搜索命令。优选地,该搜索命令接受有限数目的搜索串作为输入。优选地,该多个搜索中的搜索的数目取决于通过搜索命令接受为输入的搜索串的数目。优选地,在筛选清单中识别的数据集的数目大于通过搜索命令接受为输入的搜索串的数目。在第三方面中,提供一存储于计算机可读介质上并包含计算机程序代码的计算机程序,该计算机程序代码在加载于计算机系统中并在其上执行时,使该计算机系统执行该第一方面的方法的所有步骤。计算机程序可以体现为从一循序存取备份存档中有效地恢复数据的计算机程序产品,该计算机程序产品包含一具有体现于其中的计算机可用程序代码的计算机可用介质,该计算机可用程序代码包含用以获取识别可能包含于经配置以待被循序地存取的备份存档内的数据集的候选清单的计算机可用程序代码;用以获取识别需要从备份存档中恢复的数据集的筛选清单的计算机可用程序代码;用以从候选清单及筛选清单中产生识别在搜索备份存档时将被忽略的数据集的搜索清单的计算机可用程序代码;以及用以循序地执行对备份存档的多个搜索的计算机可用程序代码,使得该多个搜索对备份存档共同执行一单通,其中每一搜索从备份存档的最近存取部分开始,且每一搜索在遇到未由该搜索清单明确忽略的数据集后停止。在一实施例中可以提供一种从循序存取备份存档中有效地恢复数据的系统,该系统包含主机器件,其获取识别可能包含于经配置以待被循序地存取的备份存档内的数据集的候选清单;该主机器件经进一步配置以获取识别需要从备份存档中恢复的数据集的筛选清单;该主机器件经进一步配置以从候选清单及筛选清单中产生识别在搜索备份存档时将被忽略的数据集的搜索清单;以及一控制器,其循序地执行对备份存档的多个搜索,使得该多个搜索对备份存档共同执行一单通,其中每一搜索从备份存档的最近存取部分开始,且每一搜索在遇到未由该搜索清单明确忽略的数据集后停止。已响应于此项技术的目前状态且特别响应于此项技术中的当前可用装置及方法尚未完全解决的问题及需要而开发本发明。因此,本发明已经开发以提供从循序存取备份存档中有效地恢复数据的装置及方法。本发明的特征及优点将从以下描述及随附权利要求而变得更完全地显而易见,或可通过如下文所述的对本发明的实践来习得此等特征及优点。与前述一致,本文中披露一种用于从循序存取备份存档中有效地恢复数据的方法。在选定实施例中,此方法包括接收识别可能包含于循序存取备份存档内的数据集的候选清单。该方法进一步接收识别需要从备份存档中恢复的数据集的筛选清单。通过使用候选清单及筛选清单,该方法产生识别在搜索备份存档时将被忽略的数据集的搜索清单。该方法接着循序地执行对备份存档的多个“搜索”,使得该多个搜索对备份存档共同执行一单通。当执行这些搜索时,每一搜索从备份存档的最近存取部分开始,且在遇到未由该搜索清单明确忽略的数据集后停止。
本文中亦披露及要求相应系统、装置及计算机程序产品的权利。


图I为示出可实施根据本发明的装置及方法的网络环境的示例的高阶框图;图2为示出可用以从循序存取备份存档中有效地恢复数据的各种模块的高阶框图;图3为示出一种用于从循序存取备份存档中有效地恢复数据的方法的一个实施例的流程图;图4为示出可包括于候选清单、筛选清单、搜索清单、备份清单及恢复清单中的数据集的一个特定示例的图;图5A及图5B示出用于搜索图4中识别的备份存档的一种可能(但非理想)方法;图6A及图6B示出用于搜索图4中识别的备份存档的另一可能(但非理想)方法;及图7A及图7B示出用于搜索图4中识别的备份存档的一种显著更有效的方法。
具体实施例方式易于理解的是,可以广泛多种不同配置来布置及设计如本文中的图中所大体描述及说明的本发明的组件。因而,如图中所表示的本发明的实施例的以下较详细的描述并不意欲限制如所要求权利的本发明的范畴,而是仅表示根据本发明的目前涵盖的实施例的特定示例。目前描述的实施例将通过参考附图而最佳理解,其中贯穿全文相同部件由相同数字指定。本领域技术人员将了解,本发明可体现为装置、系统、方法或计算机程序产品。此夕卜,本发明可采取硬件实施例、经配置以操作硬件的软件实施例(包括固件、常驻软件、微代码等等)、或本文中可大体全部称为“模块”或“系统”的组合软件及硬件方面的实施例的形式。此外,本发明可采取体现于其中存储有计算机可用程序代码的任何有形表达介质中的计算机可用介质的形式。一或多个计算机可用或计算机可读介质的任何组合可用以存储计算机程序产品。举例而言,计算机可用或计算机可读介质可以是(但不限于)电子、磁性、光学、电磁、红外线或半导体系统、装置或器件。计算机可读介质的更具体的示例(非详尽清单)可包括以下各种具有一或多个导线的电连接件、便携型计算机盘片、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦可编程只读存储器(EPR0M或闪存)、光纤、便携型光盘只读存储器(CDROM)、光学存储器件或磁性存储器件。在此文件的上下文中,计算机可用或计算机可读介质可以是可含有、存储或传送由指令执行系统、装置或器件使用或与之结合而使用的程序的任何介质。可以一或多种程序设计语言的任何组合撰写用于进行本发明的操作的计算机程序代码,该一或多种程序设计语言包括诸如Java、Smalltalk、C++等的面向对象的程序设计语言及诸如“C”程序设计语言或类似程序设计语言的传统的过程程序设计语言。类似地,用于进行本发明的操作的计算机程序代码可实施于单一计算机上或可跨越多个计算机(诸如,由网络连接的多个计算机)而实施。下文参考根据本发明的实施例的方法、装置、系统及计算机可用介质的流程图说明和/或框图来描述本发明。应理解的是,可通过计算机程序指令或程序代码来实施流程图说明及/或框图中的每一区块及流程图说明和/或框图中的区块的组合。可将这些计算机程序指令提供至通用计算机、专用计算机或其它可编程数据处理装置的处理器以产生机器,使得经由该计算机或其它可编程数据处理装置的处理器执行的指令创建用于实施流程图和/或框图区块中所指定的功能/动作的构件。这种计算机程序指令也可以存储于计算机可读介质中,该指令可指导计算机或其 它可编程数据处理装置以特定方式起作用,以使得存储于该计算机可读介质中的指令产生包括实施该流程图和/或框图区块中所指定的功能/动作的指令的制品。该计算机程序指令也可以加载至计算机或其它可编程数据处理装置上,以使一系列操作步骤在该计算机或其它可编程装置上执行以产生计算机实施的处理程序,使得在该计算机或其它可编程装置上执行的指令提供用于实施该流程图和/或框图区块中所指定的功能/动作的处理程序。参看图1,说明计算机网络架构100的一个实施例。呈现架构100以示出用于实施根据本发明的装置及方法的各种情况。仅通过示例来呈现架构100且其不意欲为限制性的。实际上,本文中所披露的装置及方法除所示的网络架构100外还可以适用于广泛种类的不同计算机、服务器、存储系统及网络架构。如所示,计算机网络架构100包括通过网络104互连的一或多个计算机102a、102b。网络104可以包括(例如)局域网络(LAN) 104、广域网络(WAN) 104、因特网104、企业内部网络104等。在特定实施例中,计算机102a、102b可以包括客户端计算机102a及服务器计算机102b 二者。大体上,客户端计算机102a起始通信会话,而服务器计算机102b等待来自客户端计算机102a的请求。在特定实施例中,客户端计算机102a和/或服务器102b可连接至一或多个内部或外部直接附接的存储系统112(例如,硬盘驱动、固态磁盘驱动、磁带驱动等)。这些计算机102a、102b及直接附接的存储器件112可使用诸如ATA、SATA、SCSI、SAS、光纤信道等的协议来通信。计算机102a、102b中的任一个或全部可利用本文中所描述的装置及方法来恢复存储器件112中备份的数据。在特定实施例中,计算机网络架构100可包括在服务器102b之后的存储网络108,诸如存储局域网络(SAN) 108或LAN 108 (例如,当使用网络附接的存储时)。这个网络108可将服务器102b连接至一或多个存储系统110,诸如单独的硬盘驱动IlOa或固态磁盘驱动器110a、硬盘驱动或固态磁盘驱动器的数组110b、磁带驱动110c、磁带库110d、⑶-ROM库等。在网络108为SAN的情况下,服务器102b及存储系统110可使用诸如光纤信道(FC)的网络连接标准来通信。计算机102a、102b中的任一个或全部可利用本文中所描述的装置及方法来恢复存储器件110中备份的数据。
参看图2,在选定实施例中,计算机102a、102b (下文中称为主机器件102)可连接至一或多个循序存取存储系统110、112,诸如磁带驱动或磁带库。在特定实施例中,这些循序存取存储系统用以备份存储在主机器件102上或由主机器件102产生的数据。此数据可包括共同称为“备份存档”的一或多个数据集(用以大体上指代档案(file)或数据的其它集合)。可在备份存档中的每一数据集前加上一报头或备份存档中的每一数据集可含有一报头以识别该数据集。图2示出与一循序存取存储器件(在此示例中,磁带驱动IlOc)通信的主机器件102的一个示例。此磁带驱动IlOc可存储备份存档。磁带驱动IlOc仅为循序存取存储器件的一个示例且并不意欲为限制性的。在特定情况下,知道的关于备份存档的内容的仅有信息是可能在存档中的数据集。在特定实施例中,此信息存储于正好在所存储数据集之前的备份存档的开头处。实 际上在备份存档中的数据集是未知的。这至少部分地因为当备份公用程序执行时可能已经意欲用于备份的特定数据集可已经不可用。举例而言,由于存取锁、存取数据集的授权的缺乏或因为各种筛选器可能已经拒绝备份数据集,数据集可能已经不可用。如果数据集最近未修改(例如,在前一天或前一周修改)或者大于或小于某一特定大小,则筛选器(例如)可拒绝数据集备份。无论什么原因,意欲用于备份的一些数据集可能实际上未备份。当试图从此类型的备份存档中恢复数据集时,这产生了挑战。在选定实施例中,一或多个模块可实施于主机器件102中以从具有上述特性的备份存档中恢复数据。这些模块可体现在硬件、经配置以操作硬件的软件、经配置以操作硬件的固件或其组合中。对于本发明而言,这些模块共同地称为数据恢复模块200。在选定实施例中,数据恢复模块200包括候选清单判定模块202、筛选清单判定模块204、搜索清单产生模块206、搜索模块208及分析模块210中的一或多个。候选清单判定模块202可经配置以获取可能包含于备份存档中的数据集的清单(下文中称为“候选清单”)。在特定实施例中,候选清单是从存储在备份存档的开头处的信息获取的。筛选清单判定模块204可经配置以获取经请求恢复的数据集的清单(下文中称为“筛选清单”)。因为实际上在备份存档中的数据集可以是候选清单的子集,所以候选清单及筛选清单可用以识别未包含于备份存档中的数据集。通过使用候选清单及筛选清单,搜索清单产生模块206产生识别在搜索备份存档时将被忽略的数据集的搜索清单。搜索清单基于以下原则而产生尽管备份存档中的数据集的清单未知,但可预先知道未被恢复的数据集的清单。因而,搜索清单含有未被恢复的数据集的清单。图4中说明样本候选清单、筛选清单及搜索清单。将在与图4、图7A及图7B相关联的示例中较详细地解释搜索清单的公用程序。一旦已产生搜索清单,搜索模块208便在备份存档中循序地执行多个搜索,使得多个搜索对备份存档共同执行一单通。执行的每一搜索自备份存档的最近存取部分开始。此外,执行的每一搜索在遇到未由搜索清单明确忽略的数据集后停止。将结合图7A及图7B较详细地解释此技术。在执行搜索时,搜索模块208可产生由循序存取存储器件(在此实例中,磁带驱动IlOc)认识并理解的搜索命令。与搜索模块208相关联的命令产生模块216可产生与磁带驱动110通信所必需的搜索命令。这些命令由磁带控制器212接收,磁带控制器212接着对物理介质(亦即,磁带)执行指定搜索。一旦已执行搜索,磁带控制器212便接着将结果(亦即,数据集)返回至主机器件102。一旦接收到结果,分析模块210便判定所返回的数据集是否为经请求恢复的数据集(通过将其与筛选清单中的数据集进行比较)。若是,则数据恢复模块200恢复该数据集。在选定实施例中,磁带控制器212可以支持搜索命令,该搜索命令允许软件在循序存取磁带中搜索及寻找给定数据集而非必须单独地读取每一数据集。此搜索命令可将有限数目的搜索串接受为输入。如将在图7A及图7B中示出,此命令(连同先前描述的搜索清单)可用以更有效地搜索缺乏指示数据集位于存档中的何处和/或哪些数据集实际上包括于存档中的信息(亦即,索引、定位点、标记等)的备份存档。参看图3,说明用于有效地 搜索具有上述特性的备份存档的方法300的一个实施例。如所示,方法300最初判定如先前所描述的候选清单及筛选清单(302、304)。方法300接着从候选清单及筛选清单中产生搜索清单(306)。如将在图4中所示出,可使用以下逻辑运算来产生搜索清单搜索清单={非(cand_list异或(XOR) filt_list)}。一旦已产生搜索清单(306),方法300便产生第一命令(308),并发送该命令至磁带驱动器IlOc (308)。此命令可用来自搜索清单的搜索串填充,如将关于图7A及图7B较详细地示出。事实上,此命令使磁带控制器212搜索备份存档中的未由所述搜索串中之一识别的第一数据集。当磁带控制器212遇到此数据集时,搜索停止且控制器212将该数据集返回至主机器件102。方法300接着分析此数据集(310)以判定该数据集是否在筛选清单中被识别(312)。如果该数据集在筛选清单中被识别(亦即,是请求恢复的数据集),则方法300恢复该数据集(314)。若在方法300执行期间的任一点处,方法300判定筛选清单中的所有数据集已被恢复(316),则方法300结束,因为没有要寻找的剩余数据集。类似地,方法300在每一搜索后判定是否到达磁带的末端(318)。若已到达磁带的末端,则方法300也结束,因为备份存档中不再有数据集要搜索。若条件316、318均不满足,则方法300产生下一搜索命令(320)并发送该命令至磁带驱动器110c(320)。此命令也可以用来自搜索清单的搜索串填充。此命令将使磁带控制器212启动从备份存档的最近存取部分开始的新搜索。磁带控制器212接着返回其遇到的未由命令内的搜索串识别的第一数据集。如果返回的数据集在筛选清单中被识别,则接着分析(310)并恢复(314)该返回的数据集。方法300继续以上文描述的方式执行搜索并分析结果,直至已恢复筛选清单中的所有数据集或到达磁带的末端为止。参看图4,提供一特定示例以示出图2及图3中所说明的装置及方法的操作。在此示例中,候选清单(“cand_list”)(其识别可能包含于备份存档内的数据集)含有数据集{dl, d2, d3, d4, d5, d6, d7, d8, d9, dl2, dl3, dl4, dl6, dl8, d22, d27, d28, d32}。筛选清单((其识别需要从备份存档中恢复的数据集)含有数据集{d2,d3, d4, d5,d6, d7, dl6, d27, d28, d32}。搜索清单(“srch_list”)(其可使用运算{非 cand_list 异或filt_list)}来计算)含有数据集{!dl, !d8, !d9, !dl2, !dl3, !dl4, !dl8, !d22}。如先前所描述,搜索清单识别在搜索备份存档时应被忽略(亦即,跳过)的数据集。如先前所提及,实际上包含于备份存档中的数据集可以是未知的。对于此示例而言,假定备份存档含有如备份清单(“back_list “)中所示的数据集{dl, d2, d4, d8, d9, dl8, d32}。通过使用筛选清单及备份清单,将从备份存档中恢复的数据集将包括如恢复清单(”rest_list “)中所示的{d2,d4,d32}。实际上,恢复清单将不被知道,直至所有数据集恢复为止。通过使用图4中所示的样本数据,若干不同方法可用以尝试从备份存档中复原筛选清单中识别的数据集。图5A至图7B中说明这种方法。更具体而言,图5A及图5B示出用于搜索备份存档的第一非理想方法(“方法I “)。图6A及图6B示出用于搜索备份存档的第二非理想方法(“方法2”)。最后,图7A及图7B示出用于搜索备份存档的更有效的方法(“方法3”)。参看图5A及图5B,方法I涉及创建搜索经请求恢复的特定数据集报头的搜索准贝U。此方法由于两个原因而提供不良性能。首先,搜索的最小数目等于筛选清单中的数据集的数目除以可在任一时间搜索的数据集的数目。这可能导致待执行的搜索比所必需的搜索多,因为筛选清单中的数据集的数目可能大于恢复清单中的数据集的数目。第二,这种方法可能忽略待恢复的数据集。
举例而言,考虑使用方法I来搜索备份存档500 (如图4的back_list中所示)。对于此示例而言,假定搜索命令可仅将三个搜索串接受为输入。如图5A及图5B中所示,通过使用此方法,使用搜索串(d2、d3及d4)作为输入的第一搜索(SI)将在磁带开头处开始并在遇到匹配所述搜索串中的一个的数据集后停止。在此示例中,第一搜索(SI)将在数据集d2处停止并将其恢复。使用串(d3、d4及d5)作为输入的第二搜索(S2)将从数据集d2的末端继续,并且在数据集d4处停止并将其恢复。使用串(d5、d6及d7)作为输入的第三搜索(S3)将从数据集d4的末端继续。然而搜索S3将失败,因为备份存档500不含有d5、d6或d7。这将使搜索S3遇到磁带的末端,从而需要将磁带倒带至磁带的开始。使用串(dl6、d27及d28)作为输入的第四搜索(S4)将从数据集d4继续但也会失败,因为备份存档500不含有dl6、d27或d28。此搜索也会遇到磁带的末端,从而需要将磁带倒带至磁带的开始。使用串(d32)作为输入的第五搜索(S5)将从数据集d4继续且在数据集d32处停止并将其恢复。如图5A中所示,方法I的主要缺陷在于此方法搜索可能在或可能不在备份存档500中的数据集。这使搜索必须扫描整个备份存档500,以便判定数据集是否匹配搜索准则中所识别的一个数据集。此影响在于随后的搜索必须从备份存档500的开始重新启动搜索。这将可能需要倒带磁带。这是低效的方法并且可能使磁带头多次地忽略磁带的同一区段。 参看图6A及图6B,方法2涉及搜索可以位于备份存档中的任一数据集报头。此方法适用于某些情况但可能在待恢复之数据集的数目(亦即,筛选清单中的数据集的数目)远低于备份存档500中的数据集的数目时不良地执行。举例而言,考虑使用方法2来搜索备份存档500。如图6A及图6B中所示,使用方法2,搜索任何数据集报头的第一搜索(SI)将在数据集dl处停止,但未将其恢复(因为dl不在筛选清单中)。第二搜索(S2)将从数据集dl继续搜索,并且在数据集d2处停止并将其恢复(因为d2在筛选清单中)。第三搜索(S3)将从数据集d2的末端继续搜索,并且在数据集d4处停止并将其恢复。搜索(S4至S7)将以此方式继续,直至筛选清单中的所有数据集被恢复或到达磁带的末端为止。尽管有效,但方法2效率低,因为搜索将在备份存档500中的每一数据集处停止,而不管数据集是否在筛选清单中。以此方式恢复数据集需要读取备份存档500中的每一数据集以判定数据集是否为待恢复的数据集。在备份存档500含有少量数据集的情况下,这可能不是问题。然而,如果备份存档500含有与筛选清单中的数据集的数目有关的大量数据集,则以此方式读取及检查数据集中的每一个可能显著消耗处理时间及资源。在最坏的情况下,待恢复的数据集可以是备份存档500中的最新数据集。参看图7A及图7B,第三更有效方法(“方法3”)涉及搜索可位于备份存档500中的任何数据集报头,同时跳过搜索清单中识别的数据集。此方法将减少或最小化搜索备份存档500所需的搜索的数目,同时仍确保所述搜索对备份存档500共同执行一单通。举例而言,考虑使用方法3搜索备份存档500,假定搜索命令可将三个搜索串接受为输入。如图7A及图7B中所示,使用搜索串(数据集报头&!dl&!d8&!d9)作为输入的第一搜索(SI)将在磁带的开头处开始且在遇到并非为所述搜索串中的一个的任一数据集报头后停止。在此示例中,第一搜索(SI)将跳过数据集dl (因为其为所述搜索串中的一个),并且在数据集d2处停止并将其恢复。使用搜索串(数据集报头&!d8&!d9&!dl2)作为输入的第二搜索(S2)将从数据集d2的末端继续搜索,并且在数据集d4处停止并将其恢复。使用搜索串(数据集报头&!d8&!d9&!dl2)作为输入的第三搜索(S3)将从数据集d4的末端继续。此搜索将跳过数据集d8及d9 (因为它们由搜索串所识别),并且在数据集dl8处停止。然而,dl8将不被恢复,因为其不在筛选清单中。最后,使用搜索串(数据集报头&!d22)作为输入的第四搜索(S4)将从数据集dl8继续搜索,并且在数据集d32处停止并将其恢复。如图7A中所示,可使用此更有效的方法,使用总计四次搜索来遍历整个备份存档500。这是优于方法I (其进行五次搜索)及方法2 (其进行七次搜索)的改善。因此,与方法I及方法2相比,方法3最小化或以其它方式减少搜索备份存档500所需的搜索数目。此夕卜,与方法3相关联的搜索对备份存档500共同执行一单通,由此消除倒带磁带的需要。这是优于方法I的改善,方法I由于失败搜索而需要倒带磁带若干次。因而,与方法I相比,方法3可减少处理时间。附图中的流程图及框图说明根据本发明的各种实施例的系统、方法及计算机可用介质的可能实施的架构、功能性及操作。就此而言,在流程图或框图中的每一区块可表示程序代码的模块、区段或部分,其包含用于实施指定的逻辑功能的一或多个可执行指令。也应注意的是,在一些替代实施方式中,区块中所述的功能可能不以图中所指出的顺序发生。举例而言,取决于所涉及的功能性,连续示出的两个区块实际上可基本上同时执行,或若干区块有时可以相反顺序执行。也应注意的是,框图和/或流程图说明的每一区块及框图和/或流程图说明中的区块的组合可通过执行指定功能或动作的基于硬件的专用系统实施,或通过专用硬件与计算机指令的组合来实施。权利要求
1.一种从循序存取备份存档中有效地恢复数据的方法,该方法包含 接收识别可能包含于经配置从而要被循序地存取的备份存档中的数据集的候选清单; 接收识别需要从该备份存档中恢复的数据集的筛选清单; 从该候选清单及该筛选清单中产生识别在搜索该备份存档时要被忽略的数据集的搜索清单;以及 在该备份存档中循序地执行多个搜索,使得该多个搜索对该备份存档共同地执行一单通,其中每一搜索从该备份存档的最近存取部分开始,并且每一搜索在遇到未由该搜索清单明确忽略的数据集后停止。
2.如权利要求I所述的方法,其中该备份存档存储于磁带驱动上。
3.如权利要求I或2所述的方法,其中每一数据集含有可变量的数据。
4.如权利要求I至3中任一项所述的方法,其进一步包含使用搜索命令起始该多个搜索中的每一个。
5.如权利要求4所述的方法,其中该搜索命令将有限数目个搜索串接受为输入。
6.如权利要求5所述的方法,其中该多个搜索中的搜索的数目取决于由该搜索命令接受为输入的搜索串的数目。
7.如权利要求5所述的方法,其中该筛选清单中所识别的数据集的数目大于由该搜索命令接受为输入的搜索串的数目。
8.一种用以从循序存取备份存档中有效地恢复数据的装置,该装置包含 判定模块,其获取识别可能包含于经配置从而要被循序地存取的备份存档中的数据集的候选清单; 判定模块,其获取识别需要从该备份存档中恢复的数据集的筛选清单; 产生模块,其从该候选清单及该筛选清单中产生搜索清单,该搜索清单识别在搜索该备份存档时要被忽略的数据集;以及 搜索模块,其循序地执行对该备份存档的多个搜索,使得该多个搜索对该备份存档共同地执行一单通,其中每一搜索从该备份存档的最近存取部分开始,并且每一搜索在遇到未由该搜索清单明确忽略的数据集后停止。
9.如权利要求8所述的装置,其中该备份存档存储于磁带驱动上。
10.如权利要求8或9所述的装置,其中每一数据集含有可变量的数据。
11.如权利要求8至9中任一项所述的装置,其进一步包含用以产生用于该多个搜索中的每一个的搜索命令的命令产生模块。
12.如权利要求11所述的装置,其中该搜索命令将有限数目个搜索串接受为输入。
13.如权利要求12所述的装置,其中该多个搜索中的搜索的数目取决于由该搜索命令接受为输入的搜索串的数目。
14.如权利要求12所述的装置,其中该筛选清单中识别的数据集的数目大于由该搜索命令接受为输入的搜索串的数目。
15.一种计算机程序,其存储于一计算机可读介质上并包含计算机程序代码,当该计算机程序代码加载于计算机系统中并在其上执行时,使该计算机系统执行权利要求I至7中任一项的方法的所有步骤。
全文摘要
一种用于从循序存取备份存档中有效地恢复数据的方法,包括接收识别可能包含于循序存取备份存档内的数据集的候选清单。该方法进一步接收识别需要从该备份存档中恢复的数据集的筛选清单。通过使用该候选清单及该筛选清单,该方法产生识别在搜索该备份存档时将被忽略的数据集的搜索清单。该方法接着循序地执行该备份存档的多个搜索,使得该多个搜索对备份存档共同执行一单通。在执行这些搜索时,每一搜索从该备份存档的最近存取部分开始,且在遇到未由该搜索清单明确忽略的数据集后停止。本文中亦披露相应系统、装置及计算机程序产品。
文档编号G06F11/14GK102640117SQ201080048037
公开日2012年8月15日 申请日期2010年8月31日 优先权日2009年10月24日
发明者A.N.维尔特, 小罗伯特.S.根斯勒 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1