System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 交易的执行方法、装置、计算机可读介质及电子设备制造方法及图纸_技高网

交易的执行方法、装置、计算机可读介质及电子设备制造方法及图纸

技术编号:44493505 阅读:0 留言:0更新日期:2025-03-04 17:59
本申请的实施例提供了一种区块链网络中交易的执行方法、装置、计算机可读介质及电子设备,该方法包括将待执行交易添加至区块链节点与目标智能合约对应的目标合约任务队列,区块链节点包含与各智能合约分别对应的合约任务队列;针对每个智能合约,根据对应的合约任务队列中包含的待执行交易数量,确定为智能合约启动的轻量级虚拟机的数量;针对每个智能合约,按照轻量级虚拟机的数量在区块链节点上启动包含智能合约的轻量级虚拟机,并通过轻量级虚拟机从与智能合约对应的合约任务队列中拉取并执行待执行交易,轻量级虚拟机使用的操作系统组件为独立的操作系统内核和根文件系统。本申请实施例可以增强不同交易执行时的资源隔离性,减少启动时间。

【技术实现步骤摘要】

本申请涉及区块链,具体而言,涉及一种区块链网络中交易的执行方法、装置、计算机可读介质及电子设备。


技术介绍

1、区块链的核心是智能合约技术。包括长安链和hyperledger fabric在内的联盟链都使用了智能合约技术。

2、然而,现有的智能合约在使用时存在容器启动时间长、不同智能合约之间的资源隔离性差的问题,也无法满足区块链交易的高并发需求。


技术实现思路

1、本申请的实施例提供了一种区块链网络中交易的执行方法、装置、计算机可读介质及电子设备,进而至少在一定程度上可以增强不同交易执行时的资源隔离性,减少启动时间。

2、本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。

3、根据本申请实施例的一个方面,提供了一种区块链网络中交易的执行方法,所述方法包括:根据待执行交易中包含的目标智能合约标识,将所述待执行交易添加至区块链节点上与目标智能合约对应的目标合约任务队列中,所述目标智能合约的智能合约标识为所述目标智能合约标识,所述区块链节点上包含与至少一个智能合约中的各智能合约分别对应的合约任务队列;针对所述至少一个智能合约中的每个智能合约,根据与所述智能合约对应的合约任务队列中包含的待执行交易的数量,确定需要为所述智能合约启动的轻量级虚拟机的数量;针对所述至少一个智能合约中的每个智能合约,按照需要为所述智能合约启动的轻量级虚拟机的数量在所述区块链节点上启动包含所述智能合约的轻量级虚拟机,并通过所述轻量级虚拟机从与所述智能合约对应的合约任务队列中拉取并执行待执行交易,其中,所述轻量级虚拟机使用的操作系统组件为独立的操作系统内核和根文件系统。

4、根据本申请实施例的一个方面,提供了一种区块链网络中交易的执行装置,所述装置包括:添加单元,用于根据所述待执行交易中包含的目标智能合约标识,将所述待执行交易添加至区块链节点上与目标智能合约对应的目标合约任务队列中,所述目标智能合约的智能合约标识为所述目标智能合约标识,所述区块链节点上包含与至少一个智能合约中的各智能合约分别对应的合约任务队列;数量确定单元,用于针对所述至少一个智能合约中的每个智能合约,根据与所述智能合约对应的合约任务队列中包含的待执行交易的数量,确定需要为所述智能合约启动的轻量级虚拟机的数量;启动和执行单元,用于针对所述至少一个智能合约中的每个智能合约,按照需要为所述智能合约启动的轻量级虚拟机的数量在所述区块链节点上启动包含所述智能合约的轻量级虚拟机,并通过所述轻量级虚拟机从与所述智能合约对应的合约任务队列中拉取并执行待执行交易,其中,所述轻量级虚拟机使用的操作系统组件为独立的操作系统内核和根文件系统。

5、在本申请的一些实施例中,基于前述方案,在所述区块链节点上为各智能合约启动的轻量级虚拟机的数量之和为固定值。

6、在本申请的一些实施例中,基于前述方案,所述装置还包括动态调整单元;在针对所述至少一个智能合约中的每个智能合约,按照需要为所述智能合约启动的轻量级虚拟机的数量在所述区块链节点上启动包含所述智能合约的轻量级虚拟机之后,所述动态调整单元用于:对每个智能合约分别执行轻量级虚拟机动态调整步骤,所述轻量级虚拟机动态调整步骤包括:获取与当前智能合约对应的合约任务队列的长度;根据所述合约任务队列的长度对与所述当前智能合约对应的轻量级虚拟机的数量进行调整。

7、在本申请的一些实施例中,基于前述方案,所述动态调整单元配置为:若根据所述合约任务队列的长度与长队列长度阈值的比较结果确定所述合约任务队列为长队列,则增加与所述当前智能合约对应的轻量级虚拟机的数量;若根据所述合约任务队列的长度与短队列长度阈值的比较结果确定所述合约任务队列为短队列,则减少与所述当前智能合约对应的轻量级虚拟机的数量,其中,所述长队列长度阈值大于所述短队列长度阈值。

8、在本申请的一些实施例中,基于前述方案,所述装置还包括合约任务队列创建单元;在根据待执行交易中包含的目标智能合约标识,将所述待执行交易添加至区块链节点上与目标智能合约对应的目标合约任务队列中之前,所述合约任务队列创建单元用于:若所述待执行交易为用于创建智能合约的交易,则从所述待执行交易中获取二进制文件形式的智能合约;在所述区块链节点上创建与所述二进制文件形式的智能合约对应的合约任务队列。

9、在本申请的一些实施例中,基于前述方案,所述启动和执行单元配置为:获取预先准备的内核镜像和根文件系统镜像;将所述二进制文件形式的智能合约复制到所述根文件系统镜像中,得到新的根文件系统镜像;基于所述新的根文件系统镜像和所述内核镜像启动包含所述智能合约的轻量级虚拟机。

10、在本申请的一些实施例中,基于前述方案,所述装置还包括获取单元和区块生成单元;在将所述待执行交易添加至区块链节点上与目标智能合约对应的目标合约任务队列中之前,所述获取单元用于:将接收到的交易加入交易池中;从所述交易池中获取用于产生新的区块的多个交易;每次从所述多个交易中选择一个交易,作为待执行交易,其中,确定需要为所述智能合约启动的轻量级虚拟机的数量是在将用于产生所述新的区块的所有交易添加至相应的合约任务队列的情况下进行的;在通过所述轻量级虚拟机从与所述智能合约对应的合约任务队列中拉取并执行待执行交易之后,所述区块生成单元用于:当用于产生所述新的区块的所有待执行交易执行完成时,根据用于产生所述新的区块的所有待执行交易生成新的区块。

11、在本申请的一些实施例中,基于前述方案,所述装置还包括验证单元;在将接收到的交易加入交易池中之前,所述验证单元用于:当所述区块链节点接收到客户端发来的携带有交易的交易请求,对所述交易请求进行签名验证和权限验证,其中,将接收到的交易加入交易池中是在所述交易请求通过了所述签名验证和所述权限验证的情况下进行的。

12、在本申请的一些实施例中,基于前述方案,所述装置还包括共识单元;在根据用于产生所述新的区块的所有待执行交易生成新的区块之后,所述共识单元用于:将所述新的区块发送至区块链网络中的其他区块链节点,以在所述区块链网络中进行共识;若对所述新的区块的共识通过,则在所述区块链节点中存储所述新的区块。

13、根据本申请实施例的一个方面,提供了一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述实施例中所述的区块链网络中交易的执行方法。

14、根据本申请实施例的一个方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例中所述的区块链网络中交易的执行方法。

15、根据本申请实施例的一个方面,提供了一种计算机程序产品,所述计算机程序产品包括计算机指令,所述计算机指令存储在计算机可读存储介质中,计算机设备的处理器从所述计算机可读存储介质读取所述计算机指令,所述处理器执行所述计算机指令,使得所述计算机设备执行如上本文档来自技高网...

【技术保护点】

1.一种区块链网络中交易的执行方法,其特征在于,所述方法包括:

2.根据权利要求1所述的区块链网络中交易的执行方法,其特征在于,在所述区块链节点上为各智能合约启动的轻量级虚拟机的数量之和为固定值。

3.根据权利要求1所述的区块链网络中交易的执行方法,其特征在于,在针对所述至少一个智能合约中的每个智能合约,按照需要为所述智能合约启动的轻量级虚拟机的数量在所述区块链节点上启动包含所述智能合约的轻量级虚拟机之后,所述方法还包括:

4.根据权利要求3所述的区块链网络中交易的执行方法,其特征在于,所述根据所述合约任务队列的长度对与所述当前智能合约对应的轻量级虚拟机的数量进行调整,包括:

5.根据权利要求1所述的区块链网络中交易的执行方法,其特征在于,在根据待执行交易中包含的目标智能合约标识,将所述待执行交易添加至区块链节点上与目标智能合约对应的目标合约任务队列中之前,所述方法还包括:

6.根据权利要求5所述的区块链网络中交易的执行方法,其特征在于,所述在所述区块链节点上启动包含所述智能合约的轻量级虚拟机,包括:

7.根据权利要求1所述的区块链网络中交易的执行方法,其特征在于,在将所述待执行交易添加至区块链节点上与目标智能合约对应的目标合约任务队列中之前,所述方法包括:

8.根据权利要求7所述的区块链网络中交易的执行方法,其特征在于,在将接收到的交易加入交易池中之前,所述方法还包括:

9.根据权利要求7所述的区块链网络中交易的执行方法,其特征在于,在根据用于产生所述新的区块的所有待执行交易生成新的区块之后,所述方法还包括:

10.一种区块链网络中交易的执行装置,其特征在于,所述装置包括:

11.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至9中任一项所述的区块链网络中交易的执行方法。

12.一种电子设备,其特征在于,包括:

13.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机指令,所述计算机指令存储在计算机可读存储介质中,计算机设备的处理器从所述计算机可读存储介质读取所述计算机指令,所述处理器执行所述计算机指令,使得所述计算机设备执行如权利要求1至9中任一项所述的区块链网络中交易的执行方法。

...

【技术特征摘要】

1.一种区块链网络中交易的执行方法,其特征在于,所述方法包括:

2.根据权利要求1所述的区块链网络中交易的执行方法,其特征在于,在所述区块链节点上为各智能合约启动的轻量级虚拟机的数量之和为固定值。

3.根据权利要求1所述的区块链网络中交易的执行方法,其特征在于,在针对所述至少一个智能合约中的每个智能合约,按照需要为所述智能合约启动的轻量级虚拟机的数量在所述区块链节点上启动包含所述智能合约的轻量级虚拟机之后,所述方法还包括:

4.根据权利要求3所述的区块链网络中交易的执行方法,其特征在于,所述根据所述合约任务队列的长度对与所述当前智能合约对应的轻量级虚拟机的数量进行调整,包括:

5.根据权利要求1所述的区块链网络中交易的执行方法,其特征在于,在根据待执行交易中包含的目标智能合约标识,将所述待执行交易添加至区块链节点上与目标智能合约对应的目标合约任务队列中之前,所述方法还包括:

6.根据权利要求5所述的区块链网络中交易的执行方法,其特征在于,所述在所述区块链节点上启动包含所述智能合约的轻量级虚拟机,包括:

7.根据权利要求1所述的...

【专利技术属性】
技术研发人员:卢光宏
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1