基于区块链的数据处理方法、装置、设备及可读存储介质制造方法及图纸

技术编号:29940704 阅读:67 留言:0更新日期:2021-09-04 19:25
本发明专利技术公开了一种基于区块链的数据处理方法、装置、设备及可读存储介质,该方法包括:将交易池中具有相同群组标识的一个或多个交易数据,确定为群组交易数据;将每个群组交易数据打包进提议区块中,按序执行提议区块中的每个群组交易数据,得到已执行完的交易执行结果;若已执行完的交易执行结果中包含交易执行失败结果,则将每个群组交易数据对应的交易执行结果均更新为交易执行失败结果,根据每个群组交易数据对应的交易执行失败结果更新提议区块,得到目标提议区块;在目标提议区块共识通过时,对目标提议区块以及每个群组交易数据对应的交易执行失败结果进行记账处理。采用本发明专利技术,可以有效解决区块链中多方协作交易下的信任问题。信任问题。信任问题。

【技术实现步骤摘要】
基于区块链的数据处理方法、装置、设备及可读存储介质


[0001]本申请涉及计算机
,尤其涉及一种基于区块链的数据处理方法、装置、设备及可读存储介质。

技术介绍

[0002]区块链是一种分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式,主要用于对数据按时间顺序进行整理,并加密成账本,使其不可被篡改和伪造,同时可进行数据的验证、存储和更新。区块链还可以进行数据加密传输、节点识别和安全访问,是一种先进的分布式基础架构。目前,因为区块链的不可篡改性与真实性,对于区块链的应用也越来越多。
[0003]交易是区块链系统中的最小请求单元,一个交易可以视为对区块链服务端的一次操作请求,该操作请求授权区块链系统执行一些交易操作。但是一个交易只涉及个人或者双方,在多方协作的场景下,往往就会产生多个交易,这些交易理应同时执行成功或者失败,才能保证所有参与方的利益。然而,现有区块链系统中,不同交易之间在区块链上是相互独立和隔离的,多方协作的场景下产生的多个交易,如果部分交易执行失败,已经执行成功的交易仍然会被写入区块链账本中,倘若获利的参与方不愿针对失败的交易发起新的交易,部分参与方的利益就可能会受到损失,多方协作交易下的信任问题亟待解决。

技术实现思路

[0004]本申请实施例提供了一种基于区块链的数据处理方法、装置、设备及可读存储介质,可以有效解决区块链中多方协作交易下的信任问题。
[0005]本申请实施例一方面提供了一种基于区块链的数据处理方法,包括:共识节点将交易池中具有相同群组标识的一个或多个交易数据,确定为群组交易数据;将每个群组交易数据打包进提议区块中,按序执行提议区块中的每个群组交易数据,得到已执行完的交易执行结果;若已执行完的交易执行结果中包含交易执行失败结果,则将每个群组交易数据对应的交易执行结果均更新为交易执行失败结果,根据每个群组交易数据对应的交易执行失败结果更新提议区块,得到目标提议区块;在目标提议区块共识通过时,对目标提议区块以及每个群组交易数据对应的交易执行失败结果进行记账处理。
[0006]本申请实施例一方面提供了一种基于区块链的数据处理方法,包括:业务节点接收终端设备发送的针对多方协作交易的交易请求;根据交易请求确定多方协作交易对应的群组标识;根据多方协作交易对应的群组标识和交易请求生成具有群组标识的交易数据,将交易数据添加进交易池中;
其中,交易池中具有相同群组标识的一个或多个交易数据会被共识节点确定为群组交易数据;共识节点用于将每个群组交易数据打包进提议区块中,按序执行提议区块中的每个群组交易数据,得到已执行完的交易执行结果;共识节点还用于在已执行完的交易执行结果中包含交易执行失败结果时,将每个群组交易数据对应的交易执行结果均更新为交易执行失败结果。
[0007]本申请实施例一方面提供了一种基于区块链的数据处理装置,包括:群组确定模块,用于将交易池中具有相同群组标识的一个或多个交易数据,确定为群组交易数据;打包模块,用于将每个群组交易数据打包进提议区块中;区块执行模块,用于按序执行提议区块中的每个群组交易数据,得到已执行完的交易执行结果;结果更新模块,用于若已执行完的交易执行结果中包含交易执行失败结果,则将每个群组交易数据对应的交易执行结果均更新为交易执行失败结果;区块更新模块,用于根据每个群组交易数据对应的交易执行失败结果更新提议区块,得到目标提议区块;记账模块,用于在目标提议区块共识通过时,对目标提议区块以及每个群组交易数据对应的交易执行失败结果进行记账处理。
[0008]其中,群组确定模块,包括:获取单元,用于从交易池中获取目标交易数据;目标交易数据包含目标群组标识和目标群组交易数量;数据添加单元,用于将目标交易数据添加进目标群组标识对应的群组缓存队列中,得到更新群组缓存队列;第一确定单元,用于若更新群组缓存队列中的交易数据的数量等于目标群组交易数量,则将更新群组缓存队列中的交易数据,确定为群组交易数据;第二确定单元,用于若更新群组缓存队列中的交易数据的数量小于目标群组交易数量,则从交易池中继续获取包含目标群组标识的交易数据。
[0009]其中,第二确定单元,包括:第一判断子单元,用于若更新群组缓存队列中的交易数据的数量小于目标群组交易数量,且当前时间处于缓存时间段内,则从交易池中继续获取包含目标群组标识的交易数据;第二判断子单元,用于若更新群组缓存队列中的交易数据的数量小于目标群组交易数量,且当前时间超出缓存时间段,则将更新群组缓存队列中的交易数据重新放入交易池中,清空更新群组缓存队列。
[0010]其中,每个群组交易数据中均包含执行顺序标识;打包模块,包括:排序单元,用于根据每个群组交易数据中包含的执行顺序标识,对每个群组交易数据进行排序处理,得到排序后的群组交易数据;打包单元,用于将排序后的群组交易数据打包进提议区块中。
[0011]其中,群组交易数据的数量为S,S为正整数;
区块执行模块,包括:交易执行单元,用于获取提议区块中第k个群组交易数据,执行第k个群组交易数据,得到第k个群组交易数据对应的交易执行结果;k为小于S的正整数;第一结果确定单元,用于若第k个群组交易数据对应的交易执行结果为交易执行成功结果,则继续执行提议区块中第k+1个群组交易数据;第二结果确定单元,用于若第k+1个群组交易数据对应的交易执行结果为交易执行失败结果,则将提议区块中第k+2个群组交易数据至第S个群组交易数据分别对应的交易执行结果,均确定为交易执行失败结果,将每个群组交易数据分别对应的交易执行结果作为已执行完的交易执行结果。
[0012]其中,区块更新模块,包括:树生成单元,用于根据每个群组交易数据对应的交易执行失败结果生成结果默克尔树;结果默克尔树中包括树根哈希值;树添加单元,用于将树根哈希值添加进提议区块的区块头,得到目标提议区块。
[0013]其中,数据处理装置,还包括:广播模块,用于将提议区块广播至共识网络中的可通信共识节点;可通信共识节点用于执行提议区块中的每个群组交易数据,根据每个群组交易数据对应的交易执行结果更新提议区块,得到可通信目标提议区块;哈希值处理模块,用于将目标提议区块的区块哈希值广播至可通信共识节点,且接收可通信共识节点发送的可通信目标提议区块的区块哈希值,将可通信目标提议区块的区块哈希值确定为待匹配区块哈希值;共识模块,用于若与目标提议区块的区块哈希值相同的待匹配区块哈希值的数量大于共识数量阈值,则确定目标提议区块共识通过。
[0014]本申请实施例一方面提供了一种基于区块链的数据处理装置,包括:请求接收模块,用于接收终端设备发送的针对多方协作交易的交易请求;标识确定模块,用于根据交易请求确定多方协作交易对应的群组标识;数据添加模块,用于根据多方协作交易对应的群组标识和交易请求生成具有群组标识的交易数据,将交易数据添加进交易池中。
[0015]其中,交易池中具有相同群组标识的一个或多个交易数据会被共识节点确定为群组交易数据;共识节点用于将每个群组交易数据打包本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于区块链的数据处理方法,其特征在于,包括:共识节点将交易池中具有相同群组标识的一个或多个交易数据,确定为群组交易数据;将每个所述群组交易数据打包进提议区块中,按序执行所述提议区块中的每个所述群组交易数据,得到已执行完的交易执行结果;若所述已执行完的交易执行结果中包含交易执行失败结果,则将每个所述群组交易数据对应的交易执行结果均更新为交易执行失败结果,根据每个所述群组交易数据对应的交易执行失败结果更新所述提议区块,得到目标提议区块;在所述目标提议区块共识通过时,对所述目标提议区块以及每个所述群组交易数据对应的交易执行失败结果进行记账处理。2.根据权利要求1所述的方法,其特征在于,所述共识节点将交易池中具有相同群组标识的一个或多个交易数据,确定为群组交易数据,包括:共识节点从交易池中获取目标交易数据;所述目标交易数据包含目标群组标识和目标群组交易数量;将所述目标交易数据添加进所述目标群组标识对应的群组缓存队列中,得到更新群组缓存队列;若所述更新群组缓存队列中的交易数据的数量等于所述目标群组交易数量,则将所述更新群组缓存队列中的交易数据,确定为群组交易数据;若所述更新群组缓存队列中的交易数据的数量小于所述目标群组交易数量,则从所述交易池中继续获取包含所述目标群组标识的交易数据。3.根据权利要求2所述的方法,其特征在于,所述若所述更新群组缓存队列中的交易数据的数量小于所述目标群组交易数量,则从所述交易池中继续获取包含所述目标群组标识的交易数据,包括:若所述更新群组缓存队列中的交易数据的数量小于所述目标群组交易数量,且当前时间处于缓存时间段内,则从所述交易池中继续获取包含所述目标群组标识的交易数据;若所述更新群组缓存队列中的交易数据的数量小于所述目标群组交易数量,且当前时间超出所述缓存时间段,则将所述更新群组缓存队列中的交易数据重新放入所述交易池中,清空所述更新群组缓存队列。4.根据权利要求1所述的方法,其特征在于,每个所述群组交易数据中均包含执行顺序标识;所述将每个所述群组交易数据打包进提议区块中,包括:根据每个所述群组交易数据中包含的执行顺序标识,对每个所述群组交易数据进行排序处理,得到排序后的群组交易数据;将所述排序后的群组交易数据打包进提议区块中。5.根据权利要求1所述的方法,其特征在于,所述群组交易数据的数量为S,S为正整数;所述按序执行所述提议区块中的每个所述群组交易数据,得到已执行完的交易执行结果,包括:获取所述提议区块中第k个群组交易数据,执行所述第k个群组交易数据,得到所述第k个群组交易数据对应的交易执行结果;k为小于S的正整数;
若所述第k个群组交易数据对应的交易执行结果为交易执行成功结果,则继续执行所述提议区块中第k+1个群组交易数据;若所述第k+1个群组交易数据对应的交易执行结果为交易执行失败结果,则将所述提议区块中第k+2个群组交易数据至第S个群组交易数据分别对应的交易执行结果,均确定为交易执行失败结果,将每个所述群组交易数据分别对应的交易执行结果作为已执行完的交易执行结果。6.根据权利要求1所述的方法,其特征在于,所述根据每个所述群组交易数据对应的交易执行失败结果更新所述提议区块,得到目标提议区块,包括:根据每个所述群组交易数据对应的交易执行失败结果生成结果默克尔树;所述结果默克尔树中包括树根哈希值;将所述树根哈希值添加进所述提议区块的区块头,得到目标提议区块。7.根据权利要求1所述的方法,其特征在于,还包括:将所述提议区块广播至共识网络中的可通信共识节点;所述可通信共识节点用于执行所述提议区块中的每个所述群组交易数据,根据每...

【专利技术属性】
技术研发人员:时一防
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1