[发明专利]一种基于本地文件系统的小文件读写方法及系统在审
申请号: | 201710742715.8 | 申请日: | 2017-08-25 |
公开(公告)号: | CN107506447A | 公开(公告)日: | 2017-12-22 |
发明(设计)人: | 刘相乐 | 申请(专利权)人: | 郑州云海信息技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F3/06 |
代理公司: | 北京集佳知识产权代理有限公司11227 | 代理人: | 罗满 |
地址: | 450018 河南省郑州市*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 本地 文件系统 文件 读写 方法 系统 | ||
1.一种基于本地文件系统的小文件读写方法,其特征在于,包括:
将本地文件系统中属于同一目录的小文件聚合成N个大文件,N为正整数;
为每个所述目录生成一一对应的索引文件,所述索引文件包括所述目录中所有小文件的名称、小文件所在的大文件的名称及小文件在大文件中的位置;
接收包括小文件的路径名的小文件操作指令,根据所述小文件操作指令确定与所述小文件所属的目录对应的索引文件,所述操作包括读和/或写;
根据确定的所述索引文件将所述小文件操作指令的路径名中的小文件的名称和位置修改为所述小文件所在的大文件的名称及所述小文件在大文件中的位置;
根据修改后的指令对所述小文件所在的大文件执行相应的操作,以实现对所述小文件的操作。
2.如权利要求1所述的方法,其特征在于,所述将本地文件系统中属于同一目录的小文件聚合成N个大文件的过程具体为:
将本地文件系统中属于同一目录的小文件聚合成第一大文件,直至所述第一大文件的大小达到预设的第一阈值;
当所述第一大文件的大小达到所述预设的第一阈值时,判断是否还有属于所述目录的小文件不在所述第一大文件中,如果是,将不在所述第一大文件中的属于所述目录的小文件聚合成下一个大文件,直至属于所述目录的所有小文件聚合完毕,其中,每个大文件的大小不超过所述预设的第一阈值。
3.如权利要求1所述的方法,其特征在于,当要进行操作的所述小文件所属的目录中没有大文件时,所述根据所述小文件操作指令确定与所述小文件所属的目录对应的索引文件的过程具体为:
在所述小文件所属的目录中创建一个大文件,将所述小文件聚合在创建的所述大文件中,并根据所述小文件的名称、创建的所述大文件的名称及所述小文件在创建的所述大文件中的位置创建与所述小文件所属的目录一一对应的索引文件。
4.如权利要求1所述的方法,其特征在于,当要进行操作的所述小文件所属的目录中有大文件时,所述根据所述小文件操作指令确定与所述小文件所属的目录对应的索引文件的过程具体为:
判断所述小文件是否为新建的文件;
如果是,则判断所述小文件所属的目录中最后一个大文件是否未达到预设的第一阈值,如果否,将所述小文件聚合在所述最后一个大文件中,并将所述小文件的名称、最后一个所述大文件的名称及所述小文件在最后一个所述大文件中的位置更新至与所述小文件所属的目录对应的索引文件;如果是,在所述小文件所属的目录中新建一个大文件将所述小文件聚合在新建的所述大文件中,并将所述小文件的名称、新建的所述大文件的名称及所述小文件在新建的所述大文件中的位置更新至与所述小文件所属的目录对应的索引文件;
如果否,则判断本次操作是否需要为所述小文件分配新的空间,如果是,确定分配新的空间后的小文件在所述小文件所在的大文件中新的位置,并将所述新的位置更新至与所述小文件所属的目录对应的索引文件;如果否,在所述本地文件系统当前的索引文件中得到与所述小文件所属的目录对应的索引文件。
5.如权利要求1-4任一项所述的方法,其特征在于,所述根据修改后的指令对所述小文件所在的大文件执行相应的操作之后,该方法还包括:
将进行操作的所述小文件所在的大文件保存在缓存中。
6.如权利要求5所述的方法,其特征在于,所述根据所述小文件操作指令确定与所述小文件所属的目录对应的索引文件之后,该方法还包括:
将确定出的与所述小文件所属的目录对应的索引文件保存在所述缓存中。
7.如权利要求6所述的方法,其特征在于,所述将确定出的与所述小文件所属的目录对应的索引文件保存在缓存中之后,该方法还包括:
在所述缓存中生成一个列表元素与保存在所述缓存中的索引文件一一对应的目录列表;
其中,所述目录列表的每个所述列表元素包括与所述列表元素对应的索引文件对应的目录的名称、指向所述列表元素对应的索引文件对应的目录中的大文件在内存中的缓存的索引指针、与所述列表元素对应的索引文件的最近访问时间和标识与所述列表元素对应的索引文件在所述缓存中是否被修改过的脏标志位,当所述列表元素对应的索引文件在所述缓存中被修改过时将所述脏标志位标记为脏。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710742715.8/1.html,转载请声明来源钻瓜专利网。