数据处理作业调度方法、装置及系统制造方法及图纸

技术编号:13595943 阅读:60 留言:0更新日期:2016-08-26 13:20
本发明专利技术实施例提供一种数据处理作业调度方法、装置及系统,所述方法包括:获取预先配置的数据处理流程的各个作业之间的依赖关系;初始化数据处理流程的各个作业的运行状态为不可运行,生成第一更新指令;响应所述第一更新指令,将不存在前提作业的运行状态更新为可以运行;调度运行状态为可以运行的作业运行,根据运行结果更新所述作业的运行状态为运行成功或运行失败,并生成第二更新指令;响应所述第二更新指令,将存在前提作业,且所述前提作业的运行状态均为运行成功的作业的运行状态,更新为可以运行。本发明专利技术实施例减少作业调度时间,提高了作业调度效率。

【技术实现步骤摘要】

本专利技术实施例涉及计算机
,尤其涉及一种数据处理作业调度方法、装置及系统
技术介绍
在进行数据处理的流程中,特别是大数据领域比较复杂的数据处理流程中,通常是将数据处理流程划分为若干作业对数据进行处理。这些作业之间有的需要依赖其他作业的正确运行结果才能够运行,有的作业之间并无这种依赖关系,可以并发运行。而整个数据处理流程的全部作业均运行成功,数据处理流程才会认为运行成功,如果一个作业依赖的前提作业还未运行或运行失败,该作业即开始执行,则会造成数据错误,数据处理流程也会认为运行失败,因此需要对作业进行有效的调度。现有技术的一种数据处理作业调度方法中,是由技术人员根据数据处理流程中各个作业之间的依赖关系,首先将各个作业划分多个执行阶段。根据依赖关系可知,这些执行阶段之间存在执行顺序。在进行作业调度时,即按照执行阶段的执行顺序,分阶段的进行作业调度,每一个阶段的作业全部运行成功之后,再调度下一个阶段中的作业执行。比如,假设数据处理流程包括作业A、B、C、D、E,作业A为数据处理流程中的初始作业,作业E为最终的作业,作业B和作业C分别依赖作业A的运行结果,作业D依赖作业B的运行结果,作业E依赖作业C和作业D的执行结果。因此根据各个作业之间的依赖关系,划分的执行阶段为:第一个执行阶段包括作业A;由于作业C分别与作业B和作业D不存在依赖关系,可以放在一个执行阶段并发执行,而作业B和作业D之间存在依赖关系,不
能放在一个执行阶段执行,因此第二执行阶段只包括作业B和作业C,作业D划分为第三执行阶段;第四执行阶段即包括作业E。由上述描述过程可知,现有的数据处理作业调度方法,虽然可以保证作业有序执行,不会造成数据错误,但是分阶段执行这种方式,使得作业调度效率较低,比如上述假设中,作业B和作业D之间存在依赖关系,作业B运行成功之后,作业D即可以运行了,但是按照分阶段执行的方式,作业C若未运行完成,作业D仍无法运行,这就会导致作业调度时间较长,降低了作业调度效率。
技术实现思路
本专利技术实施例提供一种数据处理作业调度方法、装置及系统,用以解决现有技术中作业调度时间长,作业调度效率低的技术问题。本专利技术实施例提供一种数据处理作业调度方法,包括:获取预先配置的数据处理流程的各个作业之间的依赖关系;初始化数据处理流程的各个作业的运行状态为不可运行,生成第一更新指令;响应所述第一更新指令,按照所述数据处理流程的各个作业之间的依赖关系,将不存在前提作业的作业的运行状态更新为可以运行;调度运行状态为可以运行的作业运行,根据运行结果更新所述作业的运行状态为运行成功或运行失败,并生成第二更新指令;响应所述第二更新指令,按照所述数据处理流程的各个作业之间的依赖关系,将存在前提作业,且所述前提作业的运行状态均为运行成功的作业的运行状态,更新为可以运行。本专利技术实施例提供一种数据处理作业调度装置,包括:作业调度模块,用于初始化数据处理流程的各个作业的运行状态为不可运行,生成第一更新指令;调度运行状态为可以运行的作业运行,根据运行结果更新所述作业的运行状态为运行成功或运行失败,并生成第二更新指令;所述规则确定模块,用于获取预先配置的数据处理流程的各个作业之间的依赖关系;响应所述第一更新指令,按照所述数据处理流程的各个作业之间的依赖关系,将不存在前提作业的作业的运行状态更新为可以运行;响应所述第二更新指令,按照所述数据处理流程的各个作业之间的依赖关系,将存在前提作业,且所述前提作业的运行状态均为运行成功的作业的运行状态,更新为可以运行。本专利技术提供一种数据处理作业调度系统,包括至少一个作业调度节点、至少一个规则推理节点以及多个计算节点;任一个作业调度节点,用于初始化数据处理流程的各个作业的运行状态为不可运行,生成第一更新指令;将运行状态为可以运行的作业提供给所述多个计算节点,由至少一个计算节点运行至少一个运行状态为可以运行的作业;根据运行结果更新所述作业的运行状态为运行成功或运行失败,并生成第二更新指令;任一个规则推理节点,用于获取预先配置的数据处理流程的各个作业之间的依赖关系;响应所述第一更新指令,按照所述数据处理流程的各个作业之间的依赖关系,将不存在前提作业的作业的运行状态更新为可以运行;响应所述第二更新指令,按照所述数据处理流程的各个作业之间的依赖关系,将存在前提作业,且所述前提作业的运行状态均为运行成功的作业的运行状态,更新为可以运行;所述计算节点,用于运行所述作业调度节点提供的运行状态为可以运行的作业。本专利技术实施例提供的数据处理作业调度方法、装置及系统,通过规则推
导的方式,根据作业之间依赖关系,可以更新各个作业的运行状态,从而存在运行状态为可以运行的作业时,即可以该调度运行状态为可以运行的作业运行。既可以保证存在依赖关系的作业能够有序执行,不会出现数据错误,且当前作业在其前提作业运行成功之后,即可以运行,无需等待,减少了作业调度时间,同时无依赖关系的作业可以并发执行,进一步减少了作业调度时间,提高了作业调度的效率。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术数据处理作业调度方法一实施例的流程图;图2为本专利技术提供的DAG(Directed Acyclic Graph,有向无环图)的一种示意图;图3为本专利技术数据处理作业调度方法又一实施例流程图;图4为本专利技术数据处理作业调度装置一实施例结构示意图;图5为本专利技术数据处理作业调度装置又一实施例结构示意图;图6为本专利技术数据处理作业调度装置又一实施例结构示意图;图7为本专利技术数据处理作业调度系统一实施例结构示意图;图8为本专利技术数据处理作业调度系统又一实施例结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于
本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。正如
技术介绍
中所述,现有技术中分阶段的数据处理作业调度方法,为了保证作业能够有序执行,在一个执行阶段中的作业未运行成功时,下一个执行阶段中的作业将无法调度运行,这就会导致作业调度时间较长,降低了作业调度效率。特别是当数据处理流程中作业较多,作业之间的依赖关系很复杂时,作业调度效率将受到很大的影响,且由于执行阶段需要人工来划分,工作量较大,也会影响作业调度时间,且执行阶段划分的准确性也无法完全保证。为了解决现有技术中存在的技术问题,专利技术人经过不断的研究发现,为了保证作业调度时间,提高作业调度效率,作业有序执行的同时,就要减少作业等待执行的时间。专利技术人进一步发现,为了减少作业等待执行时间,又保证作业有序的执行,可以将无依赖关系的作业最大化的并行运行,也即将无依赖关系的作业同时运行,将会大大提高作业调度效率,且可以充分的利用计算资源。因此,专利技术人基于这一创造性的思维,提出了本文档来自技高网
...

【技术保护点】
一种数据处理作业调度方法,其特征在于,包括:获取预先配置的数据处理流程的各个作业之间的依赖关系;初始化数据处理流程的各个作业的运行状态为不可运行,生成第一更新指令;响应所述第一更新指令,按照所述数据处理流程的各个作业之间的依赖关系,将不存在前提作业的作业的运行状态更新为可以运行;调度运行状态为可以运行的作业运行,根据运行结果更新所述作业的运行状态为运行成功或运行失败,并生成第二更新指令;响应所述第二更新指令,按照所述数据处理流程的各个作业之间的依赖关系,将存在前提作业,且所述前提作业的运行状态均为运行成功的作业的运行状态,更新为可以运行。

【技术特征摘要】
1.一种数据处理作业调度方法,其特征在于,包括:获取预先配置的数据处理流程的各个作业之间的依赖关系;初始化数据处理流程的各个作业的运行状态为不可运行,生成第一更新指令;响应所述第一更新指令,按照所述数据处理流程的各个作业之间的依赖关系,将不存在前提作业的作业的运行状态更新为可以运行;调度运行状态为可以运行的作业运行,根据运行结果更新所述作业的运行状态为运行成功或运行失败,并生成第二更新指令;响应所述第二更新指令,按照所述数据处理流程的各个作业之间的依赖关系,将存在前提作业,且所述前提作业的运行状态均为运行成功的作业的运行状态,更新为可以运行。2.根据权利要求1所述的方法,其特征在于,调度运行状态为可以运行的作业运行,并根据运行结果更新所述作业的运行状态为运行成功或运行失败,生成第二更新指令之后,所述方法还包括:响应所述第二更新指令,按照所述数据处理流程的各个作业之间的依赖关系,将存在前提作业,且任一前提作业运行状态为运行失败或放弃运行的作业的运行状态,更新为放弃运行。3.根据权利要求1所述的方法,其特征在于,所述调度运行状态为可以运行的作业运行包括:将运行状态为可以运行的作业提供给多个计算节点,由至少一个计算节点运行至少一个运行状态为可以运行的作业。4.根据权利要求1所述的方法,其特征在于,所述数据处理流程的各个作业之间的依赖关系通过有向无环图表示;获取预先配置的数据处理流程的各个作业之间的依赖关系包括:获取预先配置的表示数据处理流程的各个作业之间的依赖关系有向无环图;所述响应所述第一更新指令,按照所述数据处理流程的各个作业之间的依赖关系,将不存在前提作业的作业的运行状态更新为可以运行包括:响应所述第一更新指令,按照所述有向无环图表示的数据处理流程的各个作业之间的依赖关系,将不存在前提作业的作业的运行状态更新为可以运行;所述响应所述第二更新指令,按照所述数据处理流程的各个作业之间的依赖关系,将存在前提作业,且所述前提作业的运行状态均为运行成功的作业的运行状态,更新为可以运行包括:响应所述第二更新指令,按照所述有向无环图表示的所述数据处理流程的各个作业之间的依赖关系,将存在前提作业,且所述前提作业的运行状态均为运行成功的作业的运行状态,更新为可以运行。5.一种数据处理作业调度装置,其特征在于,包括:作业调度模块,用于初始化数据处理流程的各个作业的运行状态为不可运行,生成第一更新指令;调度运行状态为可以运行的作业运行,根据运行结果更新所述作业的运行状态为运行成功或运行失败,并生成第二更新指令;规则确定模块,用于获取预先配置的数据处理流程的各个作业...

【专利技术属性】
技术研发人员:许鹭清陈抒
申请(专利权)人:乐视网信息技术北京股份有限公司
类型:发明
国别省市:北京;11

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

1