一种事件驱动的多流程协同处理系统技术方案

技术编号:19008929 阅读:44 留言:0更新日期:2018-09-22 08:50
本发明专利技术提供一种事件驱动的多流程协同处理系统,通过多流程建模模块创建业务流程的协作图,为业务流程之间进行信息交互创造了可能,根据协作图配置消息路由,可知道消息的发送者和接收者,通过对协作图进行安全性验证、可达性验证、死锁检测以及死循环检测,能够检测出协作图中的错误,避免在业务流程运行时造成损失,再通过分布式部署及运行模块将协作图拆分成单业务流程,将各单业务流程打包后分布式部署到jBPM流程引擎,分布式运行能解耦,而且根据具体的业务场景,可能每个业务流程发生在不同的地方,每个流程就近部署和运行;分布式运行也为流程管理带来方便,每个jBPM服务器上的流程可由不同的组织管理和维护。

An event driven multi process collaborative processing system

The invention provides an event-driven multi-process cooperative processing system, through which a cooperative diagram of business processes is created by a multi-process modeling module, which makes it possible for information exchange between business processes. Message routing is configured according to the cooperative diagram, and the sender and receiver of the message are known. The security of the cooperative diagram is tested. Authentication, reachability verification, deadlock detection and deadlock detection can detect errors in the collaboration diagram and avoid loss when the business process runs. Then the collaboration diagram is divided into single business process by distributed deployment and operation module, and each single business process is packaged and distributed to jBPM process engine. Running can be decoupled, and depending on the specific business scenario, each business process may occur in a different place, each process is deployed and running nearby; distributed running also facilitates process management, and processes on each jBPM server can be managed and maintained by different organizations.

【技术实现步骤摘要】
一种事件驱动的多流程协同处理系统
本专利技术涉及计算机
,更具体地,涉及一种事件驱动的多流程协同处理系统。
技术介绍
在企业运作过程中,业务流程是被抽象出来的被视为最有价值的企业资产,其特指为某些指定的客户或对象创造和提升价值的过程。具体地说,业务流程就是为了达到既定的目标而进行的一系列互相关联而且有组织的任务或活动,是一系列活动的集合。业务流程通常具有一种或多种输入,但它的输出是确定的,并且这些输出对客户具有重要的价值。比较典型的解释是:业务流程始于客户需求,止于客户需求的满足,并为客户实现价值目标。企业的业务流程应依据市场需求做出及时的适应性调整,为企业设计合适的业务流程,具有更好的效益(企业成本降低)和更高的效力(客户价值增加)。这对企业保持良好的市场竞争力具有重要的现实意义。企业信息化进程中,引入业务流程管理(BusinessProcessManagement,BPM)用于实现各种业务环节整合的全面管理目标。业务流程管理是运营管理领域的概念,侧重于管理和优化公司的业务流程并提高企业经济效益。因此业务流程管理可以被视为一个业务流程优化的过程。相较于着眼功能的传统分级管理方式,业务流程管理可以使得使企业组织更加高效,可以很好地适应市场的变化。业务流程管理通常通过网络形式进行数据通信和业务集成,是工作流技术和企业管理理念的一个突破。JBPM引擎(JavaBusinessProcessManagement),即Java业务流程管理,是一个用Java编写的开源的工作流程引擎。通过BPMN2.0描述的业务流程或由早期的jBPM自己的流程定义语言jPDL定义的流程可以在jPMN中运行执行。JBPM由JBoss公司发布,基于ASL和LGPL开源标准的流程语言框架。其主要功能为业务流程管理,同时还提供工作流相关的功能,并涵盖服务协作等相关领域。现有的业务流程管理系统仅能对单业务流程进行处理,导致单业务流程之间不存在交互,这样对复杂的业务场景进行良好的抽象,而复杂的场景用单业务流程描述太庞大,容易出错,甚至不能描述。
技术实现思路
本专利技术提供一种克服上述问题或者至少部分地解决上述问题的事件驱动的多流程协同处理系统。根据本专利技术的一个方面,提供一种事件驱动的多流程协同处理系统,包括:多流程建模模块,用于创建业务流程的协作图、根据所述协作图生成消息路由、完成所述协作图的安全性验证、可达性验证、死锁检测以及死循环检测;分布式部署及运行模块,用于将所述协作图拆分为一定数量的单业务流程,将各单业务流程打包后分布式部署到jBPM流程引擎。优选地,所述多流程建模模块包括消息建模子模块,所述消息建模子模块包括:复合消息类单元,用于创建业务流程的协作图,并在协作图中定义业务流程之间进行消息交互的类型;消息路由表单元,用于消息交互建模、提取协作图中业务流程的消息路由以及构建消息路由表。优选地,所述多流程建模模块还包括多流程验证子模块,所述多流程验证子模块包括:业务流程转换单元,用于将业务流程转换为Petri网;安全性验证单元,用于对所述Petri网的安全性进行验证,以及当安全性验证不通过时,定位到业务流程中出现不可控顺序流的节点;可达图生成单元,用于进行安全性验证时,生成Petri网的可达图,可达图中的状态用于标识Petri网中每个库所包含的令牌数;可达性验证单元,用于当检测到Petri网中所有变迁都出现在所述可达图中时,获知协作图可达;死锁检测单元,用于当检测到可达图中每个出度为0的节点均对应结束事件时,获知协作图不存在死锁节点;死循环检测单元,用于当检测到可达图中存在环路时,获知协作图中存在死循环。优选地,所述分布式部署及运行模块包括:协作图拆分子模块,用于遍历协作视图中的各业务流程,将不同的业务流程提取出来,形成多个单独业务流程,提取过程中各业务流程的内部结构不变,还用于保留业务流程之间交互的消息和单独业务流程的流程图片;分布式部署和运行子模块,用于显示jBPM服务器的状态、关联各业务流程与jBPM服务器的IP地址,将各业务流程进行打包,并在打包后按照关联结果将业务流程部署至jBPM服务器;所述jBPM服务器的状态为连接状态、未连接状态、启动状态以及未启动状态中的一种。优选地,所述事件驱动的多流程协同处理系统还包括:消息中间件模块,用于采用发布-订阅模式完成分布式通信,自定义发送任务的第一处理程序Handler和接收任务的第二处理程序Handler;其中,所述第一处理程序Handler用于定义构造消息对象的方法和调用发布-订阅接口向发布/订阅主节点发布消息的方法;所述第二处理程序Handler用于定义监听发布/订阅主节点转发的消息、缓存消息对象的方法,以及处理接收的消息的方法。优选地,所述事件驱动的多流程协同处理系统还包括:流程监控模块,用于查看业务流程的运行状态、在业务流程出现异常时挂起业务流程和在异常排除后恢复业务流程。优选地,所述可达性验证单元具体用于:提取可达图中所有边上的变迁,构成散列表;循环遍历Petri网中的所有变迁,检测是否存在于散列表,对于petri网中的一个变迁,若该变迁存在于所述散列表中,若将该变迁加入至变迁表中,若该变迁不存在于散列表中,则继续判断变迁表是否为空;若变迁表不为空,则获知可达性验证成功;若变迁表为空,则查找并显示变迁表中变迁对应的BPMN元素,同时判断不通过可达性验证。优选地,所述死循环检测单元具体用于:S1、将可达图的根节点赋为当前节点;S2、将当前节点加入至路径集合中,循环遍历当前节点的子节点,对于当前节点的任意一个子节点,若该子节点不在路径集合中,则执行步骤S3,若该子节点已存在于路径集合中,执行步骤S4;S3、将该子节点赋为当前节点,并返回执行步骤S2;S4、判断可达图中存在环路,将当前节点加入至节点集合中,同时将当前节点从路径集合中移除。本专利技术提出的事件驱动的多流程协同处理系统,通过多流程建模模块创建业务流程的协作图,为业务流程之间进行信息交互创造了可能,根据协作图配置消息路由,可知道消息的发送者和接收者,通过对协作图进行安全性验证、可达性验证、死锁检测以及死循环检测,能够检测出协作图中的错误,避免在业务流程运行时造成损失,再通过分布式部署及运行模块将协作图拆分成单业务流程,将各单业务流程打包后分布式部署到jBPM流程引擎,分布式运行能解耦,而且根据具体的业务场景,可能每个业务流程发生在不同的地方,每个流程就近部署和运行;分布式运行也为流程管理带来方便,每个jBPM服务器上的流程可由不同的组织管理和维护。附图说明图1为根据本专利技术实施例的事件驱动的多流程协同处理系统的功能示意图;图2为根据本专利技术实施例的安全性验证的流程示意图;图3为根据本专利技术实施例的可达性验证的流程示意图;图4为根据本专利技术实施例的死锁检测的流程示意图;图5为根据本专利技术实施例的死循环检测的流程示意图;图6为根据本专利技术实施例的预定义的回调逻辑的流程示意图。具体实施方式下面结合附图和实施例,对本专利技术的具体实施方式作进一步详细描述。以下实施例用于说明本专利技术,但不用来限制本专利技术的范围。为了克服现有技术的上述问题,本专利技术实施例提供了一种事件驱动的多流程协同处理系统,参见图1,包括:多流程建模模块101,用于生成消息路本文档来自技高网
...
一种事件驱动的多流程协同处理系统

【技术保护点】
1.一种事件驱动的多流程协同处理系统,其特征在于,包括:多流程建模模块,用于创建业务流程的协作图、根据所述协作图生成消息路由、完成所述协作图的安全性验证、可达性验证、死锁检测以及死循环检测;分布式部署及运行模块,用于将所述协作图拆分为一定数量的单业务流程,将各单业务流程打包后分布式部署到jBPM流程引擎。

【技术特征摘要】
1.一种事件驱动的多流程协同处理系统,其特征在于,包括:多流程建模模块,用于创建业务流程的协作图、根据所述协作图生成消息路由、完成所述协作图的安全性验证、可达性验证、死锁检测以及死循环检测;分布式部署及运行模块,用于将所述协作图拆分为一定数量的单业务流程,将各单业务流程打包后分布式部署到jBPM流程引擎。2.如权利要求1所述的事件驱动的多流程协同处理系统,其特征在于,所述多流程建模模块包括消息建模子模块,所述消息建模子模块包括:复合消息类单元,用于创建业务流程的协作图,并在协作图中定义业务流程之间进行消息交互的类型;消息路由表单元,用于消息交互建模、提取协作图中业务流程的消息路由以及构建消息路由表。3.如权利要求1或2所述的事件驱动的多流程协同处理系统,其特征在于,所述多流程建模模块还包括多流程验证子模块,所述多流程验证子模块包括:业务流程转换单元,用于将业务流程转换为Petri网;安全性验证单元,用于对所述Petri网的安全性进行验证,以及当安全性验证不通过时,定位到业务流程中出现不可控顺序流的节点;可达图生成单元,用于进行安全性验证时,生成Petri网的可达图,可达图中的状态用于标识Petri网中每个库所包含的令牌数;可达性验证单元,用于当检测到Petri网中所有变迁都出现在所述可达图中时,获知协作图可达;死锁检测单元,用于当检测到可达图中每个出度为0的节点均对应结束事件时,获知协作图不存在死锁节点;死循环检测单元,用于当检测到可达图中存在环路时,获知协作图中存在死循环。4.如权利要求1所述的事件驱动的多流程协同处理系统,其特征在于,所述分布式部署及运行模块包括:协作图拆分子模块,用于遍历协作视图中的各业务流程,将不同的业务流程提取出来,形成多个单独业务流程,提取过程中各业务流程的内部结构不变,还用于保留业务流程之间交互的消息和单独业务流程的流程图片;分布式部署和运行子模块,用于显示jBPM服务器的状态、关联各业务流程与jBPM服务器...

【专利技术属性】
技术研发人员:赵帅程渤刘传昌陈俊亮梁华张秀蕾
申请(专利权)人:北京邮电大学
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1