一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

任务处理方法、装置、计算机设备和存储介质与流程

2021-11-18 02:23:00 来源:中国专利 TAG:


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.图1为一个实施例中任务处理方法的应用环境图;
34.图2为一个实施例中任务处理方法的流程示意图;
35.图3为一个实施例中当前任务的触发步骤的流程示意图;
36.图4为另一个实施例中当前任务的触发步骤的流程示意图;
37.图5为一个实施例中当前任务时间窗口区间生成步骤的流程示意图;
38.图6为一个实施例中前置任务执行情况发送步骤的流程示意图;
39.图7为一个实施例中任务处理方法的流程示意图;
40.图8为一个实施例中任务缺失时间确定步骤的流程示意图;
41.图9为一个实施例中任务处理的原理示意图;
42.图10为一个实施例中任务处理装置的结构框图;
43.图11为一个实施例中计算机设备的内部结构图;
44.图12为一个实施例中计算机设备的内部结构图。
具体实施方式
45.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
46.本技术提供的任务处理方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
47.具体地,终端102发送当前任务触发请求,服务器104根据当前任务触发请求触发当前任务,获取当前任务的预期定时触发器和前置任务的前置任务时间窗口基点,预期定时触发器用来描述当前任务运行的当前任务时间窗口基点,根据预期定时触发器和前置任
务时间窗口基点生成当前任务对应的当前任务时间窗口区间,获取前置任务在当前任务时间窗口区间对应的前置任务执行情况,根据前置任务执行情况将当前任务时间窗口区间发送至当前任务,在当前任务执行完成后,将当前任务时间窗口区间发送至后置任务。
48.在另一个实施例中,终端102触发当前任务时,获取当前任务的预期定时触发器和前置任务的前置任务时间窗口基点,预期定时触发器用来描述当前任务运行的当前任务时间窗口基点,根据预期定时触发器和前置任务时间窗口基点生成当前任务对应的当前任务时间窗口区间,获取前置任务在当前任务时间窗口区间对应的前置任务执行情况,根据前置任务执行情况将当前任务时间窗口区间发送至当前任务,在当前任务执行完成后,将当前任务时间窗口区间发送至后置任务。
49.在一个实施例中,如图2所示,提供了一种任务处理方法,以该方法应用于图1中的终端或服务器为例进行说明,包括以下步骤:
50.步骤202,触发当前任务时,获取当前任务的预期定时触发器和前置任务的前置任务时间窗口基点,预期定时触发器用来描述当前任务运行的当前任务时间窗口基点。
51.其中,任务链由多个存在依赖关系的任务组成的链式结构,换句话说就是任务之间存在依赖关系。而当前任务可以是任务链中正在处理的任务,也可以是根据实际业务需求、产品需求或应用场景从任务链中确定得到。其中,每个任务都存在对应的预期定时触发器,预期定时触发器是用来描述任务运行的任务时间窗口基点,也可以说,预期定时触发器是用来描述任务运行的逻辑时间。
52.其中,前置任务是执行顺序在当前任务之前的任务,前置任务可以是当前任务的前一个任务,也可以是根据实际业务需求、产品需求或实际应用场景从所有执行时间在当前任务之前的任务中确定一个为前置任务。其中,前置任务也存在对应的预期定时触发器,即前置任务时间窗口基点。前置任务时间窗口基点也就是前置任务的预期定时触发器,用来描述前置任务运行的前置任务时间窗口基点。
53.步骤204,根据预期定时触发器和前置任务时间窗口基点生成当前任务对应的当前任务时间窗口区间。
54.其中,当前任务时间窗口区间是指当前任务可执行的时间窗口区间,可以通过预期定时触发器和前置任务时间窗口基点计算得到。计算方式可以是通过预设的算法,基于预期定时触发器和前置任务时间窗口基点计算得到,预设的算法可以是计划任务表达式,例如cron表达式。计算方式还可以是,通过预设的软件,自动根据预期定时触发器和前置任务时间窗口基点计算得到当前任务时间窗口区间。其中,预设的软件可以是cron表达式生成器。
55.例如,前置任务时间窗口基点是9:00am,但当前任务的预期定时触发器是8:00am,那会生成一个第二天的8:00am时间,即当前任务时间窗口区间。
56.步骤206,获取前置任务在当前任务时间窗口区间对应的前置任务执行情况。
57.具体地,在得到当前任务时间窗口区间后,获取前置任务在该时间窗口区间内的执行情况。其中,前置任务执行情况包括前置任务执行完成,和前置任务执行未完成。其中,前置任务在执行过程中,会反馈执行情况,通过反馈可以获得当前任务时间窗口区间对应的前置任务执行情况。
58.在一个实施例中,可以通过执行程序执行前置任务,执行程序会将前置任务的执
行情况反馈至主控程序,主控程序可以存储前置任务的执行情况,因此,主控程序可以获取前置任务在这个当前任务时间窗口区间对应的前置任务执行情况。
59.步骤208,根据前置任务执行情况将当前任务时间窗口区间发送至当前任务,在当前任务执行完成后,将当前任务时间窗口区间发送至后置任务。
60.具体地,在得到前置任务执行情况后,可以根据前置任务执行情况决定是否把当前任务时间窗口区间发送至当前任务,如果前置任务执行情况为前置任务执行已完成,说明前置任务在该当前任务时间窗口区间内已经完成了,因此,可以将当前任务时间窗口区间发送至当前任务。等待当前任务执行完毕,继续将当前任务时间窗口区间发送至后置任务,这样就能够保证前置任务在当前任务时间窗口区间内已经完成后,后置任务就可以执行了,无需等待前置任务在所有的任务时间窗口区间内完成后,后置任务才可以执行。
61.在另一个实施例中,后置任务接收到当前任务时间窗口区间后,可以将后置任务确定为当前任务,返回执行步骤触发当前任务时,获取当前任务的预期定时触发器和前置任务的前置任务时间窗口基点,其中,返回步骤时,当前任务时间窗口区间为前置任务时间窗口基点。通过将当前任务时间窗口区间进行传递,能够保证后置任务在执行时,前置任务符合条件。
62.上述任务处理方法中,触发当前任务时,获取当前任务的预期定时触发器和前置任务的前置任务时间窗口基点,预期定时触发器用来描述当前任务运行的当前任务时间窗口基点,根据预期定时触发器和前置任务时间窗口基点生成当前任务对应的当前任务时间窗口区间,获取前置任务在当前任务时间窗口区间对应的前置任务执行情况,根据前置任务执行情况将当前任务时间窗口区间发送至当前任务,在当前任务执行完成后,将当前任务时间窗口区间发送至后置任务。
63.因此,基于当前任务的预期定时触发器和前置任务的预期定时触发器生成当前任务时间窗口区间,通过前置任务在当前任务对应的当前任务时间窗口区间的执行情况,来判定后置任务是否可以执行,无需等到前置任务全部执行完毕后,后置任务才可以执行,提高任务处理效率。
64.在一个实施例中,如图3所示,当前任务的触发步骤包括:
65.步骤302,获取当前任务对应的当前触发时间。
66.步骤304,在当前时间为当前触发时间时,获取当前任务对应的当前任务配置信息。
67.步骤306,在当前任务满足当前任务配置信息时,接收当前任务启动事件,根据当前任务启动事件触发当前任务。
68.其中,当前触发时间是用来确定触发当前任务运行的物理时间,即当前触发时间是当前任务的自动触发时间。具体可以根据实际业务需求、产品需求或实际应用场景确定当前任务对应的当前触发时间。
69.其中,当前时间是现实时间,可以是服务器的时间。若当前时间已经是当前触发时间,即已经达到了当前任务的触发事件,则获取当前任务对应的当前任务配置信息,当前任务配置信息是校验当前任务是否可以触发的条件,如果当前任务满足当前任务配置信息,说明当前任务可以触发,则接收当前任务启动事件,当前任务启动事件是自动发送的,可以通过主控程序发送,也可以从本地发送。最后,根据当前任务启动事件自动触发当前任务。
其中,主控程序是用来解析、调度任务链上的任务的程序。
70.在一个实施例中,如图4所示,当前任务的触发步骤包括:
71.步骤402,获取当前任务触发指令,当前任务触发指令包括当前任务标识。
72.步骤404,根据当前任务触发指令触发当前任务标识对应的当前任务。
73.其中,当前任务的触发还可以通过人为触发,任务处理系统提供接口,通过该接口获取当前任务触发指令,当前任务触发指令携带当前任务标识,当前任务触发指令是用来触发当前任务的指令,可以通过实际业务需求、产品需求或实际应用场景决定是否触发当前任务,可通过相关操作触发生成当前任务触发指令。其中,当前任务标识是用来标识当前任务的,不同的任务对应不同的任务标识。
74.进一步地,在获取到当前任务触发指令后,可以根据当前任务触发指令触发当前标识对应的当前任务,成功触发当前任务。也就是说,当前任务的触发可以通过定时器自动触发,也可以通过手动启动,手动启动是通过对外暴露的接口,人为触发。
75.在一个实施例中,如图5所示,根据预期定时触发器和前置任务时间窗口基点生成当前任务对应的当前任务时间窗口区间,包括:
76.步骤502,获取计划任务表达式。
77.步骤504,通过计划任务表达式基于当前任务时间窗口基点和前置任务时间窗口基点计算得到当前任务对应的当前任务时间窗口区间。
78.其中,计划任务表达式是用来计算任务时间窗口区间的字符串,例如计划任务表达式为cron表达式。可通过计划任务表达式,根据当前任务时间窗口基点和前置任务时间窗口基点这两个时间,计算得到当前任务对应的当前任务时间窗口区间。
79.例如,前置任务时间窗口基点是10:00am,但当前任务的预期定时触发器是9:00am,那会生成一个第二天的9:00am时间,即当前任务时间窗口区间。
80.在一个实施例中,如图6所示,根据前置任务执行情况将当前任务时间窗口区间发送至当前任务,在当前任务执行完成后,将当前任务时间窗口区间发送至后置任务,包括:
81.步骤602,在前置任务执行情况为前置任务执行完成时,将当前任务时间窗口区间发送至当前任务。
82.步骤604,在当前任务执行完成后,获取后置任务对应的后置任务配置信息。
83.步骤606,在后置任务满足后置任务配置信息时,发送当前任务时间窗口区间至后置任务。
84.具体地,前置任务执行情况包括前置任务执行完成,和前置任务执行未完成。在前置任务执行情况为前置任务执行完成时,说明前置任务在当前任务时间窗口区间已经完成执行了,因此,可以将当前任务时间窗口区间发送至当前任务。进一步地,当前任务接收到当前任务时间窗口区间后,等待当前任务在该当前任务时间窗口区间执行任务完成后,当前任务需要将当前任务时间窗口区间传递给后置任务。在此之前,需要确定后置任务是否可以执行,因此,获取后置任务对应的后置任务配置信息,校验后置任务是否满足后置任务配置信息,如果满足,说明后置任务可以执行,则将当前任务时间窗口区间发送至后置任务。
85.在一个实施例中,如图7所示,任务处理方法还包括:
86.步骤702,通过检查当前任务时间窗口区间内,检查数据库对应的任务缺失的结果
数据,确定任务缺失时间。
87.步骤704,获取任务缺失时间对应的缺失任务,将缺失任务确定为当前任务,执行步骤触发当前任务时,获取当前任务的预期定时触发器和前置任务的前置任务时间窗口基点。
88.其中,可以通过当前任务时间窗口区间恢复该区间内的缺失任务,具体可以是,检查当前任务时间窗口区间内是否有缺失任务,具体可以是,检查当前任务时间窗口区间内,数据库中是否存在任务缺失的结果数据,如果有,则获取任务缺失时间。进一步地,根据任务缺失时间查找该时间对应的缺失任务,将缺失任务确定为当前任务,执行步骤触发当前任务时,获取当前任务的预期定时触发器和前置任务的前置任务时间窗口基点。因此,可以确保任务在一段时间内失效时,能够恢复这段时间内应该执行的行为。
89.在一个实施例中,如图8所示,通过检查当前任务时间窗口区间内,检查数据库对应的任务缺失的结果数据,确定任务缺失时间,包括:
90.步骤802,通过检查当前任务时间窗口区间内,检查数据库对应的任务缺失的结果数据。
91.步骤804,根据结果数据获取任务缺失的最后时间。
92.步骤806,获取当前时间,根据当前时间和最后时间确定在当前任务时间窗口区间内是否缺失,如果有,获取任务缺失时间。
93.具体地,可以通过当前任务时间窗口区间恢复该区间内的缺失任务,具体可以是,检查当前任务时间窗口区间内是否有缺失任务,具体可以是,检查当前任务时间窗口区间内,数据库中是否存在任务缺失的结果数据,如果有,根据结果数据确定任务缺失的最后时间。进一步地,获取当前时间,通过当前时间和最后时间可以确定当前任务时间窗口内是否存在任务缺失,如果有,则获取任务缺失时间。
94.在一个具体的应用场景中,如图9所示,图9示出一个实施例中任务处理的原理示意图,为了使提高任务的并行性,所以把解析任务链、调度任务执行的代码分在一个进程执行(主控程序),把实际运行的任务的代码分在另一个进程,并且该进程并且引入相关sdk(软件开发工具包,这里是指执行程序),主控程序和执行程序通过事件通讯。(其中,特别说明的是,主控程序和执行程序只是一个抽象概念,实际上可以是一个整体。)主控程序通过事件通知执行程序执行相应的任务代码。执行程序通过事件通知主控程序任务的执行情况,主控程序对收到的事件做出后续操作判断。(任务和逻辑时间组成标识,可以确定同个时间内,任务唯一运行,在不同时间可以并行运行),具体包括以下步骤:
[0095]1‑
1、对任务进行建模、把每个独立的代码块描述成逻辑节点,再组成任务链。
[0096]1‑
2、执行一个节点,可以是程序自动启动(定时器启动,程序生成当前触发时间)或者手动启动(对外暴露的接口,人为触发,一般手动恢复数据时使用,需要传递恢复的逻辑时间)。
[0097]1‑
3、任务执行时,主控程序检查节点配置的条件(一个模板,代码一般使用的是表达式)是否满足,如果满足,主控程序发出启动事件(执行代码的具体信息、时间)通知执行程序,否则,结束。
[0098]1‑
4、执行程序响应事件。
[0099]1‑4‑
1、执行程序检查当前标识(任务标识 时间)是否已经存在,如果存在停止改
任务。
[0100]1‑4‑
2、执行程序执行对应的任务代码块,定时反馈信息给主控程序。
[0101]1‑
5、主控程序对这些信息做出相应的处理,持久化存储(数据库)。
[0102]1‑
6、主控程序收到任务成功结束信息,执行后续任务节点(利用逻辑时间和节点去执行步骤1

3操作)。
[0103]
其中,任务时间生成方法包括以下步骤:
[0104]2‑
1、每个任务节点需要定义相应的预期定时触发器(其中,预期定时触发器是用来描述任务运行的逻辑时间,假设任务预期是上午9点开始运行,但是在实际中任务运行时间是不确定的,是有误差,因此为了规避误差,需要给任务确定一个执行时间,这样方便后面任务恢复、任务运行状态检查)。
[0105]2‑
2、主控程序会根据传过来的时间和预期定时触发器生成一个最近应该执行的时间(比如,传递过来是9:00am,但任务预期是8:00am,那会生成一个第二天的8:00am时间),传递给执行程序。
[0106]2‑
3、主控程序接收到任务执行完事件后,并且确定后置任务可以执行的情况下,把上个任务的执行时间传递给后置任务(重复2

2)。
[0107]
在一个具体的实施例中,提供了一种任务处理方法,具体包括以下步骤:
[0108]
1、触发当前任务时,获取当前任务的预期定时触发器和前置任务的前置任务时间窗口基点,预期定时触发器用来描述当前任务运行的当前任务时间窗口基点。
[0109]1‑1‑
1、获取当前任务对应的当前触发时间。
[0110]1‑1‑
2、在当前时间为当前触发时间时,获取当前任务对应的当前任务配置信息。
[0111]1‑1‑
3、在当前任务满足当前任务配置信息时,接收当前任务启动事件,根据当前任务启动事件触发当前任务。
[0112]1‑2‑
1、获取当前任务触发指令,当前任务触发指令包括当前任务标识。
[0113]1‑2‑
2、根据当前任务触发指令触发当前任务标识对应的当前任务。
[0114]
2、根据预期定时触发器和前置任务时间窗口基点生成当前任务对应的当前任务时间窗口区间。
[0115]2‑
1、获取计划任务表达式。
[0116]2‑
2、通过计划任务表达式基于当前任务时间窗口基点和前置任务时间窗口基点计算得到当前任务对应的当前任务时间窗口区间。
[0117]
3、获取前置任务在当前任务时间窗口区间对应的前置任务执行情况。
[0118]
4、根据前置任务执行情况将当前任务时间窗口区间发送至当前任务,在当前任务执行完成后,将当前任务时间窗口区间发送至后置任务。
[0119]4‑
1、在前置任务执行情况为前置任务执行完成时,将当前任务时间窗口区间发送至当前任务。
[0120]4‑
2、在当前任务执行完成后,获取后置任务对应的后置任务配置信息。
[0121]4‑
3、在后置任务满足后置任务配置信息时,发送当前任务时间窗口区间至后置任务。
[0122]
5、将后置任务确定为当前任务,执行步骤触发当前任务时,获取当前任务的预期定时触发器和前置任务的前置任务时间窗口基点。
[0123]
6、通过检查当前任务时间窗口区间内,检查数据库对应的任务缺失的结果数据,确定任务缺失时间。
[0124]6‑
1、通过检查当前任务时间窗口区间内,检查数据库对应的任务缺失的结果数据。
[0125]6‑
2、根据结果数据获取任务缺失的最后时间。
[0126]6‑
3、获取当前时间,根据当前时间和最后时间确定在当前任务时间窗口区间内是否缺失,如果有,获取任务缺失时间。
[0127]
7、获取任务缺失时间对应的缺失任务,将缺失任务确定为当前任务,执行步骤触发当前任务时,获取当前任务的预期定时触发器和前置任务的前置任务时间窗口基点。
[0128]
应该理解的是,虽然上述流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0129]
在一个实施例中,如图10所示,提供了一种任务处理装置1000,包括:当前任务触发模块1002、时间窗口生成模块1004、前置任务获取模块1006和任务发送模块1008,其中:
[0130]
当前任务触发模块1002,用于触发当前任务时,获取当前任务的预期定时触发器和前置任务的前置任务时间窗口基点,预期定时触发器用来描述当前任务运行的当前任务时间窗口基点。
[0131]
时间窗口生成模块1004,用于根据预期定时触发器和前置任务时间窗口基点生成当前任务对应的当前任务时间窗口区间。
[0132]
前置任务获取模块1006,用于获取前置任务在当前任务时间窗口区间对应的前置任务执行情况。
[0133]
任务发送模块1008,用于根据前置任务执行情况将当前任务时间窗口区间发送至当前任务,在当前任务执行完成后,将当前任务时间窗口区间发送至后置任务。
[0134]
在一个实施例中,当前任务触发模块1002获取当前任务对应的当前触发时间,在当前时间为当前触发时间时,获取当前任务对应的当前任务配置信息,在当前任务满足当前任务配置信息时,接收当前任务启动事件,根据当前任务启动事件触发当前任务。
[0135]
在一个实施例中,当前任务触发模块1002获取当前任务触发指令,当前任务触发指令包括当前任务标识,根据当前任务触发指令触发当前任务标识对应的当前任务。
[0136]
在一个实施例中,时间窗口生成模块1004获取计划任务表达式,通过计划任务表达式基于当前任务时间窗口基点和前置任务时间窗口基点计算得到当前任务对应的当前任务时间窗口区间。
[0137]
在一个实施例中,任务发送模块1008在前置任务执行情况为前置任务执行完成时,将当前任务时间窗口区间发送至当前任务,在当前任务执行完成后,获取后置任务对应的后置任务配置信息,在后置任务满足后置任务配置信息时,发送当前任务时间窗口区间至后置任务。
[0138]
在一个实施例中,任务处理装置1000通过检查当前任务时间窗口区间内,检查数据库对应的任务缺失的结果数据,确定任务缺失时间,获取任务缺失时间对应的缺失任务,将缺失任务确定为当前任务,执行步骤触发当前任务时,获取当前任务的预期定时触发器和前置任务的前置任务时间窗口基点。
[0139]
在一个实施例中,任务处理装置1000通过检查当前任务时间窗口区间内,检查数据库对应的任务缺失的结果数据,根据结果数据获取任务缺失的最后时间,获取当前时间,根据当前时间和最后时间确定在当前任务时间窗口区间内是否缺失,如果有,获取任务缺失时间。关于任务处理装置的具体限定可以参见上文中对于任务处理方法的限定,在此不再赘述。上述任务处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0140]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图11所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储任务时间窗口基点。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种任务处理方法。
[0141]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图12所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种任务处理方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0142]
本领域技术人员可以理解,图11或图12中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0143]
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:触发当前任务时,获取当前任务的预期定时触发器和前置任务的前置任务时间窗口基点,预期定时触发器用来描述当前任务运行的当前任务时间窗口基点,根据预期定时触发器和前置任务时间窗口基点生成当前任务对应的当前任务时间窗口区间,获取前置任务在当前任务时间窗口区间对应的前置任务执行情况,根据前置任务执行情况将当前任务时间窗口区间发送至当前任务,在当前任务执行完成后,将当前任务时间窗口区间发送至后置任务。
[0144]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取当前任务对应
的当前触发时间,在当前时间为当前触发时间时,获取当前任务对应的当前任务配置信息,在当前任务满足当前任务配置信息时,接收当前任务启动事件,根据当前任务启动事件触发当前任务。
[0145]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取当前任务触发指令,当前任务触发指令包括当前任务标识,根据当前任务触发指令触发当前任务标识对应的当前任务。
[0146]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取计划任务表达式,通过计划任务表达式基于当前任务时间窗口基点和前置任务时间窗口基点计算得到当前任务对应的当前任务时间窗口区间。
[0147]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:在前置任务执行情况为前置任务执行完成时,将当前任务时间窗口区间发送至当前任务,在当前任务执行完成后,获取后置任务对应的后置任务配置信息,在后置任务满足后置任务配置信息时,发送当前任务时间窗口区间至后置任务。
[0148]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:通过检查当前任务时间窗口区间内,检查数据库对应的任务缺失的结果数据,确定任务缺失时间,获取任务缺失时间对应的缺失任务,将缺失任务确定为当前任务,执行步骤触发当前任务时,获取当前任务的预期定时触发器和前置任务的前置任务时间窗口基点。
[0149]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:通过检查当前任务时间窗口区间内,检查数据库对应的任务缺失的结果数据,根据结果数据获取任务缺失的最后时间,获取当前时间,根据当前时间和最后时间确定在当前任务时间窗口区间内是否缺失,如果有,获取任务缺失时间。
[0150]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:触发当前任务时,获取当前任务的预期定时触发器和前置任务的前置任务时间窗口基点,预期定时触发器用来描述当前任务运行的当前任务时间窗口基点,根据预期定时触发器和前置任务时间窗口基点生成当前任务对应的当前任务时间窗口区间,获取前置任务在当前任务时间窗口区间对应的前置任务执行情况,根据前置任务执行情况将当前任务时间窗口区间发送至当前任务,在当前任务执行完成后,将当前任务时间窗口区间发送至后置任务。
[0151]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取当前任务对应的当前触发时间,在当前时间为当前触发时间时,获取当前任务对应的当前任务配置信息,在当前任务满足当前任务配置信息时,接收当前任务启动事件,根据当前任务启动事件触发当前任务。
[0152]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取当前任务触发指令,当前任务触发指令包括当前任务标识,根据当前任务触发指令触发当前任务标识对应的当前任务。
[0153]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取计划任务表达式,通过计划任务表达式基于当前任务时间窗口基点和前置任务时间窗口基点计算得到当前任务对应的当前任务时间窗口区间。
[0154]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:在前置任务执行情
况为前置任务执行完成时,将当前任务时间窗口区间发送至当前任务,在当前任务执行完成后,获取后置任务对应的后置任务配置信息,在后置任务满足后置任务配置信息时,发送当前任务时间窗口区间至后置任务。
[0155]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:通过检查当前任务时间窗口区间内,检查数据库对应的任务缺失的结果数据,确定任务缺失时间,获取任务缺失时间对应的缺失任务,将缺失任务确定为当前任务,执行步骤触发当前任务时,获取当前任务的预期定时触发器和前置任务的前置任务时间窗口基点。
[0156]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:通过检查当前任务时间窗口区间内,检查数据库对应的任务缺失的结果数据,根据结果数据获取任务缺失的最后时间,获取当前时间,根据当前时间和最后时间确定在当前任务时间窗口区间内是否缺失,如果有,获取任务缺失时间。
[0157]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
[0158]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0159]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献