The invention discloses a distributed task scheduling method, system, device and medium, which includes: receiving a task request sent by a client, including a task name in the task request; matching an executor according to the task name in response to the task request, the executor is connected with at least one executing node for executing the task corresponding to the task name; and according to a selection strategy. An execution node connected with the executor is obtained as the task node; an execution instruction is sent to the task node to enable the task node to perform the task corresponding to the task name; and the execution result sent by the task node is received and fed back to the client. The invention realizes the unified scheduling of tasks by a scheduler, which realizes communication with multiple task nodes and controls the execution of each task node. By the same configuration of the scheduler, the task nodes can be matched quickly and efficiently to provide corresponding services.
【技术实现步骤摘要】
分布式任务调度方法、系统、设备以及介质
本专利技术涉及的是一种任务调度领域,更具体的说,涉及一种分布式任务调度方法、系统、设备以及介质。
技术介绍
现有的任务调度采用的分布式框架为light-task-scheduler(LTS),其依赖zookeeper或redis作为注册中心的分布式调度框架,较为笨重,部署成本较高,缺少失败告警机制。而另一种分布式定时框架Elastic-Job,同样是基于zookeeper的解决方案,部署成本较高,管理界面功能简单,灵活性较差,缺少失败告警机制。
技术实现思路
针对现有技术存在的问题,本专利技术的目的在于提供一种分布式任务调度方法、系统、设备以及介质,包括调度器和执行器,通过调度器来实现任务的统一调度,执行器实现与多个任务节点的通信并且控制各个任务节点的执行;集群中的单个设备可以布置单个任务节点或者多个任务节点,实现了任务节点的灵活配置;通过调度器的同一配置,能够快速高效的匹配得到任务节点,从而提供相应服务。根据本专利技术的一个方面,提供一种分布式任务调度方法,包括:接收一由客户端发出的任务请求,所述任务请求中包括任务名称;响应于 ...
【技术保护点】
1.一种分布式任务调度方法,其特征在于,包括:接收一由客户端发出的任务请求,所述任务请求中包括任务名称;响应于所述任务请求,根据所述任务名称匹配一执行器,所述执行器中连有至少一个用于执行与所述任务名称对应的任务的执行节点;根据一选择策略获得一个与所述执行器相连的所述执行节点作为任务节点;向所述任务节点下发一执行指令,以使得所述任务节点执行所述任务名称对应的任务;接收所述任务节点发出的执行结果,并将所述执行结果反馈至所述客户端。
【技术特征摘要】
1.一种分布式任务调度方法,其特征在于,包括:接收一由客户端发出的任务请求,所述任务请求中包括任务名称;响应于所述任务请求,根据所述任务名称匹配一执行器,所述执行器中连有至少一个用于执行与所述任务名称对应的任务的执行节点;根据一选择策略获得一个与所述执行器相连的所述执行节点作为任务节点;向所述任务节点下发一执行指令,以使得所述任务节点执行所述任务名称对应的任务;接收所述任务节点发出的执行结果,并将所述执行结果反馈至所述客户端。2.根据权利要求1所述的分布式任务调度方法,其特征在于,所述选择策略具体包括以下步骤:提取存储于所述执行器中的节点列表,所述节点列表中包括所述执行节点的节点地址;于所述节点列表中获取一个所述节点地址;根据所述节点地址对所述执行节点进行心跳检测;若所述执行节点通过所述心跳检测,则将所述执行节点作为所述任务节点。3.根据权利要求2所述的分布式任务调度方法,其特征在于,所述于所述节点列表中获取一个所述节点地址具体包括:将所述节点列表中的每一所述节点地址映射于一节点编号;将所述节点编号组成一编号队列;在所述编号队列中随机选取一个所述节点编号;从所述节点列表中提取随机选取的所述节点编号对应的所述节点地址。4.根据权利要求2所述的分布式任务调度方法,其特征在于,所述于所述节点列表中获取一个所述节点地址具体包括:根据所述节点列表中的所述节点地址获取每一所述执行节点的当前任务总数;根据所述当前任务总数从小到大对所述执行节点进行排序,获取一执行队列;从所述节点列表中提取所述执行队列中位于队首的所述执行节点的所述节点地址。5.根据权利要求1所述的分布式任务调度方法,其特征在于,若所述任务节点执行所述任务名称...
【专利技术属性】
技术研发人员:徐杰,
申请(专利权)人:江苏满运软件科技有限公司,
类型:发明
国别省市:江苏,32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。