本申请涉及计算机,尤其涉及一种任务调度方法、装置、设备及存储介质。
背景技术:
1、quartz框架是一个开源的任务调度框架,可用于实现任务调度、任务管理、触发器管理和数据源管理等。相关技术中,quartz框架支持的任务调度服务与数据源大多为一对一模式或者多对一模式。其中,一对一模式为一个任务调度服务执行一个数据源对应的任务请求,多对一模式为多个任务调度服务执行一个数据源对应的任务请求。因此,在需要执行多个不同数据源对应的多个任务请求的情况下,上述两种模式都需要部署多个任务调度服务,以实现同时执行多个任务请求,但是,部署多个任务调度服务占用大量主机资源,且运维成本较高。因此,如何减少主机资源占用、降低运维成本是目前亟待解决的问题。
技术实现思路
1、本申请提供一种任务调度方法、装置、设备及存储介质,实现了在多个调度任务并发时降低占用主机资源和运维成本。
2、第一方面,本申请提供一种任务调度方法,应用于任务调度装置,任务调度装置与业务系统连接,业务系统包括多个任务分发模块,多个任务分发模块用于下发不同类型的任务,不同类型的任务所需的数据源不同,该方法包括:获取目标任务分发模块下发的第一任务;第一任务包括:数据源标识;目标任务分发模块为多个任务分发模块中的任一个;基于数据源标识从对应关系中确定对应的数据库的配置信息;对应关系包括多个数据源标识与多个数据库的配置信息的一一对应关系;将第一任务与对应数据库的配置信息加入待执行任务表。
3、本申请提供的任务调度方法,任务调度装置通过获取目标任务分发模块下发的第一任务,并基于第一任务中的数据源标识从对应关系中确定对应的数据库的配置信息,从而将第一任务与对应的数据库的配置信息加入待执行任务表。任务调度装置可以根据第一任务中的数据源标识,确定对应的数据库,进而可以将第一任务与确定的数据库的配置信息之间的对应关系保存到待执行任务表中等待后续执行。这样可以使得不同类型的第一任务在执行时,都可以根据对应的数据库的配置信息连接相应的数据库,实现任务调度装置可以执行不同类型的多个任务。从而减少了任务调度装置的部署数量,降低了对主机资源占用。并且,任务调度装置还可以实现对多个任务的统一管理,从而降低了运维成本,提高了运维效率。
4、一种可能的实现方式,数据源标识为预设标识;预设标识用于指示不限制任务所需的数据源;基于数据源标识从对应关系中确定对应的数据库的配置信息,包括:确定有效数据库的配置信息为数据源标识对应的数据库的配置信息;有效数据库为当前任务调度装置执行任务时进行数据读写的数据库。
5、另一种可能的实现方式,方法还包括:从待执行任务表中获取第二任务以及对应的目标数据库的配置信息;第二任务为待执行任务表中满足执行条件的任务;确定有效数据库与目标数据库是否一致;有效数据库为当前任务调度装置执行任务时进行数据读写的数据库;在有效数据库与目标数据库一致的情况下,基于有效数据库执行第二任务;在有效数据库与目标数据库不一致的情况下,根据目标数据库的配置信息,将有效数据库切换为目标数据库,并执行第二任务。
6、又一种可能的实现方式,方法还包括:在第二任务执行完成后,将有效数据库切换为预设数据库。
7、又一种可能的实现方式,任务调度装置连接多个不同类型的数据库;方法还包括:获取多个数据库的配置信息和驱动文件;针对多个数据库中的每个数据库,配置数据库对应的驱动文件,以生成数据源标识;根据多个数据库的配置信息以及数据源标识,构建对应关系。
8、又一种可能的实现方式,配置信息包括:数据库类型、数据库的地址和端口以及数据库的账号和密码。
9、第二方面,本申请提供一种任务调度装置,任务调度装置与业务系统连接,业务系统包括多个任务分发模块,多个任务分发模块用于下发不同类型的任务,不同类型的任务所需的数据源不同,该装置包括:获取模块、确定模块以及处理模块。
10、获取模块用于,获取目标任务分发模块下发的第一任务;第一任务包括:数据源标识;目标任务分发模块为多个任务分发模块中的任一个;确定模块用于,基于数据源标识从对应关系中确定对应的数据库的配置信息;对应关系包括多个数据源标识与多个数据库的配置信息的一一对应关系;处理模块用于,将第一任务与对应数据库的配置信息加入待执行任务表。
11、一种可能的实现方式,数据源标识为预设标识;预设标识用于指示不限制任务所需的数据源;确定模块具体用于,确定有效数据库的配置信息为数据源标识对应的数据库的配置信息;有效数据库为当前任务调度装置执行任务时进行数据读写的数据库。
12、另一种可能的实现方式,装置还包括:执行模块和切换模块;获取模块还用于,从待执行任务表中获取第二任务以及对应的目标数据库的配置信息;第二任务为待执行任务表中满足执行条件的任务;确定模块还用于,确定有效数据库与目标数据库是否一致;有效数据库为当前任务调度装置执行任务时进行数据读写的数据库;执行模块用于,在有效数据库与目标数据库一致的情况下,基于有效数据库执行第二任务;切换模块用于,在有效数据库与目标数据库不一致的情况下,根据目标数据库的配置信息,将有效数据库切换为目标数据库,并执行第二任务。
13、又一种可能的实现方式,切换模块还用于,在第二任务执行完成后,将有效数据库切换为预设数据库。
14、又一种可能的实现方式,任务调度装置连接多个不同类型的数据库;装置还包括:配置模块和构建模块。获取模块还用于,获取多个数据库的配置信息和驱动文件;配置模块用于,针对多个数据库中的每个数据库,配置数据库对应的驱动文件,以生成数据源标识;构建模块用于,根据多个数据库的配置信息以及数据源标识,构建对应关系。
15、又一种可能的实现方式,配置信息包括:数据库类型、数据库的地址和端口以及数据库的账号和密码。
16、第三方面,本申请提供一种电子设备,该电子设备包括:处理器和存储器;存储器存储有处理器可执行的指令;处理器被配置为执行指令时,使得电子设备实现上述第一方面的方法。
17、第四方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质包括:计算机软件指令;当计算机软件指令在电子设备中运行时,使得电子设备实现上述第一方面的方法。
18、第五方面,本申请提供一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述第一方面描述的相关方法的步骤,以实现上述第一方面的方法。
19、上述第二方面至第五方面的有益效果参考第一方面的对应描述,不再赘述。
1.一种任务调度方法,其特征在于,应用于任务调度装置,所述任务调度装置与业务系统连接,所述业务系统包括多个任务分发模块,所述多个任务分发模块用于下发不同类型的任务,所述不同类型的任务所需的数据源不同,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述数据源标识为预设标识;所述预设标识用于指示不限制任务所需的数据源;
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
5.根据权利要求1所述的方法,其特征在于,所述任务调度装置连接多个不同类型的数据库;所述方法还包括:
6.根据权利要求1-5任一项所述的方法,其特征在于,所述配置信息包括:数据库类型、所述数据库的地址和端口以及所述数据库的账号和密码。
7.一种任务调度装置,其特征在于,所述任务调度装置与业务系统连接,所述业务系统包括多个任务分发模块,所述多个任务分发模块用于下发不同类型的任务,所述不同类型的任务所需的数据源不同,所述装置包括:获取模块、确定模块以及处理模块;
8.根据权利要求7所述的装置,其特征在于,所述数据源标识为预设标识;所述预设标识用于指示不限制任务所需的数据源;所述确定模块具体用于,确定有效数据库的配置信息为所述数据源标识对应的数据库的配置信息;所述有效数据库为当前所述任务调度装置执行任务时进行数据读写的数据库。
9.根据权利要求7或8所述的装置,其特征在于,所述装置还包括:执行模块和切换模块;
10.一种电子设备,其特征在于,所述电子设备包括:处理器和存储器;
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括:计算机软件指令;