基于Hadoop视频转码的任务调度算法研究

来源 :企业科技与发展 | 被引量 : 0次 | 上传用户:ZHUTINGFNEG12
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  【摘 要】目前的分布式转码系统忽略了计算节点的处理能力,分配的转码任务量过大,容易对转码造成影响,降低转码效率。文章针对这一问题,提出一种新的算法,即任务调度算法,建立在Hadoop平台上进行视频转码,将视频分成不同段,根据复杂程度进行转码映射,提高转码处理能力,让节点获得更多视频块,使所有的计算阶段能够达到平衡。经过实验证明,基于Hadoop视频转码的任务调度算法能够显著提升转码效率,改善转码系统的性能。
  【关键词】Hadoop;视频转码;任务调度算法
  【中图分类号】TP338.8 【文献标识码】A 【文章编号】1674-0688(2018)12-0067-02
   如今,网络视频快速发展,如何为移动终端提供可靠的服务是目前互联网视频转码面临的一项严峻挑战。视频数量不断增加,导致传统视频转码技术的存储能力及处理能力无法满足人们的需求,因此研究人员提出了一种Hadoop视频转码系统以提高视频转码效率。现有的视频转码系统没有将机器处理转码任务量考虑其中,一种关于任务调度的算法将输入的视频进行分段处理,然后根据视频的复杂程度进行映射,减少转码时间,提高转码效率。
  1 Hadoop
   Hadoop是一个转码框架,用于处理海量数据,具有可用性、健壮性及可扩展性特点。Hadoop平台由HDFS和MapReduce两部分共同组成Hadoop系统。MapReduce计算框架搭建在HDFS分布式文件系统之上,用户只需要编写map()函数与reduce()函数即可完成分布式程度的设计。HDFS最基本的内容是数据块,数据块可以保存比较大的文件、简化存储系统、便于数据复制等。Hadoop集群中的NameNode用来管理整个系统,主要职责是对文件系统进行管理。MapReduce采用M/S架构,当工作人员在Hadoop中编写一个MapReduce程序后,通过Client将程序编号发给JobTracker,编程人员用“作业”表示MapReduce,而每一个编写好的“作业”会被分解成若干个“任务”,每一个“任务”只有获取资源后才能够执行。
  2 云转码
   视频通过Avidemux视频编辑器进行去杂质处理,通过map()函数对ffmpeg进行封装。ffmpeg是一种不收费的软件,能够对视频进行转码处理。当海量的视频转码任务都聚集在Hadoop集群中时,系统需要对任务进行分解,将一个个小任务分配到阶段中,通过Hadoop的计算功能实现多视频同时转码。系统对用户的视频要求进行处理时,具体步骤如下:用户先发出视频请求,然后服务器根据用户提供的设备参数向Streaming Server发出请求,随后检查与用户请求相符合的数据;如果符合,将视频数据取出返回给用户;如果不符合,需要向NameNode发出转码命令,随后进行分布式转码,转码完成后将视频文件返回,然后将视频返回给用户。
  3 任务调度算法
  3.1 参数评估
  3.1.1 节点转码
   影响机器转码的原因很多,比如处理器性能不好、内存不足或者网络信号不好等,根据PageRank算法评估机器的转码,设定配置方式,不同的网络情况需要有不同的配置方案,然后根据程序测试不同模块的数据进行算法分析。可以将其分为4个步骤:①运行程序,生成数据矩阵,测试输出值;②对原始数据进行分析,将其看成列向量,每一列表示输出数据的序列;③计算矩阵A,A=correlation(d1,d2),d1=1,2,3,4,d2=1,2,3,…,7;④使用PageRank计算出得分,得分最高的一项表示该项的变化特征最多,得分最低的一项表示具有与其他测试项不同的特征。根据参考机器计算出其他机器的转码能力。
  3.1.2 虚拟背包
   将n个视频块根据不同的复杂度进行排序,按照降序的方式从高到低进行排列,在m台机器上,根据机器的处理能力,从强到弱进行排列。处理能力较强的机器掌握主动权,能够选择要处理的视频块,vi*+cj<vj,vj*+ci+ci+1>vj,计算vj*+cj+ci+2的值;如果vj*+cj+ci+2≤vj,机器停止选择;否则继续。其中,vj*表示已经复杂程度。当机器选择完视频块后,会残留剩余的视频块,此时会出现空白情况。有些机器选择的视频复杂程度没有达到要求,所以在视频块的分配流程中会出现空白,这种情况需要采用Max-Min算法将残留的视频块进行发送。
  3.2 Min-MM算法
   Min-MM算法是将背包问题与Max-Min算法进行结合,将平均转码时间作为转码时间的节点,然后计算每一台机器接收信息的复杂程度,根据复杂程度将视频块分布到各个机器中进行转码处理。首先要设定转码时间,视频块集合为:
   sum(c)=■ci(1)
   机器的处理能力为:
   sum(p)=■pj(2)
   在理想状态下,需要将视频块分配到不同的机器中,得到的平均转码时间为:
  faveragesum(c)/sum(p) (3)
   机器在faverage时间内要完成视频复杂度,公式为:
  Vj=pj×faverage(4)
  3.3 建立問题模型
   建立问题模型需要考虑如何将复杂的任务放在多个不同处理能力的节点中,在调度算法中,执行效率最高的是Min-Min,它与Max-Min相比,具有较好的负载能力。而Max-Min算法能够将所有节点的时间进行平均,这样能够达到提高转码效率的目的。建立数学模型的方法:比如有n段视频,复杂程度不同,m个处理节点,转码时间要与视频复杂度与机器处理能力进行对比,将视频块发到机器上的转码时间为:
   tij=■(5)    当视频块完成分配后,机器会获得视频集合,完成时间为:
   fsj=■tij=■■(6)
   如果设A={a1,a2,...,an},R(i):J>A,则表示将所有的视频块都放在机器中进行处理,目的是为了找到最佳的调度算法以完成处理时间。先找到能够完成视频块处理最长的机器,然后将其最小化,这样能够提高整个转码效率。如:
   ■ ■ fsj(7)
   A={a1,a2,...,an},
   ■sj=J,(8)
   ■si,sj∈A,si■sj=■
  4 实验分析
   在Hadoop集群中建立多台型号不同的服务器,将其中一台服务器作为NameNode,安装Avidemux,剩余机器为DateNodes,安装ffmpeg。使用云转码系统验证视频格式,使用Min-MM算法进行对比。视频格式有MP4、mkv、ts等,记录测试时间;改变视频大小,视频内存有5 G、8 G、16 G。如果Hadoop集群中有多个节点,需要使用Min-MM算法进行转码时间前后对比。
   分析实验环境,Hadoop转码系统支持多种格式的互相转换,其中MP4格式转码时间较长,ts转码时间较短;当使用Min-MM算法后,转码时间明显加快,如图1所示。
  5 结语
   Hadoop视频转码框架用于处理大量的视频信息效果良好,在此基础上增加任务调度算法Min-MM,使处理时间更快,在兼容多种格式的同时依然能够达到较快的转码速度。通过Hadoop平台与任务调度算法相结合,大大提高了转码效率,提升了转码系统的性能。
  
  参 考 文 献
  [1]毕莎莎,陈清华,高煜红.基于Hadoop视频转码的任务调度算法[J].无线电通信技术,2014,40(2):63-66,85.
  [2]李曌.基于Hadoop的调度算法研究与实现[D].成都:西南交通大学,2014.
  [3]彭志伟,谷建华.一种基于动态资源采集的Hadoop作业调度算法[J].微电子学与计算机,2014,31(4):64-67.
  [4]姜淼.Hadoop云平臺下调度算法的研究[D].长春:吉林大学,2012.
  [5]万兵,黄梦醒,段茜.一种基于资源预取的Hadoop作业调度算法[J].计算机应用研究,2014,31(6):1639-1643.
其他文献
大藤峡水利枢纽工程砂石料系统主要以江口天然料场料源为主,因为江口天然料场存在毛料存量不足的问题,所以需要从马鹿岭红砂岩料场和中桥灰岩料场补充料源,这就要求砂石料系
当前,人文关怀是社会服务领域转型发展的新方向,医疗领域也不例外。人文关怀在医疗领域中的应有将有助于调节医患关系、改善患者就医体验,使患者保持良好的心理状态接受诊疗,
包虫病的发生对于家畜的侵袭以及健康危害影响是非常巨大的,各地区均需要积极加强对于包虫病的预防管理控制,加大对于包虫病的抵抗措施,通过区、市、县、乡、村5级联防工作的
【摘 要】互联网时代的到来,在很大程度上为人们的生活、工作和学习打下了坚实的基础,促进了“互联网+”时代的发展。计算机网络技术在人们的日常生活中扮演着非常重要的角色,决定了社会的进步与发展。由于计算机网络信息安全问题的出现,造成了计算机系统的不稳定性,使计算机无法真正有效地发挥其作用。文章将重点对计算机网络信息安全及防范对策进行研究。  【关键词】计算机;网络;信息安全;防范  【中图分类号】TP
随着我国医疗机构的不断进步,依然从人以及多种哺乳动物和禽类身体内分离出A型流感病毒,水禽作为流感病毒最关键的自然宿主。加之,在野兽和家禽中分离出15种的血凝素以及9种
随着铁路、公路建设的不断发展,越来越多的线路以隧道形式穿越地质复杂地区,致使隧道坍塌事故日益增多。隧道坍塌事故往往处理难度大,如果采取的处理措施不当,不但需要花费大