[发明专利]一种HDFS海量小文件处理方法及系统在审
申请号: | 201710686381.7 | 申请日: | 2017-08-11 |
公开(公告)号: | CN107590191A | 公开(公告)日: | 2018-01-16 |
发明(设计)人: | 赵闪闪 | 申请(专利权)人: | 郑州云海信息技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 济南舜源专利事务所有限公司37205 | 代理人: | 刘晓政 |
地址: | 450000 河南省郑州市*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 hdfs 海量 文件 处理 方法 系统 | ||
1.一种HDFS海量小文件处理方法,其特征在于,包括步骤:
S1、接收文件上传请求,并判定当前请求上传的文件是否为小文件,所述的小文件为满足文件大小不超过预设的第一阈值的条件的文件;若上述判定结果为是,则执行步骤S3,否则执行步骤S2;
S2、将当前请求上传的文件上传至HDFS集群;
S3、对上述当前请求上传的文件进行缓存;之后执行步骤S4;
S4、计算上述当前已缓存的各请求上传的文件的大小之和、以及统计上述当前已缓存的各请求上传的文件的总数量,并比较上述当前计算出的大小之和与预设的第二阈值的大小关系、且比较上述当前统计出的总数量与预先设定的特定数量阈值的大小关系;若上述比较的结果为上述当前计算出的大小之和大于或等于上述预设的第二阈值、或为上述统计出的总数量大于或等于预先设定的特定数量阈值,则执行步骤S5,否则继续执行步骤S1;其中,所述的第二阈值大于所述的第一阈值,所述的特定数量阈值为大于2的正整数;
S5、将当前已缓存的各请求上传的文件合并成一大文件,并创建当前已缓存的各请求上传的文件在所述大文件中的文件索引列表;之后执行步骤S6;
S6、将步骤S5中所述的大文件和文件索引列表,一并上传至HDFS集群;之后执行步骤S7;
S7、清空上述已缓存的各请求上传的文件,之后转而继续执行步骤S1。
2.根据权利要求1所述的HDFS海量小文件处理方法,其特征在于,进一步地,在上述步骤S3中,将所述的当前请求上传的文件缓存入预先设定的数据缓存队列。
3.根据权利要求1或2所述的HDFS海量小文件处理方法,其特征在于,所述的第二阈值为64M。
4.根据权利要求1或2所述的HDFS海量小文件处理方法,其特征在于,所述的第一阈值为2M。
5.一种HDFS海量小文件处理系统,其特征在于,包括:
合并单元,用于本系统中的文件合并;
上传单元,用于将本系统中相关的文件数据上传至HDFS集群;
缓存单元,用于本系统的文件缓存;
计算单元,用于计算所述缓存单元中当前已缓存的各请求上传的文件的大小之和,以及用于统计所述缓存单元中当前已缓存的各请求上传的文件的总数量;
上传文件请求接收单元,用于接收文件上传请求,并用于将当前接收到的文件上传请求发送至所述的决策单元;
决策单元,分别连接所述的上传文件请求接收单元、合并单元、上传单元、缓存单元和计算单元,用于接收上传文件请求接收单元发送来的文件上传请求,并用于判定当前接收到的文件上传请求中所包含的当前请求上传的文件是否为小文件,若判定结果为是,则用于调用所述的缓存单元,对上述当前接收到的当前请求上传的文件进行缓存;若上述判定结果为当前请求上传的文件不是小文件,则调用所述的上传单元,将上述当前接收到的当前请求上传的文件上传至HDFS集群;
该决策单元还用于在每次调用所述的缓存单元进行相应文件的缓存之后、以及在下一次调用所述的缓存单元进行相应文件的缓存之前,还用于调用所述的计算单元计算所述缓存单元中当前已缓存的各请求上传的文件的大小之和、以及统计所述缓存单元中当前已缓存的各请求上传的文件的总数量,并用于比较上述计算单元当前计算出的大小之和与预设的第二阈值的大小关系、且用于比较上述计算单元当前统计出的总数量与预先设定的特定数量阈值的大小关系,并用于在上述比较的结果为上述当前计算出的大小之和大于或等于上述预设的第二阈值、或为上述统计出的总数量大于或等于预先设定的特定数量阈值时,调用所述的合并单元,用于将所述缓存单元中当前已缓存的各请求上传的文件合并成一大文件;还用于在每次调用所述的合并单元完成当前次的文件合并后,用于创建上述缓冲单元中当前已缓存的各请求上传的文件在所述大文件中的文件索引列表,并用于调用所述的上传单元将上述当前次合并成的大文件及与该大文件相对应的文件索引列表上传至HDFS集群;还用于在每次将相应的大文件及其对应的文件索引列表上传至HDFS集群后,用于控制清空所述的缓存单元;
其中,所述的小文件为满足文件大小不超过预设的第一阈值的条件的文件,所述的第二阈值大于所述的第一阈值,所述的特定数量阈值为大于2的正整数。
6.根据权利要求5所述的HDFS海量小文件处理系统,其特征在于,所述的缓冲单元采用数据缓存队列。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710686381.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:双孔模具
- 下一篇:一种可用于钢圈精整圆的装置