集群模式下分布式任务调度方法、装置、设备及存储介质制造方法及图纸

技术编号:34886264 阅读:9 留言:0更新日期:2022-09-10 13:43
本发明专利技术提供一种集群模式下分布式任务调度方法、装置、设备及存储介质,用于解决任务调度框架调度不灵活和调度效率不高的技术问题。本发明专利技术通过增加线程监控器监听任务数量,根据任务数量等信息动态地调整线程池的配置参数;通过增加任务监控器监控作业任务的执行状态,提供停止作业任务的接口以实现按需停止作业任务的能力;通过任务监控器监控周期性调度的作业任务的执行情况,提供任务调度策略的动态调整接口,以实现根据资源负载动态调整周期性调度的作业任务的调度策略的功能。本发明专利技术能够提高分布式任务调度框架的作业任务的调度灵活性和调度效率,避免资源的浪费,提高资源的利用率,预防服务和数据库的宕机。预防服务和数据库的宕机。预防服务和数据库的宕机。

【技术实现步骤摘要】
集群模式下分布式任务调度方法、装置、设备及存储介质


[0001]本专利技术涉及通信及云计算
,尤其涉及一种集群模式下分布式任务调度方法、装置、设备及存储介质。

技术介绍

[0002]随着网络及通信技术的发展,软件项目变得越来越复杂,微服务架构的应用也越来越广泛。在基于微服务的分布式业务系统中,存在多个业务系统都有定时任务执行需求的情况,如果将所有作业任务的调度都放在自身的业务系统中,一方面会增加业务系统的复杂度,另一方面也不方便系统的管理。
[0003]Quartz、xxl

job,Elastic

Job等都是可实现分布式任务调度和管理的任务调度框架/软件/组件/模块/系统。以Quartz为例,Quartz支持集群和事务,Quartz可以用来执行定时任务,它有三个核心模块,分别为scheduler(任务调度器)、trigger(任务触发器)和job(任务执行器)。job用来执行用户的任务,trigger用来设置任务的执行时间、执行次数,scheduler可以把job和trigger绑定到一起,实现在指定的时间、执行指定的任务,从而实现定时执行某个业务。
[0004]上述任务调度软件存在一些缺陷。以Quartz为例,首先,在quartz集群模式下,无法动态的调整线程池的大小,易造成资源浪费。其次,在quartz集群模式下,无法停止单次调度任务中的线程。另外,在quart集群模式下,也无法对周期调度的任务实现线程顺序执行或并发执行的动态切换。
专利技术内容
[0005]有鉴于此,本专利技术提供一种集群模式下分布式任务调度方法、装置、设备及存储介质,用于解决任务调度框架调度不灵活和调度效率不高的技术问题。
[0006]基于本专利技术实施例的一方面,本专利技术提供了一种集群模式下分布式任务调度方法,该方法应用于为分布式计算集群提供任务调度功能的任务调度节点,该方法包括:
[0007]通过线程监控器监听任务调度信息库中的任务数量,根据任务数量动态地调整线程池的配置参数;
[0008]提供停止作业任务接口,通过任务监控器响应停止作业任务指令,获取执行作业任务的线程信息,停止对应作业任务;
[0009]通过任务监控器监控周期性调度的作业任务的执行情况,根据作业任务的执行情况及资源负载情况动态调整周期性调度的作业任务的调度策略。
[0010]进一步地,所述根据任务数量动态地调整线程池的配置参数的方法为:
[0011]若当前任务数量超过前一统计周期的任务数量且小于预设的最大任务数量门限值时,增加线程池的线程数量;若当前任务数量小于前一统计周期任务数量的预设比例且大于预设的最小任务数量门限值时,减小线程池的线程数量。
[0012]进一步地,所述通过任务监控器响应停止作业任务指令,获取执行作业任务的线
程信息,停止对应作业任务的步骤包括:
[0013]所述任务监控器根据停止作业任务指令中携带的作业任务标识在任务调度信息库中查询执行对应作业任务的线程信息,向线程所在计算节点发送停止作业任务的指令以使计算节点停止作业任务的执行。
[0014]进一步地,所述通过任务监控器监控周期性调度的作业任务的执行情况,根据作业任务的执行情况及资源负载情况动态调整周期性调度的作业任务的调度策略的方法为:
[0015]通过任务监控器周期性获取所述周期性调度的作业任务的执行情况以及执行所述周期性调度的作业任务的计算节点和业务数据库的资源负载情况;
[0016]在所述计算节点和业务数据库的资源充足的情况下,调整所述作业任务的调度策略,允许所述周期性调度的作业任务并行执行;
[0017]在所述计算节点和业务数据库的资源不足的情况下,调整所述作业任务的调度策略,使所述周期性调度的作业任务串行执行。
[0018]进一步地,所述周期性调度的作业任务的执行情况包括作业任务是否完成、未完成作业任务的预估完成时长;
[0019]在前一所述周期性调度的作业任务未完成的情况下,所述任务监控器根据所述计算节点和业务数据库的资源情况,动态调整后续所述所述周期性调度的作业任务的调度策略;
[0020]任务调度器根据修改后的任务调度策略进行任务调度。
[0021]基于本专利技术实施例的另一方面,本专利技术还提供一种集群模式下分布式任务调度装置,该装置应用于为分布式计算集群提供任务调度功能的任务调度节点,该装置包括:
[0022]线程监控器,用于监听任务调度信息库中的任务数量,根据任务数量动态地调整线程池的配置参数;
[0023]任务监控器,用于提供停止作业任务接口,响应停止作业任务指令,获取执行作业任务的线程信息,停止对应作业任务;还用于监控周期性调度的作业任务的执行情况,根据作业任务的执行情况及资源负载情况动态调整周期性调度的作业任务的调度策略。
[0024]进一步地,所述任务监控器在当前任务数量超过前一统计周期的任务数量且小于预设的最大任务数量门限值时,增加线程池的线程数量;在当前任务数量小于前一统计周期任务数量的预设比例且大于预设的最小任务数量门限值时,减小线程池的线程数量。
[0025]进一步地,所述任务监控器包括:
[0026]任务停止模块,用于根据停止作业任务指令中携带的作业任务标识在任务调度信息库中查询执行对应作业任务的线程信息,向线程所在计算节点发送停止作业任务的指令以使计算节点停止作业任务的执行;
[0027]状态资源获取模块,用于周期性获取所述周期性调度的作业任务的执行情况以及执行所述周期性调度的作业任务的计算节点和业务数据库的资源负载情况;
[0028]调度策略调整模块,用于在所述计算节点和业务数据库的资源充足的情况下,调整所述作业任务的调度策略,允许所述周期性调度的作业任务并行执行;在所述计算节点和业务数据库的资源不足的情况下,调整所述作业任务的调度策略,使所述周期性调度的作业任务串行执行。
[0029]本专利技术通过增加线程监控器监听任务数量,根据任务数量等信息动态地调整线程
池的配置参数;通过增加任务监控器监控作业任务的执行状态,提供停止作业任务的接口以实现按需停止作业任务的能力;通过任务监控器监控周期性调度的作业任务的执行情况,提供任务调度策略的动态调整接口,以实现根据资源负载动态调整周期性调度的作业任务的调度策略的功能。本专利技术通过新增线程监控器和任务监控器能够提高分布式任务调度框架的作业任务的调度灵活性和调度效率,避免资源的浪费,提高资源的利用率,预防服务和数据库的宕机。
附图说明
[0030]为了更加清楚地说明本专利技术实施例或者现有技术中的技术方案,下面将对本专利技术实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本专利技术实施例的这些附图获得其他的附图。
[0031]图1为应用本专利技术提供的集群模式下分布式任务调度方法本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种集群模式下分布式任务调度方法,其特征在于,该方法应用于为分布式计算集群提供任务调度功能的任务调度节点,该方法包括:通过线程监控器监听任务调度信息库中的任务数量,根据任务数量动态地调整线程池的配置参数;提供停止作业任务接口,通过任务监控器响应停止作业任务指令,获取执行作业任务的线程信息,停止对应作业任务;通过任务监控器监控周期性调度的作业任务的执行情况,根据作业任务的执行情况及资源负载情况动态调整周期性调度的作业任务的调度策略。2.根据权利要求1所述的方法,其特征在于,所述根据任务数量动态地调整线程池的配置参数的方法为:若当前任务数量超过前一统计周期的任务数量且小于预设的最大任务数量门限值时,增加线程池的线程数量;若当前任务数量小于前一统计周期任务数量的预设比例且大于预设的最小任务数量门限值时,减小线程池的线程数量。3.根据权利要求1所述的方法,其特征在于,所述通过任务监控器响应停止作业任务指令,获取执行作业任务的线程信息,停止对应作业任务的步骤包括:所述任务监控器根据停止作业任务指令中携带的作业任务标识在任务调度信息库中查询执行对应作业任务的线程信息,向线程所在计算节点发送停止作业任务的指令以使计算节点停止作业任务的执行。4.根据权利要求1所述的方法,其特征在于,所述通过任务监控器监控周期性调度的作业任务的执行情况,根据作业任务的执行情况及资源负载情况动态调整周期性调度的作业任务的调度策略的方法为:通过任务监控器周期性获取所述周期性调度的作业任务的执行情况以及执行所述周期性调度的作业任务的计算节点和业务数据库的资源负载情况;在所述计算节点和业务数据库的资源充足的情况下,调整所述作业任务的调度策略,允许所述周期性调度的作业任务并行执行;在所述计算节点和业务数据库的资源不足的情况下,调整所述作业任务的调度策略,使所述周期性调度的作业任务串行执行。5.根据权利要求1所述的方法,其特征在于,所述周期性调度的作业任务的执行情况包括作业任务是否完成、未完成作业任务的预估完成时长;在前一所述周期性调度的作业任务未完成的情况下,所述任务监控器根据所述计算节点和业务数据库的资源情况,动态调整后续所述周期性...

【专利技术属性】
技术研发人员:元立本石超
申请(专利权)人:新华三技术有限公司
类型:发明
国别省市:

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

1