CN106408272B - 一种基于分布式部署的跨系统流程引擎协作系统及方法 - Google Patents
一种基于分布式部署的跨系统流程引擎协作系统及方法 Download PDFInfo
- Publication number
- CN106408272B CN106408272B CN201610949938.7A CN201610949938A CN106408272B CN 106408272 B CN106408272 B CN 106408272B CN 201610949938 A CN201610949938 A CN 201610949938A CN 106408272 B CN106408272 B CN 106408272B
- Authority
- CN
- China
- Prior art keywords
- flow
- external coordination
- node
- application system
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/465—Distributed object oriented systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
- G06F9/548—Object oriented; Remote method invocation [RMI]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/562—Brokering proxy services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Resources & Organizations (AREA)
- Entrepreneurship & Innovation (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Economics (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种基于分布式部署的跨系统流程引擎协作系统及方法,包括流程注册中心模块、流程引擎内核及扩展模块、节点扩展及流程路由模块。所述方法在协作系统中的多个应用系统分别部署流程引擎,协作系统内所有的流程模板注册在流程注册中心模块,供全局路由调用。当前应用系统中流程引擎需要跨系统调用其他系统的外协流程时,流程引擎内核及扩展模块通过节点扩展及流程路由模块即可查询流程模板注册中心模块,进而得到外协流程的地址并调用其RESTful服务,驱动外协流程流转,实现多系统下流程引擎的协同工作。本发明主要用在组织架构复杂、跨地域协作的集团型企业,支持集团业务流程跨地域、跨系统的自动协作,提升流程处理效率。
Description
技术领域
本发明涉及一种基于分布式部署的跨系统流程引擎协作系统及方法,属于中间件技术领域,尤其是在业务流程管理领域。
背景技术
流程引擎的本质是状态变迁和过程流转,目前市场上的流程引擎大部分基于Petri Net或有限状态机(Finite State Machine-FSM)模型实现。基于Petri Net或FSM模型,利用token树驱动流程状态的变迁,进而实现串行流程、并行流程、子流程等常见的业务流程,在OA、ERP等软件系统中普遍应用。但是,在组织架构复杂、跨地域协作工作的集团型大企业里,传统的流程引擎不能支持跨组织、跨地域、分布式部署环境下的流程自动协作,往往需要人工参与进行数据合并和驱动流转,既给系统运维增加难度,也影响了系统的实时性。
发明内容
本发明技术解决问题:为了解决现有的流程引擎在分布式、多系统环境下不能自动协作运行的问题,提供一种基于分布式部署的跨系统流程引擎协作系统及方法,可以实现在流程实例在分布式、多系统环境下的自动识别和整合协作,减少人工参与,降低运维成本,满足流程运行的实时性。
本发明技术方案是:一种基于分布式部署的跨系统流程引擎协作系统,所述协作系统中具有多个应用系统,每个应用系统中分别部署有流程引擎内核及扩展模块:在需要跨系统调用外协流程的位置部署节点扩展及流程路由模块,该节点扩展及流程路由模块中配置了外协流程模板的注册信息,其中
流程注册中心模块:负责管理协作系统中所有已存在流程模板的地址,供流程引擎内核及扩展模块通过流程注册查找接口进行调用,即,流程注册中心模块使得协作系统中所有的流程模板能够有序地被流程引擎内核及扩展模块以路由的形式调用;当协作系统中的服务器启动时,所有流程模板分别将各自所在服务器地址以编号的形式注册在流程注册中心模块,形成一个流程模板列表;当应用系统A中的流程引擎内核及扩展模块发起一个流程实例,并执行到节点扩展及流程路由模块的外协节点时,根据外协节点中配置的外协流程模板编号并通过流程注册查找接口调用流程注册中心模块,得到外协流程模板所在服务器地址,进而发起RESTful请求并执行跨系统调用动作,驱动应用系统B中流程引擎内核及扩展模块发起相应的外协流程实例并执行流转;外协流程实例执行完成之后,同样会根据外协流程模板所配置的应用系统A中流程模板编号通过流程注册查找接口调用流程注册中心模块,得到应用系统A中流程引擎所在服务器地址,进而发RESTful请求并执行返回动作,驱动应用系统A中流程实例继续流转;
流程注册中心模块可以基于zookeeper技术实现,协作系统中的所有流程模板将其所在服务器地址以编号的形式注册在zookeeper集群的流程注册中心,使得协作系统中所有的流程能够被外部流程引擎以路由的形式有序的调用。其中,zookeeper集群中流程注册列表的注册方式为:在根节点下,按应用系统标识和访问地址创建第二层节点,并将每一个应用系统内所有流程模板ID和编号添加在各自节点下,由于zookeeper自身的特性,协作系统内的所有其他节点将自动发现当前节点下的流程模板列表。流程模板编号是流程模板的唯一标识,又是流程模板所在服务器地址必不可少的组成部分,通过查询外协流程编号在zookeeper注册列表中的位置就可以得到外协流程所在服务器的地址,所以只需在外协节点中配置外协流程编号,即可实现当前流程对外协流程的调用,驱动外协流程进行流转。
流程注册方式为:第一层为根节点,然后按应用系统标识和访问地址前缀创建第二层节点,并将每一个应用系统内所有流程模板ID和编号添加在各自节点下,形成第三层节点;当某一应用系统出现故障或者断开时,位于第二层节点中相应的应用系统节点及其子节点也会消失。基于流程注册中心模块自身的特性,第二层节点中所有其他节点将能够自动发现当前节点下的流程模板列表。
流程引擎内核及扩展模块:负责根据外协流程的调用动作为协作系统提供流程节点的流转、待办的生成、审批意见、操作历史记录的功能。当应用系统A中的流程引擎内核及扩展模块执行流程实例到外协节点并通过zookeeper调用应用系统B中的外协流程时,会将当前流程实例的处理意见及待办信息以参数的形式发送给外协流程,然后将操作记录记录到后台数据库中。调用动作包括如下:
a)启动:根据外协流程模板编号,启动一个新的流程;
b)提交:根据外协流程模板编号、实例ID和节点参数,驱动流程流转;
c)拿回:根据外协流程模板编号、实例ID和节点参数,取消上一次的送审;
d)跳转:根据外协流程模板编号、实例ID和节点参数,直接跳转至流程中的某一个节点;
e)结束:根据外协流程模板编号、实例ID直接结束一个流程。
若当前调用动作为启动一个外协流程,则需要记录到数据库的内容包括:当前流程的启动动作、当前流程处理人的处理权限、外协流程实例ID、外协流程实例的全局属性、流程跟踪信息;若当前调用动作为提交、拿回、跳转,结束中的一种,则需要记录到数据库的内容包括:当前流程的提交动作、当前流程代办的已处理动作以及为外协流程中的下一步骤生成新待办动作、当前流程处理人意见以及外协流程中的下一步骤的处理人意见。应用系统B中的外协流程执行完成返回应用系统A时,会将外协流程的处理结果数据以JSON的格式发送给应用系统A中的流程引擎内核及扩展模块,以驱动原流程继续流转。
节点扩展及流程路由模块:节点扩展是指扩展流程引擎的节点类型,即外协节点,外协节点中需要配置外协流程在zookeeper流程注册中心中的注册编号及当前流程的输出参数,包括处理人、是否同步,若输出参数中的是否同步属性设置为“是”,则应用系统A中的流程引擎执行到外协节点时,会等待直到外协流程流转完成,然后继续执行后续的流程;若输出参数中的是否同步属性设置为“否”,则应用系统A中的流程引擎执行到外协节点时,提交调用动作,直接进行当前流程后续的流转。流程路由是指流程引擎的RESTful请求地址,通过在流程注册中心中查找外协节点中配置的外协模板编号和其所在服务器地址前缀来获得,且支持外部调用。所述RESTful请求是通过访问指定URL的形式来实现的,根据流程引擎内核及扩展模块发起的调用动作的不同,URL的组合形式分为两种,若调用动作为启动一个外协流程,则其中URL形式为:服务器地址前缀+所述的调用动作+流程模板ID,且外协流程启动后会将外协流程实例ID发送给原流程引擎;若调用动作为提交、拿回、跳转、结束一个外协流程,则URL形式为服务器地址前缀+所述的调用动作+流程模板ID+流程实例ID。当流程引擎内核及扩展模块执行流程实例到节点扩展及流程路由模块的外协节点时,会根据外协节点的配置信息获取外协流程模板的路由,进而发起RESTful请求并调用外协流程。同理,外协流程流转结束之后也通过自身的外协节点返回到原流程实例的外协节点处,驱动原流程实例继续流转。
综合以上三个模块所述,本发明的实施过程为:在需要流程调用的位置设置外协节点,流程引擎执行至外协节点时,根据zookeeper中的流程注册列表,查找外协节点配置的外协流程模板编号,进而获取外协流程的服务器地址,再根据服务器地址调用RESTful服务驱动外协流程流转;当外协流程调用结束后,也根据注册列表及原流程引擎所在的服务器地址返回到外协节点,驱动当前流程继续流转。
本发明与现有技术相比的有益效果是
(1)由于本发明中的流程注册中心为分布式系统中的所有流程注册地址,使得流程引擎间的相互调用更具秩序化,特别是针对组织架构复杂、跨地域协作的集团型企业,极大地提高了流程调用的可靠性。
(2)本发明扩展了流程引擎内核,将流程内的执行动作通过外协节点扩展到流程之间,提高了分布式系统中流程引擎的可用性,及扩展性。
(3)本发明中分布式系统中流程引擎相互调用的过程是通过设置外协节点及RESTful请求来实现的,调用动作通过外协节点自动完成,大大简化了系统间流程调用的人工操作,避免出现数据丢失或不一致等问题,而RESTful请求方式又使得被调用流程得资源暴露出来更具透明性,不需要考虑上下文及当前状态,极大的降低了路由的复杂度,进一步提高了执行效率。
附图说明
图1是本发明的逻辑部署结构图;
图2是流程注册中心的流程注册方式图;
图3为流程引擎内核的扩展图;
图4为外协节点的设置方式图;
图5为流程调用的路由方式图。
具体实施方式
下面结合附图和实例对本发明进一步详细说明。
如图1所示,本发明主要包括流程注册中心模块、流程引擎内核及扩展模块、节点扩展及流程路由模块。流程注册中心模块将协作系统内的所有流程进行注册,为节点扩展及流程路由模块进行路径规划提供基础,节点扩展及路由模块为分布式系统中流程引擎相互调用提供路径支持,流程引擎内核及扩展模块依靠前两个模块实现流程引擎间相互调用的动作及内容。
整个实现过程可归述为:当协作系统中的服务器启动时,所有流程模板分别将各自所在服务器地址以编号的形式注册在流程注册中心模块,形成一个流程模板列表。当应用系统A中的流程引擎内核及扩展模块发起一个流程实例,并执行到节点扩展及流程路由模块的外协节点时,根据外协节点中配置的外协流程模板编号并通过流程注册查找接口调用流程注册中心模块,得到外协流程模板所在服务器地址,进而发起RESTful请求并执行跨系统调用动作,驱动应用系统B中流程引擎内核及扩展模块发起相应的外协流程实例并执行流转。外协流程实例执行完成之后,同样会根据外协流程模板所配置的应用系统A中流程模板编号通过流程注册查找接口调用流程注册中心模块,得到应用系统A中流程引擎所在服务器地址,进而发RESTful请求并执行返回动作,同时会将外协流程的处理结果数据以JSON的格式发送给应用系统A中的流程引擎内核及扩展模块,以驱动应用系统A中流程实例继续流转。
如图2所示,本发明中流程注册中心模块具体实现如下:
协作系统内的所有流程模板根据编号将其所在服务器地址以列表的形式注册在流程注册中心模块,当应用系统A中的流程引擎内核及扩展模块发起一个流程实例,并执行到节点扩展及流程路由模块的外协节点时,根据外协节点中配置的外协流程模板编号并通过流程注册查找接口调用流程注册中心模块,查询流程模板列表,得到外协流程模板所在服务器地址,进而发起RESTful请求并执行跨系统调用动作,驱动应用系统B中流程引擎内核及扩展模块发起相应的外协流程实例并执行流转;外协流程实例执行完成之后,同样会根据外协流程模板所配置的应用系统A中流程模板编号通过流程注册查找接口查询zookeeper中的流程列表,得到应用系统A中流程引擎所在服务器地址,进而发RESTful请求并执行返回动作,驱动应用系统A中流程实例继续流转。流程注册中心模块基于zookeeper技术实现,当协作系统中的服务器启动时,所有流程模板将其所在服务器地址以编号的形式注册在zookeeper集群的流程注册中心,形成流程模板列表,使得协作系统中的流程能够被外部流程引擎以路由的形式有序的调用。zookeeper集群中流程模板列表的注册方式为:在zookeeper的根节点下,按应用系统标识和访问地址前缀创建第二层节点,并将每一个应用系统内所有流程模板ID和编号添加在各自节点下,形成第三层节点。当某一应用系统出现故障或者断开时,位于第二层节点中相应的应用系统节点及其子节点也会消失。由于zookeeper自身的特性,协作系统内的所有其他节点将自动发现当前节点下的流程模板列表。流程模板编号是流程模板的唯一标识,又是流程模板所在服务器地址必不可少的组成部分,通过查询外协流程编号在zookeeper的流程模板列表位置就可以得到外协流程所在服务器的地址,所以只需在外协节点中配置外协流程编号,即可实现当前流程对外协流程的调用,驱动外协流程进行流转。外协流程执行完成之后,同样会通过原流程的模板编号和流程注册查找接口来查询zookeeper中的流程模板列表,得到原流程的服务器地址,进而返回到原流程的外协节点,驱动其继续流转。
如图3所示,本发明中流程引擎内核及扩展模块具体实现如下:
当应用系统A中的流程引擎内核及扩展模块执行流程实例到外协节点并通过流程注册中心模块调用应用系统B中的外协流程时,会将当前流程实例的处理意见及待办信息以参数的形式发送给外协流程,然后将操作记录记录到后台数据库中。调用动作包括如下:
a)启动:根据外协流程模板编号,启动一个新的流程;
b)提交:根据外协流程模板编号、实例ID和节点参数,驱动流程流转;
c)拿回:根据外协流程模板编号、实例ID和节点参数,取消上一次的送审;
d)跳转:根据外协流程模板编号、实例ID和节点参数,直接跳转至流程中的某一个节点;
e)结束:根据外协流程模板编号、实例ID直接结束一个流程。
若当前调用动作为启动一个外协流程,则需要记录到数据库的内容包括:当前流程的启动动作、当前流程处理人的处理权限、外协流程实例ID、外协流程实例的全局属性、流程跟踪信息;若当前调用动作为提交、拿回、跳转,结束中的一种,则需要记录到数据库的内容包括:当前流程的提交动作、当前流程代办的已处理动作以及为外协流程中的下一步骤生成新待办动作、当前流程处理人意见以及外协流程中的下一步骤的处理人意见。应用系统B中的外协流程执行完成返回应用系统A时,会将外协流程的处理结果数据以JSON的格式发送给应用系统A中的流程引擎内核及扩展模块,以驱动原流程继续流转。
如图4和图5所示,本发明中节点扩展及流程路由模块具体实现如下:
节点扩展是指扩展流程引擎的节点类型,即外协节点,外协节点中需要配置外协流程在流程注册中心模块中的注册编号及当前流程的输出参数,包括处理人、是否同步,若输出参数中的是否同步属性设置为“是”,则应用系统A中的流程引擎执行到外协节点时,会等待直到外协流程流转完成,然后继续执行后续的流程;若输出参数中的是否同步属性设置为“否”,则应用系统A中的流程引擎执行到外协节点时,提交调用动作,直接进行当前流程后续的流转。流程路由是指流程引擎的RESTful请求地址,通过在流程注册中心模块中查找外协节点中配置的外协模板编号和其所在服务器地址前缀来获得,且支持外部调用。RESTful请求是通过访问指定URL的形式来实现的,根据流程引擎内核及扩展模块发起的调用动作的不同,URL的组合形式分为两种,若调用动作为启动一个外协流程,则其中URL形式为:服务器地址前缀+所述的调用动作+流程模板ID,且外协流程启动后会将外协流程实例ID发送给原流程引擎;若调用动作为提交、拿回、跳转、结束一个外协流程,则URL形式为服务器地址前缀+所述的调用动作+流程模板ID+流程实例ID。当流程引擎内核及扩展模块执行流程实例到节点扩展及流程路由模块的外协节点时,会根据外协节点的配置信息获取外协流程模板的路由,进而发起RESTful请求并调用外协流程,并提交业务相关的JSON数据。同理,外协流程流转结束之后也通过自身的外协节点返回到原流程实例的外协节点处,驱动原流程实例继续流转。
Claims (5)
1.一种基于分布式部署的跨系统流程引擎协作系统,其特征在于:所述协作系统中具有多个应用系统,每个应用系统中分别部署有流程引擎内核及扩展模块:在需要跨系统调用外协流程的位置部署节点扩展及流程路由模块,节点扩展及流程路由模块中配置了外协流程模板在流程注册中心模块中的注册信息,其中:
流程注册中心模块:负责管理协作系统中所有已存在流程模板的地址,供流程引擎内核及扩展模块通过流程注册查找接口进行调用,即,流程注册中心模块使得协作系统中所有的流程模板能够有序地被流程引擎内核及扩展模块以路由的形式调用;当协作系统中的服务器启动时,所有流程模板分别将各自所在服务器地址以编号的形式注册在流程注册中心模块,形成一个流程模板列表;当应用系统A中的流程引擎内核及扩展模块发起一个流程实例,并执行到节点扩展及流程路由模块的外协节点时,根据外协节点中配置的外协流程模板编号并通过流程注册查找接口调用流程注册中心模块,得到外协流程模板所在服务器地址,进而发起RESTful请求并执行跨系统调用动作,驱动应用系统B中流程引擎内核及扩展模块发起相应的外协流程实例并执行流转;外协流程实例执行完成之后,同样会根据外协流程模板所配置的应用系统A中流程模板编号通过流程注册查找接口调用流程注册中心模块,得到应用系统A中流程引擎所在服务器地址,进而发RESTful请求并执行返回动作,驱动应用系统A中流程实例继续流转;
流程引擎内核及扩展模块:负责根据外协流程的调用动作为协作系统提供流程节点的流转、待办的生成、审批意见、操作历史记录的功能;当应用系统A中的流程引擎内核及扩展模块执行流程实例到外协节点并通过流程注册中心模块调用应用系统B中的外协流程时,会将当前流程实例的处理意见及待办信息以参数的形式发送给外协流程,然后将操作记录到后台数据库中,调用动作包括启动、提交、拿回、跳转,结束;若当前调用动作为启动一个外协流程,则需要记录到数据库的内容包括:当前流程的启动动作、当前流程处理人的处理权限、外协流程实例ID、外协流程实例的全局属性、流程跟踪信息;若当前调用动作为提交、拿回、跳转,结束中的一种,则需要记录到数据库的内容包括:当前流程的提交动作、当前流程代办的已处理动作以及为外协流程中的下一步骤生成新待办动作、当前流程处理人意见以及外协流程中的下一步骤的处理人意见;应用系统B中的外协流程执行完成返回应用系统A时,会将外协流程的处理结果数据以JSON的格式发送给应用系统A中的流程引擎内核及扩展模块,以驱动原流程继续流转;
节点扩展及流程路由模块:负责为流程引擎内核及扩展模块调用流程注册中心模块;节点扩展是指扩展流程引擎的节点类型,即外协节点,外协节点中需要配置外协流程在流程注册中心模块中的注册编号及当前流程的输出参数,包括处理人、是否同步,若输出参数中的是否同步属性设置为“是”,则应用系统A中的流程引擎执行到外协节点时,会等待直到外协流程流转完成,然后继续执行后续的流程;若输出参数中的是否同步属性设置为“否”,则应用系统A中的流程引擎执行到外协节点时,提交调用动作,直接进行当前流程后续的流转;流程路由是指流程引擎的RESTful请求地址,通过在流程注册中心模块中查找外协节点中配置的外协模板编号和其所在服务器地址前缀来获得,且支持外部调用;所述RESTful请求是通过访问指定URL的形式来实现的,根据流程引擎内核及扩展模块发起的调用动作的不同,URL的组合形式分为两种,若调用动作为启动一个外协流程,则其中URL形式为:服务器地址前缀+所述的调用动作+流程模板ID,且外协流程启动后会将外协流程实例ID发送给原流程引擎;若调用动作为提交、拿回、跳转、结束一个外协流程,则URL形式为服务器地址前缀+所述的调用动作+流程模板ID+流程实例ID;当流程引擎内核及扩展模块执行流程实例到节点扩展及流程路由模块的外协节点时,会根据外协节点的配置信息获取外协流程模板的路由,进而发起RESTful请求并调用外协流程;同理,外协流程流转结束之后也通过自身的外协节点返回到原流程实例的外协节点处,驱动原流程实例继续流转。
2.根据权利要求1所述的一种基于分布式部署的跨系统流程引擎协作系统,其特征在于:所述流程注册中心模块基于zookeeper技术实现,协作系统中的所有流程模板将其所在服务器地址以编号的形式注册在zookeeper集群的流程注册中心,使得协作系统中所有的流程能够被外部流程引擎以路由的形式有序的调用。
3.根据权利要求1或2所述的一种基于分布式部署的跨系统流程引擎协作系统,其特征在于:所述流程注册中心模块中,流程注册方式为:第一层为根节点,然后按应用系统标识和访问地址前缀创建第二层节点,并将每一个应用系统内所有流程模板ID和编号添加在各自节点下,形成第三层节点;当某一应用系统出现故障或者断开时,位于第二层节点中相应的应用系统节点及其子节点也会消失;基于流程注册中心模块自身的特性,第二层节点中所有其他节点将能够自动发现当前节点下的流程模板列表。
4.根据权利要求1所述的一种基于分布式部署的跨系统流程引擎协作系统,其特征在于:流程引擎内核及扩展模块中的启动:根据外协流程模板编号,启动一个新的流程;提交:根据外协流程模板编号、实例ID和节点参数,驱动流程流转;拿回:根据外协流程模板编号、实例ID和节点参数,取消上一次的送审;跳转:根据外协流程模板编号、实例ID和节点参数,直接跳转至流程中的某一个节点;结束:根据外协流程模板编号、实例ID直接结束一个流程。
5.一种基于分布式部署的跨系统流程引擎协作方法,其特征在于实现步骤如下:
(1)协作系统内的服务器启动时,会将所有应用系统中的流程模板以编号的形式注册在流程注册中心模块,形成一个模板列表;注册方式为:在根节点下,按应用系统标识和访问地址前缀创建第二层节点,并将每一个应用系统内所有流程模板ID和编号添加在各自节点下,当某一应用系统出现故障或者断开时,位于第二层节点中相应的应用系统节点及其子节点也会消失;基于流程注册中心模块自身的特性,第二层节点中所有其他节点将能够自动发现当前节点下的流程模板列表;
(2)当前应用系统中流程引擎内核及扩展模块发起一个流程实例,执行到节点扩展及流程路由模块配置的外协节点时,首先需要解析调用动作,包括如下:
a)启动:根据外协流程模板编号,启动一个新的外协流程;
b)提交:根据外协流程模板编号、实例ID和节点参数,驱动流程流转;
c)拿回:根据外协流程模板编号、实例ID和节点参数,取消上一次的送审;
d)跳转:根据外协流程模板编号、实例ID和节点参数,直接跳转至流程中的某一个节点;
e)结束:根据外协流程模板编号、实例ID直接结束一个流程;
若调用动作为启动一个外协流程,则根据外协节点所配置的外协模板编号,在流程注册中心模块中检索流程模板列表,找到外协流程模板所在服务器地址前缀和外协流程模板ID,若调用动作为提交、拿回、跳转、结束中的一种,则还需要查找外协流程实例ID;
(3)根据步骤(2)中查找得到的调用动作、外协流程模板所在服务器地址前缀和流程模板ID及流程实例ID,当前应用系统的流程引擎及扩展模块发起RESTful请求来调用外协流程并驱动其流转;所述RESTful请求是通过访问指定URL的形式来实现的,若调用动作为启动一个外协流程,则其中URL形式为:服务器地址前缀+所述的调用动作+流程模板ID,且外协流程启动后会将外协流程实例ID发送给原流程引擎;若调用动作为提交、拿回、跳转、结束一个外协流程,则URL形式为服务器地址前缀+所述的调用动作+流程模板ID+流程实例ID;
(4)当前应用系统的流程引擎及扩展模块在执行调用外协流程的同时,将操作记录记录到后台数据库中,若当前调用动作为启动一个外协流程,则需要记录到数据库的内容包括:当前流程的启动动作、当前流程处理人的处理权限、外协流程实例ID、外协流程实例的全局属性、流程跟踪信息;若当前调用动作为提交、拿回、跳转,结束中的一种,则需要记录到数据库的内容包括:当前流程的提交动作、当前流程代办的已处理动作以及为外协流程中的下一步骤生成新待办动作、当前流程处理人意见以及外协流程中的下一步骤的处理人意见;
(5)当前应用系统的流程引擎及扩展模块在执行调用外协流程的时还会查询节点扩展及流程路由模块中配置的是否同步属性,若属性值为“是”,则当前应用系统的流程实例会在外协节点等待外协流程的执行,外协流程执行完成之后,同样会根据外协流程模板所配置的原应用系统中流程模板编号通过流程注册查找接口调用流程注册中心模块,得到原应用系统中流程引擎所在服务器地址,进而发RESTful请求并执行返回动作,同时会将外协流程的处理结果数据以JSON的格式发送给原应用系统,驱动原应用系统中流程实例继续流转;若属性值为“否”,则当前应用系统中的流程引擎提交完调用动作,直接进行当前流程后续的流转。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610949938.7A CN106408272B (zh) | 2016-10-26 | 2016-10-26 | 一种基于分布式部署的跨系统流程引擎协作系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610949938.7A CN106408272B (zh) | 2016-10-26 | 2016-10-26 | 一种基于分布式部署的跨系统流程引擎协作系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106408272A CN106408272A (zh) | 2017-02-15 |
CN106408272B true CN106408272B (zh) | 2019-05-21 |
Family
ID=58014069
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610949938.7A Active CN106408272B (zh) | 2016-10-26 | 2016-10-26 | 一种基于分布式部署的跨系统流程引擎协作系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106408272B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109801029B (zh) * | 2017-11-16 | 2021-04-23 | 航天信息股份有限公司 | 跨节点业务协作系统及方法 |
CN109299946B (zh) * | 2018-07-27 | 2021-12-10 | 创新先进技术有限公司 | 一种支付流程的处理方法和装置 |
CN109088773B (zh) * | 2018-08-24 | 2022-03-11 | 广州视源电子科技股份有限公司 | 故障自愈方法、装置、服务器及存储介质 |
CN109583746B (zh) * | 2018-11-26 | 2020-10-30 | 东软集团股份有限公司 | 设置流程的路由规则的方法及装置、可读存储介质 |
CN109767106A (zh) * | 2018-12-29 | 2019-05-17 | 中国联合网络通信集团有限公司 | 跨组织流程处理方法及装置 |
CN110502761B (zh) * | 2019-08-27 | 2023-09-19 | 北京金山数字娱乐科技有限公司 | 一种翻译平台及其负载调整方法 |
CN110675130A (zh) * | 2019-09-30 | 2020-01-10 | 佛山市众联成云科技有限公司 | 一种跨主体的工作流协同方法 |
CN111767043B (zh) * | 2020-06-24 | 2024-01-30 | 北京思特奇信息技术股份有限公司 | 基于业务调度引擎的跨系统业务调度方法和系统 |
CN112132530B (zh) * | 2020-08-17 | 2023-11-07 | 珠海市卓轩科技有限公司 | 可视化动态流程编排方法及系统 |
CN115955481B (zh) * | 2022-12-12 | 2024-06-14 | 支付宝(杭州)信息技术有限公司 | 应急响应方法和装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000014618A2 (en) * | 1998-08-24 | 2000-03-16 | Fujitsu Limited | Workflow system and method |
WO2004114061A2 (en) * | 2003-06-12 | 2004-12-29 | Reuters America | Business process automation through the use of workflow |
CN100407146C (zh) * | 2003-12-18 | 2008-07-30 | 国际商业机器公司 | 管理分布式资源的管理系统和方法 |
CN101576978A (zh) * | 2009-06-16 | 2009-11-11 | 北京环太中科软件股份有限公司 | 分布式工作流制定方法、执行方法及执行系统 |
CN103475702A (zh) * | 2013-09-04 | 2013-12-25 | 重庆大学 | 一种基于移动终端的网络化外协加工进度实时管控方法 |
CN103761106A (zh) * | 2014-02-07 | 2014-04-30 | 张战 | 流程的控制方法及流程引擎 |
CN105183441A (zh) * | 2015-05-22 | 2015-12-23 | 京华信息科技股份有限公司 | 一种采用微内核架构实现的工作流管理系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9244730B2 (en) * | 2009-02-11 | 2016-01-26 | International Business Machines Corporation | Application workflow integration subsystem |
-
2016
- 2016-10-26 CN CN201610949938.7A patent/CN106408272B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000014618A2 (en) * | 1998-08-24 | 2000-03-16 | Fujitsu Limited | Workflow system and method |
WO2004114061A2 (en) * | 2003-06-12 | 2004-12-29 | Reuters America | Business process automation through the use of workflow |
CN100407146C (zh) * | 2003-12-18 | 2008-07-30 | 国际商业机器公司 | 管理分布式资源的管理系统和方法 |
CN101576978A (zh) * | 2009-06-16 | 2009-11-11 | 北京环太中科软件股份有限公司 | 分布式工作流制定方法、执行方法及执行系统 |
CN103475702A (zh) * | 2013-09-04 | 2013-12-25 | 重庆大学 | 一种基于移动终端的网络化外协加工进度实时管控方法 |
CN103761106A (zh) * | 2014-02-07 | 2014-04-30 | 张战 | 流程的控制方法及流程引擎 |
CN105183441A (zh) * | 2015-05-22 | 2015-12-23 | 京华信息科技股份有限公司 | 一种采用微内核架构实现的工作流管理系统 |
Also Published As
Publication number | Publication date |
---|---|
CN106408272A (zh) | 2017-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106408272B (zh) | 一种基于分布式部署的跨系统流程引擎协作系统及方法 | |
JP5940149B2 (ja) | 外部データ・ソースからのデータを用いるデータベース・クエリ応答の強化 | |
CN109087004B (zh) | 一种基于领域模型的公共工作流引擎系统 | |
CN111092933A (zh) | 用于微服务架构的业务流程管理方法、系统、介质及电子设备 | |
US7451136B2 (en) | System and method for searching multiple disparate search engines | |
CN111190924A (zh) | 跨域的数据查询方法及装置 | |
CN103324487B (zh) | 一种流程引擎应用服务化的实现方法 | |
CN111177486B (zh) | 一种分布式图计算过程中的消息传递方法和装置 | |
US10817815B2 (en) | Providing attendees from a different organization with supplemental information related to a calendar event | |
CN110083706A (zh) | 一种面向物联网微服务框架及其服务组合方法 | |
US20120158453A1 (en) | Workflow processing system for supporting multi-tenant, and method thereof | |
US20130117290A1 (en) | Platform for software as a service and method for provisioning service for supporting multi-tenants using the platform | |
CN101814084A (zh) | Api管理方法及系统 | |
CN104423982B (zh) | 请求的处理方法和处理设备 | |
CN112565095B (zh) | 一种互联网专线自动发现分析方法及装置 | |
CN109948710A (zh) | 基于api相似度的微服务识别方法 | |
US8019630B2 (en) | Dynamic service scheduling | |
CN101727624A (zh) | 一种展现任务列表的方法及系统 | |
CN105871998A (zh) | 一种数据展示方法及装置 | |
CN103577931A (zh) | 一种基于语义的可复用软件服务管理系统及其实现方法 | |
WO2024193536A1 (zh) | 信息处理方法及装置 | |
CN111913986A (zh) | 一种查询优化方法及装置 | |
CN100583926C (zh) | 一种面向位置服务的电信业务生成方法和系统 | |
US9934275B2 (en) | Query union and split | |
CN110298630A (zh) | 一种工作流引擎 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |