作业调度方法及装置与流程

文档序号:18234225发布日期:2019-07-24 08:35阅读:176来源:国知局
作业调度方法及装置与流程

本发明涉及数据处理领域,尤其涉及一种作业调度方法及装置。



背景技术:

现有的作业调度机制中,通常设置作业依赖关系再顺序执行,但是,对于大型复杂的作业管理系统,作业数量大、关系复杂,而且作业又分为更小的子作业。这样作业的调度非常复杂,作业排程不好将会明显影响整个系统的处理效率,比如父子作业关系,待父作业执行完毕后,子作业执行,但这样的调度机制对于不同源系列作业调度,即顶层父作业不同的作业调度之间,容易发生同时读写同一张表数据时的冲突,造成锁表,长时间作业不结束等问题。通常,为了解决这个问题,可以为不同顶层父作业的作业群组之间设置固定顺序,比如,A、B分别为两个顶层父作业,存在A->A1->A2,B->B1->B2两个作业调度群组,可以设为A系列都执行完毕再执行B系列,即A->A1->A2->B->B1->B2,但是这样做会引发新的问题,即调度时效低下,互不相干的作业因为父作业之间的相互等待,从而影响整体的时效性,总体来说,现有技术在进行作业调度时,需要设置顺序来处理互斥冲突,因此整体作业调度效率低。



技术实现要素:

本发明提出一种作业调度方法,用以处理存在互斥的作业,且调度执行效率高,该方法包括:

将作业分为多个作业互斥组,所述多个互斥作业组包括一级作业组、二级作业组和三级作业组,其中,一级作业互斥组中的作业能够并行执行,二级作业互斥组中的作业在设定互斥条件下不能并行执行,三级作业互斥组中的作业不能不行执行;

获取已经到达运行时刻的作业,确定已经到运行时刻的作业所在的作业互斥组;

并行执行所有作业互斥组,其中,对于一级作业互斥组,并行执行该作业互斥组中的作业;对于二级作业互斥组,从该作业互斥组中筛选出在设定互斥条件下,不能并发执行的作业,形成作业互斥子分组,在按照设定互斥控制方式执行作业互斥子分组中的作业的同时,并行执行不在作业互斥子分组中的作业;对于三级作业互斥组,按照设定互斥控制方式执行该作业互斥组中的作业。

本发明提出一种作业调度装置,用以处理存在互斥的作业,且调度执行效率高,该装置包括:

作业分组模块,用于将作业分为多个作业互斥组,所述多个互斥作业组包括一级作业组、二级作业组和三级作业组,其中,一级作业互斥组中的作业能够并行执行,二级作业互斥组中的作业在设定互斥条件下不能并行执行,三级作业互斥组中的作业不能不行执行;

待执行作业获取模块,用于获取已经到达运行时刻的作业,确定已经到运行时刻的作业所在的作业互斥组;

执行模块,用于并行执行所有作业互斥组,其中,对于一级作业互斥组,并行执行该作业互斥组中的作业;对于二级作业互斥组,从该作业互斥组中筛选出在设定互斥条件下,不能并发执行的作业,形成作业互斥子分组,在按照设定互斥控制方式执行作业互斥子分组中的作业的同时,并行执行不在作业互斥子分组中的作业;对于三级作业互斥组,按照设定互斥控制方式执行该作业互斥组中的作业。

本发明实施例还提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述作业调度方法。

本发明实施例还提出了一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述作业调度方法的计算机程序。

在本发明实施例中,将作业分为多个作业互斥组,所述多个互斥作业组包括一级作业组、二级作业组和三级作业组,其中,一级作业互斥组中的作业能够并行执行,二级作业互斥组中的作业在设定互斥条件下不能并行执行,三级作业互斥组中的作业不能不行执行;获取已经到达运行时刻的作业,确定已经到运行时刻的作业所在的作业互斥组;并行执行所有作业互斥组,其中,对于一级作业互斥组,并行执行该作业互斥组中的作业;对于二级作业互斥组,从该作业互斥组中筛选出在设定互斥条件下,不能并发执行的作业,形成作业互斥子分组,在按照设定互斥控制方式执行作业互斥子分组中的作业的同时,并行执行不在作业互斥子分组中的作业;对于三级作业互斥组,按照设定互斥控制方式执行该作业互斥组中的作业。在本发明实施例中,将作业分为多个作业互斥组,所述多个互斥作业组包括一级作业组、二级作业组和三级作业组,其中,一级作业互斥组中的作业能够并行执行,二级作业互斥组中的作业在设定互斥条件下不能并行执行,三级作业互斥组中的作业不能不行执行,因此,在执行时,不需要设置作业之前的顺序,只需要根据作业互斥组的级别,并行执行所有作业互斥组,具体包括:对于一级作业互斥组,并行执行该作业互斥组中的作业;对于二级作业互斥组,从该作业互斥组中筛选出在设定互斥条件下,不能并发执行的作业,形成作业互斥子分组,在按照设定互斥控制方式执行作业互斥子分组中的作业的同时,并行执行不在作业互斥子分组中的作业;对于三级作业互斥组,按照设定互斥控制方式执行该作业互斥组中的作业。因此,可处理存在互斥的作业;另外,在执行作业时,采用并行执行作业互斥组的方式,可提高作业调度执行的效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:

图1为本发明实施例中作业调度方法的流程图;

图2为本发明实施例中作业分组的流程图;

图3为本发明实施例中作业互斥组的示意图;

图4为本发明实施例中作业调度系统的示意图;

图5为本发明实施例中利用作业调度系统进行作业调度的具体过程;

图6为本发明实施例中按照设定互斥控制方式执行执行作业的具体过程;

图7为本发明实施例中作业调度装置的示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。

图1为本发明实施例中作业调度方法的流程图,如图1所示,该方法包括:

步骤101,将作业分为多个作业互斥组,所述多个互斥作业组包括一级作业组、二级作业组和三级作业组,其中,一级作业互斥组中的作业能够并行执行,二级作业互斥组中的作业在设定互斥条件下不能并行执行,三级作业互斥组中的作业不能不行执行;

步骤102,获取已经到达运行时刻的作业,确定已经到运行时刻的作业所在的作业互斥组;

步骤103,并行执行所有作业互斥组,其中,对于一级作业互斥组,并行执行该作业互斥组中的作业;对于二级作业互斥组,从该作业互斥组中筛选出在设定互斥条件下,不能并发执行的作业,形成作业互斥子分组,在按照设定互斥控制方式执行作业互斥子分组中的作业的同时,并行执行不在作业互斥子分组中的作业;对于三级作业互斥组,按照设定互斥控制方式执行该作业互斥组中的作业。

在本发明实施例中,将作业分为多个作业互斥组,所述多个互斥作业组包括一级作业组、二级作业组和三级作业组,其中,一级作业互斥组中的作业能够并行执行,二级作业互斥组中的作业在设定互斥条件下不能并行执行,三级作业互斥组中的作业不能不行执行,因此,在执行时,不需要设置作业之前的顺序,只需要根据作业互斥组的级别,并行执行所有作业互斥组,具体包括:对于一级作业互斥组,并行执行该作业互斥组中的作业;对于二级作业互斥组,从该作业互斥组中筛选出在设定互斥条件下,不能并发执行的作业,形成作业互斥子分组,在按照设定互斥控制方式执行作业互斥子分组中的作业的同时,并行执行不在作业互斥子分组中的作业;对于三级作业互斥组,按照设定互斥控制方式执行该作业互斥组中的作业。因此,可处理存在互斥的作业;另外,在执行作业时,采用并行执行作业互斥组的方式,可提高作业调度执行的效率。

图2为本发明实施例中作业分组的流程图,如图2所示,在一实施例中,将作业分为多个作业互斥组,包括:

步骤201:获取所述作业中的所有事件,所述事件的级别包括一级事件、二级事件和三级事件,其中,一级事件为能够并行执行的事件,二级事件为在设定互斥条件下不能并行执行的事件,三级事件为不能并行执行的事件;

步骤202:将包含同一事件的作业,形成一作业互斥组;

步骤203:合并包含同一作业的作业互斥组;

步骤204:对每一作业互斥组,若该作业互斥组中的作业包括三级事件,确定该作业互斥组为三级作业互斥组;若该作业互斥组中的作业只包括二级事件,确定该作业互斥组为二级作业互斥组;若该作业互斥组中的作业只包括一级事件,确定该作业互斥组为一级作业互斥组。

图3为本发明实施例中作业互斥组的示意图,如图3所示,首先,获取所述作业中的所有事件,图3中,有作业1~作业8,一个作业包含多个事件,事件是作业的组成,其中,作业1包括事件A,作业2包括事件B,作业3包括事件B,作业4包括事件C,作业5包括事件C,作业6包括事件D,作业7包括事件D和事件E,作业8包括事件E。

所述事件的级别包括一级事件、二级事件和三级事件,其中,一级事件为能够并行执行的事件,二级事件为在设定互斥条件下不能并行执行的事件,三级事件为不能并行执行的事件

仍以图3为例,事件A在任何情况下都能并发执行,为一级事件;事件B在相同运行日期下不能并发执行,为二级事件;事件E在任何情况下都不能并发执行,为三级事件;事件D也同样的方法确定为二级事件,事件E也同样的方法确定为三级事件。

然后将包含同一事件的作业,形成一作业互斥组,比如图3中,将包含事件A的作业,形成作业互斥组为{作业1};将包含事件B的作业,形成作业互斥组为{作业2、作业3},可以记为第一作业互斥组;包含事件C的作业,形成作业互斥组{作业4、作业5},可以记为第二作业互斥组;包含事件D的作业,形成作业互斥组{作业6、作业7},可以记为第三作业互斥组;包含事件E的作业,形成作业互斥组{作业7、作业8},可以记为第四作业互斥组。

然后,合并包含同一作业的作业互斥组,即对于存在作业交集的互斥作业组,取这些互斥作业组的并集,形成最终的互斥组,比如图3中,第三作业互斥组与第四作业互斥组均包含作业7,故合并这两个作业互斥组,形成合并的第三作业互斥组{作业6、作业7、作业8}。

最后,对每一作业互斥组,若该作业互斥组中的作业包括三级事件,确定该作业互斥组为三级作业互斥组;若该作业互斥组中的作业只包括二级事件,确定该作业互斥组为二级作业互斥组;若该作业互斥组中的作业只包括一级事件,确定该作业互斥组为一级作业互斥组。即按作业互斥组内互斥级别最高准则取值,当一个作业互斥组中的作业出现不同事件的互斥级别时,按事件互斥级别最高准则执行互斥。

具体地,三级作业互斥组,说明该作业互斥组中的作业包括三级事件,但也可以包括二级事件,并且在任何情况下,该作业互斥组内的作业之间存在互斥冲突,不能并行执行。

二级作业互斥组,说明该作业互斥组中的作业只包括二级事件,即在某一互斥条件(如同一运行日期)下,该作业互斥组内的作业之间存在互斥冲突,该类作业间在设定互斥条件下不能并发执行。例如,包含事件M的作业X、作业Y、作业Z和作业Q,如果事件M为二级事件,运行日期为2018年01月01日的作业X和运行日期为2018年01月01日的作业Y的的运行日期相同,若设定互斥条件为相同日期的作业不能并行执行,则作业X和作业Y不能并行执行,但是运行日期为2018年01月01日的作业X和运行日期为2018年01月02日的作业Z就能并行执行;或者运行日期为2018月01月01日(日批)的作业X和运行日期为2018年01月(月批)的作业Q就能并行执行;如果事件M为三级事件,那么作业X和作业Z不能同时执行,并且作业X和作业Q也不能并行执行。

一级作业互斥组,说明该作业互斥组中的作业只包括一级事件,而该作业互斥组中的作业在任何情况下都不产生互斥冲突,均可并发执行。

如图3中,作业6、作业7、作业8配置到第三作业互斥组中,该第三作业互斥组为三级作业互斥组,即作业6、作业7、作业8在任何情况下都互斥。

在一实施例中,在并行执行所有作业互斥组之前,还包括:

判断所有作业互斥组中的作业是否满足执行前提条件,获得判断结果;

并行执行所有作业互斥组,包括:

若所述判断结果为所有作业互斥组中的作业满足执行前提条件,并行执行所有作业互斥组。

在一实施例中,判断所有作业互斥组中的作业是否满足执行前提条件,获得判断结果,包括:

若所有作业互斥组中的作业的父作业是否已经执行成功,且已经获得已经执行成功的父作业的输出参数,则判断结果为所有作业互斥组中的作业满足执行前提条件,否则判断结果为不满足执行前提条件。

具体实施时,作业的父作业是指该作业的执行所依赖的作业,例如,作业1的执行依赖于作业2的执行,那么作业2就是作业1的父作业,那么作业1在执行之前,需要检查作业2是否执行完,且作业2执行完后的输出参数,在获得作业2的输出参数后,可判断作业1满足执行前提条件。

在一实施例中,所述设定互斥控制方式包括:

对同一作业互斥组中的多个作业,重复执行以下步骤,直至该作业互斥组中的所有作业均执行完毕:

该作业互斥组中的未执行的作业同时抢占该作业互斥组的资源,抢占到该作业互斥组资源的作业开始执行,且执行结束后释放该作业互斥组的资源。

具体实施时,以属于同一作业互斥组G的作业1和作业2为例,作业1和作业2互斥,时刻1作业1和作业2恰好都开始启动占用作业互斥组G的资源,作业1在时刻2抢占到作业互斥组G,那么作业2在时刻2只能等待互斥组G空位,待作业1执行完后,且在时刻3作业1释放作业互斥组的资源后,作业2开始抢占作业互斥组G,然后作业2开始执行。

在一实施例中,在并行执行所有作业互斥组之后,还包括:

重复执行以下步骤,直至达到设定执行次数:

判断是否存在未执行成功的作业;

若存在未执行成功的作业,确定未执行成功的作业所在的作业互斥组;

并行执行未执行成功的作业所在的作业互斥组。

具体执行作业时,可以从作业配置参数表中读取作业标识、步骤标识、步骤描述、步骤类型、步骤之间的依赖关系、输入参数等数据,然后开始执行作业。

下面给出一具体实施例,说明本发明提出的作业调度方法的具体应用。

图4为本发明实施例中作业调度系统的示意图,如图4所示,该系统包括作业调度单元,源数据库和目标数据库,其中,作业调度单元用于检查源数据库的作业的分组情况,依据互斥分组情况,占用相应的调度分组,同时触发目标数据库执行作业;目标数据库被触发后,由目标数据库从源数据库1获取作业,并执行,在作业执行结束后,目标数据库把执行状态传给作业调度单元;作业调度单元获取作业执行完成的信息后,释放作业所在的作业互斥组。

作业调度单元包括了互斥总控单元、互斥组占用单元、作业检查单元、作业总控单元、互斥组退出单元。

其中,互斥总控单元,负责作业互斥组的创建、更新、清理等操作,具体地,互斥总控单元将会维护互斥参数表、和互斥组状态监控表、作业参数表和作业配置参数表,所述互斥参数表包含多个互斥参数,所述互斥参数包括作业号、作业类型、作业互斥组号、所在作业互斥组的级别、描述说明;所述互斥组状态监控表包含多个互斥状态,所述互斥状态包括作业互斥组号、状态位(用于描述该作业互斥组是否被占用,若该作业互斥组被占用,则该状态有占用的作业号,若该作业互斥组没有被占用,则该状态位没有作业号)、运行条件标识(如运行日期)、信息备注、互斥级别等字段;作业参数表包括作业标识、名称、所在作业互斥组号、所在作业互斥组的级别;所述作业配置参数表包括包括作业号、步骤标识、步骤描述、步骤类型、步骤之间的依赖关系和输入参数。

互斥组占用单元,负责读取互斥总控单元中的互斥组状态监控表中的互斥状态,判断互斥组是否被占用,并返回相应的状态码,例如,当检查到作业互斥组1的状态码为1,则作业互斥组1正在已经被占用了,现在不能被占用,当检查到作业互斥组1的状态码为0,则作业互斥组1现在没有被占用,可以被占用。

作业检查单元,负责轮询检查源数据库1的作业,包括是否已经到达运行时刻,是否满足执行前提条件。

作业总控单元,用于根据互斥参数表、作业参数表等调用作业检查单元检查满足执行前提条件的作业;获取作业配置参数表中的参数,将其发送至目标数据库;调用互斥总控单元执行互斥组占用单元进行作业的资源分配,然后执行作业步骤,执行结束后执行互斥组退出单元,进行作业的资源释放、异常处理、预警等。

互斥组退出单元,负责读取互斥总控单元中的互斥状态,判断互斥组是否需要退出、执行退出并校验是否已经退出等操作,并返回相应的状态码。

图5为本发明实施例中利用作业调度系统进行作业调度的具体过程,如图5所示,该具体过程包括:

步骤501:作业分组。根据图2所示作业分组过程,互斥总控单元将作业分为多个作业互斥组,确定作业互斥组的级别,然后将作业号与作业互斥组号、作业互斥组的级别等参数分别填入互斥参数表、互斥组状态监控表、作业参数表和作业配置参数表,其中上述表格由互斥总控单元进行维护。

步骤502:准备数据预处理。互斥总控单元和作业总控单元进行准备数据的预处理,开始由作业检查单元轮询源数据库,并触发作业执行工作。

步骤503:作业检查单元轮询作业,获取已经到达运行时刻的作业,确定已经到运行时刻的作业所在的作业互斥组。

步骤504:执行前提条件判断。作业总控单元调用作业检查单元判断所有作业互斥组中的作业是否满足执行前提条件,获得判断结果;若所述判断结果为所有作业互斥组中的作业满足执行前提条件,则进入步骤505,否则停留在此步骤,循环判断。

所述执行前提条件的判断过程为:若所有作业互斥组中的作业的父作业是否已经执行成功,且已经获得已经执行成功的父作业的输出参数,则判断结果为所有作业互斥组中的作业满足执行前提条件,否则判断结果为不满足执行前提条件。

步骤505:并行执行所有作业互斥组,具体包括:

对于一级作业互斥组,该类作业互斥组中的作业在任何情况下均可并行执行,因此,作业总控单元获取作业配置参数表中的参数,将其发送至目标数据库,并行执行该作业互斥组中的作业。

对于二级作业互斥组,首先互斥总控单元从该作业互斥组中筛选出在设定互斥条件下,不能并发执行的作业,形成作业互斥子分组。作业总控单元在按照设定互斥控制方式执行作业互斥子分组中的作业的同时,并行执行不在作业互斥子分组中的作业,执行过程中,同样需要调用作业配置参数表中的参数,并将其发送至目标数据库,并行执行该作业互斥组中的作业。

对于三级作业互斥组,作业总控单元按照设定互斥控制方式执行该作业互斥组中的作业。

若状态位的值等于作业号,则返回被作业占用的标识如果状态位的值等于初始化值,则返回未被占用的标识,更新互斥组状态监控的状态位为当前作业若返回值为其他值,则返回异常标识,退出流程。

步骤506:重复执行作业。在并行执行所有作业互斥组之后,重复执行以下步骤,直至达到设定执行次数:判断是否存在未执行成功的作业;若存在未执行成功的作业,确定未执行成功的作业所在的作业互斥组;按照步骤505并行执行未执行成功的作业所在的作业互斥组。

步骤507:退出当前作业执行工作,回到步骤502,等待下一次触发。

对于二级作业互斥组和三级作业互斥组,图6为本发明实施例中按照设定互斥控制方式执行执行作业的具体过程,如图6所示,该具体过程包括:

步骤601:判断作业互斥组内作业数。对每一作业,作业总控单元调用互斥总控单元判断该作业所在作业互斥组中只有该作业(在执行步骤506中可能会出现一个作业互斥组中只有一个作业的情况,即某个作业互斥中只有一个未被执行的作业),若只有该作业,则将该作业对应的作业配置参数表中的参数直接发送值目标数据库,目标数据库执行该作业,若该作业所在作业互斥组中的作业数大于1,则进入步骤602。

步骤602:判断是否超过了执行次数。对每一作业,判断对该作业所在互斥组的互斥状态的检查的次数是否达到了设定次数,若达到了设定次数,写超时日志,发出预警信息,以避免该作业频繁占用有限的计算机资源,在判断后增加延时等待再进入步骤603;若没有达到设定次数,进入步骤603。

步骤603:互斥状态判断。互斥总控单元调用互斥组占用单元进行该作业所在互斥组的互斥状态的检查,互斥组占用单元检查时,读取互斥参数表、作业参数表和互斥组状态监控表,通过状态位判断该作业所在的作业互斥组是否被占用,若状态位的值等于为一个作业号,则返回被作业占用的标识;如果状态位的值等于初始化值,则返回未被占用的标识,更新互斥组状态监控的状态位为当前作业;若返回值为其他值,则返回异常标识,退出流程。

步骤604:作业抢占作业互斥组的资源。若返回未被占用的标识,则该作业去抢占该作业互斥组的资源,若抢占成功,则作业总控单元读取作业配置参数表中的该作业的参数,发送至目标数据库;

步骤605:作业执行。目标数据库执行该作业;执行完成后,将执行结果返回作业总控单元和互斥总控单元;

步骤606:作业互斥组资源释放。互斥总控单元调用互斥组退出单元释放被占用的作业互斥组的资源。

步骤607:循环执行未执行的作业。互斥总控单元再针对未执行的作业重复执行步骤601至步骤606,直至执行二级作业互斥组和三级作业互斥组中的作业全部执行完毕。

可以看出,在本发明实施例中提出的作业调度方法中,将作业分为多个作业互斥组,所述多个互斥作业组包括一级作业组、二级作业组和三级作业组,其中,一级作业互斥组中的作业能够并行执行,二级作业互斥组中的作业在设定互斥条件下不能并行执行,三级作业互斥组中的作业不能不行执行,因此,在执行时,不需要设置作业之前的顺序,只需要根据作业互斥组的级别,并行执行所有作业互斥组,具体包括:对于一级作业互斥组,并行执行该作业互斥组中的作业;对于二级作业互斥组,从该作业互斥组中筛选出在设定互斥条件下,不能并发执行的作业,形成作业互斥子分组,在按照设定互斥控制方式执行作业互斥子分组中的作业的同时,并行执行不在作业互斥子分组中的作业;对于三级作业互斥组,按照设定互斥控制方式执行该作业互斥组中的作业。因此,可处理存在互斥的作业;另外,在执行作业时,采用并行执行作业互斥组的方式,可提高作业调度执行的效率。

基于同样的发明构思,本发明实施例还提供了一种作业调度装置,如下面的实施所述。由于这些解决问题的原理与作业调度方法相似,因此装置的实施可以参见方法的实施,重复之处不在赘述。

图7为本发明实施例中作业调度装置的示意图,如图7所示,该装置包括:

作业分组模块701,用于将作业分为多个作业互斥组,所述多个互斥作业组包括一级作业组、二级作业组和三级作业组,其中,一级作业互斥组中的作业能够并行执行,二级作业互斥组中的作业在设定互斥条件下不能并行执行,三级作业互斥组中的作业不能不行执行;

待执行作业获取模块702,用于获取已经到达运行时刻的作业,确定已经到运行时刻的作业所在的作业互斥组;

执行模块703,用于并行执行所有作业互斥组,其中,对于一级作业互斥组,并行执行该作业互斥组中的作业;对于二级作业互斥组,从该作业互斥组中筛选出在设定互斥条件下,不能并发执行的作业,形成作业互斥子分组,在按照设定互斥控制方式执行作业互斥子分组中的作业的同时,并行执行不在作业互斥子分组中的作业;对于三级作业互斥组,按照设定互斥控制方式执行该作业互斥组中的作业。

在一实施例中,作业调度装置还包括:

判断模块704,用于:

判断所有作业互斥组中的作业是否满足执行前提条件,获得判断结果;

执行模块703具体用于:

若所述判断结果为所有作业互斥组中的作业满足执行前提条件,并行执行所有作业互斥组。

在一实施例中,作业调度装置还包括:

循环执行模块705,用于:

重复执行以下步骤,直至达到设定执行次数:

判断是否存在未执行成功的作业;

若存在未执行成功的作业,确定未执行成功的作业所在的作业互斥组;

并行执行未执行成功的作业所在的作业互斥组。

综上所述,在本发明提出的作业调度装置中,将作业分为多个作业互斥组,所述多个互斥作业组包括一级作业组、二级作业组和三级作业组,其中,一级作业互斥组中的作业能够并行执行,二级作业互斥组中的作业在设定互斥条件下不能并行执行,三级作业互斥组中的作业不能不行执行,因此,在执行时,不需要设置作业之前的顺序,只需要根据作业互斥组的级别,并行执行所有作业互斥组,具体包括:对于一级作业互斥组,并行执行该作业互斥组中的作业;对于二级作业互斥组,从该作业互斥组中筛选出在设定互斥条件下,不能并发执行的作业,形成作业互斥子分组,在按照设定互斥控制方式执行作业互斥子分组中的作业的同时,并行执行不在作业互斥子分组中的作业;对于三级作业互斥组,按照设定互斥控制方式执行该作业互斥组中的作业。因此,可处理存在互斥的作业;另外,在执行作业时,采用并行执行作业互斥组的方式,可提高作业调度执行的效率。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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