打开的文件的历史视图的制作方法

文档序号:6534513阅读:229来源:国知局
打开的文件的历史视图的制作方法
【专利摘要】管理包括许多被独立管理但相互依赖的子部件的电子实体的版本会是有挑战性的。提供了与集成开发环境一起使用的文件管理功能性,以便产生子部件之间关系的可视指示。就还原一个或多个文件的状态就像文件内容在历史时间点时存在的那样的能力而言,本文所述的方法提供了优于源代码控制系统和备份系统的改进。该技术不需要用户为了将来使用而事先预测在哪些时间点一个或多个文件的内容状态将是作为历史时间点令人关注的。
【专利说明】打开的文件的历史视图

【背景技术】
[0001]本文所述的方法一般而言针对计算机文件的内容的版本管理。电子实体可以包括彼此单独地存储和维护的文件内容的聚集,并且这些文件中有一些可能是相互依赖的。这种实体的例子可以是用于软件应用的源代码,其中源代码跨多个源文件分布。另一个例子可以是跨包含用于多个团队或个人的任务列表和截止日期的文件分布的主计划。另一个例子可以是章节在不同文件中单独维护但是章节包含对其它章节中位置的交叉引用的书。对实体的改变可能需要对多个文件的修改,并且在所有这些修改完成之前实体可能处于不一致的状态。
[0002]当开发或维护由存储在独立更新的部件,诸如文件,中的内容组成的电子实体时,一个常见的问题是获得该实体在时间上的历史点的一致快照。虽然每个部件可以前进通过一系列的状态,但是能够可视化实体跨所有部件的整体状态会是有价值的。例如,软件开发项目可以包括被编译并链接到一起以便形成可执行文件的多个源文件。一个源文件可以定义被驻留在不同源文件中的代码调用的函数。如果这一个源文件被改变,以重定义该函数,则调用所述函数的不同源文件中的代码可能需要对应的改变。因而,包含调用代码的文件对定义函数的文件具有依赖性,尽管这些文件可以独立地被更新。
[0003]许多部件文件可以随着时间被打开、编辑和关闭。用户常常对文件工作并且决定他们想把他们的修改还原到较早的状态-例如,他们对最后几个小时的工作不满意并且想从较早的点重新开始。但是,把一组相关文件还原到历史时间点会是耗时的并且容易出错。之前对这种过程提供工具支持的尝试只允许一次查看对一个文件的改变并且一次还原对一个文件的改变。而且,还没有容易的方式看到显示单独但相关的文件中的变化的时间线。
[0004]源代码控制系统可以对跟踪个别文件的版本提供支持,从而允许用户把文件恢复到任何被跟踪的版本。文件的新版本可以根据用户的请求而创建,并且该版本被指定名字。有些此类系统还允许创建一组相关文件的命名快照,使得这组文件中的每个文件都能回滚到该命名快照版本。但是,为了回滚到快照版本,用户在需要使用之前请求创建快照,并且用户事先可能不知道他们将想要回滚到哪个状态。
[0005]备份系统存储文件,通过是以周期性的间隔或者根据请求,使得系统可以使用所存储的文件把整个系统状态还原到在执行备份时的状态。备份的文件可以包括系统中的全部文件,并且这些文件可能彼此不相关。已经尝试支持可视地确定应当使用哪个备份来恢复整个系统,或者特定的文件或文件组应当从哪个备份来恢复。Apple的Time MachineBackup (时间机器备份)系统提供了允许查看文件夹的用户接口,就好像穿越时间机器一样。文件夹在任何时间点的外观提供关于哪个备份包含哪些文件的线索。但是,虽然这种方法帮助用户标识特定文件的所需版本,但它不提供对理解相互依赖的文件之间关系的支持,无论它们存在于一个文件系统中还是分布式文件系统中。
[0006]所需要的是一种容易使用的直观方式,来查看一组相关文件以确定该组相关文件应当在时间上在哪个快照恢复,而无需依赖于用户事先创建并命名的一致快照。


【发明内容】

[0007]通过提供允许用户查看并还原文件内容的状态就像文件内容在任意时间点存在的那样的用户接口而无需事先为集合中的所有文件创建检查点,根据本发明各种实施例的系统和方法可以解决执行文件管理的现有应用中的缺陷。该用户接口还可以提供包括更大实体的状态的文件状态之间关系的可视指示。例如,在实施例中,一组相关文件的图可以由处理器显示在计算机显示器上,该图为这组相关文件的每个文件绘出起始点、结束点以及一个或多个中间检查点。起始点、结束点以及一个或多个中间检查点中每个代表一个时间点。每个时间点与用于文件的文件内容的状态关联。例如,当前时间“现在”可以与文件的当前状态关联。处理器可以接收指示比当前时间早的特定时间点的输入。处理器可以创建包括在接收到的特定时间点时这组相关文件的历史文件内容的环境。

【专利附图】

【附图说明】
[0008]图1根据本发明的实施例说明了示出随时间的文件状态的条形图。
[0009]图2根据本发明的实施例说明了用于指示每个文件的状态要恢复的时间的快照线。
[0010]图3a、3b和3c根据本发明的实施例说明了历史时间线上的时间点标签。
[0011]图4根据本发明的实施例说明了选择历史时间点。
[0012]图5根据本发明的实施例说明了查看处于特定时间点的文件的状态。
[0013]图6根据实施例说明了与本文所述的技术关联的高级步骤。
[0014]图7根据本发明的实施例说明了用来重新创建文件状态的数据存储。
[0015]图8是根据本发明的实施例的产生文件状态图的流程图。
[0016]图9是根据本发明的实施例的重新创建在特定时间点被打开的文件的环境的流程图。
[0017]图10是实施例可以在其上实现的计算机系统的框图。

【具体实施方式】
[0018]许多软件应用包括执行自定义文件管理的部件。一种此类软件应用的例子是集成开发环境(IDE)。IDE为计算机编程人员提供支持软件开发的许多方面的工具,可以包括创作、修改、编译、部署和调试软件。作为例子,本文所公开的发明的实施例被描述为由IDE执行,但是这些方法可以让任何软件应用用于执行多个相互依赖的电子部件的内容的版本控制。
[0019]项目有时候跨多个计算机文件存储。对这些项目工作的用户对这些可能相互依赖的文件进行改变。对一个文件进行改变可能需要对另一个文件的改变。用户可以依赖于IDE来管理项目文件,并且IDE可以已经被用来随时间推移打开、编辑和关闭许多文件。用户常常对文件进行改变,然后决定把他们的改变还原到较早的状态-例如,他们对最后几小时的工作不满意并且想从较早的点重新开始。恢复一个项目文件的状态可能需要恢复其它相互依赖的文件的状态。
[0020]本文所述的方法提供一种新的图,该图示出随时间推移被打开、编辑和关闭的文件的历史。在一种实施例中,生成沿图形的底部显示时间线的图形,该时间线在时间上从“现在”向后伸展。已经被打开的每个文件由在时间上在其被打开的时间(起始点)和被关闭的时间(结束时间)之间向后伸展的水平条表示,并且起始点和结束点在时间线上具有对应的标注的时间点。在其它实施例中,其它种类的图可以被使用,其中图中的每个对象代表一个文件并且指示其打开、关闭和中间保存的时间。
[0021]图1根据本发明的实施例说明了示出随时间推移的文件状态的条形图。该图绘制为Y轴部分代表不同文件并且X轴代表时间线。条形图的条可以与时间线平行地绘制。图中每个条对应于单个文件,并且占据Y轴相同部分的多个条可以代表被打开和关闭多次的相同文件。更具体而言,在Y轴上处于相同高度的条可以代表相同文件,而处于不同高度的条可以代表不同文件。该图可以显示在特定时间段内被使用的所有文件。在由示例图100表示的时间段内,五个文件被打开和关闭。文件通过名字来标注并且它们的宽度指示它们被打开的时间长度。例如,条I1代表名为“File-A.txt”的文件。当前时间(现在)是原点,并且历史时间向原点的左边表示(较旧)。条内的点线标记指示何时对应的文件被保存(即,点线相对于X轴定位,对应于检查点发生的时间)。用户可以在任何时间点把鼠标悬浮在任何条之上并且可以查看显示在那个时间点的对应文件状态的附加Π。
[0022]图2根据本发明的实施例说明了用于指定每个文件的状态要被检查的时间的快照线。图200把快照线210绘制为与时间线垂直的垂直短划线,该垂直短划线在相同的特定时间点与所有条相交。为了选择所有文件的状态要被检查并且有可能恢复的时间,该垂直线可以沿着时间线向左或向右拖。在实施例中,用户可以通过键盘或者通过用于选择时间的任何其它机制输入时间,并且IDE可以更新快照线的位置,以便在选定的时间点与文件相交。
[0023]图3a、3b和3c根据本发明的实施例说明了历史时间线上的时间点标签。图3a在历史时间线上示出了利用时间戳标注的特定点。在该例中,文件打开、保存和关闭事件发生的时间被选作标注的时间点。这些时间戳可以与文件事件关联地存储。在该图中,最旧的时间点表示2012年4月21日并且最近的时间点表示2012年5月31日下午7:57。时间线可以按等比例,或者如该例中所示的,时间点可以不按等比例。在该例中,较近的时间点利用包括日期、小时和分钟的时间标注,而较旧的时间点可以只利用天和小时或者只用天来标注。这种非线性时间标度背后的构思是最旧的时间点有可能是最不令人关注的,因此可以显示较少的较旧检查点。非线性标度还允许显示比利用线性标度可能的更宽的时间段。
[0024]图3b说明了对用户有意义的文字标签的使用。例如,如果文件是软件开发项目的部分并且项目生命周期在特定的生命周期里程碑要求对所有文件设置检查点(保存状态),则该里程碑的名字可能比检查点发生的日期和时间更有意义。图3b中所显示的示例标签包括版本A、审查检查点、单元测试检查点、版本系统测试以及版本beta测试。当事件发生时,用户可以被提示输入或选择标签以关联事件。时间点标签还可以通过在时间线上选择标签并且用新文字标签重新命名它来改变。
[0025]图3c说明了基于改变随时间推移的数目和分布来选择的相对时间标签的使用。例如,最右边的时间点“-1小时”表示当前时间之前一小时。虽然文件打开、保存和关闭事件的实际时间可以被用来确定显示哪些相对时间点,但是标注的时间点不需要与文件事件发生的时间一致。在实施例中,在图中由垂直线表示的起始点、结束点和中间保存点可以每个都利用对应事件发生的时间附加地标注。在另一种实施例中,文件事件发生的实际时间可以在光标指向或者选择条内的垂直线时显示。
[0026]用户可以选择任意的历史时间点并且检查在选定的时间点时存储在个别文件中的内容的状态。图4根据本发明的实施例说明了选择历史时间点。用户可以跨该图滑动垂直线,以指示文件状态是期望的时间。
[0027]图5根据本发明的实施例说明了查看文件在特定时间点的状态。在实施例中,文件和期望的时间点可以基于光标500的位置来选择。例如,文件可以通过在表示该文件的条上定位光标来选择。类似地,期望的时间点可以基于光标相对于时间线的位置来选择。光标位置可以通过悬浮光标或通过点击鼠标按钮来确定。在备选实施例中,快照线的位置可以为被检查的任何文件确定时间点。在实施例中,文件可以通过把文件名输入文字框或者从下拉或弹出菜单选择文件名来选择。
[0028]一旦期望的时间点和文件被选择,在选定的时间点被选文件中的内容的状态就可以显示。图5中的例子显示鼠标悬浮在表示感兴趣的文件File-C.txt的条上。选定时间点时的文件内容可以在弹出窗口 510中给出。在实施例中,该文件在该时间点的整个内容可以独立于文件的当前状态而显示。在另一种实施例中,文件内容的显示可以包括历史版本和当前版本之间的内容的联合并且指示内容在历史版本和当前版本之间如何变化。标识文件版本之间的差别的方式可以包括,例如,使用颜色、下划线和/或删除线记号来标识改变的元素。在图5中,阴影区域可以指示从选定的历史时间点起改变的内容。在还有另一种实施例中,只有历史状态和当前状态之间的差别被显示,并且历史版本和当前版本共同的内容可以不显示。
[0029]用户可以在时间点审查某些文件的状态,以验证已经选择了正确的时间点。一旦经过验证,用户就可以请求创建其中所有文件都还原到它们在该选定时间点所具有的状态的环境。例如,参考图4,如果用户请求基于通过快照线的位置选择的时间点创建环境,则该环境将包括File-A.txt被打开的版本、在其第一次保存之后的File-B.txt和刚要关闭之前的File-C.txt ο文件File-D.txt和File-E.txt在该环境中将不存在,因为它们在5/29/1213:00 和 5/30/1210:17 之间没有打开。
[0030]在实施例中,在检查点之间,例如在打开和保存之间或者在保存之间,对文件进行的改变将不在状态中反映。每个文件的状态将是在它最后打开或保存时的状态。保存一个或多个文件的内容可以由用户触发(用户启动的)或者可以由IDE中的定时器触发。在实施例中,每个条中点状保存线可以表示用户启动的保存。用户启动的保存可以保存个别文件或者可以在相同的时间点保存所有文件。虽然IDE可以顺序地迭代通过文件,以保存多个文件,并且因此,跨文件的实际保存时间可以不同,但是IDE可以指定共同的时间点作为用于集合中每个文件的保存点。此外,IDE可以在用户启动的保存之间自动地保存文件的快照。自动快照可以在条内利用相同的点线、利用某种其它标记指示,或者根本不指示。于是,文件在特定时间点的状态可以是从上个检查点起的文件的状态,不管是用户还是IDE启动了保存。
[0031]图6根据实施例说明了与本文所述的技术关联的高级步骤。在步骤610中,与特定时间段关联的文件状态的图被生成并显示。在步骤620中,IDE接收指示期望时间点的用户输入。响应于接收期望的时间点,快照线被重画,以便在期望的时间点与时间线相交。在步骤630中,可以创建包括处于期望时间点时的状态的文件的新环境。
[0032]为了实现这些高级步骤,可以使用绘图环境和历史数据的存储。绘图环境最基本的是具有在其上绘制任意线条和文字的图形计算机用户接口。数据存储可以包含由IDE打开的所有文件的列表、每个文件打开和关闭的时间,以及当文件打开时在时间上各个点的状态。IDE可以包括截获文件的打开、关闭和保存的控制机制。当这些事件之一发生时,与事件关联的数据可以放到用于那个文件的数据存储中。
[0033]图7根据本发明的实施例示出了为重新创建文件状态而存储的示例数据。事件日志700是文件打开和文件关闭事件的时间排序列表。事件日志700可以用于确定在时间上任何点哪些文件打开以及用于确定如何在时间线上绘图每个文件。在本发明的实施例中,与事件日志700分离且不同的保存事件列表710可以用于记录每个文件的内容被保存时的时间。在以上给出的给所有文件一起设置检查点的例子中,选择具有代表性的时间点,并且所有文件都将在保存事件列表中以这个相同的具有代表性的时间记录。
[0034]在实施例中,事件日志700和事件保存列表710可以包括用于存储与事件关联的文字标签的附加列。
[0035]每个文件保存时的状态可以存储在本文中被称为文件状态数据存储720的还有另一个数据存储中。当对文件的修改被保存时,重构那个时间点时的文件状态所需的信息保存在文件状态数据存储720中。在实施例中,文件内容的整个拷贝可以被存储。在备选实施例中,从上个检查点起所进行的改变可以写入文件状态数据存储720。在实施例中,事件日志700和保存事件列表710可以合并到单个时间排序列表中。
[0036]当用户请求查看相关文件的图时,确定文件状态将在其上显示的历史时间段。该历史时间段是将由图的时间线表示的从当前时间向后的时间量。历史时间段可以作为输入从用户接收、可以在IDE中配置,或者可以基于考虑至少存储在事件日志中的事件数目和包括这些事件的时间段的规则动态确定。图8是根据本发明的实施例说明文件状态图产生的流程图。事件日志可以按时间顺序读取,从该图表示的时间段开始之后的第一个时间条目开始。例如,基于图7中所示的示例数据,如果当前时间是下午3:30并且图要表示在同一天更早的上午10:00开始的文件状态,则从事件日志读取的第一个条目将是在上午10:01发生的事件。在步骤810中,下一个事件日志条目被读取,包括时间、事件类型和文件名。在步骤820中,如果事件的类型是打开文件事件,则在步骤830中,创建表示这个文件的新的条,该条的左侧相对于X轴绘制,对应于文件被打开的时间。如果事件不是打开文件事件,则在步骤840中,事件被测试,以验证它是否是关闭文件事件。如果事件是关闭文件事件,则在步骤850中,用于这个文件的条通过在从该关闭事件读取的时间点绘制条的右侧而完成,并且该条的左侧和右侧被连接,以形成矩形条的顶部和底部。在由图表示的时间段内发生的保存文件事件被读取,并且可以在条中在与保存发生的时间点成一直线的位置画线。
[0037]快照线可以最初在配置的位置绘制,诸如在时间线的中间、在快照线被用来请求检查历史文件内容或创建历史环境的最后一个时间点,或者在表示从当前时间开始过去某个时间量的时间点。
[0038]—旦用户肯定地选择了感兴趣的时间点,例如通过把快照线滑动到感兴趣的时间点,用户就可以指示要审查的文件。被选文件的状态的指示可以通过在保存事件列表中查找感兴趣的时间点来检索和显示。保存事件列表可以通过时间加索引。对应于用于期望文件的感兴趣时间点的保存列表条目可以被找出,并且文件参考可以被用来检索所保存的文件状态。基于所保存的文件状态,文件的状态可以重新创建。在实施例中,代替通过时间加索引或者除此之外,保存事件列表可以通过文字标签加索引。
[0039]图9是根据本发明的实施例的重新创建在特定时间点被打开的文件的环境的流程图。在步骤910中,IDE确定哪些文件在特定的时间点打开。事件日志中的对应于该特定时间点的条目的位置被用作起始位置。对于相关文件组中的每个文件,日志条目可以在时间上向后搜索,以找出对该文件最后发生的事件。如果最后的事件是打开事件,则文件被打开,而如果最后的事件是关闭事件,则文件被关闭。在步骤920中,对于每个打开的文件,在保存事件列表中标识特定时间点之前的最后的保存事件条目。在步骤930中,利用保存事件条目中的参考,文件状态可以利用来自文件状态数据存储的保存的文件状态信息来确定。
[0040]图10说明了可以用来实现本文所述方法的计算机系统的实施例。如图10中所说明的计算机系统可以作为之前描述的系统的部分结合并且可以用来执行之前所述的方法。例如,计算机系统1000可以执行执行文件管理的应用、图形用户接口、软件开发环境。计算机系统1000可以访问存储结构,诸如存储结构700、710和720。如本文所述,图10提供了可以执行由各种实施例所提供方法的计算机系统1000的一种实施例的示意性说明。应当指出,图10仅仅是要提供各种部件的一般化说明,这些部件中任何一个或全部可以适当地被利用。因此,图10广义地说明了个别系统元件可以如何以相对独立或相对更集成的方式实现。
[0041]计算机系统1000示为包括可以经总线1005电耦合(或者可以适当地以别的方式通信)的硬件元件。硬件元件可以包括一个或多个处理器1010,包括但不限于一个或多个通用处理器和/或一个或多个专用处理器(诸如数字信号处理芯片、图形加速处理器等);一个或多个输入设备1015,可以包括但不限于鼠标、键盘等;以及一个或多个输出设备1020,可以包括但不限于显示设备、打印机等。
[0042]计算机系统1000还可以包括一个或多个非暂时性存储设备1025 (和/或与之通信),非暂时性存储设备1025可以包括但不限于本地和/或网络可访问的储存器,和/或可以包括但不限于盘驱动器、驱动器阵列、光学存储设备、诸如随机存取存储器(“RAM”)和/或只读存储器(“ROM”)的固态存储设备,这些存储设备可编程、可闪存更新等。这种设存储备可以配置为实现任何适当的数据存储,包括但不限于各种文件系统、数据库结构等。
[0043]计算机系统1000还可以包括通信子系统1030,这可以包括但不限于调制解调器、网卡(无线或有线)、红外线通信设备、无线通信设备和/或芯片集(诸如Bluetooth?设备、802.11设备、WiFi设备、WiMax设备、蜂窝通信设施等),等等。通信子系统1030可以允许数据与网络(仅举一个例子,诸如以下所述的网络)、其它计算机系统和/或本文所述的任何其它设备交换。在许多实施例中,计算机系统1000还将包括工作存储器1035,如上所述,这可以包括RAM或ROM设备。
[0044]计算机系统1000还可以包括软件元件,当前示为位于工作存储器1035中,包括操作系统1040、设备驱动器、可执行库和/或其它代码,诸如一个或多个应用程序1045,其中应用程序可以包括由各种实施例提供的计算机程序,和/或可以设计成实现由其它实施例提供的方法和/或配置由其它实施例提供的系统,如本文所述。仅仅作为例子,关于以上讨论的方法所描述的一个或多个过程可以实现为可由计算机(和/或计算机内的处理器)执行的代码和/或指令;于是,在一方面,这种代码和/或指令可以被用来配置和/或修改通用计算机(或其它设备),以执行根据所述方法的一个或多个操作。
[0045]这些指令和/或代码的集合可以存储在非暂时性计算机可读存储介质上,诸如上述存储设备1025。在有些情况下,存储介质可以结合在计算机系统,诸如计算机系统1000,之中。在其它实施例中,存储介质可以与计算机系统分离(例如,可拆卸介质,诸如光盘),和/或在安装包中提供,使得存储介质可以被用来利用存储在其上的指令/代码编程、配置和/或修改通用计算机。这些指令可以采取由计算机系统1000可执行的可执行代码的形式,和/或可以采取源和/或可安装代码的形式,当在计算机系统1000上编译和/或安装时(例如,利用任意各种一般可获得的编译器、安装程序、压缩/解压缩实用程序等),则采用可执行代码的形式。
[0046]对本领域技术人员来说将很显然,可以根据具体需求进行实质性的变化。例如,定制的硬件也可以使用,和/或特定的元件可以在硬件、软件(包括可移植软件,诸如applet等),或者二者都使用。另外,可以采用到诸如网络输入/输出设备的其它计算设备的连接。
[0047]如以上所提到的,在一方面,有些实施例可以采用计算机系统(诸如计算机系统1000)来执行根据本发明各种实施例的方法。根据一组实施例,此类方法的一些或全部过程由计算机系统1000响应于处理器1010执行包含在工作存储器1035中的一条或多条指令的一个或多个序列(这些指令可以结合到操作系统1040和/或其它代码中,诸如应用程序1045)而执行。这种指令可以从另一计算机可读介质,诸如一个或多个存储设备1025,读到工作存储器1035中。仅仅作为例子,包含在工作存储器1035中的指令序列的执行可能造成处理器1010执行本文所述方法的一个或多个过程。
[0048]如在本文所使用的,术语“机器可读介质”和“计算机可读介质”指参与提供使机器以特殊方式操作的数据的任何介质。在利用计算机系统1000实现的实施例中,各种计算机可读介质可以参与向处理器1010提供指令/代码用于执行和/或可以用来存储和/或携带此类指令代码。在许多实现中,计算机可读介质是物理的和/或有形的存储介质。这种介质可以采取非易失性介质或易失性介质的形式。非易失性介质包括例如光和/或磁盘,诸如存储设备1025。易失性介质包括但不限于动态存储器,诸如工作存储器1035。
[0049]物理的和/或有形的计算机可读介质的常见形式包括例如软盘、柔性盘、硬盘、磁带或者任何其它磁性介质,CD-ROM、任何其它光学介质,穿孔卡片、纸带、任何其它具有孔模式的物理介质,RAM、PROM、EPROM、FLASH-EPROM、任何其它存储器芯片或盒式磁带,或者计算机可以从其读取指令和/或代码的任何其它介质。
[0050]各种形式的计算机可读介质可以参与把一条或多条指令的一个或多个序列运送到处理器1010供执行。仅仅作为例子,指令可以最初在远程计算机的磁盘和/或光盘上携带。远程计算机可以把指令加载到其动态存储器中并且把指令作为信号经传输介质发送,以便由计算机系统1000接收和/或执行。
[0051]通信子系统1030(和/或其部件)一般将接收信号,并且然后总线1005可以把信号(和/或由这些信号携带的数据、指令等)运送到工作存储器1035,处理器1010从工作存储器1035检索并执行指令。由工作存储器1035接收的指令可以可选地在被处理器1010执行之前或之后存储在非暂时性存储设备1025上。
[0052]以上所讨论的方法、系统和设备是例子。各种配置可以适当地略去、代替或添加各种过程或部件。例如,在备选配置中,方法可以按与所述不同的次序执行,和/或各个阶段可以被添加、略去和/或组合。而且,关于某些配置所述的特征可以在各种其它配置中组合。配置的不同方面和元件可以以类似的方式组合。而且,技术在发展并且,因此,许多元件是例子并且不限制本公开内容或权利要求的范围。
[0053]在描述中给出了具体的细节,以提供对示例配置(包括实现)的透彻理解。但是,配置没有这些具体细节也可以实践。例如,众所周知的电路、过程、算法、结构和技术没有示出不必要的细节,以避免模糊配置。这种描述仅仅提供示例配置,而不限制权利要求的范围、适用性或配置。更确切地说,之前对配置的描述将为本领域技术人员提供用于实现所述技术的能够操作的描述(enabling descript1n)。在不背离本公开内容主旨或范围的情况下,可以对元件的功能和布置进行各种变化。
[0054]而且,配置可以描述为被绘制为流程图或框图的过程。虽然每个配置都把操作描述为顺序过程,但是许多操作可以并行地或者同时执行。此外,操作的次序可以重新布置。过程可以具有图中不包括的附加步骤。此外,方法的例子可以由硬件、软件、固件、中间件、微代码、硬件描述语言或者其任意组合来实现。当在软件、固件、中间件或微代码中实现时,执行必要任务的程序代码或代码片段可以存储在诸如存储介质的非暂时性计算机可读介质中。过程可以执行所述任务。
[0055]根据一种实施例,提供了一种装置,包括:用于在计算机显示器上显示一组相关文件的图的单元,该图为这组相关文件的每个文件绘出起始点、结束点以及一个或多个中间检查点,其中起始点、结束点以及一个或多个中间检查点中每个代表一个时间点,其中每个时间点与用于所述每个文件的文件内容的状态关联,其中所述每个文件具有在第一时间点处于当前状态的内容;用于接收指示比第一时间点早的特定时间点的输入的单元;以及用于再现包括这组相关文件的文件内容的环境的单元,其中该环境中的文件内容具有与特定时间点关联的历史状态。
[0056]在一个例子中,该装置还包括用于显示环境的单元,其中显示环境包括显示在特定时间点被打开的文件内容的状态的指示。
[0057]在一个例子中,该装置还包括用于显示包括历史时间点的时间线的单元,其中历史时间点包括对应于用于所述每个文件的起始点、结束点以及一个或多个中间检查点的时间点。
[0058]在一个例子中,这组相关文件的图是具有一个或多个条的条形图,这些条代表这组相关文件当中的所述每个文件,其中一个或多个条中条的一侧相对于所述时间线上对应于所述每个文件的起始点的时间点定位;该条的另一侧相对于与时间线上对应于所述文件结束点的时间点定位;并且在条内显示一个或多个标记,每个标记相对于所述时间线上对应于所述每个文件的中间检查点的时间点定位。
[0059]在一个例子中,时间线显示为水平线;并且每个都代表文件的一个或多个条与时间线平行地显示,使得在历史时间点与时间线相交的垂直线还在对应于该历史时间点的一侧或标记处与每个条相交。
[0060]在一个例子中,用于接收指示时间线上的特定时间点的输入的单元还包括用于显示与时间线垂直的线的单元,该垂直线表示在时间上的历史快照;用于响应于接收到输入而显示所述垂直线移动到在特定时间点与时间线相交的单元。
[0061]在一个例子中,用于文件的起始点表示这组相关文件中所述每个文件被打开的时间;用于该文件的结束点表示所述每个文件被关闭的时间;并且用作所述每个文件的中间检查点的每个中间检查点表示所述每个文件被保存的时间。
[0062]在一个例子中,用于显示图的单元还包括:用于检索在特定时间段内被打开的第一文件列表的单元;对于这组相关文件中在该特定时间段内任何时间被打开的每个文件:用于检索该特定时间段内所述每个文件被打开的时间作为第一文件打开时间点的单元,及用于检索所述每个文件被关闭的对应时间作为第一文件关闭时间点的单元;用于显示其一侧根据第一文件打开时间点定位并且另一侧根据第一文件关闭时间点定位的第一条的单元;用于检索所述每个文件被保存的一个或多个时间作为第一文件保存时间点的单元,其中第一文件保存时间点位于第一文件打开时间点与第一文件关闭时间点之间;用于在第一条上显示一个或多个标记的单元,每个标记对应于一个或多个第一文件保存时间点之一。
[0063]在一个例子中,用于显示图的单元还包括,对于第一文件列表中的每个文件:用于检索特定时间段内所述每个文件被打开的时间作为第二文件打开时间点的单元,及用于检索所述每个文件被关闭的对应时间作为第二文件关闭时间点的单元;其中第二文件打开时间点在第一文件关闭时间点之后;用于显示其一侧根据第二文件打开时间点定位并且另一侧根据第二文件关闭时间点定位的第二条的单元;用于检索所述每个文件被保存的一个或多个时间作为第二文件保存时间点的单元,其中第二文件保存时间点位于第二文件打开时间点与第二文件关闭时间点之间;用于在第二条上显示一个或多个标记的单元,每个标记对应于一个或多个第二文件保存时间点之一。
[0064]在一个例子中,用于检索第一文件列表的单元基于基于时间的索引。
[0065]在一个例子中,用于检索第一文件保存时间点的单元还包括从基于时间的索引之外的表检索第一文件保存时间点。
[0066]在一个例子中,这组相关文件属于共同的项目;其中这组相关文件中的多个文件驻留在共同的目录中;并且其中这组相关文件的至少一个文件驻留在该共同的目录之外。
[0067]在一个例子中,这组相关文件包括在集成开发环境中管理的源文件,每个源文件包含符合计算机编程语言的文字。
[0068]在一个例子中,该装置还包括所述集成开发环境:用于在文件保存时间点接收触发器以便在集成开发环境中保存一个或多个打开的文件的单元;用于接收用于在图中标识文件保存时间点的标签的单元;用于创建索引条目以便基于该标签给保存的一个或多个打开的文件加索引的单元。
[0069]在一个例子中,标签是指示触发器何时被接收的时间戳。
[0070]在一个例子中,标签是非时间戳的里程碑的名字。
[0071]在一个例子中,触发器是响应于保存一个或多个打开的文件的用户请求而生成的。
[0072]在一个例子中,触发器是基于定时器生成的。
[0073]在描述了几种示例配置之后,在不背离本公开内容主旨的情况下,可以使用各种修改、备选构造和等效方式。例如,以上元件可以是更大系统的部件,其中其它规则可以优先或者以别的方式修改本发明的应用。而且,多个步骤可以在考虑以上元件之前、期间或之后采取。相应地,以上描述不限定权利要求的范围。
【权利要求】
1.一种计算机实现的方法,包括: 由处理器在计算机显示器上显示一组相关文件的图,所述图为这组相关文件的每个文件绘出起始点、结束点以及一个或多个中间检查点; 其中所述起始点、结束点以及一个或多个中间检查点中每个代表一个时间点; 其中每个时间点与用于所述每个文件的文件内容的状态关联; 其中所述每个文件在第一时间点具有处于当前状态的内容; 由所述处理器接收指示比所述第一时间点早的特定时间点的输入;及 由所述处理器重新创建包括这组相关文件的文件内容的环境; 其中所述环境中的文件内容具有与所述特定时间点关联的历史状态。
2.如权利要求1所述的计算机实现的方法,还包括显示所述环境,其中显示所述环境包括显示在所述特定时间点被打开的文件内容状态的指示。
3.如权利要求1或2所述的计算机实现的方法,所述方法还包括显示包括历史时间点的时间线,其中所述历史时间点包括对应于用于所述每个文件的起始点、结束点以及一个或多个中间检查点的时间点。
4.如权利要求3所述的计算机实现的方法,其中: 这组相关文件的图是具有一个或多个条的条形图,这些条代表这组相关文件当中的所述每个文件,其中所述一个或多个条中条的一侧相对于所述时间线上对应于所述每个文件的起始点的时间点定位; 所述条的另一侧相对于所述时间线上对应于所述每个文件的结束点的时间点定位;及在所述条内显示一个或多个标记,每个标记相对于所述时间线上对应于所述每个文件的中间检查点的时间点定位。
5.如权利要求3所述的计算机实现的方法,其中: 所述时间线显示为水平线;及 每个都代表文件的一个或多个条与所述时间线平行地显示,使得在历史时间点与所述时间线相交的垂直线还在对应于所述历史时间点的一侧或标记处与每个条相交。
6.如权利要求3所述的计算机实现的方法,其中接收指示所述时间线上特定时间点的输入还包括: 显示与所述时间线垂直的线,所述垂直线表示时间上的历史快照; 响应于接收到输入,显示所述垂直线移动到在所述特定时间点与所述时间线相交。
7.如权利要求1至6中任何一项所述的计算机实现的方法,其中: 用于文件的起始点表示这组相关文件中所述每个文件被打开的时间; 用于所述文件的结束点表示所述每个文件被关闭的时间;及 用作所述每个文件的中间检查点的每个中间检查点表示所述每个文件被保存的时间。
8.如权利要求7所述的计算机实现的方法,其中显示所述图还包括: 检索在特定时间段内被打开的第一文件列表; 对于这组相关文件中在所述特定时间段内的任何时间被打开的每个文件: 检索所述特定时间段内所述每个文件被打开的时间作为第一文件打开时间点,并且检索所述每个文件被关闭的对应时间作为第一文件关闭时间点; 显示其一侧根据所述第一文件打开时间点定位并且另一侧根据所述第一文件关闭时间点定位的第一条; 检索所述每个文件被保存的一个或多个时间作为第一文件保存时间点,其中所述第一文件保存时间点位于所述第一文件打开时间点与所述第一文件关闭时间点之间; 在所述第一条上显示一个或多个标记,每个标记对应于所述一个或多个第一文件保存时间点之一。
9.如权利要求8所述的计算机实现的方法,其中显示所述图还包括,对于第一文件列表中的每个文件: 检索所述特定时间段内所述每个文件被打开的时间作为第二文件打开时间点,并且检索所述每个文件被关闭的对应时间作为第二文件关闭时间点; 其中所述第二文件打开时间点在所述第一文件关闭时间点之后; 显示其一侧根据所述第二文件打开时间点定位并且另一侧根据所述第二文件关闭时间点定位的第二条; 检索所述每个文件被保存的一个或多个时间作为第二文件保存时间点,其中所述第二文件保存时间点位于所述第二文件打开时间点与所述第二文件关闭时间点之间; 在所述第二条上显示一个或多个标记,每个标记对应于所述一个或多个第二文件保存时间点之一。
10.如权利要求8所述的计算机实现的方法,其中检索所述第一文件列表基于基于时间的索引。
11.如权利要求8所述的计算机实现的方法,其中检索所述第一文件保存时间点还包括从基于时间的索引之外的表检索第一文件保存时间点。
12.如权利要求1至11中任何一项所述的计算机实现的方法,其中这组相关文件属于共同的项目; 其中这组相关文件中的多个文件驻留在共同的目录中;及 其中这组相关文件的至少一个文件驻留在所述共同的目录之外。
13.如权利要求1至11中任何一项所述的计算机实现的方法,其中这组相关文件包括在集成开发环境中管理的源文件,每个源文件包含符合计算机编程语言的文字。
14.如权利要求13所述的计算机实现的方法,还包括所述集成开发环境: 在文件保存时间点接收触发器,以便在集成开发环境中保存一个或多个打开的文件; 接收用于在所述图中标识文件保存时间点的标签; 创建索引条目,以便基于所述标签给所保存的一个或多个打开的文件加索引。
15.如权利要求14所述的计算机实现的方法,其中所述标签是指示所述触发器何时被接收的时间戳。
16.如权利要求14所述的计算机实现的方法,其中所述标签是非时间戳的里程碑的名字。
17.如权利要求14所述的计算机实现的方法,其中所述触发器是响应于保存所述一个或多个打开的文件的用户请求而生成的。
18.如权利要求14所述的计算机实现的方法,其中所述触发器是基于定时器生成的。
19.一种系统,包括: 计算机,包括计算机可读介质和处理器,其中所述计算机親合到计算机显示器; 文件管理应用,在所述计算机上执行,其中所述文件管理应用配置为: 在所述计算机显示器上显示一组相关文件的图,所述图为这组相关文件的每个文件绘出起始点、结束点以及一个或多个中间检查点; 其中所述起始点、结束点以及一个或多个中间检查点中每个代表一个时间点; 其中每个时间点与用于所述每个文件的文件内容的状态关联; 其中所述每个文件在第一时间点具有处于当前状态的内容; 由所述处理器接收指示比所述第一时间点早的特定时间点的输入;及 由所述处理器重新创建包括这组相关文件的文件内容的环境; 其中所述环境中的文件内容具有与所述特定时间点关联的历史状态。
20.如权利要求19所述的系统,其中所述文件管理应用还配置为显示包括历史时间点的时间线,其中所述历史时间点包括对应于用于所述每个文件的起始点、结束点以及一个或多个中间检查点的时间点。
21.如权利要求21所述的系统,其中: 这组相关文件的图是具有一个或多个条的条形图,这些条代表这组相关文件当中的所述每个文件,其中所述一个或多个条中条的一侧相对于所述时间线上对应于所述每个文件的起始点的时间点定位; 所述条的另一侧相对于所述时间线上对应于所述每个文件的结束点的时间点定位;及在所述条内显示一个或多个标记,每个标记相对于所述时间线上对应于所述每个文件的中间检查点的时间点定位。
22.如权利要求21所述的系统,其中: 所述时间线显示为水平线;及 每个都代表文件的所述一个或多个条与所述时间线平行地显示,使得在历史时间点与所述时间线相交的垂直线还在对应于所述历史时间点的一侧或标记处与每个条相交。
23.如权利要求21所述的系统,其中所述文件管理应用还配置为: 显示与所述时间线垂直的线,所述垂直线表示时间上的历史快照; 响应于接收到输入,显示所述垂直线移动到在特定时间点与时间线相交。
24.如权利要求19至23中任何一项所述的系统,其中: 用于文件的起始点表示这组相关文件中所述每个文件被打开的时间; 用于所述文件的结束点表示所述每个文件被关闭的时间;及 用作所述每个文件的中间检查点的每个中间检查点表示所述每个文件被保存的时间。
25.如权利要求25所述的系统,其中所述文件管理应用还配置为: 检索在特定时间段内被打开的第一文件列表; 对于这组相关文件中在所述特定时间段内的任何时间被打开的每个文件: 检索所述特定时间段内所述每个文件被打开的时间作为第一文件打开时间点,并且检索所述每个文件被关闭的对应时间作为第一文件关闭时间点; 显示其一侧根据所述第一文件打开时间点定位并且另一侧根据所述第一文件关闭时间点定位的第一条; 检索所述每个文件被保存的一个或多个时间作为第一文件保存时间点,其中所述第一文件保存时间点位于所述第一文件打开时间点与所述第一文件关闭时间点之间;及 在所述第一条上显示一个或多个标记,每个标记对应于所述一个或多个第一文件保存时间点之一。
26.如权利要求26所述的系统,其中所述文件管理应用还配置为: 检索所述特定时间段内所述每个文件被打开的时间作为第二文件打开时间点,并且检索所述每个文件被关闭的对应时间作为第二文件关闭时间点; 其中所述第二文件打开时间点在所述第一文件关闭时间点之后; 显示其一侧根据所述第二文件打开时间点定位并且另一侧根据所述第二文件关闭时间点定位的第二条; 检索所述每个文件被保存的一个或多个时间作为第二文件保存时间点,其中所述第二文件保存时间点位于所述第二文件打开时间点与所述第二文件关闭时间点之间; 在所述第二条上显示一个或多个标记,每个标记对应于所述一个或多个第二文件保存时间点之一。
27.如权利要求26所述的系统,其中所述文件管理应用还配置为基于基于时间的索引检索第一文件列表。
28.如权利要求26所述的系统,其中检索所述第一文件保存时间点还包括从基于时间的索引之外的表检索第一文件保存时间点。
29.如权利要求19至28中任何一项所述的系统,其中所述文件管理应用是集成开发环境,其中这组相关文件包括在所述集成开发环境中管理的源文件,每个源文件包含符合计算机编程语言的文字,并且其中所述集成开发环境配置为: 在文件保存时间点接收触发器,以保存一个或多个打开的文件; 接收用于在所述图中标识所述文件保存时间点的标签; 创建索引条目,以便基于所述标签给所保存的一个或多个打开的文件加索引。
30.如权利要求29所述的系统,其中: 所述标签是指示触发器何时被接收的时间戳和非时间戳的里程碑的名字当中一个或多个;及 所述触发器是基于保存所述一个或多个打开的文件的用户请求及定时器当中一个或多个而生成的。
31.一种程序,用于使一个或多个处理器实现如权利要求1至18中任何一项所述的计算机实现的方法。
【文档编号】G06F11/14GK104471534SQ201380036599
【公开日】2015年3月25日 申请日期:2013年7月12日 优先权日:2012年7月12日
【发明者】N·J·考彻拉内 申请人:甲骨文国际公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1