[发明专利]配置应用方法、系统、装置和可读存储介质在审
申请号: | 201910204375.2 | 申请日: | 2019-03-18 |
公开(公告)号: | CN109992297A | 公开(公告)日: | 2019-07-09 |
发明(设计)人: | 沈建林;田蒙;高冬岩 | 申请(专利权)人: | 京东数字科技控股有限公司 |
主分类号: | G06F8/71 | 分类号: | G06F8/71 |
代理公司: | 北京成创同维知识产权代理有限公司 11449 | 代理人: | 蔡纯;冯丽欣 |
地址: | 100176 北京市大兴区北京经*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 配置数据 配置应用 监控策略 计算机可读存储介质 应用 可读存储介质 动态更新 配置中心 下载应用 内存 变更 监控 更新 | ||
本发明实施例提供一种配置应用方法、系统、装置和计算机可读存储介质。所述配置应用方法通过添加对应用的配置数据的监控策略,当监控到应用的配置数据变更时,根据监控策略重新从配置中心下载应用的配置数据,并据此更新内存中的对象的属性值,从而实现应用的对象的属性值的动态更新。
技术领域
本发明涉及计算机技术领域,具体涉及一种配置应用方法、系统、装置和可读存储介质。
背景技术
随着互联网的不断发展,程序功能日益复杂,各种业务开关、参数的配置及服务器地址等参数越来越多。随着配置的增多,配置修改几率也越来越大。
业内有两种比较常用的管理配置的技术:Spring本地配置文件和Spring CloudConfig组件。Spring支持读取本地的配置文件,不支持通过远程的方式读取配置文件,所以每次修改配置文件都需要重新打包并发布项目。Spring Cloud Config是Spring Cloud的一个组件,它支持使用git或者svn保存配置数据到Config Server上,从而实现所有配置文件的集中管理。如图1所示。当git系统101通过命令修改Config Server 102的配置文件后,每个config client 103的对象的属性并不能自动更新,为了更新每个config client 103对象的属性,必须在配置变更后调用特定URL以调用Spring Cloud Config Server执行刷新配置操作。
综上,现有技术中,修改配置后均需要重启项目来加载配置文件,这种复杂的方式让人越来越难以忍受。因此,需要一种修改配置文件后可以实时更新对象的属性值的方法。
发明内容
有鉴于此,本发明实施例提供一种配置应用方法、系统、装置和计算机可读存储介质,能够实现在修改配置文件后,实时完成对对象的属性值的更新。
第一方面,本发明实施例提供一种配置应用方法,包括:
从所述配置中心获取应用的配置数据,并根据所述配置数据设置内存中的对象的属性值,同时添加对所述应用的配置数据的监控策略;
当监控到所述应用的配置数据变更时,根据所述监控策略调用处理函数,所述处理函数重新从所述配置中心下载所述应用的配置数据,并据此更新所述内存中的对象的属性值。
在一些实施例中,还包括:定时从所述配置中心将所述应用的配置数据下载到本地。
在一些实施例中,还包括:当无法从所述配置中心获取所述应用的配置数据时,根据本地的配置数据更新内存中的对象的属性值。
在一些实施例中,多个应用的配置数据存储在所述配置中心,所述配置应用方法还包括:在所述配置中心建立应用和配置数据之间的关联关系,每个应用根据所述关联关系获取相应的配置数据。
在一些实施例中,所述监控策略根据所述应用的配置数据的更新时间判断所述应用的配置数据是否发生变更。
在一些实施例中,所述应用的配置数据以文件和/或数据库形式存储,当以文件形式存储时,所述监控策略监控文件的更新时间,当以数据库形式存储时,所述监控策略监控对应数据库表的相应字段。
在一些实施例中,所述应用为基于java应用,所述根据所述配置数据更新内存中的对象的属性值包括:
遍历内存中的多个对象;
对于每个对象,根据java的反射机制获取多个对象的属性值,将每个对象的属性值和配置数据比对,如果所述对象的属性值的值和相应的配置数据不同,则根据相应的配置数据更改所述对象的属性值的值。
第二方面,本发明实施例提供一种配置应用系统,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于京东数字科技控股有限公司,未经京东数字科技控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910204375.2/2.html,转载请声明来源钻瓜专利网。