实时任务调度方法、装置、调度系统及存储介质制造方法及图纸

技术编号:26689427 阅读:14 留言:0更新日期:2020-12-12 02:38
本发明专利技术实施例公开了一种实时任务调度方法、装置、调度系统及存储介质,该方法包括:根据实时检测到的实时任务的元数据创建实时任务对象,并将所述实时任务对象投递至对应的队列表;控制消费线程消费对应队列表中处于有效执行时间区间内的实时任务对象。解决了现有技术的实时任务调度方法很难满足实时任务对于实时性的要求的技术问题。

【技术实现步骤摘要】
实时任务调度方法、装置、调度系统及存储介质
本专利技术实施例涉及计算机领域,尤其涉及一种实时任务调度方法、装置、调度系统及存储介质。
技术介绍
对于搜索系统,每天都会产生大量的全量任务、增量任务和实时任务。全量任务和增量任务均有调度系统定时进行调度,完成全量索引和增量索引的及时更新。对于实时任务,现有技术需要用户手动创建,效率较低,仅能满足实时任务在最坏情况下的运行时间的需求,很难满足实时任务对于实时性的要求。因此,有必要提供一种实时任务调度方法,以提高实时任务的调度效率。
技术实现思路
本专利技术实施例提供了一种实时任务调度方法、装置、调度系统及存储介质,解决了现有技术的实时任务调度方法很难满足实时任务对于实时性的要求。第一方面,本专利技术实施例提供了一种实时任务调度方法,包括:根据实时检测到的实时任务的元数据创建实时任务对象,并将所述实时任务对象投递至对应的队列表;控制消费线程消费对应队列表中处于有效执行时间区间内的实时任务对象。进一步,所述根据实时检测到的实时任务的元数据创建实时任务对象,包括:对实时检测到的实时任务的配置文件进行解析,以得到实时任务的元数据;将所述元数据存储至元数据表,并根据所述元数据表中的元数据创建实时任务对象。进一步,所述控制消费线程消费对应队列表中处于有效执行时间区间内的实时任务对象,包括:控制消费线程执行以下步骤:确定对应队列表中的目标实时任务对象,以及确定所确定的目标实时任务对象的执行时间区间是否包含当前时刻;若是,则判定所述目标实时任务对象处于有效执行区间,并对该目标实时任务对象进行消费。进一步,在创建实时任务对象的同时/之后,还包括:控制守护进程向所述队列表发送心跳数据,以由相应消费线程消费所述心跳数据;在检测到所述队列表中存在心跳数据超过预设时间阈值仍未被消费的实时任务对象时,重新启动该未被消费的心跳数据对应的实时任务对象。进一步,所述将所述元数据存储至元数据表的同时,还包括:将所述元数据同步至Zookeeper。进一步,在所述将所述元数据存储至元数据表之后,还包括:在检测到Zookeeper中缺少任一队列表中的一个或多个实时任务对象时,在Zookeeper中创建相应的实时任务对象。进一步,还包括:在检测到所述实时任务的元数据发生改变时,更新对应队列中的相应实时任务对象以及Zookeeper中的相应实时任务对象。第二方面,本专利技术实施例提供了一种实时任务调度方法,包括:创建模块,用于根据实时检测到的实时任务的元数据创建实时任务对象,并将所述实时任务对象投递至对应的队列表;消费模块,用于控制消费线程消费对应队列表中处于有效执行时间区间内的实时任务对象。第三方面,本专利技术实施例还提供了一种调度系统,所述调度系统包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如任意实施例所述的实时任务调度方法。第四方面,本专利技术实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行任意实施例所述的实时任务调度方法。本专利技术实施例提供的实时任务调度方法的技术方案,包括:根据实时检测到的实时任务的元数据创建实时任务对象,并将实时任务对象投递至对应的队列表;控制消费线程消费对应队列表中处于有效执行时间区间内的实时任务对象。在检测到实时任务的元数据的同时,创建对应的实时任务对象,提高了实时任务对象创建的实时性;将所创建的实时任务对象投递至对应的队列表,以由相应消费线程消费该队列表中处于有效执行时间区间内的实时任务对象,提高了实时任务对象被消费的有序性,从而提高实时任务调度的效率和吞吐量。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例一提供的实时任务调度方法的流程图;图2是本专利技术实施例二提供的实时任务调度装置的结构框图;图3是本专利技术实施例二提供的实时任务调度装置的结构框图;图4是本专利技术实施例三提供的调度系统的结构框图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚,以下将参照本专利技术实施例中的附图,通过实施方式清楚、完整地描述本专利技术的技术方案,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。实施例一图1是本专利技术实施例一提供的实时任务调度方法的流程图。本实施例的技术方案适用于调度系统自动创建实时任务对象并完成实时任务调度的情况。该方法可以由本专利技术实施例提供的实时任务调度装置来执行,该装置可以采用软件和/或硬件的方式实现,并配置在调度系统的处理器中应用。该方法具体包括如下步骤:S101、根据实时检测到的实时任务的元数据创建实时任务对象,并将实时任务对象投递至对应的队列表。本实施例的调度系统是基于kafka平台搭建的。用户在调度系统的任务发布区发布实时任务,但消费线程不能直接对其进行消费。为此调度系统实时检测任务发布区的实时任务。在任务发布区检测到实时任务时,即对该实时任务的配置文件进行解析以得到相应的元数据,并将元数据存储至元数据表中,然后根据元数据表中的元数据创建实时任务对象,以及将创建的实时任务对象投递至对应的队列表。其中,任务发布区的实时任务可以是用户手动发布的,也可以是调度系统运行过程自动生成的。如下表所示,元数据表自左到右包括队列名称、类、消费线程数、不使用canal工具的数量、输出类型、开关和执行区间。表1元数据表topic_nameclassconsumer_numuncanaloutput_typeswitchbetween_time其中,每个队列表中存储由一个或多个实时任务对象。本实施例中,将队列名称和类作为实时任务的预设主键。如果检测到实时任务的元数据发生变化,则检测元数据表中的预设主键是否存在,即队列名称和类存在,若存在,则对元数据表中的元数据进行更新。示例性的,实时任务发布时限定的消费线程数量为N,发布半分钟后,用户将实时任务的消费线程数重新限定为2N。调度系统检测到实时任务的消费线程数发生变化时,检测该实时任务的元数据表的主键是否存在,如果存在,则对该元数据表中的元数据进行更新,从而使更新后的元数据表中的消费本文档来自技高网...

【技术保护点】
1.一种实时任务调度方法,其特征在于,包括:/n根据实时检测到的实时任务的元数据创建实时任务对象,并将所述实时任务对象投递至对应的队列表;/n控制消费线程消费对应队列表中处于有效执行时间区间内的实时任务对象。/n

【技术特征摘要】
1.一种实时任务调度方法,其特征在于,包括:
根据实时检测到的实时任务的元数据创建实时任务对象,并将所述实时任务对象投递至对应的队列表;
控制消费线程消费对应队列表中处于有效执行时间区间内的实时任务对象。


2.根据权利要求1所述的方法,其特征在于,所述根据实时检测到的实时任务的元数据创建实时任务对象,包括:
对实时检测到的实时任务的配置文件进行解析,以得到实时任务的元数据;
将所述元数据存储至元数据表,并根据所述元数据表中的元数据创建实时任务对象。


3.根据权利要求1所述的方法,其特征在于,所述控制消费线程消费对应队列表中处于有效执行时间区间内的实时任务对象,包括:
控制消费线程执行以下步骤:
确定对应队列表中的目标实时任务对象,以及确定所确定的目标实时任务对象的执行时间区间是否包含当前时刻;
若是,则判定所述目标实时任务对象处于有效执行区间,并对该目标实时任务对象进行消费。


4.根据权利要求1所述的方法,其特征在于,在创建实时任务对象的同时/之后,还包括:
控制守护进程向所述队列表发送心跳数据,以由相应消费线程消费所述心跳数据;
在检测到所述队列表中存在心跳数据超过预设时间阈值仍未被消费的实时任务对象时,重新启动该未被消费的心跳数据对应的实时任务对象。


5.根据权利要求2所述的方法,其特...

【专利技术属性】
技术研发人员:张小军刘磊李灿
申请(专利权)人:微医云杭州控股有限公司
类型:发明
国别省市:浙江;33

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

1