[发明专利]并行修改和读取状态树的方法和装置有效
申请号: | 202010155154.3 | 申请日: | 2020-03-09 |
公开(公告)号: | CN111008201B | 公开(公告)日: | 2020-06-26 |
发明(设计)人: | 谢桂鲁 | 申请(专利权)人: | 支付宝(杭州)信息技术有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/2458;G06Q40/04 |
代理公司: | 北京亿腾知识产权代理事务所(普通合伙) 11309 | 代理人: | 张静娟;周良玉 |
地址: | 310000 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 并行 修改 读取 状态 方法 装置 | ||
本说明书实施例提供了一种读取和修改状态树的方法和装置,所述状态树被预先划分出多个子树,其中各个子树两两之间没有交集,并且每个子树的根节点为该状态树的根节点的子节点,所述修改方法由区块链节点执行,包括:获取将要执行的针对区块链中多个账户的多个修改操作;将所述多个修改操作划分为多个分组,每个分组中的各个修改操作所针对的账户对应于一个子树;对于所述多个分组,并行执行对相应子树的修改操作,以获取与各个分组对应的各个子树的根节点哈希值;基于各个子树的根节点哈希值,修改所述状态树的根节点的哈希值。
技术领域
本说明书实施例涉及区块链技术领域,更具体地,涉及一种并行修改和读取状态树的方法和装置。
背景技术
在新一代区块链中,例如在以太坊中,新增了账户的概念,相应地,用户可以通过区块链平台创建账户。在这样的场景中,区块链平台作用为区块链网络中的节点,用户创建的账户为以太坊中的外部账户。此外,诸如以太坊的许多区块链平台支持智能合约,来执行更为丰富的交易。智能合约可以由用户创建,在创建之后也具有对应的合约账户。如此,区块链网络中的账户可以包括外部账户和合约账户。
在区块链网络的各个节点中,在节点本地的数据库中以MPT(Merkle PatriciaTrie)树的形式维持区块链中全部账户(包括外部账户和合约账户)的状态数据。随着区块链中交易的执行,账户状态会发生变化,这就需要修改MPT状态树。由于区块链网络中账户众多,交易执行频繁,因此,常常需要频繁地对MPT状态树进行修改。另一方面,在多个交易中包括对账户状态的读取的情况中,需要频繁对MPT状态树进行读取。
因此,需要一种有效的方案,能够在执行交易时更加高效地修改或读取状态树,以提升区块链网络的整体性能。
发明内容
本说明书实施例旨在提供一种更有效的在区块链节点中修改或读取状态树的方案,以解决现有技术中的不足。
为实现上述目的,本说明书一个方面提供一种修改状态树的方法,所述状态树的每个节点包括区块链账户地址的一部分,所述状态树的叶节点包括区块链账户的状态、和状态哈希值,所述状态树中的父节点的哈希值基于其全部子节点的哈希值获取,所述状态树被预先划分出多个子树,其中各个子树两两之间没有交集,并且每个子树的根节点为该状态树的根节点的子节点,所述方法由区块链节点执行,包括:
获取将要执行的针对区块链中多个账户的多个修改操作;
将所述多个修改操作划分为多个分组,每个分组中的各个修改操作所针对的账户对应于一个子树;
对于所述多个分组,并行执行对相应子树的修改操作,以获取与各个分组对应的各个子树的根节点哈希值;
基于各个子树的根节点哈希值,修改所述状态树的根节点的哈希值。
在一种实施方式中,所述多个修改操作包括至少一种以下操作:插入操作、更新操作、删除操作。
在一种实施方式中,获取将要执行的针对区块链中多个账户的多个修改操作包括,通过执行从本地交易池中选定的用于打包为第一区块的多条交易,获取将要执行的针对区块链中多个账户的多个修改操作。
在一种实施方式中,对于所述多个分组,并行执行对相应子树的修改包括,对于所述多个分组,通过多个线程并行执行对相应子树的修改。
在一种实施方式中,所述区块链节点包括计算机集群,其中,对于所述多个分组,并行执行对相应子树的修改包括,对于所述多个分组,通过计算机集群中的各个计算机并行执行对相应子树的修改。
在一种实施方式中,基于各个子树的根节点哈希值,修改所述状态树的根节点的哈希值包括,拼接各个子树的根节点哈希值,对拼接获取的值取哈希,以获取状态树的根节点的哈希值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于支付宝(杭州)信息技术有限公司,未经支付宝(杭州)信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010155154.3/2.html,转载请声明来源钻瓜专利网。