[发明专利]区块链的合约交易并行执行方法及装置在审
申请号: | 202011347745.7 | 申请日: | 2020-11-26 |
公开(公告)号: | CN112150163A | 公开(公告)日: | 2020-12-29 |
发明(设计)人: | 杜娟 | 申请(专利权)人: | 北京微芯区块链与边缘计算研究院 |
主分类号: | G06Q20/40 | 分类号: | G06Q20/40;G06Q40/04 |
代理公司: | 北京清亦华知识产权代理事务所(普通合伙) 11201 | 代理人: | 韩海花 |
地址: | 100084 北京市海淀区中关村南大街1号北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 区块 合约 交易 并行 执行 方法 装置 | ||
1.一种区块链的合约交易并行执行方法,其特征在于,包括以下步骤:
由待入链的交易中提取待执行的多笔合约交易;
按照预设的并行调度策略生成所述多笔合约交易间的交易依赖关系,并放入所述区块链的候选区块中;以及
根据所述交易依赖关系并行执行所述候选区块中交易,并在根据执行结果验证所述依赖关系正确后,执行所述多笔合约交易。
2.根据权利要求1所述的方法,其特征在于,所述按照预设的并行调度策略生成所述多笔合约交易间的交易依赖关系,包括:
按照预设的排序规则对所述多笔合约交易进行排序,并生成基于所述交易依赖关系的初始有向无环图;
生成每个合约交易的读写集合,基于所述读写集合对每个合约交易进行交易依赖分析,确定所述多笔合约交易中无依赖的合约交易,并加入所述初始有向无环图;
对剩余合约交易进行并行执行,直至所述每个合约交易均加入有向无环图中,生成最终有向无环图。
3.根据权利要求2所述的方法,其特征在于,在每次加入所述有向无环图之后,还包括:
将已加入所述有向无环图的交易的写集合更新至表示已分析的世界状态中。
4.根据权利要求2所述的方法,其特征在于,所述根据所述交易依赖关系并行执行所述候选区块中交易,包括:
并行执行所述无依赖的多笔合约交易,其中,将执行完的交易从所述有向无环图移除的同时,移出所有指向所述执行完的交易的依赖边,直至检测到有新交易成为所述无依赖交易,以执行完所述有向无环图中合约交易,并生成执行结果;
根据执行结果验证生成所述交易依赖关系是否正确。
5.一种区块链的合约交易并行执行装置,其特征在于,包括:
提取模块,用于由待入链的交易中提取待执行的多笔合约交易;
生成模块,用于按照预设的并行调度策略生成所述多笔合约交易间的交易依赖关系,并放入所述区块链的候选区块中;以及
执行模块,用于根据所述交易依赖关系并行执行所述候选区块中交易,并在根据执行结果验证所述依赖关系正确后,执行所述多笔合约交易。
6.根据权利要求5所述的装置,其特征在于,所述生成模块包括:
第一生成单元,用于按照预设的排序规则对所述多笔合约交易进行排序,并生成基于所述交易依赖关系的初始有向无环图;
第二生成单元,用于生成每个合约交易的读写集合,基于所述读写集合对每个合约交易进行交易依赖分析,确定所述多笔合约交易中无依赖的合约交易,并加入所述初始有向无环图;
第三生成单元,用于对剩余合约交易进行并行执行,直至所述每个合约交易均加入有向无环图中,生成最终有向无环图。
7.根据权利要求5所述的装置,其特征在于,还包括:
更新模块,用于在每次加入所述有向无环图之后,将已加入所述有向无环图的交易的写集合更新至表示已分析的世界状态中。
8.根据权利要求5所述的装置,其特征在于,所述执行模块具体用于并行执行所述无依赖的多笔合约交易,且将执行完的交易从所述有向无环图移除的同时,移出所有指向所述执行完的交易的依赖边,直至检测到有新交易成为所述无依赖交易,以执行完所述有向无环图中合约交易,并生成执行结果;根据执行结果验证生成所述交易依赖关系是否正确。
9.一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现如权利要求1-4任一项所述的区块链的合约交易并行执行方法。
10.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行,以用于实现如权利要求1-4任一项所述的区块链的合约交易并行执行方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京微芯区块链与边缘计算研究院,未经北京微芯区块链与边缘计算研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011347745.7/1.html,转载请声明来源钻瓜专利网。