CN114254050A - 区块链网络共识预加载方法、装置、设备及存储介质 - Google Patents
区块链网络共识预加载方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114254050A CN114254050A CN202210195004.4A CN202210195004A CN114254050A CN 114254050 A CN114254050 A CN 114254050A CN 202210195004 A CN202210195004 A CN 202210195004A CN 114254050 A CN114254050 A CN 114254050A
- Authority
- CN
- China
- Prior art keywords
- consensus
- node
- block
- switching
- endorsement
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/217—Database tuning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Multi Processors (AREA)
Abstract
本申请提供一种区块链网络共识预加载方法、装置、设备及存储介质,涉及区块链技术领域。该方法包括:区块链网络中的各节点分别接收共识切换策略;各节点分别根据本地最新区块高度以及预设区块高度,确定是否进行共识切换;若第一节点未共识切换,且第一节点为节点列表中的标识节点,则启动新共识模块,以使新共识模块预加载新共识机制;在未共识切换的第一节点接收到共识切换后的出块节点发送的背书请求时,利用新共识模块预加载的新共识机制进行背书校验,得到背书校验结果;若共识切换后的出块节点确定出待共识校验区块背书成功,则向其它节点广播待共识校验区块。这样可以在多个节点的操作存在时间差的情况下,提高区块链网络正常工作的概率。
Description
技术领域
本申请涉及区块链技术领域,具体而言,涉及一种区块链网络共识预加载方法、装置、设备及存储介质。
背景技术
区块链网络是一种分布式的数据库,具有去中心化、不可篡改和可扩展等特点,其可根据不同的业务场景选择使用不同的共识机制,利用所选的共识机制对业务数据进行处理,即区块链网络支持共识热插拔的功能。
但是,不管是同步共识场景下的网络延迟还是异步共识场景下的节点性能差异,均会使多个节点上的区块高度不一致,导致多个节点在某一预设区块高度进行共识切换的操作存在时间差,处理较慢的节点需要等待一段时间后才进行共识切换。所以,如何在多个节点的操作存在时间差的情况下,提高区块链网络正常工作的概率是当前亟待解决的问题。
发明内容
本申请的目的在于,针对上述现有技术中的不足,提供一种区块链网络共识预加载方法、装置、设备及存储介质,可以在多个节点的操作存在时间差的情况下,提高区块链网络正常工作的概率。
为实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本申请实施例提供了一种区块链网络共识预加载方法,所述方法应用于区块链网络,所述方法包括:
所述区块链网络中的各节点分别接收共识切换策略,所述共识切换策略用于指示节点在预设区块高度后进行共识切换,所述共识切换策略中包括:节点列表,所述节点列表中包括多个标识节点,各标识节点作为所述区块链网络中的背书节点、出块节点;
各节点分别根据本地最新区块高度以及所述预设区块高度,确定是否进行共识切换,所述各节点中包括第一节点;
若所述第一节点未共识切换,且所述第一节点为所述节点列表中的标识节点,则未共识切换的第一节点启动新共识模块,以使所述新共识模块预加载新共识机制;
在所述未共识切换的第一节点接收到共识切换后的出块节点发送的背书请求时,所述未共识切换的第一节点利用所述新共识模块预加载的新共识机制对所述背书请求中携带的待共识校验区块进行背书校验,得到背书校验结果,所述出块节点为所述区块链网络中除所述未共识切换的第一节点外的节点;
若所述共识切换后的出块节点根据各背书节点发送的背书校验结果确定出所述待共识校验区块背书成功,则向所述区块链网络中除出块节点外的其它节点广播所述待共识校验区块,所述各背书节点包括所述未共识切换的第一节点。
可选地,所述方法还包括:
所述未共识切换的第一节点根据对所述待共识校验区块的广播校验结果,确定是否将所述待共识校验区块写入本地缓存模块中。
可选地,所述未共识切换的第一节点根据对所述待共识校验区块的广播校验结果,确定是否将所述待共识校验区块写入本地缓存模块中,包括:
所述未共识切换的第一节点利用所述新共识模块预加载的新共识机制对所述待共识校验区块进行广播校验,得到广播校验结果;
若所述广播校验结果指示广播校验成功,则所述未共识切换的第一节点将所述待共识校验区块写入本地缓存模块中。
可选地,所述方法还包括:
所述未共识切换的第一节点启动执行模块对本地缓存模块中的待执行区块进行执行,得到所述待执行区块对应的执行结果,所述执行结果中包括区块的状态哈希,所述待执行区块包括所述待共识校验区块;
所述未共识切换的第一节点将所述执行结果写入本地数据库中。
可选地,所述未共识切换的第一节点利用所述新共识模块预加载的新共识机制对所述背书请求中携带的待共识校验区块进行背书校验,得到背书校验结果,包括:
若所述未共识切换的第一节点利用所述新共识模块预加载的新共识机制对所述背书请求中携带的待共识校验区块校验成功,则确定所述未共识切换的第一节点对应的本地数据库中是否存在与所述待共识校验区块对应的参考区块的执行结果;
若是,则所述未共识切换的第一节点根据所述待共识校验区块携带的参考区块的区块状态哈希与所述参考区块的执行结果,得到背书校验结果。
可选地,所述方法还包括:
若否,则所述未共识切换的第一节点确定本地缓存模块中是否保存有与所述待共识校验区块对应的参考区块;
在所述缓存模块中保存有所述参考区块时,所述未共识切换的第一节点从所述本地缓存模块中读取所述参考区块;
所述未共识切换的第一节点启动执行模块对所述参考区块进行执行,得到所述参考区块对应的执行结果;
所述未共识切换的第一节点根据所述待共识校验区块携带的参考区块的区块状态哈希以及所述参考区块的执行结果,得到背书校验结果。
可选地,所述方法还包括:
在所述本地缓存模块中未保存有所述参考区块时,所述未共识切换的第一节点确定背书校验结果为背书校验失败。
可选地,所述方法还包括:
在所述未共识切换的第一节点接收到未共识切换的出块节点发送的背书请求时,所述未共识切换的第一节点利用旧共识模块加载的旧共识机制对所述背书请求中携带的待共识校验区块进行背书校验,得到背书校验结果。
可选地,所述方法还包括:
在共识切换后的第一节点接收到共识切换后的出块节点发送的背书请求时,则所述共识切换后的第一节点加载所述新共识机制对所述背书请求中携带的待共识校验区块进行背书校验,得到背书校验结果;
若所述共识切换后的出块节点根据各背书节点发送的背书校验结果确定出所述待共识校验区块背书成功时,则向各节点广播所述待共识校验区块。
可选地,所述方法还包括:
所述共识切换后的第一节点加载所述新共识机制对所述待共识校验区块进行广播校验,得到广播校验结果;
若所述广播校验结果指示广播校验成功,则所述共识切换后的第一节点将所述待共识校验区块写入本地缓存模块中。
第二方面,本申请实施例还提供了一种区块链共识预加载装置,所述装置应用于区块链网络,所述装置包括:
接收模块,用于所述区块链网络中的各节点分别接收共识切换策略,所述共识切换策略用于指示节点在预设区块高度后进行共识切换,所述共识切换策略中包括:节点列表,所述节点列表中包括多个标识节点,各标识节点作为所述区块链网络中的背书节点、出块节点;
确定模块,用于各节点分别根据本地最新区块高度以及所述预设区块高度,确定是否进行共识切换,所述各节点中包括第一节点;
启动模块,用于若所述第一节点未共识切换,且所述第一节点为所述节点列表中的标识节点,则未共识切换的第一节点启动新共识模块,以使所述新共识模块预加载新共识机制;
背书模块,用于在所述未共识切换的第一节点接收到共识切换后的出块节点发送的背书请求时,所述未共识切换的第一节点利用所述新共识模块预加载的新共识机制对所述背书请求中携带的待共识校验区块进行背书校验,得到背书校验结果,所述出块节点为所述区块链网络中除所述未共识切换的第一节点外的节点;
广播模块,用于若所述共识切换后的出块节点根据各背书节点发送的背书校验结果确定出所述待共识校验区块背书成功,则向所述区块链网络中除出块节点外的其它节点广播所述待共识校验区块,所述各背书节点包括所述未共识切换的第一节点。
可选地,所述确定模块,还用于所述未共识切换的第一节点根据对所述待共识校验区块的广播校验结果,确定是否将所述待共识校验区块写入本地缓存模块中。
可选地,所述确定模块,所述未共识切换的第一节点利用所述新共识模块预加载的新共识机制对所述待共识校验区块进行广播校验,得到广播校验结果;若所述广播校验结果指示广播校验成功,则所述未共识切换的第一节点将所述待共识校验区块写入本地缓存模块中。
可选地,所述装置还包括,执行模块;
所述执行模块,用于所述未共识切换的第一节点启动执行模块对本地缓存模块中的待执行区块进行执行,得到所述待执行区块对应的执行结果,所述执行结果中包括区块的状态哈希,所述待执行区块包括所述待共识校验区块;所述未共识切换的第一节点将所述执行结果写入本地数据库中。
可选地,所述背书模块,具体用于若所述未共识切换的第一节点利用所述新共识模块预加载的新共识机制对所述背书请求中携带的待共识校验区块校验成功,则确定所述未共识切换的第一节点对应的本地数据库中是否存在与所述待共识校验区块对应的参考区块的执行结果;若是,则所述未共识切换的第一节点根据所述待共识校验区块携带的参考区块的区块状态哈希与所述参考区块的执行结果,得到背书校验结果。
可选地,所述确定模块,还用于若否,则所述未共识切换的第一节点确定本地缓存模块中是否保存有与所述待共识校验区块对应的参考区块;在所述缓存模块中保存有所述参考区块时,所述未共识切换的第一节点从所述本地缓存模块中读取所述参考区块;所述未共识切换的第一节点启动执行模块对所述参考区块进行执行,得到所述参考区块对应的执行结果;所述未共识切换的第一节点根据所述待共识校验区块携带的参考区块的区块状态哈希以及所述参考区块的执行结果,得到背书校验结果。
可选地,所述确定模块,还用于在所述本地缓存模块中未保存有所述参考区块时,所述未共识切换的第一节点确定背书校验结果为背书校验失败。
可选地,所述背书模块,还用于在所述未共识切换的第一节点接收到未共识切换的出块节点发送的背书请求时,所述未共识切换的第一节点利用旧共识模块加载的旧共识机制对所述背书请求中携带的待共识校验区块进行背书校验,得到背书校验结果。
可选地,所述背书模块,还用于在共识切换后的第一节点接收到共识切换后的出块节点发送的背书请求时,则所述共识切换后的第一节点加载所述新共识机制对所述背书请求中携带的待共识校验区块进行背书校验,得到背书校验结果;若所述共识切换后的出块节点根据各背书节点发送的背书校验结果确定出所述待共识校验区块背书成功时,则向各节点广播所述待共识校验区块。
可选地,所述广播模块,还用于所述共识切换后的第一节点加载所述新共识机制对所述待共识校验区块进行广播校验,得到广播校验结果;若所述广播校验结果指示广播校验成功,则所述共识切换后的第一节点将所述待共识校验区块写入本地缓存模块中。
第三方面,本申请实施例提供了一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当所述电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行上述第一方面的所述区块链网络共识预加载方法的步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述第一方面的所述区块链网络共识预加载方法的步骤。
本申请的有益效果是:
本申请实施例提供一种区块链网络共识预加载方法、装置、设备及存储介质。该方法应用于区块链网络,该方法包括:区块链网络中的各节点分别接收共识切换策略;各节点分别根据本地最新区块高度以及预设区块高度,确定是否进行共识切换;若第一节点未共识切换,且第一节点为节点列表中的标识节点,则启动新共识模块,以使新共识模块预加载新共识机制;在未共识切换的第一节点接收到共识切换后的出块节点发送的背书请求时,利用新共识模块预加载的新共识机制进行背书校验,得到背书校验结果;若共识切换后的出块节点确定出待共识校验区块背书成功,则向其它节点广播待共识校验区块。
采用本申请实施例提供的区块链网络共识预加载方法,位于节点列表中的第一节点在接收到共识切换策略后,可在本地最新区块高度未达到预设区块高度的情况下,启动一个新共识模块,未共识切换的第一节点利用新共识模块预加载新共识机制,这样共识切换后的出块节点向未共识切换的第一节点发送生成的待共识校验区块时,未共识切换的第一节点可参与到对待共识校验区块进行背书校验的过程中。这样可使参与对待共识校验区块进行背书校验的背书节点个数满足新共识的背书节点数量的要求,提高共识切换后的出块节点进行正常出块的概率。也就是说,本申请可以在多个节点的操作存在时间差的情况下,还能提高区块网络正常工作的概率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种节点的状态示意图;
图2为本申请实施例提供的另一种节点的状态示意图;
图3为本申请实施例提供的一种区块链网络共识预加载方法的流程示意图;
图4为本申请实施例提供的另一种区块链网络共识预加载方法的流程示意图;
图5为本申请实施例提供的又一种区块链网络共识预加载方法的流程示意图;
图6为本申请实施例提供的再一种区块链网络共识预加载方法的流程示意图;
图7为本申请实施例提供的又一种区块链网络共识预加载方法的流程示意图;
图8为本申请实施例提供的一种区块链共识预加载装置的结构示意图;
图9为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了使本领域技术人员清楚对本申请实施例进行理解,首先对本申请的应用场景进行介绍,该应用场景具体可为在区块链网络中,进行共识预加载的场景。在区块链网络技术中,区块链网络可根据不同的业务场景选择使用不同的共识机制,进而利用所选的共识机制对业务数据进行处理。举例来说,当区块链网络中的节点接收到的业务数据为业务场景1下的业务数据时,区块链网络需要利用业务场景1对应的共识机制1对业务场景1下的业务数据进行处理;当区块链网络中的节点接收到的业务数据为业务场景2下的业务数据时,区块链网络需要利用业务场景2对应的共识机制2对业务场景2下的业务数据进行处理。也就是说,区块链网络支持共识热插拔的功能,由于共识热插拔在无需重启节点的情况下就可完成共识切换,所以终端设备侧的普通用户对节点的共识切换是无感知的,使共识热插拔技术在区块网络中有重要的研究意义。
然而,由于网络延迟、节点性能差异等原因,会出现区块链网络中的某些节点执行快、某些节点执行慢的现象,这些现象会使区块链网络中的多个节点的本地最新区块高度产生差异。也就是说,有些节点的本地最新区块高度达到了预设区块高度(满足进入新业务场景的条件),即可以进行共识切换,将当前共识机制切换(旧共识机制)为新共识机制,这里的新共识机制可以理解为新业务场景对应的共识机制,而有些节点的本地最新区块高度还未达到预设区块高度(即不满足进入新业务场景的条件),即不可以进行共识切换。这样就会造成在新业务场景下,参与背书校验的背书节点的数量可能无法达到新共识的背书节点数量要求,进而可能无法正常对新业务场景下的业务数据进行背书校验、广播校验等处理。
可以理解的是,各业务场景下参与背书校验的背书节点都会进行预先设置,如业务场景1对应的节点列表1包括节点{A,B,C,D,E},节点列表1中的各节点可作为一轮共识校验过程中的出块节点,当其中一个节点作为出块节点时,节点列表1中的其它节点可作为出块节点对应的背书节点。业务场景2对应的节点列表2包括节点{H,I,J,K,L,M,N},同理,节点列表2中的各节点可作为一轮共识校验过程中的出块节点,当节点列表2其中一个节点作为出块节点时,节点列表2中的其它节点作为出块节点对应的背书节点。
区块链网络中进行共识切换后的出块节点会继续出块,而现有技术中,只有等到参与业务场景2的背书校验阶段的各背书节点进行共识切换后,即各背书节点的本地最新区块高度均达到预设区块高度后,才有可能使出块节点继续正常出块,或者说,只要参与背书校验阶段的各背书节点存在未进行共识切换的背书节点,那么出块节点处于异常状态的概率就会增大,此时的出块节大概率可能停止工作。这样会使区块链网络在参与背书校验阶段的背书节点的个数未达到新共识的背书节点个数要求之前,区块链网络大概率无法正常工作。
以节点列表2中的节点H进行说明,目前节点H的本地最新区块高度(已执行区块的区块高度)未达到预设区块高度(如100)之前,节点H都会以图1左边的状态位于区块链网络中,可以看出,这个阶段的节点H中仅有业务场景1对应的共识机制1,在节点H的本地最新区块高度(已执行区块的区块高度)达到预设区块高度后,节点H才会以图1右边的状态位于区块链网络中。可以看出,这个阶段的节点H中的共识机制才会变为业务场景2对应的共识机制2,在共识机制未变化为共识机制2之前,节点H都无法参与对已进行共识切换的出块节点生成的区块进行背书校验。
本申请实施例基于上述问题,提出一种区块链网络共识预加载方法,对节点列表2中任何一个没有进行共识切换的节点(如节点H)进行预加载。此处以节点H为例进行说明,节点H在接收到共识切换策略后,可启用一个新共识模块。也就是说,节点H在进行共识切换之前,会启用两个共识模块,一个为旧共识模块,旧共识模块用于加载旧共识机制,另一个为新共识模块,新共识模块可用于预加载新共识机制。如图2所示,未共识切换的节点H中包括两个共识机制,如共识机制1、共识机制2,未共识切换的节点H即使在未进行共识切换前,也可时刻参与对已进行共识切换的出块节点生成的区块进行背书校验。具体的,可利用新共识模块预加载的共识机制2对已进行共识切换的节点生成的区块进行背书校验,同理,节点列表2中参与背书校验的其它背书节点即使在未进行共识切换前,也可时刻参与对已进行共识切换的出块节点生成的区块进行背书校验。也就是说,已进行共识切换的出块节点可接收到满足新共识的背书节点数量的各背书节点发送的背书校验结果,提高出块节点正常进行出块的概率,使区块链网络可正常工作。
此处对本申请实施例提到的一些名词进行解释,便于本领域技术人员对本申请实施例进行理解。
出块节点:本轮共识校验中,生成区块的节点。
背书节点:可对出块节点生成的区块进行背书校验的节点。
标识节点:新共识机制对应的节点列表中所包括的节点,可作为出块节点、背书节点。可以理解的是,当节点列表中的某一节点作为出块节点时,节点列表中的其它节点可作为与出块节点对应的背书节点。通常,新共识机制下的出块节点、背书节点都是预先设置的。
同步共识场景:出块节点需等上一区块执行完成得到执行结果后,才可生成下一区块;其它节点利用待共识校验区块的前一区块的状态哈希对该待共识校验区块进行广播校验。
异步共识场景:出块节点向其它节点广播待共识校验区块的同时,可在本地对该待共识检验区块进行执行;其它节点利用待共识校验区块的前N区块(N一般大于2)的状态哈希对该待共识校验区块进行广播校验。
如下结合附图对本申请提到的区块链网络共识预加载方法进行示例说明。图3为本申请实施例提供的一种区块链网络共识预加载方法的流程示意图,该方法可应用于区块链网络,也就是说,该区块链网络中的任一节点都可作为该方法的执行主体。如图3所示,该方法可包括:
S301、区块链网络中的各节点分别接收共识切换策略。
可以理解的是,区块链网络面对不同业务场景时,可能需要使用不同的共识机制进行部署,这样各节点才可以更有效的对业务数据进行处理。暂且认为不同业务场景需要部署不同共识机制,那么区块链网络中的任一节点都需要监测自身是否满足共识切换策略中业务场景切换要求,在满足后,节点需要将新业务场景对应的共识机制作为当前共识机制。
在一种可实现的实施例中,终端设备可在区块链网络处于第一业务场景时,将设置的共识切换策略发送给区块链网络中与其通信连接的节点,该节点接收到共识切换策略后,可将该共识切换策略广播给区块链网络中的其它节点,即区块链网络中的各节点可分别接收到共识切换策略,之后各节点监测自身是否满足共识切换策略中进入第二业务场景的要求,第一业务场景与第二业务场景为不同的业务场景,对应不同的共识机制。
其中,共识切换策略用于指示节点在预设区块高度后进行共识切换,该共识切换策略中包括:节点列表,该节点列表中包括多个标识节点,各标识节点作为区块链网络中的背书节点、出块节点。
节点在预设区块高度后进行共识切换相当于上述提到的业务场景切换条件,预设区块高度可根据业务场景的切换需求进行设置,如预设区块高度为100,需要说明的是,本申请不对其进行限定。此时以预设区块高度为100进行说明,节点在预设区块高度后进行共识切换(业务场景切换)可以理解为当节点对生成的第100个区块执行完成后,即该节点本地的区块链末端区块的区块高度为100后,该节点需要利用第二业务场景对应的共识机制生成区块或对进入第二业务场景的节点生成的区块进行共识校验。也就是说,当节点本地的区块链末端区块的区块高度为预设区块高度后,该节点可将当前共识机制(旧共识机制)切换为新共识机制,该节点之后可利用新共识机制生成区块或对节点生成的区块进行共识校验。
共识切换策略中的节点列表所包括的标识节点可根据区块链网络的业务场景的切换需求进行设置,本申请不对其进行限定。可以理解的是,不同的业务场景可对应有不同的节点列表。如新业务场景下能作为背书校验、出块的节点可为上述提到的节点列表2,节点列表2中可包括H、I、J、K、L、M、N标识节点。需要说明的是,本申请不对节点列表中的标识节点进行限定,根据上述描述可知,这些标识节点可在新共识校验过程中,作为背书节点,对出块节点发送的背书请求进行响应,也可以作为出块节点,进行出块。
S302、各节点分别根据本地最新区块高度以及预设区块高度,确定是否进行共识切换。
其中,各节点中包括第一节点,第一节点具体可指节点列表中的标识节点,当然也可指节点列表之外的节点,本申请不对其进行限定。
此时以第一节点为例进行说明,第一节点的本地最新区块高度可以理解为第一节点最新执行完区块的区块高度。一种示例性的,可获取第一节点本地区块链末端区块的区块高度,将本地区块链末端的区块高度作为本地最新区块高度;另一种示例性的,可从第一节点对应的本地数据库中获取具有执行结果的最高区块高度,将具有执行结果的最高区块高度作为本地最新区块高度。
第一节点可将采用上述任一种方式获取到的本地最新区块高度与预设区块高度进行比较,根据比较结果确定自身是否进行共识切换。
S303、若第一节点未共识切换,且第一节点为节点列表中的标识节点,则未共识切换的第一节点启动新共识模块,以使新共识模块预加载新共识机制。
其中,上述的比较结果可包括两种情况,一种是本地最新区块高度小于预设区块高度,另一种为本地最新区块高度等于预设区块高度。在比较结果为第一种情况时,代表着第一节点还不能直接进行共识切换,即不能将当前共识机制切换为新共识机制,在比较结果为第二种情况时,代表着第一节点需要进行共识切换,第一节点可用新共识机制替换当前共识机制(旧共识机制),或者第一节点可停止启用加载旧共识机制的旧共识模块,仅启用预加载新共识机制的新共识模块。需要说明的是,其它节点可根据第一节点的相关描述分别确定自身是否进行共识切换,此处不再进行说明。
基于上述提到的第一种情况,当第一节点为节点列表外的节点时,未共识切换的第一节点不进行任何处理,即未共识切换的第一节点所包括的共识模块仅为加载当前共识机制的模块。当未共识切换的第一节点为节点列表中的任一标识节点时,基于第一种情况,未共识切换的第一节点需要启用一个新共识模块,利用新共识模块预加载新共识机制。也就是说,为标识节点的第一节点中包括两个共识模块,一个共识模块用于加载当前共识机制,另一个共识模块(新共识模块)用于预加载新共识机制。需要说明的是,未共识切换的第一节点中的新共识模块不具有出块功能,即只有经过共识切换后的标识节点才可以作为出块节点。
S304、在未共识切换的第一节点接收到共识切换后的出块节点发送的背书请求时,未共识切换的第一节点利用该新共识模块预加载新共识机制对背书请求中携带的待共识校验区块进行背书校验,得到背书校验结果。
其中,出块节点为区块链网络中除未共识切换的第一节点外的节点,如出块节点为节点列表中的任一标识节点时,接收背书请求的背书节点即为除作为出块节点的标识节点之外的标识节点。
区块链网络可包括出块阶段、背书校验阶段、广播校验阶段,当然还可包括其它阶段。当区块链网络此时处于背书校验阶段,未共识切换的第一节点为参与背书校验的其中一个背书节点,出块节点为已进行共识切换的节点,如进行共识切换后的标识节点这一场景时,区块链网络需要利用新共识机制对该出块节点生成的待共识校验区块进行背书校验。可以理解的是,出块节点为区块链网络中除未共识切换的第一节点外的节点,区块链网络同一时刻只有一个出块节点,如出块节点为节点列表中的标识节点L,此时,接收背书请求的背书节点可为除作为出块节点的标识节点之外的标识节点,如标识节点H、I、J、K、M、N。
一种示例,共识切换后的出块节点(如标识节点L)生成待共识校验区块后,可将携带有待共识校验区块的背书请求分别发送给参与背书的背书节点(如标识节点H、I、J、K、M、N)。此处以未共识切换的第一节点为参与背书校验的其中一个背书节点(如标识节点)为维度进行说明,其它参与背书校验的未共识切换的标识节点类似,此处不再进行说明。
未共识切换的第一节点在接收到背书请求时,可从背书请求中提取出与出块节点的当前共识机制关联的共识信息,利用共识信息确定出块节点的当前共识机制。可以理解的是,由于出块节点为共识切换后的节点,所以未共识切换的第一节点确定出的出块节点的当前共识机制为新共识机制。基于此,由于未共识切换的第一节点已经预加载了新共识模块,所以可利用新共识模块预加载的新共识机制对待共识校验区块进行背书校验,得到背书校验结果,背书校验结果包括两种,一种为背书校验失败,另一种为背书校验成功。
可以理解的是,其它参与背书校验的未共识切换的标识节点均可利用自身的新共识模块预加载的新共识机制对待共识校验区块进行背书校验,其它参与背书校验的共识切换的标识节点可直接利用当前共识机制(新共识机制)对待共识校验区块进行背书校验。也就是说,不管在新共识机制下的背书节点是否进行了共识切换,均可参与到对共识切换后的出块节点生成的待共识校验区块进行背书校验过程中,即不管背书节点的本地最新区块高度是否达到预设区块高度,均会有满足新共识的背书节点数量要求的背书节点参与到背书校验中,这样可保证参与进行背书校验的背书节点数量满足新共识的背书节点数量要求,提高出块节点正常工作的概率。
举例来说,若新共识的背书节点数量要求为6个背书节点,那么通过本申请实施例的方式,无论什么原因(如网络延迟、节点性能差异)导致的多个节点的本地最新区块高度存在差异,都可在每轮共识校验过程中,均有6个背书节点参与背书校验。这样可以避免在区块链网络异步共识场景中,由于节点性能差异导致多个节点的本地最新区块高度不一致时,区块链网络无法正常工作的现象,还可以避免在区块链网络同步场景,由于网络延迟导致多个节点的本地最新区块高度不一致时,区块链网络无法正常工作的现象。
S305、若共识切换后的出块节点根据各背书节点发送的背书校验结果确定出待共识校验区块背书成功,则向区块链网络中的除出块节点外的其它节点广播待共识校验区块。
示例性的,各背书节点均为节点列表中的标识节点,也就是说,各背书节点包括第一节点。在进行背书校验的背书节点的数量满足新共识的背书节点数量的要求前提下,该共识切换后的出块节点可分别接收到各背书节点得到的背书校验结果,该共识切换后的出块节点统计背书校验结果是背书校验成功的背书节点数量,将背书校验成功的背书节点数量与预设背书节点数量阈值(如4个)进行比较,当比较结果为背书校验成功的背书节点数量大于或等于预设背书节点数量阈值时,代表着该待共识校验区块背书成功,随后该共识切换后的出块节点可正常出块,反之,该共识切换后的出块节点确定背书失败,进而可将该待共识校验区块丢弃。
可以看出,在进行背书校验的背书节点的数量满足新共识的背书节点数量的要求前提下,该共识切换后的出块节点才是对该待共识校验区块是否背书成功进行正常判断,不管判断结果如何,均是增加了出块节点进行正常出块的概率。
当进行背书校验的背书节点的数量不满足新共识的背书节点数量的要求时,该共识切换后的出块节点只会接收到少于新共识的背书节点数量的各背书节点发送的背书校验结果,虽然该共识切换后的出块节点有可能判断出该待共识校验区块背书成功,但是此时的出块节点处于异常状态的概率会增大,也就是说,区块链网络会大概率无法正常工作。可以看出,本申请可在多个节点的操作存在时间差的情况下,提高区块链网络正常工作的概率。
进一步的,在该待共识校验区块背书成功后,区块链网络可进入广播校验阶段,具体的,该共识切换后的出块节点将生成的待共识校验区块分别发送给其它节点,以使其它节点对该待共识校验区块进行广播校验。
综上所述,本申请提供的区块链网络共识预加载方法中,位于节点列表中的第一节点在接收到共识切换策略后,可在本地最新区块高度未达到预设区块高度的情况下,启动一个新共识模块,未共识切换的第一节点利用新共识模块预加载新共识机制,这样共识切换后的出块节点向未共识切换的第一节点发送生成的待共识校验区块时,未共识切换的第一节点可参与到对待共识校验区块进行背书校验的过程中。这样可使参与对待共识校验区块进行背书校验的背书节点个数满足新共识的背书节点数量的要求,提高共识切换后的出块节点进行正常出块的概率。也就是说,本申请可以在多个节点的操作存在时间差的情况下,还能提高区块网络正常工作的概率。
可选地,该方法还可以包括:未共识切换的第一节点根据待共识校验区块的广播校验结果,确定是否将待共识校验区块写入本地缓存模块中。
可以理解的是,区块链网络中的出块节点在背书成功后,可向除自身外的其它节点广播生成的区块,其它节点包括之前参与背书的背书节点。也就是说,本申请中接收该待共识校验区块的节点包括节点列表中的标识节点,即第一节点。
此处以接收该待共识校验区块的节点中的未共识切换的第一节点为维度进行说明,该待共识校验区块由共识切换后的出块节点生成。未共识切换的第一节点利用新共识模块预加载的新共识机制对该待共识校验区块进行广播校验,得到广播校验结果,是否将该待共识校验区块写入未共识切换的第一节点对应的缓存模块中由广播校验结果确定。
图4为本申请实施例提供的另一种区块链网络共识预加载方法的流程示意图。可选地,如图4所示,上述未共识切换的第一节点根据对待共识校验区块的广播校验结果,确定是否将待共识校验区块写入本地缓存模块中,包括:
S401、未共识切换的第一节点利用新共识模块预加载的新共识机制对待共识校验区块进行广播校验,得到广播校验结果。
继续以未共识切换的第一节点为维度进行说明,未共识切换的第一节点对待共识校验区块进行广播校验可分为两个广播校验阶段,第一广播校验阶段为利用新共识机制校验该待共识校验区块是否为合法区块,在该待共识校验区块为合法区块时,未共识切换的第一节点再对该待共识校验区块进行第二广播校验阶段,第二广播校验阶段为对该待共识校验区块携带的参考区块的状态哈希进行校验,进而得到广播校验结果。
示例性的,上述利用新共识机制校验该待共识校验区块是否为合法区块具体可为对该待共识校验区块的基本信息以及共识信息进行校验,确定该待共识校验区块是否为合法区块,其中,该待共识校验区块的基本信息可包括该待共识校验区块的打包时间、该待共识校验区块是否为空块等信息,该待共识校验区块的共识信息可包括该待共识校验区块是否有足够数量的背书结果等信息。需要说明的是,未共识切换的第一节点具体如何对该待共识校验区块进行第一广播校验阶段,与新共识机制相关,不同的新共识机制对应有不同的共识校验原则,第一广播校验阶段的详细校验过程此处不再进行说明,具体可参考相关描述。
可以看出,即使未共识切换的第一节点的本地最新区块高度没有达到预设区块高度,第一节点还可以使用与生成该待共识校验区块的出块节点相匹配的共识机制对该待共识校验区块进行广播校验,这样可以提高区块链网络对包含有新业务场景(如第二业务场景)的业务数据的区块进行共识校验的精确度。
S402、若广播校验结果指示广播校验成功,则未共识切换的第一节点将待共识校验区块写入本地缓存模块中。
继续来说,未共识切换的第一节点在第一广播校验阶段确定出该待共识校验区块为合法区块后,当在第二广播校验阶段确定出对该待共识校验区块携带的参考区块的状态哈希校验结果为成功时,则广播校验结果为广播校验成功,反之,广播校验结果为广播校验失败。
在广播校验结果为广播校验失败时,未共识切换的第一节点可将该待共识校验区块丢弃。在广播校验结果为广播校验成功时,未共识切换的第一节点不管当前处于异步共识场景、还是同步共识场景,都可首先将该待共识校验区块写入本地缓存模块中。
可选地,该方法还可以包括:未共识切换的第一节点启动执行模块对本地缓存模块中的待执行区块进行执行,得到待执行区块对应的执行结果,执行结果中包括区块的状态哈希,待执行区块包括待共识校验区块;未共识切换的第一节点将执行结果写入第一节点对应的本地数据库中。
可以理解的是,当区块链网络处于广播校验阶段时,进行广播校验的节点对待共识校验区块进行广播校验完成后,若广播校验结果指示广播校验成功,则进行广播校验的节点可根据区块链当前的共识校验场景(包括异步共识场景或同步共识场景)对该待共识校验区块进行对应的广播校验。
在异步场景下,进行广播校验的节点可根据待共识校验区块的第前N个区块(参考区块)的状态哈希进行广播校验,N一般大于2;在同步场景下,进行广播校验的节点可根据待共识校验区块的前一个区块(参考区块)的状态哈希进行广播校验。
若当前的共识校验场景为异步共识场景,则未共识切换的第一节点可将该待共识校验区块写入本地缓存模块的执行队列中,未共识切换的第一节点启动执行模块可按照区块高度顺序从执行队列中获取待执行区块(包括该待共识校验区块)进行执行,得到待执行区块的执行结果,该执行结果中包括该待执行区块的状态哈希,进而将该待执行区块的状态哈希存储在本地数据库中。
也就是说,未共识切换的第一节点中的执行模块经过一段时间后可能才会轮到对执行队列中的该待共识校验区块进行执行。
若当前的共识校验场景为同步共识场景中,则未共识切换的第一节点可利用其上的执行模块对缓存模块中的该待共识校验区块进行执行,将该待共识校验区块对应的执行结果写入本地数据库中。
根据上述描述可知,本地缓存模块中存储的是一些还没有经过执行的区块,而本地数据库中存储的是已经过执行的区块,即存储的是区块的执行结果。
图5为本申请实施例提供的又一种区块链网络共识预加载方法的流程示意图。可选地,如图5所示,上述未共识切换的第一节点利用新共识模块预加载的新共识机制对背书请求中携带的待共识校验区块进行背书校验,得到背书校验结果,包括:
S501、若未共识切换的第一节点利用新共识模块预加载的新共识机制对背书请求中携带的待共识校验区块校验成功,则确定未共识切换的第一节点对应的本地数据库中是否存在与待共识校验区块对应的参考区块的执行结果。
此处以区块链网络处于背书校验阶段、未共识切换的第一节点为进行背书校验的背书节点中的节点为维度进行说明,未共识切换的第一节点可以理解为未进行共识切换的标识节点。
基于此,未共识切换的第一节点在接收到进行共识切换的出块节点发送的背书请求后,可从背书请求中提取出与该共识切换的出块节点当前共识机制相关的机制信息,根据机制信息确定出块节点的当前共识机制。可以理解的是,出块节点的当前共识机制为新共识机制。基于此,未共识切换的第一节点从背书请求中提取所携带的待共识校验区块,再基于出块节点的当前共识机制对该待共识校验区块进行背书校验,未共识切换的第一节点对该待共识校验区块进行背书校验可分为两个背书校验阶段,第一背书校验阶段为未共识切换的第一节点利用其上的新共识模块预加载的新共识机制校验该待共识校验区块是否为合法区块,在该待共识校验区块为合法区块时,未共识切换的第一节点再对该待共识校验区块进行第二背书校验阶段,第二背书校验阶段为对该待共识校验区块携带的参考区块的区块状态哈希进行校验,进而得到背书校验结果。需要说明的是,第一背书校验阶段具体内容可类似与上述提到的第一广播校验阶段,不同的新共识机制对应有不同的共识校验原则,此处不再对第一背书校验阶段的具体内容进行详细说明。
在第二背书校验阶段时,未共识切换的第一节点需要对该待共识校验区块对应的参考区块的区块状态哈希进行校验,其中,该待共识校验区块对应的参考区块与当前的共识校验场景相关。若当前的共识校验场景为异步共识场景,则该参考区块为该待共识校验区块之前的第N个区块,N一般大于2,如当该待共识校验区块的区块高度为10,N为8时,该参考区块的区块高度即为2;若当前的共识校验场景为同步共识场景,则该参考区块为该待共识校验区块前一个区块,如当该待共识校验区块的区块高度为10,该参考区块的区块高度即为9。
可以理解的是,该待共识校验区块中包括有参考区块的区块信息,如参考区块的区块高度、区块状态哈希,根据上述描述可知,未共识切换的第一节点的本地数据库中保存的是已经过执行的区块,即存储的是区块的执行结果,本地缓存模块中存储的是一些还没有经过执行的区块。
基于此,未共识切换的第一节点可从该待共识校验区块从获取参考区块的区块信息,基于区块信息中的参考区块的区块高度去本地数据库中查找该参考区块的执行结果,本地数据库可能包括该参考区块的执行结果,也可能不包括该执行区块的执行结果。
S502、若是,则未共识切换的第一节点根据待共识校验区块携带的参考区块的区块状态哈希与参考区块的执行结果,得到背书校验结果。
如果未共识切换的第一节点从本地数据库中查找到该参考节点的执行结果,则从本地数据库中读取该参考区块的执行结果,并将该执行结果中包括参的考区块的区块状态哈希与该待共识校验区块携带的参考区块的区块状态哈希进行比较,若两者一致,则得到的背书校验结果为背书校验成功,若两者不一致,则得到的背书校验结果为背书校验失败。
可选地,该方法还可以包括:若否,则未共识切换的第一节点确定本地缓存模块中是否保存有与待共识校验区块对应的参考区块;在本地缓存模块中保存有参考区块时,未共识切换的第一节点从本地缓存模块中读取参考区块;未共识切换的第一节点启动执行模块对参考区块进行执行,得到参考区块对应的执行结果;未共识切换的第一节点根据待共识校验区块携带的参考区块的区块状态哈希以及参考区块的执行结果,得到背书校验结果。
继续来说,如果未共识切换的第一节点从本地数据库中没有查找到该参考节点的执行结果,那么该参考区块可能还没有被未共识切换的第一节点执行,那么未共识切换的第一节点可从本地缓存模块中查找该参考区块。如果未共识切换的第一节点从本地缓存模块中查找到该参考区块,则从该本地缓存模块中读取该参考区块,进而将该参考区块加载到执行模块中,执行模块具体可对该参考区块中的待执行的业务数据进行执行,得到该参考区块对应的执行结果,执行结果中包括该参考区块对应的区块状态哈希。
进一步的,未共识切换的第一节点将该执行结果中包括的参考区块的区块状态哈希与该待共识校验区块携带的参考区块的区块状态哈希进行比较,若两者一致,则得到的背书校验结果为背书校验成功,若两者不一致,则得到的背书校验结果为背书校验失败。
可选地,该方法还可包括:在本地缓存模块中未保存有参考区块时,未共识切换的第一节点确定背书校验结果为背书校验失败。
当未共识切换的第一节点不仅没有从本地数据库中读取到参考区块的执行结果,而且还没有从本地缓存模块中读取到参考区块时,未共识切换的第一节点直接将背书校验失败作为背书校验结果。
可以看出,本申请在背书节点数量达到新共识的背书节点数量要求的前提下,还会使每个背书节点(如第一节点)结合本地数据库、本地缓存模块更全面地对待共识校验区块进行背书校验,这样可以提高背书校验精确度。
上述实施例均是以生成该待共识校验区块的出块节点为已进行共识切换后的节点维度进行说明的。应理解的是,由于网络延迟、节点性能差异等原因,区块链网络中的出块节点可能还存在本地最新区块高度还没有达到共识切换策略中的预设区块高度的现象,即出块节点未进行共识切换。基于此,当区块链网络处于背书校验阶段、未共识切换的第一节点为进行背书校验的背书节点中的节点时,未共识切换的第一节点如何对未共识切换的出块节点生成的待共识校验区块进行背书校验可通过下述实施例进行说明。
可选地,该方法还可包括:在未共识切换的第一节点接收到未共识切换的出块节点发送的背书请求时,未共识切换的第一节点利用旧共识模块加载的旧共识机制对背书请求中携带的待共识校验区块进行背书校验,得到背书校验结果。
根据上述描述可知,未共识切换的第一节点中包括加载旧共识机制的旧共识模块、加载新共识机制的新共识模块。未共识切换的第一节点在接收到未共识切换的出块节点发送的背书请求时,可根据该背书请求中的共识信息确定该出块节点的当前共识机制,由于出块节点为未进行共识切换的节点,不参与新共识机制,所以该未共识切换的第一节点确定出的该出块节点的当前共识机制为旧共识机制,进而该未共识切换的第一节点可启动与该旧共识机制对应的旧共识模块对该待共识校验模块进行背书校验,得到背书校验结果。其中,具体的背书校验过程可参考上述类似部分描述,此处不再进行说明。
可以看出,未共识切换的第一节点虽然预加载了新共识模块,但可根据出块节点的当前共识机制,启动与该当前共识机制对应的共识模块对出块节点生成的待共识校验区块进行背书校验,这样可以保证执行慢的节点在参与新共识机制的同时,还可以继续参与旧共识机制,保证区块链网络利用各业务场景对应的共识机制对各业务场景下的业务数据进行处理。
图6为本申请实施例提供的再一种区块链网络共识预加载方法的流程示意图。可选地,如图6所示,该方法还包括:
S601、在共识切换后的第一节点接收到共识切换后的出块节点发送的背书请求时,则该共识切换后的第一节点加载新共识机制对背书请求中携带的待共识校验区块进行背书校验,得到背书校验结果。
S602、若共识切换后的出块节点根据各背书节点发送的背书校验结果确定出待共识校验区块背书成功时,则向各节点广播待共识校验区块。
可以理解的是,待一段时间后,执行较慢的第一节点的本地最新区块高度会达到共识切换策略中的预设区块高度。在第一节点的本地最新区块高度等于该预设区块高度时,第一节点可进行共识切换,如第一节点可停止启用加载旧共识机制的旧共识模块,仅启动加载新共识机制的新共识模块,也就是说,第一节点的当前共识机制为新共识机制。
基于此,第一节点可直接利用当前共识机制对共识切换后的出块节点生成的待共识校验区块进行背书校验,得到背书校验结果。第一节点对待共识校验区块进行背书校验的过程可参考上述类似部分描述,此处不再进行说明。
应理解的是,区块链网络处于背书校验阶段时的背书节点数量均为预设数量,背书节点可为节点列表中的标识节点。共识切换后的第一节点为进行背书校验的其中一个背书节点,进行背书节点可能还包括未进行共识切换的标识节点。而根据上述描述可知,未进行共识切换的标识节点中启用新共识模块,利用新共识模块预先加载新共识机制。在这种情况下,不管背书节点的本地最新区块高度是否达到预设区块高度,均会有满足新共识的背书节点数量(预设数量)要求的背书节点参与到背书校验中,这样可保证参与进行背书校验的背书节点数量满足新共识的背书节点数量要求,进而提高出块进行正常出块的概率。
举例来说,假设新共识的背书节点数量为6个,该共识切换后的出块节点接收到的背书校验结果的背书节点的数量也为6个,那么证明该共识切换后的出块节点接收到满足新共识的背书节点数量的各背书节点分别发送的背书校验结果。若出块节点判断出背书校验结果指示为背书校验成功的背书节点数量大于或预设背书节点数量阈值(如4个),那么该共识切换后的出块节点确定背书成功,即出块节点可对该待共识校验区块正常出块,反之,那么该共识切换后的出块节点确定背书失败,随之出块节点可将该待共识校验区块丢弃。在背书成功时,共识节点可将该待共识机制区块广播给区块链网络中其它节点,使其它节点后期分别对该待共识机制进行广播校验。
举例来说,假设新共识的背书节点数量为6个,该共识切换后的出块节点接收到的背书校验结果的背书节点的数量为5个,那么证明该共识切换后的出块节点没有接收到满足新共识的背书节点数量的各背书节点分别发送的背书校验结果,随后该共识切换后的出块节点无法进行背书判断的概率增大,即代表着出块节点处于异常状态的概率增大。
需要说明的是,虽然该共识切换后的出块节点接收到满足新共识的背书节点数量的各背书节点分别发送的背书校验结果这一场景时,存在背书失败的情况,但是这种情况下的共识节点接收到满足新共识的背书节点数量的各背书节点分别发送的背书校验结果,这样可以提高出块节点正常进行出块的概率,提高区块链正常工作的概率。
图7为本申请实施例提供的又一种区块链网络共识预加载方法的流程示意图。可选地,如图7所示,该方法还包括:
S701、共识切换后的第一节点加载新共识机制对待共识校验区块进行广播校验,得到广播校验结果。
S702、若广播校验结果指示广播校验成功,则共识切换后的第一节点将待共识校验区块写入本地缓存模块中。
可以理解的是,出块节点在背书成功后,随之会进入区块链网络的广播校验阶段。此处以接收该待共识校验区块的节点中的共识切换后的第一节点为维度进行说明。共识切换后的第一节点可直接加载当前共识机制(新共识机制)对待共识校验区块进行广播校验,得到广播校验结果。其中,具体广播校验内容可参考上述类似部分描述,此处不再进行说明。
广播校验结果可包括广播校验成功、广播校验失败,在对该待共识校验区块广播校验失败时,共识切换后的第一节点将该待共识校验区块丢弃;在对该待共识校验区块广播校验成功时,可将该待共识校验区块写入本地缓存模块中,供下一轮背书校验进行使用。
若区块链网络又将要对另一业务场景的业务数据进行处理时,可生成新的共识切换策略,区块链网络中的各节点可按照上述描述地方式监测各自是否满足新的共识切换策略中的共识切换条件,依次类推,按照上述描述地方式对新业务场景的业务数据进行处理。
图8为本申请实施例提供的一种区块链共识预加载装置的结构示意图。如图8所示,所述装置应用于区块链网络,所述装置包括:
接收模块801,用于区块链网络中的各节点分别接收共识切换策略;
确定模块802,用于各节点分别根据本地最新区块高度以及预设区块高度,确定是否进行共识切换;
启动模块803,用于若第一节点未共识切换,且第一节点为节点列表中的标识节点,则未共识切换的第一节点启动新共识模块,以使新共识模块预加载新共识机制;
背书模块804,用于在未共识切换的第一节点接收到共识切换后的出块节点发送的背书请求时,未共识切换的第一节点利用该新共识模块预加载新共识机制对背书请求中携带的待共识校验区块进行背书校验,得到背书校验结果;
广播模块805,用于若共识切换后的出块节点根据各背书节点发送的背书校验结果确定出待共识校验区块背书成功,则向区块链网络中的除出块节点外的其它节点广播待共识校验区块。
可选地,确定模块802,还用于未共识切换的第一节点根据对待共识校验区块的广播校验结果,确定是否将待共识校验区块写入本地缓存模块中。
可选地,确定模块802,未共识切换的第一节点利用新共识模块预加载的新共识机制对待共识校验区块进行广播校验,得到广播校验结果;若广播校验结果指示广播校验成功,则未共识切换的第一节点将待共识校验区块写入本地缓存模块中。
可选地,该装置还包括,执行模块;
该执行模块,用于未共识切换的第一节点启动执行模块对本地缓存模块中的待执行区块进行执行,得到待执行区块对应的执行结果,执行结果中包括区块的状态哈希,待执行区块包括待共识校验区块;未共识切换的第一节点将执行结果写入本地数据库中。
可选地,背书模块804,具体用于若未共识切换的第一节点利用新共识模块预加载的新共识机制对背书请求中携带的待共识校验区块校验成功,则确定未共识切换的第一节点对应的本地数据库中是否存在与待共识校验区块对应的参考区块的执行结果;若是,则未共识切换的第一节点根据待共识校验区块携带的参考区块的区块状态哈希与参考区块的执行结果,得到背书校验结果。
可选地,确定模块802,还用于若否,则未共识切换的第一节点确定本地缓存模块中是否保存有与待共识校验区块对应的参考区块;在缓存模块中保存有参考区块时,未共识切换的第一节点从本地缓存模块中读取参考区块;未共识切换的第一节点启动执行模块对参考区块进行执行,得到参考区块对应的执行结果;未共识切换的第一节点根据待共识校验区块携带的参考区块的区块状态哈希以及参考区块的执行结果,得到背书校验结果。
可选地,确定模块802,还用于在本地缓存模块中未保存有参考区块时,未共识切换的第一节点确定背书校验结果为背书校验失败。
可选地,背书模块804,还用于在未共识切换的第一节点接收到未共识切换的出块节点发送的背书请求时,未共识切换的第一节点利用旧共识模块加载的旧共识机制对背书请求中携带的待共识校验区块进行背书校验,得到背书校验结果。
可选地,背书模块804,还用于在共识切换后的第一节点接收到共识切换后的出块节点发送的背书请求时,则共识切换后的第一节点加载新共识机制对背书请求中携带的待共识校验区块进行背书校验,得到背书校验结果;若共识切换后的出块节点根据各背书节点发送的背书校验结果确定出待共识校验区块背书成功时,则向各节点广播待共识校验区块。
可选地,广播模块805,还用于共识切换后的第一节点加载新共识机制对待共识校验区块进行广播校验,得到广播校验结果;若广播校验结果指示广播校验成功,则共识切换后的第一节点将待共识校验区块写入本地缓存模块中。
上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器,或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(Central Processing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
图9为本申请实施例提供的一种电子设备的结构示意图,如图9所示,该电子设备可以包括:处理器901、存储介质902和总线903,存储介质902存储有处理器901可执行的机器可读指令,当该电子设备运行时,处理器901与存储介质902之间通过总线903通信,处理器901执行机器可读指令,以执行上述方法实施例的步骤。具体实现方式和技术效果类似,这里不再赘述。
可选地,本申请还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述方法实施例的步骤。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (13)
1.一种区块链网络共识预加载方法,其特征在于,所述方法应用于区块链网络,所述方法包括:
所述区块链网络中的各节点分别接收共识切换策略,所述共识切换策略用于指示节点在预设区块高度后进行共识切换,所述共识切换策略中包括:节点列表,所述节点列表中包括多个标识节点,各标识节点作为所述区块链网络中的背书节点、出块节点;
各节点分别根据本地最新区块高度以及所述预设区块高度,确定是否进行共识切换,所述各节点中包括第一节点;
若所述第一节点未共识切换,且所述第一节点为所述节点列表中的标识节点,则未共识切换的第一节点启动新共识模块,以使所述新共识模块预加载新共识机制;
在所述未共识切换的第一节点接收到共识切换后的出块节点发送的背书请求时,所述未共识切换的第一节点利用所述新共识模块预加载的新共识机制对所述背书请求中携带的待共识校验区块进行背书校验,得到背书校验结果,所述出块节点为所述区块链网络中除所述未共识切换的第一节点外的节点;
若所述共识切换后的出块节点根据各背书节点发送的背书校验结果确定出所述待共识校验区块背书成功,则向所述区块链网络中除出块节点外的其它节点广播所述待共识校验区块,所述各背书节点包括所述未共识切换的第一节点。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述未共识切换的第一节点根据对所述待共识校验区块的广播校验结果,确定是否将所述待共识校验区块写入本地缓存模块中。
3.根据权利要求2所述的方法,其特征在于,所述未共识切换的第一节点根据对所述待共识校验区块的广播校验结果,确定是否将所述待共识校验区块写入本地缓存模块中,包括:
所述未共识切换的第一节点利用所述新共识模块预加载的新共识机制对所述待共识校验区块进行广播校验,得到广播校验结果;
若所述广播校验结果指示广播校验成功,则所述未共识切换的第一节点将所述待共识校验区块写入本地缓存模块中。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
所述未共识切换的第一节点启动执行模块对本地缓存模块中的待执行区块进行执行,得到所述待执行区块对应的执行结果,所述执行结果中包括区块的状态哈希,所述待执行区块包括所述待共识校验区块;
所述未共识切换的第一节点将所述执行结果写入本地数据库中。
5.根据权利要求1所述的方法,其特征在于,所述未共识切换的第一节点利用所述新共识模块预加载的新共识机制对所述背书请求中携带的待共识校验区块进行背书校验,得到背书校验结果,包括:
若所述未共识切换的第一节点利用所述新共识模块预加载的新共识机制对所述背书请求中携带的待共识校验区块校验成功,则确定所述未共识切换的第一节点对应的本地数据库中是否存在与所述待共识校验区块对应的参考区块的执行结果;
若是,则所述未共识切换的第一节点根据所述待共识校验区块携带的参考区块的区块状态哈希与所述参考区块的执行结果,得到背书校验结果。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
若否,则所述未共识切换的第一节点确定本地缓存模块中是否保存有与所述待共识校验区块对应的参考区块;
在所述缓存模块中保存有所述参考区块时,所述未共识切换的第一节点从所述本地缓存模块中读取所述参考区块;
所述未共识切换的第一节点启动执行模块对所述参考区块进行执行,得到所述参考区块对应的执行结果;
所述未共识切换的第一节点根据所述待共识校验区块携带的参考区块的区块状态哈希以及所述参考区块的执行结果,得到背书校验结果。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
在所述本地缓存模块中未保存有所述参考区块时,所述未共识切换的第一节点确定背书校验结果为背书校验失败。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述未共识切换的第一节点接收到未共识切换的出块节点发送的背书请求时,所述未共识切换的第一节点利用旧共识模块加载的旧共识机制对所述背书请求中携带的待共识校验区块进行背书校验,得到背书校验结果。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在共识切换后的第一节点接收到共识切换后的出块节点发送的背书请求时,则所述共识切换后的第一节点加载所述新共识机制对所述背书请求中携带的待共识校验区块进行背书校验,得到背书校验结果;
若所述共识切换后的出块节点根据各背书节点发送的背书校验结果确定出所述待共识校验区块背书成功时,则向各节点广播所述待共识校验区块。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
所述共识切换后的第一节点加载所述新共识机制对所述待共识校验区块进行广播校验,得到广播校验结果;
若所述广播校验结果指示广播校验成功,则所述共识切换后的第一节点将所述待共识校验区块写入本地缓存模块中。
11.一种区块链共识预加载装置,其特征在于,所述装置应用于区块链网络,所述装置包括:
接收模块,用于所述区块链网络中的各节点分别接收共识切换策略,所述共识切换策略用于指示节点在预设区块高度后进行共识切换,所述共识切换策略中包括:节点列表,所述节点列表中包括多个标识节点,各标识节点作为所述区块链网络中的背书节点、出块节点;
确定模块,用于各节点分别根据本地最新区块高度以及所述预设区块高度,确定是否进行共识切换,所述各节点中包括第一节点;
启动模块,用于若所述第一节点未共识切换,且所述第一节点为所述节点列表中的标识节点,则未共识切换的第一节点启动新共识模块,以使所述新共识模块预加载新共识机制;
背书模块,用于在所述未共识切换的第一节点接收到共识切换后的出块节点发送的背书请求时,所述未共识切换的第一节点利用所述新共识模块预加载的新共识机制对所述背书请求中携带的待共识校验区块进行背书校验,得到背书校验结果,所述出块节点为所述区块链网络中除所述未共识切换的第一节点外的节点;
广播模块,用于若所述共识切换后的出块节点根据各背书节点发送的背书校验结果确定出所述待共识校验区块背书成功,则向所述区块链网络中除出块节点外的其它节点广播所述待共识校验区块,所述各背书节点包括所述未共识切换的第一节点。
12.一种电子设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当所述电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如权利要求1-10任一项所述区块链网络共识预加载方法的步骤。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1-10任一项所述区块链网络共识预加载方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210195004.4A CN114254050B (zh) | 2022-03-02 | 2022-03-02 | 区块链网络共识预加载方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210195004.4A CN114254050B (zh) | 2022-03-02 | 2022-03-02 | 区块链网络共识预加载方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114254050A true CN114254050A (zh) | 2022-03-29 |
CN114254050B CN114254050B (zh) | 2022-06-07 |
Family
ID=80797255
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210195004.4A Active CN114254050B (zh) | 2022-03-02 | 2022-03-02 | 区块链网络共识预加载方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114254050B (zh) |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180123882A1 (en) * | 2016-10-28 | 2018-05-03 | International Business Machines Corporation | Changing an existing blockchain trust configuration |
CN110365685A (zh) * | 2019-07-18 | 2019-10-22 | 恒生电子股份有限公司 | 一种数据处理方法、装置、设备及计算机可读存储介质 |
US20200125556A1 (en) * | 2019-06-05 | 2020-04-23 | Alibaba Group Holding Limited | Consensus system and method |
CN111327414A (zh) * | 2020-01-20 | 2020-06-23 | 布比(北京)网络技术有限公司 | 一种区块链共识方法、系统及计算机存储介质、电子设备 |
CN111444210A (zh) * | 2020-03-26 | 2020-07-24 | 腾讯科技(深圳)有限公司 | 区块链共识节点管理方法、装置、设备以及存储介质 |
CN111679936A (zh) * | 2020-05-26 | 2020-09-18 | 中国工商银行股份有限公司 | 一种区块链网络分叉自动恢复方法、装置及系统 |
CN112035886A (zh) * | 2020-08-31 | 2020-12-04 | 深圳前海微众银行股份有限公司 | 区块链的共识方法、装置、共识节点、系统以及存储介质 |
CN112039987A (zh) * | 2020-08-28 | 2020-12-04 | 平安科技(深圳)有限公司 | 区块链中区块的处理方法、装置、节点设备及存储介质 |
WO2020258831A1 (zh) * | 2019-06-28 | 2020-12-30 | 创新先进技术有限公司 | 用于区块链系统中的主节点切换处理的方法及装置 |
CN112650626A (zh) * | 2020-12-29 | 2021-04-13 | 杭州趣链科技有限公司 | 共识算法的切换方法、装置、电子设备及存储介质 |
CN112907369A (zh) * | 2021-02-08 | 2021-06-04 | 网易(杭州)网络有限公司 | 基于区块链的数据共识方法及装置、电子设备、存储介质 |
CN112995317A (zh) * | 2021-02-26 | 2021-06-18 | 中国工商银行股份有限公司 | 区块链共识方法及区块链节点 |
CN113342902A (zh) * | 2021-08-09 | 2021-09-03 | 腾讯科技(深圳)有限公司 | 区块链网络的数据处理方法、装置、计算机设备和介质 |
CN113395165A (zh) * | 2021-05-28 | 2021-09-14 | 网易(杭州)网络有限公司 | 共识流程处理方法、装置、存储介质及计算机设备 |
US20210374154A1 (en) * | 2020-05-27 | 2021-12-02 | Mastercard International Incorporated | Method and system for grouping of blockchain nodes for greater consensus |
WO2021244208A1 (zh) * | 2020-06-01 | 2021-12-09 | 腾讯科技(深圳)有限公司 | 区块链的提案消息处理方法、装置、设备以及存储介质 |
US20220006655A1 (en) * | 2020-07-03 | 2022-01-06 | Alipay (Hangzhou) Information Technology Co., Ltd. | Consensus method of consortium blockchain, and consortium blockchain system |
-
2022
- 2022-03-02 CN CN202210195004.4A patent/CN114254050B/zh active Active
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180123882A1 (en) * | 2016-10-28 | 2018-05-03 | International Business Machines Corporation | Changing an existing blockchain trust configuration |
US20200125556A1 (en) * | 2019-06-05 | 2020-04-23 | Alibaba Group Holding Limited | Consensus system and method |
WO2020258831A1 (zh) * | 2019-06-28 | 2020-12-30 | 创新先进技术有限公司 | 用于区块链系统中的主节点切换处理的方法及装置 |
CN110365685A (zh) * | 2019-07-18 | 2019-10-22 | 恒生电子股份有限公司 | 一种数据处理方法、装置、设备及计算机可读存储介质 |
CN111327414A (zh) * | 2020-01-20 | 2020-06-23 | 布比(北京)网络技术有限公司 | 一种区块链共识方法、系统及计算机存储介质、电子设备 |
CN111444210A (zh) * | 2020-03-26 | 2020-07-24 | 腾讯科技(深圳)有限公司 | 区块链共识节点管理方法、装置、设备以及存储介质 |
CN111679936A (zh) * | 2020-05-26 | 2020-09-18 | 中国工商银行股份有限公司 | 一种区块链网络分叉自动恢复方法、装置及系统 |
US20210374154A1 (en) * | 2020-05-27 | 2021-12-02 | Mastercard International Incorporated | Method and system for grouping of blockchain nodes for greater consensus |
WO2021244208A1 (zh) * | 2020-06-01 | 2021-12-09 | 腾讯科技(深圳)有限公司 | 区块链的提案消息处理方法、装置、设备以及存储介质 |
US20220006655A1 (en) * | 2020-07-03 | 2022-01-06 | Alipay (Hangzhou) Information Technology Co., Ltd. | Consensus method of consortium blockchain, and consortium blockchain system |
CN112039987A (zh) * | 2020-08-28 | 2020-12-04 | 平安科技(深圳)有限公司 | 区块链中区块的处理方法、装置、节点设备及存储介质 |
CN112035886A (zh) * | 2020-08-31 | 2020-12-04 | 深圳前海微众银行股份有限公司 | 区块链的共识方法、装置、共识节点、系统以及存储介质 |
CN112650626A (zh) * | 2020-12-29 | 2021-04-13 | 杭州趣链科技有限公司 | 共识算法的切换方法、装置、电子设备及存储介质 |
CN112907369A (zh) * | 2021-02-08 | 2021-06-04 | 网易(杭州)网络有限公司 | 基于区块链的数据共识方法及装置、电子设备、存储介质 |
CN112995317A (zh) * | 2021-02-26 | 2021-06-18 | 中国工商银行股份有限公司 | 区块链共识方法及区块链节点 |
CN113395165A (zh) * | 2021-05-28 | 2021-09-14 | 网易(杭州)网络有限公司 | 共识流程处理方法、装置、存储介质及计算机设备 |
CN113342902A (zh) * | 2021-08-09 | 2021-09-03 | 腾讯科技(深圳)有限公司 | 区块链网络的数据处理方法、装置、计算机设备和介质 |
Non-Patent Citations (3)
Title |
---|
WEIWEI GU ET AL.: "A Survey on Consensus Mechanisms for Blockchain Technology", 《2021 INTERNATIONAL CONFERENCE ON ARTIFICIAL INTELLIGENCE, BIG DATA AND ALGORITHMS (CAIBDA)》 * |
宋焘谊等: "区块链共识算法的比较研究", 《计算机应用与软件》 * |
钟增胜: "一种基于区块链PoS共识算法的改进研究", 《重庆工商大学学报(自然科学版)》 * |
Also Published As
Publication number | Publication date |
---|---|
CN114254050B (zh) | 2022-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107395659B (zh) | 一种业务受理及共识的方法及装置 | |
CN109831487B (zh) | 分片文件验证方法及终端设备 | |
EP3934162A1 (en) | Blockchain consensus method and device and electronic equipment | |
CN111767347B (zh) | 共识算法的切换方法、装置、节点设备及存储介质 | |
WO2023040364A1 (zh) | 共识方法、装置及区块链系统 | |
CN109413016B (zh) | 一种基于规则的报文检测方法和装置 | |
EP4198861A1 (en) | Information processing method and apparatus for blockchain network, and device and storage medium | |
CN112422320A (zh) | 服务器的主从切换方法、装置和服务器 | |
CN110048899B (zh) | 一种日志检测方法、装置、终端及服务器 | |
CN110910249B (zh) | 一种数据处理方法、装置、节点设备及存储介质 | |
CN111224782A (zh) | 基于数字签名的数据校验方法、智能设备及存储介质 | |
CN112436962B (zh) | 区块链共识网络动态扩展方法、电子设备、系统及介质 | |
CN110619022A (zh) | 基于区块链网络的节点检测方法、装置、设备及存储介质 | |
CN114254050B (zh) | 区块链网络共识预加载方法、装置、设备及存储介质 | |
CN110417833B (zh) | 基于区块链的数据处理方法、装置及存储介质 | |
CN111708763B (zh) | 分片集群的数据迁移方法、装置和分片集群系统 | |
CN111507695B (zh) | 数据处理方法、装置、节点设备及存储介质 | |
CN111092956A (zh) | 资源同步方法、装置、存储介质及设备 | |
CN111526165A (zh) | 联盟链中的共识方法和系统 | |
CN114466004A (zh) | 一种文件传输方法、系统、电子设备及存储介质 | |
CN115391342A (zh) | 数据传输方法及电子设备 | |
CN107710165B (zh) | 用于存储节点同步业务请求的方法和装置 | |
CN111694588B (zh) | 引擎升级检测方法、装置、计算机设备和可读存储介质 | |
CN112306962B (zh) | 计算机集群系统中的文件拷贝方法、装置及存储介质 | |
CN111371818B (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 |