[发明专利]一种支持跨语言跨平台的运维配置管理方法及系统有效
申请号: | 202110191425.5 | 申请日: | 2021-02-19 |
公开(公告)号: | CN112835591B | 公开(公告)日: | 2023-07-28 |
发明(设计)人: | 何红;张振;杨雨虹;韩晓宁;白正;王君 | 申请(专利权)人: | 南京莱斯网信技术研究院有限公司 |
主分类号: | G06F8/60 | 分类号: | G06F8/60;G06F8/65;G06F11/30 |
代理公司: | 江苏圣典律师事务所 32237 | 代理人: | 于瀚文;胡建华 |
地址: | 210000 江苏省南京*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 支持 语言 平台 配置管理 方法 系统 | ||
1.一种支持跨语言跨平台的运维配置管理方法,其特征在于,包括如下步骤:
步骤1,对系统中由不同程序语言编写并且部署在不同平台的各个软件模块的配置文件中的配置信息进行梳理汇总,抽取其配置信息的配置名称和配置值,将所有配置信息的配置名称和配置值以键、值对的形式存储在zookeeper中;
步骤2,对存储在zookeeper上的配置信息进行树形结构展示和统一管理,根据运维需求对一个或两个以上配置信息的配置值进行修改;
步骤3,通过zkclient对步骤2中配置值发生变更的配置信息进行更新存储,将新的配置值存储到zookeeper中,并通过kafka报文的方式推送配置值的变更情况;
步骤4,接收配置信息变更情况的kafka报文,并将变更后的配置信息存储在模块自身的内存中,以共享内存的方式对外提供,供其他软件模块使用;同时,定时自动对系统各平台的各个软件模块的配置文件中的配置信息进行配置值的变更监测,监测是否有配置信息的配置值发生了变更,如果有配置信息的配置值发生了变更,则从共享内存中获取新的配置值,并通过awk将新的配置值自动更新到对应的配置文件中,实现新配置值的本地文件持久化,并控制软件模块进行动态加载或者重启,进而实现新配置值的即时生效和自动化运维。
2.根据权利要求1所述的方法,其特征在于,步骤1包括:
步骤1-1,对系统中由不同程序语言编写并且部署在不同平台的各个软件模块的配置文件中的配置信息进行梳理汇总,抽取其所有配置信息的配置名称和配置值;
步骤1-2,将步骤1-1中抽取的所有配置信息进行梳理,将相同名称的配置信息提取为公共配置信息并根据配置名称进行去重,将各个软件模块独有的配置信息提取为对应的软件模块独有配置信息;
步骤1-3,将步骤1-2中的公共配置信息和各个模块的独有配置信息进行存储,将每个配置信息的配置名称和配置值以键、值对的形式存储在zookeeper中。
3.根据权利要求2所述的方法,其特征在于,步骤4包括:
步骤4-1,接收配置信息变更情况的kafka报文,对报文中的内容进行解析;
步骤4-2,从解析后的kafka报文中获取变更的配置信息,将变更后的配置信息存储在内存中,以共享内存的方式对外提供,供其他软件模块使用;
步骤4-3,自动获取部署在本机的所有软件模块列表,以及软件模块的数量Mnumber;
步骤4-4,选取第i个软件模块,对其配置文件进行配置监测,i取值为1~Mnumber;
步骤4-5,判断i是否大于Mnumber,如果否,则执行步骤4-6;如果是,则表示完成了本机的所有软件模块的一轮配置监测,直接执行步骤4-14结束监测过程;
步骤4-6,读取第i个软件模块的配置文件,从配置文件中获取配置信息列表,以及配置信息的数量Pnumber;
步骤4-7,选取第i个软件模块的第j个配置进行配置值的变更监测,j取值为1~Pnumber;
步骤4-8,判断j是否大于Pnumber,如果否,则执行步骤4-9;如果是,则表示已经完成了第i个软件模块的所有配置项值的对比分析,执行步骤4-11;
步骤4-9,获取第i个软件模块的配置文件中的第j个配置信息在配置文件中配置值Aij,再获取该配置信息在共享内存中的配置值A`ij,并对Aij和A`ij进行自动对比分析,如果Aij等于A`ij,表示所述配置信息在配置文件中的配置值与在配置存储模块中的配置值一致,未发生该配置信息的配置值的变更,则执行j=j+1,然后执行步骤4-7;如果Aij不等于A`ij,表示该配置信息在配置文件中的配置值与在配置存储模块中的配置值不一致,发生了配置值的变更,执行步骤4-10;
步骤4-10,通过awk将第i个软件模块的第j个配置信息在配置存储模块中的配置值A`ij替换第i个软件模块的配置文件中的配置值Aij,实现第i个软件模块的第j个配置值的自动更新和新配置值的本地文件持久化;同时,将第i个软件模块的动态重启标志Flagi设置为1;
步骤4-11,判断第i个软件模块的动态重启标志Flagi是否等于1,如果Flagi等于1,则表示该软件模块发生了配置值的变更,需要对该软件模块进行动态重启操作,执行步骤4-12;如果Flagi不等于1,则表示软件模块未发生任何配置值的变更,执行步骤4-13;
步骤4-12,自动调用第i个软件模块的动态重启命令restart.sh实现软件模块的自动重启,实现新配置值的自动加载生效;
步骤4-13,执行i=i+1,然后执行步骤4-5;
步骤4-14,结束监测过程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京莱斯网信技术研究院有限公司,未经南京莱斯网信技术研究院有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110191425.5/1.html,转载请声明来源钻瓜专利网。