The embodiment of the invention provides a method and device for dynamically updating configuration data, which can dynamically update application configuration without interrupting application services, reduce application development and maintenance costs, and improve application flexibility. The method includes: reading configuration update information from database cache regularly; among them, the configuration update information includes: configuration name and configuration value; searching for updated attributes from pre-annotated applications according to the configuration name; and assigning the updated attributes according to the configuration value.
【技术实现步骤摘要】
动态更新配置数据的方法和装置
本专利技术涉及计算机领域,尤其涉及一种动态更新配置数据的方法和装置。
技术介绍
在日常应用开发中,为了追求程序的灵活性,开发人员会将一些配置信息放入配置文件。这样一来,当需要修改配置信息时,可修改配置文件中的配置值,而无需修改应用程序代码。但是,由于启动的瞬间应用程序的配置就已经确定,因此,在人工手动修改配置文件之后,还需要重启应用程序,才能实现配置的更新。此外,现有技术中还存在如下更新应用配置的方法:将配置信息放入数据库缓存中,当每次业务需要时再通过应用程序读取缓存、更新应用配置。在实现本专利技术过程中,专利技术人发现现有更新应用配置的方案中至少存在如下问题:第一,通过修改配置文件更新应用配置的方案,无法满足在应用程序运行过程中动态更新配置的需求。并且,重启应用程序会导致应用服务的中断。第二、通过应用程序从缓存中读取配置信息的方案,需要针对每个应用程序开发相应的更新配置的代码,增加了应用开发及后续维护的成本。并且,由于应用程序每次获取配置信息都要读取缓存,频繁访问会带来网络及机器性能的问题。
技术实现思路
有鉴于此,本专利技术实施例提供一种动态更新配置数据的方法和装置,能够在不中断应用服务的前提下动态更新应用配置,同时降低应用开发及维护成本,提高应用程序的灵活性。为实现上述目的,根据本专利技术实施例的一个方面,提供了一种动态更新配置数据的方法。本专利技术实施例提供的动态更新配置数据的方法,包括:定时从数据库缓存中读取配置更新信息;其中,所述配置更新信息包括:配置名、配置值;根据所述配置名从预先标注注解的应用程序中查找待更新的属性 ...
【技术保护点】
1.一种动态更新配置数据的方法,其特征在于,所述方法包括:定时从数据库缓存中读取配置更新信息;其中,所述配置更新信息包括:配置名、配置值;根据所述配置名从预先标注注解的应用程序中查找待更新的属性;根据所述配置值对所述待更新的属性进行赋值。
【技术特征摘要】
1.一种动态更新配置数据的方法,其特征在于,所述方法包括:定时从数据库缓存中读取配置更新信息;其中,所述配置更新信息包括:配置名、配置值;根据所述配置名从预先标注注解的应用程序中查找待更新的属性;根据所述配置值对所述待更新的属性进行赋值。2.根据权利要求1所述的方法,其特征在于,根据所述配置名从预先标注注解的应用程序中查找待更新的属性,包括:从应用程序中查找标注第一注解的配置类;从所述标注第一注解的配置类中查找标注第二注解的属性;从所述标注第二注解的属性中查找与所述配置名对应的属性。3.根据权利要求2所述的方法,其特征在于,从所述标注第二注解的属性中查找与所述配置名对应的属性,包括:若第二注解中的Cachekey属性的值与配置名相等,则标注该第二注解的属性为与所述配置名对应的属性。4.根据权利要求1至3任一所述的方法,其特征在于,所述数据库缓存为Redis缓存。5.根据权利要求4所述的方法,其特征在于,定时从数据库缓存中读取配置更新信息,包括:通过Redis客户端接口方法中的GET命令获取配置名列表;若配置名列表不为空,则通过Redis客户端接口方法中的HMGET命令获取与所述配置名对应的配置值。6.一种动态更新配置数据的装置,其特征在于,所述装置包括:获取模块,用于定时从数据库缓存中读取配置更新信息;其中,所述配置更新信息包括:配置名、配置值;查找模块,用于根据所述配置名从预先标注注解的应用程...
【专利技术属性】
技术研发人员:刘小云,
申请(专利权)人:北京京东尚科信息技术有限公司,北京京东世纪贸易有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。