分布式任务调度方法及系统技术方案

技术编号:26259062 阅读:33 留言:0更新日期:2020-11-06 17:53
本发明专利技术实施例公开了一种分布式任务调度方法及系统。方法由分布式调度系统中包括的工作节点执行,分布式调度系统中包括多个主节点,方法包括:定期向至少一个主节点发送参数获取请求,并接收主节点反馈的任务类型和任务负载总量进行本地存储;在检测到新任务处理条件时,根据处理中任务数和任务负载总量计算请求任务数,并根据请求任务数和任务类型,构造任务获取请求;向在多个主节点中确定的第一目标主节点发送任务获取请求,任务获取请求用于指示第一目标主节点获取与请求任务数和任务类型匹配的任务进行反馈。本发明专利技术实施例的技术方案,通过工作节点主动向主节点请求任务类型以及任务数量,减少主节点的计算量,提高系统支持的任务并发度。

【技术实现步骤摘要】
分布式任务调度方法及系统
本专利技术实施例涉及计算机
,尤其涉及一种分布式任务调度方法及系统。
技术介绍
目前,用户在开发应用程序时,需要通过任务调度系统在服务器集群上并行运行应用程序,以完善应用开发。现有技术中,常用的任务调度系统为主从结构的Yarn,但是,Yarn使用起来难度比较大,对开发功底不太好的用户不够友好。并且,对于业务代码逻辑比较简单的应用程序,开发工作量较大,开发效率比较低,同时,由于Yarn在启动任务的时候需要先申请资源,因此主节点的计算量比较重,不仅无法满足高并发的需求,还可能由于主节点故障导致系统宕机。
技术实现思路
本专利技术实施例提供一种分布式任务调度方法及系统,通过工作节点主动向主节点请求任务类型以及任务数量,实现了任务调度的高并发。第一方面,本专利技术实施例提供了一种分布式任务调度方法,方法由分布式调度系统中包括的工作节点执行,分布式调度系统中包括多个主节点,方法包括:定期向至少一个主节点发送参数获取请求,并接收主节点反馈的任务类型和任务负载总量进行本地存储;在检测到新任务处理条件时,根据处理中任务数和任务负载总量,计算请求任务数,并根据请求任务数和任务类型,构造任务获取请求;向在多个主节点中确定的第一目标主节点发送任务获取请求,任务获取请求用于指示第一目标主节点获取与请求任务数和任务类型匹配的任务进行反馈。可选的,还包括:在检测到任务状态上报条件时,获取当前处理的至少一项任务的任务状态信息,任务状态信息中包括:任务标识与任务状态之间的映射关系;向在多个主节点中确定的第二目标主节点发送任务状态信息,任务状态信息用于指示第二目标主节点对接收到的任务状态信息进行存储。可选的,在向在多个主节点中确定的第一目标主节点发送任务获取请求之后,还包括:如果在第一等待时长内未接收到第一目标主节点反馈的任务,则重新在多个主节点中确定新的目标主节点,并重新向新的目标主节点发送任务获取请求;和/或如果在第二等待时长内未收到第二目标主节点反馈的任务状态更新成功响应,则重新在多个主节点中确定新的目标主节点,并重新向新的目标主节点发送当前的任务状态信息。第二方面,本专利技术实施例还提供了一种分布式任务调度方法,方法由分布式调度系统中包括的主节点执行,分布式调度系统中包括多个主节点,方法包括:根据第一目标工作节点发送的参数获取请求,查询元数据库,获取与参数获取请求匹配的任务类型以及任务负载总量反馈给第一目标工作节点;其中,元数据库中存储有工作节点与节点参数之间的映射关系,映射关系为用户通过前端操作平台写入元数据库中的;节点参数包括:任务类型以及任务负载总量;根据第二目标工作节点发送的任务获取请求,提取与任务获取请求匹配的目标任务请求数以及目标任务类型;获取与目标任务请求数以及目标任务类型匹配的任务反馈给第二目标节点。可选的,获取与目标任务请求数以及目标任务类型匹配的任务反馈给第二目标节点,包括:根据目标任务类型,查询状态数据库,获取与目标任务类型匹配的目标待分配任务列表;状态数据库中存储有与各任务类型分别对应的待分配任务标识列表;在目标待分配任务列表中,获取与目标任务请求数匹配的任务标识集合;向元数据库中请求与任务标识集合匹配的任务的元数据,并将任务的元数据反馈给第二目标工作节点,元数据库中存储有任务标识与任务的元数据之间的映射关系。可选的,还包括:根据第三目标工作节点发送的状态上报信息,查询状态数据库,获取与第三目标工作节点匹配的目标当前执行任务标识集合和目标已分配任务状态集合;其中,状态数据库中存储有与各工作节点分别对应的当前执行任务标识集合和已分配任务状态集合;在状态上报信息中,提取任务状态为结束的各任务标识,并将各任务标识从目标当前执行任务标识集合中移除;根据状态上报信息中包括的各任务标识的任务状态,更新目标已分配任务状态集合,并在更新结果中加入状态上报信息的心跳时间戳;和/或在向元数据库中请求与任务标识集合匹配的任务的元数据,并将任务的元数据反馈给第二目标工作节点之后,还包括:根据任务标识集合,更新与第二目标节点对应的当前执行任务标识集合和已分配任务状态集合。第三方面,本专利技术实施例还提供了一种分布式任务调度系统,包括:多个工作节点、多个主节点、状态数据库以及元数据库,主节点,分别与各工作节点、状态数据库以及元数据库通信连接,其中:工作节点,用于执行如本专利技术任意实施例提供的应用于工作节点的分布式任务调度方法;主节点,用于执行如本专利技术任意实施例提供的应用于主节点的分布式任务调度方法;状态数据库,用于存储与各任务类型分别对应的待分配任务标识列表、与各工作节点分别对应的当前执行任务标识集合以及已分配任务状态集合;元数据库,用于存储任务标识与任务的元数据之间的映射关系,以及工作节点与节点参数之间的映射关系,节点参数包括:任务类型以及任务负载总量。可选的,还包括:前端操作平台,前端操作平台分别与元数据库以及状态数据库通信连接;前端操作平台,用于根据用户在可视化的任务操作界面中配置的任务参数,生成与任务参数匹配的多个任务的元数据,并将任务的元数据和任务标识之间的对应关系存储至元数据库中;根据用户在任务操作界面配置的至少一项任务类型,确定与各任务分别对应的任务类型,并将任务类型与任务标识之间的对应关系存储于状态数据库中。可选的,前端操作平台还用于:根据用户在任务操作界面配置的节点参数配置信息,生成工作节点与节点参数之间的映射关系,并将映射关系存储于元数据库中;其中,节点参数包括:任务类型以及任务负载总量。可选的,前端操作平台还用于:响应于用户在任务操作界面中输入的针对目标任务的状态查询请求,从元数据库中获取与目标任务匹配的目标元数据,并从状态数据库的各已分配任务状态集合中,获取与目标任务匹配的当前任务状态以及最近一次更新状态时的心跳时间戳,进行可视化显示;和/或前端操作平台还用于:响应于用户在任务操作界面中输入的针对目标工作节点输入的状态查询请求,从状态数据库中,获取与目标工作节点匹配的当前执行任务标识集合以及已分配任务状态集合,进行可视化显示。本专利技术实施例提供了一种分布式任务调度方法及系统,工作节点定期向至少一个主节点发送参数获取请求,并接收主节点反馈的任务类型和任务负载总量进行本地存储,在检测到新任务处理条件时,根据处理中任务数和任务负载总量,计算请求任务数,并根据请求任务数和任务类型,构造任务获取请求;向在多个主节点中确定的第一目标主节点发送任务获取请求,任务获取请求用于指示第一目标主节点获取与请求任务数和任务类型匹配的任务进行反馈,解决了现有技术中主节点主动为工作节点分配任务时计算量较大,无法满足高并发需求的问题,通过工作节点主动向主节点请求任务类型以及任务数量,减少主节点的计算量,提高系统本文档来自技高网...

【技术保护点】
1.一种分布式任务调度方法,其特征在于,所述方法由分布式调度系统中包括的工作节点执行,所述分布式调度系统中包括多个主节点,所述方法包括:/n定期向至少一个主节点发送参数获取请求,并接收所述主节点反馈的任务类型和任务负载总量进行本地存储;/n在检测到新任务处理条件时,根据处理中任务数和所述任务负载总量,计算请求任务数,并根据所述请求任务数和所述任务类型,构造任务获取请求;/n向在所述多个主节点中确定的第一目标主节点发送所述任务获取请求,所述任务获取请求用于指示所述第一目标主节点获取与所述请求任务数和所述任务类型匹配的任务进行反馈。/n

【技术特征摘要】
1.一种分布式任务调度方法,其特征在于,所述方法由分布式调度系统中包括的工作节点执行,所述分布式调度系统中包括多个主节点,所述方法包括:
定期向至少一个主节点发送参数获取请求,并接收所述主节点反馈的任务类型和任务负载总量进行本地存储;
在检测到新任务处理条件时,根据处理中任务数和所述任务负载总量,计算请求任务数,并根据所述请求任务数和所述任务类型,构造任务获取请求;
向在所述多个主节点中确定的第一目标主节点发送所述任务获取请求,所述任务获取请求用于指示所述第一目标主节点获取与所述请求任务数和所述任务类型匹配的任务进行反馈。


2.根据权利要求1所述的方法,其特征在于,还包括:
在检测到任务状态上报条件时,获取当前处理的至少一项任务的任务状态信息,所述任务状态信息中包括:任务标识与任务状态之间的映射关系;
向在所述多个主节点中确定的第二目标主节点发送所述任务状态信息,所述任务状态信息用于指示所述第二目标主节点对接收到的任务状态信息进行存储。


3.根据权利要求1或2所述的方法,其特征在于,在向在所述多个主节点中确定的第一目标主节点发送所述任务获取请求之后,还包括:
如果在第一等待时长内未接收到所述第一目标主节点反馈的任务,则重新在所述多个主节点中确定新的目标主节点,并重新向所述新的目标主节点发送所述任务获取请求;和/或
如果在第二等待时长内未收到所述第二目标主节点反馈的任务状态更新成功响应,则重新在所述多个主节点中确定新的目标主节点,并重新向所述新的目标主节点发送当前的任务状态信息。


4.一种分布式任务调度方法,其特征在于,所述方法由分布式调度系统中包括的主节点执行,所述分布式调度系统中包括多个主节点,所述方法包括:
根据第一目标工作节点发送的参数获取请求,查询元数据库,获取与所述参数获取请求匹配的任务类型以及任务负载总量反馈给所述第一目标工作节点;
其中,元数据库中存储有工作节点与节点参数之间的映射关系,所述映射关系为用户通过前端操作平台写入所述元数据库中的;所述节点参数包括:任务类型以及任务负载总量;
根据第二目标工作节点发送的任务获取请求,提取与所述任务获取请求匹配的目标任务请求数以及目标任务类型;
获取与所述目标任务请求数以及目标任务类型匹配的任务反馈给所述第二目标节点。


5.根据权利要求4所述的方法,其特征在于,获取与所述目标任务请求数以及目标任务类型匹配的任务反馈给所述第二目标节点,包括:
根据所述目标任务类型,查询状态数据库,获取与所述目标任务类型匹配的目标待分配任务列表;所述状态数据库中存储有与各任务类型分别对应的待分配任务标识列表;
在所述目标待分配任务列表中,获取与所述目标任务请求数匹配的任务标识集合;
向元数据库中请求与所述任务标识集合匹配的任务的元数据,并将所述任务的元数据反馈给所述第二目标工作节点,所述元数据库中存储有任务标识与任务的元数据之间的映射关系。


6.根据权利要求5所述的方法,其特征在于,还包括:
根据...

【专利技术属性】
技术研发人员:黄强曾耀武
申请(专利权)人:广州虎牙科技有限公司
类型:发明
国别省市:广东;44

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

1