区块链交易处理系统和方法技术方案

技术编号:30217454 阅读:19 留言:0更新日期:2021-09-29 09:33
本文公开了用于处理区块链交易的方法、系统和装置,包括编码在计算机存储介质上的计算机程序。用于处理区块链交易的方法包括接收要由区块链节点执行的多个区块链交易。基于多个区块链交易是CPU绑定的还是I/O绑定的,区块链节点分配一个或多个线程和一个或多个协程,以处理多个块链交易。区块链节点使用一个或多个线程和一个或多个协程来执行多个区块链交易,生成包括多个区块链交易的区块链区块,并且将区块链区块添加到区块链中。区块链区块添加到区块链中。区块链区块添加到区块链中。

【技术实现步骤摘要】
【国外来华专利技术】区块链交易处理系统和方法


[0001]本文涉及处理区块链交易。

技术介绍

[0002]随着区块链技术的快速发展,区块链技术的应用或服务场景不断扩展,例如,在司法认证、可追溯性、发票、供应链金融等方面。各种区块链服务生成的数据量也在快速增长。大规模区块链数据(例如,针对大规模账户生成的数据、针对单个账户的大量状态数据、以及针对单个区块链的大量区块数据)的处理和存储需要大量的计算机资源,例如运算/计算资源、存储资源和网络资源。此外,数据规模的增长,尤其是在区块链系统已长期运行之后,进一步增加了对计算资源的需求。
[0003]这样,需要一种更有效的处理区块链数据和处理区块链交易的方式,以满足各种区块链应用不断增长的需求。

技术实现思路

[0004]主题所描述的实施例可以单独地或组合地包括一个或多个特征。
[0005]例如,在一个实施例中,一种用于处理区块链交易的方法包括接收要由区块链节点执行的多个区块链交易。所述区块链节点确定所述多个区块链交易是CPU绑定的还是I/O绑定的。基于所述多个区块链交易是CPU绑定的或I/O绑定的,所述区块链节点进一步分配一个或多个线程以用于并行处理所述多个区块链交易以及分配一个或多个协程以用于异步地处理所述多个区块链交易。所述区块链节点使用所分配的一个或多个线程和一个或多个协程来执行所述多个区块链交易,生成包括所述多个区块链交易的区块链区块,以及将所述区块链区块添加到区块链中。
[0006]在一些实施例中,这些一般和具体方面可以使用系统、方法或计算机程序或系统、方法和计算机程序的任何组合来实现。前述和其他描述的实施例可各自可选地包括以下方面中的一个或多个。
[0007]在一些实施例中,分配所述区块链节点的一个或多个线程和所述区块链节点的一个或多个协程,以处理所述多个区块链交易,包括:响应于确定所述多个区块链交易是I/O绑定的,确定用于并行处理所述多个区块链交易的第一数量的线程;或响应于确定所述多个区块链交易是CPU绑定的,确定用于并行处理所述多个区块链交易的第二数量的线程,其中,所述第一数量的线程等于或少于所述第二数量的线程,并且所述第一数量的线程在接收所述多个区块链交易之前被预先配置。
[0008]在一些实施例中,分配所述区块链节点的一个或多个线程和所述区块链节点的一个或多个协程,以处理所述多个区块链交易,包括:响应于确定所述多个区块链交易是I/O绑定的,确定用于异步地处理所述多个区块链交易的第三数量的协程;或响应于确定所述多个区块链交易是CPU绑定的,确定用于异步地处理所述多个区块链交易的第四数量的协程,其中,所述第四数量的协程少于所述第三数量的协程。
[0009]在一些实施例中,确定所述多个区块链交易是CPU绑定的还是I/O绑定的包括:基于所述多个区块链交易中的至少一个的交易类型来确定所述多个区块链交易是CPU绑定的还是I/O绑定的。
[0010]在一些实施例中,所述交易类型包括资产转移交易、账户查询交易、验证和提交交易、证书存储交易、原生智能合约交易、加密交易、TEE可信执行环境交易、WASM网络组装交易或EVM以太虚拟机交易。
[0011]在一些实施例中,基于所述多个区块链交易中的至少一个的交易类型来确定所述多个区块链交易是CPU绑定的还是I/O绑定的,包括:基于所述交易类型的先前区块链交易的统计计算资源利用记录,确定所述多个区块链交易中的所述至少一个是CPU绑定的还是I/O绑定的。
[0012]在一些实施例中,基于所述多个区块链交易中的一个的交易类型来确定所述多个区块链交易是CPU绑定的还是I/O绑定的,包括:响应于确定所述多个区块链交易中I/O绑定的交易的总数超过第一阈值,由所述区块链节点确定所述多个区块链交易是I/O绑定的。
[0013]在一些实施例中,由所述区块链节点基于所述多个区块链交易中的一个的交易类型来确定所述多个区块链交易是CPU绑定的还是I/O绑定的,包括:响应于确定所述多个区块链交易中CPU绑定的交易的总数超过第二阈值,由所述区块链节点确定所述多个区块链交易是CPU绑定的。
[0014]在一些实施例中,所述区块链节点包括总数量的线程,所述总数量的线程的子集专用于所述存储系统,并且,所述第一数量的线程不来自所述总数量的线程的所述子集。
[0015]在一些实施例中,所述方法还包括:获得所述区块链节点的、用于执行所述多个区块链交易的计算资源的利用数据;分析所述利用数据;以及基于所述分析来更新用于确定接下来的多个区块链交易是CPU绑定的还是I/O绑定的标准。
[0016]在一些实施例中,更新用于确定接下来的多个区块链交易是CPU绑定的还是I/O绑定的标准包括以下中的一个或多个:将新类型的区块链交易指定为CPU绑定的或I/O绑定的;将现有类型的区块链交易的分类从CPU绑定的改变为I/O绑定的或者从I/O绑定的改变为CPU绑定的;或更新确定所述接下来的多个区块链交易是CPU绑定的还是I/O绑定的阈值。
[0017]应当理解的是,根据本文所述的方法可以包括本文描述的各个方面和特征的任何组合。即,根据本文所述的方法不限于本文具体描述的各个方面和特征的组合,而是还包括所提供的各个方面和特征的任何组合。
[0018]本文的一个或多个实施例的细节将在说明书附图和以下描述中阐述。本文的其它特征和优点通过说明书和附图以及权利要求书将显现。
附图说明
[0019]图1是示出可用于执行本文实施例的环境的示例的图。
[0020]图2是示出根据本文实施例的架构的示例的图。
[0021]图3是示出根据本文实施例的用于处理区块链交易的系统的示例的图。
[0022]图4是示出根据本文实施例的存储内核的示例的图。
[0023]图5是示出可以根据本文实施例执行的用于处理区块链交易的过程的示例的图。
[0024]图6是示出可以根据本文实施例执行的用于访问存储在存储系统中的区块链数据
的过程的示例的图。
[0025]图7是示出可以根据本文实施例执行的处理区块链交易的过程的示例的流程图。
[0026]图8是示出可以根据本文实施例执行的处理区块链交易的过程的示例的流程图。
[0027]图9是示出根据本文实施例的装置的模块的示例的图。
[0028]在各个附图中相同的附图标记和名称表示相同的元件。
具体实施方式
[0029]本文描述了用于处理区块链交易的技术。区块链交易(也简称为交易)可以包括要由区块链网络中的区块链节点执行的数据、指令或操作。区块链交易可以例如由客户端设备或区块链网络的参与系统生成。区块链节点可以接收区块链交易,对区块链交易执行共识处理,并在达成共识后,通过将区块链交易保存到区块链区块中以进行持久存储来发布区块链交易。处理区块链交易可能需要大量的运算资源,包括计算资源(例如,中央处理单元(CPU)资源)和输入/输出(I/O)资源(例如,存储资源和网络资源),尤其是随着区块链系统的规模增加、本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种计算机实现的用于由区块链网络的区块链节点处理区块链交易的方法,所述方法包括:接收要由所述区块链节点执行的多个区块链交易,其中,所述区块链节点与在区块链中存储区块链数据的存储系统关联;由所述区块链节点确定所述多个区块链交易是CPU绑定的还是I/O绑定的;基于所述多个区块链交易是CPU绑定的或I/O绑定的,分配所述区块链节点的一个或多个线程和所述区块链节点的一个或多个协程,以处理所述多个块链交易;由所述区块链节点使用所分配的一个或多个线程和一个或多个协程来执行所述多个区块链交易;在执行所述多个区块链交易之后,生成包括所述多个区块链交易的区块链区块;以及将所述区块链区块添加到与所述区块链节点关联的所述存储系统内的区块链中。2.根据权利要求1所述的计算机实现的方法,其中,基于所述多个区块链交易是CPU绑定的或I/O绑定的,分配所述区块链节点的一个或多个线程和所述区块链节点的一个或多个协程,以处理所述多个块链交易,包括:响应于确定所述多个区块链交易是I/O绑定的,确定用于并行处理所述多个区块链交易的第一数量的线程;或响应于确定所述多个区块链交易是CPU绑定的,确定用于并行处理所述多个区块链交易的第二数量的线程,其中,所述第一数量的线程等于或少于所述第二数量的线程,并且所述第一数量的线程在接收所述多个区块链交易之前被预先配置。3.根据前述任一项权利要求所述的计算机实现的方法,其中,基于所述多个区块链交易是CPU绑定的或I/O绑定的,分配所述区块链节点的一个或多个线程和所述区块链节点的一个或多个协程,以处理所述多个区块链交易,包括:响应于确定所述多个区块链交易是I/O绑定的,确定用于异步地处理所述多个区块链交易的第三数量的协程;或响应于确定所述多个区块链交易是CPU绑定的,确定用于异步地处理所述多个区块链交易的第四数量的协程,其中,所述第四数量的协程少于所述第三数量的协程。4.根据前述任一项权利要求所述的计算机实现的方法,其中,确定所述多个区块链交易是CPU绑定的还是I/O绑定的,包括:基于所述多个区块链交易中的至少一个的交易类型来确定所述多个区块链交易是CPU绑定的还是I/O绑定的。5.根据权利要求...

【专利技术属性】
技术研发人员:田世坤
申请(专利权)人:支付宝杭州信息技术有限公司
类型:发明
国别省市:

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

1