[发明专利]一种小文件聚合存储处理方法有效
申请号: | 201710355383.8 | 申请日: | 2017-05-19 |
公开(公告)号: | CN107168651B | 公开(公告)日: | 2020-09-25 |
发明(设计)人: | 张书扬 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 济南舜源专利事务所有限公司 37205 | 代理人: | 张亮 |
地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 文件 聚合 存储 处理 方法 | ||
1.一种小文件聚合存储处理方法,其特征在于,方法包括:
S1:在缓存中设置信息清单,信息清单用于记录小文件的ino和大小信息;
S2:小文件写入聚合对象的缓存中,将小文件的ino信息记录到信息清单中;
S3:当聚合对象缓存达到刷新条件时,从信息清单中取出小文件的ino记录到数组中;
S4:所有小文件的ino记录到数组中后,将数组插入到聚合对象的预设位置;依据数组记录的小文件ino次序,提取数组中的小文件ino,数组中储存的小文件ino对应在聚合对象储存有该ino对应的小文件时,数组中的该小文件ino置有;
数组中储存的小文件ino对应在聚合对象中未储存该ino对应的小文件时,数组中的该小文件ino置无;
从聚合对象中依次提取每个小文件,并将各小文件的大小进行累加;
累加完成后,当数组中置有的小文件数量超过数组总位数的一半时,将该聚合对象设置为1;
当数组中置有的小文件数量少于数组总位数的一半时,将该聚合对象设置为0。
2.根据权利要求1所述的小文件聚合存储处理方法,其特征在于,
当聚合文件缓存达到刷新条件时,设置对象头位图信息。
3.根据权利要求2所述的小文件聚合存储处理方法,其特征在于,
对象头位图信息的位图大小为128B,共计1024位,位图中每一位对应对象中4KB存储空间。
4.根据权利要求1所述的小文件聚合存储处理方法,其特征在于,
在进行缓存扫描时,获取每个聚合对象中位图信息;
对每个设置为0的聚合对象进行小文件处理,对聚合对象的数组依次读取数组中的小文件的ino,通过小文件的ino获取小文件在聚合对象中的位置信息,并依据小文件的ino查找目标小文件;
当依据小文件的ino未查找到目标小文件时,将数组中小文件的ino删除,同时释放缓存空间;
对聚合对象缓存重新进行储存量计算。
5.根据权利要求1所述的小文件聚合存储处理方法,其特征在于,设置聚合对象的容量,将聚合对象的结构设置为对象头储存区和数据储存区;对象头储存区储存数组,数组储存当前聚合对象所存储的所有小文件的ino和小文件在聚合对象中的位图信息;
数据储存区储存小文件。
6.根据权利要求1所述的小文件聚合存储处理方法,其特征在于,
启动聚合对象缓存刷新条件包括:当聚合对象缓存使用率高于阈值时,启动聚合对象缓存清理任务,对聚合对象缓存进行清理。
7.根据权利要求1所述的小文件聚合存储处理方法,其特征在于,
读取小文件时,将聚合对象移到缓存中,依次读取聚合对象中的小文件的ino,通过小文件的ino获取小文件在聚合对象中的位置信息,并依据小文件的ino查找目标小文件,读取目标小文件。
8.根据权利要求1所述的小文件聚合存储处理方法,其特征在于,
数组大小为8KB,类型为uint64_t,共包含1024个元素,元素初始值为0。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710355383.8/1.html,转载请声明来源钻瓜专利网。