首页> 中国专利> 使用元数据虚拟硬盘驱动器和差分虚拟硬盘驱动器进行备份

使用元数据虚拟硬盘驱动器和差分虚拟硬盘驱动器进行备份

摘要

公开了使用元数据虚拟硬盘(VHD)和差分VHD进行备份的方法和系统。一种特定系统包括存储器设备和备份代理,该存储器设备存储文件,该备份代理被配置成检测对所述文件的改变。该系统包括变换模块和VHD模块,该变换模块被配置成将所检测到的改变变换成VHD格式化的改变,该VHD模块被配置成将VHD格式化的改变写到存储在该存储器设备处的元数据VHD。该VHD模块还被配置成基于该元数据VHD生成差分VHD。该系统处的网络接口被配置成将所述元数据VHD和所述差分VHD传送到远程存储设备。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-11-25

    授权

    授权

  • 2015-08-19

    专利申请权的转移 IPC(主分类):G06F15/16 变更前: 变更后: 登记生效日:20150730 申请日:20101012

    专利申请权、专利权的转移

  • 2012-09-19

    实质审查的生效 IPC(主分类):G06F15/16 申请日:20101012

    实质审查的生效

  • 2012-07-18

    公开

    公开

说明书

背景

随着商业变得更加面向计算机,针对意外数据丢失的保护的重要性增加。 许多企业级数据备份系统包括某种形式的现场(on-site)数据存储。例如,企 业可周期性地将备份数据存储到专用于托管(host)备份数据的数据存储设备 (例如,专用备份存储服务器)。在用户级,用户工作站处的硬盘可被分区(例 如,对半划分),并且存储在主分区中的数据可被周期性地复制到次分区。当 还原主分区时,来自次分区的数据可被复制到主分区。这种备份系统可增加企 业处的数据存储成本(例如,因为购买并维护备份磁盘或其他数据存储)并且 降低企业处的数据存储利用率(例如,因为数据存储容量的一部分专用于备份, 而数据存储容量的减少的部分可用于存储“活动(active)”数据)。

概述

公开了使用元数据虚拟硬盘(VHD)和差分VHD进行备份的系统和方法。 在初始备份操作期间,创建用于计算机系统处的数据卷的备份VHD和与该备 份VHD相对应的元数据VHD。将该备份VHD传送到远程存储位置(例如, 在线云存储位置),而该元数据VHD(其在大小上可显著小于该备份VHD) 被保持在该计算机系统处。当对该数据卷处的文件做出改变时,创建差分VHD, 该差分VHD指示所述改变,并且更新该元数据VHD以反映所述改变。该差分 VHD也可显著小于该备份VHD,因为该差分VHD可只包括文件的自从前一备 份操作起已改变的部分。在后续备份操作期间,该数据卷可被备份而不创建新 的备份VHD。相反,更新后的元数据VHD的副本和该差分VHD可被传送到 该远程存储位置。

通过使用元数据VHD和差分VHD,可备份计算机系统的数据卷而不需要 在该计算机系统处存储备份VHD。此外,该元数据VHD和差分VHD可被用 来在其他计算机系统处还原特定文件,而不将整个备份VHD下载到所述其他 计算机系统。因此,元数据VHD和差分VHD的使用可允许单实例的与机器无 关的备份。例如,多个计算机系统可从单个远程存储的备份VHD恢复文件。

提供本概述以便以简化的形式介绍将在以下详细描述中进一步描述的一 些概念。本概述并不旨在标识所要求保护主题的关键特征或必要特征,也不旨 在用于限制所要求保护主题的范围。

附图简述

图1是示出使用元数据VHD和差分VHD进行备份的系统的一特定实施例 的框图;

图2是示出使用元数据VHD和差分VHD进行备份的系统的另一特定实施 例的框图;

图3是示出图1或图2的元数据VHD的一特定实施例的图示;

图4是示出将前向差分VHD转换为后向差分VHD的方法的一特定实施例 的图示;

图5是示出使用元数据VHD和差分VHD进行备份的方法的一特定实施例 的流程图;

图6是示出使用元数据VHD和差分VHD进行备份的方法的另一特定实施 例的流程图;

图7是示出使用差分VHD支持备份的方法的一特定实施例的流程图;

图8是示出使用差分VHD支持备份(包括将前向差分VHD转换为后向差 分VHD)的方法的另一特定实施例的流程图;以及

图9是计算环境的框图,该计算环境包括可用于支持如图1-8所示的计算 机实现的方法、计算机程序产品和系统组件的实施例的计算设备。

详细描述

在一特定实施例中,公开了一种方法,该方法包括:在计算机系统处的初 始备份操作期间,在该计算机系统的存储设备处创建数据卷的备份VHD,创建 与该备份VHD相对应的元数据VHD,并且将该备份VHD传送到远程存储位 置。该方法还包括检测在该初始备份操作完成后对该数据卷的文件的改变。该 方法还包括基于该元数据VHD创建差分VHD,其中该差分VHD指示对该文 件的改变。该方法包括更新该元数据VHD以反映对该文件的所述改变。该方 法还包括,在该计算机系统处的后续备份操作期间,将经更新的元数据VHD 的副本和该差分VHD传送到该远程存储位置。

在另一特定实施例中,公开了一种计算机系统。该计算机系统包括存储器 设备和备份代理,该存储器设备包括按照文件系统来存储的文件,该备份代理 被配置成检测对所述文件的改变。该计算机系统还包括变换模块,该变换模块 被配置成将所检测的改变变换为VHD格式化的改变。该计算机系统还包括 VHD模块,该VHD模块被配置成将该VHD格式化的改变写到该存储器设备 处存储的元数据VHD并且基于该元数据VHD生成差分VHD。该计算机系统 包括网络接口,该网络接口被配置成将该元数据VHD和该差分VHD传送到远 程存储设备。

在另一特定实施例中,公开了一种计算机可读介质,该计算机可读介质包 括指令,所述指令在由计算机执行时致使该计算机在第一时间点(PIT)接收 备份VHD并且在第二PIT接收第一前向差分VHD。该第二PIT在该第一PIT 之后,并且该第一前向差分VHD指示自从该第一PIT起对该备份VHD的改变。 该计算机可读介质还包括在由该计算机执行时致使该计算机响应于远程客户 端请求将特定文件回退到该第一PIT的指示而将该特定文件从该备份VHD传 送到该远程客户端的指令。该计算机可读介质还包括在由该计算机执行时致使 该计算机响应于接收到该远程客户端请求将该特定文件回退到该第二PIT的指 示而将来自该第一前向差分VHD的该特定文件的已改变部分以及来自该备份 VHD的该特定文件的未改变部分传送到该远程客户端的指令。

应当注意,尽管本文针对虚拟硬盘驱动器(VHD)格式描述了使用元数据 硬件驱动器和差分硬件驱动器的备份,然而所描述的备份方法可与能够定义文 件或块系统的任何格式一起使用。此外,尽管已使用基于Windows的文件系统 (例如,NT文件系统(NTFS)和文件分配表(FAT))示出了该备份方法, 然而该备份方法可与任何文件系统(包括用户定义的文件系统(UDFS))一 起使用。

图1是示出使用元数据虚拟硬盘驱动器(VHD)和差分VHD进行备份的 系统100的一特定实施例的框图。系统100包括计算机系统110,计算机系统 110经由网络130通信地耦合至远程存储位置150。一般而言,系统100可被 用来将计算机系统110的数据卷备份到远程存储位置150。例如,远程存储位 置150可以是在线云存储位置或网络共享(例如,位于另一计算机处、可经由 局域网(LAN)访问、可经由广域网(WAN)访问、或其任何其他组合)。

计算机系统110包括存储器112。例如,存储器112可以是计算机系统112 处的随机存取存储器(RAM)或只读存储器(ROM)。在一特定实施例中, 存储器112是计算机系统112处的数据存储设备,诸如硬盘或可移动存储设备。 存储器112可由计算机系统110利用以存储一个或多个文件116。存储器112 还可存储如本文所述生成和更新的元数据VHD 114。

计算机系统110包括备份代理118、变换模块120、以及VHD模块122。 备份代理118可检测对存储器112处存储的文件116的改变。例如,备份代理 118可检测计算机系统110处的用户已修改文件116中的一个。

变换模块120可将由备份代理118检测的对文件116的改变转换为VHD 格式化的改变。例如,当文件116按照NT文件系统(NTFS)被存储在存储器 112处时,变换模块120可基于与文件116相关联的NTFS目录结构信息和NTFS 文件扩展(extent)信息将备份代理118所检测的改变转换为VHD格式化的改 变。应当注意,仅为说明性目的,本文公开的特征是在NTFS的上下文中解释 的。如本文所述的使用元数据VHD和差分VHD的备份可与其他文件系统一起 使用。

VHD模块122可将由变换模块120产生的VHD格式化的改变写到存储器 112处的元数据VHD 114,以便元数据VHD 114反映由备份代理118检测的对 文件116的改变。元数据VHD 114可在大小上显著小于文件116,因为元数据 VHD 114可包括与文件116相关联的元数据但是不包括文件116的内容。例如, 元数据VHD 114可包括NTFS扩展信息、NTFS重解析点、以及目录结构信息。 在一特定实施例中,不是存储文件116的内容,而是元数据VHD 114包括指向 存储在远程存储位置150处的备份VHD 140内的文件116的相应副本的文件指 针。在备份操作期间,VHD模块122还可基于元数据VHD 114来生成差分 VHD(例如,差分VHD 144)。在一特定实施例中,在特定备份操作期间生成 的差分VHD是前向差分VHD,该前向差分VHD指示自从前一备份操作起对 文件116的改变。在一特定实施例中,差分VHD包括自从前一备份操作起文 件116的已改变部分,但是不包括自从前一备份操作起文件116的未改变部分。 VHD模块122可生成差分VHD而不访问远程存储位置150处的备份VHD 140。

计算机系统110还包括网络接口124。网络接口124可经由网络130将数 据传送到远程存储位置150。例如,网络接口124可以是有线或无线网络接口 (诸如以太网接口或IEEE 802.11无线联网接口),而网络130可以是局域网 (LAN)、广域网(WAN)、或因特网。在计算机系统110处的初始备份操作 期间,网络接口可将备份VHD 140传送到远程存储位置150。在一特定实施例 中,备份VHD 140包括所有文件116的副本。备份VHD 140可被存储在远程 存储位置150处。在后续备份操作期间,网络接口124可将元数据VHD 114 的副本142和差分VHD 144传送到远程存储位置150,其中元数据VHD 114 和差分VHD 144两者均在大小上显著小于备份VHD 140。在一特定实施例中, 远程存储位置150是存储元数据VHD 114的副本142和差分VHD 144的在线 云存储位置。

在操作中,系统100可被用来将数据从计算机系统110高效地备份到远程 存储位置150。例如,在初始备份操作期间,VHD模块122可生成备份VHD 140, 而网络接口124可经由网络130将备份VHD 140传送到远程存储位置150。在 一特定实施例中,在计算机系统110空闲或未在使用中时,备份VHD 140被自 动生成并传送到远程存储位置150。元数据VHD 114还可在初始备份操作期间 生成。

计算机系统110处的备份代理118可检测并跟踪对计算机系统110处的文 件116的改变。例如,备份代理118可维护自从计算机系统110处上次成功完 成的备份操作起对文件116的改变的日志。变换模块120可将由备份代理118 检测的对文件116的改变变换为VHD格式。在后续备份操作(例如,自动调 度的备份操作或用户发起的备份操作)期间,可创建指示对文件116的改变的 差分VHD 144,并且可更新元数据VHD 114以反映对文件116的改变。可将 差分VHD 144以及元数据VHD 114的副本142传送到远程存储位置150。

在第二后续备份操作期间,可基于更新后的元数据VHD 114来创建第二 差分VHD,并且可重新更新更新后的元数据VHD 144,并且可将两次更新后 的元数据VHD 114的副本和第二差分VHD(图1未示出)传送到远程存储位 置150。

可以理解,图1的系统100可通过将备份数据传送到远程存储位置150, 由此增加存储器112处的可用存储空间量,来改善计算机系统110的性能还可 以理解,图1的系统100可通过在初始备份操作期间将较大的备份VHD传送 到远程存储位置150,并且通过在后续备份操作期间将较小的元数据VHD和差 分VHD传送到远程存储位置150,来改善性能。进一步可理解,备份VHD 140、 元数据VHD 114的副本142、以及差分VHD 144可被用来在计算机系统110 处还原文件116。例如,计算机系统110可通过从远程存储位置150处的备份 VHD 140下载文件116中的特定文件,来将该特定文件还原到与初始备份操作 相对应的时间点(PIT)。可通过从备份VHD 140下载该特定文件的未改变部 分并通过从差分VHD 144下载该特定文件的已改变部分到计算机系统110,来 将该特定文件还原到与第一后续备份操作相对应的PIT(例如,处于“已改变” 状态的该特定文件)。可通过从该备份VHD下载该特定文件的未改变部分并 通过从差分VHD 144和第二差分VHD下载该特定文件的已改变部分,来将该 特定文件还原到与第二备份操作相对应的PIT(例如,处于“已两次改变”状 态的该特定文件)。

应当注意,尽管图1中示出的特定实施例示出将数据从计算机系统110备 份到远程存储位置150,然而可以类似方式执行将数据从远程存储位置150到 另一远程存储位置的备份。因此可以理解,图1中示出的备份方法可允许使用 多个远程存储位置(例如在线云存储)的数据重复和数据冗余情形。例如,通 过将数据从计算机系统备份到位于企业处的网络共享(例如,服务器),可针 对该企业处的该计算机系统实现第一层数据冗余。通过将数据从该网络共享 (例如,来自企业处的所有这样的计算机系统的备份数据)备份到在线云存储, 可以实现第二层数据冗余。

图2是示出使用元数据VHD和差分VHD进行备份的系统200的另一特定 实施例的框图。系统200包括经由网络230通信地耦合到在线云存储位置250 的第一计算机系统210和第二计算机系统270。在一说明性实施例中,第一计 算机系统210是图1的计算机系统110,在线云存储位置250是图1的远程存 储位置150,而网络230是图1的网络130。

第一计算机系统210包括存储器212,存储器212按照NT文件系统(NTFS) 来存储文件216。应当注意,仅为说明性目的,本文公开的特征是在NTFS的 上下文中解释的。如本文所述的使用元数据VHD和差分VHD的备份可与其他 文件系统一起使用。存储器212还可包括如本文参考图1的元数据VHD 114 所描述的在备份操作期间生成和更新的元数据VHD 214。第一计算机系统210 可将备份VHD 240、元数据VHD 214的副本242、以及前向差分VHD 244传 送到在线云存储位置250,如本文参考图1的备份VHD 140、元数据VHD 114 的副本142、以及前向差分VHD 144所描述的。

第二计算机系统270包括存储器272。例如,存储器272可按照NTFS文 件系统或文件分配表(FAT)文件系统(诸如FAT16、FAT32、或扩展FAT (exFAT))来存储文件。图2的系统200可被用来在第一计算机系统210处 还原文件,如本文参考图1的计算机系统110所描述的。图2的系统200还可 被用来在第二计算机系统270处还原文件。

在第一计算机系统210处的初始备份操作期间,备份VHD 240可被传送 到在线云存储位置250。在计算机系统210处的后续备份操作期间,元数据VHD 214的副本242和前向差分VHD 244可被传送到在线云存储位置250。文件240、 242和244可被用来将文件216还原到除计算机系统210以外的计算机系统。 例如,第二计算机系统270可生成经还原的文件276(例如,文件216的副本)。 为了将文件216还原到与第一计算机系统210处的初始备份操作相对应的时间 点(PIT),第二计算机系统270可从在线云存储位置250处的备份VHD 240 下载文件216并将它们作为经还原的文件276来存储。为了将文件216还原到 与第一计算机系统210处的后续备份操作相对应的PIT,第二计算机系统270 可从备份VHD 240下载文件216的未改变部分262,并可从在线云存储位置250 处的前向差分VHD 244中的一个或多个下载文件216的已改变部分262。然后 第二计算机系统270可通过将已改变部分262和未改变部分264相组合来生成 经还原的文件276。第二计算机系统270还可从在线存储位置250下载与和经 还原的文件276相关联的PIT相对应的元数据VHD 214的副本,以便对经还原 的文件276的未来改变可被备份到在线云存储位置250,如本文参考第一计算 机系统210所描述的。在一特定实施例中,元数据VHD 214的已下载副本可在 第二计算机系统270处使用以浏览、搜索并启动在备份VHD 250处存储的特定 文件的粒度恢复。在一特定实施例中,这种浏览、搜索和恢复是在第二计算机 系统270处经由应用(例如,操作系统实用程序)执行的。

可以理解,图2的系统200可允许备份数据(例如,文件240、242、和 244)跨多个计算机系统(例如,计算机系统210和270)的共享。因此可以理 解,图2的系统200可允许在多个计算机系统处的高效备份和还原操作。

图3是示出元数据VHD 300的一特定实施例的图示。在一说明性实施例 中,元数据VHD 300代表图1的元数据VHD 114或图2的元数据VHD 214。 应当注意,仅为说明性目的,本文公开的特征是在NTFS的上下文中解释的。 如本文所述的使用元数据VHD和差分VHD的备份可与其他文件系统一起使 用。

在一特定实施例中,元数据VHD 300在基于NTFS扩展的备份方案中使用。 在这种实施例中,元数据VHD 300可包括NTFS扩展信息310。在备份操作期 间,可根据NTFS扩展信息中存储的数据运行指针来将已改变数据写到远程存 储位置。在计算机系统处的还原操作期间,元数据VHD 300可被下载到该计算 机系统,从而允许浏览和选择要还原的单个文件,并且可通过遍历NTFS扩展 信息中存储的数据运行指针来从该远程存储位置下载被选择来还原的文件。

在另一特定实施例中,元数据VHD 300结合基于元数据粉碎的备份方案 使用。在这种实施例中,元数据VHD 300可包括目录结构信息330和文件指针 340。在备份操作期间,目录结构信息330可被更新以反映与元数据VHD 300 相关联的数据卷处的数据改变,并且可根据文件指针340来在远程存储位置处 存储已改变数据。在还原操作期间,可通过遍历文件指针340来获取被选择来 还原的文件。

在另一特定实施例中,元数据VHD 300在基于NTFS重解析点的备份方案 中使用。在这种实施例中,元数据VHD 300可包括NTFS重解析点320和目录 结构信息330。在备份操作期间,目录结构信息330可被更新以反映与元数据 VHD 300相关联的数据卷处的文件改变。在元数据VHD 300处存储的文件名 可以是到在远程存储位置处存储的对应文件的NTFS重解析点320(例如,符 号链接)。在还原操作期间,可通过解决NTFS重解析点320来下载被选择来 还原的文件。

可以理解,不管所使用的特定备份方案如何(例如,NTFS扩展、元数据 粉碎、或NTFS重解析点),元数据VHD 300可允许在计算机系统处的无数据 (dataless)的或减少的本地数据备份。文件数据可改为存储在远程存储位置处。 还可以理解,元数据VHD 300可允许单个文件的选择性浏览和恢复。

图4是示出将前向差分VHD转化为后向差分VHD的方法400的一特定实 施例的图示。如本文参考图1的差分VHD 144和图2的前向差分VHD 244所 描述的,差分VHD的使用可通过包括计算机系统处的文件的已改变部分,而 不包括未改变部分,来改善计算机系统处的备份操作的性能。然而,随着前向 差分VHD的数量的增加(例如,由于连续备份操作),将文件还原到“当前” 状态要花的时间可能增加。例如,如果在备份VHD被创建后发生四个连续的 备份操作,则还原经常更新的文件可包括从在这四个连续的备份操作期间生成 的四个前向差分VHD的每一个中下载该文件的已改变部分。基于来自多个前 向差分VHD的信息来重构经更新的文件可能降低还原或备份操作的总性能。 因此,在一特定实施例中,前向差分VHD(例如,在远程存储位置存储的)可 被转换为如图4所示的后向差分VHD,以通过减少还原操作期间要参考的差分 VHD的数量来改善性能。

为了示出前向差分VHD到后向差分VHD的转换,考虑进行到远程存储位 置的月度备份的计算机系统。在一月的初始备份期间(即,一月PIT),自包 含的备份VHD 402被生成并传送到该远程存储位置。因为文件能被回退到一月 PIT而无需参考其他VHD(例如,差分VHD),所以一月的自包含备份VHD 402 被称为“自包含”的。在二月的第一后续备份操作期间,前向差分VHD 404 被生成并传送到该远程存储位置,其中前向差分VHD 404指示在一月PIT和二 月PIT之间所做的文件改变。类似地,在三月的第二后续备份操作期间,前向 差分VHD 406被生成并传送到该远程存储位置,其中前向差分VHD 406指示 在二月PIT和三月PIT之间所做的文件改变。

为了将特定文件还原到一月PIT,计算机系统可从自包含备份VHD 402下 载该特定文件。为了将该特定文件还原到二月PIT,该计算机系统可从自包含 备份VHD 402下载该特定文件的未改变部分,并从前向差分VHD 404下载该 特定文件的已改变部分。为了将该特定文件还原到三月PIT,该计算机系统可 从自包含备份VHD 402下载该特定文件的未改变部分,并从前向差分VHD 404 和406两者下载该特定文件的已改变部分。

基于对备份和还原模式的观察,可以确定,很大百分比的还原操作涉及将 文件将文件还原到最新近的PIT。例如,在图4中示出的实施例中,很大百分 比的还原操作可包括将文件还原到三月PIT。要注意,每个这样的还原操作可 涉及从多个前向差分VHD(例如,前向差分VHD 404和406)下载数据。为 了改善这种通常发生的还原操作的性能,可将前向差分VHD 404和406还原为 后向差分VHD。

例如,可基于与二月PIT相对应的前向差分VHD 404来更新与一月PIT 相对应的自包含备份VHD 402。所得到的自包含备份VHD 414可允许将文件 还原到二月PIT而不参考其他VHD。在更新操作期间,还创建与一月PIT相对 应的后向差分VHD 412。后向差分VHD 412可有效地描述如何“撤消”在更 新操作期间所做的改变,以使可通过从自包含备份VHD 414下载该文件的已改 变部分并从后向差分VHD 412下载该文件的未改变部分来将文件还原到一月 PIT。与三月PIT相对应的前向差分VHD 416可以是未改变的(例如,与前向 差分VHD 406相同)。

然后可重复该更新操作,从而生成与三月PIT相对应的自包含备份VHD 426和与二月PIT相对应的后向差分VHD 424。与一月PIT相对应的后向差分 VHD 422可以保持未改变(例如,与后向差分VHD 412相同)。因此,针对 三月PIT的通常发生的还原操作可不再涉及参考多个差分VHD(例如,用于一 月和二月中的每一个的前向差分VHD)。

可以理解,如图4所示的将前向差分VHD转换为后向差分VHD可通过减 少通常发生的还原操作期间所参考的差分VHD的数量来改善备份和还原的性 能。例如,一个或多个差分VHD(例如,最近没有用于还原的旧的差分VHD) 可被合并为如图所示的自包含备份VHD,而这些差分VHD可被删除。因此可 以理解,图4的方法400可被用来改善图1的系统100或图2的系统200处的 备份和恢复性能。此外,前向差分VHD到后向差分VHD的转换可在远程存储 位置处(例如,图1的远程存储位置150)处发生而不使用其他计算机系统(例 如,图1的计算机系统110)处的计算资源。

图5是用于示出使用元数据VHD和差分VHD进行备份的方法500的一特 定实施例的流程图。在一说明性实施例中,方法500可以由图1的系统100或 图2的系统200来执行。

方法500包括,在502,在计算机系统处执行初始备份操作。例如,在图 1中,初始备份操作可在计算机系统110处执行。

在初始备份操作期间,方法500包括,在504,在该计算机系统的存储设 备处创建数据卷的备份VHD。例如,在图1中,可创建备份VHD 140,其中 该备份VHD与存储器112处的数据卷相关联,该存储器112包括文件116。方 法500还包括,在初始备份操作期间,在506,创建与该备份VHD相对应的元 数据VHD。例如,在图1中,可创建元数据VHD 114。方法500还包括,在 初始备份操作期间,在508,将该备份VHD传送到远程存储位置。例如,在图 1中,可将备份VHD 140传送到远程存储位置150。

方法500还包括,在510,在完成该初始备份操作后检测对该数据卷的文 件的改变。例如,在图1中,备份代理118可检测对所述文件116中的特定文 件的改变。

方法500还包括,在512,基于该元数据VHD创建差分VHD,其中该差 分VHD指示对该文件的改变。例如,在图1中,VHD模块122可创建差分 VHD 144,其中差分VHD 144指示对所述文件116中的该特定文件的改变。

方法500还包括,在514,更新该元数据VHD以反映对该文件的所述改变。 例如,在图1中,可更新元数据VHD 114。方法500包括,在516,在该计算 机系统处的后续备份操作期间,将经更新的元数据VHD的副本和该差分VHD 传送到该远程存储位置。例如,在图1中,可将元数据VHD 114的副本142 和差分VHD 144传送到远程存储位置150。

可以理解,图5的方法500可允许计算机系统处的无数据或减少的本地数 据备份。还可以理解,图5的方法500可通过将备份数据传送到远程存储位置 来增加该计算机系统处的可用存储空间。

图6是示出使用元数据VHD和差分VHD进行备份的方法600的另一特定 实施例的流程图。在一说明性实施例中,方法600可以由图1的系统100或图 2的系统200来执行。

方法600包括,在602,在计算机系统处执行初始备份操作。例如,在图 1中,初始备份操作可在计算机系统110处执行。

在初始备份操作期间,方法600包括,在604,在该计算机系统的存储设 备处创建数据卷的单实例存储(SIS)备份VHD。例如,在图1中,可创建备 份VHD 140,其中备份VHD 140与存储器112处的数据卷相关联,该存储器 112包括文件116。方法600还包括,在初始备份操作期间,在606,创建与该 备份VHD相对应的元数据VHD。例如,在图1中,可创建元数据VHD 114。 方法600还包括,在初始备份操作期间,在608,将该备份VHD传送到远程存 储位置。例如,在图1中,可将备份VHD 140传送到远程存储位置150。

方法600还包括,在610,在完成该初始备份操作后检测对该数据卷的文 件的改变。例如,在图1中,备份代理118可检测对所述文件116中的特定文 件的改变。

方法600还包括,在612,创建指示对该文件的所述改变的差分VHD。例 如,在图1中,VHD模块122可创建差分VHD 144,其中差分VHD 144指示 对所述文件116中的该特定文件的改变。

方法600还包括,在614,更新该元数据VHD以反映对该文件的所述改变。 例如,在图1中,可更新元数据VHD 114。方法600包括,在616,在该计算 机系统处的后续备份操作期间,将经更新的元数据VHD的副本和该差分VHD 传送到该远程存储位置。例如,在图1中,可将元数据VHD 114的副本142 和差分VHD 144传送到远程存储位置150。

一旦已将备份数据传送到远程存储位置之后,该备份数据可被用来还原文 件。例如,计算机系统处的用户可启动该计算机系统处的还原操作。方法600 还包括,在618,在该计算机系统处还原已改变文件。在该计算机系统处还原 已改变文件包括,在620,从该远程存储位置处的差分VHD下载已改变文件的 一个或多个已改变部分。例如,在图1中,可从远程存储位置150处的差分VHD 144下载所述文件116中的该特定文件的一个或多个已改变部分。在一特定实 施例中,所述文件116中的该特定文件的已改变部分被如本文参考图2的已改 变部分262所描述的那样下载。

在该计算机系统处还原已改变文件还包括,在622,从该远程存储位置处 的该备份VHD下载该文件的一个或多个未改变部分。例如,在图1中,可从 远程存储位置150处的备份VHD 140下载所述文件116的一个或多个未改变部 分。在一特定实施例中,所述文件116中的未改变部分被如本文参考图2的未 改变部分264所描述的那样下载。

在该计算机系统处还原已改变文件还包括,在624,基于该一个或多个已 改变部分和该一个或多个未改变部分来在该计算机系统处生成该已改变文件。 例如,在图1中,可基于该一个或多个已改变部分和该一个或多个未改变部分 来还原文件116。例如,该一个或多个已改变部分和该一个或多个未改变部分 可在该计算机系统处被组合以形成经还原的文件。

图7是示出使用差分VHD支持备份的方法700的一特定实施例的流程图。 在一说明性实施例中,方法700可在图1的远程存储位置150或图2的在线云 存储位置250处执行。

方法700包括,在702,在第一PIT接收备份VHD。例如,参考图2,可 在在线云存储位置250处接收备份VHD 240。

方法700还包括,在704,在该第一PIT之后的第二PIT接收前向差分VHD, 其中该前向差分VHD指示自从该第一PIT起对该备份VHD的改变。例如,参 考图2,在接收备份VHD 240之后,可在在线云存储位置250处接收前向差分 VHD 244中的一个。

方法700还包括支持远程客户端处的还原操作。当在706接收到远程客户 端请求将特定文件回退到该第一PIT的指示时,方法700包括,在708,将该 特定文件从该备份VHD传送到该远程客户端。例如,参考图2,在线云存储位 置250可响应于接收到第二计算机系统270请求将特定文件回退到该第一PIT 的指示而将该特定文件传送到第二计算机系统270。

当在710接收到远程客户端请求将特定文件回退到该第二PIT的指示时, 方法700包括,在712,将该特定文件的已改变部分从该前向差分VHD传送并 将该特定文件的未改变部分从该备份VHD传送到该远程客户端。例如,参考 图2,在线云存储位置250可将已改变部分262和未改变部分264传送到第二 计算机系统270。

如先前参考图4所描述的,将前向差分VHD转换为后向差分VHD可改善 备份和还原操作的性能。图8是示出支持备份差分VHD(包括将前向差分VHD 转换为后向差分VHD)的方法800的另一特定实施例的流程图。在一说明性实 施例中,方法800可在图1的远程存储位置150或图2的在线云存储位置250 处执行。

方法800包括,在802,在第一PIT接收备份VHD。例如,参考图2,可 在在线云存储位置250处接收备份VHD 240。

方法800还包括,在804,在该第一PIT之后的第二PIT接收前向差分VHD, 其中该前向差分VHD指示自从该第一PIT起对该备份VHD的改变。例如,参 考图2,在接收备份VHD 240之后,可在在线云存储位置250处接收前向差分 VHD 244中的一个。

方法800还包括,在806,基于该前向差分VHD来更新该备份VHD并将 该前向差分VHD转换为后向差分VHD。例如,参考图2,可基于前向差分VHD 244中的一个来更新备份VHD 240,而该前向差分VHD可被转换为后向差分 VHD。在一特定实施例中,该更新和转换操作是如本文参考图4的402-426所 描述的那样执行的。

方法800包括支持远程客户端处的还原操作。当在808接收到远程客户端 请求将特定文件回退到该第一PIT的指示时,方法800包括,在810,将该特 定文件的未改变部分从该后向差分VHD传送并将该特定文件的已改变部分从 经更新的备份VHD传送到该远程客户端。例如,参考图2,在线云存储位置 250可将已改变部分262和未改变部分264传送到第二计算机系统270。

当在812接收到远程客户端请求将特定文件回退到该第二PIT的指示时, 方法800包括,在814,将该特定文件从该经更新的备份VHD传送到该远程客 户端。例如,参考图2,在线云存储位置250可响应于接收到第二计算机系统 270请求将特定文件回退到该第二PIT的指示而将该特定文件传送到第二计算 机系统270。

图9描绘了计算环境900的框图,该计算环境包括可用于支持根据本发明 的计算机实现的方法、计算机程序产品和系统组件的实施例的计算设备910。 在一说明性实施例中,计算设备910可包括图1的网络接口124、图1的存储 器112、图1的代理/模块118、120、122、图1的远程存储位置150、图2的 存储器212、272、或图2的在线云存储位置250。图1的网络接口124、图1 的存储器112、图1的代理/模块118、120、122、图1的远程存储位置150、 图2的存储器212、272、或图2的在线云存储位置250中的每一个可包括计算 设备910或其一部分或使用计算设备910或其一部分来实现。

计算设备910包括至少一个处理器920和系统存储器930。取决于计算设 备的配置和类型,系统存储器930可以是易失性的(诸如随机存取存储器,即 “RAM”)、非易失性的(诸如只读存储器(即“ROM”)、闪存以及即使 在未提供电源时也保持已存储数据的类似存储器设备)或两者的某种组合。系 统存储器930通常包括操作系统932、一个或多个应用平台、一个或多个应用 (例如,备份代理934、变换模块936、以及VHD模块938),并且可包括与 该一个或多个应用相关联的程序数据。在一说明性实施例中,备份代理934是 图1的备份代理118,变换模块936是图1的变换模块120,而VHD模块938 是图1的VHD模块122。

计算设备910还可具有附加特征或功能。例如,计算设备910还可包括可 移动和/或不可移动附加数据存储设备,诸如磁盘、光盘、磁带和标准大小的或 微型闪存卡。在图9中通过可移动存储940和不可移动存储950示出这样的附 加存储。在一说明性实施例中,这种附加存储包括图1的存储器112、图2的 存储器212、或图2的存储器272。计算机存储介质可包括以用于存储诸如计 算机可读指令、数据结构、程序组件或其他数据的信息的任何方法和/或技术实 现的易失性和/或非易失性存储器、可移动和/或不可移动介质。系统存储器930、 可移动存储940和不可移动存储950都是计算机存储介质的示例。计算机存储 介质包括,但不限于,RAM、ROM、电可擦除可编程只读存储器(EEPROM)、 闪存或其它存储器技术、紧致盘(CD)、数字多功能盘(DVD)或其它光存 储、磁带盒、磁带、磁盘存储或其它磁性存储设备、或可用于存储信息且可以 由计算设备910访问的任何其它介质。任何这样的计算机存储介质都可以是计 算设备910的一部分。计算设备910也可包括输入设备960,如键盘、鼠标、 笔、语音输入设备、触摸输入设备等等。也可包括输出设备970,如显示器、 扬声器、打印机等等。

计算设备910还包含允许该计算设备910通过有线或无线网络与其它计算 设备990进行通信的一个或多个通信连接980。在一示例性实施例中,网络连 接980包括图1的网络接口120。一个或多个通信连接980还可允许计算设备 910与远程存储位置992通信。在一说明性实施例中,远程存储位置992是图 1的远程存储位置150或图2的在线云存储位置250。

可以理解,并非所有图9所示或以其他方式在先前的附图中描述的组件或 设备都必须支持此处所描述的实施例。例如,输入设备960和输出设备970可 以是任选的。

这里所描述的实施例的说明旨在提供对各实施例的结构的一般理解。说明 不旨在作为利用这里所描述的结构或方法的装置和系统的所有元素和特征的 完整描述。许多其他实施例对本领域的技术人员在审阅本发明后是显而易见 的。也可以利用其他实施例,并从本发明派生出其他实施例,以便可以在不偏 离本发明的范围的情况下作出结构和逻辑上的替换和改变。相应地,本发明和 附图应被视为说明性的,而不是限制性的。

本领域技术人员将进一步理解,结合这里所公开的实施例所描述的各种说 明性逻辑块、配置、模块、以及进程或指令步骤,可以作为电子硬件、计算机 软件或两者的组合来实现。各种说明性组件、框、配置、模块或步骤已经大致 按照其功能来描述。此类功能性是被实现为硬件还是软件取决于具体应用和加 诸于整体系统的设计约束。技术人员可针对每种特定应用以不同方式来实现所 描述的功能集,但此类实现决策不应被解释为致使脱离本公开的范围。

结合此处所公开的各实施例所描述的方法的各个步骤可直接用硬件、由处 理器执行的软件模块、或两者的组合来实现。软件模块可驻留在诸如随机存取 存储器(RAM)、闪存、只读存储器(ROM)、寄存器、硬盘、可移动盘、 CD-ROM、或本领域内已知的任何其他形式的存储介质等计算机可读介质中。 示例性的存储介质耦合到处理器,使得处理器可从存储介质上读取信息,并向 存储介质写入信息。在替换方案中,存储介质可集成到处理器或处理器并且存 储介质可作为分立组件驻留在计算设备或计算机系统中。

虽然这里显示和描述了具体的实施例,但是,应该了解,被设计为实现相 同或类似的目的的任何随后的安排都可以代替所示出的具体实施例。本说明书 计划涵盖各种实施例的任何随后的修改或变化。

提交本发明的摘要的同时要明白,将不用它来解释或限制权利要求的范围 或含义。此外,在前面的具体实施例中,出于将本公开连成一个整体的目的, 各种特征可以组合到一起,或在一个实施例中进行描述。本发明不应被解释为 反映带权利要求的实施例需要比每一个权利要求中明确地记载的特征更多的 特点的意图。相反,如下面的权利要求所反映的,本发明的主题可以涉及少于 所公开的实施例中的任一个的所有特征。

提供前面对各实施例的描述是为了使本领域技术人员能制作或使用各实 施例。对这些实施例的各种修改对于本领域技术人员将是显而易见的,并且本 文中定义的普适原理可被应用于其他实施例而不会脱离本公开的范围。因此, 本发明并不旨在限于此处所示出的各实施例,而是按照与所附权利要求书所定 义的原理和新颖特征相一致的尽可能最宽的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号