分布式系统及分布式系统中配置信息的更新方法技术方案

技术编号:10512080 阅读:132 留言:0更新日期:2014-10-08 13:27
本发明专利技术公开了一种分布式系统及分布式系统中配置信息的更新方法。所述系统包括配置客户端、服务器集群、配置信息的更新装置和至少一个订阅客户端;服务器集群用于存储配置信息;其中配置信息的更新装置用于对服务器集群进行监听,判断服务器集群中是否发生配置信息改变事件;在发生配置信息改变事件时,从服务器集群中获取更新的配置信息;并向各订阅客户端发送包括更新的配置信息的消息;且还用于确认各订阅客户端是否成功收到更新的配置信息。本发明专利技术通过配置信息的更新装置来确认订阅客户端是否成功收到更新的配置信息,能够及时地确定订阅客户端是否能够成功更新配置信息,克服现有技术中的缺陷,有效地提高分布式系统中配置信息更新的可靠性。

【技术实现步骤摘要】

本专利技术涉及计算机
,特别涉及一种分布式系统及分布式系统中配置信息 的更新方法。
技术介绍
在分布式系统如分布式实时计算系统中,各分布式组件往往分布在不同的服务器 节点中,为了各分布式组件之间能够正确的协作,往往需要共享一些配置信息,并需要配置 信息能够被动态的修改和快速同步。 现有的分布式系统中,各分布式组件同步配置信息的技术一般借用ZooKeeper提 供的高可用性和事件通知机制实现。ZooKeeper是一个针对大型分布式系统的可靠协调系 统,提供的功能包括配置维护、名字服务、分布式同步以及组服务等。ZooKeeper的目标就是 封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用 户。图1为现有的分布式计算系统中采用ZooKe印er更新配置信息的场景图。通过一个客 户端(Client)连接ZooKeeper集群将配置信息存放在ZooKeeper集群的一个节点服务器 (service)或者多个节点服务器(service)上,如图1所示,以ZooKeeper集群包括三个节点 服务器A、服务器B和服务器C,包括六个客户端(Client)客户端A、客户端B、客户端C、客 户端D、客户端E和客户端F为例,描述配置信息的更新流程。具体可以包括如下步骤:1、客 户端E作为配置客户端将配置信息写入至ZooKe印er集群中服务器B和服务器C中。2、需 要配置信息的分布式组件客户端A、客户端B、客户端C、客户端D和客户端F分别作为订阅 客户端连接ZooKe印er集群去读取并订阅这个配置信息,所谓订阅也就是利用ZooKe印er 本身提供的事件通知机制监听存储了配置信息的ZooKe印er集群中的服务器B和服务器C 节点中配置信息的改变。3、当配置信息更改的时候相应订阅配置信息的组件会接收到一个 节点配置信息改变事件,订阅者可以根据这个事件,去ZooKe印er上获取最新的节点数据 也就是配置信息。4、得到新的配置信息的客户端会及时更新和同步最新的配置信息,然后 做出相应的改变。各客户端(Client)与ZooKeeper集群中的服务器节点是通过ZooKeeper 提供的心跳机制保持连接的。 在实现本专利技术的过程中,专利技术人发现现有技术至少存在以下问题:上述现有技术 的分布式系统中配置信息的更新过程中,ZooKeeper的通知机制是一次性的,通知一次后, 订阅的客户端会被取消,而订阅的客户端是否收到通知以及更新配置信息成功与否均得不 到保证。而只有当订阅客户端长时间未接收到通知,此时需要订阅的客户端再次去订阅,也 就是再次向ZooKe印er相应的配置节点服务器注册事件监听。因此,现有的分布式系统中 配置信息的更新方案可靠性较低。
技术实现思路
为了解决现有技术的问题,本专利技术实施例提供了一种分布式系统及分布式系统中 配置信息的更新方法。所述技术方案如下: -方面,提供了一种分布式系统,所述系统包括配置客户端、服务器集群、配置信 息的更新装置和至少一个订阅客户端;所述服务器集群,用于存储配置信息;所述服务器 集群中包括至少一台服务器; 所述配置客户端,与所述服务器集群中的各所述服务器进行通信,用于更新所述 服务器集群中的所述配置信息; 所述配置信息的更新装置,用于对所述服务器集群进行监听,判断所述服务器集 群中是否发生配置信息改变事件; 所述配置信息的更新装置,还用于当发生配置信息改变事件时,从所述服务器集 群中获取更新的配置信息; 所述配置信息的更新装置,还用于向各所述订阅客户端发送包括所述更新的配置 信息的消息; 所述配置信息的更新装置,还用于确认各所述订阅客户端是否成功收到所述更新 的配置信息; 各所述订阅客户端,分别与所述配置信息的更新装置连接,用于接收所述配置信 息的更新装置发送的包括所述更新的配置信息的消息。 另一方面,提供了一种分布式系统中配置信息的更新方法,所述分布式系统包括 配置客户端、服务器集群、配置信息的更新装置和至少一个订阅客户端;所述方法包括: 所述配置客户端更新所述服务器集群中的配置信息; 所述配置信息的更新装置对所述服务器集群进行监听,判断所述服务器集群中是 否发生配置信息改变事件; 当发生配置信息改变事件时,所述配置信息的更新装置从所述服务器集群中获取 更新的配置信息; 所述配置信息的更新装置向各所述订阅客户端发送包括所述更新的配置信息的 消息; 所述配置信息的更新装置确认各所述订阅客户端是否成功收到所述更新的配置 信息。 本专利技术实施例的,当配置客户端 更新服务器集群中的配置信息,由配置信息的更新装置对服务器集群进行监听,判断服务 器集群中是否发生配置信息改变事件;当发生配置信息改变事件时,配置信息的更新装置 从服务器集群中获取更新的配置信息;向各订阅客户端发送包括更新的配置信息的消息; 并确认订阅客户端是否成功收到更新的配置信息。本专利技术实施例的技术方案中,配置信息 的更新装置还用来确认订阅客户端是否成功收到更新的配置信息,从而能够及时地确定订 阅客户端是否能够成功更新配置信息,克服了现有技术中的缺陷,有效地提高分布式系统 中配置信息更新的可靠性。 【附图说明】 为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使 用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于 本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他 的附图。 图1为现有的分布式计算系统中采用ZooKeeper更新配置信息的场景图。 图2为本专利技术一实施例提供的分布式系统的结构示意图。 图3为本专利技术另一实施例提供的分布式系统的结构示意图。 图4为本专利技术再一实施例提供的分布式系统的结构示意图。 图5为本专利技术实施例提供的分布式系统中配置信息更新过程示意图。 图6为本专利技术一实施例提供的分布式系统中配置信息的更新方法的流程图。 图7为本专利技术另一实施例提供的分布式系统中配置信息的更新方法的流程图。 【具体实施方式】 为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术实施方 式作进一步地详细描述。 图2为本专利技术一实施例提供的分布式系统的结构示意图。如图2所示,本实施例 的分布式系统具体可以包括配置客户端20、服务器集群30、配置信息的更新装置40和至少 一个订阅客户端50。 其中服务器集群30用于存储配置信息;服务器集群中30包括至少一台服务器; 配置客户端20与服务器集群30中的各服务器进行通信,用于更新服务器集群30中的配置 信息;例如可以更新服务器集群30中每一台或者多台服务器中的配置信息。本实施例中的 更新可以包括新写入或者修改等等操作。 配置信息的更新装置40与服务器集群30连接,对服务器集群30进行监控,判断 服务器集群30中是否发生配置信息改变事件;具体地,配置信息的更新装置40与服务器集 群30中的各服务器通信,对服务器集群30中的各服务器31进行监控,判断各服务器中是 否发生配置信息改变事件。在发生配置信息改变事件时,配置信息的更新装置40本文档来自技高网
...

【技术保护点】
一种分布式系统,其特征在于,所述系统包括配置客户端、服务器集群、配置信息的更新装置和至少一个订阅客户端; 所述服务器集群,用于存储配置信息;所述服务器集群中包括至少一台服务器; 所述配置客户端,与所述服务器集群中的各所述服务器进行通信,用于更新所述服务器集群中的所述配置信息; 所述配置信息的更新装置,用于对所述服务器集群进行监听,判断所述服务器集群中是否发生配置信息改变事件; 所述配置信息的更新装置,还用于当发生配置信息改变事件时,从所述服务器集群中获取更新的配置信息; 所述配置信息的更新装置,还用于向各所述订阅客户端发送包括所述更新的配置信息的消息; 所述配置信息的更新装置,还用于确认各所述订阅客户端是否成功收到所述更新的配置信息; 各所述订阅客户端,分别与所述配置信息的更新装置连接,用于接收所述配置信息的更新装置发送的包括所述更新的配置信息的消息。

【技术特征摘要】
1. 一种分布式系统,其特征在于,所述系统包括配置客户端、服务器集群、配置信息的 更新装置和至少一个订阅客户端; 所述服务器集群,用于存储配置信息;所述服务器集群中包括至少一台服务器; 所述配置客户端,与所述服务器集群中的各所述服务器进行通信,用于更新所述服务 器集群中的所述配置信息; 所述配置信息的更新装置,用于对所述服务器集群进行监听,判断所述服务器集群中 是否发生配置信息改变事件; 所述配置信息的更新装置,还用于当发生配置信息改变事件时,从所述服务器集群中 获取更新的配置信息; 所述配置信息的更新装置,还用于向各所述订阅客户端发送包括所述更新的配置信息 的消息; 所述配置信息的更新装置,还用于确认各所述订阅客户端是否成功收到所述更新的配 置信息; 各所述订阅客户端,分别与所述配置信息的更新装置连接,用于接收所述配置信息的 更新装置发送的包括所述更新的配置信息的消息。2. 根据权利要求1所述的系统,其特征在于,所述配置信息的更新装置包括配置组件 和确认组件; 所述配置组件,用于对所述服务器集群进行监听,判断所述服务器集群中是否发生配 置信息改变事件; 所述配置组件,还用于当发生配置信息改变事件时,从所述服务器集群中获取更新的 配置信息; 所述配置组件,还用于向各所述订阅客户端发送包括所述更新的配置信息的消息; 所述确认组件,用于确认各所述订阅客户端是否成功收到所述配置组件发送的所述更 新的配置信息。3. 根据权利要求2所述的系统,其特征在于,所述配置组件,还用于生成配置信息标 识,所述配置信息标识用于唯一标识向所述订阅客户端发送的所述配置信息; 所述配置组件,具体用于向所述订阅客户端发送包括所述更新的配置信息和所述配置 信息标识的消息。4. 根据权利要求3所述的系统,其特征在于,所述配置组件,还用于向所述确认组件发 送所述配置信息标识。5. 根据权利要求4所述的系统,其特征在于,所述确认组件,还用于接收所述订阅客户 端发送的包括配置信息标识的响应消息,所述订阅客户端发送的所述配置信息标识为所述 订阅客户端从接收所述配置组件发送的所述消息中获取的; 所述确认组件,具体用于根据所述配置组件发送的所述配置信息标识和所述订阅客户 端发送的所述配置信息标识,确认所述订阅客户端是否成功收到所述更新的配置信息。6. 根据权利要求5的系统,其特征在于,所述确认组件,具体用于判断所述配置组件发 送的所述配置信息标识和所述订阅客户端发送的所述配置信息标识是否相同,若相同,确 定所述订阅客户端成功收到所述配置组件发送的所述更新的配置信息;否则,则确定所述 订阅客户端未成功收到所述配置组件发送的所述更新的配置信息。7. 根据权利要求6所述的系统,其特征在于,所述确认组件,还用于在确定所述订阅 客户端成功收到所述配置组件发送的所述更新的配置信息时,向所述配置组件发送所述订 阅客户端成功接收到所述配置信息的响应消息; 或者,所述确认组件,还用于确定所述订阅客户端未成功收到所述配置组件发送的所 述更新的配置信息时,向所述配置组件发送所述订阅客户端未成功接收到所述配置信息的 响应消息;此时对应地,所述配置组件,还用于在接收到所述确认组件发送的所述订阅客户 端未成功接收到所述配置信息的响应消息后,重新向所述订阅客户端发送包括所述更新的 配置信息和所述配置信息标识的所述消息。8. 根据权利要求7所述的系统,其特征在于,所述配置组件,还用于若在预设时间段内 未接收到所述确认组件发送的所述订阅客户端成功或者未成功接收到所述配置信息的响 应消息时,确定所述订阅客户端未成功接收到所述配置信息; 所述配置组件,还用于重新向所述订阅客户端发送包括所述更新的配置信息和所述配 置信息标识的所述消息。9. 一种分布式系统中配置信息的更新方法,其特征在于,所述分布式系统包括配置客 户端、服务器集群、配置信息的更新装置和至少一个订阅客户端;所述方法包括: 所述配置客户端更新所述服务器集群中的配置信息; 所述配置信息的更新装置对所述服务器集群进行监听,判断所述服务器集群中是否发 生...

【专利技术属性】
技术研发人员:易小华洪坤乾张文郁
申请(专利权)人:腾讯数码天津有限公司
类型:发明
国别省市:天津;12

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

1