公开/公告号CN112231010A
专利类型发明专利
公开/公告日2021-01-15
原文格式PDF
申请/专利权人 四川新网银行股份有限公司;
申请/专利号CN202011054942.X
发明设计人 逄金刚;
申请日2020-09-28
分类号G06F9/445(20180101);
代理机构51282 成都智言知识产权代理有限公司;
代理人濮云杉
地址 610094 四川省成都市成都高新区吉泰三路8号1栋1单元26楼1-8号
入库时间 2023-06-19 09:33:52
技术领域
本发明涉及计算机数据处理技术领域,尤其涉及一种基于OSGI规范下的应用配置信息管理及动态更新的方法。
背景技术
OSGI(开放服务网关协议,Open Service Gateway Initiative)技术是Java动态化模块化系统的一系列规范。其特点在于模块化和动态部署,支持模块化的动态开发和模块化的动态扩展。
目前为了服务应用未来的动态扩展和实现应用动态部署的需求,因此采用了基于OSGI设计规范开发的服务应用,以此避免应用服务后期迭代而必须停服更新的缺点。在项目的持续迭代发布过程中发现,由于配置文件需要手动更新,并且应用采用了集群部署的方式,应用服务器有几十台,每次更新应用的配置文件都需要花费较长的时间,并且容易出现部分服务器配置遗漏或者配置错误的情况。
发明内容
针对上述问题本发明提供一种基于OSGI规范下的应用配置信息管理及动态更新的方法,从而实现应用配置动态更新和解决配置集中管理的问题。
本发明一种基于OSGI规范下的应用配置信息管理及动态更新的方法,包含:
A.在配置管理中心及动态发布系统中配置集中化管理模块对配置信息进行集中化管理;
B.在配置管理中心及动态发布系统中配置动态更新处理模块,接收发布的配置信息,调用服务器的shell脚本将发布的配置信息更新到应用的配置文件中;
C.在配置管理中心及动态发布系统中配置信息持久化模块,接收需要持久化的配置信息,对配置信息进行持久化处理。
本发明基于OSGI设计规范开发的综合管理应用实现配置集中化管理和动态变更,缩短了应用迭代部署的时间,降低了人为变更配置文件造成的非技术性风险,同时能够不依赖第三方服务和不引入第三方jar包就能集中管理集群配置和实现集群配置的动态变更。
进一步的,步骤A包括:
选择需要更新或者修改配置文件信息的配置文件,并对其进行更新或者修改;
在更新或者修改好配置文件信息后,如果需要发布,则调用配置动态更新处理逻辑并返回结果;如果需要保存,则调用配置信息持久化处理逻辑并返回结果。
所述步骤A中的配置集中化管理模块,对应用集群的配置信息进行集中化管理,包括应用所在的服务器的ip、用户名、密码、应用在服务器的部署路径、更新配置信息的shell脚本在服务器的位置路径等信息、还包括配置信息集中管理、配置更新与发布等功能。
进一步的,步骤B包括:
配置动态更新处理模块接收需要发布的配置信息;
根据需要发布的配置信息选择相应的配置文件更新shell脚本;
调用脚本执行客户端,并传递需要发布的配置信息,执行相应更新的shell脚本;
获取脚本的执行结果,如果执行成功则调用配置信息持久化处理逻辑进行持久化处理;如果执行失败,则返回处理失败;
所述步骤B中配置集中管理和动态更新的方式是通过shell脚本直接操作应用的配置文件,因此不需要对现有的应用代码进行任何的修改。
进一步的,
Shell脚本接收需要更新的配置文件的配置信息并获取需要更新的配置文件在服务器中的路径及其名称;
在临时文件夹下创建与配置文件同名的配置文件,并在该配置文件中写入接收的配置信息;
将需要被更新的配置文件用临时文件夹下新创建的同名配置文件进行替换。
所述集群配置动态更新的方法是执行相应配置文件变更的shell脚本文件直接对应用配置文件进行直接操作,因此不需要在应用中引入第三方的jar包。
进一步的,步骤C包括:
配置信息持久化模块对配置信息进行持久化处理,为了减轻单数据库的压力,实现分库分表,采用mycat中间件作为数据访问的代理,采用mysql数据库保存配置信息,持久化成功后返回处理结果。
所述步骤C配置信息持久化模块对配置信息进行持久化处理后,得到的持久化信息用于配置管理模块对其进行查询和修改。
本发明提出一种基于OSGI规范下的应用配置信息管理及动态更新的方法,能够快速更新应用配置文件,降低人工手动更新应用配置文件的操作风险和缩短人工更新配置文件的操作时间,减少了人工登录应用服务器的频次和提高了应用的安全性。
附图说明
图1为本发明配置集中化管理模块的工作流程图。
图2为本发明配置动态更新模块的工作流程图。
图3为本发明配置信息持久化模块的工作流程图。
具体实施方式
以下结合实施例的具体实施方式,对本发明的上述内容再作进一步的详细说明。但不应将此理解为本发明上述主题的范围仅限于以下的实例。在不脱离本发明上述技术思想情况下,根据本领域普通技术知识和惯用手段做出的各种替换或变更,均应包括在本发明的范围内。
1.如图1所示本发明配置集中化管理模块的工作流程图:
选择需要更新或者修改配置文件信息的配置文件,并对其进行更新或者修改;
在更新或者修改好配置文件信息后,如果需要发布,则调用配置动态更新处理逻辑并返回结果;如果需要保存,则调用配置信息持久化处理逻辑并返回结果。
2.如图2所示本发明配置动态更新模块的工作流程图:
配置动态更新处理模块接收需要发布的配置信息;
根据需要发布的配置信息选择相应的配置文件更新shell脚本;
调用脚本执行客户端,并传递需要发布的配置信息,执行相应更新的shell脚本;
Shell脚本接收需要更新的配置文件的配置信息并获取需要更新的配置文件在服务器中的路径及其名称;
在临时文件夹下创建与配置文件同名的配置文件,并在该配置文件中写入接收的配置信息;
将需要被更新的配置文件用临时文件夹下新创建的同名配置文件进行替换;
获取脚本的执行结果,如果执行成功则调用配置信息持久化处理逻辑进行持久化处理;如果执行失败,则返回处理失败。
3.如图3所示本发明配置信息持久化模块的工作流程图:
接收需要持久化的配置信息;
对配置信息进行持久化处理,落地到数据库表;
返回持久化处理结果。
本发明提出一种基于OSGI规范下的应用配置信息管理及动态更新的方法,能够快速更新应用配置文件,降低人工手动更新应用配置文件的操作风险和缩短人工更新配置文件的操作时间,减少了人工登录应用服务器的频次和提高了应用的安全性。
机译: 一种将Reverb应用于多通道下混合音频输入信号的方法以及将Reverber配置为将Reverber应用于多通道下混合音频输入信号的方法
机译: 针对一种或多种涉及减少假阳性欺诈检测事件的技术应用程序配置的基于计算机的系统和平台以及计算机实现的方法
机译: 为一种或多种技术应用程序配置的基于计算机的系统和方法,以自动协助电话代理服务