基于微服务的分布式任务调度方法、系统、设备和介质技术方案

技术编号:35522925 阅读:13 留言:0更新日期:2022-11-09 14:43
本发明专利技术涉及一种基于微服务的分布式任务调度方法,包括以下步骤:部署并启动调度器微服务;部署分布式设置的执行器微服务,在业务微服务中引入执行器文件包,形成执行器微服务,在执行器微服务的配置文件中配置所述调度器微服务的地址;在执行器微服务中开发并建立任务;启动执行器微服务,执行器微服务根据配置的调度器微服务地址在调度服务器进行注册;同时执行器微服务启动一监听端口用于接收调度器微服务发送的请求;在调度器微服务中设置任务的调度策略,调度器微服务根据任务调度策略向对应的执行器微服务发送请求,执行器微服务接收到请求后根据请求执行对应的任务,并将任务执行结果返回至调度器微服务。任务执行结果返回至调度器微服务。任务执行结果返回至调度器微服务。

【技术实现步骤摘要】
基于微服务的分布式任务调度方法、系统、设备和介质


[0001]本专利技术涉及基于微服务的分布式任务调度方法、系统、设备和介质,属于微服务和分布式任务调度


技术介绍

[0002]目前的中大型的信息化系统,从功能设计的角度是分散的,即一个项目或模块一般只完成一部分的事情,随着系统与业务的发展,会需要设计很多的应用才能满足用户需求,而无论哪个系统也离不开计划任务的功能,我们不可能在每个项目中都整合一套完整的计划任务组件,这种做法不仅开发时更加麻烦、同时也带来了维护或扩展复杂度的指数提升。所以,凡涉及计划任务功能的系统,一般都会将调度功能独立出来一个服务。
[0003]目前被普遍使用的调度系统如DolphinScheduler、Azkaban、Airflow、Oozie、elastic

job、xxl

job等产品。这些产品普遍存在适用性过广、可能出现单节点或多节点故障、实际使用复杂、功能欠缺等缺点。

技术实现思路

[0004]为了解决上述现有技术中存在的问题,本专利技术提出了一种基于微服务的分布式任务调度方法,基于微服务的开发框架,更便捷的进行任务开发,以及分布式环境中的任务维护和调度。
[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]本专利技术具有如下有益效果:
[0032]1、本专利技术一种基于微服务的分布式任务调度方法,通过微服务框架在分布式的环境中部署调度器微服务和执行器微服务,在业务微服务中引入执行器文件包即可形成执行器微服务,配置相应的调度器微服务地址即可完成关联,能够简单有效的构建分布式任务调度环境。
[0033]2、本专利技术一种基于微服务的分布式任务调度方法,执行器微服务在启动后,可自动将执行器微服务和任务注册到对应的调度器微服务中,无需工作人员手动维护注册,减
少使用难度。
附图说明
[0034]图1为本专利技术实施例一的方法流程图;
[0035]图2为本专利技术实施例中调度器微服务的可视化界面示例图;
[0036]图3为本专利技术实施例中调度器微服务的可视化界面的执行器服务管理功能模块的界面示例图;
[0037]图4为本专利技术实施例中调度器微服务的可视化界面的任务调度功能模块的界面示例图。
具体实施方式
[0038]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0039]应当理解,文中所使用的步骤编号仅是为了方便描述,不对作为对步骤执行先后顺序的限定。
[0040]应当理解,在本专利技术说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本专利技术。如在本专利技术说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于微服务的分布式任务调度方法,其特征在于,包括以下步骤:部署并启动调度器微服务;部署分布式设置的执行器微服务,在业务微服务中引入执行器文件包,形成执行器微服务,在执行器微服务的配置文件中配置所述调度器微服务的地址;在执行器微服务中开发并建立任务;启动执行器微服务,执行器微服务根据配置的调度器微服务地址在调度服务器进行注册;同时执行器微服务启动一监听端口用于接收调度器微服务发送的请求;在调度器微服务中设置任务的调度策略,调度器微服务根据任务调度策略向对应的执行器微服务发送请求,执行器微服务接收到请求后根据请求执行对应的任务,并将任务执行结果返回至调度器微服务。2.根据权利要求1所述的一种基于微服务的分布式任务调度方法,其特征在于,所述执行器微服务根据配置的调度器微服务地址在调度服务器进行注册的步骤具体为:执行器微服务根据配置的调度器微服务地址,将执行器相关信息发送至调度器微服务进行注册,调度服务器保存执行器相关信息,所述执行器相关信息包括执行器微服务的地址、标识和名称;同时,执行器微服务将建立的任务的任务信息发送至调度器微服务进行注册,调度服务器保存任务信息,所述任务信息包括任务的标识、名称。3.根据权利要求2所述的一种基于微服务的分布式任务调度方法,其特征在于,所述在调度器微服务中设置任务的调度策略的步骤具体为:在调度器微服务中设置在当前调度器微服务中注册的任务的调度信息;所述调度信息包括任务的名称、类型、生效时间和调度策略;其中,所述任务的类型包括普通任务、串行任务和脚本任务。4.根据权利要求1所述的一种基于微服务的分布式任务调度方法,其特征在于,所述执行器微服务根据配置的调度器微服务地址在调度服务器进行注册后,还包括步骤:调度器微服务将不断定时发送心跳请求给注册好的执行器微服务以确认对应的执行器微服务存活。5.根据权利要求1所述...

【专利技术属性】
技术研发人员:关育壮许威威
申请(专利权)人:福建博思软件股份有限公司
类型:发明
国别省市:

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

1