一种任务调度方法及系统与流程

    专利2022-07-08  148


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



    背景技术:

    现有技术中通常为了实现电网调度运行数字化智慧化,建设省地实时系统数据接入平台,结合多源信息融合的状态监测,制定输、变、配各专业现场数据的统一接入;结合调度运行实时数据及管理信息系统实现多源融合,融入三维建模及全息实时渲染展示技术,支撑大数据分析和智能应用。

    以至于电网平台存储的大量的数据并承载了多种业务,是电网安全生产的重要保障。其中所涉及的业务包括电力系统的电网继网、指挥调度以及信息传输等业务。这些业务的运行情况关系到电网能否正常运行,因此,需要更好的调度算法对任务进行合理的调度。

    同时大数据平台需具备可平行扩展的海量分布式的离线数据处理和实时流数据处理能力。实时数据处理模块具备可视化、配置化的数据处理操作,从而实现免编程的用户自定义数据处理。从而支持多种业务数据集中处理。这样的大数据平台通常需要支持多处理机并行任务调度,但如何提高执行效率,更好的实现计算的负载均衡,满足弹性流式处理机制,一直是工程师所要解决的技术问题。



    技术实现要素:

    为解决上述技术问题,本发明提供了一种任务调度方法及系统。本发明通过构建多种任务调度框架,实现了任务的快速有序执行。

    本发明提供的技术方案为:

    一种任务调度方法,包括:

    构建多种任务调度框架;

    获取多个待执行任务,判断多个待执行任务类型;

    根据待执行任务类型选择相应的任务调度框架;

    在任务调度框架中,对任务进行处理。

    优选地,所述获取多个待执行任务后还包括:对多个待执行任务分别设置任务标识,该任务标识包括任务在调度过程中所需的配置参数信息,以及特殊标记。配置参数信息的优点在于,提前对调度的任务进行分析,分析的过程即生成配置参数信息的过程,配置参数信息包括:申请线程、处理数据的线程、服务器等执行任务所需的材料。

    优选地,所述对多个待执行任务分别设置任务标识后还包括:将待执行任务添加到任务池中,所述任务池中设置有识别算法,该识别算法根据任务标识对该任务选择任务调度框架。通过设置识别算法,可以使待执行的任务与任务调度框架完美匹配,从而使后续任务快速的执行。

    优选地,所述识别算法根据任务标识对该任务选择任务调度框架具体为:

    根据任务标识中的配置参数信息判断其任务类型;

    将任务类型与任务调度框架的参数进行匹配;

    根据匹配结果选择相应的任务调度框架。

    优选地,所述任务调度框架中设置有排序算法,所述排序算法通过任务标识对待执行任务进行排序。通过排序可以使任务执行速度最大化。支持多处理机并行任务调度,提高了执行效率,更好的实现计算的负载均衡,满足弹性流式处理机制

    优选地,所述对待执行任务进行排序的方法为:

    对任务标识进行识别;

    当识别到任务标识中有特殊标记时,将该任务设置为最先执行任务;

    若任务标识中未识别到特殊标记时,将该任务通过排序算法进行排序,按照排序顺序依次执行任务。设置特殊标记的目的在于,对于一些需要提前执行的任务,即具有优先权的任务首先执行,执行完成后,再将剩余的任务根据排序算法进行排序。保证任务的合理优先执行。

    优选地,所述排序算法为:

    获取待执行任务的发起时间,并计算任务执行所需时间;

    根据待执行任务的发起时间以及执行所需时间计算任务的重要因子;

    根据任务重要因子对任务进行排序。

    优选地,所述的重要因子的计算方法为,按照任务发起时间对任务进行排序与查找后进行如下计算:

    将执行时间较长的任务设置为第一重要因子;

    获取设置了第一重要因子的任务所需的配置信息;

    判断调度框架中闲置的配置信息;

    根据闲置的配置信息筛选出可同时执行的任务,设置为第二重要因子。设置重要因子,使任务根据发起时间首先执行较复杂的任务的同时,能够结合处理器正在闲置的配置,同时执行其他的简单的任务。实现资源的最大化利用,从而加速任务的执行速度,提高执行效率。

    优选地,所述根据闲置的配置信息筛选出可同时执行的任务具体为:

    通过设置了第一重要因子的任务确定已使用的配置信息;

    根据已使用的配置信息与调度框架中所有的配置信息,获取闲置的配置信息;

    将闲置的配置信息与任务标记进行匹配;

    若匹配成功,则同时对该任务进行执行。

    一种任务调度系统,包括:任务调度框架构建模块、任务类型判断模块、选择模块、执行模块;

    所述任务调度框架构建模块与任务类型判断模块相连接,所述任务类型判断模块与选择模块相连接,所述选择模块与执行模块相连接;

    所述任务调度框架构建模块用于构建多种任务调度框架;所述任务类型判断模块用于获取多个待执行任务,判断多个待执行任务类型;所述选择模块用于根据待执行任务类型选择相应的任务调度框架;所述执行模块用于在任务调度框架中,对任务进行处理。

    与现有技术相比,本发明具有的有益效果为:本发明通过构建多种任务调度框架,实现了任务的快速有序执行。具体为,通过构建多种任务调度框架;获取多个待执行任务,判断多个待执行任务类型;根据待执行任务类型选择相应的任务调度框架;在任务调度框架中,对任务进行处理。判断数据的类型需要何种任务调度框架进行处理,从而指派给该任务调度框架进行执行,大大加快了任务的处理速度,本发明使用在电网的大数据平台中,可以快速的进行大数据的任务调度。

    附图说明

    下面结合附图和实施例对本发明进一步说明。

    图1是本发明所述的一种任务调度方法的流程图;

    图2是本发明所述的一种任务调度系统的结构图。

    具体实施方式

    现在结合附图对本发明作进一步详细的说明。这些附图均为简化的示意图,仅以示意方式说明本发明的基本流程图,因此其仅显示与本发明有关的流程。

    实施例1

    如图1所示,本发明是一种任务调度方法,所述的方法具体为:

    s1.构建多种任务调度框架;

    s2.获取多个待执行任务,判断多个待执行任务类型;

    s3.根据待执行任务类型选择相应的任务调度框架;

    s4.在任务调度框架中,对任务进行处理。

    步骤s1:构建多种任务调度框架。本申请在具体实施时,数据平台例如可构建两种任务调度框架来实现,分别是大数据调度框架oozie,java调度框架quartz。进行任务调度时,根据任务类型,自动选择相应的调度框架进行任务调度。

    任务调度触发支持如下三种类型:

    时间触发的选择:开始时间,调度频率。

    数据触发的判断:文件是否存在、数据是否负荷调度标准。

    按顺序触发:按任务序列顺次执行。

    步骤s2:获取多个待执行任务,判断多个待执行任务类型。所述获取多个待执行任务后还包括:对多个待执行任务分别设置任务标识,该任务标识包括任务在调度过程中所需的配置参数信息,以及特殊标记。配置参数信息的优点在于,提前对调度的任务进行分析,分析的过程即生成配置参数信息的过程,配置参数信息包括:申请线程、处理数据的线程、服务器等执行任务所需的材料。

    所述对多个待执行任务分别设置任务标识后还包括:将待执行任务添加到任务池中,所述任务池中设置有识别算法,该识别算法根据任务标识对该任务选择任务调度框架。通过设置识别算法,可以使待执行的任务与任务调度框架完美匹配,从而使后续任务快速的执行。

    步骤s3:根据待执行任务类型选择相应的任务调度框架。所述识别算法根据任务标识对该任务选择任务调度框架具体为:

    根据任务标识中的配置参数信息判断其任务类型;

    将任务类型与任务调度框架的参数进行匹配;

    根据匹配结果选择相应的任务调度框架。

    所述任务调度框架中设置有排序算法,所述排序算法通过任务标识对待执行任务进行排序。通过排序可以使任务执行速度最大化。

    所述对待执行任务进行排序的方法为:对任务标识进行识别;当识别到任务标识中有特殊标记时,将该任务设置为最先执行任务;若任务标识中未识别到特殊标记时,将该任务通过排序算法进行排序,按照排序顺序依次执行任务。

    所述排序算法为:获取待执行任务的发起时间,并计算任务执行所需时间;根据待执行任务的发起时间以及执行所需时间计算任务的重要因子;根据任务重要因子对任务进行排序。

    所述的重要因子的计算方法为,按照任务发起时间对任务进行排序与查找后进行如下计算:将执行时间较长的任务设置为第一重要因子;获取设置了第一重要因子的任务所需的配置信息;判断调度框架中闲置的配置信息;根据闲置的配置信息筛选出可同时执行的任务,设置为第二重要因子。

    所述根据闲置的配置信息筛选出可同时执行的任务具体为:通过设置了第一重要因子的任务确定已使用的配置信息;根据已使用的配置信息与调度框架中所有的配置信息,获取闲置的配置信息;将闲置的配置信息与任务标记进行匹配;若匹配成功,则同时对该任务进行执行。

    步骤s4:在任务调度框架中,对任务进行处理。

    本发明通过上述的技术方案提供了一种更加合理的任务调度方法,实现任务的有序执行,使得处理资源能够合理的利用。

    实施例2

    如图2所示,一种任务调度系统,包括:任务调度框架构建模块1、任务类型判断模块2、选择模块3、执行模块4;

    所述任务调度框架构建模块1与任务类型判断模块2相连接,所述任务类型判断模块2与选择模块3相连接,所述选择模块3与执行模块4相连接;

    所述任务调度框架构建模块1用于构建多种任务调度框架;所述任务类型判断模块2用于获取多个待执行任务,判断多个待执行任务类型;所述选择模块3用于根据待执行任务类型选择相应的任务调度框架;所述执行模块4用于在任务调度框架中,对任务进行处理。

    任务调度框架构建模块1在具体实施时,构建了两种任务调度框架来实现,分别是大数据调度框架oozie,java调度框架quartz。进行任务调度时,根据任务类型,自动选择相应的调度框架进行任务调度。

    任务类型判断模块2还包括,在所述获取多个待执行任务后,对多个待执行任务分别设置任务标识,该任务标识包括任务在调度过程中所需的配置参数信息,以及特殊标记。配置参数信息的优点在于,提前对调度的任务进行分析,分析的过程即生成配置参数信息的过程,配置参数信息包括:申请线程、处理数据的线程、服务器等执行任务所需的材料。所述对多个待执行任务分别设置任务标识后还包括:将待执行任务添加到任务池中,所述任务池中设置有识别算法,该识别算法根据任务标识对该任务选择任务调度框架。通过设置识别算法,可以使待执行的任务与任务调度框架完美匹配,从而使后续任务快速的执行。

    选择模块3还包括通过识别算法根据任务标识对该任务选择任务调度框架:根据任务标识中的配置参数信息判断其任务类型;将任务类型与任务调度框架的参数进行匹配;根据匹配结果选择相应的任务调度框架。

    所述任务调度框架中设置有排序算法,所述排序算法通过任务标识对待执行任务进行排序。通过排序可以使任务执行速度最大化。

    所述对待执行任务进行排序的方法为:对任务标识进行识别;当识别到任务标识中有特殊标记时,将该任务设置为最先执行任务;若任务标识中未识别到特殊标记时,将该任务通过排序算法进行排序,按照排序顺序依次执行任务。

    所述排序算法为:获取待执行任务的发起时间,并计算任务执行所需时间;根据待执行任务的发起时间以及执行所需时间计算任务的重要因子;根据任务重要因子对任务进行排序。

    所述的重要因子的计算方法为,按照任务发起时间对任务进行排序与查找后进行如下计算:将执行时间较长的任务设置为第一重要因子;获取设置了第一重要因子的任务所需的配置信息;判断调度框架中闲置的配置信息;根据闲置的配置信息筛选出可同时执行的任务,设置为第二重要因子。

    所述根据闲置的配置信息筛选出可同时执行的任务具体为:通过设置了第一重要因子的任务确定已使用的配置信息;根据已使用的配置信息与调度框架中所有的配置信息,获取闲置的配置信息;将闲置的配置信息与任务标记进行匹配;若匹配成功,则同时对该任务进行执行。

    本发明通过上述的技术方案提供了一种更加合理的任务调度系统,实现任务的有序执行,使得处理资源能够合理的利用。

    上列详细说明是针对本发明可行实施例的具体说明,以上实施例并非用以限制本发明的专利范围,凡未脱离本发明所为的等效实施或变更,均应包含于本案的专利范围中。


    技术特征:

    1.一种任务调度方法,其特征在于,包括:

    构建多种任务调度框架;

    获取多个待执行任务,判断多个待执行任务类型;

    根据待执行任务类型选择相应的任务调度框架;

    在任务调度框架中,对任务进行处理。

    2.根据权利要求1所述任务调度方法,其特征在于,所述获取多个待执行任务后还包括:对多个待执行任务分别设置任务标识,该任务标识包括任务在调度过程中所需的配置参数信息,以及特殊标记。

    3.根据权利要求2所述任务调度方法,其特征在于,所述对多个待执行任务分别设置任务标识后还包括:将待执行任务添加到任务池中,所述任务池中设置有识别算法,该识别算法根据任务标识对该任务选择任务调度框架。

    4.根据权利要求3所述任务调度方法,其特征在于,所述识别算法根据任务标识对该任务选择任务调度框架具体为:

    根据任务标识中的配置参数信息判断其任务类型;

    将任务类型与任务调度框架的参数进行匹配;

    根据匹配结果选择相应的任务调度框架。

    5.根据权利要求4所述任务调度方法,其特征在于,所述任务调度框架中设置有排序算法,所述排序算法通过任务标识对待执行任务进行排序。

    6.根据权利要求5所述任务调度方法,其特征在于,所述对待执行任务进行排序的方法为:

    对任务标识进行识别;

    当识别到任务标识中有特殊标记时,将该任务设置为最先执行任务;

    若任务标识中未识别到特殊标记时,将该任务通过排序算法进行排序,按照排序顺序依次执行任务。

    7.根据权利要求6所述任务调度方法,其特征在于,所述排序算法为:

    获取待执行任务的发起时间,并计算任务执行所需时间;

    根据待执行任务的发起时间以及执行所需时间计算任务的重要因子;

    根据任务重要因子对任务进行排序。

    8.根据权利要求7所述任务调度方法,其特征在于,所述的重要因子的计算方法为,按照任务发起时间对任务进行排序与查找后进行如下计算:

    将执行时间较长的任务设置为第一重要因子;

    获取设置了第一重要因子的任务所需的配置信息;

    判断调度框架中闲置的配置信息;

    根据闲置的配置信息筛选出可同时执行的任务,设置为第二重要因子。

    9.根据权利要求8所述任务调度方法,其特征在于,所述根据闲置的配置信息筛选出可同时执行的任务具体为:

    通过设置了第一重要因子的任务确定已使用的配置信息;

    根据已使用的配置信息与调度框架中所有的配置信息,获取闲置的配置信息;

    将闲置的配置信息与任务标记进行匹配;

    若匹配成功,则同时对该任务进行执行。

    10.一种任务调度系统,其特征在于,包括:任务调度框架构建模块、任务类型判断模块、选择模块、执行模块;

    所述任务调度框架构建模块与任务类型判断模块相连接,所述任务类型判断模块与选择模块相连接,所述选择模块与执行模块相连接;

    所述任务调度框架构建模块用于构建多种任务调度框架;所述任务类型判断模块用于获取多个待执行任务,判断多个待执行任务类型;所述选择模块用于根据待执行任务类型选择相应的任务调度框架;所述执行模块用于在任务调度框架中,对任务进行处理。

    技术总结
    本发明涉及计算机技术领域,一种任务调度方法及系统,所述的一种任务调度方法包括:构建多种任务调度框架;获取多个待执行任务,判断多个待执行任务类型;根据待执行任务类型选择相应的任务调度框架;在任务调度框架中,对任务进行处理。本发明通过构建多种任务调度框架,实现了任务的快速有序执行。

    技术研发人员:林冠强;李惠松;王晓光;孙丹莹;谢炜俊;余旭飞;许达培;邱媛媛
    受保护的技术使用者:广东电网有限责任公司惠州供电局
    技术研发日:2020.12.16
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-22995.html

    最新回复(0)