[发明专利]基于BPMN标准的分布式任务异步调度和监控的系统有效
申请号: | 201910671811.7 | 申请日: | 2019-07-24 |
公开(公告)号: | CN110377413B | 公开(公告)日: | 2023-03-03 |
发明(设计)人: | 何钧雷;张立东;金越成;王蔚;张玉站;邱旻翔;叶莹莹 | 申请(专利权)人: | 上海金融期货信息技术有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50;G06F11/30;G06F11/32 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 施浩 |
地址: | 200122 上海市浦东新*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 bpmn 标准 分布式 任务 异步 调度 监控 系统 | ||
本发明公开了基于BPMN标准的分布式任务异步调度和监控的系统,可以应对各类复杂的任务依赖场景,上手门槛低。其技术方案为:系统包括:管理端子系统,包括管理模块、调度模块和监控模块,其中管理模块管理任务、流程和作业,作业和任务通过流程定义关联,任务接收节点通过任务标识号和任务绑定,任务接收节点之间的关系表示任务之间的依赖关系;调度模块用异步方式对触发任务,产生任务发布消息发布到分布式发布订阅消息模块;监控模块通过基于BPMN标准的流程引擎实施监控;执行端子系统,对分布式发布订阅消息模块进行监听,当监听到任务发布消息后再由对应的执行器执行相应任务。
技术领域
本发明涉及分布式任务的调度和监控技术,具体涉及基于BPMN标准的分布式任务异步调度和监控的系统。
背景技术
调度系统主要用于自动(定时)或者手动触发其他业务系统中的任务代码运行。在大多数科技公司,调度系统是一个非常重要的基础架构系统。通过调度系统的调度,可以将业务系统中的定时任务集中管理,使业务系统无需再处理复杂的调度逻辑和任务依赖关系。目前市场上针对任务调度需求的解决方案主要有两类:
一类是基于java定时任务框架quartz实现,如elastic-job、xxl-job等,是完全由java编写的开源定时任务调度框架。这类方案的主要问题在于对任务依赖关系的支持过于简单,如xxl-job只能通过配置任务的父子关系来定义任务依赖,而在实际场景中,任务之间的关系可能非常复杂,如并行、互斥、回调等等,这类方案很难处理这样的复杂场景。
另一类是基于有项无环图dag实现,如airflow、d2、maat等。dag是有向无环图(directed acyclic graph),在任意一条边有方向,且不存在环路的图,如图1所示。这类方案通过定义dag文件来创建任务,虽然dag中节点的前后顺序可以表示任务的依赖关系,但dag本身存在一定的局限性。第一,dag不允许出现环,也就不能直接支持一个任务节点执行失败回退到前置任务节点的需求;第二,dag文件使用python编写,不支持可视化编辑,对使用人员要求较高,需要掌握python和dag规范,且在复杂场景下,修改节点依赖关系的代价很大;第三,dag文件基于python运行,在高并发场景下,性能急剧下降。
发明内容
以下给出一个或多个方面的简要概述以提供对这些方面的基本理解。此概述不是所有构想到的方面的详尽综览,并且既非旨在指认出所有方面的关键性或决定性要素亦非试图界定任何或所有方面的范围。其唯一的目的是要以简化形式给出一个或多个方面的一些概念以为稍后给出的更加详细的描述之序。
本发明的目的在于解决上述问题,提供了一种基于BPMN标准的分布式任务异步调度和监控的系统,使用基于BPMN的流程图来建立任务之间的依赖关系,由于BPMN标准成熟、元素丰富,可以应对各类复杂的任务依赖场景,不同于dag文件,市场上存在丰富的绘图软件支持可视化编辑生成BPMN文件,如activiti提供的Web版画图工具、BPMN-JS、VisualParadigm等,上手门槛低,用户只需根据具体场景通过拖拽的方式即可生成相应流程图。
本发明的技术方案为:本发明揭示了一种基于BPMN标准的分布式任务异步调度和监控的系统,包括管理端子系统和执行端子系统,管理端子系统和执行端子系统之间通过分布式发布订阅消息模块实现数据通信,其中:
管理端子系统,包括管理模块、调度模块和监控模块,其中管理模块用于管理任务、流程和作业,其中作业和任务通过流程定义建立关联,任务接收节点通过任务标识号和任务实现绑定,任务接收节点之间的关系表示任务之间的依赖关系;调度模块用于采用异步方式对任务进行触发,在任务触发时产生一个任务发布消息发布到分布式发布订阅消息模块;监控模块用于通过记录有各流程实例在各任务接收节点上流转过程的基于BPMN标准的流程引擎实施监控;
执行端子系统,包括多种执行器,对分布式发布订阅消息模块进行监听,当监听到任务发布消息后再由对应的执行器执行相应任务。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海金融期货信息技术有限公司,未经上海金融期货信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910671811.7/2.html,转载请声明来源钻瓜专利网。