CN115169891B - 一种包含多起点多分支流程的工作流引擎的实现方法 - Google Patents
一种包含多起点多分支流程的工作流引擎的实现方法 Download PDFInfo
- Publication number
- CN115169891B CN115169891B CN202210803411.9A CN202210803411A CN115169891B CN 115169891 B CN115169891 B CN 115169891B CN 202210803411 A CN202210803411 A CN 202210803411A CN 115169891 B CN115169891 B CN 115169891B
- Authority
- CN
- China
- Prior art keywords
- node
- workflow
- sub
- flow
- nodes
- 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 46
- 230000003068 static effect Effects 0.000 claims abstract description 40
- 238000013507 mapping Methods 0.000 claims description 12
- 239000002131 composite material Substances 0.000 claims description 11
- 238000013461 design Methods 0.000 claims description 5
- 238000004891 communication Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 abstract description 26
- 238000009472 formulation Methods 0.000 abstract 1
- 239000000203 mixture Substances 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 6
- 244000025254 Cannabis sativa Species 0.000 description 3
- 230000009471 action Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000008570 general process Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0633—Workflow analysis
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- Operations Research (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Marketing (AREA)
- Educational Administration (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种包含多起点多分支流程的工作流引擎的实现方法,所述工作流引擎包含若干子工作流,所述子工作流的首位尾两端分别设有真实开始节点与真实结束节点;当若干所述子工作流中存在公共节点时,则若干所述子工作流的真实开始节点均拥有同一父节点,所述父节点为虚拟开始节点;以及,若干所述子工作流的真实结束节点拥有同一子节点,所述子节点为虚拟结束节点;本方案满足了企业在业务场景中遇到的多开始节点多结束节点多分支的工作流程需求;只设计一个静态模型应对多种需求,避免因业务流程微调制定多个类似工作流程带来的系统管理问题。
Description
技术领域
本发明涉及计算机技术技术领域,具体涉及一种包含多起点多分支流程的工作流引擎的实现方法。
技术背景
工作流是对某种表单的规定流转过程的描述,其中包括:要流经几个步骤;每个步骤由何人处理;每个步骤要填写表单上的哪些栏目;从一个步骤传递到下一个步骤必须满足哪些条件,等等。工作流实际上是管理制度的具体体现,它明确了责任分工、规定了工作程序,使每项工作都能高效、有序地进行。但在当前的应用场景中,如在企业的办公流程中,往往存在多个起草人,即一个事项可以由多个人开启,而并非指定的单一开始节点;同时,在一个审批业务向下进行时,可能会根据办理人填报的信息不同而被派发到不同部门进行处理。
传统的工作流引擎是通过唯一的开始节点和唯一的结束节点来定义一个具体流程的,缺少支持多节点多分支的引擎模型;与此同时简单流程配置改动便要通过建立新流程实现,导致存在较多的相似性高的流程,无法合并同类流程;在流程跳转的灵活性上,传统工作流引擎也无法根据用户填写内容跳转至不同的流程分支。
基于上述办公场景的需求和传统工作流程的限制,需要对传统工作流引擎进行改造,使得工作流引擎中允许设置多个开始节点、多个结束节点,同时支持设置复杂的工作流分支。
发明内容
针对上述存在的拘束局限性,本发明提出了一种包含多起点多分支流程的工作流引擎的实现方法,以解决传统工作流引擎在多开始节点多结束节点多分支流程的场景下灵活性差且操作复杂度高的问题。
为实现上述目的,本发明采用了以下技术方案:
本发明的发明点是提供一种包含多起点多分支流程的工作流引擎的实现方法,
所述工作流引擎包含若干子工作流,所述子工作流的首位尾两端分别设有真实开始节点与真实结束节点;
当若干所述子工作流中存在公共节点时,则若干所述子工作流的真实开始节点均拥有同一父节点,所述父节点为虚拟开始节点;以及,若干所述子工作流的真实结束节点拥有同一子节点,所述子节点为虚拟结束节点。
所述工作流引擎根据所选子工作流的标识以对应的真实开始节点启动流程实例,同时对同一父节点的其他子工作流对应的真实开始节点进行屏蔽。
当工作流执行至所述公共节点时,所述工作流引擎根据所选定流程方向的标识确定公共节点后工作流的流程方向,同时对该公共节点后工作流的其他流程方向进行屏蔽。
当工作流执行至真实结束节点的前节点时,工作流引擎根据所选的办理人员信息识别流程结束方向,当流程结束时,进入对应的真实结束节点。
本发明与现有技术相对比,本发明具有以下优点:
借由上述技术方案,本发明提供的一种包含多起点多分支流程的工作流引擎,满足了在企业或其他业务场景中遇到的多开始节点、多结束节点、多分支的工作流程的需求;
并且,通过只设计一个静态模型来应对多种复杂需求,避免因业务流程微调制定多个类似工作流程带来的系统管理问题;从传统的一次性定义的工作流引擎改换成可以灵活定义的工作流引擎,允许用户在一个流程中进行部分灵活选择,从而满足更多的需求。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
附图说明
图1为本发明实施例提供的虚拟开始节点与虚拟结束节点的示意图。
图2为本发明实施例提供的以有向图模型为数据库底层的静态模型的示意图。
图3为本发明实施例提供的十字链表弧结点结构的示意图。
图4为本发明实施例提供的多分支节点的流程示意图。
图5为本发明实施例提供的一种工作流引擎的结构示意图。
图6为本发明实施例提供的一种多开始节点多结束节点流程场景的流程示意图。
图7为本发明实施例提供的一种多分支节点流程场景的流程示意图。
具体实施方式
以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。为了进一步了解本发明,下面结合最佳实施例对本发明作进一步的详细说明。
如下为本发明实施例中涉及名词术语的解释:
有向图:一个有向图D是指一个有序三元组(V(D),A(D),ψ(D)),其中ψ(D)为关联函数,它使A(D)中的每一个元素(称为有向边或弧)对应于V(D)中的一个有序元素(称为顶点或点)对。
十字链表:十字链表是有向图的一种链式存储结构;该结构可以看成是将有向图的邻接表和逆邻接表结合起来得到的。在十字链表中,对应于有向图中每一条弧都有一个结点,对应于每个定顶点也有一个结点。用十字链表来存储有向图,可以达到高效的存取效果;同时,代码的可读性也会得到提升。
出度和入度:出度是一个节点直连的后序节点的集合,入度是一个节点的前序节点的集合。出度和入度是十字链表中的概念,十字链表的优势在于可以快速了解出度和入度,极大加快了检索速度。
静态模型:一种流程模板表,用于存储初始化数据模板,包含预设的全局有向图;静态模型方便后续用户重复使用此模板创建流程任务。
动态模型:实际启动工作流时,根据静态模型生成的动态有向图实例,即工作流实例;是一种根据用户在流程中实际选择而变化的模型。
下面结合前述名词术语具体介绍本发明的实现方式:
本发明的发明点是提供一种包含多起点多分支流程的工作流引擎,所述工作流引擎包含若干子工作流,所述子工作流的首位尾两端分别设有真实开始节点与真实结束节点;如图1所示,当若干所述子工作流中存在公共节点时,则若干所述子工作流的真实开始节点均拥有同一父节点,所述父节点为虚拟开始节点;以及,若干所述子工作流的真实结束节点拥有同一子节点,所述子节点为虚拟结束节点。所述公共节点为分支节点;若干所述子工作流构成复合工作流,并由所述工作流引擎执行所述复合工作流。
所述虚拟开始节点通过开始节点映射表实现,所述开始节点映射表包括开始节点表和虚拟开始节点表,虚拟开始节点表中一个虚拟开始节点关联开始节点表中的一个或多个真实开始节点;
所述虚拟结束节点通过结束节点映射表实现,所述结束节点映射表包括结束节点表和虚拟结束节点表,虚拟结束节点表中一个虚拟结束节点关联结束节点表中的一个或多个真实结束节点。
所述工作引擎采用静态模版存储所述复合工作流的静态模型,所述工作流引擎开始执行所述复合工作流程时,工作流引擎根据静态模型生成动态模型,即实际的工作流程实例。
所述静态模型与动态模型分别采用静态模型表和动态模型表存储。
作为一种实施例,所述静态模型表采用有向图模型设计。
如图2所示,在数据库层面存储三个值:开始位置、结束位置和边,采用一个节点数组存储每一个节点。其中,开始位置(firstIn)指向以该节点为弧头的第一个弧节点,用于标注节点的初始位置;结束位置(firstOut)表示指向以该节点为弧尾的第一个弧节点,用于标注节点的结束位置;边用于描述方向或路径;开始位置、结束位置和边的值复合成为主键。
在实际应用场景中,所述边除了描述方向外还附加其他数据字段,包括以下字段中的一种或多种:编号(数值字段)、类型(字符串字段)、起草人(字符串字段)、文件标题(字符串字段)、创建部门(字符串字段)、创建人(字符串字段)、创建日期(日期字段)、创建时间(时间字段)、联系方式(字符串字段)、文件概要(字符串字段)、发送对象(字符串字段)、紧急程度(字符串字段)、签发人(字符串字段)、签发日期(日期字段)、备注(字符串字段)、意见指示(字符串字段)、附件(文件字段)、正文(文件字段)、关联文件(文件字段)、沟通交流(字符串字段)、是否为草稿(字符串字段)。
所述动态模型表与所诉静态模型表字段设计一致。
作为一种实施例,所述复合工作流中的若干所述子工作流通过以下方式生成:
(1)在工作流引擎的事项管理器中新建事项,根据业务需求填写事项表单,事项表单存储到事项表中;
(2)根据业务需求制作流程图,填写流程节点表,并填写相应静态模型表单,存储到静态模型表中;
(3)将事项表、流程节点表、基础数据表、静态模型表进行绑定。
其中,基础数据表包括人员表、部门表、权限表、角色表。
作为一种实施例,所述动态模型的生成方式为:当业务人员新建(起草)某一具体流程案件时,根据具体流程案件的场景填写由静态模型表设计的动态模型表单、并存储至动态模型表中,完成所述动态模型表的配置。
作为一种实施例,所述工作流引擎的在运行所述复合工作流时,按照如下方式执行:
所述工作流引擎根据所选子工作流的标识以对应的真实开始节点启动流程实例,同时对同一父节点的其他子工作流对应的真实开始节点进行屏蔽;
当工作流执行至所述公共节点(即分支节点)时,如图4所示,所述工作流引擎根据所选定流程方向的标识确定公共节点后工作流的流程方向,同时对该公共节点后工作流的其他流程方向进行屏蔽;
当工作流执行至真实结束节点的前节点时,工作流引擎根据所选的办理人员信息识别流程结束方向,当流程结束时,进入对应的真实结束节点。
其中,所述屏蔽是指遇到分支逻辑、经判断后屏蔽其他节点;数据库层面通过删除所述动态模型边的数据实现屏蔽其他节点的操作。
作为一种实施例,所述工作流引擎除所述静态模型表、动态模型表、开始节点映射表、结束节点映射表外,还包括以下引擎数据表:流程节点表、事项表、待办表、人员表、部门表、权限表、角色表;
其中,流程节点表用于存储流程节点数据,事项表用于存储工作流配置事项,待办表用于存储工作流运行过程中待办事项数据,人员表用于存储工作流涉及的人员信息,部门表用于存储工作流涉及的部门数据,权限表用于存储工作流涉及的系统权限信息,角色表用于存储工作流引擎涉及的人员角色数据。
所述事项表包括:序号(数值字段)、事项名称(字符串字段)、流程名称(字符串字段)、是否多开始节点(布尔值字段)、是否多结束节点(布尔值字段)、是否多分支(布尔值字段)、类别(字符串字段)、系统归属(字符串字段)、系统归属英文名称(字符串字段)、办理期限(数值字段)、管理员(字符串字段)、创建时间(日期字段)、url地址(字符串字段);
所述流程节点表包括:主键(字符串字段)、名称(字符串字段)、详细描述(字符串字段)、监听器开启(布尔值字段)、是否抢占任务(布尔值字段)、网关类型(字符串字段)、活动类型(字符串字段)、结构类型(字符串字段)、开始事件标识(字符串字段)、中间事件标识(字符串字段)、结束事件标识(字符串字段)、注释信息(字符串字段)。
作为一种实施例,针对所述静态模型的增加操作,即创建动态模型,可通过可视化软件进行绘制,包括:通过在可视化软件中画出流程、配置映射,将用户配置的项入库,匹配到有向图模型进行存储。
需要说明的是,传统工作流引擎存储的是独立节点,然后附加节点的属性,不存在开始节点、结束节点的双向匹配设置,边(路径)统一在流程表里进行存储。
作为一种实施例,针对所述静态模型的删除操作,即删除静态模型中的节点,包括:当删除节点时,采用级联删除模式,以该节点为起始节点的边将一并删除,以该节点为结束节点的边也将一并删除。
作为一种实施例,针对所述动态模型的修改操作包括:
(1)查找到拥有所要修改路径的复合主键;
(2)删除该复合主键下相关的全部的数据;
(3)建设新的复合主键挂钩起始节点、结束节点和路径;所述复合主键为开始位置、结束位置和边三者合并构造的主键。
作为一种实施例,针对所述静态模型的查询操作包括:从虚拟开始节点开始,利用有向图的路径遍历全部的节点,直到虚拟结束节点。
作为一种实施例,针对所述动态模型的查询操作包括:从真实的开始节点开始遍历可以串联的路径。
所述增加操作、删除操作、修改操作、查询操作通过类结构化查询语言(SQL)进行程序封装,实现程序级别的调用和操作,所述程序封装为业界统一的框架封装,本领域技术人员通过实施例描述可顺利实现,在此不赘述。
作为一种实施例,采用有向图模型的数据库通过十字链表数据结构实现所述工作流程。
所述十字链表的数据结构包括:弧集合。所述弧集合用于存储弧结点信息,如图3所示,弧结点信息包括:弧尾域(Tailvex)、弧头域(Headvex)、弧信息(Info)、指向弧头相同的下一条弧(Hlink),指向弧尾相同的下一条弧(Tlink);每一条弧都有一个弧结点与之对应。
当采用十字链表数据结构实现所述工作流程时,步骤S1还包括:初始化工作流程序中十字链表结构的所有顶点。
当采用十字链表数据结构实现所述工作流程时,所述静态模型的删除操作在数据结构层面的操作包括:十字链表删除链表节点。此时,因为链表节点的删除,链表的指向也就自动无效。
当采用十字链表数据结构实现所述工作流程时,所述动态模型的修改操作在数据结构层面的操作包括:将十字链表中的指向移位;例如A-->B-->C ,将A指向B改为指向C则变为A-->C ,此时结构中,B游离在外,无法通过路径到达,等同于删除B。
作为一种实施例,所述工作流引擎由数据库、表单设计器、表单展示器、事项管理器、流程设计器、流程部署器、权限控制器、数据接口组成。
所述数据库用于存储所述工作流引擎运行过程中依赖的数据表,包括前述实施例中的过程节点表、普通节点表、抢占节点表,还包括流程表、待办表、人员表。
所述权限控制器用于工作流引擎的权限管理和控制。
所述表单设计器用于工作表单设计;所述表单展示器用于可视化展示工作表单。
所述事项管理器用于创建复合工作流、部署工作流各节点的任务、监控任务办理状态、管理工作任务事项。
所述流程设计器用于可视化地设计工作流流程。
所述流程部署器用于将工作流流程进行实际部署,生成所述工作流引擎可识别的流程数据。
作为一种实施例,如图5所示,所述工作流引擎包括业务层、逻辑层、存储层;所述业务层在用户终端中实现,所述逻辑层在服务器的内存中实现,所述存储层在服务器的硬盘中实现。
所述存储层包括本发明采用有向图模型进行存储的数据库,所述逻辑层包括依靠十字链表数据结构实现有向图模型的程序。
为本领域技术人员更直观理解本发明的方法及优势,下面结合应用场景解释本发明的技术点:
场景一,多开始节点、多结束节点场景
多开始节点场景以报销流程为例,在实际场景下报销行为包括以下三种报销流程:
一般报销流程:一般人起草报销-->发给业务主管-->发给业务负责人-->发给财务负责人-->发给财务总监-->发给副总经理-->交还业务主管-->办结;一般情况下按照“一般人起草报销”开始到“办结”结束;
当业务负责人需要报销时,则传统工作流引擎的流程设计为:业务负责人起草报销-->发给财务负责人-->发给财务总监-->发给副总经理-->交还业务主管-->办结;
当遇到非重大事项或非主营业务的报销,如团建报销,在实际场景中财务总监可以直接办结,此时传统工作流引擎的流程设计为:一般人起草报销-->发给业务主管-->发给业务负责人-->发给财务负责人-->发给财务总监-->交还业务主管-->办结。
传统工作流引擎对于上述三种报销流程需要对应设计三个工作流程模板,启动流程时根据业务需求选择其中一个工作流程模板生成流程实例,系统管理时也需要对三个流程模板分别维护管理,操作复杂、管理难度高。当采用本发明所述方法设计工作流程,可将三个工作流程模板简化为一个静态模型,在启动流程时根据业务需求生成对应动态模型即可。
参考图6,上述三种报销流程可设计为一个包含多开始节点、多结束节点的报销流程,具体包括:
一个虚拟开始节点,下设两个开始节点,分别为一般人起草报销的开始节点1和业务负责人起草报销的开始节点2;一个虚拟结束节点,下设两个结束节点,分别为财务总监进行办结的结束节点1和副总经理进行办结的结束节点2;流程行进方向参考图6所示,不再赘述。
上述包含多开始节点、多结束节点的报销流程采用所述静态模型进行存储。
上述包含多开始节点、多结束节点的报销流程可生成三个动态模型:(1)以开始节点1起始、结束节点1终止的流程,对应于一般报销流程;(2)以开始节点2起始、结束节点1终止的流程,对应于业务负责人需要报销的流程;(3)以开始节点1起始、结束节点2终止的流程,对应于由财务总监直接办结的流程;
在实际应用中,业务人员从上述三个动态模型中根据实际需求进行选择,并生成动态模型,由动态模型控制工作流引擎的行进方向。
可以理解的是,本领域技术人员根据前述实施例的描述可顺利实施场景一中的功能,在此不再赘述。
场景二,多分支场景
多分支场景以在普通流程中融入采购流程为例:
一个普通流程包括:一般人起草办件-->发给业务主管-->发给业务负责人-->发给副总经理-->办结;
当融入以下采购流程:-->发给商务进行合同审核 -->发给采购中心负责人 -->发给副总经理 -->发给商务进行备案 --->办结。
传统工作流引擎需要单独增加一条采购流程,即包括普通流程和采购流程两个流程模板;当采用本发明所述方法时,仅需要定义一个多分支的静态模型即可。
参考图7,上述普通流程融入采购流程可设计为一个包含多分支节点的流程,具体包括:
一个分支节点,该分支节点指向商务人员和副总经理,分别对应一般流程和采购流程;一个虚拟结束节点,下设两个结束节点:结束节点1和结束节点2,结束节点1为一般流程的结束节点,结束节点2为采购流程节点;流程行进方向参考图7所示,不再赘述。
上述包含多分支节点的流程采用所述静态模型进行存储。
上述包含多分支节点的流程可生成两个动态模型:(1)以开始节点1起始、结束节点1终止的流程,对应于普通流程;(2)以开始节点1起始、结束节点2终止的流程,对应于采购流程;
在实际应用中,业务人员从上述两个动态模型中根据实际需求进行选择,并生成动态模型,由动态模型控制工作流引擎的行进方向。
可以理解的是,本领域技术人员根据前述实施例的描述可顺利实施场景二中的功能,在此不再赘述。
最后,需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
Claims (4)
1.一种包含多起点多分支流程的工作流引擎的实现方法,其特征在于,
所述工作流引擎包含若干子工作流,所述子工作流的首尾两端分别设有真实开始节点与真实结束节点;
当若干所述子工作流中存在公共节点时,则若干所述子工作流的真实开始节点均拥有同一父节点,所述父节点为虚拟开始节点;以及,若干所述子工作流的真实结束节点拥有同一子节点,所述子节点为虚拟结束节点;
其中,所述工作流引擎由业务层、逻辑层、存储层组成;
所述业务层在用户终端中实现,所述逻辑层在服务器的内存中实现,所述存储层在服务器的硬盘中实现;
所述存储层存储数据表,所述数据表由静态模型、动态模型、映射表、流程节点表、事项表、待办表、人员表、部门表、权限表、角色表中的一种或多种数据表组成;
所述逻辑层包括依靠十字链表数据结构实现有向图模型的程序;
其中,若干所述子工作流通过以下方式生成:在工作流引擎的事项管理器中新建事项,根据业务需求填写事项表单,事项表单存储到事项表中;根据业务需求制作流程图,填写流程节点表,并填写相应静态模型表单,存储到静态模型表中;将所述事项表、所述流程节点表、基础数据表、所述静态模型表四者进行绑定;
当开始执行工作流程时,工作流引擎根据静态模型生成动态模型;
所述静态模型为描述若干所述子工作流构成的复合工作流结构的静态模型表;
所述动态模型为根据静态模型生成的流程实例,通过动态模型表存储;
所述虚拟开始节点通过开始节点映射表实现,所述开始节点映射表包括开始节点表和虚拟开始节点表,虚拟开始节点表中一个虚拟开始节点关联开始节点表中的一个或多个真实开始节点;所述虚拟结束节点通过结束节点映射表实现,所述结束节点映射表包括结束节点表和虚拟结束节点表,虚拟结束节点表中一个虚拟结束节点关联结束节点表中的一个或多个真实结束节点;
所述静态模型采用有向图模型设计,数据结构层面采用十字链表实现;所述静态模型表由开始位置字段、结束位置字段、边字段中的一个或多个字段组成基本字段;由开始位置字段、结束位置字段和边字段的值共同复合成为主键;所述动态模型表与所述静态模型表字段设计一致;
所述边字段除描述方向外还附加其他信息数据字段,所述信息数据字段包括编号、类型、起草人、文件标题、创建部门、创建人、创建日期、创建时间、联系方式、文件概要、发送对象、紧急程度、签发人、签发日期、备注、意见指示、附件、正文、关联文件、沟通交流、是否为草稿中至少一种字段。
2.根据权利要求1所述的工作流引擎的实现方法,其特征在于,
所述工作流引擎根据所选子工作流的标识以对应的真实开始节点启动流程实例,同时对同一父节点的其他子工作流对应的真实开始节点进行屏蔽。
3.根据权利要求1所述的工作流引擎的实现方法,其特征在于,
当工作流执行至所述公共节点时,所述工作流引擎根据所选定流程方向的标识确定公共节点后工作流的流程方向,同时对该公共节点后工作流的其他流程方向进行屏蔽。
4.根据权利要求1所述的工作流引擎的实现方法,其特征在于,
当工作流执行至真实结束节点的前节点时,工作流引擎根据所选的办理人员信息识别流程结束方向,当流程结束时,进入对应的真实结束节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210803411.9A CN115169891B (zh) | 2022-07-07 | 2022-07-07 | 一种包含多起点多分支流程的工作流引擎的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210803411.9A CN115169891B (zh) | 2022-07-07 | 2022-07-07 | 一种包含多起点多分支流程的工作流引擎的实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115169891A CN115169891A (zh) | 2022-10-11 |
CN115169891B true CN115169891B (zh) | 2024-04-19 |
Family
ID=83493056
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210803411.9A Active CN115169891B (zh) | 2022-07-07 | 2022-07-07 | 一种包含多起点多分支流程的工作流引擎的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115169891B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116432997B (zh) * | 2023-06-13 | 2023-10-24 | 安徽商信政通信息技术股份有限公司 | 一种对已办结流程收回重办的方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100006494A (ko) * | 2008-07-09 | 2010-01-19 | 윤영하 | 비즈니스 프로세스 관리 시스템 및 방법 |
CN102254234A (zh) * | 2010-05-17 | 2011-11-23 | 中兴通讯股份有限公司 | 业务流程的实现方法和工作流引擎 |
CN107810509A (zh) * | 2015-06-23 | 2018-03-16 | 微软技术许可有限责任公司 | 工作流生成和编辑 |
CN113988812A (zh) * | 2021-11-02 | 2022-01-28 | 中国民用航空局信息中心 | 一种用于适航审定的动态工作流实现系统及方法 |
-
2022
- 2022-07-07 CN CN202210803411.9A patent/CN115169891B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100006494A (ko) * | 2008-07-09 | 2010-01-19 | 윤영하 | 비즈니스 프로세스 관리 시스템 및 방법 |
CN102254234A (zh) * | 2010-05-17 | 2011-11-23 | 中兴通讯股份有限公司 | 业务流程的实现方法和工作流引擎 |
CN107810509A (zh) * | 2015-06-23 | 2018-03-16 | 微软技术许可有限责任公司 | 工作流生成和编辑 |
CN113988812A (zh) * | 2021-11-02 | 2022-01-28 | 中国民用航空局信息中心 | 一种用于适航审定的动态工作流实现系统及方法 |
Non-Patent Citations (1)
Title |
---|
焦玉峰,王茜.基于Web的工作流系统的分布、分层建模和执行.微机发展.2003,(第12期),第97-98页. * |
Also Published As
Publication number | Publication date |
---|---|
CN115169891A (zh) | 2022-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20140019187A1 (en) | Methods and apparatus for implementing a project workflow on a social network feed | |
US7913161B2 (en) | Computer-implemented methods and systems for electronic document inheritance | |
US20160019488A1 (en) | Workflow management device and workflow management method | |
US20070100857A1 (en) | Computer-implemented method, tool, and program product for storing a business document in an enterprise software application environment | |
WO2008033577A2 (en) | Hierarchy global management system and user interface | |
US20070055924A1 (en) | Dynamic generation of form pages for accessing a database | |
CN118761091A (zh) | 用于建立数据隐私管线和合约协议以共享数据的用户接口 | |
JPS63239552A (ja) | データ処理を複数の制御位置にわたって分散させるための装置 | |
US20160085784A1 (en) | Database data type creation and reuse | |
US10636005B2 (en) | Method and system for implementing an adaptive data governance system | |
US20080255918A1 (en) | Ontological representation of knowledge | |
US8335756B2 (en) | Software for facet classification and information management | |
CN105956087A (zh) | 数据及代码版本管理系统及方法 | |
CN113919680A (zh) | 一种基于通用任务构建管理信息系统的方法 | |
US20030225607A1 (en) | Commoditized information management system providing role aware, extended relationship, distributed workflows | |
US7606824B2 (en) | Databinding workflow data to a user interface layer | |
CN108228846B (zh) | 资源文件管理方法及装置 | |
CN115169891B (zh) | 一种包含多起点多分支流程的工作流引擎的实现方法 | |
JP2008250558A (ja) | ワークフロー管理システム、ワークフロー管理方法、検索システム、検索方法、及びプログラム | |
US8239371B2 (en) | Fast search views over business objects | |
JP4939274B2 (ja) | ワークフロー管理システム、ワークフロー管理方法、及びプログラム | |
US9483526B2 (en) | Automatically subscribing users of an enterprise network to a record | |
JP2005316699A (ja) | コンテンツ公開システム、コンテンツ公開方法、及びコンテンツ公開プログラム | |
JP5820952B1 (ja) | 情報管理装置及びプログラム | |
JP4939275B2 (ja) | ワークフロー管理システム、ワークフロー管理方法、及びプログラム |
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 |