[发明专利]一种基于本地文件系统的小文件读写方法及系统在审
申请号: | 201710742715.8 | 申请日: | 2017-08-25 |
公开(公告)号: | CN107506447A | 公开(公告)日: | 2017-12-22 |
发明(设计)人: | 刘相乐 | 申请(专利权)人: | 郑州云海信息技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F3/06 |
代理公司: | 北京集佳知识产权代理有限公司11227 | 代理人: | 罗满 |
地址: | 450018 河南省郑州市*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 本地 文件系统 文件 读写 方法 系统 | ||
技术领域
本发明涉及文件系统领域,特别是涉及一种基于本地文件系统的小文件读写方法。本发明还涉及一种基于本地文件系统的小文件读写系统。
背景技术
随着技术的发展和存储性能的提高,存储的数据越来越多样化,存储的应用场景也越来越广泛,其中一种就是以海量小文件为主的应用场景。针对这种应用场景,使用较广泛的存储方式是多节点的分布式存储。然而分布式存储并不是在所有的情况下都可以使用,而且成本相对较高。因此,在传统的统一存储当中也有以海量小文件为主的应用场景。
传统的统一存储中使用的都是单节点的本地文件系统比如XFS(Extensions for FinancialServices,金融服务扩展)、Ext4(Fourth Extended Filesystem,第四代扩展文件系统)等,在以海量小文件为主的应用场景中,对每个小文件进行操作时都需要从磁盘读取相应的数据,显然,由于各个小文件在磁盘中存储的位置不同,对数量较多的不同小文件进行操作时则需要频繁的换道读取数据,磁盘上的寻道时间损耗较多,从而大幅降低了本地文件系统对小文件进行操作的效率。
因此,如何提供一种解决上述技术问题的方案是本领域技术人员目前需要解决的问题。
发明内容
本发明的目的是提供一种基于本地文件系统的小文件读写方法,读写过程中磁盘上的时间损耗较少;本发明的另一目的是提供一种基于本地文件系统的小文件读写系统,对小文件的读写效率较高。
为解决上述技术问题,本发明提供了一种基于本地文件系统的小文件读写方法,包括:
将本地文件系统中属于同一目录的小文件聚合成N个大文件,N为正整数;
为每个所述目录生成一一对应的索引文件,所述索引文件包括所述目录中所有小文件的名称、小文件所在的大文件的名称及小文件在大文件中的位置;
接收包括小文件的路径名的小文件操作指令,根据所述小文件操作指令确定与所述小文件所属的目录对应的索引文件,所述操作包括读和/或写;
根据确定的所述索引文件将所述小文件操作指令的路径名中的小文件的名称和位置修改为所述小文件所在的大文件的名称及所述小文件在大文件中的位置;
根据修改后的指令对所述小文件所在的大文件执行相应的操作,以实现对所述小文件的操作。
优选地,所述将本地文件系统中属于同一目录的小文件聚合成N个大文件的过程具体为:
将本地文件系统中属于同一目录的小文件聚合成第一大文件,直至所述第一大文件的大小达到预设的第一阈值;
当所述第一大文件的大小达到所述预设的第一阈值时,判断是否还有属于所述目录的小文件不在所述第一大文件中,如果是,将不在所述第一大文件中的属于所述目录的小文件聚合成下一个大文件,直至属于所述目录的所有小文件聚合完毕,其中,每个大文件的大小不超过所述预设的第一阈值。
优选地,当要进行操作的所述小文件所属的目录中没有大文件时,所述根据所述小文件操作指令确定与所述小文件所属的目录对应的索引文件的过程具体为:
在所述小文件所属的目录中创建一个大文件,将所述小文件聚合在创建的所述大文件中,并根据所述小文件的名称、创建的所述大文件的名称及所述小文件在创建的所述大文件中的位置创建与所述小文件所属的目录一一对应的索引文件。
优选地,当要进行操作的所述小文件所属的目录中有大文件时,所述根据所述小文件操作指令确定与所述小文件所属的目录对应的索引文件的过程具体为:
判断所述小文件是否为新建的文件;
如果是,则判断所述小文件所属的目录中最后一个大文件是否未达到预设的第一阈值,如果否,将所述小文件聚合在所述最后一个大文件中,并将所述小文件的名称、最后一个所述大文件的名称及所述小文件在最后一个所述大文件中的位置更新至与所述小文件所属的目录对应的索引文件;如果是,在所述小文件所属的目录中新建一个大文件将所述小文件聚合在新建的所述大文件中,并将所述小文件的名称、新建的所述大文件的名称及所述小文件在新建的所述大文件中的位置更新至与所述小文件所属的目录对应的索引文件;
如果否,则判断本次操作是否需要为所述小文件分配新的空间,如果是,确定分配新的空间后的小文件在所述小文件所在的大文件中新的位置,并将所述新的位置更新至与所述小文件所属的目录对应的索引文件;如果否,在所述本地文件系统当前的索引文件中得到与所述小文件所属的目录对应的索引文件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710742715.8/2.html,转载请声明来源钻瓜专利网。