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