分发及获取任务的方法、装置、存储介质、电子设备制造方法及图纸

技术编号:28464266 阅读:30 留言:0更新日期:2021-05-15 21:30
本公开实施例提供了一种分发及获取任务的方法、装置、存储介质、电子设备,分发任务的方法包括:主控节点与各个工作节点分别建立gRPC链接;主控节点基于gRPC链接接收工作节点按照预定周期发送的心跳数据,其中,心跳数据携带有工作节点的当前工作状态及任务执行策略参数;主控节点根据心跳数据为工作节点分发任务。本公开实施例的整个过程不需要主控节点具有复杂的逻辑,其工作逻辑是直接根据工作节点的心跳数据分发任务即可,无论工作节点增加多少,以及是否存在特殊需求的工作节点,都不需要改变主控节点的工作逻辑,极大的降低了开发和管理难度,提升了系统性能。提升了系统性能。提升了系统性能。

【技术实现步骤摘要】
分发及获取任务的方法、装置、存储介质、电子设备


[0001]本公开涉及数据交互领域,特别涉及一种分发及获取任务的方法、装置、存储介质、电子设备。

技术介绍

[0002]传统的分布式任务系统由主控节点(设备)负责分发任务给工作节点(设备),工作节点接收任务后执行,在任务执行完成后等待主控节点的下一次分发。
[0003]当任务量较大而扩充工作节点的数量后,主控节点的分发策略通常要随之变动,主控节点逻辑变得复杂,一旦遇到有特殊定制需求的工作节点,主控节点的逻辑将会更加复杂,需要耗费大量的人力维护主控节点的逻辑,主控节点具有较大的开发及管理难度;当分发任务时,同一任务很有可能被分配到不同工作节点重复执行,系统性能较低。

技术实现思路

[0004]有鉴于此,本公开实施例提出了一种分发及获取任务的方法、装置、存储介质、电子设备,用以解决现有技术的如下问题:当任务量较大而扩充工作节点的数量后,主控节点的分发策略通常要随之变动,主控节点逻辑变得复杂,需要耗费大量的人力维护主控节点的逻辑,主控节点具有较大的开发及管理难度。
[0005]一方面,本公开实施例提出了一种分发任务的方法,包括:主控节点与各个工作节点分别建立gRPC链接;所述主控节点基于所述gRPC链接接收工作节点按照预定周期发送的心跳数据,其中,所述心跳数据携带有所述工作节点的当前工作状态及任务执行策略参数;所述主控节点根据所述心跳数据为所述工作节点分发任务。
[0006]在一些实施例中,所述主控节点根据所述心跳数据为所述工作节点分发任务,包括:所述主控节点检测所述工作节点的所述当前工作状态是否为未执行任务;在所述当前工作状态为未执行任务的情况下,所述主控节点根据所述任务执行策略参数为所述工作节点分发任务。
[0007]在一些实施例中,所述主控节点根据所述心跳数据为所述工作节点分发任务之后,还包括:所述主控节点在所述任务所在的任务数据表中修改所述任务的执行状态。
[0008]在一些实施例中,所述主控节点根据所述心跳数据为所述工作节点分发任务之后,还包括:所述主控节点基于所述gRPC链接接收来自所述工作节点的任务执行结果数据,其中,所述任务执行结果数据至少包括:任务的编号和当前执行状态;所述主控节点基于所述任务的编号查找所述任务所在的任务数据表,根据所述当前执行状态修改所述任务数据表中所述任务的执行状态。
[0009]另一方面,本公开实施例提出了一种获取任务的方法,包括:工作节点与主控节点建立gRPC链接;所述工作节点基于所述gRPC链接按照预定周期向所述主控节点发送心跳数据,其中,所述心跳数据携带有所述工作节点的当前工作状态及任务执行策略参数;所述工作节点接收所述主控节点根据所述心跳数据分发的任务,并执行所述任务。
[0010]在一些实施例中,所述执行所述任务之后,还包括:所述工作节点基于所述gRPC链接向所述主控节点发送任务执行结果数据,其中,所述任务执行结果数据至少包括:任务的编号和当前执行状态。
[0011]另一方面,本公开实施例提出了一种分发任务的装置,包括:第一建链模块,用于使主控节点与各个工作节点分别建立gRPC链接;第一接收模块,用于基于所述gRPC链接接收工作节点按照预定周期发送的心跳数据,其中,所述心跳数据携带有所述工作节点的当前工作状态及任务执行策略参数;分发模块,用于根据所述心跳数据为所述工作节点分发任务。
[0012]在一些实施例中,所述分发模块,具体用于:检测所述工作节点的所述当前工作状态是否为未执行任务;在所述当前工作状态为未执行任务的情况下,根据所述任务执行策略参数为所述工作节点分发任务。
[0013]在一些实施例中,还包括:第一修改模块,用于在所述任务所在的任务数据表中修改所述任务的执行状态。
[0014]在一些实施例中,还包括:第二接收模块,用于基于所述gRPC链接接收来自所述工作节点的任务执行结果数据,其中,所述任务执行结果数据至少包括:任务的编号和当前执行状态;第二修改模块,用于基于所述任务的编号查找所述任务所在的任务数据表,根据所述当前执行状态修改所述任务数据表中所述任务的执行状态。
[0015]另一方面,本公开实施例提出了一种获取任务的装置,包括:第二建链模块,用于工作节点与主控节点建立gRPC链接;第一发送模块,用于基于所述gRPC链接按照预定周期向所述主控节点发送心跳数据,其中,所述心跳数据携带有所述工作节点的当前工作状态及任务执行策略参数;第三接收模块,用于接收所述主控节点根据所述心跳数据分发的任务;执行模块,用于执行所述任务。
[0016]在一些实施例中,还包括:第二发送模块,用于在执行完所述任务后,基于所述gRPC链接向所述主控节点发送任务执行结果数据,其中,所述任务执行结果数据至少包括:任务的编号和当前执行状态。
[0017]另一方面,本公开实施例提出了一种存储介质,存储有计算机程序,计算机程序被处理器执行时实现本公开任意实施例提供的方法。
[0018]另一方面,本公开实施例提出了一种电子设备,至少包括存储器、处理器,存储器上存储有计算机程序,处理器在执行存储器上的计算机程序时实现本公开任意实施例提供的方法。
[0019]本公开实施例主控节点和各个工作节点之间建立了gRPC链接,工作节点基于gRPC链接可以发送心跳数据,使得主控节点可以知晓工作节点当前工作状态及任务执行策略参数,进而主控节点可以根据当前工作状态及任务执行策略参数为工作节点分发任务。本公开实施例的整个过程不需要主控节点具有复杂的逻辑,其工作逻辑是直接根据工作节点的心跳数据分发任务即可,无论工作节点增加多少,以及是否存在特殊需求的工作节点,都不需要改变主控节点的工作逻辑,极大的降低了开发和管理难度,提升了系统性能。
附图说明
[0020]为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现
有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0021]图1为本公开第一实施例提供的分发任务的方法的流程图;
[0022]图2为本公开第一实施例提供的获取任务的方法的流程图;
[0023]图3为本公开第一实施例提供的主控节点与工作节点交互示意图;
[0024]图4为本公开第二实施例提供的分发任务的装置的结构示意图;
[0025]图5为本公开第二实施例提供的获取任务的装置的结构示意图;
[0026]图6为本公开第四实施例提供的电子设备的结构示意图。
具体实施方式
[0027]为了使得本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分发任务的方法,其特征在于,包括:主控节点与各个工作节点分别建立gRPC链接;所述主控节点基于所述gRPC链接接收工作节点按照预定周期发送的心跳数据,其中,所述心跳数据携带有所述工作节点的当前工作状态及任务执行策略参数;所述主控节点根据所述心跳数据为所述工作节点分发任务。2.如权利要求1所述的方法,其特征在于,所述主控节点根据所述心跳数据为所述工作节点分发任务,包括:所述主控节点检测所述工作节点的所述当前工作状态是否为未执行任务;在所述当前工作状态为未执行任务的情况下,所述主控节点根据所述任务执行策略参数为所述工作节点分发任务。3.如权利要求1或2所述的方法,其特征在于,所述主控节点根据所述心跳数据为所述工作节点分发任务之后,还包括:所述主控节点在所述任务所在的任务数据表中修改所述任务的执行状态。4.如权利要求3所述的方法,其特征在于,所述主控节点根据所述心跳数据为所述工作节点分发任务之后,还包括:所述主控节点基于所述gRPC链接接收来自所述工作节点的任务执行结果数据,其中,所述任务执行结果数据至少包括:任务的编号和当前执行状态;所述主控节点基于所述任务的编号查找所述任务所在的任务数据表,根据所述当前执行状态修改所述任务数据表中所述任务的执行状态。5.一种获取任务的方法,其特征在于,包括:工作节点与主控节点建立gRPC链接;所述工作节点基于所述gRPC链接按照预定周期向所述主控节点发送心跳数据,其中,所述心跳数据携带有所述工作节点的当前工作状态及任务执行策略参数;所述工作节点接收所述主控节点根据所述心跳数据...

【专利技术属性】
技术研发人员:张宁
申请(专利权)人:京东方科技集团股份有限公司
类型:发明
国别省市:

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

1