CN106600226B - 用于优化流程管理系统的方法及装置 - Google Patents
用于优化流程管理系统的方法及装置 Download PDFInfo
- Publication number
- CN106600226B CN106600226B CN201611146326.0A CN201611146326A CN106600226B CN 106600226 B CN106600226 B CN 106600226B CN 201611146326 A CN201611146326 A CN 201611146326A CN 106600226 B CN106600226 B CN 106600226B
- Authority
- CN
- China
- Prior art keywords
- node
- task
- module
- address
- countersigning
- 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
- 238000000034 method Methods 0.000 title claims abstract description 236
- 230000008569 process Effects 0.000 title claims abstract description 191
- 230000002159 abnormal effect Effects 0.000 claims abstract description 13
- 238000013507 mapping Methods 0.000 claims description 35
- 230000000694 effects Effects 0.000 claims description 26
- 230000003213 activating effect Effects 0.000 claims description 5
- 238000005096 rolling process Methods 0.000 claims 2
- 230000006870 function Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011112 process operation Methods 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
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
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Engineering & Computer Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Operations Research (AREA)
- Economics (AREA)
- Marketing (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer And Data Communications (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种用于优化流程管理系统的方法及系统,该方法包括:捕获自动任务节点的异常信息并存储,阻止任务的回滚;根据流程实例的标识信息查询当前流程停留的节点;以及根据当前流程停留的节点的标识信息生成新的任务并执行。该方法通过捕获自动任务节点对应的任务发生异常时的异常信息并存储,并在当前停留的节点生成新的任务继续执行,从而能够防止流程的中断,节省了大量的资源。
Description
技术领域
本发明涉及工作流技术领域,具体而言,涉及一种用于优化流程管理系统的方法及装置。
背景技术
Activiti是一项新的基于Apache许可的开源BPM(Business Process Model)平台,从基础开始构建,旨在提供支持新的BPMN(Business Process Model and Notation)2.0标准,包括支持对象管理组(OMG)。Activiti是一种轻量级、可嵌入的BPM引擎。
BPMN 2.0对比于第一个版本,其最重要的变化在于其定义了流程的元模型和执行语义,即它自己解决了存储、交换和执行的问题。这代表着BPMN 2.0流程定义模型不仅仅可以在任何兼容BPMN 2.0的引擎中执行,而且也可以在图形编辑器间交换。作为一个标准,BPMN 2.0统一了工作流社区。
以开源的Activiti作为基础开发的、独立于业务系统的对外提供服务的流程管理系统,业务系统通过服务调用来完成整个业务流程生命周期的管理,在调用服务前流程管理系统会对业务系统进行租户(即业务系统)权限校验,只有校验通过的业务系统才能进行服务调用。
流程管理系统中有一些自动任务节点不需要人工干预,但这些任务受到网络环境等因素的制约,一旦执行失败将会导致流程的中断,以致整个业务流程需要从头开始执行,浪费了很多资源。
发明内容
有鉴于此,本发明提供一种用于优化流程管理系统的方法及装置,以用于部分或者全部解决上述现有技术中存在的技术问题。
本发明的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本发明的实践而习得。
根据本公开的一个方面,提供一种用于优化流程管理系统的方法,包括:
捕获自动任务节点的异常信息并存储,阻止任务的回滚;
根据流程实例的标识信息查询当前流程停留的节点;以及
根据当前流程停留的节点的标识信息生成新的任务并执行。
在本公开的一种示例性实施例中,还包括:
判断当前的节点是否为会签节点;
当所述节点为会签节点时,读取流程建模时配置的参与会签人员;
根据所述参与会签人员自动生成集合变量;
激活所述会签节点生成会签任务。
在本公开的一种示例性实施例中,还包括:
将需要查阅日志文件的业务系统的标识信息设置在logback提供的MDC上下文中;
输出以所述业务系统的标识信息命名的相应日志文件。
在本公开的一种示例性实施例中,还包括:
配置流程图时,将所述自动任务节点调用的网络服务的地址映射为一个唯一标识;
配置一所述唯一标识与调用的所述网络服务的地址的映射表;
发布所述流程图并执行流程时,在所述自动任务节点根据所述唯一标识和所述映射表查询调用的所述网络服务的地址。
在本公开的一种示例性实施例中,还包括:
当系统发生迁移时,所述自动任务任务节点调用的所述网络服务的地址变更;
修改所述映射表中的相应的调用的所述网络服务的地址。
在本公开的一种示例性实施例中,还包括:
所述流程管理系统提供的流程设计器使用预设协议向相应的业务系统发送获取业务信息的请求;
所述流程设计器接收所述业务系统返回的预设数据格式的所述业务信息。
根据本公开的一个方面,提供一种用于优化流程管理系统的装置,包括:
异常捕获模块,用于捕获自动任务节点的异常信息并存储,阻止任务的回滚;
停留节点查询模块,用于根据流程实例的标识信息查询当前流程停留的节点;以及
任务创建模块,用于根据当前流程停留的节点的标识信息生成新的任务并执行。
在本公开的一种示例性实施例中,还包括:
判断模块,用于判断当前的节点是否为会签节点;
读取模块,用于当所述节点为会签节点时,读取流程建模时配置的参与会签人员;
集合变量生成模块,用于根据所述参与会签人员自动生成集合变量;
会签任务生成模块,用于激活所述会签节点生成会签任务。
在本公开的一种示例性实施例中,还包括:
租户标识写入模块,用于将需要查阅日志文件的业务系统的标识信息设置在logback提供的MDC上下文中;
日志文件输出模块,用于输出以所述业务系统的标识信息命名的相应日志文件。
在本公开的一种示例性实施例中,还包括:
地址映射模块,用于配置流程图时,将所述自动任务节点调用的网络服务的地址映射为一个唯一标识;
映射表配置模块,用于配置一所述唯一标识与调用的所述网络服务的地址的映射表;
地址查询模块,用于发布所述流程图并执行流程时,在所述自动任务节点根据所述唯一标识和所述映射表查询调用的所述网络服务的地址。
在本公开的一种示例性实施例中,还包括:
变更地址模块,用于当系统发生迁移时,所述自动任务任务节点调用的所述网络服务的地址变更;
修改映射表模块,用于修改所述映射表中的相应的调用的所述网络服务的地址。
在本公开的一种示例性实施例中,还包括:
请求发送模块,用于所述流程管理系统提供的流程设计器使用预设协议向相应的业务系统发送获取业务信息的请求;
业务信息接收模块,用于所述流程设计器接收所述业务系统返回的预设数据格式的所述业务信息。
本发明的用于优化流程管理系统的方法及装置,通过捕获自动任务节点对应的任务发生异常时的异常信息并存储,并在当前停留的节点生成新的任务继续执行,从而能够防止流程的中断,节省了大量的资源。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。
附图说明
通过参照附图详细描述其示例实施例,本发明的上述和其它目标、特征及优点将变得更加显而易见。
图1是根据一示例性实施方式示出的第一种用于优化流程管理系统的方法的流程图。
图2是根据一示例性实施方式示出的第二种用于优化流程管理系统的方法的流程图。
图3是根据一示例性实施方式示出的第三种用于优化流程管理系统的方法的流程图。
图4是根据一示例性实施方式示出的第四种用于优化流程管理系统的方法的流程图。
图5是根据一示例性实施方式示出的第五种用于优化流程管理系统的方法的流程图。
图6是根据一示例性实施方式示出的一种用于优化流程管理系统的装置的框图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本发明将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。附图仅为本发明的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本发明的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知结构、方法、装置、实现、材料或者操作以避免喧宾夺主而使得本发明的各方面变得模糊。
图1是根据一示例性实施方式示出的第一种用于优化流程管理系统的方法的流程图。
本实施例中,以所述流程管理系统以开源的Activiti作为基础开发的、独立于业务系统并采用SOA(Service-Oriented Architecture,面向服务的体系结构)的方式对外提供服务的流程管理系统为例进行说明,对外可以提供Hessian和rest两种协议的服务,业务系统可以通过服务调用来完成整个业务流程生命周期的管理。但本公开对此不作限定。
SOA是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。
Hessian是一个轻量级的remoting onhttp工具,使用简单的方法提供了RMI的功能。相比WebService,Hessian更简单、快捷。采用的是二进制RPC协议,因为采用的是二进制协议,所以它很适合于发送二进制数据。
业务流程是将具体业务的处理过程离散成一系列的有顺序、有组织、有逻辑的业务节点或者任务,并在计算机中以恰当的模型进行表示和自动运算,它属于计算机支持的协同工作(Computer Supported Cooperative Work,CSCW)的一部分。
如图1所示,在步骤S110中,捕获自动任务节点的异常信息并存储,阻止任务的回滚。
其中,所述自动任务节点可以为serviceTask节点。当serviceTask节点出现异常时,捕获该异常并将异常信息记录例如在数据库中。
自动任务节点是指,在启动流程之前,准备流程所需要的控制流程进度的变量数据,启动流程之后,无需外部干预,就能够按照预定义的流程执行。
本实施例中,可以通过重写Activiti代码的方式,在serviceTask节点捕获异常,并且把异常信息存储在数据库中,不再向外抛出异常,这样就可以阻止任务的回滚。
在步骤S120中,根据流程实例的标识信息(例如流程实例ID)查询当前流程停留的节点。
本实施例中,可以通过Activiti对外提供的查询执行中节点的API,根据流程实例ID就能知道当前流程停留在哪个节点上。
所述流程实例是流程定义的运行实例,它代表了一个待完成的业务。当用户调用API启动了流程后,会产生一条流程实例。流程实例被用户操作,会产生不同的运行状态:预启动,运行,已挂起,已终止,失败,结束。流程实例的状态在不同的操作下可以互相转换。当流程实例在运行过程中,因为系统异常或者数据异常等原因导致流程实例的流转失败。
在步骤S130中,根据当前流程停留的节点的标识信息(例如节点ID)生成新的任务并执行。
本实施例中,可以通过Activiti对外提供的创建任务的API,在当前流程节点调用创建任务的API形成新的任务,使用这种方式使异常的serviceTask节点停留在当前节点并且能够继续执行。
现有技术中Activiti为了保证一致性,在serviceTask节点出现异常时会进行任务的回滚导致任务不能停留在当前的serviceTask节点,从而导致流程的中断。本发明实施例提供的用于优化流程管理系统的方法,通过在serviceTask节点捕获异常并存储,不再向外抛出异常阻止任务的回滚,而且通过查询得到当前流程停留在哪个节点上,在当前流程节点调用创建任务的API形成新的任务,使用这种方式使异常的serviceTask节点停留在当前节点并且能够继续执行,从而使得中断的流程能够继续执行,能够节省大量的资源。
应清楚地理解,本发明描述了如何形成和使用特定示例,但本发明的原理不限于这些示例的任何细节。相反,基于本发明公开的内容的教导,这些原理能够应用于许多其它实施方式。
在流程业务管理时,任务通常是由一个人去处理的,而多个人同时处理一个任务,这种任务称之为会签任务。这种业务需求也很常见,如一个请款单,领导审批环节中,就需要多个部门领导签字。现有的流程管理系统中,流程会签时需要在代码中显式的声明一个集合变量,这种方式导致开发人员经常遗漏设置变量导致流程错误。
图2是根据一示例性实施方式示出的第二种用于优化流程管理系统的方法的流程图。
本发明实施方式的用于优化流程管理系统的方法,可以通过继承会签节点的实现类,自动实现创建会签节点的方法,读取配置在创建会签实例前把所需的条件准备完毕,用此方法可以避免每次开发时都要显式声明一个集合变量的麻烦。
如图2所示,在步骤S210中,判断当前的节点是否为会签节点;当所述节点为会签节点时,进入下一步;反之,跳转到步骤S250结束本次操作。
在步骤S220中,读取流程建模时配置的参与会签人员。
参与会签人员,是指对业务流程进行流程建模时指定的会签节点的潜在的处理人,管理者。
会签节点的潜在处理人指工作项的所有者,负责完成该任务。会签节点的潜在处理人可以由其他人代理,也可以进行改变,即将工作项重新分配给其他人。工作项,是流程节点的运行实例,是业务操作者的待处理业务。业务操作者通过查询属于自己的待处理的工作项获取任务并完成任务,进而将流程实例推向下一个节点,为下一个业务操作者产生新的任务。
会签节点的管理者拥有特殊的权限,如对任务进行重新分配等操作。
在步骤S230中,根据所述参与会签人员自动生成集合变量。
在步骤S240中,激活所述会签节点生成会签任务。
在步骤S250中,结束。
本发明实施例提供的用于优化流程管理系统的方法,开发会签时不用再显式声明集合变量,会签节点开发时省去了设置集合变量的麻烦,从而降低了流程出错的概率。
流程管理系统对外提供服务,同时会记录业务系统的访问日志,日志内容通过租户(即业务系统)的ID进行区分,这样多个租户访问时访问日志就交叉的记录在同一个日志文件中,一个租户查看访问日志时就会看到其他租户的访问日志,现有的设计方式不能满足系统的安全性和租户查看日志的便利性。
图3是根据一示例性实施方式示出的第三种用于优化流程管理系统的方法的流程图。
MDC(Mapped Diagnostic Context)是logback提供的一个方便在多线程条件下记录日志的功能,在多租户调用中每个请求都会带有租户的信息(例如租户账号(ID)、密码等),不同的租户开启不同的线程进行处理,也就是说可以在需要打印日志的地方把租户ID设置进MDC上下文中,输出的日志文件名可以例如以租户ID为变量,那么最终输出的日志文件将会是以租户ID(tenantId)来标识的日志文件,从而达到分租户查阅日志的目的。
logback是log4j创始人设计的一个开源日志组件。Logback当前分成三个模块:logback-core,logback-classic和logback-access。logback-access访问模块与Servlet容器集成提供通过Http来访问日志的功能。
在示例性实施例中,用于优化流程管理系统的方法可以包括以下步骤:将需要查阅日志文件的业务系统的标识信息设置在logback提供的MDC上下文中,例如可以通过filter或者自己在Action中通过命令MDC.put("userId",DEFAULT_USERID);向MDC设置值;输出以所述业务系统的标识信息命名的相应日志文件,例如可以在log4j的配置文件中通过[%X{userId}]提取出用户设置的值并输出到日志,如下
log4j.appender.layout.ConversionPattern=%d[%t]%-5p-%c#%M%x-%m(%r ms)%n[%X{userId}]。
下面通过图3对其进行举例说明。
如图3所示,在步骤S310中,配置基于用户会话的SiftingAppender,设置租户变量tenantId。
其中SiftingAppender是MDC中一个全能的追加器。它可以基于任何给定的实时属性分开(或者筛选)日志。例如,SiftingAppender可以基于用户会话分开日志事件,这样,可以为每一个租户建立一个独立的日志文件。
在步骤S320中,从流程管理系统上下文获取租户ID tenantId。
在步骤S330中,使用logback的API(Application,应用程序接口)设置日志输出上下文。
在步骤S340中,流程管理系统输出日志。
在步骤S350中,SiftingAppender判断所述流程管理系统输出日志的上下文中是否有tenantId;当没有tenantId时,进入步骤S360;当有tenantId时,跳转到步骤S370。
在步骤S360中,输出其他日志文件,并进入步骤S380。
在步骤S370中,输出以tenantId命名的日志文件。
在步骤S380中,结束。
本发明实施例提供的用于优化流程管理系统的方法,利用logback的MDC上下文实现了分租户输出日志文件,从而实现了分租户查阅日志的功能,能够保证系统的安全性和用户查询的便利性。
自动任务节点例如serviceTask节点允许调用远程的网络(webService)服务,现有技术中webService的地址是维护在流程图里的,流程图一旦在流程管理系统内发布运行就不能再进行更改。此时如果webService的地址发生变更,就需要修改流程图再发布新的流程图进流程管理系统,这将导致运行中的流程不能找到webService的地址,从而导致运行中的流程中断。
图4是根据一示例性实施方式示出的第四种用于优化流程管理系统的方法的流程图。
如图4所示,在步骤S410中,配置流程图时,将所述自动任务节点调用的网络服务的地址映射为一个唯一标识(唯一ID)。
在步骤S420中,配置一所述唯一标识与调用的所述网络服务的地址的映射表。
本实施例中,采用数据库表映射的方式,serviceTask节点配置调用的网络服务的地址时设置一个唯一的ID,这个ID和数据库表中的所述映射表的主键一致,在这个映射表中主键和真实的调用的网络服务的地址匹配。
在步骤S430中,发布所述流程图并执行流程时,在所述自动任务节点根据所述唯一标识和所述映射表查询调用的所述网络服务的地址。
在流程管理系统启动时加载所述映射表中的内容到内存中。在执行serviceTask节点时,根据配置的唯一ID从内存中获取真实的调用的网络服务的地址。
继续参考图4,在示例性实施例中,用于优化流程管理系统的方法还可以包括步骤S440,其中,在步骤S440中,当系统发生迁移时,所述自动任务任务节点调用的所述网络服务的地址变更。
继续参考图4,在示例性实施例中,用于优化流程管理系统的方法还可以包括步骤S450,其中,在步骤S450中,修改所述映射表中的相应的调用的所述网络服务的地址。
如果serviceTask节点调用的网络服务的地址发生变化,只需要修改数据库中映射表的相应内容而不用修改流程图,也不用发布新的流程图进流程管理系统中,也不会对正在运行的流程造成影响。
本发明实施例提供的用于优化流程管理系统的方法,利用数据库表映射的方式维护webService地址,方便了系统运维,并降低了由于webService地址迁移对正在运行中的流程带来的影响。
系统开发时有三个参与者,分别是:流程管理系统、业务系统(租户)以及流程设计器。流程管理系统提供流程引擎,负责流程图的解析,流程的启动、完成、查询等;业务系统调用流程管理系统发布的服务完成业务流程;流程设计器负责业务系统的建模。
本实施例中,可以使用Activiti Eclipse流程设计器设计Activiti流程,使用标准的BPMN2.0流程定义文件来描述工作流的定义。BPMN2.0流程定义文件是一个符合行业标准的XML格式的文件。在这个文件中包含了流程的流转序列,步骤节点以及各个节点上相关的用户,变量信息等流程元素。在BPMN2.0XML流程定义文件中还包含了各个流程元素在定义中的显示位置等信息,从而可以以图形化的方式来显示或编辑流程定义文件。目前已经有多种BPMN2.0流程定义文件的可视化编辑器。Activiti中提供了2种定义文件的可视化编辑器:Web Application形式的Activiti Modeler和Eclipse插件形式的流程编辑器。Activiti Modeler必须部署在Web应用服务器中才能通过Web浏览器来使用而Eclipse插件形式的编辑器可以在Eclipse中直接使用,更好的结合了Activiti的流程设计和程序编码。在Activiti5.6版之后,Activiti Modeler已经不再包含在Activiti的下载中。
其中,流程建模时需要根据业务系统的需要设置流程任务的权限比如任务的执行人、执行角色、任务的表单路径等,现有技术中这些属性都必须手工录入到流程设计器中,效率比较低下而且容易出错。
图5是根据一示例性实施方式示出的第五种用于优化流程管理系统的方法的流程图。
如图5所示,在步骤S510中,所述流程管理系统提供的流程设计器使用预设协议向相应的业务系统发送获取业务信息的请求。
所述流程设计器用于流程建模,流程建模时需要用到业务系统(租户)的用户、角色和表单等业务信息,那么这些数据完全可以由业务系统通过服务的方式提供。
本实施例中,所述流程设计器可以指定使用rest协议和预设数据格式(例如json),向所述业务系统发送获取业务信息的请求。
在步骤S520中,所述流程设计器接收所述业务系统返回的预设数据格式的所述业务信息。
业务系统接收到所述请求后,使用rest协议发布服务并返回指定的预设数据格式(例如json)的业务信息。
所述流程设计器拿到json格式的数据后展示在页面上供开发者选择,可以省去手动录入的麻烦,并降低了出错的概率,以及提高了流程建模的效率。
在Eclipse项目中可以直接通过创建Activiti Diagram的形式来创建一个流程定义文件并在可视化编辑器中编辑。如果项目中已经存在BPMN2.0流程定义XML文件,双击该文件Eclipse插件会自动生成一个后缀为.activiti的流程可视化编译文件。双击该文件可在可视化流程编辑器中打开该流程。
继续参考图5,在示例性实施例中,用于优化流程管理系统的方法还可以包括步骤S530,其中,在步骤S530中,所述流程设计器向所述流程管理系统发布流程图。
当流程定义文件设计完成后,可以使用以下的API代码获取RepositoryService,并使用该服务将流程定义文件部署到Activiti流程引擎中。
当获得了这些Service对象后,就可以使用这些Service对象来完成各种Activiti流程引擎的操作。在实际应用中需要综合使用各种服务来部署流程定义,启动流程实例,领取、查询完成用户任务以及查询流程运行历史纪录等Activiti流程引擎的主要功能。
本发明实施例提供的用于优化流程管理系统的方法,流程设计器和业务系统通过rest服务关联,从而提高了开发效率,提高了流程建模的效率并降低了流程建模的出错率。
下述为本发明装置实施例,可以应用于本发明的上述流程管理系统。对于本发明装置实施例中未披露的细节,请参照本发明上述方法实施例。
图6是根据一示例性实施方式示出的一种用于优化流程管理系统的装置的框图。
如图6所示,用于优化流程管理系统的装置600可以包括异常捕获模块610、停留节点查询模块620以及任务创建模块630。
其中异常捕获模块610用于捕获自动任务节点的异常信息并存储,阻止任务的回滚。
停留节点查询模块620用于根据流程实例的标识信息查询当前流程停留的节点。
任务创建模块630用于根据当前流程停留的节点的标识信息生成新的任务并执行。
在示例性实施例中,用于优化流程管理系统的装置600还可以包括判断模块,用于判断当前的节点是否为会签节点;读取模块,用于当所述节点为会签节点时,读取流程建模时配置的参与会签人员;集合变量生成模块,用于根据所述参与会签人员自动生成集合变量;会签任务生成模块,用于激活所述会签节点生成会签任务。
在示例性实施例中,用于优化流程管理系统的装置600还可以包括租户标识写入模块,用于将需要查阅日志文件的业务系统的标识信息设置在logback提供的MDC上下文中;日志文件输出模块,用于输出以所述业务系统的标识信息命名的相应日志文件。
在示例性实施例中,用于优化流程管理系统的装置600还可以包括地址映射模块,用于配置流程图时,将所述自动任务节点调用的网络服务的地址映射为一个唯一标识;
映射表配置模块,用于配置一所述唯一标识与调用的所述网络服务的地址的映射表;地址查询模块,用于发布所述流程图并执行流程时,在所述自动任务节点根据所述唯一标识和所述映射表查询调用的所述网络服务的地址。
在示例性实施例中,用于优化流程管理系统的装置600还可以包括变更地址模块,用于当系统发生迁移时,所述自动任务任务节点调用的所述网络服务的地址变更;修改映射表模块,用于修改所述映射表中的相应的调用的所述网络服务的地址。
在示例性实施例中,用于优化流程管理系统的装置600还可以包括请求发送模块,用于所述流程管理系统提供的流程设计器使用预设协议向相应的业务系统发送获取业务信息的请求;业务信息接收模块,用于所述流程设计器接收所述业务系统返回的预设数据格式的所述业务信息。
本发明实施方式提供的用于优化流程管理系统的装置,一方面,可以解决流程serviceTask节点出现异常无法从当前节点继续执行的问题,使得中断的流程能够继续执行,节省了大量资源。另一方面,还可以解决租户日志混杂的问题,实现了分租户输出日志文件的功能,保证了系统的安全性和租户查阅日志的便利性。再一方面,还可以解决开发会签任务时显式声明集合变量的问题,开发会签时不用再显式声明集合变量,降低了流程出错的概率。又一方面,还可以解决serviceTask节点webService地址变更后需要大量修改流程图,发布流程图而且影响运行中流程的问题,降低了由于webService地址迁移带来的影响。此外,还可以解决流程建模时手动输入效率低、易出错的问题,提高了流程建模的效率,并降低了流程建模时的出错率。
需要注意的是,上述附图中所示的框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
本领域技术人员可以理解实现上述实施方式的全部或部分步骤被实现为由CPU执行的计算机程序。在该计算机程序被CPU执行时,执行本发明提供的上述方法所限定的上述功能。所述的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。
此外,需要注意的是,上述附图仅是根据本发明示例性实施方式的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本发明实施方式的方法。
以上具体地示出和描述了本发明的示例性实施方式。应可理解的是,本发明不限于这里描述的详细结构、设置方式或实现方法;相反,本发明意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。
Claims (12)
1.一种用于优化流程管理系统的方法,其特征在于,包括:
捕获自动任务节点的异常信息并存储,不再向外抛出异常,阻止任务的回滚;
通过Activiti对外提供的查询执行中节点的API,根据流程实例的标识信息查询当前流程停留的节点;以及
调用Activiti对外提供的创建任务的API,根据当前流程停留的节点的标识信息生成新的任务并执行,使异常的自动任务节点停留在当前节点并且能够继续执行。
2.根据权利要求1所述的方法,其特征在于,还包括:
判断当前的节点是否为会签节点;
当所述节点为会签节点时,读取流程建模时配置的参与会签人员;
根据所述参与会签人员自动生成集合变量;
激活所述会签节点生成会签任务。
3.根据权利要求1所述的方法,其特征在于,还包括:
将需要查阅日志文件的业务系统的标识信息设置在logback提供的MDC上下文中;
输出以所述业务系统的标识信息命名的相应日志文件。
4.根据权利要求1所述的方法,其特征在于,还包括:
配置流程图时,将所述自动任务节点调用的网络服务的地址映射为一个唯一标识;
配置一所述唯一标识与调用的所述网络服务的地址的映射表;
发布所述流程图并执行流程时,在所述自动任务节点根据所述唯一标识和所述映射表查询调用的所述网络服务的地址。
5.根据权利要求4所述的方法,其特征在于,还包括:
当系统发生迁移时,所述自动任务节点调用的所述网络服务的地址变更;
修改所述映射表中的相应的调用的所述网络服务的地址。
6.根据权利要求1所述的方法,其特征在于,还包括:
所述流程管理系统提供的流程设计器使用预设协议向相应的业务系统发送获取业务信息的请求;
所述流程设计器接收所述业务系统返回的预设数据格式的所述业务信息。
7.一种用于优化流程管理系统的装置,其特征在于,包括:
异常捕获模块,用于捕获自动任务节点的异常信息并存储,不再向外抛出异常,阻止任务的回滚;
停留节点查询模块,用于通过Activiti对外提供的查询执行中节点的API,根据流程实例的标识信息查询当前流程停留的节点;以及
任务创建模块,用于调用Activiti对外提供的创建任务的API,根据当前流程停留的节点的标识信息生成新的任务并执行,使异常的自动任务节点停留在当前节点并且能够继续执行。
8.根据权利要求7所述的装置,其特征在于,还包括:
判断模块,用于判断当前的节点是否为会签节点;
读取模块,用于当所述节点为会签节点时,读取流程建模时配置的参与会签人员;
集合变量生成模块,用于根据所述参与会签人员自动生成集合变量;
会签任务生成模块,用于激活所述会签节点生成会签任务。
9.根据权利要求7所述的装置,其特征在于,还包括:
租户标识写入模块,用于将需要查阅日志文件的业务系统的标识信息设置在logback提供的MDC上下文中;
日志文件输出模块,用于输出以所述业务系统的标识信息命名的相应日志文件。
10.根据权利要求7所述的装置,其特征在于,还包括:
地址映射模块,用于配置流程图时,将所述自动任务节点调用的网络服务的地址映射为一个唯一标识;
映射表配置模块,用于配置一所述唯一标识与调用的所述网络服务的地址的映射表;
地址查询模块,用于发布所述流程图并执行流程时,在所述自动任务节点根据所述唯一标识和所述映射表查询调用的所述网络服务的地址。
11.根据权利要求10所述的装置,其特征在于,还包括:
变更地址模块,用于当系统发生迁移时,所述自动任务节点调用的所述网络服务的地址变更;
修改映射表模块,用于修改所述映射表中的相应的调用的所述网络服务的地址。
12.根据权利要求7所述的装置,其特征在于,还包括:
请求发送模块,用于所述流程管理系统提供的流程设计器使用预设协议向相应的业务系统发送获取业务信息的请求;
业务信息接收模块,用于所述流程设计器接收所述业务系统返回的预设数据格式的所述业务信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611146326.0A CN106600226B (zh) | 2016-12-13 | 2016-12-13 | 用于优化流程管理系统的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611146326.0A CN106600226B (zh) | 2016-12-13 | 2016-12-13 | 用于优化流程管理系统的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106600226A CN106600226A (zh) | 2017-04-26 |
CN106600226B true CN106600226B (zh) | 2020-08-04 |
Family
ID=58801095
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611146326.0A Active CN106600226B (zh) | 2016-12-13 | 2016-12-13 | 用于优化流程管理系统的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106600226B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108009799B (zh) * | 2017-12-21 | 2021-12-31 | 泰康保险集团股份有限公司 | 工作流程持久化的方法及装置、存储介质、电子设备 |
CN108460078B (zh) * | 2018-01-08 | 2020-10-13 | 平安科技(深圳)有限公司 | 辅助功能的执行方法、装置、存储介质及终端 |
CN110674083B (zh) * | 2019-10-10 | 2023-11-28 | 深圳前海微众银行股份有限公司 | 工作流迁移方法、装置、设备及计算机可读存储介质 |
CN110928525A (zh) * | 2019-11-12 | 2020-03-27 | 中信百信银行股份有限公司 | 一种用于业务流开发工具的日志自动生成方法和系统 |
CN112418796B (zh) * | 2020-11-20 | 2023-12-08 | 泰康保险集团股份有限公司 | 子流程任务节点激活方法、装置、电子设备及存储介质 |
CN114595941A (zh) * | 2022-02-08 | 2022-06-07 | 阿里巴巴(中国)有限公司 | 任务处理方法以及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101388844A (zh) * | 2008-11-07 | 2009-03-18 | 东软集团股份有限公司 | 一种数据流程的处理方法和系统 |
CN105302581A (zh) * | 2015-12-02 | 2016-02-03 | 南京莱斯信息技术股份有限公司 | 基于脚本引擎的工作流事件机制实现方法 |
CN105630589A (zh) * | 2014-11-24 | 2016-06-01 | 航天恒星科技有限公司 | 分布式流程调度系统及流程调度、执行方法 |
CN105824842A (zh) * | 2015-01-07 | 2016-08-03 | 阿里巴巴集团控股有限公司 | 分布式事务处理方法及其系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2420929A1 (en) * | 2010-08-18 | 2012-02-22 | Software AG | System and method for ad-hoc modification of a process during runtime |
-
2016
- 2016-12-13 CN CN201611146326.0A patent/CN106600226B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101388844A (zh) * | 2008-11-07 | 2009-03-18 | 东软集团股份有限公司 | 一种数据流程的处理方法和系统 |
CN105630589A (zh) * | 2014-11-24 | 2016-06-01 | 航天恒星科技有限公司 | 分布式流程调度系统及流程调度、执行方法 |
CN105824842A (zh) * | 2015-01-07 | 2016-08-03 | 阿里巴巴集团控股有限公司 | 分布式事务处理方法及其系统 |
CN105302581A (zh) * | 2015-12-02 | 2016-02-03 | 南京莱斯信息技术股份有限公司 | 基于脚本引擎的工作流事件机制实现方法 |
Non-Patent Citations (1)
Title |
---|
工作流管理系统的异常处理机制研究;肖庆等;《信息与电脑》;20150823(第16期);第62-66页 * |
Also Published As
Publication number | Publication date |
---|---|
CN106600226A (zh) | 2017-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106600226B (zh) | 用于优化流程管理系统的方法及装置 | |
WO2023071075A1 (zh) | 机器学习模型自动化生产线构建方法及系统 | |
CN107370786B (zh) | 一种基于微服务架构的通用信息管理系统 | |
US20180173606A1 (en) | Hybrid testing automation engine | |
US10296305B2 (en) | Method and device for the automated production and provision of at least one software application | |
US7930268B2 (en) | Workflow method, system, and data structure | |
US20070261017A1 (en) | Applying Packages To Configure Software Stacks | |
US20130080350A1 (en) | Management and notification of object model changes | |
US9513874B2 (en) | Enterprise computing platform with support for editing documents via logical views | |
CN103744647B (zh) | 一种基于工作流可视化开发工具的Java工作流开发系统及其方法 | |
US20210263834A1 (en) | Code Generation Platform | |
CN105700888A (zh) | 一种基于jbpm工作流引擎的可视化快速开发平台 | |
CN105094818A (zh) | 基于soa的自然资源综合应用构建方法及系统 | |
CN112130993A (zh) | 基于图形化建模的电力边缘物联代理边缘计算方法及系统 | |
WO2019062673A1 (zh) | 一种基于输入输出语义化实现的管理信息化的方法和系统 | |
US20210263833A1 (en) | Code Generation Platform with Debugger | |
JP2009534773A (ja) | プロセス符号化 | |
Bocciarelli et al. | A language for enabling model-driven analysis of business processes | |
Dukaric et al. | BPMN extensions for automating cloud environments using a two-layer orchestration approach | |
CN117234480A (zh) | 基于本体的多编程语言组件规范和工作流系统及使用方法 | |
CN112948110A (zh) | 云应用的拓扑与编排系统、方法、存储介质及电子设备 | |
Van Mierlo et al. | A multi-paradigm approach for modelling service interactions in model-driven engineering processes | |
CN114693103A (zh) | 设备管理模型生成与设备管理方法、设备及存储介质 | |
CN115955408B (zh) | 基于Conductor框架的应用编排服务系统及方法 | |
CN117539472A (zh) | 一种流程管理交互方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |