[发明专利]一种任务调度方法、装置及服务器、存储介质在审
申请号: | 201910625536.5 | 申请日: | 2019-07-11 |
公开(公告)号: | CN112214289A | 公开(公告)日: | 2021-01-12 |
发明(设计)人: | 林佳涛;吕远方 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 郝传鑫;熊永强 |
地址: | 518057 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 任务 调度 方法 装置 服务器 存储 介质 | ||
本发明实施例公开了一种任务调度方法、装置及服务器、存储介质,其中所述方法包括:调用调度器对预构建的有向无环图运行图进行拓扑排序,以从有向无环图运行图包括的至少一个任务节点中确定出待执行任务节点;若待执行任务节点不为终止节点,则通过调用处理接口执行待执行任务节点对应的目标业务中的业务子流程,当接收到处理接口返回的业务子流程执行结果时,触发该调度器执行对预构建的有向无环图运行图进行拓扑排序,以从有向无环图运行图包括的至少一个任务节点中确定出待执行任务节点的步骤。采用本发明实施例,不仅可以提高对资源的利用率,还可以直观了解各业务子流程之间的执行关系,有利于降低任务调度的维护成本。
技术领域
本申请涉及计算机技术领域,尤其涉及一种任务调度方法、装置及服务器、存储介质。
背景技术
目前,任务调度模型包括同步阻塞模型和异步非阻塞模型,其中,同步阻塞模型通常将实际流程的执行限定为只能同步串行执行,限制了程序的处理能力,从而限制了对资源的利用率;异步非阻塞模型,例如异步编程模型promise/future模型,其中,future表示一个可能还没有实际完成的异步任务结果,promise表示异步抽象处理对象,promise/future模型通过分离任务执行者和任务结果接收者实现异步执行过程,任务执行者持有promise,结果接收者持有代表结果的future,当任务执行者完成任务时,future生效,接收者可以获取到结果。但这种模型割裂了目标业务中各执行过程之间关系,无法直观了解业务子流程之间的关系以及执行的过程,由于任务调度需要支持的业务场景比较复杂,采用异步编程模型进行任务调度,维护成本相对较高。
因此,如何提高资源的利用率的同时,降低模型的维护成本,成为一个亟待解决的问题。
发明内容
本发明实施例提供了一种任务调度方法、装置及服务器、存储介质,基于有向无环图运行图对应的拓扑排序执行目标业务中的各业务子流程,不仅可以提高对资源的利用率,还可以直观了解各业务子流程之间的执行关系,有利于降低任务调度的维护成本。
一方面,本发明实施例提供了一种任务调度方法,包括:
调用调度器对预构建的有向无环图运行图进行拓扑排序,以从所述有向无环图运行图包括的至少一个任务节点中确定出待执行任务节点,所述有向无环图运行图是基于有向无环图描述信息构建的;
若所述待执行任务节点不为终止节点,则通过调用处理接口执行所述待执行任务节点对应的目标业务中的业务子流程;
当接收到所述处理接口返回的业务子流程执行结果时,触发所述调度器执行所述对预构建的有向无环图运行图进行拓扑排序,以从所述有向无环图运行图包括的至少一个任务节点中确定出待执行任务节点的步骤。
另一方面,本发明实施例提供了一种任务调度装置,包括:
排序模块,用于调用调度器对预构建的有向无环图有向无环图运行图进行拓扑排序,以从所述有向无环图运行图包括的至少一个任务节点中确定出待执行任务节点,所述有向无环图运行图是基于有向无环图描述信息构建的;
处理模块,用于若检测到所述待执行任务节点不为终止节点,则通过调用处理接口执行所述待执行任务节点对应的目标业务中的业务子流程;
所述排序模块,还用于当接收到所述处理接口返回的业务子流程执行结果时,触发所述调度器执行所述对预构建的有向无环图运行图进行拓扑排序,以从所述有向无环图运行图包括的至少一个任务节点中确定出待执行任务节点的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910625536.5/2.html,转载请声明来源钻瓜专利网。