[发明专利]SpringBoot框架多配置文件的合并方法及系统在审
申请号: | 202211224632.7 | 申请日: | 2022-10-09 |
公开(公告)号: | CN116089370A | 公开(公告)日: | 2023-05-09 |
发明(设计)人: | 韩晓龙;张海伦 | 申请(专利权)人: | 浪潮软件集团有限公司 |
主分类号: | G06F16/16 | 分类号: | G06F16/16;G06F16/13 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 潘悦梅 |
地址: | 250100 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | springboot 框架 配置文件 合并 方法 系统 | ||
1.一种SpringBoot框架多配置文件的合并方法,其特征在于,对于基于国产CPU和OS的SpringBoot框架,将所述SpringBoot框架的多个yml格式的配置文件进行合并,所述方法包括如下步骤:
定义树的节点数据结构,对于每个节点,key对应配置文件中冒号前的名称,value对应配置文件中冒号后的值,parent用于指向当前节点的上级节点;
对于每个配置文件,基于树的节点数据结构以及所述配置文件的缩进格式,解析所述配置文件构建一个于所述配置文件对应的树;
虚拟一个根节点作为虚拟根,将每个配置文件对应的树作为子树,将所述多个配置文件对应的子树添加至所述虚拟根下,得到一个总体树;
对于所述总体树,按照字母排序各层节点,得到总体配置树;
基于树的节点数据结构以及所述配置文件的缩进格式,解析所述总体配置树得到一个yml格式的合并文件,所述yml格式的合并文件作为多个配置文件的合并文件。
2.根据权利要求1所述的SpringBoot框架多配置文件的合并方法,其特征在于,基于树的节点数据结构以及所述配置文件的缩进格式,解析所述配置文件构建一个于所述配置文件对应的树,包括如下步骤:
逐行读取所述配置文件,依据配置文件的缩进格式,读取至冒号后有值的一行作为叶子节点;
逐行读取所述配置文件过程中,对于途径的行,将所述叶子节点的上一行作为上级节点,将所述上级节点作为当前上级节点,将所述当前上级节点的上一行作为当前上级节点的上级节点,依次对每个作为上级节点的行进行类推,直至没有上级节点,将没有上级节点的行作为根节点。
3.根据权利要求1所述的SpringBoot框架多配置文件的合并方法,其特征在于,将所述多个配置文件对应的子树添加至所述虚拟根下时,按照深度优先算法遍历各个子树,如果有同名节点则跳过并遍历下个节点,如果有同名叶子节点则说明有重复配置项,则进行适配处理;
所述适配处理包括先加载优先生效、后续配置项舍弃。
4.根据权利要求1所述的SpringBoot框架多配置文件的合并方法,其特征在于,基于树的节点数据结构以及所述配置文件的缩进格式,按照深度优先算法遍历虚拟根节点下的各节点以及下级节点,输出key值,每向下一层增加空格缩进直到叶子节点在冒号后输出value值,最终输出符合要求的yml文件。
5.一种SpringBoot框架多配置文件的合并系统,其特征在于,对于基于国产CPU和OS的SpringBoot框架,用于通过如权利要求1-4任一项所述的方法将所述SpringBoot框架的多个yml格式的配置文件进行合并,所述系统包括:
树结构定义模块,所述树结构定义模块用于定义树的节点数据结构,对于每个节点,key对应配置文件中冒号前的名称,value对应配置文件中冒号后的值,parent用于指向当前节点的上级节点;
子树构建模块,对于每个配置文件,所述子树构建模块用于基于树的节点数据结构以及所述配置文件的缩进格式,解析所述配置文件构建一个于所述配置文件对应的树;
子树合并模块,所述子树合并模块用于虚拟一个根节点作为虚拟根,将每个配置文件对应的树作为子树,将所述多个配置文件对应的子树添加至所述虚拟根下,得到一个总体树;
总体树配置模块,对于所述总体树,所述总体树配置模块用于按照字母排序各层节点,得到总体配置树;
合并文件构建模块,所述合并文件构建模块用于基于树的节点数据结构以及所述配置文件的缩进格式,解析所述总体配置树得到一个yml格式的合并文件,所述yml格式的合并文件作为多个配置文件的合并文件。
6.根据权利要求5所述的SpringBoot框架多配置文件的合并系统,其特征在于,所述子树构建模块用于执行:
逐行读取所述配置文件,依据配置文件的缩进格式,读取至冒号后有值的一行作为叶子节点;
逐行读取所述配置文件过程中,对于途径的行,将所述叶子节点的上一行作为上级节点,将所述上级节点作为当前上级节点,将所述当前上级节点的上一行作为当前上级节点的上级节点,依次对每个作为上级节点的行进行类推,直至没有上级节点,将没有上级节点的行作为根节点。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮软件集团有限公司,未经浪潮软件集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211224632.7/1.html,转载请声明来源钻瓜专利网。