CN118502745B - 基于后端代码生成的可视化编排方法、系统、介质及设备 - Google Patents
基于后端代码生成的可视化编排方法、系统、介质及设备 Download PDFInfo
- Publication number
- CN118502745B CN118502745B CN202410953957.1A CN202410953957A CN118502745B CN 118502745 B CN118502745 B CN 118502745B CN 202410953957 A CN202410953957 A CN 202410953957A CN 118502745 B CN118502745 B CN 118502745B
- Authority
- CN
- China
- Prior art keywords
- code generation
- target environment
- environment setting
- class
- canvas
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 86
- 230000000007 visual effect Effects 0.000 title claims description 44
- 230000008569 process Effects 0.000 claims abstract description 40
- 230000005540 biological transmission Effects 0.000 claims abstract description 16
- 238000004891 communication Methods 0.000 claims abstract description 15
- 238000012800 visualization Methods 0.000 claims abstract description 11
- 238000004590 computer program Methods 0.000 claims description 13
- 230000007246 mechanism Effects 0.000 claims description 10
- 238000001914 filtration Methods 0.000 claims 1
- 238000011161 development Methods 0.000 description 17
- 238000012545 processing Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000010354 integration Effects 0.000 description 3
- 238000012216 screening Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 230000008676 import Effects 0.000 description 2
- 230000001965 increasing effect Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 241000282555 Erythrocebus patas Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 210000001072 colon Anatomy 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000004153 renaturation Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Document Processing Apparatus (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
本公开提供了基于后端代码生成的可视化编排方法、系统、介质及设备,涉及后端代码编排可视化技术领域,包括:前端与后端建立数据传输通信;前端获取并存储项目资源中的画布数据,将相关画布数据传输给后端,后端根据目标环境设置代码生成所需要的配置信息,调用逻辑代码生成接口触发代码生成过程;其中,在代码生成的过程中,设置多种目标环境设置代码生成实现类,不同的实现类负责在不同的目标生成环境下,初始化代码生成上下文、组装逻辑画布组件树的代码生成结果、最后将生成出的多个文件信息批量返回给外层调用者。本公开具有良好的拓展性,允许针对不同的项目需求有针对性地拓展相关组件,从而提升代码生成的灵活性。
Description
技术领域
本公开涉及后端代码编排可视化技术领域,具体涉及基于后端代码生成的可视化编排方法、系统、介质及设备。
背景技术
本部分的陈述仅仅是提供了与本公开相关的背景技术信息,不必然构成在先技术。
在现有技术中,软件开发过程中经常面临着后端代码编写复杂和繁琐的问题,特别是在需要定制化和高度个性化的业务逻辑场景下。传统的后端开发涉及大量手动编写代码,这不仅导致了开发效率低下,还容易引入错误和不一致性。
缺少可视化编排是传统后端开发的一个缺陷,导致开发人员难以直观地了解业务流程,增加了错误的风险。缺乏灵活性是另一个问题,一些对比技术方案难以应对不断变化的业务需求,需要频繁修改代码。
成本高是传统后端开发的另一大问题,需要大量人工投入,增加了开发成本和周期。此外,复杂的后端代码结构使得新成员难以快速上手,并且容易引入错误。在处理大规模数据或复杂业务场景时,部分现有技术性能受到限制,而繁琐的开发工艺使得业务迭代周期较长,不利于快速响应需求变化。
发明内容
本公开为了解决上述问题,提出了基于后端代码生成的可视化编排方法、系统、介质及设备,在逻辑画布中编辑业务逻辑,前端获取后端生成代码所需要的相关数据,将相关数据传输到后端,调用后端的代码生成接口,提供多种目标的代码生成实现类(Provider),不同的实现类负责在不同的目标生成环境下,初始化代码生成上下文、组装逻辑画布组件树(Visitor)的代码生成结果。
根据一些实施例,本公开采用如下技术方案:
基于后端代码生成的可视化编排方法,应用在后端,包括:
与前端建立数据传输通信;
接收前端发送的画布数据,解析目标环境设置代码生成所需要的配置信息,根据所述目标环境设置代码生成所需要的配置信息,调用逻辑代码生成接口触发代码生成的过程;
其中,在代码生成的过程中,设置多种目标环境设置代码生成实现类,不同的实现类负责在不同的目标生成环境下,初始化代码生成上下文、组装逻辑画布组件树的代码生成结果、最后将生成出的多个文件信息批量返回给外层调用者,并可视化。
根据一些实施例,本公开采用如下技术方案:
基于后端代码生成的可视化编排方法,应用在前端,包括:
初始化逻辑画布,获取并存储项目资源中的画布数据;
与后端建立数据传输通信,将所述画布数据传输至后端;
接收后端代码生成的多个文件信息批量返回至外层调用者,并可视化。
根据一些实施例,本公开采用如下技术方案:
基于后端代码生成的可视化编排系统,包括前端和后端;
所述前端,用于初始化逻辑画布,获取并存储项目资源中的画布数据;与后端建立数据传输通信,将所述画布数据传输至后端;接收后端代码生成的多个文件信息批量返回至外层调用者,并可视化;
所述后端,用于与前端建立数据传输通信;
接收前端发送的画布数据,解析目标环境设置代码生成所需要的配置信息,根据所述目标环境设置代码生成所需要的配置信息,调用逻辑代码生成接口触发代码生成的过程;
其中,在代码生成的过程中,设置多种目标环境设置代码生成实现类,不同的实现类负责在不同的目标生成环境下,初始化代码生成上下文、组装逻辑画布组件树的代码生成结果、最后将生成出的多个文件信息批量返回给外层调用者,并可视化。
根据一些实施例,本公开采用如下技术方案:
一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质用于存储计算机指令,所述计算机指令被处理器执行时,实现所述的基于后端代码生成的可视化编排方法。
根据一些实施例,本公开采用如下技术方案:
一种电子设备,包括:处理器、存储器以及计算机程序;其中,处理器与存储器连接,计算机程序被存储在存储器中,当电子设备运行时,所述处理器执行所述存储器存储的计算机程序,以使电子设备执行实现所述的基于后端代码生成的可视化编排方法。
与现有技术相比,本公开的有益效果为:
本公开的基于后端代码生成的可视化编排方法,提供了多种目标的代码生成实现类(Provider),不同的实现类负责在不同的目标生成环境下,初始化代码生成上下文、组装逻辑画布组件树 (Visitor) 的代码生成结果、最后将生成出的多个文件信息批量返回给外层调用者,该方法具有较强的灵活性,在代码生成时,可以根据具体需求选择不同的Provider,从而实现多样化的环境支持。
本公开的基于后端代码生成的可视化编排方法,采用可视化编排方式,通过简洁明了的页面设计,使用户能够迅速上手,操作简单直观。用户在可视化界面上所见即所得,无需深入了解复杂的代码结构,从而提高了使用的便捷性和用户体验,增强代码的一致性和可维护性,统一的代码生成上下文和组件树组装方式,使得生成的代码风格一致,结构清晰,便于后续的维护和扩展,可扩展性强,通过不同的 Provider 和 Visitor 模式的结合,该方法具有很强的可扩展性。未来如果需要支持新的目标生成环境或新的组件树结构,只需增加相应的 Provider 和 Visitor 实现类即可,无需对现有系统进行大规模改动。
本公开的基于后端代码生成的可视化编排方法,由于采用可视化编排,用户可以通过拖拽组件、直观的界面操作等方式,快速搭建业务流程,降低了学习成本,使得新用户能够迅速掌握系统的使用方法,从而提高了开发的效率,用户能够摆脱编写大量重复性代码的繁琐任务,将注意力专注于业务逻辑的实现。同时,具有良好的拓展性,允许针对不同的项目需求有针对性地拓展相关组件,从而提升代码生成的灵活性。为了便于开发人员在后期调试和维护过程中的操作,本公开还内置了反向定位机制,使得查看组件与生成的代码之间的对应关系变得更加便捷。
本公开的基于后端代码生成的可视化编排方法,生成的后端代码性能高效。通过可视化编排方式生成的代码经过优化,具有较好的运行性能,相较于传统的代码开发,运行性能提高20%以上,使得生成的代码能够在各种业务场景下流畅运行;允许与低代码平台结合使用,实现更高层次的定制。通过与低代码平台的集成,可以更加灵活地满足各种业务需求,同时提高了开发的效率。
本公开的基于后端代码生成的可视化编排方法生成的代码允许用户进行手工修改,在满足快速搭建业务逻辑的同时,为用户提供了自定义代码的空间,使得用户能够根据具体业务需求进行定制和优化;生成的代码具有直接运行的能力,用户无需额外的配置和部署步骤,可以直接在目标环境中运行,从而缩短了从开发到实际运行的周期。
附图说明
构成本公开的一部分的说明书附图用来提供对本公开的进一步理解,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。
图1为本公开实施例的系统架构示意图。
具体实施方式
下面结合附图与实施例对本公开作进一步说明。
应该指出,以下详细说明都是例示性的,旨在对本公开提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本公开所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本公开的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
术语解释
可视化开发:可视化开发指的是无需编程,开发人员通过开发平台本身提供的各种控件,来“积木式”搭建应用程序各种界面的开发方式。
逻辑画布是指一种可视化的编排工具,用于帮助用户通过拖拽组件、连线等方式,快速搭建出业务流程。
逻辑画布的代码生成是指将逻辑画布上的业务流程转化为可执行的代码的过程。在低代码平台中,用户可以通过拖拽组件、连线等方式,快速搭建出业务流程。逻辑画布会将这些组件和连线转化为代码,以便用户可以在不编写大量代码的情况下,快速构建出复杂的业务逻辑。
实施例1
本公开的一种实施例中提供了一种基于后端代码生成的可视化编排方法,应用在后端和前端,首先,应用在后端时,包括:
与前端建立数据传输通信;
接收前端发送的画布数据,解析目标环境设置代码生成所需要的配置信息,根据所述目标环境设置代码生成所需要的配置信息,调用逻辑代码生成接口触发代码生成的过程;
其中,在代码生成的过程中,设置多种目标环境设置代码生成实现类,不同的实现类负责在不同的目标生成环境下,初始化代码生成上下文、组装逻辑画布组件树的代码生成结果、最后将生成出的多个文件信息批量返回给外层调用者。
作为一种实施例,本公开的一种基于后端代码生成的可视化编排方法,应用在后端,所述后端Java开发语言实现,在后端的具体方法实施过程包括:
1)首先,与前端建立数据传输通信,使其能够与前端进行通信数据传输。
2)接收前端发送的画布数据,解析目标环境设置代码生成所需要的配置信息,根据所述目标环境设置代码生成所需要的配置信息,调用逻辑代码生成接口触发代码生成的过程。
由于代码生成包含多种可能的目标,例如后端是否重启MVC代码生成、数据模型调用的组件属于低代码平台还是其他平台等,因此本公开提供了多种目标的代码生成实现类(Provider),Provider 是实现了 LogicGenerateProvider 接口的代码生成实现类,包括后端重启MVC代码生成Provider和后端不重启代码生成Provider;不同的实现类负责在不同的目标生成环境下,初始化代码生成上下文、组装逻辑画布组件树(Visitor)的代码生成结果、最后将生成出的多个文件信息批量返回给外层调用者。
3)为了更好的在代码生成过程中选择合适的代码生成实现类Provider/Visitor,本公开创建了一种筛选机制:在逻辑代码生成框架内部,该筛选机制是仿照k8s的相关概念创造的 Visitor/Provider 实现类解耦机制。其中包括:
a)环境标记:由一组 tag 标签组成,用于标记 Visitor/Provider 针对的代码生成环境,比如 language:java, runtime:mvc, runtime:engine 等等;
b)查询条件:特定的代码生成环境对应特定的污点容忍条件,查询条件同样是由一组 tag 标签组成,比如低代码平台下后台逻辑编排的不重启代码生成过程,这个代码生成环境所对应的条件是 ["language:java", "runtime:engine", "platform:low_code"];
c)标签:环境标记和查询条件由标签的列表组成。
d)主题:冒号前缀是标签的主题,比如 runtime 代表逻辑编排的目标执行环境(重启 runtime:mvc 或不重启 runtime:engine)。
然后,根据具体匹配到了多少个标签来计算优先级,选取匹配度最高的Provider/ Visitor。
作为一种实施例,某个Provider的条件是["language:java", "runtime:mvc" ],那么在生成代码时,会去优先选择条件相同的Visitor。其匹配规则如下:
在查询条件列表内,同一主题下的标签代表 "或" 的关系,不同主题下的标签代表 "且" 的关系。 例如:["language:java", "runtime:mvc", "runtime:engine"] 代表代码生成环境,必须满足中"目标语言是Java"且("执行环境是mvc重启"或"执行环境是engine不重启")。
在查询条件列表内,如果不包含某个主题下的任何标签,那么代表查询条件里关于这个主题的任意标签都能满足。例如taints=["language:java"]那么无论 ["language:java", "runtime:mvc"]还是"language:java", "runtime:engine"]都能满足。
4)在选择了对应的Provider后,代码生成实现 Provider 内部列举需要生成的文件,依次生成每个文件的代码:
a)创建代码生成上下文的实现类(context),并向上下文里注册初始化信息。
b)逻辑编排的核心实现文件需要以画布根组件为起点,调用上下文的生成代码方法,触发组件树的深度优先遍历过程,生成核心实现代码。画布根组件即为图中的白色画布,在根组件中分别包含子组件:开始组件、if组件、结束组件,而if组件中则包含了SQL查询组件。
c)在上下文的生成代码方法内,根据目标组件类型、候选Visitor注解标签、候选Visitor自定义筛选规则等信息,从Visitor注册中心中,自动选择出最符合目标环境要求的实现类,并调用该Visitor,用以生成对应组件的后端代码。
d)进入Visitor内之后,Visitor所继承的抽象类会根据类型定义信息,自动转换入参的上下文类型和入参的组件类型。每个Visitor的实现类中,根据自身组件的语义,实现读取组件配置信息、触发子组件的代码生成等操作,并适当地配置上下文状态(包括注册import、变量、类型,控制局部作用域切换等等),在开始生成代码前将所有必须的信息计算出来。
e)每个Visitor最后通过代码渲染方法或直接获取代码片段的方法,将之前计算的信息传入,拼接子组件代码生成结果、生成自身的代码、组装Source Map,将结果返回给上级组件,其中:
i.对于代码的生成,本公开基于FreeMarker模板引擎实现,即基于模板和动态数据,用来生成Java源码。在本公开中,每一个Visitor都有对应的模板,用于生成对应组件的代码。
f)画布根组件Visitor执行结束后,外层的Provider结合上下文中已注册的imports、services、methods 等信息,组装出最终的文件内容。
5)在实现逻辑流调试功能时,需要在可视化设计器供运行时的错误定位、日志定位功能,因此除了生成的代码内容之外,本公开还添加了一个辅助的反向定位索引SourceMap,根据代码行号列号来反向定位到画布组件。索引内容将一个文件分为多个区域,每个区域包含起始位置与结束位置的行号列号、区域的来源信息,列表中每个相邻的区域之间首尾相接且不存在空档。此外,还包含整个文件所属的来源信息,一般是画布根组件的标识。通过行号列号位置和Source Map索引信息,反查代码生成来源过程如下:
package com.example.demo;
public class Demo {
public String invoke (String param1, Integer param2) {
String result = null;
result = param1 + LogicFunctionUtils.numberRandom(0, param2);
return result;
}。
其中,hussar_3为该区域代码的来源,6:0和6:17分别为该区域起始位置与结束位置的行号列号,从而以此来反向定位生成的代码块来自于哪个组件。
作为一种实施例,以接口集成以及业务数据处理的代码生成过程为例,能够高效地实现用户业务需求的数据处理,具体包括:
1)调用组件:支持通过HTTP调用将第三方接口无缝集成到系统中。用户可以轻松对接各种外部服务,实现数据的获取和发送。
2)逻辑组件:提供了IF判断组件,对获取的数据进行复杂的逻辑分支处理。用户可以根据业务规则设置条件,自动执行相应操作,提高处理效率。
3)循环组件:进行FOR循环和WHILE循环,支持对数据进行批量处理和迭代操作。用户可以针对大批量数据进行重复性处理,确保数据处理的全面性和准确性。
4)采用可视化拖拽方式,使用户能够直观、便捷地集成第三方接口,并根据具体业务需求对数据进行相应处理。用户只需拖拽组件、配置参数,即可快速构建业务逻辑,实现数据的自动化处理。
实施例2
本公开的一种实施例中提供了一种基于后端代码生成的可视化编排方法,应用在前端,包括:
初始化逻辑画布,获取并存储项目资源中的画布数据;
与后端建立数据传输通信,将所述画布数据传输至后端;
接收后端代码生成的多个文件信息批量返回至外层调用者。
作为一种实施例,一种基于后端代码生成的可视化编排方法,应用在前端,所述前端由Vue+JavaScript开发语言实现,具体实施过程为:
前端获取并存储项目资源中的画布数据,将相关数据传输给后台,后台根据目标环境设置代码生成所需要的配置信息,调用逻辑代码生成接口触发代码生成过程。
实施例3
本公共的一种实施例中提供了一种基于后端代码生成的可视化编排系统,包括前端和后端;
所述前端,用于初始化逻辑画布,获取并存储项目资源中的画布数据;与后端建立数据传输通信,将所述画布数据传输至后端;接收后端代码生成的多个文件信息批量返回至外层调用者;
所述后端,用于与前端建立数据传输通信;
接收前端发送的画布数据,解析目标环境设置代码生成所需要的配置信息,根据所述目标环境设置代码生成所需要的配置信息,调用逻辑代码生成接口触发代码生成的过程;
其中,在代码生成的过程中,设置多种目标环境设置代码生成实现类,不同的实现类负责在不同的目标生成环境下,初始化代码生成上下文、组装逻辑画布组件树的代码生成结果、最后将生成出的多个文件信息批量返回给外层调用者。
作为一种实施例,前端、后端分别由Vue+JavaScript、Java开发语言实现。其基本原理是在逻辑画布中编辑业务逻辑,前端获取到后端生成代码所需要的画布数据,将相关画布数据传输到后端,调用后端的代码生成接口。其系统架构图如图1所示。该架构图展示了一个基于后端代码生成的可视化编排系统,整体由可视化设计器进行逻辑编排,从而获得相应的画布数据用于后端代码生成。项目资源管理模块负责资源获取和校验、非文件类资源接入以及中间文件存储。逻辑代码生成模块通过不同的 Provider 实现类适配多目标代码生成。组件代码生成适配模块中包含了不同组件的代码模板,用于生成相应组件的代码。最终由逻辑不重启执行引擎进行执行和监控,包括发布管理、内部调用、日志监控、调试和正式环境支持,确保系统的正常运行。
实施例4
本公共的一种实施例中提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质用于存储计算机指令,所述计算机指令被处理器执行时,实现所述的基于后端代码生成的可视化编排方法。
实施例5
本公共的一种实施例中提供了一种电子设备,包括:处理器、存储器以及计算机程序;其中,处理器与存储器连接,计算机程序被存储在存储器中,当电子设备运行时,所述处理器执行所述存储器存储的计算机程序,以使电子设备执行实现所述的基于后端代码生成的可视化编排方法。
本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
上述虽然结合附图对本公开的具体实施方式进行了描述,但并非对本公开保护范围的限制,所属领域技术人员应该明白,在本公开的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本公开的保护范围以内。
Claims (9)
1.基于后端代码生成的可视化编排方法,其特征在于,应用在后端,包括:
与前端建立数据传输通信;
接收前端发送的画布数据,解析目标环境设置代码生成所需要的配置信息,根据所述目标环境设置代码生成所需要的配置信息,调用逻辑代码生成接口触发代码生成的过程;
其中,在代码生成的过程中,设置多种目标环境设置代码生成实现类,不同的实现类负责在不同的目标生成环境下,初始化代码生成上下文、组装逻辑画布组件树的代码生成结果、最后将生成出的多个文件信息批量返回给外层调用者,并可视化;
其中,在代码生成的过程中选择目标环境设置代码生成实现类时,在逻辑代码生成框架内部,设置多种目标环境设置代码生成实现类解耦机制,包括环境标记、查询条件、标签以及主题,根据具体匹配的标签个数计算目标环境设置代码生成实现类的优先级,选取匹配度最高的目标环境设置代码生成实现类。
2.如权利要求1所述的基于后端代码生成的可视化编排方法,其特征在于,在选择对应的目标环境设置代码生成实现类后,目标环境设置代码生成实现类内部列举需要代码生成的文件,依次生成每个文件的代码,包括:创建代码生成上下文的实现类,并向上下文里注册初始化信息,逻辑编排的核心实现文件以画布根组件为起点,调用上下文的生成代码方法,触发组件树的深度优先遍历过程,生成核心实现代码。
3.如权利要求2所述的基于后端代码生成的可视化编排方法,其特征在于,在上下文的生成代码方法内,根据目标组件类型、候选目标环境设置代码生成实现类注解标签以及候选目标环境设置代码生成实现类自定义筛选规则信息,从目标环境设置代码生成实现类注册中心内,自动选择最符合目标环境要求的实现类,并调用该实现类以生成对应组件的后端代码。
4.如权利要求1所述的基于后端代码生成的可视化编排方法,其特征在于,进入目标环境设置代码生成实现类内之后,目标环境设置代码生成实现类所继承的抽象类会根据类型定义信息,自动转换入参的上下文类型和入参的组件类型,每个目标环境设置代码生成实现类中,根据自身组件的语义,实现读取组件配置信息、触发子组件的代码生成操作,并适当地配置上下文状态,在开始生成代码前将所有必须的信息计算出来。
5.如权利要求4所述的基于后端代码生成的可视化编排方法,其特征在于,每个目标环境设置代码生成实现类将开始生成代码前将所有必须的信息传入,拼接子组件代码生成结果、生成自身的代码以及组装 Source Map,将结果返回给上级组件。
6.基于后端代码生成的可视化编排方法,其特征在于,应用在前端,包括:
初始化逻辑画布,获取并存储项目资源中的画布数据;
与后端建立数据传输通信,将所述画布数据传输至后端;
接收后端代码生成的多个文件信息批量返回至外层调用者,并可视化;
其中,后端代码生成的过程为:根据目标环境设置代码生成所需要的配置信息,调用逻辑代码生成接口触发代码生成过程;
其中,在代码生成的过程中选择目标环境设置代码生成实现类时,在逻辑代码生成框架内部,设置多种目标环境设置代码生成实现类解耦机制,包括环境标记、查询条件、标签以及主题,根据具体匹配的标签个数计算目标环境设置代码生成实现类的优先级,选取匹配度最高的目标环境设置代码生成实现类。
7.基于后端代码生成的可视化编排系统,其特征在于,包括前端和后端;
所述前端,用于初始化逻辑画布,获取并存储项目资源中的画布数据;与后端建立数据传输通信,将所述画布数据传输至后端;接收后端代码生成的多个文件信息批量返回至外层调用者,并可视化;
所述后端,用于与前端建立数据传输通信;
接收前端发送的画布数据,解析目标环境设置代码生成所需要的配置信息,根据所述目标环境设置代码生成所需要的配置信息,调用逻辑代码生成接口触发代码生成的过程;
其中,在代码生成的过程中,设置多种目标环境设置代码生成实现类,不同的实现类负责在不同的目标生成环境下,初始化代码生成上下文、组装逻辑画布组件树的代码生成结果、最后将生成出的多个文件信息批量返回给外层调用者;
其中,在代码生成的过程中选择目标环境设置代码生成实现类时,在逻辑代码生成框架内部,设置多种目标环境设置代码生成实现类解耦机制,包括环境标记、查询条件、标签以及主题,根据具体匹配的标签个数计算目标环境设置代码生成实现类的优先级,选取匹配度最高的目标环境设置代码生成实现类。
8.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质用于存储计算机指令,所述计算机指令被处理器执行时,实现如权利要求1-5以及权利要求6任一项所述的基于后端代码生成的可视化编排方法。
9.一种电子设备,其特征在于,包括:处理器、存储器以及计算机程序;其中,处理器与存储器连接,计算机程序被存储在存储器中,当电子设备运行时,所述处理器执行所述存储器存储的计算机程序,以使电子设备执行实现如权利要求1-5以及权利要求6任一项所述的基于后端代码生成的可视化编排方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410953957.1A CN118502745B (zh) | 2024-07-17 | 2024-07-17 | 基于后端代码生成的可视化编排方法、系统、介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410953957.1A CN118502745B (zh) | 2024-07-17 | 2024-07-17 | 基于后端代码生成的可视化编排方法、系统、介质及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN118502745A CN118502745A (zh) | 2024-08-16 |
CN118502745B true CN118502745B (zh) | 2024-10-25 |
Family
ID=92243604
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410953957.1A Active CN118502745B (zh) | 2024-07-17 | 2024-07-17 | 基于后端代码生成的可视化编排方法、系统、介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118502745B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116301774A (zh) * | 2023-03-21 | 2023-06-23 | 网易(杭州)网络有限公司 | 一种代码生成方法、装置、电子设备及介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9886245B2 (en) * | 2016-02-24 | 2018-02-06 | Helix Data Solutions LLC | Software development tool using a workflow pattern that describes software applications |
CN106445556B (zh) * | 2016-10-18 | 2019-08-30 | 中国银行股份有限公司 | 一种可视化代码生成方法及系统 |
CN115599386A (zh) * | 2022-10-09 | 2023-01-13 | 建信金融科技有限责任公司(Cn) | 代码生成方法、装置、设备及存储介质 |
CN118113275A (zh) * | 2022-11-30 | 2024-05-31 | 腾讯科技(深圳)有限公司 | 后端低代码开发方法、装置、设备及介质 |
CN115878095A (zh) * | 2023-01-06 | 2023-03-31 | 青岛特来电新能源科技有限公司 | 一种基于逻辑编排的低代码开发方法、装置、设备及介质 |
CN116204172A (zh) * | 2023-02-15 | 2023-06-02 | 中国工商银行股份有限公司 | 代码生成方法、装置、设备、介质和程序产品 |
CN117891445A (zh) * | 2023-11-29 | 2024-04-16 | 昆船智能技术股份有限公司 | 一种可拖拽的后端逻辑编排及工作流的web低代码开发平台 |
-
2024
- 2024-07-17 CN CN202410953957.1A patent/CN118502745B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116301774A (zh) * | 2023-03-21 | 2023-06-23 | 网易(杭州)网络有限公司 | 一种代码生成方法、装置、电子设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN118502745A (zh) | 2024-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113034095B (zh) | 结合rpa和ai的人机互动方法、装置、存储介质及电子设备 | |
CN101777004B (zh) | 面向服务环境中基于模板实现bpel子流程复用的方法及系统 | |
KR101645052B1 (ko) | 디버깅 파이프라인 | |
CN101183335A (zh) | 一种实现嵌入式软件异常测试的方法及系统 | |
EP1929399A2 (en) | System and method for creating and using graphical object instances in a statechart environment | |
CN111506304A (zh) | 一种基于参数配置的流水线构建方法及系统 | |
CN111324619B (zh) | 微服务系统中的对象更新方法、装置、设备和存储介质 | |
KR20160070410A (ko) | 스마트기기용 어플리케이션의 테스트 시스템 및 그 방법 | |
CN115639980A (zh) | 一种低代码平台可拖拽的前端逻辑编排方法及装置 | |
CN112947914A (zh) | 一种基于模型的代码生成方法、装置、计算机设备及介质 | |
CN112083919A (zh) | 一种基于yaml模板的目标服务代码生成方法及装置 | |
CN109614325B (zh) | 一种确定控件属性的方法及装置、电子设备和存储介质 | |
CN111240772A (zh) | 一种基于区块链的数据处理方法、装置及存储介质 | |
CN118502745B (zh) | 基于后端代码生成的可视化编排方法、系统、介质及设备 | |
CN101231590A (zh) | 基于脚本和com组件控制的ivr流程编辑解析模型 | |
CN113885844A (zh) | 一种业务服务编排方法及相关装置 | |
CN113568614A (zh) | 任务发布方法、电子设备及存储介质 | |
CN109933308A (zh) | 基于mpi+cuda的遥感卫星数据预处理流程可视化自定制通用系统 | |
CN110908767A (zh) | 一种参数自动部署方法和装置 | |
US11544179B2 (en) | Source traceability-based impact analysis | |
CN113051173B (zh) | 测试流程的编排执行方法、装置、计算机设备和存储介质 | |
CN117215661A (zh) | 一种事件处理的方法、装置以及存储介质 | |
CN117056241B (zh) | 用于移动终端的应用程序测试方法和装置 | |
CN116166567B (zh) | 一种基于图形编程的测试用例生成方法及装置 | |
CN118378719B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |