一种项目配置管理方法、设备、产品及介质与流程
- 国知局
- 2024-07-31 22:44:59
本发明涉及软件开发,特别是涉及一种项目配置管理方法、设备、产品及介质。
背景技术:
1、随着云计算、大数据、人工智能等领域的技术突破,软件工程项目的规模和复杂性显著增长,对开发人员来说既是机遇也是挑战。
2、在项目开发阶段,开发人员经常面临对庞大复杂的项目框架进行细致的配置监控、管理和实时修改的任务,使得项目配置管理在软件开发生命周期中变得越来越关键。然而,传统的配置管理技术,例如使用全局变量、环境变量等控制代码内容和框架行为,通过读取变量值判断框架的配置内容,随着时间推移和项目复杂性的增加,逐渐暴露出交互性差、无法动态配置以及管理困难等一系列问题。
3、鉴于上述问题,如何解决当前的项目配置管理方式交互性差、无法动态配置且管理困难,是该领域技术人员亟待解决的问题。
技术实现思路
1、本发明的目的是提供一种项目配置管理方法、设备、产品及介质,以解决当前的项目配置管理方式交互性差、无法动态配置且管理困难的问题。
2、为解决上述技术问题,本发明提供一种项目配置管理方法,包括:
3、生成目标标记语言文件;其中,所述目标标记语言文件中记录工程项目所需的各配置模块的配置信息;
4、将所述目标标记语言文件中各所述配置模块的配置信息转换为目标形式,并将目标形式下的各配置信息存储至结构体中;
5、基于所述结构体设置对各所述配置模块的调用信息,并对所述工程项目进行编译;
6、当对所述工程项目存在配置管理需求时,修改所述目标标记语言文件中对应的所述配置模块的配置信息,以完成配置管理。
7、一方面,所述生成目标标记语言文件,包括:
8、确定所述工程项目所需的各所述配置模块,并确定各所述配置模块对应的配置信息;
9、定义所述目标标记语言文件的配置设置关键词;
10、基于所述配置设置关键词,将各所述配置模块及其对应的配置信息以键值对的方式记录在所述目标标记语言文件中,以生成所述目标标记语言文件。
11、另一方面,所述将各所述配置模块及其对应的配置信息以键值对的方式记录在所述目标标记语言文件中,包括:
12、确定所述配置模块的名称,并设置所述配置模块对应的配置信息的值;
13、以所述配置模块的名称附加对应的配置信息的值的固定格式生成键值对,并将键值对记录在所述目标标记语言文件中。
14、另一方面,所述将所述目标标记语言文件中各所述配置模块的配置信息转换为目标形式,包括:
15、获取目标标记语言文件解析生成库;
16、基于所述目标标记语言文件解析生成库,将所述目标标记语言文件中各键值对转换为目标形式。
17、另一方面,所述基于所述目标标记语言文件解析生成库,将所述目标标记语言文件中各键值对转换为目标形式,包括:
18、基于所述目标标记语言文件解析生成库中的目标形式获取函数,确定所述目标标记语言文件的位置;
19、搜寻所述目标标记语言文件中的所述配置设置关键词;
20、将所述配置设置关键词下的各键值对转换为目标形式。
21、另一方面,所述将目标形式下的各配置信息存储至结构体中,包括:
22、确定各所述配置模块对应的解析函数;
23、根据各所述解析函数解析对应的键值对,并将解析出的各项数据存入结构体对应的公共参量中。
24、另一方面,当所述配置模块具体包含日志打印模块、算子开发模块和功能调用模块时,所述根据各所述解析函数解析对应的键值对,并将解析出的各项数据存入结构体对应的公共参量中,包括:
25、基于最小日志级别获取函数,解析各键值对中名称为最小日志级别的值,并将最小日志级别的值存入所述结构体的最小日志级别公共参量中;
26、基于注销操作获取函数,解析各键值对中名称为操作符注销的值,并将操作符注销的值存入所述结构体的非注册操作符公共参量中;
27、基于分析器启动函数,解析各键值对中名称为分析器启动的值,并将分析器启动的值存入所述结构体的分析器启动公共参量中;
28、其中,最小日志级别的值和分析器启动的值以数字形式保存;操作符注销的值以字符串形式保存。
29、另一方面,所述基于所述结构体设置对各所述配置模块的调用信息,包括:
30、调用静态配置获取函数创建所述结构体的静态实例;
31、基于所述结构体的静态实例,确定各所述配置模块的调用信息。
32、另一方面,当所述配置模块具体包含日志打印模块、算子开发模块和功能调用模块时,所述基于所述结构体的静态实例,确定各所述配置模块的调用信息,包括:
33、基于所述结构体的静态实例中的最小日志级别变量,确定所述日志打印模块的级别和类别;
34、根据所述日志打印模块的级别和类别设置对所述日志打印模块的调用信息;
35、基于所述结构体的静态实例赋值无序字符串列表,以设置对所述算子开发模块的调用信息;
36、基于所述结构体的静态实例赋值启动值,以设置对功能调用模块的调用信息。
37、另一方面,所述当对所述工程项目存在配置管理需求时,修改所述目标标记语言文件中对应的所述配置模块的配置信息,包括:
38、当对所述工程项目存在配置管理需求时,确定配置管理需求对应的目标配置模块;
39、根据所述目标配置模块修改所述目标标记语言文件中对应键值对的值,以修改所述目标配置模块的配置信息。
40、另一方面,还包括:
41、监测所述工程项目的配置管理需求的变化情况;
42、根据所述配置管理需求的变化情况生成所述工程项目的开发日志。
43、另一方面,在所述监测所述工程项目的配置管理需求的变化情况之后,还包括:
44、根据所述配置管理需求的变化情况,判断目标配置模块的配置信息的修改次数是否超出阈值;
45、若是,则重新确定所述工程项目的所述配置管理需求。
46、为解决上述技术问题,本发明还提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现上述的项目配置管理方法的步骤。
47、为解决上述技术问题,本发明还提供一种项目配置管理设备,包括:
48、存储器,用于存储计算机程序;
49、处理器,用于执行所述计算机程序时实现上述的项目配置管理方法的步骤。
50、为解决上述技术问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的项目配置管理方法的步骤。
51、本发明所提供的项目配置管理方法,通过生成目标标记语言文件;其中,目标标记语言文件中记录工程项目所需的各配置模块的配置信息;将目标标记语言文件中各配置模块的配置信息转换为目标形式,并将目标形式下的各配置信息存储至结构体中;基于结构体设置对各配置模块的调用信息,并对工程项目进行编译;当对工程项目存在配置管理需求时,修改目标标记语言文件中对应的配置模块的配置信息,以完成配置管理。本发明的有益效果在于,采用了目标标记语言文件作为配置信息的存储格式,从而以一种结构化且易于理解的方式管理配置函数,不仅提高了配置文件的可读性,还使得配置的修改和更新变得简单快捷。另一方面,本方案允许对配置信息实时调整,当存在新的需求时,只需修改目标标记语言文件中对应的配置模块的配置信息即可实现配置调整,这极大地简化了开发流程,使得开发人员可以迅速地适应需求变更,无需经历复杂的编译和部署过程,从而显著降低了开发成本和时间。
52、另一方面,本发明具体通过确定工程所需的配置模块及其对应的配置信息,定义并基于配置设置关键词,将各配置模块及其对应的配置信息以键值对的方式记录在yaml文件中,实现了yaml文件的生成。确定配置模块的名称,并设置配置模块对应的配置信息的值;以配置模块的名称附加对应的配置信息的值的固定格式生成键值对,并将键值对记录在目标标记语言文件中,实现了配置模块及其对应配置信息的规范存储。基于yaml-cpp库中的目标形式获取函数getnode()确定yaml文件的位置,搜寻yaml文件中的配置设置关键词configsettings,并将配置设置关键词configsettings下的各个键值对以yaml::node的形式存储,也就是转换为node形式,从而供后续机器识别与调用。确定各配置模块对应的解析函数,通过解析函数对配置模块对应的键值对进行解析,并将解析出的各项数据存入结构体envconfig对应的公共参量中,以此实现了配置信息的合理存储。添加静态配置获取函数getstaticconfig()调用接口获得结构体envconfig,进而可以从结构体中envconfig获得各个配置模块的需求配置,确定各个模块的调用信息。当对工程项目存在配置管理需求时,确定配置管理需求对应的目标配置模块。只需要修改yaml文件中的目标配置模块对应键值对的值value,就可以直接实现目标配置模块的配置信息的修改,无需修改其他代码内容并重新编译,从而大大提升了开发和调试效率。为了更好地使开发人员掌握工程项目的开发情况,可具体监测工程项目的配置管理需求的变化情况;根据配置管理需求的变化情况生成工程项目的开发日志,以便于开发人员能够根据开发日志掌握工程项目的开发情况,或者在开发结束后根据开发日志对整个工程项目的开发过程进行梳理和优化。若目标配置模块的配置信息的修改次数超出阈值,则认为当前工程项目的配置管理需求并不合理,为避免无意义的人力和时间消耗,需要重新确定工程项目的配置管理需求。
53、此外,本发明还提供了一种项目配置管理设备、产品及介质,效果同上。
本文地址:https://www.jishuxx.com/zhuanli/20240730/194433.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。