CN104537050A - 一种批量快速创建文件***元数据和数据的方法 - Google Patents

一种批量快速创建文件***元数据和数据的方法 Download PDF

Info

Publication number
CN104537050A
CN104537050A CN201410826066.6A CN201410826066A CN104537050A CN 104537050 A CN104537050 A CN 104537050A CN 201410826066 A CN201410826066 A CN 201410826066A CN 104537050 A CN104537050 A CN 104537050A
Authority
CN
China
Prior art keywords
data
metadata
area
disk
bitmap
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.)
Granted
Application number
CN201410826066.6A
Other languages
English (en)
Other versions
CN104537050B (zh
Inventor
曹强
钱璐
谭诗诗
谢长生
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.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
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 Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN201410826066.6A priority Critical patent/CN104537050B/zh
Publication of CN104537050A publication Critical patent/CN104537050A/zh
Application granted granted Critical
Publication of CN104537050B publication Critical patent/CN104537050B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/164File meta data generation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种批量快速创建文件***元数据和数据的方法,具体针对预知的工作集,例如目录拷贝,压缩文件解压操作等,在保证文件***可靠性的前提下,首先对元数据区域的超级块、块组描述符、数据位图、Inode节点位图三种元数据进行修改。然后依次按照操作的顺序将Inode节点信息和数据分别写入元数据区域和数据区域。根据本发明的方法,首先,使得***避免了元数据页面写回引入的频繁随机的小写问题;其次,增加了写延迟的时间,让元数据和数据区域更大程度地吸收合并了部分IO请求,导致同一元数据对象下发到磁盘的多次更新操作合并成一次磁盘更新;再次,在元数据和数据区域中,实现Inode节点和数据块地顺序创建,减少了磁头寻道和定位的次数。

Description

一种批量快速创建文件***元数据和数据的方法
技术领域
本发明属于计算机存储***技术领域,更具体地,涉及一种批量快速创建文件***元数据和数据的方法。
背景技术
文件***是存储***的核心组成部分,主要负责在存储设备上组织文件和数据。文件***由三部分组成:文件***的接口,对象的操作和管理的软件集合(对象及属性)。
在过去几十年,文件***的研究主要集中在提升文件***性能,包括优化文件***的磁盘布局以充分利用磁盘带宽和减少磁盘寻道,通过提升内存效率减少对磁盘的IO操作等。但是随着***复杂性的增加和存储数据量的增长,平衡文件***的可靠性和性能逐渐成为了学术界和工业界研究的热点。
在基于磁盘的文件***中,为了达到***的可靠性要求,需要将内存上的元数据和数据及时更新到磁盘上,保证元数据和数据的一致性和持久性。但频繁的更新操作将产生大量分散的小写,从而影响文件***的性能。从硬件角度分析,分散的小写操作会增加磁头的寻道时间,降低更新的速率;从软件角度分析,***内部对于元数据和数据的同步机制是串行化的过程,在无法充分利用磁盘带宽的基础上,进一步限制了更新操作的速率。
而在大数据时代,复制和迁移大量文件数据成为越来越频繁的操作,这个操作涉及到大量文件目录和数据的创建,会产生大量的元数据和数据,按照现有方法,为了保证一致性和持久性,所有目录和文件创建操作是串行执行,相应元数据和数据必须按照次序写磁盘,从而产生大量随机小I/O,严重限制复制速度。
现阶段对于此难题的主要解决方案分为两个方向。一个方向是适当增加写延迟的时间,以吸收合并元数据和数据的修改;另一个方向是日志结构化文件***的研究。但是写延迟方法对于文件***性能的提升有限,而日志结构化文件***的设计使得文件***必须通过额外的垃圾回收操作清理过期无效数据占用的磁盘空间,在磁盘空间使用率较高时性能会快速下降,这使得日志结构化文件***未能在磁盘文件***中得到推广。这两种方案都不能很好解决复制和迁移大量文件数据时处理时间过长的问题。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种批量快速创建文件***元数据和数据的方法和***,其目的在于解决现有ext系列的文件***中复制和迁移大量文件数据提供元数据和数据串行创建的方法所存在的容易导致文件***处理速度受限的技术问题。
为实现上述目的,按照本发明的一个方面,提供了一种批量快速创建文件***元数据和数据的方法,包括以下步骤:
(1)在用户执行的目录拷贝或者压缩文件解压操作中,通过遍历该操作中预知的数据集统计拷贝或解压目录下子目录和文件的个数,以得到Inode节点的个数,其等于二者数量之和NInodes
(2)在磁盘文件***的内存中分别构建连续地址空间的元数据区域和数据区域,将磁盘中的元数据拷贝到连续地址空间的元数据区域中;
(3)在创建的元数据区域和数据区域中按照预知的数据集依次创建元数据和数据,直至对数据集的操作结束,将内存的元数据区域和数据区域中的元数据和数据快速批量更新到磁盘中对应的元数据区和数据区中。
优选地,拷贝的元数据包括超级块、块组描述符、Inode节点位图、数据位图。
优选地,步骤(2)包括以下子步骤:
(2-1)计算待构建的元数据区域的大小Smetadata_chunk,在磁盘文件***的内存中构建具有该大小Smetadata_chunk的地址空间连续的元数据区域;
(2-2)把磁盘中的元数据复制到构建的元数据区中;
(2-3)设定待构建的数据区域的大小Sdata_chunk,在磁盘文件***的内存中构建大小为Sdata_chunk的地址空间连续的数据区域。
优选地,步骤(2-1)中,元数据区域大小采用以下公式进行计算:
S metadata _ chunk = ( N inodes * S inode 1024 ) + S super _ block + S inode _ bitmap + S block _ bitmap ( KB )
其中,Sinode为单个Inode节点大小,Ssuper_block是超级块的大小,Sinode_bitmap是Inode节点位图的大小,Sblock_bitmap是数据位图的大小。
优选地,数据位图大小Sblock_bitmap采用以下公式进行计算:
S block _ bitmap = S Disk _ cpapcity 8 * S Disk _ block _ size
其中,SDisk_capacity是磁盘的容量大小,SDisk_block_size为磁盘块大小;
Inode节点位图大小Sinode_bitmap采用以下公式进行计算:
S inode _ bitmap = S block _ bitmap N block _ per _ inode
其中Nblock_per_inode是磁盘中每个节点占用的数据块数量。
优选地,步骤(3)包括以下子步骤:
(3-1)将用户执行的目录拷贝或者压缩文件解压操作中的Inode节点信息和对应的数据分别写入元数据区域和内存数据区域,同时对拷贝到元数据区域内的超级块、块组描述符、数据块位图、Inode节点位图三种元数据进行更新操作;
(3-2)分别将内存的元数据区域和数据区域中的元数据和数据快速批量更新到磁盘中对应的元数据区和数据区中。
优选地,步骤(3-1)包括以下子步骤:
(3-1-1)设置计数器i=1;
(3-1-2)将用户执行的目录拷贝或者压缩文件解压操作中第i个Inode节点信息和对应的数据分别写入元数据区域和内存数据区域,并对拷贝到元数据区域内的超级块、块组描述符、数据块位图、Inode节点位图三种元数据进行更新操作;
(3-1-3)判断当前数据区域大小与数据区域大小Sdata_chunk之间的比值是否达到阈值,如果是则转入步骤(3-1-4),否则转入步骤(3-1-5);
(3-1-4)在内存中新分配一个大小为Sdata_chunk的连续地址空间的数据区域,将剩余的Inode节点信息对应的数据写入该新的数据区域中,同时将原数据区域的内容以整个区域为传输单元批量写回到磁盘上对应的数据区
中;
(3-1-5)设置i=i+1,并判断i是否等于NInodes,若是则过程结束,否则返回步骤(3-1-2)。
优选地,步骤(3-2)包括以下子步骤:
(3-2-1)将内存的数据区域中还未写回磁盘的数据批量写回到磁盘的数据区中;
(3-2-2)将内存的元数据区域中的超级块、块组描述符、数据块位图、Inode节点位图写回到磁盘中对应的超级块、块组描述符、数据块位图,Inode节点位图区中;
(3-2-3)将内存的元数据区域中的Inode节点信息批量写回到磁盘上对应的Inode表区中。
按照本发明的另一方面,提供了一种批量快速创建文件***元数据和数据的***,包括:
第一模块,用于在用户执行的目录拷贝或者压缩文件解压操作中,通过遍历该操作中预知的数据集统计拷贝或解压目录下子目录和文件的个数,以得到Inode节点的个数,其等于二者数量之和NInodes
第二模块,用于在磁盘文件***的内存中分别构建连续地址空间的元数据区域和数据区域,将磁盘中的元数据拷贝到连续地址空间的元数据区域中;
第三模块,用于在创建的元数据区域和数据区域中按照预知的数据集依次创建元数据和数据,直至对数据集的操作结束,将内存的元数据区域和数据区域中的元数据和数据快速批量更新到磁盘中对应的元数据区和数据区中。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
1、由于采用了步骤(3-1),所以文件***增加了写延迟的时间,使得在内存中的元数据区域和数据区域中,更大程度地吸收合并了部分IO请求,令同一元数据对象下发到磁盘的多次更新操作合并成一次磁盘操作,减少了与磁盘的同步次数,避免了频繁同步带了的分散小写问题。
2、同时由于采用了步骤(3-2),在内存中的元数据区域和数据区域中,实现Inode节点信息和数据块地顺序创建,使得它们能够快速批量写回到磁盘上对应的连续地址空间,所以减少了磁头的寻道和定位的次数,极大提升文件***的复制和迁移大量文件的速率。
附图说明
图1是应用本发明的内存内部结构图;
图2是应用本发明的磁盘内部结构图;
图3是本发明批量快速创建文件***元数据和数据的方法的架构组织图;
图4是本发明批量快速创建文件***元数据和数据的方法的总体流程图;
图5是本发明方法中步骤(2)的细化流程图;
图6是本发明方法中步骤(3)的细化流程图;
图7是本发明方法中步骤(3-1)的细化流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
本发明的基本思路在于,提供一种批量快速创建文件***元数据和数据的方法,其具体针对预知的数据集,这个数据集包含所有需要创建的目录和文件信息,例如拷贝源目录和压缩文件集合等。在保证文件***可靠性的前提下,将内存中对元数据和数据的创建操作分别集中到两个不同的区域中,所述区域为内存中地址连续的空间,对于元数据而言,命名为元数据区域,对于数据而言,命名为数据区域。操作过程中,将用户执行的目录拷贝或者压缩文件解压操作中的Inode节点信息和对应的数据分别写入元数据区域和内存数据区域,同时对拷贝到元数据区域内的超级块、块组描述符,数据块位图、Inode节点位图三种元数据进行更新操作。直至操作完成,最后将内存中元数据区域和数据区域分别创建的元数据和数据整体写回磁盘对应的元数据区和数据区中,完成复制和迁移大量文件数据。
一种批量创建文件***元数据和数据的方法具体针对预知的数据集,这个数据集包含所有需要创建的目录和文件信息。所述一种批量创建文件***元数据和数据的方法具体针对特定操作,包括目录拷贝和压缩文件解压操作等。
首先,对本发明中一些名词和术语进行解释:
文件***元数据:文件***元数据指的是管理空间的数据结构和文件***中文件的元数据以及目录树结构,包括管理整个文件***的数据结构,管理空间分配的数据结构,文件的属性和指针,目录的属性及内容。以EXT2为例,超级块,块组描述符、数据块位图,Inode节点位图,Inode表,目录项页面都属于文件***的元数据。其中Inode表为Inode节点信息的集合,既包括文件Inode节点信息,也包括目录Inode节点信息;目录项页面为目录项的集合,记录该目录下所有文件与目录的名字与Inode号等信息。
文件***数据:文件***数据指的是文件的内容。以EXT2为例,文件***的数据是存放在数据区的文件内容。
元数据区域:元数据区域指的是在内存中分配的一段内存地址连续的空间。其用于缓存超级块、块组描述符、Inode节点位图、数据位图以及拷贝目录和压缩文件解压操作过程中创建的Inode节点信息。元数据区域的大小通过预知的创建数据集中,目录和文件的个数计算得到。
数据区域:数据区域指的是在内存中分配的一段内存地址连续的空间。其用于缓存拷贝目录和压缩文件解压操作过程中创建的数据信息。数据区域的大小Sdata_chunk为预先设定的缺省值(例如64MB),其可以由用户根据具体场景动态设置。
为了加速文件***各项操作,缓解慢速磁盘带来的性能瓶颈,***利用内存缓存部分文件***元数据和数据。因为内存为易失性存储,因而文件***元数据的维护要求元数据页面被及时写回到非易失存储设备。
图1为本发明的内存内部结构图。如图1所示,内存中缓存有超级块、块组描述符、数据块位图、Inode节点位图、Inode节点信息和数据,对于具体的目录拷贝和压缩文件解压的操作,***会在内存分配地址空间连续的元数据区域和数据区域,分别用于顺序记录拷贝和解压操作的元数据和数据。
图2为本发明的磁盘内部结构图。如图2所示,磁盘中持久存储超级块、块组描述符、数据块位图、Inode节点位图、Inode表和数据块,内存中缓存的易失元数据和数据需要及时与磁盘上相对应的元数据和数据内容进行同步,因此会产生大量分散的小写,造成磁头的频繁寻道和定位,影响文件***的处理速度。
如图4所示,本发明批量快速创建文件***元数据和数据的方法包括以下步骤:
(1)在用户执行的目录拷贝或者压缩文件解压操作中,通过遍历该操作中预知的数据集统计拷贝或解压目录下子目录和文件的个数,以得到Inode节点的个数,其等于二者数量之和NInodes
(2)在磁盘文件***的内存中分别构建连续地址空间的元数据区域和数据区域,将磁盘中的元数据拷贝到连续地址空间的元数据区域中,其中拷贝的元数据包括超级块、块组描述符、Inode节点位图、数据位图;
如图5所示,步骤(2)包括以下子步骤:
(2-1)计算待构建的元数据区域的大小Smetadata_chunk,在磁盘文件***的内存中构建具有该大小Smetadata_chunk的地址空间连续的元数据区域;
具体而言,元数据区域大小采用以下公式进行计算:
S metadata _ chunk = ( N inodes * S inode 1024 ) + S super _ block + S inode _ bitmap + S block _ bitmap ( KB )
其中,Sinode为单个Inode节点大小,单位为Byte,Ssuper_block是超级块的大小,单位为KB,其通常为1KB,Sinode_bitmap是Inode节点位图的大小,单位为KB,Sblock_bitmap是数据位图的大小,单位为KB;
其中,数据位图大小Sblock_bitmap采用以下公式进行计算:
S block _ bitmap = S Disk _ cpapcity 8 * S Disk _ block _ size
其中,SDisk_capacity是磁盘的容量大小,单位为KB,SDisk_block_size为磁盘块大小,单位为KB;
Inode节点位图大小Sinode_bitmap采用以下公式进行计算:
S inode _ bitmap = S block _ bitmap N block _ per _ inode
其中Nblock_per_inode是磁盘中每个节点占用的数据块数量;
(2-2)把磁盘中的元数据(包括超级块、块组描述符、Inode节点位图、以及数据位图)复制到构建的元数据区中;
(2-3)设定待构建的数据区域的大小Sdata_chunk,在磁盘文件***的内存中构建大小为Sdata_chunk的地址空间连续的数据区域;具体而言,数据区域的大小Sdata_chunk为预先设定的缺省值(例如64MB),其可以由用户根据具体场景动态设置(拷贝或解压操作的文件大小越大,则该值越大,反之则越小)。
(3)在创建的元数据区域和数据区域中按照预知的数据集依次创建元数据和数据,直至对数据集的操作结束,将内存的元数据区域和数据区域中的元数据和数据快速批量更新到磁盘中对应的元数据区和数据区中:
如图6所示,本步骤包括以下子步骤:
(3-1)将用户执行的目录拷贝或者压缩文件解压操作中的Inode节点信息和对应的数据分别写入元数据区域和内存数据区域,同时对拷贝到元数据区域内的超级块、块组描述符、数据块位图、Inode节点位图三种元数据进行更新操作;具体而言,由于一种批量快速创建文件***元数据和数据的方法是针对预知创建工作集的目录拷贝或者压缩文件解压操作,所以在所述方法中,Inode节点信息和数据都属于新创建的内容,Inode节点信息和数据依次按照操作的顺序写入元数据区域和数据区域,其中Inode节点和数据按顺序分配,同时Inode节点信息和数据在磁盘上对应的地址空间也是连续的,以实现元数据区域和数据区域内容批量回写到磁盘。
具体而言,如图7所示,本步骤包括以下子步骤:
(3-1-1)设置计数器i=1;
(3-1-2)将用户执行的目录拷贝或者压缩文件解压操作中第i个Inode节点信息和对应的数据分别写入元数据区域和内存数据区域,并对拷贝到元数据区域内的超级块、块组描述符、数据块位图、Inode节点位图三种元数据进行更新操作;
(3-1-3)判断当前数据区域大小与数据区域大小Sdata_chunk之间的比值是否达到阈值,如果是则转入步骤(3-1-4),否则转入步骤(3-1-5);具体而言,阈值的大小可由用户自由设定;
(3-1-4)在内存中新分配一个大小为Sdata_chunk的连续地址空间的数据区域,将剩余的Inode节点信息对应的数据写入该新的数据区域中,同时将原数据区域的内容以整个区域为传输单元批量写回到磁盘上对应的数据区中;
(3-1-5)设置i=i+1,并判断i是否等于NInodes,若是则过程结束,否则返回步骤(3-1-2);
(3-2)分别将内存的元数据区域和数据区域中的元数据和数据快速批量更新到磁盘中对应的元数据区和数据区中。
本步骤包括以下子步骤:
(3-2-1)将内存的数据区域中还未写回磁盘的数据批量写回到磁盘的数据区中;
(3-2-2)将内存的元数据区域中的超级块、块组描述符、数据块位图、Inode节点位图写回到磁盘中对应的超级块、块组描述符、数据块位图,Inode节点位图区中;
(3-2-3)将内存的元数据区域中的Inode节点信息批量写回到磁盘上对应的Inode表区中。
本发明的优点在于:
由于采用了步骤(3-1),所以文件***增加了写延迟的时间,使得在内存中的元数据区域和数据区域中,更大程度地吸收合并了部分IO请求,令同一元数据对象下发到磁盘的多次更新操作合并成一次磁盘操作,减少了与磁盘的同步次数,避免了频繁同步带了的分散小写问题。同时,由于采用了步骤(3-2),在内存中的元数据区域和数据区域中,实现Inode节点信息和数据块地顺序创建,使得它们能够快速批量写回到磁盘上对应的连续地址空间,所以减少了磁头的寻道和定位的次数,从而极大提升文件***的复制和迁移大量文件的速率。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (9)

1.一种批量快速创建文件***元数据和数据的方法,其特征在于,包括以下步骤:
(1)在用户执行的目录拷贝或者压缩文件解压操作中,通过遍历该操作中预知的数据集统计拷贝或解压目录下子目录和文件的个数,以得到Inode节点的个数,其等于二者数量之和NInodes
(2)在磁盘文件***的内存中分别构建连续地址空间的元数据区域和数据区域,将磁盘中的元数据拷贝到连续地址空间的元数据区域中;
(3)在创建的元数据区域和数据区域中按照预知的数据集依次创建元数据和数据,直至对数据集的操作结束,将内存的元数据区域和数据区域中的元数据和数据快速批量更新到磁盘中对应的元数据区和数据区中。
2.根据权利要求1所述的方法,其特征在于,拷贝的元数据包括超级块、块组描述符、Inode节点位图、数据位图。
3.根据权利要求1所述的方法,其特征在于,步骤(2)包括以下子步骤:
(2-1)计算待构建的元数据区域的大小Smetadata_chunk,在磁盘文件***的内存中构建具有该大小Smetadata_chunk的地址空间连续的元数据区域;
(2-2)把磁盘中的元数据复制到构建的元数据区中;
(2-3)设定待构建的数据区域的大小Sdata_chunk,在磁盘文件***的内存中构建大小为Sdata_chunk的地址空间连续的数据区域。
4.根据权利要求3所述的方法,其特征在于,步骤(2-1)中,元数据区域大小采用以下公式进行计算:
S metadata _ chunk = ( N inodes * S inode 1024 ) + S super _ block + S inode _ bitmap + S block _ bitmap ( KB )
其中,Sinode为单个Inode节点大小,Ssuper_block是超级块的大小,Sinode_bitmap是Inode节点位图的大小,Sblock_bitmap是数据位图的大小。
5.根据权利要求4所述的方法,其特征在于,
数据位图大小Sblock_bitmap采用以下公式进行计算:
S block _ bitmap = S Disk _ capacity 8 * S Disk _ block _ size
其中,SDisk_capacity是磁盘的容量大小,SDisk_block_size为磁盘块大小;
Inode节点位图大小Sinode_bitmap采用以下公式进行计算:
S inode _ bitmap = S block _ bitmap N block _ per _ inode
其中Nblock_per_inode是磁盘中每个节点占用的数据块数量。
6.根据权利要求1所述的方法,其特征在于,步骤(3)包括以下子步骤:
(3-1)将用户执行的目录拷贝或者压缩文件解压操作中的Inode节点信息和对应的数据分别写入元数据区域和内存数据区域,同时对拷贝到元数据区域内的超级块、块组描述符、数据块位图、Inode节点位图三种元数据进行更新操作;
(3-2)分别将内存的元数据区域和数据区域中的元数据和数据快速批量更新到磁盘中对应的元数据区和数据区中。
7.根据权利要求6所述的方法,其特征在于,步骤(3-1)包括以下子步骤:
(3-1-1)设置计数器i=1;
(3-1-2)将用户执行的目录拷贝或者压缩文件解压操作中第i个Inode节点信息和对应的数据分别写入元数据区域和内存数据区域,并对拷贝到元数据区域内的超级块、块组描述符、数据块位图、Inode节点位图三种元数据进行更新操作;
(3-1-3)判断当前数据区域大小与数据区域大小Sdata_chunk之间的比值是否达到阈值,如果是则转入步骤(3-1-4),否则转入步骤(3-1-5);
(3-1-4)在内存中新分配一个大小为Sdata_chunk的连续地址空间的数据区域,将剩余的Inode节点信息对应的数据写入该新的数据区域中,同时将原数据区域的内容以整个区域为传输单元批量写回到磁盘上对应的数据区中;
(3-1-5)设置i=i+1,并判断i是否等于NInodes,若是则过程结束,否则返回步骤(3-1-2)。
8.根据权利要求7所述的方法,其特征在于,步骤(3-2)包括以下子步骤:
(3-2-1)将内存的数据区域中还未写回磁盘的数据批量写回到磁盘的数据区中;
(3-2-2)将内存的元数据区域中的超级块、块组描述符、数据块位图、Inode节点位图写回到磁盘中对应的超级块、块组描述符、数据块位图,Inode节点位图区中;
(3-2-3)将内存的元数据区域中的Inode节点信息批量写回到磁盘上对应的Inode表区中。
9.一种批量快速创建文件***元数据和数据的***,其特征在于,包括:
第一模块,用于在用户执行的目录拷贝或者压缩文件解压操作中,通过遍历该操作中预知的数据集统计拷贝或解压目录下子目录和文件的个数,以得到Inode节点的个数,其等于二者数量之和NInodes
第二模块,用于在磁盘文件***的内存中分别构建连续地址空间的元数据区域和数据区域,将磁盘中的元数据拷贝到连续地址空间的元数据区域中;
第三模块,用于在创建的元数据区域和数据区域中按照预知的数据集依次创建元数据和数据,直至对数据集的操作结束,将内存的元数据区域和数据区域中的元数据和数据快速批量更新到磁盘中对应的元数据区和数据区中。
CN201410826066.6A 2014-12-25 2014-12-25 一种批量快速创建文件***元数据和数据的方法 Active CN104537050B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410826066.6A CN104537050B (zh) 2014-12-25 2014-12-25 一种批量快速创建文件***元数据和数据的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410826066.6A CN104537050B (zh) 2014-12-25 2014-12-25 一种批量快速创建文件***元数据和数据的方法

Publications (2)

Publication Number Publication Date
CN104537050A true CN104537050A (zh) 2015-04-22
CN104537050B CN104537050B (zh) 2017-12-15

Family

ID=52852578

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410826066.6A Active CN104537050B (zh) 2014-12-25 2014-12-25 一种批量快速创建文件***元数据和数据的方法

Country Status (1)

Country Link
CN (1) CN104537050B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105389232A (zh) * 2015-10-28 2016-03-09 武汉噢易云计算有限公司 Ext文件***有效数据分析方法
CN105701146A (zh) * 2015-12-28 2016-06-22 小米科技有限责任公司 创建目录的方法和装置
CN106354890A (zh) * 2016-11-22 2017-01-25 中国科学院上海微***与信息技术研究所 一种基于N‑ary树结构的随机访问的文件***的实现方法
CN106933970A (zh) * 2017-02-10 2017-07-07 福州瑞芯微电子股份有限公司 一种快速烧录数据至ext分区的方法和装置
CN108121514A (zh) * 2017-12-29 2018-06-05 北京奇虎科技有限公司 元信息更新方法、装置、计算设备及计算机存储介质
CN109614237A (zh) * 2018-12-10 2019-04-12 浪潮(北京)电子信息产业有限公司 一种资源释放方法、装置、设备及介质
CN109977092A (zh) * 2019-03-26 2019-07-05 武汉深之度科技有限公司 一种复制文件的方法和计算设备
CN110389863A (zh) * 2019-07-26 2019-10-29 苏州浪潮智能科技有限公司 一种数据恢复方法、装置、设备及计算机可读存储介质
CN111176580A (zh) * 2019-12-30 2020-05-19 成都易我科技开发有限责任公司 分区数据无损移动的方法、装置及可读存储介质
CN113419670A (zh) * 2021-03-31 2021-09-21 阿里巴巴新加坡控股有限公司 数据写入处理方法、装置及电子设备
CN114063935A (zh) * 2022-01-17 2022-02-18 阿里云计算有限公司 处理数据的方法以及装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109933570B (zh) * 2019-03-15 2020-02-07 中山大学 一种元数据管理方法、***及介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103067418A (zh) * 2011-10-19 2013-04-24 北大方正集团有限公司 一种元数据重建方法、设备及***
CN103152395A (zh) * 2013-02-05 2013-06-12 北京奇虎科技有限公司 一种分布式文件***的存储方法及装置
CN103294786A (zh) * 2013-05-17 2013-09-11 华中科技大学 一种分布式文件***的元数据组织管理方法和***
US20130262805A1 (en) * 2005-04-13 2013-10-03 Ling Zheng Method and Apparatus for Identifying and Eliminating Duplicate Data Blocks and Sharing Data Blocks in a Storage System
US20130290284A1 (en) * 2010-05-06 2013-10-31 Go Daddy Operating Company, LLC Verifying and Balancing Server Resources via Stored Usage Data
CN103838853A (zh) * 2014-03-17 2014-06-04 华中科技大学 一种基于不同存储介质的混合文件***

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130262805A1 (en) * 2005-04-13 2013-10-03 Ling Zheng Method and Apparatus for Identifying and Eliminating Duplicate Data Blocks and Sharing Data Blocks in a Storage System
US20130290284A1 (en) * 2010-05-06 2013-10-31 Go Daddy Operating Company, LLC Verifying and Balancing Server Resources via Stored Usage Data
CN103067418A (zh) * 2011-10-19 2013-04-24 北大方正集团有限公司 一种元数据重建方法、设备及***
CN103152395A (zh) * 2013-02-05 2013-06-12 北京奇虎科技有限公司 一种分布式文件***的存储方法及装置
CN103294786A (zh) * 2013-05-17 2013-09-11 华中科技大学 一种分布式文件***的元数据组织管理方法和***
CN103838853A (zh) * 2014-03-17 2014-06-04 华中科技大学 一种基于不同存储介质的混合文件***

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
LIANG XIAO,ET AL.: "Study and Optimize the Process of Batch Small Files Replication", 《2008 JAPAN-CHINA JOINT WORKSHOP ON FRONTIER OF COMPUTER SCIENCE AND TECHNOLOGY》 *

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105389232B (zh) * 2015-10-28 2018-02-09 武汉噢易云计算股份有限公司 Ext文件***有效数据分析方法
CN105389232A (zh) * 2015-10-28 2016-03-09 武汉噢易云计算有限公司 Ext文件***有效数据分析方法
CN105701146B (zh) * 2015-12-28 2019-07-05 小米科技有限责任公司 创建目录的方法和装置
CN105701146A (zh) * 2015-12-28 2016-06-22 小米科技有限责任公司 创建目录的方法和装置
CN106354890A (zh) * 2016-11-22 2017-01-25 中国科学院上海微***与信息技术研究所 一种基于N‑ary树结构的随机访问的文件***的实现方法
CN106354890B (zh) * 2016-11-22 2019-05-21 中国科学院上海微***与信息技术研究所 一种基于N-ary树结构的随机访问的文件***的实现方法
CN106933970B (zh) * 2017-02-10 2019-11-22 福州瑞芯微电子股份有限公司 一种快速烧录数据至ext分区的方法和装置
CN106933970A (zh) * 2017-02-10 2017-07-07 福州瑞芯微电子股份有限公司 一种快速烧录数据至ext分区的方法和装置
CN108121514A (zh) * 2017-12-29 2018-06-05 北京奇虎科技有限公司 元信息更新方法、装置、计算设备及计算机存储介质
CN109614237A (zh) * 2018-12-10 2019-04-12 浪潮(北京)电子信息产业有限公司 一种资源释放方法、装置、设备及介质
CN109977092A (zh) * 2019-03-26 2019-07-05 武汉深之度科技有限公司 一种复制文件的方法和计算设备
CN109977092B (zh) * 2019-03-26 2021-06-08 武汉深之度科技有限公司 一种复制文件的方法和计算设备
CN110389863A (zh) * 2019-07-26 2019-10-29 苏州浪潮智能科技有限公司 一种数据恢复方法、装置、设备及计算机可读存储介质
CN111176580A (zh) * 2019-12-30 2020-05-19 成都易我科技开发有限责任公司 分区数据无损移动的方法、装置及可读存储介质
CN111176580B (zh) * 2019-12-30 2023-04-07 成都易我科技开发有限责任公司 分区数据无损移动的方法、装置及可读存储介质
CN113419670A (zh) * 2021-03-31 2021-09-21 阿里巴巴新加坡控股有限公司 数据写入处理方法、装置及电子设备
CN114063935A (zh) * 2022-01-17 2022-02-18 阿里云计算有限公司 处理数据的方法以及装置

Also Published As

Publication number Publication date
CN104537050B (zh) 2017-12-15

Similar Documents

Publication Publication Date Title
CN104537050A (zh) 一种批量快速创建文件***元数据和数据的方法
CN109213772B (zh) 数据存储方法及NVMe存储***
CN104731921B (zh) Hadoop分布式文件***针对日志型小文件的存储和处理方法
US20170228392A1 (en) Deduplicated file system
CN101917396B (zh) 一种网络文件***中数据的实时去重和传输方法
CN101908073B (zh) 一种文件***中实时删除重复数据的方法
US9047330B2 (en) Index compression in databases
US7844643B2 (en) Storage management system with integrated continuous data protection and remote copy
CN102129435B (zh) 数据存储业务控制方法及***
US7334099B2 (en) Method and system for managing image files
US20030004947A1 (en) Method, system, and program for managing files in a file system
CN103544045A (zh) 一种基于hdfs的虚拟机镜像存储***及其构建方法
US20230046216A1 (en) Data management system and method of controlling
CN100445967C (zh) 带有相对受限存储空间以及操作/文件***的计算装置
US20140164330A1 (en) Pruning previously-allocated free blocks from a synthetic backup
JP2014508362A (ja) データー重複排除のためのバックアップおよび復元方策
CN103793475B (zh) 一种分布式文件***数据迁移的方法
CN103020255A (zh) 分级存储方法和装置
CN104298681A (zh) 一种数据存储方法及装置
US20220335028A1 (en) Data access method, a data access control device, and a data access system
Lee et al. ActiveSort: Efficient external sorting using active SSDs in the MapReduce framework
EP3495964A1 (en) Apparatus and program for data processing
CN100504800C (zh) 磁盘快照的方法
CN104572492A (zh) 一种烧录数据到fat32分区的方法和装置
US9678971B2 (en) Packing deduplicated data in a self-contained deduplicated repository

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant