恢复用户界面的时间线体验的制作方法

文档序号:6349572阅读:139来源:国知局
专利名称:恢复用户界面的时间线体验的制作方法
恢复用户界面的时间线体验背景计算机备份系统通常在各种时间存储文件的版本。某些备份系统可以一天一次存储文件,通常在晚上。其他备份系统可以例如每小时存储文件。在很多情况下,文件可以根据文件系统来存储,通过该文件系统可以访问文件。当备份典型的文件系统时,备份实例可包括带有可以在其中组织文件的目录或文件夹的层次结构的文件系统。每一次进行备份操作时,文件的新版本可以存储在备份数据库中。在很多情况下, 备份数据库可包括文件系统的许多版本,某些实例具有文件或文件系统的数十或者甚至数百个版本。可以使用备份系统来从前一版本恢复一个或多个文件、文件系统的某些部分,或整个文件系统。在一种使用情况下,用户可能意外地删除文件或对文件进行稍后后悔的更改。用户可能希望将文件恢复到前一版本,并可以标识备份系统中的文件,然后,导致文件的更老的版本被恢复。概述备份恢复系统可以在图形用户界面中呈现文件的两个或更多版本。用户可以检查这些版本以标识所需版本,并可以恢复所需版本。系统可以从备份系统中的文件的许多存储的实例中标识文件的已更改的版本,并可以在用户界面内呈现已更改的版本。在某些实施例中,可以呈现显示何时文件被更改的时间线。一些实施例也可以在显示画面中突出显示更改。一些实施例可以按水平格式呈现文件的版本,其中,可以并排地或以某种其他定向来查看两个或更多版本。提供本概述以便以简化形式介绍将在以下的具体实施例中进一步描述的一些概念。本概述并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。附图简述在附图中,

图1是示出用于备份和恢复的系统的实施例的图示。图2是示出简化的备份系统操作的实施例的流程图。图3是示出用于呈现备份版本和恢复的方法的实施例的流程图。图4是示出用于分析文件的备份版本的方法的实施例的流程图。图5是示出图形用户界面的第一实施例的图示。图6是示出图形用户界面的第二实施例的图示。图7是示出图形用户界面的第三实施例的图示。详细描述备份恢复系统可以跨多个备份实例来搜索特定文件的版本,并呈现这些版本以供选择。用户可以选择特定版本,并可以恢复该版本。在许多实施例中,可以只呈现那些在备份实例之间被更改的版本。备份系统可以将文件系统的版本存储在备份存储系统中。通常,可以周期性地,如每周、每天、每小时或某种其他间隔来执行备份。每一个备份实例都可以被存储,以使得文件或文件系统可以被恢复到备份文件或文件系统时的状态。备份恢复系统可以搜索跨多个备份实例搜索单一文件或文件系统的一部分以发现文件或文件系统的多个版本。在某些实施例中,可以检查每一个备份实例以确定是否存在具有相同名称或其他标识符的文件,如果是,则可以向文件的版本集添加文件版本。其他实施例可以具有用于跨备份实例搜索的不同的机制。在很多情况下,用户可能不能准确地知道可能需要文件的哪一个版本。当使用备份恢复系统时,用户可能知道特定元数据,如文件名、文档类型、标签或其他元数据,或者用户可能知道内容关键字、片断,或内容的其他部分。然而,用户可能不知道文件被备份的精确日期。备份恢复系统可以允许用户使用元数据、内容、或其他标识符来搜索文件,以从备份存储中查找文件的各个版本,并可以向用户呈现多个版本以供挑选。在许多实施例中,可以使用图形用户界面来显示和浏览各个版本。显示器可以并排地显示版本的两个或更多图形表示,以使得用户能够可视地比较各个版本。一些实施例可以分析各种版本以标识和突出显示版本之间的变化以帮助用户进行比较。图形用户界面可包括可以示出文件何时被更改的时间线设计。时间线可以具有示出文件的每一个版本的指示符。在很多情况下,文件可能在一个备份实例中被更新,但是, 可能对于多个其他实例不变,直到作出另一更改。一些实施例可以从版本集合中删除无变化的实例来显示,并可以示出其中作出了更改的版本的子集。贯穿本说明书,在所有附图的描述中,相同的附图标记表示相同的元素。当元素被称为被“连接”或“耦合”时,这些元素可被直接连接或耦合在一起,或者也可存在一个或多个中间元素。相反,当元素被称为被“直接连接”或“直接耦合”时,不存在中间元素。本主题可被具体化为设备、系统、方法、和/或计算机程序产品。因此,本发明主题的部分或全部可以用硬件和/或软件(包括固件、常驻软件、微码、状态机、门阵列等)来具体化。此外,本发明主题可以采用其上嵌入有供指令执行系统使用或结合其使用的计算机可使用或计算机可读的程序代码的计算机可使用或计算机可读的存储介质上的计算机程序产品的形式。在本文档的上下文中,计算机可使用或计算机可读介质可以是可包含、存储、通信、传播、或传输程序以供指令执行系统、装置或设备使用或结合其使用的任何介质。计算机可使用或计算机可读介质可以是,例如,但不限于,电、磁、光、电磁、红外、 或半导体系统、装置、设备或传播介质。作为示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括,但不限于,RAM、ROM、EEPR0M、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁带盒、磁带、磁盘存储或其他磁性存储设备、或能用于存储所需信息且可以由指令执行系统访问的任何其他介质。注意,计算机可使用或计算机可读介质可以是其上打印有程序的纸张或另一合适的介质,因为程序可以经由例如对纸张或其他介质的光学扫描而电子地捕获,随后如有必要被编译、解释,或以其他合适的方式处理,并随后存储在计算机存储器中。
当本主题在计算机可执行指令的一般上下文中具体化时,该实施例可包括由一个或多个系统、计算机、或其他设备执行的程序模块。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。通常,程序模块的功能可在各个实施例中按需进行组合或分布。图1是示出了用于数据的备份和恢复的系统的实施例100的图。实施例100是可以收集备份实例并可以允许用户搜索文件的版本的那些实例,然后,选择要恢复的版本的系统的示例。图1的图示出了系统的功能组件。在某些情况下,组件可以是硬件组件、软件组件、或者硬件和软件的组合。一些组件可以是应用级软件,而其他组件可以是操作系统级组件。在一些情况下,一个组件到另一组件的连接可以是紧密连接,其中两个或更多个组件在单个硬件平台上操作。在其他情况下,连接可通过跨长距离的网络连接来进行。各实施例可以使用不同的硬件、软件、以及互连体系结构来实现所描述的功能。实施例100是可以存在于备份和恢复系统中的组件的简化示例。系统可以创建能够重新创建或恢复文件、文件系统的某些部分或整个文件系统的备份实例。为了查找文件的所需版本,可以搜索备份实例以查找文件的不同的版本,其中,每一个版本都可能被存储在不同的备份实例中。当用户希望恢复一个文件时,用户可能知道有关该文件的一些信息,但是可能不知道文件被备份的精确日期。在很多情况下,信息可以是文件名、目录位置、标签、关键字或可以被用来从多个备份实例中搜索并定位文件的其他元数据。这样的搜索的结果可以是文件的版本集。对备份数据库的搜索可以产生文件的多个版本。版本可以被呈现在用户界面上以供浏览和选择。当用户选择所需版本时,可以从备份存储器中恢复该版本,并将其置于可以使用文件的位置。用户界面可以是可以在其上面显示文件的一个或多个版本的图形用户界面。在很多情况下,两个或更多版本可能彼此紧挨着放置,以使得用户能够检查两个版本以发现版本之间的区别。在一个这样的实施例中,两个或更多版本可以使用版本的图形表示并排地放置。 在该实施例中,用户能够滚动浏览文件的多个不同的版本以选择所需版本。其他实施例可以按不同的方式呈现多个版本,如垂直布局或使用某种其他呈现。在某些情况下,图形表示可以被部分重叠地呈现,一些表示是不透明的或部分透明的。在很多情况下,版本可以被呈现为使得用户可以检查文件的内容,以标识版本之间的更改。图形表示可以是文本文档的页面视图,图形图像的缩小的图像,或可以适用于文件的类型的某种其他表示。在某些情况下,图形表示可包括使用滚动、平摇、放大,或其他导航机制来检查版本的能力。在许多实施例中,可以使用特定文件类型的查看器应用程序来检查文件。在某些实施例中,可以执行分析以将文件的版本的数量减少到版本子集。子集可包括不同于其他版本的那些版本。在文件的生存期的一个示例中,用户可以创建文件,并将文件存储一段时间,如几天或几周。用户可以编辑文件,作出一些更改,并将文件再次存储第二时间段。如果备份系统每天都执行备份操作,则备份系统在备份数据库内可能具有文件的几十个版本,其中有许多可能是相同的。通过分析版本,已更改的版本的子集可以缩小为只有那些不同的版本。 在该示例中,版本可包括当文件被创建时的初始版本,以及每一次文件被编辑和更改时的附加版本。可以显示的版本的子集可能对用户非常有用,特别是当备份系统可能具有许多备份实例时。在这样的实施例中,可以只向用户呈现文件的不同的版本,且用户无需浏览数十或者甚至数百个相同的版本。在某些实施例中,可以向用户突出显示或强调版本之间的更改。例如,可以通过利用删除线示出已删除的文本并利用下划线示出添加的文本来示出文本文档中的更改。其他示例可包括在图像的已更改部分使用透明色覆盖或突出显示电子表格或其他文档的已更改部分。当版本的子集被标识时,可以创建时间线用户界面机制。时间线可以示出其上可以指示或突出显示每一个已更改的版本的连续时间。时间线可以用图形方式示出何时对文件作出了更改,当浏览文件的已更改的版本时可以有用。在某些实施例中,时间线用户界面可以是图形用户界面的交互式组件,允许用户直接从时间线用户界面中选择要显示或恢复的版本。备份系统可以存储来自任何数据源的数据的副本。在典型的实施例中,计算机设备可以按存储在文件系统中的文件的形式来存储数据,如可以具有目录和子目录的分层结构的分层文件系统。在某些情况下,数据可以被存储在其他类型的数据库或文件系统中。在整个说明书和权利要求书中,将引用作为可以对其执行搜索的项目的文件。在典型的实施例中,文件可以是文字处理文档、图像文件或其他文件类型。在某些情况下,文件可以是可包括对其他文件的引用的目录或子目录。在这样的情况下,可以对备份系统进行搜索,以查找子目录的版本,并可以在图形用户界面上呈现子目录的版本。用户可以选择到恢复的子目录,并可以恢复目录及其内容。在整个说明书和权利要求书中,当搜索、分析、 显示、选择或恢复时任何对“文件”的引用也可以适用于目录、子目录,或文件系统的其他部分。实施例100示出了具有用于存储设备104的备份信息的存储系统102的系统。实施例100是可以具有软件组件106以及硬件组件108的设备104的一般性表示。设备104 的典型的实施例可以是使用常规操作系统的个人计算机或服务器计算机。这样的操作系统可以存储各种应用程序所使用的文件,并可以按分层目录结构来排列文件。设备104可以是具有可以被备份的数据的任何类型的计算设备。除上面的个人计算机示例之外,其他示例可包括在其上面可以存储应用程序数据、联系人数据或其他信息的手持式蜂窝电话。这样的数据可以使用目录类型的文件系统或以其他数据库格式来存储在文件中。另一示例可包括可以将收集到的数据存储在数据文件中的数据收集仪器。再一个示例可以是向其他设备提供服务的服务器计算机。硬件组件108可包括可以执行各种软件组件106的处理器110,以及随机存取存储器112,某种大容量存储系统114,以及用户界面116。处理器110可以是使用随机存取存储器112来存储将被执行的命令以及其他存储器对象的通用处理器。在典型的实施例中,在处理器Iio和存储器112之间可以使用高速总线。在某些实施例中,存储器112可以是当设备104的电源被关闭时可以擦除的易失性存储器。存储系统114可以是诸如磁盘驱动器或其他大容量存储系统之类的非易失性存储器系统。在许多实施例中,可以在存储系统114上创建和管理文件系统。在处理器110 上运行的应用程序可以创建文件,将信息存储在文件中,并修改文件。设备104可以具有用户界面116。在许多实施例中,用户界面116可包括图形显示设备以及某种类型的用户输入设备。图形显示设备可以是监视器、投影仪或其他设备。用户输入设备可以是诸如鼠标、触摸屏、指示笔、轨迹球之类的指示设备,或其他指针。在某些情况下,用户输入设备可包括键盘或其他按钮设备。软件组件106可包括可以被存储在存储系统114上的文件系统118。可以使用文件系统118来组织、分类,或以其他方式管理存储设备114上的数据。备份系统120可以对文件系统118执行备份操作,并可以创建多个备份实例122。 备份系统120可以按时间表来执行备份操作,如每小时、每天,或按某种其他预定义的时间表。在某些情况下,备份系统120可以按需执行备份操作,如每当用户选择时。不同类型的备份系统可以按不同的方式来创建备份实例。某些备份系统可以周期性地创建完全备份以及随后的增量式备份。完全备份可以是文件系统118的完整的副本, 而增量式备份可以是文件系统118的自最后一次备份以来已经更改的部分。在这样的系统中,可以通过首先恢复完全备份,然后应用增量式备份以便重新创建文件系统或文件系统的一部分,来重新创建所需的版本。其他备份系统可以不使用完全备份以及增量式备份方法。某些备份系统可以例如在每一次操作时都执行完全备份。这样的系统会比增量式备份系统消耗更大的存储空间量,因为每一个备份都可以存储文件系统118的全部内容,但是,这样的系统可能较不复
ο另一种类型的备份系统可以备份数据块,并可以创建表示特定备份实例122中的数据块的表。该表可以被用来通过检索存储在存储系统102中的数据块来重新创建任何备份实例。这样的系统可以被用来创建大量的备份实例,而不会消耗大量的存储空间。在实施例100中可以使用任何类型的备份系统。可以优化一些实施例以有效利用存储空间,而可以优化其他实施例以执行有效率的搜索、检索或其他功能。可以在本说明书中稍后呈现的实施例200中找到备份系统的一般性操作的一个示例。包含备份实例122的存储系统102可以是任何类型的合适的存储机制。在某些情况下,可以使用磁带存储、光存储、盘存储,或其他技术来存储备份实例122。在某些实施例中,存储系统102可以通过诸如通用串行总线连接之类的接口端口或其他连接直接附连到设备104。在其他实施例中,可以通过局域网或诸如因特网之类的广域网来访问存储系统 102。搜索系统IM可以搜索备份实例122以查找文件、目录或文件系统的其他部分的版本。搜索系统1 可以被给予执行搜索的各种准则,并可以返回文件、目录或文件系统的其他部分的多个版本,每一个版本都可能被存储在不同的备份实例122中。例如,可以由搜索系统IM搜索位于某一目录并具有文件名“tpsr印orts.doc” 的文件。搜索系统可以检查备份实例122中的每一个,并返回存储在存储系统102中的"tpsreports. doc”文件的每一个版本。在其中可以保留数十或者甚至数百个备份实例的各实施例中,搜索系统1 可以查找每一个备份实例中的文件的版本。搜索系统IM可以生成一个文件的版本集,其中包括对应于在其中发现该文件的每一个备份实例122的一个版本。在很多情况下,备份实例122可以包含文档的许多相同的版本。例如,存储在文件系统中但是未更改的文件可以具有每一个备份实例的相同的版本。分析器126可以删除文件的相同的版本,以创建不相同的或以某种方式不同的版本的子集。显示系统1 可以在图形用户界面130上呈现搜索的结果。不同的实施例可以具有用于显示搜索的结果和接收用户输入的不同的技术和不同的机制。用户输入可以被用来导航或浏览搜索结果,并可以被用来选择要恢复的项目。在许多实施例中,显示系统1 可以呈现搜索结果的子集,其中,该子集包括文件的已更改的版本。该子集可以允许用户只查看不同于其他版本的那些版本。在某些实施例中,可以显示示出带有文件的多个版本的标识符的时间段的时间线图形元素。在某些情况下,时间线元素可以是交互式元素,其中,用户可以从时间线中选择一个版本,或者也可以通过与时间线进行交互来滚动或浏览版本。一些实施例可以使用文件查看器应用程序1 来呈现特定文件类型的交互式视图。在这样的实施例中,每一个受支持的文件类型都可以具有文件查看器应用程序。例如, 对于文字处理文档、电子表格、演示文档、图像编辑应用程序,或其他文档格式,可以存在文件查看器应用程序129。在某些情况下,文件查看器应用程序可以允许用户滚动浏览文件、 放大或缩小文件,或以其他方式在文件中导航。在特定文件类型没有文件查看器应用程序 129的情况下,可以使用一般性文件呈现机制来显示文件的某些内容。在某些情况下,显示系统1 可以显示关于文件的各种元数据。某些这样的实施例可以呈现元数据而不会呈现文件的内容,或者也可以除文件的内容之外还呈现元数据。 元数据可包括有关备份实例122的文件的信息,如目录路径、备份的日期、文件大小、文件类型,或其他信息。在某些实施例中,元数据可包括可以被搜索系统使用或被创建文件或可以使用该文件的应用程序使用的标签、关键字,或其他参数。显示系统128可以生成图形用户界面130。图形用户界面130可以显示在硬件用户界面116上。图形用户界面130可包括文件的版本的图形表示,时间线机制,以及各种输入机制。在很多情况下,也可以显示其他数据。在本说明书中稍后呈现图形用户界面的示例。输入处理器132可以与显示系统1 一起工作以提供交互式用户体验。输入处理器132可以接收用户输入,如按钮选择、文本输入、光标移动以及手势,及通过显示系统128 来更新图形用户界面130的其他输入。在某些情况下,输入处理器132可以导致恢复系统 134检索文件的版本,并将该文件恢复到文件系统118。实施例100是可以被用来搜索备份数据库以查找文件的版本,生成并呈现示出了搜索结果的图形用户界面,以及选择该文件的一个版本并将其恢复到文件系统的系统的示例。实施例100的组件以及组件的排列只是可以执行所描述的功能的系统的一个示例。其他实施例可以具有可以执行为实施例100所描述的功能的子集或超集的不同的体系结构。在实施例100中,备份系统120、存储系统102,以及搜索系统124的功能被示为超出设备104的范围之外。在某些情况下,备份系统120、存储系统102,以及搜索系统IM可以由远程设备,如局域网上的服务器,或由通过因特网或其他广域网连接可用的远程服务来执行。在某些实施例中,备份系统120、存储系统102和/或搜索系统IM可以被合并到设备104中。一些实施例可以具有这样的体系结构软件组件106的全部,除文件系统118之夕卜,可以由远程服务,如连接到局域网的服务器或由通过广域网可用的远程服务来执行。在这样的实施例中,远程服务可以生成可以例如以HTTP或可以使用web浏览器或其他应用程序显示在设备104上的其他格式定义的用户界面。图2是示出了备份系统的操作的简化方法的实施例200的流程图。实施例200是可以由备份系统120执行以从文件系统118创建备份实例122(如实施例100所描述)的方法的简化示例。其他实施例可以使用不同的顺序,更多的或较少的步骤,以及不同的命名法或术语来实现类似的功能。在某些实施例中,各种操作或操作集合可以与其他操作平行地以同步或异步方式执行。这里所选择的步骤被选择以便以简化形式示出某些操作原理。实施例200是可以周期性地将文件系统的版本存储到备份实例中的备份系统的一般性示例。在在框202中启动备份系统之后,可以在框204中创建备份实例。对于框206 中的文件系统中的每一个文件,文件的副本可以在框208中被存储在备份实例中。在许多实施例中,备份系统可以定期操作。例如,在商业或其他企业中,可以每晚或每周执行备份。在个人计算机上,在某些情况下,备份可以每隔几分钟执行。一些实施例可以在由用户启动时或通过某种其他事件来执行备份操作。例如,用户可以在任何时间启动备份,如在用户更新系统或在系统上执行维护之前。某些备份操作可以,例如,由诸如修改一定数量的文件之类的事件来触发。一些实施例能够基于某个时间点的文件系统的快照来执行备份操作。在这样的系统中,备份系统可以将文件存储为在备份开始时的时间点存在的那些文件。这样的系统可以跟踪在备份操作过程中对文件的更改,以使得用户可以当备份操作正在进行中时继续修改文件和与文件进行交互。可以使用许多不同的机制来执行备份操作并随着时间的推移创建文件或文件系统的多个版本。每一个备份系统都可以具有用于检索文件并创建备份实例的不同的机制。图3是示出了用于呈现备份版本并恢复其中一个版本的方法的实施例300的流程图。实施例300是实施例100的多个组件的简化操作。其他实施例可以使用不同的顺序,更多的或较少的步骤,以及不同的命名法或术语来实现类似的功能。在某些实施例中,各种操作或操作集合可以与其他操作平行地以同步或异步方式执行。这里所选择的步骤被选择以便以简化形式示出某些操作原理。实施例300示出了用于对备份系统执行搜索、在图形用户界面中呈现搜索结果, 以及恢复所选版本的简化方法。实施例300使用文件标识符来搜索备份系统并返回文件的多个版本。可以浏览和选择文件的版本。可以在框302中接收文件标识符,而在框304中接收文件元数据。可以在框306 中使用文件标识符和文件元数据来搜索文件的版本。
文件标识符和文件元数据可以是可以被用来搜索备份数据库中的文件的任何搜索参数。在很多情况下,文件名和文件目录可以充当文件标识符。在典型的使用情况下,用户可能知道相关的文件所在的目录,以及文件名。可以执行搜索以标识符合准则的文件的每一个版本。在某些情况下,可能不知道文件目录,可以单独使用文件名来执行搜索。在某些实施例中,使用元数据代替文件标识符或作为其补充来执行搜索。当使用元数据来代替文件标识符时,可以从搜索过程返回符合准则的文件的版本。当使用元数据作为文件标识符的补充时,搜索还可以进一步限制搜索结果。一种使用情况可以是搜索其中文件大小小于250KB的名为“tpsr印orts. doc”的文件。在这样的情况下,“tpsr印orts. doc”的全部版本可以进一步仅限于其中文件大小小于250KB的那些版本。元数据的其他示例可包括要搜索的日期范围、文件类型、文件大小范围、关键字、 标签或其他信息。一些实施例可以使用更多的类型的元数据来进行搜索。在某些情况下, 某些元数据参数可以对某些类型的文件可用,但对其他类型的文件不可用。在某些实施例中,可以使用文件的内容的某些部分来执行文件搜索。例如,可以使用可以作为文件的内容被包括的短语或段落来搜索文字处理文档。在某些这样的实施例中,备份系统可包括索引或可以允许对备份数据库进行更快的搜索的其他特征。在一种使用情况下,可以执行查找包含特定文本的文件的版本的搜索。例如,可以对于包括文本“new stapler"的“tpsr印orts. doc”的版本执行搜索。可以在用户界面中呈现那些版本,用于可能的恢复。框306中的搜索结果可以返回文件的存储在备份数据库中的所有实例。在某些情况下,许多已存储的实例可能是相同的,当在文件保持不变的情况下进行多次备份操作时会发生这种情况。在其中数十或者甚至数百个备份实例可以存储在备份系统中的各实施例中,这可以返回文件的相同的数十或者甚至数百个版本。在框308中,可以分析文件的版本以标识只包括文件的已更改的版本的子集。本申请中稍后呈现的实施例400可包括用于确定已更改的版本的一种方法。在框308中产生的版本的子集可只包括其中在备份操作之间发生的更改的那些版本。当存在数十或者甚至数百个相同的版本时,删除相同的版本可以允许用户快速地只浏览已更改的版本,而并非数百个相同的版本。在某些实施例中,框308的分析可以通过逐位比较文件的两个版本来标识不同的版本。在这样的情况下,甚至在版本之间的对文件的微小的更改可将两个版本都包括在子集中。在某些这样的实施例中,甚至在只检测到微小的更改的情况下也可以标识大量的已更改的版本。在其他实施例中,可以使用阈值来确定何时一个版本与前一版本足够不同,以将已更改的版本添加到版本的子集中。例如,分析例程可以分析文件的内容,而当内容相同时,即使版本的元数据改变,文件也被视为相同。在另一示例中,只有在实现了影响超过 I^UOW或某种其他量的文件的内容的改变的情况下,分析例程才可以标识已更改的版本。在某些实施例中,用户能够设置用于标识可在版本的子集中包括文件或从该子集中排除文件的对文件的更改的量的阈值。在为文件的版本的图形表示作准备时,可以在框310中分析版本的子集中的每一个版本。框310中的分析可以创建突出显示或标记以示出版本之间的更改,以使得用户可以快速地浏览版本,并标识版本之间的变化。对于框310中的每一个版本,可以在框312中分析前一版本,以标识文件的哪些部分是不同的。在框314中,可以创建版本的图形表示,并在框316中,可以创建示出更改的标记或突出显示。框310的分析可以创建版本之间的更改的可视突出显示。可以使用许多不同的技术来突出显示版本之间的更改。在诸如文字处理文档之类的文本文档中,突出显示或标记操作可以利用删除线或括号来示出被删除的文本,利用下划线示出添加的文本。在文本文档的另一示例中,被删除的文本可以根本不示出,或者可以利用红色的突出显示来示出,而添加的文本可以利用黄色突出显示来示出。在许多实施例中,可以使用部分透明的突出显示来示出已更改的元素。例如,诸如照片之类的图像可以使用图像的已被编辑的部分上的突出显示的透明色覆盖来示出对照片的编辑。为了确定将在哪里示出突出显示或标记,可以在框312中执行两个版本之间的比较。在某些实施例中,可以对于某些类型的文件执行不同类型的比较算法。例如,可以使用不同的插件或其他支持应用程序来分析文字处理文档、电子表格、图像文件、音频文件、视频文件,或其他类型的文件。在某些实施例中,可以将插件或支持应用程序安装到备份系统中,并可以另外执行如实施例100中所描述的文件查看器应用程序129的功能。使用在框308中标识的版本的子集,可以在框318中创建时间线。时间线可以是示出相对于时间的文件的已更改版本的图形时间表示。在本说明书中稍后呈现的实施例500、 600,以及700中,可以发现图形时间线的多个示例。时间线可以是图形用户界面中的可以允许用户浏览文件的不同的版本并在各种版本中导航的交互式机制。在很多情况下,时间线可以充当允许用户在时间中来回滚动的滚动条,文件的当前版本用图形方式被呈现在用户界面内。在框320中,可以在用户界面上呈现时间线,与框322中的文件的版本的图形表示一起呈现。在框326中,用户可以提供输入。如果在框326中输入是涉及浏览版本的命令, 则可以在框328中更新图形用户界面,过程可以返回到框320。图形用户界面的浏览动作可以使用户能够在查看文件的不同的版本时滚动浏览或在文件的不同的版本之间导航。在使用突出显示或标记操作的各实施例中,该使用可以快速地识别对文件作出的更改,这可以有助于确定所需的版本。一旦用户在框326中选择了用于恢复的所需版本,可以启动恢复系统以将所需版本从备份系统复制到文件系统中。在恢复操作已经完成之后,用户能够查看、编辑,以及操纵文件。图4是示出了用于分析文件的备份版本的方法的实施例400的流程图。实施例 400只是可以用于框306的搜索以及实施例300的框308的分析的一种分析方法。实施例 400是可以由实施例100的搜索系统IM和分析器1 执行的过程的示例。其他实施例可以使用不同的顺序,更多的或较少的步骤,以及不同的命名法或术语来实现类似的功能。在某些实施例中,各种操作或操作集合可以与其他操作平行地以同步或异步方式执行。这里所选择的步骤被选择以便以简化形式示出某些操作原理。实施例400是可以将完整的搜索结果集合缩小为示出对文件的更改的那些版本的方法。来自备份系统的搜索结果可包括文件的来自每一个备份实例的版本。在很多情况下,可以有许多相同的版本。实施例400的过程创建文件的包括文件的不同的版本的版本子集。实施例400的过程有效地从搜索结果集合中删除重复版本,这可以使浏览和选择所需版本更容易并且更简单。实施例400在单一例程中执行搜索和分析功能。其他实施例可以分开如在实施例 300的框306和308中所描述的两个功能和实施例100的搜索系统IM和分析器126。实施例400是可以利用为每一个备份操作创建单个实例的备份系统执行的搜索和分析方法的示例。某些备份系统可以不存储每一个备份的单个实例,并可以例如存储带有多个增量式实例的周期性的完全备份实例。其他备份系统可以具有不同的存储体系结构或备份机制。如此,其他备份系统可以使用不同的用于搜索和分析文件的版本的方法。在框402中,可以按时间对存储在备份系统中的备份实例进行排序,从最当前的文件开始。在框404中,可以评估每一个备份实例。在框406中,可以对于备份实例内的文件进行搜索。在很多情况下,搜索可以使用文件指示符,如文件名和目录,以及各种元数据。在某些实施例中,搜索可包括搜索最近删除的文件。最近删除的文件可以是自从最后一次备份操作以来已经删除的,或在某一预定义的时间帧内删除的那些文件。在很多情况下,最近删除的文件可以是那些极可能要从备份系统恢复的文件。这样的实施例可以维护已经被删除的文件列表,或者可以比较前一备份的文件结构,以确定自从最后一次备份操作以来哪些文件已经被删除。如果在框408中文件不存在,则在框410中可以退出循环。此时退出可以在满足可能不存在文件的更老的版本的条件的情况下进行。如果在框408中存在文件,则可以将该文件与前一版本进行比较。如果在当前版本和以前的版本之间没有变化,则可以在框416中忽略当前版本。通过在框416中忽略当前版本,可以从版本的子集中排除当前版本。在框414中执行的比较可以评估当前版本和前一版本之间的任何变化。在某些实施例中,可以使用逐位比较来标识小到单一位的变化。在其他实施例中,可以执行散列、校验和、循环冗余校验或其他分析来标识版本之间的变化。在某些版本中,可以使用阈值来标识不同的版本。当一定量的变化超过阈值时,可以标识新版本,否则,两个版本可以被视为相同的。可以按许多不同的方式来定义阈值。在一种方式中,阈值可以被定义为在两个版本之间变化的一定数量的位或字节。在另一种方式中,变化的百分比可以定义阈值。如果在框414中检测到变化,则可以在框418中向子集添加已更改的版本。在在框404中评估每一个备份实例之后,可以在框420中定义供处理和显示的子集。图5是示出用于浏览和选择供恢复的文件的版本的图形用户界面的实施例500的图示。实施例500只是交互式用户界面的一个示例,并被用来示出图形用户界面的外观以及如何操作。其他示例包括在本说明书稍后示出的实施例600和700。实施例500、600,以及700被选择以示出可以被包括在图形用户界面中多个不同的特征,以及可以呈现文件的版本的各种方式,以及时间线的各种配置。三个实施例中的每一个并不旨在彼此协调,而是只示出可以实现某些项目的不同的方式。
可以在可以呈现图形用户界面的设备的窗口中呈现实施例500、600,以及700的
用户界面。一个窗口可以使用显示器的一部分,并可在其他应用程序在单独的窗口中操作时操作。在某些实施例中,用户界面可以是可在设备上操作的唯一应用程序或功能,并可以占据设备的整个显示区。实施例500是以部分重叠的方式示出文件的一系列版本的图形用户界面502的示例。所选版本504可以位于中心,并可以比其他版本显示得更大。较老的版本504、506,以及508可以被包括,以及较新的版本510、512,以及514。可以利用文件的图形表示示出文件的各种版本。在实施例500的示例中, "tpsreports. doc”的文件名516被示为文字处理文档。在版本的每一个表示中,当可以展示文件时,图形可以示出文件。用户能够扫描文件以标识在版本之间添加或删除了哪些元素,用户可以基于可视表示来选择版本。在某些实施例中,可以使用文件查看器应用程序来生成文件的图像,并允许用户平摇、放大、滚动,或以其他方式在文件本身中移动。在某些实施例中,这样的操作能够在图形用户界面502内执行,而在其他实施例中,查看器应用程序可以在单独的窗口中启动。各种版本的排列可以允许用户使用对各种版本的点击及拖动或挥动来滚动浏览版本。在某些实施例中,用户能够指向一个版本,如版本506,并导致该版本为所选版本。一些实施例可以具有导航按钮或对键盘命令作出响应,以导航各种版本。可以与用图形方式显示的版本协调地呈现时间线516。时间线516可以包含带有对应于已更改的版本的日期的条目。在实施例500中,突出显示的数据518可以对应于突出显示的或选择的版本504。时间线516可以具有可以允许用户沿着时间线向上或向下滚动以浏览不同的版本的滚动按钮520和522。时间线516可以具有元数据显示524,可以是示出当前所选版本的各种元数据的弹出式窗口。元数据可包括诸如文件的作者、保存文件的准确的日期和时间、任何标签或关键字、文件大小之类的信息,或其他信息。实施例500可以具有恢复按钮526。恢复按钮5 可以导致所选版本504从备份系统恢复到本地文件系统。按钮5 可以导致文件的位置是并排的表示。可以在实施例600中发现并排的表示的示例,并可以示出彼此紧挨着的文件的两个或更多版本,以使得用户可以仔细地查看文件之间的区别。目录查看按钮530可以导致视图改变以示出其中存储了当前文件的目录。可以在实施例700中发现目录视图的示例。图6是示出了图形用户界面的第二示例的实施例600的图示。实施例600只是交互式用户界面的一个示例,并被用作图形用户界面的外观以及如何操作的示例。实施例600并排地呈现文档的表示,并带有突出显示,这两者都可以帮助用户标识要恢复文档的哪一个版本。一些实施例可以使用分析例程,该分析例程可以标识文档的两个版本之间的特定更改,并使用标记技术、突出显示或其他机制来突出显示那些更改。用户界面602可以示出文档的三个版本。焦点版本604可以呈现于中心,较老的版本606和较新的版本608紧挨着焦点版本604。每一个版本604、606,以及608分别可以具有版本日期612、614,以及616。版本日期可以是从其中发现版本的备份实例的日期。一系列版本604、606,以及608可以是使用户能够滚动浏览多个版本的交互式设备。滚动动作可以通过刷手势、导航按钮或其他用户交互来启动。在许多实施例中,可以使用平滑地动画化的运动来示出跨屏幕滚动的一系列版本。用户界面可包括关于文件的元数据。实施例600示出了显示在用户界面上的文件名610。在某些实施例中,更多的元数据可以与文件名610—起显示。一些实施例可以在当光标或其他指示符悬停在文件表示上方时出现的窗口中显示元数据。在一个这样的实施例中,用户可以通过将指针放置在三个版本中的一个版本上方较短时间(如一秒或两秒),导致一个小窗口与元数据一起出现。在指针停留在一个位置较短时间之后,可以出现包含各种元数据,如关键字、作者、最后一次保存的时间和日期、文件大小或其他元数据的窗口。在某些实施例中,可以通过以辅助方式施加光标选择来访问一组命令。这样的方式的一个示例可以是使用辅助按钮点击鼠标设备,有时当主按钮是鼠标上的左侧按钮时被称为“右击”。该组命令可包括恢复所选文件、在查看器应用程序中查看所选文件,使用平摇或放大或其他命令在文件中导航。用户界面602可以具有时间线626。时间线6 可以具有一段时间的指示符以及文件的各种版本的指示符628。每一个指示符6 都可以表示正在被显示的文件的一个已更改的版本。时间线6 可以具有可以表示当前焦点版本604的更大的指示符630。在许多实施例中,时间线机制可以是交互式用户界面机制。可以通过选择指示符 628中的一个以改变焦点版本604来导航时间线626。在某些情况下,整个时间线可以在一侧或两侧延长到屏幕之外。在这样的情况下,可以使用滚动条、导航按钮或其他机制来浏览或导航到时间线的未显示的部分。时间线6 被示为线性时间线,在时间的相等的部分带有均勻的间隔。在其他实施例中,时间线可以在间隔方面变化以展开在时间上彼此靠近发生的多个版本,或收缩不存在更改的版本的长时间段。在某些实施例中,备份存储系统可以按几何级增加的频率保存备份实例。例如,备份系统可以保存上两个星期的每天的备份,保存若干个月的每周的备份。在此之后,备份可以每个月地保留。在这样的情况下,时间线6 可以示出随着时间线逐渐变旧而压缩的时间线,因为备份实例在时间上逐渐远离。在这样的情况下,可以使用几何或指数函数来压缩时间线,该时间线可以将在时间上远离的非常老的版本示为与在时间上彼此靠近的较新版本一样物理地接近实施例600可以突出显示文件的不同的版本之间的更改。例如,焦点版本604可以具有突出显示的图表618。突出显示的图表618可以使用画轮廓、透明覆盖、着色或其他指示符来突出显示。突出显示的图表618可以是版本606和604之间的区别。通过突出显示区别,用户可以快速地检测更改,可以帮助用户选择所需版本。在另一示例中,版本608可以具有突出显示的图表620和带标记的文本622。可以通过利用删除线、括号、彩色突出显示或其他机制来示出被删除的文本,并通过使用下划线、括号、不同的彩色突出显示或其他机制来示出添加的文本,来突出显示已更改的文本。 不同的实施例可以具有突出显示或示出文件的版本之间的更改的不同的方式。对诸如照片、计算机生成的图像、图之类的图形元素或其他图形元素的更改可以具有用于显示更改的图形和非图形机制。用于显示被裁剪的图像的图形机制的示例可以是将较老的图像显示为部分地变灰显示或透明,较新的图像以全色示出。可以,例如叠加两个图像。一些实施例可以将较老的图像示为缩略图或带有某种其他图形表示。被裁剪的图像的非图形表示可以呈现对图形图像作出的更改的文本列表。在被裁剪的图像的示例中,已编辑的图像可以带有更改的文本描述列表,如“裁剪”的条目。在某些实施例中,可以通过在图像上放置彩色透明覆盖来突出显示对图像的更改。例如,具有附加的元素的图形图可以在新添加的元素上方带有绿色透明框地呈现。从一个版本修改到另一个版本的元素可以带有例如黄色透明覆盖地呈现。可以呈现图形图像的准确的方式可以随着图像的类型和创建该图像所使用的软件的变化而变化。实施例600包括显示更改选项627,该选项627可以切换文件的表示内的更改。切换可以可另选地突出显示更改或不突出显示更改。图7是示出了图形用户界面的示例的实施例700的图示。实施例700只是交互式用户界面的一个示例,并被用作图形用户界面的外观以及如何操作的示例。实施例700示出了可以示出文件的版本的实施例,其中,文件可以是目录。许多实施例可以将分层目录结构内的目录当作文件,并能够搜索目录的版本并在图形用户界面中搜索结果。图形用户界面701可以示出目录的不同的版本。焦点版本702、较老的版本706, 以及较新的版本708可以彼此靠近地示出。每一个目录都可以按可以示出存储在目录中的文件的缩略图712来示出。在较老的版本706中,示出了表示两个文件的两个缩略图。在焦点版本702中,示出了五个缩略图,而在较新的版本704中,示出了七个缩略图版本。在某些实施例中,缩略图可以是包含在目录中的文件的实际图像。这样的缩略图可以示出相应的文件的内容或部分内容。在其他实施例中,可以使用图标来表示文件,而不显示文件的实际内容。可以使用诸如滚动按钮708和710之类的导航按钮来浏览或滚动版本702、704,以及 706。时间线716可以按与实施例500和600的时间线类似的方式操作,并允许用户滚动浏览或浏览与时间线中的块相关联的目录的版本。与其中版本被映射到恒定时间线的实施例600的时间线不同,时间线716可以排列表示每一个日期的框。日期718可以表示当前所选或突出显示的目录。日期7M可以表示较老的版本706,而日期720可以表示较新的版本704。其他日期7 和722可以不示出图形图像,但是可以呈现以使得用户可以选择或滚动到那些日期并查看目录的表示。实施例700可以具有恢复按钮714,该恢复按钮714可以导致目录或目录内的选定文件被恢复到文件系统供正常使用。从三个实施例500、600,以及700,可以使用多个不同的图形布局来呈现搜索结果。在每一个实施例内,示出了不同类型的图形表示,以及从其中可以选择版本的时间线的不同的版本。示例只打算示出不同的实施例并不旨在以任何方式作出限制。对本发明的上述描述是出于图示和描述的目的而呈现的。它不旨在穷举本主题或将本主题限于所公开的精确形式,并且鉴于上述教导其他修改和变型都是可能的。选择并描述实施例来最好地解释本发明的原理及其实践应用,由此使本领域的其他技术人员能够
16在各种实施例和各种适于所构想的特定用途的修改中最好地利用本发明。所附权利要求书旨在被解释为包括除受现有技术所限的范围以外的其他替换实施例。
权利要求
1.一种在计算机处理器上执行的方法,所述方法包括 接收文件标识符(302);搜索备份数据库(306)以查找匹配所述文件标识符的文件的多个版本,所述备份数据库包括多个文件系统备份; 查找所述多个版本;以及在图形用户界面上呈现所述多个版本中的至少一个的表示(322)。
2.如权利要求1所述的方法,其特征在于,所述文件标识符是文件名。
3.如权利要求1所述的方法,其特征在于,还包括分析所述多个版本以标识所述多个版本的子集,所述子集中的所述多个版本中的每一个不同于所述子集中的所述多个版本中的另一个。
4.如权利要求3所述的方法,其特征在于,还包括 呈现来自所述子集的所述多个版本中的至少两个。
5.如权利要求3所述的方法,其特征在于,还包括呈现包括指示何时对所述文件作出更改的指示符的图形时间线。
6.如权利要求1所述的方法,其特征在于,所述文件标识符是目录标识符。
7.如权利要求6所述的方法,其特征在于,所述表示包括文件目录内的文件的表示。
8.如权利要求1所述的方法,其特征在于,还包括在所述图形界面上呈现所述多个版本中的至少两个的表示。
9.如权利要求8所述的方法,其特征在于,所述表示包括水平排列的所述多个版本中的所述至少两个。
10.如权利要求8所述的方法,其特征在于,所述表示包括所述多个版本中的所述至少两个之间的至少一个突出显示的更改。
11.一种系统,包括被配置成存储文件系统中所存储的文件的多个版本的备份数据库(102); 图形用户界面(130);被配置成从所述备份数据库中检索文件的多个版本的搜索系统(124);以及被配置成生成所述文件的所述多个版本的至少两个的图形表示并在所述图形用户界面上显示所述图形表示的显示系统(130)。
12.如权利要求11所述的系统,其特征在于,还包括被配置成接收来自用户的输入的用户输入系统,所述输入标识所述文件的特定版本;以及被配置成将所述文件的所述特定版本从所述备份数据库恢复到存储设备的恢复系统。
13.如权利要求11所述的系统,其特征在于,还包括被配置成标识所述文件的所述多个版本的子集的分析系统,所述子集包括所述文件的彼此不同的版本。
14.如权利要求13所述的系统,其特征在于,所述分析系统进一步被配置成确定每一个版本的已更改的部分,所述已更改的部分是通过将所述版本与前一版本进行比较来确定的。
15.如权利要求14所述的系统,其特征在于,所述图形表示包括所述已更改的部分的图形指示符。
全文摘要
备份恢复系统可以在图形用户界面中呈现文件的两个或更多版本。用户可以检查这些版本以标识所需版本,并可以恢复所需版本。系统可以从备份系统中的文件的许多存储的实例中标识文件的已更改的版本,并可以在用户界面内呈现已更改的版本。在某些实施例中,可以呈现显示何时文件被更改的时间线。一些实施例也可以在显示画面中突出显示更改。一些实施例可以按水平格式呈现文件的各个版本,其中,可以并排地查看两个或更多版本。
文档编号G06F3/048GK102460379SQ201080025138
公开日2012年5月16日 申请日期2010年6月1日 优先权日2009年6月2日
发明者B·S·博伊德, K·D·安托斯, M·斯利格 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1