一种基于quartz框架的大数据任务调度管理系统及方法技术方案

技术编号:35841286 阅读:8 留言:0更新日期:2022-12-03 14:13
本发明专利技术公开了一种基于quartz框架的大数据任务调度管理系统及方法,所述系统包括核心调度模块、资源调度模块、至少一个调度服务和数据库;核心调度模块用于从数据库中加载所有的作业任务到quartz框架中,生成对应的作业实例,下发到对应的执行器提交给Hadoop集群,并且执行器通过各个组件的方法监听任务状态返回给调度服务;所述核心调度模块包括调度作业管理器、定时管理器、调度任务管理器和回调管理器。本发明专利技术的系统及方法能够对各种任务的调度进行统一管理,降低了数据开发工程师的工作量,提高了整个数仓建设中任务调度的效率。提高了整个数仓建设中任务调度的效率。提高了整个数仓建设中任务调度的效率。

【技术实现步骤摘要】
一种基于quartz框架的大数据任务调度管理系统及方法


[0001]本专利技术涉及计算机、网络通信技术及大数据任务调度领域,具体涉一种基于quartz框架的大数据任务调度管理系统及方法。

技术介绍

[0002]随着数据中台的建设和发展,数据分析师的对企业的数据进行分析,并且向数据开发工程师、运维工程师、开发工程师会提一系列需求,数据中台的建设十分重要,但是数据中台对于任务一般存在下面一些问题:(1)作业类型多用多样,java,shell,HiveSql,Flink,spark,python等;(2)作业内容无法统一管理,版本、权限、提交记录;(3)周期调度稳定性得到考验;(4)传统的数仓建设,需要在很多个服务器上通过cron进行任务调度的配置;(5)作业运行失败无感知、看不到日志;(6)数据治理、数据血缘、数据质量无法监控。

技术实现思路

[0003]针对现有技术存在的问题,本专利技术的目的在于提供一种基于quartz框架的大数据任务调度管理系统及方法,减少数据开发工作效率,用于解决上述存在的问题。
[0004]为实现上述目的,本专利技术提供一种基于quartz框架的大数据任务调度管理系统,包括核心调度模块、资源调度模块、至少一个调度服务和数据库;所述核心调度模块包括调度作业管理器、定时管理器、调度任务管理器和回调管理器;其中,调度作业管理器用于编辑作业并将编辑的所述各脚本任务存储于数据库中并且用于对所述各脚本任务的操作权限进行管理;定时管理器用于处理定时调度的任务,通过quartz实现定时调度逻辑,并且支持集群调度方式;调度任务管理器用于为所述各作业配置对应的依赖关系形成DAG并且分配对应的任务的执行周期;回调管理器用来统一处理回调的公共类;资源调度模块包括任务资源调度管理器,其中任务资源调度管理器负责下发任务运行时的资源控制和各个作业类型的处理,针对不同的作业类型会去控制对应的处理器去处理。
[0005]进一步,所述作业包括hive、spark、python、pyspark、flink、datax。
[0006]进一步,核心调度模块还包括作业实例下发管理器、作业实例重试管理器和作业实例管理器,所述作业实例下发管理器、作业实例重试管理器和作业实例管理器是核心调度模块关于处理实例相关逻辑的功能模块。
[0007]进一步,作业实例下发管理器对每次任务和/或作业运行都会生成实例的记录。
[0008]进一步,作业实例管理器的作用是用来下发作业实例的管理器,实例会提交到资源调度模块进行实例的处理,下发前会通过策略者模式,获取项目引擎信息进行不同作业类型下发前的参数组装。
[0009]进一步,作业实例重试管理器处理作业实例重试的逻辑,包括队列已慢重试、任务失败重试和/或长时间没有收到作业实例的回调消息进行重试,并且用于对各作业类型产生的数据进行数据质量的监控状态进行监控并且触发告警。
[0010]进一步,核心调度模块还包括队列管理器,所述队列管理器负责任务域调度中内置的队列机制,可以控制任务下发的并发数。
[0011]另一方面,本专利技术提供一种基于quartz框架的大数据任务调度管理方法,所述方法用于实施在任务调度管理系统,所述方法包括以下步骤:S1、对各作业进行编辑并将编辑的各脚本任务存储于数据库中;S2、为所述各任务配对应的任务执行器和执行周期;S3、从数据库中加载各脚本任务到quartz框架中,以使quartz框架按照所述执行周期通过消息队列将各脚本任务的执行指令下发给对应的任务执行器;S4、任务执行器根据所述下发的执行指令对对应的脚本任务处理器进行执行,并返回执行结果;S5、对所述各脚本任务的用户操作权限进行管理;S6、当脚本任务在对应的任务执行器上执行失败或执行超时时,向相关负责人发送告警通知。
[0012]所述方法的运行作业首先需要通过参数校验、其次会生成对应作业和任务的实例,并且判断是否是定时调度,判断是定时调度会加入到quartz当中,判断不是定时运行则立刻进入到任务下发队列当中;当quartz当中满足触发条件的时候也会到下发队列当中,为了防止任务过多给大数据集群造成压力,使用队列管理器来控制并发限制,判断满足并发限制则会判断上游是否成功,因为是DAG依赖;判断上游也执行成功则将任务提交到大数据集群,执行器会通过Hadoop相关SDK观察任务状态通过作业实例管理器同步任务状态,并且通过消息中间件发送实时日志,方便用户查看任务的进度和情况;通过回调管理器来将任务信息实时同步给调用方,并且通过告警模块,监控作业的运行情况。
[0013]根据本专利技术的一种基于quartz框架的大数据调度系统及其方法,能够对各任务的调度进行统一管理,降低了数据开发工程师的工作量,提高了整个数仓建设中任务调度的效率。
附图说明
[0014]图1为根据本专利技术实施例的一种基于quartz框架的大数据任务调度管理系统架构图;图2为根据本专利技术实施例的一种基于quartz框架的大数据任务调度管理系统流程图;图3为根据本专利技术实施例的任务优先级排序示意图;图4为根据本专利技术实施例的配额控制整体系统的调度逻辑示意图;图5为根据本专利技术实施例配额控制示意图。
具体实施方式
[0015]下面将结合附图,对本专利技术的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0016]在本专利技术的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本专利技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本专利技术的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
[0017]在本专利技术的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本专利技术中的具体含义。
[0018]quartz是一个开源的作业调度框架,它完全由Java写成,并设计用于J2SE和J2EE应用中。它提供了巨大的灵活性而不牺牲简单性。能够用它来为执行一个作业而创建简单的或复杂的调度。它有很多特征,如:数据库支持,集群,插件,EJB作业预构建,JavaMail及其它,支持cron

like表达式等等。
[0019]本专利技术是利用quartz定时分布式调度和能力来处理大数据任务,比如hivesql、sparksql、flink、python、算法任务等等。quar本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于quartz框架的大数据任务调度管理系统,其特征在于,所述系统包括核心调度模块、资源调度模块、至少一个调度服务和数据库;核心调度模块用于从数据库中加载所有的作业任务到quartz框架中,生成对应的作业实例,下发到对应的执行器提交给Hadoop集群,并且执行器通过各个组件的方法监听任务状态返回给调度服务;所述核心调度模块包括调度作业管理器、定时管理器、调度任务管理器和回调管理器;其中,调度作业管理器用于编辑作业并将编辑的所述各脚本任务存储于数据库中并且用于对所述各脚本任务的操作权限进行管理;定时管理器用于处理定时调度的任务,通过quartz实现定时调度逻辑,并且支持集群调度方式;调度任务管理器用于为所述各作业配置对应的依赖关系形成DAG并且分配对应的任务的执行周期;回调管理器用来统一处理回调的公共类;资源调度模块包括任务资源调度管理器,其中任务资源调度管理器负责下发任务运行时的资源控制和各个作业类型的处理,针对不同的作业类型控制对应的处理器进行处理。2.如权利要求1所述的一种基于quartz框架的大数据任务调度管理系统,其特征在于,所述作业类型包括hive、spark、python、pyspark、flink、datax。3.如权利要求2所述的一种基于quartz框架的大数据任务调度管理系统,其特征在于,核心调度模块还包括作业实例下发管理器、作业实例重试管理器和作业实例管理器,所述作业实例下发管理器、作业实例重试管理器和作业实例管理器是核心调度模块关于处理实例相关逻辑的功能模块。4.如权利要求3所述的一种基于quartz框架的大数据任务调度管理系统,其特征在于,作业实例下发管理器对每次任务和/或作业运行都会生成实例的记录。5.如权利要求4所述的一种基于quartz框架的大数据任务调度管理系统,其特征在于,作业实例管理器的作用是用来下发作业实例的管理器,实例会提交到资源调度模块进行实例的处理,下发前会通过策略者模式,获取项目引擎信息进行不同作业类型下发前的参数组装。6.如权利要求5所述的一种基于quartz框架的大数据任务调度管理系统,其特征在于,作业实例重试管理器处理作业实例重试的逻辑,包括队列已慢重试、任务失...

【专利技术属性】
技术研发人员:邓明瑞王乐珩张金银
申请(专利权)人:杭州比智科技有限公司
类型:发明
国别省市:

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

1