一种基于JSON的可视化配置文件管理方法、设备及介质
文献发布时间:2024-04-18 20:00:50
技术领域
本申请涉及计算机软件开发领域,具体涉及一种基于JSON的可视化配置文件管理方法、设备及介质。
背景技术
在软件开发过程中,往往需要配置文件来存储应用程序、系统或服务的相关配置信息,将应用程序的各种参数、选项和相关设置定义在配置文件中,以便在编译和运行应用程序时进行参数的读取和使用,同时,在根据需求调试应用程序时,通过修改配置文件的配置信息,便能调整应用程序的参数,不需要修改源代码。
然而传统的配置文件通常基于文本形式存在,如INI格式、XML格式、YAML格式等,这些格式的文本在编辑和维护过程中存在易出错、可读性差、难以追踪变更等问题。
发明内容
为了解决上述问题,本申请提出了一种基于JSON的可视化配置文件管理方法,包括:
根据应用程序的实际需求,确定配置文件的数据结构,并根据所述数据结构生成所述配置文件对应的模板,所述模板为JSON格式;
根据所述配置文件对应的模板,生成默认配置文件,将所述默认配置文件保存至本地,并提供所述默认配置文件内的数据接口,以便处理容错问题;
基于所述默认配置文件,根据所述应用程序的业务逻辑,编写业务配置文件,将所述业务配置文件保存至所述应用程序的相关目录下;
基于所述数据接口和JSON可视化工具,渲染所述数据结构的层级,对所述业务配置文件内的配置项进行可视化展示,生成可视化界面;
获取对所述配置项的用户操作需求,通过所述可视化界面执行相应操作,并根据所述数据结构内的约束条件对所述相应操作进行验证。
另一方面,本申请还提出基于JSON的可视化配置文件管理设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如:上述示例所述的基于JSON的可视化配置文件管理方法。
另一方面,本申请还提出了一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:上述示例所述的基于JSON的可视化配置文件管理方法。
通过本申请提出一种基于JSON的可视化配置文件管理方法能够带来如下
有益效果:
使用JSON格式描述配置文件,不仅易于阅读和编写,还可以灵活地表示复杂的数据结构,并且通过JSON可视化工具将配置文件内的配置项可视化的渲染出来,通过渲染出来的可视化界面对配置文件内的配置项进行修改等操作,从而达到配置修改更灵活、易管理、可读性强、扩展性强的效果,减轻维护人员的工作负担。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例中一种基于JSON的可视化配置文件管理方法的流程示意图;
图2为本申请实施例中一种基于JSON的可视化配置文件管理设备的示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本申请各实施例提供的技术方案。
如图1所示,本申请实施例提供一种基于JSON的可视化配置文件管理方法,包括:
S101:根据应用程序的实际需求,确定配置文件的数据结构,并根据所述数据结构生成所述配置文件对应的模板,所述模板为JSON格式。
在开发一个应用程序之前,需要做相应的开发准备工作,根据业务确定应用程序的实际需求,根据应用程序的实际需求确定配置信息,并基于JSON格式确定配置文件的数据结构。将配置信息通过数据结构在配置文件中表示出来。
例如,开发一个B2C模式的在线商城的应用程序,其中B2C模式为商家与消费者产生交易的经营模式,相关业务包括商家展示商品、消费者查看商品信息、消费者购买商品、查询订单信息等,根据上述相关业务确定应用程序的实际需求包括用户管理、商品管理、订单管理、支付管理等,从而确定配置文件中所需包含的配置信息,包括用户名、用户密码、商品名、商品种类、订单信息、支付账户信息等,根据配置信息确定JSON格式的配置文件的数据结构。
进一步地,在确定配置文件的数据结构之后,根据配置文件的数据结构和应用程序的实际需求,定义配置文件的模板的结构层级和相应的字段,并对每个字段添加相应的数据类型和约束条件,从而生成配置文件的模板。
在实施例中,根据数据结构,确定配置信息相应的字段,可以将字段定义为用户名user_ID、用户密码user_password、商品名product_name、商品种类product_category等,同时定义字段的数据类型(比如字符型、整数型、布尔型等),并在相应的字段上添加约束条件(比如必填约束、唯一约束、长度约束等),以便在在后续开发过程中对信息的维护。
其中,生成配置文件的模板之后,可将配置文件的模版转换成标准文档格式,以便于开发过程中对数据结构的查阅。
S102:根据所述配置文件对应的模板,生成默认配置文件,将所述默认配置文件保存至本地,并提供所述默认配置文件内的数据接口,以便处理容错问题。
具体地,在生成配置文件的模版之后,配置提供方根据配置文件的模版,生成默认配置文件,并做好默认配置文件的存储工作,可以将默认配置文件保存至本地,也可以保存至应用程序的根目录或应用程序的安装目录下,需要根据具体开发过程所使用的开发语言和框架来确定。
进一步地,生成的默认配置文件中包含数据接口以及管理接口,其中,数据接口包括数据库连接接口、缓存服务接口、文件存储接口、消息队列接口等,将数据接口对外提供,以使配置使用方调用相应的数据接口来对配置信息进行数据访问和交互的操作;管理接口包括配置文件的增加、删除、修改、版本控制的接口,将管理接口为供配置管理方提供,以使配置管理方对配置文件进行管理控制。
其中,为了增强数据访问的安全性,需要对接口做好数据鉴权工作,对数据接口和管理接口添加数据鉴权操作(比如设置用户访问凭据、发放接口密钥等),在调用配置文件内的接口时,先完成鉴权操作,进行下一步的数据访问和交互等操作,同时将所述默认配置文件内的数据接口进行缓存,以减少获取所述数据接口的请求次数。
S103:基于所述默认配置文件,根据所述应用程序的业务逻辑,编写业务配置文件,将所述业务配置文件保存至所述应用程序的相关目录下。
配置使用方基于默认配置文件,根据应用程序的具体业务逻辑,编写业务配置文件,并保存至应用程序的相关目录下,当业务配置文件因为错误配置而导致容错问题(比如软件崩溃、闪退等)时,使用默认配置文件,通过默认值设置、空对象兼容、异常处理等操作来处理容错问题。
具体地,在上述实施例中,确定了在线商城应用程序的相关业务,并确定在线商城应用程序的具体业务逻辑,比如用户的注册和登录、商品的浏览以及根据商品分类进行的搜索、商家和消费者的订单信息管理、消费者对商品的下单和支付等,根据在线商城应用程序的具体业务逻辑,编写业务配置文件。
更具体地,通过在线商城应用程序的底部标签页跳转界面的业务的配置信息来进行相关说明,设置底部标签页为一个数组对象,对象类型中包含ico(图标),uri(地址),name(标识符),type(标签页类型),title(名称),selected(是否默认选中),properties(扩展属性)等字段,其中,title字段可以使用新的层结构(比如包含语言包管理器、国际化配置文件的层结构),以实现在应用程序中支持多国语言,使应用程序更加国际化。应用程序根据ico的值加载本地图标或网络图标,将点击事件定义为打开指定uri,当selected为true时,确定当前的标签页默认选中,并通过type字段的属性使界面跳转到第三方应用程序界面或在线商城应用程序的原生界面。
S104:基于所述数据接口和JSON可视化工具,渲染所述数据结构的层级,对所述业务配置文件内的配置项进行可视化展示,生成可视化界面。
确定数据结构的层级,读取业务配置文件内的JSON数据,确定业务配置文件中的数据类型,按照层级使用渲染模版来渲染业务配置文件的配置信息将业务配置文件内的配置项进行可视化展示,生成可视化界面,同时基于数值范围以及数据种类,对所述配置项的数据类型进行校验,以防止出现所述配置信息错误。
具体地,通过上述实施例中在线商城应用程序的底部标签页跳转界面的配置信息进行相关说明,读取业务配置文件中底部标签页配置信息的JSON数据,按照层级使用渲染模版来渲染JSON数据,对于ico、name、uri等字段使用输入框渲染,对于type字段将其属性设置为radio,表示单选按钮,使用radio渲染,还包括一些其他的渲染模板,比如开关、多选框、列表等,将这些字段的配置信息可视化的展示出来,方便用户对配置信息的操作,在将这些字段的配置信息可视化的展示出来之后,基于数值范围以及数据种类(比如name的数据类型为字符串类型,设置数值范围为26个字符),对这些字段的的数据类型进行校验,以防止出现配置信息错误的现象。
S105:获取对所述配置项的用户操作需求,通过所述可视化界面执行相应操作,并根据所述数据结构内的约束条件对所述相应操作进行验证。
获取用户对配置项的操作需求,通过可视化界面对配置项的JSON数据进行相应操作,并根据数据结构内的约束条件对相应操作进行验证,验证成功后,进行相应操作,操作完成后,调用管理接口,将新的配置项的JSON数据上传至业务配置文件中,并且,在应用程序内设置数据更新检测接口,当应用程序运行时,通过数据更新检测接口,将初始业务配置文件的版本号与应用程序运行完成后的新业务配置文件的版本号进行比较,若相同,则仍使用初始业务配置文件,若不同,则使用新业务配置文件。
具体地,用户通过渲染完成后的底部标签页配置信息的可视化界面,对ico、name、uri、type等字段进行增删改的操作,配置文件在根据用户操作进行修改之前,根据配置文件内数据结构相应的约束条件进行用户操作的验证,若满足相应的约束条件,则进行用户相应操作完成,用户操作完成后,调用管理接口,将新的配置项的JSON数据上传至业务配置文件中。当界面跳转到新的界面时,通过调用数据更新检测接口,判断此时底部标签页的配置信息的版本号与初始保存的底部标签页的配置信息的版本号是否相同,若不同,表示有新的版本号,并使用此时底部标签页的配置信息,若相同,则仍使用初始保存的底部标签页的配置信息。
如图2所示,本申请实施例还提出了基于JSON的可视化配置文件管理设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如:上述任一实施例所述的基于JSON的可视化配置文件管理方法。
本申请实施例还提供了一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:上述任一实施例所述的基于JSON的可视化配置文件管理方法。
本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备和介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请实施例提供的设备和介质与方法是一一对应的,因此,设备和介质也具有与其对应的方法类似的有益技术效果,由于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述设备和介质的有益技术效果。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
- 一种防爆型无线充电松耦合变压器及无线充电装置
- 一种C型铁芯组合式旋转松耦合变压器
- 一种磁通变换式高频旋转松耦合变压器