[发明专利]区块链交易执行方法、区块链节点及控制装置有效
申请号: | 202110481461.5 | 申请日: | 2021-04-30 |
公开(公告)号: | CN112988819B | 公开(公告)日: | 2021-08-20 |
发明(设计)人: | 卓海振;陆钟豪 | 申请(专利权)人: | 支付宝(杭州)信息技术有限公司;蚂蚁区块链科技(上海)有限公司 |
主分类号: | G06F16/2455 | 分类号: | G06F16/2455;G06F16/2458;G06F16/27;G06Q40/04;G06Q40/00 |
代理公司: | 北京亿腾知识产权代理事务所(普通合伙) 11309 | 代理人: | 张静娟;周良玉 |
地址: | 310000 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 区块 交易 执行 方法 节点 控制 装置 | ||
1.一种区块链交易执行方法,应用于区块链的节点,所述方法包括:
获取多个交易,所述多个交易包括属于第一区块的全部交易和属于第二区块的全部交易;所述第一区块为所述第二区块的前一个区块;
基于所述多个交易各自读取和写入的参数,得到多个交易组;
对于所述多个交易组并行进行如下处理:对于每个交易组,串行执行该交易组中包括的交易;
在确定完成对所述第一区块的区块生成和共识、且执行完成属于所述第二区块的全部交易之后,完成对所述第二区块的生成,并对所述第二区块进行区块共识。
2.根据权利要求1所述的方法,所述方法还包括:在执行完成所述多个交易之前,对已执行完成的部分交易的执行结果进行共识。
3.根据权利要求2所述的方法,所述方法还包括:
将完成共识的各个交易的数据作为其所属区块的至少部分区块体,存入区块数据库中。
4.根据权利要求3所述的方法,所述方法还包括:在对已执行完成的部分交易的执行结果进行共识之后,将所述已执行完成的部分交易中执行成功的各个交易的执行结果中包括的写入参数的值,对应于所述执行成功的各个交易各自所属的区块,存储到第二缓存区中;
其中,所述完成对所述第二区块的生成,包括:
在将属于所述第二区块的全部交易中的执行成功的各个交易的执行结果中包括的写入的参数的值都存储到第二缓存区中之后,基于所述第二缓存区中对应于第二区块存储的各个参数的值,获取所述第二区块对世界状态的更新数据,基于所述更新数据生成所述第二区块的区块头。
5.根据权利要求4所述的方法,在对所述第二区块的区块共识成功之后,所述方法还包括:将所述第二区块的区块头存入所述区块数据库中。
6.根据权利要求4所述的方法,在对所述第二区块的区块共识成功之后,所述方法还包括:删除所述第二缓存区中对应于所述第二区块存储的各个参数的值。
7.根据权利要求4所述的方法,还包括,对于所述多个交易读取的每个参数,若第一缓存区和所述第二缓存区中都未存储该参数的值,从状态数据库中获取该参数的值,并将该参数的值存入所述第一缓存区;所述对于每个交易组,串行执行该交易组中包括的交易包括,对于每个交易组,基于所述第一缓存区中存储的参数的值,串行执行该交易组中包括的交易。
8.一种区块链交易执行方法,应用于区块链的节点,所述区块链的节点包括控制装置以及计算装置,所述方法包括:
所述控制装置获取多个交易,基于所述多个交易各自读取和写入的参数,得到多个交易组,并将所述多个交易组发送给所述计算装置;所述多个交易包括属于第一区块的全部交易和属于第二区块的全部交易;所述第一区块为所述第二区块的前一个区块;
所述计算装置对于所述多个交易组并行进行如下处理:对于每个交易组,串行执行该交易组中包括的交易;
在确定完成对所述第一区块的区块生成和共识、且执行完成属于所述第二区块的全部交易之后,所述控制装置完成对所述第二区块的生成,并对所述第二区块进行区块共识。
9.根据权利要求8所述的方法,所述方法还包括:在执行完成所述多个交易之前,所述控制装置对已执行完成的部分交易的执行结果进行共识。
10.根据权利要求9所述的方法,所述区块链的节点还包括存储装置;所述方法还包括:
所述控制装置指示所述存储装置将完成共识的各个交易的数据作为其所属区块的至少部分区块体,存入区块数据库中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于支付宝(杭州)信息技术有限公司;蚂蚁区块链科技(上海)有限公司,未经支付宝(杭州)信息技术有限公司;蚂蚁区块链科技(上海)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110481461.5/1.html,转载请声明来源钻瓜专利网。