[发明专利]一种事件驱动的多流程协同处理系统有效
申请号: | 201810162268.3 | 申请日: | 2018-02-27 |
公开(公告)号: | CN108563425B | 公开(公告)日: | 2019-10-01 |
发明(设计)人: | 赵帅;程渤;刘传昌;陈俊亮;梁华;张秀蕾 | 申请(专利权)人: | 北京邮电大学 |
主分类号: | G06F8/20 | 分类号: | G06F8/20;G06F8/60;G06Q10/06 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 王莹;吴欢燕 |
地址: | 100876 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 业务流程 多流程 协作 协同处理系统 分布式部署 分布式运行 事件驱动 单业务 安全性验证 可达性验证 建模模块 流程管理 流程引擎 配置消息 死锁检测 信息交互 业务场景 运行模块 组织管理 死循环 运行时 检测 解耦 路由 打包 服务器 创建 部署 维护 | ||
1.一种事件驱动的多流程协同处理系统,其特征在于,包括:
多流程建模模块,用于创建业务流程的协作图、根据所述协作图生成消息路由、完成所述协作图的安全性验证、可达性验证、死锁检测以及死循环检测;
分布式部署及运行模块,用于将所述协作图拆分为一定数量的单业务流程,将各单业务流程打包后分布式部署到jBPM流程引擎;
其中,所述多流程建模模块还包括多流程验证子模块,所述多流程验证子模块包括:业务流程转换单元,用于将业务流程转换为Petri网;以及可达性验证单元,用于当检测到Petri网中所有变迁都出现在可达图中时,获知协作图可达;
所述可达性验证单元具体用于:
提取可达图中所有边上的变迁,构成散列表;
循环遍历Petri网中的所有变迁,检测是否存在于散列表,对于petri网中的一个变迁,若该变迁存在于所述散列表中,将该变迁加入至变迁表中,若该变迁不存在于散列表中,则继续判断变迁表是否为空;
若变迁表不为空,则获知可达性验证成功;若变迁表为空,则查找并显示变迁表中变迁对应的BPMN元素,同时判断不通过可达性验证。
2.如权利要求1所述的事件驱动的多流程协同处理系统,其特征在于,所述多流程建模模块包括消息建模子模块,所述消息建模子模块包括:
复合消息类单元,用于创建业务流程的协作图,并在协作图中定义业务流程之间进行消息交互的类型;
消息路由表单元,用于消息交互建模、提取协作图中业务流程的消息路由以及构建消息路由表。
3.如权利要求1或2所述的事件驱动的多流程协同处理系统,其特征在于,所述多流程验证子模块还包括:
安全性验证单元,用于对所述Petri网的安全性进行验证,以及当安全性验证不通过时,定位到业务流程中出现不可控顺序流的节点;
可达图生成单元,用于进行安全性验证时,生成Petri网的可达图,可达图中的状态用于标识当前Petri网中每个库所包含的令牌数;
死锁检测单元,用于当检测到可达图中每个出度为0的节点均对应结束事件时,获知协作图不存在死锁节点;
死循环检测单元,用于当检测到可达图中存在环路时,获知协作图中存在死循环。
4.如权利要求1所述的事件驱动的多流程协同处理系统,其特征在于,所述分布式部署及运行模块包括:
协作图拆分子模块,用于遍历协作视图中的各业务流程,将不同的业务流程提取出来,形成多个单独业务流程,提取过程中各业务流程的内部结构不变,还用于保留业务流程之间交互的消息和单独业务流程的流程图片;
分布式部署和运行子模块,用于显示jBPM服务器的状态、关联各业务流程与jBPM服务器的IP地址,将各业务流程进行打包,并在打包后按照关联结果将业务流程部署至jBPM服务器;所述jBPM服务器的状态为连接状态、未连接状态、启动状态以及未启动状态中的一种。
5.如权利要求1所述的事件驱动的多流程协同处理系统,其特征在于,还包括消息中间件模块,用于采用发布-订阅模式完成分布式通信,自定义发送任务的第一处理程序Handler和接收任务的第二处理程序Handler;
其中,所述第一处理程序Handler用于定义构造消息对象的方法和调用发布-订阅接口向发布/订阅主节点发布消息的方法;所述第二处理程序Handler用于定义监听发布/订阅主节点转发的消息、缓存消息对象的方法,以及处理接收的消息的方法。
6.如权利要求1所述的事件驱动的多流程协同处理系统,其特征在于,还包括流程监控模块,用于查看业务流程的运行状态、在业务流程出现异常时挂起业务流程和在异常排除后恢复业务流程。
7.如权利要求3所述的事件驱动的多流程协同处理系统,其特征在于,所述死循环检测单元具体用于:
S1、将可达图的根节点赋为当前节点;
S2、将当前节点加入至路径集合中,循环遍历当前节点的子节点,对于当前节点的任意一个子节点,若该子节点不在路径集合中,则执行步骤S3;若该子节点已存在于路径集合中,执行步骤S4;
S3、将该子节点赋为当前节点,并返回执行步骤S2;
S4、判断可达图中存在环路,将当前节点加入至节点集合中,同时将当前节点从路径集合中移除。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京邮电大学,未经北京邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810162268.3/1.html,转载请声明来源钻瓜专利网。