发明名称 基于MapFile的小文件管理服务SFMS系统及其使用方法
摘要 本发明公开了一种基于MapFile的小文件管理服务SFMS系统及其使用方法,采取了基于时间的小文件合并策略,同时在内存中保持多个index文件,进一步提高了小文件读取的效率,最终将海量小文件合并为有限个数的MapFile,并将整个过程封装成一个服务,并为客户端编写人员提供jar包,方便客户端编写人员使用本发明来对小文件进行存储、读取以及批量删除等操作。本发明的目的是解决在HDFS中存储海量小文件时,master节点内存占用率过高的问题。
申请公布号 CN103559229A 申请公布日期 2014.02.05
申请号 CN201310499192.0 申请日期 2013.10.22
申请人 西安电子科技大学 发明人 沈沛意;董洛兵;张亮;宋娟;孙庚泽;马汉炜
分类号 G06F17/30(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 代理人
主权项 一种基于MapFile的小文件管理服务SFMS系统,其特征在于,包括:客户端:客户端使用jar包编写程序,向SFMS发送管理小文件的请求;客户端还用于接收SFMS反馈的操作结果;SFMS:SFMS(Small File Management Service)为小文件管理服务器,其使用Hadoop中自带的MapFile机制,采用基于时间合并的小文件合并方法,将海量小文件合并成有限个数的大文件,并将客户端发送的请求转化为对Hadoop集群中的MapFile的操作;还将操作结果反馈给客户端;Hadoop集群:Hadoop集群用于存储MapFile;所述的MapFile为Map容器的持久化文件,将一个个Key‑Value对存储到文件中;给定一个Key即可快速定位到一个Value;MapFile是先将Key‑Value按Key的字典序升序依次存储到data文件中,然后再将Key抽样取出,与该Key‑Value对在data文件中的偏移量组成新的Key‑Value对,存储到另一个文件index中;当需要读取某个Key对应的Value时,先将index文件读取到内存中,然后二分查找,找到该Key对应的偏移量,从而快速定位到该Key‑Value对在data文件中的位置;所述SFMS采用了小文件合并方法;小文件合并方法:以MapFile中存储的是Key‑Value对为小文件合并为大文件的基础;以小文件的全路径为Key,小文件的内容为Value来构建Key‑Value对,然后将该Key‑Value对存储到MapFile,从而实现了小文件的合并;所述的基于时间合并是将一定时间内产生的小文件合并为一个MapFile。
地址 710071 陕西省西安市雁塔区太白南路2号