CN101208665B - 处理层级式数据的方法和系统 - Google Patents

处理层级式数据的方法和系统 Download PDF

Info

Publication number
CN101208665B
CN101208665B CN2006800121175A CN200680012117A CN101208665B CN 101208665 B CN101208665 B CN 101208665B CN 2006800121175 A CN2006800121175 A CN 2006800121175A CN 200680012117 A CN200680012117 A CN 200680012117A CN 101208665 B CN101208665 B CN 101208665B
Authority
CN
China
Prior art keywords
data
tabulation
project
backup
hierarchical data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN2006800121175A
Other languages
English (en)
Other versions
CN101208665A (zh
Inventor
K·法利
R·赖特迈尔
W·马鲁亚马
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
EMC Inc
EMC Corp
Original Assignee
EMC Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by EMC Inc filed Critical EMC Inc
Priority to CN201210403383.8A priority Critical patent/CN102982067B/zh
Publication of CN101208665A publication Critical patent/CN101208665A/zh
Application granted granted Critical
Publication of CN101208665B publication Critical patent/CN101208665B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1466Management of the backup or restore process to make the backup process non-disruptive
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

公开了对层级式数据的遍历。接收数据的第一等级中项目的第一列表并且以一定顺序排序。以排序的第一列表的顺序处理第一等级的数据。如果在处理过程中遇到数据的任何其它等级,接收所遇到等级中项目的另一个列表并且以一定顺序排序。以列表的顺序处理数据。

Description

处理层级式数据的方法和系统
技术领域
本发明涉及处理层级式数据。
背景技术
随着存储单元容量指数式增长的趋势,文件系统的大小也以指数式增长变大。由于文件系统备份工具必需遍历整个文件系统,以便定位并且备份所有需要的文件和目录,大文件系统的备份可能花费相当长的时间。较长的备份时间还可能意味着在备份处理过程中被中断的较大风险。例如,网络备份系统中短暂的网络故障或者客户机或服务器中任何其它的故障可能造成备份过程中断。在备份失败的情况下,典型的备份系统从备份操作中待备份的数据集合(例如待备份的一组文件和/或目录)的起点重新开始备份过程,有时在这里将这样的集合称为“保存集合(saveset)”。假定长的备份持续时间和进一步中断的可能性,在每次中断之后再开始备份过程可能显著影响备份系统的性能。
在典型的备份系统或过程中,甚至在包含保存集合的数据自中断以来没有被修改过的情况下备份操作也无法获得其停止的位置,这是因为在至少某些情况下无法保证对文件系统的遍历每次都以相同的顺序进行。例如,对于相同命令的单独场合,从给定目录读取项目的“readdir”(读目录)命令可能以不同的顺序返回结果。因此存在一种需求,保证以可重复的方式执行数据遍历。
发明内容
根据本发明的第一个方面,提供了一种处理层级式数据的方法,包括:接收数据的第一等级中的项目的第一列表;以可重复顺序排序该第一列表;以所排序的第一列表的顺序处理第一等级的数据;以及如果在处理过程中遇到数据的另一等级,则:接收所遇到等级中的项目的第二列表;以用于排序第一列表的方式以可重复顺序排序该第二列表;以及以第二列表的顺序处理数据。
根据本发明的第二个方面,提供了一种处理层级式数据的系统,包括:处理器,其配置用于:接收数据的第一等级中的项目的第一列表,以可重复顺序排序该第一列表,以所排序的第一列表的顺序处理第一等级的数据,以及如果在处理过程中遇到数据的另一等级,则:接收所遇到等级中项目的第二列表,以用于排序第一列表的方式以可重复顺序排序该第二列表,以及以第二列表的顺序处理数据;和存储器,其耦合到处理器和用于向处理器提供指令。
根据本发明的第三个方面,提供了一种定位数据项目的方法,包括:确定相对于与层级式数据集合相关联的数据的最后段的参考点的段结尾偏移,该最后段是与待保存到存储介质的层级式数据集合相关联的最后数据;以及通过将相对于参考点的数据对象结尾偏移与段结尾偏移进行比较,确定作为完全保存到存储介质的最后数据对象的数据对象在层级式数据集合中的位置;其中按照可重复顺序安排数据。
根据本发明的第四个方面,提供了一种恢复层级式数据的处理的方法,包括:通过在层级式数据的第一等级开始、忽略关于先前处理过部分中的数据的至少一个处理操作,以可重复顺序遍历层级式数据的先前处理过的部分;若有的话,仅下降到导向层级式数据中重新开始位置的子等级;和从重新开始位置之后的下一个数据开始恢复正常处理。
附图说明
在下面的详细描述和附图中公开了本发明的多个实施例。
图1说明了备份系统环境的一个实施例。
图2说明了文件系统树形结构的一个实施例。
图3A说明了备份保存集合的过程的一个实施例。
图3B说明了以可重复方式遍历和备份数据的过程的一个实施例。
图3C说明了建立遍历列表的过程的一个实施例。
图3D说明了恢复中断的备份操作的过程的一个实施例。
图3E说明了确定成功写入备份介质的最后文件系统项的过程的一个实施例。
图3F说明了建立过程前后关系的过程的一个实施例。
具体实施方式
本发明可以以多种方式实现,包括作为过程、装置、系统、实体的组合、计算机可读介质,例如计算机可读存储介质或者在光或电通信连接上传送程序指令的计算机网络。在本说明书中,可能将这些实现方式或者本发明可以采用的任何其它形式称为技术。所描述的配置用于执行任务的组件,例如处理器或存储器,既包括在特定的时间临时配置用于执行任务的通用组件、也包括制造用于执行该任务的定制组件。一般而言,在本发明的范围内可以改变所公开过程的步骤顺序。
下面给出了本发明一个或多个实施例的详细描述,并且伴随的附图说明了本发明的原理。结合这些实施例对本发明进行描述,但本发明不局限于任何一个实施例。本发明的范围仅由权利要求限定,并且本发明包括许多替代、修改和等效形式。在后面的说明中所述的许多特定细节是为了提供对本发明的彻底理解。提供这些细节是为了作为例子,可以根据权利要求书实施本发明而不需要这些特定细节中的某些或全部。为了清楚的目的,对本技术领域中和本发明相关的公知的技术材料没有详细描述,从而不会产生不必要的影响使本发明晦涩难懂。
公开了以可重复的方式对层级式数据进行遍历。在一个实施例中,在层级式数据的第一等级读取包含至少一部分数据的项目的列表并且排序为指定的顺序用于遍历的可重复性。例如,当以可重复方式遍历文件系统以便执行关于该文件系统或其一部分的备份操作,将每个目录中的内容读入列表并且排序(例如成为文件名的字母顺序)。以所排序列表的顺序备份文件系统项(或者其它经过处理的数据)。如果遇到数据的第二等级,读取第二等级中的数据并且排序为指定的顺序,然后以所排序的顺序处理数据。如果数据的遍历被中断,在恢复操作中以与在中断的操作中相同的指定顺序进行读取、排序和处理,保证如果在中断操作被中断的点恢复处理则不会遗漏数据单元,甚至在每个等级的单元是以不同的顺序读取或接收的情况下也是如此。
在一个实施例中,作为备份操作的一部分,当文件系统项成功保存到备份介质时,产生备份过程的记录。这个记录在此以后可以用于在备份过程中出现故障时可以从最后成功记录的备份点恢复备份。在一个实施例中,在备份恢复操作中一旦找到最后备份点,备份系统或过程重新建立备份操作前后关系而无需彻底地遍历文件系统。通过重新建立前后关系并且从在中断之前成功并且完全备份的最后文件之后的数据单元开始恢复处理,恢复被中断的备份操作。以相同的、可重复的顺序遍历文件系统,保证了在备份介质上将不会有文件被遗漏或者重复存储。
图1说明了备份系统环境的一个实施例。在所示的例子中,客户机102通过网络106连接到服务器108。可以存在连接到网络的任意数量的客户机和服务器。该网络可以是任意的公用或者私有网络和/或其组合,包括而不是限制于内部互联网、局域网、广域网、以及连接多个系统和/或在一起的系统组的其它形式。客户机102连接到备份介质104。在某些实施例中,备份介质可以是以下存储介质中的一种或多种:硬盘、磁带驱动器、光学存储单元、以及任何非易失性存储器件。可以存在多于一个的备份介质。在一个实施例中,备份介质104直接连接到网络。在另一个实施例中,备份介质104连接到服务器108。在另一个实施例中,备份介质104通过SAN(存储区域网络)连接到客户机102。备份数据库110连接到服务器108。在一个实施例中,备份数据库110包含与一个或多个客户机和/或服务器上的数据相关联的数据。在另一个实施例中,备份数据库110包含与写入一个或多个备份介质的数据相关联的数据。在另一个实施例中,备份数据库110直接连接到网络。在另一个实施例中,备份数据库110连接到客户机102。在另一个实施例中,备份数据库110是服务器108和/或客户机102的一部分。在一个实施例中,客户机102的备份由服务器108配合。服务器108指令客户机将数据备份到备份介质104。当数据成功写入备份数据时,在备份数据库110上作出记录。在另一个实施例中,服务器108与客户机102上运行的备份代理协作以调整备份操作。该备份代理可以由服务器108进行配置。
图2说明了文件系统树形结构的一个实施例。在一个实施例中,系统中待备份的一部分数据(保存集合)可以是整个文件系统或者是文件系统的一部分。在一个实施例中,对文件系统以可重复方式进行遍历,以保证任意随后发生的在文件系统中任意相同点开始的遍历以相同的顺序执行。在所示的例子中,以首先是文件名然后是目录名的字母顺序进行遍历。在其它实施例中,可以使用任何规范的文件系统项的排序。遍历从根目录开始。读取并排序根目录的项目。排序后的顺序列表包括:文件F、目录1、目录2、目录4。以列表中的顺序备份与列表中的项目对应的数据。当遇到备份目录1时,备份过程下降到目录1,产生的列表包括:文件A,并且备份文件A。在已经遍历目录1之后,遍历恢复到根目录列表的项目上。当遇到目录2时,产生其内容的顺序列表,按顺序包括:文件B、文件C、文件D、目录3。以列表的顺序备份与列表的项目对应的数据。当遇到目录3时,产生对应于文件E的列表和备份。由于目录4为空,备份对应于目录4的项目而没有任何相关的文件。
图3A说明了对保存集合进行备份的过程的一个实施例。在所示的例子中,在302设定当前备份目录为保存集合的第一级目录。在一个实施例中,在302设定当前目录为与文件系统的根目录相关联。该保存集合可以是预先配置的、动态配置的、通过用户界面指定的、设定为任意的第一级数据的、和/或以某些其它方式确定的。该保存集合可以是任意的层级式数据结构,例如组织为树形、目录、阵列、和/或链接表的数据。当前备份目录是与该过程当前正进行备份的数据相关的目录。当前备份目录可以是预先配置的、动态配置的、和/或通过用户界面指定的处理数据中的任意数据点。在一个实施例中,第一级目录是数据的任意分类等级,提到最普通的例如是首先遇到数据级。在304,以可重复方式对保存集合进行遍历和备份。在其它实施例中,使用与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中所示以及上面描述的过程可以用任何恰当的方式实现,例如一个和多个集成电路和/或其它器件,或者固件、软件、或其它的。
虽然为了理解清楚的目的描述了前面几个实施例的一些细节,但本发明不局限于所提供的细节。存在许多实现本发明的替代方式。所公开的实施例是示例的而非限制。

Claims (26)

1.一种处理具有层级的层级式数据的方法,包括:
接收所述层级式数据的层级的第一等级中的项目的第一列表,其中所述层级式数据是包括文件系统或文件系统一部分的保存集合;
以基于项目属性的顺序排序该第一列表,所述项目属性独立于存储器件上物理存储特定项目所在的物理存储位置;
以所排序的第一列表的顺序处理第一等级的数据,其中包括对于所排序的第一列表中的每个项目以排序的顺序执行下列步骤:
备份与该项目关联的数据;和
在该项目的备份已经完成之后并且在处理下一项目之前,生成指示与该项目关联的备份已经完成的记录;以及
如果在第一等级的处理过程中遇到所述层级式数据的层级的另一等级,则:
至少暂时地中止第一列表中项目的处理;
接收所遇到等级中的项目的第二列表;
以基于用于排序第一列表的相同项目属性的顺序排序该第二列表;以及
以排序的第二列表的顺序处理第二等级的数据,其中接收项目的第二列表、排序第二列表以及处理第二等级的数据的所述步骤在恢复第一列表中的项目的处理之前被执行。
2.如权利要求1所述的方法,进一步包括如果层级式数据的所述处理正通过其执行的操作被中断,则恢复对层级式数据的处理,而不从起点重新开始该操作,包括通过对层级式数据进行遍历以达到重新开始点;并且以与在中断之前遍历层级式数据相同的顺序处理剩余的层级式数据单元,按要求继续进行操作。
3.如权利要求2所述的方法,其中将层级式数据进行遍历以达到重新开始点的步骤包括以与在中断之前遍历层级式数据相同的顺序进行遍历在中断之前处理的层级式数据的至少一部分。
4.如权利要求1所述的方法,进一步包括,若有的话,一旦第二列表中最后的项目已经处理完成,以第一列表的顺序从下一个项目开始恢复处理第一等级的数据。
5.如权利要求1所述的方法,其中第一列表被存储在堆栈数据结构中的第一位置而第二列表被存储在堆栈数据结构中的第二位置,其中第一位置与数据的第一等级相关联而第二位置与数据的等级相关联。
6.如权利要求1所述的方法,其中层级式数据是包括文件系统或其一部分的保存集合。
7.如权利要求1所述的方法,其中层级式数据包括组织为树形、目录、阵列、或链接表的数据。
8.如权利要求1所述的方法,其中接收项目的第一列表的步骤包括从内容列出过程中接收数据。
9.如权利要求1所述的方法,其中接收项目的第一列表的步骤包括发出一个或多个请求以读取目录。
10.如权利要求1所述的方法,其中第一等级包括第一目录而第二等级包括第二目录,所述第二目录是第一目录内的子目录。
11.如权利要求1所述的方法,其中第一等级是保存集合的根目录。
12.如权利要求1所述的方法,其中第一等级是比第二等级更加概括的层级式数据等级。
13.如权利要求1所述的方法,其中以可重复顺序排序第一列表包括以规范的顺序对项目进行排序。
14.如权利要求13所述的方法,其中规范的顺序包括基于以下一个或多个的排序:项目类型、项目名称、项目属性、项目修改时间、项目创建时间、项目大小、以及节点数量。
15.如权利要求1所述的方法,其中处理第一等级的数据的步骤包括对第一等级的数据进行遍历。
16.如权利要求1所述的方法,其中处理第一等级的数据的步骤包括备份与第一等级的数据相关联的数据。
17.如权利要求1所述的方法,其中处理第一等级的数据的步骤包括记录与第一等级的数据相关联的数据。
18.如权利要求1所述的方法,其中在处理过程中可以遇到任意数量的等级。
19.如权利要求1所述的方法,其中处理可以被中止。
20.如权利要求1所述的方法,其中如果处理已经被中止,该处理可以从最后完成的项目恢复继续。
21.如权利要求1所述的方法,其中如果处理已经被中止并且自中止以来还没有经过预定的或动态配置的一段时间,则该处理可以从最后完成的项目恢复继续。
22.如权利要求1所述的方法,其中处理能够在从处理被中止的时间点计起的预定或动态配置的一段时间内从最后完成的项目恢复继续。
23.一种处理具有层级的层级式数据的装置,包括:
接收所述层级式数据的层级的第一等级中的项目的第一列表的部件,其中所述层级式数据是包括文件系统或文件系统一部分的保存集合,
以基于项目属性的顺序排序该第一列表的部件,所述项目属性独立于存储器件上物理存储特定项目所在的物理存储位置,
以所排序的第一列表的顺序处理第一等级的数据的部件,其中包括对于所排序的第一列表中的每个项目执行下列步骤:
备份与该项目关联的数据;和
在该项目的备份已经完成之后并且在处理下一项目之前,生成指示与该项目相关的备份已经完成的记录,以及
如果在第一等级的处理过程中遇到所述层级式数据的层级的另一等级,则:
至少暂时地中止第一列表中项目的处理;
接收所遇到等级中项目的第二列表,
以基于用于排序第一列表的相同项目属性的顺序排序该第二列表,以及
以所排序的第二列表的顺序处理第二等级的数据,其中接收项目的第二列表、排序第二列表以及处理第二等级的数据的所述步骤在恢复第一列表中的项目的处理之前被执行。
24.如权利要求23所述的装置,其中所述装置进一步包括执行以下操作的部件:若有的话,一旦第二列表中最后的项目已经处理完成,以第一列表的顺序从下一个项目开始恢复处理第一等级的数据。
25.如权利要求23所述的装置,其中所述装置进一步包括执行以下操作的部件:如果层级式数据的所述处理正通过其执行的操作中断,则恢复对层级式数据的处理,而不从起点重新开始该操作,包括通过对层级式数据进行遍历以达到重新开始点;并且以与在中断之前遍历层级式数据相同的顺序处理剩余的层级式数据单元,按要求继续进行操作。
26.如权利要求25所述的装置,其中将层级式数据进行遍历以达到重新开始点的步骤包括以与在中断之前遍历层级式数据相同的顺序进行遍历在中断之前处理的层级式数据的至少一部分。
CN2006800121175A 2005-04-14 2006-04-12 处理层级式数据的方法和系统 Active CN101208665B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210403383.8A CN102982067B (zh) 2005-04-14 2006-04-12 以可重复方式遍历数据

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/107,995 2005-04-14
US11/107,995 US7657579B2 (en) 2005-04-14 2005-04-14 Traversing data in a repeatable manner
PCT/US2006/014000 WO2007027208A2 (en) 2005-04-14 2006-04-12 Traversing data in a repeatable manner

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201210403383.8A Division CN102982067B (zh) 2005-04-14 2006-04-12 以可重复方式遍历数据

Publications (2)

Publication Number Publication Date
CN101208665A CN101208665A (zh) 2008-06-25
CN101208665B true CN101208665B (zh) 2012-12-12

Family

ID=37109770

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201210403383.8A Active CN102982067B (zh) 2005-04-14 2006-04-12 以可重复方式遍历数据
CN2006800121175A Active CN101208665B (zh) 2005-04-14 2006-04-12 处理层级式数据的方法和系统

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201210403383.8A Active CN102982067B (zh) 2005-04-14 2006-04-12 以可重复方式遍历数据

Country Status (5)

Country Link
US (2) US7657579B2 (zh)
EP (1) EP1869594A4 (zh)
JP (1) JP2008537229A (zh)
CN (2) CN102982067B (zh)
WO (1) WO2007027208A2 (zh)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7974952B1 (en) * 2005-04-18 2011-07-05 Emc Corporation Tracking file system changes for backup
US7574461B1 (en) * 2005-12-28 2009-08-11 Emc Corporation Dividing data for multi-thread backup
US7693889B1 (en) 2005-12-28 2010-04-06 Emc Corporation Automated backup and recovery for content repository
US7882073B1 (en) * 2007-09-28 2011-02-01 Symantec Operating Corporation Backup agent for dynamically decomposing a database backup request to constituent files to facilitate backup restartability
US8176274B2 (en) * 2008-10-24 2012-05-08 Cyanline Llc Electronic data reproduction
CN101729671A (zh) * 2009-12-31 2010-06-09 宇龙计算机通信科技(深圳)有限公司 一种终端、备份文件管理的方法及系统
US9235593B2 (en) * 2010-09-30 2016-01-12 Emc Corporation Transmitting filesystem changes over a network
CN102479203B (zh) * 2010-11-26 2014-05-28 金蝶软件(中国)有限公司 物料清单的展示方法及系统
US8671085B2 (en) 2011-12-09 2014-03-11 Microsoft Corporation Consistent database recovery across constituent segments
CN103186568B (zh) * 2011-12-28 2017-03-22 金蝶软件(中国)有限公司 树型结构数据的访问方法及系统
CN103514064B (zh) * 2012-06-28 2016-03-16 国际商业机器公司 记录备份信息的方法和装置
US9535794B2 (en) * 2013-07-26 2017-01-03 Globalfoundries Inc. Monitoring hierarchical container-based software systems
US9110910B1 (en) 2013-07-31 2015-08-18 Emc Corporation Common backup format and log based virtual full construction
US9678979B1 (en) * 2013-07-31 2017-06-13 EMC IP Holding Company LLC Common backup format and log based virtual full construction
US20150242284A1 (en) * 2014-02-25 2015-08-27 Ca, Inc. Two-algorithm sort during backup and recovery
CN105376277B (zh) * 2014-08-25 2019-02-01 Tcl集团股份有限公司 一种数据同步方法及装置
US9507668B2 (en) * 2014-10-30 2016-11-29 Netapp, Inc. System and method for implementing a block-based backup restart
US10318575B2 (en) 2014-11-14 2019-06-11 Zorroa Corporation Systems and methods of building and using an image catalog
US10853192B2 (en) * 2015-02-24 2020-12-01 Unisys Corporation Database replication with continue and tape-type-override functions
CN105808633B (zh) * 2016-01-08 2019-07-23 平安科技(深圳)有限公司 数据归档方法和系统
US10467257B2 (en) * 2016-08-09 2019-11-05 Zorroa Corporation Hierarchical search folders for a document repository
US10664514B2 (en) 2016-09-06 2020-05-26 Zorroa Corporation Media search processing using partial schemas
CN106777383B (zh) * 2017-02-14 2020-05-19 Oppo广东移动通信有限公司 文件排序方法及智能终端
CN107798073B (zh) * 2017-09-29 2020-07-24 华为技术有限公司 处理具有树形结构的数据集合的方法和装置
US20220075830A1 (en) * 2020-09-10 2022-03-10 EMC IP Holding Company LLC Resumable ordered recursive traversal of an unordered directory tree

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020107877A1 (en) * 1995-10-23 2002-08-08 Douglas L. Whiting System for backing up files from disk volumes on multiple nodes of a computer network
CN1368683A (zh) * 2001-02-02 2002-09-11 英业达股份有限公司 利用同步目录容错的方法
US6687849B1 (en) * 2000-06-30 2004-02-03 Cisco Technology, Inc. Method and apparatus for implementing fault-tolerant processing without duplicating working process
CN1592464A (zh) * 2003-08-26 2005-03-09 三星电子株式会社 用于移动终端中的处理数据备份服务的装置和方法

Family Cites Families (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4453217A (en) * 1982-01-04 1984-06-05 Bell Telephone Laboratories, Incorporated Directory lookup method and apparatus
US4945475A (en) * 1986-10-30 1990-07-31 Apple Computer, Inc. Hierarchical file system to provide cataloging and retrieval of data
US5398142B1 (en) * 1989-05-31 1997-09-16 Raxco Inc Method for eliminating file fragmentation and reducing average seek times in a magnetic disk media environment
US5649205A (en) * 1989-07-07 1997-07-15 Martins; Augusto Baronio File retrieval system
US5276874A (en) * 1989-08-11 1994-01-04 Digital Equipment Corporation Method for creating a directory tree in main memory using an index file in secondary memory
US5177744A (en) * 1990-09-04 1993-01-05 International Business Machines Corporation Method and apparatus for error recovery in arrays
US5239647A (en) * 1990-09-07 1993-08-24 International Business Machines Corporation Data storage hierarchy with shared storage level
US5764877A (en) * 1991-06-25 1998-06-09 Digital Equipment Corporation Media recovery with time-split B-trees
US5241668A (en) * 1992-04-20 1993-08-31 International Business Machines Corporation Method and system for automated termination and resumption in a time zero backup copy process
US5355497A (en) * 1992-06-10 1994-10-11 Physiotronics Corporation File directory structure generator and retrevial tool with document locator module mapping the directory structure of files to a real world hierarchical file structure
US5794252A (en) * 1995-01-24 1998-08-11 Tandem Computers, Inc. Remote duplicate database facility featuring safe master audit trail (safeMAT) checkpointing
US6453325B1 (en) * 1995-05-24 2002-09-17 International Business Machines Corporation Method and means for backup and restoration of a database system linked to a system for filing data
US5644736A (en) * 1995-05-25 1997-07-01 International Business Machines Corporation System and method for selecting components of a hierarchical file structure
US5838783A (en) * 1995-12-27 1998-11-17 Lucent Technologies, Inc. Smart directory management
US6457017B2 (en) * 1996-05-17 2002-09-24 Softscape, Inc. Computing system for information management
JPH1040063A (ja) * 1996-07-26 1998-02-13 Canon Inc 画像情報処理方法とその装置
US5878410A (en) * 1996-09-13 1999-03-02 Microsoft Corporation File system sort order indexes
US6148377A (en) * 1996-11-22 2000-11-14 Mangosoft Corporation Shared memory computer networks
US6647393B1 (en) * 1996-11-22 2003-11-11 Mangosoft Corporation Dynamic directory service
US6199074B1 (en) * 1997-10-09 2001-03-06 International Business Machines Corporation Database backup system ensuring consistency between primary and mirrored backup database copies despite backup interruption
EP0945800B1 (en) 1998-03-02 2003-07-16 Hewlett-Packard Company, A Delaware Corporation Data backup system
US6269381B1 (en) * 1998-06-30 2001-07-31 Emc Corporation Method and apparatus for backing up data before updating the data and for restoring from the backups
US6141773A (en) * 1998-06-30 2000-10-31 Emc Corporation Method and apparatus for undoing changes to computer memory
US6321219B1 (en) * 1998-08-14 2001-11-20 Microsoft Corporation Dynamic symbolic links for computer file systems
GB2341249A (en) * 1998-08-17 2000-03-08 Connected Place Limited A method of generating a difference file defining differences between an updated file and a base file
US6397308B1 (en) * 1998-12-31 2002-05-28 Emc Corporation Apparatus and method for differential backup and restoration of data in a computer storage system
US6385706B1 (en) * 1998-12-31 2002-05-07 Emx Corporation Apparatus and methods for copying a logical object to a primary storage device using a map of storage locations
US6487561B1 (en) * 1998-12-31 2002-11-26 Emc Corporation Apparatus and methods for copying, backing up, and restoring data using a backup segment size larger than the storage block size
US6779003B1 (en) 1999-12-16 2004-08-17 Livevault Corporation Systems and methods for backing up data files
US20020075331A1 (en) * 2000-02-14 2002-06-20 Julian Orbanes Method and apparatus for addressing data objects in virtual space
JP3938460B2 (ja) 2000-05-24 2007-06-27 株式会社リコー 情報記録装置と情報記録方法と情報記録処理プログラムを記録した記録媒体と光ディスク記録装置と光ディスク記録方法と情報記録システムと光ディスク記録システム
US6513135B2 (en) * 2000-08-02 2003-01-28 Hitachi, Ltd. Automatic read reassignment method and a magnetic disk drive
US6625591B1 (en) * 2000-09-29 2003-09-23 Emc Corporation Very efficient in-memory representation of large file system directories
US6804690B1 (en) * 2000-12-27 2004-10-12 Emc Corporation Method for physical backup in data logical order
US6662281B2 (en) 2001-01-31 2003-12-09 Hewlett-Packard Development Company, L.P. Redundant backup device
US7546305B2 (en) * 2001-04-13 2009-06-09 Oracle International Corporation File archival
US6912645B2 (en) * 2001-07-19 2005-06-28 Lucent Technologies Inc. Method and apparatus for archival data storage
US7134041B2 (en) * 2001-09-20 2006-11-07 Evault, Inc. Systems and methods for data backup over a network
EP1300757A1 (en) * 2001-10-02 2003-04-09 Sun Microsystems, Inc. Shareable installation hierarchies
US6839819B2 (en) * 2001-12-28 2005-01-04 Storage Technology Corporation Data management appliance
US20030172094A1 (en) * 2002-03-06 2003-09-11 International Business Machines Corporation Automatic file system maintenance
US7007047B2 (en) * 2002-03-29 2006-02-28 Panasas, Inc. Internally consistent file system image in distributed object-based data storage
US20030236933A1 (en) * 2002-06-21 2003-12-25 Daisuke Shigeta Information processing apparatus, information equipment, information processing system, automatic backup method, data transmission and reception method, automatic backup program, data transmission and reception program, and record medium having the programs recorded thereon
US7386530B2 (en) * 2002-12-19 2008-06-10 Mathon Systems, Inc. System and method for managing content including addressability features
US20040199485A1 (en) * 2003-04-01 2004-10-07 International Business Machines Corporation Index for directory database
US7069402B2 (en) * 2003-06-02 2006-06-27 International Business Machines Corporation Host-independent incremental backup method, apparatus, and system
US7328366B2 (en) 2003-06-06 2008-02-05 Cascade Basic Research Corp. Method and system for reciprocal data backup
US7234077B2 (en) * 2003-06-24 2007-06-19 International Business Machines Corporation Rapid restoration of file system usage in very large file systems
US7092976B2 (en) * 2003-06-24 2006-08-15 International Business Machines Corporation Parallel high speed backup for a storage area network (SAN) file system
JP4559046B2 (ja) 2003-08-04 2010-10-06 株式会社日立製作所 仮想テープライブラリ装置
US7085962B1 (en) * 2003-09-08 2006-08-01 Veritas Operating Corporation Method and system for completing a backup job that was interrupted during a backup process

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020107877A1 (en) * 1995-10-23 2002-08-08 Douglas L. Whiting System for backing up files from disk volumes on multiple nodes of a computer network
US6687849B1 (en) * 2000-06-30 2004-02-03 Cisco Technology, Inc. Method and apparatus for implementing fault-tolerant processing without duplicating working process
CN1368683A (zh) * 2001-02-02 2002-09-11 英业达股份有限公司 利用同步目录容错的方法
CN1592464A (zh) * 2003-08-26 2005-03-09 三星电子株式会社 用于移动终端中的处理数据备份服务的装置和方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
全文.

Also Published As

Publication number Publication date
US20060235847A1 (en) 2006-10-19
JP2008537229A (ja) 2008-09-11
US7657579B2 (en) 2010-02-02
CN102982067A (zh) 2013-03-20
WO2007027208A3 (en) 2007-11-22
EP1869594A2 (en) 2007-12-26
CN101208665A (zh) 2008-06-25
CN102982067B (zh) 2016-02-24
US20100094807A1 (en) 2010-04-15
WO2007027208A2 (en) 2007-03-08
EP1869594A4 (en) 2009-10-21
US8260749B2 (en) 2012-09-04

Similar Documents

Publication Publication Date Title
CN101208665B (zh) 处理层级式数据的方法和系统
US10235375B1 (en) Persistent file system objects for management of databases
US7840539B2 (en) Method and system for building a database from backup data images
JP4522170B2 (ja) リレーショナルデータベースのインデックス追加プログラム,インデックス追加装置及びインデックス追加方法
US7290015B1 (en) High availability via data services
US6728735B1 (en) Restartable dump that produces a consistent filesystem on tapes
US8924355B1 (en) Checkpoint restart
US20060004890A1 (en) Methods and systems for providing directory services for file systems
US20080065663A1 (en) Reestablishing process context
US20160048427A1 (en) Virtual subdirectory management
US20100115332A1 (en) Virtual machine-based on-demand parallel disaster recovery system and the method thereof
US20130151476A1 (en) Processing archive content based on hierarchical classification levels
US20150355985A1 (en) Recovery consumer framework
US10013424B2 (en) Efficient building of restore list
US8346731B1 (en) Techniques for global single instance indexing for backup data
US7668875B2 (en) Data storage device, method of rearranging data and recording medium therefor
JP2005018757A (ja) 超大規模ファイル・システムでのファイル・システム使用のすばやい復元
US20080065637A1 (en) Locating last processed data
KR20030056540A (ko) 데이터베이스 관리 시스템에서 시스템 고장에 대비한 파일삭제 및 회복 방법
US10133820B2 (en) Techniques for performing intelligent content indexing
US20090248760A1 (en) Backup method of computer system
KR101666440B1 (ko) 환형큐 기반의 인-메모리 데이터베이스 시스템에서의 데이터 처리방법
JP5613252B2 (ja) 順次アクセス・バックアップ・アーカイブからデータを効率的に復元する装置及び方法
CN104407941B (zh) 一种基于文件存档属性的windows文件备份方法
US8055629B2 (en) Transitioning an archived file to write-once-read-many

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant