本申请涉及计算机,具体而言,涉及一种分布式定时任务调度装置、方法及电子设备。
背景技术:
1、分布式定时任务是一种用于在分布式系统中调度和执行定时任务的技术方案,它可以实现任务的自动调度、分布式部署、高可用性和灵活的任务管理等功能。目前,有很多种类型的分布式定时任务调度框架,例如:开源软件xxl-job及elastic-job,此外,还有antares等优秀开源软件可备选。
2、然而,软件开发人员在使用分布式定时任务时,由于不同调度框架之间的技术实现上存在差异,使得分布式定时任务的业务与技术的耦合度较高,业务难以与不同分布式定时任务的调度框架相适配,导致分布式定时任务的调度框架的适应性低的问题。
技术实现思路
1、有鉴于此,本申请的目的在于提供一种分布式定时任务调度装置、方法及电子设备,以解决分布式定时任务的调度框架的适应性低的问题。
2、第一方面,本申请实施例提供了一种分布式定时任务调度方法,包括客户端模块及管理端模块,所述客户端模块包括微服务、客户端组件,所述管理端模块包括接口应用、不同调度框架类型的管理端;
3、微服务,用于以设定格式的注解来声明使用该微服务下的分布式定时任务,并加载客户端组件,微服务包括多个,不同的微服务之间具有相同的或者不同的调度框架类型;
4、客户端组件,用于对多个微服务声明的分布式定时任务进行识别,根据识别结果向接口应用发送针对定时任务的管理请求,管理请求包括调度框架类型;
5、接口应用,用于根据管理请求,确定与分布式定时任务的调度框架类型对应的目标管理端,向目标管理端发送管理指令;
6、目标管理端,用于响应于管理指令,在目标管理端中调度管理分布式定时任务。
7、可选地,管理请求包括分组检测请求,客户端组件在向接口应用发送管理请求时,具体用于:从微服务获取客户端配置参数,客户端配置参数包括调度框架类型、微服务的微服务标识及访问令牌;根据访问令牌、微服务标识及调度框架类型,生成并向接口应用发送分组检测请求,以确定是否存在与微服务标识对应的目标执行器分组。
8、可选地,目标管理端,具体用于:响应于接口应用基于分组检测请求生成的分组管理指令,确定目标管理端中是否存在与微服务标识对应的目标执行器分组;若不存在目标执行器分组,则创建目标执行器分组。
9、可选地,管理请求还包括任务检测请求,客户端组件在向接口应用发送管理请求时,还具体用于:若存在目标执行器分组,从分布式定时任务的注解中获取任务标识;根据任务标识生成任务检测请求,以确定目标管理端是否存在与任务标识对应的目标分布式定时任务。
10、可选地,目标管理端,还具体用于:响应于接口应用基于任务检测请求生成的任务管理指令,确定目标管理端中是否存在与任务标识对应的目标分布式定时任务;若不存在目标分布式定时任务,在目标管理端中创建与任务标识对应的目标分布式定时任务。
11、可选地,微服务,具体用于:接收注解创建指令,注解创建指令包括注解标签、时间表达式及任务标识;将时间表达式及任务标识作为参数,将注解标签与参数组合在一起生成分布式定时任务的注解。
12、可选地,接口应用在确定目标管理端时,具体用于:确定与分布式定时任务的调度框架类型对应的目标管理端地址;根据目标管理端地址确定目标管理端。
13、可选地,接口应用,还具体用于:响应于针对管理端的登录请求,利用管理端配置参数对登录请求中的登录账号及密码进行校验。
14、第二方面,本申请实施例还提供了一种分布式定时任务调度方法,所述方法包括:
15、以设定格式的注解来声明使用多个不同调度框架类型的分布式定时任务;
16、针对每个分布式定时任务,对该分布式定时任务进行识别,根据识别结果确定与该分布式定时任务的调度框架类型对应的目标管理端;
17、在目标管理端中调度该分布式定时任务。
18、第三方面,本申请实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如上述的分布式定时任务调度方法的步骤。
19、本申请实施例带来了以下有益效果:
20、本申请实施例提供的一种分布式定时任务调度装置、方法及电子设备,能够通过管理端模块将不同调度框架类型的管理端集成在一起,并通过接口应用对外提供统一的接口服务,以适应于不同业务的需求,另外,针对不同调度框架设置了统一的注解格式,降低了针对不同调度框架类型的任务配置复杂度,与现有技术中的分布式定时任务调度方法相比,解决了分布式定时任务的调度框架的适应性低的问题。
21、为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
1.一种分布式定时任务调度装置,其特征在于,包括客户端模块及管理端模块,所述客户端模块包括微服务、客户端组件,所述管理端模块包括接口应用、不同调度框架类型的管理端;
2.根据权利要求1所述的装置,其特征在于,所述管理请求包括分组检测请求,所述客户端组件在向所述接口应用发送管理请求时,具体用于:
3.根据权利要求2所述的装置,其特征在于,所述目标管理端,具体用于:
4.根据权利要求2或3所述的装置,其特征在于,所述管理请求还包括任务检测请求,所述客户端组件在向所述接口应用发送管理请求时,还具体用于:
5.根据权利要求4所述的装置,其特征在于,所述目标管理端,还具体用于:
6.根据权利要求1所述的装置,其特征在于,所述微服务,具体用于:
7.根据权利要求1所述的装置,其特征在于,所述接口应用在确定目标管理端时,具体用于:
8.根据权利要求1所述的装置,其特征在于,所述接口应用,还具体用于:
9.一种分布式定时任务调度方法,其特征在于,包括:
10.一种电子设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如权利要求9中所述的分布式定时任务调度方法的步骤。