在区块链系统中执行交易的方法和区块链节点技术方案

技术编号:37707364 阅读:18 留言:0更新日期:2023-06-01 23:57
本说明书实施例提供了一种在区块链系统中执行交易的方法,区块链系统包括至少两个分片,至少两个分片中包括第一分片,该方法由第一分片的区块链节点执行,第一分片中设有状态数据库,状态数据库存储有多个对象的状态数据,每个对象的状态数据中至少包括当前值字段、原始值字段和锁字段,该方法包括:响应于第一交易中对于第一分片中的第一对象的写入操作,读取第一对象的第一锁字段,其中,第一交易为跨片交易;若第一锁字段的值指示第一对象未被锁定,将第一锁字段的值更新为第一交易的标识,用于指示第一对象被锁定,将第一对象的第一原始值字段的值更新为第一当前值字段的当前值,将第一对象的第一当前值字段的值更新为写入操作对应的写入值。写入操作对应的写入值。写入操作对应的写入值。

【技术实现步骤摘要】
在区块链系统中执行交易的方法和区块链节点


[0001]本说明书实施例涉及区块链
,更具体地,涉及一种在区块链中执行交易的方法和区块链节点。

技术介绍

[0002]区块链(Blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。由于区块链具有去中心化、信息不可篡改、自治性等特性,区块链也受到人们越来越多的重视和应用。
[0003]其中,区块链分片技术是一种用于对区块链进行扩容的方案。区块链分片的基本思路是将区块链网络中的节点分成若干个相对独立的子网络,每个子网络构成一个区块链,一个子网络也就是一个分片(shard)。通过多个分片的并行处理,可提升整个网络的吞吐量。
[0004]在区块链中,通常每执行一个区块之后,在区块数据库中更新该区块对应的世界状态。然而,当区块中存在产生跨片操作的跨片交易的情况中,如跨片交易要读写多个分片里的不同账户,交易需要跨多个分片,本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种在区块链系统中执行交易的方法,所述区块链系统包括至少两个分片,所述至少两个分片中包括第一分片,所述方法由第一分片的区块链节点执行,所述第一分片中设有状态数据库,所述状态数据库存储有多个对象的状态数据,每个对象的状态数据中至少包括当前值字段、原始值字段和锁字段,所述方法包括:响应于第一交易中对于第一分片中的第一对象的写入操作,从所述状态数据库中读取所述第一对象的第一锁字段,其中,所述第一交易为跨片交易;若所述第一锁字段的值指示所述第一对象未被锁定,将所述第一锁字段的值更新为所述第一交易的标识,以用于指示所述第一对象被锁定,将所述第一对象的第一原始值字段的值更新为所述第一对象的第一当前值字段的当前值,将所述第一对象的第一当前值字段的值更新为所述写入操作对应的写入值。2.根据权利要求1所述的方法,还包括,若所述读取的第一锁字段的值为所述第一交易的标识,则将所述第一当前值字段的值设置为所述写入操作对应的写入值。3.根据权利要求1所述的方法,还包括,若所述读取的第一锁字段的值为第二交易的标识,则针对所述写入操作返回第一操作执行失败结果。4.根据权利要求1所述的方法,还包括,响应于第一交易中对于第一分片中的第一对象的读取操作,从所述状态数据库中读取所述第一对象的第一锁字段;若所述第一锁字段的值指示所述第一对象未被锁定,将所述第一锁字段的值更新为所述第一交易的标识,将所述第一对象的第一原始值字段的值更新为所述第一对象的第一当前值字段的当前值,并针对所述读取操作返回第一当前值字段的当前值。5.根据权利要求4所述的方法,还包括,若所述读取的第一锁字段的值为所述第一交易的标识,则针对所述读取操作返回所述第一当前值字段的当前值。6.根据权利要求2所述的方法,还包括,若所述读取的第一锁字段的值为所述第二交易的标识,则针对所述写入操作返回第二操作执行失败结果。7.根据权利要求1所述的方法,还包括,响应于所述第一交易的提交,将所述第一锁字段设置为第一值,所述第一值指示所述第一对象未被锁定。8.根据权利要求1所述的方法,还包括,响应于所述第一交易的回滚,将所述第一当前值字段的值设置为所述第一原始值字段的值,并将所述第一锁字段设置为第一值,所述第一值指示所述第一对象未被锁定。9.根据权利要求1所述的方法,其中,所述第一对象的状态数据中还包括存在标识字段;所述方法还包括:响应于第一交易中对于第一分片中的第一对象的写入操作,确定在所述写入操作前在所述状态数据库中是否已创建所述第一对象的状态数据;响应于第一交易中对于第一分片中的第一对象的写入操作,从所述状态数据库中读取所述第一对象的第一锁字段,包括:
若在所述写入操作前在所述状态数据库中已创建所述第一对象的状态数据,读取所述第一对象的第一锁字段。10.根据权利要求9所述的方法,还包括,若在所述写入操作前在所述状态数据库中未创建所述第一对象的状态数据,创建第一对象的状态数据,并将第一对象的存在标识字段设置为指示在所述写入操作前所述第一对象不存在,将所述第一对象的第一当前值字段的值设置为所述写入操作对应的写入值,将第一对象的第一锁字段的值设置为所述第一交易的标识。11.根据权利要求2所述的方法,其中,所述第一对象的状态数据中还包括存在标识字段;所述方法还包括:响应于第一交易中对于第一分片中的第一对象的读取操作,确定在所述读取操作前在所述状态数据库中是否已创建所述第一对象的状态数据;响应于第一交易中对于第一分片中的第一对象的读取操作,从所述状态数据库中读取所述第一对象的第一锁字段,包括:若在所述读取操作前在所述状态数据库中已创建所述第一对象的状态数...

【专利技术属性】
技术研发人员:谢桂鲁
申请(专利权)人:蚂蚁区块链科技上海有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1