区块链区块的异步处理制造技术

技术编号:24896837 阅读:20 留言:0更新日期:2020-07-14 18:21
本文公开了用于实现基于区块链的容错系统的方法、系统和装置,包括编码在计算机存储介质上的计算机程序。方法之一包括:使用桥接设备的第一线程集从区块链网络节点检索第一区块链区块集。桥接设备将第一区块链区块集存储在桥接设备中。桥接设备使用桥接设备的第二线程集来验证存储在桥接设备中的第二区块链区块集。第一线程集与第二线程集不同。检索第一区块链区块集以及验证第二区块链区块集是使用第一线程集和第二线程集异步地执行的。

【技术实现步骤摘要】
【国外来华专利技术】区块链区块的异步处理
本文涉及区块链区块的异步处理,这可以被用于例如实现基于区块链的容错系统。
技术介绍
分布式账本(DLS),还可被称为共识网络和/或区块链网络,使参与的实体能够安全地且不可篡改地存储数据。在不引用任何特定用例的情况下,DLS通常被称为区块链网络。区块链网络的类型的示例可以包括公有区块链网络、私有区块链网络和联盟区块链网络。联盟区块链网络针对选择的实体组群提供,该实体组群控制共识处理,并且联盟区块链网络包括访问控制层。在一些用例中,区块链系统需要与第三方系统交互。期望一种桥接或桥接设备以允许第三方系统与区块链系统之间的通信。在这样的交互系统中,还期望处理用于第三方系统与区块链系统之间通信的区块链区块的吞吐量和处理效率较高,以及具有容错性以确保有序通信。
技术实现思路
所描述的主题的实施例可以单独或组合地包括一个或多个特征。例如,在一个实施例中,一种由桥接设备执行的方法,其中,桥接设备通信地链接到区块链网络中的区块链网络节点,所述方法包括:使用所述桥接设备的第一线程集从所述区块链网络节点检索第一区块链区块集;将所述第一区块链区块集存储在所述桥接设备中;以及使用所述桥接设备的第二线程集来验证存储在所述桥接设备中的第二区块链区块集;其中,所述第一线程集不同于所述第二线程集;并且检索所述第一区块链区块集以及验证所述第二区块链区块集是使用所述第一线程集和所述第二线程集异步地执行的。在一些实施例中,验证操作可以与检索操作异步地执行,例如通过发起或以其他方式执行验证操作,而无需等待检索操作完成。在一些实施例中,验证操作与检索操作异步地执行包括:在执行检索操作之前、之后执行验证操作,或二者并行执行。在一些实施例中,可以使用设备、系统、方法或计算机可读介质或设备、系统、方法和计算机可读介质的任何组合来实现这些一般和特定实施例中的一个或多个。前述和其他描述的实施例可以各自可选地包括或不包括以下实施例中的一些或全部。在一些实施例中,所述第一区块链区块集包括第一区块链区块和第二区块链区块,所述第一线程集包括第一线程和第二线程。使用所述桥接设备的所述第一线程集从所述区块链网络节点检索所述第一区块链区块集包括并行地:使用所述桥接设备的所述第一线程从所述区块链网络节点检索所述第一区块链区块,使用所述桥接设备的所述第二线程从所述区块链网络节点检索所述第二区块链区块。在一些实施例中,所述第二区块链区块集包括第三区块链区块和第四区块链区块,所述第二线程集包括第三线程和第四线程。使用所述桥接设备的所述第二线程集来验证存储在所述桥接设备中的所述第二区块链区块集并行地包括:使用所述桥接设备的所述第三线程来验证所述第三区块链区块,使用所述桥接设备的所述第四线程来验证所述第四区块链区块。在一些实施例中,所述方法还包括在所述桥接设备的数据存储中维护远程高度值和本地高度值。所述远程高度值指示存储在所述区块链网络节点上的区块链区块的数量;并且所述本地高度值指示已经从所述区块链网络节点获得并存储在所述桥接设备上的区块链区块的数量。使用所述桥接设备的所述第一线程集从所述区块链网络节点检索所述第一区块链区块集包括:所述桥接设备确定所述本地高度值是否小于所述远程高度值;以及响应于确定所述本地高度值小于所述远程高度值,从所述区块链网络节点获得未存储在所述桥接设备上的至少一个区块链区块。在一些实施例中,所述方法还包括:响应于从所述区块链网络节点获得所述至少一个区块链区块,将所述至少一个区块链区块存储在所述桥接设备上;以及所述桥接设备更新所述本地高度值。在一些实施例中,所述方法还包括:响应于确定所述本地高度值不小于所述远程高度值,限制从所述区块链网络节点获得区块链区块。在一些实施例中,所述方法还包括:所述桥接设备从所述区块链网络节点接收通知,所述通知指示所述远程高度值;所述桥接设备从客户端设备接收交易请求,所述交易请求用于请求在区块链网络上执行交易;所述桥接设备将所述交易请求发送至所述区块链网络节点;以及所述桥接设备从所述区块链网络节点接收第二通知,所述第二通知指示更新的远程高度值,其中,所述更新的远程高度值指示至少部分地基于所述交易存储在所述区块链网络节点上的区块链区块的数量的增加。在一些实施例中,所述通知包括指示新区块已经被添加到所述区块链网络的区块链中的新区块通知,并且所述新区块通知指示所述远程高度值增加。在一些实施例中,所述桥接设备从所述区块链网络节点接收所述通知包括以下中的至少一个:接收所述区块链网络节点推送至所述桥接设备的所述通知;或所述桥接设备从所述区块链网络节点提取所述通知。在一些实施例中,所述方法还包括:在所述桥接设备的数据存储中维护本地高度值和校验高度值。所述本地高度值指示已经从所述区块链网络节点获得并存储在所述桥接设备上的区块链区块的数量;并且所述校验高度值指示已经由所述桥接设备验证的区块链区块的数量。使用所述桥接设备的所述第二线程集来验证存储在所述桥接设备中的所述第二区块链区块集包括:确定所述校验高度值是否小于所述本地高度值;以及响应于确定所述校验高度值小于所述本地高度值,验证存储在所述桥接设备中并且尚未由所述桥接设备验证的区块链区块。在一些实施例中,验证存储在所述桥接设备中并且尚未由所述桥接设备验证的所述区块链区块包括:确定所述区块链区块中的一个或多个区块链交易与交易请求之间的一致性。在一些实施例中,所述方法还包括:响应于验证了存储在所述桥接设备上并且尚未由所述桥接设备验证的所述区块链区块,确定所述区块链区块是可信的;以及所述桥接设备更新所述校验高度值。在一些实施例中,所述方法还包括:响应于确定所述校验高度值不小于所述本地高度值,限制验证存储在所述桥接设备中的区块链区块。在一些实施例中,所述方法还包括:所述桥接设备检测包括所述桥接设备和所述区块链网络节点的系统中的系统错误;以及响应于检测到所述系统错误,基于所述校验高度值执行恢复处理。执行所述恢复处理包括:将所述本地高度值设置为等于所述校验高度值;以及响应于确定所述本地高度值小于指示存储在所述区块链网络节点上的区块链区块的数量的远程高度值,从所述区块链网络节点获得未存储在所述桥接设备上的至少一个区块链区块。应当理解的是,根据本文的方法可包括本文描述的实施例和特征的任何组合。也就是说,根据本文的方法不限于本文具体描述的实施例和特征的组合,还包括所提供的实施例和特征的任何组合。在附图和以下描述中阐述了本文的一个或多个实施例的细节。根据说明书和附图以及权利要求,本文的其他特征和优点将显现。附图说明图1是示出可用于执行本文实施例的环境的示例的示图。图2是示出根据本文实施例的架构的示例的示图。图3是示出根据本文实施例的基于区块链的容错系统的示例的示图。图4是示出根据本文实施例的存储在图3的基于区块链的容错系统中的游标值的示例的示图。图5是示出可根据本文实施例执行的处理的示例的信号流。图6A是示出可根据本文实施例执行本文档来自技高网...

【技术保护点】
1.一种计算机实现的由桥接设备执行的方法,其中,所述桥接设备通信地链接到区块链网络中的区块链网络节点,所述方法包括:/n使用所述桥接设备的第一线程集从所述区块链网络节点检索第一区块链区块集;/n将所述第一区块链区块集存储在所述桥接设备中;以及/n使用所述桥接设备的第二线程集来验证存储在所述桥接设备中的第二区块链区块集;/n其中,检索所述第一区块链区块集以及验证所述第二区块链区块集是使用所述第一线程集和所述第二线程集异步地执行的。/n

【技术特征摘要】
【国外来华专利技术】1.一种计算机实现的由桥接设备执行的方法,其中,所述桥接设备通信地链接到区块链网络中的区块链网络节点,所述方法包括:
使用所述桥接设备的第一线程集从所述区块链网络节点检索第一区块链区块集;
将所述第一区块链区块集存储在所述桥接设备中;以及
使用所述桥接设备的第二线程集来验证存储在所述桥接设备中的第二区块链区块集;
其中,检索所述第一区块链区块集以及验证所述第二区块链区块集是使用所述第一线程集和所述第二线程集异步地执行的。


2.如权利要求1所述的方法,其中,
所述第一区块链区块集包括第一区块链区块和第二区块链区块,
所述第一线程集包括第一线程和第二线程,
使用所述桥接设备的所述第一线程集从所述区块链网络节点检索所述第一区块链区块集包括并行地:
使用所述桥接设备的所述第一线程从所述区块链网络节点检索所述第一区块链区块,
使用所述桥接设备的所述第二线程从所述区块链网络节点检索所述第二区块链区块。


3.如前述任一项权利要求所述的方法,其中,
所述第二区块链区块集包括第三区块链区块和第四区块链区块,
所述第二线程集包括第三线程和第四线程,
使用所述桥接设备的所述第二线程集来验证存储在所述桥接设备中的所述第二区块链区块集包括并行地:
使用所述桥接设备的所述第三线程来验证所述第三区块链区块,
使用所述桥接设备的所述第四线程来验证所述第四区块链区块。


4.如前述任一项权利要求所述的方法,还包括:
在所述桥接设备的数据存储中维护远程高度值和本地高度值,其中:
所述远程高度值指示存储在所述区块链网络节点上的区块链区块的数量;以及
所述本地高度值指示已经从所述区块链网络节点获得并且存储在所述桥接设备上的区块链区块的数量,
其中,使用所述桥接设备的所述第一线程集从所述区块链网络节点检索所述第一区块链区块集包括:
所述桥接设备确定所述本地高度值是否小于所述远程高度值;以及
响应于确定所述本地高度值小于所述远程高度值,从所述区块链网络节点获得未存储在所述桥接设备上的至少一个区块链区块。


5.如权利要求4所述的方法,还包括:
响应于从所述区块链网络节点获得所述至少一个区块链区块,将所述至少一个区块链区块存储在所述桥接设备上;以及
所述桥接设备更新所述本地高度值。


6.如权利要求4或5所述的方法,还包括:
响应于确定所述本地高度值不小于所述远程高度值,限制从所述区块链网络节点获得区块链区块。


7.如权利要求4至6中任一项所述的方法,还包括:
所述桥接设备从所述区块链网络节点接收通知,所述通知指示所述远程高度值;
所述桥接设备从客户端设备接收交易请求,所述交易请求用于请求在区块链网络上执行交易;
所述桥接设备将所述交易请求发送至所述区块链网络节点;以及
所述桥接设备从所述区块链网络节点接收第二通知,所述第二通知指示更新的...

【专利技术属性】
技术研发人员:王吉元闫雪冰
申请(专利权)人:支付宝杭州信息技术有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1