[发明专利]分布式任务调度方法、系统、设备以及介质在审
申请号: | 201811592149.8 | 申请日: | 2018-12-25 |
公开(公告)号: | CN109656706A | 公开(公告)日: | 2019-04-19 |
发明(设计)人: | 徐杰 | 申请(专利权)人: | 江苏满运软件科技有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 上海隆天律师事务所 31282 | 代理人: | 臧云霄;崔祥 |
地址: | 210012 江苏省南京市*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 任务节点 任务请求 任务调度 调度器 客户端 结果反馈 名称匹配 统一调度 选择策略 匹配 指令 响应 配置 通信 服务 | ||
本发明公开了一种分布式任务调度方法、系统、设备以及介质,包括:接收一由客户端发出的任务请求,任务请求中包括任务名称;响应于任务请求,根据任务名称匹配一执行器,执行器中连有至少一个用于执行与任务名称对应的任务的执行节点;根据一选择策略获得一个与执行器相连的执行节点作为任务节点;向任务节点下发一执行指令,以使得任务节点执行任务名称对应的任务;接收任务节点发出的执行结果,并将执行结果反馈至客户端。本发明通过调度器来实现任务的统一调度,执行器实现与多个任务节点的通信并且控制各个任务节点的执行;通过调度器的同一配置,能够快速高效的匹配得到任务节点,从而提供相应服务。
技术领域
本发明涉及的是一种任务调度领域,更具体的说,涉及一种分布式任务调度方法、系统、设备以及介质。
背景技术
现有的任务调度采用的分布式框架为light-task-scheduler(LTS),其依赖zookeeper或redis作为注册中心的分布式调度框架,较为笨重,部署成本较高,缺少失败告警机制。而另一种分布式定时框架Elastic-Job,同样是基于zookeeper的解决方案,部署成本较高,管理界面功能简单,灵活性较差,缺少失败告警机制。
发明内容
针对现有技术存在的问题,本发明的目的在于提供一种分布式任务调度方法、系统、设备以及介质,包括调度器和执行器,通过调度器来实现任务的统一调度,执行器实现与多个任务节点的通信并且控制各个任务节点的执行;集群中的单个设备可以布置单个任务节点或者多个任务节点,实现了任务节点的灵活配置;通过调度器的同一配置,能够快速高效的匹配得到任务节点,从而提供相应服务。
根据本发明的一个方面,提供一种分布式任务调度方法,包括:
接收一由客户端发出的任务请求,所述任务请求中包括任务名称;
响应于所述任务请求,根据所述任务名称匹配一执行器,所述执行器中连有至少一个用于执行与所述任务名称对应的任务的执行节点;
根据一选择策略获得一个与所述执行器相连的所述执行节点作为任务节点;
向所述任务节点下发一执行指令,以使得所述任务节点执行所述任务名称对应的任务;
接收所述任务节点发出的执行结果,并将所述执行结果反馈至所述客户端。
优选的,所述选择策略具体包括以下步骤:
提取存储于所述执行器中的节点列表,所述节点列表中包括所述执行节点的节点地址;
于所述节点列表中获取一个所述节点地址;
根据所述节点地址对所述执行节点进行心跳检测;
若所述执行节点通过所述心跳检测,则将所述执行节点作为所述任务节点。
优选的,所述于所述节点列表中获取一个所述节点地址具体包括:
将所述节点列表中的每一所述节点地址映射于一节点编号;
将所述节点编号组成一编号队列;
在所述编号队列中随机选取一个所述节点编号;
从所述节点列表中提取随机选取的所述节点编号对应的所述节点地址。
优选的,所述于所述节点列表中获取一个所述节点地址具体包括:
根据所述节点列表中的所述节点地址获取每一所述执行节点的当前任务总数;
根据所述当前任务总数从小到大对所述执行节点进行排序,获取一执行队列;
从所述节点列表中提取所述执行队列中位于队首的所述执行节点的所述节点地址。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江苏满运软件科技有限公司,未经江苏满运软件科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811592149.8/2.html,转载请声明来源钻瓜专利网。