基于事件的任务调度算法、装置和存储介质制造方法及图纸

技术编号:39440527 阅读:9 留言:0更新日期:2023-11-19 16:23
本申请涉及一种基于事件的任务调度算法、装置和存储介质,本申请通过获取调度系统在任务运行完成产生低延迟时的消费事件;基于所述消费事件对上游任务运行结束时产生的事件进行归并处理,得到归并事件;轮询判断所述归并事件是否满足任务调度条件:若满足,则基于满足的所述归并事件运行下游调度任务,并在所述下游调度任务运行成功之时,销毁所述归并事件。能够利用调度系统低延迟的消费事件对任务结束事件进行归并,并按照下游任务的依赖输入、高频轮询判断是否满足下游任务触发条件,锁定依赖事件,避免重复调度。任务运行完成后,销毁已经完成任务的依赖事件,防止后续重复处理和消费。还能够根据前置任务的结束标志,进行调度策略的精确设置。行调度策略的精确设置。行调度策略的精确设置。

【技术实现步骤摘要】
基于事件的任务调度算法、装置和存储介质


[0001]本公开涉及大数据任务调度
,尤其涉及一种基于事件的任务调度算法、装置和存储介质。

技术介绍

[0002]当前的大数据调度系统中,定时调度是众多调度策略中最常见的一环,但定时调度在多任务依赖调度的场景下存在一定的局限性:
[0003]如附图1所示,任务执行顺序依赖为“任务A

>任务B

>任务C”,正常情况下任务A在9点前运行结束,任务B可以正常运行,以此类推,任务C的前置任务B需要在10点前运行完成,以保证任务C到了10点运行不会出现空跑情形。也就是,存在依赖调度的任务调度方案中,需要前置任务完成,才能使得后续任务顺利运行,不然会出现任务运行跑空。
[0004]但在实际情形中,由于计算资源不足或临时的计算任务插队常常会出现任务有延迟完成的情况,例如任务A的完成时间有可能因为资源不足延迟到9:20完成,这样一来,任务B在9点调度运行就会出现输入数据没有到达的情况,但定时的策略无法保证该种情形出现时,能够自动延迟任务B的运行,以此来保证整体任务运行的准确性和及时性。
[0005]定时空跑的情形出现,本质上是由于无法预判前置任务的结束标志,无法进行调度策略的精确设置。因此,在调度系统中能够以事件的方式记录各个环节任务运行结束的标志,并能根据任务依赖关系动态轮询事件是否满足自动唤起下游任务运行,就成为更加合理的解决方案。

技术实现思路

[0006]为了解决上述问题,本申请提出一种基于事件的任务调度算法、装置和存储介质。
[0007]本申请一方面,提出一种基于事件的任务调度算法,包括如下步骤:
[0008]获取调度系统在任务运行完成产生低延迟时的消费事件;
[0009]基于所述消费事件对上游任务运行结束时产生的事件进行归并处理,得到归并事件;
[0010]轮询判断所述归并事件是否满足任务调度条件:
[0011]若满足,则基于满足的所述归并事件运行下游调度任务,并在所述下游调度任务运行成功之时,销毁所述归并事件。
[0012]作为本申请的一可选实施方案,可选地,获取调度系统在任务运行完成产生低延迟时的消费事件,包括:
[0013]当所述调度系统出现低延迟之时,由所述调度系统生成对应的事件消费记录,并将所述事件消费记录保存至后台数据库中;
[0014]在上游任务运行结束之时,调取出所述事件消费记录,进入事件归并处理程序。
[0015]作为本申请的一可选实施方案,可选地,基于所述消费事件对上游任务运行结束时产生的事件进行归并处理,得到归并事件,包括:
[0016]在上游任务运行结束之时,生成对应的结束标志事件;
[0017]判断所述事件消费记录中,是否存在与所述结束标志事件相同的消费事件:
[0018]若存在,则将所述结束标志事件与相同的所述消费事件进行事件归并,得到所述归并事件;
[0019]将所述归并事件保存至所述后台数据库中。
[0020]作为本申请的一可选实施方案,可选地,基于所述消费事件对上游任务运行结束时产生的事件进行判断,并得到依赖事件,还包括:
[0021]在判断所述事件消费记录中,是否存在与所述结束标志事件相同的消费事件之时:
[0022]若不存在与所述结束标志事件相同的消费事件,则将不能进行归并处理的所述结束标志事件与所述消费事件共同保存至所述后台数据库中。
[0023]作为本申请的一可选实施方案,可选地,轮询判断所述归并事件是否满足任务调度条件:若满足,则将所述依赖事件锁定,包括:
[0024]调取出保存在后台数据库中的所述归并事件;
[0025]判断所述归并事件中的所述结束标志事件或所述消费事件,是否满足下游任务触发条件:
[0026]若所述结束标志事件满足,则将满足下游任务触发条件的所述结束标志事件锁定,并将锁定的所述结束标志事件作为执行下游调度任务的依赖事件;
[0027]将所述依赖事件存在后台数据库中。
[0028]作为本申请的一可选实施方案,可选地,在判断所述归并事件中的所述结束标志事件或所述消费事件,是否满足下游任务触发条件之时,还包括:
[0029]若述结束标志事件不满足,则按照预设的轮询频率,对所述归并事件中的若干所述消费事件进行高频轮询;
[0030]当某一条所述消费事件满足下游任务触发条件之时,将满足下游任务触发条件的所述消费事件锁定,并将锁定的所述消费事件作为执行下游调度任务的依赖事件;
[0031]将所述依赖事件存在后台数据库中。
[0032]作为本申请的一可选实施方案,可选地,基于满足的所述归并事件运行下游调度任务,包括:
[0033]从后台数据库中调取出依赖事件,基于所述依赖事件运行下游调度任务;
[0034]判断所述下游调度任务是否运行成功:
[0035]若运行成功,则销毁所述依赖事件;
[0036]若未运行成功,则备份所述依赖事件,并将所述依赖事件保存至后台数据库中,后续将参与下一次的事件归并。
[0037]作为本申请的一可选实施方案,可选地,还包括:
[0038]根据所述依赖事件,重新设定调度策略,并将所述调度策略配置于所述调度系统上,并将所述调度策略存至后台数据库中。
[0039]本申请另一方面,提出一种实现所述基于事件的任务调度算法的装置,包括:
[0040]事件记录模块,用于获取调度系统在任务运行完成产生低延迟时的消费事件;
[0041]归并处理模块,用于基于所述消费事件对上游任务运行结束时产生的事件进行归
并处理,得到归并事件;
[0042]任务调度模块,用于轮询判断所述归并事件是否满足任务调度条件:
[0043]若满足,则基于满足的所述归并事件运行下游调度任务,并在所述下游调度任务运行成功之时,销毁所述归并事件。
[0044]本申请另一方面,还提出一种存储介质,所述存储介质中存储有可执行程序,该程序在执行时,可实现所述基于事件的任务调度算法的流程。
[0045]本专利技术的技术效果:
[0046]本申请通过获取调度系统在任务运行完成产生低延迟时的消费事件;基于所述消费事件对上游任务运行结束时产生的事件进行归并处理,得到归并事件;轮询判断所述归并事件是否满足任务调度条件:若满足,则基于满足的所述归并事件运行下游调度任务,并在所述下游调度任务运行成功之时,销毁所述归并事件。能够利用调度系统低延迟的消费事件对任务结束事件进行归并,并按照下游任务的依赖输入,高频轮询判断是否满足下游任务触发条件,在事件满足的情况下,锁定依赖事件并运行下游调度任务,可以及时、无延迟调度下游任务运行;及时锁定对应事件,避免重复调度。任务运行完成后,销毁已经完成任务的依赖事件,防止后续重复处理和消费。还能够根据前置任务的结束标志,进行调度策略的精确设置本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于事件的任务调度算法,其特征在于,包括如下步骤:获取调度系统在任务运行完成产生低延迟时的消费事件;基于所述消费事件对上游任务运行结束时产生的事件进行归并处理,得到归并事件;轮询判断所述归并事件是否满足任务调度条件:若满足,则基于满足的所述归并事件运行下游调度任务,并在所述下游调度任务运行成功之时,销毁所述归并事件。2.根据权利要求1所述的基于事件的任务调度算法,其特征在于,获取调度系统在任务运行完成产生低延迟时的消费事件,包括:当所述调度系统出现低延迟之时,由所述调度系统生成对应的事件消费记录,并将所述事件消费记录保存至后台数据库中;在上游任务运行结束之时,调取出所述事件消费记录,进入事件归并处理程序。3.根据权利要求2所述的基于事件的任务调度算法,其特征在于,基于所述消费事件对上游任务运行结束时产生的事件进行归并处理,得到归并事件,包括:在上游任务运行结束之时,生成对应的结束标志事件;判断所述事件消费记录中,是否存在与所述结束标志事件相同的消费事件:若存在,则将所述结束标志事件与相同的所述消费事件进行事件归并,得到所述归并事件;将所述归并事件保存至所述后台数据库中。4.根据权利要求3所述的基于事件的任务调度算法,其特征在于,基于所述消费事件对上游任务运行结束时产生的事件进行判断,并得到依赖事件,还包括:在判断所述事件消费记录中,是否存在与所述结束标志事件相同的消费事件之时:若不存在与所述结束标志事件相同的消费事件,则将不能进行归并处理的所述结束标志事件与所述消费事件共同保存至所述后台数据库中。5.根据权利要求1所述的基于事件的任务调度算法,其特征在于,轮询判断所述归并事件是否满足任务调度条件:若满足,则将所述依赖事件锁定,包括:调取出保存在后台数据库中的所述归并事件;判断所述归并事件中的所述结束标志事件或所述消费事件,是否满足下游任务触发条件:若所述结束标志事件满足,则将满足下游任务触发条件的所述结束标志事件锁定,...

【专利技术属性】
技术研发人员:石凯严林刚王佳林裴新彤曹银通周丽娜戴舒原
申请(专利权)人:杭州观远数据有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1