动态更新配置数据的方法和装置制造方法及图纸

技术编号:19319763 阅读:22 留言:0更新日期:2018-11-03 10:37
本发明专利技术实施例提供一种动态更新配置数据的方法和装置,能够在不中断应用服务的前提下动态更新应用配置,同时降低应用开发及维护成本,提高应用程序的灵活性。该方法包括:定时从数据库缓存中读取配置更新信息;其中,所述配置更新信息包括:配置名、配置值;根据所述配置名从预先标注注解的应用程序中查找待更新的属性;根据所述配置值对所述待更新的属性进行赋值。

Method and device for dynamically updating configuration data

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.

【技术实现步骤摘要】
动态更新配置数据的方法和装置
本专利技术涉及计算机领域,尤其涉及一种动态更新配置数据的方法和装置。
技术介绍
在日常应用开发中,为了追求程序的灵活性,开发人员会将一些配置信息放入配置文件。这样一来,当需要修改配置信息时,可修改配置文件中的配置值,而无需修改应用程序代码。但是,由于启动的瞬间应用程序的配置就已经确定,因此,在人工手动修改配置文件之后,还需要重启应用程序,才能实现配置的更新。此外,现有技术中还存在如下更新应用配置的方法:将配置信息放入数据库缓存中,当每次业务需要时再通过应用程序读取缓存、更新应用配置。在实现本专利技术过程中,专利技术人发现现有更新应用配置的方案中至少存在如下问题:第一,通过修改配置文件更新应用配置的方案,无法满足在应用程序运行过程中动态更新配置的需求。并且,重启应用程序会导致应用服务的中断。第二、通过应用程序从缓存中读取配置信息的方案,需要针对每个应用程序开发相应的更新配置的代码,增加了应用开发及后续维护的成本。并且,由于应用程序每次获取配置信息都要读取缓存,频繁访问会带来网络及机器性能的问题。
技术实现思路
有鉴于此,本专利技术实施例提供一种动态更新配置数据的方法和装置,能够在不中断应用服务的前提下动态更新应用配置,同时降低应用开发及维护成本,提高应用程序的灵活性。为实现上述目的,根据本专利技术实施例的一个方面,提供了一种动态更新配置数据的方法。本专利技术实施例提供的动态更新配置数据的方法,包括:定时从数据库缓存中读取配置更新信息;其中,所述配置更新信息包括:配置名、配置值;根据所述配置名从预先标注注解的应用程序中查找待更新的属性;根据所述配置值对所述待更新的属性进行赋值。可选地,根据所述配置名从预先标注注解的应用程序中查找待更新的属性,包括:从应用程序中查找标注第一注解的配置类;从所述标注第一注解的配置类中查找标注第二注解的属性;从所述标注第二注解的属性中查找与所述配置名对应的属性。可选地,从所述标注第二注解的属性中查找与所述配置名对应的属性,包括:若第二注解中的Cachekey属性的值与配置名相等,则标注该第二注解的属性为与所述配置名对应的属性。可选地,所述数据库缓存为Redis缓存。可选地,定时从数据库缓存中读取配置更新信息,包括:通过Redis客户端接口方法中的GET命令获取配置名列表;若配置名列表不为空,则通过Redis客户端接口方法中的HMGET命令获取与所述配置名对应的配置值。为实现上述目的,根据本专利技术实施例的另一方面,提供了一种动态更新配置数据的装置。本专利技术实施例提供的一种动态更新配置数据的装置,包括:获取模块,用于定时从数据库缓存中读取配置更新信息;其中,所述配置更新信息包括:配置名、配置值;查找模块,用于根据所述配置名从预先标注注解的应用程序中查找待更新的属性;更新模块,用于根据所述配置值对所述待更新的属性进行赋值。可选地,所述查找模块根据所述配置名从预先标注注解的应用程序中查找待更新的属性,包括:从应用程序中查找标注第一注解的配置类;从所述标注第一注解的配置类中查找标注第二注解的属性;从所述标注第二注解的属性中查找与所述配置名对应的属性。可选地,所述查找模块从所述标注第二注解的属性中查找与所述配置名对应的属性,包括:若第二注解中的Cachekey属性的值与配置名相等,则标注该第二注解的属性为与所述配置名对应的属性。可选地,所述数据库缓存为Redis缓存。可选地,所述获取模块定时从数据库缓存中读取配置更新信息,包括:通过Redis客户端接口方法中的GET命令获取配置名列表;若配置名列表不为空,则通过Redis客户端接口方法中的HMGET命令获取与所述配置名对应的配置值。为实现上述目的,根据本专利技术实施例的再一方面,提供了一种实现动态更新配置数据的方法的电子设备。本专利技术实施例提供的一种电子设备包括:一个或多个处理器;以及,存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本专利技术实施例的动态更新配置数据的方法。为实现上述目的,根据本专利技术实施例的又一方面,提供了一种计算机可读介质。本专利技术实施例提供的一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本专利技术实施例的动态更新配置数据的方法。上述专利技术中的一个实施例具有如下优点或有益效果:通过定时从数据库缓存中读取配置更新信息,并根据配置更新信息对应用程序中待更新的属性重新赋值,能够在不中断应用服务的前提下动态更新应用配置,提高应用程序的灵活性;通过预先在应用程序中标注注解、并通过查找标注注解的应用程序定位待更新的属性,不仅提高了配置更新时的定位效率,而且使得更新应用程序配置数据的代码具有通用性,降低了应用开发及维护的成本。上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。附图说明附图用于更好地理解本专利技术,不构成对本专利技术的不当限定。其中:图1是根据本专利技术实施例的动态更新配置数据的方法的主要步骤示意图;图2是根据本专利技术实施例的动态更新配置数据的方法的流程示意图;图3是根据本专利技术实施例的动态更新配置数据的装置的应用场景示意图;图4是根据本专利技术实施例的动态更新配置数据的装置的主要模块示意图;图5是用于实现本专利技术实施例的电子设备的计算机系统的结构示意图。具体实施方式以下结合附图对本专利技术的示范性实施例做出说明,其中包括本专利技术实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本专利技术的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。针对现有更新应用配置方法存在的不足,本专利技术的专利技术人提出了一种动态更新配置数据的方法、装置、电子设备和存储介质。在本专利技术实施例的技术方案中,通过定时从数据库缓存中读取配置更新信息,定时对应用程序中待更新的属性重新赋值,能够在无需重启应用程序的前提下动态更新应用配置,提高应用程序的灵活性;通过预先在应用程序中标注注解、并基于标注的注解快速查找、定位应用程序中待更新的属性,不仅提高了配置更新时的定位效率,而且使得更新配置数据的代码具有通用性,降低了应用开发及维护的成本。图1是根据本专利技术实施例的动态更新配置数据的方法的主要步骤示意图。如图1所示,本专利技术实施例的一种动态更新配置数据的方法主要包括如下步骤:步骤S1、定时从数据库缓存中读取配置更新信息;其中,所述配置更新信息包括:配置名、配置值。进一步,考虑到Redis支持多种数据结构、具有数据持久化、数据备份、可以突破物理机内存大小瓶颈等优点,所述数据库缓存可优先选用Redis缓存。可理解的是,在具体实施时,所述数据库缓存也可采用其他缓存技术。步骤S2、根据所述配置名从预先标注注解的应用程序中查找待更新的属性。具体来说,在本专利技术实施例的动态更新配置数据的代码中并不包含待更新的具体属性,而是通过自定义注解的方式与应用程序中的待更新数据构建了对应关系,具体为:在动态更新配置数据的代码中包含自定义注解,并且在应用程序的代码中相应地标注所述自定义注解。这样一来,不仅提高了配置更新时的定位效率,而且使得更新配置数据的代码更具有通用性,降低了应用开发及维护的成本。步骤S本文档来自技高网...

【技术保护点】
1.一种动态更新配置数据的方法,其特征在于,所述方法包括:定时从数据库缓存中读取配置更新信息;其中,所述配置更新信息包括:配置名、配置值;根据所述配置名从预先标注注解的应用程序中查找待更新的属性;根据所述配置值对所述待更新的属性进行赋值。

【技术特征摘要】
1.一种动态更新配置数据的方法,其特征在于,所述方法包括:定时从数据库缓存中读取配置更新信息;其中,所述配置更新信息包括:配置名、配置值;根据所述配置名从预先标注注解的应用程序中查找待更新的属性;根据所述配置值对所述待更新的属性进行赋值。2.根据权利要求1所述的方法,其特征在于,根据所述配置名从预先标注注解的应用程序中查找待更新的属性,包括:从应用程序中查找标注第一注解的配置类;从所述标注第一注解的配置类中查找标注第二注解的属性;从所述标注第二注解的属性中查找与所述配置名对应的属性。3.根据权利要求2所述的方法,其特征在于,从所述标注第二注解的属性中查找与所述配置名对应的属性,包括:若第二注解中的Cachekey属性的值与配置名相等,则标注该第二注解的属性为与所述配置名对应的属性。4.根据权利要求1至3任一所述的方法,其特征在于,所述数据库缓存为Redis缓存。5.根据权利要求4所述的方法,其特征在于,定时从数据库缓存中读取配置更新信息,包括:通过Redis客户端接口方法中的GET命令获取配置名列表;若配置名列表不为空,则通过Redis客户端接口方法中的HMGET命令获取与所述配置名对应的配置值。6.一种动态更新配置数据的装置,其特征在于,所述装置包括:获取模块,用于定时从数据库缓存中读取配置更新信息;其中,所述配置更新信息包括:配置名、配置值;查找模块,用于根据所述配置名从预先标注注解的应用程...

【专利技术属性】
技术研发人员:刘小云
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1