本发明专利技术公开一种基于Hadoop的电信业务小文件存储系统及方法,包括数据采集单元、数据传输单元和HDFS,数据传输单元和HDFS之间设有文件预处理单元,包括主服务器和分布式并行小文件处理服务器,分布式并行小文件处理服务器根据文件类型的不同存储相应的小文件。当用户文件通过数据传输单元上传至文件预处理单元时,主服务器判断该文件的大小,将小文件存至分布式并行小文件处理服务器,利用SequenceFile 容器对小文件进行合并和建立索引。本发明专利技术算法简单,存储和读取文件方便快捷,速度快,效率高。
【技术实现步骤摘要】
本专利技术涉及电信大数据存储领域,具体是。
技术介绍
随着通信技术的不断发展,电信业务所产生的数据量在以爆炸性的速度持续增长。以中国移动为例,2014年其日均产生1TB的话单数据量、100TB的信令数据量,而且随着4G的大规模建设,未来的电信业务数据量增长将更加迅猛。此外,随着电信行业业务的多元化,数据种类也越来越丰富,各种业务每天都会产生大量的结构化数据(上网记录、话单、系统日志)、半结构化数据(HTML文件、XML文件)、非结构化数据(图片、音频、视频),这些海量异构数据对于存储系统的兼容性、容量及性能均提出了极高的要求,传统的1E架构(由IBM的小型机、Oracle的数据库、EMC的存储设备组成)已难以满足。Hadoop是一个由Apache基金会所开发的分布式系统基础架构,用户可利用Hadoop集群的优势开发分布式程序来进行高速运算和存储。HDFS为海量数据提供了访问和存储方法,Hadoop的出现很好的解决了大数据的存储问题。目前,中国移动、中国电信、中国联通均相继部署了基于Hadoop的分布式数据处理系统。然而通过实际应用我们发现,电信业务所产生的上网记录、图片等文件大小仅为几十到上百字节,海量小文件(文件尺寸小于HDFS规定的块大小)对于Hadoop的性能带来严重影响。具体来讲,HDFS将每个文件、块(block)或目录的元数据信息均以对象的形式存储在NameNode的内存中,每个元数据对象约占150个字节的内存空间,如果存储一亿个小文件,则NameNode大约需要14GB的内存空间,这些海量的元数据信息将会对NameNode的内存空间造成极大的消耗。其次,系统在访问大量小文件时,HDFS不仅需要频繁访问NameNode以获取DataNode的定位信息,还需要不断地在不同DataNode间跳转,这些都严重影响HDFS的整体性能。随着电信业务范围的不断扩展,HDFS在电信业的应用面临瓶颈。虽然HDFS在大文件读写时具有很高的性能,但当有海量小文件频繁写入时,系统的性能较低。业界目前及下一步的研宄重点是对现有的分布式文件存储系统进行改进,以提升系统对海量小文件的存取性能。解决HDFS对海量小文件的存储问题已成为业界共识。
技术实现思路
针对HDFS在处理电信业海量小文件所遇到的瓶颈和问题,本专利技术提出一种。基于Hadoop的电信业务小文件存储系统,包括依次相连的数据采集单元、数据传输单元和HDFS,所述数据传输单元和HDFS之间还设有文件预处理单元,包括主服务器和分布式并行小文件处理服务器,分布式并行小文件处理服务器根据处理文件的类型分为非结构化小文件处理服务器、半结构化小文件处理服务器和结构化小文件处理服务器;所述主服务器用来判断要存储的文件的大小,分布式并行小文件处理服务器用于对小文件进行存储和合并。一种基于Hadoop的电信业务小文件存储方法,包括以下步骤: 当用户文件通过数据传输单元上传至文件预处理单元时,主服务器判断该文件的大小,若文件大于128M,则直接写入HDFS,否则,主服务器将包含非结构化数据的文件转发至非结构化小文件处理服务器,将包含结构化数据的文件转发至结构化小文件处理服务器,将包含半结构化数据的文件转发至半结构化小文件处理服务器; 分布式并行小文件处理服务器利用SequenceFile容器对非结构化小文件、半结构化小文件和结构化小文件分别进行合并和建立索引; 分布式并行小文件处理服务器判断合并后的文件大小,若文件大于128M,则将该文件以文件名做key,相应的文件内容为value写入HDFS文件系统,并删除分布式并行小文件处理服务器内已处理的文件。每个经小文件合并后超过128M的文件直接存入HDFS文件系统。本专利技术可以很好的解决目前电信业海量异构小文件存储与读取所面临的问题,并具有以下优点: O利用SequenceFile容器对小文件进行合并,实施便捷。2)分布式并行小文件处理服务器不仅可以解决电信业海量异构小文件的分类合并问题,还可以根据具体业务类型对小文件处理服务器数量进行扩展,系统适应性强,存储效率高。3)数据读取过程中,首先对分布式并行小文件处理服务器进行数据扫描和读取,再对HDFS文件系统进行扫描和文件分离,小文件读取效率高。【附图说明】图1为基于Hadoop的电信业务小文件存储系统的整体架构示意图; 图2为利用图1的系统进行小文件存储的流程图; 图3为用户查询数据的流程图。【具体实施方式】为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。传统的电信文件存储系统包括数据采集单元,数据传输单元(FTP服务器)、文件预处理单元(服务器)和HDFS文件系统(Hadoop集群),数据存储时,电信用户所上传的文件经过数据采集单元、数据传输单元、服务器存储至HDFS文件系统中;数据查询时,电信用户通过WEB服务器对服务器、HDFS文件系统进行扫描以获取查询信息。本专利技术在以上传统文件存储系统的基础上,将文件预处理系统分为主服务器和分布式并行小文件处理服务器,如图1所示。其中分布式并行小文件处理服务器包括非结构化小文件处理服务器、半结构化小文件处理服务器和结构化小文件处理服务器。利用本专利技术基于Hadoop的电信业务小文件存储系统进行数据存储的过程如图2: 步骤1、用户上传文件至文件预处理单元时,主服务器对所上传文件的大小进行判断,如果是大文件(文件尺寸大于128M),则发送到HDFS文件系统,完成写操作;否则,执行步骤2。步骤2、主服务器根据小文件的数据类型将文件转发至对应的分布式并行小文件处理器,即将包含非结构化数据的文件转发至非结构化小文件处理服务器,将结构化数据的文件转发至结构化小文件处理服务器,将半结构化数据的文件转发至半结构化小文件处理服务器,并执行步骤3。步骤3、三种类型的小文件处理服务器在接收到小文件以后,分别利用SequenceFile容器对小文件进行合并和建立索引,并执行步骤4。步骤4、三种类型的小文件处理服务器分别判断合并后的文件大小,若文件大于128M时,则以文件名做key,相应的文件内容为value写入HDFS文件系统,并删除小文件处理服务器内已处理的文件。用户进行数据查询的过程如图3: I)用户通过WEB服务器进行上网记录查询、账单查询等读操作时,主服务器根据所需读取的数据类型将读请求发送到相应的小文件处理服务器,并对小文件处理服务器内的合并文件进行扫描,若有,则将结果反馈给用户,完成读取操作;否则,执行2)。2)根据索引,对HDFS文件系统进行扫描和小文件分离,并将读取结果反馈给用户,完成读取操作。分布式并行小文件处理服务器可以根据要存储文件的类型扩展,不仅仅限于以上三种类型。本专利技术方案所公开的技术手段不仅限于上述实施方式所公开的技术手段,还包括由以上技术特征任意组合所组成的技术方案。【主权项】1.基于Hadoop的电信业务小文件存储系统,包括依次相连的数据采集单元、数据传输单元和HDFS,其特征在于,所述数据传输单元和HDFS之间还设有文件预处理单元,包括主服务器和分布式并行小文件处理服务器,分布本文档来自技高网...
【技术保护点】
基于Hadoop的电信业务小文件存储系统,包括依次相连的数据采集单元、数据传输单元和HDFS,其特征在于,所述数据传输单元和HDFS之间还设有文件预处理单元,包括主服务器和分布式并行小文件处理服务器,分布式并行小文件处理服务器根据处理文件的类型分为非结构化小文件处理服务器、半结构化小文件处理服务器和结构化小文件处理服务器;所述主服务器用来判断要存储的文件的大小,分布式并行小文件处理服务器用于对小文件进行存储和合并。
【技术特征摘要】
【专利技术属性】
技术研发人员:孟庆民,闫怀礼,朱卫平,曾桂根,吴晓富,
申请(专利权)人:南京邮电大学,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。