System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种分布式统一定时任务调度系统技术方案_技高网

一种分布式统一定时任务调度系统技术方案

技术编号:40250097 阅读:7 留言:0更新日期:2024-02-02 22:44
本发明专利技术公开了分布式统一定时任务调度系统,实现多业务系统中的调度任务集中管控,提高业务系统开发效率,实现任务调度全链条可视化监控,支持异常场景下任务执行干预,提升定时任务集中管控效果。其技术方案为:在服务端,前端界面将任务配置通过配置模块按不同任务类型写入quartz引擎,quartz引擎产生执行计划后将调度信息发送任务触发执行模块,任务触发执行模块发起对客户端的调度。客户端将任务执行结果发送任务执行结果收集模块,将调度结果数据存储至数据库。在客户端,任务执行代理模块编排服务端发送的调度信息,完成对不同任务的并行或串行触发,任务执行代理模块将不同任务的执行结果写入任务回报模块并由其将调度结果返回服务端。

【技术实现步骤摘要】

本专利技术涉及一种任务调度技术,具体涉及一种分布式的统一定时任务调度系统。


技术介绍

1、在当下计算机技术高度发展的背景下,触发定时任务的系统或技术手段越来越丰富。尤其随着业务的发展,定时任务越来越多地被应用于业务场景中,触发的条件也多种多样,如按照自然时间以一定频率进行触发,按照交易日历在特定日期触发,按照上游业务系统给出的触发信号触发等等。目前,通常的解决方案是按照业务场景,分别实现不同的触发系统,难以进行统一管控。

2、传统的定时任务调度方案,仅能支持按照自然日时间以一定频率触发的场景,无法支持按照特定交易日历指定日期触发,无法支持按照业务消息信号进行触发的场景;不支持集中管控,无法进行人工干预;任务状态无法实时展现,缺乏有效的监控手段;同时在定时调度高峰期,无法进行扩容,低峰期无法进行缩容,无法高效利用系统性能。


技术实现思路

1、以下给出一个或多个方面的简要概述以提供对这些方面的基本理解。此概述不是所有构想到的方面的详尽综览,并且既非旨在指认出所有方面的关键性或决定性要素亦非试图界定任何或所有方面的范围。其唯一的目的是要以简化形式给出一个或多个方面的一些概念以为稍后给出的更加详细的描述之序。

2、本专利技术的目的在于解决上述问题,提供了一种分布式统一定时任务调度系统,能够实现多个业务系统中的调度任务的集中管控,业务系统无需处理复杂的调度逻辑和任务依赖关系,提高业务系统的开发效率,实现任务调度全链条的可视化监控,支持异常场景下的任务执行干预,提升定时任务集中管控的效果。

3、本专利技术的技术方案为:本专利技术揭示了一种分布式统一定时任务调度系统,系统包括服务端和客户端,服务端用于任务注册、任务调度、任务执行结果收集,客户端用于任务执行代理、执行结果上报,其中:

4、服务端包括:前端界面、配置模块、事件驱动模块、crontab模块、日期表达式驱动模块、quartz引擎、任务触发执行模块、任务执行结果收集模块、数据库,前端界面将任务配置通过配置模块按照不同的任务类型写入到quartz引擎中,quartz引擎产生执行计划后,将调度信息发送给任务触发执行模块,任务触发执行模块将发起对客户端的调度。客户端将任务执行结果发送至任务执行结果收集模块,将调度结果数据存储至数据库;

5、客户端包括:任务执行代理模块、若干任务所属的任务执行接口、任务回报模块,任务执行代理模块将服务端发送的调度信息进行编排,完成对不同任务的并行或串行触发,任务执行代理模块将不同任务的执行结果写入任务回报模块,任务回报模块将调度结果返回给服务端。

6、根据本专利技术的分布式统一定时任务调度系统的一实施例,前端界面用于任务状态监控、展示、操作以及任务注册。

7、根据本专利技术的分布式统一定时任务调度系统的一实施例,前端界面进一步配置为:

8、前端界面所提供的任务状态监控的功能,还包括历史调度记录查询,用于追溯历史调度详细情况,同时提供最新调度状态查询功能,用于分别在任务或子任务的不同粒度上分别进行实时状态监控;

9、前端界面所提供的任务操作的功能,包括提供手动执行入口以及任务暂停入口,其中手动执行入口是在任务执行异常情况下进行手工执行定时任务的操作,任务暂停入口是将平台托管的任务手动暂停或重启;

10、前面界面所提供的任务注册功能,支持在前台界面配置事件驱动类型定时任务、crontab类型定时任务、日期表达式类型定时任务,其中事件驱动类型定时任务是由上游业务系统发送的kakfa消息而触发的任务,crontab类型定时任务是按照crontab周期性触发的定时任务,日期表达式类型定时任务是按照基于交易日历的在特定日期下指定时间频率触发的定时任务。

11、根据本专利技术的分布式统一定时任务调度系统的一实施例,配置模块用于由前台界面触发任务配置,按照前端界面中配置的不同任务类型分别存储至数据库中的不同任务配置表中。

12、根据本专利技术的分布式统一定时任务调度系统的一实施例,任务配置进一步包括:

13、按照任务的执行频率划分为高频任务、普通任务,其中高频任务在任务执行过程中不记录执行流水,普通任务在任务执行的每个环节产生的任务流水都会持久化到数据库中;

14、按照任务是否需要预校验分为有预校验的任务和无预校验的任务,其中有预校验的任务在当天最多触发一次客户端的调度,其余轮询调度将会被服务端进行拦截。

15、根据本专利技术的分布式统一定时任务调度系统的一实施例,事件驱动模块用于接收kafka消息以实现任务触发,进一步配置为:调用quartz引擎,写入quartz的执行计划,交由quartz统一触发任务执行。

16、根据本专利技术的分布式统一定时任务调度系统的一实施例,crontab模块用于按照crontab周期性触发任务,进一步配置为:服务端利用quartz引擎中注册的执行计划,按照配置模块中配置的任务执行频率,由服务端进行调度。

17、根据本专利技术的分布式统一定时任务调度系统的一实施例,日期表达式驱动模块用于基于交易日历按照特定日期触发任务。

18、根据本专利技术的分布式统一定时任务调度系统的一实施例,quartz引擎用于任务执行的统一管理,进一步配置为:接收事件驱动模块、crontab模块、日期表达式驱动模块的执行指令,将执行计划写入quartz元数据表中,实现任务执行计划的持久化和分布式调度。

19、根据本专利技术的分布式统一定时任务调度系统的一实施例,任务触发执行模块用于客户端调度的统一管控,进一步配置为:接收到quartz引擎所下达的触发指令后,按照任务配置属性,统一进行拦截管控,流量控制,按照不同的任务配置进行定制化的客户端任务执行指令下达。

20、根据本专利技术的分布式统一定时任务调度系统的一实施例,任务执行结果收集模块用于收集、汇总客户端上报的执行结果,进一步配置为:接收到客户端执行结果后,按照任务配置将属于同一任务下的子任务的任务状态进行汇集,计算出任务的任务状态,包括错过、空跑、运行中、失败、超时、成功共6种状态,其中失败、超时、成功是由子任务的执行情况汇聚而成,所有的任务状态均通过执行流水记录表持久化到数据库中,以便实时展示任务执行的若干节点中的状态,实时监控任务执行健康度。

21、根据本专利技术的分布式统一定时任务调度系统的一实施例,任务执行代理模块用于接收服务端发送的任务调度指令、调度线程、状态回写,进一步配置为:执行代理通过可插拔式sdk中提供的代理类,异步统一代理服务端发送的若干任务调度指令,对服务端传递过来的任务配置属性进行依赖关系分组处理,将归属于同一个任务中的子任务编排为根据依赖关系串行处理,将不同任务中的子任务进行并行处理,并通过线程池统一管理线程调度及切换,由执行代理模块执行目标任务。

22、根据本专利技术的分布式统一定时任务调度系统的一实施例,任务回报模块用于实现任务回报服务端,进一步配置为:将任务执行结果通过任本文档来自技高网...

【技术保护点】

1.一种分布式统一定时任务调度系统,其特征在于,系统包括服务端和客户端,服务端用于任务注册、任务调度、任务执行结果收集,客户端用于任务执行代理、执行结果上报,其中:

2.根据权利要求1所述的分布式统一定时任务调度系统,其特征在于,前端界面用于任务状态监控、展示、操作以及任务注册。

3.根据权利要求2所述的分布式统一定时任务调度系统,其特征在于,前端界面进一步配置为:

4.根据权利要求1所述的分布式统一定时任务调度系统,其特征在于,配置模块用于由前台界面触发任务配置,按照前端界面中配置的不同任务类型分别存储至数据库中的不同任务配置表中。

5.根据权利要求4所述的分布式统一定时任务调度系统,其特征在于,任务配置进一步包括:

6.根据权利要求1所述的分布式统一定时任务调度系统,其特征在于,事件驱动模块用于接收kafka消息以实现任务触发,进一步配置为:调用quartz引擎,写入quartz的执行计划,交由quartz统一触发任务执行。

7.根据权利要求1所述的分布式统一定时任务调度系统,其特征在于,crontab模块用于按照crontab周期性触发任务,进一步配置为:服务端利用quartz引擎中注册的执行计划,按照配置模块中配置的任务执行频率,由服务端进行调度。

8.根据权利要求1所述的分布式统一定时任务调度系统,其特征在于,日期表达式驱动模块用于基于交易日历按照特定日期触发任务。

9.根据权利要求1所述的分布式统一定时任务调度系统,其特征在于,quartz引擎用于任务执行的统一管理,进一步配置为:接收事件驱动模块、crontab模块、日期表达式驱动模块的执行指令,将执行计划写入quartz元数据表中,实现任务执行计划的持久化和分布式调度。

10.根据权利要求1所述的分布式统一定时任务调度系统,其特征在于,任务触发执行模块用于客户端调度的统一管控,进一步配置为:接收到quartz引擎所下达的触发指令后,按照任务配置属性,统一进行拦截管控,流量控制,按照不同的任务配置进行定制化的客户端任务执行指令下达。

11.根据权利要求1所述的分布式统一定时任务调度系统,其特征在于,任务执行结果收集模块用于收集、汇总客户端上报的执行结果,进一步配置为:接收到客户端执行结果后,按照任务配置将属于同一任务下的子任务的任务状态进行汇集,计算出任务的任务状态,包括错过、空跑、运行中、失败、超时、成功共6种状态,其中失败、超时、成功是由子任务的执行情况汇聚而成,所有的任务状态均通过执行流水记录表持久化到数据库中,以便实时展示任务执行的若干节点中的状态,实时监控任务执行健康度。

12.根据权利要求1所述的分布式统一定时任务调度系统,其特征在于,任务执行代理模块用于接收服务端发送的任务调度指令、调度线程、状态回写,进一步配置为:执行代理通过可插拔式SDK中提供的代理类,异步统一代理服务端发送的若干任务调度指令,对服务端传递过来的任务配置属性进行依赖关系分组处理,将归属于同一个任务中的子任务编排为根据依赖关系串行处理,将不同任务中的子任务进行并行处理,并通过线程池统一管理线程调度及切换,由执行代理模块执行目标任务。

13.根据权利要求1所述的分布式统一定时任务调度系统,其特征在于,任务回报模块用于实现任务回报服务端,进一步配置为:将任务执行结果通过任务回报模块统一回报服务端,避免任务执行结果丢失、错乱。

...

【技术特征摘要】

1.一种分布式统一定时任务调度系统,其特征在于,系统包括服务端和客户端,服务端用于任务注册、任务调度、任务执行结果收集,客户端用于任务执行代理、执行结果上报,其中:

2.根据权利要求1所述的分布式统一定时任务调度系统,其特征在于,前端界面用于任务状态监控、展示、操作以及任务注册。

3.根据权利要求2所述的分布式统一定时任务调度系统,其特征在于,前端界面进一步配置为:

4.根据权利要求1所述的分布式统一定时任务调度系统,其特征在于,配置模块用于由前台界面触发任务配置,按照前端界面中配置的不同任务类型分别存储至数据库中的不同任务配置表中。

5.根据权利要求4所述的分布式统一定时任务调度系统,其特征在于,任务配置进一步包括:

6.根据权利要求1所述的分布式统一定时任务调度系统,其特征在于,事件驱动模块用于接收kafka消息以实现任务触发,进一步配置为:调用quartz引擎,写入quartz的执行计划,交由quartz统一触发任务执行。

7.根据权利要求1所述的分布式统一定时任务调度系统,其特征在于,crontab模块用于按照crontab周期性触发任务,进一步配置为:服务端利用quartz引擎中注册的执行计划,按照配置模块中配置的任务执行频率,由服务端进行调度。

8.根据权利要求1所述的分布式统一定时任务调度系统,其特征在于,日期表达式驱动模块用于基于交易日历按照特定日期触发任务。

9.根据权利要求1所述的分布式统一定时任务调度系统,其特征在于,quartz引擎用于任务执行的统一管理,进一步配置为:接收事件驱动模块、crontab模块、日期表达式驱动模块的执行指令,将...

【专利技术属性】
技术研发人员:曹忠旭杨轩徐进
申请(专利权)人:上海金融期货信息技术有限公司
类型:发明
国别省市:

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

1