WO2020224237A1 - 区块链共识的方法、装置、设备及存储介质 - Google Patents

区块链共识的方法、装置、设备及存储介质 Download PDF

Info

Publication number
WO2020224237A1
WO2020224237A1 PCT/CN2019/120627 CN2019120627W WO2020224237A1 WO 2020224237 A1 WO2020224237 A1 WO 2020224237A1 CN 2019120627 W CN2019120627 W CN 2019120627W WO 2020224237 A1 WO2020224237 A1 WO 2020224237A1
Authority
WO
WIPO (PCT)
Prior art keywords
consensus
consensus node
cluster
master
node
Prior art date
Application number
PCT/CN2019/120627
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 WO2020224237A1 publication Critical patent/WO2020224237A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2089Redundant storage control functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Definitions

  • the second aspect of this application provides a block chain consensus device, including: a sending module, used for when the master consensus node in the cluster completes the block in the consensus, respectively send to the master consensus node in other clusters whether the consensus is completed After the block confirmation request, if the confirmation message corresponding to the confirmation request is not received within the predetermined first time, the heartbeat request is sent to the master consensus node of the cluster corresponding to the confirmation message, where the consensus node Divide according to the computer room, divide the consensus nodes in the same computer room into the same cluster, each cluster is configured with a master consensus node and at least one backup consensus node; the activation module is used if the cluster is not received within a predetermined second time.
  • FIG. 2 is a schematic diagram of the hardware architecture of an embodiment of the electronic device in FIG. 1;

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Development Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Technology Law (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Hardware Redundancy (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及一种区块链技术,揭露了一种区块链共识的方法、装置、设备及存储介质,该方法包括:当集群中的主共识节点在共识完成区块,分别发送是否共识完成该区块的确认请求后,若在预定的第一时间内未接收到确认消息,则向对应的集群的主共识节点发送心跳请求,若在预定的第二时间内未接收到心跳响应,则该未进行心跳响应的集群发生机房宕机,启用本集群中的备用共识节点作为其主共识节点进行共识服务;当接收到宕机机房的恢复消息后,关闭作为该恢复运行的集群的主共识节点的备用共识节点的共识服务,并控制该备用共识节点与该恢复运行的集群的主共识节点同步增量区块数据。本申请能够实现对联盟链多机房异地部署的灾备补救。

Description

区块链共识的方法、装置、设备及存储介质
本申请要求于2019年5月6日提交中国专利局、申请号为201910371485.8、发明名称为“电子装置、区块链共识的方法及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在申请中。
技术领域
本申请涉及区块链技术领域,尤其涉及区块链共识的方法、装置、设备及存储介质。
背景技术
区块链一般被理解为一个分布式账本,它的本质也是一个分布式的数据库。联盟区块链与普通区块链的区别是可以提供更高效的交易性能,参与节点数也相对较少。一般来说,联盟区块链需要参与机构进行多机房异地部署。目前,在联盟链的部署场景中,如果发生机房毁坏或宕机的情况,则该机房的交易数据无法共识以同步给异地机房,发明人意识到这样容易导致交易数据的丢失,造成链的分叉,联盟区块链交易无法正常执行。
发明内容
本申请的目的在于提供一种区块链共识的方法、装置、设备及存储介质,旨在实现对联盟链多机房异地部署的灾备补救。
为实现上述目的,本申请第一方面提供了一种区块链共识的方法,包括:S1,当集群中的主共识节点在共识完成区块,分别向其他集群中的主共识节点发送是否共识完成该区块的确认请求后,若在预定的第一时间内未接收到基于该确认请求对应的确认消息,则向未接收到确认消息对应的集群的主共识节点发送心跳请求,其中,将共识节点按照机房进行划分,将同一机房的共识节点划分为同一集群,每一集群配置一个主共识节点及至少一个备用共识节点;S2,若在预定的第二时间内未接收到该集群基于该心跳请求的心跳响应,则该未进行心跳响应的集群发生机房宕机,启用本集群中的备用共识节点作为发生机房宕机的集群的主共识节点进行共识服务,以对区块进行共识;S3,当接收到发生机房宕机的集群发送的恢复运行的恢复消息后,关闭作为该恢复运行的集群的主共识节点的备用共识节点的共识服务,并控制该备用共识节点与该恢复运行的集群的主共识节点同步增量区块数据。
本申请第二方面提供了一种区块链共识的装置,包括:发送模块,用于当集群中的主共识节点在共识完成区块,分别向其他集群中的主共识节点发送是否共识完成该区块的确认请求后,若在预定的第一时间内未接收到基于该确认请求对应的确认消息,则向未接收到确认消息对应的集群的主共识节点发送心跳请求,其中,将共识节点按照机房进行划分,将同一机房的共识节点划分为同一集群,每一集群配置一个主共识节点及至少一个备用共识节点;启用模块, 用于若在预定的第二时间内未接收到该集群基于该心跳请求的心跳响应,则该未进行心跳响应的集群发生机房宕机,启用本集群中的备用共识节点作为发生机房宕机的集群的主共识节点进行共识服务,以对区块进行共识;共识模块,用于当接收到发生机房宕机的集群发送的恢复运行的恢复消息后,关闭作为该恢复运行的集群的主共识节点的备用共识节点的共识服务,并控制该备用共识节点与该恢复运行的集群的主共识节点同步增量区块数据。
本申请第三方面提供了一种区块链共识的设备,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互联;所述至少一个处理器调用所述存储器中的所述指令,以使得所述区块链共识的设备执行上述第一方面所述的方法。
本申请的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行上述第一方面所述的方法。
本申请在联盟链多机房异地部署的场景下,将同一机房的共识节点划分为同一集群,每个机房中配备一个主共识节点及至少一个备用共识节点,在机房宕机后无法与其他机房进行共识时,可以启用正常运行的机房中的备用共识节点作为宕机机房的暂时的主共识节点进行共识服务,并在宕机机房恢复运行后,将该暂时的主共识节点的共识服务进行关闭,然后该暂时的主共识节点与恢复运行的机房中的主共识节点同步增量区块数据,通过这种方式,在有机房发生宕机下线情况下,通过其他正常运行的机房代替该宕机机房进行共识服务,并在宕机机房恢复运行后,将期间共识的增量区块数据同步给该宕机机房的主共识节点,使得数据不会丢失,保证数据的完整性,实现对联盟链多机房异地部署的灾备补救。
附图说明
图1为本申请各个实施例一可选的应用环境示意图;
图2是图1中电子装置一实施例的硬件架构的示意图;
图3为图2中处理系统一实施例的程序模块图;
图4为本申请区块链共识的方法一实施例的流程示意图。
具体实施方式
本申请实施例提供了一种区块链共识的方法、装置、设备及存储介质,旨在实现对联盟链多机房异地部署的灾备补救。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例进行描述。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里 描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本申请实施例的具体流程进行描述,参阅图1所示,是本申请的较佳实施例的应用环境示意图。在该实施例中,多机房为异地部署的场景,在该场景下,需要将共识节点按照机房进行划分,将同一机房的共识节点划分为同一集群,每一集群配置一个主共识节点及至少一个备用共识节点。在图1中,每个机房配置了一个主共识节点及两个备共识节点。由于需要将共识节点的数据时刻更新到最新,网络传输会是主要的时间消耗,因此,需要使用专线网络来连接各个机房或者尽量缩短各个机房之间的物理距离。电子装置为主共识节点所在的设备。
所述电子装置是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。所述电子装置可以是计算机、也可以是单个网络服务器、多个网络服务器组成的服务器组或者基于云计算的由大量主机或者网络服务器构成的云,其中云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。
参照图2所示,在本实施例中,电子装置1可包括,但不仅限于,可通过系统总线相互通信连接的存储器11、处理器12、网络接口13,存储器11存储有可在处理器12上运行的处理系统10。需要指出的是,图2仅示出了具有组件11-13的电子装置1,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
其中,存储器11包括内存及至少一种类型的可读存储介质。内存为电子装置1的运行提供缓存;可读存储介质可为如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等的非易失性存储介质。在一些实施例中,可读存储介质可以是电子装置1的内部存储单元,例如该电子装置1的硬盘;在另一些实施例中,该非易失性存储介质也可以是电子装置1的外部存储设备,例如电子装置1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。本实施例中,存储器11的可读存储介质通常用于存储安装于电子装置1的操作系统和各类应用软件,例如存储本申请一实施例中的处理系统10的程序代码等。此外,存储器11还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器12在一些实施例中可以是中央处理器(Central Processing  Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片,用于运行所述存储器11中存储的程序代码或者处理数据,例如运行处理系统10等。
所述网络接口13可包括标准的无线网络接口、有线网络接口,该网络接口13通常用于在所述电子装置1与其他电子设备之间建立通信连接。
所述处理系统10存储在存储器11中,包括至少一个存储在存储器11中的计算机可读指令,该至少一个计算机可读指令可被处理器器12执行,以实现本申请各实施例的方法;以及,该至少一个计算机可读指令依据其各部分所实现的功能不同,可被划为不同的逻辑模块。
在一实施例中,上述处理系统10被所述处理器12执行时实现如下步骤:
当集群中的主共识节点在共识完成区块,分别向其他集群中的主共识节点发送是否共识完成该区块的确认请求后,若在预定的第一时间内未接收到基于该确认请求对应的确认消息,则向未接收到确认消息对应的集群的主共识节点发送心跳请求,其中,将共识节点按照机房进行划分,将同一机房的共识节点划分为同一集群,每一集群配置一个主共识节点及至少一个备用共识节点;
若在预定的第二时间内未接收到该集群基于该心跳请求的心跳响应,则该未进行心跳响应的集群发生机房宕机,启用本集群中的备用共识节点作为发生机房宕机的集群的主共识节点进行共识服务,以对区块进行共识;
当接收到发生机房宕机的集群发送的恢复运行的恢复消息后,关闭作为该恢复运行的集群的主共识节点的备用共识节点的共识服务,并控制该备用共识节点与该恢复运行的集群的主共识节点同步增量区块数据。
具体原理请参照下述图3关于处理系统10的程序模块图及图4关于该方法的流程图的介绍。
参照图3所示,为图2中处理系统10的程序模块图。所述处理系统10被分割为多个模块,该多个模块被存储于存储器12中,并由处理器13执行,以完成本申请。本申请所称的模块是指能够完成特定功能的一系列计算机程序指令段。
所述处理系统10可以被分割为:发送模块101、启用模块102及共识模块103。
所述发送模块101,用于当集群中的主共识节点在共识完成区块,分别向其他集群中的主共识节点发送是否共识完成该区块的确认请求后,若在预定的第一时间内未接收到基于该确认请求对应的确认消息,则向未接收到确认消息对应的集群的主共识节点发送心跳请求;
其中,将共识节点按照机房进行划分,将同一机房的共识节点划分为同一集群,每一集群配置一个主共识节点及至少一个备用共识节点。
其中,如果在预定的第一时间内未接收其他集群中的至少一个主共识节点发送的确认消息,则说明该机房出现异常,该异常可能是主共识节点宕机也可能是整个机房宕机。为了确认该异常是主共识节点宕机还是整个机房宕机,则 可以再次向未接收到确认消息对应的集群的主共识节点发送心跳请求,例如,每隔10秒钟发送一次心跳请求给这些集群的主共识节点,若有心跳响应,则主共识节点正常工作,若主共识节点宕机,则会在限定时间内(例如,1分钟)选举本集群中的某一备用共识节点作为主共识节点,此期间,无法收到心跳响应,但后续选举备用共识节点作为暂时的主共识节点后,能够进行心跳响应,可以确认该集群的主共识节点宕机。
所述启用模块102,用于若在预定的第二时间内(即超过选举时间阈值)未接收到该集群基于该心跳请求的心跳响应,则该未进行心跳响应的集群发生机房宕机,启用本集群中的备用共识节点作为发生机房宕机的集群的主共识节点进行共识服务,以对区块进行共识;
所述共识模块103,用于当接收到发生机房宕机的集群发送的恢复运行的恢复消息后,关闭作为该恢复运行的集群的主共识节点的备用共识节点的共识服务,并控制该备用共识节点与该恢复运行的集群的主共识节点同步增量区块数据。
其中,对于启用本集群中的备用共识节点作为发生机房宕机的集群的暂时的主共识节点的机房,在接收到恢复消息后,由于不再需要该暂时的主共识节点的共识服务,因此将该暂时的主共识节点的共识服务进行关闭。然后,该暂时的主共识节点与恢复运行的集群的主共识节点同步增量区块数据。同步完成后,该恢复运行的集群的主共识节点上线共识服务。
如图4所示,图4为本申请方法一实施例的流程示意图,电子装置1的处理器13执行存储器12中存储的处理系统10时实现该方法的如下步骤:
步骤S1,当集群中的主共识节点在共识完成区块,分别向其他集群中的主共识节点发送是否共识完成该区块的确认请求后,若在预定的第一时间内未接收到基于该确认请求对应的确认消息,则向未接收到确认消息对应的集群的主共识节点发送心跳请求;
其中,将共识节点按照机房进行划分,将同一机房的共识节点划分为同一集群,每一集群配置一个主共识节点及至少一个备用共识节点。
其中,可以使用Paxos、Raft或PBFT等算法进行区块的共识。
如果在预定的第一时间内(例如,5分钟)均接收到其他集群中的主共识节点发送的确认消息,说明本次区块的共识成功,可以将共识后区块数据提交至数据节点。如果在预定的第一时间内未接收其他集群中的至少一个主共识节点发送的确认消息,则说明该机房出现异常,该异常可能是主共识节点宕机也可能是整个机房宕机。为了确认该异常是主共识节点宕机还是整个机房宕机,则可以再次向未接收到确认消息对应的集群的主共识节点发送心跳请求,例如,每隔10秒钟发送一次心跳请求给这些集群的主共识节点,若有心跳响应,则主共识节点正常工作,若主共识节点宕机,则会在限定时间内(例如,1分钟)选举本集群中的某一备用共识节点作为主共识节点,此期间,无法收到心 跳响应,但后续选举备用共识节点作为暂时的主共识节点后,能够进行心跳响应,可以确认该集群的主共识节点宕机。
步骤S2,若在预定的第二时间内未接收到该集群基于该心跳请求的心跳响应,则该未进行心跳响应的集群发生机房宕机,启用本集群中的备用共识节点作为发生机房宕机的集群的主共识节点进行共识服务,以对区块进行共识;
若在预定的第二时间内(例如3分钟)未接收到该集群基于该心跳请求的心跳响应,即超过选举时间阈值,可以认为机房宕机,即此机房所有设备均损坏,例如发生地震、火灾等情况下整个机房均损坏,则启用本集群中的备用共识节点作为发生机房宕机的集群的暂时的主共识节点,进行共识服务。
步骤S3,当接收到发生机房宕机的集群发送的恢复运行的恢复消息后,关闭作为该恢复运行的集群的主共识节点的备用共识节点的共识服务,并控制该备用共识节点与该恢复运行的集群的主共识节点同步增量区块数据。
其中,在宕机机房恢复正常运行后,分别向其他各个机房的主共识节点发送恢复消息,其他各个机房的主共识节点接收到该恢复消息后,可以确认该机房已经恢复正常运行。对于启用本集群中的备用共识节点作为发生机房宕机的集群的暂时的主共识节点的机房,在接收到恢复消息后,由于不再需要该暂时的主共识节点的共识服务,因此将该暂时的主共识节点的共识服务进行关闭。然后,通过控制该暂时的主共识节点与恢复运行的集群的主共识节点同步增量区块数据,以将恢复运行的集群的主共识节点的区块数据更新至最新区块数据的状态。同步完成后,该恢复运行的集群的主共识节点上线共识服务。
其中,在同步增量区块数据时,可以使用Kafka的数据同步功能,通过Kafka对机房(rack)和同步增量区块数据的节点(insync replica)的配置完成同步。
进一步地,在上述的步骤S3之后,当集群中的主共识节点同步增量区块数据后,该方法还包括:分别向其他集群中的主共识节点发送是否共识完成该增量区块数据的确认请求;若均接收到其他集群中的主共识节点基于该确认请求发送的确认消息,则将该增量区块数据同步给区块链中的数据节点。
进一步地,当集群中的主共识节点接收到其他集群中的主共识节点发送的是否共识完成一区块的确认请求后,分析本集群中的主共识节点的最新区块编号与其他集群中的主共识节点的最新区块编号是否一致;
若本集群中的主共识节点的最新区块编号小于其他集群中的主共识节点的最新区块编号,则向其他集群中的主共识节点请求增量区块数据;
若本集群中的主共识节点的最新区块编号大于其他集群中的主共识节点的最新区块编号,则向其他集群中的主共识节点发送确认请求,以供其他集群中的主共识节点向本集群中的主共识节点请求增量区块数据。
其中,如果各个集群中的主共识节点的最新区块的区块编号均一致,即可认为各个集群中的区块同步到最新状态。例如,如果本集群中的主共识节点的 最新区块编号为100,其他集群中的主共识节点的最新区块编号为103,则本集群中的主共识节点需要向其他集群中的主共识节点请求区块编号为101至103的区块编号对应的增量区块数据;如果本集群中的主共识节点的最新区块编号为103,其他集群中的主共识节点的最新区块编号为100,则本集群中的主共识节点需要向其他集群中的主共识节点发送确认请求,以供其他集群中的主共识节点向本集群中的主共识节点请求该区块区块编号为101至103的区块编号对应的增量区块数据。
在一实施例中,在上述实施例的基础上,在上述步骤S1之后,该方法还包括:当有集群中的主共识节点发生宕机,将该集群中的一个备用共识节点设置为主共识节点,以进行共识服务;当该发生宕机的主共识节点恢复运行后,向该备用共识节点发送恢复消息,以便该备用共识节点基于该恢复消息关闭共识服务,并控制该备用共识节点与该恢复运行的主共识节点同步增量区块数据。
其中,如上所述,当本集群中的主共识节点在预定的第一时间内未接收到基于该确认请求对应的确认消息,说明有机房出现异常,需要再次心跳请求至未接收确认消息的集群对应的主共识节点,若主共识节点宕机,则选举备用共识节点作为暂时的主共识节点,进行共识服务,并进行心跳响应。当宕机的主共识节点恢复运行后,首先向作为暂时的主共识节点的备用共识节点发送恢复消息,该作为暂时的主共识节点的备用共识节点接收到恢复消息后关闭共识服务,然后作为暂时的主共识节点的备用共识节点与恢复运行的主共识节点同步增量区块数据,同步完成后,该恢复运行的主共识节点上线共识服务。
可以看出,在多机房异地部署的联盟区块链场景下,若仅有两个机房,可允许一个机房宕机,节点的共识服务仍能正常进行,适用于异地双机房异地部署的灾备情况,当然,也适用于两个以上的机房异地部署的灾备情况,容错率高。
与现有技术相比,本申请在联盟链多机房异地部署的场景下,将同一机房的共识节点划分为同一集群,每个机房中配备一个主共识节点及至少一个备用共识节点,在机房宕机后无法与其他机房进行共识时,可以启用正常运行的机房中的备用共识节点作为宕机机房的暂时的主共识节点进行共识服务,并在宕机机房恢复运行后,将该暂时的主共识节点的共识服务进行关闭,然后该暂时的主共识节点与恢复运行的机房中的主共识节点同步增量区块数据,通过这种方式,在有机房发生宕机下线情况下,通过其他正常运行的机房代替该宕机机房进行共识服务,并在宕机机房恢复运行后,将期间共识的增量区块数据同步给该宕机机房的主共识节点,使得数据不会丢失,保证数据的完整性,实现对联盟链多机房异地部署的灾备补救。
本申请还提供一种区块链共识的设备,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互联; 所述至少一个处理器调用所述存储器中的所述指令,以使得所述区块链共识的设备执行上述区块链共识的方法中的步骤。
本申请还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,也可以为易失性计算机可读存储介质。计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如下步骤:
S1,当集群中的主共识节点在共识完成区块,分别向其他集群中的主共识节点发送是否共识完成该区块的确认请求后,若在预定的第一时间内未接收到基于该确认请求对应的确认消息,则向未接收到确认消息对应的集群的主共识节点发送心跳请求,其中,将共识节点按照机房进行划分,将同一机房的共识节点划分为同一集群,每一集群配置一个主共识节点及至少一个备用共识节点;
S2,若在预定的第二时间内未接收到该集群基于该心跳请求的心跳响应,则该未进行心跳响应的集群发生机房宕机,启用本集群中的备用共识节点作为发生机房宕机的集群的主共识节点进行共识服务,以对区块进行共识;
S3,当接收到发生机房宕机的集群发送的恢复运行的恢复消息后,关闭作为该恢复运行的集群的主共识节点的备用共识节点的共识服务,并控制该备用共识节点与该恢复运行的集群的主共识节点同步增量区块数据。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (20)

  1. 一种区块链共识的方法,包括:
    S1,当集群中的主共识节点在共识完成区块,分别向其他集群中的主共识节点发送是否共识完成该区块的确认请求后,若在预定的第一时间内未接收到基于该确认请求对应的确认消息,则向未接收到确认消息对应的集群的主共识节点发送心跳请求,其中,将共识节点按照机房进行划分,将同一机房的共识节点划分为同一集群,每一集群配置一个主共识节点及至少一个备用共识节点;
    S2,若在预定的第二时间内未接收到该集群基于该心跳请求的心跳响应,则该未进行心跳响应的集群发生机房宕机,启用本集群中的备用共识节点作为发生机房宕机的集群的主共识节点进行共识服务,以对区块进行共识;
    S3,当接收到发生机房宕机的集群发送的恢复运行的恢复消息后,关闭作为该恢复运行的集群的主共识节点的备用共识节点的共识服务,并控制该备用共识节点与该恢复运行的集群的主共识节点同步增量区块数据。
  2. 根据权利要求1所述的区块链共识的方法,所述步骤S1之后,还包括:
    当有集群中的主共识节点发生宕机,将该集群中的一个备用共识节点设置为主共识节点,以进行共识服务;
    当该发生宕机的主共识节点恢复运行后,向该备用共识节点发送恢复消息,以便该备用共识节点基于该恢复消息关闭共识服务,并控制该备用共识节点与该恢复运行的主共识节点同步增量区块数据。
  3. 根据权利要求1或2所述的区块链共识的方法,所述步骤S3之后,还包括:
    当集群中的主共识节点同步增量区块数据后,分别向其他集群中的主共识节点发送是否共识完成该增量区块数据的确认请求;
    若均接收到其他集群中的主共识节点基于该确认请求发送的确认消息,则将该增量区块数据同步给区块链中的数据节点。
  4. 根据权利要求3所述的区块链共识的方法,该区块链共识的方法,还包括:
    当集群中的主共识节点接收到其他集群中的主共识节点发送的是否共识完成一区块的确认请求后,分析本集群中的主共识节点的最新区块编号与其他集群中的主共识节点的最新区块编号是否一致;
    若本集群中的主共识节点的最新区块编号小于其他集群中的主共识节点的最新区块编号,则向其他集群中的主共识节点请求增量区块数据。
  5. 根据权利要求4所述的区块链共识的方法,该区块链共识的方法,还包括:
    若本集群中的主共识节点的最新区块编号大于其他集群中的主共识节点的最新区块编号,则向其他集群中的主共识节点发送确认请求,以供其他集群 中的主共识节点向本集群中的主共识节点请求增量区块数据。
  6. 一种区块链共识的装置,所述电子装置包括存储器及与所述存储器连接的处理器,所述存储器中存储有可在所述处理器上运行的处理系统,所述处理系统包括:
    发送模块,用于当集群中的主共识节点在共识完成区块,分别向其他集群中的主共识节点发送是否共识完成该区块的确认请求后,若在预定的第一时间内未接收到基于该确认请求对应的确认消息,则向未接收到确认消息对应的集群的主共识节点发送心跳请求,其中,将共识节点按照机房进行划分,将同一机房的共识节点划分为同一集群,每一集群配置一个主共识节点及至少一个备用共识节点;
    启用模块,用于若在预定的第二时间内未接收到该集群基于该心跳请求的心跳响应,则该未进行心跳响应的集群发生机房宕机,启用本集群中的备用共识节点作为发生机房宕机的集群的主共识节点进行共识服务,以对区块进行共识;
    共识模块,用于当接收到发生机房宕机的集群发送的恢复运行的恢复消息后,关闭作为该恢复运行的集群的主共识节点的备用共识节点的共识服务,并控制该备用共识节点与该恢复运行的集群的主共识节点同步增量区块数据。
  7. 根据权利要求6所述的区块链共识的装置,所述处理系统还具体用于:
    当有集群中的主共识节点发生宕机,将该集群中的一个备用共识节点设置为主共识节点,以进行共识服务;
    当该发生宕机的主共识节点恢复运行后,向该备用共识节点发送恢复消息,以便该备用共识节点基于该恢复消息关闭共识服务,并控制该备用共识节点与该恢复运行的主共识节点同步增量区块数据。
  8. 根据权利要求6或7所述的区块链共识的装置,所述处理系统还具体用于:
    当集群中的主共识节点同步增量区块数据后,分别向其他集群中的主共识节点发送是否共识完成该增量区块数据的确认请求;
    若均接收到其他集群中的主共识节点基于该确认请求发送的确认消息,则将该增量区块数据同步给区块链中的数据节点。
  9. 根据权利要求8所述的区块链共识的装置,所述处理系统还具体用于:
    当集群中的主共识节点接收到其他集群中的主共识节点发送的是否共识完成一区块的确认请求后,分析本集群中的主共识节点的最新区块编号与其他集群中的主共识节点的最新区块编号是否一致;
    若本集群中的主共识节点的最新区块编号小于其他集群中的主共识节点的最新区块编号,则向其他集群中的主共识节点请求增量区块数据。
  10. 根据权利要求9所述的区块链共识的装置,所述处理系统还具体用于:
    若本集群中的主共识节点的最新区块编号大于其他集群中的主共识节点 的最新区块编号,则向其他集群中的主共识节点发送确认请求,以供其他集群中的主共识节点向本集群中的主共识节点请求增量区块数据。
  11. 一种区块链共识的设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时,实现如下步骤:
    S1,当集群中的主共识节点在共识完成区块,分别向其他集群中的主共识节点发送是否共识完成该区块的确认请求后,若在预定的第一时间内未接收到基于该确认请求对应的确认消息,则向未接收到确认消息对应的集群的主共识节点发送心跳请求,其中,将共识节点按照机房进行划分,将同一机房的共识节点划分为同一集群,每一集群配置一个主共识节点及至少一个备用共识节点;
    S2,若在预定的第二时间内未接收到该集群基于该心跳请求的心跳响应,则该未进行心跳响应的集群发生机房宕机,启用本集群中的备用共识节点作为发生机房宕机的集群的主共识节点进行共识服务,以对区块进行共识;
    S3,当接收到发生机房宕机的集群发送的恢复运行的恢复消息后,关闭作为该恢复运行的集群的主共识节点的备用共识节点的共识服务,并控制该备用共识节点与该恢复运行的集群的主共识节点同步增量区块数据。
  12. 根据权利要求11所述的区块链共识的设备,所述处理器执行所述计算机可读指令实现所述步骤S1之后,还包括以下步骤:
    当有集群中的主共识节点发生宕机,将该集群中的一个备用共识节点设置为主共识节点,以进行共识服务;
    当该发生宕机的主共识节点恢复运行后,向该备用共识节点发送恢复消息,以便该备用共识节点基于该恢复消息关闭共识服务,并控制该备用共识节点与该恢复运行的主共识节点同步增量区块数据。
  13. 根据权利要求11或12所述的区块链共识的设备,所述处理器执行所述计算机可读指令实现所述步骤S3之后,还包括以下步骤:
    当集群中的主共识节点同步增量区块数据后,分别向其他集群中的主共识节点发送是否共识完成该增量区块数据的确认请求;
    若均接收到其他集群中的主共识节点基于该确认请求发送的确认消息,则将该增量区块数据同步给区块链中的数据节点。
  14. 根据权利要求13所述的区块链共识的设备,所述处理器执行所述计算机可读指令实现该区块链共识的方法的步骤时,包括以下步骤:
    当集群中的主共识节点接收到其他集群中的主共识节点发送的是否共识完成一区块的确认请求后,分析本集群中的主共识节点的最新区块编号与其他集群中的主共识节点的最新区块编号是否一致;
    若本集群中的主共识节点的最新区块编号小于其他集群中的主共识节点的最新区块编号,则向其他集群中的主共识节点请求增量区块数据。
  15. 根据权利要求14所述的区块链共识的设备,所述处理器执行所述计算机可读指令实现该区块链共识的方法的步骤时,包括以下步骤:
    若本集群中的主共识节点的最新区块编号大于其他集群中的主共识节点的最新区块编号,则向其他集群中的主共识节点发送确认请求,以供其他集群中的主共识节点向本集群中的主共识节点请求增量区块数据。
  16. 一种计算机可读存储介质,所述计算机可读存储介质中存储计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如下步骤:
    S1,当集群中的主共识节点在共识完成区块,分别向其他集群中的主共识节点发送是否共识完成该区块的确认请求后,若在预定的第一时间内未接收到基于该确认请求对应的确认消息,则向未接收到确认消息对应的集群的主共识节点发送心跳请求,其中,将共识节点按照机房进行划分,将同一机房的共识节点划分为同一集群,每一集群配置一个主共识节点及至少一个备用共识节点;
    S2,若在预定的第二时间内未接收到该集群基于该心跳请求的心跳响应,则该未进行心跳响应的集群发生机房宕机,启用本集群中的备用共识节点作为发生机房宕机的集群的主共识节点进行共识服务,以对区块进行共识;
    S3,当接收到发生机房宕机的集群发送的恢复运行的恢复消息后,关闭作为该恢复运行的集群的主共识节点的备用共识节点的共识服务,并控制该备用共识节点与该恢复运行的集群的主共识节点同步增量区块数据。
  17. 根据权利要求16所述的计算机可读存储介质,当所述计算机指令在计算机上运行所述步骤S1之后,还使得计算机执行如下步骤:
    当有集群中的主共识节点发生宕机,将该集群中的一个备用共识节点设置为主共识节点,以进行共识服务;
    当该发生宕机的主共识节点恢复运行后,向该备用共识节点发送恢复消息,以便该备用共识节点基于该恢复消息关闭共识服务,并控制该备用共识节点与该恢复运行的主共识节点同步增量区块数据。
  18. 根据权利要求16或17所述的计算机可读存储介质,当所述计算机指令在计算机上运行所述步骤S3之后,还使得计算机执行如下步骤:
    当集群中的主共识节点同步增量区块数据后,分别向其他集群中的主共识节点发送是否共识完成该增量区块数据的确认请求;
    若均接收到其他集群中的主共识节点基于该确认请求发送的确认消息,则将该增量区块数据同步给区块链中的数据节点。
  19. 根据权利要求18所述的计算机可读存储介质,当所述计算机指令在计算机上运行该区块链共识的方法的步骤时,使得计算机执行如下步骤:
    当集群中的主共识节点接收到其他集群中的主共识节点发送的是否共识完成一区块的确认请求后,分析本集群中的主共识节点的最新区块编号与其他集群中的主共识节点的最新区块编号是否一致;
    若本集群中的主共识节点的最新区块编号小于其他集群中的主共识节点的最新区块编号,则向其他集群中的主共识节点请求增量区块数据。
  20. 根据权利要求19所述的计算机可读存储介质,当所述计算机指令在计算机上运行该区块链共识的方法的步骤时,使得计算机执行如下步骤:
    若本集群中的主共识节点的最新区块编号大于其他集群中的主共识节点的最新区块编号,则向其他集群中的主共识节点发送确认请求,以供其他集群中的主共识节点向本集群中的主共识节点请求增量区块数据。
PCT/CN2019/120627 2019-05-06 2019-11-25 区块链共识的方法、装置、设备及存储介质 WO2020224237A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910371485.8A CN110221938A (zh) 2019-05-06 2019-05-06 电子装置、区块链共识的方法及存储介质
CN201910371485.8 2019-05-06

Publications (1)

Publication Number Publication Date
WO2020224237A1 true WO2020224237A1 (zh) 2020-11-12

Family

ID=67820458

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/120627 WO2020224237A1 (zh) 2019-05-06 2019-11-25 区块链共识的方法、装置、设备及存储介质

Country Status (2)

Country Link
CN (1) CN110221938A (zh)
WO (1) WO2020224237A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116260707A (zh) * 2023-05-15 2023-06-13 安徽中科晶格技术有限公司 基于共识的区块链节点灾备方法、装置、设备及存储介质

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110221938A (zh) * 2019-05-06 2019-09-10 深圳壹账通智能科技有限公司 电子装置、区块链共识的方法及存储介质
CN110572468B (zh) * 2019-09-17 2022-11-04 平安科技(深圳)有限公司 服务器集群文件同步方法及装置、电子设备及存储介质
CN111104282B (zh) * 2019-11-26 2024-01-16 众安信息技术服务有限公司 一种基于区块链的节点处理方法和装置
CN111984422B (zh) * 2020-09-03 2023-04-28 深圳壹账通智能科技有限公司 基于区块链的数据处理方法、装置及存储介质
CN112511337B (zh) * 2020-11-09 2023-03-14 迅鳐成都科技有限公司 区块链共识网络自恢复方法、电子设备、系统及存储介质
CN112511338A (zh) * 2020-11-09 2021-03-16 迅鳐成都科技有限公司 区块链共识网络动态恢复方法、电子设备、系统及介质
CN112767152B (zh) * 2021-01-18 2024-02-09 中国工商银行股份有限公司 应用于联盟链的双园区灾备系统及方法
CN113783947B (zh) * 2021-08-26 2024-05-31 浙商银行股份有限公司 一种自适应区块链节点容错提升方法、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108111604A (zh) * 2017-12-21 2018-06-01 广州广电运通金融电子股份有限公司 区块链共识方法、装置和系统、标识信息处理方法和装置
CN108681963A (zh) * 2018-03-29 2018-10-19 深圳市网心科技有限公司 多区块链整合控制方法、系统、电子装置及存储介质
CN109685504A (zh) * 2018-12-20 2019-04-26 北京比新科技有限公司 一种基于区块链的共享经济记账方法
CN109688012A (zh) * 2018-12-29 2019-04-26 杭州趣链科技有限公司 一种联盟链节点热备切换的方法
CN110221938A (zh) * 2019-05-06 2019-09-10 深圳壹账通智能科技有限公司 电子装置、区块链共识的方法及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3476102B1 (en) * 2016-06-24 2020-06-17 Innogy Innovation Gmbh Augmented reality system
WO2018112805A1 (zh) * 2016-12-21 2018-06-28 深圳前海达闼云端智能科技有限公司 区块链存储方法、装置及节点设备
CN111327703B (zh) * 2017-03-28 2022-05-31 创新先进技术有限公司 一种基于区块链的共识方法及装置
CN108459929A (zh) * 2018-03-28 2018-08-28 成都汇智远景科技有限公司 一种基于云计算的数据备份方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108111604A (zh) * 2017-12-21 2018-06-01 广州广电运通金融电子股份有限公司 区块链共识方法、装置和系统、标识信息处理方法和装置
CN108681963A (zh) * 2018-03-29 2018-10-19 深圳市网心科技有限公司 多区块链整合控制方法、系统、电子装置及存储介质
CN109685504A (zh) * 2018-12-20 2019-04-26 北京比新科技有限公司 一种基于区块链的共享经济记账方法
CN109688012A (zh) * 2018-12-29 2019-04-26 杭州趣链科技有限公司 一种联盟链节点热备切换的方法
CN110221938A (zh) * 2019-05-06 2019-09-10 深圳壹账通智能科技有限公司 电子装置、区块链共识的方法及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116260707A (zh) * 2023-05-15 2023-06-13 安徽中科晶格技术有限公司 基于共识的区块链节点灾备方法、装置、设备及存储介质
CN116260707B (zh) * 2023-05-15 2023-10-10 安徽中科晶格技术有限公司 基于共识的区块链节点灾备方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN110221938A (zh) 2019-09-10

Similar Documents

Publication Publication Date Title
WO2020224237A1 (zh) 区块链共识的方法、装置、设备及存储介质
US9916113B2 (en) System and method for mirroring data
JP6827501B2 (ja) ホットバックアップシステム、ホットバックアップ方法、及びコンピュータ機器
US11194679B2 (en) Method and apparatus for redundancy in active-active cluster system
US7694177B2 (en) Method and system for resynchronizing data between a primary and mirror data storage system
US7793060B2 (en) System method and circuit for differential mirroring of data
US7437598B2 (en) System, method and circuit for mirroring data
US10565071B2 (en) Smart data replication recoverer
CN102521083A (zh) 一种云计算系统中虚拟机备份方法和系统
KR20110044858A (ko) 데이터 센터들에 걸쳐 데이터 서버들내 데이터 무결정의 유지
US7797571B2 (en) System, method and circuit for mirroring data
CN106603279A (zh) 一种容灾方法和容灾系统
WO2020134199A1 (zh) 实现数据一致性的方法和装置、服务器和终端
CN104572355A (zh) 一种异步远程复制数据的方法和设备
WO2021115043A1 (zh) 分布式数据库系统和数据灾备演练方法
CN104268032B (zh) 一种多控制器的快照处理方法及装置
CN106933700B (zh) 用于恢复存储器之间的数据备份的方法及设备
CN105119754A (zh) 虚拟化主备倒换保持tcp连接的系统及方法
CN111190770A (zh) 一种用于数据存储及数据灾备的cow快照技术
CN112929438B (zh) 一种双站点分布式数据库的业务处理方法及装置
EP4300314A2 (en) Data backup method, apparatus and system
WO2017016196A1 (zh) 同步数据方法、装置及系统
KR102221366B1 (ko) 백업 데이터에 대한 신뢰성을 확보하면서도 블록체인 네트워크를 복구하며, 노드를 재활용함으로써 자원 소모를 최소화하는 딜레이드 동기화 방법 및 장치
US20090150459A1 (en) Highly available multiple storage system consistency heartbeat function
US7587628B2 (en) System, method and computer program product for copying data

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: 19927744

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: 19927744

Country of ref document: EP

Kind code of ref document: A1

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205 DATED 18/03/2022)

122 Ep: pct application non-entry in european phase

Ref document number: 19927744

Country of ref document: EP

Kind code of ref document: A1