[发明专利]一种基于自解析节点的工作流引擎的实现方法在审
申请号: | 202110635644.8 | 申请日: | 2021-06-08 |
公开(公告)号: | CN113296847A | 公开(公告)日: | 2021-08-24 |
发明(设计)人: | 王海林 | 申请(专利权)人: | 佛山物荣科技有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 528000 广东省佛山市南海区桂城街道*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 解析 节点 工作流 引擎 实现 方法 | ||
1.一种基于自解析节点的工作流引擎的实现方法,将流程的表单内容、用户与权限、流程节点的流转以及执行控制融合到流程节点中,其特征在于:具体步骤如下:
S1:建立流程模版对象;
S11:流程节点分解,自解析整个流程的所有路径;
将流程分解成两种节点:业务节点、结束节点;每个业务节点具有指向下一个节点的属性,而结束节点没有下一个节点的属性;
S12:画出整个流程的所有路径;
依据每一个节点在什么条件下指向哪个节点的属性,将整个流程的所有路径画出来,直到一个没有下一个节点的节点为止;
S13:定义一个流程模版;
只需要定义流程的ID、流程的名称、流程的描述,以及流程中的业务节点数组,这个数组存储在数据库中,用关系型数据库存储或用NoSQL类型的数据库存储,节点内部首先要有节点的编号作为节点的唯一标识符,一个流程的节点编号从一个特定的ID开始;
S2:根据已经存在的流程模版对象发起流程;
S21:在发起流程的时候,只需要基于流程模版中的定义的节点数组,按照流程实际的流向路径,创建相关的节点实例对象就可以完成;
S22:在流程执行的每个节点都能够由节点对象本身自解析该节点由什么角色,做什么事情,该节点处理完成后,下一个是哪个节点,不再需要额外的配置文件。
2.根据权利要求1所述的一种基于自解析节点的工作流引擎的实现方法,其特征在于:所述S1中的节点的内部定义,可以自解析每个节点是由什么角色来操作、做什么事情、以及如何做的问题,并能够解析该节点处理完成后,下一个是哪个节点。
3.根据权利要求1所述的一种基于自解析节点的工作流引擎的实现方法,其特征在于:所述S1中节点的内部除了节点ID属性外,还存储了以下主要自解析属性:所属流程相关属性、节点本身相关属性、节点用户相关属性、下一个节点数组相关属性、节点表单项相关属性和子流程相关属性。
4.根据权利要求3所述的一种基于自解析节点的工作流引擎的实现方法,其特征在于:所述所属流程相关属性:记录了流程的名称和流程ID。
5.根据权利要求3所述的一种基于自解析节点的工作流引擎的实现方法,其特征在于:所述节点本身相关属性:记录了节点名称、节点ID、节点描述、节点处理最大超时时间、节点类型和节点处理方式。
6.根据权利要求3所述的一种基于自解析节点的工作流引擎的实现方法,其特征在于:所述节点用户相关属性:记录了能够处理本节点的用户列表数组。
7.根据权利要求3所述的一种基于自解析节点的工作流引擎的实现方法,其特征在于:所述下一个节点数组相关属性:记录了包括条件块对象和下一节点ID。
8.根据权利要求3所述的一种基于自解析节点的工作流引擎的实现方法,其特征在于:所述节点表单项相关属性:记录了节点包含的表单项数组、节点表单项数组中各个元素的面向本节点各用户的权限,权限包括:可读、写编辑、不可见。
9.根据权利要求3所述的一种基于自解析节点的工作流引擎的实现方法,其特征在于:所述子流程相关属性,记录了在本流程节点处启动另一个流程的相关信息;在启动子流程的时候,可以将在启动节点将父流程的相关信息传递给子流程,并且在子流程执行完成之后,将执行的结果返回到父流程;
子流程的启动有两种方式,一种是同步启动,一种是异步启动;其中:
同步启动表示,父流程在启动子流程的节点处等待子流程完成,当子流程完成后,会将子流程的执行状态数据返回到父流程,父流程再根据子流程的返回数据自动进入到哪个下一节点;
异步启动表示,父流程不等待子流程结束,而是直接进入下一节点,当子流程完成后,会通过消息的方式通知父流程该子流程完成的状态数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于佛山物荣科技有限公司,未经佛山物荣科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110635644.8/1.html,转载请声明来源钻瓜专利网。