《一种应用程序动态配置方法及装置.pdf》由会员分享,可在线阅读,更多相关《一种应用程序动态配置方法及装置.pdf(9页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN104199666A43申请公布日20141210CN104199666A21申请号201410455519922申请日20140909G06F9/4420060171申请人北京京东尚科信息技术有限公司地址100080北京市海淀区杏石口路65号西杉创意园西区11C楼东段14层西段14层申请人北京京东世纪贸易有限公司72发明人陈福洪彭定邦74专利代理机构北京品源专利代理有限公司11332代理人胡彬路凯54发明名称一种应用程序动态配置方法及装置57摘要本发明公开了一种应用程序动态配置方法及装置,包括集成有配置更新插件的应用服务器,接收配置管理中心推送的配置文件,并根据接收到的配置。
2、文件修改本地硬盘中的配置文件;所述配置更新插件定时扫描所述应用服务器本地硬盘的配置文件变化;当确定发生配置文件的变化时,所述配置更新插件读取变化的配置文件,并保存到所述应用服务器的内存中,以替换原有的配置。通过上述方法实现了实时的为应用程序提供动态的配置服务,减少了多余的网络开销,能够为大规模的应用部署提供配置服务,且应用程序与配置管理中心网络中断也不影响现有业务的正常运转。51INTCL权利要求书2页说明书5页附图1页19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书5页附图1页10申请公布号CN104199666ACN104199666A1/2页21一种应用程序动态配置方。
3、法,其特征在于,包括集成有配置更新插件的应用服务器,接收配置管理中心推送的配置文件,并根据接收到的配置文件修改本地硬盘中的配置文件;所述配置更新插件定时扫描所述应用服务器本地硬盘的配置文件变化;当确定发生配置文件的变化时,所述配置更新插件读取变化的配置文件,并保存到所述应用服务器的内存中,以替换原有的配置。2根据权利要求1所述的方法,其特征在于,所述配置更新插件定时扫描所述应用服务器本地硬盘的文件变化包括所述配置更新插件定时扫描所述应用服务器本地硬盘的配置文件目录,以识别配置文件的文件变化。3根据权利要求1所述的方法,其特征在于,当确定发生配置文件的变化时,所述方法还包括所述配置更新插件从所述。
4、配置文件中提取变化的配置值,用于通过所述配置更新插件的访问接口供应用程序读取。4根据权利要求1所述的方法,其特征在于,所述配置更新插件读取变化的配置文件,并保存到所述应用服务器的内存中之后,还包括所述配置更新插件将配置更新消息通知应用程序的事件类,用于所述应用程序对变化后所述配置的调用;和/或所述配置更新插件将配置更新消息通知所述配置管理中心。5根据权利要求1所述的方法,其特征在于,所述配置更新插件定时扫描所述应用服务器本地硬盘的文件变化之前,还包括所述配置更新插件集成于所述应用服务器的应用程序的运行目录中,在所述应用程序启动运行时被调用启动。6根据权利要求15任一所述的方法,其特征在于,接收。
5、配置管理中心推送的配置文件之前,还包括如果配置管理中心监测到应用程序的配置文件发生变化,采用文件增量同步方式,将变化的配置文件推送至应用服务器。7根据权利要求15任一所述的方法,其特征在于,接收配置管理中心推送的配置文件之前,还包括所述配置管理中心采用文件存储机制对配置文件进行分组保存。8根据权利要求15任一所述的方法,其特征在于,还包括所述配置管理中心接收所述配置更新插件反馈的配置更新消息。9一种应用程序动态配置装置,其特征在于,包括配置管理中心和配置更新插件,其中,所述配置更新插件包括配置更新插件扫描模块,用于定时扫描所述应用服务器本地硬盘的配置文件变化;配置更新插件读取模块,用于读取变化。
6、的配置文件,并保存到所述应用服务器的内存中,以替换原有的配置;所述配置管理中心,用于将配置文件推送至集成有配置更新插件的应用服务器。权利要求书CN104199666A2/2页310根据权利要求9所述的应用程序动态配置装置,其特征在于,所述配置管理中心,包括配置文件集中管理模块,用于采用文件存储机制对配置文件进行分组保存管理;配置文件推送模块,用于采用文件增量同步方式将变化的配置文件推送至应用服务器。11根据权利要求9所述的一种应用程序动态配置装置,其特征在于,所述配置更新插件还包括配置获取模块,用于从所述配置文件中提取变化的配置值,并通过所述配置更新插件的访问接口供应用程序读取。12根据权利要。
7、求9所述的一种应用程序动态配置装置,其特征在于,所述配置更新插件还包括配置更新通知模块,用于将配置更新消息通知应用程序的事件类,以供所述应用程序对变化后所述配置文件的调用;和/或,将配置更新消息通知所述配置管理中心。13根据权利要求9所述的一种应用程序动态配置装置,其特征在于,所述配置更新插件集成于所述应用服务器的应用程序的运行目录中,在所述应用程序启动运行时被调用启动。14根据权利要求9所述的一种应用程序动态配置装置,其特征在于,所述配置管理中心还包括配置更新信息接收模块,用于接收所述配置更新插件反馈的配置更新消息。权利要求书CN104199666A1/5页4一种应用程序动态配置方法及装置技。
8、术领域0001本发明实施例涉及计算机技术领域,尤其涉及一种应用程序动态配置方法及装置。背景技术0002随着互联网和计算机技术的发展,现在的应用程序研发非常迅速,更新换代的时间也很快,如果用户能够及时使用最新版本的应用程序,便可以最及时的感受到应用程序升级更新所带来的便捷和服务提升。而几乎所有应用程序的更新都需要配置文件的支撑,配置文件的作用是为应用程序提供正确而可靠的执行方向,保证应用程序自身稳定运行,因此实现配置文件的更新是实现应用程序更新升级的基础。0003现有技术中,更新应用程序的配置文件可以通过相关负责人直接修改应用程序的配置文件实现,一般是指更新配置文件中的配置值;部分应用程序也会采。
9、用数据库的方式来实现配置值的更新需求,当业务需要时再从数据库读取最新配置值来使用;还可以通过开发配置管理中心,以插件或者接口的方式为不同的应用程序提供动态配置服务。0004但使用直接修改应用程序的配置文件的方法时,一般应用程序都会在启动的一瞬间读取需要的配置值到自身内存中存储起来以满足程序内部不同业务逻辑与模块的正常运转,启动的瞬间就决定配置值的内容,在整个程序的生命周期固定不变,不利于应用程序实时动态地调整自身运行状况,只能在修改配置文件的配置值后重启应用程序解决,导致应用服务中断。数据库配置方法虽然可以解决动态更新的问题,但是对数据库的频繁访问会带来相关网络及机器性能问题。开发配置管理中心。
10、方法也可以解决动态更新的问题而且还有很方便的配置管理界面,但由于需要监听配置管理中心配置文件变化情况或者配置中心与应用程序保持长连接主动推送最新配置值,对网络的消耗比数据库方式更大,在面对大规模应用接入后自身也存在性能瓶颈,而且在应用程序与配置管理中心网络中断时会产生应用程序不能更新的严重问题。发明内容0005本发明提供一种应用程序动态配置方法及装置,以实现实时的为应用程序提供动态的配置服务,减少了多余的网络开销,能够为大规模的应用部署提供配置服务,且应用程序与配置管理中心网络中断也不影响现有业务的正常运转。0006第一方面,本发明实施例提供了一种应用程序动态配置方法,包括0007集成有配置更。
11、新插件的应用服务器,接收配置管理中心推送的配置文件,并根据接收到的配置文件修改本地硬盘中的配置文件;0008所述配置更新插件定时扫描所述应用服务器本地硬盘的配置文件变化;0009当确定发生配置文件的变化时,所述配置更新插件读取变化的配置文件,并保存到所述应用服务器的内存中,以替换原有的配置。0010第二方面,本发明实施例还提供了一种应用程序动态配置装置,包括配置管理中说明书CN104199666A2/5页5心和配置更新插件,其中,0011所述配置更新插件包括0012配置更新插件扫描模块,用于定时扫描所述应用服务器本地硬盘的配置文件变化;0013配置更新插件读取模块,用于读取变化的配置文件,并保。
12、存到所述应用服务器的内存中,以替换原有的配置;0014所述配置管理中心,用于将配置文件推送至集成有配置更新插件的应用服务器。0015本发明实施例提供的一种应用程序动态配置方法及装置,通过在应用服务器上集成配置更新插件,并开发配置管理中心向应用服务器主动推送应用程序的配置文件,二者互不依赖独立运转,无需应用服务器依赖网络监听配置文件的变化,减少了多余网络开销,因此大规模应用时性能也不受影响。集成的配置更新插件仅需对本地文件的监听就可完成配置的更新,解决了应用程序与配置管理中心网络中断时会产生服务不可用的问题。附图说明0016图1为本发明实施例一提供的一种应用程序动态配置方法的流程图;0017图2。
13、是本发明实施例二提供的一种应用程序动态配置装置的结构示意图。具体实施方式0018下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。0019实施例一0020图1为本发明实施例一提供的一种应用程序动态配置方法的流程图,本实施例可适用于所有需要配置文件的应用程序,实现这些应用程序在不重启服务的情况下动态更新业务配置,以满足应用程序在各种场景下的灵活扩展。本实施例可以由集成在应用服务器中的配置更新插件来实现,与配置管理中心配合实现对应用服务器中应用程。
14、序配置的更新。如图1所示,该方法具体包括如下步骤0021步骤110、集成有配置更新插件的应用服务器,接收配置管理中心推送的配置文件,并根据接收到的配置文件修改本地硬盘中的配置文件;0022配置管理中心可依托于现有部署的配置管理中心来建立,或者也可独立开发。该配置管理中心中以配置文件为单位,存储有至少一个应用程序的配置文件。并且,通过配置管理中心,可直接对各应用程序的配置文件进行增加、修改、删除和查阅。上述功能可通过在配置管理中心中开发对应用程序配置文件的集中式管理模块来实现。0023所述接收的配置文件是由配置管理中心主动推送。0024优选地,所述配置管理中心监测到存储的应用程序的配置文件发生变。
15、化时,采用诸如RSYNC技术的文件增量同步方式,将变化的配置文件推送至应用服务器。该文件增量同步方式推送减少了网络开销。0025配置更新插件可以是独立于应用程序的插件,优选是,所述配置更新插件定时扫描所述应用服务器本地硬盘的文件变化之前,所述配置更新插件集成于所述应用服务器的说明书CN104199666A3/5页6应用程序的运行目录中,在所述应用程序启动运行时被调用启动。该配置更新插件可以以无代码级侵入的方式直接集成于应用程序的运行目录中,在应用程序启动运行时被调用启动,即可以在应用程序运行过程中执行配置更新操作。该集成方法无需对原应用程序修改代码,即可实现其后续监控、读取功能,提供了轻量级的。
16、插件服务,集成简单,简化了工作量。0026步骤120、所述配置更新插件定时扫描所述应用服务器本地硬盘的配置文件变化;0027配置更新插件对配置文件变化的识别通过扫描应用服务器本地硬盘来实现,而无需依赖网络监听配置管理中心的文件变化。如果在应用程序和配置更新插件未运行时接收到变化的配置文件,也可以在配置更新插件启动后扫描到配置文件变化。0028对于配置文件变化的识别,所述配置更新插件优选是定时扫描所述应用服务器本地硬盘的配置文件目录,以识别配置文件的文件变化。由于配置管理中心推送配置文件后,新的配置文件覆盖了原有配置文件,或者新增了配置文件,这些均会在配置文件目录的文件名称和修改时间中有所体现,。
17、所以配置更新插件可直接扫描配置文件目录来识别文件的变化。0029步骤130、当确定发生配置文件的变化时,所述配置更新插件读取变化的配置文件,并保存到所述应用服务器的内存中,以替换原有的配置。0030本操作,可以基于变化的配置文件,替换内存中原有配置,具体可以是替换配置文件在内存中原有加载的内容,通常是配置文件中的一些配置值。0031本实施例通过在应用服务器上的应用程序上集成配置更新插件,在应用程序启动时加载运行,通过配置更新插件定时扫描所述配置管理中心推送至应用服务器本地硬盘上的配置文件变化,最终完成动态更新应用程序配置的功能,由于所述配置更新插件对网络无依赖,仅需扫描本地硬盘的文件,因此更新。
18、服务稳定,在应用程序与配置管理中心网络中断情况下,也不会影响现有业务的正常运转,同时减少了网络开销,可适用于大规模应用多集群部署环境。0032在上述技术方案的基础上,当确定发生配置文件的变化时,所述方法还可以包括所述配置更新插件从所述配置文件中提取变化的配置值,用于通过所述配置更新插件的访问接口供应用程序读取。配置文件的变化一般体现在文件中配置值的修改。配置更新文件可以进一步识别提取变化的配置值,供应用程序直接使用,为应用程序调用更新配置提供了另一种获取方式。0033优选地,在步骤130所述配置更新插件读取变化的配置文件,并保存到所述应用服务器的内存中之后,还可以包括所述配置更新插件将配置更新。
19、消息通知应用程序的事件类,用于所述应用程序对变化后所述配置的调用,扩展更多业务,例如更新缓存、分发给其它子系统等;和/或,所述配置更新插件将配置更新消息通知所述配置管理中心。相应的所述配置管理中心接收所述配置更新插件反馈的配置更新消息,用于实现后续的数据收集、统计等功能。0034优选地,在步骤110接收配置管理中心推送的配置文件之前,还包括所述配置管理中心采用文件存储机制对配置文件进行分组保存,支持对文件按照IP、路径进行归组,按照业务需求进行分组存储,即不同文件存放不同路径,分发时根据应用所在IP对应的实例说明书CN104199666A4/5页7推送配置文件,能够实现同一应用不同实例的差异问。
20、题。0035本发明实施例的技术方案,在不中断应用服务的同时实现应用程序动态配置的需要;可同时高效的为成千上万的应用程序提供可靠而有效的配置服务;解决了集群应用程序多实例差异化配置的需要;减少多余网络开销,无需监听配置管理中心配置变化情况,配置管理中心会主动推送最新的配置文件到应用程序所在服务器中;由于没有多余网络开销则性能不会受到影响,单机也能支持大规模应用程序的配置服务;因为已经在本地硬盘中存储有配置文件,所以断网不会丢失,即使应用程序与配置管理中心网络中断也不影响现有业务的正常运转;集成简单,可提供轻量级插件服务,并对现有应用程序无任何代码级别侵入即可实现所有功能。0036实施例二0037。
21、图2为本发明实施例二提供的一种应用程序动态配置装置的结构示意图。如图2所示该装置包括配置管理中心210和配置更新插件220。其中,所述配置更新插件包括0038配置更新插件扫描模块211,用于定时扫描所述应用服务器本地硬盘的配置文件变化;0039其中,所述配置更新插件定时扫描所述应用服务器本地硬盘的文件变化包括所述配置更新插件定时扫描所述应用服务器本地硬盘的配置文件目录,以识别配置文件的文件变化。0040配置更新插件读取模块212,用于读取变化的配置文件,并保存到所述应用服务器的内存中,以替换原有的配置,实现配置文件更新功能。0041所述配置管理中心,用于将配置文件推送至集成有配置更新插件的应用。
22、服务器中。0042本实施例通过所述配置管理中心与配置更新插件互不依赖独立运转,最终实现应用程序配置更新,具备上述实施例一所述方法相应的功能模块,具有相同的有益效果。0043进一步地,所述配置管理中心,包括0044配置文件集中管理模块221,用于采用文件存储机制对配置文件进行分组保存管理;该模块支持对文件按照IP、路径进行归组,按照业务需求进行分组存储,即不同文件存放不同路径,分发时根据应用所在IP对应的实例推送配置文件,能够实现同一应用不同实例的差异问题。0045配置文件推送模块222,用于采用文件增量同步方式将变化的配置文件推送至应用服务器,该文件增量同步方式推送减少了网络开销。0046优选。
23、地,在上述技术方案基础上,所述配置更新插件还可以包括0047配置获取模块213,用于从所述配置文件中提取变化的配置值,并通过所述配置更新插件的访问接口供应用程序读取,为应用程序调用更新配置提供了另一种获取方式。0048配置更新通知模块214,用于将配置更新消息通知应用程序的事件类,以供所述应用程序对变化后所述配置的调用,扩展更多业务,例如更新缓存、分发给其它子系统等;或者,将配置更新消息通知所述配置管理中心,用于实现后续的数据收集、统计等功能。0049优选地,所述配置更新插件以无代码入侵方式直接集成于所述应用服务器的应用程序的运行目录中,在所述应用程序启动运行时被调用启动。该集成方法无需对原应。
24、用程序修改代码,即可实现其后续监控、读取功能,提供了轻量级的插件服务,集成简单,简化了说明书CN104199666A5/5页8工作量。0050优选地,所述配置管理中心还可以包括0051配置更新信息接收模块223,用于接收所述配置更新插件反馈的配置更新消息,用于实现后续的数据收集、统计等功能。0052注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。说明书CN104199666A1/1页9图1图2说明书附图CN104199666A。