法律状态公告日
法律状态信息
法律状态
2022-07-15
未缴年费专利权终止 IPC(主分类):G06T 9/00 专利号:ZL201610586738X 申请日:20160721 授权公告日:20190510
专利权的终止
2019-05-10
授权
授权
2017-01-18
实质审查的生效 IPC(主分类):G06T9/00 申请日:20160721
实质审查的生效
2016-12-21
公开
公开
技术领域
本发明涉及数据处理技术领域,尤其涉及一种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倍左右。
以上结合最佳实施例对本发明进行了描述,但本发明并不局限于以上揭示的实施例,而应当涵盖各种根据本发明的本质进行的修改、等效组合。
机译: 基于调度程序的Hadoop生态系统中的数据分发应用服务器和包括该服务器的Hadoop生态系统
机译: 基于调度程序的Hadoop生态系统中的数据分发应用服务器和包括该服务器的Hadoop生态系统
机译: 基于计算机的用于处理地下矿井中的多次潜水的方法,存在的介质,基于计算机的用于基于矿井中的矿物处理井底数据的方法的方法一个基于计算机的地下信息系统。根据地下矿井中的矿物来处理数据,并基于计算机对地下矿井中的数据进行处理的方法,仓储腿目前的计算机系统是基于计算机的,用于处理基于地下的一种形式的多次潜水。计算机根据地下矿井中的矿物质来处理数据u00e7o地下,以及基于计算机的数据处理方法