CN117032916B - 基于事件的任务调度算法、装置和存储介质 - Google Patents
基于事件的任务调度算法、装置和存储介质 Download PDFInfo
- Publication number
- CN117032916B CN117032916B CN202310906820.6A CN202310906820A CN117032916B CN 117032916 B CN117032916 B CN 117032916B CN 202310906820 A CN202310906820 A CN 202310906820A CN 117032916 B CN117032916 B CN 117032916B
- Authority
- CN
- China
- Prior art keywords
- event
- task
- scheduling
- consumption
- merging
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000011144 upstream manufacturing Methods 0.000 claims abstract description 25
- 238000012545 processing Methods 0.000 claims abstract description 19
- 230000001419 dependent effect Effects 0.000 claims description 60
- 230000015654 memory Effects 0.000 description 9
- 238000000034 method Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 230000003111 delayed effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/526—Mutual exclusion algorithms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/486—Scheduler internals
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请涉及一种基于事件的任务调度算法、装置和存储介质,本申请通过获取调度系统在任务运行完成产生低延迟时的消费事件;基于所述消费事件对上游任务运行结束时产生的事件进行归并处理,得到归并事件;轮询判断所述归并事件是否满足任务调度条件:若满足,则基于满足的所述归并事件运行下游调度任务,并在所述下游调度任务运行成功之时,销毁所述归并事件。能够利用调度系统低延迟的消费事件对任务结束事件进行归并,并按照下游任务的依赖输入、高频轮询判断是否满足下游任务触发条件,锁定依赖事件,避免重复调度。任务运行完成后,销毁已经完成任务的依赖事件,防止后续重复处理和消费。还能够根据前置任务的结束标志,进行调度策略的精确设置。
Description
技术领域
本公开涉及大数据任务调度技术领域,尤其涉及一种基于事件的任务调度算法、装置和存储介质。
背景技术
当前的大数据调度系统中,定时调度是众多调度策略中最常见的一环,但定时调度在多任务依赖调度的场景下存在一定的局限性:
如附图1所示,任务执行顺序依赖为“任务A->任务B->任务C”,正常情况下任务A在9点前运行结束,任务B可以正常运行,以此类推,任务C的前置任务B需要在10点前运行完成,以保证任务C到了10点运行不会出现空跑情形。也就是,存在依赖调度的任务调度方案中,需要前置任务完成,才能使得后续任务顺利运行,不然会出现任务运行跑空。
但在实际情形中,由于计算资源不足或临时的计算任务插队常常会出现任务有延迟完成的情况,例如任务A的完成时间有可能因为资源不足延迟到9:20完成,这样一来,任务B在9点调度运行就会出现输入数据没有到达的情况,但定时的策略无法保证该种情形出现时,能够自动延迟任务B的运行,以此来保证整体任务运行的准确性和及时性。
定时空跑的情形出现,本质上是由于无法预判前置任务的结束标志,无法进行调度策略的精确设置。因此,在调度系统中能够以事件的方式记录各个环节任务运行结束的标志,并能根据任务依赖关系动态轮询事件是否满足自动唤起下游任务运行,就成为更加合理的解决方案。
发明内容
为了解决上述问题,本申请提出一种基于事件的任务调度算法、装置和存储介质。
本申请一方面,提出一种基于事件的任务调度算法,包括如下步骤:
获取调度系统在任务运行完成产生低延迟时的消费事件;
基于所述消费事件对上游任务运行结束时产生的事件进行归并处理,得到归并事件;
轮询判断所述归并事件是否满足任务调度条件:
若满足,则基于满足的所述归并事件运行下游调度任务,并在所述下游调度任务运行成功之时,销毁所述归并事件。
作为本申请的一可选实施方案,可选地,获取调度系统在任务运行完成产生低延迟时的消费事件,包括:
当所述调度系统出现低延迟之时,由所述调度系统生成对应的事件消费记录,并将所述事件消费记录保存至后台数据库中;
在上游任务运行结束之时,调取出所述事件消费记录,进入事件归并处理程序。
作为本申请的一可选实施方案,可选地,基于所述消费事件对上游任务运行结束时产生的事件进行归并处理,得到归并事件,包括:
在上游任务运行结束之时,生成对应的结束标志事件;
判断所述事件消费记录中,是否存在与所述结束标志事件相同的消费事件:
若存在,则将所述结束标志事件与相同的所述消费事件进行事件归并,得到所述归并事件;
将所述归并事件保存至所述后台数据库中。
作为本申请的一可选实施方案,可选地,基于所述消费事件对上游任务运行结束时产生的事件进行判断,并得到依赖事件,还包括:
在判断所述事件消费记录中,是否存在与所述结束标志事件相同的消费事件之时:
若不存在与所述结束标志事件相同的消费事件,则将不能进行归并处理的所述结束标志事件与所述消费事件共同保存至所述后台数据库中。
作为本申请的一可选实施方案,可选地,轮询判断所述归并事件是否满足任务调度条件:若满足,则将所述依赖事件锁定,包括:
调取出保存在后台数据库中的所述归并事件;
判断所述归并事件中的所述结束标志事件或所述消费事件,是否满足下游任务触发条件:
若所述结束标志事件满足,则将满足下游任务触发条件的所述结束标志事件锁定,并将锁定的所述结束标志事件作为执行下游调度任务的依赖事件;
将所述依赖事件存在后台数据库中。
作为本申请的一可选实施方案,可选地,在判断所述归并事件中的所述结束标志事件或所述消费事件,是否满足下游任务触发条件之时,还包括:
若述结束标志事件不满足,则按照预设的轮询频率,对所述归并事件中的若干所述消费事件进行高频轮询;
当某一条所述消费事件满足下游任务触发条件之时,将满足下游任务触发条件的所述消费事件锁定,并将锁定的所述消费事件作为执行下游调度任务的依赖事件;
将所述依赖事件存在后台数据库中。
作为本申请的一可选实施方案,可选地,基于满足的所述归并事件运行下游调度任务,包括:
从后台数据库中调取出依赖事件,基于所述依赖事件运行下游调度任务;
判断所述下游调度任务是否运行成功:
若运行成功,则销毁所述依赖事件;
若未运行成功,则备份所述依赖事件,并将所述依赖事件保存至后台数据库中,后续将参与下一次的事件归并。
作为本申请的一可选实施方案,可选地,还包括:
根据所述依赖事件,重新设定调度策略,并将所述调度策略配置于所述调度系统上,并将所述调度策略存至后台数据库中。
本申请另一方面,提出一种实现所述基于事件的任务调度算法的装置,包括:
事件记录模块,用于获取调度系统在任务运行完成产生低延迟时的消费事件;
归并处理模块,用于基于所述消费事件对上游任务运行结束时产生的事件进行归并处理,得到归并事件;
任务调度模块,用于轮询判断所述归并事件是否满足任务调度条件:
若满足,则基于满足的所述归并事件运行下游调度任务,并在所述下游调度任务运行成功之时,销毁所述归并事件。
本申请另一方面,还提出一种存储介质,所述存储介质中存储有可执行程序,该程序在执行时,可实现所述基于事件的任务调度算法的流程。
本发明的技术效果:
本申请通过获取调度系统在任务运行完成产生低延迟时的消费事件;基于所述消费事件对上游任务运行结束时产生的事件进行归并处理,得到归并事件;轮询判断所述归并事件是否满足任务调度条件:若满足,则基于满足的所述归并事件运行下游调度任务,并在所述下游调度任务运行成功之时,销毁所述归并事件。能够利用调度系统低延迟的消费事件对任务结束事件进行归并,并按照下游任务的依赖输入,高频轮询判断是否满足下游任务触发条件,在事件满足的情况下,锁定依赖事件并运行下游调度任务,可以及时、无延迟调度下游任务运行;及时锁定对应事件,避免重复调度。任务运行完成后,销毁已经完成任务的依赖事件,防止后续重复处理和消费。还能够根据前置任务的结束标志,进行调度策略的精确设置,充分规避定时调度下的必需等待以及空跑问题;并及时锁定对应事件,避免重复调度。
根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。
图1示出为调度系统中定时调度的任务依赖运行机制;
图2示出为本发明基于事件的任务调度算法的实施流程示意图;
图3示出为本发明一个基于事件的任务调度算法的应用流程示意图;
图4示出为本发明电子设备的应用示意图。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
实施例1
如图2所示,本申请一方面,提出一种基于事件的任务调度算法,包括如下步骤:
S1、获取调度系统在任务运行完成产生低延迟时的消费事件;
S2、基于所述消费事件对上游任务运行结束时产生的事件进行归并处理,得到归并事件;
S3、轮询判断所述归并事件是否满足任务调度条件:
若满足,则基于满足的所述归并事件运行下游调度任务,并在所述下游调度任务运行成功之时,销毁所述归并事件。
本方案在上游任务运行结束后,生成完成标志事件,即上游任务运行结束之时生成对应的结束标志事件。利用调度系统低延迟的消费事件对任务结束事件进行归并,并按照下游任务的依赖输入,高频轮询判断是否满足下游任务触发条件,在事件满足的情况下,锁定依赖事件并运行下游调度任务,可以及时、无延迟调度下游任务运行;及时锁定对应事件,避免重复调度。任务运行完成后,销毁已经完成任务的依赖事件,防止后续重复处理和消费。还能够根据前置任务的结束标志,进行调度策略的精确设置,充分规避定时调度下的必需等待以及空跑问题;并及时锁定对应事件,避免重复调度。
在调度系统上,根据依赖事件设定或者调整调度策略的方式,可以由后台管理员进行设定并进行配置,本实施例不做限定。
下面将结合附图3,具体描述本方案的实施过程。
作为本申请的一可选实施方案,可选地,获取调度系统在任务运行完成产生低延迟时的消费事件,包括:
当所述调度系统出现低延迟之时,由所述调度系统生成对应的事件消费记录,并将所述事件消费记录保存至后台数据库中;
在上游任务运行结束之时,调取出所述事件消费记录,进入事件归并处理程序。
后台数据库,为调度系统保存数据的模块,具体结合调度系统的数据库进行确定。
在调度系统出现低延迟之时,通过调度系统,比如说日志系统,可以自动生成出现低延迟之时所生成的消费事件,并对消费事件进行记录,可以将上游任务运行结束之时所生成的事件与出现延迟之时所生成的消费事件进行比对,从消费事件以及上游任务运行结束产生的事件中,进行依赖事件的判断。
调度系统出现低延迟的时候,将自动生成的时间消费记录保存在后台数据库中。事件消费记录中包含若干条事件消费,将从若干条事件消费与上交任务运行结束产生的事件,先进行归并再入库。
作为本申请的一可选实施方案,可选地,基于所述消费事件对上游任务运行结束时产生的事件进行归并处理,得到归并事件,包括:
在上游任务运行结束之时,生成对应的结束标志事件;
判断所述事件消费记录中,是否存在与所述结束标志事件相同的消费事件:
若存在,则将所述结束标志事件与相同的所述消费事件进行事件归并,得到所述归并事件;
将所述归并事件保存至所述后台数据库中。
在上游任务运行结束之时,可以生成对应的结束标志事件,判断出现低延迟之时,调度系统所生成的若干消费事件中,是否存在与结束标志事件相同的消费事件,便于从中找到满足运行下游调度任务的依赖事件。
若是相同,那么可以将结束标志事件与对应相同的消费事件进行合并,成为一个事件,即得到归并事件,将归并事件保存在后台数据库中。
作为本申请的一可选实施方案,可选地,基于所述消费事件对上游任务运行结束时产生的事件进行判断,并得到依赖事件,还包括:
在判断所述事件消费记录中,是否存在与所述结束标志事件相同的消费事件之时:
若不存在与所述结束标志事件相同的消费事件,则将不能进行归并处理的所述结束标志事件与所述消费事件共同保存至所述后台数据库中。
若是,出现低延迟之时,消费事件中不存在与结束标志事件相同的事件,那么则将结束标准事件实现单独入库,与若干消费事件同步入库,并保存在后台数据库中。
通过归并处理,可以从出现低延迟的所述事件消费记录中,识别出是否存在结束标志事件的事件,存在则归并,用于后续依赖事件的锁定;不存在则分别入库,进行轮询锁定,若是未归并,可能导致同时出现结束标志事件和消费事件满足下游任务调度,不知道谁才是真正的依赖事件,可能会产生重复调度。因此归并处理可以避免重复调度。
按照下游任务依赖输入对事件进行归并处理,高频轮询判断是否满足下游任务触发条件,在事件满足的情况下及时、无延迟调度下游任务运行,充分规避定时调度下的必需等待以及空跑问题
作为本申请的一可选实施方案,可选地,轮询判断所述归并事件是否满足任务调度条件:若满足,则将所述依赖事件锁定,包括:
调取出保存在后台数据库中的所述归并事件;
判断所述归并事件中的所述结束标志事件或所述消费事件,是否满足下游任务触发条件:
若所述结束标志事件满足,则将满足下游任务触发条件的所述结束标志事件锁定,并将锁定的所述结束标志事件作为执行下游调度任务的依赖事件;
将所述依赖事件存在后台数据库中。
在执行下游调度任务运行之前,需要找到满足下游任务触发条件的依赖事件。该依赖事件需要从数据库中所保存的事件消费记录以及结束标志事件中找到真正满足下游任务触发条件的依赖事件。该依赖事件因前期进行了归并处理,因此需要从归并处理后的事件中找到真正满足下游任务触发条件的事件并进行锁定,避免同时存在结束标志事件以及消费事件满足下游任务出发条件,导致重复调度。
因此,需要判断哪一个事件才是真正满足下游任务出发条件的事件。
若是结束标志事件满足,那么认定为结束标志事件真正可以满足下游任务触发条件,则锁定结束标志事件,将其作为执行下游调度任务的依赖事件。那么其他消费时间则认定不满足。
作为本申请的一可选实施方案,可选地,在判断所述归并事件中的所述结束标志事件或所述消费事件,是否满足下游任务触发条件之时,还包括:
若述结束标志事件不满足,则按照预设的轮询频率,对所述归并事件中的若干所述消费事件进行高频轮询;
当某一条所述消费事件满足下游任务触发条件之时,将满足下游任务触发条件的所述消费事件锁定,并将锁定的所述消费事件作为执行下游调度任务的依赖事件;
将所述依赖事件存在后台数据库中。
若是结束标志事件不满足下游任务触发条件,那么则认为下游任务触发条件的依赖事件应当存在于若干消费事件之中。因为出现低延迟之时,系统可能会产生海量消费事件。因此需要将消费事件逐一进行判断,直到识别并判断出真正满足下游任务触发条件的某一条消费事件。
因此本处需要设定轮巡频率,该轮巡频率为高频轮巡条件,具体的高频轮巡频率可以由后台管理员进行设定,通过轮训模块/程序等,依次调取每一条消费事件进行判断,直到某一条消费事件满足下游任务触发条件之时,那么则将该条消费事件进行锁定,将其作为依赖时间进行标记并入库。
即,若是结束标志事件不满足下游任务触发条件,那么依赖事件就存在事件消费记录中,为其中的某一条消费事件。某一条消费事件应当满足下游任务触发条件,则需要将该条消费事件进行锁定,将其作为依赖事件存储在数据库中。
从结束标志事件以及若干消费事件中,判断并识别出满足下游任务触发条件的事件之后,将其锁定并作为执行下游调度任务的依赖事件。该依赖事件将用于下游调度任务的触发,触发条件只有一个依赖事件,其他多余的事件都将不满足触发下游调度任务的条件。
作为本申请的一可选实施方案,可选地,基于满足的所述归并事件运行下游调度任务,包括:
从后台数据库中调取出依赖事件,基于所述依赖事件运行下游调度任务;
判断所述下游调度任务是否运行成功:
若运行成功,则销毁所述依赖事件;
若未运行成功,则备份所述依赖事件,并将所述依赖事件保存至后台数据库中,后续将参与下一次的事件归并。
锁定依赖事件之后,将可以根据该唯一的依赖事件,进行下游调度任务的触发运行。下游调度任务运行之后,可以由系统判断任务运行是否成功,若是成功,则销毁该触发调度任务的依赖事件,避免该依赖事件后续会参与重复处理和消费。若是没有运行成功,那么该依赖事件将进行备份,而作为备份事件进行入库,将参与下一次的任务调度触发判断。
若是任务运行成功之时,没有销毁,该依赖事件可能在下一次的下游调度任务运行之时,上一次的依赖事件将会重复用于下一次调度任务的触发判断,会导致重复消费。因此任务运行完成后,销毁已经完成任务的依赖事件,防止后续重复处理和消费。
对于备份事件的后续处理,可以参见上述结束标志事件的归并处理过程。
作为本申请的一可选实施方案,可选地,还包括:
根据所述依赖事件,重新设定调度策略,并将所述调度策略配置于所述调度系统上,并将所述调度策略存至后台数据库中。
本方案在系统出现低延迟之时,还能够根据前置任务的结束标志,进行调度策略的精确设置,充分规避定时调度下的必需等待以及空跑问题;并及时锁定对应事件,避免重复调度。可以利用所锁定的依赖事件重新设定调度策略,该调度策略的具体内容以及配置,由后台管理员在调度系统上进行具体完成,本实施例不做限定和追溯。
因此,本申请通过利用调度系统低延迟的消费事件对任务结束事件进行归并,并按照下游任务的依赖输入,高频轮询判断是否满足下游任务触发条件,在事件满足的情况下,锁定依赖事件并运行下游调度任务,可以及时、无延迟调度下游任务运行;及时锁定对应事件,避免重复调度。任务运行完成后,销毁已经完成任务的依赖事件,防止后续重复处理和消费。还能够根据前置任务的结束标志,进行调度策略的精确设置,充分规避定时调度下的必需等待以及空跑问题;并及时锁定对应事件,避免重复调度。
显然,本领域的技术人员应该明白,实现上述实施例中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成的,程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各控制的实施例的流程。
实施例2
基于实施例1的实施原理,本申请另一方面,提出一种实现所述基于事件的任务调度算法的装置,包括:
事件记录模块,用于获取调度系统在任务运行完成产生低延迟时的消费事件;
归并处理模块,用于基于所述消费事件对上游任务运行结束时产生的事件进行归并处理,得到归并事件;
任务调度模块,用于轮询判断所述归并事件是否满足任务调度条件:
若满足,则基于满足的所述归并事件运行下游调度任务,并在所述下游调度任务运行成功之时,销毁所述归并事件。
本申请通过归并处理模块,利用调度系统低延迟的消费事件对任务结束事件进行归并;任务调度模块按照下游任务的依赖输入,高频轮询判断是否满足下游任务触发条件,在事件满足的情况下,锁定依赖事件并运行下游调度任务,可以及时、无延迟调度下游任务运行;及时锁定对应事件,避免重复调度。任务运行完成后,销毁已经完成任务的依赖事件,防止后续重复处理和消费。
上述各个模块的功能,详见实施例1的描述。
上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
实施例3
本申请另一方面,还提出一种存储介质,所述存储介质中存储有可执行程序,该程序在执行时,可实现所述基于事件的任务调度算法的流程。
本领域技术人员可以理解,实现上述实施例中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成的,程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各控制的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)、随机存储记忆体(RandomAccessMemory,RAM)、快闪存储器(FlashMemory)、硬盘(HardDiskDrive,缩写:HDD)或固态硬盘(Solid-StateDrive,SSD)等;存储介质还可以包括上述种类的存储器的组合。
实施例4
如图4所示,更进一步地,本申请另一方面,还提出一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述可执行指令时实现所述的一种基于事件的任务调度算法。
本公开实施例来电子设备包括处理器以及用于存储处理器可执行指令的存储器。其中,处理器被配置为执行可执行指令时实现前面任一所述的一种基于事件的任务调度算法。
此处,应当指出的是,处理器的个数可以为一个或多个。同时,在本公开实施例的电子设备中,还可以包括输入装置和输出装置。其中,处理器、存储器、输入装置和输出装置之间可以通过总线连接,也可以通过其他方式连接,此处不进行具体限定。
存储器作为一计算机可读存储介质,可用于存储软件程序、计算机可执行程序和各种模块,如:本公开实施例的一种基于事件的任务调度算法所对应的程序或模块。处理器通过运行存储在存储器中的软件程序或模块,从而执行电子设备的各种功能应用及数据处理。
输入装置可用于接收输入的数字或信号。其中,信号可以为产生与设备/终端/服务器的用户设置以及功能控制有关的键信号。输出装置可以包括显示屏等显示设备。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (8)
1.一种基于事件的任务调度算法,其特征在于,包括如下步骤:
获取调度系统在任务运行完成产生低延迟时的消费事件,消费事件:在调度系统出现低延迟之时,通过调度系统自动生成出现低延迟之时所生成的消费事件,并对消费事件进行记录,将自动生成的事件消费记录保存在后台数据库中;
基于所述消费事件对上游任务运行结束时产生的事件进行归并处理,得到归并事件;
轮询判断所述归并事件是否满足任务调度条件:
若满足,则基于满足的所述归并事件运行下游调度任务,并在所述下游调度任务运行成功之时,销毁所述归并事件;
以及,
将依赖事件锁定,包括:
调取出保存在后台数据库中的所述归并事件;
判断所述归并事件中的结束标志事件或所述消费事件,是否满足下游任务触发条件:
若所述结束标志事件满足,则将满足下游任务触发条件的所述结束标志事件锁定,并将锁定的所述结束标志事件作为执行下游调度任务的依赖事件;
若所述结束标志事件不满足,则按照预设的轮询频率,对所述归并事件中的若干所述消费事件进行高频轮询;当某一条所述消费事件满足下游任务触发条件之时,将满足下游任务触发条件的所述消费事件锁定,并将锁定的所述消费事件作为执行下游调度任务的依赖事件;
将所述依赖事件存在后台数据库中。
2.根据权利要求1所述的基于事件的任务调度算法,其特征在于,获取调度系统在任务运行完成产生低延迟时的消费事件,包括:
当所述调度系统出现低延迟之时,由所述调度系统生成对应的事件消费记录,并将所述事件消费记录保存至后台数据库中;
在上游任务运行结束之时,调取出所述事件消费记录,进入事件归并处理程序。
3.根据权利要求2所述的基于事件的任务调度算法,其特征在于,基于所述消费事件对上游任务运行结束时产生的事件进行归并处理,得到归并事件,包括:
在上游任务运行结束之时,生成对应的结束标志事件;
判断所述事件消费记录中,是否存在与所述结束标志事件相同的消费事件:
若存在,则将所述结束标志事件与相同的所述消费事件进行事件归并,得到所述归并事件;
将所述归并事件保存至所述后台数据库中。
4.根据权利要求3所述的基于事件的任务调度算法,其特征在于,基于所述消费事件对上游任务运行结束时产生的事件进行判断,并得到依赖事件,还包括:
在判断所述事件消费记录中,是否存在与所述结束标志事件相同的消费事件之时:
若不存在与所述结束标志事件相同的消费事件,则将不能进行归并处理的所述结束标志事件与所述消费事件共同保存至所述后台数据库中。
5.根据权利要求3所述的基于事件的任务调度算法,其特征在于,基于满足的所述归并事件运行下游调度任务,包括:
从后台数据库中调取出依赖事件,基于所述依赖事件运行下游调度任务;
判断所述下游调度任务是否运行成功:
若运行成功,则销毁所述依赖事件;
若未运行成功,则备份所述依赖事件,并将所述依赖事件保存至后台数据库中,后续将参与下一次的事件归并。
6.根据权利要求5所述的基于事件的任务调度算法,其特征在于,还包括:
根据所述依赖事件,重新设定调度策略,并将所述调度策略配置于所述调度系统上,并将所述调度策略存至后台数据库中。
7.一种实现权利要求1-6中任一项所述基于事件的任务调度算法的装置,其特征在于,包括:
事件记录模块,用于获取调度系统在任务运行完成产生低延迟时的消费事件;
归并处理模块,用于基于所述消费事件对上游任务运行结束时产生的事件进行归并处理,得到归并事件;
任务调度模块,用于轮询判断所述归并事件是否满足任务调度条件:
若满足,则基于满足的所述归并事件运行下游调度任务,并在所述下游调度任务运行成功之时,销毁所述归并事件;
以及,
将依赖事件锁定,包括:
调取出保存在后台数据库中的所述归并事件;
判断所述归并事件中的结束标志事件或所述消费事件,是否满足下游任务触发条件:
若所述结束标志事件满足,则将满足下游任务触发条件的所述结束标志事件锁定,并将锁定的所述结束标志事件作为执行下游调度任务的依赖事件;
若所述结束标志事件不满足,则按照预设的轮询频率,对所述归并事件中的若干所述消费事件进行高频轮询;当某一条所述消费事件满足下游任务触发条件之时,将满足下游任务触发条件的所述消费事件锁定,并将锁定的所述消费事件作为执行下游调度任务的依赖事件;
将所述依赖事件存在后台数据库中。
8.一种存储介质,其特征在于,所述存储介质中存储有可执行程序,该程序在执行时,可实现权利要求1-6中任一项所述基于事件的任务调度算法的流程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310906820.6A CN117032916B (zh) | 2023-07-24 | 2023-07-24 | 基于事件的任务调度算法、装置和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310906820.6A CN117032916B (zh) | 2023-07-24 | 2023-07-24 | 基于事件的任务调度算法、装置和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117032916A CN117032916A (zh) | 2023-11-10 |
CN117032916B true CN117032916B (zh) | 2024-05-28 |
Family
ID=88621771
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310906820.6A Active CN117032916B (zh) | 2023-07-24 | 2023-07-24 | 基于事件的任务调度算法、装置和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117032916B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111813552A (zh) * | 2020-07-16 | 2020-10-23 | 济南浪潮数据技术有限公司 | 一种基于多线程任务的调度执行方法、装置和介质 |
CN113468069A (zh) * | 2021-07-22 | 2021-10-01 | 腾讯科技(成都)有限公司 | 应用测试方法、装置、计算机设备及存储介质 |
CN114968503A (zh) * | 2021-02-25 | 2022-08-30 | 腾讯科技(深圳)有限公司 | 业务定时处理方法、装置、电子设备及存储介质 |
CN115033412A (zh) * | 2022-06-07 | 2022-09-09 | 中国工商银行股份有限公司 | 一种任务日志归并方法和装置 |
CN115115384A (zh) * | 2021-03-19 | 2022-09-27 | 腾讯科技(深圳)有限公司 | 激励事件的处理方法、装置、电子设备及存储介质 |
CN115756783A (zh) * | 2022-11-16 | 2023-03-07 | 上海宝信软件股份有限公司 | 跨子系统的空间任务依赖调度方法与系统 |
CN116264605A (zh) * | 2022-07-12 | 2023-06-16 | 深圳市芯睿视科技有限公司 | 事件处理方法、设备及系统、程序产品及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11558446B2 (en) * | 2020-05-22 | 2023-01-17 | Yahoo Assets Llc | Joining and dimensional annotation in a streaming pipeline |
-
2023
- 2023-07-24 CN CN202310906820.6A patent/CN117032916B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111813552A (zh) * | 2020-07-16 | 2020-10-23 | 济南浪潮数据技术有限公司 | 一种基于多线程任务的调度执行方法、装置和介质 |
CN114968503A (zh) * | 2021-02-25 | 2022-08-30 | 腾讯科技(深圳)有限公司 | 业务定时处理方法、装置、电子设备及存储介质 |
CN115115384A (zh) * | 2021-03-19 | 2022-09-27 | 腾讯科技(深圳)有限公司 | 激励事件的处理方法、装置、电子设备及存储介质 |
CN113468069A (zh) * | 2021-07-22 | 2021-10-01 | 腾讯科技(成都)有限公司 | 应用测试方法、装置、计算机设备及存储介质 |
CN115033412A (zh) * | 2022-06-07 | 2022-09-09 | 中国工商银行股份有限公司 | 一种任务日志归并方法和装置 |
CN116264605A (zh) * | 2022-07-12 | 2023-06-16 | 深圳市芯睿视科技有限公司 | 事件处理方法、设备及系统、程序产品及存储介质 |
CN115756783A (zh) * | 2022-11-16 | 2023-03-07 | 上海宝信软件股份有限公司 | 跨子系统的空间任务依赖调度方法与系统 |
Non-Patent Citations (2)
Title |
---|
Effect of Sleep Deprivation on the Working Memory-Related N2-P3 Components of the Event-Related Potential Waveform;Peng, Ziyi;FRONTIERS IN NEUROSCIENCE Volume14;20200519;1-9 * |
云计算中一种带任务重复机制的任务划分策略;张银娟;;软件;20191215(第12期);14-20 * |
Also Published As
Publication number | Publication date |
---|---|
CN117032916A (zh) | 2023-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111782360B (zh) | 分布式任务调度方法及装置 | |
CN109067841B (zh) | 基于ZooKeeper的服务限流方法、系统、服务器及存储介质 | |
CN111625331B (zh) | 任务调度方法、装置、平台、服务器及存储介质 | |
CN110119306B (zh) | 作业自动调度均衡方法、装置、设备及存储介质 | |
CN111190753B (zh) | 分布式任务处理方法、装置、存储介质和计算机设备 | |
CN110955506A (zh) | 一种分布式作业调度处理方法 | |
CN112099935A (zh) | 一种任务处理方法及装置 | |
CN112631761A (zh) | 一种任务调度监控方法和装置 | |
CN111459629A (zh) | 基于Azkaban的项目运行方法、装置及终端设备 | |
CN112231073A (zh) | 一种分布式任务调度方法及其装置 | |
CN117032916B (zh) | 基于事件的任务调度算法、装置和存储介质 | |
CN111241594B (zh) | 交易信息的加签方法、装置、计算机设备和存储介质 | |
CN114780217B (zh) | 任务调度方法、装置、计算机设备以及介质 | |
CN115687491A (zh) | 一种基于关系型数据库的数据分析任务调度系统 | |
CN111767125B (zh) | 任务执行方法、装置、电子设备、存储介质 | |
CN114020635A (zh) | 基于场景化消息队列的数据测试方法、装置、设备及介质 | |
CN114579275A (zh) | 分布式任务推送方法及装置、电子设备、存储介质 | |
CN110737572B (zh) | 大数据平台资源抢占测试方法、系统、终端及存储介质 | |
CN110908777B (zh) | 作业调度方法、装置和系统 | |
CN112084014A (zh) | 一种数据处理方法、装置、设备及介质 | |
CN111258728A (zh) | 任务的执行方法及装置、存储介质和电子装置 | |
Li | Performance analysis of modified srpt in multiple-processor multitask scheduling | |
CN111444033A (zh) | 基于springbatch的任务容错处理方法及相关设备 | |
CN107479962B (zh) | 一种用于任务下发的方法与设备 | |
CN117632443B (zh) | 业务流程的流转控制方法及装置、设备、介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |