本发明涉及任务调度,尤其涉及一种多时区任务调度方法、装置、电子设备及存储介质。
背景技术:
1、企业在不同国家部署业务系统时,会面临一个不同时区的问题,而在一些定时触发的任务处理上,需要做到不同国家的数据按照当地时间进行处理,如b端系统中的一些夜间凌晨三点清理任务,那属于a国的数据需要在a国时间的凌晨三点触发清理,属于b国的数据则要在b国对应的时区的凌晨三点触发清理。同理,一些c端系统的营销任务也是,如抽奖活动是定在晚上八点进行抽奖并公布,则不同国家也是需要在不同国家的本地时区的八点进行本国数据的抽奖处理。
2、现有的实现方案和微服务背景下,一般任务调度会使用开源的框架如xxl-job,如果需要实现以上的多国按本国时间处理本国数据的诉求,一般会部署不同应用服务器来处理不同国家的数据,同时xxl-job也会部署到不同的国家上,并且把应用服务器和xxl-job的服务器的时间设置为该国的时间,再在各国的xx1-job管理后台上配置各自的任务触发,从而实现各国用各自的xxl-job和服务器处理各国的数据。
3、现有的方案的缺点是需要的服务器成本过高,同时每次新增一个任务,则需要繁琐的多次配置每个国家的xxl-job,无法在一个xxl-job上统一管理,运维成本也高。
技术实现思路
1、本发明提供了一种多时区任务调度方法、装置、电子设备及存储介质,用于解决现有方案服务器成本过高,配置繁琐、运维成本高的技术问题。
2、本发明提供了一种多时区任务调度方法,应用于分布式调度平台;所述方法包括:
3、接收调度任务和调度时间;
4、获取所述调度任务对应的多个时区,并在多个所述时区中确定基准时区;
5、将各时区的调度时间转化为所述基准时区下的最接近触发时间;
6、根据各时区的所述最接近触发时间确定目标触发时间;
7、根据所述目标触发时间执行所述调度任务。
8、可选地,所述根据所述目标触发时间执行所述调度任务的步骤,包括:
9、将所述目标触发时间和对应的目标时区记录到所述调度任务的记录里;
10、当到达所述记录里的目标触发时间时,向应用系统发送请求参数,所述请求参数包括时区参数;所述时区参数用于所述应用系统获取目标字段,并从预设数据库中提取所述目标字段对应的国家数据;所述应用系统响应所述请求参数采用所述国家数据执行所述调度任务。
11、可选地,还包括:
12、当所述调度任务在所述目标触发时间触发执行后,重新计算各时区的最接近触发时间,并返回根据各时区的所述最接近触发时间确定目标触发时间的步骤。
13、可选地,所述根据各时区的所述最接近触发时间确定目标触发时间的步骤,包括:
14、将离当前时间最接近的最接近触发时间确定为目标触发时间。
15、本发明还提供了一种多时区任务调度装置,应用于分布式调度平台;所述装置包括:
16、调度任务和调度时间接收模块,用于接收调度任务和调度时间;
17、基准时区确定模块,用于获取所述调度任务对应的多个时区,并在多个所述时区中确定基准时区;
18、最接近触发时间转化模块,用于将各时区的调度时间转化为所述基准时区下的最接近触发时间;
19、目标触发时间确定模块,用于根据各时区的所述最接近触发时间确定目标触发时间;
20、调度任务执行模块,用于根据所述目标触发时间执行所述调度任务。
21、可选地,所述调度任务执行模块,包括:
22、记录子模块,用于将所述目标触发时间和对应的目标时区记录到所述调度任务的记录里;
23、执行子模块,用于当到达所述记录里的目标触发时间时,向应用系统发送请求参数,所述请求参数包括时区参数;所述时区参数用于所述应用系统获取目标字段,并从预设数据库中提取所述目标字段对应的国家数据;所述应用系统响应所述请求参数采用所述国家数据执行所述调度任务。
24、可选地,还包括:
25、重新计算模块,用于当所述调度任务在所述目标触发时间触发执行后,重新计算各时区的最接近触发时间,并返回根据各时区的所述最接近触发时间确定目标触发时间的步骤。
26、可选地,所述目标触发时间确定模块,包括:
27、目标触发时间确定子模块,用于将离当前时间最接近的最接近触发时间确定为目标触发时间。
28、本发明还提供了一种电子设备,所述设备包括处理器以及存储器:
29、所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
30、所述处理器用于根据所述程序代码中的指令执行如上任一项所述的多时区任务调度方法。
31、本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行如上任一项所述的多时区任务调度方法。
32、从以上技术方案可以看出,本发明具有以下优点:本发明提供了一种多时区任务调度方法,并具体公开了:接收调度任务和调度时间;获取调度任务对应的多个时区,并在多个时区中确定基准时区;将各时区的调度时间转化为基准时区下的最接近触发时间;根据各时区的最接近触发时间确定目标触发时间;根据目标触发时间执行调度任务。本发明通过将各时区的调度时间转化为同一个基准时区的最接近触发时间,使得可以通过统一的分布式调度平台对所有时区的调度时间进行统一管理并进行任务调度,减少了在不同时区调度任务时的服务器数量,降低了服务器成本,无需配置每个国家、时区的分布式调度平台,简化了配置过程,降低了运维成本。
1.一种多时区任务调度方法,其特征在于,应用于分布式调度平台;所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标触发时间执行所述调度任务的步骤,包括:
3.根据权利要求1所述的方法,其特征在于,还包括:
4.根据权利要求1所述的方法,其特征在于,所述根据各时区的所述最接近触发时间确定目标触发时间的步骤,包括:
5.一种多时区任务调度装置,其特征在于,应用于分布式调度平台;所述装置包括:
6.根据权利要求5所述的装置,其特征在于,所述调度任务执行模块,包括:
7.根据权利要求5所述的装置,其特征在于,还包括:
8.根据权利要求5所述的装置,其特征在于,所述目标触发时间确定模块,包括:
9.一种电子设备,其特征在于,所述设备包括处理器以及存储器:
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行权利要求1-4任一项所述的多时区任务调度方法。