数据处理方法、装置、计算机设备以及存储介质制造方法及图纸

技术编号:25438796 阅读:21 留言:0更新日期:2020-08-28 22:27
本申请实施例公开了一种数据处理方法、装置、计算机设备以及存储介质,方法包括:获取区块链上的操作事务;操作事务包括第一交易请求和第二交易请求,在区块链上执行第一交易请求对应的第一交易操作,以及执行第二交易请求对应的第二交易操作,当第一交易操作和第二交易操作中存在任一个操作结果失败时,对操作结果成功的交易操作执行回滚处理。采用本申请,可以使区块链上的多个操作具有一致性,以及提高区块链上交易数据的准确性。

【技术实现步骤摘要】
数据处理方法、装置、计算机设备以及存储介质
本申请涉及计算机
,尤其涉及一种数据处理方法、装置、计算机设备以及存储介质。
技术介绍
区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算方式。简单的讲,区块链就是去中心化的分布式账本。当在区块链上执行多个操作时,可能出现部分操作成功部分操作失败的情况,多个操作不具有一致性,会降低区块链上交易数据的准确性。
技术实现思路
本申请实施例提供一种数据处理方法、装置、计算机设备以及存储介质,可以使区块链上的多个操作具有一致性,以及提高区块链上交易数据的准确性。本申请实施例一方面提供了一种数据处理方法,包括:获取区块链上的操作事务;所述操作事务包括第一交易请求和第二交易请求;在所述区块链上执行所述第一交易请求对应的第一交易操作,以及执行所述第二交易请求对应的第二交易操作;当所述第一交易操作和所述第二交易操作中存在任一个操作结果失败时,对操作结果成功的交易操作执行回滚处理。本申请实施例一方面提供了一种数据处理装置,包括:获取模块,用于获取区块链上的操作事务;所述操作事务包括第一交易请求和第二交易请求;执行模块,用于在所述区块链上执行所述第一交易请求对应的第一交易操作,以及执行所述第二交易请求对应的第二交易操作;回滚模块,用于当所述第一交易操作和所述第二交易操作中存在任一个操作结果失败时,对操作结果成功的交易操作执行回滚处理。其中,所述第一交易请求包括第一交易账户,所述第二交易请求包括第二交易账户,执行第一交易操作和第二交易操作时,所述第一交易账户和所述第二交易账户处于锁定状态;所述装置还包括:解除模块,用于解除所述第一交易账户和所述第二交易账户的锁定状态,生成所述操作事务执行失败的通知消息。其中,所述回滚模块具体用于:当所述第一交易操作是操作结果失败的交易操作,且第二交易操作是操作结果成功的交易操作时,将所述第二交易操作作为目标交易操作,对所述目标交易操作执行回滚处理;当所述第二交易操作是操作结果失败的交易操作,且第一交易操作是操作结果成功的交易操作时,将所述第一交易操作作为目标交易操作,对所述目标交易操作执行回滚处理。其中,所述目标交易操作包括转移操作和调整操作,所述转移操作是指在区块链上转移与目标交易量等量的资源数据,所述调整操作是指在与所述区块链关联的交易记录表中调整目标交易账户的剩余资源量;所述交易记录表用于记录所述区块链上的所有交易账户的剩余资源量;所述目标交易操作对应的交易请求包括所述目标交易量和所述目标交易账户。其中,所述回滚模块在对所述目标交易操作执行回滚处理时,具体用于:将存储在目标区块中的目标交易记录进行作废处理;所述目标区块属于所述区块链,所述目标区块是执行述转移操作后生成的区块,所述目标区块用于存储所述目标交易记录,根据所述目标交易量,在所述交易记录表中更新所述目标交易账户的剩余资源量;更新后的目标交易账户的剩余资源量与执行所述调整操作前的目标交易账户的剩余资源量相同。其中,所述获取模块,包括:获取单元,用于获取所述区块链上的第一交易请求和第二交易请求;组合单元,用于确定所述第一交易请求和所述第二交易请求的操作顺序,按照所述操作顺序将所述第一交易请求和所述第二交易请求组合为所述操作事务。其中,所述操作顺序包括:并行操作顺序和串行操作顺序;所述获取单元,具体用于:若所述第一交易请求和所述第二交易请求存在数据依赖关系,则确定所述第一交易请求和所述第二交易请求的操作顺序为串行操作顺序;若所述第一交易请求和所述第二交易请求不存在数据依赖关系,则确定所述第一交易请求和所述第二交易请求的操作顺序为并行操作顺序。其中,所述区块链包括第一区块链和第二区块链,所述第一区块链和所述第二区块链具有关联关系;所述第一交易请求是所述第一区块链上的请求,所述第二交易请求是所述第二区块链上的请求;所述执行模块,具体用于在所述第一区块链上执行所述第一交易请求对应的第一交易操作,以及在所述第二区块链上执行所述第二交易请求对应的第二交易操作。其中,所述数据处理方法由轻量节点执行,所述第一区块链对应第一区块链网络,所述第二区块链对应第二区块链网络,所述第一区块链网络包括所述轻量节点和第一共识节点,所述第二区块链网络包括所述轻量节点和所述第二共识节点;所述执行模块在所述第一区块链上执行所述第一交易请求对应的第一交易操作,以及在所述第二区块链上执行所述第二交易请求对应的第二交易操作时,具体用于将所述第一交易请求发送至所述第一共识节点,以使所述第一共识节点在所述第一区块链上执行第一交易操作;以及,将所述第二交易请求发送至所述第二共识节点,以使所述第二共识节点在所述第二区块链上执行第二交易操作。其中,还包括:接收模块,用于接收所述第一共识节点发送的第一交易操作的操作结果,以及接收所述第二共识节点发送的第二交易操作的操作结果。本申请实施例一方面提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述实施例中的方法。本申请实施例一方面提供了一种计算机存储介质,计算机存储介质存储有计算机程序,计算机程序包括程序指令,程序指令当被处理器执行时,执行上述实施例中的方法。本申请通过在区块链上执行第一交易操作和第二交易操作,当第一操作和第二操作中存在任一个操作失败时,对操作成功的交易操作执行回滚处理,执行回滚处理可以保证在区块链上的多个操作具有一致性,使得区块链可以回到执行第一操作和第二操作之前的状态,避免区块链上出现不准确的交易数据,提高区块链的稳定性。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本申请实施例提供的一种区块链网络的示意图;图2a-图2b是本申请实施例提供的一种数据处理的场景示意图;图3是本申请实施例提供的一种数据处理方法的示意图;图4是本申请实施例提供的一种数据处理方法的交互示意图;图5是本申请实施例提供的一种跨链执行事务的示意图;图6是本申请实施例提供的一种数据处理方法的流程示意图;图7是本申请实施例提供的一种数据处理装置的结构示意图;图8是本申请实施例提供的一种计算机设备的结构示意图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本文档来自技高网...

【技术保护点】
1.一种数据处理方法,其特征在于,包括:/n获取区块链上的操作事务;所述操作事务包括第一交易请求和第二交易请求;/n在所述区块链上执行所述第一交易请求对应的第一交易操作,以及执行所述第二交易请求对应的第二交易操作;/n当所述第一交易操作和所述第二交易操作中存在任一个操作结果失败时,对操作结果成功的交易操作执行回滚处理。/n

【技术特征摘要】
1.一种数据处理方法,其特征在于,包括:
获取区块链上的操作事务;所述操作事务包括第一交易请求和第二交易请求;
在所述区块链上执行所述第一交易请求对应的第一交易操作,以及执行所述第二交易请求对应的第二交易操作;
当所述第一交易操作和所述第二交易操作中存在任一个操作结果失败时,对操作结果成功的交易操作执行回滚处理。


2.根据权利要求1所述的方法,其特征在于,所述第一交易请求包括第一交易账户,所述第二交易请求包括第二交易账户,执行第一交易操作和第二交易操作时,所述第一交易账户和所述第二交易账户处于锁定状态;
在对操作结果成功的交易操作执行回滚处理的步骤之后,还包括:
解除所述第一交易账户和所述第二交易账户的锁定状态,生成所述操作事务执行失败的通知消息。


3.根据权利要求1所述的方法,其特征在于,所述当所述第一交易操作和所述第二交易操作中存在任一个操作结果失败时,对操作结果成功的交易操作执行回滚处理,包括:
当所述第一交易操作是操作结果失败的交易操作,且所述第二交易操作是操作结果成功的交易操作时,将所述第二交易操作作为目标交易操作,对所述目标交易操作执行回滚处理;
当所述第二交易操作是操作结果失败的交易操作,且所述第一交易操作是操作结果成功的交易操作时,将所述第一交易操作作为目标交易操作,对所述目标交易操作执行回滚处理。


4.根据权利要求3所述的方法,其特征在于,所述目标交易操作包括转移操作和调整操作,所述转移操作是指在区块链上转移与目标交易量等量的资源数据,所述调整操作是指在与所述区块链关联的交易记录表中调整目标交易账户的剩余资源量;所述交易记录表用于记录所述区块链上的所有交易账户的剩余资源量;所述目标交易操作对应的交易请求包括所述目标交易量和所述目标交易账户。


5.根据权利要求4所述的方法,其特征在于,所述对所述目标交易操作执行回滚处理,包括:
将存储在目标区块中的目标交易记录进行作废处理;所述目标区块属于所述区块链,所述目标区块是执行述转移操作后生成的区块,所述目标区块用于存储所述目标交易记录;
根据所述目标交易量,在所述交易记录表中更新所述目标交易账户的剩余资源量;更新后的目标交易账户的剩余资源量与执行所述调整操作前的目标交易账户的剩余资源量相同。


6.根据权利要求1所述的方法,其特征在于,所述获取区块链上的操作事务,包括:
获取所述区块链上的第一交易请求和第二交易请求;
确定所述第一交易请求和所述第二交易请求的操作顺序,按照所述操作顺序将所述第一交易请求和所述第二交易请求组合为所述操作事务。


7.根据权利要求6所述的方法,其特征在于,所述操作顺序包括:并行操作顺序和串行操...

【专利技术属性】
技术研发人员:李茂材王宗友时一防朱耿良蓝虎黄焕坤
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

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

1