[发明专利]一种小文件聚合存储处理方法有效
申请号: | 201710355383.8 | 申请日: | 2017-05-19 |
公开(公告)号: | CN107168651B | 公开(公告)日: | 2020-09-25 |
发明(设计)人: | 张书扬 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 济南舜源专利事务所有限公司 37205 | 代理人: | 张亮 |
地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 文件 聚合 存储 处理 方法 | ||
本发明提供一种小文件聚合存储处理方法,在缓存中设置信息清单,信息清单用于记录小文件的ino和大小信息;小文件写入聚合对象的缓存中,将小文件的ino信息记录到信息清单中;当聚合对象缓存达到刷新条件时,从信息清单中取出小文件的ino记录到数组中;所有小文件的ino记录到数组中后,将数组插入到聚合对象的预设位置。通过对象头中存储的小文件ino,能清晰地表明当前对象中所包含的小文件。通过对象头中的位图信息,能表明当前对象中数据存储状态,在扫描时,能够根据位图计算出当前对象的缓存使用率。
技术领域
本发明涉及小文件处理领域,尤其涉及一种小文件聚合存储处理方法。
背景技术
随着云计算、云存储、物联网等技术的不断发展,数据呈现爆炸式增长的趋势。在一些海量小文件场景,如社交购物网站、广电、网络视频等,系统产生文本、图片、音乐等大量小文件,这些文件具有如下特点:数量多,大小一般在1M以下。流动快,操作频繁(一次写入,多次读取)。通过将小文件以紧密对齐的方式聚合成一个大的聚合文件,然后再进行存储,能实现小文件高效存储,提高磁盘使用率,在文件读写过程中,降低Rados调用次数、减轻读写数据压力,提高小文件读写性能提升。但是,小文件紧密对齐进行存储时,同一对象上存储多个小文件,在从对象中读取文件时,无法确定对象中所存储的文件信息。由于小文件在删除时并未真正释放磁盘空间,需要统计聚合文件各对象的磁盘使用率,根据聚合文件磁盘使用率来确定是否启动磁盘清理任务,因此,给磁盘管理带来麻烦,并且无法及时清除无用的小文件,浪费磁盘空间。
发明内容
为了克服上述现有技术中的不足,本发明提供一种小文件聚合存储处理方法,方法包括:
S1:在缓存中设置信息清单,信息清单用于记录小文件的ino和大小信息;
S2:小文件写入聚合对象的缓存中,将小文件的ino信息记录到信息清单中;
S3:当聚合对象缓存达到刷新条件时,从信息清单中取出小文件的ino记录到数组中;
S4:所有小文件的ino记录到数组中后,将数组插入到聚合对象的预设位置。
优选地,步骤S4还包括:
依据数组记录的小文件ino次序,提取数组中的小文件ino,数组中储存的小文件ino对应在聚合对象储存有该ino对应的小文件时,数组中的该小文件ino 置有;
数组中储存的小文件ino对应在聚合对象中未储存该ino对应的小文件时,数组中的该小文件ino 置无;
从聚合对象中依次提取每个小文件,并将各小文件的大小进行累加;
累加完成后,当数组中置有的小文件数量超过数组总位数的一半时,将该聚合对象设置为1;
当数组中置有的小文件数量少于数组总位数的一半时,将该聚合对象设置为0。
优选地,当聚合文件缓存达到刷新条件时,设置对象头位图信息。
优选地,对象头位图信息的位图大小为128B,共计1024位,位图中每一位对应对象中4KB存储空间。
优选地,在进行缓存扫描时,获取每个聚合对象中位图信息;
对每个设置为0的聚合对象进行小文件处理,对聚合对象的数组依次读取数组中的小文件的ino,通过小文件的ino获取小文件在聚合对象中的位置信息,并依据小文件的ino查找目标小文件;
当依据小文件的ino未查找到目标小文件时,将数组中小文件的ino删除,同时释放缓存空间;
对聚合对象缓存重新进行储存量计算。
优选地,设置聚合对象的容量,将聚合对象的容量设置为对象头储存区和数据储存区;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710355383.8/2.html,转载请声明来源钻瓜专利网。