一种基于备份文件的索引文件生成方法和装置的制作方法

文档序号:6382864阅读:170来源:国知局
专利名称:一种基于备份文件的索引文件生成方法和装置的制作方法
技术领域
本发明涉及计算机领域,尤其涉及一种基于备份文件的索引文件生成方法和装置。
背景技术
文件系统用于明确磁盘或分区上的文件的组织方法和文件的数据结构。操作系统中负责管理和存储文件信息的软件称为文件管理系统,简称文件系统。文件系统由三部分组成与文件管理有关软件、被管理文件以及实施文件管理所需数据结构。从系统角度来看,文件系统是对存储文件的存储器空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统。具体地说,它负责为用户提供建立、保存、读取、修改和删除文件等操作的工具。在Linux下的EXT2 (Second Extend Filesystem,第二拓展文件系统,简称 EXT2)或EXT3(Third Extend Filesystem,第三拓展文件系统,简称EXT3)等文件系统中,格式化程序预先将硬盘等存储设备划分成大小相等的Block数据块,需要存储的数据按照特定格式存放在Block数据块中。EXT2或EXT3文件系统中的文件包括存放该文件基本信息的iNode索引结点和存放实际数据的Block数据块,其中iNode索引节点本身占用ー个Block数据块的空间。在采用全量备份和増量备份策略的备份系统中,为了便于快速恢复出原始文件。需要把指定的全量备份文件与増量备份文件通过某种算法进行合并,生成一个新的全量备份文件,然后创建ー个与原始文件大小相同的空白文件,将新的全量备份文件中的Block数据块复制到空白文件中,以完成备份文件的恢复操作。但现有技术存在的不足是合并成新的全量备份文件和将所述新的全量备份文件中的数据块复制到的新建的空白文件中的过程消耗大量时间,并且消耗时间与需要复制的数据块的数量成正比,同时新建ー个与原始文件大小相同的空白文件需要占用大量存储器的空间,降低了存储空间的利用率。

发明内容
本发明实施例所要解决的技术问题在于,提供一种基于备份文件的索引文件生成方法和装置。可解决现有技术中备份时备份时间长和占用存储资源大的不足。为了解决上述技术问题,本发明实施例提供了第一方面一种基于备份文件的索引文件生成方法,包括获取包括索引节点的文件,所述索引节点包括预定数量的指针;获取存储备份文件的每ー个数据块的地址信息;将所述索引节点中的指针与获取到的存储备份文件的数据块的地址信息一一映射,生成所述备份文件的索引文件。结合第一方面,在第一种可能的实现方式中,所述备份文件包括全量备份文件;所述获取存储备份文件的每ー个数据块的地址信息包括
获取存储所述全量备份文件的每ー个数据块的地址信息。结合第一方面,在第二种可能的实现方式中,所述备份文件包括全量备份文件和増量备份文件;所述获取存储备份文件的每ー个数据块的地址信息包括获取存储所述増量备份文件的每ー个数据块的地址信息,并获取存储所述全量备份文件的每ー个数据块的地址信息,其中所述全量备份文件中的每个数据块的地址信息不包括数据内容发生变更的数据块的地址信息。结合第一方面至第一方面第二种可能的实现方式中的任ー种,在第三种可能的实现方式中,所述获取存储备份文件的每ー个数据块的地址信息之前包括根据当前时间信息查询到最新时刻的存储备份文件的数据块。
结合第一方面第三种可能的实现方式,在第四种可能的实现方式中,所述数据块的地址信息包括指向获取到的存储备份文件的数据块的地址的指针的地址;所述将所述索引节点中的指针与获取到的存储备份文件的数据块的地址信息--映射,生成所述备份文件的索引文件包括将所述索引节点中的指针与指向获取到的存储备份文件的数据块的指针的地址--映射,生成所述备份文件的索引文件。结合第一方面的第四种可能的实现方式,在第五种可能的实现方式中,还包括检测到所述索引文件的调用指令时,返回存储所述索引文件的数据块的地址信
o相应地,本发明第二方面还提供了一种基于备份文件的索引文件的生成装置,包括第一获取模块,用于获取包括索引节点的文件,所述索引节点包括预定数量的指针;第二获取模块,用于获取存储备份文件的每ー个数据块的地址信息;映射关联模块,用于将所述索引节点中的指针与获取到的存储备份文件的数据块的地址信息一一映射,生成所述备份文件的索引文件。结合第二方面,在第一种可能的实现方式中,所述第二获取模块包括全量文件获取单元,用于根据当前时间获取存储最新时刻的所述全量备份文件的每ー个数据块的地址信息。结合第二方面,在第二种可能的实现方式中,所述第二获取模块包括増量文件获取单元,用于获取存储所述增量备份文件的每ー个数据块的地址信息,并获取存储所述全量备份文件的每ー个数据块的地址信息,其中,若多个增量备份文件中存在相同的数据块时,选择相同的数据块中的最新的数据块的地址信息,所述全量备份文件中的每个数据块的地址信息不包括数据内容发生变更的数据块的地址信息。结合第二方面的第二种可能的实现方式,在第三种可能的实现方式中,所述映射关联模块包括指针地址关联单元,用于将所述索引节点中的指针与指向获取到的存储备份文件的数据块的指针的地址一一映射,生成所述备份文件的索引文件。结合第二方面的第三种可能的实现方式,在第四种可能的实现方式中,还包括
地址返回模块,用于检测到所述索引文件的调用指令时,返回存储所述索引文件的数据块的地址信息。实施本发明实施例,具有如下有益效果利用文件索引节点中指向Block数据块的指针值可改变的特性,直接将该指针指向存储备份文件的数据块,因此不需要将备份文件的数据块复制到合成文件的操作,数据复制是ー个消耗时间的动作,因此减少了合成时间。同时不需要创建ー个与原始文件大小相同的合成文件,由此减少存储空间占用,提闻了存储空间的利用率。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图I是本发明的一种基于备份文件的索引文件生成方法的流程示意图;图2是本发明的一种基于备份文件的索引文件生成方法的另一流程示意图;图3是本发明的一种基于备份文件的索引文件生成装置的结构示意图;图4是本发明的一种基于备份文件的索引文件生成装置的另ー结构示意图;图5是4中第二获取模块的结构示意图;图6是图4中第二获取模块的另ー结构示意图;图7是图4中映射关联模块的结构示意图;
图8是本发明的一种基于备份文件的索引文件生成装置的又一结构示意图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。參见图1,为本发明的一种基于备份文件的索引文件的合成方法的流程示意图,包括步骤101、获取包括索引节点的文件,所述索引节点包括预定数量的指针。具体的,在Linux的EXT2或EXT3中,文件包括索引节点iNode和存储该文件数据的数据块,其中索引节点包括文件模式、文件属主、文件大小和指向存储该文件数据块的指针等基本信息。获取到的文件可以是文件系统中已存在的文件或新创建的仅包含索引节点的空文件。步骤102、获取存储备份文件的每ー个数据块的地址信息;具体的,根据备份策略的不同,获取的数据块的地址也不同,当预先采用的备份方法为全量备份吋,只需要获取存储全量备份文件的各个数据块的地址信息,当预先采用全量备份方法和増量备份方法的结合吋,获取存储增量备份文件的数据块的地址信息,并获取存储全量备份文件的各个数据块的地址信息,其中在全量备份文件中要剔除数据发生变更的数据块。备份文件中的索引节点中的指针存放有所述备份文件中的数据块的地址信息,根据所述索引节点获取存储备份文件的每ー个数据块的地址信息。步骤103、将所述索引节点中的指针与获取到的存储备份文件的数据块的地址信息--映射,以生成备份文件的索引文件。由于该索引文件具有索引节点和索引节点中指针指向的数据块,在操作系统中索引文件即为真实存在的物理文件。实施本发明,利用文件索引节点中指向Block数据块的指针值可改变的特性,直接将该指针指向存储备份文件的数据块,因此不需要将备份文件的数据块复制到合成文件的操作,数据复制是ー个消耗时间的动作,因此减少了合成时间。同时不需要创建ー个与原始文件大小相同的合成文件,由此减少存储空间占用,提高了存储空间的利用率。參见图2,为本发明的一种备份文件的索引文件的合成方法另一流程示意图,包 括步骤201、获取包括索引节点的文件,所述索引节点包括预定数量的指针。具体的,所述索引节点包括A个直接指针、I个ー级间接指针、I个ニ级间接指针和
I个三级间接指针,指针的地址为2n字节,A, n>=0;m>nJ.A^Pn为整数。步骤202、根据当前时间信息查询到最新时刻的存储备份文件的数据块。具体的,当存在多个不同备份时间点的备份文件时,检测当前的时间信息,获取各个备份文件的索引节点中的ctime(chang time,变更时间,简称ctime)属性中的变更时间信息,将当前时间与各个备份文件的变更时间信息比较,时间间隔最小的备份文件为最新的备份文件。步骤203、获取存储所述増量备份文件的每ー个数据块的地址信息,并获取存储所述全量备份文件的每ー个数据块的地址信息,其中所述全量备份文件中的每个数据块的地址信息不包括数据内容发生变更的数据块的地址信息。具体的,操作系统预先采用的备份策略为全量备份和增量备份的结合,因此需要获取存储全量备份文件的数据块的地址信息和存储增量备份文件的数据块的地址信息,根据步骤202,此时的増量备份文件和全量备份文件为最新的备份文件,获取存储增量备份文件的每ー个数据块的地址信息,并获取存储全量备份文件的数据块的每ー个数据块的地址,其中所述全量备份文件中的每个数据块的地址信息不包括数据内容发生变更的数据块的地址信息。若备份策略采用的只有全量备份时,只需获取存储全量备份文件的数据块的地址信息。步骤204、将所述索引节点中的指针与指向获取到的存储备份文件的数据块的指针的地址--映射,生成所述备份文件的索引文件。具体的,根据步骤201的索引节点中分配的指针的数量,假设文件系统中的数据块的地址大小为2111字节,地址信息的位数为2n字节,获取到的备份文件的文件大小P字节,当P < = A*2n吋,将所述直接指针与所述备份文件中的各个数据块的地址信息一一映射,当A*2m < P < = [A+2(m_n)]*2m吋,将所述直接指针,所述ー级间接指针与所述备份文件中各个数据块的地址一一映射,当[A+2(m_n)]*2m < P <= [A+2(m_n)+22(m_n)]*2m吋,将所述直接指针,所述ー级间接指针,所述ニ级间接指针与所述备份文件中各个数据块的地址信息一一映射,当[A+2(m_n)+22(m_n)] *2m < P < = [A+2(m_n)+22(ni_n)+23(m_n)] *2m 时,将所述直接指针,ー级间接指针,ニ级间接指针,三级间接指针与所述备份文件中各个数据块的地址信息一一映射,以生成所述备份文件的索引文件。数据块的地址信息还包括指向获取到的存储备份文件的数据块的地址的指针的地址。用户态中的普通文件的访问应用程序可以访问本发明的包括索引节点的索引文件。步骤205、检测到所述索引文件的调用指令时,返回存储所述索引文件的数据块的地址信息。实施本发明,利用文件索引节点中指向Block数据块的指针值可改变的特性,直接将该指针指向存储备份文件的数据块,因此不需要将备份文件的数据块复制到合成文件的操作,数据复制是ー个消耗时间的动作,因此减少了合成时间。同时不需要创建ー个与原始文件大小相同的合成文件,由此减少存储空间占用,提高了存储空间的利用率。 參见图3,为本发明的一种基于备份文件的索引文件的生成装置的结构示意图,包括第一获取模块11,用于获取包括索引节点的文件,所述索引节点包括预定数量的指针。具体的,在Linux的EXT2或EXT3中,文件包括索引节点iNode和存储该文件数据的数据块,其中索引节点包括文件模式、文件属主、文件大小和指向存储该文件数据块的指针等基本信息。第一获取模块11获取到的文件可以是文件系统中已存在的文件或新创建的仅包含索引节点的空文件。第二获取模块12,用于获取存储备份文件的每ー个数据块的地址信息。具体的,根据备份策略的不同,第二获取模块12获取的数据块的地址也不同,当预先采用的备份方法为全量备份时,第二获取模块12只需要获取存储全量备份文件的各个数据块的地址信息;当预先采用全量备份方法和増量备份方法的结合时,第二获取模块12获取存储增量备份文件的数据块的地址信息,并获取存储全量备份文件的各个数据块的地址信息,其中在全量备份文件中要剔除数据发生变更的数据块。备份文件中的索引节点中的指针存放有所述备份文件中的数据块的地址信息,第二获取模块12根据所述索引节点获取存储备份文件的每ー个数据块的地址信息。映射关联模块13,用于将所述索引节点中的指针与获取到的存储备份文件的数据块的地址信息一一映射,生成所述备份文件的索引文件。实施本发明,利用文件索引节点中指向Block数据块的指针值可改变的特性,直接将该指针指向存储备份文件的数据块,因此不需要将备份文件的数据块复制到合成文件的操作,数据复制是ー个消耗时间的动作,因此减少了合成时间。同时不需要创建ー个与原始文件大小相同的合成文件,由此减少存储空间占用,提高了存储空间的利用率。进ー步的,參见图4-图7,为本发明的一种基于备份文件的索引文件的生成装置的另ー结构示意图,除第一获取模块11、第二获取模块12和关联映射模块13タト,还包括地址返回模块14,用于检测到所述索引文件的调用指令时,返回存储所述索引文件的数据块的地址信息。其中,在本发明的一些实施例中,第二获取模块包括全量文件获取单元121,用于获取存储所述全量备份文件的每ー个数据块的地址信息。或増量文件获取单元122,用于获取存储所述增量备份文件的每ー个数据块的地址信息,并获取存储所述全量备份文件的每ー个数据块的地址信息,其中,若多个增量备份文件中存在相同的数据块时,选择相同的数据块中的最新的数据块的地址信息,所述全量备份文件中的每个数据块的地址信息不包括数据内容发生变更的数据块的地址信息。具体的,操作系统预先采用的备份策略为全量备份和增量备份的结合,因此需要获取存储全量备份文件的数据块的地址信息和存储增量备份文件的数据块的地址信息。根据查询到的最新的备份文件,此时的増量备份文件和全量备份文件为最新的备份文件,增量文件获取单元122获取存储增量备份文件的每ー个数据块的地址信息,并获取存储全量备份文件的数据块的每ー个数据块的地址,其中所述全量备份文件中的每个数据块的地址信息不包括数据内容发生变更的数据块的地址信息。
可以理解的是,当存在多个不同备份时间点的备份文件时,第二获取模块检测当前的时间信息,获取各个备份文件的索引节点中的ctime(chang time,变更时间,简称ctime)属性中的变更时间信息,将当前时间与各个备份文件的变更时间信息比较,时间间隔最小的备份文件为最新的备份文件进ー步的,映射关联模块13包括指针地址关联单元131,用于将所述索引节点中的指针与指向获取到的存储备份文件的数据块的指针的地址一一映射,生成所述备份文件的索引文件。实施本发明,利用文件索引节点中指向Block数据块的指针值可改变的特性,直接将该指针指向存储备份文件的数据块,因此不需要将备份文件的数据块复制到合成文件的操作,数据复制是ー个消耗时间的动作,因此减少了合成时间。同时不需要创建ー个与原始文件大小相同的合成文件,由此减少存储空间占用,提高了存储空间的利用率。參见图8,为本发明的一种基于备份文件的索引文件的生成装置的又一结构示意图,包括处理器61、存储器62、输入装置63和输出装置64,生成装置I中的处理器61的数量可以是ー个或多个,图8以ー个处理器为例。本发明的一些实施例中,处理器61、存储器62、输入装置63和输出装置64可通过总线或其他方式连接,图8中以总线连接为例。其中,存储器62中存储ー组程序代码,且处理器61用于调用存储器62中存储的程序代码,用于执行以下操作获取包括索引节点的文件,所述索引节点包括预定数量的指针;获取存储器62中存储备份文件的每ー个数据块的地址信息;将所述索引节点中的指针与获取到的存储备份文件的数据块的地址信息一一映射,生成所述备份文件的索引文件。在本发明的一些实施例中,处理器61具体用于执行获取存储所述全量备份文件的每ー个数据块的地址信息,其中,所述备份文件包括全量备份文件。在本发明的另ー实施例中,处理器61具体用于执行获取存储所述増量备份文件的每ー个数据块的地址信息,并获取存储所述全量备份文件的每ー个数据块的地址信息,其中所述全量备份文件中的每个数据块的地址信息不包括数据内容发生变更的数据块的地址信息,其中,所述备份文件包括全量备份文件和增量备份文件。在本发明的一些实施例中,处理器61还用于执行根据当前时间信息查询到最新时刻的存储备份文件的数据块。在本发明的一些实施例中,处理器61具体用于执行将所述索引节点中的指针与指向获取到的存储备份文件的数据块的指针的地址一一映射,生成所述备份文件的索引文件,其中,所述数据块的地址信息包括指向获取到的存储备份文件的数据块的地址的指针的地址。在本发明的一些实施例中,处理器61还用于执行检测到所述索引文件的调用指令时,返回存储所述索引文件的数据块的地址信
o实施本发明,利用文件索引节点中指向Block数据块的指针值可改变的特性,直接将该指针指向存储备份文件的数据块,因此不需要将备份文件的数据块复制到合成文件的操作,数据复制是ー个消耗时间的动作,因此减少了合成时间。同时不需要创建ー个与原始文件大小相同的合成文件,由此减少存储空间占用,提高了存储空间的利用率。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random AccessMemory, RAM)等。以上所揭露的仅为本发明ー种较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。
权利要求
1.一种基于备份文件的索引文件生成方法,其特征在于,包括 获取包括索引节点的文件,所述索引节点包括预定数量的指针; 获取存储备份文件的每一个数据块的地址信息; 将所述索引节点中的指针与获取到的存储备份文件的数据块的地址信息一一映射,生成所述备份文件的索引文件。
2.如权利要求I所述的方法,其特征在于,所述备份文件包括全量备份文件; 所述获取存储备份文件的每一个数据块的地址信息包括 获取存储所述全量备份文件的每一个数据块的地址信息。
3.如权利要求I所述的方法,其特征在于,所述备份文件包括全量备份文件和增量备份文件; 所述获取存储备份文件的每一个数据块的地址信息包括 获取存储所述增量备份文件的每一个数据块的地址信息,并获取存储所述全量备份文件的每一个数据块的地址信息,其中所述全量备份文件中的每个数据块的地址信息不包括数据内容发生变更的数据块的地址信息。
4.如权利要求1-3任一项所述的方法,其特征在于,所述获取存储备份文件的每一个数据块的地址信息之前包括 根据当前时间信息查询到最新时刻的存储备份文件的数据块。
5.如权利要求4所述的方法,其特征在于,所述数据块的地址信息包括指向获取到的存储备份文件的数据块的地址的指针的地址; 所述将所述索引节点中的指针与获取到的存储备份文件的数据块的地址信息一一映射,生成所述备份文件的索引文件包括 将所述索引节点中的指针与指向获取到的存储备份文件的数据块的指针的地址一一映射,生成所述备份文件的索引文件。
6.如权利要求5所述的方法,其特征在于,还包括 检测到所述索引文件的调用指令时,返回存储所述索引文件的数据块的地址信息。
7.一种基于备份文件的索引文件的生成装置,其特征在于,包括 第一获取模块,用于获取包括索引节点的文件,所述索引节点包括预定数量的指针; 第二获取模块,用于获取存储备份文件的每一个数据块的地址信息; 映射关联模块,用于将所述索引节点中的指针与获取到的存储备份文件的数据块的地址信息一一映射,生成所述备份文件的索引文件。
8.如权利要求7所述的装置,其特征在于,所述第二获取模块包括 全量文件获取单元,用于获取存储所述全量备份文件的每一个数据块的地址信息。
9.如权利要求7所述的装置,其特征在于,所述第二获取模块包括 增量文件获取单元,用于获取存储所述增量备份文件的每一个数据块的地址信息,并获取存储所述全量备份文件的每一个数据块的地址信息,其中,若多个增量备份文件中存在相同的数据块时,选择相同的数据块中的最新的数据块的地址信息,所述全量备份文件中的每个数据块的地址信息不包括数据内容发生变更的数据块的地址信息。
10.如权利要求9所述的装置,其特征在于,所述映射关联模块包括 指针地址关联单元,用于将所述索引节点中的指针与指向获取到的存储备份文件的数据块的指针的地址一一映射,生成所述备份文件的索引文件。
11.如权利要求10所述的装置,其特征在于,还包括 地址返回模块,用于检测到所述索引文件的调用指令时,返回存储所述索引文件的数据块的地址信息。·
全文摘要
本发明实施例公开了一种基于备份文件的索引文件生成方法,包括获取包括索引节点的文件,所述索引节点包括预定数量的指针;获取存储备份文件的每一个数据块的地址信息;将所述索引节点中的指针与获取到的存储备份文件的数据块的地址信息一一映射,生成所述备份文件的索引文件。采用本发明能达到文件的合成时间短和占用存储资源少的效果。
文档编号G06F11/14GK102955861SQ20121050473
公开日2013年3月6日 申请日期2012年11月30日 优先权日2012年11月30日
发明者冉崇洁 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1