【技术实现步骤摘要】
区块链数据处理方法、装置、设备及计算机可读存储介质
[0001]本申请涉及区块链
,具体涉及一种区块链数据处理方法、装置、设备和计算机可读存储介质。
技术介绍
[0002]智能合约是一种运行在区块链上的计算机程序,它可以自动执行合同条款并验证其执行结果,从而实现去中心化的信任和执行。
[0003]相关技术中,在每个区块链节点内,每创建一个智能合约都需要相应创建对应的虚拟机用来存储该智能合约的相关信息,例如合约地址、合约代码和一些其它元数据等,并且智能合约的具体执行也是通过虚拟机来完成。虚拟机在执行合约代码时需要消耗区块链节点较多的计算和存储资源,当区块链节点创建的智能合约过多时,需要相应创建大量的虚拟机,占用了大量的节点资源,若这些虚拟机同时执行智能合约,容易导致区块链节点的处理压力过大引发卡顿甚至宕机问题,若区块链节点无法及时执行完大量的智能合约,还会造成区块链网络拥堵,影响区块链网络的性能。
[0004]因此,如何提高区块链节点内的智能合约执行的效率是亟待解决的问题。
技术实现思路
[0005]为解决上述技术问题,本申请的实施例提供了一种区块链数据处理方法、装置、设备以及计算机可读存储介质,可以提高区块链数据处理的效率。
[0006]其中,本申请所采用的技术方案为:在本申请的一个实施例中,提供了一种区块链数据处理方法,包括:创建智能合约对应的合约虚拟机以及共享虚拟机;当所述合约虚拟机接收到针对所述智能合约的调用请求时,向所述共享虚拟机发送合约操作信息;在所述共享虚拟机 ...
【技术保护点】
【技术特征摘要】
1.一种区块链数据处理方法,其特征在于,包括:创建智能合约对应的合约虚拟机以及共享虚拟机;当所述合约虚拟机接收到针对所述智能合约的调用请求时,向所述共享虚拟机发送合约操作信息;在所述共享虚拟机中响应于所述合约操作信息,对所述智能合约的合约代码执行运行处理,得到合约运行结果,并将所述合约运行结果返回至所述合约虚拟机。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:若检测到专用于执行所述智能合约的共享虚拟机,则当所述合约虚拟机接收到针对所述智能合约的调用请求时,向所述共享虚拟机发送合约操作信息;在所述共享虚拟机中响应于所述合约操作信息,对所述智能合约的合约代码执行运行处理,得到合约运行结果,并将所述合约运行结果返回至所述合约虚拟机。3.根据权利要求1或2所述的方法,其特征在于,所述在所述共享虚拟机中响应于所述合约操作信息,对所述智能合约的合约代码执行运行处理,得到合约运行结果,并将所述合约运行结果返回至所述合约虚拟机,包括:在所述共享虚拟机中并发接收多个合约虚拟机分别发送的合约操作信息;基于接收到的多个合约操作信息确定同一合约代码存储地址,并基于所述合约代码存储地址获取对应的合约代码;基于所述多个合约操作信息并发运行所述合约代码,得到多个合约运行结果,并向所述多个合约虚拟机返回相应的合约运行结果。4.根据权利要求3所述的方法,其特征在于,所述基于所述多个合约操作信息并发运行所述合约代码,得到多个合约运行结果,包括:基于所述合约虚拟机的数量和预设线程数量,在共享虚拟机的运行进程中对用于运行所述合约代码的多个线程进行协程的分配;利用所述运行进程中包含的多个线程,基于多个合约操作信息对所述合约代码进行并发运行处理,得到各个合约操作信息所分别对应的合约运行结果。5.根据权利要求4所述的方法,其特征在于,所述基于所述合约虚拟机的数量和预设线程数量,在所述共享虚拟机的运行进程中对用于运行所述合约代码的多个线程进行协程的分配,包括:基于所述多个合约虚拟机并发合约操作信息的数量确定出并发量等级;基于所述并发量等级,在所述运行进程中对所述预设线程数量的线程进行协程的分配。6.根据权利要求5所述的方法,其特征在于,所述基于所述并发量等级,在所述运行进程中对所述预设线程数量的线程进行协程的分配,包括:若所述并发量等级为第一预设并发量等级,则直接分配所述预设线程数量的线程用于所述合约代码的并发运行处理。7.根据权利要求6所述的方法,其特征在于,所述基于所述并发量等级,在所述运行进程中对所述预设线程数量的线程进行协程的分配,包括:若所述并发量等级表征为第二预设并发量等级,则对所述预设线程数量的线程中的部分线程分别分配第一数量的协程;其中,所述第二预设并发量等级所表征的并发量大于所
述第一预设并发量等级所表征的并发量。8.根据权利要求7所述的方法,其特征在于,所述基于所述并发量等级,在所述运行进程中对所述预设线程数量的线程进行协程的分配,包括:若所述并发量等级表征为第三预设并发量等级,则基于所述合约虚拟机的数量和所述预设线程数量确定在各个线程中配置的协程对应的第二数量;在各个线程中分别分配所述第二数量的协程。9.根据权利要求4所述的方法,其特征在于,所述利用...
【专利技术属性】
技术研发人员:张凤双,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。