CN112861059A - 可视化组件生成方法、装置、计算机设备及可读存储介质 - Google Patents

可视化组件生成方法、装置、计算机设备及可读存储介质 Download PDF

Info

Publication number
CN112861059A
CN112861059A CN202110286195.0A CN202110286195A CN112861059A CN 112861059 A CN112861059 A CN 112861059A CN 202110286195 A CN202110286195 A CN 202110286195A CN 112861059 A CN112861059 A CN 112861059A
Authority
CN
China
Prior art keywords
class
interface
control layer
configuration information
mapping
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
Application number
CN202110286195.0A
Other languages
English (en)
Inventor
张磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Consumer Finance Co Ltd
Original Assignee
Ping An Consumer Finance Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ping An Consumer Finance Co Ltd filed Critical Ping An Consumer Finance Co Ltd
Priority to CN202110286195.0A priority Critical patent/CN112861059A/zh
Publication of CN112861059A publication Critical patent/CN112861059A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9577Optimising the visualization of content, e.g. distillation of HTML documents

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明涉及计算机开发技术领域,公开了一种可视化组件生成方法、装置、计算机设备及可读存储介质,包括:获取配置信息,根据所述配置信息获取目标接口;将所述配置信息组装在与所述目标接口关联的预定义注解内得到控制层类;构建反映调用所述控制层类的请求方式,与所述控制层类之间映射关系的接口映射类;调用预置的web框架对所述接口映射类进行图像化处理得到可视化组件。本发明使开发人员能够根据当前的用户需求通过配置信息生成满足该用户需求的控制层类,进而,使开发人员能够根据其需求构建由所述控制层类组成的流程引擎,实现动态生成流程引擎以满足多种用户需求的技术效果。

Description

可视化组件生成方法、装置、计算机设备及可读存储介质
技术领域
本发明涉及计算机开发技术领域,尤其涉及一种可视化组件生成方法、装置、计算机设备及可读存储介质。
背景技术
低代码开发平台,是指无需编码或很少代码(No Code or Low Code)就可以快速生成应用程序的工具。这种平台通常提供可视化的设计工具,来快速搭建界面、设计数据模型、创建业务逻辑和工作流。
低代码开发平台作为一种新型的开发工具,它的出现减少了代码编写量,简化了开发过程,缩短了开发周期,提高了开发效率,节省了开发成本。低代码开发平台可以帮助用户更好地去设计并实现需求,用户只需要关注业务逻辑,而不需要去关注代码编写。普通用户在接受简单培训后也能DIY出自己所需的各种管理软件。
但是,发明人意识到,现有的低代码开发平台,如:有云枢、Outsystems、ivx、BPM、Mendix、Odoo等,只能调用开发平台提供的控制层类解决用户需求,然而随着互联网技术和市场的发展,当前的开发平台所提供的控制层类难以满足日益多样化的用户需求。
发明内容
本发明的目的是提供一种可视化组件生成方法、装置、计算机设备及可读存储介质,用于解决现有技术存在的当前的开发平台所提供的控制层类难以满足日益多样化的用户需求的问题。
为实现上述目的,本发明提供一种可视化组件生成方法,包括:
获取配置信息,根据所述配置信息获取目标接口;
将所述配置信息组装在与所述目标接口关联的预定义注解内得到控制层类;
构建反映调用所述控制层类的请求方式,与所述控制层类之间映射关系的接口映射类;
调用预置的web框架对所述接口映射类进行图像化处理得到可视化组件。
上述方案中,所述获取配置信息的步骤,包括:
向控制端发送初始页面,获取所述控制端在所述初始页面上进行操作所生成的配置信号;
根据所述配置信号向所述控制端发送配置对话框,获取所述控制端在所述配置对话框内录入的配置信息并保存。
上述方案中,所述将所述配置信息组装在与所述目标接口关联的预定义注解内得到控制层类的步骤,包括:
据所述配置信息的接口名称获得目标接口,获取与所述目标接口关联的预定义注解;
将所述配置信息组装在所述预定义注解中得到控制层类,并将所述控制层类加载至预置的虚拟机中。
上述方案中,所述构建反映调用所述控制层类的请求方式,与所述控制层类之间映射关系的接口映射类的步骤,包括:
创建所述控制层类的类实例,调用预置的容器解析所述类实例生成Bean定义,将所述Bean定义载入预置所述容器的Bean定义注册表中;
遍历所述Bean定义表中Bean定义的类方法,识别所述类方法中具有与预置指定注解一致的类方法注解,将所述类方法注解所在Bean定义对应的控制层类设为接口类;
提取所述接口类中所述类方法注解使用的类方法并将其设为请求方式,构建反映所述请求方式与所述接口类之间映射关系的接口映射类。
上述方案中,所述调用预置的web框架对所述接口映射类进行图像化处理得到可视化组件之后,所述方法还包括:
将所述可视化组件载入预置的流程构建页面中,将所述流程构建页面发送至控制端,使所述控制端能够在所述流程构建页面中,通过所述可视化组件构建由任务节点组成的有向流程图。
上述方案中,所述通过所述可视化组件构建由任务节点组成的有向流程图的步骤,包括:
接收所述控制端在所述流程构建页面中构建的业务流程,所述业务流程中至少具有一个任务节点;
遍历所述业务流程中的任务节点的子流程,提取所述子流程中的子节点并将其作为所述业务流程中的任务节点以获得业务总流程;
遍历所述业务总流程中任务节点之间的关联关系,并提取所述业务流程中具有关联关系的两个相邻任务节点,将所述相邻任务节点中位于上位的任务节点的出参,作为位于下位的任务节点的入参,以得到有向流程图。
上述方案中,所述通过所述可视化组件构建由任务节点组成的有向流程图之后,所述方法还包括:
将所述有向流程图载入预置的展示页面中,将所述展示页面发送至用户端;
获取用户端在所述展示页面中录入的用户数据,根据所述用户数据执行所述有向流程图得到运算结果。
为实现上述目的,本发明还提供一种可视化组件生成装置,包括:
接口识别模块,用于获取配置信息,根据所述配置信息获取目标接口;
控制类生成模块,用于将所述配置信息组装在与所述目标接口关联的预定义注解内得到控制层类;
映射类生成模块,用于构建反映调用所述控制层类的请求方式,与所述控制层类之间映射关系的接口映射类;
组件生成模块,用于调用预置的web框架对所述接口映射类进行图像化处理得到可视化组件。
为实现上述目的,本发明还提供一种计算机设备,其包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述计算机设备的处理器执行所述计算机程序时实现上述可视化组件生成方法的步骤。
为实现上述目的,本发明还提供一种计算机可读存储介质,所述可读存储介质上存储有计算机程序,所述可读存储介质存储的所述计算机程序被处理器执行时实现上述可视化组件生成方法的步骤。
本发明提供的可视化组件生成方法、装置、计算机设备及可读存储介质,根据配置信息获取目标接口并将配置信息组装在与目标接口内得到控制层类,实现灵活配置控制层类,再生成控制层类的接口映射类,实现所述控制层类的接口生成,调用web框架对接口映射类进行图像化处理得到可视化组件。使开发人员能够根据当前的用户需求通过配置信息生成满足该用户需求的控制层类,进而,使开发人员能够根据其需求构建由所述控制层类组成的流程引擎,实现动态生成流程引擎以满足多种用户需求的技术效果。
附图说明
图1为本发明可视化组件生成方法实施例一的流程图;
图2为本发明可视化组件生成方法实施例二中可视化组件生成方法的环境应用示意图;
图3是本发明可视化组件生成方法实施例二中可视化组件生成方法的具体方法流程图;
图4为本发明可视化组件生成装置实施例三的程序模块示意图;
图5为本发明计算机设备实施例四中计算机设备的硬件结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供的可视化组件生成方法、装置、计算机设备及可读存储介质,适用于计算机开发技术领域,为提供一种基于接口识别模块、控制类生成模块、映射类生成模块和组件生成模块的可视化组件生成方法。本发明通过获取配置信息,根据所述配置信息获取目标接口;将所述配置信息组装在与所述目标接口关联的预定义注解内得到控制层类;构建反映调用所述控制层类的请求方式,与所述控制层类之间映射关系的接口映射类;调用预置的web框架对所述接口映射类进行图像化处理得到可视化组件。
实施例一:
请参阅图1,本实施例的一种可视化组件生成方法,包括:
S101:获取配置信息,根据所述配置信息获取目标接口;
S102:将所述配置信息组装在与所述目标接口关联的预定义注解内得到控制层类;
S103:构建反映调用所述控制层类的请求方式,与所述控制层类之间映射关系的接口映射类;
S104:调用预置的web框架对所述接口映射类进行图像化处理得到可视化组件。
在示例性的实施例中,所述配置信息是用于识别目标接口,且对所述目标接口的使用方法进行定义的配置数据,其中,所述配置信息包括:
接口名称,用于表达需要调用的接口的名称。
接口URL,用于表达需要调用的接口的地址。通过所述接口名称和接口URL识别目标接口;
接口类型,用于定义请求类型,其包括但不限于:get(查)、post(增)、put(改)、delete(删);其中,接口类型为get,其获取信息,多用于查询数据,如列表查询功能,点击查询按钮就调用一个get接口,然后把信息返回出来;接口类型为post,其用于向指定资源位置提交数据(如提交表单、上传文件)来进行请求,接口类型为put,其用于向指定资源位置上传最新内容;接口类型为delete,其用于请求删除所述请求里url所标识的资源。
接口入参,用于定义所述接口获取的数据的类型,包括但不限于:参数和数据类型;
例如:
参数 数据类型(长度) 描述
area_id String Y 地区id
addr_txt String Y 地址信息
控制层类用于根据配置信息的定义调用所述目标接口,所述可视化组件是展示在应用层上,且用于调用根据所述配置信息生成的控制层类的可移动图像。其中,控制层类是一种控制类,其中定义了一个用例所具有的事件流的控制行为,用于控制一个用例中的事件顺序,具体通过控制层类中定义的控制行为调用目标接口的方式完成对所述事件流的控制。
将配置信息组装在预定义注解中以得到可被调用完成指定任务的控制层类,以为后续的有向流程图的运行提供类调用基础。通过构建所述接口映射类,以确定接收到的调用请求与控制层类之间对应关系,根据这个对应关系能够根据获得的调用请求快速调用相应的控制层,实现灵活配置控制层类并使其动态生成。
所述web框架为spring容器的mvc模块,MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中;于本实施例中,通过将所述接口映射类载入所述web框架的requestHandlerMapping中以生成可视化组件,而生成可视化组件以便于控制端能够通过点击或拉取所述可视化组件,即可调用其所需的控制层类,实现了根据开发需求自定义控制层类的技术效果,使开发人员能够根据当前的用户需求通过配置信息生成满足该用户需求的控制层类,进而,使开发人员能够根据其需求构建由所述控制层类组成的流程引擎,实现动态生成流程引擎以满足多种用户需求的技术效果。
实施例二:
本实施例为上述实施例一的一种具体应用场景,通过本实施例,能够更加清楚、具体地阐述本发明所提供的方法。
下面,以在运行有可视化组件生成方法的服务器中,将所述配置信息组装在与所述目标接口内得到控制层类,构建接口映射类并对其进行图像化处理得到可视化组件为例,来对本实施例提供的方法进行具体说明。需要说明的是,本实施例只是示例性的,并不限制本发明实施例所保护的范围。
图2示意性示出了根据本申请实施例二的可视化组件生成方法的环境应用示意图。
在示例性的实施例中,可视化组件生成方法所在的服务器2通过网络分别连接控制端3和用户端4;所述服务器2可以通过一个或多个网络3提供服务,网络3可以包括各种网络设备,例如路由器,交换机,多路复用器,集线器,调制解调器,网桥,中继器,防火墙,代理设备和/或等等。网络3可以包括物理链路,例如同轴电缆链路,双绞线电缆链路,光纤链路,它们的组合和/或类似物。网络3可以包括无线链路,例如蜂窝链路,卫星链路,Wi-Fi链路和/或类似物;所述控制端3和所述用户端4可分别为智能手机、平板电脑、笔记本电脑、台式电脑等计算机设备。
图3是本发明一个实施例提供的一种可视化组件生成方法的具体方法流程图,该方法具体包括步骤S201至S207。
S201:获取配置信息,根据所述配置信息获取目标接口;
本步骤中,所述配置信息是用于识别目标接口,且对所述目标接口的使用方法进行定义的配置数据,其中,所述配置信息包括:
接口名称,用于表达需要调用的接口的名称。
接口URL,用于表达需要调用的接口的地址。
接口类型,用于定义请求类型,其包括但不限于:get(查)、post(增)、put(改)、delete(删);其中,接口类型为get,其获取信息,多用于查询数据,如列表查询功能,点击查询按钮就调用一个get接口,然后把信息返回出来;接口类型为post,其用于向指定资源位置提交数据(如提交表单、上传文件)来进行请求,接口类型为put,其用于向指定资源位置上传最新内容;接口类型为delete,其用于请求删除所述请求里url所标识的资源。
接口入参包括但不限于:参数和数据类型;
例如:
参数 数据类型(长度) 描述
area_id String Y 地区id
addr_txt String Y 地址信息
在一个优选的是实施例中,所述获取配置信息的步骤,包括:
S11:向控制端发送初始页面,获取所述控制端在所述初始页面上进行操作所生成的配置信号;
本步骤中,在所述初始页面中具有配置可视化框,如:http框;控制端通过在所述配置可视化框上进行操作,如:点击、双击、长按、拖拉等操作,以生成配置信号,所述配置信号表达了控制端进行接口配置的需求。
S12:根据所述配置信号向所述控制端发送配置对话框,获取所述控制端在所述配置对话框内录入的配置信息并保存。
本步骤中,所述配置信息包括:所述接口名称、所述接口URL、所述接口类型和所述接口入参,当控制端在配置对话框内完成所述配置信息的录入之后,点击预置在所述配置对话框上的确认按键,则会生成配置确认信号,根据所述配置确认信号将所述配置信息保存在预置的配置库中。
进一步地,所述配置对话框还具有名称输入框、URL输入框、类型输入框和入参输入框,以便于控制端在对应的输入框内录入所述接口名称、所述接口URL、所述接口类型和所述接口入参,提高了控制端录入配置信息的便利度。
S202:将所述配置信息组装在与所述目标接口关联的预定义注解内得到控制层类。
本步骤中,控制层类用于根据配置信息的定义调用所述目标接口,其中,控制层类是一种控制类,其中定义了一个用例所具有的事件流的控制行为,用于控制一个用例中的事件顺序,具体通过控制层类中定义的控制行为调用目标接口的方式完成对所述事件流的控制。配置信息组装在预定义注解中以得到可被调用完成指定任务的控制层类,以为后续的有向流程图的运行提供类调用基础,实现灵活配置控制层类的技术效果。
在一个优选的实施例中,所述将所述配置信息组装在与所述目标接口关联的预定义注解内得到控制层类的步骤,包括:
S21:据所述配置信息的接口名称获得目标接口,获取与所述目标接口关联的预定义注解。
本步骤中,所述预定义注解是预先定义的注解字符串,其包括:
Controller名称,即类名和类注解@ApiAction,
用于定义接口名称、接口url和接口类型的接口基本信息,如:@ApiAction(name="",mapping="",method=)
用于定义接口入参的接口请求参数,如:@ApiParam(name="",dataType=,description="")。
用于定义接口注解的接口注解参数,如:@***Mapping("")
S22:将所述配置信息组装在所述预定义注解中得到控制层类,并将所述控制层类加载至预置的虚拟机中。
本步骤中,通过javassist技术组件,将所述配置信息中的接口名称、接口url和接口类型组装在所述注解模板的接口基本信息中,将所述配置信息中的接口入参组装在所述注解模板的接口请求参数中,使所述注解模板转为所述控制层类。
其中,所述控制层类包括:类名、类方法、类方法入参,所述控制层类还可包括类注解和类方法注解。
示例性地,所述接口名称为:获取地址
接口url为user/id(所述id是某一指定file的保存地址)
接口类型为:get
接口入参包括:参数:area_id,数据类型:String Y,描述:地区id
那么,得到所述目标接口的控制层类将如下所示:
@ApiAction(name="获取地址",mapping="/user/{id}",method=Method.GET),其中,这部分包含了类名“获取地址”,类方法“get”。
@ApiParam(name="area_id",dataType=String Y,description="地区id"),这部分为类方法入参
})同时,@ApiAction和@ApiParam的类注解;
@GetMapping("/user/{id}")这部分是类方法注解。
需要说明的是,所述javassist技术是一个开源的分析、编辑和创建Java字节码的类库,可以直接编辑和生成Java生成的字节码。因此,通过所述javassist技术创建控制层类提高了控制层类的生成效率。所述虚拟机是JVM,JVM是JavaVirtualMachine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机是实现这一特点的关键。
S203:构建反映调用所述控制层类的请求方式,与所述控制层类之间映射关系的接口映射类。
本步骤中,通过构建所述接口映射类,以确定接收到的调用请求与控制层类之间对应关系,根据这个对应关系能够根据获得的调用请求快速调用相应的控制层类,实现动态生成所述控制层类的技术效果,即:通过所述接口映射类使所述控制层类生效。
在一个优选的实施例中,所述构建反映调用所述控制层类的请求方式,与所述控制层类之间映射关系的接口映射类的步骤,包括:
S31:创建所述控制层类的类实例,调用预置的容器解析所述类实例生成Bean定义,将所述Bean定义载入预置所述容器的Bean定义注册表中,其中,所述Bean对所述类实例中的类名、类注解、类方法、类方法注解、类方法入参进行了定义。
本步骤中,所述容器为spring容器,调用所述虚拟机为所述控制层类创建类实例(即:Class类型的实例),并将所述类实例与所述控制层类关联,例如:
public final class Class{
private Class(){}
}
以String类为例,当JVM加载String类时,它首先读取String.class文件到内存,然后,为String类创建一个Class实例并关联起来:
Class cls=new Class(String);
将所述类实例作为所述spring容器的bean,调用所述spring容器对类实例进行解析得到bean定义,提取所述控制层类中的类名、类方法和类方法入参,并将所述类名、所述类方法和所述类方法入参设为所述控制层的Bean定义(BeanDefinition),并调用registerBeanDefinition方法将所述Bean定义载入所述spring容器的Bean定义注册表中;其中,所述bean定义是bean(即所述类实例)在spring中的描述信息,以定义bean在spring容器中的形态,所述Bean对所述类实例中的类名、类注解、类方法、类方法注解、类方法入参进行了定义。
需要说明的是,BeanDefinition是Bean在spring中的定义形态,因此,本领域技术人员可通过现有技术很容易对bean进行解析得到bean定义。通过这个BeanDefinition定义的数据结构,spring容器能够方便地对Bean进行管理。对于单例的Bean,在第一次getBean的时候读取BeanDefinition获取定义,然后再创建和初始化Bean,并缓存起来。对于原型的Bean,在每一次getBean的时候都需要使用BeanDefinition的数据进行创建和初始化,不会缓存Bean。
S32:遍历所述Bean定义表中Bean定义的类方法,识别所述类方法中具有与预置指定注解一致的类方法注解,将所述类方法注解所在Bean定义对应的控制层类设为接口类。
本步骤中,所述类方法注解反映了所述控制层类的请求方法,遍历每个Bean定义中方法的注解,若具有指定注解,如:GetMapping/PostMapping/PutMapping/DeleteMapping,则将具有所述指定注解的Bean定义对应的控制层类设为接口类。
S33:提取所述接口类中所述类方法注解使用的类方法并将其设为请求方式,构建反映所述请求方式与所述接口类之间映射关系的接口映射类。
本步骤中,所述接口映射类是对控制端开放的接口中,能够根据控制端发送的调用请求调用对应的控制层类的接口映射类(RequestMapping)。其中,@RequestMapping是Spring Web应用程序中最常被用到的注解之一。这个注解会将HTTP请求映射到MVC和REST控制器的处理方法上。
需要说明的是,在Spring MVC应用程序中,RequestDispatcher(在FrontController之下)这个servlet负责将进入的HTTP请求路由到控制器的处理方法。在对Spring MVC进行的配置的时候,需要指定请求与处理方法之间的映射关系。要配置Web请求的映射,就需要用上@RequestMapping注解。
@RequestMapping注解可以在控制器类的级别和/或其中的方法的级别上使用。在类的级别上的注解会将一个特定请求或者请求模式映射到一个控制器之上。
示例性地,以下通过应用了@RequestMapping注解的代码进行举例:
Figure BDA0002980578090000121
Figure BDA0002980578090000131
如上述代码所示,到/home的请求会由get()方法来处理,而到/home/index的请求会由index()来处理。
S204:调用预置的web框架对所述接口映射类进行图像化处理得到可视化组件。
本步骤中,所述可视化组件是展示在应用层上的可移动图像,其用于调用根据所述配置信息生成的控制层类,构建反映调用所述控制层类的请求方式,与所述控制层类之间映射关系的接口映射类。所述web框架为spring容器的mvc模块,MVC全名是Model ViewController,是模型(model)-视图(view)-控制器(controller)的缩写,其通过一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。其中,Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。通常模型对象负责在数据库中存取数据。
View(视图)视图是用户看到并与之交互的界面,其为应用程序中处理数据显示的部分,通常视图是依据模型数据创建的。
Controller(控制器)是应用程序中处理用户交互的部分。通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。
于本实施例中,通过将所述接口映射类载入所述web框架的requestHandlerMapping中,使requestHandlerMapping在所述模型中处理接口映射类的数据逻辑部分,通过所述视图基于所述模型对所述接口映射类进行图像化处理形成可视化组件,以实现与用户之间形成用于交互的界面;
通过所述控制器处理用户端对所述可视化组件的操作(如:点击或拉取),使用户端可调用其所需的控制层类,以便于用户端调用所述可视化组件组建成其所需的有向流程图。
S205:将所述可视化组件载入预置的流程构建页面中,将所述流程构建页面发送至控制端,使所述控制端能够在所述流程构建页面中,通过所述可视化组件构建由任务节点组成的有向流程图。
为保证控制端能够按照指定的规则或要求构建业务流程,本步骤通过将所述可视化组件载入预置的流程构建页面中,所述流程构建页面中预先构建了Web API,所述WebAPI浏览器提供的一套操作浏览器功能和页面元素的API(BOM和DOM),使得控制端可以基于Web API调用所述可视化组件构建业务流程。
示例性地,控制端可在流程构建页面中,通过将可视化组件拉取至流程构建页面中的构建区域上,并将其作为任务节点,通过连接所述构建区域中各任务节点之间的关联关系,使各所述任务节点连接形成有向流程图,所述有向流程图可作为完成指定任务的流程引擎。
在一个优选的实施例中,通过所述可视化组件构建由任务节点组成的有向流程图的步骤,包括:
S51:接收所述控制端在所述流程构建页面中构建的业务流程,所述业务流程中至少具有一个任务节点;
本步骤中,所述任务节点包括:开始节点、中间节点、switch切换流程节点、结束节点。
于本实施例中,所述任务节点还可包括子流程,所述子流程中至少具有一个子节点;通过以下方法构建所述子流程:
S51-1:接收控制端通过在所述上位业务流程的任务节点上进行触发操作所生成的嵌套信息;
本步骤中,控制端可通过点击或双击业务流程中的任务节点以生成嵌套信息。
S51-2:根据所述嵌套信息向所述控制端发送预置的子流程构建页面,接收所述控制端在所述子流程构建页面中构建的子流程,其中,所述子流程至少具有一个子节点。
S52:遍历所述业务流程中的任务节点的子流程,提取所述子流程中的子节点并将其作为所述业务流程中的任务节点以获得业务总流程。
本步骤中,为保证每个任务节点中的子流程在后续的执行过程中均能够得到一个专门的线程对其进行执行,以提高流程执行效率,本步骤通过将子节点提升到业务流程的任务节点的层次,以全面获得业务流程中每个节点的及其之间关联关系。于本实施例中,先遍历每个任务节点,所述业务流程中保存了每个任务节点中可能包含的子流程,将所述子流程的子节点提升至任务节点的层次得到业务总流程,再从所述业务总流程的根节点(如:开始节点)对所述业务总流程进行遍历,保证了节点遍历的全面性。
S53:遍历所述业务总流程中任务节点之间的关联关系,并提取所述业务流程中具有关联关系的两个相邻任务节点,将所述相邻任务节点中位于上位的任务节点的出参,作为位于下位的任务节点的入参,以得到有向流程图。
本步骤中,使用广度优先遍历方法对所述业务流程中的任务节点进行遍历,实现仅需对某一任务节点的一次遍历,即可识别与所述任务节点具有关联关系的所有任务节点,以便于后续构建位于下位的任务节点的入参的技术效果。
S206:将所述有向流程图载入预置的展示页面中,将所述展示页面发送至用户端。
本步骤中,所述展示页面具有页面ID用户端可在展示页面上进行其所需的操作,同时,可通过在展示页面中输入用户数据,以调用与所述页面ID对应的有向流程图对所述用户数据进行运算,并获得其所需的运算结果。
S207:获取用户端在所述展示页面中录入的用户数据,根据所述用户数据执行所述有向流程图得到运算结果。
本步骤中,根据用户端在所述展示页面中输入的用户数据,并调用与所述页面ID对应的有向流程图对所述用户数据进行运算,以获得其所需的运算结果。
于本实施例中,所述有向流程图作为流程引擎,以所述用户数据为有向流程图的根节点(如:开始节点)的入参,按照有向流程图中各任务节点的位置顺序及各任务节点之间的关联关系,调用各任务节点对应的控制层类对所述用户数据进行运算并最终获得运算结果,实现了按照控制端的开发人员的要求动态的对用户数据进行运算并向其返回运算结果的技术效果。
在一个优选的是实施例中,根据所述用户数据执行所述有向流程图得到运算结果的步骤,包括:
S71:提取所述展示页面的页面ID,获取与所述页面ID对应的有向流程图,并将所述用户数据作为所述有向流程图中位于首位的控制层类的入参;
S72:将所述有向流程图中各控制层类依次录入至预置的线程池中的节点线程中,并根据所述有向流程图中控制层类的位置及各所述控制层类之间的关联关系,构建各所述节点线程的顺序及各所述节点线程之间的关联关系形成线程流程;
S73:执行所述线程流程得到运算结果。
实施例三:
请参阅图4,本实施例的一种可视化组件生成装置1,包括:
接口识别模块11,用于获取配置信息,根据所述配置信息获取目标接口;
控制类生成模块12,用于将所述配置信息组装在与所述目标接口关联的预定义注解内得到控制层类;
映射类生成模块13,用于构建反映调用所述控制层类的请求方式,与所述控制层类之间映射关系的接口映射类;
组件生成模块14,用于调用预置的web框架对所述接口映射类进行图像化处理得到可视化组件。
可选的,所述可视化组件生成装置1还包括:
流程构建模块15,用于将所述可视化组件载入预置的流程构建页面中,将所述流程构建页面发送至控制端,使所述控制端能够在所述流程构建页面中,通过所述可视化组件构建由任务节点组成的有向流程图。
可选的,所述可视化组件生成装置1还包括:
页面管理模块16,用于将所述有向流程图载入预置的展示页面中,将所述展示页面发送至用户端。
可选的,所述可视化组件生成装置1还包括:
流程运算模块17,用于获取用户端在所述展示页面中录入的用户数据,根据所述用户数据执行所述有向流程图得到运算结果。
本技术方案涉及计算机开发技术,提供了通过根据所述配置信息获取目标接口,并将所述配置信息组装在与所述目标接口内得到控制层类,再构建反映调用所述控制层类的请求方式,与所述控制层类之间映射关系的接口映射类并对其进行图像化处理得到可视化组件的开发辅助工具。
实施例四:
为实现上述目的,本发明还提供一种计算机设备5,实施例三的可视化组件生成装置的组成部分可分散于不同的计算机设备中,计算机设备5可以是执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个应用服务器所组成的服务器集群)等。本实施例的计算机设备至少包括但不限于:可通过系统总线相互通信连接的存储器51、处理器52,如图5所示。需要指出的是,图5仅示出了具有组件-的计算机设备,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
本实施例中,存储器51(即可读存储介质)包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器51可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,存储器51也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器51还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,存储器51通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例三的可视化组件生成装置的程序代码等。此外,存储器51还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器52在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器52通常用于控制计算机设备的总体操作。本实施例中,处理器52用于运行存储器51中存储的程序代码或者处理数据,例如运行可视化组件生成装置,以实现实施例一和实施例二的可视化组件生成方法。
实施例五:
为实现上述目的,本发明还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,程序被处理器52执行时实现相应功能。本实施例的计算机可读存储介质用于存储可视化组件生成装置,被处理器52执行时实现实施例一和实施例二的可视化组件生成方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种可视化组件生成方法,其特征在于,包括:
获取配置信息,根据所述配置信息获取目标接口;
将所述配置信息组装在与所述目标接口关联的预定义注解内得到控制层类;
构建反映调用所述控制层类的请求方式,与所述控制层类之间映射关系的接口映射类;
调用预置的web框架对所述接口映射类进行图像化处理得到可视化组件。
2.根据权利要求1所述的可视化组件生成方法,其特征在于,所述获取配置信息的步骤,包括:
向控制端发送初始页面,获取所述控制端在所述初始页面上进行操作所生成的配置信号;
根据所述配置信号向所述控制端发送配置对话框,获取所述控制端在所述配置对话框内录入的配置信息并保存。
3.根据权利要求1所述的可视化组件生成方法,其特征在于,所述将所述配置信息组装在与所述目标接口关联的预定义注解内得到控制层类的步骤,包括:
据所述配置信息的接口名称获得目标接口,获取与所述目标接口关联的预定义注解;
将所述配置信息组装在所述预定义注解中得到控制层类,并将所述控制层类加载至预置的虚拟机中。
4.根据权利要求1所述的可视化组件生成方法,其特征在于,所述构建反映调用所述控制层类的请求方式,与所述控制层类之间映射关系的接口映射类的步骤,包括:
创建所述控制层类的类实例,调用预置的容器解析所述类实例生成Bean定义,将所述Bean定义载入预置所述容器的Bean定义注册表中;
遍历所述Bean定义表中Bean定义的类方法,识别所述类方法中具有与预置指定注解一致的类方法注解,将所述类方法注解所在Bean定义对应的控制层类设为接口类;
提取所述接口类中所述类方法注解使用的类方法并将其设为请求方式,构建反映所述请求方式与所述接口类之间映射关系的接口映射类。
5.根据权利要求1所述的可视化组件生成方法,其特征在于,所述调用预置的web框架对所述接口映射类进行图像化处理得到可视化组件之后,所述方法还包括:
将所述可视化组件载入预置的流程构建页面中,将所述流程构建页面发送至控制端,使所述控制端能够在所述流程构建页面中,通过所述可视化组件构建由任务节点组成的有向流程图。
6.根据权利要求5所述的可视化组件生成方法,其特征在于,所述通过所述可视化组件构建由任务节点组成的有向流程图的步骤,包括:
接收所述控制端在所述流程构建页面中构建的业务流程,所述业务流程中至少具有一个任务节点;
遍历所述业务流程中的任务节点的子流程,提取所述子流程中的子节点并将其作为所述业务流程中的任务节点以获得业务总流程;
遍历所述业务总流程中任务节点之间的关联关系,并提取所述业务流程中具有关联关系的两个相邻任务节点,将所述相邻任务节点中位于上位的任务节点的出参,作为位于下位的任务节点的入参,以得到有向流程图。
7.根据权利要求5所述的可视化组件生成方法,其特征在于,所述通过所述可视化组件构建由任务节点组成的有向流程图之后,所述方法还包括:
将所述有向流程图载入预置的展示页面中,将所述展示页面发送至用户端;
获取用户端在所述展示页面中录入的用户数据,根据所述用户数据执行所述有向流程图得到运算结果。
8.一种可视化组件生成装置,其特征在于,包括:
接口识别模块,用于获取配置信息,根据所述配置信息获取目标接口;
控制类生成模块,用于将所述配置信息组装在与所述目标接口关联的预定义注解内得到控制层类;
映射类生成模块,用于构建反映调用所述控制层类的请求方式,与所述控制层类之间映射关系的接口映射类;
组件生成模块,用于调用预置的web框架对所述接口映射类进行图像化处理得到可视化组件。
9.一种计算机设备,其包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述计算机设备的处理器执行所述计算机程序时实现权利要求1至7任一项所述可视化组件生成方法的步骤。
10.一种计算机可读存储介质,所述可读存储介质上存储有计算机程序,其特征在于,所述可读存储介质存储的所述计算机程序被处理器执行时实现权利要求1至7任一项所述可视化组件生成方法的步骤。
CN202110286195.0A 2021-03-17 2021-03-17 可视化组件生成方法、装置、计算机设备及可读存储介质 Pending CN112861059A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110286195.0A CN112861059A (zh) 2021-03-17 2021-03-17 可视化组件生成方法、装置、计算机设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110286195.0A CN112861059A (zh) 2021-03-17 2021-03-17 可视化组件生成方法、装置、计算机设备及可读存储介质

Publications (1)

Publication Number Publication Date
CN112861059A true CN112861059A (zh) 2021-05-28

Family

ID=75995045

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110286195.0A Pending CN112861059A (zh) 2021-03-17 2021-03-17 可视化组件生成方法、装置、计算机设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN112861059A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115470152A (zh) * 2022-11-02 2022-12-13 平安银行股份有限公司 测试代码生成方法、测试代码生成装置以及存储介质
WO2023273617A1 (zh) * 2021-06-29 2023-01-05 北京字跳网络技术有限公司 基于引擎能力的实体功能实现方法、装置及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105893016A (zh) * 2015-12-11 2016-08-24 乐视网信息技术(北京)股份有限公司 基于mvc架构的日志记录系统及方法
CN108255513A (zh) * 2017-12-28 2018-07-06 平安科技(深圳)有限公司 电子装置、基于springmvc的数据接口及其说明自动生成方法及存储介质
CN108363566A (zh) * 2018-01-30 2018-08-03 中国平安人寿保险股份有限公司 一种项目开发过程中文件配置方法、智能终端及存储介质
CN110851123A (zh) * 2019-11-12 2020-02-28 南京国电南自电网自动化有限公司 基于SpringMVC的WebGIS电网可视化框架的构建方法、系统及装置
CN111143451A (zh) * 2019-12-16 2020-05-12 中国航空综合技术研究所 用于分层架构设计的ssm框架设计方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105893016A (zh) * 2015-12-11 2016-08-24 乐视网信息技术(北京)股份有限公司 基于mvc架构的日志记录系统及方法
CN108255513A (zh) * 2017-12-28 2018-07-06 平安科技(深圳)有限公司 电子装置、基于springmvc的数据接口及其说明自动生成方法及存储介质
CN108363566A (zh) * 2018-01-30 2018-08-03 中国平安人寿保险股份有限公司 一种项目开发过程中文件配置方法、智能终端及存储介质
CN110851123A (zh) * 2019-11-12 2020-02-28 南京国电南自电网自动化有限公司 基于SpringMVC的WebGIS电网可视化框架的构建方法、系统及装置
CN111143451A (zh) * 2019-12-16 2020-05-12 中国航空综合技术研究所 用于分层架构设计的ssm框架设计方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023273617A1 (zh) * 2021-06-29 2023-01-05 北京字跳网络技术有限公司 基于引擎能力的实体功能实现方法、装置及电子设备
CN115470152A (zh) * 2022-11-02 2022-12-13 平安银行股份有限公司 测试代码生成方法、测试代码生成装置以及存储介质
CN115470152B (zh) * 2022-11-02 2023-04-28 平安银行股份有限公司 测试代码生成方法、测试代码生成装置以及存储介质

Similar Documents

Publication Publication Date Title
US20180278494A1 (en) Automated constructing method of cloud manufacturing service and cloud manufacturing system
CN109739717B (zh) 一种页面数据采集的方法及装置、服务器
US8983935B2 (en) Methods for utilizing a javascript emulator in a web content proxy server and devices thereof
US9990595B2 (en) Modeled service endpoints in business process model and notation tools
US20180081642A1 (en) Connectors framework
KR101569984B1 (ko) 웹 스크래핑 추출 데이터 설정 방법
CN111427561A (zh) 业务代码的生成方法、装置、计算机设备和存储介质
CN106354483B (zh) 一种数据处理方法、装置及电子设备
CN112861059A (zh) 可视化组件生成方法、装置、计算机设备及可读存储介质
CN109783065A (zh) 产生对话式用户接口的方法及系统
CN110263070A (zh) 事件上报方法及装置
CN103530338A (zh) 在计算设备上进行页面渲染的框架及生成页面的方法
Zalila et al. A model-driven tool chain for OCCI
CN111722873A (zh) 代码重构方法、装置、设备及介质
CN112988165A (zh) 基于Kubernetes的交互式建模方法、装置、电子设备及存储介质
CN101937335A (zh) 一种生成Widget图标的方法、Widget摘要文件的生成方法及Widget引擎
CN109063040B (zh) 客户端程序数据采集方法及系统
US20240061993A1 (en) Multi-component abstract association and fusion method and apparatus in page design
CN101876998A (zh) 一种实现数据编辑的方法和系统
CN111061478A (zh) 一种页面表单修改方法、装置、设备及可读存储介质
CN115756433A (zh) 代码平台的迁移方法、装置、电子设备及可读存储介质
CN114817379A (zh) 基于Qunee的配置项关系可视化方法、系统、设备及介质
CN113568614A (zh) 任务发布方法、电子设备及存储介质
Gharibi et al. ArchFeature: Integrating features into product line architecture
JP5500859B2 (ja) 環境関連情報集計分析システム。

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
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20210528