首页 / 专利库 / 银行与财务事项 / 区块链交易 / 支持暂停和启动的区块链共识方法、系统和电子设备

支持暂停和启动的链共识方法、系统和电子设备

阅读:1029发布:2020-11-21

专利汇可以提供支持暂停和启动的链共识方法、系统和电子设备专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种支持暂停和启动的 区 块 链 共识方法、系统、 电子 设备和计算机可读存储介质。其中,方法包括以下步骤:至少一个共识 节点 的共识模块收到暂停消息后,对接收到的其他共识节点的消息不做任何处理;共识模块收到启动消息后,进行重启,在收到其他共识节点更高高度的消息后,触发启动同步模块,从其他共识节点同步在暂停过程中达成的共识结果。本发明共识系统中的某个共识节点可以在 指定 的高度暂停,在共识节点发生故障的情况下,引入暂停机制,方便分析故障问题,待共识节点故障问题解决之后,共识系统可以继续正常运行,在不影响共识系统正常工作的情况下,提高了共识系统故障排除的效率。,下面是支持暂停和启动的链共识方法、系统和电子设备专利的具体信息内容。

1.一种支持暂停和启动的链共识方法,应用于包含多个共识节点的共识系统,其特征在于,包括以下步骤:
至少一个共识节点的共识模块收到暂停消息后,对接收到的其他共识节点的消息不做任何处理;
共识模块收到启动消息后,进行重启,在收到其他共识节点更高高度的消息后,触发启动同步模块,从其他共识节点同步在暂停过程中达成的共识结果。
2.如权利要求1所述的支持暂停和启动的区块链共识方法,其特征在于,从其他节点同步在暂停过程中达成的共识结果具体为:若重启后的节点完全相信并依赖已有的执行结果,则其他节点将高度差内的执行结果和对该高度共识结果的证明发送给所述重启后的节点。
3.如权利要求1所述的支持暂停和启动的区块链共识方法,其特征在于,从其他节点同步在暂停过程中达成的共识结果具体为:若重启后的节点不信任已有的执行结果,所述重启后的节点请求其他节点发送包含交易打包的区块和对该高度共识结果的证明,所述重启后的节点的执行模块执行出结果并上链。
4.如权利要求2或3所述的支持暂停和启动的区块链共识方法,其特征在于,所述对该高度共识结果的证明生成过程具体为:利用每一区块都有一对应的达成共识时候生成的对共识内容的预提交投票的集合,所述对共识内容的预提交投票的集合在下一轮共识时进行共识,通过表示合法,以保证重启节点的执行结果的正确性。
5.如权利要求1至3任一所述的支持暂停和启动的区块链共识方法,其特征在于,所述暂停消息和启动消息为进行系统运行状态判断后发送的指令。
6.一种支持暂停和启动的区块链共识系统,包含多个共识节点,其特征在于,至少一个共识节点的共识模块收到暂停消息后,对接收到的其他共识节点的消息不做任何处理;
共识模块收到启动消息后,进行重启,在收到其他共识节点更高高度的消息后,触发启动同步模块,从其他共识节点同步在暂停过程中达成的共识结果。
7.如权利要求6所述的支持暂停和启动的区块链共识系统,其特征在于,从其他节点同步在暂停过程中达成的共识结果具体为:若重启后的节点完全相信并依赖已有的执行结果,则其他节点将高度差内的执行结果和对该高度共识结果的证明发送给所述重启后的节点。
8.如权利要求6所述的支持暂停和启动的区块链共识系统,其特征在于,从其他节点同步在暂停过程中达成的共识结果具体为:若重启后的节点不信任已有的执行结果,所述重启后的节点请求其他节点发送包含交易打包的区块和对该高度共识结果的证明,所述重启后的节点的执行模块执行出结果并上链。
9.如权利要求7或8所述的支持暂停和启动的区块链共识系统,其特征在于,所述对该高度共识结果的证明生成过程具体为:利用每一区块都有一对应的达成共识时候生成的对共识内容的预提交投票的集合,所述对共识内容的预提交投票的集合在下一轮共识时进行共识,通过表示合法,以保证重启节点的执行结果的正确性。
10.如权利要求6至8任一所述的支持暂停和启动的区块链共识系统,其特征在于,所述暂停消息和启动消息为进行系统运行状态判断后发送的指令。
11.一种电子设备,其特征在于,包括存储器、处理器及存储在所述存储器是上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行权利要求1至5任一所述的共识方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,该程序被处理器执行实现权利要求1-6任一所述的共识方法。

说明书全文

支持暂停和启动的链共识方法、系统和电子设备

技术领域

[0001] 本发明属于区块链技术领域,具体涉及支持暂停和启动的区块链共识方法、系统、电子设备和计算机可读存储介质。

背景技术

[0002] 区块链(blockchain或者block chain)也称为分布式账本,本质上是一种去中心化的分布式互联网数据库,是在分布式数据库中由多个对等的区块链节点共同维护的链式数据结构。
[0003] 当前区块链共识多采用拜占庭容错(Byzantine Fauk Tolerance,BFT)共识算法,是一种不停机算法。只要系统不停止运行或不失去共识权限(共识列表发生变化),共识模块便不能停止运行。当系统出现某些故障的时候,共识模块依然会继续运行。以上不停止运行机制对排除故障增加了许多的难度。

发明内容

[0004] 有鉴于此,本发明提供了一种支持暂停和启动的区块链共识方法、系统、电子设备和计算机可读存储介质,可以实现共识系统中的共识节点通过人为指定设定的方式实现暂停和启动。
[0005] 为解决上述技术问题,本发明采用如下的技术方案:
[0006] 第一方面,本申请实施例提供一种支持暂停和启动的区块链共识方法,应用于包含多个共识节点的共识系统,包括以下步骤:
[0007] 至少一个共识节点的共识模块收到暂停消息后,对接收到的其他共识节点的消息不做任何处理;
[0008] 共识模块收到启动消息后,进行重启,在收到其他共识节点更高高度的消息后,触发启动同步模块,从其他共识节点同步在暂停过程中达成的共识结果。
[0009] 第一方面的一种可能设计中,从其他节点同步在暂停过程中达成的共识结果具体为:若重启后的节点完全相信并依赖已有的执行结果,则其他节点将高度差内的执行结果和对该高度共识结果的证明发送给所述重启后的节点。
[0010] 第一方面的另一可能设计中,从其他节点同步在暂停过程中达成的共识结果具体为:若重启后的节点不信任已有的执行结果,所述重启后的节点请求其他节点发送包含交易打包的区块和对该高度共识结果的证明,所述重启后的节点的执行模块执行出结果并上链。
[0011] 第一方面的一种可能设计中,所述对该高度共识结果的证明生成过程具体为:利用每一区块都有一对应的达成共识时候生成的对共识内容的预提交投票的集合,所述对共识内容的预提交投票的集合在下一轮共识时进行共识,通过表示合法,以保证重启节点的执行结果的正确性。
[0012] 第一方面的一种可能设计中,所述暂停消息和启动消息为进行系统运行状态判断后发送的指令。
[0013] 第二方面,本申请实施例提供了一种支持暂停和启动的区块链共识系统,包含多个共识节点,其特征在于,
[0014] 至少一个共识节点的共识模块收到暂停消息后,对接收到的其他共识节点的消息不做任何处理;
[0015] 共识模块收到启动消息后,进行重启,在收到其他共识节点更高高度的消息后,触发启动同步模块,从其他共识节点同步在暂停过程中达成的共识结果。
[0016] 第二方面的一种可能设计中,从其他节点同步在暂停过程中达成的共识结果具体为:若重启后的节点完全相信并依赖已有的执行结果,则其他节点将高度差内的执行结果和对该高度共识结果的证明发送给所述重启后的节点。
[0017] 第二方面的另一种可能设计中,从其他节点同步在暂停过程中达成的共识结果具体为:若重启后的节点不信任已有的执行结果,所述重启后的节点请求其他节点发送包含交易打包的区块和对该高度共识结果的证明,所述重启后的节点的执行模块执行出结果并上链。
[0018] 第二方面的一种可能设计中,所述对该高度共识结果的证明生成过程具体为:利用每一区块都有一对应的达成共识时候生成的对共识内容的预提交投票的集合,所述对共识内容的预提交投票的集合在下一轮共识时进行共识,通过表示合法,以保证重启节点的执行结果的正确性。
[0019] 第二方面的一种可能设计中,所述暂停消息和启动消息为进行系统运行状态判断后发送的指令。
[0020] 第三方面,本申请实施例提供了一种电子设备,包括存储器、处理器及存储在所述存储器是上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行上述的共识方法。
[0021] 第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该程序被处理器执行实现上述的共识方法。
[0022] 采用本发明具有如下的有益效果:共识系统中的某个共识节点可以在指定的高度暂停,在共识节点发生故障的情况下,引入暂停机制,方便分析故障问题,待共识节点故障问题解决之后,共识系统可以继续正常运行,在不影响共识系统正常工作的情况下,提高了共识系统故障排除的效率。附图说明
[0023] 图1为本发明实施例提供的支持暂停和启动的区块链共识方法的一种流程示意图;
[0024] 图2为本发明实施例的电子设备的结构示意图;
[0025] 图3为本发明实施例提供的支持暂停和启动的区块链共识系统的一种结构示意图。

具体实施方式

[0026] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0027] 参见图1,本发明实施例公开了一种支持暂停和启动的区块链共识方法,应用于包含多个共识节点的共识系统,包括以下步骤:
[0028] S10,至少一个共识节点的共识模块收到暂停消息后,对接收到的其他共识节点的消息不做任何处理;
[0029] 具体的,暂停的某个共识节点可以有多种设定的方式,例如可以是不同共识节点在不同高度暂停(即根据故障时间的先后来设置);可以是在预设暂停的时间来暂停某个共识节点;也可以是不同高度的暂停故障发生时进行节点暂停。即本发明实施例中不对具体暂停的状况进行限定,当判断共识系统中的某个共识节点需要暂停时,通过人工以指令的形式进行发送暂停消息至需要暂停的共识节点的共识模块。正常情况下,共识模块需要接收打包交易模块发来的交易,网络模块发来的其他节点的投票,执行结果等消息,当收到暂停消息后,对接收到的其他共识节点的消息不做任何处理。系统维护人员可在共识节点的暂停状态下对故障进行排除,系统中的其他正常的共识节点继续进行计算。
[0030] S20,共识模块收到启动消息后,进行重启,在收到其他共识节点更高高度的消息后,触发启动同步模块,从其他共识节点同步在暂停过程中达成的共识结果。
[0031] 具体的,通过人工以指令的形式进行发送启动消息至暂停后待重启的共识节点的共识模块。当收到启动消息后,暂停的共识节点重启,此时共识模块再收到消息后即根据不同消息的类型做不同的处理。由于在暂停的时间内,其余共识节点可能继续达成共识,高度增长,重启后的共识节点的网络模块在收到更高高度的消息之后需要进行同步。对不同类型的消息进行不同的处理,例如,收到提议之后进行预投票,收到超过一个阈值(如2/3)的预投票,根据收到的预投票的结果进行预提交;收到超过一个阈值(如2/3)的预提交根据预提交的结果,进行提交或者进入下一个轮次的共识过程。
[0032] 具体应用实例中,从其他共识节点同步在暂停过程中达成的共识结果可选择不同的设置方式实现。
[0033] 在本申请的其中一具体应用实例中,将从其他共识节点同步在暂停过程中达成的共识结果设置为,重启后的节点完全相信并依赖已有的执行结果,则其他节点将高度差内的执行结果和对该高度共识结果的证明发送给所述重启后的节点。。对该高度共识结果的证明用于保证结果的正确性,具体可利用每一区块都有一对应的达成共识时候生成的对共识内容的预提交投票的集合,对共识内容的预提交投票的集合在下一轮共识时进行共识,通过表示合法,以保证重启节点的执行结果的正确性。
[0034] 在本申请的又一具体应用实例中,将从其他共识节点同步在暂停过程中达成的共识结果设置为,重启后的节点不信任已有的执行结果,所述重启后的节点请求其他节点发送包含交易打包的区块和对该高度共识结果的证明,所述重启后的节点的执行模块执行出结果并上链。此时仍需对该高度共识结果的证明用于保证结果的正确性,即利用每一区块都有一对应的达成共识时候生成的对共识内容的预提交投票的集合,对共识内容的预提交投票的集合在下一轮共识时进行共识,通过表示合法,以保证重启节点的执行结果的正确性。
[0035] 通过以上实施的区块链共识方法,共识系统中的某个共识节点可以在指定的高度暂停,在共识节点发生故障的情况下,引入暂停机制,方便分析故障问题,待故障问题解决之后,共识系统可以重启后继续正常运行。在不影响共识系统正常工作的情况下,提高了共识系统故障排除的效率。
[0036] 下面参照图2详细介绍本发明实施例的电子设备。在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口和存储器。其中,存储器可能包含能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器等。当然,该电子设备还可以包括其他业务所需的硬件。
[0037] 处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外设部件互联标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构 (Extended Industry StandardArchitecture,EISA)总线等。其中总线可以分为地址总线数据总线和控制总线等。为了便于表示,图2中仅用一个双箭头表示,但并不表示仅有一根总线或一种类型的总线。
[0038] 存储器,用于存放程序,具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令,存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
[0039] 处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成内容推荐装置。处理器,执行存储器所存放的程序,并具体用于执行前文所述服务器作为执行主体时所执行的方法操作。
[0040] 上述如本发明实施例图1所示实施例的支持暂停和启动的区块链共识方法可以应用于处理器中,或者由处理器实现。处理器可以是一种集成电路芯片,具有信号的处理能。在实现过程中,上述方法的各个步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等,还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
[0041] 当然,除了软件实现方式之外,本说明书实施例的电子设备并不排除其他实现方式,比如逻辑器件或软硬结合的方式等,即以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
[0042] 本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作:
[0043] 至少一个共识节点的共识模块收到暂停消息后,对接收到的其他共识节点的消息不做任何处理;
[0044] 共识模块收到启动消息后,进行重启,在收到其他共识节点更高高度的消息后,触发启动同步模块,从其他共识节点同步在暂停过程中达成的共识结果。
[0045] 具体应用实例中,从其他共识节点同步在暂停过程中达成的共识结果可选择不同的设置方式实现。
[0046] 在本申请的其中一具体应用实例中,将从其他共识节点同步在暂停过程中达成的共识结果设置为,重启后的节点完全相信并依赖已有的执行结果,则其他节点将高度差内的执行结果和对该高度共识结果的证明发送给所述重启后的节点。。对该高度共识结果的证明用于保证结果的正确性,具体可利用每一区块都有一对应的达成共识时候生成的对共识内容的预提交投票的集合,对共识内容的预提交投票的集合在下一轮共识时进行共识,通过表示合法,以保证重启节点的执行结果的正确性。
[0047] 在本申请的又一具体应用实例中,将从其他共识节点同步在暂停过程中达成的共识结果设置为,重启后的节点不信任已有的执行结果,所述重启后的节点请求其他节点发送包含交易打包的区块和对该高度共识结果的证明,所述重启后的节点的执行模块执行出结果并上链。此时仍需对该高度共识结果的证明用于保证结果的正确性,即利用每一区块都有一对应的达成共识时候生成的对共识内容的预提交投票的集合,对共识内容的预提交投票的集合在下一轮共识时进行共识,通过表示合法,以保证重启节点的执行结果的正确性。
[0048] 与本发明方法实施例对应的,参照图2,所示为本发明又一实施例的支持暂停和启动的区块链共识系统10的结构示意图,其包括多个共识节点,如共识节点101,共识节点2及共识节点N,进一步的,每一共识节点都包括共识模块1011和同步模块1012,至少一个共识节点的共识模块1011收到暂停消息后,对接收到的其他共识节点的消息不做任何处理;共识模块1011收到启动消息后,进行重启,在收到其他共识节点更高高度的消息后,触发启动同步模块 1012,从其他共识节点同步在暂停过程中达成的共识结果。
[0049] 本领域的技术人员可以理解的是,本发明实施例的主要改进点在于共识模块在收到暂停和启动消息后,共识模块和同步模块进行的相应的执行动作。故本发明实施例仅对改进的执行动作部分做了重点描述,系统的其他模块和动作执行过程可参照现有技术中已实现的拜占庭容错共识算法,在此不再赘述。
[0050] 具体的,暂停的某个共识节点可以有多种设定的方式,例如可以是不同共识节点在不同高度暂停(即根据故障时间的先后来设置);可以是在预设暂停的时间来暂停某个共识节点;也可以是不同高度的暂停故障发生时进行节点暂停。即本发明实施例中不对具体暂停的状况进行限定,当判断共识系统中的某个共识节点需要暂停时,通过人工以指令的形式进行发送暂停消息至需要暂停的共识节点的共识模块。正常情况下,共识模块需要接收打包交易模块发来的交易,网络模块发来的其他节点的投票,执行结果等消息,当收到暂停消息后,对接收到的其他共识节点的消息不做任何处理。系统维护人员可在共识节点的暂停状态下对故障进行排除,系统中的其他正常的共识节点继续进行计算。
[0051] 进一步的,通过人工以指令的形式进行发送启动消息至暂停后待重启的共识节点的共识模块。当收到启动消息后,暂停的共识节点重启,此时共识模块再收到消息后即根据不同消息的类型做不同的处理。由于在暂停的时间内,其余共识节点可能继续达成共识,高度增长,重启后的共识节点的网络模块在收到更高高度的消息之后需要进行同步。对不同类型的消息进行不同的处理,例如,收到提议之后进行预投票,收到超过一个阈值(如2/3)的预投票,根据收到的预投票的结果进行预提交;收到超过一个阈值(如2/3)的预提交根据预提交的结果,进行提交或者进入下一个轮次的共识过程。
[0052] 具体应用实例中,从其他共识节点同步在暂停过程中达成的共识结果可选择不同的设置方式实现。
[0053] 在本申请的其中一具体应用实例中,将从其他共识节点同步在暂停过程中达成的共识结果设置为,若重启后的节点完全相信并依赖已有的执行结果,则其他节点将高度差内的执行结果和对该高度共识结果的证明发送给所述重启后的节点。对该高度共识结果的证明用于保证结果的正确性,具体可利用每一区块都有一对应的达成共识时候生成的对共识内容的预提交投票的集合,对共识内容的预提交投票的集合在下一轮共识时进行共识,通过表示合法,以保证重启节点的执行结果的正确性。
[0054] 在本申请的又一具体应用实例中,将从其他共识节点同步在暂停过程中达成的共识结果设置为,若重启后的节点不信任已有的执行结果,所述重启后的节点请求其他节点发送包含交易打包的区块和对该高度共识结果的证明,所述重启后的节点的执行模块执行出结果并上链。此时仍需对该高度共识结果的证明用于保证结果的正确性,即利用每一区块都有一对应的达成共识时候生成的对共识内容的预提交投票的集合,对共识内容的预提交投票的集合在下一轮共识时进行共识,通过表示合法,以保证重启节点的执行结果的正确性。
[0055] 通过以上实施的区块链共识系统,共识系统中的某个共识节点可以在指定的高度暂停,在共识节点发生故障的情况下,引入暂停机制,方便分析故障问题,待故障问题解决之后,共识系统可以重启后继续正常运行。在不影响共识系统正常工作的情况下,提高了共识系统故障排除的效率。
[0056] 其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等。
[0057] 应当理解,本文所述的示例性实施例是说明性的而非限制性的。尽管结合附图描述了本发明的一个或多个实施例,本领域普通技术人员应当理解,在不脱离通过所附权利要求所限定的本发明的精神和范围的情况下,可以做出各种形式和细节的改变。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈