一种两级故障容错的多媒体分布式任务处理方法技术

技术编号:11181628 阅读:102 留言:0更新日期:2015-03-25 11:03
本发明专利技术提供一种两级故障容错的分布式计算集群方法,该方法应用于分布式集群系统,该分布式集群系统包括调度节点和若干计算节点;该方法包括:任一计算节点出现故障后,在一定的时间窗口内,该计算节点自身恢复任务的处理;在超过一定的时间窗口,则由调度节点执行该计算节点任务的重新分配。本发明专利技术方案在调度节点支持任务故障接管的同时,计算节点同时具备本节点任务的故障恢复能力。对于大多数故障情况,可以保证任务尽量在初始分配的计算节点上继续执行,有效避免任务重新分配到其他节点之后,造成各节点在计算资源占用上的不均衡。

【技术实现步骤摘要】

本专利技术涉及云计算
,尤其涉及一种两级故障容错的多媒体分布式任务处理方法
技术介绍
对公安、交通等大型视频监控系统中的高清摄像机、卡口摄像机、电警产生的海量视频、图片数据执行分析处理,已经成为越来越迫切的需求。一方面,对视频、图片进行智能分析,提取其中的人、车、物等结构化信息,可以方便对重点人、车进行录像检索,同时可以基于这些信息进行深入的数据挖掘。另外,对海量的监控视频数据,存在浓缩、摘要、诊断、转码等处理需求。对于大规模视频监控系统来说,单一设备节点已经无法完成海量视频数据的计算处理任务,所以必然要部署较多的设备对视频数据进行处理。在大量部署计算设备的情况下,如果不能合理分配设备的计算资源,一方面会造成设备资源的浪费,同时也会造成视频处理涉及的大量计算任务无法及时完成,影响利用监控系统处理社会治安、突发事件的响应速度。通过分布式计算集群技术,可以将计算任务颗粒化,调度系统内任一存在空闲计算资源的设备节点完成计算子任务,从而以较小的设备投入,换回更多的智能化工作回报。同时,在需要尽可能短的时间内完成相关视频的分析工作的应用场景下,分布式计算集群技术可以整合系统所有设备节点的计算资源,完成突发事件相关视频的计算分析工作,从而满足了对突发事件进行实时分析计算的要求。因此,将分布式计算集群技术应用到大型视频监控系统,是大型视频监控系统建设的必然趋势,拥有广阔的应用场景。>Hadoop MapReduce是一个较通用的分布式计算框架,基于它开发的应用程序能够运行在由上千个商用机器组成的大型集群上,并以一种可靠容错的方式并行处理TB级别的数据集。一个MapReduce作业(job)通常会把输入的数据集切分为若干独立的数据块,由map任务(task)以完全并行的方式处理它们。框架会对map的输出先进行排序,然后把结果输入给reduce任务。通常作业的输入和输出都会被存储在文件系统中。整个框架负责任务的调度和监控,以及重新执行已经失败的任务。通常,MapReduce框架和分布式文件系统是运行在一组相同的节点上的,也就是说,计算节点和存储节点通常在一起。这种配置允许框架在那些已经存好数据的节点上高效地调度任务,这可以使整个集群的网络带宽被非常高效地利用。MapReduce框架由一个单独的master JobTracker和每个集群节点一个slave TaskTracker共同组成。master负责调度构成一个作业的所有任务,这些任务分布在不同的slave上,master监控它们的执行。而slave仅负责执行由master指派的任务。MapReduce计算框架的master节点,在任务执行过程中,如果检测到某个slave节点出现故障,会即时将该节点未完成的任务,分配到其他节点执行。Hadoop MapReduce分布式计算框架是一种由master节点执行任务故障恢复的单级管理方案,即:在master检测到某个节点故障(比如MapReduce进程崩溃)时,会将该节点未完成的任务,即时分配给其他节点执行。这种故障接管机制对于计算量较小、占用资源较少的任务,是没有问题的。但是,对于多媒体视频的处理任务,其机制未必合适。视频类计算任务的计算量较大,需要占用较多的系统资源。一个计算节点实际能够处理的视频分析计算任务有限,在自身资源已经被任务接近占满的情况下,很难有剩余资源去接管其他节点的任务。比如:一路1080P高清摄像机的视频浓缩任务,对于i7-3770类型的CPU,CPU占用率达到15%,因此,配备上述CPU的设备,最多只能支持5-6路摄像机的视频浓缩任务。如果由10台i7-3770CPU的服务器组成小规模计算集群,处理60路1080P高清摄像机的视频浓缩任务,每台服务器的计算资源基本已经占满,很难去接管其他节点的任务。
技术实现思路
有鉴于此,本专利技术提供一种两级故障容错的分布式任务处理方法。该方法应用于分布式集群系统,该分布式集群系统包括调度节点和若干计算节点。该两级故障容错的分布式任务处理方法包括:任一计算节点出现故障后,在一定的时间窗口内,该计算节点自身恢复任务的处理;在超过一定的时间窗口,则由调度节点执行该计算节点任务的重新分配。优选地,该分布式集群系统还包括独立的数据库;所述计算节点包括集群中间件模块和视频处理算法模块;当计算节点的故障为在一定的时间窗口内掉电重启故障时,所述计算节点自身恢复任务的处理包括:计算节点的视频处理算法模块从数据库中装载本节点未完成的任务,恢复任务执行;且在所有任务恢复执行之后,向集群中间件模块发送通知;集群中间件模块收到通知后,向视频处理算法模块获取当前执行的任务信息,该任务信息包括任务ID;视频处理算法模块返回当前执行的所有任务的任务信息;集群中间件模块对于获取到的所有任务,逐个任务分配任务控制块,记录包括任务ID的任务的信息;集群中间件模块将所有任务控制块置不同步标识;集群中间件模块向调度节点发起注册;注册成功后,计算节点接收调度节点向其发送任务同步消息,该消息中携带调度节点所记录的该计算节点所有未完成任务的任务信息;集群中间件模块对于每一个任务控制块记录的任务ID,判断是否能匹配到同步消息中的任务ID,如果是,清除该任务控制块中的不同步标识;否则执行通知视频处理算法模块停止该不同步任务控制块对应任务的执行。优选地,当计算节点的故障为在一定的时间窗口内的视频处理算法进程崩溃故障时,所述计算节点自身恢复任务的处理包括:计算节点的视频处理算法模块从数据库中装载本节点未完成的任务,恢复任务执行;且在所有任务恢复执行之后,向集群中间件模块发送通知;集群中间件模块收到通知后,向视频处理算法模块获取当前执行的任务信息,其中该任务信息包括任务ID;视频处理算法模块返回当前执行的所有任务的任务信息;集群中间件模块对返回的所有任务中的每一个任务ID,判断其是否能匹配自身的任务控制块中记录的任务ID,如果是,集群中间件模块基于该任务信息,更新任务控制块中的相应信息,否则,集群中间件模块通知视频处理算法模块停止对该任务的执行。优选地,当计算节点的故障为在一定的时间窗口内和调度节点之间网络断开的故障时,所述计算节点自身恢复任务的处理包括:集群中间件模块将所有任务控制块置不同步标识;集群中间件模块向调度节点发起注册;注册成功后,接收调度节点向其发送任务同步消息,该消息中携带调度节点所记本文档来自技高网...

【技术保护点】
一种两级故障容错的分布式任务处理方法,该方法应用于分布式集群系统,该分布式集群系统包括调度节点和若干计算节点;其特征在于,任一计算节点出现故障后,在一定的时间窗口内,该计算节点自身恢复任务的处理;在超过一定的时间窗口,则由调度节点执行该计算节点任务的重新分配。

【技术特征摘要】
1.一种两级故障容错的分布式任务处理方法,该方法应用于分布式集群
系统,该分布式集群系统包括调度节点和若干计算节点;其特征在于,
任一计算节点出现故障后,在一定的时间窗口内,该计算节点自身恢复
任务的处理;在超过一定的时间窗口,则由调度节点执行该计算节点任务的
重新分配。
2.如权利要求1所述的方法,其特征在于,所述分布式集群系统还包括
独立的数据库;所述计算节点包括集群中间件模块和视频处理算法模块;当
计算节点的故障为在一定的时间窗口内掉电重启故障时,所述计算节点自身
恢复任务的处理包括:
计算节点的视频处理算法模块从数据库中装载本节点未完成的任务,恢
复任务执行;且在所有任务恢复执行之后,向集群中间件模块发送通知;
集群中间件模块收到通知后,向视频处理算法模块获取当前执行的任务
信息,该任务信息包括任务ID;
视频处理算法模块返回当前执行的所有任务的任务信息;
集群中间件模块对于获取到的所有任务,逐个任务分配任务控制块,记
录包括任务ID的任务的信息;
集群中间件模块将所有任务控制块置不同步标识;
集群中间件模块向调度节点发起注册;
注册成功后,计算节点接收调度节点向其发送任务同步消息,该消息中
携带调度节点所记录的该计算节点所有未完成任务的任务信息;
集群中间件模块对于每一个任务控制块记录的任务ID,判断是否能匹配
到同步消息中的任务ID,如果是,清除该任务控制块中的不同步标识;否则
执行通知视频处理算法模块停止该不同步任务控制块对应任务的执行。
3.如权利要求1所述的方法,其特征在于,所述分布式集群系统还包括
独立的数据库;所述计算节点包括集群中间件模块和视频处理算法模块;当

\t计算节点的故障为在一定的时间窗口内的视频处理算法进程崩溃故障时,所
述计算节点自身恢复任务的处理包括:
计算节点的视频处理算法模块从数据库中装载本节点未完成的任务,恢
复任务执行;且在所有任务恢复执行之后,向集群中间件模块发送通知;
集群中间件模块收到通知后,向视频处理算法模块获取当前执行的任务
信息,其中该任务信息包括任务ID;
视频处理算法模块返回当前执行的所有任...

【专利技术属性】
技术研发人员:成浩
申请(专利权)人:浙江宇视科技有限公司
类型:发明
国别省市:浙江;33

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

1