CN112511337B - 区块链共识网络自恢复方法、电子设备、系统及存储介质 - Google Patents
区块链共识网络自恢复方法、电子设备、系统及存储介质 Download PDFInfo
- Publication number
- CN112511337B CN112511337B CN202011243466.6A CN202011243466A CN112511337B CN 112511337 B CN112511337 B CN 112511337B CN 202011243466 A CN202011243466 A CN 202011243466A CN 112511337 B CN112511337 B CN 112511337B
- Authority
- CN
- China
- Prior art keywords
- consensus
- node
- nodes
- network
- backup
- 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
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
- H04L41/042—Network management architectures or arrangements comprising distributed management centres cooperatively managing the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0668—Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
- H04L41/0836—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability to enhance reliability, e.g. reduce downtime
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明公开了一种区块链共识网络自恢复方法、电子设备、系统及存储介质,其中,该方法通过在检测到有共识节点宕机时,根据共识网络的通道信息,选取一个或多个备份节点加入共识网络进行共识,以替换宕机的一个或多个共识节点;而且,备份节点为同一通道下未参与该共识网络的节点。因此,本发明通过上述机制,能够在共识网络出现节点宕机时,将备份节点加入到共识网络中,以保障共识网络稳健性。
Description
技术领域
本发明涉及区块链技术,尤其涉及一种区块链共识网络自恢复方法、电子设备、系统及存储介质。
背景技术
PBFT算法,PBFT是Practical Byzantine Fault Tolerance的缩写,意为拜占庭容错算法,是一种高效的拜占庭问题解决办法,同时也是区块链平台上的核心算法。PBFT算法允许系统有不超过f=(n-1)/3的恶意节点,即在恶意节点数量不超过f时,仍能保证共识系统的安全性和有效性。
基于PBFT算法构建的共识网络中,如果有节点宕机,通常会通过PBFT算法的checkpoint机制和ViewChange机制来处理,以共识网络的稳定性。但是在处理过程中,宕机节点会需要一定延迟时间才能重新参与节点共识,而在这段时间内区块链共识网络的不稳定可能性将增大。因此,有必要提出一种能够在共识网络有节点宕机时,保障共识网络稳健性的方案。
发明内容
鉴于以上所述现有技术的不足,本发明的目的在于:提供一种区块链共识网络自恢复方法,能够在共识网络有节点宕机时,保障共识网络稳健性。
为实现上述发明目的,本发明提供以下技术方案:
一种区块链共识网络自恢复方法,其包括以下步骤:
检测到有共识节点宕机时,根据共识网络的通道信息,选取一个或多个备份节点加入所述共识网络进行共识,以替换宕机的一个或多个共识节点;其中,所述备份节点为同一通道下未参与所述共识网络的节点。
根据一种具体的实施方式,本发明区块链共识网络自恢复方法中,所述备份节点配置有权重值;选取权重值较大的一个或多个所述备份节点加入所述共识网络进行共识。
根据一种具体的实施方式,本发明区块链共识网络自恢复方法中,所述共识网络组网前,当通道注册完成并设定共识节点数量后,将大于所述共识节点数量的节点注册至所述通道下。
根据一种具体的实施方式,本发明区块链共识网络自恢复方法中,检测共识节点宕机的方式为:每个共识节点根据其它共识节点广播的心跳信息,建立心跳列表;若连续一定次数未接收到相应共识节点的心跳信息,将该共识节点从所述心跳列表中剔除,并发起对该共识节点的异常投票;
每个共识节点根据其心跳列表记录的信息,进行异常投票;若接收到对相应共识节点的异常投票数量满足共识条件,将该共识节点加入至异常列表中。
进一步地,若有共识节点加入至所述异常列表中,则发起变更投票;若接收到的变更投票数量满足共识条件,则将选取的所述备份节点加入至所述共识网络进行共识。
再进一步地,若加入所述异常列表的共识节点数量超过最大允许宕机数量,则发出共识网络失效的提示。
再进一步地,当所述备份节点加入至所述共识网络,且向其它共识节点广播心跳信息,则将所述异常列表中的节点信息删除。
本发明的另一方面,还提供一种电子设备,其被配置为:在参与区块链共识网络并作为共识节点检测到有其它共识节点宕机时,实施本发明的区块链共识网络自恢复方法。
本发明的另一方面,还提供一种区块链系统,其包括:包括至少用于构成区块链共识网络的四个共识节点,以及至少一个备份节点,其中,所述共识节点或所述备份节点为能够实施本发明的区块链共识网络自恢复方法的电子设备。
本发明的另一方面,还提供一种可读存储介质,其上存储有一个或多个程序,其特征在于,该一个或多个程序被一个或多个处理器执行时实现本发明的区块链共识网络自恢复方法。
与现有技术相比,本发明的有益效果:
本发明的区块链共识网络自恢复方法,该方法通过在检测到有共识节点宕机时,根据共识网络的通道信息,选取一个或多个备份节点加入共识网络进行共识,以替换宕机的一个或多个共识节点;而且,备份节点为同一通道下未参与该共识网络的节点。因此,本发明通过上述机制,能够在共识网络出现节点宕机时,将备份节点加入到共识网络中,以保障共识网络稳健性。
附图说明
图1为本发明方法的流程示意图;
图2为本发明区块链系统的架构示意图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
如图1所示,本发明的区块链共识网络自恢复方法,其包括以下步骤:
首先,在区块链组网前,注册通道并设定共识节点数量,在注册的通道下可允许区块链网络中特定的一些节点进行彼此交互。在具体实施时,向通道下添加节点,并将大于共识节点数量的节点注册至通道下,而且注册时,需要将节点信息发送到通道上,节点信息包括节点名称、节点证书以及节点地址等。然后,开始区块链组网,而当区块链组网成功后,通道下仍然有一部分节点未参与该区块链共识网络中,即这部分节点作为该区块链共识网络的备用节点。
同时,检测到有共识节点宕机时,根据共识网络的通道信息,选取一个或多个备份节点加入所述共识网络进行共识,以替换宕机的一个或多个共识节点,因此,本发明通过上述机制,能够在共识网络出现节点宕机时,将备份节点加入到共识网络中,以保障共识网络稳健性。
本发明区块链共识网络自恢复方法中,在具体实施时,检测共识节点宕机的方式为:每个共识节点根据其它共识节点广播的心跳信息,建立心跳列表;若连续一定次数未接收到相应共识节点的心跳信息,将该共识节点从所述心跳列表中剔除,并发起对该共识节点的异常投票;而每个共识节点根据其心跳列表记录的信息,进行异常投票;若接收到对相应共识节点的异常投票数量满足共识条件,将该共识节点加入至异常列表中。
而且,若有共识节点加入至所述异常列表中,则发起变更投票;若接收到的变更投票数量满足共识条件,则将选取的所述备份节点加入至所述共识网络进行共识。同时,若加入异常列表的共识节点数量超过最大允许宕机数量,则发出共识网络失效的提示。实际上,只要有2f+1个节点能够正常共识,该区块链网络仍能正常工作;故而,当异常列表中共识节点的数量超过了最大允许宕机数量f,则该区块链网络便瘫痪。
同时,虽然有共识节点宕机但该区块链网络仍能正常工作,那么当备份节点加入至共识网络,且向其它共识节点广播心跳信息,则将所述异常列表中的节点信息删除。如此,便完成了区块链共识网络的自恢复过程。
本发明区块链共识网络自恢复方法中,备份节点配置有权重值,如此便可依据权重值,来确定应当优先选择哪个备份节点加入到共识网络中。在具体实施时,一方面备份节点的权重值可作为节点信息,直接注册至通道下,而当区块链网络中有共识节点宕机时,则直接通过通道信息,获取到各个备份节点的权重值,并从中选择相应的备份节点即可。另一方面,备份节点采用权重值来综合表征节点的网络状态、性能指标以及对区块链网络中的区块数据的同步程度,此时,备份节点的权重值是动态变化的,并选取权重值较大的一个或多个备份节点加入所述共识网络进行共识,更能够有利于保障区块链共识网络的稳健性。
本发明区块链共识网络自恢复方法中,在具体实施时,备份节点虽然不参加区块链共识网络的共识,但备份节点为了避免在被选入参加区块链共识网络时,需要同步大量的区块数据,因此当区块链网络产生区块时,会由共识节点将区块链中的区块同步给对应的备份节点。当然,共识节点与备份节点的数据传送关系是固定的,即配置共识节点给特定备份节点进行区块数据同步;或者共识节点与备份节点的数据传送关系是非固定的,可根据共识节点与备份节点之间网络连接状况来即时调整数据传输关系。
本发明的另一方面,还提供一种电子设备,其被配置为:在参与区块链共识网络并作为共识节点检测到有其它共识节点宕机时,实施本发明的区块链共识网络自恢复方法。
如图2所示,还提供一种区块链系统,其包括:包括至少用于构成区块链共识网络的四个共识节点,以及至少一个备份节点,其中,所述共识节点或所述备份节点为能够实施本发明的区块链共识网络自恢复方法的电子设备。
本发明的另一方面,还提供一种可读存储介质,其上存储有一个或多个程序,其特征在于,该一个或多个程序被一个或多个处理器执行时实现本发明的区块链共识网络自恢复方法。
应该理解到,本发明所揭露的系统,可通过其它的方式实现。例如所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,模块之间的通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (7)
1.一种区块链共识网络自恢复方法,其特征在于,包括以下步骤:
检测到有共识节点宕机时,根据共识网络的通道信息,选取一个或多个备份节点加入所述共识网络进行共识,以替换宕机的一个或多个共识节点;其中,所述备份节点为同一通道下未参与所述共识网络的节点;而且,所述共识网络组网前,当通道注册完成并设定共识节点数量后,将大于所述共识节点数量的节点注册至所述通道下;
检测共识节点宕机的方式为:每个共识节点根据其它共识节点广播的心跳信息,建立心跳列表;若连续一定次数未接收到相应共识节点的心跳信息,将该共识节点从所述心跳列表中剔除,并发起对该共识节点的异常投票;
每个共识节点根据其心跳列表记录的信息,进行异常投票;若接收到对相应共识节点的异常投票数量满足共识条件,将该共识节点加入至异常列表中;
若有共识节点加入至所述异常列表中,则发起变更投票;若接收到的变更投票数量满足共识条件,则将选取的所述备份节点加入至所述共识网络进行共识。
2.如权利要求1所述的区块链共识网络自恢复方法,其特征在于,所述备份节点配置有权重值;选取权重值较大的一个或多个所述备份节点加入所述共识网络进行共识。
3.如权利要求1所述的区块链共识网络自恢复方法,其特征在于,若加入所述异常列表的共识节点数量超过最大允许宕机数量,则发出共识网络失效的提示。
4.如权利要求1所述的区块链共识网络自恢复方法,其特征在于,当所述备份节点加入至所述共识网络,且向其它共识节点广播心跳信息,则将所述异常列表中的节点信息删除。
5.一种电子设备,其特征在于,被配置为:在参与区块链共识网络并作为共识节点检测到有其它共识节点宕机时,实施如权利要求1~4任一项所述的区块链共识网络自恢复方法。
6.一种区块链系统,其特征在于,包括至少用于构成区块链共识网络的四个共识节点,以及至少一个备份节点,其中,所述共识节点或所述备份节点采用权利要求5所述的电子设备。
7.一种可读存储介质,其上存储有一个或多个程序,其特征在于,该一个或多个程序被一个或多个处理器执行时实现权利要求1~4任一项所述的区块链共识网络自恢复方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011243466.6A CN112511337B (zh) | 2020-11-09 | 2020-11-09 | 区块链共识网络自恢复方法、电子设备、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011243466.6A CN112511337B (zh) | 2020-11-09 | 2020-11-09 | 区块链共识网络自恢复方法、电子设备、系统及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112511337A CN112511337A (zh) | 2021-03-16 |
CN112511337B true CN112511337B (zh) | 2023-03-14 |
Family
ID=74955735
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011243466.6A Active CN112511337B (zh) | 2020-11-09 | 2020-11-09 | 区块链共识网络自恢复方法、电子设备、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112511337B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114465873B (zh) * | 2022-01-21 | 2023-09-01 | 无锡软美信息科技有限公司 | 用于区块链异常节点发现和修复的方法和存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6651242B1 (en) * | 1999-12-14 | 2003-11-18 | Novell, Inc. | High performance computing system for distributed applications over a computer |
CN101651560A (zh) * | 2009-07-23 | 2010-02-17 | 中国科学院声学研究所 | 一种双向路由网络及其可靠性保障方法 |
CA2957749A1 (en) * | 2014-07-01 | 2016-01-07 | Sas Institute Inc. | Systems and methods for fault tolerant communications |
CN109688012A (zh) * | 2018-12-29 | 2019-04-26 | 杭州趣链科技有限公司 | 一种联盟链节点热备切换的方法 |
CN109685504A (zh) * | 2018-12-20 | 2019-04-26 | 北京比新科技有限公司 | 一种基于区块链的共享经济记账方法 |
CN109743408A (zh) * | 2019-03-05 | 2019-05-10 | 北京比新科技有限公司 | 一种基于区块链的电信客户服务方法 |
CN110221938A (zh) * | 2019-05-06 | 2019-09-10 | 深圳壹账通智能科技有限公司 | 电子装置、区块链共识的方法及存储介质 |
CN111711526A (zh) * | 2020-06-16 | 2020-09-25 | 深圳前海微众银行股份有限公司 | 一种区块链节点的共识方法及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3152662B1 (en) * | 2014-06-04 | 2019-04-24 | Pure Storage, Inc. | Mechanism for persisting messages in a storage system |
CN108182635A (zh) * | 2017-12-18 | 2018-06-19 | 深圳前海微众银行股份有限公司 | 区块链共识方法、系统和计算机可读存储介质 |
CN109309723B (zh) * | 2018-08-18 | 2021-05-04 | 上海分布信息科技有限公司 | 一种共识节点变更方法及其实现系统 |
CN111543026B (zh) * | 2018-12-13 | 2023-08-04 | 创新先进技术有限公司 | 分布式网络中进行主节点变更的系统 |
-
2020
- 2020-11-09 CN CN202011243466.6A patent/CN112511337B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6651242B1 (en) * | 1999-12-14 | 2003-11-18 | Novell, Inc. | High performance computing system for distributed applications over a computer |
CN101651560A (zh) * | 2009-07-23 | 2010-02-17 | 中国科学院声学研究所 | 一种双向路由网络及其可靠性保障方法 |
CA2957749A1 (en) * | 2014-07-01 | 2016-01-07 | Sas Institute Inc. | Systems and methods for fault tolerant communications |
EP3129903A1 (en) * | 2014-07-01 | 2017-02-15 | SAS Institute Inc. | Systems and methods for fault tolerant communications |
CN109685504A (zh) * | 2018-12-20 | 2019-04-26 | 北京比新科技有限公司 | 一种基于区块链的共享经济记账方法 |
CN109688012A (zh) * | 2018-12-29 | 2019-04-26 | 杭州趣链科技有限公司 | 一种联盟链节点热备切换的方法 |
CN109743408A (zh) * | 2019-03-05 | 2019-05-10 | 北京比新科技有限公司 | 一种基于区块链的电信客户服务方法 |
CN110221938A (zh) * | 2019-05-06 | 2019-09-10 | 深圳壹账通智能科技有限公司 | 电子装置、区块链共识的方法及存储介质 |
CN111711526A (zh) * | 2020-06-16 | 2020-09-25 | 深圳前海微众银行股份有限公司 | 一种区块链节点的共识方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112511337A (zh) | 2021-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107040594A (zh) | 基于pbft的许可区块链节点准入的方法及装置 | |
CN111901422B (zh) | 一种集群中节点的管理方法、系统及装置 | |
CN106933843B (zh) | 数据库心跳检测方法以及装置 | |
CN105975579B (zh) | 一种内存数据库的主备复制方法及内存数据库系统 | |
CN112511338A (zh) | 区块链共识网络动态恢复方法、电子设备、系统及介质 | |
CN112511337B (zh) | 区块链共识网络自恢复方法、电子设备、系统及存储介质 | |
CN111130879A (zh) | 一种基于pbft算法的集群异常恢复方法 | |
CN112506702A (zh) | 数据中心容灾方法、装置、设备及存储介质 | |
CN106850255A (zh) | 一种多机备份的实现方法 | |
CN115473908B (zh) | 一种区块链节点故障恢复方法及区块链系统 | |
CN110635941A (zh) | 一种数据库节点集群故障迁移方法与装置 | |
CN112436962B (zh) | 区块链共识网络动态扩展方法、电子设备、系统及介质 | |
CN111338858B (zh) | 一种双机房的容灾方法及装置 | |
CN114936253A (zh) | 区块链的共识方法及装置、电子设备、存储介质 | |
CN108509296B (zh) | 一种处理设备故障的方法和系统 | |
CN114554593A (zh) | 数据处理方法及装置 | |
WO2018076696A1 (zh) | 一种数据同步方法及带外管理设备 | |
CN107181608B (zh) | 一种恢复服务及性能提升的方法及运维管理系统 | |
CN116737444A (zh) | 一种数据库服务器故障处理方法及系统 | |
CN112948484A (zh) | 分布式数据库系统和数据灾备演练方法 | |
CN110740064A (zh) | 分布式集群节点故障处理方法、装置、设备及存储介质 | |
CN116302716A (zh) | 一种集群部署方法、装置、电子设备及计算机可读介质 | |
CN106921746A (zh) | 一种数据同步系统及数据同步方法 | |
CN111917826A (zh) | 一种基于区块链知识产权保护的pbft共识算法 | |
CN114598710A (zh) | 一种分布式存储集群数据同步的方法、装置、设备及介质 |
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 |