【技术实现步骤摘要】
基于区块链的数据处理方法、装置、设备及可读存储介质
[0001]本申请涉及互联网
,尤其涉及一种基于区块链的数据处理方法、装置、设备以及可读存储介质。
技术介绍
[0002]随着对交易数据安全的重视,政府和企业开始利用区块链网络进行交易数据的存储。
[0003]目前,在业界大多数的区块链网络中,区块都是按照区块高度的顺序串行执行,块内的交易数据所对应的合约业务也是按照交易数据序号的顺序串行执行,例如区块m包括交易数据1、交易数据2、
…
、交易数据n,则在处理区块m的交易数据时,首先执行交易数据1对应的合约业务,得到交易数据1的交易执行结果1,再根据交易执行结果1以及交易数据2,执行交易数据2对应的合约业务,得到交易数据2的交易执行结果2,继续对后面的交易数据执行对应的合约业务。处理完区块m的交易数据后,再对区块m+1的交易数据1进行处理。
[0004]现有的处理交易数据的方式,显然不能匹配区块链网络所接收到的交易数据的增加速度,进而会导致区块链网络中滞留大量的交易数据,可见目前对区块中的交易数据的处理效率比较低下。
技术实现思路
[0005]本申请实施例提供一种基于区块链的数据处理方法、装置、设备以及可读存储介质,可以提高区块链网络处理交易数据的效率。
[0006]本申请实施例一方面提供了一种基于区块链的数据处理方法,包括:将至少两个区块中的交易数据,按照区块高度的顺序以及交易数据序号的顺序添加到执行队列中,从执行队列中按序获取至少两个交易数据;至少两个 ...
【技术保护点】
【技术特征摘要】
1.一种基于区块链的数据处理方法,其特征在于,包括:将至少两个区块中的交易数据,按照区块高度的顺序以及交易数据序号的顺序添加到执行队列中,从所述执行队列中按序获取至少两个交易数据;所述至少两个交易数据均携带合约信息;对所述至少两个交易数据并行执行所携带的合约信息对应的合约业务,获取每个合约业务被执行时所生成的并行交易读缓存以及并行交易写缓存;所述至少两个交易数据包括目标交易数据;在所述至少两个区块分别对应的块缓存中确定已合并交易写缓存,在所述已合并交易写缓存中,获取所述目标交易数据对应的更新交易读缓存;所述已合并交易写缓存所对应的交易数据,在所述执行队列中的位置或添加时间处于所述目标交易数据之前;根据所述更新交易读缓存、所述目标交易数据对应的并行交易读缓存以及所述目标交易数据对应的并行交易写缓存,确定所述目标交易数据的待合并交易写缓存;将所述目标交易数据的待合并交易写缓存合并至所述目标交易数据所属的块缓存中,继续对所述目标交易数据的下一个交易数据的待合并交易写缓存进行合并处理。2.根据权利要求1所述的方法,其特征在于,所述从所述执行队列中按序获取至少两个交易数据,包括:确定并行执行线程池中空闲线程对应的空闲数量;若所述空闲数量等于或大于并行执行线程阈值,则通过所述空闲线程从所述执行队列中按序获取所述至少两个交易数据;所述至少两个交易数据的交易数量等于所述空闲数量。3.根据权利要求1所述的方法,其特征在于,所述至少两个合约业务包括至少两个智能合约以及至少两个交易执行业务;所述对所述至少两个交易数据并行执行所携带的合约信息对应的合约业务,获取每个合约业务被执行时所生成的并行交易读缓存以及并行交易写缓存,包括:根据至少两个合约信息中分别包括的合约标识,确定分别用于执行所述至少两个交易数据的智能合约;根据所述至少两个合约信息中分别包括的业务标识,确定所述至少两个智能合约所分别调用的用于执行所述至少两个交易数据的交易执行业务;并行执行所述至少两个交易执行业务,获取每个交易执行业务被执行时所生成的并行交易读缓存以及并行交易写缓存。4.根据权利要求3所述的方法,其特征在于,所述并行执行所述至少两个交易执行业务,获取每个交易执行业务被执行时所生成的并行交易读缓存以及并行交易写缓存,包括:根据所述至少两个交易执行业务,分别为所述至少两个交易数据创建初始交易读缓存以及初始交易写缓存;并行执行所述至少两个交易执行业务,获取每个交易执行业务被执行时所生成的并行交易读数据以及并行交易写数据;将每个并行交易读数据存储至对应的初始交易读缓存,得到所述至少两个交易数据分别对应的并行交易读缓存;将每个并行交易写数据存储至对应的初始交易写缓存,得到所述至少两个交易数据分
别对应的并行交易写缓存。5.根据权利要求1所述的方法,其特征在于,所述在所述已合并交易写缓存中,获取所述目标交易数据对应的更新交易读缓存,包括:按照区块高度从高至低的顺序以及交易数据序号从大至小的顺序,在所述已合并交易写缓存中依次遍历,直至获取到所述目标交易数据所需读取的已合并交易写缓存;根据所述目标交易数据所需读取的已合并交易写缓存生成所述更新交易读缓存。6.根据权利要求1所述的方法,其特征在于,所述根据所述更新交易读缓存、所述目标交易数据对应的并行交易读缓存以及所述目标交易数据对应的并行交易写缓存,确定所述目标交易数据的待合并交易写缓存,包括:将所述目标交易数据对应的并行交易读缓存中的并行交易读数据确定为目标并行交易读数据;确定所述目标并行交易读数据的目标对象,获取所述更新交易读缓存中与所述目标对象相关联的更新交易读数据;对所述目标并行交易读数据以及所述更新交易读数据进行读数据冲突校验,得到所述校验结果;根据所述校验结果、所述更新交易读数据以及所述目标交易数据对应的并行交易写缓存,确定所述目标交易数据的待合并交易写缓存。7.根据权利要求6所述的方法,其特征在于,所述校验结果包括第一校验结果以及第二校验结果;所述对所述目标并行交易读数据以及所述更新交易读数据进行读数据冲突校验,得到所述校验结果,包括:将所述目标并行交易读数据以及所述更新交易读数据进行对比;若所述目标并行交易读数据与所述更新交易读数据相同,则确定所述校验结果为所述第一校验结果;所述第一校验结果用于指示所述目标并行交易读数据与所述更新交易读数据之间不存在读数据冲突;若所述目标并行交易读数据与所述更新交易读数据不相同,则确定所述校...
【专利技术属性】
技术研发人员:刘区城,李茂材,王宗友,孔利,蓝虎,刘攀,周开班,朱耿良,时一防,黄焕坤,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。