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