【技术实现步骤摘要】
对区块链中的交易进行分组的方法和装置
本说明书实施例涉及区块链
,更具体地,涉及一种对区块链中的交易进行分组的方法和装置。
技术介绍
区块链技术也被称之为分布式账本技术,区块链中的每个全节点都有全量的、一致的数据。为了保证每个全节点具有一致的数据,对区块链中的多个交易进行并发处理的前提是确保并发执行的交易之间没有任何数据依赖关系。在例如HyperledgerFabric区块链(下文简称为Fabric区块链)中,由背书节点预执行各个交易生成各个交易的读写集,所述读写集中包括在预执行交易的过程中读取的变量或写入的变量。Fabric区块链中的提交节点在对区块进行入块时,执行区块中的交易,基于当前的世界状态,确定区块中的每个交易的读写集是否可成功执行,如果可成功执行,则相应地更改世界状态。因此,如果两个交易的访问变量没有读写冲突,则其导致的世界状态的改变不会影响另一个交易的执行,因此该两个交易可以并发执行。如果两个交易的访问变量存在读写冲突,则只能串行执行。若在执行一批交易前,根据各个交易的读写集之间的重叠关系,将读写 ...
【技术保护点】
1.一种对区块链中的交易进行分组的方法,包括:/n获取多个交易的第一子集和第二子集,其中,所述第一子集中包括相互之间没有共同访问变量的多个交易组,所述第二子集中包括相互之间没有共同访问变量的多个交易组;/n从所述第一子集和所述第二子集中确定多个关联交易组对,所述关联交易组对中包括访问相同变量的两个交易组;/n基于所述多个关联交易组对,将关联的交易组合并为一个交易组,作为所述多个交易的交易组。/n
【技术特征摘要】
1.一种对区块链中的交易进行分组的方法,包括:
获取多个交易的第一子集和第二子集,其中,所述第一子集中包括相互之间没有共同访问变量的多个交易组,所述第二子集中包括相互之间没有共同访问变量的多个交易组;
从所述第一子集和所述第二子集中确定多个关联交易组对,所述关联交易组对中包括访问相同变量的两个交易组;
基于所述多个关联交易组对,将关联的交易组合并为一个交易组,作为所述多个交易的交易组。
2.根据权利要求1所述的方法,其中,从所述第一子集和所述第二子集中确定多个关联交易组对包括:
获取第一子集的第一访问变量位图;
获取第二子集的第二访问变量位图;
对所述第一访问变量位图和所述第二访问变量位图进行位图与操作,获取重叠变量位图,所述重叠变量位图指示第一子集和第二子集共同访问的变量;
基于所述重叠变量位图中指示的变量对应的第一子集中的交易组和第二子集中的交易组,确定关联交易组对。
3.根据权利要求2所述的方法,其中,对所述第一访问变量位图和所述第二访问变量位图进行位图与操作包括,通过simd指令对所述第一访问变量位图和所述第二访问变量位图进行位图与操作。
4.根据权利要求2所述的方法,还包括,获取第一访问变量位图中各个变量与第一子集中的交易组的对应关系,获取第二访问变量位图中各个变量与第二子集中的交易组的对应关系。
5.根据权利要求1或2所述的方法,其中,基于所述多个关联交易组对,将关联的交易组合并为一个交易组包括:将关联交易组对中的两个交易组合并到一个交易组中。
6.根据权利要求1或2所述的方法,其中,基于所述多个关联交易组对,将关联的交易组合并为一个交易组包括:确定包括相同交易组的第一交易组对和第二交易组对,将第一交易组对和第二交易组对中包括的交易组合并到一个交易组中。
7.根据权利要求2所述的方法,其中,基于所述多个关联交易组对,将关联的交易组合并为一个交易组,作为所述多个交易的交易组包括,基于所述多个关联交易组对,将关联的交易组合并为一个交易组,作为第三子集中的交易组,所述第三子集为合并第一子集和第二子集的子集,所述方法还包括,对所述第一访问变量位图和所述第二访问变量位图进行位图或操作,以获取第三子集的第三访问变量位图。
8.一种对区块链中的交易进行分组的装置,包括:
获取单元,配置为,获取多个交易的第一子集和第二子集,其中,所述第一子集中包括相互之间没有...
【专利技术属性】
技术研发人员:刘晓建,
申请(专利权)人:支付宝杭州信息技术有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。