CN118134229A - 一种实现自定义流程编排的方法及装置 - Google Patents
一种实现自定义流程编排的方法及装置 Download PDFInfo
- Publication number
- CN118134229A CN118134229A CN202410183226.3A CN202410183226A CN118134229A CN 118134229 A CN118134229 A CN 118134229A CN 202410183226 A CN202410183226 A CN 202410183226A CN 118134229 A CN118134229 A CN 118134229A
- Authority
- CN
- China
- Prior art keywords
- flow
- configuration file
- execution
- empty
- system configuration
- 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
- 238000000034 method Methods 0.000 title claims abstract description 120
- 235000010627 Phaseolus vulgaris Nutrition 0.000 claims description 12
- 244000046052 Phaseolus vulgaris Species 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 9
- 238000004458 analytical method Methods 0.000 claims description 8
- 230000009191 jumping Effects 0.000 claims description 6
- 238000004801 process automation Methods 0.000 claims description 2
- 238000011161 development Methods 0.000 abstract description 2
- 238000012360 testing method Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- 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
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Stored Programmes (AREA)
Abstract
本发明特别涉及一种实现自定义流程编排的方法及装置。该实现自定义流程编排的方法及装置,基于SpringBoot框架,流程自动化编排执行引擎,通过抽离执行逻辑,编写流程配置文件,包括流程执行文件和系统配置文件,实现方法执行顺序、执行入参以及系统参数的配置化。该实现自定义流程编排的方法及装置,实现了接口层级的流程编排,通过配置流程JSON文件,自定义编排流程,可以自由灵活的配置方法运行的顺序及方法入参,复用源码,提高了开发效率。
Description
技术领域
本发明涉及流程编排技术领域,特别涉及一种实现自定义流程编排的方法及装置。
背景技术
目前,随着数字化建设推进,自动化程序需求越来越强烈,针对不同的场景出现了不同的自动化程序,TestNG是自动化测试框架,最终生成html测试报告,其对业务代码侵入性强,需要在方法层面配置具体的执行顺序注解,调整执行顺序需要改动源码,灵活度不高;Workflow工作流程引擎是指一类能够完全自动执行的经营过程,根据一系列过程规则,将文档、信息或任务在不同的执行者之间进行传递与执行,其专注于数据的流转,无法进行方法层级执行顺序的编排。
基于上述情况,本发明提出了一种实现自定义流程编排的方法及装置。
发明内容
本发明为了弥补现有技术的缺陷,提供了一种简单高效的实现自定义流程编排的方法及装置。
本发明是通过如下技术方案实现的:
一种实现自定义流程编排的方法及装置,其特征在于:基于SpringBoot框架,流程自动化编排执行引擎,通过抽离执行逻辑,编写流程配置文件,包括流程执行文件和系统配置文件,实现方法执行顺序、执行入参以及系统参数的配置化。
所述流程配置文件中定义了数据结构,规定了流程的执行顺序、入参以及子流程如何运行。
使用JSON解析流程配置文件,获取流程执行数据,将获取到的JSON数据转换成Bean对象列表,最后通过Java反射执行方法,实现自定义流程编排。
包括以下步骤:
步骤S1、获取规定格式的流程执行文件(config.json),获取流程执行数据;
步骤S2、根据获取到的流程执行数据,通过执行顺序字段对执行方法进行排序;
步骤S3、根据配置方法的全路径类名称、Bean名称以及入参通过Java反射获取运行时对象;
步骤S4、执行方法;
步骤S5、判断是否有子流程:
如果没有子流程,则运行结束,循环执行下一个执行方法;
如果有子流程,则根据配置的JSONPath表达式获取主流程返回的数据中的值,匹配到系统配置文件中相同值的子流程,执行相应的子流程;
步骤S6、循环步骤S3~步骤S5,直至没有子流程,则接着执行最外层的下一个执行方法。
所述步骤S1中,通过配置文件解析引擎读取流程配置文件,并判断流程配置文件是否存在:
若不存在,则提示流程配置文件不存在,结束进程;
若流程配置文件存在,则获取流程配置文件格式,并判断流程配置文件格式是否为规定格式:
若不是规定格式,则提示配置文件类型不支持,结束进程;
若是规定格式,则使用JSON解析流程配置文件,获取流程配置数据,并判断系统配置文件必填项字段是否为空:
若为空,则提示系统配置文件必填项校验失败,结束进程;
所述系统配置文件必填项包括全路径类名称、Bean名称、方法名称,执行顺序以及是否根据返回值执行。
所述步骤S3中,先通过全路径类名称进行反射,获取类对象,然后判断入参是否为空:
若为空,则直接跳转步骤S4,通过反射,执行方法;
若不为空,则获取入参信息,并判断入参类型全路径类名称是否为空:
若为空,则提示系统配置文件必填项校验失败,结束进程;
若不为空,则判断入参是否为JSONPath表达式:
若是,则通过JSONPath表达式回去返回值中的数据,并放入参数中,返回参数List;
若不是,则直接返回参数List;
最后,设置方法入参,跳转步骤S4,通过反射,执行方法。
所述步骤S5中,当存在子流程时,先判断返回值JSONPath表达式是否为空:
若为空,则提示系统配置文件中获取返回值JSONPath表达式格式不正确,结束进程;
若不为空,则解析JSONPath表达式,获取值,并根据值执行对应的子流程;判断系统配置文件必填项字段是否为空:
若为空,则提示系统配置文件必填项校验失败,结束进程;
若不为空,则返回步骤S3。
所述系统配置文件必填项包括全路径类名称、Bean名称、方法名称,执行顺序以及是否根据返回值执行。
该实现自定义流程编排的装置,基于SpringBoot底层,包括流程编排执行引擎、解析引擎模块和扩展模块;
所述扩展模块包括日志模块、异常处理模块、报告上报模块、安全校验模块以及浏览器操作模块。
一种实现自定义流程编排的设备,其特征在于:包括存储器和处理器;所述存储器用于存储计算机程序,所述处理器用于执行所述计算机程序时实现如上所述的方法步骤。
一种可读存储介质,其特征在于:所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的方法步骤。
本发明的有益效果是:该实现自定义流程编排的方法及装置,实现了接口层级的流程编排,通过配置流程JSON文件,自定义编排流程,可以自由灵活的配置方法运行的顺序及方法入参,复用源码,提高了开发效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
附图1为本发明实现自定义流程编排的装置示意图。
附图2为本发明实现自定义流程编排的方法示意图。
具体实施方式
为了使本技术领域的人员更好的理解本发明中的技术方案,下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚,完整的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
SpringBoot:Java平台上的一种开源应用框架,提供具有控制反转特性的容器,是基于Spring4.0设计,内嵌Tomcat或Jetty等Servlet容器;
JSON:全称JavaScript Object Notation,是一种轻量级的数据交换格式。
JSONPath:一种信息抽取类库,是从JSON文档中抽取指定信息的工具,提供多种语言实现版本,包括:JavaScript、Python、PHP和Java。
该实现自定义流程编排的方法,基于SpringBoot框架,流程自动化编排执行引擎,通过抽离执行逻辑,编写流程配置文件,包括流程执行文件和系统配置文件,实现方法执行顺序、执行入参以及系统参数的配置化。
所述流程配置文件中定义了数据结构,规定了流程的执行顺序、入参以及子流程如何运行。
使用JSON解析流程配置文件,获取流程执行数据,将获取到的JSON数据转换成Bean对象列表,最后通过Java反射执行方法,实现自定义流程编排。
包括以下步骤:
步骤S1、获取规定格式的流程执行文件(config.json),获取流程执行数据;
步骤S2、根据获取到的流程执行数据,通过执行顺序字段对执行方法进行排序;
步骤S3、根据配置方法的全路径类名称、Bean名称以及入参通过Java反射获取运行时对象;
步骤S4、执行方法;
步骤S5、判断是否有子流程:
如果没有子流程,则运行结束,循环执行下一个执行方法;
如果有子流程,则根据配置的JSONPath表达式获取主流程返回的数据中的值,匹配到系统配置文件中相同值的子流程,执行相应的子流程;
步骤S6、循环步骤S3~步骤S5,直至没有子流程,则接着执行最外层的下一个执行方法。
所述步骤S1中,通过配置文件解析引擎读取流程配置文件,并判断流程配置文件是否存在:
若不存在,则提示流程配置文件不存在,结束进程;
若流程配置文件存在,则获取流程配置文件格式,并判断流程配置文件格式是否为规定格式:
若不是规定格式,则提示配置文件类型不支持,结束进程;
若是规定格式,则使用JSON解析流程配置文件,获取流程配置数据,并判断系统配置文件必填项字段是否为空:
若为空,则提示系统配置文件必填项校验失败,结束进程;
所述系统配置文件必填项包括全路径类名称、Bean名称、方法名称,执行顺序以及是否根据返回值执行。
所述步骤S3中,先通过全路径类名称进行反射,获取类对象,然后判断入参是否为空:
若为空,则直接跳转步骤S4,通过反射,执行方法;
若不为空,则获取入参信息,并判断入参类型全路径类名称是否为空:
若为空,则提示系统配置文件必填项校验失败,结束进程;
若不为空,则判断入参是否为JSONPath表达式:
若是,则通过JSONPath表达式回去返回值中的数据,并放入参数中,返回参数List;
若不是,则直接返回参数List;
最后,设置方法入参,跳转步骤S4,通过反射,执行方法。
所述步骤S5中,当存在子流程时,先判断返回值JSONPath表达式是否为空:
若为空,则提示系统配置文件中获取返回值JSONPath表达式格式不正确,结束进程;
若不为空,则解析JSONPath表达式,获取值,并根据值执行对应的子流程;判断系统配置文件必填项字段是否为空:
若为空,则提示系统配置文件必填项校验失败,结束进程;
若不为空,则返回步骤S3。
所述系统配置文件必填项包括全路径类名称、Bean名称、方法名称,执行顺序以及是否根据返回值执行。
实施时,先编写部分流程配置文件,运行系统或者通过Maven继承该架构,二次开发需要的方法;
再编写剩余部分流程配置文件,运行系统;系统中内置Tomcat,通过jar-jarxxx.jar运行。
Maven:通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。
Tomcat:一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器。
该实现自定义流程编排的装置,基于SpringBoot底层,包括流程编排执行引擎、解析引擎模块和扩展模块;
所述扩展模块包括日志模块、异常处理模块、报告上报模块、安全校验模块以及浏览器操作模块。
该实现自定义流程编排的设备,包括存储器和处理器;所述存储器用于存储计算机程序,所述处理器用于执行所述计算机程序时实现如上所述的方法步骤。
该可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的方法步骤。
以上所述的实施例,只是本发明具体实施方式的一种,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。
Claims (9)
1.一种实现自定义流程编排的方法,其特征在于:基于SpringBoot框架,流程自动化编排执行引擎,通过抽离执行逻辑,编写流程配置文件,包括流程执行文件和系统配置文件,实现方法执行顺序、执行入参以及系统参数的配置化。
2.根据权利要求1所述的实现自定义流程编排的方法,其特征在于:所述流程配置文件中定义了数据结构,规定了流程的执行顺序、入参以及子流程如何运行;
使用JSON解析流程配置文件,获取流程执行数据,将获取到的JSON数据转换成Bean对象列表,最后通过Java反射执行方法,实现自定义流程编排。
3.根据权利要求2所述的实现自定义流程编排的方法,其特征在于:包括以下步骤:
步骤S1、获取规定格式的流程执行文件,获取流程执行数据;
步骤S2、根据获取到的流程执行数据,通过执行顺序字段对执行方法进行排序;
步骤S3、根据配置方法的全路径类名称、Bean名称以及入参通过Java反射获取运行时对象;
步骤S4、执行方法;
步骤S5、判断是否有子流程:
如果没有子流程,则运行结束,循环执行下一个执行方法;
如果有子流程,则根据配置的JSONPath表达式获取主流程返回的数据中的值,匹配到系统配置文件中相同值的子流程,执行相应的子流程;
步骤S6、循环步骤S3~步骤S5,直至没有子流程,则接着执行最外层的下一个执行方法。
4.根据权利要求3所述的实现自定义流程编排的方法,其特征在于:所述步骤S1中,通过配置文件解析引擎读取流程配置文件,并判断流程配置文件是否存在:
若不存在,则提示流程配置文件不存在,结束进程;
若流程配置文件存在,则获取流程配置文件格式,并判断流程配置文件格式是否为规定格式:
若不是规定格式,则提示配置文件类型不支持,结束进程;
若是规定格式,则使用JSON解析流程配置文件,获取流程配置数据,并判断系统配置文件必填项字段是否为空:
若为空,则提示系统配置文件必填项校验失败,结束进程;
所述系统配置文件必填项包括全路径类名称、Bean名称、方法名称,执行顺序以及是否根据返回值执行。
5.根据权利要求3所述的实现自定义流程编排的方法,其特征在于:所述步骤S3中,先通过全路径类名称进行反射,获取类对象,然后判断入参是否为空:
若为空,则直接跳转步骤S4,通过反射,执行方法;
若不为空,则获取入参信息,并判断入参类型全路径类名称是否为空:
若为空,则提示系统配置文件必填项校验失败,结束进程;
若不为空,则判断入参是否为JSONPath表达式:
若是,则通过JSONPath表达式回去返回值中的数据,并放入参数中,返回参数List;
若不是,则直接返回参数List;
最后,设置方法入参,跳转步骤S4,通过反射,执行方法。
6.根据权利要求3所述的实现自定义流程编排的方法,其特征在于:所述步骤S5中,当存在子流程时,先判断返回值JSONPath表达式是否为空:
若为空,则提示系统配置文件中获取返回值JSONPath表达式格式不正确,结束进程;
若不为空,则解析JSONPath表达式,获取值,并根据值执行对应的子流程;判断系统配置文件必填项字段是否为空:
若为空,则提示系统配置文件必填项校验失败,结束进程;
若不为空,则返回步骤S3;
所述系统配置文件必填项包括全路径类名称、Bean名称、方法名称,执行顺序以及是否根据返回值执行。
7.根据权利要求1~6任意一项所述的所述的实现自定义流程编排的方法的装置,其特征在于:基于SpringBoot底层,包括流程编排执行引擎、解析引擎模块和扩展模块;
所述扩展模块包括日志模块、异常处理模块、报告上报模块、安全校验模块以及浏览器操作模块。
8.一种实现自定义流程编排的设备,其特征在于:包括存储器和处理器;所述存储器用于存储计算机程序,所述处理器用于执行所述计算机程序时实现如权利要求1至6任意一项所述的方法步骤。
9.一种可读存储介质,其特征在于:所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任意一项所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410183226.3A CN118134229A (zh) | 2024-02-19 | 2024-02-19 | 一种实现自定义流程编排的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410183226.3A CN118134229A (zh) | 2024-02-19 | 2024-02-19 | 一种实现自定义流程编排的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118134229A true CN118134229A (zh) | 2024-06-04 |
Family
ID=91230997
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410183226.3A Pending CN118134229A (zh) | 2024-02-19 | 2024-02-19 | 一种实现自定义流程编排的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118134229A (zh) |
-
2024
- 2024-02-19 CN CN202410183226.3A patent/CN118134229A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11675691B2 (en) | System and method for performing automated API tests | |
CN107273117B (zh) | 一种编程友好型的敏捷代码自动生成系统 | |
CN101681263B (zh) | 用于开发基于软件资产的解决方案的一致方法和系统 | |
CN107291450B (zh) | 一种编程友好型的敏捷代码自动生成方法 | |
CN109189469B (zh) | 基于反射的安卓应用微服务化方法及系统 | |
CN106227654B (zh) | 一种测试平台 | |
CN109240666B (zh) | 基于调用栈和依赖路径的函数调用代码生成方法及系统 | |
CN110209387B (zh) | 一种顶层hdl文件生成方法和装置、计算机可读存储介质 | |
CN111667231B (zh) | 自动化报税方法、装置、系统、计算机设备和存储介质 | |
CN103180827A (zh) | 游戏服务器中的任务文件执行装置以及方法 | |
US20050028139A1 (en) | Information processing method, apparatus and program in XML driven architecture | |
CN116028377A (zh) | 基于jenkins的自动化测试方法、装置和介质 | |
CN118134229A (zh) | 一种实现自定义流程编排的方法及装置 | |
CN112860581A (zh) | 一种测试用例的执行方法、装置、设备及存储介质 | |
CN112241625A (zh) | 一种基于java语言的合同文档自动生成方法及系统 | |
CN111611026A (zh) | 一种基于侧孔机的nc文件快速加载实现方法 | |
CN115437943A (zh) | 接口文档自动化验证方法、装置和服务器 | |
CN117369789B (zh) | 基于可视化配置工具生成代码的方法及可视化显示设备 | |
CN113127354B (zh) | 基于Web UI的自动化测试方法、装置、设备及存储介质 | |
CN112445391B (zh) | 一种服务数据生成方法、装置和计算机可读存储介质 | |
CN114461514A (zh) | 一种基于低代码的自动化测试方法和系统 | |
Petry et al. | Model-Based Testing of Software Product Lines | |
CN114970492A (zh) | word接口文档的自动生成方法及装置 | |
CN113887186A (zh) | 一种电子病历内置脚本及其生成方法与执行方法 | |
CN118193371A (zh) | 一种大模型评测方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |