Hadoop中基于Zigzag的MapReduce数据处理方法与流程

文档序号:12472167阅读:462来源:国知局
Hadoop中基于Zigzag的 MapReduce数据处理方法与流程

本发明涉及数据处理技术领域,尤其涉及一种Hadoop中基于Zigzag的MapReduce数据处理方法。



背景技术:

随着智慧城市、平安城市等概念的提出,全国性的视频监控系统正逐步开展和实施,城市的视频监控系统已基本覆盖了城市的各个角落,正成为城市信息化建设和管理的重要工具。这也使得视频数据呈指数级爆炸式增长,如何快速存储和处理巨量视频数据具有极大的技术挑战性。

视频是一种结构紧密型的数据,传统的单机存储与处理难以满足需求。近年来,Hadoop成为了优秀的大数据并行计算处理平台,在很多世界级大企业中都取得了广泛应用。它提供了稳定的分布式文件系统HDFS(Hadoop distributed file system)和MapReduce分布式处理架构。HDFS采用主从Master/Slave架构对文件系统进行管理,由一个主控节点和一定数量数据节点组成,它将数据分块存储在不同的数据节点并进行备份,具有高可靠性和高容错性。

MapReduce是一种并行编程模型,首次提出该模型的是美国Google公司。MapReduce模型的核心步骤主要分两部分:Map和Reduce。当你向MapReduce模型提交一个计算作业时,它会首先把计算作业拆分成若干个Map任务,然后分配到不同的节点上去执行,每一个Map任务处理输入数据中的一部分,当Map任务完成后,它会生成一些中间文件,这些中间文件将会作为Reduce任务的输入数据。Reduce任务的主要目标就是把前面若干个Map的输出汇总并输出。

目前,Hadoop平台广泛应用于文本大数据的分析与挖掘,而用于视频图像处理的研究相对较少。论文《用于海量图像存储与处理的Hadoop扩展》(桂林电子科技大学学报,2014,10(5):182-183)提出了扩展Hadoop支持数据类型,同时集成OpenCV开源库,实现了基于Hadoop和OpenCV的计算机视觉分布式处理平台;论文《基于Hadoop的快速并行视频处理方法》(计算机测量与控制,2015,23(12):4117-4120)设计了MapReduce相关视频数据处理接口,并给出了视频数据类型扩展和MapReduce视频处理策略。但这些论文中的技术方法都没有考虑到视频本身的编码结构特征,在视频处理时间和系统IO读写效率上难有较大改进和提升。

具体地,请参考图1,在现有的MapReduce过程中,如图所示,每个Map输出文件中的整个分区(partition,P1)会被拷贝到Reduce端,然后所有分区(P1,P1,P1)会合并成为一个有序的总的集合(P1),最后做Reduce处理,由于该方法没有考虑到图像的任何特征信息,其拷贝的数据量不可控,拷贝环节内存溢出不可避免,随后合并及进行Reduce过程中也会产生更多硬盘IO的访问,从而降低了MapReduce视频处理的性能。

因此,有必要提供一种改进的MapReduce数据处理方法来克服上述缺陷。



技术实现要素:

本发明所要解决的技术问题是:提供一种Hadoop中基于Zigzag的MapReduce数据处理方法,以使得拷贝的数据量大小可控,从而提高MapReduce视频处理的性能。

为解决上述技术问题,本发明采用的技术方案如下:

提供一种Hadoop中基于Zigzag的MapReduce数据处理方法,包括:

将视频图像的离散余弦变换编码特点及相关的Zigzag分布特征信息引入MapReduce模型的拷贝过程中;

将行程编码技术引入MapReduce模型的合并过程中;

对合并后的数据进行Reduce处理。

与现有技术相比,本发明的方法先将视频图像的离散余弦变换编码特点及相关的Zigzag分布特征信息引入MapReduce模型的拷贝过程中,再将行程编码技术引入MapReduce模型的合并过程中,最后对合并后的数据进行Reduce处理。该方法充分考虑了图像的DCT变换特点及相关Zigzag分布特征信息,其拷贝的数据量大小完全可控,拷贝环节内存不易溢出,随后采用行程编码合并后,Reduce过程中的硬盘IO访问次数将大大地减少,同时MapReduce视频处理性能也获得了极大提升。

具体地,将视频图像的离散余弦变换编码特点及相关的Zigzag分布特征信息引入MapReduce模型的拷贝过程中具体地包括:

将每个视频图像的16×16块按Zigzag顺序划分为16个4×4块;

将每个4×4块采用Zigzag映射方式形成B(i,0)、B(i,1)、......、B(i,15),其中,B表示块,i表示所述块中第i个4×4块;

将16个4×4块相对应的数据采用Map过程映射到16个对应的Reduce端以形成块B(i,j),每一所述块B(i,j)中具有16个数据。

具体地,将行程编码技术引入MapReduce模型的合并过程中具体包括:

采用行程编码技术将每个块B(i,j)中的16个数据合并为新的第j个Block。

通过以下的描述并结合附图,本发明将变得更加清晰,这些附图用于解释本发明的实施例。

附图说明

图1为现有的MapReduce过程示意图。

图2为Zigzag映射过程示意图。

图3为本发明Hadoop中基于Zigzag的MapReduce数据处理方法的主流程图。

图4为本发明方法一实施例的流程图。

图5为本发明MapReduce过程的示意图。

具体实施方式

现在参考附图描述本发明的实施例,附图中类似的元件标号代表类似的元件。

为了更好地阐述本发明,先对其所涉及的基本技术做如下介绍:

(1)行程编码技术

其基本原理是:用一个符号值或串长代替具有相同值的连续符号(连续符号构成了一段连续的“行程”,行程编码因此而得名),使符号长度少于原始数据的长度。例如:999999777775500000,行程编码为:(9,6)(7,5)(5,2)(3,4)(0,5)。可见,行程编码的位数远远少于原始字符串的位数。

(2)Zigzag映射技术

在JPEG、MEPG、H.26X等视频图像编码中,普遍采用了离散余弦变换(DCT)变换编码算法,将图像从像素域变换到频率域。由于一般视频图像都存在很多冗余和相关性,所以DCT转换到频率域之后,只有很少的一部分频率分量的系数才不为0,大部分系数都为0(或者说接近于0),这样就可以进行高效的编码,以达到压缩的目的。DCT变换以Block(块)为单位,块大小可定义为M×N,通常具有4×4、8×8、16×16三种块大小。以8×8块为例,如图2所示,通过DCT变换得到的系数矩阵图将具体如下特征:从左上角依次到右下角,频率越来越高,左上角的值比较大,到右下角的值就很小很小了,而且绝大部分均为0或接近于0。换句话说,图像的能量几乎都集中在左上角这个地方的低频系数上面。

在这种背景下,采用Zigzag映射和行程编码技术可以极大地提升图像编码效率,也是目前图像编码普通采用的编码方式。

因此,基于上述技术,本发明的工作原理是:(Discrete Cosine Transform)变换编码的结构特点,如JPEG、MEPG、H.26X等,通过引入Zigzag映射和行程编码技术,以改进MapReduce模型的核心过程——Map、拷贝及合并过程。

具体地,请参考图3,本发明的方法主要包括:

S301,将视频图像的离散余弦变换编码特点及相关的Zigzag分布特征信息引入MapReduce模型的拷贝过程中;

S302,将行程编码技术引入MapReduce模型的合并过程中;

S303,对合并后的数据进行Reduce处理。

具体地,再请参考图4及图5,在本发明的一优选实施例中,该方法具体包括:

S401,将每个视频图像16×16Block块按Zigzag顺序(如图2)分为16个4×4块。

S402,针对每个4×4块,采用Zigzag映射方式形成B(i,0)、B(i,1)、......、B(i,15),其中,i表示Block中第i个4×4块。

S403,采用Map过程将16个4×4块相对应数据映射到16个对应的Reduce端。由于图像的DCT变换特点,B(i,j)(任一个block中,j取值不变)中的16个数据具有很强的相关性。

S404,在合并过程中,采用行程编码技术,将每个B(i,j)(任一个block中,j取值不变)中的16个强相关性数据合并为新的第j个Block。

S405,对合并后的数据做Reduce处理。

从以上描述可以看出,与现有技术相比,本发明具有以下优点:考虑了图像的DCT变换特点及相关Zigzag分布特征信息,其拷贝的数据量大小完全可控,拷贝环节内存不易溢出,随后采用行程编码合并后,Reduce过程中的硬盘IO访问次数将大大地减少,同时MapReduce视频处理性能也获得了极大提升。

此外,就本发明的技术方案,还做了相关的实验比较。具体地,在进行试验时,采用的实验环境为:Hadoop-1.2.1,Ubuntu 14.04,联想四核CPU,主频2.6GHz,内存8G,硬盘512G。所得到的实验结果为:实验以运行时间作为观察变量,为了保证实验的准确度,实验中以H.264标准视频格式作为测试视频,每帧为704×576像素(D1),并将Map和Reduce数量均设为16。取128M大小的H.264标准视频进行测试,与传统MapReduce过程相比较,该方法普遍可以提升视频处理速度5-20倍左右。

以上结合最佳实施例对本发明进行了描述,但本发明并不局限于以上揭示的实施例,而应当涵盖各种根据本发明的本质进行的修改、等效组合。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1