RAR格式的压缩文件的处理方法和装置制造方法及图纸

技术编号:11242163 阅读:87 留言:0更新日期:2015-04-01 15:53
本发明专利技术公开了一种RAR格式的压缩文件的处理方法和装置。该RAR格式的压缩文件的处理方法包括确定待处理的RAR格式的压缩文件;获取预先创建的文件加载类函数和文件解压类函数;通过在文件加载类函数中调用文件解压类函数对待处理的RAR格式的压缩文件进行解压,得到解压文件;获取解压后文件的存储路径;通过数据分析函数执行对解压文件的分析处理,得到处理结果。通过本发明专利技术,解决了现有技术中的Hadoop无法读取分析RAR格式的压缩文件的问题。

【技术实现步骤摘要】
【专利摘要】本专利技术公开了一种RAR格式的压缩文件的处理方法和装置。该RAR格式的压缩文件的处理方法包括确定待处理的RAR格式的压缩文件;获取预先创建的文件加载类函数和文件解压类函数;通过在文件加载类函数中调用文件解压类函数对待处理的RAR格式的压缩文件进行解压,得到解压文件;获取解压后文件的存储路径;通过数据分析函数执行对解压文件的分析处理,得到处理结果。通过本专利技术,解决了现有技术中的Hadoop无法读取分析RAR格式的压缩文件的问题。【专利说明】RAR格式的压缩文件的处理方法和装置
本专利技术涉及数据处理领域,具体而言,涉及一种RAR格式的压缩文件的处理方法和装置。
技术介绍
日常实际中对日志数据的分析通常需要利用Hadoop进行,其中,Hadoop是一个能够对大量数据进行分布式处理的开源的软件框架,Hadoop作为分布式大数据的计算平台主要包括两部分,分布式文件系统(Hadoop Distributed File System,简称为HDFS)和分布式计算框MapReduce。HDFS可以创建、删除、移动或者重命名文件,具有高容错性、易扩展性等特点。MapReduce包含映射(Map)和合并(Reduce)两部分,数据分析一般在Map中进行,分析结果通过Reduce进行合并后输出。利用Hadoop读取文件的过程如图1所示,其中,图1是根据现有技术的Hadoop读取文件的流程图,通过输入分割函数InputFormat把存储在HDFS中的文件数据进行分割,生成多个文件数据片段Splits,通过读取函数RecordReader读取多个Splits,然后把读取结果作为Map的输入参数,Map对读取结果进行分析处理,将数据处理结果通过Reduce进行合并后输出,利用输出函数OutputFormat将输出结果存入HDFS 中 ο 但是,随着业务量地不断增长,服务器每天产生的日志数据量快速增加。为了提高计算机系统的空间利用率,通常需要将日志数据进行压缩保存。现有技术中Hadoop可以读取的压缩文件的格式有gzip,bzip,lzo, snappy等,但不支持RAR格式,即Hadoop无法读取RAR格式的压缩文件。RAR是一种常见的压缩格式,具有压缩比例高,压缩速度快等优点,而且HDFS中的文件大多采用RAR格式进行文件的压缩,现有技术中Hadoop无法读取RAR格式的压缩文件,将会给数据处理带来很多麻烦,严重影响数据处理效率。 针对现有技术中的Hadoop无法读取分析RAR格式的压缩文件的问题,目前尚未提出有效的解决方案。
技术实现思路
本专利技术的主要目的在于提供一种RAR格式的压缩文件的处理方法和装置,以解决现有技术中的Hadoop无法读取分析RAR格式的压缩文件的问题。 为了实现上述目的,根据本专利技术的一个方面,提供了一种RAR格式的压缩文件的处理方法。 该RAR格式的压缩文件的处理方法包括:确定待处理的RAR格式的压缩文件;获取预先创建的文件加载类函数和文件解压类函数;通过在文件加载类函数中调用文件解压类函数对待处理的RAR格式的压缩文件进行解压,得到解压文件;获取解压后文件的存储路径;通过数据分析函数执行对解压文件的分析处理,得到处理结果。 进一步地,通过在文件加载类函数中调用文件解压类函数对待处理的RAR格式的压缩文件进行解压包括,得到解压文件包括:在文件加载类函数中执行调用文件解压类函数;在文件解压类函数中执行调用解压包中的解压函数,得到解压文件,其中,解压包中存储有对待处理的RAR格式的压缩文件进行解压的解压函数。 进一步地,通过数据分析函数执行对解压文件的分析处理,得到处理结果包括:获取文件解压类函数的返回值,其中,文件解压类函数的返回值为解压文件的存储路径对应的字符串;将文件解压类函数的返回值发送至数据分析函数进行分析处理,得到处理结果。 进一步地,将文件解压类函数的返回值发送至数据分析函数进行分析处理,得到处理结果包括:将文件解压类函数的返回值转化为路径类地址;获取路径类地址处存储的解压文件;数据分析函数对解压文件进行分析处理,得到处理结果。 进一步地,在数据分析函数对解压文件进行分析处理,得到处理结果之后,方法还包括:删除路径类地址处存储的解压文件;将处理结果存储在预设存储路径对应的地址。 进一步地,该RAR格式的压缩文件的处理方法同时启动多个进程,其中,每个进程中数据分析函数对解压文件执行分析处理,在数据分析函数对解压文件进行分析处理,得到处理结果之后,该RAR格式的压缩文件的处理方法还包括:将多个进程中的数据分析函数分析处理后得到的多个处理结果进行合并,得到合并后的处理结果;输出合并后的处理结果。 为了实现上述目的,根据本专利技术的另一方面,提供了一种RAR格式的压缩文件的处理装置。 该RAR格式的压缩文件的处理装置包括:确定模块,用于确定待处理的RAR格式的压缩文件;第一获取模块,用于获取预先创建的文件加载类函数和文件解压类函数;解压模块,用于通过在文件加载类函数中调用文件解压类函数对待处理的RAR格式的压缩文件进行解压,得到解压文件;第二获取模块,用于获取解压文件的存储路径;处理模块,用于通过数据分析函数执行对解压文件的分析处理,得到处理结果。 进一步地,解压模块包括:第一调用模块,用于在文件加载类函数中执行调用文件解压类函数;第二调用模块,用于在文件解压类函数中执行调用解压包中的解压函数,得到解压文件,其中,解压包中存储有对待处理的RAR格式的压缩文件进行解压的解压函数。 进一步地,处理模块包括:第二获取子模块,用于获取文件解压类函数的返回值,其中,文件解压类函数的返回值为解压文件的存储路径对应的字符串;第一处理子模块,用于将文件解压类函数的返回值发送至数据分析函数进行分析处理,得到处理结果,其中,第一处理子模块包括:转化模块,用于将文件解压类函数的返回值转化为路径类地址;第三获取子模块,用于获取路径类地址处存储的解压文件;第二处理子模块,用于数据分析函数对解压文件进行分析处理,得到处理结果。 进一步地,该RAR格式的压缩文件的处理装置还包括:删除模块,用于删除路径类地址处存储的解压文件;存储模块,用于将处理结果存储在预设存储路径对应的地址。 通过本专利技术,采用确定待处理的RAR格式的压缩文件;获取预先创建的文件加载类函数和文件解压类函数;通过在文件加载类函数中调用文件解压类函数对待处理的RAR格式的压缩文件进行解压,得到解压文件;获取解压文件的存储路径;通过数据分析函数执行对解压文件的分析处理,得到处理结果,解决了现有技术中的Hadoop无法读取分析RAR格式的压缩文件的问题。该专利技术在输入分割函数和读取函数的基础上创建了文件加载类函数和文件解压类函数,利用文件解压类函数读取HDFS中的RAR格式的压缩文件并将其进行解压,得到解压文件,然后将解压文件发送到Map中进行分析处理,得到处理结果,最后将处理结果存储在HDFS中。该专利技术中Hadoop可以同时启动多个Map任务,每个Map对应一个文件解压类函数,每个文件解压类函数读取一个RAR格式的压缩文件,这样实现了多个待处理RAR格式的压缩文件的同时处理,提高了执行效率。本文档来自技高网
...
RAR格式的压缩文件的处理方法和装置

【技术保护点】
一种RAR格式的压缩文件的处理方法,其特征在于,包括:确定待处理的RAR格式的压缩文件;获取预先创建的文件加载类函数和文件解压类函数;通过在所述文件加载类函数中调用所述文件解压类函数对所述待处理的RAR格式的压缩文件进行解压,得到解压文件;获取所述解压文件的存储路径;以及通过数据分析函数执行对所述解压文件的分析处理,得到处理结果。

【技术特征摘要】

【专利技术属性】
技术研发人员:谢宁
申请(专利权)人:北京国双科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1