CN105009513A - 分布式系统的节点设备更新的方法、节点设备及分布式系统 - Google Patents

分布式系统的节点设备更新的方法、节点设备及分布式系统 Download PDF

Info

Publication number
CN105009513A
CN105009513A CN201380002629.3A CN201380002629A CN105009513A CN 105009513 A CN105009513 A CN 105009513A CN 201380002629 A CN201380002629 A CN 201380002629A CN 105009513 A CN105009513 A CN 105009513A
Authority
CN
China
Prior art keywords
node device
configuration
request
distributed system
configuration information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201380002629.3A
Other languages
English (en)
Other versions
CN105009513B (zh
Inventor
王进兢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN105009513A publication Critical patent/CN105009513A/zh
Application granted granted Critical
Publication of CN105009513B publication Critical patent/CN105009513B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明涉及一种分布式系统的节点设备更新的方法、节点设备及分布式系统。该方法包括:接收任一节点设备发送的配置变更请求;根据配置变更请求获取所述第二配置信息,并向主用节点设备发送配置变更请求的确认响应;从所述主用节点设备获取配置变更请求的确认结果;如果所述配置变更请求的确认结果为通过,保存第二配置信息,并且,节点设备接收任一节点设备发送的配置执行请求;向所述主用节点设备发送所述配置执行请求的确认响应;从所述主用节点设备获取所述配置执行请求的确认结果;如果所述配置执行请求的确认结果为通过,使用所述第二配置信息在所述分布式系统中工作。本实施例能够实现配置信息的在线修改,保证数据的一致性。

Description

分布式系统的节点设备更新的方法、 节点设备及分布式系统 技术领域
本发明涉及通信技术领域, 尤其涉及一种分布式系统的节点设备更新的 方法、 节点设备及分布式系统。 背景技术
近年来, 云计算逐渐成为 IT领域的主流, 其主要以服务的方式提供基 础设施、平台等,这样能更好地实现多租户资源共享和面向用户的即插即用, 使得用户节省了基础设施及平台等方面的重复投资, 快速推出新业务, ICT (Information Communication Technology, 信息通信技术) 系统也逐步进入 该领域。
高效和可靠的协同系统在云计算中起着不可替代的作用。分布式服务协 同系统如分布式服务框架 (zookeeper) 已被广泛的使用在 IT领域, 分布式 协同系统通常以一致性算法 (Paxos算法) 及其改进算法为基础。 目前被广 泛使用的快速一致性(Fast Paxos )算法因为优化了 Paxos算法中的活锁问题, 通过选举产生一个主用节点 (leader), 只有主用节点才能提交和确认请求。 以 此算法为基础, 将数据复制到系统中的所有节点, 因此分布式协同系统中的 数据具有一致性, 即整个分布式协同系统的所有节点上的数据对于客户端而 言都是一样的。
然而, 随着时间的推移, 分布式协同系统会产生诸如硬件永久崩溃、 或 用户负载上升需要进行扩容等问题, 这种情况下分布式协同系统就需要调整 协同系统配置情况, 例如, 增加新的节点, 或者删除故障的节点等。 通常按 照以下步骤进行操作: 首先, 保证数据完全同步的情况下, 将该分布式协同 系统中所有节点全部关闭; 其次, 根据需要生成新的配置数据, 新的配置数 据中包括分布式系统调整后的节点信息; 再次, 根据新的配置数据重新启动 该分布式协同系统中的所有节点; 最后, 恢复该分布式协同系统中断对其他 应用的影响。
现有技术分布式协同系统重配置过程中的服务中断是不可避免的。 发明内容
技术问题
有鉴于此,本发明要解决的技术问题是在保证分布式系统的数据一致性 的前提下, 如何避免该分布式系统节点设备更新过程中的服务中断。
解决方案
为了解决上述技术问题,根据本发明的一实施例,提供了一种节点设备, 所述节点设备使用第一配置信息在分布式系统中工作, 其中,所述第一配置 信息包括所述分布式系统中当前各个节点设备信息,所述分布式系统中包括 至少三个节点设备, 其中一个为主用设备, 其余为从节点设备, 所述节点设 备包括:
配置变更请求接收模块, 用于接收任一节点设备发送的配置变更请求, 其中所述配置变更请求包括第二配置信息,所述第二配置信息包括所述分布 式系统进行节点设备更新后的各个节点设备信息;
第一确认响应发送模块,用于根据所述配置变更请求获取所述第二配置 信息, 并向主用节点设备发送所述配置变更请求的确认响应;
第一确认结果获取模块,用于从所述主用节点设备获取所述配置变更请 求的确认结果,所述配置变更请求的确认结果为所述主用节点设备根据所述 分布式系统中当前各个节点设备对所述配置变更请求的确认响应确定出的; 保存模块, 用于如果所述配置变更请求的确认结果为通过, 保存所述第 二配置信息; 配置执行请求接收模块, 用于接收任一节点设备发送的配置执行请求, 所述配置执行请求用于请求各节点设备使用所述第二配置信息在所述分布 式系统中工作;
第二确认响应发送模块,用于向所述主用节点设备发送所述配置执行请 求的确认响应;
第二确认结果获取模块,用于从所述主用节点设备获取所述配置执行请 求的确认结果,所述配置执行请求的确认结果为所述主用节点设备根据所述 分布式系统中当前各个节点设备对所述配置执行请求的确认响应确定出的; 执行模块, 用于如果所述配置执行请求的确认结果为通过, 使用所述第 二配置信息在所述分布式系统中工作。
对于上述分布式系统的节点设备, 在一种可能的实现方式中, 所述保存 模块还用于: 如果所述配置变更请求的确认结果为不通过, 不保存所述第二 配置信息。
对于上述分布式系统的节点设备,在一种可能的实现方式中,所述执行 模块还用于: 如果所述配置执行请求的确认结果为不通过,使用所述第一配 置信息在所述分布式系统中工作。
为了解决上述技术问题, 根据本发明的另一实施例, 提供了一种分布式 系统的节点设备更新的方法,所述分布式系统包括至少三个节点设备, 其中 一个为主用节点设备, 其余为从节点设备,所述分布式系统中当前各个节点 设备均使用第一配置信息在所述分布式系统中工作, 其中,所述第一配置信 息包括所述分布式系统中当前各个节点设备信息, 对于其中每一节点设备, 所述方法包括:
所述节点设备接收任一节点设备发送的配置变更请求,其中所述配置变 更请求包括第二配置信息,所述第二配置信息包括所述分布式系统进行节点 设备更新后的各个节点设备信息; 所述节点设备根据所述配置变更请求获取所述第二配置信息,并向主用 节点设备发送所述配置变更请求的确认响应;
所述节点设备从所述主用节点设备获取所述配置变更请求的确认结果, 所述配置变更请求的确认结果为所述主用节点设备根据所述分布式系统中 当前各个节点设备对所述配置变更请求的确认响应确定出的;
如果所述配置变更请求的确认结果为通过,所述节点设备保存所述第二 配置信息, 并且,
所述节点设备接收任一节点设备发送的配置执行请求,所述配置执行请 求用于请求各节点设备使用所述第二配置信息在所述分布式系统中工作; 所述节点设备向所述主用节点设备发送所述配置执行请求的确认响应; 所述节点设备从所述主用节点设备获取所述配置执行请求的确认结果, 所述配置执行请求的确认结果为所述主用节点设备根据所述分布式系统中 当前各个节点设备对所述配置执行请求的确认响应确定出的;
如果所述配置执行请求的确认结果为通过,所述节点设备使用所述第二 配置信息在所述分布式系统中工作。
对于上述分布式系统的节点设备更新的方法, 在一种可能的实现方式 中, 还包括:
如果所述配置变更请求的确认结果为不通过,所述节点设备不保存所述 第二配置信息。
对于上述分布式系统的节点设备更新的方法, 在一种可能的实现方式 中, 所述节点设备接收任一节点设备发送的配置执行请求, 包括:
所述节点设备接收所述主用节点设备发送的配置执行请求。
对于上述分布式系统的节点设备更新的方法, 在一种可能的实现方式 中, 还包括:
如果所述配置执行请求的确认结果为不通过,所述节点设备使用所述第 一配置信息在所述分布式系统中工作。
为了解决上述技术问题, 根据本发明的另一实施例, 提供了一种分布式 系统, 包括至少三个上述的分布式系统的节点设备, 且其中一个为主用节点 设备, 其余为从节点设备。
有益效果
通过本实施例提供的分布式系统的节点设备更新的方法、节点设备和分 布式系统,分布式系统的一个节点设备将包括第二配置信息的配置更新请求 发送给其它节点设备, 并根据其它节点设备返回的确认响应来确定出该配置 变更请求的确认结果; 当该确认结果为通过时, 该节点设备再向其它节点设 备发送配置执行请求, 并根据各其它节点设备返回的确认响应确定出该配制 执行请求的确认结果。根据本发明实施例提供的分布式系统的节点设备更新 的方法、 节点设备和分布式系统, 能够实现配置信息的在线修改, 从而实现 系统的重配置, 并且能够使系统在重配置的过程中在保持系统数据一致性的 前提下, 做到系统对外服务不中断, 从而提高了系统的可靠性和可用性。 附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了 本发明的示例性实施例、 特征和方面, 并且用于解释本发明的原理。
图 1示出根据本发明一实施例的分布式系统的节点设备更新的方法的流 程图;
图 2示出根据本发明另一实施例的分布式系统的节点设备更新的方法的 流程图;
图 3示出根据本发明又一实施例的分布式系统的节点设备更新的方法的 流程图;
图 4示出根据本发明再一实施例的节点设备的结构示意图; 具体实施方式
以下将参考附图详细说明本发明的各种示例性实施例、 特征和方面。 附 图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施 例的各种方面, 但是除非特别指出, 不必按比例绘制附图。
在这里专用的词"示例性 "意为 "用作例子、 实施例或说明性"。 这里作为 "示例性"所说明的任何实施例不必解释为优于或好于其它实施例。
另外, 为了更好的说明本发明, 在下文的具体实施方式中给出了众多的 具体细节。 本领域技术人员应当理解, 没有某些具体细节, 本发明同样可以 实施。 在另外一些实例中, 对于本领域技术人员熟知的方法、 手段、 元件和 电路未作详细描述, 以便于凸显本发明的主旨。
实施例 1
图 1示出根据本发明一实施例的分布式系统的节点设备更新的方法的流 程图。 如图 1所示, 该分布式系统包括至少三个节点设备, 其中一个为主用 节点设备, 其余为从节点设备, 该分布式系统中当前各个节点设备均使用第 一配置信息在分布式系统中工作, 其中, 第一配置信息包括所述分布式系统 中当前各个节点设备信息, 对于其中每一节点设备, 该方法主要可以包括: 步骤 S110、节点设备接收任一节点设备发送的配置变更请求, 该配置变 更请求包括第二配置信息,该第二配置信息包括分布式系统进行节点设备更 新后的各个节点设备信息。
当分布式系统(以下简称系统) 由于硬件永久崩溃、 系统扩容、 系统需 要新增节点设备、删除节点设备或即需要增加也需要删除节点设备等问题需 要对系统进行重配置时,会触发系统中用于生成配置信息的应用程序生成系 统的新配置信息 (即第二配置信息), 其中, 上述应用程序可能在主用节点 设备上, 也可能在某一从节点设备上。 当系统生成了第二配置信息后, 会将 生成的第二配置信息发给其中一个节点设备,可以是主用节点设备也可以是 任一从节点设备。
例如,如果主用节点设备发起节点设备变更请求, 则主用节点设备在接 收到第二配置信息之后,会将包括第二配置信息的配置变更请求下发给当前 的各个从节点设备,以确认各个从节点设备系统是否同意将当前的第一配置 信息变更为第二配置信息, 此时的第二配置信息并未生效。
如果在主用节点设备向各从节点设备下发配置变更请求之前,某一节点 设备接收到客户端发送的数据更新请求,则各节点设备依旧采用系统的第一 配置信息在系统中工作, 即根据第一配置信息对该数据更新请求进行处理。
其中, 数据更新请求来自客户端, 用于对系统中的数据进行更新, 例如 增加、 删除或改动, 该数据为普通数据, 其用途由上层业务来定义, 基于当 前系统中已有的配置信息更新, 由于是普通数据,这些数据不涉及到系统中 各个节点设备的配置信息。
而配置变更请求所请求变更的是系统的配置信息,该配置信息包括系统 中当前各个节点设备信息, 当系统中的节点设备出现变化, 例如增加、删除 或既有增加也有删除时, 系统的配置信息相应的需要变更。
步骤 S120、节点设备根据接收到的配置变更请求获取第二配置信息, 并 向主用节点设备发送该配置变更请求的确认响应。
节点设备从配置变更请求中获取到第二配置信息之后, 向主用节点设备 返回确认响应, 以表示同意将第一配置信息变更为该第二配置信息。
步骤 S130、 节点设备从主用节点设备获取该配置变更请求的确认结果。 该配置变更请求的确认结果为主用节点设备根据分布式系统中当前各 个节点设备对配置变更请求的确认响应确定出的。
其中系统中节点设备的个数会记录在主用节点设备中,在一种可能的实 现方式中,主用节点设备根据预设时间内接收到的确认响应的数目和系统中 当前节点设备的个数, 来确定出确认结果, 该确认结果包括通过该配置变更 请求或未通过该配置变更请求。
步骤 S140、如果该配置变更请求的确认结果为通过,节点设备保存该第 二配置信息。
相应地, 如果该配置变更请求的确认结果为未通过, 节点设备不保存该 第二配置信息, 也无需执行后续步骤。
步骤 S150、 节点设备接收任一节点设备发送的配置执行请求, 该配置执 行请求用于请求各节点设备使用第二配置信息在分布式系统中工作。
当各个节点设备同意将第一配置信息变更为第二配置信息时, 其中任一 个节点设备可以向其它节点设备发送配置执行请求。在一种可能的实现方式 中, 由主用节点设备发送配置执行请求, 也可以是发送第二配置信息的配置 变更请求的节点设备, 在此不做限制。
步骤 S 160、 节点设备向主用节点设备发送配置执行请求的确认响应。 节点设备返回的确认响应表示同意根据第二配置信息来工作。
步骤 S170、 节点设备从主用节点设备获取配置执行请求的确认结果。 该配置执行请求的确认结果为主用节点设备根据该分布式系统中当前 各个节点设备对所述配置执行请求的确认响应确定出的。
对应于配置执行请求的确认结果也可以是根据类似于步骤 130中对配置 变更请求的确认结果的方法确定得到。
步骤 S180、如果配置执行请求的确认结果为通过,该节点设备使用第二 配置信息在该分布式系统中工作, 如果配置执行请求的确认结果为未通过, 该节点设备使用第一配置信息在该分布式系统中工作。
当配置执行请求的确认结果为通过时, 节点设备使用第二配置信息在分 布式系统中工作, 也即分布式系统中节点设备得到更新。 这样, 通过本实施例提供的分布式系统的节点设备更新的方法, 能够实 现系统配置信息的在线修改, 从而实现系统的重配置, 并且能够使系统在重 配置的过程中在保持系统数据一致性的前提下, 做到系统对外服务不中断, 从而提高了系统的可靠性和可用性。
实施例 2
图 2示出根据本发明另一实施例的分布式系统的节点设备更新的方法的 流程图。 图 2所示的方法与图 1所示的方法的主要区别在于, 本实施例中分布 式系统新增至少一个节点设备。 如图 2所示, 该方法还可以包括以下步骤: 步骤 S210、 将该新增节点设备启动, 并连接到主用节点设备。
步骤 S220、将分布式系统中当前各个节点设备上的数据复制到新增节点 设备上。
此时主用节点设备执行的是当前配置信息, 即第一配置信息。第一配置 信息中包括的节点设备信息为分布式系统中当前各个节点设备的信息。为了 保持系统数据一致性以及系统状态的平滑转移, 需要将分布式系统中当前各 个节点设备上的数据复制到新增节点设备上, 可以由任意一个节点设备来执 行, 本实施例以主用节点设备来执行为例进行说明。 其中, 新增节点设备可 能不只一个。 本发明实施例不以此为限制。
步骤 S230、 系统生成第二配置信息并发送给主用节点设备。第二配置信 息包括了分布式系统更新后的节点设备信息, 即分布式系统中当前的各个节 点设备信息和新增节点设备的信息。
步骤 S240、主用节点设备将第二配置信息携带在配置变更请求中发送给 分布式系统当前的各从节点设备。
步骤 S250、主用节点设备根据接收到的当前各从节点设备针对配置变更 请求的确认响应, 来确定第二配置信息的变更请求是否通过, 如果通过, 则 保存第二配置信息, 如果未通过则不保存, 也不执行后续步骤。 步骤 S260、主用节点设备向分布式系统中当前的各个节点设备以及新增 的节点设备发送配置执行请求, 该配置执行请求用于请求各节点设备使用第 二配置信息在分布式系统中工作。
步骤 S270、系统的当前各从节点设备向主用节点设备发送配置执行请求 的确认响应。
节点设备返回的确认响应表示同意以第二配置信息来工作。
步骤 S280、主用节点设备根据该分布式系统中当前各个节点设备对配置 执行请求的确认响应确定配置执行请求的确认结果。
步骤 S290、 如果配置执行请求的确认结果为通过, 分布式系统中节点设 备完成更新, 更新后的各个节点设备包括了新增的节点设备, 使用第二配置 信息在该分布式系统中工作, 也就是分布式系统经过更新包括了新增的节点 设备, 如果配置执行请求的确认结果为未通过, 分布式系统中更新后的各个 节点设备使用第一配置信息在该分布式系统中工作, 即分布式系统本次节点 设备未能成功更新, 分布式系统当前各个节点设备仍为第一配置信息中所包 括的各个节点设备。
具体地, 对于以哪个配置信息执行来自客户端的数据更新请求, 分为以 下几种情况。
第一种情况:如果在配置更新请求发出之前接收到来自客户端的数据更 新请求, 则各个节点设备根据第一配置信息处理该数据更新请求。
具体而言, 系统生成第二配置信息需要一定的时间, 某一节点设备发出 包括第二配置信息的配置更新请求之前, 如果有节点设备接收到客户端发送 的数据更新请求, 则各节点设备根据第一配置信息对这些数据更新请求进行 处理。
第二种情况: 如果在配置执行请求的确认结果为通过之后, 系统接收到 来自客户端的数据更新请求, 则各节点设备根据第二配置信息在系统中工 作, 即根据第二配置信息对数据更新请求进行处理。
第三种情况: 如果在配置执行请求的确认结果为未通过之后, 系统接收 到来自客户端的数据更新请求, 则各节点设备根据第一配置信息在系统中工 作, 即根据第一配置信息对数据更新请求进行处理。
第四种情况: 如果在配置执行请求的确认结果通过之前, 配置更新请求 的确认结果为通过之后, 系统接收到来自客户端的数据更新请求, 则各节点 设备暂时不响应数据更新请求, 而是在接收到配置执行请求的确认结果之 后, 根据确认结果来工作, 如果确认结果为通过, 则根据第二配置信息来处 理数据更新请求, 如果确认结果为未通过, 则根据第一配置信息来处理数据 更新请求。
对于第四种情况, 为了保持系统的数据一致性, 各节点设备可以暂时不 响应这些数据更新请求,直到主用接收到各从节点设备针对配置执行请求返 回的确认响应且将配置执行请求通过的确认结果发送给各个从节点设备时, 第二配置信息才真正生效, 即通知各从节点设备执行第二配置信息对接收到 的这些数据更新请求进行处理。 这样, 就可以保持系统的数据一致性。
例如, 系统本来中有主用节点设备 M和从节点设备 A、 B以及 C, 以第一 配置信息来执行工作。 在一种可能的实现方式中, 主用节点设备 M发起新增 节点设备 D和 E, 则首先将节点设备 D和 E启动并连接到主用节点设备 M, 然 后主用节点设备 M将系统原有的数据, 即将节点设备 M、 A、 B、 C上一致的 数据复制到 D和 E上, 而且系统会生成第二配置信息, 第二配置信息中包括 了 M, A, B, C, D和 E的信息, 此时第二配置信息虽然已经生成, 但并未得 到当前各从节点设备对配置变更请求和配置执行请求的响应, 即尚未生效, 因此, 可以先标记为无效, 系统中当前各个设备 M, A, B和 C仍然根据第一 配置信息工作, 这里第一配置信息包括了 M, A, B和 C的信息。 在一种可能 的实现方式中, 主用节点设备 M接收到第二配置信息后, 将第二配置信息携 带在配置变更请求中发给各从节点设备(此时为从节点设备 A、 B和 C)之前, 任意节点设备都有可能接收到客户端发送的数据更新请求,这种情况下节点 设备 A、 B、 C以及主用节点设备 M根据系统的第一配置信息对该数据更新请 求进行处理。 这样, 就能够保证系统上的数据的一致性。 从节点设备 D和 E 在主用节点设备 M确定为配置执行请求通过之后, 再根据第二配置信息对来 自客户端的数据更新请求进行处理。 需要说明的是, 在有新节点设备加入的 情况下, 配置变更请求是无需发给新增的节点设备的, 配置执行请求可以发 给新增的节点设备, 但是无需新增的节点设备返回确认响应。 而且新增的节 点设备只有在对应新配置信息的配置执行请求通过之后, 再根据新的配置信 息执行工作, 如果新配置信息的配置执行请求不能够通过, 则新增的节点设 备不执行工作。
实施例 3
图 3示出根据本发明又一实施例的分布式系统的节点设备更新的方法的 流程图。 如图 3所示, 本实施例以一个具体的系统为例进行说明。 该系统包 括主用节点设备、 从节点设备 1、 2, 从节点设备 3为新增的节点设备, 该实 施例包括:
步骤 S301、 从节点设备 3申请加入, 主用节点设备确认从节点设备 3的加 入。
步骤 S302、 主用节点设备将系统的数据复制到从节点设备 3上。
步骤 S303、 安装在主用节点设备上的应用程序开始生成第二配置信息。 步骤 S304、在生成第二配置信息的过程中, 主用节点设备接收到来自客 户端的数据更新请求。
步骤 S305、主用节点设备将接收到的客户端发送的数据更新请求发给从 节点设备 1和 2。
步骤 S306、 此时, 系统的第二配置信息还未生成, 因此主用节点设备、 从节点设备 1和 2需要根据第一配置信息处理该数据更新请求,而包含从节点 设备 3的信息的第二配置信息还未生效, 因此从节点设备 3无需对来自客户端 的数据更新请求进行处理。
步骤 S307、 生成第二配置信息后, 主用节点设备根据第二配置信息构造 成配置变更请求 cop, 再将 cop构造成 Accept消息下发给从节点设备 1和 2。
然后主用节点设备等待当前从节点设备 1和 2的确认响应。
步骤 S308、从节点设备 1和 2根据第一配置信息处理完该数据更新请求之 后, 会将执行结果上报给主用节点设备, 以供主用节点设备做记录。
步骤 S309、 从节点设备 1和 2在接收到配置更新请求 cop对应的 Accpet消 息后, 也会分别上报针对配置更新请求 cop的确认响应 confirm给主用节点设 备。
本实施例中, 以从节点设备 1和 2回复同意的确认响应为例进行说明。 步骤 S310、 主用节点设备根据接收到确认响应确认该配置更新请求通 过。
步骤 S311、 主用节点设备保存该第二配置信息, 并发送一个包括第二配 置信息的配置执行请求 Active消息给各从节点设备 1、 2以及 3, 用于确认从节 点设备根据第二配置信息来处理数据更新请求。
步骤 S312、 主用节点设备收到各从节点设备 1和 2返回的确认响应。 步骤 S313、主用节点设备根据接收到的确认响应确认该配置执行请求通 过。
步骤 S314、 主用节点设备向从节点设备 1、 2和 3发送确认结果。
如果确认结果为通过, 从节点设备 1、 2和 3根据第二配置信息处理接收 到的数据更新请求, 如果确认结果为未通过, 从节点设备 1和 2根据第一配置 信息处理数据更新请求。
优选地, Active消息包含主用节点设备的记录编号 epoch, 各节点设备根 据记录编号 epoch中记录的各数据更新请求的到达顺序, 根据第一配置信息 或第二配置信息对发出重配置请求 cop之后接收到的数据更新请求进行处 理。
需要说明的是, 上述例子只是以主用节点设备为例阐述在线修改系统的 配置信息时保持系统的数据一致性的过程。 对于系统配置信息的生成、 配置 更新请求构造和发送、配置执行请求构造和发送以及接收客户端的数据更新 请求, 可以由系统的任一节点设备完成, 本申请并不局限于具体的某个节点 设备。
实施例 4
图 4示出根据本发明再一实施例的分布式系统的节点设备的结构示意 图。 如图 4所示, 该节点设备 10在系统 100中, 可以是主用节点设备也可以是 从节点设备, 节点设备 10使用第一配置信息在系统 100中工作, 其中, 第一 配置信息包括分布式系统 100中当前各个节点设备信息, 该节点设备 10包括: 配置变更请求接收模块 1, 第一确认响应发送模块 2, 第一确认结果获取模块 3, 保存模块 4, 配置执行请求接收模块 5, 第二确认响应发送模块 6, 第二确 认结果获取模块 7以及执行模块 8。
其中, 配置变更请求接收模块 1用于接收任一节点设备发送的配置变更 请求, 其中配置变更请求包括第二配置信息, 该第二配置信息包括该分布式 系统 100进行节点设备更新后的各个节点设备信息;第一确认响应发送模块 2 用于根据配置变更请求获取第二配置信息,并向主用节点设备发送配置变更 请求的确认响应; 第一确认结果获取模块 3用于从主用节点设备获取配置变 更请求的确认结果,该配置变更请求的确认结果为主用节点设备根据分布式 系统 100中当前各个节点设备对配置变更请求的确认响应确定出的; 保存模 块 3用于如果配置变更请求的确认结果为通过, 则保存所述第二配置信息; 配置执行请求接收模块 4用于接收任一节点设备发送的配置执行请求, 该配 置执行请求用于请求各节点设备使用第二配置信息在分布式系统 100中工 作; 第二确认响应发送模块 5用于向主用节点设备发送配置执行请求的确认 响应; 第二确认结果获取模块 6用于从主用节点设备获取配置执行请求的确 认结果, 配置执行请求的确认结果为主用节点设备根据分布式系统 100中当 前各个节点设备对配置执行请求的确认响应确定出的; 执行模块 7用于如果 配置执行请求的确认结果为通过, 使用第二配置信息在分布式系统 100中工 作。
其中, 保存模块 3还用于如果配置变更请求的确认结果为不通过, 不保 存第二配置信息。执行模块 7还用于如果配置执行请求的确认结果为不通过, 使用第一配置信息在分布式系统 100中工作。
这样, 通过本实施例提供的分布式系统的节点设备, 分布式系统的一个 节点设备将包括第二配制信息的配置更新请求发送给其它节点设备, 并根据 其它节点设备返回的确认响应来确定出该配置变更请求的确认结果; 当该确 认结果为通过时, 该节点设备再向其它节点设备发送配置执行请求, 并根据 各其它节点设备返回的确认响应确定出该配制执行请求的确认结果, 能够实 现系统配置信息的在线修改, 从而实现系统的重配置, 并且能够使系统在重 配置的过程中在保持系统数据一致性的前提下, 做到系统对外服务不中断, 从而提高了系统的可靠性和可用性。
实施例 5
再如图 4所示, 本实施例提供了一种分布式系统 100, 包括上述实施例中 的节点设备 10, 且其中一个为主用节点设备, 其余为从节点设备。
实施例 6
图 5示出了本发明的再一个实施例的一种网络设备的结构框图。 所述网 络设备 1100可以是具备计算能力的主机服务器、个人计算机 PC、或者可携带 的便携式计算机或终端等。本发明具体实施例并不对计算节点的具体实现做 限定。
所述网络设备 1100包括处理器(processor)lllO、 通信接 口 (Communications Interface) 1120、存储器 (memory) 1130和总线 1140。其中, 处 理器 1110、通信接口 1120、以及存储器 1130通过总线 1140完成相互间的通信。
通信接口 1120用于与网络设备通信, 其中网络设备包括例如虚拟机管理 中心、 共享存储等。
处理器 1110用于执行程序。 处理器 1110可能是一个中央处理器 CPU, 或 者是专用集成电路 ASIC (Application Specific Integrated Circuit) , 或者是被 配置成实施本发明实施例的一个或多个集成电路。
存储器 1130用于存放文件。存储器 1130可能包含高速 RAM存储器, 也可 能还包括非易失性存储器 (non-volatile memory), 例如至少一个磁盘存储器。 存储器 1130也可以是存储器阵列。 存储器 1130还可能被分块, 并且所述块可 按一定的规则组合成虚拟卷。
在一种可能的实施方式中, 上述程序可为包括计算机操作指令的程序代 码。 该程序具体可用于:
接收任一节点设备发送的配置变更请求,其中所述配置变更请求包括第 二配置信息,所述第二配置信息包括所述分布式系统进行节点设备更新后的 各个节点设备信息;
根据所述配置变更请求获取所述第二配置信息,并向主用节点设备发送 所述配置变更请求的确认响应;
从所述主用节点设备获取所述配置变更请求的确认结果,所述配置变更 请求的确认结果为所述主用节点设备根据所述分布式系统中当前各个节点 设备对所述配置变更请求的确认响应确定出的;
如果所述配置变更请求的确认结果为通过, 保存所述第二配置信息, 并 且, 接收任一节点设备发送的配置执行请求,所述配置执行请求用于请求各 节点设备使用所述第二配置信息在所述分布式系统中工作;
向所述主用节点设备发送所述配置执行请求的确认响应;
从所述主用节点设备获取所述配置执行请求的确认结果,所述配置执行 请求的确认结果为所述主用节点设备根据所述分布式系统中当前各个节点 设备对所述配置执行请求的确认响应确定出的;
如果所述配置执行请求的确认结果为通过, 使用所述第二配置信息在所 述分布式系统中工作。
在一种可能的实现方式中, 所述程序还用于:
如果所述配置变更请求的确认结果为不通过, 不保存所述第二配置信 息。
在一种可能的实现方式中, 所述程序还用于:
接收所述主用节点设备发送的配置执行请求。
在一种可能的实现方式中, 所述程序还用于: 如果所述配置执行请求的 确认结果为不通过,所述节点设备使用所述第一配置信息在所述分布式系统 中工作。
本领域普通技术人员可以意识到, 本文所描述的实施例中的各示例性单 元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。 这些功能究竟以硬件还是软件形式来实现, 取决于技术方案的特定应用和设 计约束条件。专业技术人员可以针对特定的应用选择不同的方法来实现所描 述的功能, 但是这种实现不应认为超出本发明的范围。
如果以计算机软件的形式来实现所述功能并作为独立的产品销售或使 用时, 则在一定程度上可认为本发明的技术方案的全部或部分(例如对现有 技术做出贡献的部分)是以计算机软件产品的形式体现的。 该计算机软件产 品通常存储在计算机可读取的非易失性存储介质中,包括若干指令用以使得 计算机设备(可以是个人计算机、 服务器、 或者网络设备等) 执行本发明各 实施例方法的全部或部分步骤。 而前述的存储介质包括 U盘、 移动硬盘、 只 读存储器 (ROM, Read-Only Memory )、 随机存取存储器 (RAM, Random Access Memory), 磁碟或者光盘等各种可以存储程序代码的介质。
以上所述, 仅为本发明的具体实施方式, 但本发明的保护范围并不局限 于此, 任何熟悉本技术领域的技术人员在本发明揭露的技术范围内, 可轻易 想到变化或替换, 都应涵盖在本发明的保护范围之内。 因此, 本发明的保护 范围应以所述权利要求的保护范围为准。

Claims (8)

  1. 权 利 要 求 书
    1、 一种节点设备, 其特征在于, 所述节点设备使用第一配置信息在分 布式系统中工作,其中,所述第一配置信息包括所述分布式系统中当前各个 节点设备信息,所述分布式系统中包括至少三个节点设备,其中一个为主用 设备, 其余为从节点设备, 所述节点设备包括:
    配置变更请求接收模块, 用于接收任一节点设备发送的配置变更请求, 其中所述配置变更请求包括第二配置信息,所述第二配置信息包括所述分布 式系统进行节点设备更新后的各个节点设备信息;
    第一确认响应发送模块,用于根据所述配置变更请求获取所述第二配置 信息, 并向主用节点设备发送所述配置变更请求的确认响应;
    第一确认结果获取模块,用于从所述主用节点设备获取所述配置变更请 求的确认结果,所述配置变更请求的确认结果为所述主用节点设备根据所述 分布式系统中当前各个节点设备对所述配置变更请求的确认响应确定出的; 保存模块,用于如果所述配置变更请求的确认结果为通过,保存所述第 二配置信息;
    配置执行请求接收模块, 用于接收任一节点设备发送的配置执行请求, 所述配置执行请求用于请求各节点设备使用所述第二配置信息在所述分布 式系统中工作;
    第二确认响应发送模块,用于向所述主用节点设备发送所述配置执行请 求的确认响应;
    第二确认结果获取模块,用于从所述主用节点设备获取所述配置执行请 求的确认结果,所述配置执行请求的确认结果为所述主用节点设备根据所述 分布式系统中当前各个节点设备对所述配置执行请求的确认响应确定出的; 执行模块,用于如果所述配置执行请求的确认结果为通过, 使用所述第 二配置信息在所述分布式系统中工作。
  2. 2、根据权利要求 1所述的节点设备,其特征在于,所述保存模块还用于: 如果所述配置变更请求的确认结果为不通过, 不保存所述第二配置信息。
  3. 3、 根据权利要求 1或 2所述的节点设备, 其特征在于, 所述执行模块还 用于: 如果所述配置执行请求的确认结果为不通过,使用所述第一配置信息 在所述分布式系统中工作。
  4. 4、 一种分布式系统的节点设备更新的方法, 其特征在于, 所述分布式 系统包括至少三个节点设备,其中一个为主用节点设备,其余为从节点设备, 所述分布式系统中当前各个节点设备均使用第一配置信息在所述分布式系 统中工作,其中,所述第一配置信息包括所述分布式系统中当前各个节点设 备信息, 对于其中每一节点设备, 所述方法包括:
    所述节点设备接收任一节点设备发送的配置变更请求,其中所述配置变 更请求包括第二配置信息,所述第二配置信息包括所述分布式系统进行节点 设备更新后的各个节点设备信息;
    所述节点设备根据所述配置变更请求获取所述第二配置信息,并向主用 节点设备发送所述配置变更请求的确认响应;
    所述节点设备从所述主用节点设备获取所述配置变更请求的确认结果, 所述配置变更请求的确认结果为所述主用节点设备根据所述分布式系统中 当前各个节点设备对所述配置变更请求的确认响应确定出的;
    如果所述配置变更请求的确认结果为通过,所述节点设备保存所述第二 配置信息, 并且,
    所述节点设备接收任一节点设备发送的配置执行请求,所述配置执行请 求用于请求各节点设备使用所述第二配置信息在所述分布式系统中工作; 所述节点设备向所述主用节点设备发送所述配置执行请求的确认响应; 所述节点设备从所述主用节点设备获取所述配置执行请求的确认结果, 所述配置执行请求的确认结果为所述主用节点设备根据所述分布式系统中 当前各个节点设备对所述配置执行请求的确认响应确定出的; 如果所述配置执行请求的确认结果为通过,所述节点设备使用所述第二 配置信息在所述分布式系统中工作。
  5. 5、 根据权利要求 4所述的分布式系统的节点设备更新的方法, 其特征在 于, 还包括:
    如果所述配置变更请求的确认结果为不通过,所述节点设备不保存所述 第二配置信息。
  6. 6、 根据权利要求 4或 5所述的分布式系统的节点设备更新的方法, 其特 征在于, 所述节点设备接收任一节点设备发送的配置执行请求, 包括: 所述节点设备接收所述主用节点设备发送的配置执行请求。
  7. 7、 根据权利要求 4-6任一项所述的分布式系统的节点设备更新的方法, 其特征在于, 还包括:
    如果所述配置执行请求的确认结果为不通过,所述节点设备使用所述第 一配置信息在所述分布式系统中工作。
  8. 8、 一种分布式系统, 其特征在于, 包括至少三个权利要求 1-3任一项所 述的节点设备, 且其中一个为主用节点设备, 其余为从节点设备。
CN201380002629.3A 2013-12-03 2013-12-03 分布式系统的节点设备更新的方法、节点设备及分布式系统 Active CN105009513B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2013/088464 WO2015081504A1 (zh) 2013-12-03 2013-12-03 分布式系统的节点设备更新的方法、节点设备及分布式系统

Publications (2)

Publication Number Publication Date
CN105009513A true CN105009513A (zh) 2015-10-28
CN105009513B CN105009513B (zh) 2018-09-28

Family

ID=53272734

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380002629.3A Active CN105009513B (zh) 2013-12-03 2013-12-03 分布式系统的节点设备更新的方法、节点设备及分布式系统

Country Status (2)

Country Link
CN (1) CN105009513B (zh)
WO (1) WO2015081504A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111343258A (zh) * 2020-02-17 2020-06-26 中国建设银行股份有限公司 对等节点的管理方法、装置、存储介质及电子设备
CN113157492A (zh) * 2021-04-07 2021-07-23 北京思特奇信息技术股份有限公司 一种分布式数据库的备份方法和恢复方法以及备份系统
CN117478504A (zh) * 2023-12-22 2024-01-30 深圳万物安全科技有限公司 信息传输方法、装置、终端设备以及存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110719209B (zh) * 2019-10-31 2022-06-10 北京浪潮数据技术有限公司 一种集群网络配置方法、系统、设备及可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101084687A (zh) * 2004-12-23 2007-12-05 科胜讯系统公司 用于无线客户端连接和远程配置的系统及方法
US7461141B2 (en) * 2004-01-30 2008-12-02 Applied Micro Circuits Corporation System and method for performing driver configuration operations without a system reboot
CN101331704A (zh) * 2005-11-02 2008-12-24 诺基亚公司 针对2毫秒nst/ns的harq过程的重分配提供无线链路参数更新的装置、方法和计算机程序产品
CN102118263A (zh) * 2010-01-06 2011-07-06 中兴通讯股份有限公司 配置信息的发布方法及系统
CN102394936A (zh) * 2011-11-11 2012-03-28 青岛海信传媒网络技术有限公司 集群系统无损业务维护方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7461141B2 (en) * 2004-01-30 2008-12-02 Applied Micro Circuits Corporation System and method for performing driver configuration operations without a system reboot
CN101084687A (zh) * 2004-12-23 2007-12-05 科胜讯系统公司 用于无线客户端连接和远程配置的系统及方法
CN101331704A (zh) * 2005-11-02 2008-12-24 诺基亚公司 针对2毫秒nst/ns的harq过程的重分配提供无线链路参数更新的装置、方法和计算机程序产品
CN102118263A (zh) * 2010-01-06 2011-07-06 中兴通讯股份有限公司 配置信息的发布方法及系统
CN102394936A (zh) * 2011-11-11 2012-03-28 青岛海信传媒网络技术有限公司 集群系统无损业务维护方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111343258A (zh) * 2020-02-17 2020-06-26 中国建设银行股份有限公司 对等节点的管理方法、装置、存储介质及电子设备
CN113157492A (zh) * 2021-04-07 2021-07-23 北京思特奇信息技术股份有限公司 一种分布式数据库的备份方法和恢复方法以及备份系统
CN117478504A (zh) * 2023-12-22 2024-01-30 深圳万物安全科技有限公司 信息传输方法、装置、终端设备以及存储介质
CN117478504B (zh) * 2023-12-22 2024-03-29 深圳万物安全科技有限公司 信息传输方法、装置、终端设备以及存储介质

Also Published As

Publication number Publication date
WO2015081504A1 (zh) 2015-06-11
CN105009513B (zh) 2018-09-28

Similar Documents

Publication Publication Date Title
US20200081731A1 (en) Method, system and apparatus for creating virtual machine
CN105979007B (zh) 加速资源处理方法、装置及网络功能虚拟化系统
JP2022501752A (ja) 電子手形識別子の割り当て方法、電子手形の生成方法、及びその装置とシステム、並びに、記憶媒体及びコンピュータプログラム
US20200065148A1 (en) Method for Associating NS with VNF, Apparatus, and System
CN108628660B (zh) 一种虚拟机扩缩容方法及虚拟管理设备
EP3893438A1 (en) Vnf service instantiation method and device
WO2015158108A1 (zh) 虚拟机资源的变更方法、装置及虚拟网络功能设备
CN105009513A (zh) 分布式系统的节点设备更新的方法、节点设备及分布式系统
CN103002065A (zh) 一种主用设备与备用设备共用ip地址的方法和装置
CN110262893A (zh) 配置镜像内存的方法、装置及计算机存储介质
CN106878382A (zh) 一种分布式仲裁集群中动态改变集群规模的方法及装置
CN111431730A (zh) 一种业务处理方法、系统、计算机设备及可读介质
CN110730095B (zh) 一种面向云计算平台的数据安全应急演练方法和系统
CN106911769B (zh) 云平台路由数据的处理方法和云平台的物理服务器
CN111416732B (zh) 一种sdn中网络设备扩容自动配置业务的方法及装置
CN116095145B (zh) 一种vpc集群的数据控制方法和系统
CN107995319B (zh) 虚拟设备配置方法及网络设备
CN108282350A (zh) 网络管理方法和装置
WO2016172948A1 (zh) 路由信息配置方法及装置
US11809852B2 (en) Distributed autonomous patching system
CN113110883B (zh) 区块链系统的启动方法、装置、设备和存储介质
CN114942853A (zh) 数据处理系统
CN106803804A (zh) 传输报文的方法和装置
CN112463228A (zh) 一种存储池混合部署的方法和设备
CN104363208A (zh) 一种计算机集群间密钥管理方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant