CN112732227B - 一种工作流引擎及其配置方法、装置 - Google Patents
一种工作流引擎及其配置方法、装置 Download PDFInfo
- Publication number
- CN112732227B CN112732227B CN202011618691.3A CN202011618691A CN112732227B CN 112732227 B CN112732227 B CN 112732227B CN 202011618691 A CN202011618691 A CN 202011618691A CN 112732227 B CN112732227 B CN 112732227B
- Authority
- CN
- China
- Prior art keywords
- task
- node
- circulation
- nodes
- task node
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种工作流引擎及其配置方式和装置,依据业务流程图配置业务流程所需的任务节点的节点信息,所述节点信息至少包括所述任务节点的名称、编号、流转对象、上下级联关系以及流转条件,生成针对所述任务节点的基础要素库依据所述节点信息关联所述基础要素库,生成关系要素库;获取业务数据触发对应的业务节点,依据所述业务节点的所述基础要素库以及所述关系要素库生成对应的工作流引擎,将为用户自动处理数据之间的信息交换、信息共享等一系列交互,无须更多的编程干预,可以明显提高开发效率、数据的可维护性和可靠性。
Description
技术领域
本发明涉及计算机数据处理技术领域,特别涉及一种工作流引擎及其配置方法、装置。
背景技术
工作流引擎,是软件系统开发中不可避免的重要一环,其作为应用系统的一部分,提供对应用系统有决定作用的根据角色、分工和条件的不同决定信息传递路由、内容等级等核心解决方案。对软件开发而言,根据业务需求开发出符合实际的程序逻辑,并在一定程度上保证其稳定性、易维护性是至关重要的,易维护性指的就是要保证业务流程模块化和结构化,这样就可以在业务流程发生变化时产生全新的业务逻辑。工作流引擎作为应用软件的逻辑层直接影响业务系统的易维护性,工作流引擎的性能好坏在业务流程发生变动时体现的十分明显。
目前的工作流引擎存在配置逻辑复杂的问题,一旦发生业务流程的拓展或者业务流程的变更时,就需要较长的时间进行响应,甚至出现程序逻辑死循环的情况,无法适用于多需求扩展的业务系统。同时,目前的工作流引擎缺少详细的节点实例和任务实例轨迹,使其业务逻辑缺乏可追溯性。而工作业务流转过程中需要知道A任务是由哪个任务传递过来的,知道从哪里来然后又去了哪里,哪些人参与了,发生了什么事情,获取详细的节点实例和任务实例轨迹是非常重要的。
以常见的Activiti工作流引擎为例,Activiti运行时紧紧围绕运行核心表运行,Ativiti的执行过程是必须依赖业务流程图,若管理人员不精通Activiti或者因二次开发功能上的需求强制使用代码来修改核心表就会带来很多问题,也就是说Activiti工作流引擎对管理人员的逻辑要求较高,变更业务流程或者扩展业务流程均较为复杂。同时,且Activiti工作流引擎缺少任务实例轨迹,导致Activiti工作引擎处理驳回功能的脆弱性,若是强制扩展轨迹记录,所记录的也并不是完全正确。
发明内容
本发明的目的在于提供一种工作流引擎及其配置方法、装置,利用本方案配置得到的工作流引擎提高业务流程的拓展或者业务流程的变更的效率,新增或变更的业务节点通过流转条件的设置与基础业务节点进行信息交互,数据管理员配置业务节点之间的级联关系,配置好的级联关系被加载在业务系统中,数据依据流转条件自动完成交互,本工作流引擎将为用户自动处理数据之间的信息交换、信息共享等一系列交互,无须更多的编程干预,可以明显提高开发效率、数据的可维护性和可靠性。
为实现以上目的,本技术方案提供一种工作流引擎的配置方式,包括以下步骤:
依据业务流程图配置业务流程所需的任务节点的节点信息,所述节点信息至少包括所述任务节点的名称、编号、流转对象、上下级联关系以及流转条件,生成针对所述任务节点的基础要素库;
依据所述节点信息关联所述基础要素库,生成关系要素库;
获取业务数据触发对应的业务节点,依据所述业务节点的所述基础要素库以及所述关系要素库生成对应的工作流引擎。
第二方面,提供一种依据业务数据根据上述工作流引擎的配置方式自定义配置得到的业务引擎。
第三方面,提供一种工作流引擎的配置装置,包括:
节点配置单元,用于依据业务流程图配置业务流程所需的任务节点的节点信息,所述节点信息至少包括所述任务节点的名称、编号、流转对象、上下级联关系以及流转条件,生成针对所述任务节点的基础要素库;
关联单元,用于依据所述节点信息关联所述基础要素库,生成关系要素库;
业务数据获取单元,用于获取业务数据;
工作引擎配置单元,用于依据所述业务数据触发对应的业务节点,依据所述业务节点的所述基础要素库以及所述关系要素库生成对应的工作流引擎。
第四方面,提供一种执行上述配置方式的电子设备。
相较现有技术,本技术方案具有以下特点和有益效果:该工作流引擎的配置方法重新定义并提供严谨的基础服务的配置,针对业务数据不需要额外的辅助工作就可完成工作流引擎的自由配置,提高了工作流引擎的扩展性的同时,降低工作流引擎的开发难度。
附图说明
图1是根据本发明的一实施例的工作流引擎配置方法的流程示意图。
图2是根据本发明的一实施例的工作流引擎的应用示例。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
可以理解的是,术语“一”应理解为“至少一”或“一个或多个”,即在一个实施例中,一个元件的数量可以为一个,而在另外的实施例中,该元件的数量可以为多个,术语“一”不能理解为对数量的限制。
本方案提供一种工作流引擎及其配置方法及工作流执行方法,传统的工作流引擎是预先设定好完整的业务流程,业务数据依据设定好的业务流程进行流转,然而这种工作流引擎存在业务流程扩展性差的致命问题。而本方案革新化的改变工作流引擎的配置方式,以业务流程涉及的任务节点为基础进行配置,根据实际业务需求配置任务节点的内容及其流转条件,业务数据依据对应的任务节点进行自动流转生成完整的业务流程图,且可实现业务节点的时间期限管理以及任务回溯。
以下对本方案涉及的名词进行初步解释:
业务系统服务:为完成某个业务目的,由多个业务任务依据设定的流转条件流转形成的软件系统。
业务流程图:针对特定业务系统服务生成的描述业务任务走向的示意图,展示该业务系统服务从创建到结束的全过程。
任务节点:以节点的形式展示在业务流程图中的业务任务。
工作引擎:依据业务流程图完成任务节点流转的服务支持。
具体的,根据本发明的一方面,提供一种工作流引擎的配置方式,依据业务流程图进行工作引擎的配置,包括以下步骤:
依据业务流程图配置业务流程所需的任务节点的节点信息,所述节点信息至少包括所述任务节点的名称、编号、流转对象、上下级联关系以及流转条件,生成针对所述任务节点的基础要素库;
依据所述节点信息关联所述基础要素库,生成关系要素库;
获取业务数据触发对应的业务节点,依据所述业务节点的所述基础要素库以及所述关系要素库生成对应的工作流引擎。
本方案的工作流引擎是针对每个任务节点进行单独的配置,故若在业务服务系统运行过程中,发生业务任务变更或者删减的情况,仅需重新配置对应变更或者删减的任务节点即可,具体来说,整体业务流程细分为单独的任务节点进行配置,新增或变更任务节点不影响其他任务节点的正常流转关系,可灵活地进行应用系统的扩展,不需要额外的辅助工作就可完成工作流引擎的自由配置,大大降低了维护成本,解决传统技术的工作流引擎无法适用于多需求扩展的业务系统的问题。
具体的,“依据业务流程图配置业务流程所需的任务节点”包括:依据所述业务流程图,将所述业务流程分为对应所述业务流程图的所有任务节点,定义每个任务节点flow的所述名称flow_name、所述编号flow_id、所述流转对象approval_object、所述上下级联关系以及所述流转条件condition。
其中所述名称对应该任务节点的命名,可根据业务流程图内对应的业务任务进行命名,也可在配置时被自定义。
所述编号对应该任务节点的自定义编号,不同任务节点具有不同的编码,通过编码即可快速定位对应的任务节点。
所述流转对象为该任务节点对应的处理对象的信息,表示该任务节点由哪个处理对象进行处理,以便于赋予对应的处理对象针对该任务节点的处理权限,所述流转对象包括但不限于流转人员approval_user_id、流转部门approval_dept_id、流转角色approval_role_id。
所述上下级联关系为对应该任务节点的上级任务节点before_flow,以及下级任务节点next_flow,所述上级任务节点依据流转条件可流转至所述任务节点,所述任务节点依据流转条件可流转至所述下级任务节点。
所述流转条件为对应该任务节点和所述上下级联关系之间的流转关系,设定特定任务节点和另一特定任务节点之间的流转关系。
另外,“依据业务流程图配置业务流程所需的任务节点”步骤中,将所述流转条件定义为程序可识别的脚本语言,以便于后续进行基础要素库的关联。
示例性的,某业务节点的基础要素库可以以下形式展示:
flow_name:案件受理;
flow_id:7;
approval_role_id:nq;
before_flow_id:2;
next_flow_id:50,48;
condition:if“审查通过”,next_flow_id:50;if“退回”,next_flow_id:48。
“依据所述任务节点的所述节点信息关联所述基础要素库,生成关系要素库”包括获取所述流转条件以及所述流转对象,在角色、时间、空间维度对所述基础要素库进行关联,形成和所述基础要素库一一对应的所述关系要素库。
本方案的业务数据在流转时匹配任务节点依据配置好的流转条件自动和其他基础任务发生互动,任务节点的处理以及不同任务节点之间的流转可通过本方案配置的工作引擎独立有效完成,不需要借助其它开源或者收费工具,如shiro权限管理,降低了开发人员去了解、学习或者购买收费工具成本,完全可以独立的开发模式,极大的减少了去集成其他工具的开发周期,也方便后期的维护、迭代。
具体的:
角色维度的关联:获取所述任务节点的所述流转人员或所述流转角色,依据所述流转人员或所述流转角色将所述任务节点和对应的流转人员或所述流转角色进行关联。示例性的,任务节点的approval_role_id:nq(内勤),则将该任务节点和内勤进行关联,赋予内勤处理该任务节点的权限。
时间维度的关联:获取所述任务节点的所述流转条件,依据所述流转条件将所述任务节点和下级任务节点进行关联。具体的,包括:依据所述流转条件,针对所述任务节点不同的处理结果配置不同的下级任务节点。在一些实施例中,依据所述流转条件,针对所述任务节点不同的处理时间配置不同的下级任务节点。
空间维度的关联:获取所述任务节点的所述流转部门,依据所述流转部门将所述任务节点和对应的流转部门进行关联。值得一提的是,角色维度、时间维度以及空间维度可以单一关联也可联动进行关联。示例性的,比如区级受理节点,不仅仅要求满足approval_role_id:nq(内勤)的条件,还需要配置指定的流转部门approval_dept_id:100001(区受理部门),才能正确的将任务流转到此节点。
其中所述处理结果可以支持对不同字段的动态配置和多条件配置。示例性的:以“审批”的任务节点为例,根据流转条件配置关系要素库(表一),以“判断违规”为任务节点为例,根据流转条件配置关系要素库(表二),如下所示:
表一
Condition_result | Next_flow_id |
flowAuditResult=‘审核通过’ | 50 |
flowAuditResult=‘退回’ | 48 |
表二
其中Condition_result是指当前环节处理结果,Next_flow_id是指下级业务节点,可以根据实际需求配置。
本方案中不同任务节点之间的流转条件可设定自动流转、定时流转以及外部触发流转等不同情况,针对定时流转的情况,获取处理所述任务节点的处理时间,依据不同的处理时间流转不同的下级任务节点。
另外,在本方案中,针对具有时间期限的任务节点配置时间期限,通过这样的方式可以有效地控制每个业务节点的生命周期,把控对应的流转时间节点,形成灵活的、可控的闭环,实现有效地控制每个任务节点的生命周期,并灵活地把控任务节点的流转时间节点。更好地实现任务运行情况的监测,基于特定时间纬度的任务情况进行自动汇总分析,可以将任务环节超时情况通过数据的形式定时输出给前端页面展示,能更好的为管理者制定更合理的流程制度或者资源调配。
对应的,该工作流引擎的配置方式包括:配置所述任务节点的时间期限。具体的,“配置所述任务节点的时间期限”包括:查找需要进行时间期限定义的任务节点,配置所述任务节点的时间期限。
时间期限指的是对应该任务节点的处理时间以及触发时间,若处理该任务节点的处理时间超过时间期限后,针对该任务节点做出相应的提示或者后续操作,若抵达所述触发时间,触发该任务节点。
此时,时间期限作为任务节点的节点信息,针对该节点信息进行多任务节点的关联。对应的,“依据所述任务节点的所述节点信息关联所述基础要素库,生成关系要素库”:依据所述任务节点的处理时间,处理时间作为所述任务节点的处理结果配置对应的下级任务节点;依据所述任务节点的触发时间,触发时间作为上级任务节点处理结果配置对应的上级任务节点。
所述时间期限将所述任务节点和设定任务节点或者进行关联。设定针对所述任务节点的处理时间超过所述时间期限,触发下级任务节点,设定下级任务节点可为提示信息任务节点、正常任务节点或终止任务节点的一种。
所述提示信息任务节点显示对应该任务节点的提示信息,可以是超时提示;此时,若所述任务节点的处理时间超过所述时间期限时,提示超时信息。所述正常任务节点为对应所述任务节点的下级任务节点,此时,若所述任务节点的处理时间超过所述时间期限时,自动流转下一个任务节点,时间期限作为流转条件。所述终止任务节点为特殊的下级任务节点,结束该任务。
示例性的,针对“案件受理”的任务节点的时间期限为10分钟,则配置得到表三:
表三
Flow_name | Task_time |
案件受理 | 10 |
Task_time为时间期限,设定时间期限的单位为“分钟”。
对应的流转条件配置如表四:
表四
time_result | Next_flow_id |
小于10 | 5 |
10 | 10 |
time_result为处理时间。
在本方案中可通过对任务节点的唯一编号进行单独配置,对需要给任务节点添加时间期限的单独提供一套配置,并支持一对多的配置。这样设置的好处在于:可以独立地、随意地针对任务节点的时间期限进行配置和修改。
另外,本方案的工作流引擎可实现任务节点的任务实例轨迹跟踪。任务节点在流转过程中发生每个流转动作以及任务节点变化可被完整地记录。本方案以任务节点作为对象进行任务实例轨迹的跟踪,可以高效地追踪并提取特定任务节点的任务实例轨迹。具体来说,任务节点在存活期间的所有流转过程被记录,解决现有技术的工作流引擎缺少详细的节点实例和任务实例轨迹的技术问题,使得业务流程具有可追溯性,在业务流程展示时可明确地展示每个任务节点的处理过程。
对应的,该工作流引擎的配置方式包括:动态配置所述任务节点的流程描述,所述流程描述配置为针对所述任务节点的流转轨迹,所述流程轨迹包括选定的上级任务节点及处理结果。
在本方案中,流程描述根据实际需求自定义配置,针对不同任务节点配置不同的流程描述,针对同一任务节点也动态配置不同的流程描述。由于本方案的任务节点被单独地进行配置,故管理人员可快速便捷地根据需求选择流转至特定任务节点之前的任务节点以及处理结果,作为对应的流程描述。
“动态配置所述任务节点的流程描述”包括:依据所述流程描述,获取针对描述所述业务节点所需的上级任务节点及处理结果,依据设定规则展示。
示例性的,针对“违停的现场处理环节”,需要对此环节展示为“XXX部门xxx完成现场取证(流程描述),则配置如下表五所示:
表五
“获取业务数据触发对应的业务节点,依据所述业务节点的所述基础要素库以及所述关系要素库生成对应的工作流引擎。”包括:依据所述业务流程图选取业务节点构建主流程总线,获取所述业务数据触发所述主流程总线上的所述业务节点,依据所述业务节点的所述基础要素库以及所述关系要素库扩展所述主流程总线的流程分支,形成所述工作流引擎。
工作流引擎的配置通过工作流引擎服务业务支撑,服务业务的业务支撑内容包括:
构建所述主流程总线:所述主流程总线由多个任务节点集成为的一条主总线,主流程总线指的是从业务创建到业务正常结束需要处理的必要环节,所述主流程总线内由依次序排布的核心业务节点串联组成,所述业务分支在所述主流程总线上进行扩展。
执行任务流转环节:执行任务节点之间的流转,根据所述任务节点的所述流转条件以及所述节点信息,配置所述任务节点的流转对象以及下级任务节点。任务节点被灵活分配给不同处理对象执行,并流转下一任务环节。
获取任务处理结果:每个任务节点的执行以及处理结果被记录到对应某一个任务的所述流程描述中,方便“追溯”任务的行为轨迹,极大的减少了查询某个任务需耗费极大的系统资源。
另外,本方案的工作流引擎生成不同的配置数据表,配置数据表至少包括:
基础任务配置表:由多个任务节点的基础要素库组成,所述基础任务配置表的每一条都对应了一个不可细分的任务节点的节点信息。
基础任务流转条件配置表:由多个任务节点的关系要素库组成,所述基础任务流转条件配置表的每个基础任务都一对多地对应了其执行后可能发生的结果对应不同的流转条件可触发的后续不同的任务节点。
主流程表:记录了当前任务节点的最新动态,对应每一个任务节点的发展总线,可由其“追溯”任务的“一生”。也就是说,获取记录对应每个任务节点的上级任务节点及相关的处理信息。
时间期限配置表:灵活的配置每个任务节点的处理时间以及触发时间,是任务动作自动实现并流转的高效体现。
任务实例表:记录每个任务对应的多个任务节点生成的实例,也是业务逻辑的支撑,整个工作流引擎的“数据中台”。
办理过程结果表:记录下每个任务节点的处理结果,“追溯”整个任务的“一生”必不可少的一环。
角色配置表:维护每个任务节点的可执行权限的基础配置。
日志表:记录整个工作流引擎的操作行为、结果输出,可以追踪整个引擎运行期间的所有动态。
其中主流程表主要是记录任务节点的流转及定义下一个任务节点,办理过程结果表主要用于个性化展示办理过程的一个处理结果,可以自定义每个任务节点的处理情况,并根据动态规则来匹配并更好的让用户能够理解,或者满足用户提出的个性化展示需求。
以违停的流程为例,用户需要确认在发送温馨提醒的节点展示短信发送的内容,对于主流程表来说,不需要记录这么业务化的内容,这个时候就用到了办理过程结果表,可以这么配置“【***城市管理局】车牌为carNo的车主,您的机动车与caseTime未按规定停放在road的人行道上,违反了《中华人民共和国道路交通安全法》的规定,请将爱车挪到指定泊位”,其中carNo代表车牌,caseTime代表案发时间,road代表具体道路。
总结来说,主流程表是一个抽象的实体,主要用于流程的流转,而办理过程结果表更多的是偏向于对于具体每个节点的实例化展示。
本方案的工作引擎的配置数据表是依据本方案的工作流引擎配置得到的,通过配置数据表可快捷地展示每个任务节点的信息,以及获取工作引擎的全部内容。示例性的,获取任务实例表:即可清晰地了解每个任务节点的具体处理人,处理时间,处理结果,处理状态等处理信息。
示例性的,以“车辆违停”为例,首先获取主流程总线的任务节点,任务节点包括案件受理、中队指派、现场取证、结案等四个环节;业务数据触发任务节点,其次根据每个任务节点的流转条件配置主流程总线的分支,且每个任务节点的实际流转对象被记录,最终得到实例表,通过实例表可清楚地获取该业务的信息。
当然,需要对工作流引擎配置接口服务,配置的接口服务对应配置内容设计,包括如下内容:
任务初始化:用于触发每个任务节点的起点,根据创建的主流程总线给予任务节点的初始行为,针对任务节点的后续动作由配置的关联关系要素库决定,程序自动加载执行;
任务处理:由任务节点的流转条件配置得到,可以分为自动流转、定时流转以及外部触发流转等不同情况,每个任务由一个或多个任务节点构成,任务节点执行对应任务节点动作,而任务总线根据当前任务节点处理结果,并结合流转条件中说明的自动流转到下一任务节点,匹配后同理加载、分析后续任务节点触发动作。
退回、转交,由流转条件配置,可以分为自动退回、外部触发退回,执行对应任务动作,其结果为退回的任务节点,可以灵活决定退回的任务节点。
其中,接口可分装成对应的服务,可内部调用,亦可服务之间的异步调用,极大的提高开发效率,节省开发资源。接口协议为HTTP协议,请求方式为POST、GET请求,JSON数据格式,标准化的联调方式,极易各发开之间的对接、联调。
另外为了保证工作流引擎的统计以及正常运行,需配置工作引擎的定时任务,包括如下内容:
任务统计,以不同维度计算出业务中需要的统计数据,用于行为分析,未来预判等领域,此功能主要用于任务情况监测,基于特定时间纬度的任务情况进行自动汇总分析,可以将任务发现情况,处理情况,每个环节超时情况等通过数据的形式定时输出给前端页面展示,能更好的为管理者制定更合理的流程制度或者资源调配。
配置变更扫描,由于任务节点的变更会影响到在途的任务,需要定时扫描所有在途相关任务的版本,若发生改变则及时同步。以违停流程为例,如果业务变更导致不需要审核环节,那么当改变流程配置的时候会自动触发扫描,将所有处在当前审核环节的在途任务自动变更到下一环节状态。
任务克隆,由于特殊情况,在某个特定的时间点需要触发某个任务流程,需要定时去扫描相关配置下的任务,及时生成新的任务。根据业务场景,任务流传到特定条件下,需要系统自动来实施,或是短信(任务)倒计时,也可以是以天/小时/秒为单位,通过XXL-JOB、Scheduled、quartz等方式去定时触发某个新的流程,减少了人工参与的动作,加快了流程流转的效率。
由于数据信息交换的系统化处理,极大的加快了信息处理的效率,稳定的、有效的信息处理同事,必然会生成海量数据,这时,定时统计任务的需求油然而生,避免实时去查询、计算,极大的节省了资源空间,并且可以有效的为大数据分析提供了重要保障。
根据本发明的第二方面,提供一种工作流引擎的配置装置,运行上述工作流引擎的配置方法,该装置包括:
节点配置单元,用于依据业务流程图配置业务流程所需的任务节点的节点信息,所述节点信息至少包括所述任务节点的名称、编号、流转对象、上下级联关系以及流转条件,生成针对所述任务节点的基础要素库;
关联单元,用于依据所述节点信息关联所述基础要素库,生成关系要素库;
业务数据获取单元,用于获取业务数据;
工作引擎配置单元,用于依据所述业务数据触发对应的业务节点,依据所述业务节点的所述基础要素库以及所述关系要素库生成对应的工作流引擎。
值得一提的是,工作流引擎的配置装置内的方法流程执行步骤参见第一方面的工作流引擎的配置方法,本申请人在此不做过多的累赘说明。
根据本发明的第三方面,提供一种根据其上方案配置得到的工作流引擎,该工作流引擎具有扩展性好、任务实例可回溯的优点。
本方案提供示例对工作流引擎的配置进行说明。图2展示了人行道违停处理流程的工作引擎逻辑图,本方案以人行道违停处理流程来说明本申请的技术方案:
首先,依据流程图构建主流程总线,随后根据业务数据触发不同的任务节点生成对应的工作引擎,具体的:
步骤1监控智能发现问题后上报,产生业务数据,业务数据触发工作流引擎的任务初始化接口,读取“受理任务”的业务节点配置及对应的角色配置,生成对应角色权限的受理任务;
步骤2受理环节,根据受理任务的流转条件配置,由受理人员审核问题是否误报,如误报,则流程结束,如符合自动受理规则,则自动受理通过,这里的误报或者确认即为对应流转条件的处理结果,由外部操作触发工作流引擎服务的处理接口,通过输入的结果条件,进行与该任务的流转条件配置匹配,得到下一任务节点的配置,并生成下一任务实例,任务受理或结案;
步骤3如监控智能发现问题时,未识别出机动车车牌,则自动转派给“监控负责人进行现场取证”的任务节点,若识别出机动车车牌,则转派给“受理人员可选择是否需要现场取证”的任务节点;
这里的识别机动车车牌识别结果即为流转条件配置中的处理结果,由外部操作触发工作流引擎服务的处理接口,通过输入的结果条件,进行与该任务的流转条件配置匹配,得到下一任务节点的配置,生成下一任务实例,现场取证或温馨提醒
步骤4现场取证环节,即执法人员在现场处理的行为动作,然后输入处理结果,无发现则流程结束,若情况属实,则发送温馨提醒,这里的无发现或未驶离即为流转条件配置中的处理结果,由外部操作触发工作流引擎服务的处理接口,通过输入的结果条件,进行与该任务的流转条件配置匹配,得到下一任务节点的配置,生成下一任务实例,生成倒计时任务。
步骤5定时任务去扫描定时任务表,满足配置条件的任务则自动复核,根据结果与读取到的条件配置匹配,得到下一任务节点的配置,生成下一任务实例,自动结案或自治结果审核。
步骤6自治结果审核是由内勤进行人工结案,执行动作结果为已驶离或未驶离,输入结果,根据结果与读取到的条件配置匹配,得到下一任务的配置,生成下一任务实例,结案或者接入市委听处理系统进行处罚(启动新的流程任务,本流程结束)。
用于实现本方案实施例的工作流引擎配置方法的服务器的计算机系统包括中央处理单元(CPU),其可以根据存储在只读存储器(ROM)中的程序或者从存储部分加载到随机访问存储器(RAM)中的程序而执行各种适当的动作和处理。在RAM中,还存储有系统操作所需的各种程序和数据。CPU、ROM以及RAM通过总线彼此相连。输入/输出(I/O)接口也连接至总线。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的工作流引擎配置方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被中央处理单元(CPU)执行时,执行本发明的工作流引擎配置方法。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的模块也可以设置在处理器中。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备执行工作流引擎配置方法所对应的流程步骤。
本发明不局限于上述最佳实施方式,任何人在本发明的启示下都可得出其他各种形式的产品,但不论在其形状或结构上作任何变化,凡是具有与本申请相同或相近似的技术方案,均落在本发明的保护范围之内。
Claims (6)
1.一种工作流引擎的配置方式,其特征在于,包括以下步骤:
依据业务流程图配置业务流程所需的任务节点的节点信息,所述节点信息至少包括所述任务节点的名称、编号、流转对象、上下级联关系以及流转条件,生成针对所述任务节点的基础要素库;
获取所述流转条件以及所述流转对象,在角色、时间、空间维度对所述基础要素库进行关联,形成和所述基础要素库一一对应的关系要素库;
角色维度的关联:获取所述任务节点的流转人员或流转角色,依据流转人员或流转角色将所述任务节点和对应的所述流转人员或所述流转角色进行关联;
时间维度的关联:获取所述任务节点的所述流转条件,依据所述流转条件针对所述任务节点不同的处理时间配置不同的下级任务节点;配置所述任务节点的时间期限,时间期限为对应该任务节点的处理时间,依据所述任务节点的处理时间,处理时间作为所述任务节点的处理结果配置对应的下级任务节点;依据所述任务节点的触发时间,触发时间作为上级任务节点处理结果配置对应的上级任务节点;
空间维度的关联:获取所述任务节点的流转部门,依据所述流转部门将所述任务节点和对应的流转部门进行关联;
获取业务数据并触发对应的业务节点,依据所述业务节点的所述基础要素库以及所述关系要素库生成对应的工作流引擎;
构建主流程总线:所述主流程总线由多个任务节点集成为的一条主总线,主流程总线指的是从业务创建到业务正常结束需要处理的必要环节,所述主流程总线内由依次序排布的核心业务节点串联组成,业务分支在所述主流程总线上进行扩展。
2.根据权利要求1所述的工作流引擎的配置方式,其特征在于,所述流转对象为该任务节点对应的处理对象的信息,包括但不限于流转人员、流转部门、流转角色,所述上下级联关系为对应该任务节点的上级任务节点以及下级任务节点,所述流转条件为对应该任务节点和所述上下级联关系之间的流转关系。
3.根据权利要求1所述的工作流引擎的配置方式,其特征在于,包括:动态配置所述任务节点的流程描述,所述流程描述配置为针对所述任务节点的选定的上级任务节点及处理结果。
4.根据权利要求1所述的工作流引擎的配置方式,其特征在于,所述主流程总线内由依次序排布的核心业务节点串联组成,所述核心业务节点为业务创建到业务正常结束需要处理的必要环节。
5.一种工作流引擎的配置装置,其特征在于,包括:
节点配置单元,用于依据业务流程图配置业务流程所需的任务节点的节点信息,所述节点信息至少包括所述任务节点的名称、编号、流转对象、上下级联关系以及流转条件,生成针对所述任务节点的基础要素库;
关联单元,用于获取所述流转条件以及所述流转对象,在角色、时间、空间维度对所述基础要素库进行关联,形成和基础要素库一一对应的关系要素库;
角色维度的关联:获取所述任务节点的流转人员或流转角色,依据流转人员或流转角色将所述任务节点和对应的所述流转人员或所述流转角色进行关联;
时间维度的关联:获取所述任务节点的所述流转条件,依据所述流转条件针对所述任务节点不同的处理时间配置不同的下级任务节点;配置所述任务节点的时间期限,时间期限为对应该任务节点的处理时间,依据所述任务节点的处理时间,处理时间作为所述任务节点的处理结果配置对应的下级任务节点;依据所述任务节点的触发时间,触发时间作为上级任务节点处理结果配置对应的上级任务节点;
空间维度的关联:获取所述任务节点的流转部门,依据所述流转部门将所述任务节点和对应的流转部门进行关联;
业务数据获取单元,用于获取业务数据;
工作引擎配置单元,用于依据所述业务数据触发对应的业务节点,依据所述业务节点的所述基础要素库以及所述关系要素库生成对应的工作流引,构建主流程总线:所述主流程总线由多个任务节点集成为的一条主总线,主流程总线指的是从业务创建到业务正常结束需要处理的必要环节,所述主流程总线内由依次序排布的核心业务节点串联组成,业务分支在所述主流程总线上进行扩展。
6.一种电子设备,其特征在于,包括:处理器;以及
存储器,在所述存储器中存储有计算机存储器,在所述存储器中存储有计算机程序指令,所述计算机程序指令在被所述处理器运行时使得所述处理器执行根据权利要求1-4中任一项所述的工作流引擎的配置方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011618691.3A CN112732227B (zh) | 2020-12-30 | 2020-12-30 | 一种工作流引擎及其配置方法、装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011618691.3A CN112732227B (zh) | 2020-12-30 | 2020-12-30 | 一种工作流引擎及其配置方法、装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112732227A CN112732227A (zh) | 2021-04-30 |
CN112732227B true CN112732227B (zh) | 2023-06-16 |
Family
ID=75608258
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011618691.3A Active CN112732227B (zh) | 2020-12-30 | 2020-12-30 | 一种工作流引擎及其配置方法、装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112732227B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113808716B (zh) * | 2021-09-14 | 2024-03-19 | 北京天健源达科技股份有限公司 | 住院闭环信息处理方法 |
CN113837721A (zh) * | 2021-09-18 | 2021-12-24 | 广州市日京信息科技有限公司 | 一种流程管理方法及系统 |
CN115509696A (zh) * | 2022-10-25 | 2022-12-23 | 中粮信托有限责任公司 | 流程引擎的构建方法、装置、设备及存储介质 |
CN115543579A (zh) * | 2022-10-26 | 2022-12-30 | 鼎捷软件股份有限公司 | 关联数据自动处理系统以及关联数据自动处理方法 |
CN116739327B (zh) * | 2023-08-11 | 2023-10-27 | 长沙睿展数据科技有限公司 | 一种动态业务流程中的轻量级的流程引擎实现方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013033352A (ja) * | 2011-08-01 | 2013-02-14 | Ntt Data Corp | プログラム生成装置、その方法及びプログラム |
CN104281906A (zh) * | 2013-07-11 | 2015-01-14 | 江苏达科信息科技有限公司 | 一种业务流程中的流程引擎实现方法及其流程引擎系统 |
WO2016101599A1 (zh) * | 2014-12-27 | 2016-06-30 | 华为技术有限公司 | 业务流程管理的通知服务处理的方法及业务流程管理引擎 |
CN108053144A (zh) * | 2017-12-29 | 2018-05-18 | 厦门市美亚柏科信息股份有限公司 | 开放式业务流程实现方法及工作流引擎 |
CN111897815A (zh) * | 2020-07-15 | 2020-11-06 | 中国建设银行股份有限公司 | 一种业务处理方法和装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130268936A1 (en) * | 2012-04-09 | 2013-10-10 | Yu-Hung Hsu | Workflow management system and method |
CN105046408A (zh) * | 2015-06-25 | 2015-11-11 | 国网山东省电力公司 | 一种可配置工作流的实现方法及系统 |
CN106897810B (zh) * | 2015-12-17 | 2021-07-13 | 北京奇虎科技有限公司 | 业务处理方法和系统、工作流引擎和系统、业务系统 |
CN110390496B (zh) * | 2019-09-18 | 2021-03-09 | 浙江华云信息科技有限公司 | 一种适应业务与组织复杂多变的工作流设计方法 |
CN111008069B (zh) * | 2019-12-02 | 2023-12-15 | 浙江大搜车软件技术有限公司 | 业务处理方法、装置、计算机设备和存储介质 |
CN111932150B (zh) * | 2020-09-17 | 2021-01-08 | 平安国际智慧城市科技股份有限公司 | 基于ai决策及引擎的流程执行方法、装置、设备及介质 |
-
2020
- 2020-12-30 CN CN202011618691.3A patent/CN112732227B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013033352A (ja) * | 2011-08-01 | 2013-02-14 | Ntt Data Corp | プログラム生成装置、その方法及びプログラム |
CN104281906A (zh) * | 2013-07-11 | 2015-01-14 | 江苏达科信息科技有限公司 | 一种业务流程中的流程引擎实现方法及其流程引擎系统 |
WO2016101599A1 (zh) * | 2014-12-27 | 2016-06-30 | 华为技术有限公司 | 业务流程管理的通知服务处理的方法及业务流程管理引擎 |
CN108053144A (zh) * | 2017-12-29 | 2018-05-18 | 厦门市美亚柏科信息股份有限公司 | 开放式业务流程实现方法及工作流引擎 |
CN111897815A (zh) * | 2020-07-15 | 2020-11-06 | 中国建设银行股份有限公司 | 一种业务处理方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112732227A (zh) | 2021-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112732227B (zh) | 一种工作流引擎及其配置方法、装置 | |
Xu et al. | Cloud asset-enabled integrated IoT platform for lean prefabricated construction | |
Xu et al. | Cloud-based fleet management for prefabrication transportation | |
CN114240267B (zh) | 一种交通外场设备运维派单方法、电子设备及存储介质 | |
US20210141779A1 (en) | System and method for facilitating an objective-oriented data structure and an objective via the data structure | |
CN112597014A (zh) | 基于数据驱动的自动化测试方法、装置、介质及电子设备 | |
CN113254174A (zh) | 一种rpa机器人流程自动化实现系统和方法 | |
You et al. | City feed: A pilot system of citizen-sourcing for city issue management | |
CN114548833A (zh) | 一种一体化智慧运维控制方法、系统及运维平台 | |
Ali et al. | Architecture for microservice based system. a report | |
CN112130823A (zh) | 一种平台开发方法、装置、计算机设备及存储介质 | |
CN114723397A (zh) | 一种流程执行方法及装置 | |
CN113592453A (zh) | 基于区块链的信息系统运营合规审查方法及系统 | |
Khan | Quantitative Analysis of RFID based Vehicle Toll Collection System using UML and SPN | |
CN113835853A (zh) | 结合ai和rpa的分布式rpa机器人管理方法、装置及存储介质 | |
CN115687054A (zh) | 基于业务分割还原的自适应测试方法以及装置 | |
CN112686391A (zh) | 基于联邦学习的建模方法及装置、设备、存储介质 | |
CN111949246A (zh) | 新能源电力行业应用的创建方法及装置 | |
CN112693502A (zh) | 基于大数据架构的城市轨道交通监察系统及方法 | |
CN111061789A (zh) | 一种智能电网基建信息管理系统 | |
CN117873691B (zh) | 数据处理方法、装置、设备及可读存储介质 | |
CN105320512A (zh) | 分配主干权限的方法及装置 | |
CN113268503B (zh) | 信息聚合方法、存储介质、计算机设备 | |
CN110837453B (zh) | 一种公文交换平台的监控方法及相关装置 | |
CN118504665A (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 |