System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 任务调度分配方法、装置、电子设备及存储介质制造方法及图纸_技高网

任务调度分配方法、装置、电子设备及存储介质制造方法及图纸

技术编号:40826451 阅读:2 留言:0更新日期:2024-04-01 14:47
本发明专利技术提供一种任务调度分配方法、装置、电子设备及存储介质,涉及计算机技术领域,包括:当待运行队列中目标任务被目标调度器的出队列获取到时,指示目标调度器将目标任务写入服务器的暂存队列中,以启动暂存队列中计时器对目标任务计时,指示目标调度器调度目标任务;若计时时间未超时则基于暂存队列接收到的确认结果,确定任务调度分配结果;若计时时间超时则基于暂存队列接收到的调度器异常结果,将暂存队列中的目标任务写入失败重试队列中,将失败重试队列中的目标任务重新推入待运行队列中,直至确定任务调度分配结果。本发明专利技术确保每个任务都能够被执行,不存在漏任务和重复执行任务,不易出现调度瓶颈,提高了任务调度分配的速率及准确率。

【技术实现步骤摘要】

本专利技术涉及计算机,尤其涉及一种任务调度分配方法、装置、电子设备及存储介质


技术介绍

1、在计算机
,调度引擎是指提供调度任务的设置、管理和执行功能,实现任务的自动启动与处理,为用户提供报表的自动计算、导出以及推送功能;调度引擎通常可以包括数据存储组件、调度器和执行器等,并且大部分开源调度引擎通常采用数据库或分布式协调器作为锁,实现多个调度器通过多线程并发方式进行任务调度分配。然而,由于现有多个调度器并发对数据库或分布式协调器这种锁的依赖性很大,因此,当任务量大、历史数据量多时容易出现调度性能瓶颈,并且多个调度器争抢数据库锁或分布式协调器的过程也会造成资源浪费和单点故障,从而导致任务调度分配的速率和准确率均很低。


技术实现思路

1、本专利技术提供一种任务调度分配方法、装置、电子设备及存储介质,用以解决现有技术中多个调度器并发过程过于依赖数据库或分布式协调器这一分布式锁所导致的资源浪费和单点故障以及易出现调度瓶颈,任务调度分配的速率和准确率均很低的缺陷,确保任务调度分配过程中无需数据库或分布式协调器等其它分布式锁,避免了资源浪费和单点故障,而且也能确保每个任务都能够被执行,不存在漏任务和重复执行同一任务的情况,同时在任务量大且历史数据量多时也不易出现调度瓶颈,大幅提高了任务调度分配的速率及准确率。

2、本专利技术提供一种任务调度分配方法,应用于服务器,所述方法包括:

3、在待运行队列中目标任务被目标调度器的出队列获取到的情况下,指示所述目标调度器将所述出队列中的所述目标任务写入所述服务器的暂存队列中,并基于写入成功结果,启动所述暂存队列中的计时器对所述目标任务开始计时,以及指示所述目标调度器对所述目标任务进行调度分配;

4、在计时时间未超时情况下基于所述暂存队列接收到的所述目标调度器对于所述目标任务的确认结果,确定所述目标任务的任务调度分配结果;

5、在所述计时时间超时情况下基于所述暂存队列接收到的所述目标调度器的调度器异常结果,将所述暂存队列中的所述目标任务写入失败重试队列中,并在所述失败重试队列中所述目标任务的暂存时间达到第一时间阈值的情况下,将所述失败重试队列中的所述目标任务重新推入所述待运行队列中,重复执行上述步骤,直至确定所述目标任务的任务调度分配结果。

6、根据本专利技术提供的一种任务调度分配方法,所述将所述失败重试队列中的所述目标任务重新推入所述待运行队列中,重复执行上述步骤,直至确定所述目标任务的任务调度分配结果,包括:

7、将所述失败重试队列中的所述目标任务重新推入所述待运行队列中,重复执行所述上述步骤,并在累计重复执行次数达到第一次数阈值的情况下未确定出所述目标任务调度结果,则将所述暂存队列中的所述目标任务写入延迟队列中;

8、在所述延迟队列中所述目标任务的延迟时间达到第二时间阈值的情况下,将所述延迟队列中的所述目标任务重新写入所述待运行队列中,重复执行所述上述步骤,并在所述累计重复执行次数达到第二次数阈值的情况下,确定所述目标任务的任务调度分配结果。

9、根据本专利技术提供的一种任务调度分配方法,所述在所述累计重复执行次数达到第二次数阈值的情况下,确定所述目标任务的任务调度分配结果,包括:

10、在所述累计重复执行次数达到所述第二次数阈值的情况下,若所述暂存队列接收到针对所述目标任务的确认成功结果,则确定所述任务调度分配结果为所述目标任务分配调度成功且将所述目标任务写入已分配队列中,所述已分配队列中记录所述目标任务对应节点的分配信息;

11、在所述累计重复执行次数达到所述第二次数阈值的情况下,若所述暂存队列接收到针对所述目标任务的确认失败结果,则确定所述任务调度分配结果为所述目标任务分配调度失败且结束针对所述目标任务的调度分配。

12、根据本专利技术提供的一种任务调度分配方法,所述方法还包括:

13、在确定出所述任务调度分配结果的情况下,将所述暂存队列中相同id的所述目标任务移除且移除所述计时器,以及将所述失败重试队列中相同id的所述目标任务移除。

14、根据本专利技术提供的一种任务调度分配方法,所述待运行队列中目标任务被目标调度器的出队列获取到,包括:

15、获取不同类型任务各自对应的任务执行计划;

16、基于各所述任务执行计划,确定执行所述目标任务的执行触发条件;

17、在满足所述执行触发条件的情况下,将所述目标任务写入所述待运行队列中,并指示所述待运行队列向至少一个调度器分发所述目标任务,以使各所述调度器通过分布式争抢机制获取所述目标任务;直至所述待运行队列中的所述目标任务被各所述调度器中的所述目标调度器的出队列获取到。

18、根据本专利技术提供的一种任务调度分配方法,所述基于各所述任务执行计划,确定执行所述目标任务的执行触发条件,包括:

19、基于各所述任务执行计划确定每日可执行任务量;

20、在所述每日可执行任务量小于等于当前部署的所有调度器的总任务执行量的情况下,确定所述执行触发条件;

21、在所述每日可执行任务量大于所述总任务执行量的情况下,输出横向扩展调度器的指示信息,并基于横向扩展成功结果,确定所述执行触发条件。

22、根据本专利技术提供的一种任务调度分配方法,所述方法还包括:

23、确定所述待运行队列中待执行的任务总数量;

24、在所述任务总数量超过数量阈值时,输出横向扩展调度器的指示信息,并基于横向扩展成功结果,确定从所述待运行队列中弹出的所述目标任务。

25、本专利技术还提供一种任务调度分配装置,应用于服务器,所述装置包括:

26、任务调度分配单元,用于在待运行队列中目标任务被目标调度器的出队列获取到的情况下,指示所述目标调度器将所述出队列中的所述目标任务写入所述服务器的暂存队列中,并基于写入成功结果,启动所述暂存队列中的计时器对所述目标任务开始计时,以及指示所述目标调度器对所述目标任务进行调度分配;

27、分配调度确认单元,用于在计时时间未超时情况下基于所述暂存队列接收到的所述目标调度器对于所述目标任务的确认结果,确定所述目标任务的任务调度分配结果;

28、重复调度分配单元,用于在所述计时时间超时情况下基于所述暂存队列接收到的所述目标调度器的调度器异常结果,将所述暂存队列中的所述目标任务写入失败重试队列中,并在所述失败重试队列中所述目标任务的暂存时间达到第一时间阈值的情况下,将所述失败重试队列中的所述目标任务重新推入所述待运行队列中,重复执行上述步骤,直至确定所述目标任务的任务调度分配结果。

29、本专利技术还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述任务调度分配方法。

30、本专利技术还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如本文档来自技高网...

【技术保护点】

1.一种任务调度分配方法,其特征在于,应用于服务器,所述方法包括:

2.根据权利要求1所述的任务调度分配方法,其特征在于,所述将所述失败重试队列中的所述目标任务重新推入所述待运行队列中,重复执行上述步骤,直至确定所述目标任务的任务调度分配结果,包括:

3.根据权利要求2所述的任务调度分配方法,其特征在于,所述在所述累计重复执行次数达到第二次数阈值的情况下,确定所述目标任务的任务调度分配结果,包括:

4.根据权利要求2所述的任务调度分配方法,其特征在于,所述方法还包括:

5.根据权利要求1至4任一项所述的任务调度分配方法,其特征在于,所述待运行队列中目标任务被目标调度器的出队列获取到,包括:

6.根据权利要求5所述的任务调度分配方法,其特征在于,所述基于各所述任务执行计划,确定执行所述目标任务的执行触发条件,包括:

7.根据权利要求1至3任一项所述的任务调度分配方法,其特征在于,所述方法还包括:

8.一种任务调度分配装置,其特征在于,应用于服务器,所述装置包括:

9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述任务调度分配方法。

10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述任务调度分配方法。

...

【技术特征摘要】

1.一种任务调度分配方法,其特征在于,应用于服务器,所述方法包括:

2.根据权利要求1所述的任务调度分配方法,其特征在于,所述将所述失败重试队列中的所述目标任务重新推入所述待运行队列中,重复执行上述步骤,直至确定所述目标任务的任务调度分配结果,包括:

3.根据权利要求2所述的任务调度分配方法,其特征在于,所述在所述累计重复执行次数达到第二次数阈值的情况下,确定所述目标任务的任务调度分配结果,包括:

4.根据权利要求2所述的任务调度分配方法,其特征在于,所述方法还包括:

5.根据权利要求1至4任一项所述的任务调度分配方法,其特征在于,所述待运行队列中目标任务被目标调度器的出队列获取到,包括:

<...

【专利技术属性】
技术研发人员:付大伟韩克党汤子楠
申请(专利权)人:云粒智慧科技有限公司
类型:发明
国别省市:

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

1