WO2014201982A1 - 数据同步方法、数据同步装置及分布式系统 - Google Patents

数据同步方法、数据同步装置及分布式系统 Download PDF

Info

Publication number
WO2014201982A1
WO2014201982A1 PCT/CN2014/079921 CN2014079921W WO2014201982A1 WO 2014201982 A1 WO2014201982 A1 WO 2014201982A1 CN 2014079921 W CN2014079921 W CN 2014079921W WO 2014201982 A1 WO2014201982 A1 WO 2014201982A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
data center
backup
information
service
Prior art date
Application number
PCT/CN2014/079921
Other languages
English (en)
French (fr)
Inventor
沈柯
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2014201982A1 publication Critical patent/WO2014201982A1/zh
Priority to US14/974,368 priority Critical patent/US20160105502A1/en

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/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1065Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT] 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/44Distributed routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1063Discovery through centralising entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection

Definitions

  • a segment of the node 11 map is set to [D , A )
  • a segment of the node 12 is mapped to a range [A, B )
  • a segment of the node 13 is mapped to a range [B , C )
  • a segment of the node 14 is a range of [C , D )
  • the data of each of the four nodes is backed up in at least one other node, for example, the data backup in the node 11 is in the node 12, and may also be in the node 12 and the node. Backups are performed in each of the nodes 13 and 13 to prevent data loss when a node fails to operate normally.
  • FIG. 10 is an overall structural diagram of a distributed system in an embodiment of the present invention. detailed description
  • the backup routing information includes range range information corresponding to the node, attribute information indicating whether the node is a serving node or a backup node, and backup node information of the node, where the backup node information of the node is when the node is a serving node. When used, the routing information of the backup node used to back up the data in the node.
  • step S402 is performed, in which the management node updates the routing information of the first data center and the second data center according to the routing update message.
  • a first factor for triggering a range change parameter of the first service node mapping is obtained, and when the first factor is a new node joining, a load balancing policy or a hash algorithm may be used to adjust a range corresponding to each of the at least two service nodes a distribution; when the first factor is that the nodes in the first data center are unevenly loaded, the load balancing policy may be used to adjust a range distribution corresponding to each of the at least two service nodes, For example, when the access volume and the data traffic corresponding to the node 31 in the data center 1 are rapidly increasing, and the working efficiency of the node 31 is lowered, the corresponding range distribution of the node 31 and the node 32 is adjusted based on the load balancing policy, so that the data center is The load in each node in 1 reaches an equalization; if the first factor is a node drop, the range merging algorithm may be used to adjust the range distribution corresponding to each of the at least two service nodes, for example When the first factor is a no
  • the service data center 4 includes a node 61
  • the node 62 and the node 63 are both service nodes, and the service data center 4 is mapped into a DHT ring 60.
  • the value range of the DHT ring 60 is (0, 100).
  • the backup data center 5 includes the node 71, the node 72, and the node 73.
  • the routing information stored in the management node is as shown in Table 3 below.
  • the routing information of the service data center 4 is a routing information
  • the routing information of the backup data center 5 is b routing information.
  • the slave node of the node 32 needs to be adjusted from the node 31 and the node 33 to the node 34 in the data center 1, the request for adjusting the slave node is sent to the management node, thereby making the management
  • the node can receive the first routing update, and then the management node adjusts the first routing information of the data center 1 based on the first routing update message, and the management node associates the slave node of the node 32 by the node.
  • 31 and node 33 are adjusted to node 34, and the adjusted routing information of the data center 1 is sent to the data center 1, so that the data center 1 backs up the data in the node 32 based on the adjusted routing information of the data center 1.
  • the node 34 the data in the node 32 backed up by the node 31 and the node 33 is deleted.
  • a second embodiment of the present invention provides a data synchronization apparatus.
  • the data synchronization apparatus is respectively connected to each data center in a multiple data center, and the multiple data center includes at least two data centers.
  • each of the at least two data centers includes at least two nodes, all of the at least two data centers mapping one distributed hash DHT ring, each segment of the DHT ring
  • the continuous value range range corresponds to one service node, and the service node in the first data center of the at least two data centers is in the at least two data
  • At least one second data center in the center has at least one backup node corresponding to the data interval distribution
  • the data synchronization device includes:
  • the first route adjustment unit 702 is configured to receive the route update message from the first obtaining unit 701, and adjust routing information of the first data center and the second data center according to the route update message;

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

公开了一种数据同步方法、数据同步装置及分布式系统,管理节点获取指示对所述第一数据中心和所述第二数据中心的路由信息进行更新的路由更新消息,其中,所述路由信息中至少包含所述第一数据中心和所述第二数据中心的标识信息以及所述第一数据中心和所述第二数据中心中各节点的备份路由信息;所述管理节点根据所述路由更新消息,调整所述第一数据中心和所述第二数据中心的路由信息;所述管理节点将调整后的所述第一数据中心和所述第二数据中心的路由信息同步到所述第一数据中心和所述第二数据中心中,以使所述第一数据中心和所述第二数据中心基于所述调整后的路由信息,对管辖的各个节点的数据进行同步传输。

Description

数据同步方法、 数据同步装置及分布式系统
技术领域 本发明涉及数据存储领域, 具体涉及一种数据同步方法、 数据同步装 置及分布式系统。 背景技术 随着大数据技术的发展, 为了有效解决数据集中带来的风险和访问延时 的问题, 通常是基于分布式系统来构建包括服务数据中心和备份数据中心的 多数据中心, 并实时确认所述多数据中心中的每一个数据中心及其数据中心 内部的服务器的运行状况, 以服务数据中心为例, 在某个服务数据中心不能 正常运行时, 基于就近原则将后续用户的访问导向另一个正常运行的服务数 据中心; 以及在某个服务数据中心的一个服务器不能正常运行时, 同样基于 就近原则将后续用户的访问导向该服务数据中心的另一服务器中, 然而在多 数据中心情况下, 为了能够容灾和就近访问的需要, 对于备份数据中心按照 一致性性要求同步来自服务数据中心的数据, 必然导致服务数据中心和备份 数据中心之间的信息进行交互, 一旦所述多数据中心的交互的信息很多时, 必然会导致数据中心之间的封闭性变差, 从而降低了各个数据中心之间的独 立性, 若通过转发的方式来保证数据中心之间的封闭性时, 由于转发节点需 要转发所述多数据中心的所有的同步数据, 而所述转发节点的转发效率是具 有瓶颈的, 必然会出现瓶颈效应, 从而导致所述多数据中心的同步数据的传 输也会出现瓶颈效应。
其中, 在分布式系统中, 通常使用一致性哈希 (hash ) 环实现对数据的 分片存储和分片查询, 按照所述一致性 hash环包含的多段 range (连续的取值 范围)来实现分片, 以一个数据中心为例, 具体如图 1所示, 该数据中心包含 节点 11、 节点 12、 节点 13和节点 14这四个节点, 其中的每一个节点由一个或 多个服务器组成, 一致性 hash环 10的取值范围为 0-2Λ128 , 其中, 节点 11映射 在一致性 hash环 10上的 Α位置, 节点 12映射在一致性 hash环 10上的 B位置, 节 点 13映射在一致性 hash环 10上的 C位置, 节点 14映射在一致性 hash环 10上的 D 位置, 使得节点 1 1映射的一段 range为 [D , A ) , 节点 12映射的一段 range为 [A, B ) , 节点 13映射的一段 range为 [B , C )和节点 14映射的一段 range为 [C , D ) , 而且所述四个节点中的每一个节点的数据均在至少一个另一节点中进行备 份, 例如节点 1 1中的数据备份在节点 12中, 也可以在节点 12、 节点 13和节点 13的每一个节点中都进行备份, 使得在一个节点不能正常运行时, 防止数据 出现丟失的情况。
现有技术中提出通过中转节点来实现多数据中心中的数据同步和基于同 — DHT ( DistributedHashTable , 分布式哈希 ) 环来实现多数据中心中的数据 同步, 其中, Oracle的 Data Guard以及 my sql数据库都是通过数据中心之间构 建中转节点群来实现多数据中心中的数据同步, 使得所述多数据中心中的所 有的数据传输都需要通过所述中转节点群来进行传输, 但是随着用户终端的 数量增加的越来越多,使得需要所述中转节点群来中转的数据量也越来越大, 必然导致所述中转节点群出现瓶颈效应。
其次, 在基于同一 DHT环来实现多数据中心中的数据同步时, 所述多数 据中心的所有节点映射为一个 DHT环, 使得所述多数据中心的各个节点能够 在用户大量操作请求的情况下, 通过所述各个节点来分担大量的数据中心之 间的同步请求压力, 具体以 cassandra数据库为例, 参见图 2 , 数据中心 21和数 据中心 22都映射在一个 DHT环 20上, 其中, 数据中心 21包含节点 23映射的一 段 range为 [D , A ) 、 节点 25映射的一段 range为 [E , B ) 、 节点 27映射的一段 range为 [F , C ) 和节点 29映射的一段 range为 [G, D ) , 数据中心 22包含节点 24映射的一段 range为 [A, E ) 、 节点 26映射的一段 range为 [B , F ) 和节点 28 映射的一段 range为 [C , G ) , 当用户的操作请求的哈希值落在 range区间 [D , A ) 上时, 节点 23来响应所述操作请求, 在节点 23中的数据有变化时, 需要 将变化的数据备份到节点 24中, 由于节点 23属于数据中心 21而节点 24属于数 据中心 23 , 从而使得数据中心 21和数据中心 22出现进行交互; 当所述操作请 求的哈希值落在 range区间 [B , F ) 上时, 节点 26来响应所述操作请求, 在节 点 26中的数据有变化时, 需要将变化的数据备份到节点 27中, 由于节点 26属 于数据中心 22而节点 27属于数据中心 21 , 导从而使得数据中心 21和数据中心 22进行数据交互, 当有大量的操作请求时, 使得数据中心 21和数据中心 22之 间的数据交互增多, 使得数据中心 21和数据中心 22之间的封闭性变差。
综上所述, 现有技术中提出的实现多数据中心的数据同步的方法, 要么 数据同步传输时存在瓶颈效应, 要么存在封闭性差的技术问题。 发明内容 本申请实施例通过提供一种数据同步方法、数据同步装置及分布式系统, 能够避免数据同步传输时存在的瓶颈效应, 提高数据同步传输的效率, 以及 增强各个数据中心的封闭性。
根据本发明的第一方面, 提供了一种数据同步方法, 一多数据中心中包 括至少两个数据中心, 所述至少两个数据中心中的每个数据中心包括至少两 个节点,所述至少两个数据中心中的所有服务节点映射一个分布式哈希 DHT 环, 所述 DHT环中的每一段连续的取值范围 range与一个服务节点对应, 所 述至少两个数据中心中的第一数据中心中的服务节点在所述至少两个数据中 心中的至少一个第二数据中心中有数据区间分布相对应的至少一个备份节 点, 所述方法包括: 管理节点获取指示对所述第一数据中心和所述第二数据 中心的路由信息进行更新的路由更新消息, 其中, 所述路由信息中至少包含 所述第一数据中心和所述第二数据中心的标识信息以及所述第一数据中心和 所述第二数据中心中各节点的备份路由信息; 所述管理节点根据所述路由更 新消息, 调整所述第一数据中心和所述第二数据中心的路由信息; 所述管理 节点将调整后的所述第一数据中心和所述第二数据中心的路由信息同步到所 述第一数据中心和所述第二数据中心中, 以使所述第一数据中心和所述第二 数据中心基于所述调整后的路由信息, 对管辖的各个节点的数据进行同步传 输。
结合第一方面, 在第一种可能的实现方式中, 所述备份路由信息包括节 点对应的 range范围信息、 指示该节点为服务节点还是备份节点的属性信息 和该节点的备份节点信息, 其中, 所述该节点的备份节点信息为当该节点为 服务节点时, 用于备份该节点中数据的备份节点的路由信息。
结合第一方面的第一种可能的实现方式, 在第二种可能的实现方式中, 所述管理节点根据所述路由更新消息, 调整所述第一数据中心和所述第二数 据中心的路由信息, 具体包括: 所述管理节点根据所述路由更新消息中的参 数, 调整所述第一数据中心和所述第二数据中心的路由信息中的备份路由信 息, 其中, 所述路由更新消息中的参数包括服务节点映射的 range变化参数 且该服务节点对应一备份节点、 备份节点变化参数、 备份或服务节点对应的 range服务切换参数中的一种或任意组合, 所述备份或服务节点对应的 range 服务切换参数用于指示该备份或服务节点作为服务节点或作为备份节点的参 数。
结合第一方面的第二种可能实现的方式, 在第三种可能的实现方式中, 在所述路由更新消息中的参数为所述第一数据中心中的第一服务节点映射的 range变化参数且所述第一服务节点对应一备份节点时,所述管理节点根据所 述路由更新消息中的参数, 调整所述第一数据中心和所述第二数据中心的路 由信息中的备份路由信息, 具体包括: 所述管理节点基于所述第一服务节点 映射的 range变化参数, 釆用负载均衡策略或哈希算法或 range合并算法,调 整所述路由信息中的所述第一数据中心中的所述第一服务节点及其相关的第 二服务节点中的每一个服务节点映射的 range分布, 以及相应调整所述路由 信息中的所述第二数据中心中的至少一个备份节点的 range分布, 其中, 所 述至少一个备份节点与所述第一服务节点和所述第二服务节点相对应。
结合第一方面的第二种可能实现的方式, 在第四种可能的实现方式中, 在所述路由更新消息中的参数为所述第二数据中心中的第一备份节点变化参 数时, 所述管理节点根据所述路由更新消息中的参数, 调整所述第一数据中 心和所述第二数据中心的路由信息中的备份路由信息, 具体包括: 所述管理 节点获取与所述第一备份节点变化参数对应的因素, 所述因素用于触发所述 第一备份节点发生改变; 所述管理节点检测到所述因素为备份节点掉线或数 据迁移时, 釆用 range合并算法, 调整所述路由信息中的所述第一备份节点 及其相关的第二备份节点对应的 range分布, 以及相应调整所述路由信息中 的至少两个服务节点中的每一个服务节点的备份节点信息, 其中, 所述至少 两个服务节点为所述第一数据中心中的与所述第一备份节点和所述第二备份 节点对应的服务节点。
结合第一方面的第二种可能实现的方式, 在第五种可能实现的方式中, 在所述路由更新消息中的参数为所述第一数据中心的第三服务节点对应的 range服务切换参数时, 所述管理节点根据所述路由更新消息中的参数,调整 所述第一数据中心和所述第二数据中心的路由信息中的备份路由信息, 具体 为: 所述管理节点从所述第二数据中心中确定与所述第三服务节点对应的第 三备份节点; 所述管理节点基于所述第三服务节点对应的 range服务切换参 数, 将所述路由信息中的所述第三服务节点的属性信息从第一属性信息调整 为第二属性信息, 并将所述第三服务节点的备份节点信息中的所述第三备份 节点的路由信息删除, 以及将所述路由信息中的所述第三备份节点的属性信 息从所述第二属性信息调整为所述第一属性信息, 并将所述第三服务节点的 路由信息添加到所述第三备份节点的备份节点信息中, 其中, 所述第一属性 信息用于指示节点为服务节点的信息, 所述第二属性信息用于指示节点为备 份节点的信息。
结合第一方面或第一种可能的实现方式至第五种可能的实现方式中的任 意一种, 在第六种可能实现的方式中, 所述管理节点中存储有所述多数据中 心中的每一个数据中心的路由表信息, 所述路由表信息中包含与所述每一个 数据中心唯一对应的标识信息和所述每一个数据中心的路由信息。
根据本发明的第二方面, 提供了一种数据同步装置, 该数据同步装置分 别与一多数据中心中的每一个数据中心通信相连, 所述多数据中心中包括至 少两个数据中心, 且所述至少两个数据中心中的每个数据中心包括至少两个 节点, 所述至少两个数据中心中的所有服务节点映射一个分布式哈希 DHT 环, 所述 DHT环中的每一段连续的取值范围 range与一个服务节点对应, 所 述至少两个数据中心中的第一数据中心中的服务节点在所述至少两个数据中 心中的至少一个第二数据中心中有数据区间分布相对应的至少一个备份节 点, 所述数据同步装置包括: 第一获取单元, 用于获取指示对所述第一数据 中心和所述第二数据中心的路由信息进行更新的路由更新消息, 其中, 所述 路由信息中至少包含所述第一数据中心和所述第二数据中心的标识信息以及 所述第一数据中心和所述第二数据中心中各节点的备份路由信息; 第一路由 调整单元, 用于接收来自所述第一获取单元的所述路由更新消息, 并根据所 述路由更新消息,调整所述第一数据中心和所述第二数据中心的路由信息; ; 第一路由同步单元, 用于在接收到来自所述第一路由调整单元的调整后的所 述第一数据中心和所述第二数据中心的路由信息, 并将所述调整后的所述第 一数据中心和所述第二数据中心的路由信息同步到所述第一数据中心和所述 第二数据中心中, 以使所述第一数据中心和所述第二数据中心基于所述调整 后的路由信息, 对管辖的各个节点的数据进行同步传输。 结合第二方面, 在第一种可能的实现方式中, 所述备份路由信息包括节 点对应的 range范围信息、 指示该节点为服务节点还是备份节点的属性信息 和该节点的备份节点信息, 其中, 所述该节点的备份节点信息为当该节点为 服务节点时, 用于备份该节点中数据的备份节点的路由信息。
结合第二方面的第一种可能的实现方式, 在第二种可能的实现方式中, 所述第一路由调整单元, 具体用于根据所述路由更新消息中的参数, 调整所 述第一数据中心和所述第二数据中心的路由信息中的备份路由信息, 其中, 所述路由更新消息中的参数包括服务节点映射的 range变化参数且该服务节 点对应一备份节点、 备份节点变化参数、 备份或服务节点对应的 range服务 切换参数中的一种或任意组合, 所述备份或服务节点对应的 range服务切换 参数用于指示该备份或服务节点作为服务节点或作为备份节点的参数。
结合第二方面的第一种可能的实现方式, 在第三种可能的实现方式中, 所述第一路由调整单元包括第一路由调整子单元, 用于在所述路由更新消息 中的参数为所述第一数据中心中的第一服务节点映射的 range变化参数且所 述第一服务节点对应一备份节点时, 基于所述第一服务节点映射的 range变 化参数, 釆用负载均衡策略或哈希算法或 range合并算法, 调整所述路由信 息中的所述第一数据中心中的所述第一服务节点及其相关的第二服务节点中 的每一个服务节点映射的 range分布, 以及相应调整所述路由信息中的所述 第二数据中心中的至少一个备份节点的 range分布, 其中, 所述至少一个备 份节点与所述第一服务节点和所述第二服务节点相对应。
结合第二方面的第一种可能的实现方式, 在第四种可能的实现方式中, 所述第一路由调整单元包括第二路由调整子单元, 用于在所述路由更新消息 中的参数为所述第二数据中心中的第一备份节点变化参数时, 获取与所述第 一备份节点变化参数对应的因素, 所述因素用于触发所述第一备份节点发生 改变, 在检测到所述因素为备份节点掉线或数据迁移时, 釆用 range合并算 法, 调整所述路由信息中的所述第一备份节点及其相关的第二备份节点对应 的 range分布, 以及相应调整所述路由信息中的至少两个服务节点中的每一 个服务节点的备份节点信息, 其中, 所述至少两个服务节点为所述第一数据 中心中的与所述第一备份节点和所述第二备份节点对应的服务节点。
结合第二方面的第一种可能的实现方式, 在第五种可能实现的方式中, 所述第一路由调整单元包括第三路由调整子单元, 用于在所述路由更新消息 中的参数为所述第一数据中心的第三服务节点对应的 range服务切换参数时 , 从所述第二数据中心中确定与所述第三服务节点对应的第三备份节点, 再基 于所述第三服务节点对应的 range服务切换参数, 将所述路由信息中的所述 第三服务节点的属性信息从第一属性信息调整为第二属性信息, 并将所述第 三服务节点的备份节点信息中的所述第三备份节点的路由信息删除, 以及将 所述路由信息中的所述第三备份节点的属性信息从所述第二属性信息调整为 所述第一属性信息, 并将所述第三服务节点的路由信息添加到所述第三备份 节点的备份节点信息中, 其中, 所述第一属性信息用于指示节点为服务节点 的信息, 所述第二属性信息用于指示节点为备份节点的信息。
结合第二方面或第一种可能的实现方式至第五种可能的实现方式中的任 意一种, 在第六种可能实现的方式中, 所述数据同步装置包括存储单元, 用 于存储所述多数据中心中的每一个数据中心的路由表信息, 所述路由表信息 中包含与所述每一个数据中心唯一对应的标识信息和所述每一个数据中心的 路由信息。
根据本发明的第三方面, 还提供了一种数据同步装置, 该数据同步装置 分别与一多数据中心中的每一个数据中心通信相连, 所述多数据中心中包括 至少两个数据中心, 且所述至少两个数据中心中的每个数据中心包括至少两 个节点,所述至少两个数据中心中的所有服务节点映射一个分布式哈希 DHT 环, 所述 DHT环中的每一段连续的取值范围 range与一个服务节点对应, 所 述至少两个数据中心中的第一数据中心中的服务节点在所述至少两个数据中 心中的至少一个第二数据中心中有数据区间分布相对应的至少一个备份节 点, 所述数据同步装置包括: 存储器, 用于存储所述多数据中心中的每一个 数据中心的路由表信息, 所述路由表信息中包含与所述每一个数据中心唯一 对应的标识信息和所述每一个数据中心的路由信息; 控制器, 用于获取指示 对所述第一数据中心和所述第二数据中心的路由信息进行更新的路由更新消 息, 其中, 所述路由信息中至少包含所述第一数据中心和所述第二数据中心 的标识信息以及所述第一数据中心和所述第二数据中心中各节点的备份路由 信息, 并根据所述路由更新消息, 调整所述第一数据中心和所述第二数据中 心的路由信息; 发送器, 用于将调整后的所述第一数据中心和所述第二数据 中心的路由信息同步到所述第一数据中心和所述第二数据中心中, 以使所述 第一数据中心和所述第二数据中心基于所述调整后的路由信息, 对管辖的各 个节点的数据进行同步传输。
结合第三方面, 在第一种可能的实现方式中, 所述备份路由信息包括节 点对应的 range范围信息、 指示该节点为服务节点还是备份节点的属性信息 和该节点的备份节点信息, 其中, 所述该节点的备份节点信息为当该节点为 服务节点时, 用于备份该节点中数据的备份节点的路由信息。
结合第三方面的第一种可能的实现方式, 在第二种可能的实现方式中, 所述控制器, 具体用于根据所述路由更新消息中的参数, 调整所述第一数据 中心和所述第二数据中心的路由信息中的备份路由信息, 其中, 所述路由更 新消息中的参数包括服务节点映射的 range变化参数且该服务节点对应一备 份节点、 备份节点变化参数、 备份或服务节点对应的 range服务切换参数中 的一种或任意组合, 所述备份或服务节点对应的 range服务切换参数用于指 示该备份或服务节点作为服务节点或作为备份节点的参数。
结合第三方面的第一种可能的实现方式, 在第三种可能的实现方式中, 所述控制器, 还用于在所述路由更新消息中的参数为所述第一数据中心中的 第一服务节点映射的 range变化参数且所述第一服务节点对应一备份节点时 , 基于所述第一服务节点映射的 range变化参数, 釆用负载均衡策略或哈希算 法或 range合并算法, 调整所述路由信息中的所述第一数据中心中的所述第 一服务节点及其相关的第二服务节点中的每一个服务节点映射的 range分布 , 以及相应调整所述路由信息中的所述第二数据中心中的至少一个备份节点的 range分布,其中, 所述至少一个备份节点与所述第一服务节点和所述第二服 务节点相对应。
结合第三方面的第一种可能的实现方式, 在第四种可能的实现方式中, 所述控制器, 还用于在所述路由更新消息中的参数为所述第二数据中心中的 第一备份节点变化参数时, 获取与所述第一备份节点变化参数对应的因素, 所述因素用于触发所述第一备份节点发生改变, 检测到所述因素为备份节点 掉线或数据迁移时, 釆用 range合并算法, 调整所述路由信息中的所述第一 备份节点及其相关的第二备份节点对应的 range分布, 以及相应调整所述路 由信息中的至少两个服务节点中的每一个服务节点的备份节点信息, 其中, 所述至少两个服务节点为所述第一数据中心中的与所述第一备份节点和所述 第二备份节点对应的服务节点。
结合第三方面的第一种可能的实现方式, 在第五种可能的实现方式中, 所述控制器, 还用于在所述路由更新消息中的参数为所述第一数据中心的第 三服务节点对应的 range服务切换参数时, 从所述第二数据中心中确定与所 述第三服务节点对应的第三备份节点 ,并基于所述第三服务节点对应的 range 服务切换参数, 将所述路由信息中的所述第三服务节点的属性信息从第一属 性信息调整为第二属性信息, 并将所述第三服务节点的备份节点信息中的所 述第三备份节点的路由信息删除, 以及将所述路由信息中的所述第三备份节 点的属性信息从所述第二属性信息调整为所述第一属性信息, 并将所述第三 服务节点的路由信息添加到所述第三备份节点的备份节点信息中, 其中, 所 述第一属性信息用于指示节点为服务节点的信息, 所述第二属性信息用于指 示节点为备份节点的信息。
根据本发明的第四方面, 还提供一种分布式系统, 包括: 多数据中心, 包括至少两个数据中心, 所述至少两个数据中心中的每个数据中心包括至少 两个节点, 所述至少两个数据中心中的所有服务节点映射一个分布式哈希 DHT环, 所述 DHT环中的每一段连续的取值范围 range与一个服务节点对 应, 所述至少两个数据中心中的第一数据中心中的服务节点在所述至少两个 数据中心中的至少一个第二数据中心中有数据区间分布相对应的至少一个备 份节点; 管理节点, 与所述多数据中心中的每一个数据中心通信相连, 用于 获取指示对所述第一数据中心和所述第二数据中心的路由信息进行更新的路 由更新消息, 其中, 所述路由信息中至少包含所述第一数据中心和所述第二 数据中心的标识信息以及所述第一数据中心和所述第二数据中心中各节点的 备份路由信息, 并根据所述路由更新消息, 调整所述第一数据中心和所述第 二数据中心的路由信息, 以及将调整后的所述第一数据中心和所述第二数据 中心的路由信息同步到所述第一数据中心和所述第二数据中心中, 以使所述 第一数据中心和所述第二数据中心基于所述调整后的路由信息, 对管辖的各 个节点的数据进行同步传输。
结合第四方面, 在第一种可能的实现方式中, 所述备份路由信息包括节 点对应的 range范围信息、 指示该节点为服务节点还是备份节点的属性信息 和该节点的备份节点信息, 其中, 所述该节点的备份节点信息为当该节点为 服务节点时, 用于备份该节点中数据的备份节点的路由信息。
结合第四方面的第一种可能的实现方式, 在第二种可能的实现方式中, 所述管理节点, 具体用于根据所述路由更新消息中的参数, 调整所述第一数 据中心和所述第二数据中心的路由信息中的备份路由信息, 其中, 所述路由 更新消息中的参数包括服务节点映射的 range变化参数且该服务节点对应一 备份节点、 备份节点变化参数、 备份或服务节点对应的 range服务切换参数 中的一种或任意组合, 所述备份或服务节点对应的 range服务切换参数用于 指示该备份或服务节点作为服务节点或作为备份节点的参数。
结合第四方面的第一种可能的实现方式, 在第三种可能的实现方式中, 所述管理节点, 还用于在所述路由更新消息中的参数为所述第一数据中心中 的第一服务节点映射的 range变化参数且所述第一服务节点对应一备份节点 时, 基于所述第一服务节点映射的 range变化参数, 釆用负载均衡策略或哈 希算法或 range合并算法, 调整所述路由信息中的所述第一数据中心中的所 述第一服务节点及其相关的第二服务节点中的每一个服务节点映射的 range 分布, 以及相应调整所述路由信息中的所述第二数据中心中的至少一个备份 节点的 range分布, 其中, 所述至少一个备份节点与所述第一服务节点和所 述第二服务节点相对应。
结合第四方面的第一种可能的实现方式, 在第四种可能的实现方式中, 所述管理节点, 还用于在所述路由更新消息中的参数为所述第二数据中心中 的第一备份节点变化参数时,获取与所述第一备份节点变化参数对应的因素, 所述因素用于触发所述第一备份节点发生改变, 并检测到所述因素为备份节 点掉线或数据迁移时, 釆用 range合并算法, 调整所述路由信息中的所述第 一备份节点及其相关的第二备份节点对应的 range分布, 以及相应调整所述 路由信息中的至少两个服务节点中的每一个服务节点的备份节点信息,其中, 所述至少两个服务节点为所述第一数据中心中的与所述第一备份节点和所述 第二备份节点对应的服务节点。
结合第四方面的第一种可能的实现方式, 在第五种可能的实现方式中, 所述管理节点, 还用于在所述路由更新消息中的参数为所述第一数据中心的 第三服务节点对应的 range服务切换参数时, 从所述第二数据中心中确定与 所述第三服务节点对应的第三备份节点, 并基于所述第三服务节点对应的 range服务切换参数,将所述路由信息中的所述第三服务节点的属性信息从第 一属性信息调整为第二属性信息, 并将所述第三服务节点的备份节点信息中 的所述第三备份节点的路由信息删除, 以及将所述路由信息中的所述第三备 份节点的属性信息从所述第二属性信息调整为所述第一属性信息, 并将所述 第三服务节点的路由信息添加到所述第三备份节点的备份节点信息中,其中, 所述第一属性信息用于指示节点为服务节点的信息, 所述第二属性信息用于 指示节点为备份节点的信息。
结合第四方面或第一种可能的实现方式至第五种可能的实现方式中的任 意一种, 在第六种可能的实现方式中, 所述管理节点, 还用于存储所述多数 据中心中的每一个数据中心的路由表信息, 所述路由表信息中包含与所述每 一个数据中心唯一对应的标识信息和所述每一个数据中心的路由信息。
本发明有益效果如下:
本发明实施例中, 仅管理节点获取指示对所述第一数据中心和所述第二 数据中心的路由信息进行更新的路由更新消息时, 才会调整所述第一数据中 心和第二数据中心的路由信息, 并基于调整后的所述第一数据中心和所述第 二数据中心的路由信息, 才使得所述第一数据中心和所述第二数据中心之间 数据进行同步, 如此, 在满足上述限制条件时, 才能实现所述第一数据中心 和所述第二数据中心之间数据同步, 从而确保所述多数据中的各个数据中心 相互之间的封闭性, 而且并未通过中转节点的方式来传输数据, 而是在相互 关联的节点之间直接传输数据, 避免了所述多数据中心在数据同步传输时的 瓶颈效应, 使得数据同步传输的效率更高。 附图说明 图 1为现有技术中的分布式系统中的数据中心映射一致性 hash环的结构 图;
图 2为现有技术中数据中心 21和数据中心 22映射在 DHT环上的结构 图;
图 3a为本发明实施例中的数据中心 1映射在 DHT环上的结构图; 图 3b为本发明实施例中的数据中心 2映射在 DHT环上的结构图; 图 3c为本发明实施例中的数据中心 3映射在 DHT环上的结构图 图 4为本发明实施例中的数据同步方法的第一种流程图;
图 5a为本发明实施例中的服务数据中心 4映射在 DHT环上的结构图; 图 5b为本发明实施例中的备份数据中心 5映射在 DHT环上的结构图; 图 6为本发明实施例中的数据同步方法的第二种流程图; 图 7为本发明实施例中的数据同步装置的第一种结构图;
图 8为本发明实施例中的第一路由调整单元的结构图;
图 9为本发明实施例中的数据同步装置的第二种结构图;
图 10为本发明实施例中的分布式系统的整体架构图。 具体实施方式
针对现有技术中存在的在实现多数据中心的数据同步时, 要么数据同步 传输时存在瓶颈效应, 要么封闭性差的技术问题。
其中, 本文中术语 "和 /或" , 仅仅是一种描述关联对象的关联关系, 表 示可以存在三种关系, 例如, A和 /或 B , 可以表示: 单独存在 A , 同时存在 A 和 B , 单独存在 B这三种情况。 另外, 本文中字符 "/" , 一般表示前后关联 对象是一种 "或" 的关系。
另外, 本文中术语 "服务节点" 和 "备份节点" 具体为: 所述服务节点 可以由一台或多台服务器组成, 所述服务节点能够响应用户的操作请求, 可 以通过所述操作请求来读取、增加、删除和修改所述服务节点中存储的数据, 同样, 所述备份节点也可以由一台或多台服务器组成, 但是所述备份节点并 不能响应用户的操作请求, 而是用于备份相应服务节点中的数据的, 且任意 一个服务节点及其对应的备份节点分别分布在不同的数据中心中, 以防止一 个数据中心崩溃, 而出现数据丟失而不能恢复的问题。
下面结合各个附图对本发明实施例技术方案的主要实现原理、 具体实施 方式及其对应能够达到的有益效果进行详细地阐述。
实施例一:
本发明实施例一提出一种数据同步方法, 一多数据中心中包括至少两个 数据中心, 所述至少两个数据中心中的每个数据中心包括至少两个节点, 所 述至少两个数据中心中的所有服务节点映射一个分布式哈希 DHT环,所述 DHT 环中的每一段连续的取值范围 range与一个服务节点对应, 所述至少两个数 据中心中的第一数据中心中的服务节点在所述至少两个数据中心中的至少一 个第二数据中心中有数据区间分布相对应的至少一个备份节点。
在具体实施过程中, 所述至少两个数据中心中的第一数据中心中的服务 节点在所述至少两个数据中心中的至少一个第二数据中心中有数据区间分布 相对应的至少一个备份节点, 存在两种情况, 其中, 在第一种情况下, 所述 第一数据中心的所有服务节点都能从所述至少一个第二数据中心中找到与之 对应的备份节点; 另外, 在第二种情况下, 所述第一数据中心的所有服务节 点中的第一部分服务节点才能从所述至少一个第二数据中心中找到与之对应 的备份节点, 而所述第一数据中心的所有服务节点中的除所述第一部分服务 节点之外的第二部分服务节点并没有与之对应的备份节点, 而且所述第一数 据中心的节点除了包含服务节点之外, 同样也可以包含备份节点。
例如, 参见图 3a、 图 3b和图 3c, 所述多数据中心包括数据中心 1和数 据中心 2和数据中心 3, 其中, 数据中心 1为所述第一数据中心, 数据中心 2 和数据中心 3为所述至少一个第二数据中心, 数据中心 1包含节点 31、 32、 33、 34、 35和 36这六个服务节点, 且所述六个服务节点映射一个 DHT环 30, 且节点 31映射在 DHT环 30上的 A1位置且映射的一段 range为 [Fl, A1 ) , 节点 32映射在 DHT环 30上的 B1位置且映射的一段 range为 [Al, B1 ) , 节 点 33映射在 DHT环 30上的 C1位置且映射的一段 range为 [Bl, C1 ) , 节点 34映射在 DHT环 30上的 D1位置且映射的一段 range为 [CI, D1 ) , 节点 35 映射在 DHT环 30上的 E1位置且映射的一段 range为 [Dl, E1 ) 和节点 36映 射在 DHT环 30上的 F1位置且映射的一段 range为 [El, F1 ) , 由于本文中节 点及其映射在 DHT环上的位置能够更直观的从附图中得出, 为了说明书的简 洁, 下文中将不再进行具体说明。
其中, 数据中心 2包含有节点 41、 节点 42和节点 43这三个备份节点, 所述三个备份节点映射在 DHT环 30上,节点 41映射的一段 range为 [F1,A1 ), 节点 42映射的一段 range为 [Al, B1 ) 和节点 43映射的一段 range为 [B1, C1 ) , 导致节点 41与节点 31, 节点 42与节点 32以及节点 43与节点 33, , 其中的每两个节点各自对应一段相同的 range , 即, 节点 41与节点 31相对 应, 节点 42与节点 32相对应, 节点 43与节点 33相对应, 从而可以确定每 一个服务节点仅对应一个备份节点和每一个备份节点对应一个服务节点, 以 及使得数据中心 2的 range分布是按照数据中心 1的 range分布来进行划分 的, 使得数据中心 1具有数据区间分布相对应的数据中心 2。
再者, 数据中心 3包含节点 51和节点 52这两个备份节点, 所述两个备 份节点映射在 DHT环 30上, 节点 51映射的一段 range为 [CI , D1 ) 和节点 52映射的一段 range为 [El , F1 ) , 导致节点 51与节点 34相互对应且各自 对应相同的一段 range , 以及节点 52与节点 36也相互对应同样也各自映射 相同的一段 range , 另外, 节点 52还可以同时映射 [El , F1 ) 和 [Dl , E1 ) , 节点 51可以同时映射 [CI , Dl ) 、 [Bl , C1 ) 和 [Al , B1 ) 这三段 range , 导 致节点 52分别与节点 35和节点 36相对应, 节点 51与节点 31、 节点 32和 节点 33都对应,从而使得一个备份节点可以与多个服务节点相对应, 以及使 得数据中心 3的 range分布同样是按照数据中心 1的 range分布来进行划分 的, 导致数据中心 1具有数据区间分布相对应的数据中心 3。
另外, 数据中心 3中也可以映射到 DHT环 30中的 C1位置的节点 53 , 以 及映射到 DHT环 30中的 B1位置的节点 54 , 且节点 53映射的一段 range为 [Bl , C1 ) , 节点 54映射的一段 range为 [Al , B1 ) , 则使得节点 53与节点 33相对应, 节点 54与节点 32相对应, 由于数据中心 2的节点 42与节点 32 对应, 节点 43与节点 33对应, 即表明节点 32对应节点 42和节点 54 , 节点 33对应节点 43和节点 53 , 当然还可以另设一个第一数据中心, 在所述第一 数据中心设置有与节点 31、 节点 32、 节点 33、 节点 34、 节点 35和节点 36 分别对应的备份节点,从而使得一个服务节点也可以与多个备份节点相对应。
在具体实施过程中, 所述多数据中心中的每一个数据中心均为服务数据 中心或备份数据中心, 所述第一数据中心和所述第二数据中心的结构可以是 服务数据中心 -备份数据中心结构 ,若所述多数据中心的一组数据中心的结构 为服务数据中心-备份数据中心结构,则其中的每一个服务数据中心均仅包含 服务节点, 以及其中的每一个备份数据中心均仅包含有备份节点, 具体如图
3a、 图 3b和图 3 c所示, 数据中心 1及其对应的数据中心 2和数据中心 3的 结构为服务数据中心-备份数据中心结构,由于数据中心 1中的所有节点均为 服务节点, 则数据中心 1为服务数据中心; 而数据中心 2和数据中心 3中的 所有节点均为备份节点, 则数据中心 2和数据中心 3均为备份数据中心。
如图 4所示, 该方法具体处理过程如下:
S401 : 管理节点获取指示对所述第一数据中心和所述第二数据中心的路 由信息进行更新的路由更新消息, 其中, 所述路由信息中至少包含所述第一 数据中心和所述第二数据中心的标识信息以及所述第一数据中心和所述第二 数据中心中各节点的备份路由信息;
S402 : 所述管理节点根据所述路由更新消息, 调整所述第一数据中心和 所述第二数据中心的路由信息;
S403 : 所述管理节点将调整后的所述第一数据中心和所述第二数据中心 的路由信息同步到所述第一数据中心和所述第二数据中心中, 以使所述第一 数据中心和所述第二数据中心基于所述调整后的路由信息, 对管辖的各个节 点的数据进行同步传输。
其中,在步骤 S 401中, 管理节点获取指示对所述第一数据中心和所述第 二数据中心的路由信息进行更新的路由更新消息, 其中, 所述路由信息中至 少包含所述第一数据中心和所述第二数据中心的标识信息以及所述第一数据 中心和所述第二数据中心中各节点的备份路由信息。
其中,所述第二数据中心与所述至少一个第二数据中心具有相同的含义, 比如: 在所述至少一个第二数据中心为数据中心 A和数据中心 B时, 所述第 二数据中心则表示数据中心 A和数据中心 B。
在具体实施过程中, 所述管理节点可以由一台或多台服务器组成, 所述 管理节点与所述多数据中心中的每一个数据中心均通信连接, 且所述管理节 点中存储有所述多数据中心中的每一个数据中心的路由表信息, 所述路由表 信息中包含与所述每一个数据中心唯一对应的标识信息和所述每一个数据中 心的路由信息。 例如, 参见图 3a、 图 3b和图 3c , 数据中心 1唯一对应的标 识信息为 DC 1 , 数据中心 2唯一对应的标识信息为 DC2和数据中心 3唯一对 应的标识信息为 DC 3。
具体的, 在所述多数据中心中的所有的备份节点和服务节点较多时, 所 述管理节点并不能实时监测到每一个备份节点和服务节点, 导致所述管理节 点中存储的路由表信息不能及时更新, 如此, 可以通过所述多数据中心中的 每一个数据中心进行自我监测, 例如数据中心 1会实时监测数据中心 1的数 据变化, 在监测到所述数据变化包含 range分布发生改变等信息时, 则发送 用于更新数据中心 1的路由信息的请求信息给所述管理节点, 所述管理节点 在接收到所述请求信息时, 则可以检测到存在所述第一信息。
具体的, 为了更好的管理所述多数据中心中的每一个数据中心的路由信 息, 所述每一个数据中心的路由信息还可以包含路由编号信息, 例如, 如表 1所示的数据中心 1的路由编号信息例如用数字 1 0或字符 a等表示,在因为 数据中心 1的标识信息从 DC 1变为 DC4时, 则将数据中心 1的路由编号信息 从数字 1 0调整为数字 1 1或者从字符 a调整为字符 b , 以使得所述管理节点 仅通过数据中心 1的路由编号信息就可以判断数据中心 1包含的所有节点中 的每一个节点的路由信息是否为最新的路由信息。 例如, 假设所述管理节点 存储的数据中心 1的路由编号信息为 1 1 , 则节点 35中存储的数据中心 1的 路由编号信息为 1 0 , 从而能够快速的判断节点 35中的路由信息需要进行同 步,从而将所述管理节点的与路由编号信息为 1 1对应的路由信息同步到节点 35 , 使得节点 35更新存储的数据中心 1的路由信息。
具体的, 所述多数据中心中的任意一个数据中心的路由信息还包括该数 据中心的在线节点信息, 和 /或, 失效节点信息, 和 /或, 临时备份节点信息。 参见图 3b , 若数据中心 2中包含节点 41、 节点 42、 节点 43、 节点 44、 节点 45和节点 46 , 而数据中心 1中的在线节点信息包括节点 41、 节点 42、 节点 43、 节点 44和节点 45 , 而仅节点 41、 节点 42和节点 43映射在 DHT环 30 上, 所述在线节点信息以列表的形式进行记载, 以方便查询, 而数据中心 2 的失效节点信息包括节点 46 , 同样以列表的形式进行记载, 以方便查询, 所 述临时备份节点信息可以将节点 41中的数据临时备份在节点 44和 /或节点 45中,使得所述临时备份节点信息包括节点 44和 /或节点 45 , 与所述临时备 份节点信息对应的节点必然是数据中心 2中的在线节点中的至少一个节点。
另外, 所述多数据中心中的任意一个数据中心包含的各个节点之间的数 据结构可以设置为主节点-从属节点 (ma s ter-s laves ) 结构, 任意一个节点 及其对应的从属节点均为同一数据中心中的节点, 且所述从属节点用于备份 所述任意一个节点中的数据, 当然也可以将所述任意一个数据中心包含的各 个节点相互独立, 使得所述任意一个数据中心包含的各个节点的数据不进行 备份, 下面具体以任意一个数据中心包含的各个节点之间的数据结构为 ma s ter-s lave s结构为例。
具体的, 在所述多数据中心的一个数据中心中, 可能存在一个节点既不 是备份节点也不是服务节点, 而仅作为备份节点和 /或服务节点的从属节点。
例如, 参见图 3b , 节点 41映射 [Fl , A1 ) , 即表明节点 41为映射 [F1 , A1 ) 的主节点, 而可以将节点 42和 /或节点 43作为节点 41的从属节点, 在 节点 41的从属节点为节点 42和节点 43时,在节点 43和节点 41中分别备份 存储在节点 41中的数据, 同理, 也可以将节点 41和 /或节点 43作为节点 42 的从属节点, 以及将节点 41和 /或节点 42作为节点 43的从属节点, 以使得 数据中心 2中的任意一个节点出现掉线或宕机等情况时, 而与所述任意一个 节点对应的从属节点中保存有所述任意一个节点的数据, 防止数据中心 2中 的数据出现丟失的问题。
另外,数据中心 2还可以一个节点 44映射到 DHT环 30的 F1位置, 节点
44仅作为节点 41、 节点 42和节点 43的从属节点, 由于节点 41、 节点 42和 节点 4 3均为备份节点, 使得节点 44仅为备份节点的从属节点; 同理, 可以 在数据中心 1增加一个节点 37 , 将节点 37仅作为节点 31和节点 32的从属 节点, 由于节点 31和节点 32均为服务节点,使得节点 37仅作为服务节点的 从属节点; 同理, 在所述多数据中心的一个数据中心中既包含服务节点和备 份节点时, 在该数据中心中还可以设置一个第一节点仅作为该数据中心的服 务节点和备份节点的从属节点, 使得所述第一节点仅作为服务节点和备份节 点的从属节点。
其中, 所述备份路由信息包括节点对应的 range范围信息、 指示该节点 为服务节点还是备份节点的属性信息和该节点的备份节点信息, 其中, 该节 点的备份节点信息为当该节点为服务节点时, 用于备份该节点中数据的备份 节点的路由信息。
在具体实施过程中, 在所述多数据中心中的任意一个节点的属性信息表 征该节点为服务节点时, 该任意一个节点的备份节点信息为用于被该节点中 数据的备份节点的路由信息。
具体的, 所述多数据中心中的任意一个服务或备份节点的备份路由信息 还包括该服务或备份节点的名称和 I P地址,当然还可以包括该服务或备份节 点的存储空间容量及其包含的服务器的数量。
备份节点信息 第一标 Range分 属性 主节点 从属节点的相关 第二标 备份节点 识信息 布 信息 的相关 信息 识信息 的相关信 信息 息
[Fl , A1 ) TURE 节点 31 节点 32 节点 33 DC2 节点 41
[Al , B1 ) TURE 节点 32 节点 31 节点 33 DC2 节点 42
[Bl , C1 ) TURE 节点 33 节点 32 节点 34 DC2 节点 4 3
DC1 [CI , D1 ) TURE 节点 34 节点 31 节点 35 DC 3 节点 51
[Dl , E1 ) TURE 节点 35 节点 33 节点 36 # #
Figure imgf000021_0001
表 1
其中, 表 1中所述主节点的相关信息为数据中心 1中每一个节点的路由 信息, 以及表 1中所述第一标识信息为数据中心 1的唯一对应的标识信息, 表 1中所述 range分布为数据中心 1中每一个节点映射的 range分布, 表 1 中所述从属节点的相关信息为在数据中心 1的每一个节点的从属节点的路由 信息, 表 1中所述备份节点信息为用于备份数据中心 1中每一个节点的备份 节点的路由信息, 下面的表具体参考上述解释, 为了说明书的间距, 以下就 不再赘述了。
例如, 参见图 3a , 表 1为数据中心 1对应的路由信息, 数据中心 1映射 的 range分布包含 [Fl , Al ) 、 [Al , Bl ) 、 [Bl , CI ) 、 [CI , Dl ) 、 [D1 , E1 )和 [El , F1 )这六段 range , 由于数据中心 1中的所有节点均为服务节点, 由于数据中心 1的节点包括节点 31、 节点 31、 节点 33、 节点 34、 节点 35 和节点 36 , 因此, 表 1中的主节点的相关信息为节点 31及其 IP地址, 节点 32及其 IP地址, 节点 33及其 IP地址, 节点 34及其 IP地址, 节点 35及其 IP地址, 以及节点 36及其 IP地址。
其中, 以节点 31为例, 节点 31的备份路由信息包括节点 31对应的数据 中心 1的标识信息 DC1 , 节点 31映射的 range区间 [Fl , A1 ) , 节点 31的属 性信息为 TURE表征节点 31为服务节点, 在数据中心 1中用于备份节点 31 中数据的从属节点的相关信息包括节点 32的 IP地址例如是 159. 226. 1. 1或 128. 0. 0. 15等和节点 33的 IP地址例如是 159. 226. 1. 144或 128. 0. 0. 241等, 以及在数据中心 2中用于备份节点 31数据的备份节点信息, 节点 31的备份 节点信息包括数据中心 2的第二标识信息 DC2和在数据中心 1中用于备份节 点 31中数据的节点 41的 IP地址例如是 159. 226. 1. 21或 128. 0. 0. 45等。当 然, 节点 31的从属节点的相关信息还可以包括节点 32的存储空间容量为 256G或 2048G等和节点 32的服务器数量例如是 1个或 1个等信息。 另夕卜, 节点 31的属性信息还可以用 FLASE或 1或 a等信息进行表示, 本 申请实施例不作具体限制。
其中, 节点 35映射的 range区间为 [Dl , E1 ) , 由于所述多数据中心不 存在与节点 35对应的备份节点, 则与 [Dl , E1 )对应的备份节点信息用#号表 示, 也可以用空格或 "/" 等表示, 用于表示所述多数据中心中不存在与节点 35对应的备份节点信息。
在具体实施过程中, 在所述多数据中心中的任意一个节点的属性信息表 征该节点为备份节点时, 由于任意一个备份节点只有与之对应的至少一个服 务节点, 而未存在与所述任意一个备份节点对应的备份节点, 因此, 使得所 述任意一个备份节点的备份节点信息均为空, 具体如下表 2所示。
Figure imgf000022_0001
表 2
例如, 参见图 3b , 表 2为与数据中心 2对应的路由信息, 数据中心 2的 第一标识信息为 DC2 , 数据中心 2映射的 range分布包括 [Fl , Al ) 、 [A1 , B1 )和 [Bl , C1 )这三段 range , 且节点 41、 节点 42和节点 43的属性信息都 为 FALSE , 表示节点 41、 42和 43均为备份节点, 使得备份节点信息中的第 二标识信息和备份节点的相关信息都用 #表示, 即表示不存在用于备份节点 41、 42和 43中数据的备份节点, 其中, 节点 41、 42和 43的主节点的相关 信息和从属节点的相关信息具体参考表 2 , 在此就不在赘述。
由于所述多数中心中的任意一个数据中心对应的路由信息如表 1和表 2 所示, 在所述任意一个数据中心为服务数据中心时, 以数据中心 1为例, 数 据中心 1的第一标识信息、 range分布、 属性信息、 主节点的相关信息、 从 属节点的相关信息和备份节点信息中的一种或任意组合信息发生改变时, 都 会使得数据中心 1的路由信息发生改变, 所述管理节点可以主动监测所述多 数据中心中每一个数据中心, 从而使得所述管理节点能够获取到所述路由更 新消息, 而当数据中心 1中的任意一种信息都未发生改变时, 使得所述管理 节点无法获取到所述路由更新消息, 釆用上述方法对数据中心 2和数据中心 3同样适用, 当然, 也可以是数据中心 1、数据中心 2和数据中心 3主动发送 所述路由更新消息。
接下来执行步骤 S402 , 在该步骤中, 所述管理节点根据所述路由更新消 息, 调整所述第一数据中心和所述第二数据中心的路由信息。
在具体实施过程中, 所述管理节点根据所述路由更新消息中的参数, 调 整所述第一数据中心和所述第二数据中心的路由信息中的备份路由信息, 其 中, 所述路由更新消息中的参数包括服务节点映射的 range变化参数且该服 务节点对应一备份节点、 备份节点变化参数、 备份或服务节点对应的 range 服务切换参数中的一种或任意组合, 所述备份或服务节点对应的 range服务 切换参数用于指示该备份或服务节点作为服务节点或作为备份节点的参数。
其中, 所述备份节点对应的 range服务切换参数, 用于指示该备份节点 切换为服务节点的参数, 所述服务节点的 range服务切换参数, 用于指示该 服务节点切换为备份节点的参数。
具体的, 参见图 3a和表 1 , 当有新节点加入到数据中心 1中的 range区 间 [Fl , Al ) 、 [Al , Bl ) 、 [Bl , CI ) 、 [CI , D1 ) 或 [El , F1 ) 中时, 或者 节点 31、 32、 33、 34或 36掉线时, 由于节点 31、 32、 33、 34和 36均有与 其对应的备份节点, 因此, 在上述情况发生时, 所述路由更新消息的参数包 含所述服务节点映射的 range变化参数且该服务节点对应一备份节点。
其中, 参见图 3b和图 3c , 当数据中心 2中的节点 41、 节点 42或节点 43掉线时, 或者当数据中心 3中的节点 51或节点 52掉线时, 则可以确定所 述路由更新消息的参数包含所述备份节点变化参数; 以及在数据中心 1中的 节点 31的属性信息从 TURE转变为 FLASE时,或者数据中心 1中节点 42的属 性信息从 FLASE转变为 TURE时,则可以确定所述路由更新消息的参数包含所 述备份或服务节点对应的 range服务切换参数。
另外, 在数据中心 1的节点 31掉线, 且数据中心 2中节点 42掉线, 以 及数据中心 1中节点 36的属性信息需要从 TURE转变为 FLASE时, 所述路由 更新消息的参数包含所述服务节点映射的 range变化参数且该服务节点对应 一备份节点、 所述备份节点变化参数和所述备份或服务节点对应的 range服 务切换参数。
在确定所述备份节点变化参数包括所述服务节点映射的 range变化参数 且该服务节点对应一备份节点、 所述备份节点变化参数和所述备份或服务节 点对应的 range服务切换参数中的一种或任意组合时, 所述管理节点根据所 述路由更新消息中的参数, 调整所述第一数据中心和所述第二数据中心的路 由信息中的备份路由信息。
具体的, 在所述路由更新消息中的参数为所述第一数据中心中的第一服 务节点映射的 range变化参数且所述第一服务节点对应一备份节点时, 所述 管理节点基于所述第一服务节点映射的 range变化参数, 釆用负载均衡策略 或哈希算法或 range合并算法, 调整所述路由信息中的所述第一数据中心中 的所述第一服务节点及其相关的第二服务节点中的每一个服务节点映射的 range分布, 以及相应调整所述路由信息中的所述第二数据中心中的至少一 个备份节点的 range分布, 其中, 所述至少一个备份节点与所述第一服务节 点和所述第二服务节点相对应。
在实际应用过程中, 获取用于触发所述第一服务节点映射的 range变化 参数的第一因素, 在所述第一因素为新节点加入时, 可以釆用负载均衡策略 或哈希算法来调整所述至少两个服务节点中的每一个服务节点对应的 range 分布; 在所述第一因素为所述第一数据中心中的各个节点负载不均时, 可以 釆用负载均衡策略来调整所述至少两个服务节点中的每一个服务节点对应的 range分布, 例如数据中心 1中的节点 31对应的访问量和数据流量的快速增 长, 导致节点 31的工作效率降低时, 基于所述负载均衡策略, 调整节点 31 和节点 32各自对应的 range分布,使得数据中心 1中的各个节点中的负载达 到均衡; 若所述第一因素为节点掉线时, 可以釆用 range合并算法来调整所 述至少两个服务节点中的每一个服务节点对应的 range分布, 例如数据中心 1中的节点 32掉线时,可以将节点 32映射的 [Al , B1 )和节点 33映射的 [B1 , C1 )进行合并, 使得节点 33映射的 range区间为 [Al , B1 )和 1 , C1 ) , 在 调整完所述至少两个服务节点中的每一个服务节点对应的 range分布之后, 相应调整与所述至少两个服务节点对应的至少一个备份节点中的每一个备份 节点对应的 range分布。
例如, 参见图 5a和图 5b , 若所述多数据中心包括作为所述第一数据中 心的服务数据中心 4和作为所述第二数据中心的备份数据中心 5 , 服务数据 中心 4包括节点 61、 节点 62和节点 6 3均为服务节点, 且服务数据中心 4映 射成一个 DHT环 60 , DHT环 60的取值范围为 ( 0 , 1 00 )备份数据中心 5包括 节点 71、 节点 72和节点 73均为备份节点, 所述管理节点中存储的路由表信 息如下表 3所示, 其中, 服务数据中心 4的路由信息为 a路由信息, 备份数 据中心 5的路由信息为 b路由信息。
第一标识 Range分 属性信 主节点的 从属节点的相关信 备份节点
A÷自 布 息 相关信息 息 信息
(DC5 , 节
[90 , 50 ) TURE 节点 61 节点 62 节点 6 3 点 71)
DC4 (DC5 , 节 ( a路由 [50 , 70 ) TURE 节点 62 节点 61 节点 6 3 点 72) 信息) (DC5 , 节 [70, 90 ) TURE 节点 63 节点 61 节点 62 点 73)
DC5 [90, 50 ) FLASE 节点 71 节点 72 节点 73
( b路由 [50, 70 ) FLASE 节点 72 节点 71 节点 73
信息) [70, 90 ) FLASE 节点 73 节点 71 节点 72
表 3
若有节点 64接入服务数据中心 4中时,基于所述负载均衡策略, 由于节 点 61映射的 [90, 50 )区间最大, 使得节点 61对应的访问量和数据流量也最 大, 因此, 可以将节点 64插入到 DHT环 60上的取值在 90— 50之间的位置, 使得节点 64映射的一段 range为 [90, 20 ) 或 [90, 40 ) 或 [90, 30 ) 等, 在 节点 64映射的 range区间为 [90, 20 )时, 节点 61映射的 range区间为 [20, 50) , 以及相应调整节点 71对应的 range分布; 同样, 在节点 64接入服务 数据中心中时,也可以基于所述哈希算法,将节点 64的 IP地址和 /或域名等 信息进行哈希, 获取一个在 0-100范围内的第一 key值, 将所述第一 key值 映射到 DHT环 60上, 从而可以确定节点 64映射的 range区间, 比如节点 64 的第一 key值为 80时, 则节点 64映射的 range区间为 [70, 80 ) , 导致节点 63映射的 range区间为 [80, 90 ) , 然后相应调整节点 73对应的 range分布, 以节点 64映射的一段 range为 [90, 20 ) 为例, 服务数据中心 4和备份数据 中心 5的路由信息如下表 4所示。
第一标识 Range分 属性信 主节点的 从属节点的相关信 备份节点
A÷自 布 息 相关信息 息 信息
(DC5, 节
[90, 20 ) TURE 节点 64 节点 62 节点 63 点 71)
(DC5, 节
DC4 [20, 50 ) TURE 节点 61 节点 62 节点 63 点 71) ( al路由 (DC5, 节 信息) [50, 70 ) TURE 节点 62 节点 61 节点 63 点 72)
(DC5, 节
[70, 90 ) TURE 节点 63 节点 61 节点 62 点 73)
[90, 20 ) FLASE 节点 71 节点 72 节点 73 #
DC5 [20, 50 ) FLASE 节点 71 节点 72 节点 73
( bl路由 [50, 70 ) FLASE 节点 72 节点 71 节点 73
信息) [70, 90 ) FLASE 节点 73 节点 71 节点 72
表 4
如表 4所示, 在节点 64接入服务数据中心 4时, 所述管理节点为节点 64分配的一段 range为 [90, 20 ) , 节点 64的备份节点信息继承包含 [90, 20) 的 [90, 50 ) 的备份节点信息, 且节点 64的从属节点的相关信息还可以 是节点 61与节点 62或节点 61与节点 63或节点 61或节点 61与节点 62与节 点 63等, 本发明实施例不作具体限定, 从而将所述 a路由信息调整为 al路 由信息, 由于节点 64与节点 61的 range分布发生改变,使得节点 71对应的 range分布进行相应调整, 从而将所述 b路由信息调整为 bl路由信息, 具体 如表 4所示。
下面再举一实施例, 若节点 62掉线时, 基于所述 range合并算法, 使得 节点 63映射的一段 range为 [50, 90 ) , 具体如下表 5所示。
第一标识信 Range分 属性信 主节点的 从属节点的相关信 备份节 息 布 息 相关信息 息 点信息
(DC5,
DC4 [90, 50 ) TURE 节点 61 节点 63 节点 71) (a2路由信 (DC5, 息) [50, 90 ) TURE 节点 63 节点 61 # 节点 73) DC5 [90 , 50 ) FLASE 节点 71 节点 7 3 ( b2路由信
息) [50 , 90 ) FLASE 节点 7 3 节点 71
表 5
如表 5所示, 在节点 62掉线时, 所述管理节点将节点 62映射的 range 区间 [50 , 70 ) 及 range区间 [70 , 90 ) 进行合并, 然后将服务数据中心 4中 的从属节点的相关信息中包含节点 62的信息删除,从而将所述 a路由信息调 整为 a 2路由信息; 相应调整备份数据中心 5中节点 72和节点 7 3 , 从而将所 述 b路由信息调整为 b2路由信息, 具体参见表 5。
具体的, 在所述路由更新消息中的参数为所述第二数据中心中的第一备 份节点变化参数时, 所述管理节点获取与所述第一备份节点变化参数对应的 因素, 所述因素用于触发所述第一备份节点发生改变; 所述管理节点检测到 所述因素为备份节点掉线或数据迁移时, 釆用 range合并算法, 调整所述路 由信息中的所述第一备份节点及其相关的第二备份节点对应的 range分布, 以及相应调整所述路由信息中的至少两个服务节点中的每一个服务节点的备 份节点信息, 其中, 所述至少两个服务节点为所述第一数据中心中的与所述 第一备份节点和所述第二备份节点对应的服务节点。
在具体实施过程中, 所述管理节点获取与所述第一备份节点变化参数对 应的因素例如可以是备份节点的掉线或数据迁移或指令切换等, 所述数据迁 移是所述第二数据中心的第一节点中的存储空间已满, 需要通过在线节点中 的另一个节点来替换所述第一节点, 所述另一节点为所述第二数据中心中的 未映射在 DHT环上的在线节点, 例如, 参见图 5b , 备份数据中心 5的节点 71 中的存储空间已满, 而将备份数据中心 5中的除节点 72和节点 7 3之外的在 线节点例如是节点 74或节点 75等来替换节点 71 ,使得节点 74映射的 range 区间为 [90 , 50 ) , 并将节点 71中的数据转移到节点 74中; 所述指令切换例 如是接到用户的切换指令, 将备份数据中心 2中的节点 71与节点 72之间进 行切换, 下面具体以节点 71掉线为例, 服务数据中心 4和备份数据中心 5 的路由信息如下表 6所示。
Figure imgf000029_0001
表 6
如表 6所示,在节点 71掉线时,将节点 71映射的 range区间为 [90 , 50 ) 和 [70 , 90 ) , 然后将备份数据中心 5中的从属节点的相关信息中的包含节点 71的路由信息删除, 从而将所述 b路由信息调整为 b3路由信息, 以及相应 调整服务数据中心 4中的与节点 71对应的节点 61的备份节点信息, 从而将 所述 a路由信息调整为 a 3路由信息, 具体参见表 6。
其中, 在所述因素为数据迁移时, 且用节点 74替换为节点 71时, 使得 [90 , 50 )对应节点 74 , 将备份数据中心 5中的从属节点的相关信息中的包 含节点 71的相关信息调整为节点 74的相关信息, 从而将所述第一路由信息 调整为所述第二路由信息, 以及调整节点 61的备份节点信息为 (DC5 , 节点 74) , 从而获得调整后的所述第一数据中心和所述第二数据中心的路由信息。 另外, 在所述因素为指令切换时, 例如将节点 71切换到节点 72 , 使得 节点 72映射的 range区间为 [90 , 50 ) , 节点 71映射的 range区间为 [ 50 , 70 ) , 节点 71和节点 72各自对应的从属节点的相关信息保持不变, 即节点 71对应的从属节的相关信息仍为节点 72和节点 7 3的路由信息, 以及相应调 整节点 61的备份节点信息为 (DC5 , 节点 72)和节点 62的备份节点信息为 ( DC5 , 节点 71) , 从而获得调整后的所述第一数据中心和所述第二数据中心 的路由信息。
在具体实施过程中, 在所述路由更新消息中的参数为所述第一数据中心 的第三服务节点对应的 range服务切换参数时, 所述管理节点从所述第二数 据中心中确定与所述第三服务节点对应的第三备份节点; 所述管理节点基于 所述第三服务节点对应的 range服务切换参数, 将所述路由信息中的所述第 三服务节点的属性信息从第一属性信息调整为第二属性信息, 并将所述第三 服务节点的备份节点信息中的所述第三备份节点的路由信息删除, 以及将所 述路由信息中的所述第三备份节点的属性信息从所述第二属性信息调整为所 述第一属性信息, 并将所述第三服务节点的路由信息添加到所述第三备份节 点的备份节点信息中, 其中, 所述第一属性信息用于指示节点为服务节点的 信息, 所述第二属性信息用于指示节点为备份节点的信息。
在具体实施过程中, 参见图 5a , 以所述第三服务节点为节点 62为例, 则可以确定所述第三备份节点为数据中心 5中的节点 72 , 将节点 62的属性 信息从 TURE调整为 FLASE , 并将节点 62的备份节点信息中的节点 72的路由 信息删除, 以及将节点 72对应的属性信息从 FLASE调整为 TURE , 并将节点 62的路由信息添加到节点 72的备份节点信息中, 其中, 所述第一属性信息 用 TURE表示, 所述第二属性信息用 FLASE表示, 具体如表 7所示。
Figure imgf000030_0001
[90, 50 ) TURE 节点 61 节点 62 节点 63 点 71)
DC4
( a4路由 [50, 70 ) FALSE 节点 62 节点 61 节点 63 # 信息) (DC5, 节
[70, 90 ) TURE 节点 63 节点 61 节点 62 点 73)
DC5 [90, 50 ) FLASE 节点 71 节点 72 节点 73 # ( b4路由 (DC4, 节 信息) [50, 70 ) TURE 节点 72 节点 71 节点 73 点 62)
[70, 90 ) FLASE 节点 73 节点 71 节点 72 #
表 7
如表 7所示, 在进行 range服务切换时, 只需修改与所述第三服务节点 和所述第三备份节点的备份节点信息, 而不需所述第一数据中心和所述第二 数据中心中的其他节点的路由信息, 使得 range切换代价更少, 另外, 由于 range服务切换是在服务节点和备份节点之间进行切换, 从而可以有选择将 一个数据中心中的备份节点或服务节点进行 range切换, 使得 range切换更 灵活, 另外, 在备份节点切换为服务节点时, 与上述节点 62切换为节点 72 的处理方式相同, 在此就不在赘述了。
由于所述多数据中心的备份节点和服务节点之间能够相互切换, 使得本 文中的技术同样可以应用于双活数据中心, 使得由任意一个具有备份节点的 数据中心及其对应的至少一个另一数据中心组成的一组数据中心的数据结构 可以为双活数据中心结构,若所述一组数据中心的结构为双活数据中心结构, 则其中的每一个数据中心均为服务数据中心且均包含有服务节点和备份节 点, 具体参见表 7。
上面仅单独对所述路由更新消息中的参数包含所述服务节点映射的 range变化参数且该服务节点对应一备份节点, 所述备份节点变化参数和所 述备份或服务节点对应的 range服务切换参数中的一种参数进行叙述, 在所 述路由更新消息中的参数包含所述服务节点映射的 range变化参数且该服务 节点对应一备份节点, 所述备份节点变化参数和所述备份或服务节点对应的 range服务切换参数中的两种或三种参数的情况时, 其具体实施方式可以参 考上述所述由更新消息中的参数仅包含所述一种参数时的实施方式, 下面以 所述由更新消息中的参数包含所述三种参数为例, 进行具体叙述。
例如, 参见图 5a和图 5b, 在节点 65接入服务数据中心的同时节点 63 需要进行 range服务切换时, 所述管理节点为节点 65分配的 range区间为 [90, 30 ) , 节点 65的备份节点信息继承包含 [90, 30 ) 的 [90, 50 ) 的备份 节点信息,且节点 65的从属节点的相关信息还可以是节点 61与节点 62或节 点 61与节点 63或节点 61或节点 61与节点 62与节点 63等, 本发明实施例 不作具体限定, 并将节点 63对应的属性信息从 TURE调整为 FLSE, 并删除节 点 63的备份节点信息, 从而将所述 a路由信息调整为 a5路由信息, 相应调 整节点 71映射的 range区间,并将节点 73的属性信息从 FLASE调整为 TURE, 并将节点 73的备份节点信息中添加节点 63的路由信息 (DC5, 节点 63 ) , 以及将节点 63的属性信息从 TURE调整为 FLASE, 并将节点 63的备份节点信 息中删除节点 73的路由信息 (DC6, 节点 63) , 从而将所述 b路由信息调整 为 b5路由信息, 具体如下表 8所示。
第一标识 Range分 属性信 主节点的 从属节点的相关信 备份节点
A÷自 布 息 相关信息 息 信息
(DC5, 节
[90, 30 ) TURE 节点 65 节点 62 节点 63 点 71)
DC4 (DC5, 节 ( a5路由 [30, 50 ) TURE 节点 61 节点 62 节点 63 点 71) 信息) (DC5, 节 [50 , 70 ) TURE 节点 62 节点 61 节点 63 点 72)
[70 , 90 ) FLASE 节点 63 节点 61 节点 62
[90 , 30 ) FLASE 节点 71 节点 72 节点 73
DC5 [ 30 , 50 ) FLASE 节点 71 节点 72 节点 73
( b5路由 [50 , 70 ) FLASE 节点 72 节点 71 节点 73 # 信息) (DC4 , 节
[70 , 90 ) TURE 节点 73 节点 71 节点 72 点 63) 表 8
在执行完步骤 S402之后, 接下来执行步骤 S403 , 所述管理节点将调整 后的所述第一数据中心和所述第二数据中心的路由信息同步到所述第一数据 中心和所述第二数据中心中, 以使所述第一数据中心和所述第二数据中心基 于所述调整后的路由信息, 对管辖的各个节点的数据进行同步传输。
在具体实施过程中,在通过步骤 S402获得所述调整后的所述第一数据中 心和所述第二数据中心的路由信息之后, 所述管理节点将调整后的所述第一 数据中心的第一路由信息同步到所述第一数据中心中, 以及将调整后的所述 第二数据中心的第二路由信息同步到所述第二数据中心中, 以使得所述第一 数据中心基于所述调整后的第一路由信息, 将管辖的各个节点之间的数据进 行同步传输, 以及使得所述第二数据中心基于所述调整后的第二路由信息, 将管辖的各个节点之间的数据进行同步传输。
例如, 参见表 3和表 4 , 在节点 64接入服务数据中心 4中之后, 服务数 据中心 4接收到来自所述管理节点发送的所述 a l路由信息时,服务数据中心 4基于所述 a l路由信息,将节点 62中的数据和节点 63中的数据同步到节点 64中, 从而实现各个节点之间的数据进行同步; 同理, 备份数据中心 5接收 到来自所述管理节点发送的所述 bl路由信息时, 备份数据中心 5基于所述 bl路由信息,可以确定备份数据中心 5中的变化仅仅是节点 71映射的 range 区间 [90, 50 )划分成 range区间 [90, 20 )和 range区间 [20, 50 ) , 导致备 份数据中心 5中的未有数据需要进行同步, 从而使得备份数据中心 5包含的 各个节点之间的数据不会进行同步操作。
例如, 参见表 3和表 5, 在节点 62掉线之后, 服务数据中心 4接收到来 自所述管理节点发送的所述 a2路由信息时, 服务数据中心 4基于所述 al路 由信息, 根据节点 63的备份节点信息, 节点 63直接复制备份数据中心 5中 的节点 73中的数据, 以使得节点 63与节点 73之间的数据同步; 同样, 备份 数据中心 5接收到来自所述管理节点发送的所述 b2路由信息时,备份数据中 心 5基于所述 bl路由信息,将节点 72中的数据同步到节点 73中, 以使得节 点 63能够直接复制节点 73中的数据, 实现节点 63与节点 73之间的数据同 步。
例如, 参见表 3和表 6, 在节点 71掉线之后, 备份数据中心 5接收到来 自所述管理节点发送的所述 b3路由信息时, 基于所述 b3路由信息, 用于接 收来自节点 61发送的数据, 以将节点 61中的数据同步到节点 72中, 实现节 点 61与节点 72之间的数据同步; 同样, 服务数据中心 4接收到来自所述管 理节点发送的所述 a3路由信息时, 服务数据中心 4基于所述 a3路由信息, 根据节点 61对应的备份节点信息,控制节点 61中的数据直接发送给节点 72, 实现节点 61与节点 72之间的数据同步。
例如, 参见表 3和表 7, 在备份节点 72进行 range服务切换之后, 备份 数据中心接到来自所述管理节点发送的所述 b4路由信息时, 基于所述 b4路 由信息中的节点 72对应的备份节点信息(DC4, 节点 62) , 节点 72直接复制 节点 62中的数据, 实现节点 72和节点 62之间的数据同步; 服务数据中心 4 接收到来自所述管理节点发送的所述 a4路由信息时,可以确定服务数据中心 4中的变化仅仅是节点 62对应的属性信息从 TURE调整为 FLASE,导致服务数 据中心 4中的未有数据需要进行同步, 从而使得服务数据中心 4包含的各个 节点之间的数据不会进行同步操作。 由于本实施例中的多数据中心并未通过中转节点的方式来传输数据, 而 是在相互关联的节点之间直接传输数据, 从而避免了所述多数据中心在数据 同步传输时的瓶颈效应, 使得数据同步传输的效率更高。
在另一实施例中, 所述管理节点也可能只获取指示对所述第一数据中心 的路由信息进行更新的第一路由更新消息, 所述管理节点根据所述第一路由 更新消息, 调整所述第一数据中心的第一路由信息, 所述管理节点将调整后 的所述第一数据中心的第一路由信息同步到所述第一数据中心中, 以使得所 述第一数据中心基于所述调整后的第一路由信息, 将管辖的各个节点的数据 进行同步传输。
当然, 所述管理节点也可能只获取指示对所述第二数据中心的路由信息 进行更新的第二路由更新消息, 所述管理节点根据所述第二路由更新消息, 调整所述第二数据中心的第二路由信息, 所述管理节点将调整后的所述第二 数据中心的第二路由信息同步到所述第二数据中心中, 以使得所述第二数据 中心基于所述调整后的第二路由信息, 将管辖的各个节点的数据进行同步传 输。
在具体实施过程中, 在所述第一数据中心的任意一个节点的从属节点发 生改变, 以及服务节点的 range分布发生变化且该服务节点未有与其对应的 备份节点等情况发生时, 都会使得所述管理节点获取到所述第一路由更新信 息; 同样, 在所述第二数据中心中的任意一个节点的从属节点发生改变, 以 及以及服务节点的 range分布发生变化且该服务节点未有与其对应的备份节 点等情况发生时, 都会使得所述管理节点获取到所述第二路由更新信息。
例如, 参见表 1 , 当数据中心 1中的节点 31存储空间已满需要被节点 37 替换时, 其中, 节点 37为数据中心 1中的一个在线节点, 会将替换请求发送 给所述管理节点,从而使得所述管理节点能够接收到所述第一路由更新消息, 然后所述管理节点基于所述第一路由更新消息, 调整数据中心 1的第一路由 信息, 所述管理节点将 [Fl , A1 )对应的主节点的相关信息由节点 31调整为 节点 37, 并将调整后的数据中心 1的路由信息发送给数据中心 1, 使得数据 中心 1基于所述调整后的数据中心 1的路由信息, 同步节点 37和节点 31之 间的数据。
又例如, 参见表 1, 当数据中心 1中需要将节点 32的从属节点由节点 31 和节点 33调整为节点 34时,会将调整从属节点的请求发送给所述管理节点, 从而使得所述管理节点能够接收到所述第一路由更新; %息, 然后所述管理节 点基于所述第一路由更新消息, 调整数据中心 1的第一路由信息, 所述管理 节点将节点 32的从属节点由节点 31和节点 33调整为节点 34, 并将调整后 的数据中心 1的路由信息发送给数据中心 1, 使得数据中心 1基于所述调整 后的数据中心 1的路由信息, 将节点 32中数据备份在节点 34中, 并删除节 点 31和节点 33中备份的节点 32中数据。
另外, 参见表 1, 当节点 38接入 DHT环 30的 [Dl, E1 ) 区间中时, 节点 38映射的 range区间为 [Dl, G1 ) , 节点 35映射的 range区间为 [Gl , E1 ) , 由于 [Dl, E1 )未有备份节点, 从而仅需将所述管理节点仅需调整数据中心 1 的第一路由信息, 然后所述管理节点将调整后的所述第一数据中心的第一路 由中心同步到所述数据中心 1中。
在另一实施例中, 参见图 6, 在执行步骤 S401之后, 步骤 S402包括步 骤 S501-步骤 S505, 即表明在执行完步骤 S505之后执行步骤 S403, 下面进 行具体叙述。
在所述管理节点获取所述路由更新信息之后, 执行步骤 S501: 所述管理 节点检测所述第一数据中心和所述第二数据中心对应的数据变化信息是否符 合在调整所述第一数据中心和所述第二数据中心的路由信息时设置的前置条 件。
在具体实施过程中, 所述管理节点在获取所述数据变化信息之后, 检测 所述数据变化信息符合所述前置条件, 在符合所述前置条件时, 执行步骤 S502, 否则, 停止执行步骤 S502, 直至检测到所述数据变化信息符合所述前 置条件时, 才执行步骤 S502。
其中, 所述数据变化信息是指所述第一数据中心和所述第二数据中心中 的所有节点的路由变化信息, 所述前置条件是根据所述路由更新消息来进行 设置的。 比如: 参见表 4, 在节点 64接入服务数据中心 4时, 所述管理节点 为节点 64分配的 range区间为 [90, 20 ) , 所述前置条件为服务数据中心 4 中包含 range区间 [90, 20 )的 range区间 [90, 50 )不能发生改变, 若服务 数据中心 4中包含 range区间 [90, 20 )的 range区间 [90, 50 )由于负载均 衡策略或节点 61掉线时, 使得 range区间 [90, 50 )发生改变, 导致所述数 据变化信息不符合所述前置条件; 若服务数据中心 4的数据变化信息表征 range区间 [90, 50 )未发生改变时, 则可以判断所述数据变化信息符合所述 前置。
另外, 如表 4所示, 在服务数据中心 4的 range区间 [90, 50 )和 range 区间 [50, 70 ) 进行合并时, 所述前置条件为服务数据中心 4 的 range区间 [90, 50 ) 和 range区间 [50, 70 ) 均不能发生改变, 若有新节点接入服务数 据中心 4中时, 需要切分 range区间 [90, 50 ) , 从而导致 range区间 [90, 50)发生改变, 从而使得所述数据变化信息不符合所述前置条件, 仅当服务 数据中心 4的 range区间 [90, 50 )和 range区间 [50, 70 )均未发生改变时, 所述数据变化信息才符合所述前置条件。
所述管理节点检测到所述数据变化信息符合所述前置条件时, 执行步骤 S502, 所述管理节点获取与所述路由更新信息中的参数相关的系统节点, 所 述系统节点为所述第一数据中心和所述第二数据中心中的与所述路由更新信 息中的参数相关的所有的服务节点和备份节点。
例如, 参见表 4, 在节点 64接入服务数据中心 4中时, 从表 4中可以查询到 所述系统节点为节点 61和节点 71; 又例如, 参见表 6, 在节点 71掉线时, 从表 6中可以查询到所述系统节点为节点 72和节点 61。
在另一实施例中, 所述管理节点检测到所述数据变化信息符合所述前置 条件时, 还可以直接根据所述路由更新消息, 调整所述第一数据中心和所述 第二数据中心的路由信息。
在执行完步骤 S 502之后, 接下来执行步骤 S503 , 所述管理节点基于所述 路由更新信息中的参数, 控制所述系统节点进行交互时的前序准备流程。
在具体实施过程中, 所述前序准备流程是基于所述路由更新信息中的参 数来确定的, 在所述路由更新信息中的参数不同时, 所述前序准备流程也不 同。 例如在所述路由更新信息中的参数为所述服务节点映射的 range变化参 数且该服务节点对应一备份节点, 且所述服务节点 range变化参数由新节点 接入引起时, 则需要锁定迁出节点和迁入节点映射的 range区间; 若在所述 路由更新信息中的参数为所述服务节点映射的 range变化参数且该服务节点 对应一备份节点,且所述服务节点映射的 range变化参数由节点掉线引起时, 则需要锁定被合并的一段 range区间和合并的一段 range区间; 若所述所述 路由更新信息中的参数为所述备份或服务节点映射的 range服务切换参数 时, 则仅需要锁定该备份节点的一段 range区间和与该备份节点对应的服务 节点的一段 range区间。
例如, 参见表 4 , 在节点 64接入服务数据中心 4中时, 由于节点 64分 配的 range区间为 [90 , 20 ) , 则需及节点 61锁定 range区间 [90 , 20 ) , 在 range区间 [ 90 , 20 )锁定时, 不对用户的任何请求操作进行响应。
在另一实施例中, 在所述前序准备流程完成时, 还可以直接根据所述路 由更新消息, 调整所述第一数据中心和所述第二数据中心的路由信息。
所述管理节点检测到所述前序准备流程完成时, 执行步骤 S504 , 检测所 述系统节点在所述管理节点获取到所述路由更新消息至所述前序准备流程完 成时的一段时间内是否发生异常。
在具体来讲, 所述异常例如是由于服务数据中心瘫痪、 停电等原因导致无 法提供服务, 服务数据中心的此段 range数据异常, 根据某些原则如为了访问 延时的最小化和需要对服务数据中心进行 range的服务权限切换, 以使得服务 数据中心和客户端之间的延时变小等原因造成,在从步骤 S401执行到步骤 S503 时的一段时间例如是 3秒或 5秒等时间内未发生异常时, 执行步骤 S505 , 否则, 终止执行步骤 S505 , 再间隔一定时间例如 30秒或 60秒等时间之后再次从步骤 S401开始执行。
所述管理节点检测到所述系统节点在所述一段时间内未发生异常时, 执 行步骤 S 5 05 , 根据所述路由更新消息, 调整所述第一数据中心和所述第二数 据中心的路由信息, 在执行完步骤 S 5 05之后, 执行步骤 S403。
在另一实施例中, 所述多数据中心的所有服务节点也可以映射为 DHT环上 的一部分, 具体参见图 3a , 例如服务节点 31映射的一段 range为 [ 0 , A1 )则所 述多数据中心映射为 DHT环 30的 [ 0 , F1 )部分。
本发明实施例中, 仅管理节点获取指示对所述第一数据中心和所述第二 数据中心的路由信息进行更新的路由更新消息时, 才会调整所述第一数据中 心和第二数据中心的路由信息, 并基于调整后的所述第一数据中心和所述第 二数据中心的路由信息, 才使得所述第一数据中心和所述第二数据中心之间 数据进行同步, 如此, 在满足上述限制条件时, 才能实现所述第一数据中心 和所述第二数据中心之间数据同步, 从而确保所述多数据中的各个数据中心 相互之间的封闭性, 而且并未通过中转节点的方式来传输数据, 而是在相互 关联的节点之间直接传输数据, 避免了所述多数据中心在数据同步传输时的 瓶颈效应, 使得数据同步传输的效率更高。
实施例二
本发明实施例二提出一种数据同步装置, 参见图 7和图 8 , 该数据同步 装置分别与一多数据中心中的每一个数据中心通信相连, 所述多数据中心中 包括至少两个数据中心, 且所述至少两个数据中心中的每个数据中心包括至 少两个节点, 所述至少两个数据中心中的所有服务节点映射一个分布式哈希 DHT环, 所述 DHT环中的每一段连续的取值范围 range与一个服务节点对应, 所述至少两个数据中心中的第一数据中心中的服务节点在所述至少两个数据 中心中的至少一个第二数据中心中有数据区间分布相对应的至少一个备份节 点, 所述数据同步装置包括:
第一获取单元 701 , 用于获取指示对所述第一数据中心和所述第二数 据中心的路由信息进行更新的路由更新消息, 其中, 所述路由信息中至少包 含所述第一数据中心和所述第二数据中心的标识信息以及所述第一数据中心 和所述第二数据中心中各节点的备份路由信息;
第一路由调整单元 702 , 用于接收来自第一获取单元 701的所述路由更 新消息, 并根据所述路由更新消息, 调整所述第一数据中心和所述第二数据 中心的路由信息;
第一路由同步单元 703 , 用于在接收到来自第一路由调整单元 702的调 整后的所述第一数据中心和所述第二数据中心的路由信息, 并将所述调整后 的所述第一数据中心和所述第二数据中心的路由信息同步到所述第一数据中 心和所述第二数据中心中, 以使所述第一数据中心和所述至少一个第二数据 中心基于所述路由信息, 对管辖的各个节点的数据进行同步传输。
由于所述多数据中心是基于所述分布式系统来构建的, 可以使得所述至 少两个数据中心的所有的服务节点映射一个 DHT环, 所述 DHT环中的每一段 连续的取值范围(range )与一个服务节点对应, 所述至少两个数据中心中的 第一数据中心中的服务节点在所述至少两个数据中心中的至少一个第二数据 中心中有数据区间分布相对应的至少一个备份节点。
例如, 参见图 3c , 节点 52可以同时映射 [El , F1 ) 和 [Dl , E1 ) , 以及 节点 51可以同时映射 [CI , Dl ) 、 [Bl , C1 ) 和 [Al , B1 ) 这三段 range , 导 致节点 52分别与节点 35和节点 36相对应, 节点 51与节点 31、 节点 32和 节点 33都对应, 从而使得一个备份节点可以与多个服务节点相对应。
具体的, 所述多数据中心中的每一个数据中心均为服务数据中心或备份 数据中心, 所述第一数据中心和所述第二数据中心的结构可以是服务数据中 心 -备份数据中心结构或双活数据中心结构 ,若所述多数据中心的一组数据中 心的结构为服务数据中心-备份数据中心结构,则其中的每一个服务数据中心 均仅包含服务节点, 以及其中的每一个备份数据中心均仅包含有备份节点, 若所述多数据中心的一组数据中心的结构为双活数据中心结构, 则其中的每 一个数据中心均为服务数据中心且均包含有服务节点和备份节点。
在具体实施过程中, 所述多数据中心中的任意一个数据中心包含的各个 节点之间的数据结构为主节点 -从属节点结构,任意一个节点及其对应的从属 节点均为同一数据中心中的节点, 且所述从属节点用于备份所述任意一个节 点中的数据。
例如, 参见图 3a、 图 3b和图 3c , 数据中心 2的 range分布是按照数据 中心 1的 range分布来进行划分的, 且数据中心 3的 range分布同样是按照 数据中心 1的 range分布来进行划分的, 从而使得数据中心 1具有数据区间 分布相对应的数据中心 2和数据中心 3。
具体的, 所述数据同步装置包括存储单元, 用于存储所述多数据中心中 的每一个数据中心的路由表信息, 所述路由表信息中包含与所述每一个数据 中心唯一对应的标识信息和所述每一个数据中心的路由信息。
具体的, 所述备份路由信息包括节点对应的 range范围信息、 指示该节 点为服务节点还是备份节点的属性信息和该节点的备份节点信息, 其中, 该 节点的备份节点信息为当该节点为服务节点时, 用于备份该节点中数据的备 份节点的路由信息。
较佳的, 为了更好的管理所述多数据中心中的每一个数据中心的路由信 息, 所述每一个数据中心的路由信息还可以包含路由编号信息, 例如, 如表 1所示的数据中心 1的路由编号信息例如用数字 1 0或字符 a等表示,在将数 据中心 1的标识信息从 DC 1变为 DC4时, 则将数据中心 1的路由编号信息从 数字 1 0调整为数字 1 1或者从字符 a调整为字符 b , 以使得所述管理节点仅 通过数据中心 1的路由编号信息就可以判断数据中心 1包含的所有节点中的 每一个节点的路由信息是否为最新的路由信息。 较佳的, 所述多数据中心中的任意一个数据中心的路由信息还包括该数 据中心的在线节点信息, 和 /或, 失效节点信息, 和 /或, 临时备份节点信息。
具体的, 第一路由调整单元 702 , 具体用于根据所述路由更新消息中的 参数, 调整所述第一数据中心和所述第二数据中心的路由信息中的备份路由 信息, 其中, 所述路由更新消息中的参数包括服务节点映射的 range变化参 数且该服务节点对应一备份节点、 备份节点变化参数和备份或服务节点对应 的 range服务切换参数中的一种或任意组合, 所述备份或服务节点对应的 range服务切换参数用于指示该备份或服务节点作为服务节点或作为备份节 点的参数。
其中, 所述备份节点对应的 range服务切换参数, 用于指示该备份节点 切换为服务节点的参数, 所述服务节点的 range服务切换参数, 用于指示该 服务节点切换为备份节点的参数。
具体的, 第一路由调整单元 702包括第一路由调整子单元 704 , 用于在 所述路由更新消息中的参数为所述第一数据中心中的第一服务节点映射的 range变化参数且所述第一服务节点对应一备份节点时, 基于所述第一服务 节点映射的 range变化参数, 釆用负载均衡策略或哈希算法或 range合并算 法, 调整所述路由信息中的所述第一数据中心中的所述第一服务节点及其相 关的第二服务节点中的每一个服务节点映射的 range分布, 以及相应调整所 述路由信息中的所述第二数据中心中的至少一个备份节点的 range分布, 其 中,所述至少一个备份节点与所述第一服务节点和所述第二服务节点相对应。
具体的, 第一路由调整单元 702包括第二路由调整子单元 705 , 用于在 所述路由更新消息中的参数为所述第二数据中心中的第一备份节点变化参数 时, 获取与所述第一备份节点变化参数对应的因素, 所述因素用于触发所述 第一备份节点发生改变, 在检测到所述因素为备份节点掉线或数据迁移时, 釆用 range合并算法, 调整所述路由信息中的所述第一备份节点及其相关的 第二备份节点对应的 range分布, 以及相应调整所述路由信息中的至少两个 服务节点中的每一个服务节点的备份节点信息, 其中, 所述至少两个服务节 点为所述第一数据中心中的与所述第一备份节点和所述第二备份节点对应的 服务节点。
具体的, 第一路由调整单元 702包括第三路由调整子单元 706 , 用于在 所述路由更新消息中的参数为所述第一数据中心的第三服务节点对应的 range服务切换参数时, 从所述第二数据中心中确定与所述第三服务节点对 应的第三备份节点, 再基于所述第三服务节点对应的 range服务切换参数, 将所述路由信息中的所述第三服务节点的属性信息从第一属性信息调整为第 二属性信息, 并将所述第三服务节点的备份节点信息中的所述第三备份节点 的路由信息删除, 以及将所述路由信息中的所述第三备份节点的属性信息从 所述第二属性信息调整为所述第一属性信息, 并将所述第三服务节点的路由 信息添加到所述第三备份节点的备份节点信息中, 其中, 所述第一属性信息 用于指示节点为服务节点的信息, 所述第二属性信息用于指示节点为备份节 点的信息。
具体的, 所述数据同步装置还包括第一检测单元, 在第一获取单元 701获 取到所述路由更新信息之后, 在第一路由调整单元 702调整所述第一数据中心 和所述第二数据中心的路由信息之前, 用于检测所述第一数据中心和所述第二 数据中心对应的数据变化信息是否符合在调整所述第一数据中心和所述第二数 据中心的路由信息时设置的前置条件。
具体的, 所述数据同步装置包括前序准备单元, 用于在接收来自所述第 一检测单元发送的所述数据变化信息符合所述前置条件的信息时, 从所述第 一数据中心和所述第二数据中心中获取与所述路由更新信息中的参数相关的 系统节点, 所述系统节点为所述第一数据中心和所述第二数据中心中的与所 述路由更新信息中的参数相关的所有的服务节点和备份节点, 再基于所述路 由更新信息中的参数, 控制所述系统节点进行交互时的前序准备流程。
具体的, 所述数据同步装置包括第二检测单元, 在接收到所述前序准备 单元发送的完成所述前序准备流程时, 用于检测所述系统节点在所述管理节 点获取到所述路由更新消息至所述前序准备流程完成时的一段时间内是否发 生异常。
其中, 在所述第二检测单元检测到所述系统节点在所述一段时间内未发生 异常时, 使得第一路由调整单元 702接收来自第一获取单元 701的所述路由更 新信息, 并根据所述路由更新消息, 用于调整所述第一数据中心和所述第二数 据中心的路由信息。
在另一实施例中, 所述管理节点也可能只获取指示对所述第一数据中心 的路由信息进行更新的第一路由更新消息, 所述管理节点根据所述第一路由 更新消息, 调整所述第一数据中心的第一路由信息, 所述管理节点将调整后 的所述第一数据中心的第一路由信息同步到所述第一数据中心中, 以使得所 述第一数据中心基于所述调整后的第一路由信息, 将管辖的各个节点的数据 进行同步传输。
当然, 所述管理节点也可能只获取指示对所述第二数据中心的路由信息 进行更新的第二路由更新消息, 所述管理节点根据所述第二路由更新消息, 调整所述第二数据中心的第二路由信息, 所述管理节点将调整后的所述第二 数据中心的第二路由信息同步到所述第二数据中心中, 以使得所述第二数据 中心基于所述调整后的第二路由信息, 将管辖的各个节点的数据进行同步传 输。
本发明实施例中, 仅管理节点获取指示对所述第一数据中心和所述第二 数据中心的路由信息进行更新的路由更新消息时, 才会调整所述第一数据中 心和第二数据中心的路由信息, 并基于调整后的所述第一数据中心和所述第 二数据中心的路由信息, 才使得所述第一数据中心和所述第二数据中心之间 数据进行同步, 如此, 在满足上述限制条件时, 才能实现所述第一数据中心 和所述第二数据中心之间数据同步, 从而确保所述多数据中的各个数据中心 相互之间的封闭性, 而且并未通过中转节点的方式来传输数据, 而是在相互 关联的节点之间直接传输数据, 避免了所述多数据中心在数据同步传输时的 瓶颈效应, 使得数据同步传输的效率更高。
实施例三
本发明实施例三提出一种数据同步装置, 参见图 9 , 该数据同步装置分 别与一多数据中心中的每一个数据中心通信相连, 所述多数据中心中包括至 少两个数据中心, 且所述至少两个数据中心中的每个数据中心包括至少两个 节点 ,所述至少两个数据中心中的所有服务节点映射一个分布式哈希 DHT环 , 所述 DHT环中的每一段连续的取值范围 r ange与一个服务节点对应, 所述至 少两个数据中心中的第一数据中心中的服务节点在所述至少两个数据中心中 的至少一个第二数据中心中有数据区间分布相对应的至少一个备份节点, 所 述数据同步装置包括:
存储器 9 01 , 用于存储所述多数据中心中的每一个数据中心的路由表信 息, 所述路由表信息中包含与所述每一个数据中心唯一对应的标识信息和所 述每一个数据中心的路由信息;
控制器 9 02 , 用于获取指示对所述第一数据中心和所述第二数据中心的 路由信息进行更新的路由更新消息, 其中, 所述路由信息中至少包含所述第 一数据中心和所述第二数据中心的标识信息以及所述第一数据中心和所述第 二数据中心中各节点的备份路由信息, 并根据所述路由更新消息, 调整所述 第一数据中心和所述第二数据中心的路由信息;
发送器 9 03 , 用于将调整后的所述第一数据中心和所述第二数据中心的 路由信息同步到所述第一数据中心和所述第二数据中心中, 以使所述第一数 据中心和所述第二数据中心基于所述调整后的路由信息, 对管辖的各个节点 的数据进行同步传输。
其中, 存储单元 901例如是机械硬盘、 固态硬盘等电子设备, 进一步的, 控制器 9 02例如是 CPU , 单片机等电子设备, 进一步的, 发送器 903例如是 无线网卡、 数据传输接口等电子设备。 具体的, 由于所述多数据中心是基于所述分布式系统来构建的, 可以使 得所述至少两个数据中心的所有的服务节点映射一个 DHT环, 所述 DHT环中 的每一段连续的取值范围(range )与一个服务节点对应, 所述至少两个数据 中心中的第一数据中心中的服务节点在所述至少两个数据中心中的至少一个 第二数据中心中有数据区间分布相对应的至少一个备份节点。
其中, 所述多数据中心的每一个备份节点对应至少一个服务节点, 而且 一个服务节点可以具有与其对应的多个备份节点。
具体的, 所述多数据中心中的每一个数据中心均为服务数据中心或备份 数据中心, 所述第一数据中心和所述第二数据中心的结构的结构为服务数据 中心-备份数据中心结构或双活数据中心结构, 其中, 若所述多数据中心的一 组数据中心的结构为服务数据中心 -备份数据中心结构,则其中的每一个服务 数据中心均仅包含服务节点, 以及其中的每一个备份数据中心均仅包含有备 份节点, 若所述多数据中心的一组数据中心的结构为双活数据中心结构, 则 其中的每一个数据中心均为服务数据中心且均包含有服务节点和备份节点。
在具体实施过程中, 所述多数据中心中的任意一个数据中心包含的各个 节点之间的数据结构为主节点 -从属节点结构,任意一个节点及其对应的从属 节点均为同一数据中心中的节点, 且所述从属节点用于备份所述任意一个节 点中的数据。
例如, 参见表 1和表 2 , 数据中心 2的 range分布是按照数据中心 1的 range分布来进行划分的, 从而使得数据中心 1具有数据区间分布相对应的 数据中心 2。
具体的, 所述备份路由信息包括节点对应的 range范围信息、 指示该节 点为服务节点还是备份节点的属性信息和该节点的备份节点信息, 其中, 该 节点的备份节点信息为当该节点为服务节点时, 用于备份该节点中数据的备 份节点的路由信息。
具体的, 控制器 902 , 具体用于根据所述路由更新消息中的参数, 调整 所述第一数据中心和所述第二数据中心的路由信息中的备份路由信息,其中, 所述路由更新消息中的参数包括服务节点映射的 range变化参数且该服务节 点对应一备份节点、 备份节点变化参数和备份或服务节点对应的 range服务 切换参数中的一种或任意组合, 所述备份或服务节点对应的 range服务切换 参数用于指示该备份或服务节点作为服务节点或作为备份节点的参数。
其中, 所述备份节点对应的 range服务切换参数, 用于指示该备份节点 切换为服务节点的参数, 所述服务节点的 range服务切换参数, 用于指示该 服务节点切换为备份节点的参数。
较佳的, 所述多数据中心中的任意一个数据中心的路由信息还包括该数 据中心的在线节点信息, 和 /或, 失效节点信息, 和 /或, 临时备份节点信息。
具体的, 控制器 902 , 还用于在所述路由更新消息中的参数为所述第一 数据中心中的第一服务节点映射的 range变化参数且所述第一服务节点对应 一备份节点时, 基于所述第一服务节点映射的 range变化参数, 釆用负载均 衡策略或哈希算法或 range合并算法, 调整所述路由信息中的所述第一数据 中心中的所述第一服务节点及其相关的第二服务节点中的每一个服务节点映 射的 range分布, 以及相应调整所述路由信息中的所述第二数据中心中的至 少一个备份节点的 range分布, 其中, 所述至少一个备份节点与所述第一服 务节点和所述第二服务节点相对应。
较佳的, 控制器 902 , 还用于在所述路由更新消息中的参数为所述第二 数据中心中的第一备份节点变化参数时, 获取与所述第一备份节点变化参数 对应的因素, 所述因素用于触发所述第一备份节点发生改变, 检测到所述因 素为备份节点掉线或数据迁移时, 釆用 range合并算法, 调整所述路由信息 中的所述第一备份节点及其相关的第二备份节点对应的 range分布, 以及相 应调整所述路由信息中的至少两个服务节点中的每一个服务节点的备份节点 信息, 其中, 所述至少两个服务节点为所述第一数据中心中的与所述第一备 份节点和所述第二备份节点对应的服务节点。 具体的, 控制器 902 , 还用于在所述路由更新消息中的参数为所述第一 数据中心的第三服务节点对应的 range服务切换参数时, 从所述第二数据中 心中确定与所述第三服务节点对应的第三备份节点, 并基于所述第三服务节 点对应的 range服务切换参数, 将所述路由信息中的所述第三服务节点的属 性信息从第一属性信息调整为第二属性信息, 并将所述第三服务节点的备份 节点信息中的所述第三备份节点的路由信息删除, 以及将所述路由信息中的 所述第三备份节点的属性信息从所述第二属性信息调整为所述第一属性信 息, 并将所述第三服务节点的路由信息添加到所述第三备份节点的备份节点 信息中, 其中, 所述第一属性信息用于指示节点为服务节点的信息, 所述第 二属性信息用于指示节点为备份节点的信息。
具体的, 控制器 902 , 还用于在所述获取到所述路由更新信息之后, 并 在所述根据所述路由更新消息, 调整所述第一数据中心和所述第二数据中心 的路由信息之前, 检测所述第一数据中心和所述第二数据中心对应的数据变 化信息是否符合在调整所述第一数据中心和所述第二数据中心的路由信息时 设置的前置条件。
具体的, 控制器 902 , 还用于在所述数据变化信息符合所述前置条件时, 从所述第一数据中心和所述第二数据中心中获取与所述路由更新信息中的参 数相关的系统节点, 所述系统节点为所述第一数据中心和所述第二数据中心 中的与所述路由更新信息中的参数相关的所有的服务节点和备份节点, 再基 于所述路由更新信息中的参数, 控制所述系统节点进行交互时的前序准备流 程。
其中, 所述系统节点可以通过存储器 901中存储的所述路由表信息中查 找得到, 以节省获取所述系统节点的时间。
具体的, 控制器 902 , 还用于在所述前序准备流程完成时, 检测所述系统 节点在所述管理节点获取到所述路由更新消息至所述前序准备流程完成时的 一段时间内是否发生异常, 在所述一段时间内未发生异常时, 用于根据所述 路由更新信息, 调整所述第一数据中心和所述第二数据中心的路由信息。 在另一实施例中, 所述管理节点也可能只获取指示对所述第一数据中心 的路由信息进行更新的第一路由更新消息, 所述管理节点根据所述第一路由 更新消息, 调整所述第一数据中心的第一路由信息, 所述管理节点将调整后 的所述第一数据中心的第一路由信息同步到所述第一数据中心中, 以使得所 述第一数据中心基于所述调整后的第一路由信息, 将管辖的各个节点的数据 进行同步传输。
当然, 所述管理节点也可能只获取指示对所述第二数据中心的路由信息 进行更新的第二路由更新消息, 所述管理节点根据所述第二路由更新消息, 调整所述第二数据中心的第二路由信息, 所述管理节点将调整后的所述第二 数据中心的第二路由信息同步到所述第二数据中心中, 以使得所述第二数据 中心基于所述调整后的第二路由信息, 将管辖的各个节点的数据进行同步传 输。
本发明实施例中, 仅管理节点获取指示对所述第一数据中心和所述第二 数据中心的路由信息进行更新的路由更新消息时, 才会调整所述第一数据中 心和第二数据中心的路由信息, 并基于调整后的所述第一数据中心和所述第 二数据中心的路由信息, 才使得所述第一数据中心和所述第二数据中心之间 数据进行同步, 如此, 在满足上述限制条件时, 才能实现所述第一数据中心 和所述第二数据中心之间数据同步, 从而确保所述多数据中的各个数据中心 相互之间的封闭性, 而且并未通过中转节点的方式来传输数据, 而是在相互 关联的节点之间直接传输数据, 避免了所述多数据中心在数据同步传输时的 瓶颈效应, 使得数据同步传输的效率更高。
实施例四
本发明实施例四提出一种分布式系统, 包括:
多数据中心, 包括至少两个数据中心, 所述至少两个数据中心中的每个 数据中心包括至少两个节点, 所述至少两个数据中心中的所有服务节点映射 一个分布式哈希 DHT环, 所述 DHT环中的每一段连续的取值范围 range与一 个服务节点对应, 所述至少两个数据中心中的第一数据中心中的服务节点在 所述至少两个数据中心中的至少一个第二数据中心中有数据区间分布相对应 的至少一个备份节点;
管理节点, 与所述多数据中心中的每一个数据中心通信相连, 用于获取 指示对所述第一数据中心和所述第二数据中心的路由信息进行更新的路由更 新消息, 其中, 所述路由信息中至少包含所述第一数据中心和所述第二数据 中心的标识信息以及所述第一数据中心和所述第二数据中心中各节点的备份 路由信息, 并根据所述路由更新消息, 调整所述第一数据中心和所述第二数 据中心的路由信息, 以及将调整后的所述第一数据中心和所述第二数据中心 的路由信息同步到所述第一数据中心和所述第二数据中心中, 以使所述第一 数据中心和所述第二数据中心基于所述调整后的路由信息, 对管辖的各个节 点的数据进行同步传输。
具体参见图 10, 管理节点 111分别与数据中心 112中的每一个节点通信连 接, 也分别与数据中心 113中的每一个节点通信连接, 多个用户终端 110可以 发送请求信息给数据中心 112和数据中心 113 ,数据中心 112和数据中心 113返 回与所述请求信息对应的数据给多个用户终端 110,在多个用户终端 110中的第 一用户终端发送第一请求信息给数据中心 112时, 数据中心 112会根据就近原 则, 为所述第一用户终端分配第一节点来响应所述第一请求信息, 以减少延时, 使得用户的体验更好。
其中, 在数据中心 113中的备份节点用于备份数据中心 112中的服务节 点中数据时, 若数据中心 11 3中一备份节点掉线, 需要将该备份节点中数据 转移到另一备份节点中时, 数据中心 113会发送用于指示对所述第一数据中 心和所述第二数据中心的路由信息进行更新的路由更新消息给管理节点 111 , 管理节点 111根据所述路由更新消息, 调整数据中心 112和数据中心 113的路由信息,并将调整后的数据中心 112的路由信息同步到数据中心 112 , 以及将调整后的数据中心 11 3的路由信息同步到数据中心 11 3 , 以使得数据 中心 112基于所述调整后的数据中心 112的路由信息, 对管辖的各个节点的 数据进行同步传输, 以及数据中心 11 3基于所述调整后的数据中心 113的路 由信息, 对管辖的各个节点的数据进行同步传输。
其中, 所述备份路由信息包括节点对应的 range范围信息、 指示该节点 为服务节点还是备份节点的属性信息和该节点的备份节点信息, 其中, 该节 点的备份节点信息为当该节点为服务节点时, 用于备份该节点中数据的备份 节点的路由信息。
具体的, 所述管理节点, 具体用于根据所述路由更新消息中的参数, 调 整所述第一数据中心和所述第二数据中心的路由信息中的备份路由信息, 其 中, 所述路由更新消息中的参数包括服务节点映射的 range变化参数且该服 务节点对应一备份节点、 备份节点变化参数和备份或服务节点对应的 range 服务切换参数中的一种或任意组合, 所述备份或服务节点对应的 range服务 切换参数用于指示该备份或服务节点作为服务节点或作为备份节点的参数。
其中, 所述备份节点对应的 range服务切换参数, 用于指示该备份节点 切换为服务节点的参数, 所述服务节点的 range服务切换参数, 用于指示该 服务节点切换为备份节点的参数。
具体的, 所述管理节点, 还用于在所述路由更新消息中的参数为所述第 一数据中心中的第一服务节点映射的 range变化参数且所述第一服务节点对 应一备份节点时, 基于所述第一服务节点映射的 range变化参数, 釆用负载 均衡策略或哈希算法或 range合并算法, 调整所述路由信息中的所述第一数 据中心中的所述第一服务节点及其相关的第二服务节点中的每一个服务节点 映射的 range分布, 以及相应调整所述路由信息中的所述第二数据中心中的 至少一个备份节点的 range分布, 其中, 所述至少一个备份节点与所述第一 服务节点和所述第二服务节点相对应。
具体的, 所述管理节点, 还用于在所述路由更新消息中的参数为所述第 二数据中心中的第一备份节点变化参数时, 获取与所述第一备份节点变化参 数对应的因素, 所述因素用于触发所述第一备份节点发生改变, 并检测到所 述因素为备份节点掉线或数据迁移时, 釆用 range合并算法, 调整所述路由 信息中的所述第一备份节点及其相关的第二备份节点对应的 range分布, 以 及相应调整所述路由信息中的至少两个服务节点中的每一个服务节点的备份 节点信息, 其中, 所述至少两个服务节点为所述第一数据中心中的与所述第 一备份节点和所述第二备份节点对应的服务节点。
具体的, 所述管理节点, 还用于在所述路由更新消息中的参数为所述第 一数据中心的第三服务节点对应的 range服务切换参数时, 从所述第二数据 中心中确定与所述第三服务节点对应的第三备份节点, 并基于所述第三服务 节点对应的 range服务切换参数, 将所述路由信息中的所述第三服务节点的 属性信息从第一属性信息调整为第二属性信息, 并将所述第三服务节点的备 份节点信息中的所述第三备份节点的路由信息删除, 以及将所述路由信息中 的所述第三备份节点的属性信息从所述第二属性信息调整为所述第一属性信 息, 并将所述第三服务节点的路由信息添加到所述第三备份节点的备份节点 信息中, 其中, 所述第一属性信息用于指示节点为服务节点的信息, 所述第 二属性信息用于指示节点为备份节点的信息。
具体的, 所述管理节点, 还用于存储所述多数据中心中的每一个数据中 心的路由表信息, 所述路由表信息中包含与所述每一个数据中心唯一对应的 标识信息和所述每一个数据中心的路由信息。
本发明实施例中, 仅管理节点获取指示对所述第一数据中心和所述第二 数据中心的路由信息进行更新的路由更新消息时, 才会调整所述第一数据中 心和第二数据中心的路由信息, 并基于调整后的所述第一数据中心和所述第 二数据中心的路由信息, 才使得所述第一数据中心和所述第二数据中心之间 数据进行同步, 如此, 在满足上述限制条件时, 才能实现所述第一数据中心 和所述第二数据中心之间数据同步, 从而确保所述多数据中的各个数据中心 相互之间的封闭性, 而且并未通过中转节点的方式来传输数据, 而是在相互 关联的节点之间直接传输数据, 避免了所述多数据中心在数据同步传输时的 瓶颈效应, 使得数据同步传输的效率更高。
本领域的技术人员应明白,本发明的实施例可提供为方法、装置(设备)、 或计算机程序产品。 因此, 本发明可釆用完全硬件实施例、 完全软件实施例、 或结合软件和硬件方面的实施例的形式。 而且, 本发明可釆用在一个或多个 其中包含有计算机可用程序代码的计算机可用存储介质 (包括但不限于磁盘 存储器、 CD-R0M、 光学存储器等) 上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、 装置 (设备) 和计算机程序产 品的流程图和 /或方框图来描述的。应理解可由计算机程序指令实现流程图和
/或方框图中的每一流程和 /或方框、 以及流程图和 /或方框图中的流程和 /或 方框的结合。 可提供这些计算机程序指令到通用计算机、 专用计算机、 嵌入 式处理机或其他可编程数据处理设备的处理器以产生一个机器, 使得通过计 算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图 —个流程或多个流程和 /或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设 备以特定方式工作的计算机可读存储器中, 使得存储在该计算机可读存储器 中的指令产生包括指令装置的制造品, 该指令装置实现在流程图一个流程或 多个流程和 /或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上, 使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的 处理, 从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图 一个流程或多个流程和 /或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例, 但本领域内的技术人员一旦得知了 基本创造性概念, 则可对这些实施例作出另外的变更和修改。 所以, 所附权 利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。 发明的精神和范围。 这样, 倘若本发明的这些修改和变型属于本发明权利要 求及其等同技术的范围之内, 则本发明也意图包含这些改动和变型在内。

Claims

权 利 要 求
1、 一种数据同步方法, 其特征在于, 一多数据中心中包括至少两个数 据中心, 所述至少两个数据中心中的每个数据中心包括至少两个节点, 所述 至少两个数据中心中的所有服务节点映射一个分布式哈希 DHT环, 所述 DHT环中的每一段连续的取值范围 range与一个服务节点对应,所述至少两 个数据中心中的第一数据中心中的服务节点在所述至少两个数据中心中的 至少一个第二数据中心中有数据区间分布相对应的至少一个备份节点,所述 方法包括:
管理节点获取指示对所述第一数据中心和所述第二数据中心的路由信 息进行更新的路由更新消息, 其中, 所述路由信息中至少包含所述第一数据 中心和所述第二数据中心的标识信息以及所述第一数据中心和所述第二数 据中心中各节点的备份路由信息;
所述管理节点根据所述路由更新消息,调整所述第一数据中心和所述第 二数据中心的路由信息;
所述管理节点将调整后的所述第一数据中心和所述第二数据中心的路 由信息同步到所述第一数据中心和所述第二数据中心中,以使所述第一数据 中心和所述第二数据中心基于所述调整后的路由信息,对管辖的各个节点的 数据进行同步传输。
2、 如权利要求 1所述的方法, 其特征在于, 所述备份路由信息包括节 点对应的 range范围信息、 指示该节点为服务节点还是备份节点的属性信息 和该节点的备份节点信息, 其中, 所述该节点的备份节点信息为当该节点为 服务节点时, 用于备份该节点中数据的备份节点的路由信息。
3、 如权利要求 2所述的方法, 其特征在于, 所述管理节点根据所述路 由更新消息, 调整所述第一数据中心和所述第二数据中心的路由信息, 具体 包括:
所述管理节点根据所述路由更新消息中的参数,调整所述第一数据中心 和所述第二数据中心的路由信息中的备份路由信息, 其中, 所述路由更新消 息中的参数包括服务节点映射的 range变化参数且该服务节点对应一备份节 点、 备份节点变化参数、 备份或服务节点对应的 range服务切换参数中的一 种或任意组合, 所述备份或服务节点对应的 range服务切换参数用于指示该 备份或服务节点作为服务节点或作为备份节点的参数。
4、 如权利要求 3所述的方法, 其特征在于, 在所述路由更新消息中的 参数为所述第一数据中心中的第一服务节点映射的 range变化参数且所述第 一服务节点对应一备份节点时,所述管理节点根据所述路由更新消息中的参 数,调整所述第一数据中心和所述第二数据中心的路由信息中的备份路由信 息, 具体包括:
所述管理节点基于所述第一服务节点映射的 range变化参数, 釆用负载 均衡策略或哈希算法或 range合并算法, 调整所述路由信息中的所述第一数 据中心中的所述第一服务节点及其相关的第二服务节点中的每一个服务节 点映射的 range分布, 以及相应调整所述路由信息中的所述第二数据中心中 的至少一个备份节点的 range分布, 其中, 所述至少一个备份节点与所述第 一服务节点和所述第二服务节点相对应。
5、 如权利要求 3所述的方法, 其特征在于, 在所述路由更新消息中的 参数为所述第二数据中心中的第一备份节点变化参数时,所述管理节点根据 所述路由更新消息中的参数,调整所述第一数据中心和所述第二数据中心的 路由信息中的备份路由信息, 具体包括:
所述管理节点获取与所述第一备份节点变化参数对应的因素,所述因素 用于触发所述第一备份节点发生改变;
所述管理节点检测到所述因素为备份节点掉线或数据迁移时, 釆用 range合并算法, 调整所述路由信息中的所述第一备份节点及其相关的第二 备份节点对应的 range分布, 以及相应调整所述路由信息中的至少两个服务 节点中的每一个服务节点的备份节点信息, 其中, 所述至少两个服务节点为 所述第一数据中心中的与所述第一备份节点和所述第二备份节点对应的服 务节点。
6、 如权利要求 3所述的方法, 其特征在于, 在所述路由更新消息中的 参数为所述第一数据中心的第三服务节点对应的 range服务切换参数时, 所 述管理节点根据所述路由更新消息中的参数,调整所述第一数据中心和所述 第二数据中心的路由信息中的备份路由信息, 具体为:
所述管理节点从所述第二数据中心中确定与所述第三服务节点对应的 第三备份节点;
所述管理节点基于所述第三服务节点对应的 range服务切换参数, 将所 述路由信息中的所述第三服务节点的属性信息从第一属性信息调整为第二 属性信息,并将所述第三服务节点的备份节点信息中的所述第三备份节点的 路由信息删除,以及将所述路由信息中的所述第三备份节点的属性信息从所 述第二属性信息调整为所述第一属性信息,并将所述第三服务节点的路由信 息添加到所述第三备份节点的备份节点信息中, 其中, 所述第一属性信息用 于指示节点为服务节点的信息,所述第二属性信息用于指示节点为备份节点 的信息。
7、 如权利要求 1-6任一项所述的方法, 其特征在于, 所述管理节点中 存储有所述多数据中心中的每一个数据中心的路由表信息,所述路由表信息 中包含与所述每一个数据中心唯一对应的标识信息和所述每一个数据中心 的路由信息。
8、 一种数据同步装置, 该数据同步装置分别与一多数据中心中的每一 个数据中心通信相连, 所述多数据中心中包括至少两个数据中心, 且所述至 少两个数据中心中的每个数据中心包括至少两个节点,所述至少两个数据中 心中的所有服务节点映射一个分布式哈希 DHT环,所述 DHT环中的每一段 连续的取值范围 range与一个服务节点对应, 所述至少两个数据中心中的第 一数据中心中的服务节点在所述至少两个数据中心中的至少一个第二数据 中心中有数据区间分布相对应的至少一个备份节点, 其特征在于, 所述数据 同步装置包括:
第一获取单元, 用于获取指示对所述第一数据中心和所述第二数据 中心的路由信息进行更新的路由更新消息, 其中, 所述路由信息中至少包含 所述第一数据中心和所述第二数据中心的标识信息以及所述第一数据中心 和所述第二数据中心中各节点的备份路由信息;
第一路由调整单元,用于接收来自所述第一获取单元的所述路由更新消 息, 并根据所述路由更新消息, 调整所述第一数据中心和所述第二数据中心 的路由信息;
第一路由同步单元,用于在接收到来自所述第一路由调整单元的调整后 的所述第一数据中心和所述第二数据中心的路由信息,并将所述调整后的所 述第一数据中心和所述第二数据中心的路由信息同步到所述第一数据中心 和所述第二数据中心中,以使所述第一数据中心和所述第二数据中心基于所 述调整后的路由信息, 对管辖的各个节点的数据进行同步传输。
9、 如权利要求 8所述的装置, 其特征在于, 所述备份路由信息包括节 点对应的 range范围信息、 指示该节点为服务节点还是备份节点的属性信息 和该节点的备份节点信息, 其中, 所述该节点的备份节点信息为当该节点为 服务节点时, 用于备份该节点中数据的备份节点的路由信息。
10、 如权利要求 9所述的装置, 其特征在于, 所述第一路由调整单元, 具体用于根据所述路由更新消息中的参数,调整所述第一数据中心和所述第 二数据中心的路由信息中的备份路由信息, 其中, 所述路由更新消息中的参 数包括服务节点映射的 range变化参数且该服务节点对应一备份节点、 备份 节点变化参数、 备份或服务节点对应的 range服务切换参数中的一种或任意 组合, 所述备份或服务节点对应的 range服务切换参数用于指示该备份或服 务节点作为服务节点或作为备份节点的参数。
11、 如权利要求 10所述的装置, 其特征在于, 所述第一路由调整单元 包括第一路由调整子单元,用于在所述路由更新消息中的参数为所述第一数 据中心中的第一服务节点映射的 range变化参数且所述第一服务节点对应一 备份节点时, 基于所述第一服务节点映射的 range变化参数, 釆用负载均衡 策略或哈希算法或 range合并算法, 调整所述路由信息中的所述第一数据中 心中的所述第一服务节点及其相关的第二服务节点中的每一个服务节点映 射的 range分布, 以及相应调整所述路由信息中的所述第二数据中心中的至 少一个备份节点的 range分布, 其中, 所述至少一个备份节点与所述第一服 务节点和所述第二服务节点相对应。
12、 如权利要求 10所述的装置, 其特征在于, 所述第一路由调整单元 包括第二路由调整子单元,用于在所述路由更新消息中的参数为所述第二数 据中心中的第一备份节点变化参数时,获取与所述第一备份节点变化参数对 应的因素, 所述因素用于触发所述第一备份节点发生改变, 在检测到所述因 素为备份节点掉线或数据迁移时, 釆用 range合并算法, 调整所述路由信息 中的所述第一备份节点及其相关的第二备份节点对应的 range分布, 以及相 应调整所述路由信息中的至少两个服务节点中的每一个服务节点的备份节 点信息, 其中, 所述至少两个服务节点为所述第一数据中心中的与所述第一 备份节点和所述第二备份节点对应的服务节点。
13、 如权利要求 10所述的装置, 其特征在于, 所述第一路由调整单元 包括第三路由调整子单元,用于在所述路由更新消息中的参数为所述第一数 据中心的第三服务节点对应的 range服务切换参数时, 从所述第二数据中心 中确定与所述第三服务节点对应的第三备份节点,再基于所述第三服务节点 对应的 range服务切换参数, 将所述路由信息中的所述第三服务节点的属性 信息从第一属性信息调整为第二属性信息,并将所述第三服务节点的备份节 点信息中的所述第三备份节点的路由信息删除, 以及将所述路由信息中的所 述第三备份节点的属性信息从所述第二属性信息调整为所述第一属性信息, 并将所述第三服务节点的路由信息添加到所述第三备份节点的备份节点信 息中, 其中, 所述第一属性信息用于指示节点为服务节点的信息, 所述第二 属性信息用于指示节点为备份节点的信息。
14、 如权利要求 8-13任一项所述的装置, 其特征在于, 所述数据同步 装置包括存储单元,用于存储所述多数据中心中的每一个数据中心的路由表 信息,所述路由表信息中包含与所述每一个数据中心唯一对应的标识信息和 所述每一个数据中心的路由信息。
15、 一种数据同步装置, 该数据同步装置分别与一多数据中心中的每一 个数据中心通信相连, 所述多数据中心中包括至少两个数据中心, 且所述至 少两个数据中心中的每个数据中心包括至少两个节点,所述至少两个数据中 心中的所有服务节点映射一个分布式哈希 DHT环,所述 DHT环中的每一段 连续的取值范围 range与一个服务节点对应, 所述至少两个数据中心中的第 一数据中心中的服务节点在所述至少两个数据中心中的至少一个第二数据 中心中有数据区间分布相对应的至少一个备份节点, 其特征在于, 所述数据 同步装置包括:
存储器, 用于存储所述多数据中心中的每一个数据中心的路由表信息, 所述路由表信息中包含与所述每一个数据中心唯一对应的标识信息和所述 每一个数据中心的路由信息;
控制器,用于获取指示对所述第一数据中心和所述第二数据中心的路由 信息进行更新的路由更新消息, 其中, 所述路由信息中至少包含所述第一数 据中心和所述第二数据中心的标识信息以及所述第一数据中心和所述第二 数据中心中各节点的备份路由信息, 并根据所述路由更新消息, 调整所述第 一数据中心和所述第二数据中心的路由信息;
发送器,用于将调整后的所述第一数据中心和所述第二数据中心的路由 信息同步到所述第一数据中心和所述第二数据中心中,以使所述第一数据中 心和所述第二数据中心基于所述调整后的路由信息,对管辖的各个节点的数 据进行同步传输。
16、 如权利要求 15所述的装置, 其特征在于, 所述备份路由信息包括 节点对应的 range范围信息、 指示该节点为服务节点还是备份节点的属性信 息和该节点的备份节点信息, 其中, 所述该节点的备份节点信息为当该节点 为服务节点时, 用于备份该节点中数据的备份节点的路由信息。
17、 如权利要求 16所述的装置, 其特征在于, 所述控制器, 具体用于 根据所述路由更新消息中的参数,调整所述第一数据中心和所述第二数据中 心的路由信息中的备份路由信息, 其中, 所述路由更新消息中的参数包括服 务节点映射的 range变化参数且该服务节点对应一备份节点、 备份节点变化 参数、 备份或服务节点对应的 range服务切换参数中的一种或任意组合, 所 述备份或服务节点对应的 range服务切换参数用于指示该备份或服务节点作 为服务节点或作为备份节点的参数。
18、 如权利要求 17所述的装置, 其特征在于, 所述控制器, 还用于在 所述路由更新消息中的参数为所述第一数据中心中的第一服务节点映射的 range变化参数且所述第一服务节点对应一备份节点时, 基于所述第一服务 节点映射的 range变化参数, 釆用负载均衡策略或哈希算法或 range合并算 法,调整所述路由信息中的所述第一数据中心中的所述第一服务节点及其相 关的第二服务节点中的每一个服务节点映射的 range分布, 以及相应调整所 述路由信息中的所述第二数据中心中的至少一个备份节点的 range分布, 其 中, 所述至少一个备份节点与所述第一服务节点和所述第二服务节点相对 应。
19、 如权利要求 17所述的装置, 其特征在于, 所述控制器, 还用于在 所述路由更新消息中的参数为所述第二数据中心中的第一备份节点变化参 数时, 获取与所述第一备份节点变化参数对应的因素, 所述因素用于触发所 述第一备份节点发生改变, 检测到所述因素为备份节点掉线或数据迁移时, 釆用 range合并算法, 调整所述路由信息中的所述第一备份节点及其相关的 第二备份节点对应的 range分布, 以及相应调整所述路由信息中的至少两个 服务节点中的每一个服务节点的备份节点信息, 其中, 所述至少两个服务节 点为所述第一数据中心中的与所述第一备份节点和所述第二备份节点对应 的服务节点。
20、 如权利要求 17所述的装置, 其特征在于, 所述控制器, 还用于在 所述路由更新消息中的参数为所述第一数据中心的第三服务节点对应的 range服务切换参数时, 从所述第二数据中心中确定与所述第三服务节点对 应的第三备份节点, 并基于所述第三服务节点对应的 range服务切换参数, 将所述路由信息中的所述第三服务节点的属性信息从第一属性信息调整为 第二属性信息,并将所述第三服务节点的备份节点信息中的所述第三备份节 点的路由信息删除, 以及将所述路由信息中的所述第三备份节点的属性信息 从所述第二属性信息调整为所述第一属性信息,并将所述第三服务节点的路 由信息添加到所述第三备份节点的备份节点信息中, 其中, 所述第一属性信 息用于指示节点为服务节点的信息,所述第二属性信息用于指示节点为备份 节点的信息。
21、 一种分布式系统, 其特征在于, 包括:
多数据中心, 包括至少两个数据中心, 所述至少两个数据中心中的每个 数据中心包括至少两个节点,所述至少两个数据中心中的所有服务节点映射 一个分布式哈希 DHT环, 所述 DHT环中的每一段连续的取值范围 range与 一个服务节点对应,所述至少两个数据中心中的第一数据中心中的服务节点 在所述至少两个数据中心中的至少一个第二数据中心中有数据区间分布相 对应的至少一个备份节点;
管理节点, 与所述多数据中心中的每一个数据中心通信相连, 用于获取 指示对所述第一数据中心和所述第二数据中心的路由信息进行更新的路由 更新消息, 其中, 所述路由信息中至少包含所述第一数据中心和所述第二数 据中心的标识信息以及所述第一数据中心和所述第二数据中心中各节点的 备份路由信息, 并根据所述路由更新消息, 调整所述第一数据中心和所述第 二数据中心的路由信息,以及将调整后的所述第一数据中心和所述第二数据 中心的路由信息同步到所述第一数据中心和所述第二数据中心中,以使所述 第一数据中心和所述第二数据中心基于所述调整后的路由信息,对管辖的各 个节点的数据进行同步传输。
22、 如权利要求 21所述的系统, 其特征在于, 所述备份路由信息包括 节点对应的 range范围信息、 指示该节点为服务节点还是备份节点的属性信 息和该节点的备份节点信息, 其中, 所述该节点的备份节点信息为当该节点 为服务节点时, 用于备份该节点中数据的备份节点的路由信息。
23、 如权利要求 22所述的系统, 其特征在于, 所述管理节点, 具体用 于根据所述路由更新消息中的参数,调整所述第一数据中心和所述第二数据 中心的路由信息中的备份路由信息, 其中, 所述路由更新消息中的参数包括 服务节点映射的 range变化参数且该服务节点对应一备份节点、 备份节点变 化参数、 备份或服务节点对应的 range服务切换参数中的一种或任意组合, 所述备份或服务节点对应的 range服务切换参数用于指示该备份或服务节点 作为服务节点或作为备份节点的参数。
24、 如权利要求 23所述的系统, 其特征在于, 所述管理节点, 还用于 在所述路由更新消息中的参数为所述第一数据中心中的第一服务节点映射 的 range变化参数且所述第一服务节点对应一备份节点时, 基于所述第一服 务节点映射的 range变化参数, 釆用负载均衡策略或哈希算法或 range合并 算法,调整所述路由信息中的所述第一数据中心中的所述第一服务节点及其 相关的第二服务节点中的每一个服务节点映射的 range分布, 以及相应调整 所述路由信息中的所述第二数据中心中的至少一个备份节点的 range分布, 其中,所述至少一个备份节点与所述第一服务节点和所述第二服务节点相对 应。
25、 如权利要求 23所述的系统, 其特征在于, 所述管理节点, 还用于 在所述路由更新消息中的参数为所述第二数据中心中的第一备份节点变化 参数时, 获取与所述第一备份节点变化参数对应的因素, 所述因素用于触发 所述第一备份节点发生改变,并检测到所述因素为备份节点掉线或数据迁移 时, 釆用 range合并算法, 调整所述路由信息中的所述第一备份节点及其相 关的第二备份节点对应的 range分布, 以及相应调整所述路由信息中的至少 两个服务节点中的每一个服务节点的备份节点信息, 其中, 所述至少两个服 务节点为所述第一数据中心中的与所述第一备份节点和所述第二备份节点 对应的服务节点。
26、 如权利要求 23所述的系统, 其特征在于, 所述管理节点, 还用于 在所述路由更新消息中的参数为所述第一数据中心的第三服务节点对应的 range服务切换参数时, 从所述第二数据中心中确定与所述第三服务节点对 应的第三备份节点, 并基于所述第三服务节点对应的 range服务切换参数, 将所述路由信息中的所述第三服务节点的属性信息从第一属性信息调整为 第二属性信息,并将所述第三服务节点的备份节点信息中的所述第三备份节 点的路由信息删除, 以及将所述路由信息中的所述第三备份节点的属性信息 从所述第二属性信息调整为所述第一属性信息,并将所述第三服务节点的路 由信息添加到所述第三备份节点的备份节点信息中, 其中, 所述第一属性信 息用于指示节点为服务节点的信息,所述第二属性信息用于指示节点为备份 节点的信息。
27、如权利要求 21-26任一项所述的系统, 其特征在于, 所述管理节点, 还用于存储所述多数据中心中的每一个数据中心的路由表信息,所述路由表 信息中包含与所述每一个数据中心唯一对应的标识信息和所述每一个数据 中心的路由信息。
PCT/CN2014/079921 2013-06-20 2014-06-16 数据同步方法、数据同步装置及分布式系统 WO2014201982A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/974,368 US20160105502A1 (en) 2013-06-20 2015-12-18 Data synchronization method, data synchronization apparatus, and distributed system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201310246590.1 2013-06-20
CN201310246590.1A CN104243527B (zh) 2013-06-20 2013-06-20 数据同步方法、数据同步装置及分布式系统

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/974,368 Continuation US20160105502A1 (en) 2013-06-20 2015-12-18 Data synchronization method, data synchronization apparatus, and distributed system

Publications (1)

Publication Number Publication Date
WO2014201982A1 true WO2014201982A1 (zh) 2014-12-24

Family

ID=52103953

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/079921 WO2014201982A1 (zh) 2013-06-20 2014-06-16 数据同步方法、数据同步装置及分布式系统

Country Status (3)

Country Link
US (1) US20160105502A1 (zh)
CN (1) CN104243527B (zh)
WO (1) WO2014201982A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105282045A (zh) * 2015-11-17 2016-01-27 高新兴科技集团股份有限公司 一种基于一致性哈希算法的分布式计算和储存方法
CN113472469A (zh) * 2021-07-27 2021-10-01 厦门亿联网络技术股份有限公司 一种数据同步方法、装置、设备及存储介质

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104506614B (zh) * 2014-12-22 2018-07-31 国家电网公司 一种基于云计算的分布式多活数据中心的设计方法
CN104506638A (zh) * 2014-12-30 2015-04-08 北京天云融创软件技术有限公司 多数据中心数据同步方法
CN107147511A (zh) * 2016-03-01 2017-09-08 深圳市深信服电子科技有限公司 数据中心控制方法及装置
CN112054961B (zh) * 2016-04-21 2023-12-08 华为技术有限公司 数据传输系统、方法及装置
CN106101280B (zh) * 2016-08-18 2019-01-22 无锡华云数据技术服务有限公司 一种数据中心间的网络信息同步更新方法
CN106658559B (zh) * 2016-11-10 2019-07-12 中国电子科技集团公司第二十八研究所 一种基于上下文预测的移动服务质量保持方法
CN109510855B (zh) * 2017-09-15 2020-07-28 腾讯科技(深圳)有限公司 事件分发系统、方法及装置
CN108055345A (zh) * 2017-12-26 2018-05-18 天闻数媒科技(北京)有限公司 一种资源同步方法、分布式设备和中心设备
CN108881415B (zh) * 2018-05-31 2020-11-17 广州亿程交通信息集团有限公司 分布式实时大数据分析系统
CN110224945A (zh) * 2019-06-10 2019-09-10 莫毓昌 一种基于图的数据中心模块互联方法
US11356368B2 (en) * 2019-11-01 2022-06-07 Arista Networks, Inc. Pinning bi-directional network traffic to a service device
CN111049928B (zh) * 2019-12-24 2022-03-29 北京奇艺世纪科技有限公司 数据同步方法、系统、电子设备及计算机可读存储介质
US11108663B1 (en) * 2020-02-24 2021-08-31 Dell Products L.P. Ring control data exchange system
CN114416703A (zh) * 2020-10-28 2022-04-29 北京中祥英科技有限公司 数据完整性自动监控方法、装置、设备及介质
US11140220B1 (en) * 2020-12-11 2021-10-05 Amazon Technologies, Inc. Consistent hashing using the power of k choices in server placement
US11310309B1 (en) 2020-12-11 2022-04-19 Amazon Technologies, Inc. Arc jump: per-key selection of an alternative server when implemented bounded loads
CN113595805B (zh) * 2021-08-23 2024-01-30 海南房小云科技有限公司 一种用于局域网内的个人计算机数据共享方法
CN116528337A (zh) * 2022-01-22 2023-08-01 华为技术有限公司 业务协同方法、电子设备、可读存储介质和芯片系统
CN115103020B (zh) * 2022-08-25 2022-11-15 建信金融科技有限责任公司 数据迁移处理方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1731742A (zh) * 2005-08-26 2006-02-08 南京邮电大学 对等计算中一种分布式哈希表
CN101291546A (zh) * 2008-06-11 2008-10-22 清华大学 核心路由器交换结构协处理器
CN101465796A (zh) * 2007-12-19 2009-06-24 中国移动通信集团公司 P2p系统元数据收集、分发方法及其装置和系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6097718A (en) * 1996-01-02 2000-08-01 Cisco Technology, Inc. Snapshot routing with route aging
US7565448B1 (en) * 2004-02-03 2009-07-21 Sprint Communications Company L.P. Network control system for a communication network
US8775817B2 (en) * 2008-05-12 2014-07-08 Microsoft Corporation Application-configurable distributed hash table framework
US8874505B2 (en) * 2011-01-11 2014-10-28 Hitachi, Ltd. Data replication and failure recovery method for distributed key-value store
US9589008B2 (en) * 2013-01-10 2017-03-07 Pure Storage, Inc. Deduplication of volume regions

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1731742A (zh) * 2005-08-26 2006-02-08 南京邮电大学 对等计算中一种分布式哈希表
CN101465796A (zh) * 2007-12-19 2009-06-24 中国移动通信集团公司 P2p系统元数据收集、分发方法及其装置和系统
CN101291546A (zh) * 2008-06-11 2008-10-22 清华大学 核心路由器交换结构协处理器

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105282045A (zh) * 2015-11-17 2016-01-27 高新兴科技集团股份有限公司 一种基于一致性哈希算法的分布式计算和储存方法
CN105282045B (zh) * 2015-11-17 2018-11-16 高新兴科技集团股份有限公司 一种基于一致性哈希算法的分布式计算和储存方法
CN113472469A (zh) * 2021-07-27 2021-10-01 厦门亿联网络技术股份有限公司 一种数据同步方法、装置、设备及存储介质
CN113472469B (zh) * 2021-07-27 2023-12-05 厦门亿联网络技术股份有限公司 一种数据同步方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN104243527B (zh) 2018-08-21
CN104243527A (zh) 2014-12-24
US20160105502A1 (en) 2016-04-14

Similar Documents

Publication Publication Date Title
WO2014201982A1 (zh) 数据同步方法、数据同步装置及分布式系统
US11320991B2 (en) Identifying sub-health object storage devices in a data storage system
US10185497B2 (en) Cluster federation and trust in a cloud environment
US9405781B2 (en) Virtual multi-cluster clouds
CA2938768C (en) Geographically-distributed file system using coordinated namespace replication
CN102693324B (zh) 一种分布式数据库同步系统、同步方法和节点管理方法
JP5811703B2 (ja) 分散制御プログラム、分散制御方法、および情報処理装置
WO2018059032A1 (zh) 一种虚拟节点的数据迁移方法和虚拟节点
CN103294701B (zh) 一种分布式文件系统以及数据处理的方法
WO2014101424A1 (zh) 分布式数据库同步方法和系统
JP2017534133A (ja) 分散ストレージ及びレプリケーションシステム、並びに方法
CN106570007A (zh) 用于分布式缓存系统数据同步的方法和设备
CN113489784B (zh) 分布式存储的非对称逻辑单元访问多路径实现方法及系统
CN103034739A (zh) 一种分布式存储系统及其更新和查询方法
CN106936623A (zh) 分布式缓存系统及缓存集群的管理方法
EP3080697A1 (en) System and method for supporting persistence partition recovery in a distributed data grid
CN103401951A (zh) 基于对等架构的弹性云分发方法
CN107249045A (zh) 便携式内窥镜多模态信息同步存储方法和系统
WO2014094296A1 (zh) 分布式存储控制方法、装置及系统
JP2011002970A (ja) 分散データ管理システム、データ管理装置、データ管理方法、およびプログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14813900

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14813900

Country of ref document: EP

Kind code of ref document: A1