[发明专利]一种批量快速创建文件系统元数据和数据的方法有效
| 申请号: | 201410826066.6 | 申请日: | 2014-12-25 |
| 公开(公告)号: | CN104537050B | 公开(公告)日: | 2017-12-15 |
| 发明(设计)人: | 曹强;钱璐;谭诗诗;谢长生 | 申请(专利权)人: | 华中科技大学 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F12/02 |
| 代理公司: | 华中科技大学专利中心42201 | 代理人: | 朱仁玲 |
| 地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 批量 快速 创建 文件系统 数据 方法 | ||
技术领域
本发明属于计算机存储系统技术领域,更具体地,涉及一种批量快速创建文件系统元数据和数据的方法。
背景技术
文件系统是存储系统的核心组成部分,主要负责在存储设备上组织文件和数据。文件系统由三部分组成:文件系统的接口,对象的操作和管理的软件集合(对象及属性)。
在过去几十年,文件系统的研究主要集中在提升文件系统性能,包括优化文件系统的磁盘布局以充分利用磁盘带宽和减少磁盘寻道,通过提升内存效率减少对磁盘的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)中,元数据区域大小采用以下公式进行计算:
其中,Sinode为单个Inode节点大小,Ssuper_block是超级块的大小,Sinode_bitmap是Inode节点位图的大小,Sblock_bitmap是数据位图的大小。
优选地,数据位图大小Sblock_bitmap采用以下公式进行计算:
其中,SDisk_capacity是磁盘的容量大小,SDisk_block_size为磁盘块大小;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410826066.6/2.html,转载请声明来源钻瓜专利网。





