【技术实现步骤摘要】
区块链交易处理方法、装置、计算机设备和存储介质
[0001]本申请涉及计算机
,特别是涉及一种区块链交易处理方法
、
装置
、
计算机设备
、
计算机可读存储介质和计算机程序产品
。
技术介绍
[0002]区块链是一种去中心化的多节点网络,在信息共享
、
数据存证和多方协作等场景下得到了广泛的应用
。
区块链节点接收到区块链交易之后,会将交易放入交易池中进行缓存,然后从交易池中取出交易进行处理并打包生成区块
。
[0003]传统技术中,由区块链节点串行处理各待处理的区块链交易以防止交易冲突,存在处理效率低的缺点
。
随着技术的进步,出现了针对区块链交易的并发执行方式,通过在并发执行之后识别冲突交易,并对冲突交易进行回退和重复执行,以避免数据冲突
。
由于反复的回退和重复执行会占用大量的计算资源,因此,传统的并发执行方式也存在处理效率较低的缺点
。
技术实现思路
...
【技术保护点】
【技术特征摘要】
1.
一种区块链交易处理方法,其特征在于,所述方法包括:获取多个待处理的区块链交易,确定每一所述区块链交易各自对应的合约进程;所述合约进程包括多个语句;针对每一所述合约进程,在待执行的当前语句为资源处理语句的情况下,基于所述资源处理语句对应的待处理资源,为所述合约进程添加分布式锁;所述分布式锁的锁类型与所述资源处理语句的资源处理方式匹配;对于所述待处理资源相同的关联语句,按照每一所述关联语句各自对应分布式锁的锁类型,并发执行各所述关联语句;针对每一所述关联语句,在所述关联语句执行完成的情况下,释放所述关联语句所在合约进程的分布式锁
。2.
根据权利要求1所述的方法,其特征在于,所述基于所述资源处理语句对应的待处理资源,为所述合约进程添加分布式锁,包括:基于所述资源处理语句的语句信息,确定所述资源处理语句对应的待处理资源
、
以及所述资源处理语句针对所述待处理资源的资源处理方式;确定与所述待处理资源匹配的锁标识
、
以及与所述资源处理方式匹配的锁类型;基于所述锁标识与所述锁类型,为所述合约进程添加分布式锁
。3.
根据权利要求2所述的方法,其特征在于,所述确定与所述待处理资源匹配的锁标识,包括:确定所述待处理资源的资源标识
、
以及所述合约进程的进程标识;将所述资源标识作为锁的键,并将所述进程标识作为锁的值,得到与所述待处理资源匹配的锁标识
。4.
根据权利要求3所述的方法,其特征在于,所述在所述关联语句执行完成的情况下,释放所述关联语句所在合约进程的分布式锁,包括:在所述关联语句执行完成的情况下,确定所述关联语句所在合约进程对应的键值对;释放所述键值对所表征的分布式锁
。5.
根据权利要求2所述的方法,其特征在于,所述基于所述锁标识与所述锁类型,为所述合约进程添加分布式锁,包括:在所述锁类型为读锁的情况下,基于所述锁标识为所述合约进程添加分布式读锁;在所述锁类型为写锁的情况下,确定所述待处理资源对应的分布式写锁的使用状态;若所述使用状态为使用中,则在所述待处理资源对应的分布式写锁被释放后,基于所述锁标识为所述合约进程添加分布式写锁;若所述使用状态为未使用,则基于所述锁标识为所述合约进程添加分布式写锁
。6.
根据权利要求1所述的方法,其特征在于,所述对于所述待处理资源相同的关联语句,按照每一所述关联语句各自对应分布式锁的锁类型,并发执行各所述关联语句,包括;对于所述待处理资源相同的关联语句,基于各所述关联语句各自对应分布式锁的锁类型,从各所述关联语句中确定添加有分布式读锁的读语句
、
以及添加有分布式写锁的写语句;并行执行各所述读语句,在各所述读语句执行完成的情况下,执行所述写语句
。7.
根据权利要求1所述的方法,其特征在于,所述在所述关联语句执行完成的情况下,
释放所述关联语句所在合约进程的分布式锁,包括:获取解锁等待时长;在所述关联语句执行完成之后,继续执行所述关联语句所在合约进程中的剩余语句;在所述解锁等待时长所表征的等待期结束的情况下,确定所述合约进程的活跃语句的语句类型;所述活跃语句,包括所述等待期结束时正在执行的语句
、
以及所述等待期结束时待...
【专利技术属性】
技术研发人员:卢光宏,蔡志宏,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。