[发明专利]一种基于Hadoop的海量小文件读取方法有效
申请号: | 201810499647.1 | 申请日: | 2018-05-22 |
公开(公告)号: | CN108804566B | 公开(公告)日: | 2019-11-29 |
发明(设计)人: | 魏文国;彭建烽;戴青云;蔡君;赵慧民;谢桂园 | 申请(专利权)人: | 广东技术师范大学 |
主分类号: | G06F16/182 | 分类号: | G06F16/182;G06F16/172 |
代理公司: | 44202 广州三环专利商标代理有限公司 | 代理人: | 梁顺宜;郝传鑫<国际申请>=<国际公布> |
地址: | 510000 广东省*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于Hadoop的海量小文件读取方法,该读取方法适用于具有数据合并模块和HBase缓存模块的HDFS系统。该方法包括:接收用户输入的小文件读取命令;小文件读取命令包括用户ID和小文件文件名;根据用户ID和小文件文件名查询先查询HBase缓存模块,如果查询到相应的文件内容,则返回查询到的文件内容;如果查询不到相应的文件内容,则再去查询HDFS系统的数据库,如果查询到,则返回查询到的文件内容;否则,调用Hadoop archive工具的API访问对应的HAR文件,并返回HAR文件。本发明的读取方法在结合了小文件合并和HBase缓存机制后,能提高小文件的读取效率。 | ||
搜索关键词: | 小文件 查询 读取 文件内容 海量小文件 读取命令 缓存模块 返回 数据合并模块 文件名查询 读取效率 缓存机制 接收用户 调用 数据库 合并 | ||
【主权项】:
1.一种基于Hadoop的海量小文件读取方法,其特征在于,所述读取方法适用于具有数据合并模块和HBase缓存模块的HDFS系统;所述读取方法包括:/n接收用户输入的小文件读取命令;其中,所述小文件读取命令包括用户ID和小文件文件名;/n根据所述用户ID和所述小文件文件名查询所述HBase缓存模块;/n如果查询到相应的文件内容,则返回所述HBase缓存模块查询到的文件内容;如果查询不到相应的文件内容,则根据所述小文件文件名查询所述HDFS系统的数据库,并判断是否查询到相应的文件内容;/n如果是,则返回所述数据库查询到的文件内容;/n否则,调用Hadoop archive工具的API访问所述小文件文件名对应的HAR文件,并返回所述HAR文件;/n其中,所述数据合并模块采用的数据合并方法具体为:步骤A:当客户端上传待存储文件后,遍历HDFS上所有的文件,结合用户访问偏好模型找出所述待存储文件的关联性文件集合;其中,所述用户访问偏好模型是根据用户访问日志记录而统计得出;步骤B:依次将所述关联性文件集合的文件和所述待存储文件添加到待合并队列中;步骤C:判断所述待合并队列中的所有文件总大小是否超过128MB,如果是,则执行步骤D;否则,执行步骤E;步骤D:将所述待合并队列中的所有文件合并成一个数据块,并清空所述待合并队列中的文件信息和删除已合并文件的源文件,返回步骤B;步骤E:判断所述关联性文件集合的文件和所述待存储文件是否均添加到所述待合并队列中;如果是,则将所述待合并队列中的所有文件合并成一个数据块,并清空所述待合并队列中的文件信息和删除已合并文件的源文件,再执行步骤F;否则,返回步骤B;步骤F:将已合并的所有数据块存储到HDFS系统中。/n
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东技术师范大学,未经广东技术师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201810499647.1/,转载请声明来源钻瓜专利网。