掌桥专利:专业的专利平台
掌桥专利
首页

基于低代码平台的工作流引擎方法、系统、设备和介质

文献发布时间:2024-04-18 20:01:23


基于低代码平台的工作流引擎方法、系统、设备和介质

技术领域

本公开涉及工作流引擎领域,具体涉及一种基于低代码平台的工作流引擎方法、系统、设备和介质。

背景技术

传统的工作流大部分集成activity、flowable等开源框架,这些框架提供了完整的工作流服务,配置复杂,而且扩展性差,通过修改核心的表会带来很多问题,对管理人员的要求比较高。现有的工作流系统都需要一套对应的硬件环境,需要花钱购买,会增加额外的成本。现有的工作流大多数支持新增表触发方式,对于子流程也只能单条的执行,且产品运行效率和处理并发能力都有一定的欠缺,无法处理百万级的数据,甚至每天上千万的业务需求。

现有技术方案(或最接近的技术方案)目前存在以下的缺点/不足:

1、部署复杂,成本较高,不易扩展;

2、触发方式的单一,不具有批量处理子流程的能力;

3、无法做到业务量大的并发处理,系统运行的稳定性较差。

发明内容

本公开提供基于低代码平台的工作流引擎方法、系统、设备和介质,能够解决现有的工作流引擎系统,部署复杂,成本较高,不易扩展;触发方式的单一,无法做到业务量大的并发处理,且系统运行的稳定性较差的问题。为解决上述技术问题,本公开提供如下技术方案:

作为本公开实施例的一个方面,提供一种基于低代码平台的工作流引擎方法。包括如下步骤:

通过可视化的web界面配置流程执行的流程图,包括配置工作流的触发方式和配置对应执行的节点;

在所述对应执行的节点配置完成后,发布流程,接收触发工作流的指令,根据收到的指令来执行流程;

所述流程执行完成后,保存流程的执行日志。

可选地,所述触发方式包括如下中的一种或多种:新增、修改、删除数据触发、定时触发、指定时间查出数据触发、手动触发、webhook触发或人员事件触发。

可选地,所述节点包括如下中的一种或多种:数据处理、代办、通知、构建、开发者或组织/部门/协作。

可选地,所述发布流程包括如下步骤:验证流程图的可用性,如果验证通过,发布成功,生成一个发布版本;否则发布失败提示流程发布失败的原因。

可选地,接收到触发工作流的指令之后,还包括如下步骤:根据触发条件来判断是否满足触发条件;如果不满足条件,则结束。

可选地,满足执行流程的触发条件之后还包括如下步骤:按照流程图配置的节点执行流程,判断是否为结束的节点,如果不是,则继续执行;如果是,则流程执行结束。

可选地,执行配置节点的流程中,其中,子流程支持的执行方式包括如下方式中的一种或多种:顺序执行或并发执行。

作为本公开实施例的一个方面,提供基于低代码平台的工作流引擎系统,包括:

配置流程模块,通过可视化的web界面配置流程执行的流程图,包括配置工作流的触发方式和配置对应执行的节点;

执行流程模块,在所述对应执行的节点配置完成后,发布流程;接收触发工作流的指令,根据收到的指令来执行流程;

执行日志模块,所述流程执行完成后,保存流程的执行日志。

作为本公开实施例的另一个方面,提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的基于低代码平台的工作流引擎方法。

作为本公开实施例的另一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现上述的基于低代码平台的工作流引擎方法。

相对于现有技术,本公开的有益效果为:

1、实现了低代码平台的数据自动化,当数据量大的时候,更新速度快,安全性高,管理更方便。

2、增强数据的批处理能力,提高了系统的并发性,也可以选择顺序执行。

3、统一的流程设计、流程建模、流程监控,可以很好的解决一些企业的审批功能。

附图说明

图1为实施例1中基于低代码平台的工作流引擎方法的流程图;

图2为实施例1中基于低代码平台的工作流执行过程流程图;

图3为实施例1中A、B、C三个流程的循环触发流程图;

图4为实施例1中A、B、C三个流程的正常触发流程图;

图5为实施例2中低代码平台的工作流引擎系统示意框图。

具体实施方式

以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。

在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。

本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。

另外,为了更好地说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。

可以理解,本公开提及的上述各个方法实施例,在不违背原理逻辑的情况下,均可以彼此相互结合形成结合后的实施例,限于篇幅,本公开不再赘述。

此外,本公开还提供了基于低代码平台的工作流引擎方法、系统、设备和介质,上述均可用来实现本公开提供的任一种基于低代码平台的工作流引擎方法,相应技术方案和描述和参见方法部分的相应记载,不再赘述。

基于低代码平台的工作流引擎方法的执行主体可以是计算机或者其他能够实现基于低代码平台的工作流引擎装置,例如,方法可以由终端设备或服务器或其它处理设备执行,其中,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字处理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该基于低代码平台的工作流引擎方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。

实施例1

本实施例提供基于低代码平台的工作流引擎方法,如图1所示,包括如下步骤:

S10、通过可视化的web界面配置流程执行的流程图,包括配置工作流的触发方式和配置对应执行的节点;

S20、在所述对应执行的节点配置完成后,发布流程,接收触发工作流的指令,根据收到的指令来执行流程;

S30、所述流程执行完成后,保存流程的执行日志。

基于上述步骤本公开实施例构建了一种基于低代码平台的工作流引擎方法,通过可视化的web界面配置流程执行的流程图,在所述对应执行的节点配置完成后,发布流程,实现了低代码平台的数据自动化;接收触发工作流的指令,根据收到的指令来执行流程,触发方式的多样性,增强了数据的批量处理能力,提高了系统的并发性;所述流程执行完成后,保存流程的执行日志,执行日志支持时间和状态的筛选。

下面分别对本公开实施例的各步骤进行详细说明。

S10、通过可视化的web界面配置流程执行的流程图,包括配置工作流的触发方式和配置对应执行的节点;

所述触发方式包括如下中的一种或多种:新增、修改、删除数据触发、定时触发、指定时间查出数据触发、手动触发、webhook触发或人员事件触发。

其中,所述定时触发指按照配置的指定时间来执行;指定时间查出数据触发指到达指定时间后,筛选出满足条件的数据来执行;手动触发指手动点击按钮来执行;webhook触发指发送http请求的,收到请求后执行;人员事件触发指平台人员入、离职变更后执行。

所述节点包括如下中的一种或多种:数据处理、代办、通知、构建、开发者或组织/部门/协作。

其中,所述数据处理包括:新增节点,用于新增数据,并支持触发流程;修改节点,用于修改数据,并支持触发流程;删除数据,用于删除数据,并支持触发流程。

所述代办包括:审批,用于发起一个审批消息到指定的审批人;填写,用于发起一个填写消息到指定的填写人;抄送节点,用于发送一个带数据记录的站内消息到指定的抄送人。

所述通知包括:站内消息,根据配置的消息内容,发送低代码平台的站内消息;短信,根据配置好的短信模板内容,发送短信到指定的手机号;邮件,根据配置好的邮件模板内容,发送邮件到指定的邮箱;微信服务号消息,根据配置好的服务号模板内容,发送消息到指定的微信号。

所述构建包括:分支,根据配置的条件来决定,流程的走向;延时,等待一段时间再执行;运算,执行一段公式的运算,并记录结果,供其他节点使用;子流程节点,进入一个子流程,并执行子流程的相关节点配置。

所述开发者包括:发送api请求,发送一个http请求,并记录请求的返回值;代码块,执行一段代码,并记录代码执行的返回结果;JSON解析,JSON数据重命名并过滤掉不符合条件的数据。

所述组织、部门、协作包括:获取人员,根据条件获取一个或多个人员;获取部门,根据条件获取一个或多个部门。

所述通过可视化的web界面配置流程执行的流程图,实现了低代码平台的数据自动化,当数据量大的时候,更新速度快,安全性高,管理更方便。

S20、在所述对应执行的节点配置完成后,发布流程,接收触发工作流的指令,根据收到的指令来执行流程;

S201、所述发布流程包括如下步骤:验证流程图的可用性,如果验证通过,发布成功,生成一个发布版本;否则发布失败提示流程发布失败的原因。

作为一种优选的实施例,同一个工作流有一个编辑版本和一个或多个发布版,编辑版用来配置流程,全部配置完成后,通过对流程图可用性的验证,可以生成一个或多个发布版,发布版用于流程的执行和恢复历史版本。编辑时不会影响已经执行流程。

S202、接收到触发工作流的指令之后,还包括如下步骤:根据触发条件来判断是否满足触发条件;如果不满足条件,则结束。如图2所示。

S203、满足执行流程的触发条件之后还包括如下步骤:按照流程图配置的节点执行流程,判断是否为结束的节点,如果不是,则继续执行;如果是,则流程执行结束。

执行配置节点的流程中,其中,子流程支持的执行方式包括如下方式中的一种或多种:顺序执行或并发执行。

其中,顺序执行表示等待子流程执行完成后再继续执行,并发执行表示执行子流程的同时继续执行子流程后面的节点。流程支持批量处理,增强数据的批处理能力,提高了系统的并发性和运行稳定性。

执行流程的过程中经过数据新增、更新、删除等操作,可以出发一个新的工作流,可能会导致流程的循环触发,从而导致系统流程一直在执行,无法结束,形成死循环的链路。

例如,对于A、B、C三个流程,如图3、图4所示,当A流程触发时,会新增一条数据触发B,B触发后会新增一条数据触发C,C触发后新增一条数据触发A,那么这个时候就会出现A->B->C->A->B->C-A...,这个时候就会出现一个死循环,是系统不允许的,所以应该到如下的步骤:

2.1A满足条件后触发了,新增了一条B的数据;

2.2B满足条件触发了,新增了一条C的数据;

2.3C满足条件触发了,新增了一条A的数据;

2.4整个流程结束,A流程即使满足条件也不会再触发。

S30、所述流程执行完成后,保存流程的执行日志。

所述执行日志支持时间和状态的筛选。基于低代码平台的工作流引擎方法,主要包括工作流流程的存储和工作流执行两部分:工作流存储用于保存工作流的配置和工作流执行的日志记录;存储工作流的触发条件、动作执行、查找数据、通知消息等节点配置;存储工作流执行的日志记录;工作流执行主要是根据配置的流程图来更新低代码平台的数据、调用外部接口、发送邮件、短信、发起审批、填写等。

实施例2

作为本公开实施例的另一个方面,还提供一种基于低代码平台的工作流引擎系统100,如图5所示,包括如下步骤:

配置流程模块1,通过可视化的web界面配置流程执行的流程图,包括配置工作流的触发方式和配置对应执行的节点;

执行流程模块2,在所述对应执行的节点配置完成后,发布流程;接收触发工作流的指令,根据收到的指令来执行流程;

执行日志模块3,所述流程执行完成后,保存流程的执行日志。

基于上述模块本公开实施例构建了一种基于低代码平台的工作流引擎方法,通过可视化的web界面配置流程执行的流程图,在所述对应执行的节点配置完成后,发布流程,实现了低代码平台的数据自动化;接收触发工作流的指令,根据收到的指令来执行流程,触发方式的多样性,增强了数据的批量处理能力,提高了系统的并发性;所述流程执行完成后,保存流程的执行日志,执行日志支持时间和状态的筛选,实现基于低代码平台的工作流引擎系统100。

下面分别对本公开实施例的各个模块进行详细说明。

配置流程模块1,通过可视化的web界面配置流程执行的流程图,包括配置工作流的触发方式和配置对应执行的节点。

所述触发方式包括如下中的一种或多种:新增、修改、删除数据触发、定时触发、指定时间查出数据触发、手动触发、webhook触发或人员事件触发。

其中,所述定时触发指按照配置的指定时间来执行;指定时间查出数据触发指到达指定时间后,筛选出满足条件的数据来执行;手动触发指手动点击按钮来执行;webhook触发指发送http请求的,收到请求后执行;人员事件触发指平台人员入、离职变更后执行。

所述节点包括如下中的一种或多种:数据处理、代办、通知、构建、开发者或组织/部门/协作。

其中,所述数据处理包括:新增节点,用于新增数据,并支持触发流程;修改节点,用于修改数据,并支持触发流程;删除数据,用于删除数据,并支持触发流程。

所述代办包括:审批,用于发起一个审批消息到指定的审批人;填写,用于发起一个填写消息到指定的填写人;抄送节点,用于发送一个带数据记录的站内消息到指定的抄送人。

所述通知包括:站内消息,根据配置的消息内容,发送低代码平台的站内消息;短信,根据配置好的短信模板内容,发送短信到指定的手机号;邮件,根据配置好的邮件模板内容,发送邮件到指定的邮箱;微信服务号消息,根据配置好的服务号模板内容,发送消息到指定的微信号。

所述构建包括:分支,根据配置的条件来决定,流程的走向;延时,等待一段时间再执行;运算,执行一段公式的运算,并记录结果,供其他节点使用;子流程节点,进入一个子流程,并执行子流程的相关节点配置。

所述开发者包括:发送api请求,发送一个http请求,并记录请求的返回值;代码块,执行一段代码,并记录代码执行的返回结果;JSON解析,JSON数据重命名并过滤掉不符合条件的数据。

所述组织、部门、协作包括:获取人员,根据条件获取一个或多个人员;获取部门,根据条件获取一个或多个部门。

所述通过可视化的web界面配置流程执行的流程图,实现了低代码平台的数据自动化,当数据量大的时候,更新速度快,安全性高,管理更方便。

执行流程模块2,在所述对应执行的节点配置完成后,发布流程,接收触发工作流的指令,根据收到的指令来执行流程。

S201、所述发布流程包括如下步骤:验证流程图的可用性,如果验证通过,发布成功,生成一个发布版本;否则发布失败提示流程发布失败的原因。

作为一种优选的实施例,同一个工作流有一个编辑版本和一个或多个发布版,编辑版用来配置流程,全部配置完成后,通过对流程图可用性的验证,可以生成一个或多个发布版,发布版用于流程的执行和恢复历史版本。编辑时不会影响已经执行流程。

S202、接收到触发工作流的指令之后,还包括如下步骤:根据触发条件来判断是否满足触发条件;如果不满足条件,则结束。如图2所示。

S203、满足执行流程的触发条件之后还包括如下步骤:按照流程图配置的节点执行流程,判断是否为结束的节点,如果不是,则继续执行;如果是,则流程执行结束。

执行配置节点的流程中,其中,子流程支持的执行方式包括如下方式中的一种或多种:顺序执行或并发执行。

其中,顺序执行表示等待子流程执行完成后再继续执行,并发执行表示执行子流程的同时继续执行子流程后面的节点。流程支持批量处理,增强数据的批处理能力,提高了系统的并发性和运行稳定性。

执行流程的过程中经过数据新增、更新、删除等操作,可以出发一个新的工作流,可能会导致流程的循环触发,从而导致系统流程一直在执行,无法结束,形成死循环的链路。

例如,对于A、B、C三个流程,如图3、图4所示,当A流程触发时,会新增一条数据触发B,B触发后会新增一条数据触发C,C触发后新增一条数据触发A,那么这个时候就会出现A->B->C->A->B->C-A...,这个时候就会出现一个死循环,是系统不允许的,所以应该到如下的步骤:

2.1A满足条件后触发了,新增了一条B的数据;

2.2B满足条件触发了,新增了一条C的数据;

2.3C满足条件触发了,新增了一条A的数据;

2.4整个流程结束,A流程即使满足条件也不会再触发。

执行日志模块3,所述流程执行完成后,保存流程的执行日志,执行日志支持时间和状态的筛选。

基于低代码平台的工作流引擎方法,主要包括工作流流程的存储和工作流执行两部分:工作流存储用于保存工作流的配置和工作流执行的日志记录;存储工作流的触发条件、动作执行、查找数据、通知消息等节点配置;存储工作流执行的日志记录;工作流执行主要是根据配置的流程图来更新低代码平台的数据、调用外部接口、发送邮件、短信、发起审批、填写等。

在一些实施例中,上述工作流引擎系统100在使用中采用以下方式运行:

S1:运行配置流程模块1。通过可视化的web界面配置流程执行的流程图,包括配置工作流的触发方式和配置对应执行的节点;

S2:运行执行流程模块2。在所述对应执行的节点配置完成后,发布流程,接收触发工作流的指令,根据收到的指令来执行流程;

S3:运行执行日志模块3。所述流程执行完成后,保存流程的执行日志,执行日志支持时间和状态的筛选。

基于对上述实施例的描述可知,本公开实施例可实现如下技术效果:

1)通过可视化的web界面配置流程执行的流程图,实现了低代码平台的数据自动化,当数据量大的时候,更新速度快,安全性高,管理更方便。

2)执行流程支持批量处理,增强数据的批处理能力,提高了系统的并发性。

3)统一的流程设计、流程建模、流程监控,可以很好地解决一些企业的审批功能。

实施例3

一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现实施例1中基于低代码平台的工作流引擎方法。

本公开实施例3仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。

电子设备可以以通用计算设备的形式表现,例如其可以为服务器设备。电子设备的组件可以包括但不限于:至少一个处理器、至少一个存储器、连接不同系统组件(包括存储器和处理器)的总线。

总线包括数据总线、地址总线和控制总线。

存储器可以包括易失性存储器,例如随机存取存储器(RAM)和/或高速缓存存储器,还可以进一步包括只读存储器(ROM)。

存储器还可以包括具有一组(至少一个)程序模块的程序工具,这样的程序模块包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。

处理器通过运行存储在存储器中的计算机程序,从而执行各种功能应用以及数据处理。

电子设备也可以与一个或多个外部设备(例如键盘、指向设备等)通信。这种通信可以通过输入/输出(I/O)接口进行。并且,电子设备还可以通过网络适配器与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器通过总线与电子设备的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID(磁盘阵列)系统、磁带驱动器以及数据备份存储系统等。

应当注意,尽管在上文详细描述中提及了电子设备的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。

实施例4

一种计算机可读存储介质,所述可读存储介质存储有计算机程序,所述程序被处理器执行时实现实施例1中的基于低代码平台的工作流引擎方法的步骤。

其中,可读存储介质可以采用的更具体可以包括但不限于:便携式盘、硬盘、随机存取存储器、只读存储器、可擦拭可编程只读存储器、光存储器件、磁存储器件或上述的任意合适的组合。

在可能的实施方式中,本公开还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行实现实施例1中所述的基于低代码平台的工作流引擎方法的步骤。

其中,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开的程序代码,所述程序代码可以完全地在用户设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户设备上部分在远程设备上执行或完全在远程设备上执行。

尽管已经示出和描述了本公开的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本公开的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本公开的范围由所附权利要求及其等同物限定。

相关技术
  • 一种木材阻燃处理设备及其使用方法
  • 一种火灾报警控制系统及方法
  • 一种基于电缆隧道的火灾报警系统及方法
  • 一种基于LoRaWAN的火灾探测联动报警系统及其方法
  • 一种阻燃木材的用途、火灾感应装置、报警方法、设备和系统
  • 一种离子导体材料的用途、火灾感应装置、报警方法、设备和系统
技术分类

06120116551772