[发明专利]基于Hadoop分布式计算平台的存储系统无效
申请号: | 201210305545.4 | 申请日: | 2012-08-27 |
公开(公告)号: | CN102902716A | 公开(公告)日: | 2013-01-30 |
发明(设计)人: | 陈国庆;钱扬帆 | 申请(专利权)人: | 苏州两江科技有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 苏州创元专利商标事务所有限公司 32103 | 代理人: | 范晴 |
地址: | 215123 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 hadoop 分布式 计算 平台 存储系统 | ||
技术领域
本发明属于Hadoop分布式计算平台文件系统技术领域,具体涉及一种基于Hadoop分布式计算平台的存储系统。
背景技术
Hadoop Distributed File System,简称HDFS,是一个分布式文件系统。HDFS有着高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高吞吐量来访问应用程序的数据,适合那些有着超大数据集的应用程序。HDFS放宽了POSIX的要求这样可以实现流的形式访问(streaming access)文件系统中的数据。HDFS开始是为开源的apache项目nutch的基础结构而创建,HDFS是hadoop项目的一部分,而hadoop又是lucene的一部分。
随着企业要处理的数据量越来越大,MapReduce思想越来越受到重视。Hadoop是MapReduce的一个开源实现,由于其良好的扩展性和容错性,已得到越来越广泛的应用。Hadoop作为一个基础数据处理平台,虽然其应用价值已得到大家认可,但仍存在很多问题,HDFS的小文件问题便是其中之一。小文件是指文件size小于HDFS上block大小的文件。这样的文件会给hadoop的扩展性和性能带来严重问题。首先,在HDFS中,任何block,文件或者目录在内存中均以对象的形式存储,每个对象约占150byte,如果有10000000个小文件,每个文件占用一个block,则namenode需要2G空间(存两份)。如果存储1亿个文件,则namenode需要20G空间。这样namenode内存容量严重制约了集群的扩展。其次,访问大量小文件速度远远小于访问几个大文件。HDFS最初是为流式访问大文件开发的,如果访问大量小文件,需要不断的从一个datanode跳到另一个datanode,严重影响性能。最后,处理大量小文件速度远远小于处理同等大小的大文件的速度。每一个小文件要占用一个slot,而task启动将耗费大量时间甚至大部分时间都耗费在启动task和释放task上。解决HDFS小文件问题,有助于扩大HDFS的应用范围及增强其扩展性和性能。本发明因此而来。
发明内容
本发明目的在于提供一种基于Hadoop分布式计算平台的存储系统,解决了现有技术中Hadoop分布式计算平台小文件数量太大导致性能下降明显等问题。
为了解决现有技术中的这些问题,本发明提供的技术方案是:
一种基于Hadoop分布式计算平台的存储系统,包括HDFS通用文件处理模块,其特征在于所述系统还包括文件类型判断模块、小文件处理模块和定时模块;所述文件类型判断模块用于判断用户上传的文件是否属于小文件;当用户上传的文件大小小于HDFS文件系统的块时,文件类型判断模块判断文件为小文件,否则文件类型判断模块判断文件为大文件;
定时模块,通过设置定时器计时,到达预定周期时进行统计小文件处理模块中小文件序列的大小,判断小文件序列的大小是否大于HDFS文件系统的块;
小文件处理模块,用于将每个小文件作为一个Record存入SequenceFile类中形成小文件队列;当定时模块判断小文件序列的大小大于HDFS文件系统的块时,以小文件的文件名作为Key值,而文件内容作为Value值,一次性将小文件队列写入MapFile中,并同时删除已处理的小文件。
优选的,所述系统还包括小文件状态数据库,采用MySQL数据库存储小文件的文件名、文件大小、上传日期、存储路径,并使用FileList对象维护该小文件队列;当小文件队列写入MapFile后,更新FileList对象和MySQL数据库后,再删除已处理的小文件。
优选的,所述系统还设置有文件信息表,所述文件信息表设置小文件状态字段flag,flag=0表示小文件处于待处理状态,flag=1表示小文件已处理,并存在于HDFS的MapFile中,flag=2表示小文件重生成写入到本地磁盘中。
优选的,所述系统构建MySQL索引和MapFile索引,MapFile索引通过文件信息表的文件名字段构建索引。
本发明的另一目的在于提供一种基于Hadoop分布式计算平台的存储系统的文件上传存储方法,其特征在于所述方法包括以下步骤:
(1)用户向具有基于Hadoop分布式计算平台的存储系统的服务器上传文件;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州两江科技有限公司,未经苏州两江科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210305545.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种密齿机夹刀片形式刀具
- 下一篇:一种检测内容变更的方法和装置