区块链的智能合约交易处理方法、装置制造方法及图纸

技术编号:31157308 阅读:24 留言:0更新日期:2021-12-04 09:54
本申请提出一种区块链的智能合约交易处理方法、装置,具体实现方案为:从待入链的交易中提取待执行的多笔合约交易;根据预设的交易执行方式判定条件,判断所述多笔合约交易是否满足并行执行条件;根据判断结果,采用与所述判断结果对应的交易执行方式预执行每笔所述合约交易,形成所述区块链的候选区块;在区块链共识从节点对所述候选区块采用与预执行相同的交易执行方式进行验证且验证通过后,执行所述多笔合约交易。本申请实现合约交易执行方式的自适应可动态切换,提升智能合约交易整体执行效率,提高区块的打包和校验速度。提高区块的打包和校验速度。提高区块的打包和校验速度。

【技术实现步骤摘要】
区块链的智能合约交易处理方法、装置


[0001]本申请涉及区块链
,尤其涉及一种区块链的智能合约交易处理方法、装置。

技术介绍

[0002]区块链是一个信息
的术语。从本质上讲,它是一个共享数据库,存储于其中的数据或信息,具有“不可伪造”“全程留痕”“可以追溯”“公开透明”“集体维护”等特征。基于这些特征,区块链技术奠定了坚实的“信任”基础,创造了可靠的“合作”机制,具有广阔的运用前景。

技术实现思路

[0003]本申请提供了一种区块链的智能合约交易处理方法、装置。
[0004]根据本申请的第一方面,提供了一种区块链的智能合约交易处理方法,包括;从待入链的交易中提取待执行的多笔合约交易;根据预设的交易执行方式判定条件,判断多笔合约交易是否满足并行执行条件;根据判断结果,采用与判断结果对应的交易执行方式预执行每笔合约交易,形成区块链的候选区块;在区块链共识从节点对候选区块采用与预执行相同的交易执行方式进行验证且验证通过后,执行多笔合约交易。
[0005]根据本申请的第二方面,提供了一种区块链的智能合约交易处理装置,包括:提取模块,用于从待入链的交易中提取待执行的多笔合约交易;判断模块,用于根据预设的交易执行方式判定条件,判断多笔合约交易是否满足并行执行条件;预执行模块,用于根据判断结果,采用与判断结果对应的合约交易执行方式预执行每笔合约交易,形成区块链的候选区块;执行模块,用于在区块链共识从节点对候选区块采用与预执行相同的交易执行方式进行验证且验证通过后,执行多笔合约交易。<br/>[0006]根据本申请的第三方面,提供了一种计算机设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时,实现如第一方面的方法。
[0007]根据本申请的第四方面,提供了一种非临时性计算机可读存储介质:其上存储有计算机程序,该程序被处理器执行时实现如第一方面的方法。
[0008]根据本申请的技术方案,通过预设交易执行方式判定条件,节点根据预设判定条件下的判定结果,自适应选取串行或者并行执行方式处理合约交易,实现合约交易执行方式的自适应可动态切换,从而提升智能合约交易整体执行效率,提高区块的打包和校验速度。
[0009]本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
[0010]本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:图1为本申请实施例提供的一种区块链智能合约交易处理方法的流程图;图2为本申请实施例提供的从节点验证候选区块的结构示意图;图3为本申请实施例提供的从节点验证候选区块方法的流程图;图4为本申请实施例提供的以区块产生时间作为判定条件的交易执行方式判断流程图;图5为本申请实施例提供的以交易并行度作为判定条件的交易执行方式判断流程图;图6为本申请实施例提供的以区块产生时间和交易并行度作为判定条件的交易执行方式判断流程图;图7为本申请实施例提供的一种区块链的智能合约交易处理装置的结构框图;图8为本申请实施例提供的一种计算机设备的框图。
具体实施方式
[0011]下面详细描述本申请的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
[0012]需要说明的是,区块链中智能合约交易可分为串行和并行这两种交易执行方式。其中,交易串行执行,即节点对每批交易中的多笔交易逐一执行,当区块中交易耦合度较高时,对交易采取串行执行的方式执行效率较高。交易并行执行,即节点对每批交易采取所有交易同步并行执行方式进行,适用于区块中交易耦合度较低的场景,此时采用并行执行方式,可以加速区块的打包和校验速度,可解决在区块中交易预执行时,采用串行执行方式导致的区块打包和校验速度较低及用户使用体验较差等问题。然而,两种方法不能进行自适应交易执行,智能合约交易执行效率较低,区块的打包和校验速度较慢。
[0013]基于以上问题,本申请提出了一种区块链的智能合约交易处理方法、装置。具体的,下面参考附图描述本申请实施例的区块链智能合约交易处理方法。
[0014]在描述本申请实施例的区块链智能合约交易处理方法之前,首先,对本文所提到的术语或概念进行定义与说明。
[0015]交易:对区块链智能合约的一次调用,包含调用智能合约的全部信息:智能合约名称、调用函数名称、参数等。
[0016]自适应交易执行:根据交易关联性,通过预设合约交易执行方式判定条件,基于判定结果,节点自适应可动态切换选取串行或并行执行的合约执行方式预执行当前一批交易,并采用同样的方式完成交易校验的一种合约交易执行方式。
[0017]图1为本申请实施例提供的一种区块链智能合约交易处理方法的流程图。如图1所
示,该区块链智能合约交易处理方法包括步骤101—104:步骤101,从待入链的交易中提取待执行的多笔合约交易。
[0018]其中,交易是对区块链智能合约的一次调用,包含调用智能合约的全部信息:智能合约名称、调用函数名称、参数等。在区块链中,任何操作(部署合约、调用合约接口等)都是通过发送交易的方式进行。交易由用户发起,并通过客户端发送至区块链节点。区块链节点在收到交易后,会将交易打包为区块并执行。
[0019]步骤102,根据预设的交易执行方式判定条件,判断多笔合约交易是否满足并行执行条件。
[0020]其中,预设的交易执行方式判定条件可以包括:根据时间判定、根据交易并行度判定、根据指定合约类型判定或上述规则的组合。可以理解,上述给出的该交易执行方式判定条件所包含的内容,仅是为了方便本领域技术人员的理解,并不能够作为对该交易执行方式判定条件的具体限定,也就是说,该交易执行方式判定条件还可包括其他条件。
[0021]在本步骤中,可根据实际情况来选定对应的交易执行方式判定条件,基于该交易执行方式判定条件来判断多笔合约交易是否满足并行执行条件。
[0022]需要说明的是,在本申请实施例中,根据时间进行交易执行方式判定是指根据区块产生时间的长短进行判断,例如,可根据产生预设数量的区块所需的总时间与预设的时间阈值进行大小比较。
[0023]根据交易并行度进行交易执行方式判定是指根据并行度与预设阈值进行大小比较。其中,交易并行度的计算需要通过预设交易并行度计算规则或者算法,阈值的计算规则需要通过预设执行方式切换阈值规则或者算法。
[0024]根据指定合约类型进行交易执行方式判定,可理解为指定某类型的合约固定采用某种交易执行方式。
[0025]步骤103,根据判断结果,采用与判断结果对应的合约交易执行方式预执行每笔合约交易,形成区块链的候选区块。
[0026]在一种实现方式中,响应于多笔合约交易满足并行执行条件,采用并行合约交易执行方式预执行本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种区块链的智能合约交易处理方法,其特征在于,包括:从待入链的交易中提取待执行的多笔合约交易;根据预设的交易执行方式判定条件,判断所述多笔合约交易是否满足并行执行条件;根据判断结果,采用与所述判断结果对应的交易执行方式预执行每笔所述合约交易,形成所述区块链的候选区块;在区块链共识从节点对所述候选区块采用与预执行相同的交易执行方式进行验证且验证通过后,执行所述多笔合约交易。2.如权利要求1所述的方法,其特征在于,所述根据判断结果,采用与所述判断结果对应的合约交易执行方式预执行每笔所述合约交易,形成所述区块链的候选区块,包括:响应于所述多笔合约交易满足所述并行执行条件,采用并行合约交易执行方式预执行每笔所述合约交易,形成所述区块链的候选区块;响应于所述多笔合约交易未满足所述并行执行条件,采用串行合约交易执行方式预执行每笔所述合约交易,形成所述区块链的候选区块。3.根据权利要求1或2所述的方法,其特征在于,所述区块链共识从节点对所述候选区块验证,包括:所述区块链共识从节点获取所述判断结果;所述区块链共识从节点根据所述判断结果,采用相同的合约交易执行方式对所述候选区块进行验证。4.根据权利要求1或2所述的方法,其特征在于,所述交易执行方式判定条件为根据区块产生时间而设定的判定条件;其中,所述根据预设的交易执行方式判定条件,判断所述多笔合约交易是否满足并行执行条件,包括:确定产生预设数量的区块所需的总时间;判断所述总时间是否满足第一条件;其中,所述第一条件包括产生预设数量的区块所需的总时间大于或等于预设时间阈值,或者,产生预设数量的区块所需的总时间大于预设时间阈值;响应于所述总时间满足第一条件,判定所述多笔合约交易未满足所述并行执行条件;响应于所述总时间未满足所述第一条件,判定所述多笔合约交易满足所述并行执行条件。5.根据权利要求1或2所述的方法,其特征在于,所述交易执行方式判定条件为根据合约交易并行度而设定的判定条件;其中,所述根据预设的交易执行方式判定条件,判断所述多笔合约交易是否满足并行执行条件,包括:确定所述多笔合约交易的并行度;响应于所述并行度满足第二条件,判定所述多笔合约交易满足所述并行执行条件;其中,所述第二条件包括并行度小于或等于预设阈值,或者,并行度小于预设阈值;响应于所述并行度未满足所述第二条件,判定所述多笔合约交易未满足所述并行执行条件。6.根据权利要求1或2所述的方法,其特征在于,所述交易执行方式判定条件为根据区块产生时间和合约交易并行度而设定的判定条件;其中,所述根据预设的交易执行方式判定条件,判断所述多笔合约交易是否满足并行执行条件,包括:
确定产生预设数量的区块所需的总时间;确定所述多笔合约交易的并行度;响应于所述总时间满足第一条件,且所述并行度未满足第二条件,判定所述多笔合约交易未满足所述并行执行条件;响应于所述总时间未满足所述第一条件,且所述并行度满足所述第二条件,判定所述多笔合约交易满足所述并行执行条件。7.根据权利要求1或2所述的方法,其特征在于,所述交易执行方式判定条件包括合约类型指定信息;其中,所述根据预设的交易执行方式判定条件,判断所述多笔合约交易是否满足并行执行条件,包括:根据所述合约类型指定信息,确定与所述合约类型指定信息匹配的交易执行方式;其中,所述根据判断结果,采用与所述判断结果对...

【专利技术属性】
技术研发人员:ꢀ七四专利代理机构
申请(专利权)人:北京微芯感知科技有限公司
类型:发明
国别省市:

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

1