1.本发明涉及数据处理技术领域,更具体的,涉及一种任务调度方法和系统。
背景技术:2.目前电力领域的任务调度方法采用的是通用的定时任务方法。定时任务方法可以实现定时触发任务的调用,这种任务可以是批量的任务,只能在一个批次的电费计算任务计算完成后,才能进入下一个批次,例如在供电领域,抄表读数、计算电费、电费核查这一过程中,现有的定时任务方法是先录入一批抄表读数的数据,然后对这一批次的抄表读数的数据进行计算电费,最后对这一批次的电费进行核查,该过程是低效的。这种通用的定时任务调度方法没法进行高并发的计算,造成调度任务的完成周期长,不能有效节约系统资源等。
技术实现要素:3.为了改善上述的技术问题,本发明提供了一种任务调度方法和系统。
4.本发明第一实施例提供了一种任务调度方法,其包括:
5.s1根据任务流程的规划预先将任务进行分组并对每一分组分配一个或多个执行服务器,将分组的名称与相应的执行服务器的名称设置一致;
6.s2根据任务流程的规划和任务分组产生属于某一分组的事件,该事件包含但不限于:事件id、参数包、当前环节任务id、和环节任务数据包,该环节任务数据包包含了该任务流程所有环节的环节任务属性、和所有环节任务的拓扑结构,该环节任务属性包含了所有的环节任务id、所有的服务和服务参数,该拓扑结构记载了待执行的环节任务的顺序和待产生的新事件;
7.s3基于事件的分组和当前环节任务id将该待执行的环节任务发送到一个执行队列中并通知执行服务器执行该环节任务,其中该执行队列的命名规则是:固定的队列前缀+分组名称:当前环节任务id;
8.s4执行服务器执行完毕所述执行队列中的所述当前环节任务后,根据所述产生的事件中的环节任务数据包所记录的信息,调取一个新环节任务,将其发送到一个新执行队列中并通知所述执行服务器进行加载和执行该新环节任务;
9.s5循环操作步骤s4直至所述拓扑结构记载的待执行的环节任务按所述顺序全部执行完毕;
10.s6基于所述拓扑结构记载的信息产生新事件或任务调度完毕。
11.其中,所述事件的产生方式包括:定时产生和用户触发产生,所述事件还包含:事件类型、事件创建时间、事件执行历史环节记录。
12.其中,所述执行服务器每执行一个环节任务时将该环节任务的所有信息记录到hash映射表中,所述执行服务器每执行完毕一个环节任务,将结果发送到结果队列中。
13.本发明第二实施例提供了一种任务调度方法,其包括:
14.s1根据任务流程的规划预先将任务进行分组并对每一分组分配一个或多个执行服务器,将分组的名称与相应的执行服务器的名称设置一致;
15.s2根据任务流程的规划和任务分组产生一个属于某一分组的周期事件,该周期事件包含但不限于:父事件id、事件id、参数包、分流值、当前环节任务id、和环节任务数据包,该环节任务数据包包含了该任务流程所有环节的环节任务属性、和所有环节任务的拓扑结构,该环节任务属性包含了所有的环节任务id、所有的服务和服务参数,该拓扑结构记载了待执行的周期环节任务和待产生的分流事件;
16.s3基于事件的分组和当前环节任务id将该待执行的周期环节任务发送到第一执行队列中并通知执行服务器执行该环节任务,其中该第一执行队列的命名规则是:固定的队列前缀+分组名称:当前环节任务id;
17.s4执行服务器执行完毕所述第一执行队列中的所述当前环节任务后,根据所述周期事件中的环节任务数据包所记录的信息,如果是要产生多个分流事件,则跳转到步骤s6,如果是要调取一个新环节任务,则调取一个新环节任务并将其发送到一个新执行队列中并通知所述执行服务器进行加载和执行该新环节任务;
18.s5循环操作步骤s4直至所述拓扑结构记载的待执行的环节任务执行完毕;
19.s6基于所述拓扑结构记载的信息产生多个分流事件,所述每个分流事件包含但不限于:父事件id、事件id、参数包、分流值、当前环节任务id、和环节任务数据包,该环节任务数据包包含了该任务流程所有环节的环节任务属性、和所有环节任务的拓扑结构,该环节任务属性包含了所有的环节任务id、所有的服务和服务参数,该拓扑结构记载了待执行的环节任务的顺序和待产生的新事件;
20.s7基于事件的分组和所述每个分流事件中记录的当前环节任务id,将该待执行的环节任务发送到执行队列中并通知执行服务器执行该环节任务,其中该执行队列的命名规则是:固定的队列前缀+分组名称:当前环节任务id;
21.s8执行服务器执行完毕执行队列中的所述当前环节任务后,根据所产生的分流事件中的环节任务数据包所记录的信息,调取一个新环节任务,将其发送到一个新执行队列中并通知所述执行服务器进行加载和执行该新环节任务;
22.s9循环操作步骤s8直至分流事件的所述拓扑结构记载的待执行的环节任务按所述顺序全部执行完毕;
23.s10基于分流事件的所述拓扑结构记载的信息产生新事件或任务调度完毕。
24.其中,所述事件的产生方式包括:定时产生和用户触发产生,所述事件还包含:事件类型、事件创建时间、用户参数、事件执行历史环节记录。
25.其中,所述执行服务器每执行一个环节任务时将该环节任务的所有信息记录到hash映射表中,所述执行服务器每执行完毕一个环节任务,将结果发送到结果队列中。
26.其中,在某一个分组的事件中存在2个以上的多个环节任务时,所述对应于该分组的执行服务器采取以下加载策略从多个执行队列中进行加载待执行的任务个数,所述加载策略是:首先所述执行服务器根据自身的负载能力和已经负载的任务个数计算出还能够继续负载的剩余任务个数,接着查询具有待执行任务的执行队列个数,用所述剩余任务个数除以所述的具有待执行任务的执行队列个数,由此得出从每个具有待执行任务的执行队列中能够加载的任务个数,基于这个得出的任务个数从所述的具有待执行任务的执行队列加
载相应数量的任务。
27.本发明第三实施例提供了一种任务调度系统,其包括:调度器、执行服务器、和redis存储系统,所述调度器、执行服务器和redis存储系统相互配合协作以执行如上所述的任务调度方法,其中调度器用于产生属于某一分组的事件和周期事件和通知执行服务器;所述redis存储系统用于存放执行队列、结果队列、各种任务数据的缓存信息、以及需要执行的加载数据;所述执行服务器用于加载环节任务、将待执行的环节任务放入执行队列中、将处理的结果发送到结果队列中、和通知自己或其它执行服务器从执行队列中加载和执行环节任务。
28.与现有技术相比,本发明的有益效果是:
29.本发明所提供的任务调度方法和系统,采用了事件流调度模式,和使用时间片段模式情况下的时间消耗相比,可以大大节省时间消耗,实现快速计算的要求;而且还支持批次计算和高并发计算,支持任务的流程化编排,这样调度任务的完成周期大大缩短,有效的节约了系统资源。
附图说明
30.图1是本发明第一实施例提供的任务调度方法的流程图;
31.图2是本发明第二实施例提供的任务调度方法的流程图;
32.图3是本发明第三实施例提供的任务调度系统的示意性框图。
具体实施方式
33.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
34.图1示出了本发明第一实施例提供的任务调度方法的流程图。本发明第一实施例提供的一种任务调度方法包括:
35.s1根据任务流程的规划预先将任务进行分组并对每一分组分配一个或多个执行服务器,将分组的名称与相应的执行服务器的名称设置一致。
36.例如在供电领域,收取电费是基本业务之一,收取电费的任务流程是:抄表读数-计算电费-电费核查。因此可以预先将抄表读数任务列为抄表组、计算电费任务列为算费组、电费核查列为核查组,并赋予相应的分组名称,为抄表组、算费组和核查组分别分配一个执行服务器,用于后续的任务执行,所分配的执行服务器的名称分别与抄表组、算费组和核查组的名称保持一致。当然,如果涉及的资源需求量比较大,一个执行服务器无法完成相应的需求,可以分配多个执行服务器,即对任务分组分配执行服务器的数量可以动态增加的,即当分配一个执行服务器无法满足需求时,可以动态添加2个或更多个执行服务器来满足任务执行的需求。
37.s2根据任务流程的规划和任务分组产生属于某一分组的事件,该事件包含但不限于:事件id、参数包、当前环节任务id、和环节任务数据包,该环节任务数据包包含了该任务流程所有环节的环节任务属性、和所有环节任务的拓扑结构,该环节任务属性包含了所有
的环节任务id、所有的服务和服务参数,该拓扑结构记载了待执行的环节任务的顺序和待产生的新事件。
38.所述事件的产生方式包括:定时产生和用户触发产生。采用定时产生方式时,可以使用调度器来实现,优选使用定时调度器。用户触发产生的方式可以是用户输入数据,例如抄表读数的用电量数据的输入,或者是其他操作方式,例如用户点击某个功能按键以激发事件的产生。
39.所述事件id用于对不同的事件进行识别和区分,该事件id可以随机生成,也可以是按预定规则来生成。
40.所述参数包可以包括json值和用户传入的数据,用于不同环节任务之间传递数据。
41.所述当前环节任务id用于对不同的环节任务进行识别和区分,该环节任务id可以随机生成,也可以是按预定规则来生成。
42.所述服务是执行的服务,例如一个rest请求等。
43.该拓扑结构记载的待产生的新事件可以是属于在步骤s2中产生的某一分组的新事件,即某一分组可以包括多个不同事件,也可以是属于另一个不同分组的新事件,这根据需求而预先确定。
44.s3基于事件的分组和当前环节任务id将该待执行的环节任务发送到一个执行队列中并通知执行服务器执行该环节任务,其中该执行队列的命名规则是:固定的队列前缀+分组名称:当前环节任务id。
45.可以使用redis存储系统作为中间过程存储器或者作为缓存,用于存放执行队列、存储各种任务数据的缓存信息、需要执行的加载数据等。
46.可以在软件系统里建立通知机制,来通知执行服务器存在一个执行队列,在该执行队列里存有需要执行的环节任务,并通知该执行服务器加载并执行该环节任务。在这一步骤里,可以选用调度器来执行通知操作。
47.另外,接收通知的执行服务器是为所述的分组任务分配的指定执行服务器,可以通过相同的名称获知所分配的指定执行服务器并通知它。
48.所述的执行队列可以是预先建立的,也可以是临时建立的。建立该执行队列时给其命名的规则是:固定的队列前缀+分组名称:当前环节任务id。例如,固定的队列前缀是xxxx,分组名称是a,当前环节任务id是1,则该执行队列的名字是:xxxxa:1。采用这样的命名方式,可以使得每个执行队列与每个分组任务相对应,方便于后面的有序安排。
49.s4执行服务器执行完毕所述执行队列中的所述当前环节任务后,根据所述产生的事件中的环节任务数据包所记录的信息,调取一个新环节任务,将其发送到一个新执行队列中并通知所述执行服务器进行加载和执行该新环节任务。
50.当执行服务器接到通知后从所述执行队列中加载并执行所述的当前环节任务,由于一个事件可以包括多个环节任务,步骤s2产生的所述事件中的环节任务数据包中记录有所有环节任务的拓扑结构,该拓扑结构记载了待执行的环节任务的顺序,所以执行服务器执行完毕当前环节任务后就能够根据拓扑结构记载的信息来调取下一个需要执行的环节任务,将其发送到一个新执行队列中,此时利用通知机制告知所述执行服务器:存在一个执行队列,在该执行队列里存有需要执行的环节任务,需要加载和执行该新环节任务。
51.如上所述,所述执行队列、各种任务数据的缓存信息、需要执行的加载数据等都可以存储在redis存储系统中。
52.s5循环操作步骤s4直至所述拓扑结构记载的待执行的环节任务按所述顺序全部执行完毕。
53.当所述拓扑结构记载的待执行的环节任务的个数为2个以上,基于上述的方法,需要循环执行步骤s4,直到所有的环节任务执行完毕。
54.s6基于所述拓扑结构记载的信息产新事件或任务调度完毕。
55.在一个事件的所有的环节任务执行完毕,当所述拓扑结构记载的信息包含了待产生的新事件时,由执行服务器产生相应的新事件,从步骤s2开始执行。例如,所述新事件属于算费组的计算电费事件。
56.在一个事件的所有的环节任务执行完毕,当所述拓扑结构记载的信息没有包含待产生的新事件时,整个任务调度执行完毕。
57.另外,如果在执行过程中出现某个执行任务的异常发生,为了避免宕机,可以设置强制退出机制,即遇到异常情况发生时,强制退出任务的调度,这是本领域技术人员所熟知的,这里不再赘述。
58.其中,所述事件还可以包含:事件类型、事件创建时间、事件执行历史环节记录。
59.所述事件类型可以保护人工触发、定时产生、延迟产生等,用于记录事件产生的来源。
60.所述事件创建时间用于记录事件创建时的时间。
61.所述事件执行历史环节记录,用于每执行一个环节任务,记录该环节任务id和时间。
62.其中,所述执行服务器每执行一个环节任务时将该环节任务的所有信息记录到hash映射表中,所述执行服务器每执行完毕一个环节任务,将结果发送到结果队列中。
63.为了在执行服务器突然停机后重新启动时可以恢复执行的任务,所述执行服务器每执行一个环节任务时将该环节任务的所有信息记录到hash映射表中,该hash映射表中可以存在所述redis存储系统中。当由于断电等原因造成了执行服务器突然停机,在该执行服务器重新启动时就能够从该hash映射表中读取执行中的环节任务,实现执行任务的恢复。
64.再者,所述执行服务器每执行完毕一个环节任务,将结果发送到结果队列中,用于后续的任务使用。
65.上述的通知机制,除了选用调度器来执行通知操作的方式之外,还可以使用执行服务器执行通知操作:当执行服务器将执行结果发送到结果队列中后,也会进行通知所有执行服务器加载新的事件。
66.本发明第一实施例所提供的任务调度方法采用了事件流调度模式,和使用时间片段模式情况下的时间消耗相比,可以大大节省时间消耗,实现快速计算的要求。
67.在供电领域,抄表读数、计算电费、电费核查过程中,往往抄表读数的数据是大量的,而且抄表读数的事件是循环反复的,或者说是周期性的。通过软件程序来实现读取抄表读数这一事件时,如录入用户电表上使用的用电量,对于多个用户,例如1万个,从录入的用电量数据库里抽取用电量数据时不是一次完成的,而是持续不断的抽取用电量数据的过程,背景技术中提到现有的通用的定时任务调度方法只能等抽取完全部用电量数据后再进
行计算电费,没法进行高并发的计算。为了实现批次计算和高并发计算功能,本发明提供了第二实施例,如下所述。
68.图2示出了本发明第二实施例提供的任务调度方法的流程图。本发明第二实施例提供了一种任务调度方法,其包括:
69.s1根据任务流程的规划预先将任务进行分组并对每一分组分配一个或多个执行服务器,将分组的名称与相应的执行服务器的名称设置一致。
70.这和第一实施例的步骤s1相同,这里不再重复介绍。
71.s2根据任务流程的规划和任务分组产生一个属于某一分组的周期事件,该周期事件包含但不限于:父事件id、事件id、参数包、分流值、当前环节任务id、和环节任务数据包,该环节任务数据包包含了该任务流程所有环节的环节任务属性、和所有环节任务的拓扑结构,该环节任务属性包含了所有的环节任务id、所有的服务和服务参数,该拓扑结构记载了待执行的周期环节任务和待产生的分流事件。
72.根据任务的性质,可以产生一个属于某一分组的周期事件,例如属于抄表组的抄表读数事件。所述事件的产生方式包括:定时产生和用户触发产生。这里优选采用用户触发产生方式,例如将抄表读数的用电量数据进行批量输入,然后点击某个功能按键以激发事件的产生。
73.所述父事件id,用于区分于后面将产生的多个分流事件,即由这一个周期事件驱动的多个并发执行的分流事件。
74.所述分流值,为分流事件特有的,只记录业务标注,用作业务上区分分流事件。
75.所述事件id用于对不同的事件进行识别和区分,该事件id可以随机生成,也可以是按预定规则来生成。
76.所述参数包可以包括json值和用户传入的数据,用于不同环节任务之间传递数据。
77.所述当前环节任务id用于对不同的环节任务进行识别和区分,该环节任务id可以随机生成,也可以是按预定规则来生成。
78.所述服务是执行的服务,例如一个rest请求等。
79.s3基于事件的分组和当前环节任务id将该待执行的周期环节任务发送到第一执行队列中并通知执行服务器执行该环节任务,其中该第一执行队列的命名规则是:固定的队列前缀+分组名称:当前环节任务id。
80.这和第一实施例的步骤s3相同,这里不再重复介绍。
81.s4执行服务器执行完毕所述第一执行队列中的所述当前环节任务后,根据所述周期事件中的环节任务数据包所记录的信息,如果是要产生多个分流事件,则跳转到步骤s6,如果是要调取一个新环节任务,则调取一个新环节任务并将其发送到一个新执行队列中并通知所述执行服务器进行加载和执行该新环节任务。
82.这和第一实施例的步骤s4相近似。当根据所述周期事件中的环节任务数据包所记录的信息是要调取一个新环节任务时,与和第一实施例的步骤s4相同,顺序执行步骤s5。
83.当根据所述周期事件中的环节任务数据包所记录的信息是要产生多个分流事件,就跳过步骤s5,直接执行步骤s6。当然分流事件可以是与周期事件为同一分组,也可以是属于另一个的不同分组,当然多数情况分流事件是属于另一个的不同分组。例如,对于抄表事
件,执行一个环节任务后,可以直接进行计算费用事件,因此不需要执行第二个环节任务,而是直接跳转到属于算费组的计算电费事件的环节任务。
84.s5循环操作步骤s4直至周期事件的所述拓扑结构记载的待执行的环节任务执行完毕。
85.这和第一实施例的步骤s5相同,这里不再重复介绍。
86.s6基于所述拓扑结构记载的信息产生多个分流事件,所述每个分流事件包含但不限于:父事件id、事件id、参数包、分流值、当前环节任务id、和环节任务数据包,该环节任务数据包包含了该任务流程所有环节的环节任务属性、和所有环节任务的拓扑结构,该环节任务属性包含了所有的环节任务id、所有的服务和服务参数,该拓扑结构记载了待执行的环节任务的顺序和待产生的新事件。
87.所述父事件id、事件id、参数包、分流值、当前环节任务id、和环节任务数据包的定义与上面的第一实施例相同。
88.这里的新事件也与第一实施例相同,拓扑结构记载的待产生的新事件可以是属于分流事件所在的分组的新事件,也可以是属于另一个不同分组的新事件。
89.该步骤是利用事件驱动机制产生属于其它分组的多个分流事件。下面继续以抄表读数、计算电费、电费核查过程为例来进行描述。
90.对于居民用电的抄表读数,在录入到表码中间库后,从中抽取抄表数据是持续不断的抽取数据的过程,一次就需要一个循环抽取数据的过程,因此抄表事件就是一个周期事件,抄表环节就是一个循环周期环节。对于每一个居民用户的抄表读数,都需要计算电费和进行费用核查。本发明基于事件驱动机制提供的任务调度方法,避免了现有的通用的定时任务调度方法只能等抽取完全部居民的用电量数据后再进行计算各个居民用电的电费的技术不足。在抄表读数这一周期事件的定义里,例如拓扑结构中可以记载读取用电量数据后产生计算电费事件,由于抄表事件是循环执行的,不断的读取用电量数据,就不断的产生计算电费事件,从而形成多个分流事件。
91.本任务调度方法提供了支持类似数据泵的周期抽取数据环节,可以周期的生成多个分流事件。即,通过1个作为周期事件的抄表事件,持续不断的提供用户的用电量数据,进而产生了多个计算电费事件,即多个分流事件。由此可以实现后续的批次计算和高并发计算这一目的。
92.s7基于事件的分组和所述每个分流事件中记录的当前环节任务id,将该待执行的环节任务发送到执行队列中并通知执行服务器执行该环节任务,其中该执行队列的命名规则是:固定的队列前缀+分组名称:当前环节任务id。
93.这与第一实施例的步骤s3相同,每一个分流事件都是一个独立的事件,根据实际应用的需要,该多个分流事件可以是属于相同分组,也可以是属于不同分组。在这里提供的实例中,所述多个分流事件都是属于算费组这一同一分组的计算电费事件。
94.将每一个分流事件发送到一个执行队列中,有多个分流事件就有相应数量的多个执行队列。例如,有100个分流事件,就配有100个执行队列。
95.s8执行服务器执行完毕执行队列中的所述当前环节任务后,根据所产生的分流事件中的环节任务数据包所记录的信息,调取一个新环节任务,将其发送到一个新执行队列中并通知所述执行服务器进行加载和执行该新环节任务。
96.这与第一实施例的步骤s4相同,这里不再重复描述。
97.s9循环操作步骤s8直至分流事件的所述拓扑结构记载的待执行的环节任务按所述顺序全部执行完毕。
98.这与第一实施例的步骤s5相同,这里不再重复描述。
99.s10基于分流事件的所述拓扑结构记载的信息产生新事件或任务调度完毕。
100.这与第一实施例的步骤s6相同,这里不再重复描述。在所举例的抄表读数、计算电费、电费核查过程中,这里的新事件是属于核查组的电费核查事件。当电费核查事件完成后,任务调度结束。
101.所有的环节任务执行完毕,当所述拓扑结构记载的信息没有包含待产生的新事件时,整个任务调度执行完毕。
102.另外,如果在执行过程中出现某个执行任务的异常发生,为了避免宕机,可以设置强制退出机制,即遇到异常情况发生时,强制退出任务的调度,这是本领域技术人员所熟知的,这里不再赘述。
103.其中,所述事件还包含:事件类型、事件创建时间、用户自定义参数、事件执行历史环节记录。
104.所述事件类型可以保护人工触发、定时产生、延迟产生等,用于记录事件产生的来源。
105.所述事件创建时间用于记录事件创建时的时间。
106.所述事件执行历史环节记录,用于每执行一个环节任务,记录该环节任务id和时间。
107.所述用户自定义参数,用于传入动态参数,例如在处理异常算费的时候,可以手动输入重新计算的区域编号,这样任务系统就可以根据这些动态参数,完成预先设置的不同逻辑的处理。
108.其中,所述执行服务器每执行一个环节任务时将该环节任务的所有信息记录到hash映射表中,所述执行服务器每执行完毕一个环节任务,将结果发送到结果队列中。
109.为了在执行服务器突然停机后重新启动时可以恢复执行的任务,所述执行服务器每执行一个环节任务时将该环节任务的所有信息记录到hash映射表中,该hash映射表中可以存在所述redis存储系统中。当由于断电等原因造成了执行服务器突然停机,在该执行服务器重新启动时就能够从该hash映射表中读取执行中的环节任务,实现执行任务的恢复。
110.再者,所述执行服务器每执行完毕一个环节任务,将结果发送到结果队列中,用于后续的任务使用。
111.其中,在某一个分组的事件中存在2个以上的多个环节任务时,所述对应于该分组的执行服务器采取以下加载策略从多个执行队列中进行加载待执行的任务个数,所述加载策略是:首先所述执行服务器根据自身的负载能力和已经负载的任务个数计算出还能够继续负载的剩余任务个数,接着查询具有待执行任务的执行队列个数,用所述剩余任务个数除以所述的具有待执行任务的执行队列个数,由此得出从每个具有待执行任务的执行队列中能够加载的任务个数,基于这个得出的任务个数从所述的具有待执行任务的执行队列加载相应数量的任务。这样可以实现所述执行服务器从不同的执行队列中加载最大数量的执行任务,进而充分使用了执行服务器的资源。
112.这里的负载能力是指执行服务器可以执行任务的最大数量。
113.在本发明的方案中,执行队列的个数可以根据用户定义的任务数目动态增减,采用上述的这种加载策略,可以实现资源的充分利用、保证系统的稳定性和调度的可预设特性。
114.本发明第二实施例所提供的任务调度方法采用了事件流调度模式,和使用时间片段模式情况下的时间消耗相比,可以大大节省时间消耗,实现快速计算的要求;而且还支持批次计算和高并发计算,支持任务的流程化编排,这样调度任务的完成周期大大缩短,有效的节约了系统资源。
115.图3是本发明第三实施例提供的任务调度系统的示意性框图。本发明第三实施例提供了一种任务调度系统,其包括:调度器、执行服务器、和redis存储系统,所述调度器、执行服务器和redis存储系统相互配合协作以执行第一实施例和第二实施例所述的任务调度方法,其中调度器用于产生属于某一分组的事件和周期事件和通知执行服务器;所述redis存储系统用于存放执行队列、结果队列、各种任务数据的缓存信息、以及需要执行的加载数据;所述执行服务器用于加载环节任务、将待执行的环节任务放入执行队列中、将处理的结果发送到结果队列中、和通知自己或其它执行服务器从执行队列中加载和执行环节任务。
116.鉴于在描述第一实施例和第二实施例的过程中,介绍了调度器、执行服务器、和redis存储系统的作用,本发明第三实施例提供的任务调度系统所实现的任务调度过程可以见上述第一实施例和第二实施例的具体过程,包括优选实施例的实现过程,因此这里不再赘述。
117.本发明第三实施例所提供的任务调度系统采用了事件流调度模式,和使用时间片段模式情况下的时间消耗相比,可以大大节省时间消耗,实现快速计算的要求;而且还支持批次计算和高并发计算,支持任务的流程化编排,这样调度任务的完成周期大大缩短,有效的节约了系统资源。
118.以上内容是结合具体实施方式对本发明作进一步详细说明,不能认定本发明具体实施只局限于这些说明,对于本发明所属技术领域的普通技术人员来说,在不脱离本发明的构思的前提下,还可以作出若干简单的推演或替换,都应当视为属于本发明所提交的权利要求书确定的保护范围。