任务调度方法及装置与流程

文档序号:12363145阅读:146来源:国知局
任务调度方法及装置与流程

本发明涉及计算机技术领域,具体而言,涉及一种任务调度方法及装置。



背景技术:

在计算机系统中,通常涉及多个任务的调度和执行,计算机系统调度各个任务,从而触发各个任务启动并开始执行。

任务通常存在于任务队列中,现有技术中,通常根据任务在任务队列中的先后顺序调度各个任务,比如,任务B先进入任务队列,任务A后进入任务队列,在任务队列中,任务B位于任务A之前,则计算机系统先调用任务B,后调用任务A。然而有些场合下,各个任务之间存在依赖关系,某个任务的执行需要依赖其他任务的执行结果,现有技术在调度各个任务时,没有考虑到各个任务之间的依赖关系,若调度当前任务时,当前任务的依赖任务没有执行完成,则很可能导致当前任务执行错误。

可见,现有技术在调度各个任务时,没有考虑到各个任务之间的依赖关系,很可能造成任务执行错误。



技术实现要素:

有鉴于此,本发明的目的在于提供一种任务调度方法及装置,根据各个任务之间的依赖关系进行任务调度,保证任务执行的准确性。

第一方面,本发明实施例提供了一种任务调度方法,所述方法包括:接收当前任务的执行完成指令;在接收到所述当前任务的执行完成指令时,检测所述当前任务的执行结果的正确性和完整性;若所述当前任务的执行结果正确并且完整,则调用所述当前任务的下一个任务,否则,中止操作,生成执行结果错误信息并发送出去,其中,各个任务的调用顺序根据各个任务之间的依赖关系确定。

结合第一方面,本发明实施例提供了第一方面第一种可能的实施方式,其中,调用所述当前任务的下一个任务,包括:检测所述当前任务的下一个任务的数据是否准备完成以及所述下一个任务的执行环境是否可用;若所述下一个任务的数据准备完成且所述下一个任务的执行环境可用,则为所述下一个任务分配服务器资源,触发所述下一个任务启动,否则,中止操作,生成启动错误信息并发送出去。

结合第一方面第一种可能的实施方式,本发明实施例提供了第一方面第二种可能的实施方式,其中,为所述下一个任务分配服务器资源,包括:将所述下一个任务确定为处于等待状态的任务,检测是否存在除所述下一个任务以外的其他处于等待状态的任务;若不存在,则将当前可用的服务器资源分配至所述下一个任务;若存在,则检测各个所述处于等待状态的任务是否为首次执行,根据检测结果为各个所述处于等待状态的任务分配服务器资源。

结合第一方面第二种可能的实施方式,本发明实施例提供了第一方面第三种可能的实施方式,其中,根据检测结果为各个所述处于等待状态的任务分配服务器资源,包括:若各个所述处于等待状态的任务均为首次执行,则将当前可用的服务器资源平均分配至各个所述处于等待状态的任务;若各个所述处于等待状态的任务均为非首次执行,则将各个所述处于等待状态的任务的前次执行所用时长作为各个所述处于等待状态的任务的资源权重,按照各个所述处于等待状态的任务的资源权重为各个所述处于等待状态的任务分配服务器资源;若各个所述处于等待状态的任务部分为首次执行,则将各个执行过的所述处于等待状态的任务的前次执行所用时长的平均值作为各个未执行过的所述处于等待状态的任务的前次执行所用时长,将各个所述处于等待状态的任务的前次执行所用时长作为各个所述处于等待状态的任务的资源权重,按照各个所述处于等待状态的任务的资源权重为各个所述处于等待状态的任务分配服务器资源。

结合第一方面第一种可能的实施方式,本发明实施例提供了第一方面第四种可能的实施方式,其中,在触发所述下一个任务启动之后,所述方法还包括:接收所述下一个任务在执行过程中生成的执行错误信息;在接收到所述执行错误信息时,中止操作,将所述执行错误信息发送出去。

第二方面,本发明实施例提供了一种任务调度装置,所述装置包括:指令接收模块,用于接收当前任务的执行完成指令;检测模块,用于在接收到所述当前任务的执行完成指令时,检测所述当前任务的执行结果的正确性和完整性;任务调用模块,用于若所述当前任务的执行结果正确并且完整,则调用所述当前任务的下一个任务,否则,中止操作,生成执行结果错误信息并发送出去,其中,各个任务的调用顺序根据各个任务之间的依赖关系确定。

结合第二方面,本发明实施例提供了第二方面第一种可能的实施方式,其中,所述任务调用模块包括:前置检测单元,用于检测所述当前任务的下一个任务的数据是否准备完成以及所述下一个任务的执行环境是否可用;资源分配单元,用于若所述下一个任务的数据准备完成且所述下一个任务的执行环境可用,则为所述下一个任务分配服务器资源,触发所述下一个任务启动,否则,中止操作,生成启动错误信息并发送出去。

结合第二方面第一种可能的实施方式,本发明实施例提供了第二方面第二种可能的实施方式,其中,所述资源分配单元包括:任务检测子单元,用于将所述下一个任务确定为处于等待状态的任务,检测是否存在除所述下一个任务以外的其他处于等待状态的任务;第一分配子单元,用于若不存在,则将当前可用的服务器资源分配至所述下一个任务;第二分配子单元,用于若存在,则检测各个所述处于等待状态的任务是否为首次执行,根据检测结果为各个所述处于等待状态的任务分配服务器资源。

结合第二方面第二种可能的实施方式,本发明实施例提供了第二方面第三种可能的实施方式,其中,所述第二分配子单元具体用于:若各个所述处于等待状态的任务均为首次执行,则将当前可用的服务器资源平均分配至各个所述处于等待状态的任务;若各个所述处于等待状态的任务均为非首次执行,则将各个所述处于等待状态的任务的前次执行所用时长作为各个所述处于等待状态的任务的资源权重,按照各个所述处于等待状态的任务的资源权重为各个所述处于等待状态的任务分配服务器资源;若各个所述处于等待状态的任务部分为首次执行,则将各个执行过的所述处于等待状态的任务的前次执行所用时长的平均值作为各个未执行过的所述处于等待状态的任务的前次执行所用时长,将各个所述处于等待状态的任务的前次执行所用时长作为各个所述处于等待状态的任务的资源权重,按照各个所述处于等待状态的任务的资源权重为各个所述处于等待状态的任务分配服务器资源。

结合第二方面第一种可能的实施方式,本发明实施例提供了第二方面第四种可能的实施方式,其中,所述任务调用模块还包括:错误信息接收单元,用于在所述资源分配单元触发所述下一个任务启动后,接收所述下一个任务在执行过程中生成的执行错误信息;错误信息发送单元,用于在接收到所述执行错误信息时,中止操作,将所述执行错误信息发送出去。

本发明实施例中,在接收到当前任务的执行完成指令时,检测当前任务的执行结果的正确性和完整性,若当前任务的执行结果正确并且完整,则调用当前任务的下一个任务,其中,各个任务的调用顺序根据各个任务之间的依赖关系确定。由于各个任务的调用顺序根据各个任务之间的依赖关系确定,因此通过本发明实施例中的方法及装置,能够根据各个任务之间的依赖关系进行任务调度,从而保证任务执行的准确性,缓解现有技术在调度各个任务时,没有考虑到各个任务之间的依赖关系,很可能造成任务执行错误的问题。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了本发明实施例所提供的任务调度方法的第一种流程示意图;

图2示出了本发明实施例所提供的任务调度方法的第二种流程示意图;

图3示出了本发明实施例所提供的任务调度装置的第一种模块组成示意图;

图4示出了本发明实施例所提供的任务调度装置的第二种模块组成示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

考虑到现有技术在调度各个任务时,没有考虑到各个任务之间的依赖关系,很可能造成任务执行错误的问题,本发明提供了一种任务调度方法及装置,下面结合实施例进行具体描述。

图1示出了本发明实施例所提供的任务调度方法的第一种流程示意图,该方法能够由计算机系统中的调度中心执行,如图1所示,该方法包括以下步骤:

步骤S102,接收当前任务的执行完成指令。

本实施例中,每个任务执行完成后,均向调度中心发送执行完成指令。调度中心设置有执行完成指令接收端口,用于接收各个任务发送的执行完成指令。

步骤S104,在接收到当前任务的执行完成指令时,检测当前任务的执行结果的正确性和完整性。

在调度中心接收到当前任务的执行完成指令时,检测当前任务的执行结果的正确性和完整性。比如,当前任务为项目收益统计,具体需要统计项目中每个子项目的收益,以及所有子项目的收益和,将所有子项目的收益和作为项目的收益,当前任务的执行结果包括每个子项目的收益、所有子项目的收益和、以及项目的收益,检测当前任务的执行结果的正确性时,可以检测当前任务的执行结果中所有子项目的收益和与项目的收益是否相等,以避免当前任务的执行过程中项目的收益计算错误,检测当前任务的执行结果的完整性时,可以检测当前任务的执行结果中包括的各个子项目是否均对应有收益数据,以避免当前任务的执行过程中遗漏计算某个子项目的收益。

由于针对不同的任务,需要不同的方式检测其执行结果的正确性和完整性,因此这里不做一一限定,本领域普通技术人员公知的能够检测任务的执行结果的正确性和完整性的方案均在本步骤的限定范围内。

步骤S106,若当前任务的执行结果正确并且完整,则调用当前任务的下一个任务,否则,中止操作,生成执行结果错误信息并发送出去,其中,各个任务的调用顺序根据各个任务之间的依赖关系确定。

本实施例中,根据各个任务之间的依赖关系确定各个任务的调用顺序,具体地,获取各个任务之间的依赖关系,其中,各个任务之间的依赖关系能够由开发人员设定,调度中心获取开发人员设定的各个任务之间的依赖关系,调度中心根据各个任务之间的依赖关系确定各个任务的调用顺序,比如,任务B依赖任务A,任务C依赖任务B,则调度中心设定各个任务的调用顺序为任务A、任务B、任务C。

当调度中心检测到当前任务的执行结果正确并且完整时,调度中心调用当前任务的下一个任务,其中,当前任务的下一个任务由各个任务之间的调用顺序决定,比如上例中,当前任务为任务A,当任务A的执行结果正确并且完整时,调度中心调用任务B。

当调度中心检测到当前任务的执行结果正确但是不完整,或者完整但是不正确,或者既不正确又不完整时,调度中心中止操作,停止任务调度过程,生成执行结果错误信息发送出去,其中,执行结果错误信息包括当前任务的标识和执行结果错误原因,执行结果错误原因可以是执行结果不正确、或者执行结果不完整、或者执行结果既不正确又不完整。调度中心优选将执行结果错误信息以邮件和/或短信的形式发送至相关负责人,从而使相关负责人了解是哪个任务的执行结果出现错误,以及错误原因是什么。

本实施例中,通过检测当前任务的执行结果的正确性和完整性,并根据检测结果向相关负责人发送执行结果错误信息,能够在任务的执行结果出现错误时,使相关负责人第一时间获知是哪个任务的执行结果出现错误,以及具体的错误原因,从而便于相关负责人进行错误处理工作,提高相关负责人的错误处理效率。

本发明实施例中,在接收到当前任务的执行完成指令时,检测当前任务的执行结果的正确性和完整性,若当前任务的执行结果正确并且完整,则调用当前任务的下一个任务,其中,各个任务的调用顺序根据各个任务之间的依赖关系确定。由于各个任务的调用顺序根据各个任务之间的依赖关系确定,因此通过本发明实施例中的方法,能够根据各个任务之间的依赖关系进行任务调度,从而保证任务执行的准确性,缓解现有技术在调度各个任务时,没有考虑到各个任务之间的依赖关系,很可能造成任务执行错误的问题。

上述步骤S106中,调用当前任务的下一个任务,具体包括以下子步骤S1061至子步骤S1062:

子步骤S1061,检测当前任务的下一个任务的数据是否准备完成以及该下一个任务的执行环境是否可用。

调度中心检测当前任务的下一个任务的数据是否准备完整以及该下一个任务的执行环境是否可用。比如,下一个任务用于计算各个子项目的收益以及项目收益,则调度中心需要准备计算各个子项目的收益时所需要的数据,以及需要准备计算项目收益时所需要的数据,当下一个任务计算各个子项目的收益时,需要其他系统的协助,因此调度中心还需要检测其他系统是否准备完成,当其他系统准备完成时,确认该下一个任务的执行环境可用。

子步骤S1062,若该下一个任务的数据准备完成且该下一个任务的执行环境可用,则为该下一个任务分配服务器资源,触发该下一个任务启动,否则,中止操作,生成启动错误信息并发送出去。

当调度中心检测到该下一个任务的数据准备完成且该下一个任务的执行环境可用时,则调度中心为该下一个任务分配服务器资源,触发该下一个任务启动,当调度中心检测到该下一个任务的数据没有准备完成,或者该下一个任务的执行环境不可用,或者该下一个任务的数据没有准备完成且该下一个任务的执行环境不可用时,调度中心中止操作,停止任务调度过程,生成启动错误信息发送出去,其中,启动错误信息包括下一个任务的标识和启动错误原因,启动错误原因可以是数据没有准备完成、或者执行环境不可用、或者数据没有准备完成且执行环境不可用。调度中心优选将启动错误信息以邮件和/或短信的形式发送至相关负责人,从而使相关负责人了解是哪个任务的启动出现错误,以及错误原因是什么。

本实施例中,通过检测下一个任务的数据是否准备完成以及下一个任务的执行环境是否可用,并根据检测结果向相关负责人发送启动错误信息,能够在任务启动出现错误时,使相关负责人第一时间获知是哪个任务的启动出现错误,以及具体的错误原因,从而便于相关负责人进行错误处理工作,提高相关负责人的错误处理效率。

上述子步骤S1062中,为下一个任务分配服务器资源,具体包括以下动作(1)至(3):

(1)将下一个任务确定为处于等待状态的任务,检测是否存在除下一个任务以外的其他处于等待状态的任务;

(2)若不存在,则将当前可用的服务器资源分配至下一个任务;

(3)若存在,则检测各个处于等待状态的任务是否为首次执行,根据检测结果为各个处于等待状态的任务分配服务器资源。

动作(1)中,当某个任务的上一个任务执行完成,并且执行结果完整正确时,将该某个任务确定为处于等待状态的任务。由于当前任务的执行结果完整正确,因此调度中心将下一个任务确定为处于等待状态的任务,调度中心检测是否存在除下一个任务以外的其他处于等待状态的任务。比如,当前任务为任务A,任务A的下一个任务为任务B,则任务B是处于等待状态的任务,系统内还存在任务C,任务C的下一个任务为任务D,当任务A执行完成之后,任务C也执行完成,并且任务C的执行结果既正确又完整,此时,任务D也是处于等待状态的任务。

动作(2)中,若只有该下一个任务是处于等待状态的任务,则调度中心将当前可用的服务器资源全部分配至该下一个任务。

动作(3)中,若存在除该下一个任务以外的其他处于等待状态的任务,则调度中心检测各个处于等待状态的任务是否为首次执行,根据检测结果为各个处于等待状态的任务分配服务器资源,由于上述下一个任务是处于等待状态的任务,因此调度中心为各个处于等待状态的任务分配服务器资源时,也同时为上述下一个任务分配了服务器资源。

动作(3)中,根据检测结果为各个处于等待状态的任务分配服务器资源具体包括以下子动作:

(31)若各个处于等待状态的任务均为首次执行,则将当前可用的服务器资源平均分配至各个处于等待状态的任务。

在某些计算机系统中,各个任务需要循环执行,比如执行顺序为:任务A-任务B-任务C-任务A-任务B-任务C-任务A,依次下去,调度中心检测各个处于等待状态的任务是否为首次执行,若均为首次执行,则将当前可用的服务器资源平均分配至各个处于等待状态的任务。

(32)若各个处于等待状态的任务均为非首次执行,则将各个处于等待状态的任务的前次执行所用时长作为各个处于等待状态的任务的资源权重,按照各个处于等待状态的任务的资源权重为各个处于等待状态的任务分配服务器资源。

若调度中心检测到各个处于等待状态的任务均为非首次执行,则调度中心将各个处于等待状态的任务的前次执行所用时长作为各个处于等待状态的任务的资源权重,按照各个处于等待状态的任务的资源权重为各个处于等待状态的任务分配服务器资源,比如,当前可用的服务器资源有4台服务器,任务A的前次执行所用时长为4分钟,任务B的前次执行所用时长为2分钟,任务C的前次执行所用时长为2分钟,则调度中心确定任务A的资源权重为4,任务B的资源权重为2,任务C的资源权重为2,调度中心为任务A分配两台服务器,为任务B和任务C均分配1台服务器。

(33)若各个处于等待状态的任务部分为首次执行,则将各个执行过的处于等待状态的任务的前次执行所用时长的平均值作为各个未执行过的处于等待状态的任务的前次执行所用时长,将各个处于等待状态的任务的前次执行所用时长作为各个处于等待状态的任务的资源权重,按照各个处于等待状态的任务的资源权重为各个处于等待状态的任务分配服务器资源。

具体地,若调度中心检测到各个处于等待状态的任务部分为首次执行,部分为非首次执行,则调度中心计算各个执行过的处于等待状态的任务的前次执行所用时长的平均值,将该平均值作为各个未执行过的处于等待状态的任务的前次执行所用时长,然后调度中心按照子动作(32)中的方法,将各个处于等待状态的任务的前次执行所用时长作为各个处于等待状态的任务的资源权重,按照各个处于等待状态的任务的资源权重为各个处于等待状态的任务分配服务器资源。

本实施例中,还能够根据开发人员设定的资源权重为任务分配服务器资源,比如开发人员指定某个任务的资源权重为2,则调度中心根据该任务的资源权重和其他处于等待状态的任务的资源权重为该任务分配服务器资源。

本实施例中,将各个处于等待状态的任务的前次执行所用时长作为各个处于等待状态的任务的资源权重,按照各个处于等待状态的任务的资源权重为各个处于等待状态的任务分配服务器资源,能够实现服务器资源的最大化利用,提高任务处理效率,缩短任务处理时间。

考虑到任务执行过程中可能会报错,为了让开发人员在第一时间获知任务在执行过程中的报错情况,在上述子步骤S1062中,在触发该下一个任务启动之后,还包括:

(a)接收下一个任务在执行过程中生成的执行错误信息;

(b)在接收到该执行错误信息时,中止操作,将该执行错误信息发送出去。

具体地,调度中心设置有执行错误信息接收端口,用于接收各个任务在执行过程中发送的执行错误信息,在调度中心接收到执行错误信息时,调度中心中止操作,停止任务执行,将该执行错误信息发送出去,其中,执行错误信息包括该下一个任务的标识和执行错误原因,调度中心优选将执行错误信息以邮件和/或短信的形式发送至相关负责人,从而使相关负责人了解是哪个任务的执行出现错误,以及错误原因是什么。

本实施例中,通过接收任务的执行错误信息并发送出去,能够在任务执行错误时,使相关负责人第一时间获知是哪个任务的执行出现错误,以及具体的错误原因,从而便于相关负责人进行错误处理工作,提高相关负责人的错误处理效率。

本实施例中的任务调度方法既适用于单线程的任务调度,又适用于多线程的任务调度,当用于多线程的任务调度时,将本实施例中的方法分别用于每个线程中,从而达到任务调度目的。

基于上述分析可知,与现有技术相比,本发明实施例提供的任务调度方法,具有资源利用最大化、任务依赖关系清晰、执行过程中错误通知及时、无需人工分配服务器资源、任务不间断执行等优势,能够快速有效的完成多任务的自动化调度与错误通知。

为了更清楚的描述本实施例中的任务调度过程,下面以并行任务的调度过程为例,结合图2说明本实施例中的任务调度方法的任务调度过程,图2共涉及六个任务,分别是任务A、任务B、任务C、任务D、任务E和任务F,任务A、任务B、任务C、任务D和任务E、任务F为并行执行的任务链,其执行过程为任务A—任务B—任务C或任务D,任务E—任务F,其中,任务C和任务D并列执行。

如图2所示,任务调度过程包括:

步骤S301,调度中心检测任务A的数据是否准备完成以及执行环境是否可用。

步骤S301’,调度中心检测任务E的数据是否准备完成以及执行环境是否可用

步骤S302,当任务A的数据准备完成以及执行环境可用时,调度中心为任务A分配资源,调度中心启动任务A开始执行;

步骤S302’,当任务E的数据准备完成以及执行环境可用时,调度中心为任务E分配资源,调度中心启动任务E开始执行;

步骤S303,当任务A执行完成后,调度中心检测任务A的执行结果的正确性和完整性。

步骤S303’,当任务E执行完成后,调度中心检测任务E的执行结果的正确性和完整性。

步骤S304,当任务A的执行结果正确并完整时,调度中心按照上述步骤继续调度任务B,并在任务B的执行结果正确并完整时,调度中心按照上述步骤继续调度任务C和任务D,直至任务C和任务D都执行完成。

步骤S304’,当任务E的执行结果正确并完整时,调度中心按照上述步骤继续调度任务F,直至任务F执行完成。

总之,单个任务的调度过程包括三个阶段,(1)任务开始执行之前的数据准备和执行环境的检测,(2)触发任务开始运行,(3)任务执行结束后检验任务执行结果的正确性和完整性。各个任务之间的调度顺序按照各个任务之间的执行顺序决定,各个任务之间的执行顺序由各个任务之间的依赖关系决定。需要说明的是,在任务的数据没有准备完成或者执行环境不可用时,调度中心向相关负责人发送启动错误信息,在调度中心接收到任务执行过程中发送的执行错误信息时,调度中心将执行错误信息发送至相关负责人,在任务的执行结果不正确或者不完整时,调度中心向相关人员发送执行结果错误信息,由于图2重点在于体现任务的调度过程,因此省去错误信息发送过程未示出。

对应上述的任务调度方法,本发明实施例还提供了一种任务调度装置,如图3所示,该装置包括:

指令接收模块21,用于接收当前任务的执行完成指令;

检测模块22,用于在接收到当前任务的执行完成指令时,检测当前任务的执行结果的正确性和完整性;

任务调用模块23,用于若当前任务的执行结果正确并且完整,则调用当前任务的下一个任务,否则,中止操作,生成执行结果错误信息并发送出去,其中,各个任务的调用顺序根据各个任务之间的依赖关系确定。

如图4所示,上述任务调用模块23包括:前置检测单元231,用于检测当前任务的下一个任务的数据是否准备完成以及下一个任务的执行环境是否可用;资源分配单元232,用于若下一个任务的数据准备完成且下一个任务的执行环境可用,则为下一个任务分配服务器资源,触发下一个任务启动,否则,中止操作,生成启动错误信息并发送出去。

其中,资源分配单元232包括:任务检测子单元,用于将下一个任务确定为处于等待状态的任务,检测是否存在除下一个任务以外的其他处于等待状态的任务;第一分配子单元,用于若不存在,则将当前可用的服务器资源分配至下一个任务;第二分配子单元,用于若存在,则检测各个处于等待状态的任务是否为首次执行,根据检测结果为各个处于等待状态的任务分配服务器资源。

其中,第二分配子单元具体用于:若各个处于等待状态的任务均为首次执行,则将当前可用的服务器资源平均分配至各个处于等待状态的任务;若各个处于等待状态的任务均为非首次执行,则将各个处于等待状态的任务的前次执行所用时长作为各个处于等待状态的任务的资源权重,按照各个处于等待状态的任务的资源权重为各个处于等待状态的任务分配服务器资源;若各个处于等待状态的任务部分为首次执行,则将各个执行过的处于等待状态的任务的前次执行所用时长的平均值作为各个未执行过的处于等待状态的任务的前次执行所用时长,将各个处于等待状态的任务的前次执行所用时长作为各个处于等待状态的任务的资源权重,按照各个处于等待状态的任务的资源权重为各个处于等待状态的任务分配服务器资源。

本发明实施例中,在接收到当前任务的执行完成指令时,检测当前任务的执行结果的正确性和完整性,若当前任务的执行结果正确并且完整,则调用当前任务的下一个任务,其中,各个任务的调用顺序根据各个任务之间的依赖关系确定。由于各个任务的调用顺序根据各个任务之间的依赖关系确定,因此通过本发明实施例中的装置,能够根据各个任务之间的依赖关系进行任务调度,从而保证任务执行的准确性,缓解现有技术在调度各个任务时,没有考虑到各个任务之间的依赖关系,很可能造成任务执行错误的问题。

如图4所示,上述任务调用模块23还包括:错误信息接收单元233,用于在资源分配单元触发下一个任务启动后,接收下一个任务在执行过程中生成的执行错误信息;错误信息发送单元234,用于在接收到执行错误信息时,中止操作,将执行错误信息发送出去。

本实施例中,通过接收任务的执行错误信息并发送出去,能够在任务执行错误时,使相关负责人第一时间获知是哪个任务的执行出现错误,以及具体的错误原因,从而便于相关负责人进行错误处理工作,提高相关负责人的错误处理效率。

本发明实施例所提供的任务调度装置可以为设备上的特定硬件或者安装于设备上的软件或固件等。本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,前述描述的系统、装置和单元的具体工作过程,均可以参考上述方法实施例中的对应过程,在此不再赘述。

在本发明所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

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