一种面向云管理平台的分布式任务调度方法及系统技术方案

技术编号:38042248 阅读:9 留言:0更新日期:2023-06-30 11:08
本发明专利技术公开了一种面向云管理平台的分布式任务调度方法及系统,包括:首先由业务异步并发送至消息队列,等待调度中心抓取并调度执行异步任务的非轮询部分,如果异步任务的轮询部分不为空,则通过注册模块注册到存储模块中,等待调度模块调度执行,工作模块每次执行轮询任务后,都会对任务结果进行判断,如果符合执行成功或错误条件,则更新对应信息到存储模块,然后结束任务调度,反之则等待下一次调度执行。本发明专利技术适用于云管理平台长期运行时异步任务的调度以及生命周期管理,尤其适用于包含大量重复轮询操作的异步任务的调度与管理,有利于减少资源占用,提高效率的同时降低调度复杂度。复杂度。复杂度。

【技术实现步骤摘要】
一种面向云管理平台的分布式任务调度方法及系统


[0001]本专利技术属于云平台领域,特别是涉及一种面向云管理平台的分布式任务调度方法及系统。

技术介绍

[0002]分布式任务调度是云管理平台与云资源池进行交互和资源管理的重要环节。通常,基于应用程序设计中的松耦合思想,云管理平台使用API接口与云资源池进行单向交互,除去一部分耗时较少和不关心返回结果的接口之外,大部分接口通常无法即时返回所有的结果信息,用于代替的是表示接口是否调用成功的状态字段和唯一标识某个资源的UUID等信息。云资源池处理不同类型的接口请求所需要的时间不同,如数据备份类操作通常耗时较长,而云管理平台需要及时获取任务的执行结果并向用户展示,因此通常需要对执行结果进行轮询操作。传统的阻塞式轮询会长时间占用工作线程,会影响异步任务的整体执行效率,这种现象在任务量较大时尤为明显,因此亟需一种高效率、低复杂度和状态可追踪的异步任务调度方法,调度方法的好坏直接影响云管理平台的性能和用户体验。
[0003]目前面向云管理平台的异步任务调度方法主要面临以下三个方面的问题:
[0004]1)处理时间不确定
[0005]云管理平台的异步任务具有种类多、数量大、逻辑复杂等特点,有相当一部分任务除依靠云管理平台本身的计算资源外,还需要云资源池的协助,根据云资源池的处理结果进行后续操作。而云资源池执行不同任务所需的时间不确定,尤其是备份、迁移类任务,所需的处理时间较长。
[0006]2)调度复杂度高
[0007]在面对大量不同类型的异步任务时,传统的任务调度方法通常采用按类型或优先级进行分时分队列处理的形式,以确保每种类型的异步任务得到执行。当异步任务的数量较大时,某些耗时较长的任务将会长时间占用工作线程,阻塞工作队列。通过水平伸缩的方式动态增加或减少工作模块的数量可以取得一定的效果,但同时也增加了任务调度的复杂度和资源成本。
[0008]3)追踪难度大
[0009]与同步任务相比,异步任务的一大痛点是追踪困难。在传统的调度方案下,异步任务在何时由何工作线程执行通常无法确定,该任务当前执行在什么阶段也无法反馈给用户和运维人员。特别地,在任务执行出错时,无法快速定位追踪错误位置和出错原因,为后续的排查和处理工作带来了极大的不便。
[0010]现有的分布式任务处理方法主要解决任务调度的问题。专利CN114035928A提供了一种分布式任务分配处理方法,通过给每个异步任务设置唯一标识,并通过获取待处理的异步任务生成异步任务队列,并给每个异步任务设置唯一标识,采用队尾窃取机制,获取预设的每次处理个数的待处理的异步任务,并逐个进行处理。专利CN112000445A提出了一种分布式任务调度方法,分布式任务集群的各节点启动自我注册,登记每个节点中可以执行
的任务信息;各所述节点定时启动调度任务,从待执行的任务实例集合中获取需要执行的任务实例;将需执行的任务实例添加到各节点的分布式任务池中,各节点创建若干线程执行任务。上述两种方案均采用异步任务队列配合任务执行单元的形式,实现对分布式任务的调度。在面对云管理平台的任务类型多样化、部分任务耗时长、任务状态追踪困难等方面的问题时,无法保证异步任务的执行效率,实现对异步任务整个生命周期的统一管控。
[0011]随着云管理平台在计算、存储和网络的基础上衍生需求的日益多样化,现有的云资源池分布式任务处理方法因执行效率低、调度复杂度高和状态追踪性差等方面的不足,已难以满足云管理平台在用户体验方面的需求。

技术实现思路

[0012]本专利技术的目的在于提供一种高效率、低复杂度和状态易追踪的分布式任务调度方法及系统,解决云管理平台在处理分布式异步任务时面临的执行效率低、调度复杂度高和状态追踪性差等问题。
[0013]为实现上述目的,本专利技术提供了如下方案:一种面向云管理平台的分布式任务调度方法,包括:
[0014]将异步任务在定义时拆分为非轮询部分和轮询部分,业务系统通过消息中间件提交异步任务至分布式任务调度中心;
[0015]所述分布式任务调度中心通过注册模块将异步任务写入并通过存储模块进行存储,并执行任务的非轮询部分;
[0016]预设时间参数,根据所述时间参数,获得对应时间参数所需的调度次数及对异步任务的生命周期进行阶段划分;
[0017]基于定时模块根据推送时间周期向调度模块推送调度信号,调度模块将所有满足执行条件的任务提交至分发模块,并由所述分发模块分发至执行模块进行执行,然后计算每一个任务的下一次调度时刻,更新至存储模块;
[0018]通过实时执行模块在每一次执行操作结束后,根据预定义的成功或错误条件对任务状态进行匹配,如果满足条件,则立即结束该任务的调度,进入后处理阶段;反之,不做任何处理,等待下一次任务调度。
[0019]优选地,所述分布式任务调度中心通过注册模块将异步任务写入并通过存储模块进行存储的过程包括,
[0020]将所有异步任务在系统启动时进行注册,已注册的任务在以异步的方式进行调用时,按任务类型分发至对应的消息队列;
[0021]基于调度模块,通过消息队列抓取任务并写入到存储模块后,等待定时模块的周期性调度信号。
[0022]优选地,所述预设时间参数,根据所述时间参数,获得对应时间参数所需的调度次数及对异步任务的生命周期进行阶段划分的过程包括,
[0023]设定最短时间,根据所述最短时间获得对应到达最短时间所需的调度次数;
[0024]设定超时时间,根据所述超时时间获得对应到达超时时间所需调度次数;
[0025]设定结束调度时间,根据所述结束调度时间获得对应到达结束调度时间所需调度次数;
[0026]通过所述最短时间、超时时间、结束调度时间,将异步任务的生命周期划分为准备阶段、执行阶段和超时阶段。
[0027]优选地,通过所述最短时间、超时时间、结束调度时间,将异步任务的生命周期划分为准备阶段、执行阶段和超时阶段的过程包括,
[0028]以异步任务写入到存储模块的时间为0时刻,开始计算执行时间,到完成所述异步任务所需的最短时间T
min
为止,划分为准备阶段;
[0029]T
min
=I
min
T
[0030]其中,I
min
为异步任务到达T
min
时刻的调度次数,T为定时模块推送调度信号的推送时间周期;
[0031]从T
min
时刻开始,到异步任务预定义的超时时间T
o
为止,划分为执行阶段;
[0032]T
o
=I
o
T
[0033]其中,I
o
为异步任务到达T
o
时刻所需的调度次数,且满足I
o
>I
min

[0034]从预定义的超时时间T
o
开始,到结本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种面向云管理平台的分布式任务调度方法,其特征在于,包括:将异步任务在定义时拆分为非轮询部分和轮询部分,业务系统通过消息中间件提交异步任务至分布式任务调度中心;所述分布式任务调度中心通过注册模块将异步任务写入并通过存储模块进行存储,并执行任务的非轮询部分;预设时间参数,根据所述时间参数,获得对应时间参数所需的调度次数及对异步任务的生命周期进行阶段划分;基于定时模块根据推送时间周期向调度模块推送调度信号,调度模块将所有满足执行条件的任务提交至分发模块,并由所述分发模块分发至执行模块进行执行,然后计算每一个任务的下一次调度时刻,更新至存储模块;通过实时执行模块在每一次执行操作结束后,根据预定义的成功或错误条件对任务状态进行匹配,如果满足条件,则立即结束该任务的调度,进入后处理阶段;反之,不做任何处理,等待下一次任务调度。2.根据权利要求1所述的一种面向云管理平台的分布式任务调度方法,其特征在于,所述分布式任务调度中心通过注册模块将异步任务写入并通过存储模块进行存储的过程包括,将所有异步任务在系统启动时进行注册,已注册的任务在以异步的方式进行调用时,按任务类型分发至对应的消息队列;基于调度模块,通过消息队列抓取任务并写入到存储模块后,等待定时模块的周期性调度信号。3.根据权利要求1所述的一种面向云管理平台的分布式任务调度方法,其特征在于,所述预设时间参数,根据所述时间参数,获得对应时间参数所需的调度次数及对异步任务的生命周期进行阶段划分的过程包括,设定最短时间,根据所述最短时间获得对应到达最短时间所需的调度次数;设定超时时间,根据所述超时时间获得对应到达超时时间所需调度次数;设定结束调度时间,根据所述结束调度时间获得对应到达结束调度时间所需调度次数;通过所述最短时间、超时时间、结束调度时间,将异步任务的生命周期划分为准备阶段、执行阶段和超时阶段。4.根据权利要求3所述的一种面向云管理平台的分布式任务调度方法,其特征在于,通过所述最短时间、超时时间、结束调度时间,将异步任务的生命周期划分为准备阶段、执行阶段和超时阶段的过程包括,以异步任务写入到存储模块的时间为0时刻,开始计算执行时间,到完成所述异步任务所需的最短时间T
min
为止,划分为准备阶段;T
min
=I
min
T其中,I
min
为异步任务到达T
min
时刻的调度次数,T为定时模块推送调度信号的推送时间周期;从T
min
时刻开始,到异步任务预定义的超时时间T
o
为止,划分为执行阶段;T
o
=I
o
T
其中,I
o
为异步任务到达T
o
时刻所需的调度次数,且满足I
o
>I
min
;从预定义的超时时间T
o
开始,到结束异步任务调度的时间T
max
为止,划分为超时阶段;T
max
=I
max
T其中,I
max
为该异步任务到达T
max
时刻所需的调度次数,且满足I
max
>I
o
>I
min
。5.根据权利要求1所述的一种面向云管理平台的分布式任务调度方法,其特征在于,所述调度模块将所有满足执行条件的任务提交至分发模块,并由所述分发模块分发至执行模块进行执行,然后计算每一个任务的下一次调度时刻,更新至存储模块的过程包括,基于定时模块根据推送时间周期向调度模块推送调度信号,将异步任务的执行时间量化为调度次数,并根据所述调度次数对异步任务进行调度;所述调度的过程包括:对于处在准备阶段的任务,调度模块执行异步任务中的非轮询部分,并在到达T

【专利技术属性】
技术研发人员:薛勇志赵一凡
申请(专利权)人:天翼云科技有限公司
类型:发明
国别省市:

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

1