[发明专利]基于解耦任务数据模型的任务流调度方法与系统有效
申请号: | 202011081551.7 | 申请日: | 2020-10-12 |
公开(公告)号: | CN111930492B | 公开(公告)日: | 2021-01-19 |
发明(设计)人: | 殷庆荣;谢峥;高庆官;唐海均;王国伟 | 申请(专利权)人: | 南京赛宁信息技术有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/52 |
代理公司: | 南京苏高专利商标事务所(普通合伙) 32204 | 代理人: | 孟红梅 |
地址: | 211100 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 任务 数据模型 调度 方法 系统 | ||
本发明公开了一种基于解耦任务数据模型的任务流调度方法与系统,本发明对于参与任务流调度的单个任务数据模型进行了规范化定义,解耦了任务流中不同任务的通信报文和通信协议,并对任务流数据模型定义全局唯一的分布式锁;在任务流调度流程中,由同一任务流的所有调度节点周期性竞争该任务流的分布式锁,成功竞争到分布式锁的调度节点才进行后续调度,通过当前已完成任务获取后继任务进行调度,并使用协议处理器进行任务输入输出数据的转换,通过幂等机制、任务失败处理机制等保障任务的有效调度。本发明能够提高提升系统设计效率以及任务流执行的稳定性,有效避免了任务因单个机器宕机等意外因素而终止。
技术领域
本发明属于计算机软件领域,具体涉及一种任务流调度方法与系统。
背景技术
任务流是指一系列有先后依赖顺序的任务序列,序列中前者的执行输出结果作为驱动后者执行的输入参数。任务流中的多个任务往往运行在异构的系统环境中,所以在定义一个具体的任务流时,需要针对性的为该任务流中的每一个任务定制开发。任务流的执行采用链式驱动,前者执行完成后通知后者继续执行。
任务流的生命周期通常是:首先根据需求为任务流中的每一个任务执行定制开发;然后根据每个任务所依赖的系统环境,部署任务到具体的目标计算节点;再为每个任务设置后续任务的具体驱动地址;最后触发任务流中的第一个任务执行。如图1所示,任务执行流程如下:1、任务流中的第一个任务(任务1)开始执行;2、如果任务1执行成功,获取后续任务(任务2)的目标执行地址,任务1的输出作为任务2的输入,任务1触发任务2执行,转跳步骤4;如果任务1执行失败,转跳步骤3;3、在指定的时间间隔后继续尝试执行当前任务(任务1),执行逻辑同步骤2,直到当前任务执行成功或者失败次数过多导致任务流终止;4、任务2重复任务1的执行流程,执行完自身逻辑后,驱动后续任务;5、任务流中所有任务执行成功,输出任务结果;或者在某个任务节点执行失败导致整个任务流失败。
现有的任务流调度流程存在如下不足:1、网络存在不稳定因素,没有统一的任务驱动机制来确保任务在不可靠的网络中可靠的执行链式任务。2、任务流中的任一个任务都有可能执行失败,需要定义统一的任务失败处理以及预警机制。3、链式驱动执行的任务方案,前一任务会和下一任务的报文内容强耦合,并且前者还需要兼容后者的通信协议,异构系统中任务流的每个任务都可能采用不同的通信协议,导致协议爆炸。4、出于系统高可用考量,任务流中每个任务需要实现任务持久化并支持定期唤起,而上述功能与任务本身并不相关,属于重复劳动。5、没有统一的管理视角,展示当前任务流的执行进度以及可能的失败原因。6、网络报文传输的不可靠性,导致同一计算任务可能被多次执行。
发明内容
发明目的:针对上述现有技术的不足,本发明的目的是提供一种基于解耦任务数据模型的任务流调度方法与系统,以提升系统开发设计的效率,以及任务流执行的稳定性。
技术方案:为实现上述发明目的,本发明采用如下技术方案:
一种基于解耦任务数据模型的任务流调度方法,对于参与任务流调度的单个任务数据模型定义驱动任务的通信协议、任务输入输出数据格式、后继任务节点及其使用的协议处理器、任务幂等编号、任务在整个任务流中的编号、任务调度超时时间、任务失败处理机制、任务输出数据以及任务状态查询接口;对于任务流数据模型定义全局唯一的分布式锁,以及任务流中第一个任务的初始化输入数据;所述任务流调度方法包括:
步骤1:由同一任务流的所有调度节点周期性竞争该任务流的分布式锁,成功竞争到分布式锁的调度节点执行步骤2;未取得分布式锁的调度节点结束本轮调度;
步骤2:获取任务流已执行完成的最大任务编号,如果最大任务编号对应最后一个任务,标记任务流调度完成,释放分布式锁,结束;否则获取最大任务编号对应的已完成任务A的信息,执行步骤3;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京赛宁信息技术有限公司,未经南京赛宁信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011081551.7/2.html,转载请声明来源钻瓜专利网。