CN113489792B - 一种在跨数据中心集群共识算法中减少数据中心间网络传输次数的方法 - Google Patents
一种在跨数据中心集群共识算法中减少数据中心间网络传输次数的方法 Download PDFInfo
- Publication number
- CN113489792B CN113489792B CN202110767108.3A CN202110767108A CN113489792B CN 113489792 B CN113489792 B CN 113489792B CN 202110767108 A CN202110767108 A CN 202110767108A CN 113489792 B CN113489792 B CN 113489792B
- Authority
- CN
- China
- Prior art keywords
- sequencing
- message
- cluster
- master
- node
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及网络体系结构技术领域,具体来说是一种在跨数据中心集群共识算法中减少数据中心间网络传输次数的方法,每个集群包括若干备用节点,还包括一定序主节点,定序主节点负责接收上游消息;一处理主节点,处理主节点负责将同步完成后的消息提交给应用并产生输出发送给下游;所述定序主节点和处理主节点分属不同数据中心。本发明所提供的一种在跨数据中心集群共识算法中减少数据中心间网络传输次数的方法,和通常RAFT等共识算法中默认将定序主和执行主合一的思路相比,在多级流水线正确部署的情况下通常优于后者。
Description
技术领域
本发明涉及网络体系结构技术领域,具体来说是一种在跨数据中心集群共识算法中减少数据中心间网络传输次数的方法。
背景技术
为提高系统的可靠性,避免因外界的不可抗力导致的系统故障,目前许多系统都采取部署多个数据中心以避免单数据中心的故障。为了减少乃至消除单数据中心故障时集群数据的丢失,易于确保单数据中心故障后不同集群间数据的一致性,许多系统希望将每个集群跨数据中心部署,并实现集群状态在不同数据中心间的强一致性,为此同一集群中在不同数据中心的节点间需要借助某种共识算法进行同步并达成状态的强一致,典型共识算法如RAFT,PAXOS等。
为保证多个数据中心不同时受到外界的影响,数据中心之间一般需间隔一段不短的距离,这就导致了不同数据中心间,数据同步耗时会受到网络传输速度的影响。在低延迟的场景下,跨数据中心网络传输的耗时占比相对较大,故在系统设计角度,需尽量减少共识过程中数据中心间网络传输的次数。
发明内容
本发明的目的在于解决现有技术的不足,提供一种在高可用的多级(大于等于二级)流水线结构的场景下,可减少网络传输次数的通用的共识算法优化方案。
为了实现上述目的,设计一种在跨数据中心集群共识算法中减少数据中心间网络传输次数的方法,每个集群包括若干备用节点,还包括一定序主节点,定序主节点负责接收上游消息;一处理主节点,处理主节点负责将同步完成后的消息提交给应用并产生输出发送给下游;
所述定序主节点和处理主节点分属不同数据中心。
本发明还具有如下优选的技术方案:
进一步的,本发明所述方法具体包括以下步骤:
S1.业务集群的定序主节点收到其上游的消息后,将其定序;
S2.业务集群的定序主节点将其定序后的结果,通过同步消息转发给集群内所有其他节点;
S3.集群中节点收到定序主发送的同步消息后,向处理主节点发送确认消息,包括定序主节点发送同步消息后,也需要向处理主发送确认消息;
S4、处理主节点收到定序主节点的同步消息后,等待其他所有节点的确认消息;收齐确认消息后,将消息提交给应用,产生响应并下发。
发明的有益效果
本发明所提供的一种在跨数据中心集群共识算法中减少数据中心间网络传输次数的方法的优点在于,和通常RAFT等共识算法中默认将定序主和执行主合一的思路相比,在多级流水线正确部署的情况下通常优于后者。
附图说明
图1示例性示出了本发明中一实施例中集群进行跨站传输的工作流程示意图;
图2示例性示出了本发明的实施例中据有双层主备跨站同步时的工作流程示意图;
图3示例性示出了采用RAFT算法进行跨站传输的流程示意图;
图4示例性示出了采用RC(交易风控)集群进行的流程示意图。
具体实施方式
下面通过实施例和附图对本发明所采用技术方案做进一步的说明。
参见图3,以RAFT算法为例,某一业务集群的主节点收到消息后,同步给了备节点,包括另一个数据中心的备节点;备节点收到主节点的同步消息后,给主节点回复确认;主节点收到所有备节点的确认后,才将消息提交给应用进行业务处理。上述过程中,包括两次跨站传输。
为了提高系统的吞吐量,增加扩展性,交易系统往往采用二级及更多层次的流水线架构,如图4所示。RC(交易风控)集群作为风控集群进行前置的控制,校验通过的订单才进入下一个集群MC(交易撮合)集群进行交易撮合。二级流水线可提高系统的扩展性和吞吐量,且可以保护撮合进程,将其与用户的网络隔离,在交易系统中普遍应用。但根据之前所述的主备同步的高可用的场景,每一级流水线都需要进行两次跨数据中心传输,一共需要四次跨数据中心传输。
参见图1,将业务集群的定序主位于数据中心1,业务集群的处理主位于数据中心2。集群的工作流程如下:
1.业务集群的定序主收到其上游的消息后,将其定序;
2.业务集群的定序主将其定序后的结果,通过同步消息转发给集群内所有其他节点;
3.集群中节点收到定序主发送的同步消息后,向处理主发送确认消息,包括定序主发送同步消息后,也需要向处理主发送确认消息;
4.处理主收到定序主的同步消息后,等待其他所有节点的确认消息;收齐确认消息后,将消息提交给应用,产生响应并下发。
采用上述架构的特点在于,在同步消息跨站传输的时候,定序主节点所在站点的消息在较短的时间内收到了同步消息,并随即发送跨站确认消息,可视为同时跨站;处理主节点所在的站点的主机,在同步消息经过一次跨站传输的之后收到,并发送无需跨站的确认消息;故,从定序主收到消息,到处理主消息发出,该消息穿梭到了另一个站点,且只需一次跨站。
当有双层主备跨站同步的结构时,相比每个集群跨站两次、共跨站四次的结构,此方案仅需跨站两次,且消息仍在原站点,如图2所示。
通过上述方法,可有效减少分布式集群跨数据中心部署时的跨站次数,从原先需要4次跨站减少为2次,以跨30公里之间数据中心传输为例,可以降低250-300us的时延;若站点间网络传输占时延的绝大部分比例,则可降低接近50%的时延。
上述方法可以扩展到多级流水线的情况,比如四级流水线的情况下,原本需要8次,目前需要4次。可以证明,以上分离定序主和执行主的方式,和通常RAFT等共识算法中默认将定序主和执行主合一的方式相比,在两级流水线的情况下不差于后者,且在多于两级流水线并正确部署的情况下通常优于后者所采用方法。
以上所述,仅为此发明的具体实施方式,但本发明的保护范围不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案和新型的构思加于等同替换或改变,都应涵盖在本发明的保护范围之内。
Claims (1)
1.一种在跨数据中心集群共识算法中减少数据中心间网络传输次数的方法,每个集群包括若干备用节点,其特征在于每个集群还包括 一定序主节点,定序主节点负责接收上游消息; 一处理主节点,处理主节点负责将同步完成后的消息提交给应用并产生输出发送给下游; 所述定序主节点和处理主节点分属不同数据中心;
具体方法如下: S1.业务集群的定序主节点收到其上游的消息后,将其定序; S2.业务集群的定序主节点将其定序后的结果,通过同步消息转发给集群内所有其他节点; S3.集群中节点收到定序主发送的同步消息后,向处理主节点发送确认消息,包括定序主节点发送同步消息后,也需要向处理主发送确认消息; S4.处理主节点收到定序主节点的同步消息后,等待其他所有节点的确认消息;收齐确认消息后,将消息提交给应用,产生响应并下发。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110767108.3A CN113489792B (zh) | 2021-07-07 | 2021-07-07 | 一种在跨数据中心集群共识算法中减少数据中心间网络传输次数的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110767108.3A CN113489792B (zh) | 2021-07-07 | 2021-07-07 | 一种在跨数据中心集群共识算法中减少数据中心间网络传输次数的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113489792A CN113489792A (zh) | 2021-10-08 |
CN113489792B true CN113489792B (zh) | 2023-02-03 |
Family
ID=77940914
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110767108.3A Active CN113489792B (zh) | 2021-07-07 | 2021-07-07 | 一种在跨数据中心集群共识算法中减少数据中心间网络传输次数的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113489792B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103647668A (zh) * | 2013-12-16 | 2014-03-19 | 上海证券交易所 | 一种高可用集群内主机群体决策系统及切换方法 |
CN104935628A (zh) * | 2015-04-20 | 2015-09-23 | 电子科技大学 | 一种在多个数据中心之间迁移多个关联虚拟机的方法 |
CN105718479A (zh) * | 2014-12-04 | 2016-06-29 | 中国电信股份有限公司 | 跨idc大数处理架构下执行策略生成方法、装置 |
CN106484565A (zh) * | 2016-09-22 | 2017-03-08 | 华为数字技术(成都)有限公司 | 多数据中心间的数据同步方法及相关设备 |
CN108881369A (zh) * | 2018-04-24 | 2018-11-23 | 中国科学院信息工程研究所 | 一种基于面向数据内容的云消息中间件的数据交换方法和云消息中间件系统 |
CN109150598A (zh) * | 2018-08-10 | 2019-01-04 | 上交所技术有限责任公司 | 一种基于块片的bft共识算法带宽使用率改进方法 |
CN109739927A (zh) * | 2018-12-12 | 2019-05-10 | 北京世纪互联宽带数据中心有限公司 | 数据存储方法及其装置、电子设备、计算机可读介质 |
CN111669427A (zh) * | 2020-04-20 | 2020-09-15 | 北京邮电大学 | 一种软件定义网络发布订阅系统和方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9047331B2 (en) * | 2011-04-21 | 2015-06-02 | International Business Machines Corporation | Scalable row-store with consensus-based replication |
CN107211237A (zh) * | 2014-12-14 | 2017-09-26 | 中兴通讯股份有限公司 | 用于操作分布式通信网络的技术 |
US11314772B2 (en) * | 2017-04-26 | 2022-04-26 | Telefonaktiebolaget Lm Ericsson (Publ) | Robust data replication among data centers |
CN112150141A (zh) * | 2019-06-26 | 2020-12-29 | 京东数字科技控股有限公司 | 一种区块链共识方法、装置和系统 |
-
2021
- 2021-07-07 CN CN202110767108.3A patent/CN113489792B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103647668A (zh) * | 2013-12-16 | 2014-03-19 | 上海证券交易所 | 一种高可用集群内主机群体决策系统及切换方法 |
CN105718479A (zh) * | 2014-12-04 | 2016-06-29 | 中国电信股份有限公司 | 跨idc大数处理架构下执行策略生成方法、装置 |
CN104935628A (zh) * | 2015-04-20 | 2015-09-23 | 电子科技大学 | 一种在多个数据中心之间迁移多个关联虚拟机的方法 |
CN106484565A (zh) * | 2016-09-22 | 2017-03-08 | 华为数字技术(成都)有限公司 | 多数据中心间的数据同步方法及相关设备 |
CN108881369A (zh) * | 2018-04-24 | 2018-11-23 | 中国科学院信息工程研究所 | 一种基于面向数据内容的云消息中间件的数据交换方法和云消息中间件系统 |
CN109150598A (zh) * | 2018-08-10 | 2019-01-04 | 上交所技术有限责任公司 | 一种基于块片的bft共识算法带宽使用率改进方法 |
CN109739927A (zh) * | 2018-12-12 | 2019-05-10 | 北京世纪互联宽带数据中心有限公司 | 数据存储方法及其装置、电子设备、计算机可读介质 |
CN111669427A (zh) * | 2020-04-20 | 2020-09-15 | 北京邮电大学 | 一种软件定义网络发布订阅系统和方法 |
Non-Patent Citations (4)
Title |
---|
TiDB 5.0 跨中心部署能力初探 | 中心化还是去中心化?揭秘 TiDB 5.0 事务分布式授时模块;TiDB_PingCAP;《CSDN》;20210302;全文 * |
一种改进PBFT算法作为以太坊共识机制的研究与实现;黄秋波等;《计算机应用与软件》;20171015(第10期);全文 * |
低带宽广域网环境下的一致性算法研究;马文韬等;《计算机工程》;20160915(第09期);全文 * |
略说跨链安全;朱立;《金融电子化》;20200415;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113489792A (zh) | 2021-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7372859B2 (en) | Self-checking pair on a braided ring network | |
US5210871A (en) | Interprocessor communication for a fault-tolerant, mixed redundancy distributed information processing system | |
US6990064B2 (en) | Packet processing method using multiple fault tolerant network structure | |
JP2009151629A (ja) | ノードシステム、サーバ切換え方法、サーバ装置、データ引き継ぎ方法、およびプログラム | |
CN113489792B (zh) | 一种在跨数据中心集群共识算法中减少数据中心间网络传输次数的方法 | |
US6567909B2 (en) | Parallel processor system | |
CN101843048A (zh) | 在网络中从分布式原理转换到主从原理的方法 | |
CN112217652B (zh) | 一种基于中心通信模式的网络拓扑装置及方法 | |
CN110247809B (zh) | 双环网控制系统的通信控制方法 | |
JPH08503343A (ja) | ネットワーク構成 | |
CN102739489A (zh) | 一种同步总线快速查询设备状态方法 | |
CN113093592B (zh) | 具有数据同步和决策判断的冗余控制系统及方法 | |
JPH02309732A (ja) | スター形ネットワーク通信方式 | |
JP3111523B2 (ja) | 二重化遠方監視制御装置 | |
US5778193A (en) | Multi-node data processing system | |
JPH10322379A (ja) | クロックパス切替方法 | |
JPH10145452A (ja) | 通信プロトコルの論理パス生成方式 | |
Wang et al. | Achieving high efficient Byzantine Agreement with dual components failure mode on a multicasting network | |
US7213167B1 (en) | Redundant state machines in network elements | |
JPS63213013A (ja) | 計算機ネツトワ−クシステムの時刻指定方式 | |
CN115714715A (zh) | 基于多种开源组件构建核酸检测系统双活架构的方法及系统 | |
CN117319131A (zh) | 环网通信故障定位方法、装置和分布式控制环网 | |
Karim | ALL-TO-ALL PERSONALIZED BROADCAST SCHEMES FOR IRREGULAR SWITCHED NETWORKS | |
JP3450222B2 (ja) | リングネットワークにおけるクロック切替方法 | |
JPH07264215A (ja) | ネットワークにおける親局交替方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |