超级账本中的交易排序方法、装置和计算机设备制造方法及图纸

技术编号:27198439 阅读:18 留言:0更新日期:2021-01-31 12:00
本申请涉及一种超级账本中的交易排序方法、装置和计算机设备。所述方法包括:构建区块链中同一时刻发起的交易集合对应的交易冲突图;交易冲突图中的每一节点代表一个交易;通过求有向图强连通分量的算法对交易冲突图进行分解,得到对应的强连通图集;根据强连通图集标记交易集合中每个交易出现的总次数;将代表总次数最多的交易的节点从交易冲突图中移除,并更新每个交易出现的总次数,直到交易冲突图中不存在强连通图,得到无冲突交易图;基于无冲突交易图中每个节点的方向,通过超级账本的排序节点确定无冲突交易图中有效交易的执行顺序。采用本方法能够提高超级账本的性能。能。能。

【技术实现步骤摘要】
超级账本中的交易排序方法、装置和计算机设备


[0001]本申请涉及超级账本
,特别是涉及一种超级账本中的交易排序方法、装置、计算机设备和存储介质。

技术介绍

[0002]Hyperledger Fabric(超级账本)在区块链的联盟链构建中被广泛使用,其技术特性可以通过同共识与排序节点的算法,使链上数据的更新通过共识机制进行,确保分布式系统中数据的一致性与安全性。
[0003]在超级账本中,一个交易从被发起到最终写入账本中需要经历四个阶段,分别是模拟背书,排序,验证和提交。在模拟阶段,客户端产生交易信息,将交易信息对应的参数发给多个背书节点;背书阶段,每一个背书节点进行模拟背书操作之后,都向客户端返回一个读写集合以及自己的签名;随后客户端把所收到的数据发给排序服务Ordering Service,进入排序阶段。排序服务不会读取交易中的内容,只是将所收到的交易数据按照接收顺序排序和打包,然后发给各个节点peer;进入验证阶段,各个验证节点(committer peer)验证各个交易数据是否有效,若验证无效则该交易成为无效交易;将验证后的有效交易和无效交易写入账本中。
[0004]然而,目前超级账本上的无效交易是在验证阶段确定,当超级账本中存在大量的无效交易时,影响区块链系统的吞吐量,导致超级账本的性能降低。

技术实现思路

[0005]基于此,有必要针对上述技术问题,提供一种能够提高超级账本性能的超级账本中的交易排序方法、装置、计算机设备和存储介质。
[0006]一种超级账本中的交易排序方法,所述方法包括:
[0007]构建区块链中同一时刻发起的交易集合对应的交易冲突图;所述交易冲突图中的每一节点代表一个交易;
[0008]通过求有向图强连通分量的算法对所述交易冲突图进行分解,得到对应的强连通图集;
[0009]根据所述强连通图集标记交易集合中每个交易出现的总次数;
[0010]将代表总次数最多的交易的节点从所述交易冲突图中移除,并更新每个交易出现的总次数,直到所述交易冲突图中不存在所述强连通图,得到无冲突交易图;
[0011]基于所述无冲突交易图中每个节点的方向,通过超级账本的排序节点确定所述无冲突交易图中有效交易的执行顺序。
[0012]在其中一个实施例中,所述构建区块链中同一时刻发起的所有交易对应的交易冲突图,包括:
[0013]从区块链中获取由客户端在同一时刻发起的交易集合;
[0014]通过所述超级账本中的背书节点将所述交易集合中各交易的交易请求参数转化
为对应的读写集;所述读写集以键值对的形式进行保存;
[0015]根据各所述交易的键值对构建所述交易集合的交易冲突图。
[0016]在其中一个实施例中,所述根据各所述交易的键值对构建所述交易集合的交易冲突图,包括:
[0017]依次检测所述交易集合中各交易的键值对的读写操作;
[0018]当检测到所述交易集合中一个交易的写集的键值对被执行写操作,且所述交易的读集的键值对被所述交易集合中的其它交易执行读操作时,确定所述交易与对所述交易的读集的键值对执行了读操作的其它交易存在交易冲突;
[0019]根据所述交易集合中存在交易冲突的各交易,构建所述交易集合的交易冲突图。
[0020]在其中一个实施例中,所述将代表总次数最多的交易的节点从所述交易冲突图中移除,并更新每个交易出现的总次数,直到所述交易冲突图中不存在所述强连通图,得到无冲突交易图,包括:
[0021]当存在至少两个总次数最多的交易时,根据交易的交易标识确定目标交易;
[0022]将代表所述目标交易的节点从所述交易冲突图中移除,并更新每个交易出现的总次数,直到所述交易冲突图中不存在所述强连通图,得到无冲突交易图。
[0023]在其中一个实施例中,所述方法还包括:
[0024]将所述有效交易的执行顺序发送至所述超级账本中的验证节点;
[0025]基于所述执行顺序,通过所述验证节点对各所述有效交易的读集中的世界状态版本号进行验证,得到验证结果;
[0026]当所述验证结果为所述有效交易不存在冲突时,通过提交节点将所述有效交易的写集更新到所述区块链上。
[0027]在其中一个实施例中,在所述通过所述验证节点对各所述有效交易的读集中的世界状态版本号进行验证,得到验证结果之前,所述方法还包括:
[0028]基于所述执行顺序,获取各所述有效交易的交易签名;
[0029]对所述交易签名进行验证,当验证通过时,根据所述交易签名的签名信息对提交所述有效交易的交易节点的提交权限进行验证;
[0030]当所述交易节点具有提交权限时,执行所述通过所述验证节点对各所述有效交易的读集中的世界状态版本号进行验证步骤。
[0031]在其中一个实施例中,所述方法还包括:
[0032]当存在至少两个总次数最多的交易时,获取总次数最多的交易携带的交易标识的数值;
[0033]将数值最小的交易标识对应的交易作为目标交易。
[0034]一种超级账本中的交易排序装置,所述装置包括:
[0035]构建模块,用于构建区块链中同一时刻发起的所有交易对应的交易冲突图;所述交易冲突图中的每一节点代表一个交易;
[0036]分解模块,用于通过求有向图强连通分量的算法对所述交易冲突图进行分解,得到对应的强连通图集;
[0037]标记模块,用于根据所述强连通图集标记每个交易出现的总次数;
[0038]更新模块,用于将代表总次数最多的交易的节点从所述交易冲突图中移除,并更
新每个交易出现的总次数,直到所述交易冲突图中不存在所述强连通图,得到无冲突交易图;
[0039]排序模块,用于根据所述无冲突交易图中每个节点的方向确定所述无冲突交易图中有效交易的执行顺序。
[0040]一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
[0041]构建区块链中同一时刻发起的交易集合对应的交易冲突图;所述交易冲突图中的每一节点代表一个交易;
[0042]通过求有向图强连通分量的算法对所述交易冲突图进行分解,得到对应的强连通图集;
[0043]根据所述强连通图集标记交易集合中每个交易出现的总次数;
[0044]将代表总次数最多的交易的节点从所述交易冲突图中移除,并更新每个交易出现的总次数,直到所述交易冲突图中不存在所述强连通图,得到无冲突交易图;
[0045]基于所述无冲突交易图中每个节点的方向,通过超级账本的排序节点确定所述无冲突交易图中有效交易的执行顺序。
[0046]一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
[0047]构建区块链中同一时刻发起的交易集合对应的交易冲突图;所述交易冲突图中的每一节点代表一个交易;
[00本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种超级账本中的交易排序方法,其特征在于,所述方法包括:构建区块链中同一时刻发起的交易集合对应的交易冲突图;所述交易冲突图中的每一节点代表一个交易;通过求有向图强连通分量的算法对所述交易冲突图进行分解,得到对应的强连通图集;根据所述强连通图集标记交易集合中每个交易出现的总次数;将代表总次数最多的交易的节点从所述交易冲突图中移除,并更新每个交易出现的总次数,直到所述交易冲突图中不存在所述强连通图,得到无冲突交易图;基于所述无冲突交易图中每个节点的方向,通过超级账本的排序节点确定所述无冲突交易图中有效交易的执行顺序。2.根据权利要求1所述的方法,其特征在于,所述构建区块链中同一时刻发起的所有交易对应的交易冲突图,包括:从区块链中获取由客户端在同一时刻发起的交易集合;通过所述超级账本中的背书节点将所述交易集合中各交易的交易请求参数转化为对应的读写集;所述读写集以键值对的形式进行保存;根据各所述交易的键值对构建所述交易集合的交易冲突图。3.根据权利要求2所述的方法,其特征在于,所述根据各所述交易的键值对构建所述交易集合的交易冲突图,包括:依次检测所述交易集合中各交易的键值对的读写操作;当检测到所述交易集合中一个交易的写集的键值对被执行写操作,且所述交易的读集的键值对被所述交易集合中的其它交易执行读操作时,确定所述交易与对所述交易的读集的键值对执行了读操作的其它交易存在交易冲突;根据所述交易集合中存在交易冲突的各交易,构建所述交易集合的交易冲突图。4.根据权利要求1所述的方法,其特征在于,所述将代表总次数最多的交易的节点从所述交易冲突图中移除,并更新每个交易出现的总次数,直到所述交易冲突图中不存在所述强连通图,得到无冲突交易图,包括:当存在至少两个总次数最多的交易时,根据交易的交易标识确定目标交易;将代表所述目标交易的节点从所述交易冲突图中移除,并更新每个交易出现的总次数,直到所述交易冲突图中不存在所述强连通图,得到无冲突交易图。5.根据权利要求1至4任意一项所述的方法,其特征在于,所述方法还包括:将所述有效交易的执行顺序发送...

【专利技术属性】
技术研发人员:向舜
申请(专利权)人:卓尔智联武汉研究院有限公司
类型:发明
国别省市:

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

1