(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202210907539.X
(22)申请日 2022.07.29
(71)申请人 蚂蚁区块链科技 (上海) 有限公司
地址 200010 上海市黄浦区外马路618号8
层803室
(72)发明人 刘晓建 何家华
(74)专利代理 机构 北京亿腾知识产权代理事务
所(普通合伙) 11309
专利代理师 张静娟 周良玉
(51)Int.Cl.
G06F 9/52(2006.01)
G06F 16/23(2019.01)
G06F 16/27(2019.01)
(54)发明名称
区块链系统中的交易冲突检测方法及区块
链节点
(57)摘要
一种区块链系统中的交易冲突检测方法及
区块链节 点。 该方法由区块链系统中的区块链节
点执行, 该区块链节点中通过多线程并行执行属
于相同区块的多个交易, 该多个交易中包括接收
方字段对应第一账户的多个目标交易, 属于第一
账户的多个状态变量的key 组成按预定步长递增
的数值区间。 该方法包括: 根据多个目标交易的
执行结果, 将多个目标交易分别确定为第一交易
和/或第二交易, 并确定第一交易请求查询的若
干状态变量的key所组成的数值区间, 以及确定
第二交易请求更新的若干状态变量的key所 组成
的数值区间; 对于每个第二交易, 根据该第二交
易的数值区间、 各个第一交易的数值区间以及该
多个交易的排列顺序, 确定是否存在与第二交易
冲突的第一交易。
权利要求书3页 说明书10页 附图4页
CN 115220924 A
2022.10.21
CN 115220924 A
1.一种区块链系统中的交易冲突检测方法, 所述方法由所述 区块链系统中的区块链节
点执行, 所述区块链节点并行执行属于相同区块的多个交易, 所述多个交易中包括接 收方
字段对应第一账户的多个目标交易, 属于所述第一账户的多个状态变量的key组成按预定
步长递增的数值区间, 所述方法包括:
根据所述多个目标交易的执行结果, 将所述多个目标交易分别确定为第一交易和/或
第二交易, 并确定所述第一交易请求查询的若干状态变量的key所 组成的数值区间, 以及确
定所述第二交易请求更新的若干状态变量的key所组成的数值区间;
对于每个所述第二交易, 根据所述第二交易的数值区间、 各个所述第一交易的数值区
间以及所述多个交易的排列顺序, 确定是否存在与所述第二交易冲突的第一交易。
2.根据权利要求1所述的方法, 所述方法还包括: 根据各个所述第 一交易的数值 区间构
造与所述第一账户对应的查询树;
其中, 所述根据所述第二交易的数值区间、 各个所述第一交易的数值区间以及所述多
个交易的排列顺序, 确定是否存在与所述第二交易冲突的第一交易, 包括:
根据所述查询树确定各个所述第 一交易中是否存在第 三交易, 所述第 三交易和所述第
二交易的数值区间具有重 叠区域;
如果是, 根据 所述多个交易的排列顺序确定所述第 三交易与 所述第二交易是否存在冲
突。
3.根据权利要求2所述的方法, 所述查询树是三叉树; 对于所述三叉树中的任一当前节
点, 所述当前节点的左子节点记录的数值区间的上界小于所述当前节点记录的数值区间的
下界, 所述当前节点的右子节点记录的数值区间的下界大于所述当前节点记录的数值区间
的上界, 所述当前节点的中子节点记录的数值区间属于所述当前节点记录的数值区间。
4.根据权利要求3 中所述的方法, 所述当前节点中记录有若干交易标识; 所述当前节点
记录的数值区间, 属于所述当前节点记录的交易标识所指示的第一交易的数值区间;
其中, 所述 根据所述 查询树确定各个所述第一交易中是否存在第三交易, 包括:
查询所述当前节点, 以确定所述当前节点记录的数值区间与 所述第二交易的数值区间
是否存在重 叠区域;
如果是, 将所述当前节点中记录的若干交易标识所分别指示的第 一交易确定为第 三交
易。
5.根据权利要求4所述的方法, 所述交易标识是其指示的第一交易在所述多个交易中
的排列序号; 所述当前节点中还记录有辅助信息, 所述辅助信息包括如下各项信息中的至
少一项: 所述当前节点的左子树中记录的各个排列序号的最大值、 所述当前节点的中子树
中记录的各个排列序号的最大值和所述当前节点的右子树中记录的各个排列序号的最大
值;
所述方法还包括: 根据所述第二交易的排列序号和所述辅助信息, 确定是否查询所述
当前节点的左子树、 所述当前节点的中子树以及所述当前节点的右子树中的至少一项。
6.根据权利要求3所述的方法, 所述根据各个所述第一交易的数值区间构造与所述第
一账户对应的查询树, 包括: 根据所述第一交易的数值区间更新与所述第一账户对应的三
叉树, 使更新后的所述三叉树中包括若干目标节点, 其中对所述若干目标节点分别记录的
数值区间进行合并以得到的数值区间相同于所述第一交易的数值区间。权 利 要 求 书 1/3 页
2
CN 115220924 A
27.根据权利要求3所述的方法, 所述方法还 包括:
当所述第一交易的执行结果被所述 区块链节点提交后, 从所述三叉树的各个节点中删
除用于指示所述第一交易的交易标识;
确定所述三叉树中是否存在空闲节点, 其中所述空闲节点中未记录交易标识且其左 子
节点、 中子节点和右子节点均为空;
如果是, 从所述 三叉树中删除所述空 闲节点。
8.根据权利要求1 ‑7中任一项所述的方法, 所述第一账户是合约账户。
9.一种区块链系统中的区块链节点, 所述 区块链节点并行执行属于相同区块的多个交
易, 所述多个交易中包括接 收方字段对应第一账户的多个目标交易, 属于所述第一账户的
多个状态变量的key组成按预定步长递增的数值区间, 所述区块链 节点包括:
结果处理单元, 用于根据所述多个目标交易的执行结果, 将所述多个目标交易分别确
定为第一交易和/或第二交易, 并确定所述第一交易请求查询的若干状态变量的key所 组成
的数值区间, 以及确定所述第二交易请求更新的若干状态变量的key所组成的数值区间;
冲突检测单元, 用于对于每个所述第 二交易, 根据 所述第二交易的数值区间、 各个所述
第一交易的数值区间以及所述多个交易的排列顺序, 确定是否存在与所述第二交易冲突的
第一交易。
10.根据权利要求9所述的区块链节点, 所述 区块链节点还包括: 数据管理单元, 用于根
据各个所述第一交易的数值区间构造与所述第一账户对应的查询树;
所述冲突检测单元, 用于根据所述查询树确定各个所述第一交易中是否存在第三交
易, 所述第三交易和所述第二交易的数值区间具有重叠区域; 如果是, 则根据所述多个交易
的排列顺序确定所述第三交易与所述第二交易是否存在冲突。
11.根据权利要求10所述的区块链节点, 所述查询树是三叉树; 对于所述三叉树中的任
一当前节点, 所述当前节点的左子节点记录的数值区间的上界小于所述当前节点记录的数
值区间的下界, 所述当前节点的右子节点记录的数值区间的下界大于所述当前节点记录的
数值区间的上界, 所述当前节点的中子节点记录的数值区间属于所述当前节点记录的数值
区间。
12.根据权利要求11所述的区块链节点, 所述当前节点中记录有若干交易标识; 所述当
前节点记录的数值区间, 属于所述当前节点记录的交易标识所指示的第一交易的数值区
间;
所述冲突检测单元, 用于查询所述当前节点, 以确定所述当前节点记录的数值区间与
所述第二交易的数值区间是否存在重叠区域; 如果是, 则将所述当前节点中记录的若干交
易标识所分别指示的第一交易确定为第三交易。
13.根据权利要求12所述的区块链节点, 所述交易标识是其指示的第一交易在所述多
个交易中的排列序号; 所述当前节点中还记录有辅助信息, 所述辅助信息包括如下各项信
息中的至少一项: 所述当前节点的左子树中记录的各个排列序号的最大值、 所述当前节点
的中子树中记录的各个排列序号的最大值和所述当前节点的右子树中记录的各个排列序
号的最大值;
所述冲突检测单元, 还用于根据所述第二交易的排列序号和所述辅助信息, 确定是否
查询所述当前节点的左子树、 所述当前节点的中子树以及所述当前节点的右子树中的至少权 利 要 求 书 2/3 页
3
CN 115220924 A
3
专利 区块链系统中的交易冲突检测方法及区块链节点
文档预览
中文文档
18 页
50 下载
1000 浏览
0 评论
0 收藏
3.0分
温馨提示:本文档共18页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 SC 于 2024-02-07 12:43:08上传分享