CN111124636A - 一种流程编排引擎及其控制方法 - Google Patents

一种流程编排引擎及其控制方法 Download PDF

Info

Publication number
CN111124636A
CN111124636A CN201911245977.9A CN201911245977A CN111124636A CN 111124636 A CN111124636 A CN 111124636A CN 201911245977 A CN201911245977 A CN 201911245977A CN 111124636 A CN111124636 A CN 111124636A
Authority
CN
China
Prior art keywords
flow
actions
executed
action
engine according
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.)
Pending
Application number
CN201911245977.9A
Other languages
English (en)
Inventor
周喜
范渊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
DBAPPSecurity Co Ltd
Original Assignee
DBAPPSecurity Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by DBAPPSecurity Co Ltd filed Critical DBAPPSecurity Co Ltd
Priority to CN201911245977.9A priority Critical patent/CN111124636A/zh
Publication of CN111124636A publication Critical patent/CN111124636A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明涉及一种流程编排引擎及其控制方法,以实例与流程唯一对应,以流程对应1个或多个动作的方式构建引擎,当产生实例时,获取唯一关联的流程,并基于此自数据库中获取所有的动作,初始化流程后加入队列,对流程进行调度、执行,最终反馈执行结果至流程管理器。本发明支持自定义激活动作集合和执行顺序,支持对返回结果的自定义处理,可以通过接口查看和修改产品的激活编排,编排修改策略实时生效,将产品激活业务嵌入调度任务中,实现调度;解决了流程编排中实时生效策略,使得程序更加灵活,按照特有的步骤进行执行,更适应各种不同的复杂场景,不需要修改代码重新打包,只需要修改数据库就行,兼容各种应用场景,业务更清晰,维护更方便。

Description

一种流程编排引擎及其控制方法
技术领域
本发明涉及电数字数据处理的技术领域,特别涉及一种流程编排引擎及其控制方法。
背景技术
业务流程为协调企业服务以及描述业务逻辑提供了最主要的方式,因此快速便捷的构建业务流程模型对企业的业务发展有着十分重要的作用。
现有技术中,市面上比较流行的流程编排引擎是Activiti框架,其是一种工作流引擎,包括了流程的节点管理、流向管理等重要功能,使得业务能够按照设定好的流程走、可以在线更新业务流程、使得程序可以快速适应业务变化发展、让系统可以更好的维护和扩展;目前,Acticiti是开源项目文档齐全,社区活跃度较高的一款工作流程框架,其重点关注在系统开发的易用性和轻量型,每一项的业务功能Activiti流程引擎都以服务的形式提供给开发人员,通过这些服务,开发人员能够构建出功能丰富、轻便且高效的BPM程序。
然而,目前产品激活流程的代码设计全部拥挤在单个动作实现类中,激活流程直接体现在代码中,通过编程判定语句对产品中的流程进行区分,而不是产品实例级别。同时,现有的代码还存在扩展性差的问题,当任一产品需要增加一个新的激活步骤时,需要对产品进行判定后才执行操作,这会造成该实现类逻辑臃肿、业务复杂。
现有技术也同样存在着应用场景相对简单化,不能应用于复杂的业务,且不能通过图形的形式抽象出业务逻辑,需要自己根据数据库排序值和错误值的信息抽象出业务流程图。
发明内容
本发明解决了现有技术中存在的问题,提供了一种优化的流程编排引擎及其控制方法。
本发明所采用的技术方案是,一种流程编排引擎,所述引擎包括与任一实例唯一对应的流程,任一所述流程对应若干动作。
优选地,任一所述流程可以被独立控制和修改。
优选地,任一所述流程关联的动作可重复,重复的动作通过执行顺序字段区分。
一种采用所述的流程编排引擎的控制方法,所述控制方法包括以下步骤:
步骤1:进入流程管理器,基于当前实例,获取唯一关联的流程;
步骤2:基于获得的流程,自数据库中获取所有的动作;
步骤3:初始化所述流程,加入队列;
步骤4:对流程进行调度、执行,反馈执行结果至流程管理器。
优选地,所述步骤4中,流程内部定义错误策略,若任一动作执行失败,则返回至当前步骤的前任意步重新执行。
优选地,所述步骤4中,流程内部定义动作编排规则。
优选地,若任一动作执行失败,则返回至当前步骤的前一步或多步执行或重新在当前步执行。
优选地,所述步骤4中,流程内部定义流程变更生效策略。
优选地,若任一动作进行完毕后,流程发生修改,则回滚所有正在执行的动作,回到初始步骤,重新执行。
优选地,若任一动作进行完毕后,流程发生修改,则正在执行的动作正常执行,其余动作针对流程的修改重新编排。
本发明提供了一种优化的流程编排引擎及其控制方法,通过以实例与流程唯一对应,以流程对应1个或多个动作的方式构建引擎,当产生实例时,获取唯一关联的流程,并基于此自数据库中获取所有的动作,初始化流程后,加入队列,对流程,确切的说,是对流程中的动作进行调度、执行,最终反馈执行结果至流程管理器。
本发明支持自定义激活动作集合和执行顺序,支持对返回结果的自定义处理,可以通过接口查看和修改产品的激活编排,编排修改策略实时生效,将产品激活业务嵌入调度任务中,实现调度;解决了流程编排中实时生效策略,使得程序更加灵活,按照特有的步骤进行执行,更适应各种不同的复杂场景,不需要修改代码重新打包,只需要修改数据库就行,兼容各种应用场景,业务更清晰,维护更方便。
附图说明
图1为本发明的流程编排引擎的结构示意图;
图2为本发明的控制方法流程图。
具体实施方式
下面结合实施例对本发明做进一步的详细描述,但本发明的保护范围并不限于此。
本发明涉及一种流程编排引擎,所述引擎包括与任一实例唯一对应的流程,任一所述流程对应若干动作。
任一所述流程可以被独立控制和修改。
任一所述流程关联的动作可重复,重复的动作通过执行顺序字段区分。
本发明还涉及一种采用所述的流程编排引擎的控制方法,所述控制方法包括以下步骤。
步骤1:进入流程管理器,基于当前实例,获取唯一关联的流程。
步骤2:基于获得的流程,自数据库中获取所有的动作。
步骤3:初始化所述流程,加入队列。
步骤4:对流程进行调度、执行,反馈执行结果至流程管理器。
本发明中,包括几种实施方式。
实施方式1
所述步骤4中,流程内部定义错误策略,若任一动作执行失败,则返回至当前步骤的前任意步重新执行。
实施方式2
所述步骤4中,流程内部定义动作编排规则。
若任一动作执行失败,则返回至当前步骤的前一步或多步执行或重新在当前步执行。
实施方式3
所述步骤4中,流程内部定义流程变更生效策略。
若任一动作进行完毕后,流程发生修改,则回滚所有正在执行的动作,回到初始步骤,重新执行。
若任一动作进行完毕后,流程发生修改,则正在执行的动作正常执行,其余动作针对流程的修改重新编排。
本发明中,动作(action)为具体激活动作的实现,比如执行CAS配置等;流程(flow)包含激活动作集合以及各动作的执行顺序,负责各动作执行衔接,上报执行结果;策略(strategy)包括流程中激活动作执行错误后的策略和流程修改后生效策略;流程管理器(BPM)用于维护动作、流程、策略三者之间的关系,衔接各部分调度,以产品实例视角提供实例激活相关操作接口。
本发明中,流程管理器与数据库间的连接处于持续激活状态。
本发明中,如实施方式1中,以流程存在顺次执行的动作A、B、C、D为例,当动作D执行失败时,可以选择从B重新执行,也可以设置成从步骤A开始执行,这个由执行的策略决定,如果设置了回滚动作,则在B中执行失败后会立即回滚至流程执行的开始阶段。
本发明中,如实施方式2中,当修改了流程为顺次执行动作B、A、D、C,在流程上执行的步骤上有不同,表明此流程编排可以自定义步骤,当在动作C执行失败后,可以选择回滚至动作D,也可以在动作C中执行,由自己定义的错误策略决定。
本发明中,如实施方式3中,根据应用场景,有两种主流地修改流程的策略,本引擎都兼容,可以在初始化的时候设置策略模式。
策略一:当在某个动作后,流程步骤进行了修改,则回滚所有正在执行的动作操作,让其回到初始步骤,重新执行修改后的流程;
策略二:当在某个动作后,流程步骤进行了修改,正在执行的动作让其按原先的流程执行完,其他的适应新的流程编排;
通过流程编排引擎可以使得程序更加灵活,按照特有的步骤进行执行,更适应各种不同的复杂场景,不同于现有技术需要修改代码并重新打包,如果使用了流程编排引擎只需要改库就行,兼容各种应用场景。
本发明通过以实例与流程唯一对应,以流程对应1个或多个动作的方式构建引擎,当产生实例时,获取唯一关联的流程,并基于此自数据库中获取所有的动作,初始化流程后,加入队列,对流程,确切的说,是对流程中的动作进行调度、执行,最终反馈执行结果至流程管理器。
本发明支持自定义激活动作集合和执行顺序,支持对返回结果的自定义处理,可以通过接口查看和修改产品的激活编排,编排修改策略实时生效,将产品激活业务嵌入调度任务中,实现调度;解决了流程编排中实时生效策略,使得程序更加灵活,按照特有的步骤进行执行,更适应各种不同的复杂场景,不需要修改代码重新打包,只需要修改数据库就行,兼容各种应用场景,业务更清晰,维护更方便。

Claims (10)

1.一种流程编排引擎,其特征在于:所述引擎包括与任一实例唯一对应的流程,任一所述流程对应若干动作。
2.根据权利要求1所述的一种流程编排引擎,其特征在于:任一所述流程可以被独立控制和修改。
3.根据权利要求1所述的一种流程编排引擎,其特征在于:任一所述流程关联的动作可重复,重复的动作通过执行顺序字段区分。
4.一种采用权利要求1~3之一所述的流程编排引擎的控制方法,其特征在于:所述控制方法包括以下步骤:
步骤1:进入流程管理器,基于当前实例,获取唯一关联的流程;
步骤2:基于获得的流程,自数据库中获取所有的动作;
步骤3:初始化所述流程,加入队列;
步骤4:对流程进行调度、执行,反馈执行结果至流程管理器。
5.根据权利要求4所述的一种流程编排引擎的控制方法,其特征在于:所述步骤4中,流程内部定义错误策略,若任一动作执行失败,则返回至当前步骤的前任意步重新执行。
6.根据权利要求4所述的一种流程编排引擎的控制方法,其特征在于:所述步骤4中,流程内部定义动作编排规则。
7.根据权利要求6所述的一种流程编排引擎的控制方法,其特征在于:若任一动作执行失败,则返回至当前步骤的前一步或多步执行或重新在当前步执行。
8.根据权利要求4所述的一种流程编排引擎的控制方法,其特征在于:所述步骤4中,流程内部定义流程变更生效策略。
9.根据权利要求8所述的一种流程编排引擎的控制方法,其特征在于:若任一动作进行完毕后,流程发生修改,则回滚所有正在执行的动作,回到初始步骤,重新执行。
10.根据权利要求8所述的一种流程编排引擎的控制方法,其特征在于:若任一动作进行完毕后,流程发生修改,则正在执行的动作正常执行,其余动作针对流程的修改重新编排。
CN201911245977.9A 2019-12-07 2019-12-07 一种流程编排引擎及其控制方法 Pending CN111124636A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911245977.9A CN111124636A (zh) 2019-12-07 2019-12-07 一种流程编排引擎及其控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911245977.9A CN111124636A (zh) 2019-12-07 2019-12-07 一种流程编排引擎及其控制方法

Publications (1)

Publication Number Publication Date
CN111124636A true CN111124636A (zh) 2020-05-08

Family

ID=70497757

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911245977.9A Pending CN111124636A (zh) 2019-12-07 2019-12-07 一种流程编排引擎及其控制方法

Country Status (1)

Country Link
CN (1) CN111124636A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112506638A (zh) * 2020-12-21 2021-03-16 中电福富信息科技有限公司 基于Activiti技术的运维脚本流程化编排方法
CN112651698A (zh) * 2020-09-01 2021-04-13 广西辰亚信息技术有限公司 一种法务流程自动化智能系统
CN112783604A (zh) * 2021-01-27 2021-05-11 上海碳泽信息科技有限公司 一种基于PaaS的应用调度和工作流编排方法及系统
CN113744820A (zh) * 2021-03-30 2021-12-03 嘉兴易迪希计算机技术有限公司 Edc系统中数据管理过程的流程自定义方法及系统
CN116501376A (zh) * 2023-06-26 2023-07-28 和创(北京)科技股份有限公司 基于配置即时触发任务的解耦方法、系统及装置
WO2024045400A1 (zh) * 2022-08-29 2024-03-07 天翼电子商务有限公司 一种支持并行执行的决策流引擎简化方法

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102663552A (zh) * 2012-04-06 2012-09-12 东华理工大学 一种支持在线自演化的动态工作流引擎
CN103197927A (zh) * 2013-03-06 2013-07-10 华南理工大学 一种柔性工作流的实现方法及其系统
CN103279840A (zh) * 2013-06-08 2013-09-04 北京首钢自动化信息技术有限公司 基于动态语言与事件处理机制的工作流引擎实现方法
CN104809610A (zh) * 2015-05-12 2015-07-29 努比亚技术有限公司 业务流程处理方法及装置
CN106293915A (zh) * 2016-08-04 2017-01-04 南京唯实科技有限公司 基于activiti5的工作引擎方法
CN107545338A (zh) * 2016-06-27 2018-01-05 百度在线网络技术(北京)有限公司 业务数据处理方法及业务数据处理系统
CN108572862A (zh) * 2017-03-08 2018-09-25 华为软件技术有限公司 一种流程调度方法以及流程调度设备
CN109254759A (zh) * 2018-08-31 2019-01-22 重庆戴昂科技有限公司 低代码平台化业务流程配置系统
CN109978474A (zh) * 2017-12-27 2019-07-05 金证财富南京科技有限公司 一种工作流控制方法及工作流控制装置
CN109978290A (zh) * 2017-12-27 2019-07-05 中国移动通信集团广东有限公司 一种业务流程回退处理方法、流程引擎和业务系统
US10467050B1 (en) * 2015-04-06 2019-11-05 State Farm Mutual Automobile Insurance Company Automated workflow creation and management
CN110428216A (zh) * 2019-07-03 2019-11-08 平安科技(深圳)有限公司 业务流程管控方法、装置、计算机设备和存储介质

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102663552A (zh) * 2012-04-06 2012-09-12 东华理工大学 一种支持在线自演化的动态工作流引擎
CN103197927A (zh) * 2013-03-06 2013-07-10 华南理工大学 一种柔性工作流的实现方法及其系统
CN103279840A (zh) * 2013-06-08 2013-09-04 北京首钢自动化信息技术有限公司 基于动态语言与事件处理机制的工作流引擎实现方法
US10467050B1 (en) * 2015-04-06 2019-11-05 State Farm Mutual Automobile Insurance Company Automated workflow creation and management
CN104809610A (zh) * 2015-05-12 2015-07-29 努比亚技术有限公司 业务流程处理方法及装置
CN107545338A (zh) * 2016-06-27 2018-01-05 百度在线网络技术(北京)有限公司 业务数据处理方法及业务数据处理系统
CN106293915A (zh) * 2016-08-04 2017-01-04 南京唯实科技有限公司 基于activiti5的工作引擎方法
CN108572862A (zh) * 2017-03-08 2018-09-25 华为软件技术有限公司 一种流程调度方法以及流程调度设备
CN109978474A (zh) * 2017-12-27 2019-07-05 金证财富南京科技有限公司 一种工作流控制方法及工作流控制装置
CN109978290A (zh) * 2017-12-27 2019-07-05 中国移动通信集团广东有限公司 一种业务流程回退处理方法、流程引擎和业务系统
CN109254759A (zh) * 2018-08-31 2019-01-22 重庆戴昂科技有限公司 低代码平台化业务流程配置系统
CN110428216A (zh) * 2019-07-03 2019-11-08 平安科技(深圳)有限公司 业务流程管控方法、装置、计算机设备和存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
赵帅等: "《网络服务计算基础》", vol. 1, 北京邮电大学出版社, pages: 98 - 119 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112651698A (zh) * 2020-09-01 2021-04-13 广西辰亚信息技术有限公司 一种法务流程自动化智能系统
CN112506638A (zh) * 2020-12-21 2021-03-16 中电福富信息科技有限公司 基于Activiti技术的运维脚本流程化编排方法
CN112506638B (zh) * 2020-12-21 2023-06-06 中电福富信息科技有限公司 基于Activiti技术的运维脚本流程化编排方法
CN112783604A (zh) * 2021-01-27 2021-05-11 上海碳泽信息科技有限公司 一种基于PaaS的应用调度和工作流编排方法及系统
CN113744820A (zh) * 2021-03-30 2021-12-03 嘉兴易迪希计算机技术有限公司 Edc系统中数据管理过程的流程自定义方法及系统
CN113744820B (zh) * 2021-03-30 2023-11-17 易迪希医药科技(嘉兴)有限公司 Edc系统中数据管理过程的流程自定义方法及系统
WO2024045400A1 (zh) * 2022-08-29 2024-03-07 天翼电子商务有限公司 一种支持并行执行的决策流引擎简化方法
CN116501376A (zh) * 2023-06-26 2023-07-28 和创(北京)科技股份有限公司 基于配置即时触发任务的解耦方法、系统及装置
CN116501376B (zh) * 2023-06-26 2023-09-12 和创(北京)科技股份有限公司 基于配置即时触发任务的解耦方法、系统及装置

Similar Documents

Publication Publication Date Title
CN111124636A (zh) 一种流程编排引擎及其控制方法
US11429433B2 (en) Process discovery and automatic robotic scripts generation for distributed computing resources
US9519884B2 (en) Data driven dynamic workflow
La Rosa et al. Configurable multi-perspective business process models
US10296305B2 (en) Method and device for the automated production and provision of at least one software application
US9405577B2 (en) Realizing jumps in an executing process instance
CN102207872B (zh) 按照用户需求定制Web UI控件的方法和系统
US8296721B2 (en) Template-based software development
CN109684057B (zh) 任务处理方法、装置和存储介质
WO2012140564A1 (en) System and method for mobile application development
US8214245B2 (en) Method and system for synchronizing inclusive decision branches
CN110389832A (zh) ZooKeeper容器集群部署方法、系统、设备及存储介质
CN109062568A (zh) 一种项目生成方法及工具
WO2017213846A1 (en) Automating feature graduation
CN102375743B (zh) 一种基于模型和模板开发soa系统的方法
US7444618B2 (en) Automatic generation of batch programs with identification, insertion of invariables, declarative statements and variables with the use of place-marks
US20090024424A1 (en) System and method for dynamic linking of business processes
CN114327601A (zh) 一种业务流程控制方法、装置、系统及相关设备
CN113010168B (zh) 一种基于场景树的用户界面生成方法
CN112256978B (zh) 一种基于数据模型的数据处理方法、装置、介质
CN114237583A (zh) 一种跨平台可视化代码生成装置和方法
CN112418796A (zh) 子流程节点激活方法、装置、电子设备及存储介质
CN113867714A (zh) 一种适配多语言的自动代码生成方法
US7418306B2 (en) Framework for managing process including sequential actions
CN112508501A (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