[发明专利]一种基于状态机的任务调度方法在审
申请号: | 201911185466.2 | 申请日: | 2019-11-27 |
公开(公告)号: | CN112860389A | 公开(公告)日: | 2021-05-28 |
发明(设计)人: | 张杨 | 申请(专利权)人: | 上海哔哩哔哩科技有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50 |
代理公司: | 北京英特普罗知识产权代理有限公司 11015 | 代理人: | 程超 |
地址: | 200433 上海市*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 状态机 任务 调度 方法 | ||
本发明提供一种基于状态机的任务调度方法,包括以下步骤:S1:主节点接收待处理任务,根据预设的状态机规则设置所述待处理任务的第一当前状态和相对应的第一触发动作,其中所述第一触发动作是响应于所述第一当前状态的切换而启动的;S2:根据所述第一触发动作的执行结果,调整所述待处理任务的所述第一当前状态和相应的第一触发动作;S3:当所述第一触发动作的执行结果为目标结果时,设置所述待处理任务的第二当前状态和相对应的第二触发动作;S4:根据所述第二触发动作的执行结果,调整所述待处理任务的所述第二当前状态和相应的第二触发动作;S5:当所述第二当前状态为终止状态时,结束所述待处理任务的状态机。
技术领域
本发明涉及分布式任务调度技术领域,特别涉及一种基于状态机的任务调度方法、装置、计算机设备及计算机可读存储介质。
背景技术
随着计算机技术的不断发展,目前在互联网应用或者企业级应用中,充斥着大量的批处理任务。为了满足业务系统的需求,现有技术往往会采用分布式调度系统来解决问题。然而,当应用复杂度升高、定时任务数量增多且任务之间存在依赖关系时,现有的任务调度系统会产生一系列的问题,例如任务的生命周期无法统一协调管理,任务之间存在依赖关系时难以编排等,使得管理配置非常混乱,严重影响工作效率。
发明内容
本发明的目的是提供一种基于状态机的任务调度方法,以解决现有技术中存在的上述缺陷。
为实现上述目的,本发明提供了一种基于状态机的任务调度方法,包括以下步骤:
S1:主节点接收待处理任务,根据预设的状态机规则设置所述待处理任务的第一当前状态和相对应的第一触发动作,其中所述第一触发动作是响应于所述第一当前状态的切换而启动的;
S2:根据所述第一触发动作的执行结果,调整所述待处理任务的所述第一当前状态和相应的第一触发动作;
S3:当所述第一触发动作的执行结果为目标结果时,设置所述待处理任务的第二当前状态和相对应的第二触发动作;
S4:根据所述第二触发动作的执行结果,调整所述待处理任务的所述第二当前状态和相应的第二触发动作;
S5:当所述第二当前状态为终止状态时,结束所述待处理任务的状态机。
根据本发明提供的任务调度方法,其中,所述步骤S1包括:
主节点接收待处理任务,将所述待处理任务设置为初始化状态,并执行任务依赖检查动作,所述依赖检查动作用于确定与所述待处理任务有依赖关系的上游任务是否已经完成;
所述步骤S2包括:
若所述依赖检查动作确定所述上游任务已经完成,将所述待处理任务设置为排队状态,并启动从节点资源检查动作;其中,所述从节点资源检查动作用于确定当前是否存在可用的从节点;
若所述依赖检查动作确定所述上游任务没有完成,将所述待处理任务设置为等待状态,并启动自旋动作;其中,所述自旋动作用于再次确定与所述待处理任务有依赖关系的上游任务是否已经完成。
根据本发明提供的任务调度方法,其中,所述步骤S2还包括:
若所述自旋动作确定与所述待处理任务有依赖关系的上游任务已经完成,将所述待处理任务设置为排队状态。
根据本发明提供的任务调度方法,其中,所述步骤S3包括:
当所述从节点资源检查动作确定当前存在可用的从节点时,将所述待处理任务设置为运行状态,并启动任务下发动作,用于将所述待处理任务下发给所述可用的从节点进行计算。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海哔哩哔哩科技有限公司,未经上海哔哩哔哩科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911185466.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:消息分发方法
- 下一篇:激光雷达、激光探测方法和包括该激光雷达的车辆