一种海量文件生成的方法、装置制造方法
【专利摘要】本发明实施例公开了一种海量文件生成的方法、装置。本发明涉及信息【技术领域】,能够在较短时间内将源文件系统中的所有元数据写入模板文件以及将模板文件导入目标文件系统,进而大大缩短了创建海量文件的时间。本发明实施例提供的方法包括:提取源文件系统中的所有元数据,其中,所述元数据用于描述所述源文件系统及所述源文件系统的组织结构;将提取的所述元数据写入模板文件;将所述模板文件中的元数据导入所述目标文件系统以在所述目标文件系统中生成海量文件。
【专利说明】一种海量文件生成的方法、装置
【技术领域】
[0001]本发明涉及信息【技术领域】,尤其涉及一种海量文件生成的方法、装置。
【背景技术】
[0002]在文件系统及网络存储技术(Network Storage Technologies,简称NAS)系统测试中,需要进行文件系统规格测试,在进行文件系统规格测试之前首先要在文件系统中生成海量文件。
[0003]在现有技术中,采取传统方法在文件系统中创建单个文件过程涉及查找及分配磁盘空间、仓Il建索引节点(index node,简称inode)以及写入用户数据等过程。利用传统方法来创建单个文件时耗时并不长,但用该方法创建几千万个文件时则非常耗时。
[0004]发明人发现现有技术至少存在以下问题:在对文件系统进行系统规格测试之前,采用传统方法来创建海量文件非常耗时,导致测试效率低。
【发明内容】
[0005]本发明实施例提供一种海量文件生成的方法、装置,能够大大缩短了创建海量文件的时间,提高创建海量文件的效率。
[0006]为达到上述目的,本发明实施例提供了如下技术方案:
[0007]第一方面,本发明实施例提供了一种海量文件生成的方法,包括:
[0008]提取源文件系统中的所有元数据,其中,所述元数据用于描述所述源文件系统及所述源文件系统的组织结构;
[0009]将提取的所述元数据写入模板文件;
[0010]将所述模板文件中的元数据导入所述目标文件系统以在所述目标文件系统中生成海量文件。
[0011]根据第一方面,在第一种可能的实现方式中,所述模板文件包含所述源文件系统中的元数据块地址表及元数据块,其中,所述元数据块地址表中包括所述元数据在所述源文件系统中的逻辑地址;
[0012]所述将所述模板文件中的元数据导入所述目标文件系统以在所述目标文件系统中生成海量文件,包括:
[0013]读取所述模板文件中的元数据;
[0014]根据所述元数据块地址表确定所述元数据在所述目标文件系统中的逻辑地址,其中,所述目标文件系统中的逻辑地址与所述元数据在所述源文件系统中的逻辑地址一致;
[0015]根据确定的所述逻辑地址将所述元数据写入所述目标系统中以在目标系统中生成海量文件。
[0016]结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述提取源文件系统中的所有元数据,包括:
[0017]扫描所述源文件系统包含的所有元数据块,其中,所述元数据块用于存储所述元数据;
[0018]读取所述源文件系统包含的所有元数据块中的元数据。
[0019]结合第一方面或第一方面的第一种可能的实现方式,在第三种可能的实现方式中,所述提取源文件系统中的所有元数据,包括:
[0020]查询所述源文件系统中的元数据索引位图,其中,所述元数据索引位图中的每一位分别表示所述源文件系统的一个数据块或者元数据块;
[0021]根据所述元数据索引位图中的元数据块的标识获取所述源文件系统中对应的元数据块中的元数据。
[0022]第二方面,本发明实施例提供了一种海量文件生成装置,包括:
[0023]提取模块,用于提取源文件系统中的所有元数据,其中,所述元数据用于描述所述源文件系统及所述源文件系统的组织结构;
[0024]写模块,用于将所述提取模块提取的所述元数据写入模板文件;
[0025]导入模块,用于将所述模板文件中的元数据导入所述目标文件系统以在所述目标文件系统中生成海量文件。
[0026]结合第二方面,在第一种可能的实现方式中,所述模板文件包含所述源文件系统中的元数据块地址表及元数据块,其中,所述元数据块地址表中包括所述元数据在所述源文件系统中的逻辑地址;
[0027]所述导入模块具体用于:读取所述模板文件中的元数据;根据所述元数据块地址表确定所述元数据在所述目标文件系统中的逻辑地址,其中,所述目标文件系统中的逻辑地址与所述元数据在所述源文件系统中的逻辑地址一致;根据确定的所述逻辑地址将所述元数据写入所述目标文件系统中以在所述目标文件系统中生成海量文件。
[0028]结合第二方面或第二方面的第一种可能的实现方式,在第二种可能的实现方式中,
[0029]所述提取模块具体用于:扫描所述源文件系统包含的所有元数据块,其中,所述元数据块用于存储所述元数据;读取所述源文件系统包含的所有元数据块中的元数据。
[0030]结合第二方面或第二方面的第一种可能的实现方式,在第三种可能的实现方式中,
[0031]所述提取模块具体用于:查询所述源文件系统中的元数据索引位图,其中,所述元数据索引位图中的每一位分别表示所述源文件系统的一个数据块或者元数据块;根据所述元数据索引位图中的元数据块的标识获取所述源文件系统中的元数据块中的元数据。
[0032]第三方面,本发明实施例提供了一种海量文件生成装置,包括:
[0033]处理器,用于提取源文件系统中的所有元数据,其中,所述元数据用于描述所述源文件系统及所述源文件系统的组织结构;将所述提取模块提取的所述元数据写入模板文件;将所述模板文件中的元数据导入所述目标文件系统以在所述目标文件系统中生成海量文件。
[0034]结合第三方面,在第一种可能的实现方式中,所述模板文件包含所述源文件系统中的元数据块地址表及元数据块,其中,所述元数据块地址表中包括所述元数据在所述源文件系统中的逻辑地址;
[0035]所述处理器具体用于:
[0036]读取所述模板文件中的元数据;
[0037]根据所述元数据块地址表确定所述元数据在所述目标文件系统中的逻辑地址,其中,所述目标文件系统中的逻辑地址与所述元数据在所述源文件系统中的逻辑地址一致;
[0038]根据确定的所述逻辑地址将所述元数据写入所述目标文件系统中以在所述目标文件系统中生成海量文件。
[0039]结合第三方面或第三方面的第一种可能的实现方式,所述处理器具体用于:
[0040]扫描所述源文件系统包含的所有元数据块,其中,所述元数据块用于存储所述元数据;
[0041]读取所述源文件系统包含的所有元数据块中的元数据。
[0042]结合第三方面或第三方面的第一种可能的实现方式,所述处理器具体用于:
[0043]查询所述源文件系统中的元数据索引位图,其中,所述元数据索引位图中的每一位分别表示所述源文件系统的一个数据块或者元数据块;
[0044]根据所述元数据索引位图中的元数据块的标识获取所述源文件系统中的元数据块中的元数据。
[0045]本发明实施例提供的一种海量文件生成的方法、装置,通过提取源文件系统中的所有元数据,将提取的所有元数据写入模板文件,并将该模板文件中的元数据导入目标文件系统的方法在目标文件系统中生成海量文件,由于元数据占空间较小,所以能够在较短时间内将元数据写入模板文件以及将模板文件导入目标文件系统,因而大大缩短了创建海量文件的时间,提高了创建海量文件的效率。
【专利附图】
【附图说明】
[0046]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0047]图1为本发明实施例提供的一种场景示意图;
[0048]图2为本发明实施例提供的一种海量文件生成的方法的流程示意图;
[0049]图3为本发明实施例提供的一种元数据模板文件格式示意图;
[0050]图4为本发明实施例提供的另一种海量文件生成的方法的流程示意图;
[0051]图5为本发明实施例提供的一种元数据的组成结构示意图;
[0052]图6为本发明实施例提供的一种普通文件的文件描述表结构示意图;
[0053]图7为本发明实施例提供的一种目录文件的文件描述表结构示意图;
[0054]图8为本发明实施例提供的另一种海量文件生成的方法的流程示意图;
[0055]图9为本发明实施例提供的一种元数据索引位图示意图;
[0056]图10为本发明实施例提供的一种海量文件生成装置的示意图;
[0057]图11为本发明实施例提供的另一种海量文件生成装置的示意图。
【具体实施方式】
[0058]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0059]参见图1,为本发明实施例提供的一种应用场景示意图,为测试某文件系统,且需要从功能,规格,性能,大压力,长时间五方面开展测试,为了提高测试效率,可以在五台物理机上分别生成该文件系统,并分别在每个物理机上进行一项测试。例如,参见图1,可以在物理机I上对该文件系统进行功能测试,在物理机2上对该文件系统进行规格测试,在物理机3上对该文件系统进行性能测试,在物理机4上对该文件系统进行大压力测试,在物理机5上对该文件系统进行长时间测试。
[0060]现有技术中,在五台物理机上分别采用传统的海量文件生成方法生成海量文件,例如,需要分别在物理机I至物理机5上采取查找及分配磁盘空间、创建节点索引、写入用户数据的方法来创建单个文件,然后采取这种创建单个文件的方法创建海量文件,使创建海量文件耗时,导致测试效率低。
[0061]为了克服现有技术的缺陷,本发明实施例提供一种海量文件的生成方法,该方法可以由如图1中所示的任意一个承载文件系统的物理机来完成。参见图2,该方法包括:
[0062]201:提取源文件系统中的所有元数据,其中,所述元数据用于描述源文件系统及所述源文件系统的组织结构;
[0063]源文件系统包括元数据块和数据块,元数据块和数据块分别为源文件系统中的固定大小的空间,例如,若源文件系统划分为很多个文件系统块,每个文件系统块的大小为1K,则该IK大小的文件系统块可能为元数据块,也可以为数据块。元数据块用于存储元数据,数据块用于存储数据。
[0064]文件系统的元数据能够影响文件系统的测试结果,文件系统的数据不影响文件系统的测试结果,所以,元数据分别相同的两个文件系统的测试结果相同。
[0065]其中,源文件系统可以装载在物理机I至物理机5中任意一个,目标文件系统分别装载在与源文件系统不同的物理机上。
[0066]202:将提取的所述元数据写入模板文件;
[0067]其中,模板文件可以为二进制文件,包含源文件系统中的元数据地址表和元数据块,元数据地址表包含元数据在源文件系统中的逻辑地址,元数据块用于存储元数据,参见图3,为本发明实施例提供的一种模板文件格式示意图,如图所示,模板文件可以包括元数据块地址表,例如,块I地址、块2地址、块3地址等,元数据块区,例如,块1、块2、块3等,可选的,模板文件还可以包括文件信息表,例如,文件描述符、文件系统容量、块大小、元数据块个数等,模板文件可以为上述格式,也可以采取其它的模板文件格式,本发明实施例对此不进行限制。
[0068]203:将所述模板文件中的元数据导入所述目标文件系统以在所述目标文件系统中生成海量文件。
[0069]为了使得源文件系统与目标文件系统测试结果一致,需要源文件系统和目标文件系统的元数据相同,所以,需要把源文件系统的某逻辑地址的元数据导出并将该元数据在源文件系统的逻辑地址及元数据块写入模板文件,并导入目标文件系统,元数据在该目标文件系统中的逻辑地址与该元数据在源文件系统中的逻辑地址一致,例如:将源文件系统的第10个磁盘块的元数据导出并将该元数据块在源文件系统的逻辑地址及元数据块写入模板文件,并将该元数据块中的元数据导入至目标文件系统的第10个磁盘块。
[0070]本发明实施例提供的一种海量文件生成的方法,通过提取源文件系统中的所有元数据,将提取的所有元数据写入模板文件,并将该模板文件中的元数据导入目标文件系统的方法在目标文件系统中生成海量文件,由于元数据占空间较小,所以能够在较短时间内将元数据写入模板文件以及将模板文件导入目标文件系统,因而大大缩短了创建海量文件的时间,提高了创建海量文件的效率。
[0071]参见图4,为本发明实施例提供的另一种海量文件生成的方法,如图所示,可以包括以下步骤:
[0072]S401:扫描源文件系统包含的所有元数据块,其中,元数据块用于存储元数据,元数据用于描述源文件系统及该源文件系统的组织结构;
[0073]源文件系统可以为已经包含多个文件的文件系统,也可以采用传统方法在源文件系统中生成海量文件。例如,一种传统方法生成海量文件的方法可以为:采取查找及分配磁盘空间、创建节点索引、写入用户数据的方法在文件系统中创建单个文件,并采取这种创建单个文件的方法在该文件系统中创建海量文件,本发明实施例对此不进行限制。
[0074]文件系统可以包括元数据和数据两部分,如图5,为本发明实施例提供的一种元数据的组成结构示意图,元数据可以包括文件系统描述信息和文件描述信息,文件系统描述信息可以用于描述该文件系统的容量、类型、分组结构、已使用块索引、空闲块索引、已使用索引节点inode和空闲索引节点inode等;文件描述信息可以用于描述该文件系统中包含的每个文件的大小、创建时间、权限、磁盘分布结构等。示例性的,元数据的最小分配单元是文件系统块,即一个文件系统块可以为元数据块,也可以为数据块。
[0075]由于在文件系统测试过程中,绝大部分用例并不关注文件系统生成的文件的内容,也就是该文件系统中包含的数据部分,因此,在本发明实施例中,仅扫描出文件系统中的元数据。
[0076]对于普通文件,如果文件系统包含的普通文件较小,该文件的数据块地址可以由索引节点inode中的直接数据块来描述;如果文件系统包含的普通文件较大,该文件的数据块地址可以由一级间接块指针、二级间接块指针、三级间接块指针,最终指向数据块,如图6所示,为本发明实施例提供的一种普通文件的文件描述表结构示意图,文件系统中的普通文件越大,则使用的间接块指针的级别越高。间接数据块属于文件系统元数据的一部分。
[0077]对于目录文件,如图7所示,为本发明实施例提供的一种目录文件的文件描述表结构示意图,目录文件的文件描述表结构与上述普通文件的文件描述表结构完全一致,但目录文件的文件内容可以为该目录所包含的文件的信息,例如,文件名,索引节点inode号等。示例性的,目录文件的文件内容属于文件系统的元数据。
[0078]S402:读取源文件系统包含的所有元数据块中的元数据;
[0079]S403:将读取的源文件系统中的元数据写入模板文件;
[0080]S404:读取模板文件中的元数据,其中,模板文件包含源文件系统中的元数据块地址表及元数据块,元数据块地址表包括元数据在源文件系统中的逻辑地址;
[0081]S405:根据元数据块地址表确定元数据在目标文件系统中的逻辑地址,其中,所述目标文件系统中的逻辑地址与元数据在源文件系统中的逻辑地址一致;
[0082]S406:根据确定的逻辑地址将元数据写入目标系统中以在目标系统中生成海量文件。
[0083]目标文件系统需要新生成的海量文件与源文件系统的大小相同,新生成的海量文件的名称、大小、权限等文件属性与源文件中的完全一致,仅文件内容,即文件系统数据不同,例如,源文件系统中的一个文件名称为a.avi,文件内容为视频信息,而目的文件系统中文件名称仍为a.avi,但文件内容为随机信息。
[0084]本发明实施例提供的一种海量文件生成的方法,通过提取源文件系统中的所有元数据,将提取的所有元数据写入模板文件,并将该模板文件中的元数据导入目标文件系统的方法在目标文件系统中生成海量文件,由于元数据占空间较小,所以能够在较短时间内将元数据写入模板文件以及将模板文件导入目标文件系统,因而大大缩短了创建海量文件的时间。
[0085]参见图8,为本发明实施例提供的另一种海量文件生成的方法,如图所示,可以包括以下步骤:
[0086]S801:查询源文件系统中的元数据索引位图,其中,元数据索引位图中每一位分别表示源文件系统的一个数据块或者元数据块,且分别用不同的标识表示源文件系统中的元数据块和数据块;
[0087]元数据索引位图为文件系统中的一个文件系统标准接口,该文件系统标准接口是该文件系统提供的应用程序编程接口(Applicat1n Programming Interface,简称API)函数,通过API函数,可以对文件系统及该文件系统中的文件进行操作。在文件系统出厂时已经在该文件系统中预设了初始的元数据索引位图。
[0088]在本发明实施例中,元数据索引位图中可以用标识I来表示源文件系统中的元数据块,可以用标识O来表示源文件系统中的数据块。也可以用其它的标识来表示元数据索引位图中分别表示元数据块和数据块的标识,本发明实施例对此不进行限制。示例性的,在本发明实施例中,以元数据索引位图中标识为O和I分别表示源文件系统中的数据块和元数据块为例对元数据索引位图进行具体说明,如图9,为本发明实施例提供的一种元数据索引位图示意图,如图所示,元数据索引位图中每一个标识代表文件系统的一个文件系统块,元数据索引位图中标识为O表示该文件系统块是数据块,元数据索引位图为I表示该文件系统块是元数据块,该文件系统在进行块分配、回收、修改时可以修改对应的元数据索引位图中对应标识位的状态。
[0089]元数据索引位图中标识位的状态由各文件系统厂商进行具体实现,遵循这种元数据索引位图接口后,任何类型文件系统,用户都可以使用统一的、简单的方式来获取文件系统中的元数据。
[0090]元数据索引位图占用的空间大小由该文件系统容量和文件系统块大小决定,例如,在某文件系统中,如果每个文件系统块大小为8千字节(Kilo Bytes,简称KB),则每万亿字节(Terabytes,简称TB)空间需要分配元数据索引位图大小16兆字节(Mega Bytes,简称 MB)。
[0091]S802:根据元数据索引位图的标识获取源文件系统中对应的元数据块中的元数据;
[0092]S803:将获取的源文件系统中的元数据写入模板文件;
[0093]S804:读取模板文件中的元数据,其中,模板文件包含源文件系统中的元数据块地址表及元数据块,元数据块地址表包括元数据在源文件系统中的逻辑地址;
[0094]S805:根据元数据块地址表确定元数据在目标文件系统中的逻辑地址,其中,目标文件系统中的逻辑地址与元数据在源文件系统中的逻辑地址一致;
[0095]S806:根据确定的逻辑地址将元数据写入目标系统中以在目标系统中生成海量文件。
[0096]本发明实施例提供的一种海量文件生成的方法,通过提取源文件系统中的所有元数据,将提取的所有元数据写入模板文件,并将该模板文件中的元数据导入目标文件系统的方法在目标文件系统中生成海量文件,由于元数据占空间较小,所以能够在较短时间内将元数据写入模板文件以及将模板文件导入目标文件系统,因而大大缩短了创建海量文件的时间,提高了创建海量文件的效率。
[0097]参见图10,为本发明实施例提供的一种海量文件生成装置100,如图所示,可以包括:
[0098]提取模块1001,用于提取源文件系统中的所有元数据,其中,所述元数据用于描述所述源文件系统及所述源文件系统的组织结构;
[0099]提取模块1001具体用于:扫描源文件系统包含的所有元数据块,其中,元数据块用于存储元数据;读取源文件系统包含的所有元数据块中的元数据。
[0100]提取模块1001具体用于:查询源文件系统中的元数据索引位图,其中,元数据索引位图中的每一位分别表示源文件系统的一个数据块或者元数据块;根据元数据索引位图中的元数据块的标识获取源文件系统中的元数据块中的元数据。
[0101]写模块1002,用于将提取模块1001提取的元数据写入模板文件;
[0102]导入模块1003,用于将模板文件中的元数据导入目标文件系统以在目标文件系统中生成海量文件。
[0103]模板文件包含源文件系统中的元数据块地址表及元数据块,其中,元数据块地址表中包括元数据在源文件系统中的逻辑地址;
[0104]导入模块1003具体用于:读取模板文件中的元数据;根据元数据块地址表确定元数据在目标文件系统中的逻辑地址,其中,目标文件系统中的逻辑地址与元数据在所述源文件系统中的逻辑地址一致;根据确定的逻辑地址将元数据写入目标文件系统中以在目标文件系统中生成海量文件。
[0105]本发明实施例提供的一种海量文件生成装置100,通过提取源文件系统中的所有元数据,将提取的所有元数据写入模板文件,并将该模板文件中的元数据导入目标文件系统的方法在目标文件系统中生成海量文件,由于元数据占空间较小,所以能够在较短时间内将元数据写入模板文件以及将模板文件导入目标文件系统,因而大大缩短了创建海量文件的时间,提高了创建海量文件的效率。
[0106]参见图11,为本发明实施例提供的一种海量文件生成装置100,如图所示,海量文件生成装置100可以包括至少一个处理器1001,存储器1002,用于进行该海量文件生成装置100内部各设备之间的连接的至少一个通信总线1003,用于实现这些装置之间的连接和相互通信。
[0107]其中,通信总线1003可以是工业标准体系结构(Industry StandardArchitecture,简称为ISA)总线、外部设备互连(Peripheral Component,简称为PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,简称为EISA)总线等。该总线1003可以分为地址总线、数据总线、控制总线等。
[0108]存储器1002可以包括只读存储器和随机存取存储器,并向处理器1001提供指令和数据。
[0109]处理器1001可以是一个中央处理器(Central Processing Unit,简称为CPU),或者是特定集成电路(Applicat1n Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
[0110]处理器1001具体用于:提取源文件系统中的所有元数据,其中,元数据用于描述源文件系统及该源文件系统的组织结构;将提取的元数据写入模板文件;将模板文件中的元数据导入目标文件系统以在目标文件系统中生成海量文件。
[0111]进一步的,模板文件包含源文件系统中的元数据块地址表及元数据块,其中,元数据块地址表中包括元数据在源文件系统中的逻辑地址;
[0112]处理器1001具体用于:读取模板文件中的元数据;根据元数据块地址表确定元数据在目标文件系统中的逻辑地址,其中,目标文件系统中的逻辑地址与元数据在源文件系统中的逻辑地址一致;根据确定的逻辑地址将元数据写入目标文件系统中以在目标文件系统中生成海量文件。
[0113]处理器1001具体用于:扫描源文件系统包含的所有元数据块,其中,元数据块用于存储元数据;读取源文件系统包含的所有元数据块中的元数据。
[0114]处理器1001具体用于:查询源文件系统中的元数据索引位图,其中,元数据索引位图中的每一位分别表示源文件系统的一个数据块或者元数据块;根据元数据索引位图中的元数据块的标识获取源文件系统中对应的元数据块中的元数据。
[0115]本发明实施例提供的一种海量文件生成装置100,通过提取源文件系统中的所有元数据,将提取的所有元数据写入模板文件,并将该模板文件中的元数据导入目标文件系统的方法在目标文件系统中生成海量文件,由于元数据占空间较小,所以能够在较短时间内将元数据写入模板文件以及将模板文件导入目标文件系统,因而大大缩短了创建海量文件的时间,提高了创建海量文件的效率。
[0116]所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0117]在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0118]所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0119]另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0120]上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
[0121]最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
【权利要求】
1.一种海量文件生成的方法,其特征在于,包括: 提取源文件系统中的所有元数据,其中,所述元数据用于描述所述源文件系统及所述源文件系统的组织结构; 将提取的所述元数据写入模板文件; 将所述模板文件中的元数据导入所述目标文件系统以在所述目标文件系统中生成海量文件。
2.根据权利要求1所述的方法,其特征在于, 所述模板文件包含所述源文件系统中的元数据块地址表及元数据块,其中,所述元数据块地址表中包括所述元数据在所述源文件系统中的逻辑地址; 所述将所述模板文件中的元数据导入所述目标文件系统以在所述目标文件系统中生成海量文件,包括: 读取所述模板文件中的元数据; 根据所述元数据块地址表确定所述元数据在所述目标文件系统中的逻辑地址,其中,所述目标文件系统中的逻辑地址与所述元数据在所述源文件系统中的逻辑地址一致;根据确定的所述逻辑地址将所述元数据写入所述目标系统中以在目标系统中生成海量文件。
3.根据权利要求1或2所述的方法,其特征在于,所述提取源文件系统中的所有元数据,包括: 扫描所述源文件系统包含的所有元数据块,其中,所述元数据块用于存储所述元数据; 读取所述源文件系统包含的所有元数据块中的元数据。
4.根据权利要求1或2所述的方法,其特征在于,所述提取源文件系统中的所有元数据,包括: 查询所述源文件系统中的元数据索引位图,其中,所述元数据索引位图中的每一位分别表示所述源文件系统的一个数据块或者元数据块; 根据所述元数据索引位图中的元数据块的标识获取所述源文件系统中的元数据块中的元数据。
5.一种海量文件生成装置,其特征在于,包括: 提取模块,用于提取源文件系统中的所有元数据,其中,所述元数据用于描述所述源文件系统及所述源文件系统的组织结构; 写模块,用于将所述提取模块提取的所述元数据写入模板文件; 导入模块,用于将所述模板文件中的元数据导入所述目标文件系统以在所述目标文件系统中生成海量文件。
6.根据权利要求5所述的装置,其特征在于, 所述模板文件包含所述源文件系统中的元数据块地址表及元数据块,其中,所述元数据块地址表中包括所述元数据在所述源文件系统中的逻辑地址; 所述导入模块具体用于: 读取所述模板文件中的元数据; 根据所述元数据块地址表确定所述元数据在所述目标文件系统中的逻辑地址,其中,所述目标文件系统中的逻辑地址与所述元数据在所述源文件系统中的逻辑地址一致;根据确定的所述逻辑地址将所述元数据写入所述目标文件系统中以在所述目标文件系统中生成海量文件。
7.根据权利要求5或6所述的装置,其特征在于, 所述提取模块具体用于: 扫描所述源文件系统包含的所有元数据块,其中,所述元数据块用于存储所述元数据; 读取所述源文件系统包含的所有元数据块中的元数据。
8.根据权利要求5或6所述的装置,其特征在于, 所述提取模块具体用于: 查询所述源文件系统中的元数据索引位图,其中,所述元数据索引位图中的每一位分别表示所述源文件系统的一个数据块或者元数据块; 根据所述元数据索引位图中的元数据块的标识获取所述源文件系统中的元数据块中的元数据。
【文档编号】G06F17/30GK104424238SQ201310378384
【公开日】2015年3月18日 申请日期:2013年8月27日 优先权日:2013年8月27日
【发明者】陶毅 申请人:华为技术有限公司