CN112835565A - 一种生成组件配置器的方法、设备和存储介质 - Google Patents

一种生成组件配置器的方法、设备和存储介质 Download PDF

Info

Publication number
CN112835565A
CN112835565A CN202110128414.2A CN202110128414A CN112835565A CN 112835565 A CN112835565 A CN 112835565A CN 202110128414 A CN202110128414 A CN 202110128414A CN 112835565 A CN112835565 A CN 112835565A
Authority
CN
China
Prior art keywords
attribute
configuration information
information data
configurator
attribute list
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
CN202110128414.2A
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.)
Shandong Inspur Genersoft Information Technology Co Ltd
Original Assignee
Shandong Inspur Genersoft Information Technology 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 Shandong Inspur Genersoft Information Technology Co Ltd filed Critical Shandong Inspur Genersoft Information Technology Co Ltd
Priority to CN202110128414.2A priority Critical patent/CN112835565A/zh
Publication of CN112835565A publication Critical patent/CN112835565A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/33Intelligent editors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种生成组件配置器的方法、设备和存储介质,该方案包括:获取预设的属性列表,基于所述属性列表,获取所述属性列表中各属性对应的配置信息数据;其中,所述属性列表包括预先为所述组件配置器定义的属性;对各所述属性对应的配置信息数据进行解析,以得到所述属性的配置器信息;根据各所述属性的配置器信息,生成相应的组件配置器。

Description

一种生成组件配置器的方法、设备和存储介质
技术领域
本说明书实施例涉及计算机软件技术领域,尤其涉及一种生成组件配置器的方法、设备和存储介质。
背景技术
随着社会的进步与发展,计算机技术的十分广泛,对人们的生活有着方方面面的影响。对于计算机来说,最为重要的便是计算机软件技术,软件技术作为计算机系统的核心组成部分,能够根据用户的各项需求进行不同的操作。
在计算机软件项目开发过程中,为助力非研发人员实现业务逻辑,提高产品的开发效率,需要通过配置界面给相同的独立逻辑代码赋予不同的状态信息,以复用逻辑、解析不同功能的组件。但是,传统的状态信息是通过独立分离的配置信息来描述配置器,属性与配置信息之间无强映射关系,运行过程中容易出错且不易维护。
基于此,如何提供一种高效且不易出错的生成组件配置器的方法、设备和存储介质成为亟需解决的技术问题。
发明内容
本说明书实施例提供一种生成组件配置器的方法、设备和存储介质,用以解决现有技术中的如下技术问题:
现有技术中,传统的状态信息通过独立分离的配置信息来描述配置器,属性与配置信息之间无强映射关系,运行过程中容易出错且不易维护。
为解决上述技术问题,本说明书一个或多个实施例是这样实现的:
一方面,本说明书实施例提供一种生成组件配置器的方法,包括:
获取预设的属性列表,基于所述属性列表,获取所述属性列表中各属性对应的配置信息数据;
其中,所述属性列表包括预先为所述组件配置器定义的属性;
对各所述属性对应的配置信息数据进行解析,以得到所述属性的配置器信息;
根据各所述属性的配置器信息,生成相应的组件配置器。
在一个实施例中,基于所述属性列表,获取所述属性列表中各属性对应的配置信息数据,具体包括:
基于所述属性列表,通过当前语言环境下的反射机制,获取所述属性列表中各属性对应的配置信息数据。
在一个实施例中,在基于所述属性列表,获取所述属性列表中各属性对应的配置信息数据之前,所述方法还包括:
通过相应的指定参数,为各所述属性确定相应的配置信息数据;
确定各所述属性和各所述配置信息数据之间的关联关系,并根据所述关联关系、各属性、各配置信息数据生成第一映射表并进行存储。
在一个实施例中,所述获取所述属性列表中各属性对应的配置信息数据,具体包括:
基于所述属性列表,从所述第一映射表中获取所述属性对应的配置信息数据。
在一个实施例中,所述方法还包括:
确定所述配置信息数据的数据结构,与预设数据结构是否一致;
其中,所述配置信息数据至少包括以下至少一种构成要素:类型、名称、默认值。
在一个实施例中,所述方法还包括:
将所述属性、所述配置信息数据以及所述第一映射表存储在同一个文件内;
根据所述文件,基于代码静态检查功能,判断所述属性和所述配置信息是否与所述第一映射表匹配。
在一个实施例中,所述方法还包括:
在所述属性和所述配置信息与所述第一映射表不匹配的情况下,根据出现的错误生成错误提示信息并向用户进行展示;
基于所述用户针对所述错误提示信息进行的操作,对所述组件配置器进行修正,并重新运行修正后的组件配置器。
在一个实施例中,所述方法还包括:
预先为所述配置信息数据设定配置类型,所述配置类型用于限制所述配置信息的有效范围。
另一方面,本说明书实施例提供一种生成组件配置器的设备,包括:
至少一个处理器,以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令能被所述至少一个处理器执行,以使所述至少一个处理器能够:
获取预设的属性列表,基于所述属性列表,获取所述属性列表中各属性对应的配置信息数据;
其中,所述属性列表包括预先为所述组件配置器定义的属性;
对各所述属性对应的配置信息数据进行解析,以得到所述属性的配置器信息;
根据各所述属性的配置器信息,生成相应的组件配置器。
另一方面,本说明书实施例提供一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:
基于预先为所述组件配置器定义好的属性,以及通过指定参数设定的所述属性的配置信息数据,进行属性标记;
获取属性列表,所述属性列表包含有全部所述定义好的属性,基于所述属性列表,获取所述属性对应的所述配置信息数据;
对所述配置信息数据进行解析,基于所述解析后的所述配置信息数据,生成所述属性的配置器信息,基于所述属性的配置器信息生成组件配置器。
本说明书实施例采用上述至少一个技术方案能够达到以下有益效果:属性与配置信息数据之间具有较强的关联关系,可以在开发时而非运行组件配置器时尽早发现错误,有效减少组件配置器运行时的错误率,节省软件开发和测试成本,保证组件配置器的顺利运行,在配置器运行过程中实现易维护、不易出错的效果。
附图说明
此处所说明的附图用来提供对本说明书实施例的进一步理解,构成本说明书实施例的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对申请的不当限定。在附图中:
图1为本申请实施例提供的一种生成组件配置器的方法的流程示意图;
图2为本申请实施例提供的一种生成组件配置器的方法的架构示意图;
图3为本申请实施例提供的一种生成组件配置器的设备的结构示意图。
具体实施方式
为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本申请技术方案进行清楚、完整的描述。显然,所描述的实施例仅是本申请的一部分实施例,而不是全部的实施例。基于说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的实施例提供了一种生成组件配置器的方法、设备和存储介质,下面进行具体说明:
图1为本申请实施例提供的一种生成组件配置器的方法的流程示意图,如图1所示,本申请实施例提供的一种生成组件配置器的方法可以包括以下步骤:
S101:获取预设的属性列表,基于所述属性列表,获取所述属性列表中各属性对应的配置信息数据。
其中,所述属性列表包括预先为所述组件配置器定义的属性。
在本说明书实施例中,组件配置器的属性可以是用户进行预先定义的,每一属性都表征了组件的某一特性,用户可以根据自身需求,对属性进行设定,也就是给组件定义需要生成到配置器上的属性。
还可以为每一属性设定对应的配置信息数据,对于配置信息数据的设定,是基于实际业务需求进行设定的。比如:用户想要生成的是一个图表的组件,图表中带有一个柱状图,其中,将柱状图的柱子宽度设置为“2厘米”,柱子的颜色设置为“蓝色”。在这里,柱子的宽度、柱子的颜色就是所说的属性,而“2厘米”、“蓝色”就是所说的配置信息的数据。
需要说明的是,上述步骤可以称之为属性标记配置信息数据的过程,属性的个数可以为一个或多个,各属性组合在一起即可得到属性列表。
S102:对各所述属性对应的配置信息数据进行解析,以得到所述属性的配置器信息。
若想生成组件配置器,需要组件中与各属性的对应的配置信息数据,但是,此时若直接利用获取到的与各属性对应的配置信息数据来生成组件配置器,会存在数据无法被计算机识别或者数据格式错误等问题。
基于此,本说明书实施例提出对各属性对应的配置信息数据进行解析,以得到属性的配置器信息,解析后得到属性的配置器信息可以直接被计算机识别、读取。
S103:根据各所述属性的配置器信息,生成相应的组件配置器。
得到的配置器信息在经过上述解析处理之后,其配置器信息可被计算机成功读取,保证组件配置器的顺利运行。
基于属性列表,获取属性列表中各属性对应的配置信息数据,具体包括:基于属性列表,通过当前语言环境下的反射机制,获取属性列表中各属性对应的配置信息数据。
需要说明的是,在计算机科学领域,反射是指一类应用,它们能够自描述和自控制。也就是说,这类应用通过采用某种机制来实现对自己行为的描述和监测,并能根据自身行为的状态和结果,调整或修改应用所描述行为的状态和相关的语义。
反射机制可以被应用到视窗系统、操作系统和文件系统中。反射本身并不是一个新概念,它可能会使我们联想到光学中的反射概念,尽管计算机科学赋予了反射概念新的含义,但是,从现象上来说,它们确实有某些相通之处,这些有助于我们的理解。同一般的反射概念相比,计算机科学领域的反射不单单指反射本身,还包括对反射结果所采取的措施。所有采用反射机制的系统(即反射系统)都希望使系统的实现更开放。可以说,实现了反射机制的系统都具有开放性,但具有开放性的系统并不一定采用了反射机制,开放性是反射系统的必要条件。一般来说,反射系统除了满足开放性条件外还必须满足原因连接。所谓原因连接是指对反射系统自描述的改变能够立即反映到系统底层的实际状态和行为上的情况,反之亦然。开放性和原因连接是反射系统的两大基本要素。
Java中,反射是一种强大的工具。它使用户能够创建灵活的代码,这些代码可以在运行时装配,无需在组件之间进行源代表链接。反射允许用户在编写与执行时,使用户的程序代码能够接入装载到JVM中的类的内部信息,而不是源代码中选定的类协作的代码,这使得反射成为构建灵活的应用的主要工具。
由此,基于属性列表,通过反射机制,可以获取属性列表中各属性对应的配置信息数据。
本说明书的一些实施例中,提出:在基于属性列表,获取属性列表中各属性对应的配置信息数据之前,该方法还包括:通过相应的指定参数,为各属性确定相应的配置信息数据;确定各属性和各配置信息数据之间的关联关系,并根据关联关系、各属性、各配置信息数据生成第一映射表并进行存储。
不难理解的是,指定参数的设置是为了给各属性确定相应的配置信息数据,也可以说为了将配置信息数据传入系统中。由此,每一属性对应自己的配置信息数据,各属性和各配置信息数据之间建立起一一对应的关联关系,根据关联关系、各属性、各配置信息数据生成第一映射表。考虑到用户可能会有查看属性和配置信息数据的需要或者是其他操作的需要,本说明书实施例将这一映射表进行存储,其存储介质可以为内存、硬盘或数据库等等。
获取属性列表中各属性对应的配置信息数据,具体包括:基于属性列表,从第一映射表中获取属性对应的配置信息数据。
考虑到有的计算机语言环境不具备前述反射机制,也就无法通过反射机制获取属性对应的配置信息数据,这种情况下可以借助已经存储起来的第一映射表,从第一映射表中获取属性对应的配置信息数据。
本说明书的一些实施例中,还需要确定配置信息数据的数据结构,与预设数据结构是否一致;其中,配置信息数据至少包括以下至少一种构成要素:类型、名称、默认值。
配置信息数据是对配置器的描述,用于指导配置器的生成与运行方式。为了保证配置器成功运行,应当确定配置信息数据的数据结构与预设数据结构一致,其预设数据结构是生成配置器所参照的配置信息数据结构。一般情况下,配置信息数据的构成要素可以包括类型、名称、默认值等等。
在本说明书的一些实施例中,可以将属性、配置信息数据以及第一映射表存储在同一个文件内;根据文件,基于代码静态检查功能,判断属性和配置信息是否与第一映射表匹配。
需要说明的是,代码检查可以有效的提高代码质量,更进一步的说代码检查不仅仅是为了提高代码质量,已深入到代码程序的逻辑检查、内存使用情况的检查甚至更高层面的检查,在很大程度上影响程序的功能和性能。而静态检查是指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。利用代码静态检查,可以帮助程序开发人员自动执行静态代码分析,快速定位代码隐藏错误和缺陷;帮助代码设计人员更专注于分析和解决代码设计缺陷;显著减少在代码逐行检查上花费的时间,提高软件可靠性并节省软件开发和测试成本。
本说明书的一些实施例中,在属性和配置信息与第一映射表不匹配的情况下,根据出现的错误生成错误提示信息并向用户进行展示;基于用户针对错误提示信息进行的操作,对组件配置器进行修正,并重新运行修正后的组件配置器。
代码静态检查可以检测到很多的问题,比如变量未初始化、空指针引用、数据类型不匹配、返回局部变量、数组越界、内存泄漏等问题。检测到问题后,可以生成错误提示信息,用户根据错误提示信息对组件配置器进行修正。基于代码静态检查,可以在开发时而非运行组件配置器时尽早发现错误,以使得组件配置器成功运行,同时有效减少组件配置器运行时的错误率。
本说明书的一些实施例中,可以预先为配置信息数据设定配置类型,配置类型用于限制配置信息的有效范围。比如,预先为某一配置信息数据设定类型为文字,那么输入的配置信息数据只能限制为文字类型,若输入其他类型,可以以错误提示的形式提示用户。
图2为本申请实施例提供的一种生成组件配置器的方法的架构示意图,如图2所示,将各属性和各配置信息数据收集在存储介质中,各属性和各配置信息数据一一对应,建立起关联关系,基于收集的各属性和各配置信息数据,指导生成相应的组件配置器。
综上,本申请提供的一种生成组件配置器的方法,能够使得属性与配置信息数据之间具有较强的关联关系,可以在开发时而非运行组件配置器时尽早发现错误,有效减少组件配置器运行时的错误率,节省软件开发和测试成本,保证组件配置器的顺利运行,在配置器运行过程中实现易维护、不易出错的效果。
基于同样的思路,本申请的一些实施例还提供了上述方法对应的设备和非易失性计算机存储介质。
图3为本申请实施例还提供的一种生成组件配置器的设备的结构示意图,如图3所示,本申请实施例提供的生成组件配置器的设备,可以包括:
至少一个处理器,以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令能被所述至少一个处理器执行,以使所述至少一个处理器能够:
基于预先为所述组件配置器定义好的属性,以及通过指定参数设定的所述属性的配置信息数据,进行属性标记;
获取属性列表,所述属性列表包含有全部所述定义好的属性,基于所述属性列表,获取所述属性对应的所述配置信息数据;
对所述配置信息数据进行解析,基于所述解析后的所述配置信息数据,生成所述属性的配置器信息,基于所述属性的配置器信息生成组件配置器。
处理器与存储器之间可以通过总线通信,设备还可以包括与其他设备通信的输入/输出接口。
本申请的一些实施例提供的对应于图1的一种生成组件配置器的非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:
基于预先为所述组件配置器定义好的属性,以及通过指定参数设定的所述属性的配置信息数据,进行属性标记;
获取属性列表,所述属性列表包含有全部所述定义好的属性,基于所述属性列表,获取所述属性对应的所述配置信息数据;
对所述配置信息数据进行解析,基于所述解析后的所述配置信息数据,生成所述属性的配置器信息,基于所述属性的配置器信息生成组件配置器。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备、非易失性计算机存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的要求范围之内。

Claims (10)

1.一种生成组件配置器的方法,其特征在于,所述方法包括:
获取预设的属性列表,基于所述属性列表,获取所述属性列表中各属性对应的配置信息数据;
其中,所述属性列表包括预先为所述组件配置器定义的属性;
对各所述属性对应的配置信息数据进行解析,以得到所述属性的配置器信息;
根据各所述属性的配置器信息,生成相应的组件配置器。
2.根据权利要求1所述的方法,其特征在于,基于所述属性列表,获取所述属性列表中各属性对应的配置信息数据,具体包括:
基于所述属性列表,通过当前语言环境下的反射机制,获取所述属性列表中各属性对应的配置信息数据。
3.根据权利要求1所述的方法,其特征在于,在基于所述属性列表,获取所述属性列表中各属性对应的配置信息数据之前,所述方法还包括:
通过相应的指定参数,为各所述属性确定相应的配置信息数据;
确定各所述属性和各所述配置信息数据之间的关联关系,并根据所述关联关系、各属性、各配置信息数据生成第一映射表并进行存储。
4.根据权利要求3所述的方法,其特征在于,所述获取所述属性列表中各属性对应的配置信息数据,具体包括:
基于所述属性列表,从所述第一映射表中获取所述属性对应的配置信息数据。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定所述配置信息数据的数据结构,与预设数据结构是否一致;
其中,所述配置信息数据至少包括以下至少一种构成要素:类型、名称、默认值。
6.根据权利要求3所述的方法,其特征在于,所述方法还包括:
将所述属性、所述配置信息数据以及所述第一映射表存储在同一个文件内;
根据所述文件,基于代码静态检查功能,判断所述属性和所述配置信息是否与所述第一映射表匹配。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
在所述属性和所述配置信息与所述第一映射表不匹配的情况下,根据出现的错误生成错误提示信息并向用户进行展示;
基于所述用户针对所述错误提示信息进行的操作,对所述组件配置器进行修正,并重新运行修正后的组件配置器。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
预先为所述配置信息数据设定配置类型,所述配置类型用于限制所述配置信息的有效范围。
9.一种生成组件配置器的设备,其特征在于,包括:
至少一个处理器,以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令能被所述至少一个处理器执行,以使所述至少一个处理器能够:
基于预先为所述组件配置器定义好的属性,以及通过指定参数设定的所述属性的配置信息数据,进行属性标记;
获取属性列表,所述属性列表包含有全部所述定义好的属性,基于所述属性列表,获取所述属性对应的所述配置信息数据;
对所述配置信息数据进行解析,基于所述解析后的所述配置信息数据,生成所述属性的配置器信息,基于所述属性的配置器信息生成组件配置器。
10.一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:
基于预先为所述组件配置器定义好的属性,以及通过指定参数设定的所述属性的配置信息数据,进行属性标记;
获取属性列表,所述属性列表包含有全部所述定义好的属性,基于所述属性列表,获取所述属性对应的所述配置信息数据;
对所述配置信息数据进行解析,基于所述解析后的所述配置信息数据,生成所述属性的配置器信息,基于所述属性的配置器信息生成组件配置器。
CN202110128414.2A 2021-01-29 2021-01-29 一种生成组件配置器的方法、设备和存储介质 Pending CN112835565A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110128414.2A CN112835565A (zh) 2021-01-29 2021-01-29 一种生成组件配置器的方法、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110128414.2A CN112835565A (zh) 2021-01-29 2021-01-29 一种生成组件配置器的方法、设备和存储介质

Publications (1)

Publication Number Publication Date
CN112835565A true CN112835565A (zh) 2021-05-25

Family

ID=75932410

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110128414.2A Pending CN112835565A (zh) 2021-01-29 2021-01-29 一种生成组件配置器的方法、设备和存储介质

Country Status (1)

Country Link
CN (1) CN112835565A (zh)

Similar Documents

Publication Publication Date Title
CN110018955B (zh) 通过转换手动测试用例来生成自动化测试脚本
US8706771B2 (en) Systems and methods for analyzing and transforming an application from a source installation to a target installation
US8875110B2 (en) Code inspection executing system for performing a code inspection of ABAP source codes
US7673292B2 (en) Auto conversion of tests between different functional testing tools
US9424008B2 (en) API descriptions
US7882495B2 (en) Bounded program failure analysis and correction
US9081595B1 (en) Displaying violated coding rules in source code
US10229042B2 (en) Detection of meaningful changes in content
CN110955409B (zh) 在云平台上创建资源的方法和装置
US20210263841A1 (en) Machine code analysis for identifying software defects
US20050160405A1 (en) System and method for generating code coverage information
US7322026B2 (en) Scoring assertions
US8745602B2 (en) Automatic configuration of project system from project capabilities
CN112230988A (zh) 接口文档的生成方法、装置、计算机设备和存储介质
CN110737631A (zh) 一种基于Flink引擎的数据解析方法及装置
US9779014B2 (en) Resilient mock object creation for unit testing
CN117112060A (zh) 组件库构建方法、装置、电子设备及存储介质
US11422917B2 (en) Deriving software application dependency trees for white-box testing
CN112835565A (zh) 一种生成组件配置器的方法、设备和存储介质
CN113986263A (zh) 代码自动化测试方法、装置、电子设备、存储介质
US7318221B2 (en) Windows™ F-language interpreter
CN109358972B (zh) 中间件客户端的日志管理方法、装置及计算机系统
CN113626307A (zh) 一种基于k8s容器平台的数据校验方法和装置
CN113157572A (zh) 一种测试案例生成方法、系统、电子设备及存储介质
CN112380118A (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