合并关于备份存储装置中的文件的元数据的系统和方法

文档序号:7969220阅读:110来源:国知局
专利名称:合并关于备份存储装置中的文件的元数据的系统和方法
技术领域
本发明涉及一种用于合并关于备份存储装置中的文件的元数据的方法、系统和程序。
背景技术
在网络备份环境中,客户端系统可以通过网络将数据备份在远程存储设备中,并且与备份服务器协同备份。例如,国际商业机器公司(″IBM″_)Tivoli_存储管理器产品为客户端和服务器系统提供软件,以备份客户端数据。(IBM和Tivoli是IBM的注册商标)。客户端将文件从其文件系统传输到备份服务器。备份服务器维护备份数据库,其具有关于发送到备份服务器的、存储在备份存储装置中的文件的信息。备份服务器可以将文件聚集到备份集合中,并且将关于备份集合的信息添加到备份数据库。
可以将备份集合存储在顺序介质上,例如,磁带卷或顺序文件卷。备份集合可以包括客户端文件的时间点或快照备份。备份服务器通过使用客户端的有效备份文件将客户端的归档文件拷贝到备份集合对象而形成备份集合。可以将备份集合作为一个对象来管理,其中文件结构保持在备份集合之内。包括在备份集合内的文件,在包括那些相同文件的备份集合过期(expire)之前,可能在备份存储装置中过期。
为了从备份服务器处的文件恢复数据,客户端节点的管理员可以向备份服务器查询关于客户端文件的信息。为了从备份集合恢复文件,客户端节点的管理员必须单独访问备份集合并在其中搜索感兴趣的文件,然后从备份集合恢复数据。此外,可以将备份集合传输到客户端节点,以在客户端站点执行从备份集合的恢复操作。

发明内容
提供了一种用于合并关于备份存储装置中的文件的元数据的方法、系统和程序。从客户端节点的文件系统接收对关于文件的信息的查询。确定在备份存储装置中存储在备份集合之外的、针对该客户端节点的文件的元数据。处理该备份存储装置中的、针对该客户端节点的至少一个备份集合,以确定包括在至少一个备份集合内的文件的元数据。合并所确定的针对该备份存储装置中的文件、以及针对包括在至少一个备份集合内的文件的元数据,以形成合并元数据。针对该合并元数据执行查询,以确定其元数据满足该查询的文件。返回结果,其包括来自该合并元数据的、关于所确定文件的信息。


图1示出了网络计算环境的实施例。
图2示出了备份集合的实施例。
图3示出了备份集合元数据的实施例。
图4示出了文件元数据的实施例。
图5示出了文件的合并元数据的实施例。
图6示出了由备份服务器执行以查询用于客户端节点的备份文件的操作的实施例。
图7示出了由备份服务器执行以将所选文件返回到客户端节点以便恢复的操作的实施例。
图8示出了计算机体系结构的实施例。
具体实施例方式
图1示出了网络计算环境的实施例。客户端节点2包括计算机系统,其包括备份客户端4程序,该备份客户端4程序与在服务器8计算机系统中执行的备份服务器程序6协同备份和归档操作。备份客户端4可以通过网络16将存储在客户端存储装置14中的、客户端文件系统12内的客户端文件10传输到备份服务器6。备份服务器6在备份存储装置22中对客户端文件18和包括客户端文件的备份集合20进行归档。备份服务器6在备份数据库24中存储文件元数据26、备份集合元数据28、以及合并元数据30,其中文件元数据26具有关于备份存储装置22中的客户端文件18的信息,其中客户端文件18与任何备份集合相独立地存储在备份存储装置22中,并且备份集合元数据28具有关于备份存储装置22中的备份集合20的信息。对于网络16中的每个客户端节点2,可以存在合并元数据30的一个实例或表。对于分别针对每个客户端节点维护的每个文件和备份集合,存在文件元数据26和备份集合元数据28的一个实例。
与备份服务器6通信的客户端节点2可以包括在本领域内公知的适当计算设备,例如,服务器、台式计算机、工作站、大型机、手持式计算设备、电话设备等。可以存在具有客户端存储装置14的客户端节点2的多个实例。客户端存储装置14可以包括由客户端2使用的初级存储设备,例如,一个或多个硬盘驱动器。远程备份存储装置22可以包括在本领域内公知的存储设备如包括多个存储设备的存储系统,例如,互连的硬盘驱动器(独立盘冗余阵列(RAID)、简单盘集群(JBOD)、直接存取存储设备(DASD)、以环路配置(串行环路、光纤通道仲裁环路)连接的盘、磁带库、光库、连网存储装置(NAS)等。网络16可以包括广域网(WAN)、局域网(LAN)、存储区域网(SAN)、无线网络、因特网、内联网、对等网络等。备份数据库24可以包括关系数据库或在本领域内公知的其它适当数据库。
备份客户端4和备份服务器6可以包括与客户端-服务器备份程序一起包括的程序,例如,IBM TSM备份管理器、或由不同的计算机厂商提供的客户端-服务器备份程序。
图2示出了一个备份集合20的实例的实施例,包括如下客户端节点信息42,其识别其文件包括在备份集合20中的客户端节点;备份集合标识符(IDD)44;创建备份集合的日期和时间的时间戳46(或备份集合中的文件的最近时间戳);文件元数据48,其具有关于包括在备份集合20内的文件49的信息。文件元数据48可以包括文本文件、结构化文件(例如,扩展标记语言(XML)文件等)等,其包括关于备份集合20中的每个文件49的信息,例如,文件名称、在客户端文件系统12中的位置、时间戳等。以这种方式,可以以与不包括在备份集合内的文件的文件元数据26不同类型的数据结构诸如文本文件、结构文件来维护备份集合20中的文件元数据48,其中可以将文件元数据26作为备份数据库24中的一个或多个表内的条目来维护。在可选实施例中,可以以相同类型的数据结构来维护文件元数据26和28。可以以包括文件元数据26的、例如数据库表的相同类型的数据结构来包括合并元数据30。
图3示出了在备份数据库24中为每个备份集合20维护的、具有关于备份集合20的信息的备份集合元数据28的实例的实施例,其包括客户端节点信息52,识别其文件被包括在备份集合20中的客户端节点;备份集合标识符(ID)54;备份存储装置22中的备份集合的位置56;以及创建备份集合的日期和时间的时间戳58(或备份集合中的文件的最近时间戳)。
图4示出了在备份数据库24中维护的、具有关于存储在备份集合之外的客户端文件18的信息的文件元数据26的实例的实施例。以这种方式,可以在备份存储装置22中将客户端文件18存储在任何备份集合之外,并且也可以同时将其存储在备份集合内。此外,单独存储在备份存储装置22中的文件可能在包括该过期文件的备份集合过期之前过期。文件元数据26的实例可以包括客户端节点信息72,识别该文件源自的客户端节点;文件名称74;文件18在备份存储装置22中的位置76;以及该文件的时间戳28。
图5示出了用于客户端节点2的合并元数据30中的一个文件的合并元数据80的实例的实施例,其中该合并元数据80如下所述从用于客户端节点的文件元数据26、以及用于该客户端节点的备份集合20中的文件元数据48形成。合并元数据条目80可以包括备份数据库24中的表,并且包括客户端节点信息82,识别该文件源自的客户端节点;文件名称84;文件18在备份存储装置22中的位置86,其中该位置可以识别其中包括该文件的备份存储装置22中的路径或备份集合20;以及该文件的时间戳28。
图6示出了由备份服务器6执行以处理来自备份客户端4的对文件的查询的操作的实施例,其中该查询可以在客户端使用恢复API 32时启动。响应于从客户端节点2的文件系统12接收到对关于归档文件的信息的查询(在块100),备份服务器6确定该查询例如恢复API 32是否包括用于合并元数据30的标记(token)(在块102)。如果否,则备份服务器6确定是否合并元数据的匹配集合已经存在、或者已经正在对客户端节点的文件创建它(在块104)。如果否,则备份服务器6针对客户端节点2确定备份存储装置22中的归档文件18的元数据实例26(在块106)。备份服务器6还针对客户端节点2处理备份存储装置22中的任何备份集合20,以针对客户端节点2确定备份集合20的文件元数据48中的文件的元数据(在块108)。备份服务器6可以处理备份数据库24,以从其客户端节点信息52与提交该查询的客户端节点2相匹配的备份集合元数据28(图3)确定客户端节点2的备份集合20。
如果(在备份集合中和/或在备份存储装置中)存在任何文件的多个版本(在块110),则选择具有多个版本的文件的最近版本的元数据(在块112),以包括在正被创建的合并元数据80中,即,最近添加到备份存储装置22或备份集合20的文件。如果不存在文件的多个版本(在块110),或者在选择具有多个版本的文件的最近版本(在块112)之后,则备份服务器6将所确定的针对以下文件的元数据合并到该查询的一个合并元数据实例80中,即,备份存储装置22中的单独文件即未被包括在任何备份集合内的文件,以及包括在一个或多个备份集合20内的文件。在备份集合文件元数据48的格式例如文本或结构文件不同于文件元数据26的格式例如数据库表的实施例中,备份服务器6然后可以扫描文件元数据48,以确定关于客户端节点的备份集合20中的文件的信息,然后针对所处理的备份集合28中的每个文件,在数据库24中的合并元数据30表内创建合并元数据实例80。
备份服务器6生成识别备份数据库24中用于客户端节点20的合并元数据30的标记(在块116)。针对合并元数据30执行查询,以确定其元数据80满足该查询的文件(在块118)。备份服务器6将结果返回到请求客户端节点2(在块120),该结果包括来自合并元数据30的、关于所确定的满足该查询的文件的信息、以及合并元数据30的当前标记。
如果来自客户端节点2的查询包括用于合并元数据30的标记(在块102),则备份服务器6确定该标记是否过期(在块122)。如果自从创建该标记或者自从接收到来自客户端节点2的最近查询以来过去了预定时间,则该标记可能过期。如果该标记没有过期(在块122),则备份服务器6使用该标记以访问客户端节点2的合并元数据30(在块124),并且继续到块112以执行该查询。如果该标记过期(在块122),则控制继续到块104等,以使用现有匹配的合并元数据30、或者为客户端节点2生成新的合并元数据30和新标记。
通过所述实施例,使用响应于第一查询而返回的标记,客户端节点2将后续查询提交到备份服务器6,如果备份服务器6为最近刷新的合并元数据30生成并且提供新的标记,则备份客户端4将新标记用于另外的查询。
图7示出了由备份服务器6执行以处理由备份客户端4提交的、来自客户端节点2的恢复请求的操作的实施例,其中恢复请求可以提供用于客户端节点2的合并元数据30的标记。一旦接收到包括用于客户端的合并元数据标记的标记的、恢复选定文件的请求(在块150),备份服务器6就根据用于合并元数据30中的选定文件的元数据80(图5),确定在备份存储装置22中或在备份存储装置22的备份集合20内的选定文件的位置86(在块152)。如果要恢复的选定文件在备份集合20内(在块154),则备份服务器6处理备份集合20,以从备份集合20内的文件49访问选定文件(在块156)。否则,如果选定文件不在备份集合内,则备份服务器6直接从备份存储装置22内的所指示位置86(图5)访问选定文件(在块158)。然后,将所访问的文件(来自块156或158)返回到客户端节点2,以恢复到客户端文件系统12(在块160)。该处理可以应用于要恢复的一个或多个文件的选择。
所述实施例提供了一种技术,其用于维护单独位于存储装置中或包括在备份集合内的文件的合并元数据,使得可以针对合并元数据执行查询。可以从不同类型的数据结构例如关系数据库、文本文件等访问包括在合并元数据内的文件元数据,并且可以将其归并到公共的合并元数据数据结构例如表中。通过所述实施例,客户端可以仅仅提供单个查询,以访问在不同的数据结构和不同类型的数据结构中维护其元数据的文件。
附加实施例细节所述操作可以被实现为使用标准编程和/或工程技术来生产软件、固件、硬件或其任何组合的方法、设备或产品。所述操作可以被实现为在“计算机可读介质”中维护的代码,其中处理器可以从计算机可读介质读取并执行代码。计算机可读介质可以包括诸如磁存储介质(例如,硬盘驱动器、软盘、磁带等)、光学存储装置(CD-ROM、DVD、光盘等)、易失性和非易失性存储器装置(例如,EEPROM、ROM、PROM、RAM、DRAM、SRAM、闪存、固件、可编程逻辑电路等)等的介质。实现所述操作的代码还可以在硬件逻辑电路中实现(例如,集成电路芯片、可编程门阵列(PGA)、专用集成电路(ASIC)等)。另外,实现所述操作的代码可以在“传输信号”中实现,其中传输信号可以通过空间或者通过诸如光纤、铜线等的传输介质来传播。在其中编码了代码或逻辑的传输信号还可以包括无线信号、卫星传输、无线电波、红外线信号、蓝牙等。在其中编码了代码或逻辑的传输信号能够由发射站发射并且由接收站接收,其中可以对在传输信号中编码的代码或逻辑进行解码,并且将其存储在接收和发射站或设备的硬件或计算机可读介质中。“产品”包括可以在其中实现代码的计算机可读介质、硬件逻辑和/或传输信号。在其中编码了实现所述操作实施例的代码的装置可以包括计算机可读介质或硬件逻辑。当然,本领域的技术人员将认识到,可以对该配置进行很多修改,而不背离本发明的范围,并且产品可以包括在本技术领域内公知的适合信息承载介质。
图8示出了可以在客户端节点2和服务器8处实现的计算机体系结构200的实施例。体系结构200可以包括处理器202(例如,微处理器)、存储器204(例如,易失性存储器装置)、以及存储装置206(例如,非易失性存储装置,例如磁盘驱动器、光盘驱动器、磁带驱动器等)。存储装置206可以包括内部存储装置或附连或网络可访问的存储装置。以在本领域内公知的方式,将存储装置206中的、包括操作系统和应用程序的程序装载到存储器204中,并且由处理器202执行。该体系结构还包括网卡208,以支持与网络的通信。输入装置210用来向处理器202提供用户输入,并且可以包括键盘、鼠标、输入笔、麦克风、接触敏感显示屏、或者在本领域内公知的任何其它激活或输入机构。输出装置212能够呈现从处理器202或其它组件传送的信息,例如显示监视器、打印机、存储装置等。
除非另外特别指出,术语“实施例(an embodiment)”、“实施例(embodiment)”、“多个实施例(embodiments)”、“本实施例(theembodiment)”、“这些实施例(the embodiments)”、“一个或多个实施例”、“一些实施例”、以及“一个实施例”意味着“本发明的一个或多个(而非全部)实施例”。
除非另外特别指出,术语“包括(including)”、“包括(comprising)”、“具有(having)”及其变化形式意味着“包括但不限于”。
除非另外特别指出,项目的枚举列表不意味着这些项目中的任何或所有项目是互斥的。
除非另外特别指出,术语“a”、“an”和“该(the)”意味着“一个或多个”。
除非另外特别指出,相互通信的设备无需处于连续的相互通信。另外,相互通信的设备可以直接地或通过一个或多个中介物间接地通信。
具有相互通信的若干组件的实施例的描述并不意味着需要所有这样的组件。相反,描述了各种可选组件是为了说明本发明的各种可能实施例。
此外,虽然可以按照顺序描述处理步骤、方法步骤、算法等,但是这些处理、方法和算法可以被配置成以替代次序工作。换句话说,可以描述的任何步骤顺序或次序不一定表示以该次序执行步骤的要求。这里所述的处理步骤可以以任何实际次序执行。此外,可以同时执行一些步骤。
当这里描述了单个设备或物品时,应当容易地清楚,可以使用多于一个设备/物品(无论它们是否协作)来代替单个设备/物品。类似地,当这里描述了多于一个设备或物品(无论它们是否协作)时,应当容易地清楚,可以使用单个设备/物品来代替该多于一个设备或物品,或者可以使用不同数目的设备/物品来代替所示数目的设备或程序。设备的功能性和/或特征可以可选地由未被显式地描述为具有这样的功能性/特征的一个或多个其它设备实施。这样,本发明的其它实施例无需包括设备本身。
图6和7的所示操作示出了以特定次序发生的特定事件。在可选实施例中,可以以不同的次序执行、修改或删除特定操作。此外,可以将步骤添加到上述逻辑,并且仍然遵循所述实施例。此外,可以顺序地发生这里描述的操作,或者可以并行地处理特定操作。另外,可以由单个处理单元或者由分布式处理单元执行操作。
本发明的各个实施例的前面描述是为了说明和描述的目的而提供的。它不意欲是穷尽性的,或者将本发明局限于所公开的确切形式。鉴于上面教导,很多修改和变化是可能的。本发明的范围不意欲由本详细描述限制,而是由所附权利要求限制。上面说明书、示例和数据提供了本发明的组成的制造和使用的完整描述。由于可以产生本发明的很多实施例而不脱离本发明的精神和范围,因此本发明居于所附权利要求之内。
权利要求
1.一种方法,包括从客户端节点的文件系统接收对关于文件的信息的查询;确定在备份存储装置中存储在备份集合之外的、针对该客户端节点的文件的元数据;处理该备份存储装置中的、针对该客户端节点的至少一个备份集合,以确定包括在至少一个备份集合内的文件的元数据;合并所确定的针对该备份存储装置中的文件、以及针对包括在至少一个备份集合内的文件的元数据,以形成合并元数据;针对该合并元数据执行查询,以确定其元数据满足该查询的文件;以及返回结果,其包括来自该合并元数据的、关于所确定文件的信息。
2.如权利要求1所述的方法,其中存储在备份集合之外的文件的元数据包括在备份数据库中,其中每个备份集合中的文件的元数据包括在备份集合中,并且其中合并元数据存储在数据库中的表内,并且其中针对该数据库中的该表执行该查询。
3.如权利要求2所述的方法,其中该备份数据库中的文件的元数据、以及该合并元数据存储在第一种数据结构中,并且其中该备份集合中的文件的元数据在第二种数据结构中。
4.如权利要求1所述的方法,还包括生成识别该合并元数据的标记;以及从该客户端节点接收具有该标记的后续查询,其中该标记用来针对由该标记识别的合并元数据执行该后续查询。
5.如权利要求1所述的方法,还包括从该客户端节点接收恢复在所返回的结果中指示的选定文件的请求;根据该合并元数据,确定该选定文件在该备份存储装置中或在该备份存储装置中的备份集合内的位置;从所确定的位置访问该选定文件;以及将所访问的选定文件返回到该客户端节点。
6.如权利要求4所述的方法,还包括将所生成的标记返回到该客户端节点,其中该客户端节点向该客户端节点的后续文件查询提供该标记。
7.如权利要求4所述的方法,还包括确定从该客户端节点接收的标记是否过期;以及响应于确定了所接收的标记已过期,执行以下操作的另外实例,即针对客户端节点确定备份存储装置中的文件的元数据,确定针对包括在至少一个备份集合内的文件的元数据,以及合并所确定的针对该备份存储装置中的文件、以及针对包括在至少一个备份集合内的文件的元数据,以形成合并元数据。
8.如权利要求7所述的方法,还包括为响应于确定所接收的标记过期而形成的合并元数据,生成新标记;以及将该新标记返回到该客户端节点,以用于该客户端节点的后续文件查询。
9.如权利要求1所述的方法,其中针对多个客户端节点执行以下步骤接收查询,确定该备份存储装置中的文件的元数据,处理该备份存储装置中的至少一个备份集合以确定包括在该至少一个备份集合内的文件的元数据,以及合并所确定的针对该备份存储装置中的文件、以及针对包括在至少一个备份集合内的文件的元数据,以形成合并元数据,其中包括维护客户端节点的合并元数据的多个实例。
10.如权利要求9所述的方法,还包括确定是否存在先前存在的合并元数据,其具有该客户端节点的文件的元数据;以及响应于确定存在先前存在的合并元数据而返回结果,该结果包括来自所确定的先前存在的合并元数据的、关于所确定文件的信息,其中响应于确定不存在先前存在的针对该客户端节点的文件的合并元数据,执行以下操作确定该备份存储装置中的文件的元数据,处理该至少一个备份集合,合并所确定的元数据,以及执行查询。
11.一种在网络上与客户端节点通信的系统,其包括处理器;备份存储装置,包括文件和备份集合;计算机可读介质,包括由该处理器执行以执行操作的代码,该操作包括从该客户端节点的文件系统接收对关于文件的信息的查询;确定在该备份存储装置中存储在备份集合之外的、针对该客户端节点的文件的元数据;处理该备份存储装置中的、针对该客户端节点的至少一个备份集合,以确定包括在至少一个备份集合内的文件的元数据;合并所确定的针对该备份存储装置中的文件、以及针对包括在至少一个备份集合内的文件的元数据,以形成合并元数据;针对该合并元数据执行查询,以确定其元数据满足该查询的文件;以及返回结果,其包括来自该合并元数据的、关于所确定文件的信息。
12.如权利要求11所述的系统,还包括备份数据库,其中存储在备份集合之外的文件的元数据包括在该备份数据库中,其中每个备份集合中的文件的元数据包括在该备份集合中,并且其中该合并元数据存储在该数据库中的表内,并且其中针对该数据库中的该表执行该查询。
13.如权利要求12所述的系统,其中该备份数据库中的文件的元数据、以及该合并元数据存储在第一种数据结构中,并且其中该备份集合中的文件的元数据在第二种数据结构中。
14.如权利要求11所述的系统,其中该操作还包括生成识别该合并元数据的标记;以及从该客户端节点接收具有该标记的后续查询,其中该标记用来针对由该标记识别的合并元数据而执行该后续查询。
15.如权利要求11所述的系统,其中该操作还包括从该客户端节点接收恢复在所返回的结果中指示的选定文件的请求;根据该合并元数据,确定该选定文件在该备份存储装置中或在该备份存储装置中的备份集合内的位置;从所确定的位置访问该选定文件;以及将所访问的选定文件返回到该客户端节点。
全文摘要
本发明提供了一种用于合并关于备份存储装置中的文件的元数据的方法、系统和程序。从客户端节点的文件系统接收对关于文件的信息的查询。确定在备份存储装置中存储在备份集合之外的、针对该客户端节点的文件的元数据。处理该备份存储装置中的、针对该客户端节点的至少一个备份集合,以确定包括在至少一个备份集合内的文件的元数据。合并所确定的针对该备份存储装置中的文件、以及针对包括在至少一个备份集合内的文件的元数据,以形成合并元数据。针对该合并元数据执行查询,以确定其元数据满足该查询的文件。返回结果,其包括来自该合并元数据的、关于所确定文件的信息。
文档编号H04L12/24GK1976283SQ20061013731
公开日2007年6月6日 申请日期2006年10月17日 优先权日2005年12月1日
发明者马克·艾伦·哈叶, 马修·约瑟夫·安格林, 肯尼思·欧格尼·汉尼甘, 阿维夏·海姆·霍奇伯格 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1