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.校验模块,用于对所述目标定时任务进行校验,获得所述目标定时任务的校验结果;
33.生成模块,用于在所述目标任务的校验结果为校验通过的情况下,基于所述目标定时任务生成与所述目标定时任务对应的目标任务策略;
34.发送模块,用于将所述目标定时任务以及所述目标任务策略发送给目标执行服务器,以使所述目标执行服务器根据所述目标任务策略执行所述目标定时任务。
35.为解决上述问题,本技术提供一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述处理定时任务方法的步骤。
36.为解决上述问题,本技术提供一种电子设备,至少包括存储器、处理器,所述存储器上存储有计算机程序,所述处理器在执行所述存储器上的计算机程序时实现上述任一项所述处理定时任务方法的步骤。
37.本技术中处理定时任务的方法、装置、存储介质及电子设备,通过根据目标定时任务来自动生成任务策略,以及将目标定时任务发送给目标执行服务器,由此能够利用目标执行服务器对目标定时任务进行执行,实现了自动、及时的对定时任务的分发,解决了由于人工对定时任务进行监控、分发造成定时任务堆积的问题,通过根据定时任务来生成对应的任务策略,使得任务策略的生成更加准确、可靠,解决了人工确定任务策略容易出错的问题。并且在生成任务策略之前,通过对目标任务进行校验,能够保证后续任务执行的正确性,为后续及时、准确的执行定时任务提供了保障。
38.上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
39.通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
40.图1为本技术实施例一种处理定时任务的方法的流程图;
41.图2为本技术另一实施例一种处理定时任务的方法的流程图;
42.图3为本技术另一实施例一种处理定时任务的方法的流程图;
43.图4为本技术又一实施例一种处理定时任务的装置的结构框图;
44.图5为本技术实施例中一种电子设备的结构框图。
具体实施方式
45.此处参考附图描述本技术的各种方案以及特征。
46.应理解的是,可以对此处申请的实施例做出各种修改。因此,上述说明书不应该视为限制,而仅是作为实施例的范例。本领域的技术人员将想到在本技术的范围和精神内的其他修改。
47.包含在说明书中并构成说明书的一部分的附图示出了本技术的实施例,并且与上面给出的对本技术的大致描述以及下面给出的对实施例的详细描述一起用于解释本技术的原理。
48.通过下面参照附图对给定为非限制性实例的实施例的优选形式的描述,本技术的这些和其它特性将会变得显而易见。
49.还应当理解,尽管已经参照一些具体实例对本技术进行了描述,但本领域技术人员能够确定地实现本技术的很多其它等效形式。
50.当结合附图时,鉴于以下详细说明,本技术的上述和其他方面、特征和优势将变得
更为显而易见。
51.此后参照附图描述本技术的具体实施例;然而,应当理解,所申请的实施例仅仅是本技术的实例,其可采用多种方式实施。熟知和/或重复的功能和结构并未详细描述以避免不必要或多余的细节使得本技术模糊不清。因此,本文所申请的具体的结构性和功能性细节并非意在限定,而是仅仅作为权利要求的基础和代表性基础用于教导本领域技术人员以实质上任意合适的详细结构多样地使用本技术。
52.本说明书可使用词组“在一种实施例中”、“在另一个实施例中”、“在又一实施例中”或“在其他实施例中”,其均可指代根据本技术的相同或不同实施例中的一个或多个。
53.本技术实施例提供一种处理定时任务的方法,具体可以应用于终端、服务器等电子设备。如图1所示,本实施例中的方法包括如下步骤:
54.步骤s101,基于任务管理表实时确定待处理的目标定时任务;
55.本步骤中在具体实施过程中,可以预先创建任务管理表,利用任务管理表来对各定时任务进行统计、管理。本步骤中该任务管理表中会存储各定时任务的名称以及各定时任务当前的任务状态。其中任务状态包括:初始化状态、处理中状态、中断状态、执行失败状态等等。本步骤中在确定目标定时任务时,具体可以对任务管理表中的各定时任务进行定时扫描,然后根据各定时任务的任务状态,来确定满足预定任务状态的定时任务为目标定时任务。
56.步骤s102,对所述目标定时任务进行校验,获得所述目标定时任务的校验结果;
57.本步骤在具体实施过程中,具体可以将目标定时任务分发至任务分发工厂,即分发至任务分发模块,然后由任务分发工厂/任务分发模块对待处理的目标定时任务进行校验,校验该目标定时任务是否存在、状态是否为处理中、是否为支持的任务类型,以此来确定任务的可执行性,保证后续任务执行的正确性。
58.步骤s103,在所述目标任务的校验结果为校验通过的情况下,基于所述目标定时任务生成与所述目标定时任务对应的目标任务策略;
59.本步骤在具体实施过程中,具体可以根据目标定时任务关联的配置信息来生成对应的目标任务策略,其中配置信息具体可以为执行次数、分片信息、中断位置等等。其中,执行次数是指目标定时任务是否为单次执行,或者是否为重复循环执行,或者重复执行的预定次数。分片信息是指目标定时任务是否支持拆分成多个子任务、以及拆分成多个子任务的数量,通过对目标定时任务进行拆分,可以利用不同的执行服务器来对各子任务进行处理,由此能够提高定时任务的处理速度。中断位置是指上一次执行时执行的终点,利用该中断位置可以确定下一批次的起点。
60.步骤s104,将所述目标定时任务以及所述目标任务策略发送给目标执行服务器,以使所述目标执行服务器根据所述目标任务策略执行所述目标定时任务。
61.本步骤中在生成目标任务策略之后,就可以将目标任务策略以及目标任务发送给对应的执行服务器,以实现目标任务的执行操作。具体可以采用随机的方式将目标任务策略以及目标定时任务发送给任意一执行服务器,也可以根据目标任务策略中的执行服务器的标识,来将目标任务策略以及目标任务发送给对应的执行服务器。
62.通过根据目标定时任务来自动生成任务策略,以及将目标定时任务发送给目标执行服务器,由此能够利用目标执行服务器对目标定时任务进行执行,实现了自动、及时的对
定时任务的分发,解决了由于人工对定时任务进行监控、分发造成定时任务堆积的问题,通过根据定时任务来生成对应的任务策略,使得任务策略的生成更加准确、可靠,解决了人工确定任务策略容易出错的问题。并且在生成任务策略之前,通过对目标任务进行校验,能够保证后续任务执行的正确性,为后续及时、准确的执行定时任务提供了保障。
63.本技术另一实施例提供一种处理定时任务的方法,包括如下步骤:
64.步骤s201,基于任务管理表获取各定时任务的任务状态;确定任务状态为初始化状态的定时任务为所述目标定时任务;或者,确定任务状态为中断状态的定时任务为所述目标定时任务,或者,确定任务状态为执行失败状态的定时任务为所述目标定时任务;
65.本步骤在具体实施过程中,可以预先设定目标任务状态,然后遍历任务管理表中的各定时任务,获得各定时任务的状态,然后将任务状态为目标任务状态的定时任务确定为目标定时任务。其中目标任务状态可以为初始化状态、中断状态、失败状态中的任意一种或几种。
66.步骤s202,将所述目标定时任务的状态更新为执行中状态,并将所述目标定时任务更新后的所述执行中状态存储至所述任务管理表中;
67.本步骤在具体实施过程中,在确定出目标定时任务之后,就可以将该目标定时任务的任务状态修改为执行中状态,即表示该目标定时任务的当前任务状态为正在处理中,并对当前任务状态进行存储,防止后续在遍历各定时任务时,重新将该定时任务确定为待处理的任务。
68.步骤s203,基于任务分发模块至少根据目标定时任务的任务类型,对所述目标定时任务进行校验,获得校验结果;
69.本步骤中任务类型是指定时任务的可执行性,其具体包括可执行类型和非可执行类型。在具体实施过程中,可以根据目标定时任务的存在情况、目标任务的任务状态、以及目标任务支持的任务类型等,对目标定时任务的可执行性进行校验,例如当目标定时任务不存在,或者目标定时任务的任务状态为执行成功,或者目标定时任务的任务类型为执行服务器无法运行的类型时,则可以确定该目标定时任务的任务类型为非可执行类型,反之,则可以确定目标定时人的任务类型为可执行类型。
70.步骤s204,获取所述目标定时任务的配置信息;
71.本步骤中,配置信息具体包括如下任意一种或几种:执行次数、分片信息、中断位置。本实施例中,可以预先将各定时任务的配置信息存储在所述任务管理表中,由此通过查找任务管理表就可以获取到相应定时任务的配置信息,为后续基于配置信息准确的生成任务策略奠定了基础。
72.步骤s205,在所述配置信息包括执行次数的情况下,基于所述执行次数确定所述目标定时任务的目标执行次数,以生成所述目标任务策略;在所述配置信息包括中断位置的情况下,基于所述中断位置确定起始执行位置,以生成所述目标任务策略;在所述配置信息包括分片信息的情况下,基于所述分片信息中的分片数量确定与所述目标定时任务对应的若干子定时任务、以及基于所述分片信息中的分片策略确定与各所述子定时任务对应的目标执行服务器,以生成所述目标任务策略。
73.本步骤在具体实施过程中,分片策略具体包括如下任意一种:平均分配法、哈希轮询分配法、哈希奇偶分配法。本实施例中在具体实施过程中,确定与各所述子定时任务对应
的目标执行服务器具体可以采用如下三种方式:
74.方式一:基于平均分配法的分片策略,确定当前任务量少于平均任务量的执行服务器为目标执行服务器。
75.本种方式中,可以先确定各执行服务器被分配的目标定时任务的任务数量,然后根据各执行服务器的任务数量计算获得平均任务量,由此就可以将任务数量少于平均任务量的执行服务器作为目标执行服务器,然后将各子定时任务分配这些任务数量较少的目标执行服务器,避免了各执行服务器任务数量差距较大、不够均衡的问题。
76.方式二:基于目标定时任务的哈希值采用哈希轮询分配法的分片策略,确定与所述目标定时任务对应的起始执行服务器,基于所述起始执行服务器确定各所述目标执行服务器。
77.本中方式中,可以预先根据各执行服务器的ip地址对各服务器进行排序,然后根据目标定时任务的名称计算获得哈希值,接着将目标定时任务的哈希值与各执行服务器的ip地址进行匹配,以确定出与哈希值对应的目标ip地址,进而确定该目标ip地址对应的执行服务器为起始服务器,最后就可以根据各执行服务器的排列顺序、将各子定时任务逐一分配给该起始服务器以及位于起始服务之后的执行服务器。
78.方式三:基于目标定时任务的哈希值采用哈希奇偶分配法的分配策略,确定与所述目标定时任务对应的起始执行服务器,基于所述起始执行服务器确定各所述目标执行服务器。
79.本种方式中,首先可以根据目标定时任务的名称计算获得哈希值,根据计算获得哈希值的奇偶性来确定目标排序方式。例如,当计算获得哈希值为偶数时,可以确定降序的排序方式为目标排序方式;当计算获得哈希值为奇数时,可以确定升序的排序方式为目标排序方式。确定目标排序方式之后,就可以基于该目标排序方式以及各执行服务器的ip地址对各执行服务器进行排序,同时将目标定时任务的哈希值与各执行服务器的ip地址进行匹配,以确定出与哈希值对应的目标ip地址。然后将给目标ip地址对应的执行服务器确定为起始服务器。最后就可以根据各执行服务器的排列顺序、将各子定时任务逐一分配给该起始服务器以及位于起始服务之后的执行服务器。
80.步骤s206,将所述目标定时任务以及所述目标任务策略发送给随机确定的目标执行服务器、或者基于目标任务策略中的目标执行服务器的标识信息将所述目标定时任务以及所述目标任务策略发送给所述目标执行服务器,以使所述目标执行服务器根据所述目标任务策略执行所述目标定时任务;
81.本步骤中在具体实施过程中,当目标任务策略中未包含有目标执行服务器的标识信息时,可以采用随机方式将目标任务策略以及对应的目标定时任务发送给任意执行服务器。当目标任务策略中包含有目标执行服务器的标识信息之后,则可以基于目标执行服务器的标识信息将目标任务策略以及目标定时任务发送给目标执行服务器。
82.步骤s207,实时接收目标执行服务器发送的目标定时任务的执行信息;
83.将所述执行信息以及所述执行信息与目标定时任务的对应关系存储至所述任务管理表。
84.本步骤中,执行信息具体包括目标定时任务执行的当前位置、当前位置对应的当前时间、以及耗费的时长等等。
85.本实施例中的处理定时任务的方法,通过根据目标定时任务来自动生成任务策略,以及将目标定时任务发送给目标执行服务器,由此能够利用目标执行服务器对目标定时任务进行执行,实现了自动、及时的对定时任务的分发,解决了由于人工对定时任务进行监控、分发造成定时任务堆积的问题,通过根据定时任务来生成对应的任务策略,使得任务策略的生成更加准确、可靠,解决了人工确定任务策略容易出错的问题。并且在生成任务策略之前,通过对目标任务进行校验,能够保证后续任务执行的正确性,为后续及时、准确的执行定时任务提供了保障。
86.为了对上述实施例做进一步解释,以下结合具体的应用场景进行说明,如图2所示,本实施例中的定时任务的处理方法具体用于批处理定时任务的场,即对批量的定时任务进行处理。具体可以设置作业参数以及在执行过程中记录执行结果(如跑批到哪一行数据),此时调度执行过程中便可以直观的查看到任务的执行情况,并可以获取上一批次的终点作为下一批次的起点。具体处理过程包括:
87.一、任务初始配置。
88.本步骤中主要是对任务的维护与配置:不同的定时任务使用统一的规范进行管理,预设置定时任务的任务管理表并进行维护。任务管理表包括任务名称、任务状态(初始态,执行中,执行成功,执行失败,特殊态)、作业参数(例如执行到某一节点,执行频率)、特殊配置(是否支持分片)等信息。当有新增任务时,便在定时任务表中新增定时任务配置,并根据业务要求设定任务的初始状态。
89.二、定时任务扫描。
90.在完成初始化配置后,下一步需要能够执行这些定时任务。具体可以通过增加一个统一的定时任务,利用该统一的定时任务查找出任务状态为目标任务状态的定时任务。
91.三、获取所有初始化状态的任务,即获得目标定时任务。
92.用该统一的定时任务查找出所有状态是初始化的定时任务,以获得目标定时任务。
93.四、将目标定时任务状态设置为处理中/执行中,并将目标定时任务分派给下游进行处理。
94.本步骤中,在将目标定时任务分发至下游应用/模块之前,可以支持灵活设置任务的配置信息,如cron表达式。使任务的执行要求配置化,灵活多变。
95.五、对目标定时任务进行任务分发,以将目标定时任务分发至分发工厂。
96.本步骤中,分发工厂具体可以是设置于服务器中的一项应用服务或模块,具体用于对目标定时任务的校验。
97.六、定时任务的校验。
98.在定时任务进行分发后,统一路由到任务分发工厂,分发工厂会对要执行的任务进行校验,校验该任务是否存在、状态为处理中、是支持的任务类型等,目的是保证后续任务执行的正确性。
99.七、根据任务类型与任务配置生成任务策略。
100.本步骤中,在完成校验后,就可以根据任务类型以及任务配置生成任务策略,其中任务配置是指目标定时任务的配置信息,具体可以包括:执行次数、中断位置等。
101.八、定时任务的执行。
102.本步骤中,在生成目标任务策略之后,就可以将目标任务策略发送给各目标执行服务器,利用目标执行服务器来执行该目标定时任务。
103.开始定时任务的逻辑执行,并且执行的过程同时要满足业务要求。为满足灵活的业务要求,那么可以通过预先设置的定时任务配置及作业参数来实现。
104.为了对上述实施例做进一步解释,以下结合另一应用场景进行说明,本实施例中的应用场景为对配置有分片信息的定时任务进行处理的场景。根据业务要求,若任务的处理有严格的顺序要求则设置串行执行不进行分片,类似如图2所示的应用场景。若无顺序要求,则可以预先为定时任务配置分片数量、分片策略以及个性化参数,那么在执行时将会根据分片配置分散到不同的机器执行,提高执行效率,并且能够降低部分任务失败对整体的影响。具体处理过程如图3所示,包括:
105.一、任务初始配置。
106.本步骤中主要是对任务的维护与配置:不同的定时任务使用统一的规范进行管理,预设置定时任务的任务管理表并进行维护。任务管理表包括任务名称、任务状态(初始态,执行中,执行成功,执行失败,特殊态)、作业参数(例如执行到某一节点,执行频率)、特殊配置(是否支持分片)等信息。当有新增任务时,便在定时任务表中新增定时任务配置,并根据业务要求设定任务的初始状态。
107.二、定时任务扫描。
108.在完成初始化配置后,下一步需要能够执行这些定时任务。具体可以通过增加一个统一的定时任务,利用该统一的定时任务查找出任务状态为目标任务状态的定时任务。
109.三、获取所有初始化状态的任务,即获得目标定时任务。
110.用该统一的定时任务查找出所有状态是初始化的定时任务,以获得目标定时任务。
111.四、将目标定时任务状态设置为处理中/执行中,并将目标定时任务分派给下游进行处理。
112.本步骤中,在将目标定时任务分发至下游应用/模块之前,可以支持灵活设置任务的配置信息,如cron表达式。使任务的执行要求配置化,灵活多变。
113.五、对目标定时任务进行任务分发,以将目标定时任务分发至分发工厂。
114.本步骤中,分发工厂具体可以是设置于服务器中的一项应用服务或模块,具体用于对目标定时任务的校验。
115.六、定时任务的校验。
116.在定时任务进行分发后,统一路由到任务分发工厂,分发工厂会对要执行的任务进行校验,校验该任务是否存在、状态为处理中、是支持的任务类型等,目的是保证后续任务执行的正确性。
117.七、根据任务类型与任务配置生成任务策略。
118.本步骤中,在完成校验后,就可以根据任务类型以及任务配置生成任务策略,其中任务配置是指目标定时任务的配置信息,具体可以包括:执行次数、中断位置等。
119.八、抉择分片配置。
120.本步骤中,若定时任务的处理有严格的顺序要求,则设置串行执行,即不进行分片;若定时任务无顺序要求,则可以预先为定时任务配置分片数量、分片策略以及个性化参
数等,那么后续在生成任务策略之后,还可以进一步根据分片信息来完善任务策略,即根据分片信息来确定出各子定时任务,以及处理各子定时任务的目标执行服务器,然后基于上述信息对任务策略进行完善。本实施例中,通过根据分片信息将各子定时任务配置分散到不同的服务器执行,能够提高执行效率,并且能够降低部分任务失败对整体的影响。
121.九、定时任务的执行。
122.本步骤中,在生成目标任务策略之后,就可以将目标任务策略发送给各目标执行服务器,利用目标执行服务器来执行该目标定时任务。
123.本实施例中,在对执行各目标定时任务时,还可以实时接收各目标执行服务器发送的目标定时任务的执行信息;将所述执行信息以及所述执行信息与目标定时任务的对应关系存储至所述任务管理表。
124.本实施例中,根据定时任务参数的灵活配置,可以实现不同的业务要求。最终任务执行完成后,会进行最终判断。满足条件的任务会被置为最终状态。该步骤的作用是将可置为终态的任务自动设置为终态,无需人工操作,且可以使不可置为终态的任务能够继续执行。
125.本技术又一实施例提供一种处理定时任务的装置,如图4所示,所述处理定时任务的装置1包括:
126.确定模块11,用于基于任务管理表确定待处理的目标定时任务;
127.校验模块12,用于对所述目标定时任务进行校验,获得所述目标定时任务的校验结果;
128.生成模块13,用于在所述目标任务的校验结果为校验通过的情况下,基于所述目标定时任务生成与所述目标定时任务对应的目标任务策略;
129.发送模块14,用于将所述目标定时任务以及所述目标任务策略发送给目标执行服务器,以使所述目标执行服务器根据所述目标任务策略执行所述目标定时任务。
130.本实施例在具体实施过程中,所述确定模块具体用于:基于任务管理表获取各定时任务的任务状态;确定任务状态为初始化状态的定时任务为所述目标定时任务;或者,确定任务状态为中断状态的定时任务为所述目标定时任务,或者,确定任务状态为执行失败状态的定时任务为所述目标定时任务。
131.本实施例在具体实施过程中,所述处理定时任务的装置还包括更新模块,所述更新模块具体用于:在基于任务管理表确定待处理的目标定时任务之后,将所述目标定时任务的状态更新为执行中状态,并将所述目标定时任务更新后的所述执行中状态存储至所述任务管理表中;
132.本实施例中,所述校验模块具体用于:基于任务分发模块至少根据目标定时任务的任务类型,对所述目标定时任务进行校验,获得校验结果。
133.本实施例在具体实施过程中,所述处理定时任务的装置还包括获取模块,所述获取模块用于:在所述目标定时任务的校验结果为校验通过的情况下,获取所述目标定时任务的配置信息;所述生成模块具体用于:至少基于所述目标定时任务的配置信息,生成与所述目标定时任务对应的目标任务策略。
134.本实施例在具体实施过程中,所述配置信息包括如下任意一种或几种:执行次数、分片信息、中断位置;在所述配置信息包括执行次数的情况下,所述生成模块具体用于:基
于所述执行次数确定所述目标定时任务的目标执行次数,以生成所述目标任务策略;在所述配置信息包括中断位置的情况下,所述生成模块具体用于:基于所述中断位置确定起始执行位置,以生成所述目标任务策略;在所述配置信息包括分片信息的情况下,所述生成模块具体用于:基于所述分片信息中的分片数量确定与所述目标定时任务对应的若干子定时任务、以及基于所述分片信息中的分片策略确定与各所述子定时任务对应的目标执行服务器,以生成所述目标任务策略。
135.具体的,所述生成模块具体用于:基于平均分配法的分片策略,确定当前任务量少于平均任务量的执行服务器为目标执行服务器;或者,基于目标定时任务的哈希值采用哈希轮询分配法的分片策略,确定与所述目标定时任务对应的起始执行服务器,基于所述起始执行服务器确定各所述目标执行服务器;或者,基于目标定时任务的哈希值采用哈希奇偶分配法的分配策略,确定与所述目标定时任务对应的起始执行服务器,基于所述起始执行服务器确定各所述目标执行服务器。
136.本实施例中的处理定时任务的装置还包括记录模块,所述记录模块用于:实时接收目标执行服务器发送的目标定时任务的执行信息;将所述执行信息以及所述执行信息与目标定时任务的对应关系存储至所述任务管理表。
137.本技术中处理定时任务装置,通过根据目标定时任务来自动生成任务策略,以及将目标定时任务发送给目标执行服务器,由此能够利用目标执行服务器对目标定时任务进行执行,实现了自动、及时的对定时任务的分发,解决了由于人工对定时任务进行监控、分发造成定时任务堆积的问题,通过根据定时任务来生成对应的任务策略,使得任务策略的生成更加准确、可靠,解决了人工确定任务策略容易出错的问题。并且在生成任务策略之前,通过对目标任务进行校验,能够保证后续任务执行的正确性,为后续及时、准确的执行定时任务提供了保障。
138.本技术另一实施例提供一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如下方法步骤:
139.步骤一、基于任务管理表实时确定待处理的目标定时任务;
140.步骤二、对所述目标定时任务进行校验,获得所述目标定时任务的校验结果;
141.步骤三、在所述目标定时任务的校验结果为校验通过的情况下,基于所述目标定时任务生成与所述目标定时任务对应的目标任务策略;
142.步骤四、将所述目标定时任务以及所述目标任务策略发送给目标执行服务器,以使所述目标执行服务器根据所述目标任务策略执行所述目标定时任务。
143.上述方法步骤的具体实施过程可参见上述任意处理定时任务方法的实施例,本实施例在此不再重复赘述。
144.本技术中通过根据目标定时任务来自动生成任务策略,以及将目标定时任务发送给目标执行服务器,由此能够利用目标执行服务器对目标定时任务进行执行,实现了自动、及时的对定时任务的分发,解决了由于人工对定时任务进行监控、分发造成定时任务堆积的问题,通过根据定时任务来生成对应的任务策略,使得任务策略的生成更加准确、可靠,解决了人工确定任务策略容易出错的问题。并且在生成任务策略之前,通过对目标任务进行校验,能够保证后续任务执行的正确性,为后续及时、准确的执行定时任务提供了保障。
145.本技术另一实施例提供一种电子设备,如图5所示,至少包括存储器1、处理器2,所
述存储器1上存储有计算机程序,所述处理器2在执行所述存储器1上的计算机程序时实现如下方法步骤:
146.步骤一、基于任务管理表实时确定待处理的目标定时任务;
147.步骤二、对所述目标定时任务进行校验,获得所述目标定时任务的校验结果;
148.步骤三、在所述目标定时任务的校验结果为校验通过的情况下,基于所述目标定时任务生成与所述目标定时任务对应的目标任务策略;
149.步骤四、将所述目标定时任务以及所述目标任务策略发送给目标执行服务器,以使所述目标执行服务器根据所述目标任务策略执行所述目标定时任务。
150.上述方法步骤的具体实施过程可参见上述任意处理定时任务方法的实施例,本实施例在此不再重复赘述。
151.本技术中通过根据目标定时任务来自动生成任务策略,以及将目标定时任务发送给目标执行服务器,由此能够利用目标执行服务器对目标定时任务进行执行,实现了自动、及时的对定时任务的分发,解决了由于人工对定时任务进行监控、分发造成定时任务堆积的问题,通过根据定时任务来生成对应的任务策略,使得任务策略的生成更加准确、可靠,解决了人工确定任务策略容易出错的问题。并且在生成任务策略之前,通过对目标任务进行校验,能够保证后续任务执行的正确性,为后续及时、准确的执行定时任务提供了保障。
152.以上实施例仅为本技术的示例性实施例,不用于限制本技术,本技术的保护范围由权利要求书限定。本领域技术人员可以在本技术的实质和保护范围内,对本技术做出各种修改或等同替换,这种修改或等同替换也应视为落在本技术的保护范围内。