任务调度方法、装置、主节点及存储介质制造方法及图纸

技术编号:36399053 阅读:12 留言:0更新日期:2023-01-18 10:05
本发明专利技术涉及任务调度技术领域,提供了一种任务调度方法、装置、主节点及存储介质,应用于任务调度集群中的主节点,任务调度集群还包括从节点,主节点还与存储集群和协调集群通信连接,所述方法包括:接收协调集群发送离线通知消息,离线通知消息是协调集群检测到任一从节点离线时发送至主节点的;获取存储集群中预先存储的离线从节点的任务处理队列;将任务处理队列中的任务转移至存储集群中预先存储的等待队列,以使任务调度集群中除离线从节点之外的其他节点消费任务处理队列中的任务。本发明专利技术能够在一个节点发生故障时保证任务调度的可靠性。靠性。靠性。

【技术实现步骤摘要】
任务调度方法、装置、主节点及存储介质


[0001]本专利技术涉及任务调度
,具体而言,涉及一种任务调度方法、装置、主节点及存储介质。

技术介绍

[0002]服务器后端应用开发中,大量的功能依赖于定时任务实现业务数据的批量计算、处理。为了提高处理速度往往会使用一些分布式的任务调度方案,实现多个节点分工并行处理。现有技术中虽然实现了分工并行处理,但是在一个节点发生故障时,任务调度的可靠性难以保证。

技术实现思路

[0003]本专利技术的目的在于提供了一种任务调度方法、装置、主节点及存储介质,其能够在一个节点发生故障时保证任务调度的可靠性。
[0004]为了实现上述目的,本专利技术采用的技术方案如下:
[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]图1为本专利技术实施例提供的RocketMQ的框架示例图。
[0037]图2为本专利技术实施例提供的应用场景的示例图。
[0038]图3为本专利技术实施例提供的主节点的方框示意图。
[0039]图4为本专利技术实施例提供的任务调度方法流程示例图一。
[0040]图5是本专利技术实施例提供的任务分解和依赖任务的示例图。
[0041]图6为本专利技术实施例提供任务生产的示例图。
[0042]图7为本专利技术实施例提供的任务消费的示例图。
[0043]图8为本专利技术实施例提供的任务处理的示例图。
[0044]图9为本专利技术实施例提供的任务转移的示例图。
[0045]图10为本专利技术实施例提供的任务调度装置的方框示意图。
[0046]图标:10

主节点;11

处理器;12

存储器;13

总线;14

通信接口;20

从节点;30

协调集群;40

存储集群;100

任务调度装置;110

接收模块;120

获取模块;130

调度模块。
具体实施方式
[0047]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本专利技术实施例的组件可以以各种不同的配置来布置和设计。
[0048]因此,以下对在附图中提供的本专利技术的实施例的详细描述并非旨在限制要求保护的本专利技术的范围,而是仅仅表示本专利技术的选定实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0049]应注意到:相似的标号和字本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种任务调度方法,其特征在于,应用于任务调度集群中的主节点,所述任务调度集群还包括从节点,所述主节点还与存储集群和协调集群通信连接,所述方法包括:接收所述协调集群发送离线通知消息,所述离线通知消息是所述协调集群检测到任一所述从节点离线时发送至所述主节点的;获取所述存储集群中预先存储的离线从节点的任务处理队列;将所述任务处理队列中的任务转移至所述存储集群中预先存储的等待队列,以使所述任务调度集群中除所述离线从节点之外的其他节点消费所述任务处理队列中的任务。2.如权利要求1所述的任务调度方法,其特征在于,所述方法还包括:为所述任务处理队列中的任务设置失效转移标识;将所述失效转移标识存储至所述存储集群中预先存储的任务属性表中。3.如权利要求2所述的任务调度方法,其特征在于,所述方法还包括:从所述等待队列中取出待处理任务;若所述待处理任务设置有失效转移标识,则对所述待处理任务的数据进行回滚;执行所述待处理任务。4.如权利要求3所述的任务调度方法,其特征在于,所述方法还包括:若所述待处理任务未设置有失效转移标识,则执行所述待处理任务。5.如权利要求3所述的任务调度方法,其特征在于,所述方法还包括:通过执行所述待处理任务生成子任务;将所述子任务入队至所述等待队列、并将所述待处理任务的子任务的个数更新至所述存储集群预先存储的任务属性表中。6.如权利要求5所述的任务调度方法,其特征在于,所述将所述子任务入队至所述等待队列、并将所述待处理任务的子任务的个数更新至所述存储集群预先存储的任务属性表中的步骤包括:生成将所述子任务入队至所述等待队列的第一数据库指令;生...

【专利技术属性】
技术研发人员:马力
申请(专利权)人:多点生活武汉科技有限公司
类型:发明
国别省市:

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

1