[发明专利]合约冲突检测方法、装置、可读存储介质和计算机设备有效
申请号: | 201910853885.2 | 申请日: | 2019-08-09 |
公开(公告)号: | CN110555773B | 公开(公告)日: | 2021-04-20 |
发明(设计)人: | 李茂材;王宗友;刘区城;蓝虎;杨常青;时一防;孔利;周开班;朱耿良;陈秋平;刘攀;张劲松 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06Q40/04 | 分类号: | G06Q40/04;G06F16/2455;G06F16/27 |
代理公司: | 广州华进联合专利商标代理有限公司 44224 | 代理人: | 陈小娜 |
地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 合约 冲突 检测 方法 装置 可读 存储 介质 计算机 设备 | ||
1.一种合约冲突检测方法,包括:
获取至少一个待处理交易对应的智能合约方法;
并行执行各个智能合约方法,得到各个待处理交易对应的执行结果;所述执行结果为交易结果;
获取各个所述待处理交易的交易顺序,根据所述交易顺序依次将各个所述待处理交易对应的执行结果与历史已合并执行结果进行合并;
当当前目标待处理交易对应的待合并执行结果与所述历史已合并执行结果存在交集时,得到第一合约冲突结果;
获取各个所述待处理交易对应的智能合约方法对应的合约字节码;
获取预设检测合约字节码,当所述合约字节码与所述预设检测合约字节码匹配时,确定所述合约字节码对应的智能合约方法存在冲突,得到第二合约冲突结果;
根据所述第一合约冲突结果及所述第二合约冲突结果,得到目标合约冲突结果。
2.根据权利要求1所述的方法,其特征在于,在所述并行执行各个智能合约方法,得到各个待处理交易对应的执行结果之前,包括:
获取目标块,基于合约缓存为所述目标块创建对应的块读缓存和块写缓存;
基于所述块读缓存和所述块写缓存为各个所述待处理交易创建对应的初始交易读缓存和初始交易写缓存。
3.根据权利要求2所述的方法,其特征在于,所述并行执行各个智能合约方法,得到各个待处理交易对应的执行结果,包括:
在各个所述待处理交易对应的初始交易读缓存中执行对应的智能合约方法,得到各个所述待处理交易对应的更新交易读缓存;
在各个所述待处理交易对应的初始交易写缓存中执行对应的智能合约方法,得到各个所述待处理交易对应的更新交易写缓存。
4.根据权利要求3所述的方法,其特征在于,所述获取各个所述待处理交易的交易顺序,根据所述交易顺序依次将各个所述待处理交易对应的执行结果与历史已合并执行结果进行合并,包括:
获取各个所述待处理交易对应的交易顺序;
根据所述交易顺序依次将各个所述待处理交易对应的更新交易写缓存合并至所述块写缓存中。
5.根据权利要求2所述的方法,其特征在于,所述待合并执行结果为当前更新交易写缓存或当前更新交易读缓存,所述当前更新交易写缓存是当前待处理交易在当前初始交易写缓存中执行对应的智能合约方法得到的,所述当前更新交易读缓存是所述当前待处理交易在当前初始交易读缓存中执行对应的智能合约方法得到的;
所述当当前待处理交易对应的待合并执行结果与所述历史已合并执行结果存在交集时,得到第一合约冲突结果,包括:
当所述待合并执行结果为当前更新交易写缓存时,获取所述块写缓存中的历史已合并交易缓存数据,所述历史已合并交易缓存数据是已处理交易对应的更新交易写缓存,待处理交易对应的更新交易缓存合并完成后更新为已处理交易;
当所述当前更新交易写缓存与至少一个所述历史已合并交易缓存数据存在交集时,则确定所述当前待处理交易对应的智能合约方法与所述已处理交易对应的智能合约方法存在冲突。
6.根据权利要求5所述的方法,其特征在于,所述当所述当前更新交易写缓存与至少一个所述历史已合并交易缓存数据存在交集时,包括:
获取所述当前更新交易写缓存对应的当前交易写键值对,所述当前交易写键值对包括当前键和对应的当前值;
获取所述历史已合并交易缓存数据对应的历史交易写键值对,所述历史交易写键值对包括历史键和对应的历史值;
当各个所述历史键中存在至少一个与所述当前键相同的目标历史键时,则确定所述当前更新交易写缓存与至少一个所述历史已合并交易缓存数据存在交集。
7.根据权利要求5所述的方法,其特征在于,所述方法还包括:
获取所述当前待处理交易对应的当前更新交易读缓存,将所述当前更新交易读缓存作为所述待合并执行结果;
当所述当前更新交易读缓存与至少一个所述历史已合并交易缓存数据存在交集时,则确定所述当前待处理交易对应的智能合约方法与所述已处理交易对应的智能合约方法存在冲突。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910853885.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:凭证验证方法、装置、设备与可读存储介质
- 下一篇:带仲裁的分散式共识机制