一种基于Zookeeper的配置更新方法及装置的制造方法

文档序号:9910771阅读:316来源:国知局
一种基于Zookeeper的配置更新方法及装置的制造方法
【技术领域】
[0001]本发明涉及计算机技术领域,尤其涉及一种基于Zookeeper的配置更新方法及装置。
【背景技术】
[0002]ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。一个ZooKeeper服务器可以连接多台应用服务器。一个应用程序包含多个应用程序实例,并且每个应用程序示例在其中一台应用服务器中运行。
[0003]现有技术中,一个应用程序的各个实例的配置项主要是通过人工或者半自动的方式,在应用程序实例初始化时以硬编码的方式注入到程序中的。该方式的主要缺陷在于:若要修改一个应用程序的多个应用程序实例的配置项,则需要重新启动每个应用程序实例,然后通过ZooKeeper服务器将新的配置发送给每个应用程序实例进行重新硬编码,才可以实现配置项的修改,因而该方法无法实现在应用程序不重启的前提下对应用程序实例进行配置更新。
[0004]综上所述,现有技术中无法实现在应用程序不重启的前提下对应用程序实例进行配置更新。

【发明内容】

[0005]本发明提供一种基于Zookeeper的配置更新方法及装置,用以解决现有技术中无法实现在应用程序不重启的前提下对应用程序实例进行配置更新的技术问题。
[0006]一方面,本发明实施例提供一种基于Zookeeper的配置更新方法,包括:
[0007]应用服务器接收Zookeeper服务器推送的配置更新信息,其中,所述配置更新信息是由所述Zookeeper服务器根据接收到的配置更新指令得到的;
[0008]所述应用服务器根据所述配置更新信息,确定需要更新的应用程序实例;
[0009]所述应用服务器根据接收到的配置更新信息,对确定的需要更新的应用程序实例进行更新。
[0010]可选地,所述应用服务器根据接收到的配置更新信息,对确定的需要更新的应用程序实例进行更新,包括:
[0011 ]所述应用服务器根据所述配置更新信息,对所述需要更新的应用程序实例对应的内存缓存中的配置信息进行更新。
[0012]可选地,所述应用服务器根据所述配置更新信息,对所述需要更新的应用程序实例对应的内存缓存中的配置信息进行更新之后,还包括:
[0013]所述应用服务器根据所述配置更新信息,对所述需要更新的应用程序实例对应的文件缓存中的配置信息进行更新。
[0014]可选地,所述应用服务器根据所述配置更新信息,对所述需要更新的应用程序实例对应的文件缓存中的配置信息进行更新之后,还包括:
[0015]所述应用服务器接收目标应用程序实例对应的配置调用命令;
[0016]所述应用服务器根据所述配置调用命令,判断所述内存缓存中是否存在所述目标应用程序实例对应的配置信息;
[0017]若确定所述内存缓存中存在所述目标应用程序实例对应的配置信息,则所述应用服务器从所述内存缓存中获取所述配置信息;
[0018]若确定所述内存缓存中不存在所述目标应用程序实例对应的配置信息,则所述应用服务器判断所述文件缓存中是否存在所述目标应用程序实例对应的配置信息;
[0019]若确定所述文件缓存中存在所述目标应用程序实例对应的配置信息,则所述应用服务器从所述文件缓存中获取所述配置信息;
[0020]若确定所述文件缓存中不存在所述目标应用程序实例对应的配置信息,则所述应用服务器确定获取配置信息失败。
[0021]可选地,所述配置更新信息是由所述Zookeeper服务器根据接收到的人机交互界面发送的配置更新指令生成的。
[0022]可选地,所述配置更新信息包括下列部分或者全部:
[0023]应用配置信息、开关配置信息、调度配置信息。
[0024]另一方面,本发明还提供一种基于Zookeeper的配置更新装置,包括:
[0025]接收单元,用于接收Zookeeper服务器推送的配置更新信息,其中,所述配置更新信息是由所述Zooke印er服务器根据接收到的配置更新指令得到的;
[0026]确定单元,用于根据所述配置更新信息,确定需要更新的应用程序实例;
[0027]更新单元,用于根据接收到的配置更新信息,对确定的需要更新的应用程序实例进行更新。
[0028]可选地,所述更新单元,具体用于:根据所述配置更新信息,对所述需要更新的应用程序实例对应的内存缓存中的配置信息进行更新。
[0029]可选地,所述更新单元,还用于:根据所述配置更新信息,对所述需要更新的应用程序实例对应的文件缓存中的配置信息进行更新。
[0030]可选地,所述更新单元,还用于:接收目标应用程序实例对应的配置调用命令;
[0031]根据所述配置调用命令,判断所述内存缓存中是否存在所述目标应用程序实例对应的配置信息;
[0032]若确定所述内存缓存中存在所述目标应用程序实例对应的配置信息,则从所述内存缓存中获取所述配置信息;
[0033]若确定所述内存缓存中不存在所述目标应用程序实例对应的配置信息,则判断所述文件缓存中是否存在所述目标应用程序实例对应的配置信息;
[0034]若确定所述文件缓存中存在所述目标应用程序实例对应的配置信息,则从所述文件缓存中获取所述配置信息;
[0035]若确定所述文件缓存中不存在所述目标应用程序实例对应的配置信息,则确定获取配置信息失败。
[0036]可选地,所述配置更新信息是由所述Zookeeper服务器根据接收到的人机交互界面发送的配置更新指令生成的。
[0037]可选地,所述配置更新信息包括下列部分或者全部:应用配置信息、开关配置信息、调度配置信息。
[0038]本发明实施例提供的方法,应用服务器接收Zookeeper服务器推送的配置更新信息,其中配置更新信息是由所述Zookeeper服务器根据接收到的配置更新指令得到的,然后根据配置更新信息,确定需要更新的应用程序实例,以及根据接收到的配置更新信息,对确定的需要更新的应用程序实例进行更新,因而该方法可实现在应用程序实例运行过程中,无需重启应用程序,可直接根据接收到的配置信息对应用程序实例进行更新,提高了系统的效率。
【附图说明】
[0039]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0040]图1为本发明实施例所适用的框架结构图;
[0041 ]图2为本发明实施例提供的基于Zookeeper的配置更新方法流程图;
[0042]图3为本发明实施例提供的基于Zookeepe
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1