CN118295694A - 一种配置参数的处理方法和装置 - Google Patents

一种配置参数的处理方法和装置 Download PDF

Info

Publication number
CN118295694A
CN118295694A CN202410481327.9A CN202410481327A CN118295694A CN 118295694 A CN118295694 A CN 118295694A CN 202410481327 A CN202410481327 A CN 202410481327A CN 118295694 A CN118295694 A CN 118295694A
Authority
CN
China
Prior art keywords
configuration parameter
target
configuration
parameter information
file
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
CN202410481327.9A
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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
Filing date
Publication date
Application filed by Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Publication of CN118295694A publication Critical patent/CN118295694A/zh
Pending legal-status Critical Current

Links

Abstract

本发明公开了一种配置参数的处理方法和装置,涉及大数据技术领域,该方法包括:响应用户对配置文件的第一操作事件,确定是否存在第一目标配置参数信息,所述第一目标配置参数信息与第一操作事件中的输入字符匹配;若是,响应用户对第一目标配置参数信息的第二操作事件,按照配置文件的预设格式将第一目标配置参数信息转换为具有预设格式的目标字符串;根据目标字符串覆盖输入字符,以根据覆盖后的目标字符串确定与目标字符串匹配的第二目标配置参数信息;将第二目标配置参数信息配置在所述配置文件中。本发明可以实现配置参数的自动补全、精准检索,从而提高配置的准确率和效率,降低配置参数的使用成本和复杂度。

Description

一种配置参数的处理方法和装置
技术领域
本发明涉及大数据技术领域,尤其涉及一种配置参数的处理方法和装置。
背景技术
配置参数可以包括Spring Boot配置参数,Spring Boot是在Spring(Spring框架是Java平台上的一种开源应用框架)的基础上构建起来的一个项目或框架,可以简化应用的开发和部署过程,Spring Boot集成了众多主流技术组件,对应的配置参数数量巨大。
现有技术需要用户手动进行Spring Boot配置参数的检索,依靠开发经验从全量搜索结果中找到所需的Spring Boot配置参数,再手动将Spring Boot配置参数配置到相应的配置文件中,这种方式所需的成本和复杂度较高、配置参数的获取效率和准确率较低,导致配置效率和准确率较低,从而导致用户无法便捷地使用配置文件中的Spring Boot配置参数,用户使用体验较差。
针对上述问题,目前尚未提出有效的解决方案。
发明内容
本说明书实施例提供了一种配置参数的处理方法和装置,以解决现有技术无法准确、快速地获取配置参数并将配置参数配置到配置文件中,导致配置参数的使用成本和复杂度较高的问题。
第一方面,本说明书实施例提供了一种配置参数的处理方法,该方法包括:
响应用户对配置文件的第一操作事件,确定是否存在第一目标配置参数信息,所述第一目标配置参数信息与第一操作事件中的输入字符匹配;
若是,响应用户对第一目标配置参数信息的第二操作事件,按照配置文件的预设格式将第一目标配置参数信息转换为具有预设格式的目标字符串,所述第二操作事件不同于所述第一操作事件;
根据目标字符串覆盖输入字符,以根据覆盖后的目标字符串确定与所述目标字符串匹配的第二目标配置参数信息;
将第二目标配置参数信息配置在所述配置文件中。
在一些实施例中,所述方法还包括:
获取存储源代码的代码文件;
判断代码文件中是否存在配置参数信息,所述配置参数信息包括配置参数名称;
若是,将代码文件中的配置参数信息存储在预设数据库中;
根据代码文件的存储路径、配置参数名称创建代码文件的索引信息。
在一些实施例中,所述确定是否存在第一目标配置参数信息,所述第一目标配置参数信息与第一操作事件中的输入字符匹配,包括:
根据索引信息,在预设数据库中搜索配置参数信息;
判断搜索的配置参数信息是否与输入字符匹配;
若是,确定存在与输入字符匹配的第一目标配置参数信息。
在一些实施例中,所述方法还包括:
在可视化弹窗中展示第一目标配置参数信息中的第一目标配置参数名称;
相应地,所述响应用户对第一目标配置参数信息的第二操作事件,按照配置文件的预设格式将第一目标配置参数信息转换为具有预设格式的目标字符串,包括:
响应用户对第一目标配置参数名称的第二操作事件,按照配置文件的预设格式将第一目标配置参数名称转换为具有预设格式的目标字符串。
在一些实施例中,所述根据覆盖后的目标字符串确定与所述目标字符串匹配的第二目标配置参数信息,包括:
根据覆盖后的目标字符串,匹配目标字符串对应的索引信息;
根据目标字符串对应的索引信息,从预设数据库中搜索与目标字符串匹配的第二目标配置参数信息。
在一些实施例中,所述方法还包括:
在可视化弹窗中展示配置第二目标配置参数信息后的配置文件;
响应用户对配置文件的悬停事件,根据配置文件的预设格式解析悬停事件中悬停位置处的配置参数名称;
根据解析后的配置参数名称,匹配解析后的配置参数名称对应的索引信息;
根据解析后的配置参数名称对应的索引信息,从预设数据库中搜索与解析后的配置参数名称匹配的配置类;
在可视化弹窗中展示配置类。
在一些实施例中,所述方法还包括:
响应用户对配置类的第三操作事件,确定配置类对应的索引信息;
根据所述索引信息中的代码文件的存储路径,获取配置类对应的代码文件,以在可视化弹窗中展示代码文件中的配置类源码。
第二方面,本说明书实施例还提供了一种配置参数的处理装置,该装置包括:
第一响应模块,用于响应用户对配置文件的第一操作事件,确定是否存在第一目标配置参数信息,所述第一目标配置参数信息与第一操作事件中的输入字符匹配;
第二响应模块,用于若是,响应用户对第一目标配置参数信息的第二操作事件,按照配置文件的预设格式将第一目标配置参数信息转换为具有预设格式的目标字符串,所述第二操作事件不同于所述第一操作事件;
覆盖模块,用于根据目标字符串覆盖输入字符,以根据覆盖后的目标字符串确定与所述目标字符串匹配的第二目标配置参数信息;
配置模块,用于将第二目标配置参数配置在所述配置文件中。
第三方面,本说明书实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上的计算机程序/指令,所述处理器执行所述计算程序/指令以实现上述配置参数的处理方法的步骤。
第四方面,本说明书实施例还提供了一种计算机可读存储介质,其上存储有计算机程序/指令,所述计算机程序/指令被处理器执行时实现上述配置参数的处理方法的步骤。
第五方面,本说明书实施例还提供了一种计算机程序产品,所述计算机程序/指令被处理器执行时实现上述配置参数的处理方法的步骤。
本说明书实施例提供了一种配置参数的处理方法和装置,首先,响应用户对配置文件的第一操作事件,确定是否存在第一目标配置参数信息,所述第一目标配置参数信息与第一操作事件中的输入字符匹配。若是,响应用户对第一目标配置参数信息的第二操作事件,按照配置文件的预设格式将第一目标配置参数信息转换为具有预设格式的目标字符串,所述第二操作事件不同于所述第一操作事件。然后,根据目标字符串覆盖输入字符,以根据覆盖后的目标字符串确定与所述目标字符串匹配的第二目标配置参数信息。最后,将第二目标配置参数信息配置在所述配置文件中。本说明书实施例中,通过响应用户对配置文件的第一操作事件,可以及时获取第一操作事件中用户的输入字符,确定出是否存在与输入字符匹配的第一目标配置参数信息,从而可以在存在第一目标配置参数信息,将第一目标配置参数信息转换为目标字符串,实现输入字符的自动化填充,减少手工逐个字符输入或复制操作成本。可以基于覆盖后的目标字符串可以实现精准检索,将精准检索的第二目标配置参数信息配置在配置文件中,可以有效提高配置文件的配置效率和准确率,使用户可以更加便捷地使用配置文件中的配置参数,降低配置参数的使用成本和复杂度,提升研发体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是本说明书实施例提供的一种配置参数的处理方法的流程示意图;
图2是本说明书实施例提供的一种配置参数的处理装置的结构组成示意图;
图3是本说明书实施例提供的电子设备的结构组成示意图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
配置参数可以包括Spring Boot配置参数,Spring Boot是在Spring(Spring框架是Java平台上的一种开源应用框架)的基础上构建起来的一个项目或框架,可以简化应用的开发和部署过程,Spring Boot集成了众多主流技术组件,对应的配置参数数量巨大。如何从近千个技术类配置参数中快速检索到用户所需的配置参数,实现配置参数关键字的索引和提示,是降低使用Spring Boot配置参数的复杂度、提升研发质量的关键。
现有技术需要用户手动进行Spring Boot配置参数的检索,依靠开发经验从全量搜索结果中找到所需的Spring Boot配置参数,再手动将Spring Boot配置参数配置到相应的配置文件中。其中,全量搜索结果或全文检索结果可以包含类信息、方法信息、配置文件信息、数据库XML资源文件等等内容,主要依靠用户的开发经验,判断哪些是配置类相关结果,再此基础上进一步判断哪些是用户实际需要的配置项,效果难以保障。对于检索选中的关键字信息,需要跳转到对应的源代码文件,组合注解、名称等信息形成完整的配置参数名,手工输入到配置文件,使用的成本较高。
对于不同的应用场景,用户代码工程中集成的组件或扩展组件不同,需要结合代码工程的实际依赖情况进行精确加载。例如,如使用数据库场景,则需要配置数据源。默认为Spring Boot组件,工程可能集成Druid数据源,也可能自定义扩展特有数据源。如使用缓存场景,需要使用缓存组件。可以选择使用redis,也可以使用memcache或者进行自定义扩展。以上不同场景,需要用户全量检索代码工程,结合个人经验予以分析存在哪些配置项,容易出现遗漏。
针对现有方法存在的上述问题以及产生上述问题的具体原因,本申请考虑引入一种配置参数的处理方法和装置,以准确、快速地获取配置参数并将配置参数配置到配置文件中,降低配置参数的使用成本和复杂度,可以使用户在配置文件中便捷使用Spring Boot配置参数,降低使用成本和复杂度,提升研发体验。即提供一种在Java EE工程配置文件支持Spring Boot配置参数的高效检索、自动补全方法,支持用户快速链接到配置参数对应的配置类,可以解决Spring Boot框架Java EE工程的参数配置复杂问题。
基于上述思路,本说明书提出一种配置参数的处理方法,首先,响应用户对配置文件的第一操作事件,确定是否存在第一目标配置参数信息,所述第一目标配置参数信息与第一操作事件中的输入字符匹配。若是,响应用户对第一目标配置参数信息的第二操作事件,按照配置文件的预设格式将第一目标配置参数信息转换为具有预设格式的目标字符串,所述第二操作事件不同于所述第一操作事件。然后,根据目标字符串覆盖输入字符,以根据覆盖后的目标字符串确定与所述目标字符串匹配的第二目标配置参数信息。最后,将第二目标配置参数信息配置在所述配置文件中。
图1是本说明书实施例提供的一种配置参数的处理方法的流程示意图。虽然本说明书提供了如下述实施例或附图所示的方法操作步骤或装置结构,但基于常规或者无需创造性的劳动在所述方法或装置中可以包括更多或者部分合并后更少的操作步骤或模块单元。在逻辑性上不存在必要因果关系的步骤或结构中,这些步骤的执行顺序或装置的模块结构不限于本说明书实施例或附图所示的执行顺序或模块结构。所述的方法或模块结构的在实际中的装置、服务器或终端产品应用时,可以按照实施例或者附图所示的方法或模块结构进行顺序执行或者并行执行(例如并行处理器或者多线程处理的环境、甚至包括分布式处理、服务器集群的实施环境)。具体实施时,参阅图1所示,所述方法可以应用于集成开发环境或集成开发工具(IDE:Integrated Development Environment,IDE可以为用于提供程序开发环境的应用程序,集成代码编辑、分析和编译、调试和运行功能以及扩展等一体化的软件开发套件),所述方法可以包括如下内容。
S101:响应用户对配置文件的第一操作事件,确定是否存在第一目标配置参数信息,所述第一目标配置参数信息与第一操作事件中的输入字符匹配。
在一些实施例中,在上述S101之前,在具体实施时,还可以包括:
获取存储源代码的代码文件;
判断代码文件中是否存在配置参数信息,所述配置参数信息包括配置参数名称;
若是,将代码文件中的配置参数信息存储在预设数据库中;
根据代码文件的存储路径、配置参数名称创建代码文件的索引信息。
在一些实施例中,上述配置参数信息可以为Spring Boot配置参数信息,上述配置文件可以为Spring Boot配置文件。上述获取存储源代码的代码文件之前,可以先分析配置参数信息的注入机制,明确配置注入的关键或核心技术元素,所述关键技术元素可以包括注解等,如:注解@ConfigurationProperties等,本说明书对此不作具体限定。或可以建立关键技术元素与配置参数信息的对应关系,以便后续可以基于关键技术元素与配置参数信息的对应关系,查找关键技术元素对应的配置参数信息。然后,可以基于IDE提供的代码文件扫描机制,在Java代码工程打开时,扫描获取存储源代码的代码文件(获取的代码文件可以为多个)。然后,可以利用IDE读取每个代码文件中的关键技术元素,分析每个代码文件中是否包含或存在对应的配置参数信息(即可以根据关键技术元素与配置参数信息的对应关系,确定代码文件中是否存在对应的配置参数信息)。如果代码文件中存在配置参数信息,可以将该配置参数信息存储在预设数据库中,并根据代码文件中的配置参数信息在预设数据库中的存储路径、配置参数名称创建代码文件的索引信息。通过索引信息可以快速定位存储在预设数据库中的配置参数信息,同时还可以定位代码文件,提高配置参数信息的获取效率。其中,配置参数信息可以包括但不限于:配置参数名称(这里是指配置参数的完整名称)、配置参数的类型、默认属性值以及配置参数对应的配置类。预设数据库可以为IDE内存。配置参数信息可以以键值对的形式存储或加载在IDE内存中,可以将配置参数名作为内存键,将其他信息(如:配置参数的类型、默认属性值以及配置参数对应的配置类)作为内存值。通过将配置参数以键值对的形式存储在IDE内存中,可以提高读取性能,能够准确快速地依据键来查找和读取对应的值。配置参数信息还可以是不同数据源的配置参数信息,不同数据源如:DBCP数据源、第三方Durid数据源以及自定义扩展数据源,这三种数据源需要的配置参数名称不同、配置参数类型和个数可以不同,可以将不同数据源的配置参数信息以键值对的形式存储在IDE内存中,从而可以满足不同的应用需求。
在一些实施例中,上述S101中的确定是否存在第一目标配置参数信息,所述第一目标配置参数信息与第一操作事件中的输入字符匹配,在具体实施时,可以包括:
根据索引信息,在预设数据库中搜索配置参数信息;
判断搜索的配置参数信息是否与输入字符匹配;
若是,确定存在与输入字符匹配的第一目标配置参数信息。
在一些实施例中,在用户对配置文件有第一操作时,IDE可以响应用户对配置文件的第一操作事件,读取第一操作事件中用户输入的字符(即输入字符),再利用创建好的索引信息检索或搜索已经加载到预设数据库中的配置参数信息(或搜索配置参数键值对),判断搜索的配置参数信息否与输入字符匹配,如果搜索的配置参数信息与输入字符匹配,则表示预设数据库中存在与输入字符匹配的第一目标配置参数信息。其中,第一操作事件可以为编辑事件。当用户打开Java EE工程进行配置文件编辑时,会输入字符,IDE会实时读取用户的输入字符,即响应用户对配置文件的第一操作事件。输入字符可以有对应的字符串匹配逻辑,可以根据该字符串匹配逻辑判断是否存在与输入字符匹配的第一目标配置参数信息。字符串匹配逻辑可以根据实际需求设定,本说明书对此不作具体限定。通过确定是否存在第一目标配置参数信息,以便后续能够基于第一目标配置参数信息实现对用户输入字符的自动补全,进而实现配置参数信息的精准检索。
需要说明的是,在本说明书实施例中,可能提及某些软件、组件、模型等业界己有方案,应当将它们认为是示范性的,其目的仅仅是为了说明本申请技术方案实施中的可行性,但并不意味着申请人已经或者必然用到了该方案。
S102:若是,响应用户对第一目标配置参数信息的第二操作事件,按照配置文件的预设格式将第一目标配置参数信息转换为具有预设格式的目标字符串,所述第二操作事件不同于所述第一操作事件。
在一些实施例中,在确定存在第一目标配置参数信息之后,在具体实施时,还可以包括:
在可视化弹窗中展示第一目标配置参数信息中的第一目标配置参数名称;
相应地,上述S102中的响应用户对第一目标配置参数信息的第二操作事件,按照配置文件的预设格式将第一目标配置参数信息转换为具有预设格式的目标字符串,在具体实施时,可以包括:
响应用户对第一目标配置参数名称的第二操作事件,按照配置文件的预设格式将第一目标配置参数名称转换为具有预设格式的目标字符串。
在一些实施例中,如果存在第一目标配置参数信息,可以将第一目标配置参数信息中的第一目标配置参数名称展示在可视化弹窗中,可视化弹窗可以预先基于IDE绘制得到。通过将第一目标配置参数名称展示在可视化弹窗中,可以方便用户能够及时查看并进行相应的点击操作。可视化弹窗中也可以设置专门的阅读区和点击区,阅读区可以方便用户及时查看相关的配置参数信息,点击区可以供用户进行点击操作,以使IDE能及时响应用户的点击操作。
在一些实施例中,存在的第一目标配置参数信息可以为多个,还可以按照各第一目标配置参数信息中的第一目标配置参数名称,对第一目标配置参数信息进行排序(如:可以根据名称长短进行排序,名称短的排在前面,名称长的排在后面等,本说明书对此不作具体限定),再展示排序后的第一目标配置参数名称,以便于用户查阅。
在一些实施例中,用户可以双击或选中展示在可视化弹窗中的第一目标配置参数名称,然后IDE会响应用户对第一目标配置参数名称的第二操作事件,按照配置文件的预设格式将第一目标配置参数名称转换为具有预设格式的目标字符串。其中,第二操作事件可以为点击事件中的双击事件,不同于第一操作事件。配置文件的预设格式可以包括但不限于:properties格式、YAML格式、XML格式等,本说明书对此不作具体限定。通过将第一目标配置参数名称转换为具有预设格式的目标字符串,可以为后续实现配置参数信息的精准检索奠定基础。
S103:根据目标字符串覆盖输入字符,以根据覆盖后的目标字符串确定与所述目标字符串匹配的第二目标配置参数信息。
在一些实施例中,在将第一目标配置参数名称转换为具有预设格式的目标字符串后,可以基于目标字符串覆盖输入字符,即可以覆盖用户已输入的关键字,实现配置参数信息的自动化填充,减少手工逐个字符输入或复制的操作成本。在输入字符被填充或被覆盖后,可以基于覆盖后的目标字符串实现配置参数信息的精准检索,从而可以准确快速地获取用户所需的配置参数信息,无需人工判断搜索结果,降低人工判断的成本。
在一些实施例中,上述S103中的根据覆盖后的目标字符串确定与所述目标字符串匹配的第二目标配置参数信息,在具体实施时,可以包括:
根据覆盖后的目标字符串,匹配目标字符串对应的索引信息;
根据目标字符串对应的索引信息,从预设数据库中搜索与目标字符串匹配的第二目标配置参数信息。
在一些实施例中,可以基于覆盖后的目标字符串,匹配目标字符串对应的索引信息,再根据目标字符串对应的索引信息,从预设数据库中精准地搜索与目标字符串匹配的第二目标配置参数信息。通过利用索引信息进行搜索,可以提高第二目标配置参数信息的获取效率。
S104:将第二目标配置参数信息配置在所述配置文件中。
在一些实施例中,IDE可以自动将精准搜索到的第二目标配置参数配置或复制或同步到配置文件中,从而可以提高配置效率和准确率,降低手工复制的成本。通过将第二目标配置参数信息配置到配置文件中,可以使用户能够更加方便快捷地使用配置参数信息,降低配置参数的使用成本和复杂度。同时,将第二目标配置参数信息配置到配置文件中还可以实现不同环境下的配置参数信息的运行,不同环境如:开发、测试、生产等环境。其中,配置文件可以是一种存储应用程序配置参数信息的文件,它可以包含应用程序所需要的各种配置参数信息(即一个配置文件中可以包括多种配置参数信息)、选项和设置等。配置文件可以共享给多个用户或多个应用程序使用,从而降低编写重复代码的工作量,同时,配置文件具有较高的安全性,可以防止配置文件中的配置参数信息被恶意利用或修改。
在一些实施例中,上述S104之后,在具体实施时,还可以包括:
在可视化弹窗中展示配置第二目标配置参数信息后的配置文件;
响应用户对配置文件的悬停事件,根据配置文件的预设格式解析悬停事件中悬停位置处的配置参数名称;
根据解析后的配置参数名称,匹配解析后的配置参数名称对应的索引信息;
根据解析后的配置参数名称对应的索引信息,从预设数据库中搜索与解析后的配置参数名称匹配的配置类;
在可视化弹窗中展示配置类。
在一些实施例中,上述在可视化弹窗中展示配置类之后,在具体实施时,可以包括:
响应用户对配置类的第三操作事件,确定配置类对应的索引信息;
根据所述索引信息中的代码文件的存储路径,获取配置类对应的代码文件,以在可视化弹窗中展示代码文件中的配置类源码。
在一些实施例中,在将第一目标配置参数信息配置到配置文件后,可以将该配置文件展示在可视化弹窗中。用户在查看可视化弹窗中的配置文件时,用户光标可以在配置文件悬停(可以设置用户光标在配置文件的停留时间,如果监测的停留时间大于时间阈值,则可以认为用户光标在配置文件上发生悬停)。IDE可以响应用户对配置文件的悬停事件,悬停事件中可以有用户光标当前悬停的位置或悬停所在行,可以根据配置文件的预设格式解析悬停位置处的配置参数名称,再根据解析后的配置参数名称,匹配解析后的配置参数名称对应的索引信息,从而可以基于该索引信息,准确快速地从预设数据库中搜索与解析后的配置参数名称匹配的配置类,最终可以将搜索到的配置类展示在可视化弹窗中。
在一些实施例中,用户可以单击在可视化弹窗中展示的配置类,IDE可以响应用户对配置类的第三操作事件,确定配置类对应的索引信息,从而根据该索引信息中的代码文件的存储路径,准确、快速地获取该配置类对应的代码文件,并打开配置类对应的代码文件,在可视化弹窗中展示配置类对应的代码文件中的配置类源码。其中,第三操作事件也可以为点击事件中的单击事件。通过响应用户对对配置类的第三操作事件,在可视化弹窗中展示代码文件中的配置类源码,可以支持用户深入阅读配置类源码,复核配置逻辑是否符合预期等。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。具体的可以参照前述相关处理相关实施例的描述,在此不做一一赘述。
上述对本法进行说明,然而值得注意的是,该具体实施例仅是为了更好地说明本申请,并对说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
下面结合一个具体实施例对上述方法进行说明,然而值得注意的是,该具体实施例仅是为了更好地说明本申请,并不构成对本申请的不当限定。
在具体实施前,可以建立关键技术元素与配置参数信息的对应关系。在Java代码工程打开时,基于IDE提供的代码文件扫描机制扫描获取代码文件,利用IDE读取每个代码文件中的关键技术元素,根据关键技术元素与配置参数信息的对应关系,判断每个代码文件中是否存在配置参数信息。如果代码文件中存在配置参数信息,可以将该配置参数信息存储在预设数据库中,并根据代码文件中的配置参数信息在预设数据库中的存储路径、配置参数名称创建代码文件的索引信息。
在具体实施时,当用户打开Java EE工程进行配置文件编辑时,会输入字符,IDE会实时读取用户的输入字符,根据创建的索引信息从预设数据库中搜索配置参数信息。再判断搜索的配置参数信息是否与输入字符匹配,如果配置参数信息与输入字符匹配,可以确定存在与输入字符匹配的第一目标配置参数信息,可以将第一目标配置参数信息中的第一目标配置参数名称展示在可视化弹窗中。当用户双击或选择可视化弹窗中的第一目标配置参数名称时,可以根据配置文件的预设格式将第一目标配置参数名称转换为具有预设格式的目标字符串,再利用目标字符串覆盖输入字符,从而可以基于覆盖后的目标字符串实现配置参数的精准搜索。即,可以根据覆盖后的目标字符串确定与目标字符串匹配的第二目标配置参数信息。最后,可以将第二目标配置参数信息配置在配置文件中,在可视化弹窗中展示该配置文件。当用户光标在该配置文件悬停时,可以根据配置文件的预设格式解析悬停所在行的配置参数名称,从而可以基于解析后的配置参数名称匹配对应的索引信息,根据对应的索引信息搜索与解析后的配置参数名称匹配的配置类,在可视化弹窗中展示该配置类。如果用户单击配置类时,可以确定配置类对应的索引信息,根据该索引信息中的代码文件的存储路径,获取配置类对应的代码文件,以在可视化弹窗中展示代码文件中的配置类源码,从而满足用户深入阅读的需求。
通过上述方法,可以解决配置参数使用成本高、检索难的问题,可以实现用户输入字符的自动补全、配置参数的精确检索,同时还可以实现配置参数信息、配置文件的可视化,支持用户操作,根据用户操作情况,满足用户的不同需求。
在一个具体实施场景中,配置参数可以为Spring Boot配置参数,Spring Boot配置参数的处理过程可以如下所示:
1、分析Spring Boot配置参数注入机制,明确配置注入的核心技术元素,主要通过自动配置注解@ConfigurationProperties,或建立Spring Boot配置参数和核心技术元素的对应关系;
2、在Java代码工程打开时,基于IDE提供的代码文件扫描机制,获取Java代码工程中的代码文件;
3、读取每个Java代码文件的注解等核心技术元素,根据代码文件中的核心技术元素分析每个代码文件是否包含或存在SpringBoot配置参数;
4、在确定代码文件中存在配置参数信息(包括:配置参数的完整名称、参数的类型、默认属性值以及对应的配置类)时,将配置参数的完整名称作为键、将参数的类型、默认属性值以及对应的配置类作为值,以键值对的形式保存在内存中,根据配置参数的完成名称、代码文件中的配置参数存储路径创建代码文件的索引信息;
5、当用户打开JavaEE工程配置文件进行编辑时,根据索引信息搜索已经加载到IDE内存的配置参数键值对,基于IDE实时读取用户输入字符,判断是否存在与输入字符匹配的配置参数键值对;
6、在存在匹配的配置参数键值对时,可以在可视化弹窗中展示配置参数的名称以及归属的配置类名称;
7、当用户双击或选中弹窗中的配置参数的名称后,可以读取用户在第5步编辑的配置文件光标输入处。根据配置文件的预设格式,将配置参数的名称转换为具有该预设格式的目标字符串,自动在光标输入处写入目标字符串,覆盖用户已经输入的字符,实现配置参数信息自动化填充;
8、当用户光标在配置文件上悬停时,确定悬停位置或悬停所在行,根据配置文件格式解析悬停位置处或悬停所在行的配置参数名称,以根据配置参数名称匹配对应的索引信息,根据索引信息检索与配置参数名称匹配的配置类,在可视化弹窗中展示配置类;当用户点击配置类时,根据配置类匹配对应的索引信息,根据索引信息中的存储路径找到并打开配置类对应的代码文件,在可视化弹窗中展示代码文件中的配置类源码,以供用户深入阅读,复核配合逻辑是否符合预期等。
上述方法基于集成开发环境文件编辑能力进行深度定制,依托Spring Boot框架具备的配置参数注入机制,包括识别自动装配配置类注解@ConfigurationProperties等等。在JavaEE工程通过IDE打开时,通过maven等依赖管理工具完成代码工程的解析和索引,在此基础上读取代码工程文件以及依赖包,识别Spring Boot原生、第三方组件引入以及自定义扩展的配置参数名称、配置参数的类型、默认属性值以及对应的配置类,结合代码工程的实际依赖包情况进行精确加载,加载以上内容到IDE本地内存。当用户在配置文件中进行编辑时,根据输入字符实时检索已加载的配置参数键值对,可以通过弹出的浮窗(可视化弹窗中)展示相关配置参数列表。支持用户通过光标进行上下切换配置参数信息;当用户回车确认后,在当前输入处补全生成完整的配置参数名称;可以通过弹出的浮窗展示定义参数的配置类信息,支持点击跳转。
可以有效解决Spring Boot配置参数的使用成本高、检索难的问题,支持原生的配置参数以及用户自定义配置的检索和自动补全。具有以下优点:
1、支持原生和自定义的配置参数检索。对于不同的应用场景,实现Spring Boot原生配置参数、第三方开源组件的配置参数以及用户自定义扩展的配置,符合Spring Boot配置注入的技术标准,结合代码工程的实际情况进行精确加载,支持用户输入关键字进行检索并提示。
2、实现配置参数名称的完整组合。Spring Boot配置参数通常包含配置前缀等多层关系,通过组合前缀+变量名形成完整的配置参数名称,支持用户一键补全参数的完整信息。
3、支持properties和YAML两个格式的配置文件。
虽然本说明书提供了如下述实施例或附图2所示的方法操作步骤或装置结构,但基于常规或者无需创造性的劳动在所述方法或装置中可以包括更多或者部分合并后更少的操作步骤或模块单元。在逻辑性上不存在必要因果关系的步骤或结构中,这些步骤的执行顺序或装置的模块结构不限于本说明书实施例或附图所示的执行顺序或模块结构。所述的方法或模块结构的在实际中的装置、服务器或终端产品应用时,可以按照实施例或者附图所示的方法或模块结构进行顺序执行或者并行执行(例如并行处理器或者多线程处理的环境、甚至包括分布式处理、服务器集群的实施环境)。基于上述配置参数的处理方法,本说明书实施例还提出一种配置参数的处理装置的实施例。如图2所示,所述装置具体可以包括以下模块:
第一响应模块201,可以用于响应用户对配置文件的第一操作事件,确定是否存在第一目标配置参数信息,所述第一目标配置参数信息与第一操作事件中的输入字符匹配;
第二响应模块202,可以用于若是,响应用户对第一目标配置参数信息的第二操作事件,按照配置文件的预设格式将第一目标配置参数信息转换为具有预设格式的目标字符串,所述第二操作事件不同于所述第一操作事件;
覆盖模块203,可以用于根据目标字符串覆盖输入字符,以根据覆盖后的目标字符串确定与所述目标字符串匹配的第二目标配置参数信息;
配置模块204,可以用于将第二目标配置参数配置在所述配置文件中。
在一个实施例中,上述第一响应模块201之前具体还可以用于获取存储源代码的代码文件;判断代码文件中是否存在配置参数信息,所述配置参数信息包括配置参数名称;若是,将代码文件中的配置参数信息存储在预设数据库中;根据代码文件的存储路径、配置参数名称创建代码文件的索引信息。
在一个实施例中,上述第一响应模块201具体可以用于根据索引信息,在预设数据库中搜索配置参数信息;判断搜索的配置参数信息是否与输入字符匹配;若是,确定存在与输入字符匹配的第一目标配置参数信息。
在一个实施例中,上述第一响应模块201之后具体还可以用于在可视化弹窗中展示第一目标配置参数信息中的第一目标配置参数名称;相应地,上述第二响应模块202具体可以用于响应用户对第一目标配置参数名称的第二操作事件,按照配置文件的预设格式将第一目标配置参数名称转换为具有预设格式的目标字符串。
在一些实施例中,上述覆盖模块203具体可以用于根据覆盖后的目标字符串,匹配目标字符串对应的索引信息;根据目标字符串对应的索引信息,从预设数据库中搜索与目标字符串匹配的第二目标配置参数信息。
在一些实施例中,上述配置模块204之后具体还可以用于在可视化弹窗中展示配置第二目标配置参数信息后的配置文件;响应用户对配置文件的悬停事件,根据配置文件的预设格式解析悬停事件中悬停位置处的配置参数名称;根据解析后的配置参数名称,匹配解析后的配置参数名称对应的索引信息;根据解析后的配置参数名称对应的索引信息,从预设数据库中搜索与解析后的配置参数名称匹配的配置类;在可视化弹窗中展示配置类。
在一个实施例中,上述配置模块204之后具体还可以用于响应用户对配置类的第三操作事件,确定配置类对应的索引信息;根据所述索引信息中的代码文件的存储路径,获取配置类对应的代码文件,以在可视化弹窗中展示代码文件中的配置类源码。
由上可见,基于本说明书实施例提供的一种配置参数的处理装置,可以实现配置参数的精准高效检索、自动补全,支持用户快速链接到配置参数对应的配置类,实现用户在配置文件便捷使用配置参数,降低使用成本和复杂度,提升研发体验。
本说明书实施例还提供了一种基于上述配置参数的处理方法的电子设备,包括处理器以及用于存储处理器可执行程序/指令的存储器,所述处理器具体实施时可以根据程序/指令执行以下步骤:响应用户对配置文件的第一操作事件,确定是否存在第一目标配置参数信息,所述第一目标配置参数信息与第一操作事件中的输入字符匹配;若是,响应用户对第一目标配置参数信息的第二操作事件,按照配置文件的预设格式将第一目标配置参数信息转换为具有预设格式的目标字符串,所述第二操作事件不同于所述第一操作事件;根据目标字符串覆盖输入字符,以根据覆盖后的目标字符串确定与所述目标字符串匹配的第二目标配置参数信息;将第二目标配置参数信息配置在所述配置文件中。
为了能够更加准确地完成上述指令,参阅图3所示,本说明书实施例还提供了另一种具体的电子设备,其中,所述电子设备包括网络通信端口301、处理器302以及存储器303,上述结构通过内部线缆相连,以便各个结构可以进行具体的数据交互。
其中,所述网络通信端口301,具体可以用于响应用户对配置文件的第一操作事件,确定是否存在第一目标配置参数信息,所述第一目标配置参数信息与第一操作事件中的输入字符匹配;
所述处理器302,具体可以用于若是,响应用户对第一目标配置参数信息的第二操作事件,按照配置文件的预设格式将第一目标配置参数信息转换为具有预设格式的目标字符串,所述第二操作事件不同于所述第一操作事件;根据目标字符串覆盖输入字符,以根据覆盖后的目标字符串确定与所述目标字符串匹配的第二目标配置参数信息;将第二目标配置参数信息配置在所述配置文件中;
所述存储器303,具体可以用于存储相应的指令程序。
在本实施例中,所述网络通信端口301可以是与不同的通信协议进行绑定,从而可以发送或接收不同数据的虚拟端口。例如,所述网络通信端口可以是负责进行web数据通信的端口,也可以是负责进行FTP数据通信的端口,还可以是负责进行邮件数据通信的端口。此外,所述网络通信端口还可以是实体的通信接口或者通信芯片。例如,其可以为无线移动网络通信芯片,如GSM、CDMA等;其还可以为Wifi芯片;其还可以为蓝牙芯片。
在本实施例中,所述处理器302可以按任何适当的方式实现。例如,处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。本说明书并不作限定。
在本实施例中,所述存储器303可以包括多个层次,在数字系统中,只要能保存二进制数据的都可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也叫存储器,如RAM、FIFO等;在系统中,具有实物形式的存储设备也叫存储器,如内存条、TF卡等。
本说明书实施例还提供了一种基于上种配置参数的处理方法的计算机存储介质,所述计算机存储介质存储有计算机程序/指令,在所述计算机程序/指令被执行时实现:响应用户对配置文件的第一操作事件,确定是否存在第一目标配置参数信息,所述第一目标配置参数信息与第一操作事件中的输入字符匹配;若是,响应用户对第一目标配置参数信息的第二操作事件,按照配置文件的预设格式将第一目标配置参数信息转换为具有预设格式的目标字符串,所述第二操作事件不同于所述第一操作事件;根据目标字符串覆盖输入字符,以根据覆盖后的目标字符串确定与所述目标字符串匹配的第二目标配置参数信息;将第二目标配置参数信息配置在所述配置文件中。
在本实施例中,上述存储介质包括但不限于随机存取存储器(Random AccessMemory,RAM)、只读存储器(Read-Only Memory,ROM)、缓存(Cache)、硬盘(Hard DiskDrive,HDD)或者存储卡(Memory Card)。所述存储器可以用于存储计算机程序指令。网络通信单元可以是依照通信协议规定的标准设置的,用于进行网络连接通信的接口。
在本实施例中,该计算机存储介质存储的程序指令具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
本说明书实施例还提供了一种基于上述配置参数的处理方法的计算机程序产品,包括存储了计算机程序/指令的非瞬时性计算机可读存储介质,所述计算机程序/指令可操作来使计算机执行以下步骤:响应用户对配置文件的第一操作事件,确定是否存在第一目标配置参数信息,所述第一目标配置参数信息与第一操作事件中的输入字符匹配;若是,响应用户对第一目标配置参数信息的第二操作事件,按照配置文件的预设格式将第一目标配置参数信息转换为具有预设格式的目标字符串,所述第二操作事件不同于所述第一操作事件;根据目标字符串覆盖输入字符,以根据覆盖后的目标字符串确定与所述目标字符串匹配的第二目标配置参数信息;将第二目标配置参数信息配置在所述配置文件中。
本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构、类等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
通过以上的实施例的描述可知,本领域的技术人员可以清楚地了解到本说明书可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书的技术方案本质上可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,移动终端,服务器,或者网络设备等)执行本说明书各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。本说明书可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
虽然通过实施例描绘了本说明书,本领域普通技术人员知道,本说明书有许多变形而不脱离本说明书的精神,希望所附的权利要求包括这些变形而不脱离本说明书的精神。

Claims (11)

1.一种配置参数的处理方法,其特征在于,包括:
响应用户对配置文件的第一操作事件,确定是否存在第一目标配置参数信息,所述第一目标配置参数信息与第一操作事件中的输入字符匹配;
若是,响应用户对第一目标配置参数信息的第二操作事件,按照配置文件的预设格式将第一目标配置参数信息转换为具有预设格式的目标字符串,所述第二操作事件不同于所述第一操作事件;
根据目标字符串覆盖输入字符,以根据覆盖后的目标字符串确定与所述目标字符串匹配的第二目标配置参数信息;
将第二目标配置参数信息配置在所述配置文件中。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取存储源代码的代码文件;
判断代码文件中是否存在配置参数信息,所述配置参数信息包括配置参数名称;
若是,将代码文件中的配置参数信息存储在预设数据库中;
根据代码文件的存储路径、配置参数名称创建代码文件的索引信息。
3.根据权利要求1所述的方法,其特征在于,所述确定是否存在第一目标配置参数信息,所述第一目标配置参数信息与第一操作事件中的输入字符匹配,包括:
根据索引信息,在预设数据库中搜索配置参数信息;
判断搜索的配置参数信息是否与输入字符匹配;
若是,确定存在与输入字符匹配的第一目标配置参数信息。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在可视化弹窗中展示第一目标配置参数信息中的第一目标配置参数名称;
相应地,所述响应用户对第一目标配置参数信息的第二操作事件,按照配置文件的预设格式将第一目标配置参数信息转换为具有预设格式的目标字符串,包括:
响应用户对第一目标配置参数名称的第二操作事件,按照配置文件的预设格式将第一目标配置参数名称转换为具有预设格式的目标字符串。
5.根据权利要求1所述的方法,其特征在于,所述根据覆盖后的目标字符串确定与所述目标字符串匹配的第二目标配置参数信息,包括:
根据覆盖后的目标字符串,匹配目标字符串对应的索引信息;
根据目标字符串对应的索引信息,从预设数据库中搜索与目标字符串匹配的第二目标配置参数信息。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在可视化弹窗中展示配置第二目标配置参数信息后的配置文件;
响应用户对配置文件的悬停事件,根据配置文件的预设格式解析悬停事件中悬停位置处的配置参数名称;
根据解析后的配置参数名称,匹配解析后的配置参数名称对应的索引信息;
根据解析后的配置参数名称对应的索引信息,从预设数据库中搜索与解析后的配置参数名称匹配的配置类;
在可视化弹窗中展示配置类。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
响应用户对配置类的第三操作事件,确定配置类对应的索引信息;
根据所述索引信息中的代码文件的存储路径,获取配置类对应的代码文件,以在可视化弹窗中展示代码文件中的配置类源码。
8.一种配置参数的处理装置,其特征在于,包括:
第一响应模块,用于响应用户对配置文件的第一操作事件,确定是否存在第一目标配置参数信息,所述第一目标配置参数信息与第一操作事件中的输入字符匹配;
第二响应模块,用于若是,响应用户对第一目标配置参数信息的第二操作事件,按照配置文件的预设格式将第一目标配置参数信息转换为具有预设格式的目标字符串,所述第二操作事件不同于所述第一操作事件;
覆盖模块,用于根据目标字符串覆盖输入字符,以根据覆盖后的目标字符串确定与所述目标字符串匹配的第二目标配置参数信息;
配置模块,用于将第二目标配置参数配置在所述配置文件中。
9.一种计算机设备,包括存储器、处理器及存储在存储器上的计算机程序/指令,其特征在于,所述处理器执行所述计算程序/指令以实现权利要求1至7任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序/指令,其特征在于,所述计算机程序/指令被处理器执行时实现权利要求1至7任一项所述方法的步骤。
11.一种计算机程序产品,包含有计算机程序/指令,其特征在于,所述计算机程序/指令被处理器执行时实现权利要求1至7任一项所述方法的步骤。
CN202410481327.9A 2024-04-22 一种配置参数的处理方法和装置 Pending CN118295694A (zh)

Publications (1)

Publication Number Publication Date
CN118295694A true CN118295694A (zh) 2024-07-05

Family

ID=

Similar Documents

Publication Publication Date Title
US11620117B2 (en) Systems and methods for code clustering analysis and transformation
US11188319B2 (en) Systems and methods for entry point-based code analysis and transformation
US9075918B1 (en) System and method for creating change-resilient scripts
CN109189469B (zh) 基于反射的安卓应用微服务化方法及系统
CN109783388B (zh) Ui自动化测试方法、装置及电子设备
US20240045850A1 (en) Systems and methods for database orientation transformation
US20190243641A1 (en) Systems and methods for code analysis heat map interfaces
CN109189374B (zh) 基于对象引用链的对象构造代码生成方法及系统
CN109240666B (zh) 基于调用栈和依赖路径的函数调用代码生成方法及系统
JP4001286B2 (ja) プログラム保守支援装置、プログラム保守支援方法、およびプログラム
US20160188584A1 (en) System for tracking and displaying changes in a set of related electronic documents.
El-Ramly et al. Mining system-user interaction traces for use case models
CN113051514A (zh) 元素的定位方法、装置、电子设备及存储介质
US20120311538A1 (en) Capturing Rich Actionable Feedback on Working Software
EP2951680B1 (en) Acquiring identification of an application lifecycle management entity associated with similar code
CN113626017A (zh) 异构程序的分析方法、装置、计算机设备和存储介质
CN106815010B (zh) 一种操作数据库的方法及装置
CN111460235A (zh) 图谱数据的处理方法、装置、设备及存储介质
CN116561161A (zh) 一种基于mysql数据库行为的数据回溯方法、系统及存储介质
CN118295694A (zh) 一种配置参数的处理方法和装置
CN113179183B (zh) 服务开关状态控制装置及方法
CN109101429A (zh) 一种机顶盒的浏览器页面调试的方法及装置
CN111221610B (zh) 一种页面元素采集方法和装置
CN113805861A (zh) 基于机器学习的代码生成方法、代码编辑系统及存储介质
US20070124686A1 (en) Locating graphical elements for an object

Legal Events

Date Code Title Description
PB01 Publication