一种并发数据的处理方法、平台、设备及存储介质技术

技术编号:37103677 阅读:26 留言:0更新日期:2023-04-01 05:03
本申请公开了一种并发数据的处理方法,通过客户端节点对接收到的并发交易进行预处理,得到并发交易对应的事务提案;通过记账节点创建事务提案P

【技术实现步骤摘要】
一种并发数据的处理方法、平台、设备及存储介质


[0001]本申请涉及但不限于区块链领域,尤其涉及一种并发数据的处理方法、并发数据的处理平台、电子设备及计算机可读存储介质。

技术介绍

[0002]区块链技术,也被称之为分布式账本技术,是一种由若干台计算设备共同参与“记账”,共同维护一份完整的分布式数据库的新兴技术。由于区块链技术具有去中心化、公开透明、每台计算设备可以参与数据库记录、并且各计算设备之间可以快速的进行数据同步的特性,使得区块链技术在众多的领域中广泛的进行应用。联盟链作为区块链的一种类型,具有数据处理效率快、可控性较强、隐私性能较强等特点,可以构建商业应用。然而,区块链相比传统的数据库,在交易吞吐量、实时性等性能上明显不足。若要将区块链技术商业化,通常采用一些技术手段来优化区块链的性能。针对区块链性能的优化可以从多个角度切入,考虑到实际应用场景中有很多业务是并发的,因此,通过提高区块链对并发业务的处理能力,可以有效优化区块链的性能。相关技术中,多采用如下两种方式提高区块链对并发业务的处理能力,第一种从区块链自身结构特点出发,通过修改区块链的链式结构来提升其并发能力,例如,通过将区块链分为一条主链,多条子链,并将交易分配到不同链上打包。第二种针对区块链平台进行并发性能的优化,例如,在事务验证模块进行并行优化,并在Committer节点处增加缓存。明显,第一种方式针对的是区块链中的公有链,由于公有链是非许可区块链,各个节点均可自由加入和退出,也均能参加数据的读写,因此需要一套更为严格的共识机制,这导致公有链处理数据的速度远低于联盟链。因此,公有链对于商业化应用的用户的授权许可以及应用场景的构建都具有一定的局限性。第二种方式是从单笔交易的交易流程层面考虑优化方案,并未考虑到并发冲突的情况,当有两个交易需要同时调用相同资源时的冲突情况并未被讨论,该方式在处理有冲突的并发交易上具有一定的局限性。因此,针对区块链平台,设计一种解决有冲突的并发交易的方案,能够有效推动区块链技术的商业化。
[0003]需要说明的是,区块链平台为了防止多个写请求同时写数据而导致的数据不一致性,添加了版本控制,当多个请求要同时修改同一数据时,平台将处理其中一个请求并成功修改值,其余请求将返回错误,且无法成功更新。因此,针对多个事务被同时发起要求修改账本中同一数据时,存在部分事务无法成功修改账本中的数据,使得在并发场景下写操作的效率低下的问题。

技术实现思路

[0004]有鉴于此,本申请提供一种并发数据的处理方法、并发数据的处理平台、电子设备及计算机可读存储介质,解决了相关技术中在并发场景下写操作的效率低下的问题。
[0005]为达到上述目的,本申请的技术方案是这样实现的:
[0006]一种并发数据的处理平台,所述方法包括:
[0007]通过客户端节点对接收到的并发交易进行预处理,得到所述并发交易对应的事务提案;其中,所述并发交易所要处理的交易数据相同,所述并发交易对应的事务提案至少包括所述并发交易中第一个被响应的交易i对应的事务提案P
i
,以及与所述交易i不同的交易j对应的事务提案P
j

[0008]通过记账节点创建所述事务提案P
i
的键值对(k,v
i
);其中,所述k表征所述交易数据的标识,所述v
i
表征所述交易i对应的交易值;
[0009]通过所述记账节点创建所述事务提案P
j
的复合键值对((k,d),v
j
);其中,所述d表征所述交易j对应的交易标识,所述v
j
表征所述交易j对应的交易值;
[0010]通过所述记账节点根据所述并发交易的处理顺序,处理所述键值对(k,v
i
)对应的交易i;
[0011]在所述交易i处理完成的情况下,通过所述记账节点处理所述复合键值对((k,d),v
j
)对应的所述交易j,并通过所述记账节点将所述并发交易对应的交易结果写入区块链。
[0012]一种并发数据的处理平台,所述平台包括:
[0013]客户端节点,用于通过客户端节点对接收到的并发交易进行预处理,得到所述并发交易对应的事务提案;其中,所述并发交易所要处理的交易数据相同,所述并发交易对应的事务提案至少包括所述并发交易中第一个被响应的交易i对应的事务提案P
i
,以及与所述交易i不同的交易j对应的事务提案P
j

[0014]记账节点,还用于创建所述事务提案P
i
的键值对(k,v
i
);其中,所述k表征所述交易数据的标识,所述v
i
表征所述交易i对应的交易值;
[0015]所述记账节点,还用于创建所述事务提案P
j
的复合键值对((k,d),v
j
);其中,所述d表征所述交易j对应的交易标识,所述v
j
表征所述交易j对应的交易值;
[0016]所述记账节点,还用于根据所述并发交易的处理顺序,处理所述键值对(k,v
i
)对应的交易i;
[0017]所述记账节点,还用于在所述交易i处理完成的情况下,处理所述复合键值对((k,d),v
j
)对应的交易j,并将所述并发交易对应的交易结果写入区块链。
[0018]一种电子设备,所述电子设备包括:
[0019]存储器,用于存储可执行指令;
[0020]处理器,用于执行所述存储器中存储的可执行指令时,实现上述所述的并发数据的处理方法的步骤。
[0021]一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个应用,所述一个或者多个应用可被一个或者多个处理器执行,以实现上述所述的并发数据的处理方法的步骤。
[0022]本申请所提供的并发数据的处理方法、并发数据的处理平台、电子设备及计算机可读存储介质,通过客户端节点对接收到的并发交易进行预处理,得到并发交易对应的事务提案;其中,并发交易所要处理的交易数据相同,并发交易对应的事务提案至少包括并发交易中第一个被响应的交易i对应的事务提案P
i
,以及与交易i不同的交易j对应的事务提案P
j
;通过记账节点创建事务提案P
i
的键值对(k,v
i
);其中,k表征交易数据的标识,v
i
表征交易i对应的交易值;通过记账节点创建事务提案P
j
的复合键值对((k,d),v
j
);其中,d表征交易j对应的交易标识,v
j
表征交易j对应的交易值;通过记账节点根据并发交易的处理顺
序,处理键值对(k,v
i
)对应的交易i;在交易i处理完成的情况下,通过记账节点处理复合键值对((k,d),v
j
)对应的交易j,并通过记账节本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种并发数据的处理方法,其特征在于,所述方法包括:通过客户端节点对接收到的并发交易进行预处理,得到所述并发交易对应的事务提案;其中,所述并发交易所要处理的交易数据相同,所述并发交易对应的事务提案至少包括所述并发交易中第一个被响应的交易i对应的事务提案P
i
,以及与所述交易i不同的交易j对应的事务提案P
j
;通过记账节点创建所述事务提案P
i
的键值对(k,v
i
);其中,所述k表征所述交易数据的标识,所述v
i
表征所述交易i对应的交易值;通过所述记账节点创建所述事务提案P
j
的复合键值对((k,d),v
j
);其中,所述d表征所述交易j对应的交易标识,所述v
j
表征所述交易j对应的交易值;通过所述记账节点根据所述并发交易的处理顺序,处理所述键值对(k,v
i
)对应的交易i;在所述交易i处理完成的情况下,通过所述记账节点处理所述复合键值对((k,d),v
j
)对应的所述交易j,并通过所述记账节点将所述并发交易对应的交易结果写入区块链。2.根据权利要求1所述的方法,其特征在于,所述通过客户端节点对接收到的并发交易进行预处理,得到所述并发交易对应的事务提案,包括:通过所述客户端节点获取所述交易数据的标识k;生成所述并发交易中每一交易对应的交易标识;基于所述交易数据的标识和所述每一交易对应的交易标识,生成所述每一交易对应的事务提案。3.根据权利要求1所述的方法,其特征在于,所述通过客户端节点对接收到的并发交易进行预处理之后,所述方法还包括:通过所述客户端节点确定所述交易数据的标识k对应的所述交易数据被加锁,通过所述客户端节点调用监听接口函数,监听所述并发交易的处理进度;若所述处理进度表征所述并发交易对应的所述交易结果写入所述区块链,通过所述客户端节点调用所述监听接口函数,对所述交易数据进行解锁,并释放所述监听接口函数。4.根据权利要求3所述的方法,其特征在于,所述通过记账节点创建所述事务提案P
i
的键值对(k,v
i
),包括:通过所述记账节点确定所述事务提案P
i
中不存在所述交易数据的标识k对应的锁标识符l,通过所述记账节点创建所述事务提案P
i
的键值对(k,v
i
)。5.根据权利要求3所述的方法,其特征在于,所述通过所述记账节点创建所述事务提案P
j
的复合键值对((k,d),v
j
),包括:通过所述记账节点确定所述事务提案P
j
中存在所述交易数据的标识k对应的锁标识符l,通过记账节点创建所述事务提案P
j
的复合键值对((k,d),v
j
)。6.根据权利要求1所述的方法,其特征在于,所述通过所述记账节点根据所述并发交易的处理顺序,处理所述键值对(k,v
i
)对应的交易i之前,所述方法包括:通过所述记账节点对所述事务提案P
i
的键值对(k,v
i
)和所述事务提案P
j
的复合键值对((k,d),v
j
)进行背书;...

【专利技术属性】
技术研发人员:徐璐
申请(专利权)人:中国移动通信集团有限公司
类型:发明
国别省市:

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

1