[发明专利]一种任务执行方法、装置、设备及存储介质在审
申请号: | 202110795214.2 | 申请日: | 2021-07-14 |
公开(公告)号: | CN113434279A | 公开(公告)日: | 2021-09-24 |
发明(设计)人: | 蒋毓晨;罗丛建;卢肖风 | 申请(专利权)人: | 上海浦东发展银行股份有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F11/14 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 赵翠香 |
地址: | 200000 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 任务 执行 方法 装置 设备 存储 介质 | ||
本发明公开了一种任务执行方法、装置、设备及存储介质。该方法包括:所述主节点根据配置文件生成至少一个任务流节点,其中,所述任务流节点包括:至少两个任务和至少两个任务之间的依赖关系;所述主节点根据所述至少两个任务和至少两个任务之间的依赖关系依次执行所述至少两个任务,通过本发明的技术方案,能够将业务逻辑和任务配置解耦,降低开发和维护成本,避免因修改任务执行流程而改动业务代码,可以自定义多任务间的执行顺序和串并关系,同时支持灵活的参数配置。
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种任务执行方法、装置、设备及存储介质。
背景技术
现有的定时调度框架quartz不支持任务编排和流程调度,不支持定义多任务间的执行顺序和串并关系,缺乏统一的任务流程编排模型,只能通过硬编码的方式固化任务执行流程模型,任务配置和调度程序高度耦合,具有较大的开发和维护成本。此外,框架quartz虽然支持分布式模式,但是单任务只能在单个节点运行,不支持将任务分片在多节点并行执行。
发明内容
本发明实施例提供一种任务执行方法、装置、设备及存储介质,以实现能够将业务逻辑和任务配置解耦,降低开发和维护成本,避免因修改任务执行流程而改动业务代码,可以自定义多任务间的执行顺序和串并关系,同时支持灵活的参数配置。
第一方面,本发明实施例提供了一种任务执行方法,应用于任务调度框架,所述任务调度框架包括:主节点,所述任务执行方法包括:
所述主节点根据配置文件生成至少一个任务流节点,其中,所述任务流节点包括:至少两个任务和至少两个任务之间的依赖关系;
所述主节点根据所述至少两个任务和至少两个任务之间的依赖关系依次执行所述至少两个任务。
进一步的,所述任务调度框架还包括:至少两个备用节点和消息节点;
相应的,在所述主节点根据配置文件生成至少一个任务流节点之前,还包括:
所述至少两个备用节点向所述消息节点发送获取分布式锁指令;
所述消息节点根据接收到的至少两个备用节点发送的获取分布式锁指令的顺序从所述至少两个备用节点中选取一个目标备用节点;
所述消息节点将所述目标备用节点晋升为主节点。
进一步的,在将所述目标备用节点晋升为主节点之后,还包括:
若所述主节点故障下线,则所述消息节点根据接收到的至少两个备用节点发送的获取分布式锁指令的顺序从所述至少两个备用节点中选取一个主节点。
进一步的,所述任务调度框架还包括:状态节点;
相应的,主节点根据所述至少两个任务和至少两个任务之间的依赖关系依次执行所述至少两个任务包括:
主节点根据所述至少两个任务和至少两个任务之间的依赖关系依次执行所述至少两个任务之后,得到任务流节点的执行结果;
将所述执行结果发送至所述状态节点。
进一步的,所述主节点根据配置文件生成至少一个任务流节点,包括:
所述主节点解析配置文件得到至少两个任务和任务之间的依赖关系;
根据所述至少两个任务和任务之间的依赖关系生成有向图;
若将所述有向图输入深度优先搜索算法,得到所述有向图中无环路,则根据所述有向图生成任务流节点。
进一步的,所述任务调度框架还包括:Web节点和消息节点;
相应的,还包括:
所述消息节点接收所述Web节点发送的实时任务指令;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海浦东发展银行股份有限公司,未经上海浦东发展银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110795214.2/2.html,转载请声明来源钻瓜专利网。