配置信息的更新方法、装置及系统制造方法及图纸

技术编号:14568840 阅读:95 留言:0更新日期:2017-02-06 02:35
本发明专利技术公开了一种配置信息的更新方法、装置及系统。所述方法包括:接收测试开始命令,获取并记录测试设备列表和待更新的配置信息项列表;根据所述多个设备对所述测试设备列表和所述配置信息项列表的更新订阅,向所述测试设备列表中记录的各个设备通知所述配置信息项列表中记录的各个配置信息项,以供各个设备更新各自的配置信息。本发明专利技术通过配置订阅机制使得测试设备列表中记录的各个设备优先按照配置信息项列表中记录的各个配置信息项更新和同步各自的配置信息,其它设备依然按照原生配置信息更新和同步自己的配置信息,从而满足了仅更新一部分设备的配置信息的要求,使本发明专利技术适用于灰度发布的场景。

【技术实现步骤摘要】

本专利技术涉及计算机网络
,具体涉及一种配置信息的更新方法、装置及系统
技术介绍
在分布式系统如分布式实时计算系统中,各分布式设备往往分布在不同的服务器节点中,为了各分布式设备之间能够正确的协作,往往需要共享一些配置信息,并需要配置信息能够被动态的修改和快速同步。现有的分布式系统中,各分布式设备同步配置信息的技术一般借用ZooKeeper提供的高可用性和事件通知机制实现。ZooKeeper是一个针对大型分布式系统的可靠协调系统,提供的功能包括配置维护、名字服务、分布式同步以及组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。现有技术中,ZooKeeper集群将配置信息存放在集群内的一个节点服务器上,需要配置信息的分布式设备分别作为订阅客户端连接ZooKeeper集群去读取并订阅这个配置信息,所谓订阅也就是利用ZooKeeper本身提供的事件通知机制监听存储了配置信息的ZooKeeper集群中的节点服务器中配置信息的改变。当配置信息更改的时候相应订阅配置信息的组件会接收到一个节点配置信息改变事件,订阅者可以根据这个事件,去ZooKeeper上获取最新的节点数据也就是配置信息。得到新的配置信息的订阅客户端会及时更新和同步最新的配置信息,然后做出相应的改变。各订阅客户端与ZooKeeper集群中的服务器节点是通过ZooKeeper提供的心跳机制保持连接的。然而在实际应用中,存在一些灰度发布的场景,即对于添加的新功能,仅希望选取一部分分布式设备进行测试,而另一部分分布式设备仍提供原有功能。在灰度发布测试通过后,再行推广给所有的分布式设备。根据现有的ZooKeeper集群提供的订阅机制,当节点服务器中的配置信息发生更新时,所有订阅该配置信息的设备都会获取新的配置信息进行及时更新和同步。因此,上述现有技术无法满足仅更新一部分分布式设备的配置信息的要求,进而无法适用于灰度发布的场景。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的配置信息的更新方法、装置及系统。根据本专利技术的一个方面,提供了一种配置信息的更新方法,用于更新多个设备中至少一个设备的配置信息,所述方法包括:接收测试开始命令,获取并记录测试设备列表和待更新的配置信息项列表;根据所述多个设备对所述测试设备列表和所述配置信息项列表的更新订阅,向所述测试设备列表中记录的各个设备通知所述配置信息项列表中记录的各个配置信息项,以供各个设备更新各自的配置信息。根据本专利技术的另一方面,提供了一种配置信息的更新装置,用于更新多个设备中至少一个设备的配置信息,所述装置包括:接收模块,适于接收测试开始命令;记录模块,适于获取并记录测试设备列表和待更新的配置信息项列表;通知模块,适于根据所述多个设备对所述测试设备列表和所述配置信息项列表的更新订阅,向所述测试设备列表中记录的各个设备通知所述配置信息项列表中记录的各个配置信息项,以供各个设备更新各自的配置信息。根据本专利技术的另一方面,提供了一种配置信息的更新系统,包括上述的配置信息的更新装置,还包括:所述多个设备。根据本专利技术提供的配置信息的更新方法、装置及系统,在接收测试开始命令之后,获取并记录测试设备列表和待更新的配置信息项列表,根据多个设备对测试设备列表和配置信息项列表的更新订阅,向测试设备列表中记录的各个设备通知配置信息项列表中记录的各个配置信息项,以供各个设备更新各自的配置信息。本专利技术通过配置订阅机制使得测试设备列表中记录的各个设备优先按照配置信息项列表中记录的各个配置信息项更新和同步各自的配置信息,其它设备依然按照原生配置信息更新和同步自己的配置信息,从而满足了仅更新一部分设备的配置信息的要求,使本专利技术适用于灰度发布的场景。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1示出了根据本专利技术一个实施例的配置信息的更新方法的流程示意图;图2示出了根据本专利技术另一个实施例的配置信息的更新方法的流程示意图;图3示出了根据本专利技术一个实施例的配置信息的更新装置的功能框图;图4示出了根据本专利技术一个实施例的配置信息的更新系统的功能框图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。基于现有技术存在的缺陷,本专利技术提供的解决方案具体为,在ZooKeeper集群中除了注册用于保存原生配置信息的节点服务器A以外,还注册用于保存测试设备列表的节点服务器B和用于保存配置信息项列表的节点服务器C,各个分布式设备(以下简称设备)除了订阅节点服务器A的配置信息以外,还需订阅节点服务器B的测试设备列表和节点服务器C的配置信息项列表。本专利技术中,一旦节点服务器A、B和C所保存的信息发生更新,订阅这些信息的设备就会接收到节点服务器A、B和C发送的信息改变事件,订阅设备根据该事件,去相应的节点服务器中获取更新后的信息。对于每个设备,如果通过从节点服务器B获取的测试设备列表获知该设备属于测试设备列表中的设备,那么该设备按照从节点服务器C获取的配置信息项列表中记录的各个配置信息项更新和同步自己的配置信息。如果通过从节点服务器B获取的测试设备列表获知设备不属于测试设备列表中的设备,那么该设备依然按照从节点服务器A获取的原生配置信息更新和同步自己的配置信息。本专利技术提供的解决方案适用于灰度发布的场景,因此,在以下实施例中,以灰度发布的场景为例进行说明。图1示出了根据本专利技术一个实施例的配置信息的更新方法的流程示意图。如图1所示,该方法包括如下步骤:步骤S101,接收测试开始命令,获取并记录测试设备列表和待更新的配置信息本文档来自技高网
...

【技术保护点】
一种配置信息的更新方法,用于更新多个设备中至少一个设备的配置信息,所述方法包括:接收测试开始命令,获取并记录测试设备列表和待更新的配置信息项列表;根据所述多个设备对所述测试设备列表和所述配置信息项列表的更新订阅,向所述测试设备列表中记录的各个设备通知所述配置信息项列表中记录的各个配置信息项,以供各个设备更新各自的配置信息。

【技术特征摘要】
1.一种配置信息的更新方法,用于更新多个设备中至少一个设备的配置
信息,所述方法包括:
接收测试开始命令,获取并记录测试设备列表和待更新的配置信息项列
表;
根据所述多个设备对所述测试设备列表和所述配置信息项列表的更新订
阅,向所述测试设备列表中记录的各个设备通知所述配置信息项列表中记录
的各个配置信息项,以供各个设备更新各自的配置信息。
2.根据权利要求1所述的方法,在所述接收测试开始命令之前,所述方
法还包括:预先存储原生配置信息,接受所述多个设备对所述原生配置信息
的更新订阅,以保证所述多个设备各自的缓存区存储的配置信息与所述原生
配置信息一致。
3.根据权利要求2所述的方法,所述向所述测试设备列表中记录的各个
设备通知所述配置信息项列表中记录的各个配置信息项,以供各个设备更新
各自的配置信息进一步为:向所述测试设备列表中记录的各个设备通知所述
配置信息项列表中记录的各个配置信息项,以供各个设备建立临时缓存区存
储更新后的配置信息。
4.根据权利要求3所述的方法,在所述各个设备更新各自的配置信息之
后,所述方法还包括:
接收测试提交命令,根据所述待更新的配置信息项列表更新所述原生配
置信息;
清空所述测试设备列表和所述配置信息项列表,以供各个设备删除所述
临时缓存区;
根据所述多个设备对原生配置信息的更新订阅,向所述多个设备通知更
新后的原生配置信息,以供所述多个设备将各自的缓存区存储的配置信息更
新为更新后的原生配置信息。
5.根据权利要求3所述的方法,在所述各个设备更新各自的配置信息之
后,所述方法还包括:
接收测试回滚命令,清空所述测试设备列表和所述配置信息项列表,以
供各个设备删除所述临时缓存区。
6.根据权利要求2所述的方法,所述向所述测试...

【专利技术属性】
技术研发人员:王康
申请(专利权)人:北京奇虎科技有限公司奇智软件北京有限公司
类型:发明
国别省市:北京;11

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

1