执行文件系统备份的方法和系统的制作方法

文档序号:6650384阅读:139来源:国知局
专利名称:执行文件系统备份的方法和系统的制作方法
技术领域
本发明涉及计算机文件系统,确切地说,涉及使用计算机文件系统的目录式硬链接相对于先前文件系统备份执行当前文件系统备份的方法和系统。
背景技术
文件式备份应用需要的两种特征直到现在都是互斥的。首先,对基本文件系统备份(即基础备份)和全部增量文件系统备份(即增量备份)来说,希望能够对每次备份分别呈现完全镜像。在进行增量备份时,增量备份是当前文件系统的备份。其次,也希望(a)通过不对每次备份创建重复的目录结构,以及(b)通过不多于一次地存储重复的文件,能够节省备份介质上的空间。在现有技术的文件式备份应用中,这两种特征继续互斥。
现有技术的系统目前,文件式备份应用采取三种方式之一去规避这些问题。
文件式硬链接在第一种现有技术的方式中,如现有技术图1A所示,备份应用使用备份内部的文件式硬链接(如文件式硬链接131、133和135),指向在备份之间尚未变化的文件(即在备份之间的未改变文件)。这种方式(a)满足了向用户呈现每次备份完全镜像的第一种需求,(b)也防止了在备份介质上存储重复文件。然而,这第一种方式仍然需要创建重复的目录树以容纳文件式硬链接,因而浪费了备份介质上的空间,未能满足第二种需求。第一种方式只对未改变文件“叶”创建文件式硬链接。
例如,假若文件系统102在t0时刻包括文件系统节点110、112、114、116、118、117和119,备份应用在t0时刻创建文件系统备份104,包括文件系统备份节点120、122、124、126、128、127和129,其中文件系统备份节点120、122、124、126、128、127和129对应于t0时刻的文件系统节点110、112、114、116、118、117和119。在t1时刻,第一种现有技术的系统创建文件系统备份节点130、132和138,它们对应于t1时刻的文件节点110、112和118。此外,在t1时刻,第一种现有技术的系统还创建从文件系统备份节点132到文件系统备份的未改变节点126(其中文件系统备份节点126是未改变文件即“叶”)的文件式硬链接131,以及从文件系统备份节点138分别到文件系统备份的未改变节点127和129(其中文件系统备份节点127和129是未改变文件即“叶”)的文件式硬链接133和135。
不重复复制在第二种现有技术的方式中,如现有技术图1B所示,备份应用不复制在基本和增量备份中是重复的文件、目录树文件和目录。相反,备份应用存储元数据(即元数据140),它使增量备份(即增量备份140)关联到其基础即引用备份。因此,这种方式通过节省备份介质的空间满足了第二种需求。然而,这第二种方式不向用户呈现全部备份的完全镜像,因而未能满足第一种需求。
例如,假若文件系统102在t0时刻包括文件系统节点110、112、114、116、118、117和119,备份应用在t0时刻创建文件系统备份104,包括文件系统备份节点120、122、124、126、128、127和129,其中文件系统备份节点120、122、124、126、128、127和129对应于t0时刻的文件系统节点110、112、114、116、118、117和119。在t1时刻,第二种现有技术的系统创建新节点元数据142,它列出在t1时刻已经加入到文件系统的文件系统节点。此外,在t1时刻,第二种现有技术的系统还创建删除节点元数据144,它列出在t1时刻已经从文件系统删除的文件系统节点。新节点元数据和删除节点元数据分别通过文件系统中的根节点(如文件系统节点110)以及根节点的通向并包括加入的或删除的节点的次级子节点列出了其各自节点。
混合式在第三种现有技术的方式中,如现有技术图1C所示,备份应用(a)执行前两种现有技术方式的混合,(b)然后在视图106中显示基本备份和全部增量备份作为完全镜像。这种方式的系统实现了文件式备份应用的两种需求。然而,这第三种方式需要相当的投入,使应用重新排列基本备份和全部增量备份以便查看,并且使用户界面显示基本备份和全部增量备份。
例如,假若文件系统102在t0时刻包括文件系统节点110、112、114、116、118、117和119,备份应用在t0时刻创建文件系统备份104,包括文件系统备份节点120、122、124、126、128、127和129,其中文件系统备份节点120、122、124、126、128、127和129对应于t0时刻的文件系统节点110、112、114、116、118、117和119。在t1时刻,第三种现有技术的系统创建新节点元数据142,它列出在t1时刻已经加入到文件系统的文件系统节点。此外,在t1时刻,第三种现有技术的系统还创建删除节点元数据144,它列出在t1时刻已经从文件系统删除的文件系统节点。新节点元数据和删除节点元数据分别通过文件系统中的根节点(如文件系统节点110)以及根节点的通向并包括加入的或删除的节点的次级子节点列出了其各自节点。
此外,在t1时刻,第三种现有技术的系统在视图106内(a)显示在t0时刻的文件系统作为显示的文件系统节点150、152、154、156、158、157和159,它们分别对应于文件系统节点110、112、114、116、118、117和119,(b)显示在t1时刻的文件系统备份作为显示的文件系统备份节点160、162、166、168、167和169,它们分别对应于文件系统节点130、132、126、138、127和129。
目录式软链接目录式软链接创建对文件系统中现有目录的间接引用(即目录式软链接)。然而目录式软链接不阻止对所述软链接目录的删除。如果删除了现有目录,软链接目录的引用(即目录式软链接)将变成无效。
目录式硬链接目录式软链接创建对文件系统中现有目录的直接引用。目录式硬链接阻止将硬链接的目录从它的其他父辈删除。目录式硬链接是众所周知的。然而,由于还未设想出目录式硬链接的实际用途,只在非常有限的情形下才偶尔使用它。
所以,需要使用计算机文件系统的目录式硬链接相对于先前文件系统备份执行当前文件系统备份的方法和系统。

发明内容
本发明提供使用计算机文件系统的目录式硬链接相对于先前文件系统备份执行当前文件系统备份的方法和系统。在示范实施例中,本方法和系统包括(1)相对于当前计算机文件系统在先前文件系统备份中识别全部最大未改变子树,(2)在当前文件系统备份中创建到全部最大未改变子树的目录式硬链接。
在示范实施例中,所述创建包括对每支最大未改变子树,形成从当前文件系统备份到所述每支最大未改变子树的正向指针。在进一步的实施例中,所述创建包括对每支最大未改变子树,建立从所述每支最大未改变子树到当前文件系统备份中某目录的反向指针,它对应于第一指针。
本发明还提供使用计算机文件系统的目录式硬链接相对于先前文件系统备份执行当前文件系统备份的系统。在示范实施例中,本系统包括(1)识别模块,配置为相对于当前计算机文件系统在先前文件系统备份中识别全部最大未改变子树,(2)创建模块,配置为在当前文件系统备份中创建到全部最大未改变子树的目录式硬链接。
本发明还提供可与可编程计算机一起使用的计算机程序产品,其中已经记录了可读的程序代码,使用计算机文件系统的目录式硬链接相对于先前文件系统备份执行当前文件系统备份。在示范实施例中,本计算机程序产品包括(1)计算机可读代码,用于相对于当前计算机文件系统在先前文件系统备份中识别全部最大未改变子树,(2)计算机可读代码,用于在当前文件系统备份中创建到全部最大未改变子树的目录式硬链接。
本发明还提供了提供使用计算机文件系统的目录式硬链接相对于先前文件系统备份执行当前文件系统备份服务的方法。在示范实施例中,本方法包括(1)相对于当前计算机文件系统在先前文件系统备份中识别全部最大未改变子树,(2)在当前文件系统备份中创建到全部最大未改变子树的目录式硬链接。


图1A是现有技术的流程图;图1B是现有技术的流程图;图1C是现有技术的流程图;图2是根据本发明示范实施例的框图;图3是根据本发明示范实施例的流程图;图4A是根据本发明示范实施例的形成步骤的流程图;图4B是根据本发明进一步实施例的建立步骤的流程图。
具体实施例方式
本发明提供相对于先前文件系统备份使用计算机文件系统(即文件系统)的目录式硬链接执行当前文件系统备份的方法和系统。在示范实施例中,本方法和系统包括(1)相对于当前计算机文件系统在先前文件系统备份中识别全部最大未改变子树,(2)在当前文件系统备份中创建到全部最大未改变子树的目录式硬链接。
参考图2,在示范实施例中,本发明在不同时刻处理计算机文件系统202(即文件系统202)和文件系统备份204。参考图2,在示范实施例中,本发明在t1时刻相对于t1时刻的当前文件系统(其中在t1时刻的当前文件系统备份包括文件系统节点210、212、216、218、217和219)识别在t0时刻的先前文件系统备份(其中在t0时刻的先前文件系统备份包括文件系统备份节点220、222、224、226、228、227和229)中的全部最大未改变子树。例如,如图2所示,在t1时刻本发明仅仅识别了包括文件系统备份节点222、226、228、227和229的子树,作为相对于t1时刻的当前文件系统在t0时刻的先前文件系统备份中的全部最大未改变子树。
在示范实施例中,在t1时刻本发明在t1时刻的当前文件系统备份中创建到t0时刻的先前文件系统备份中全部最大未改变子树的目录式硬链接,其中在t1时刻的当前文件系统备份包括文件系统备份节点230,它对应于t1时刻的文件系统节点210。例如,如图2所示,在t1时刻本发明在t1时刻的当前文件系统备份(包括文件系统备份节点230)中创建到t0时刻的先前文件系统备份中全部最大未改变子树的目录式硬链接232。具体地说,本发明创建了从文件系统备份节点230到文件系统备份节点222的目录式硬链接232。在示范实施例中,t0时刻的先前文件系统备份是基本备份。在示范实施例中,t1时刻的当前文件系统备份是增量备份。在特定实施例中,t1时刻的当前文件系统备份是第一增量备份。
进一步参考图2,在示范实施例中,本发明在t2时刻相对于t2时刻的当前文件系统(其中在t2时刻的当前文件系统包括文件系统节点210、212、218、217和219)识别在t1时刻的先前文件系统备份(其中在t1时刻的先前文件系统备份包括文件系统备份节点230、222、226、228、227和229)中的全部最大未改变子树。例如,如图2所示,在t2时刻本发明仅仅识别了包括文件系统备份节点228、227和229的子树,作为相对于t2时刻的当前文件系统在t1时刻的先前文件系统备份中的全部最大未改变子树。
在示范实施例中,在t2时刻本发明在t2时刻的当前文件系统备份(其中在t2时刻的当前文件系统备份包括文件系统备份节点240,它对应于t2时刻的文件系统节点210,以及文件系统备份节点242,它对应于t2时刻的文件系统节点212)中创建到t1时刻的先前文件系统备份中全部最大未改变子树的目录式硬链接。例如,如图2所示,在t2时刻本发明在t2时刻的当前文件系统备份(包括文件系统备份节点240和242)中创建到t1时刻的先前文件系统备份中全部最大未改变子树的目录式硬链接244。具体地说,本发明创建了从文件系统备份节点242到文件系统备份节点228的目录式硬链接244。在示范实施例中,t1时刻的先前文件系统备份是第一增量备份。在示范实施例中,t2时刻的当前文件系统备份是增量备份。在特定实施例中,t2时刻的当前文件系统备份是第二增量备份。
参考图3,在示范实施例中,本发明包括相对于当前计算机文件系统识别先前文件系统备份中的全部最大未改变子树的步骤310,以及在当前文件系统备份中创建到全部最大未改变子树的目录式硬链接的步骤312。
参考图4A,在示范实施例中,创建步骤312包括步骤412,对每支最大未改变子树,形成从当前文件系统备份到所述每支最大未改变子树的正向指针。在进一步的实施例中,参考图4B,创建步骤312进一步包括步骤414,对每支最大未改变子树,建立对应于所述第一指针的从所述每支最大未改变子树到当前文件系统备份中某目录的反向指针。
概述本发明使用目录式硬链接(如目录式硬链接232和244)直接链接文件系统备份中具有相同结构和文件的的子树。本发明因而通过不必在备份介质上重新产生文件系统的目录树而节省备份介质空间。同时,本发明还在文件系统改变时呈现其全部文件系统备份作为所述文件系统的完全镜像。本发明(1)创建全部文件系统备份(即文件系统备份版本)的完全镜像,(2)节省备份介质上的空间,(3)不需要为显示全部文件系统备份而对复杂的用户界面投资。所有这些功能都由在文件系统备份中实质使用目录式硬链接而归档实现。
本发明能够进行文件系统备份,它需要最少的存储空间,并且在查看归档文件系统备份时给予用户最大的简化(即全部归档文件系统备份的完全镜像)。本发明呈现全部文件系统备份作为文件系统的完全镜像。同时,本发明不需要专门的备份阅读器来归档这些目标。
创建硬链接本发明允许通过目录式硬链接创建文件系统备份目录,它直接引用已经在文件系统备份中的其他文件系统备份目录。不同于目录式软链接,本发明建立至现有文件系统备份目录的连接(即目录式硬链接),从而防止了该文件系统备份目录被删除。在目录式硬链接的文件系统备份目录中,试图删除目标文件系统备份目录时不删除目标文件系统备份目录,除非已经删除了到所述文件系统备份目录的全部目录式硬链接。为了节省备份介质上的空间,本发明允许在基本和增量备份两者的相同部分之间创建目录式硬链接。
完全镜像此外,本发明呈现文件系统的全部文件系统备份的完全镜像。在备份期间,本发明遍历该文件系统以及该文件系统的全部现有文件系统备份。在这种遍历期间,如果本发明发现了相对于该文件系统尚未改变的文件系统备份子树,它就在当前文件系统备份中创建到先前文件系统备份(它已经保留了这个数据)中未改变子树的目录式硬链接。本发明对文件系统中和文件系统备份中的全部子树进行这种发现和创建。
结论在充分说明本发明优选实施例和多种替代方案后,本领域的技术人员将会理解,根据本文的内容,存在不脱离本发明的许多替代和等效方案。所以表明本发明不由以上的说明限制,而仅仅由附带的权利要求书限制。
权利要求
1.一种使用计算机文件系统的目录式硬链接相对于先前文件系统备份执行当前文件系统备份的方法,所述方法包括相对于当前计算机文件系统在所述先前文件系统备份中识别全部最大未改变子树;以及在所述当前文件系统备份中创建到所述全部最大未改变子树的目录式硬链接。
2.根据权利要求1的方法,其中,所述创建包括对每支所述最大未改变子树,形成从所述当前文件系统备份到所述每支最大未改变子树的正向指针。
3.根据权利要求2的方法,进一步包括对每支最大未改变子树,建立对应于第一指针的从所述每支最大未改变子树到所述当前文件系统备份中的目录的反向指针。
4.一种使用计算机文件系统的目录式硬链接相对于先前文件系统备份执行当前文件系统备份的方法,所述方法包括相对于当前计算机文件系统在所述先前文件系统备份中识别全部最大未改变子树;以及在所述当前文件系统备份中创建到所述全部最大未改变子树的目录式硬链接,其中,所述创建包括对每支所述最大未改变子树,形成从所述当前文件系统备份到所述每支最大未改变子树的正向指针。
5.根据权利要求4的方法,其中,所述创建进一步包括对每支最大未改变子树,建立对应于第一指针的从所述每支最大未改变子树到所述当前文件系统备份中的目录的反向指针。
6.一种使用计算机文件系统的目录式硬链接相对于先前文件系统备份执行当前文件系统备份的方法,所述方法包括相对于当前计算机文件系统在所述先前文件系统备份中识别全部最大未改变子树;以及在所述当前文件系统备份中创建到所述全部最大未改变子树的目录式硬链接,其中,所述创建包括对每支所述最大未改变子树,形成从所述当前文件系统备份到所述每支最大未改变子树的正向指针,以及对每支最大未改变子树,建立对应于第一指针的从所述每支最大未改变子树到所述当前文件系统备份中的目录的反向指针。
7.一种使用计算机文件系统的目录式硬链接相对于先前文件系统备份执行当前文件系统备份的系统,所述系统包括识别模块,配置为相对于当前计算机文件系统在所述先前文件系统备份中识别全部最大未改变子树;以及创建模块,配置为在所述当前文件系统备份中创建到所述全部最大未改变子树的目录式硬链接。
8.根据权利要求7的系统,其中,所述创建模块包括形成模块,配置为对每支所述最大未改变子树,形成从所述当前文件系统备份到所述每支最大未改变子树的正向指针。
9.根据权利要求8的系统,进一步包括建立模块,配置为对每支最大未改变子树,建立对应于第一指针的从所述每支最大未改变子树到所述当前文件系统备份中的目录的反向指针。
10.一种使用计算机文件系统的目录式硬链接相对于先前文件系统备份执行当前文件系统备份的系统,所述系统包括识别模块,配置为相对于当前计算机文件系统在所述先前文件系统备份中识别全部最大未改变子树;以及创建模块,配置为在所述当前文件系统备份中创建到所述全部最大未改变子树的目录式硬链接,其中,所述创建模块包括形成模块,配置为对每支所述最大未改变子树,形成从所述当前文件系统备份到所述每支最大未改变子树的正向指针。
11.根据权利要求10的系统,进一步包括建立模块,配置为对每支最大未改变子树,建立对应于第一指针的从所述每支最大未改变子树到所述当前文件系统备份中的目录的反向指针。
12.一种使用计算机文件系统的目录式硬链接相对于先前文件系统备份执行当前文件系统备份的系统,所述系统包括识别模块,配置为相对于当前计算机文件系统在所述先前文件系统备份中识别全部最大未改变子树;以及创建模块,配置为在所述当前文件系统备份中创建到所述全部最大未改变子树的目录式硬链接,其中,所述创建模块包括形成模块,配置为对每支所述最大未改变子树,形成从所述当前文件系统备份到所述每支最大未改变子树的正向指针,以及建立模块,配置为对每支最大未改变子树,建立对应于第一指针的从所述每支最大未改变子树到所述当前文件系统备份中的目录的反向指针。
13.一种可与可编程计算机一起使用的计算机程序产品,其中已经记录了可读的程序代码,使用计算机文件系统的目录式硬链接相对于先前文件系统备份执行当前文件系统备份,所述计算机程序产品包括计算机可读的代码,用于相对于当前计算机文件系统在所述先前文件系统备份中识别全部最大未改变子树;以及计算机可读的代码,用于在所述当前文件系统备份中创建到所述全部最大未改变子树的目录式硬链接。
14.根据权利要求13的计算机程序产品,其中,所述用于创建的计算机可读代码包括计算机可读的代码,用于对每支所述最大未改变子树,形成从所述当前文件系统备份到所述每支最大未改变子树的正向指针。
15.根据权利要求14的计算机程序产品,进一步包括计算机可读的代码,用于对每支最大未改变子树,建立对应于第一指针的从所述每支最大未改变子树到所述当前文件系统备份中的目录的反向指针。
16.一种可与可编程计算机一起使用的计算机程序产品,其中已经记录了可读的程序代码,使用计算机文件系统的目录式硬链接相对于先前文件系统备份执行当前文件系统备份,所述计算机程序产品包括计算机可读的代码,用于相对于当前计算机文件系统在所述先前文件系统备份中识别全部最大未改变子树;以及计算机可读的代码,用于在所述当前文件系统备份中创建到所述全部最大未改变子树的目录式硬链接,其中,所述用于创建的计算机可读代码包括计算机可读的代码,用于对每支所述最大未改变子树,形成从所述当前文件系统备份到所述每支最大未改变子树的正向指针。
17.根据权利要求16的计算机程序产品,进一步包括计算机可读的代码,用于对每支最大未改变子树,建立对应于第一指针的从所述每支最大未改变子树到所述当前文件系统备份中的目录的反向指针。
18.一种可与可编程计算机一起使用的计算机程序产品,其中已经记录了可读的程序代码,使用计算机文件系统的目录式硬链接相对于先前文件系统备份执行当前文件系统备份,所述计算机程序产品包括计算机可读的代码,用于相对于当前计算机文件系统在所述先前文件系统备份中识别全部最大未改变子树;以及计算机可读的代码,用于在所述当前文件系统备份中创建到所述全部最大未改变子树的目录式硬链接,其中,所述用于创建的计算机可读代码包括计算机可读的代码,用于对每支所述最大未改变子树,形成从所述当前文件系统备份到所述每支最大未改变子树的正向指针,以及计算机可读的代码,用于对每支最大未改变子树,建立对应于第一指针的从所述每支最大未改变子树到所述当前文件系统备份中的目录的反向指针。
19.一种提供使用计算机文件系统的目录式硬链接相对于先前文件系统备份执行当前文件系统备份服务的方法,所述方法包括相对于当前计算机文件系统在所述先前文件系统备份中识别全部最大未改变子树;以及在所述当前文件系统备份中创建到所述全部最大未改变子树的目录式硬链接。
20.根据权利要求19的方法,其中,所述创建包括对每支所述最大未改变子树,形成从所述当前文件系统备份到所述每支最大未改变子树的正向指针。
21.根据权利要求20的方法,进一步包括对每支最大未改变子树,建立对应于第一指针的从所述每支最大未改变子树到所述当前文件系统备份中的目录的反向指针。
全文摘要
本发明提供使用计算机文件系统的目录式硬链接相对于先前文件系统备份执行当前文件系统备份的方法和系统。在示范实施例中,本方法和系统包括(1)相对于当前计算机文件系统在先前文件系统备份中识别全部最大未改变子树,(2)在当前文件系统备份中创建到全部最大未改变子树的目录式硬链接。在示范实施例中,所述创建包括对每支最大未改变子树,形成从当前文件系统备份到所述每支最大未改变子树的第一指针。在进一步的实施例中,所述创建包括对每支最大未改变子树,建立对应于第一指针的从所述每支最大未改变子树到当前文件系统备份中某目录的第二指针。
文档编号G06F17/30GK1773500SQ200510119429
公开日2006年5月17日 申请日期2005年11月11日 优先权日2004年11月12日
发明者马克·A.·史密斯, 本杰明·C.·里德 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1