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