以可重复方式遍历数据的制作方法

文档序号:6567060阅读:205来源:国知局
专利名称:以可重复方式遍历数据的制作方法
以可重复方式遍历数据
背景技术
随着存储单元容量指数式增长的趋势,文件系统的大小也以指数式 增长变大。由于文件系统备份工具必需遍历整个文件系统,以便定位并 且备份所有需要的文件和目录,大文件系统的备份可能花费相当长的时 间。较长的备份时间还可能意味着在备份处理过程中被中断的较大风 险。例如,网络备份系统中短暂的网络故障或者客户机或服务器中任何 其它的故障可能造成备份过程中断。在备份失败的情况下,典型的备份 系统从备份操作中待备份的数据集合(例如待备份的一组文件和/或目录) 的起点重新开始备份过程,有时在这里将这样的集合称为"保存集合
(saveset)"。假定长的备份持续时间和进一步中断的可能性,在每次中 断之后再开始备份过程可能显著影响备份系统的性能。
在典型的备份系统或过程中,甚至在包含保存集合的数据自中断以 来没有被修改过的情况下备份操作也无法获得其停止的位置,这是因为 在至少某些情况下无法保证对文件系统的遍历每次都以相同的顺序进 行。例如,对于相同命令的单独场合,从给定目录读取项目的"readdir" (读目录)命令可能以不同的顺序返回结果。因此存在一种需求,保证以 可重复的方式执行数据遍历。


在下面的详细描述和附图中公开了本发明的多个实施例。 图1说明了备份系统环境的一个实施例。 图2说明了文件系统树形结构的一个实施例。 图3A说明了备份保存集合的过程的一个实施例。 图3B说明了以可重复方式遍历和备份数据的过程的一个实施例。 图3C说明了建立遍历列表的过程的一个实施例。 图3D说明了恢复中断的备份操作的过程的一个实施例。 图3E说明了确定成功写入备份介质的最后文件系统项的过程的一个 实施例。
图3F说明了建立过程前后关系的过程的一个实施例。
具体实施方式
本发明可以以多种方式实现,包括作为过程、装置、系统、实体的 组合、计算机可读介质,例如计算机可读存储介质或者在光或电通信连 接上传送程序指令的计算机网络。在本说明书中,可能将这些实现方式 或者本发明可以采用的任何其它形式称为技术。所描述的配置用于执行 任务的组件,例如处理器或存储器,既包括在特定的时间临时配置用于 执行任务的通用组件、也包括制造用于执行该任务的定制组件。 一般而 言,在本发明的范围内可以改变所公开过程的步骤顺序。
下面给出了本发明一个或多个实施例的详细描述,并且伴随的附图 说明了本发明的原理。结合这些实施例对本发明进行描述,但本发明不 局限于任何一个实施例。本发明的范围仅由权利要求限定,并且本发明 包括许多替代、修改和等效形式。在后面的说明中所述的许多特定细节 是为了提供对本发明的彻底理解。提供这些细节是为了作为例子,可以 根据权利要求书实施本发明而不需要这些特定细节中的某些或全部。为 了清楚的目的,对本技术领域中和本发明相关的公知的技术材料没有详 细描述,从而不会产生不必要的影响使本发明晦涩难懂。
公开了以可重复的方式对层级式数据进行遍历。在一个实施例中, 在层级式数据的第一等级读取包含至少一部分数据的项目的列表并且排 序为指定的顺序用于遍历的可重复性。例如,当以可重复方式遍历文件 系统以便执行关于该文件系统或其一部分的备份操作,将每个目录中的 内容读入列表并且排序(例如成为文件名的字母顺序)。以所排序列表的 顺序备份文件系统项(或者其它经过处理的数据)。如果遇到数据的第二 等级,读取第二等级中的数据并且排序为指定的顺序,然后以所排序的 顺序处理数据。如果数据的遍历被中断,在恢复操作中以与在中断的操 作中相同的指定顺序进行读取、排序和处理,保证如果在中断操作被中 断的点恢复处理则不会遗漏数据单元,甚至在每个等级的单元是以不同 的顺序读取或接收的情况下也是如此。
在一个实施例中,作为备份操作的一部分,当文件系统项成功保存 到备份介质时,产生备份过程的记录。这个记录在此以后可以用于在备 份过程中出现故障时可以从最后成功记录的备份点恢复备份。在一个实 施例中,在备份恢复操作中一旦找到最后备份点,备份系统或过程重新 建立备份操作前后关系而无需彻底地遍历文件系统。通过重新建立前后 关系并且从在中断之前成功并且完全备份的最后文件之后的数据单元开
始恢复处理,恢复被中断的备份操作。以相同的、可重复的顺序遍历文 件系统,保证了在备份介质上将不会有文件被遗漏或者重复存储。
图1说明了备份系统环境的一个实施例。在所示的例子中,客户机
102通过网络106连接到服务器108。可以存在连接到网络的任意数量的 客户机和服务器。该网络可以是任意的公用或者私有网络和/或其组合, 包括而不是限制于内部互联网、局域网、广域网、以及连接多个系统和/ 或在一起的系统组的其它形式。客户机102连接到备份介质104。在某 些实施例中,备份介质可以是以下存储介质中的一种或多种硬盘、磁 带驱动器、光学存储单元、以及任何非易失性存储器件。可以存在多于 一个的备份介质。在一个实施例中,备份介质104直接连接到网络。在 另一个实施例中,备份介质104连接到服务器108。在另一个实施例中, 备份介质104通过SAN(存储区域网络)连接到客户机102。备份数据库 IIO连接到服务器108。在一个实施例中,备份数据库110包含与一个或 多个客户机和/或服务器上的数据相关联的数据。在另一个实施例中,备 份数据库110包含与写入一个或多个备份介质的数据相关联的数据。在 另一个实施例中,备份数据库IIO直接连接到网络。在另一个实施例中, 备份数据库110连接到客户机102。在另一个实施例中,备份数据库IIO 是服务器108和/或客户机102的一部分。在一个实施例中,客户机102 的备份由服务器108配合。服务器108指令客户机将数据备份到备份介 质104。当数据成功写入备份数据时,在备份数据库IIO上作出记录。 在另一个实施例中,服务器108与客户机102上运行的备份代理协作以 调整备份操作。该备份代理可以由服务器108进行配置。
图2说明了文件系统树形结构的一个实施例。在一个实施例中,系 统中待备份的一部分数据(保存集合)可以是整个文件系统或者是文件系 统的一部分。在一个实施例中,对文件系统以可重复方式进4亍遍历,以 保证任意随后发生的在文件系统中任意相同点开始的遍历以相同的顺序 执行。在所示的例子中,以首先是文件名然后是目录名的字母顺序进行 遍历。在其它实施例中,可以使用任何规范的文件系统项的排序。遍历 从根目录开始。读取并排序根目录的项目。排序后的顺序列表包括X 伊尸、《^入《录么《录4。以列表中的顺序备份与列表中的项目对 应的数据。当遇到备份《^7时,备份过程下降到《^入产生的列表包 括Jt斧J,并且备份X斧丄在已经遍历冢录7之后,遍历恢复到根目
录列表的项目上。当遇到《^2时,产生其内容的顺序列表,按顺序包
括X斧A X斧C、 X斧从豸求又以列表的顺序备份与列表的项目 对应的数据。当遇到厚^J时,产生对应于X伴f的列表和备份。由于 ^录4为空,备份对应于厉录4的项目而没有任何相关的文件。
图3A说明了对保存集合进行备份的过程的一个实施例。在所示的例 子中,在302设定当前备份目录为保存集合的第一级目录。在一个实施 例中,在302设定当前目录为与文件系统的根目录相关联。该保存集合 可以是预先配置的、动态配置的、通过用户界面指定的、设定为任意的 第一级数据的、和/或以某些其它方式确定的。该保存集合可以是任意的 层级式数据结构,例如组织为树形、目录、阵列、和/或链接表的数据。 当前备份目录是与该过程当前正进行备份的数据相关的目录。当前备份 目录可以是预先配置的、动态配置的、和/或通过用户界面指定的处理数 据中的任意数据点。在一个实施例中,第一级目录是数据的任意分类等 级,提到最普通的例如是首先遇到数据级。在3(H,以可重复方式对保存 集合进行遍历和备份。在其它实施例中,使用与304相关的过程可以以 可重复方式遍历任意的层级式数据。在一个实施例中,与304相关的过 程可能被中止,例如由于中断。如果在306确定对保存集合的遍历和备 份由于过程的中止而没有完成,则过程继续到308,在此确定是否可能恢 复被中断的备份操作。如果备份过程能够从如在308确定的最后成功备 份点恢复备份,则在310恢复备份过程。在一个实施例中,如果自最后 备份点时刻和/或备份起始时刻以来没有经过规定的一段时间,备份过程 可以从最后成功备份点恢复。在一个实施例中,这段时间可以预先配置 和/或动态配置。在一个实施例中,如果自中止以来保存集合的整体或者 部分没有被修改,备份过程可以从最后成功备份点恢复。如果在312确 定在恢复的备份过程中恢复的备份过程是无效的,或者在308确定备份 过程无法恢复,则重新开始备份操作(302)。在一个实施例中,如果在中 断之前已经被成功保存到备份介质的那个最后文件从保存集合中被移除 或者自中断以来已经被修改,在312确定所恢复的备份过程为无效。如 果在312确定恢复的备份过程有效,所恢复的备份过程继续,直到在306 确定备份操作已经完成,在此情况下图3A的过程结束,或者在306确定 所恢复的备份过程被中断,在此情况下重复308-312。在一个实施例中, 如果所恢复的备份过程在312进行有效确定操作之前被中止,备份操作
从起点(302)重新开始。
图3B说明了以可重复方式遍历和备份数据的过程的一个实施例。图 3B的过程在一个实施例中用于实现图3A中的304。在所示的例子中,在 316建立当前备份目录的遍历列表。该遍历列表包括以可重复顺序排序的 当前目录中的项目列表。在一个实施例中,该遍历列表是存储的。在一 个实施例中,该遍历列表是随着遍历和备份过程的继续同步建立的。在 318,从遍历列表获得下一个项目。在一个实施例中,以列表的顺序从遍 历列表获得项目。在另一个实施例中,以可重复顺序从遍历列表获得项 目,而不是以列表的顺序。如果在320确定成功获得了一个项目(存在于 遍历列表中待处理的项目),并且在322确定这个所获得的项目不对应于 目录,则在324将与这个所获得项目相关联的文件系统项目备份并作记 录,并且在318从遍历列表获得下一个项目。在一个实施例中,文件系 统项目在324保存到备份介质。在一个实施例中对备份进行记录,以便 于在例如备份操作被中断的情况下能够识别保存集合中成功保存到备份 介质的最后文件。在一个实施例中,备份的日志保存到备份数据库。在 一个实施例中,文件名、文件大小、以及从保存集合的起点的偏移量, 该偏移量识别文件在保存集合中的位置,如这里所描述的进行遍历。如 果在322确定所获得的项目对应于目录,当前备份目录设定为与所获得 项目对应的目录,并且在316为这个新的当前目录建立遍历列表。如果 在320确定在遍历列表已经不存在待处理的项目,则在328确定当前备 份目录的备份完成。在一个实施例中,当与当前目录相关的所有要素都 已经备份时,与当前目录相关联的数据被备份和/或记录。如果在330确 定当前目录不是第一级目录,则在322设定当前目录为当前所完成目录 的父目录,并且在318从新设定当前目录的遍历列表获得下一个项目。 在一个实施例中,第一级目录是保存集合的根目录。在一个实施例中, 父目录是与由刚刚完成处理的目录替代的前一个当前备份目录相对应的 目录。在一个实施例中,当前备份目录放置在堆栈数据结构中,即随着 当前备份目录变化而向堆栈增加目录或者从堆栈拿掉目录。在另一个实 施例中,对应于当前备份目录的遍历表也放置在堆栈中。如果在330确 定当前目录是第一级目录,在334指示备份完成。在一个实施例中,334 对应于图3A中在306的"完成"判定。在一个实施例中,如果图3A的 过程在过程达到334之前中止,则遍历和备份过程没有完成。在一个实
施例中,如果在备份过程中出现错误,则遍历和备份过程没有完成。在
一个实施例中,错误包括以下的一个或多个无效的遍历列表项目、无 效的当前目录、无效的数据结构、存储器错误、处理错误、和/或任何其 它与过程相关的错误。在一个实施例中,如果遍历和备份过程在334作 出"完成"判定之前被中止或中断,则在图3A的306作出"未完成,,的 判定。
图3C说明了建立遍历列表的过程的一个实施例。图3C的过程在一 个实施例中用于实现图3B中的316。在所示的例子中,在336获得当前 目录中的所有文件系统项。在一个实施例中,获得操作包括处理一个或 多个"readdir"或者类似的命令。在另一个实施例中,可以使用获得文 件系统项的任何步骤。在一个实施例中,文件系统项存储在存储器中。 在338以规范的顺序排序项目。规范的顺序可以基于文件名、修改时间、 节点数量、建立时间、文件大小、和/或任何其它能够对文件系统项目进 行排序的文件属性。在一个实施例中,可以使用任何可重复的顺序来排 序列表。在另一个实施例中,以可重复顺序获得文件系统项,因而不需 要排序。在另一个实施例中,不对项目进行排序。在一个实施例中,项 目放置在列表中。在另一个实施例中,项目列表被保存。
图3D说明了恢复被中断的备份操作的过程的一个实施例。图3D的 过程在一个实施例中用于实现图3D中的310。在所示的例子中,在340 确定成功写入备份介质的最后文件。在342,通过递归函数调用仅下降到 导向最后备份目录项目的子目录,借此建立递归堆栈(由递归过程产生的 堆栈项目)和其它的过程前后关系。在一个实施例中,其它的过程前后关 系包括一个或多个遍历列表。在其它实施例中,其它的过程前后关系包 括包括过程变量和/或数据结构。可以使用非递归过程对备份数据进行遍 历。在一个实施例中,不建立递归堆栈。备份数据可以不包括子目录。 如果在过程前后关系建立的过程中,在344确定重新开始点、即与最后 备份项目相关联的分量部分或者最后备份项目是无效的,则在350断定 所恢复的备份操作是无效的。在一个实施例中,350的结论与图3A中312 的无效判定相关联。在一个实施例中,由于文件系统的修改,可能无法 找到最后备份项目的分量部分或者最后备份项目。如果在344确定最后 备份点项目和所有其分量部分都存在,则在346在要备份的下一个文件 系统项目处恢复备份并且在348断定所恢复的备份操作是有效的。在一
个实施例中,348的结论与图3A中312的有效判定相关联。在另一个实 施例中,如果在恢复步骤的过程中出现错误,则获得恢复操作无效的结论。
图3E说明了确定成功写入备份介质的最后文件系统项目的过程的一 个实施例。图3C的过程在一个实施例中用于实现图3D中的340。这个 例子仅是示例性的。可以使用任何确定成功写入备份介质的最后文件系 统项目的过程。在所示的例子中,在352查询备份数据库以确定在备份 操作被中断之前成功保存在备份介质中的最后"保存集合块"的最后(即 结尾)偏移量。在一个实施例中,该偏移量与指示偏离于保存集合起点的 位置相关联,即保存集合的起点的偏移量为零。在一个实施例中,"保 存集合块"是写入备份介质的任何数据分组。在一个实施例中,可以通 过任何获得数据的过程获得最后偏移量。在354,查询文件索引以定位保 存在备份介质中的内容全部位于偏移范围内的最后文件系统项目。在一 个实施例中,通过比较文件系统项结尾相对于参考点的偏移和最后偏 移,确定内容完全位于最后偏移内的最后文件系统项目。在一个实施例 中,文件索引包括保存集合中每个项目相对于参考点的偏移信息。在另 一个实施例中,根据在文件备份开始时为文件记录的起点偏移和文件大 小来计算文件的最后偏移信息。在一个实施例中,文件索引是文件系统 的一部分。在另一个实施例中,文件索引与备份数据库相关联。
图3F说明了建立过程前后关系的过程的一个实施例。图3F的过程 在一个实施例中用于实现图3D中的342。在所示的例子中,在340接收 重新开始点。重新开始点可以是与最后处理的文件系统项目相关联的任 意数据,即对应于在相关的备份操作中断之前完成保存在备份介质中的 最后文件的文件系统路径。在一个实施例中,重新开始点是与如图3D中 340确定的成功写入备份介质的最后文件系统项目相关联的数据。在 358,从第一级目录开始对保存集合进行遍历。在360,获得被遍历的当 前目录中下一个文件系统项目。如果在362确定所获得的项目是无效的, 则在364作出重新开始点无效的结论。在一个实施例中,所获得的项目 可能是无效的,因为在当前遍历的目录中不存在更多的文件系统项目, 与重新开始点相关或对其影响的项目、和/或重新开始路径已经被改变、 移动、或删除,或者由于文件系统的错误。在一个实施例中,在364的 结论与图3D中344的无效判定相关联。如果所获得的项目在362确定是
有效的并且在366确定对应于重新开始点,则在368作出重新开始点有 效的结论。在一个实施例中,368的结论与图3D中344的有效判定相关 联。如果在366确定所获得的项目不是重新开始点,并且在370确定所 获得的项目是目录项,则在372确定所获得的目录项是否导向重新开始 点。在一个实施例中,如果目录是导向重新开始点的文件系统路径的一 部分,则该目录导向重新开始点。如果在372确定所获得的目录项导向 重新开始点,则在374下降到该所获得的目录项。下降到该目录的过程 可能不是递归过程。在一个实施例中,下降到目录的过程包括建立递归 堆栈。在一个实施例中,下降到目录的过程包括以下的一个或多个建 立遍历列表、备份数据、读取文件系统项目、读取目录内容、遍历目录、 以及初始化一个或多个变量和数据结构。在360获得下降目录中的下一 个文件系统项目。如果所获得的项目在370确定不是目录或者在372确 定不导向重新开始点,则在360获得当前被遍历的目录中的下一个文件 系统项目。在一个实施例中,以可重复顺序遍历文件系统,即以为每个 目录建立的遍历列表的顺序遍历文件系统项目。
虽然以上面讨论的特定实施例描述了文件系统的遍历和备份,但这 里描述的方法可以应用于以可重复的方式遍历任何的数据结构。
图3A、 3B、 3C、 3D、 3E和3F中所示以及上面描述的过程可以用《壬 何恰当的方式实现,例如一个和多个集成电路和/或其它器件,或者固 件、软件、或其它的。
虽然为了理解清楚的目的描述了前面几个实施例的一些细节,但本 发明不局限于所提供的细节。存在许多实现本发明的替代方式。所公开 的实施例是示例的而非限制。
权利要求
1.一种处理层级式数据的方法,包括接收数据的第一等级中项目的第一列表;以一定顺序排序该第一列表;以所排序的第一列表的顺序处理第一等级的数据;以及如果在处理过程中遇到数据的另一等级,则接收所遇到等级中项目的第二列表;以一定顺序排序该第二列表;以及以第二列表的顺序处理数据。
2. 如权利要求l所述的方法,进一步包括在出现中断所述层级式数 据被处理的执行操作的事件时恢复对层级式数据的处理,而不从起点重 新开始该操作,包括通过对层级式数据进行遍历以达到重新开始点;并 且以与在中断之前遍历层级式数据相同的顺序处理剩余的层级式数据单 元,按着继续进行操作所要求的进行。
3. 如权利要求2所述的方法,其中将层级式数据进行遍历以达到重 新开始点的步骤包括以与在中断之前遍历层级式数据相同的顺序进行遍 历在中断之前处理的层级式数据的至少一部分。
4. 如权利要求l所述的方法,进一步包括,若有的话, 一旦第二列 表中最后的项目已经处理完成,以笫一列表的顺序从下一个项目开始恢 复处理第一等级的数据。
5. 如权利要求l所述的方法,其中第一列表被排序在堆栈数据结构 中的第一位置而第二列表被排序在堆栈数据结构中的第二位置,其中第 一位置与数据的第一等级相关联而第二位置与数据的等级相关联。
6. 如权利要求l所述的方法,其中层级式数据是包括文件系统或其 一部分的保存集合。
7. 如权利要求l所述的方法,其中层级式数据包括组织为树形、目 录、阵列、或链接表的数据。
8. 如权利要求l所述的方法,其中接收项目的第一列表的步骤包括 从内容列出过程中接收数据。
9. 如权利要求l所述的方法,其中接收项目的第一列表的步骤包括 发出一个或多个请求以读取目录。
10. 如权利要求1所述的方法,其中第一等级包括第一目录而第二等级包括笫二目录,所述第二目录是笫一目录内的子目录。
11. 如权利要求l所述的方法,其中第一等级是保存集合的根目录。
12. 如权利要求1所述的方法,其中第一等级是比第二等级更加概 括的层级式数据等级。
13. 如权利要求1所述的方法,其中以一定顺序排序第一列表包括 以可重复顺序对项目进行排序。
14. 如权利要求1所述的方法,其中以一定顺序排序第一列表包括 以规范的顺序对项目进行排序。
15. 如权利要求14所述的方法,其中规范的顺序包括基于以下一个 或多个的排序项目类型、项目名称、项目属性、项目修改时间、项目 创建时间、项目大小、以及节点数量。
16. 如权利要求1所述的方法,其中处理第一等级的数据的步骤包 括对第一等级的数据进行遍历。
17. 如权利要求1所述的方法,其中处理第一等级的数据的步骤包 括备份与第 一等级的数据相关联的数据。
18. 如权利要求1所述的方法,其中处理第一等级的数据的步骤包 括记录与第一等级的数据相关联的数据。
19. 如权利要求1所述的方法,其中在处理过程中可以遇到任意数 量的等级。
20. 如权利要求l所述的方法,其中处理可以被中止。
21. 如权利要求1所述的方法,其中如果处理已经被中止,该处理 可以从最后完成的项目恢复继续。
22. 如权利要求1所述的方法,其中如果处理已经被中止并且自中 止以来没有经过预定的或动态配置的一段时间,则该处理可以从最后完 成的项目恢复继续。
23. 如权利要求1所述的方法,其中如果处理已经被中止并且自中 止以来层级式数据没有被修改,则该处理可以从最后完成的项目恢复继 续。
24. —种处理层级式数据的系统,包括 处理器,其配置用于接收数据的第一等级中项目的第一列表, 以一定顺序排序该第一列表, 以所排序的第一列表的顺序处理第一等级的数据,以及如果在处理过程中遇到数据的另一等级,则 接收所遇到等级中项目的第二列表, 以一定顺序排序该第二列表,以及以第二列表的顺序处理数据;和 存储器,其耦合到处理器和用于向处理器提供指令。
25. 如权利要求24所述的系统,其中处理器用于若有的话, 一旦第 二列表中最后的项目已经处理完成,以第一列表的顺序从下一个项目开 始恢复处理第一等级的数据。
26. 如权利要求24所述的系统,其中处理器进一步用于在出现中断 所述层级式数据被处理的执行操作的事件时恢复对层级式数据的处理, 而不从起点重新开始该操作,包括通过对层级式数据进行遍历以达到重 新开始点;并且以与在中断之前遍历层级式数据相同的顺序处理剩余的 层级式数据单元,按着继续进行操作所要求的进行。
27. 如权利要求26所述的系统,其中将层级式数据进行遍历以达到 重新开始点的步骤包括以与在中断之前遍历层级式数据相同的顺序进行 遍历在中断之前处理的层级式数据的至少一部分。
28. —种处理层级式数据的计算机程序产品,该计算机程序产品包 含在计算机可读介质中并且包括用于完成以下操作的计算机指令接收数据的第一等级中项目的第一列表; 以 一定顺序排序该第 一列表;以所排序的第一列表的顺序处理第一等级的数据;以及 如果在处理过程中遇到数据的另一等级,则 接收所遇到等级中项目的第二列表; 以一定顺序排序该第二列表;以及 以第二列表的顺序处理数据。
29. 如权利要求28所述的计算机程序产品,进一步包括,若有的话, 一旦第二列表中最后的项目已经处理完成,以第一列表的顺序从下一个 项目开始恢复处理第一等级的数据。
30. 如权利要求28所述的计算机程序产品,进一步包括在出现中断 所述层级式数据被处理的执行操作的事件时恢复对层级式数据的处理, 而不从起点重新开始该操作,包括通过对层级式数据进行遍历以达到重新开始点;并且以与在中断之前遍历层级式数据相同的顺序处理剩余的 层级式数据单元,按着继续进行操作所要求的进行。
31. 如权利要求30所述的计算机程序产品,其中将层级式数据进行 遍历以达到重新开始点的步骤包括以与在中断之前遍历层级式数据相同 的顺序进行遍历在中断之前处理的层级式数据的至少一部分。
32. —种定位数据项目的方法,包括确定与层级式数据集合相关联的数据的最后段的段结尾相对于参考 点的偏移,该最后段是与待存储到存储介质的层级式数据集合相关联的 最后数据;以及通过将数据对象结尾相对于参考点的偏移和段结尾的偏移进行比 较,确定数据对象在层级式数据集合中的位置,所述数据对象是完全存 储到存储介质的最后数据对象。
33. —种恢复层级式数据的处理的方法,包括 通过在层级式数据的第一等级开始、忽略关于先前处理过部分中的数据的至少一个处理操作,遍历层级式数据的先前处理过部分;若有的话,仅下降到导向层级式数据中重新开始位置的子等级;和 从重新开始位置之后的下一个数据开始恢复正常处理。
全文摘要
公开了对层级式数据的遍历。接收数据的第一等级中项目的第一列表并且以一定顺序排序。以排序的第一列表的顺序处理第一等级的数据。如果在处理过程中遇到数据的任何其它等级,接收所遇到等级中项目的另一个列表并且以一定顺序排序。以列表的顺序处理数据。
文档编号G06F11/07GK101208665SQ200680012117
公开日2008年6月25日 申请日期2006年4月12日 优先权日2005年4月14日
发明者K·法利, R·赖特迈尔, W·马鲁亚马 申请人:Emc公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1