CN116069311A - Workflow engine method, system, device and medium based on low-code platform - Google Patents
Workflow engine method, system, device and medium based on low-code platform Download PDFInfo
- Publication number
- CN116069311A CN116069311A CN202310062240.3A CN202310062240A CN116069311A CN 116069311 A CN116069311 A CN 116069311A CN 202310062240 A CN202310062240 A CN 202310062240A CN 116069311 A CN116069311 A CN 116069311A
- Authority
- CN
- China
- Prior art keywords
- execution
- flow
- workflow
- workflow engine
- code platform
- 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 OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
技术领域technical field
本公开涉及工作流引擎领域,具体涉及一种基于低代码平台的工作流引擎方法、系统、设备和介质。The present disclosure relates to the field of workflow engines, in particular to a workflow engine method, system, device and medium based on a low-code platform.
背景技术Background technique
传统的工作流大部分集成activity、flowable等开源框架,这些框架提供了完整的工作流服务,配置复杂,而且扩展性差,通过修改核心的表会带来很多问题,对管理人员的要求比较高。现有的工作流系统都需要一套对应的硬件环境,需要花钱购买,会增加额外的成本。现有的工作流大多数支持新增表触发方式,对于子流程也只能单条的执行,且产品运行效率和处理并发能力都有一定的欠缺,无法处理百万级的数据,甚至每天上千万的业务需求。Most of the traditional workflows integrate open source frameworks such as activity and flowable. These frameworks provide complete workflow services, with complex configuration and poor scalability. Modifying the core tables will cause many problems, and the requirements for managers are relatively high. Existing workflow systems all require a corresponding hardware environment, which needs to be purchased with money, which will increase additional costs. Most of the existing workflows support the new table trigger method, and can only execute a single sub-process, and the product operation efficiency and processing concurrency are lacking, and it cannot handle millions of data, or even thousands of data per day. million business needs.
现有技术方案(或最接近的技术方案)目前存在以下的缺点/不足:The existing technical solutions (or the closest technical solutions) currently have the following disadvantages/deficiencies:
1、部署复杂,成本较高,不易扩展;1. The deployment is complicated, the cost is high, and it is not easy to expand;
2、触发方式的单一,不具有批量处理子流程的能力;2. The trigger method is single and does not have the ability to batch process sub-processes;
3、无法做到业务量大的并发处理,系统运行的稳定性较差。3. It is impossible to achieve concurrent processing with a large amount of business, and the stability of the system operation is poor.
发明内容Contents of the invention
本公开提供基于低代码平台的工作流引擎方法、系统、设备和介质,能够解决现有的工作流引擎系统,部署复杂,成本较高,不易扩展;触发方式的单一,无法做到业务量大的并发处理,且系统运行的稳定性较差的问题。为解决上述技术问题,本公开提供如下技术方案:This disclosure provides a workflow engine method, system, device, and medium based on a low-code platform, which can solve the existing workflow engine system, which is complicated to deploy, high in cost, and difficult to expand; the single trigger method cannot achieve large business volume Concurrent processing, and the stability of the system operation is poor. In order to solve the above technical problems, the present disclosure provides the following technical solutions:
作为本公开实施例的一个方面,提供一种基于低代码平台的工作流引擎方法。包括如下步骤:As an aspect of the embodiments of the present disclosure, a workflow engine method based on a low-code platform is provided. Including the following steps:
通过可视化的web界面配置流程执行的流程图,包括配置工作流的触发方式和配置对应执行的节点;Configure the flow chart of the process execution through the visual web interface, including configuring the trigger mode of the workflow and configuring the corresponding execution nodes;
在所述对应执行的节点配置完成后,发布流程,接收触发工作流的指令,根据收到的指令来执行流程;After the configuration of the corresponding execution node is completed, publish the process, receive an instruction to trigger the workflow, and execute the process according to the received instruction;
所述流程执行完成后,保存流程的执行日志。After the execution of the process is completed, the execution log of the process is saved.
可选地,所述触发方式包括如下中的一种或多种:新增、修改、删除数据触发、定时触发、指定时间查出数据触发、手动触发、webhook触发或人员事件触发。Optionally, the triggering method includes one or more of the following: adding, modifying, deleting data triggering, timing triggering, triggering data detection at a specified time, manual triggering, webhook triggering or personnel event triggering.
可选地,所述节点包括如下中的一种或多种:数据处理、代办、通知、构建、开发者或组织/部门/协作。Optionally, the node includes one or more of the following: data processing, agency, notification, construction, developer, or organization/department/collaboration.
可选地,所述发布流程包括如下步骤:验证流程图的可用性,如果验证通过,发布成功,生成一个发布版本;否则发布失败提示流程发布失败的原因。Optionally, the release process includes the following steps: verifying the availability of the flow chart, and if the verification passes, the release is successful, and a release version is generated; otherwise, the release fails and prompts the reason for the release failure of the process.
可选地,接收到触发工作流的指令之后,还包括如下步骤:根据触发条件来判断是否满足触发条件;如果不满足条件,则结束。Optionally, after receiving the instruction to trigger the workflow, the following steps are further included: judging whether the trigger condition is satisfied according to the trigger condition; if the condition is not satisfied, then end.
可选地,满足执行流程的触发条件之后还包括如下步骤:按照流程图配置的节点执行流程,判断是否为结束的节点,如果不是,则继续执行;如果是,则流程执行结束。Optionally, after the trigger condition for executing the flow is met, the following steps are further included: execute the flow with the nodes configured according to the flow chart, and judge whether it is an end node, if not, continue to execute; if yes, end the flow execution.
可选地,执行配置节点的流程中,其中,子流程支持的执行方式包括如下方式中的一种或多种:顺序执行或并发执行。Optionally, in the process of executing the configuration node, the execution mode supported by the sub-process includes one or more of the following modes: sequential execution or concurrent execution.
作为本公开实施例的一个方面,提供基于低代码平台的工作流引擎系统,包括:As an aspect of the embodiments of the present disclosure, a workflow engine system based on a low-code platform is provided, including:
配置流程模块,通过可视化的web界面配置流程执行的流程图,包括配置工作流的触发方式和配置对应执行的节点;Configure the process module, configure the flow chart of the process execution through the visual web interface, including configuring the trigger mode of the workflow and configuring the corresponding execution nodes;
执行流程模块,在所述对应执行的节点配置完成后,发布流程;接收触发工作流的指令,根据收到的指令来执行流程;The execution process module publishes the process after the configuration of the corresponding execution node is completed; receives an instruction to trigger the workflow, and executes the process according to the received instruction;
执行日志模块,所述流程执行完成后,保存流程的执行日志。The execution log module saves the execution log of the process after the execution of the process is completed.
作为本公开实施例的另一个方面,提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的基于低代码平台的工作流引擎方法。As another aspect of the embodiments of the present disclosure, an electronic device is provided, including a memory, a processor, and a computer program stored on the memory and operable on the processor. When the processor executes the computer program, the above-mentioned A workflow engine approach based on a low-code platform.
作为本公开实施例的另一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现上述的基于低代码平台的工作流引擎方法。As another aspect of the embodiments of the present disclosure, there is provided a computer-readable storage medium on which a computer program is stored, wherein the above-mentioned workflow engine method based on a low-code platform is implemented when the program is executed by a processor .
相对于现有技术,本公开的有益效果为:Compared with the prior art, the beneficial effects of the present disclosure are:
1、实现了低代码平台的数据自动化,当数据量大的时候,更新速度快,安全性高,管理更方便。1. The data automation of the low-code platform is realized. When the amount of data is large, the update speed is fast, the security is high, and the management is more convenient.
2、增强数据的批处理能力,提高了系统的并发性,也可以选择顺序执行。2. Enhance the batch processing capability of data, improve the concurrency of the system, and you can also choose to execute sequentially.
3、统一的流程设计、流程建模、流程监控,可以很好的解决一些企业的审批功能。3. Unified process design, process modeling, and process monitoring can well solve the approval function of some enterprises.
附图说明Description of drawings
图1为实施例1中基于低代码平台的工作流引擎方法的流程图;Fig. 1 is the flowchart of the workflow engine method based on low-code platform in
图2为实施例1中基于低代码平台的工作流执行过程流程图;FIG. 2 is a flow chart of the workflow execution process based on the low-code platform in
图3为实施例1中A、B、C三个流程的循环触发流程图;Fig. 3 is the cyclic trigger flowchart of A, B, C three processes in
图4为实施例1中A、B、C三个流程的正常触发流程图;Fig. 4 is the normal trigger flowchart of A, B, C three processes in
图5为实施例2中低代码平台的工作流引擎系统示意框图。FIG. 5 is a schematic block diagram of the workflow engine system of the low-code platform in
具体实施方式Detailed ways
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。Various exemplary embodiments, features, and aspects of the present disclosure will be described in detail below with reference to the accompanying drawings. The same reference numbers in the figures indicate functionally identical or similar elements. While various aspects of the embodiments are shown in drawings, the drawings are not necessarily drawn to scale unless specifically indicated.
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。The word "exemplary" is used exclusively herein to mean "serving as an example, embodiment, or illustration." Any embodiment described herein as "exemplary" is not necessarily to be construed as superior or better than other embodiments.
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。The term "and/or" in this article is just an association relationship describing associated objects, which means that there can be three relationships, for example, A and/or B can mean: A exists alone, A and B exist simultaneously, and there exists alone B these three situations. In addition, the term "at least one" herein means any one of a variety or any combination of at least two of the more, for example, including at least one of A, B, and C, which may mean including from A, Any one or more elements selected from the set formed by B and C.
另外,为了更好地说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。In addition, in order to better illustrate the present disclosure, numerous specific details are given in the following specific implementation manners. It will be understood by those skilled in the art that the present disclosure may be practiced without some of the specific details. In some instances, methods, means, components and circuits that are well known to those skilled in the art have not been described in detail so as to obscure the gist of the present disclosure.
可以理解,本公开提及的上述各个方法实施例,在不违背原理逻辑的情况下,均可以彼此相互结合形成结合后的实施例,限于篇幅,本公开不再赘述。It can be understood that the above-mentioned method embodiments mentioned in this disclosure can all be combined with each other to form a combined embodiment without violating the principle and logic. Due to space limitations, this disclosure will not repeat them.
此外,本公开还提供了基于低代码平台的工作流引擎方法、系统、设备和介质,上述均可用来实现本公开提供的任一种基于低代码平台的工作流引擎方法,相应技术方案和描述和参见方法部分的相应记载,不再赘述。In addition, this disclosure also provides a workflow engine method, system, device, and medium based on a low-code platform, all of which can be used to implement any low-code platform-based workflow engine method provided by this disclosure, corresponding technical solutions and descriptions And refer to the corresponding record in the method part, no more details.
基于低代码平台的工作流引擎方法的执行主体可以是计算机或者其他能够实现基于低代码平台的工作流引擎装置,例如,方法可以由终端设备或服务器或其它处理设备执行,其中,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字处理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该基于低代码平台的工作流引擎方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。The execution subject of the workflow engine method based on the low-code platform may be a computer or other device capable of implementing a workflow engine device based on the low-code platform. For example, the method may be executed by a terminal device or a server or other processing device, wherein the terminal device may be User equipment (User Equipment, UE), mobile device, user terminal, terminal, cellular phone, cordless phone, personal digital assistant (PDA), handheld device, computing device, vehicle-mounted device, wearable device, etc. In some possible implementation manners, the low-code platform-based workflow engine method may be implemented by a processor calling computer-readable instructions stored in a memory.
实施例1Example 1
本实施例提供基于低代码平台的工作流引擎方法,如图1所示,包括如下步骤:This embodiment provides a workflow engine method based on a low-code platform, as shown in Figure 1, including the following steps:
S10、通过可视化的web界面配置流程执行的流程图,包括配置工作流的触发方式和配置对应执行的节点;S10, configure the flow chart of the process execution through the visual web interface, including the trigger mode of the configuration workflow and the nodes corresponding to the configuration execution;
S20、在所述对应执行的节点配置完成后,发布流程,接收触发工作流的指令,根据收到的指令来执行流程;S20. After the configuration of the corresponding execution node is completed, publish the process, receive an instruction to trigger the workflow, and execute the process according to the received instruction;
S30、所述流程执行完成后,保存流程的执行日志。S30. After the execution of the process is completed, save the execution log of the process.
基于上述步骤本公开实施例构建了一种基于低代码平台的工作流引擎方法,通过可视化的web界面配置流程执行的流程图,在所述对应执行的节点配置完成后,发布流程,实现了低代码平台的数据自动化;接收触发工作流的指令,根据收到的指令来执行流程,触发方式的多样性,增强了数据的批量处理能力,提高了系统的并发性;所述流程执行完成后,保存流程的执行日志,执行日志支持时间和状态的筛选。Based on the above steps, the embodiment of the present disclosure constructs a workflow engine method based on a low-code platform, configures the flow chart of process execution through a visual web interface, and releases the process after the configuration of the corresponding execution nodes is completed, realizing low-code Data automation of the code platform; receive instructions to trigger the workflow, and execute the process according to the received instructions. The diversity of trigger methods enhances the batch processing capability of data and improves the concurrency of the system; after the execution of the process is completed, Save the execution log of the process, and the execution log supports time and status filtering.
下面分别对本公开实施例的各步骤进行详细说明。Each step of the embodiments of the present disclosure will be described in detail below.
S10、通过可视化的web界面配置流程执行的流程图,包括配置工作流的触发方式和配置对应执行的节点;S10, configure the flow chart of the process execution through the visual web interface, including the trigger mode of the configuration workflow and the nodes corresponding to the configuration execution;
所述触发方式包括如下中的一种或多种:新增、修改、删除数据触发、定时触发、指定时间查出数据触发、手动触发、webhook触发或人员事件触发。The triggering method includes one or more of the following: adding, modifying, deleting data triggering, timing triggering, data detection triggering at a specified time, manual triggering, webhook triggering or personnel event triggering.
其中,所述定时触发指按照配置的指定时间来执行;指定时间查出数据触发指到达指定时间后,筛选出满足条件的数据来执行;手动触发指手动点击按钮来执行;webhook触发指发送http请求的,收到请求后执行;人员事件触发指平台人员入、离职变更后执行。Wherein, the timing trigger refers to execution according to the specified time configured; the specified time finds out the data trigger refers to screening out the data that satisfies the conditions after reaching the specified time; the manual trigger refers to manually clicking the button to execute; the webhook trigger refers to sending http If it is requested, it will be executed after receiving the request; personnel event trigger means that it will be executed after the change of personnel entry and exit on the platform.
所述节点包括如下中的一种或多种:数据处理、代办、通知、构建、开发者或组织/部门/协作。The nodes include one or more of the following: data processing, agency, notification, construction, developer or organization/department/collaboration.
其中,所述数据处理包括:新增节点,用于新增数据,并支持触发流程;修改节点,用于修改数据,并支持触发流程;删除数据,用于删除数据,并支持触发流程。Wherein, the data processing includes: adding a node for adding data and supporting a triggering process; modifying a node for modifying data and supporting a triggering process; deleting data for deleting data and supporting a triggering process.
所述代办包括:审批,用于发起一个审批消息到指定的审批人;填写,用于发起一个填写消息到指定的填写人;抄送节点,用于发送一个带数据记录的站内消息到指定的抄送人。The agency includes: approval, used to send an approval message to the designated approver; filling, used to send a filling message to the designated person; cc node, used to send an in-site message with data records to the designated CC people.
所述通知包括:站内消息,根据配置的消息内容,发送低代码平台的站内消息;短信,根据配置好的短信模板内容,发送短信到指定的手机号;邮件,根据配置好的邮件模板内容,发送邮件到指定的邮箱;微信服务号消息,根据配置好的服务号模板内容,发送消息到指定的微信号。The notification includes: in-site message, according to the configured message content, send the in-site message of the low-code platform; SMS, according to the content of the configured SMS template, send the SMS to the specified mobile phone number; mail, according to the configured email template content, Send an email to the specified mailbox; WeChat service account message, according to the content of the configured service account template, send the message to the specified WeChat account.
所述构建包括:分支,根据配置的条件来决定,流程的走向;延时,等待一段时间再执行;运算,执行一段公式的运算,并记录结果,供其他节点使用;子流程节点,进入一个子流程,并执行子流程的相关节点配置。The construction includes: branches, determined according to the configured conditions, and the direction of the process; delay, waiting for a period of time before executing; calculation, executing a formula operation, and recording the result for use by other nodes; sub-process node, entering a Sub-process, and execute the relevant node configuration of the sub-process.
所述开发者包括:发送api请求,发送一个http请求,并记录请求的返回值;代码块,执行一段代码,并记录代码执行的返回结果;JSON解析,JSON数据重命名并过滤掉不符合条件的数据。The developer includes: sending an api request, sending an http request, and recording the return value of the request; code block, executing a piece of code, and recording the return result of code execution; JSON parsing, renaming JSON data and filtering out unqualified The data.
所述组织、部门、协作包括:获取人员,根据条件获取一个或多个人员;获取部门,根据条件获取一个或多个部门。The organization, department, and collaboration include: acquiring personnel, acquiring one or more personnel according to conditions; acquiring departments, acquiring one or more departments according to conditions.
所述通过可视化的web界面配置流程执行的流程图,实现了低代码平台的数据自动化,当数据量大的时候,更新速度快,安全性高,管理更方便。The flow chart executed through the configuration process through the visualized web interface realizes the data automation of the low-code platform. When the amount of data is large, the update speed is fast, the security is high, and the management is more convenient.
S20、在所述对应执行的节点配置完成后,发布流程,接收触发工作流的指令,根据收到的指令来执行流程;S20. After the configuration of the corresponding execution node is completed, publish the process, receive an instruction to trigger the workflow, and execute the process according to the received instruction;
S201、所述发布流程包括如下步骤:验证流程图的可用性,如果验证通过,发布成功,生成一个发布版本;否则发布失败提示流程发布失败的原因。S201. The release process includes the following steps: verify the availability of the flow chart, and if the verification is passed, the release is successful, and a release version is generated; otherwise, the release fails and prompts the reason for the release failure of the process.
作为一种优选的实施例,同一个工作流有一个编辑版本和一个或多个发布版,编辑版用来配置流程,全部配置完成后,通过对流程图可用性的验证,可以生成一个或多个发布版,发布版用于流程的执行和恢复历史版本。编辑时不会影响已经执行流程。As a preferred embodiment, the same workflow has an editing version and one or more publishing versions. The editing version is used to configure the process. After all configurations are completed, one or more The release version, the release version is used to execute the process and restore the historical version. Editing will not affect the already executed process.
S202、接收到触发工作流的指令之后,还包括如下步骤:根据触发条件来判断是否满足触发条件;如果不满足条件,则结束。如图2所示。S202. After receiving the instruction to trigger the workflow, further include the following steps: judging whether the trigger condition is satisfied according to the trigger condition; if the condition is not satisfied, then end. as shown in
S203、满足执行流程的触发条件之后还包括如下步骤:按照流程图配置的节点执行流程,判断是否为结束的节点,如果不是,则继续执行;如果是,则流程执行结束。S203, after satisfying the trigger condition of the execution process, the following steps are further included: execute the process according to the nodes configured in the flow chart, and judge whether it is an end node, if not, continue to execute; if yes, end the process execution.
执行配置节点的流程中,其中,子流程支持的执行方式包括如下方式中的一种或多种:顺序执行或并发执行。In the process of executing the configuration node, the execution modes supported by the sub-process include one or more of the following modes: sequential execution or concurrent execution.
其中,顺序执行表示等待子流程执行完成后再继续执行,并发执行表示执行子流程的同时继续执行子流程后面的节点。流程支持批量处理,增强数据的批处理能力,提高了系统的并发性和运行稳定性。Among them, sequential execution means to wait for the execution of the sub-process to complete before continuing to execute, and concurrent execution means to execute the sub-process while continuing to execute the nodes behind the sub-process. The process supports batch processing, enhances the batch processing capability of data, and improves the concurrency and operation stability of the system.
执行流程的过程中经过数据新增、更新、删除等操作,可以出发一个新的工作流,可能会导致流程的循环触发,从而导致系统流程一直在执行,无法结束,形成死循环的链路。In the process of executing the process, through data addition, update, deletion and other operations, a new workflow can be started, which may cause the process to be triggered cyclically, resulting in the system process being executed all the time and unable to end, forming an endless loop link.
例如,对于A、B、C三个流程,如图3、图4所示,当A流程触发时,会新增一条数据触发B,B触发后会新增一条数据触发C,C触发后新增一条数据触发A,那么这个时候就会出现A->B->C->A->B->C-A...,这个时候就会出现一个死循环,是系统不允许的,所以应该到如下的步骤:For example, for the three processes A, B, and C, as shown in Figure 3 and Figure 4, when A process is triggered, a new piece of data will be added to trigger B, after B is triggered, a new piece of data will be added to trigger C, and after C is triggered, a new piece of data will be added. Add a piece of data to trigger A, then A->B->C->A->B->C-A... will appear at this time, and an infinite loop will appear at this time, which is not allowed by the system, so you should go to Follow the steps below:
2.1A满足条件后触发了,新增了一条B的数据;2.1 A is triggered after meeting the conditions, and a new piece of B data is added;
2.2B满足条件触发了,新增了一条C的数据;2.2B is triggered when the condition is satisfied, and a new piece of C data is added;
2.3C满足条件触发了,新增了一条A的数据;2.3C is triggered when the conditions are satisfied, and a new piece of A data is added;
2.4整个流程结束,A流程即使满足条件也不会再触发。2.4 When the whole process ends, the A process will not be triggered again even if the conditions are met.
S30、所述流程执行完成后,保存流程的执行日志。S30. After the execution of the process is completed, save the execution log of the process.
所述执行日志支持时间和状态的筛选。基于低代码平台的工作流引擎方法,主要包括工作流流程的存储和工作流执行两部分:工作流存储用于保存工作流的配置和工作流执行的日志记录;存储工作流的触发条件、动作执行、查找数据、通知消息等节点配置;存储工作流执行的日志记录;工作流执行主要是根据配置的流程图来更新低代码平台的数据、调用外部接口、发送邮件、短信、发起审批、填写等。The execution log supports filtering of time and status. The workflow engine method based on the low-code platform mainly includes two parts: the storage of the workflow process and the workflow execution: the workflow storage is used to save the configuration of the workflow and the log record of the workflow execution; the trigger condition and action of the storage workflow Execute, search for data, notify message and other node configurations; store workflow execution log records; workflow execution mainly updates the data of the low-code platform according to the configured flowchart, calls external interfaces, sends emails, text messages, initiates approval, fills in wait.
实施例2Example 2
作为本公开实施例的另一个方面,还提供一种基于低代码平台的工作流引擎系统100,如图5所示,包括如下步骤:As another aspect of the embodiments of the present disclosure, a
配置流程模块1,通过可视化的web界面配置流程执行的流程图,包括配置工作流的触发方式和配置对应执行的节点;Configure
执行流程模块2,在所述对应执行的节点配置完成后,发布流程;接收触发工作流的指令,根据收到的指令来执行流程;Executing the
执行日志模块3,所述流程执行完成后,保存流程的执行日志。The
基于上述模块本公开实施例构建了一种基于低代码平台的工作流引擎方法,通过可视化的web界面配置流程执行的流程图,在所述对应执行的节点配置完成后,发布流程,实现了低代码平台的数据自动化;接收触发工作流的指令,根据收到的指令来执行流程,触发方式的多样性,增强了数据的批量处理能力,提高了系统的并发性;所述流程执行完成后,保存流程的执行日志,执行日志支持时间和状态的筛选,实现基于低代码平台的工作流引擎系统100。Based on the above-mentioned modules, the embodiment of the present disclosure constructs a workflow engine method based on a low-code platform, configures the flow chart of process execution through a visual web interface, and releases the process after the configuration of the corresponding execution node is completed, realizing low-code Data automation of the code platform; receive instructions to trigger the workflow, and execute the process according to the received instructions. The diversity of trigger methods enhances the batch processing capability of data and improves the concurrency of the system; after the execution of the process is completed, The execution log of the process is saved, the execution log supports time and state screening, and the
下面分别对本公开实施例的各个模块进行详细说明。Each module of the embodiment of the present disclosure will be described in detail below.
配置流程模块1,通过可视化的web界面配置流程执行的流程图,包括配置工作流的触发方式和配置对应执行的节点。Configure
所述触发方式包括如下中的一种或多种:新增、修改、删除数据触发、定时触发、指定时间查出数据触发、手动触发、webhook触发或人员事件触发。The triggering method includes one or more of the following: adding, modifying, deleting data triggering, timing triggering, data detection triggering at a specified time, manual triggering, webhook triggering or personnel event triggering.
其中,所述定时触发指按照配置的指定时间来执行;指定时间查出数据触发指到达指定时间后,筛选出满足条件的数据来执行;手动触发指手动点击按钮来执行;webhook触发指发送http请求的,收到请求后执行;人员事件触发指平台人员入、离职变更后执行。Wherein, the timing trigger refers to execution according to the specified time configured; the specified time finds out the data trigger refers to screening out the data that satisfies the conditions after reaching the specified time; the manual trigger refers to manually clicking the button to execute; the webhook trigger refers to sending http If it is requested, it will be executed after receiving the request; personnel event trigger means that it will be executed after the change of personnel entry and exit on the platform.
所述节点包括如下中的一种或多种:数据处理、代办、通知、构建、开发者或组织/部门/协作。The nodes include one or more of the following: data processing, agency, notification, construction, developer or organization/department/collaboration.
其中,所述数据处理包括:新增节点,用于新增数据,并支持触发流程;修改节点,用于修改数据,并支持触发流程;删除数据,用于删除数据,并支持触发流程。Wherein, the data processing includes: adding a node for adding data and supporting a triggering process; modifying a node for modifying data and supporting a triggering process; deleting data for deleting data and supporting a triggering process.
所述代办包括:审批,用于发起一个审批消息到指定的审批人;填写,用于发起一个填写消息到指定的填写人;抄送节点,用于发送一个带数据记录的站内消息到指定的抄送人。The agency includes: approval, used to send an approval message to the designated approver; filling, used to send a filling message to the designated person; cc node, used to send an in-site message with data records to the designated CC people.
所述通知包括:站内消息,根据配置的消息内容,发送低代码平台的站内消息;短信,根据配置好的短信模板内容,发送短信到指定的手机号;邮件,根据配置好的邮件模板内容,发送邮件到指定的邮箱;微信服务号消息,根据配置好的服务号模板内容,发送消息到指定的微信号。The notification includes: in-site message, according to the configured message content, send the in-site message of the low-code platform; SMS, according to the content of the configured SMS template, send the SMS to the specified mobile phone number; mail, according to the configured email template content, Send an email to the specified mailbox; WeChat service account message, according to the content of the configured service account template, send the message to the specified WeChat account.
所述构建包括:分支,根据配置的条件来决定,流程的走向;延时,等待一段时间再执行;运算,执行一段公式的运算,并记录结果,供其他节点使用;子流程节点,进入一个子流程,并执行子流程的相关节点配置。The construction includes: branches, determined according to the configured conditions, and the direction of the process; delay, waiting for a period of time before executing; calculation, executing a formula operation, and recording the result for use by other nodes; sub-process node, entering a Sub-process, and execute the relevant node configuration of the sub-process.
所述开发者包括:发送api请求,发送一个http请求,并记录请求的返回值;代码块,执行一段代码,并记录代码执行的返回结果;JSON解析,JSON数据重命名并过滤掉不符合条件的数据。The developer includes: sending an api request, sending an http request, and recording the return value of the request; code block, executing a piece of code, and recording the return result of code execution; JSON parsing, renaming JSON data and filtering out unqualified The data.
所述组织、部门、协作包括:获取人员,根据条件获取一个或多个人员;获取部门,根据条件获取一个或多个部门。The organization, department, and collaboration include: acquiring personnel, acquiring one or more personnel according to conditions; acquiring departments, acquiring one or more departments according to conditions.
所述通过可视化的web界面配置流程执行的流程图,实现了低代码平台的数据自动化,当数据量大的时候,更新速度快,安全性高,管理更方便。The flow chart executed through the configuration process through the visualized web interface realizes the data automation of the low-code platform. When the amount of data is large, the update speed is fast, the security is high, and the management is more convenient.
执行流程模块2,在所述对应执行的节点配置完成后,发布流程,接收触发工作流的指令,根据收到的指令来执行流程。The
S201、所述发布流程包括如下步骤:验证流程图的可用性,如果验证通过,发布成功,生成一个发布版本;否则发布失败提示流程发布失败的原因。S201. The release process includes the following steps: verify the availability of the flow chart, and if the verification is passed, the release is successful, and a release version is generated; otherwise, the release fails and prompts the reason for the release failure of the process.
作为一种优选的实施例,同一个工作流有一个编辑版本和一个或多个发布版,编辑版用来配置流程,全部配置完成后,通过对流程图可用性的验证,可以生成一个或多个发布版,发布版用于流程的执行和恢复历史版本。编辑时不会影响已经执行流程。As a preferred embodiment, the same workflow has an editing version and one or more publishing versions. The editing version is used to configure the process. After all configurations are completed, one or more The release version, the release version is used to execute the process and restore the historical version. Editing will not affect the already executed process.
S202、接收到触发工作流的指令之后,还包括如下步骤:根据触发条件来判断是否满足触发条件;如果不满足条件,则结束。如图2所示。S202. After receiving the instruction to trigger the workflow, further include the following steps: judging whether the trigger condition is satisfied according to the trigger condition; if the condition is not satisfied, then end. as shown in
S203、满足执行流程的触发条件之后还包括如下步骤:按照流程图配置的节点执行流程,判断是否为结束的节点,如果不是,则继续执行;如果是,则流程执行结束。S203, after satisfying the trigger condition of the execution process, the following steps are further included: execute the process according to the nodes configured in the flow chart, and judge whether it is an end node, if not, continue to execute; if yes, end the process execution.
执行配置节点的流程中,其中,子流程支持的执行方式包括如下方式中的一种或多种:顺序执行或并发执行。In the process of executing the configuration node, the execution modes supported by the sub-process include one or more of the following modes: sequential execution or concurrent execution.
其中,顺序执行表示等待子流程执行完成后再继续执行,并发执行表示执行子流程的同时继续执行子流程后面的节点。流程支持批量处理,增强数据的批处理能力,提高了系统的并发性和运行稳定性。Among them, sequential execution means to wait for the execution of the sub-process to complete before continuing to execute, and concurrent execution means to execute the sub-process while continuing to execute the nodes behind the sub-process. The process supports batch processing, enhances the batch processing capability of data, and improves the concurrency and operation stability of the system.
执行流程的过程中经过数据新增、更新、删除等操作,可以出发一个新的工作流,可能会导致流程的循环触发,从而导致系统流程一直在执行,无法结束,形成死循环的链路。In the process of executing the process, through data addition, update, deletion and other operations, a new workflow can be started, which may cause the process to be triggered cyclically, resulting in the system process being executed all the time and unable to end, forming an endless loop link.
例如,对于A、B、C三个流程,如图3、图4所示,当A流程触发时,会新增一条数据触发B,B触发后会新增一条数据触发C,C触发后新增一条数据触发A,那么这个时候就会出现A->B->C->A->B->C-A...,这个时候就会出现一个死循环,是系统不允许的,所以应该到如下的步骤:For example, for the three processes A, B, and C, as shown in Figure 3 and Figure 4, when A process is triggered, a new piece of data will be added to trigger B, after B is triggered, a new piece of data will be added to trigger C, and after C is triggered, a new piece of data will be added. Add a piece of data to trigger A, then A->B->C->A->B->C-A... will appear at this time, and an infinite loop will appear at this time, which is not allowed by the system, so you should go to Follow the steps below:
2.1A满足条件后触发了,新增了一条B的数据;2.1 A is triggered after meeting the conditions, and a new piece of B data is added;
2.2B满足条件触发了,新增了一条C的数据;2.2B is triggered when the condition is satisfied, and a new piece of C data is added;
2.3C满足条件触发了,新增了一条A的数据;2.3C is triggered when the conditions are satisfied, and a new piece of A data is added;
2.4整个流程结束,A流程即使满足条件也不会再触发。2.4 When the whole process ends, the A process will not be triggered again even if the conditions are met.
执行日志模块3,所述流程执行完成后,保存流程的执行日志,执行日志支持时间和状态的筛选。The
基于低代码平台的工作流引擎方法,主要包括工作流流程的存储和工作流执行两部分:工作流存储用于保存工作流的配置和工作流执行的日志记录;存储工作流的触发条件、动作执行、查找数据、通知消息等节点配置;存储工作流执行的日志记录;工作流执行主要是根据配置的流程图来更新低代码平台的数据、调用外部接口、发送邮件、短信、发起审批、填写等。The workflow engine method based on the low-code platform mainly includes two parts: the storage of the workflow process and the workflow execution: the workflow storage is used to save the configuration of the workflow and the log record of the workflow execution; the trigger condition and action of the storage workflow Execute, search for data, notify message and other node configurations; store workflow execution log records; workflow execution mainly updates the data of the low-code platform according to the configured flowchart, calls external interfaces, sends emails, text messages, initiates approval, fills in wait.
在一些实施例中,上述工作流引擎系统100在使用中采用以下方式运行:In some embodiments, the above-mentioned
S1:运行配置流程模块1。通过可视化的web界面配置流程执行的流程图,包括配置工作流的触发方式和配置对应执行的节点;S1: Run
S2:运行执行流程模块2。在所述对应执行的节点配置完成后,发布流程,接收触发工作流的指令,根据收到的指令来执行流程;S2: Run the
S3:运行执行日志模块3。所述流程执行完成后,保存流程的执行日志,执行日志支持时间和状态的筛选。S3: Run
基于对上述实施例的描述可知,本公开实施例可实现如下技术效果:Based on the description of the above embodiments, it can be seen that the embodiments of the present disclosure can achieve the following technical effects:
1)通过可视化的web界面配置流程执行的流程图,实现了低代码平台的数据自动化,当数据量大的时候,更新速度快,安全性高,管理更方便。1) Through the visual web interface to configure the flow chart of process execution, the data automation of the low-code platform is realized. When the amount of data is large, the update speed is fast, the security is high, and the management is more convenient.
2)执行流程支持批量处理,增强数据的批处理能力,提高了系统的并发性。2) The execution process supports batch processing, which enhances the batch processing capability of data and improves the concurrency of the system.
3)统一的流程设计、流程建模、流程监控,可以很好地解决一些企业的审批功能。3) Unified process design, process modeling, and process monitoring can well solve the approval function of some enterprises.
实施例3Example 3
一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现实施例1中基于低代码平台的工作流引擎方法。An electronic device, comprising a memory, a processor, and a computer program stored on the memory and operable on the processor, when the processor executes the computer program, the low-code platform-based workflow engine method in
本公开实施例3仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
电子设备可以以通用计算设备的形式表现,例如其可以为服务器设备。电子设备的组件可以包括但不限于:至少一个处理器、至少一个存储器、连接不同系统组件(包括存储器和处理器)的总线。An electronic device may take the form of a general computing device, which may be a server device, for example. Components of an electronic device may include, but are not limited to, at least one processor, at least one memory, and a bus connecting different system components including the memory and the processor.
总线包括数据总线、地址总线和控制总线。The bus includes data bus, address bus and control bus.
存储器可以包括易失性存储器,例如随机存取存储器(RAM)和/或高速缓存存储器,还可以进一步包括只读存储器(ROM)。The memory may include volatile memory, such as random access memory (RAM) and/or cache memory, and may further include read only memory (ROM).
存储器还可以包括具有一组(至少一个)程序模块的程序工具,这样的程序模块包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。The memory may also include program means having a set (at least one) of program modules including, but not limited to, an operating system, one or more application programs, other program modules, and program data, each of these examples or Implementations of network environments may be included in some combination.
处理器通过运行存储在存储器中的计算机程序,从而执行各种功能应用以及数据处理。The processor executes various functional applications and data processing by running computer programs stored in the memory.
电子设备也可以与一个或多个外部设备(例如键盘、指向设备等)通信。这种通信可以通过输入/输出(I/O)接口进行。并且,电子设备还可以通过网络适配器与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器通过总线与电子设备的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID(磁盘阵列)系统、磁带驱动器以及数据备份存储系统等。Electronic devices may also communicate with one or more external devices (eg, keyboards, pointing devices, etc.). Such communication may occur through input/output (I/O) interfaces. Moreover, the electronic device can also communicate with one or more networks (such as a local area network (LAN), a wide area network (WAN) and/or a public network such as the Internet) through a network adapter. The network adapter communicates with other modules of the electronic device through a bus. It should be understood that although not shown in the figures, other hardware and/or software modules may be used in conjunction with the electronic device, including but not limited to: microcode, device drivers, redundant processors, external disk drive arrays, RAID (disk array) systems , tape drives, and data backup storage systems.
应当注意,尽管在上文详细描述中提及了电子设备的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。It should be noted that although several units/modules or subunits/modules of an electronic device are mentioned in the above detailed description, such division is only exemplary and not mandatory. Actually, according to the embodiment of the present application, the features and functions of two or more units/modules described above may be embodied in one unit/module. Conversely, the features and functions of one unit/module described above can be further divided to be embodied by a plurality of units/modules.
实施例4Example 4
一种计算机可读存储介质,所述可读存储介质存储有计算机程序,所述程序被处理器执行时实现实施例1中的基于低代码平台的工作流引擎方法的步骤。A computer-readable storage medium stores a computer program, and when the program is executed by a processor, the steps of the low-code platform-based workflow engine method in
其中,可读存储介质可以采用的更具体可以包括但不限于:便携式盘、硬盘、随机存取存储器、只读存储器、可擦拭可编程只读存储器、光存储器件、磁存储器件或上述的任意合适的组合。Wherein, the readable storage medium may more specifically include but not limited to: portable disk, hard disk, random access memory, read-only memory, erasable programmable read-only memory, optical storage device, magnetic storage device or any of the above-mentioned the right combination.
在可能的实施方式中,本公开还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行实现实施例1中所述的基于低代码平台的工作流引擎方法的步骤。In a possible implementation manner, the present disclosure may also be implemented in the form of a program product, which includes program code, and when the program product is run on a terminal device, the program code is used to make the terminal device execute The steps of the low-code platform-based workflow engine method described in
其中,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开的程序代码,所述程序代码可以完全地在用户设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户设备上部分在远程设备上执行或完全在远程设备上执行。Wherein, the program code for executing the present disclosure may be written in any combination of one or more programming languages, and the program code may be completely executed on the user equipment, partially executed on the user equipment, or used as an independent The package executes, partly on the user device and partly on the remote device, or entirely on the remote device.
尽管已经示出和描述了本公开的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本公开的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本公开的范围由所附权利要求及其等同物限定。Although the embodiments of the present disclosure have been shown and described, those skilled in the art can understand that various changes, modifications and substitutions can be made to these embodiments without departing from the principle and spirit of the present disclosure. and modifications, the scope of the present disclosure is defined by the appended claims and their equivalents.
Claims (10)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202310062240.3A CN116069311A (en) | 2023-01-16 | 2023-01-16 | Workflow engine method, system, device and medium based on low-code platform |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202310062240.3A CN116069311A (en) | 2023-01-16 | 2023-01-16 | Workflow engine method, system, device and medium based on low-code platform |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN116069311A true CN116069311A (en) | 2023-05-05 |
Family
ID=86183329
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202310062240.3A Pending CN116069311A (en) | 2023-01-16 | 2023-01-16 | Workflow engine method, system, device and medium based on low-code platform |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN116069311A (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN119536710A (en) * | 2024-11-11 | 2025-02-28 | 江苏汉邦唐科技有限公司 | A distributed rule engine usage method and rule engine based on microservices |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108009696A (en) * | 2016-10-31 | 2018-05-08 | 上海翼勋互联网金融信息服务有限公司 | Custom Workflow engine and its implementation |
| CN109254759A (en) * | 2018-08-31 | 2019-01-22 | 重庆戴昂科技有限公司 | Low code hardware and software platform operation flow configures system |
| CN109615334A (en) * | 2018-12-13 | 2019-04-12 | 重庆戴昂科技有限公司 | Low code hardware and software platform approval process configures system |
| US11330070B1 (en) * | 2021-01-29 | 2022-05-10 | Salesforce.Com, Inc. | Containerized workflow engines executing metadata for user-defined applications |
| CN115328465A (en) * | 2022-08-22 | 2022-11-11 | 西安电子科技大学 | Multi-objective optimization platform based on low codes and establishment method thereof |
-
2023
- 2023-01-16 CN CN202310062240.3A patent/CN116069311A/en active Pending
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108009696A (en) * | 2016-10-31 | 2018-05-08 | 上海翼勋互联网金融信息服务有限公司 | Custom Workflow engine and its implementation |
| CN109254759A (en) * | 2018-08-31 | 2019-01-22 | 重庆戴昂科技有限公司 | Low code hardware and software platform operation flow configures system |
| CN109615334A (en) * | 2018-12-13 | 2019-04-12 | 重庆戴昂科技有限公司 | Low code hardware and software platform approval process configures system |
| US11330070B1 (en) * | 2021-01-29 | 2022-05-10 | Salesforce.Com, Inc. | Containerized workflow engines executing metadata for user-defined applications |
| CN115328465A (en) * | 2022-08-22 | 2022-11-11 | 西安电子科技大学 | Multi-objective optimization platform based on low codes and establishment method thereof |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN119536710A (en) * | 2024-11-11 | 2025-02-28 | 江苏汉邦唐科技有限公司 | A distributed rule engine usage method and rule engine based on microservices |
| CN119536710B (en) * | 2024-11-11 | 2025-12-05 | 江苏汉邦唐科技有限公司 | A method for using a microservice-based distributed rule engine and the rule engine itself. |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9432455B2 (en) | Synchronizing events between mobile devices and servers | |
| US8930942B2 (en) | Capability model for deploying componentized applications | |
| US8023934B2 (en) | Synchronizing communications and data between mobile devices and servers | |
| JP6223569B2 (en) | Computer apparatus, method and apparatus for scheduling business flows | |
| CN102549559B (en) | Virtual Object Indirection in Hosted Computing Environments | |
| US20170329506A1 (en) | Visual workflow model | |
| EP2031507B1 (en) | Systems and/or methods for location transparent routing and execution of processes | |
| US10101972B1 (en) | Data modelling and flow engine for building automated flows within a cloud based developmental platform | |
| CN101317153B (en) | System and method for objectifying workflow and managing intent of actions | |
| US9311144B1 (en) | Processing virtual transactions of a workflow in atomic manner in a workflow management computer system | |
| CN108563425A (en) | A kind of event driven multipaths coprocessing system | |
| CN105487922A (en) | Event-triggered server-side macros | |
| CN103020813A (en) | Technology to Manage Remote Events | |
| AU2021227744B2 (en) | Providing customized integration flow templates | |
| CN102591645A (en) | Metadata-based eventing supporting operations on data | |
| CN111090423A (en) | Webhook framework system and method for realizing active calling and event triggering | |
| CN105893055A (en) | Method for triggering process engine platformization | |
| US20220083536A1 (en) | Never stale caching of effective properties | |
| US20130166675A1 (en) | Computer System and Computer Method for Coarse-Grained Data Access | |
| CN116302464A (en) | Cloud platform resource arrangement method, device and electronic equipment based on singly linked list | |
| CN116069311A (en) | Workflow engine method, system, device and medium based on low-code platform | |
| CN110048940A (en) | Sending method, device, server and the readable storage medium storing program for executing of instant communication message | |
| CN110807537A (en) | Conference room reservation processing method and device, electronic equipment and storage medium | |
| US8805942B2 (en) | Storing and partitioning email messaging data | |
| Alaerjan et al. | Modeling functional behaviors of DDS |
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 |