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