智能流程引擎服务系统及方法与流程

文档序号:27068545发布日期:2021-10-24 09:43阅读:318来源:国知局
智能流程引擎服务系统及方法与流程

1.本发明涉及计算机技术领域,特别涉及一种智能流程引擎服务系统及方法。


背景技术:

2.企业或组织的日常运营活动中往往有许多繁琐复杂的业务流程,工作流技术就是这些业务流程的计算机化或自动化,而流程引擎是定义、创建、执行工作流的系统。它将流程设计、控制、管理等部分抽象出来形成一种软件开发平台,用户只需要将他们的工作控制流程描述出来,流程引擎软件就可对它们的控制流程进行自动执行和有效地管理,用户可在此基础上快速灵活地生成企业工作流管理软件,并且在业务流程发生变化时,这类系统能够迅速自动进行重组来满足用户的需求,而不需要再进行重复开发。
3.有些企业利用开源的流程引擎系统开发自己的工作流管理系统,开源的流程引擎系统目前主要有jbpm和activiti。这些开源系统为了具备良好的通用性,往往功能设计复杂,提供了许多企业用户短期之内非必需的功能,造成接口繁多,整合到企业现有的信息化系统时往往需要重构现有产品的代码,对现有产品中的其他功能会有一定的影响,整合难度较高以及维护困难,而且系统执行效率受到影响。


技术实现要素:

4.本公开提供一种智能流程引擎服务系统及流程创建执行方法,为用户提供一种更便捷高效的可视化流程设计工具。
5.本公开提供的智能流程引擎服务系统,包括:包括:提供流程管理和设计界面以及外部系统接口的应用层,提供流程引擎及对外接口服务的服务层,用于获取、管理流程相关数据的数据处理层,以及保存流程相关数据的数据库,其特征在于:
6.所述流程管理和设计界面提供对流程中人工处理节点的处理权限和操作类型设置模块;
7.所述流程引擎通过读取上述设置,对流程的执行进行管控。
8.进一步地,所述流程管理和设计界面提供基于矢量图的可拖拽流程图元,用于流程图设计;
9.所述流程引擎将由矢量图图元构成的流程图转化为json字符串,直接保存到数据库。
10.进一步地,所述处理权限设置模块采用基于角色的权限设置,其角色选项包括:
11.系统角色;
12.流程角色,即流程中其他节点的处理人;
13.组织机构;
14.用户,即指定处理人;
15.以及通过表单字段选择的处理人。
16.进一步地,所述操作类型设置模块的设置选项包括:该节点在处理工单时能否转
派他人处理;能否取消工单;以及该节点有多个处理人时,工单向下个节点的流转方式。
17.进一步地,所述流程管理和设计界面提供的可拖拽流程图元,包括节点和连接线,其中,所述节点包括:
18.开始节点,表示流程开始;
19.结束节点,表示流程结束;
20.分支节点,将流程分解为多条并行处理线路;
21.聚合节点,将多个并行处理的流程线路聚合到一起;
22.人工处理节点,表示需要人工处理的环节;
23.子流程节点,引用其它没有子流程的流程。
24.进一步地,所述人工处理节点采用相同图元,通过设置节点的名称区分节点的处理人。
25.进一步地,所述系统还包括对已有流程进行增删查改的管理模块。
26.本公开还提供了一种应用智能流程引擎服务系统的流程创建执行方法,包括以下步骤:
27.在web界面中通过拖动、点击基于矢量图的图元,设计业务流程图;
28.对流程图中的人工处理节点进行设置,包括各节点的名称,处理权限和操作规则;
29.流程引擎读取上述设置并将完成的流程图转换为json符号保存并发布;
30.按照发布的流程图创建实例,对创建的工单进行流程执行的管控。
31.进一步地,所述方法还包括对已有流程进行增删查改的步骤。
32.本公开提供的系统和方法,通过高度抽象的流程引擎,提供可视化流程设计工具,通过简单的设置即可实现流程处理权限、流转等操作,用户以此为基础进行自身工作流系统的开发,能够大大降低代码编写和调试难度,提高开发效率,使得该引擎具有良好的适用性和操作性;同时通过矢量化图元的采用,进一步提高了系统执行效率。
33.与现有技术相比,本公开的有益效果在于:
34.(1)通过简单的设置即可实现流程处理权限、流转等操作,从而大大减少了开发各种复杂业务流程时的代码编写和调试难度,提高开发效率,节约开支;
35.(2)节点类型简化,界面操作更加清晰明了,便于零基础流程设计人员操作;
36.(3)采用基于矢量图的图元,然后将绘画好的流程图转化成json字符串直接保存到数据库,相对于现有技术采用xml形式保存后再持久化到数据库的方式,存储效率更高,修改更方便;
37.(4)采用矢量图图元,提高了对web页面的适应性。
附图说明
38.通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施例方式中,相同的参考标号通常代表相同部件。
39.图1显示示例性智能流程引擎服务系统的结构层次;
40.图2显示采用示例性实施例设计的业务流程图。
具体实施方式
41.下面将参照附图更详细地描述本公开的优选实施例。虽然附图中显示了本公开的优选实施例,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
42.根据本公开的智能流程引擎服务系统示例性实施例,是以图形化技术和元数据技术构建的流程引擎系统,以可视化的形式进行流程图的绘制,并通过简单的设置即可实现流程的管控,从而便捷地与企业已有的办公系统接口,避免了复杂的代码编写和系统调试,能够实现企业工作流系统的快速构建。
43.本实施例的系统整体架构如附图1所示。由下往上从逻辑上划分为数据层、数据处理层、服务层、应用层等四个逻辑结构层:
44.应用层,提供流程图的设计和管理界面,提供外部系统的接口,用于设计和修改业务流程图;
45.服务层,提供流程引擎的各种功能以及对外的接口服务;
46.数据处理层,获取流程相关数据,并利用关系数据库技术对其进行管理,其中流程相关数据包括:流程模型、流程配置信息、流程处理人员及其权限信息、流程实例及其执行信息等;
47.数据层主要保存上述流程模型、基础信息、流程实例等信息。
48.该系统具备流程的设计、保存、发布,以及对已有流程的增删查改等管理功能。
49.(1)流程设计
50.同现有技术一样,本实施例提供流程设计工具,提供了可拖拽图元用于流程图设计,包括各种类型的节点和连线,通过在web界面中拖动、点击这些图元,即可完成流程图的设计,具体的操作项包括:
[0051][0052]
对于流程中需要人工处理的节点,本实施例的流程设计工具中提供了流程处理人权限设置和操作类型设置功能模块,下层的流程引擎通过读取上述设置,即可对流程的执行进行管控,避免了在于现有信息系统接口时编写代码的麻烦。
[0053]
a)权限设置
[0054]
即各流程节点的处理人权限管理。该权限管理也基于rbac模型(role

based access control基于角色的访问控制)进行管理的。具体的角色类型包括:
[0055][0056][0057]
b)操作类型设置
[0058]
用于设置工单在流程中的流转方式。具体的设置选项包括:
[0059]
允许转派:该节点在工单处理时可以转派给其他人处理;
[0060]
允许撤销:该节点在工单处理时可以取消该工单;
[0061]
全部处理完后提交下一节点:该节点在工单处理时,如果有多个处理人,则需要每个处理人处理完后工单才能流转到下个节点。如果没有勾选该项,则有多个处理人时,第一个处理的人先签收,签收后其他处理人不能再处理,只能改处理人处理。
[0062]
为了便于零基础流程设计人员操作,本实施例对现有技术中的图元进行了简化,仅保留了常用的几个节点类型,使界面操作上清晰明了。具体节点如下:
[0063]
节点名称功能说明开始节点表示流程开始,一个流程图必须有且只能一个开始节点。结束节点表示流程结束,一个流程图必须有且只能一个结束节点。分支节点将流程分解为多条并行处理线路,必须与聚合节点联合使用聚合节点将多个并行处理的流程线路聚合到一起,必须与分支节点联合使用。人工处理节点需要人工处理的节点,需要设置权限规则、操作规则子流程节点引用其它没有子流程的流程。
[0064]
同时,本实施例不再采用bpmn2.0中的泳道方式区分流程的执行主体,人工处理节点采用相同图元,通过人工节点的名称,区分执行主体,设计的流程图示例如附图2所示。
[0065]
为了进一步提高执行效率,本实施例采用了轻量级的svg基础开发的流程可视化设计工具,然后将前端基于矢量图的流程图元绘制的流程图转换为json字符串直接保存到数据库,相对于现有技术采用xml形式保存后再持久化到数据库的方式,存储效率更高,修改更为方便。
[0066]
(2)保存和发布:设计好的流程保存并发布后,即可开始试用。
[0067]
为了对保存的多个流程版本进行管理,本实施例还对流程版本进行了状态控制,保证一个流程里面只能有一个版本处于启用状态,具体方法如下:
[0068]
a)保存和发布当前的流程图为保存状态;
[0069]
b)流程版本为启用状态的流程图时,保存和发布都是生成新的流程版本流程图;
[0070]
c)流程版本为保存状态的流程图时,保存只是更新该流程图,发布是将该流程图从保存状态改为禁用状态;
[0071]
d)流程版本为禁用状态时,如已创建工单则保存和发布都是生成新的流程版本流程图,如还未创建工单,只是修改节点和连线名称时不会生成新版本,否则都是生成新的流程版本;
[0072]
e)启用状态的流程版本只能修改,保存状态的流程版本可以修改和删除,禁用状态的流程版本可以修改、启用(如果该版本还没有创建工单,还可以删除),删除时只能勾选没有启用流程版本的流程。
[0073]
(3)流程管理
[0074]
流程管理是对流程信息进行增删改查的管理,对流程基础信息如流程名称、描述、流程图的设计、流程版本的启用、禁用进行管理,从而方便用户根据自己需要进行流程图设计。
[0075]
具体包括以下子模块:
[0076]
a)查询流程:查询流程信息,通过流程名称或服务类型对流程进行查询,分页显示查询的结果。同时还提供新增和删除按钮,可对流程进行新增和删除,以及流程的编辑按钮。
[0077]
b)新增/修改基础信息:填写、修改流程的基础信息,名称、类型、描述。流程修改时服务类型不能修改。新增流程时点击下一步保存流程基础信息后,跳转到流程图设计界面。修改流程时点击下一步跳转到流程版本列表界面。
[0078]
c)流程版本查询:查看该流程的所有流程版本。
[0079]
可见,与现有技术相比,示例性的智能流程引擎服务系统的特点是:
[0080]
a)采用按照微服务架构,提供方便灵活的配置部署,可以通过少量简单的配置修改与企业信息系统融合;
[0081]
b)提供图形化流程设计工具,通过可视化操作实现常见的业务流程开发设置功能,用户无需编程或是修改代码,完全在界面上操作即可设计流程;
[0082]
c)流程设计界面简单明了;
[0083]
d)流程存储效率更高,修改更方便,等等。
[0084]
应用上述示例性智能流程引擎服务系统进行流程创建执行的方法,包括以下步骤:
[0085]
在web界面中通过拖动、点击基于矢量图的图元,设计业务流程图;
[0086]
对流程图中的人工处理节点进行设置,包括各节点的名称,处理权限和操作规则;
[0087]
流程引擎读取上述设置并将完成的流程图转换为json符号保存并发布;
[0088]
按照发布的流程图创建实例,对创建的工单进行流程执行的管控。
[0089]
另外,还包括对已有流程进行增删查改的步骤。
[0090]
上述技术方案只是本发明的示例性实施例,对于本领域内的技术人员而言,在本发明公开了应用方法和原理的基础上,很容易做出各种类型的改进或变形,而不仅限于本发明上述具体实施例所描述的方法,因此前面描述的方式只是优选的,而并不具有限制性的意义。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1