CN114066394A - 多租户工作流引擎的实现方法和多租户工作流引擎系统 - Google Patents
多租户工作流引擎的实现方法和多租户工作流引擎系统 Download PDFInfo
- Publication number
- CN114066394A CN114066394A CN202111188301.8A CN202111188301A CN114066394A CN 114066394 A CN114066394 A CN 114066394A CN 202111188301 A CN202111188301 A CN 202111188301A CN 114066394 A CN114066394 A CN 114066394A
- Authority
- CN
- China
- Prior art keywords
- workflow engine
- workflow
- engine
- tenant
- 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.)
- Pending
Links
Images
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/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
-
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
-
- 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
- G06F9/4451—User profiles; Roaming
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Human Resources & Organizations (AREA)
- Entrepreneurship & Innovation (AREA)
- Data Mining & Analysis (AREA)
- Economics (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种多租户工作流引擎的实现方法和多租户工作流引擎系统,该方法包括:(1)选择租户登录系统;(2)可视化创建工作流程引擎;(3)持久化工作流程引擎;(4)分租户存储工作流程引擎;(5)配置工作流程引擎节点人员以及流转条件;(6)持久化工作流程引擎配置参数;(7)为业务对象分配工作流程引擎;(8)业务对象发起工作流程;(9)基于配置条件和处理结果自动流转至下一个节点;(10)业务对象完成流程处理。本发明的方法及系统能够快速建立业务对象的工作流程引擎,并实现动态为各种业务对象分配流程节点,在多组户运算环境中为业务对象的节点流转提供灵活的控制方法。
Description
技术领域
本发明涉及制造软件领域,尤其涉及一种多租户工作流引擎的实现方法和多租户工作流引擎系统。
背景技术
在制造软件的开发过程中,工作流程引擎是现代自动化协同办公的命脉,承载着打通各个应用模块之间协同办公的重要任务。通过将固定工作拆解成定义好的任务和角色,按照指定的规则来执行并监控,从而达到提高办公效率、降低生成成本、提高企业生成经营管理水平和企业竞争力的目的。而多租户工作流引擎在SaaS服务平台的搭建中,更是具有至关重要,其实现了在多个用户环境下共用一套工作流引擎系统,其能保证各用户间数据的隔离性而在同一个用户环境下数据却可共享的一种重要手段。
在业务系统中如果不引入多租户工作流程引擎,对于企业来说各个流程走到后续的处理部门,仍需要做很多大批量的手工录入的工作,浪费人力成本,降低了组织员工的工作效率。而从软件开发制作和维护层面来说,不引入多租户概念,将需要花费大量的人力成本进行重复开发,缺陷修复。亦是浪费人力的一种体现。
目前在软件开发过程中,系统业务中,工作流程的控制多为状态控制机制,流程为:
1.在代码中为特定业务对象预设定几种流程,且流程的每个节点固定;
2.当接收到工作请求时,基于状态,通过代码逻辑判定对象的目标流程节点;
3.设置业务对象的属性,用于存储对象的当前节点。
常用方案的缺点主要集中在:
1)配置性差。每种业务对象的流程流转关系均硬编码在软件代码中的,后期如果有新增或调整等必须修改原代码,并停机进行维护。
2)扩展性差。现有的各种方案均基于单节点服务器,严重依赖单个服务器的计算能力,当并发数量过高时,会出现明显的性能瓶颈。
3)可维护性差。节点的流转控制逻辑无法以可视化的方式呈现,依赖于开发人员对代码的理解,容易出现理解分歧。
4)开发成本高。需要对每一种业务对象进行重复的编码。
发明内容
本发明旨在通过多租户工作流程引擎来解决上面相关技术中的一项或多项技术问题,其可依据各个企业不同的工作流程规则,动态建立工作流程引擎,根据业务对象请求的流程类型和流程配置,通过流程引擎计算出判断工作的下一个节点部门或人员,达到灵活快速的工作管控,从而实现降低开发工作量,提高编码质量的目的。
为了解决上述技术问题,本发明公开了一种基于微服务的多租户工作流引擎的实现方法,其包括如下步骤:
(1)选择租户登录系统;
(2)可视化创建工作流程引擎;
(3)持久化工作流程引擎;
(4)分租户存储工作流程引擎;
(5)配置工作流程引擎节点人员以及流转条件;
(6)持久化工作流程引擎配置参数;
(7)为业务对象分配工作流程引擎;
(8)业务对象发起工作流程;
(9)基于配置条件和处理结果自动流转至下一个节点;
(10)业务对象完成流程处理。
进一步地,在步骤(1)中,在系统登录时,选择租户信息,系统根据选定的租户环境,切换数据库。
进一步地,在步骤(3)中,系统在将用户创建的工作流程引擎保存到关系型数据库中时,采用JPA技术,以实现跨数据库类型的移植。
进一步地,在步骤(4)中,系统根据在步骤(1)中选择的租户信息,将工作流程引擎存储至对应的数据库中,并通过消息总线的技术,将工作流程引擎发布出去,进而对外暴露Restful API接口。
进一步地,在步骤(5)中,通过点击“审批流程”左菜单,进入流程引擎配置界面,将当前租户下已创建的工作流程引擎展示在画布左侧,选择某一个工作流程引擎,双击后,将可视化流程展示在画布中间,双击某个节点元素,弹出右侧“流程配置”页面,可以为指定的工作流程引擎节点,选择“节点人员”、“通过规则”以及分配“动态表单”。
进一步地,在步骤(6)中,系统将用户配置的“节点人员”、“通过规则”以及分配“动态表单”存储至当前租户的数据库中,通过消息总线的技术,将工作流程引擎发布出去,进而对外暴露Restful API接口。
进一步地,在步骤(8)中,系统通过分布式集群接收到发起请求后,将请求传送给工作流程引擎,工作流程引擎根据步骤(1)-(7)配置的流程处置,自动创建各个节点的处理任务。
进一步地,在步骤(9)中,用户端输入工作流程处置结果,系统通过分布式集群的下一节点接收到请求后,将当前对象当前节点和处置结果,传送给工作流程引擎,工作流程引擎根据步骤(1)-(7)配置的流程处置,自动生成下一个处理节点的工作任务。
本发明还提供了一种多租户工作流引擎系统,其包括:可视化模型编辑器、工作流程模型、数据库和工作流程引擎,所述系统用于执行如权利要求1-8中任一项所述的方法。
进一步地,所述可视化模型编辑器,用于提供可视化的工具协助用户创建工作流程模型;所述工作流程模型,为系统的核心数据模型并包括以下四要素:开始、流程节点、条件节点、结束;所述数据库,用于持久化工作流程模型且各租户之间数据隔离;所述工作流程引擎,用于将工作流程模型装配并发布成Restful API接口,提供工作流程节点流转控制服务。
本发明的方法及系统能够快速建立业务对象的工作流程引擎,并实现动态为各种业务对象分配流程节点,在多组户运算环境中为业务对象的节点流转提供灵活的控制方法。
附图说明
图1是本发明的多租户工作流程引擎的整体运行流程图;
图2A-图2D是示出本发明的界面操作实例的示意图;
图3是本发明的多租户工作流程引擎系统原理图。
具体实施方式
下面结合具体实施例对本发明的技术方案作进一步的描述,但本发明并不限于这些实施例。
在本发明的第一实施方式中,如图1所示,一种基于微服务的多租户工作流引擎的具体实施方法包括:
步骤(1):选择租户登录系统,如图2A所示,在系统登录时,选择租户信息,系统根据选定的租户环境,切换数据库。
步骤(2):可视化创建工作流程引擎。如图2B所示,通过点击“流程模型”左菜单,打开空白画布,空白画布上提供工作流程引擎中的核心元素(开始,流程节点,条件节点、结束)等,将需要的工作流程引擎元素通过拖拽的方式,展现在画布上,双击元素,弹出右侧属性界面,进行属性设置后,点击“保存模型”,生成完整的可视化工作流程引擎。
步骤(3):持久化工作流程引擎,如图2B所示,点击“保存模型”按钮,系统将用户创建的工作流程引擎,保存到关系型数据库中,保存的时采用JPA技术,可实现跨数据库类型的移植。
步骤(4):分租户存储工作流程引擎,系统根据步骤(1)选择的租户信息,将工作流程引擎存储至对应的数据库中,并通过消息总线的技术,将工作流程引擎发布出去,进而对外暴露Restful API接口。
步骤(5):如图2C所示,通过点击“审批流程”左菜单,进入流程引擎配置界面,将当前租户下已创建的工作流程引擎展示在画布左侧,选择某一个工作流程引擎,双击后,将可视化流程展示在画布中间,双击某个节点元素,弹出右侧“流程配置”页面,可以为指定的工作流程引擎节点,选择“节点人员”、“通过规则”以及分配“动态表单”等。
步骤(6):持久化工作流程引擎的配置参数,如图2C所示,点击“保存流程”按钮,系统将用户配置的“节点人员”、“通过规则”以及分配“动态表单”等存储至当前租户的数据库中,通过消息总线的技术,将工作流程引擎发布出去,进而对外暴露Restful API接口。
步骤(7):为业务对象分配工作流程引擎,如图2D所示,不同的业务对象,可选择不同的工作流程引擎,即工作流程引擎对业务对象来说,是动态可配置的。
步骤(8):业务对象发起工作流程,用户端发起业务对象工作流程请求,系统通过分布式集群的接收到发起请求后,将请求传送给工作流程引擎,工作流程引擎根据步骤(1)-(7)配置的流程处置,自动创建各个节点的处理任务。具体逻辑:①、用户端触发工作流程请求,②、系统根据找到第一个流程节点,给当前流程节点的人员生成待办事项,③、当前流程节点的人员若一直未处理待办事项,则流程一直处于处理中,④、当前流程节点的人员处理完待办事项后,系统根据配置找到第二个流程节点,给第二个流程节点的人员生成待办事项,⑤、以此类推,直到所有的流程节点人员的待办事项处理完成后,当前流程才算处理结束。
步骤(9):用户端输入工作流程处置结果,系统通过分布式集群的下一节点接收到请求后,将当前对象当前节点和处置结果,传送给工作流程引擎,工作流程引擎根据步骤(1)-(7)配置的流程处置,自动生成下一个处理节点的工作任务。举例说明:如图2C所示,在指定的流程节点,配置了2名以上的人员,①、若【通过规则】选择的【全部同意】时,则必须所有人全部同意,才能流转到下一个节点;②若【通过规则】选择的【有人同意】时,则任意一个同意后,流程即可流转到下一个节点。
步骤(10):业务对象完成流程处理,系统返回请求结果后,业务对象解析返回结果并判断是进行下一个节点处置还是结束流程;
在本发明的第二实施方式中,如图3所示,一种多租户工作流程引擎系统包括:可视化模型编辑器,工作流程模型,数据库,工作流程引擎,所述系统用于执行如上结合图1所描述的多租户工作流引擎的实现方法。
可视化模型编辑器,主要用于提供可视化的工具协助用户创建工作流程模型。
工作流程模型,系统的核心数据模型,包括:开始,流程节点,条件节点,结束四要素。
数据库,用于持久化工作流程模型,且各租户之间数据隔离。
工作流程引擎,用于将工作流程模型装配并发布成Restful API接口,提供工作流程节点流转控制服务。
本发明的方法及系统能够快速建立业务对象的工作流程引擎,并实现动态为各种业务对象分配流程节点,在多组户运算环境中为业务对象的节点流转提供灵活的控制方法。
以上所述的仅是本发明的优选实施方式,应当指出,对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
Claims (10)
1.一种基于微服务的多租户工作流引擎的实现方法,其特征在于,包括如下步骤:
(1)选择租户登录系统;
(2)可视化创建工作流程引擎;
(3)持久化工作流程引擎;
(4)分租户存储工作流程引擎;
(5)配置工作流程引擎节点人员以及流转条件;
(6)持久化工作流程引擎配置参数;
(7)为业务对象分配工作流程引擎;
(8)业务对象发起工作流程;
(9)基于配置条件和处理结果自动流转至下一个节点;
(10)业务对象完成流程处理。
2.根据权利要求1所述的方法,其特征在于,在步骤(1)中,在系统登录时,选择租户信息,系统根据选定的租户环境,切换数据库。
3.根据权利要求1所述的方法,其特征在于,在步骤(3)中,系统在将用户创建的工作流程引擎保存到关系型数据库中时,采用JPA技术,以实现跨数据库类型的移植。
4.根据权利要求1所述的方法,其特征在于,在步骤(4)中,系统根据在步骤(1)中选择的租户信息,将工作流程引擎存储至对应的数据库中,并通过消息总线的技术,将工作流程引擎发布出去,进而对外暴露RestfulAPI接口。
5.根据权利要求1所述的方法,其特征在于,在步骤(5)中,通过点击“审批流程”左菜单,进入流程引擎配置界面,将当前租户下已创建的工作流程引擎展示在画布左侧,选择某一个工作流程引擎,双击后,将可视化流程展示在画布中间,双击某个节点元素,弹出右侧“流程配置”页面,可以为指定的工作流程引擎节点,选择“节点人员”、“通过规则”以及分配“动态表单”。
6.根据权利要求5所述的方法,其特征在于,在步骤(6)中,系统将用户配置的“节点人员”、“通过规则”以及分配“动态表单”存储至当前租户的数据库中,通过消息总线的技术,将工作流程引擎发布出去,进而对外暴露RestfulAPI接口。
7.根据权利要求1所述的方法,其特征在于,在步骤(8)中,系统通过分布式集群接收到发起请求后,将请求传送给工作流程引擎,工作流程引擎根据步骤(1)-(7)配置的流程处置,自动创建各个节点的处理任务。
8.根据权利要求7所述的方法,其特征在于,在步骤(9)中,用户端输入工作流程处置结果,系统通过分布式集群的下一节点接收到请求后,将当前对象当前节点和处置结果,传送给工作流程引擎,工作流程引擎根据步骤(1)-(7)配置的流程处置,自动生成下一个处理节点的工作任务。
9.一种多租户工作流引擎系统,其特征在于,包括:可视化模型编辑器、工作流程模型、数据库和工作流程引擎,所述系统用于执行如权利要求1-8中任一项所述的方法。
10.根据权利要求9所述的系统,其特征在于,
所述可视化模型编辑器,用于提供可视化的工具协助用户创建工作流程模型;
所述工作流程模型,为系统的核心数据模型并包括以下四要素:
开始、流程节点、条件节点、结束;
所述数据库,用于持久化工作流程模型且各租户之间数据隔离;
所述工作流程引擎,用于将工作流程模型装配并发布成Restful API接口,提供工作流程节点流转控制服务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111188301.8A CN114066394A (zh) | 2021-10-12 | 2021-10-12 | 多租户工作流引擎的实现方法和多租户工作流引擎系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111188301.8A CN114066394A (zh) | 2021-10-12 | 2021-10-12 | 多租户工作流引擎的实现方法和多租户工作流引擎系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114066394A true CN114066394A (zh) | 2022-02-18 |
Family
ID=80234321
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111188301.8A Pending CN114066394A (zh) | 2021-10-12 | 2021-10-12 | 多租户工作流引擎的实现方法和多租户工作流引擎系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114066394A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116205602A (zh) * | 2023-03-02 | 2023-06-02 | 北京东方金信科技股份有限公司 | 一种跨租户工作流审批系统、方法和可读介质 |
CN117406979A (zh) * | 2023-12-14 | 2024-01-16 | 之江实验室 | 一种计算工作流的界面交互设计方法和系统 |
-
2021
- 2021-10-12 CN CN202111188301.8A patent/CN114066394A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116205602A (zh) * | 2023-03-02 | 2023-06-02 | 北京东方金信科技股份有限公司 | 一种跨租户工作流审批系统、方法和可读介质 |
CN117406979A (zh) * | 2023-12-14 | 2024-01-16 | 之江实验室 | 一种计算工作流的界面交互设计方法和系统 |
CN117406979B (zh) * | 2023-12-14 | 2024-04-12 | 之江实验室 | 一种计算工作流的界面交互设计方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108305010B (zh) | 一种工作流引擎系统及其跨平台、跨应用的流程推进方法 | |
CN111061788B (zh) | 一种基于云架构的多源异构数据转换整合系统及其实现方法 | |
CN114066394A (zh) | 多租户工作流引擎的实现方法和多租户工作流引擎系统 | |
CN101082970A (zh) | 政务审批工作流引擎系统的实现方法 | |
CN109787807B (zh) | 基于Openstack架构云平台工作流的自服务系统 | |
CN103780686A (zh) | 一种云组织内自定义申请审批流程的方法及系统 | |
CN110619014A (zh) | 一种基于etl的数据抽取方法 | |
Pawar et al. | ETL based Billing System for Azure Services with Cost Estimation using Cloud Computing | |
CN114048188A (zh) | 一种跨数据库的数据迁移系统及方法 | |
CN110134533B (zh) | 一种可批量调度数据的系统及方法 | |
CN111798083A (zh) | 一种生产调度监控系统、方法及存储介质 | |
CN114926143A (zh) | 基于业务组件和流程引擎的配置企业工作流的方法及平台 | |
US20030217089A1 (en) | Multiple task wait system for use in a data warehouse environment | |
CN112686580B (zh) | 一种可自定义流程的工作流定义方法及系统 | |
CN112633850A (zh) | 通过管理调用及监控rpa机器人实现业务流程自动化的方法 | |
CN1588411B (zh) | 一种基于流程定制的流程控制方法 | |
CN115291842B (zh) | 一种cad结构件轻量化转换与在线浏览方法及系统 | |
CN115525321A (zh) | 分布式任务生成方法、装置、设备及存储介质 | |
CN115729535A (zh) | 一种基于代码自动生成的复杂流程应用开发框架 | |
CN113254004B (zh) | 一种基于wf4.0框架的数据统计平台 | |
CN114116467A (zh) | 一种数据服务接口可视化管理的处理方法及系统 | |
CN111160704B (zh) | 一种基于RESTful架构的工作流引擎系统 | |
CN112581080A (zh) | 一种轻量级的分布式工作流引擎构建系统 | |
US20200019910A1 (en) | Block-based prediction for manufacturing environments | |
CN108536758B (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 |