[发明专利]一种保持区块链交易状态基线一致性的方法在审
| 申请号: | 201911425709.5 | 申请日: | 2019-12-31 |
| 公开(公告)号: | CN111222881A | 公开(公告)日: | 2020-06-02 |
| 发明(设计)人: | 白玉龙 | 申请(专利权)人: | 陕西医链区块链集团有限公司 |
| 主分类号: | G06Q20/38 | 分类号: | G06Q20/38 |
| 代理公司: | 暂无信息 | 代理人: | 暂无信息 |
| 地址: | 710061 陕西省西安市*** | 国省代码: | 陕西;61 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 保持 区块 交易 状态 基线 一致性 方法 | ||
本发明属于区块链交易数据处理技术领域,具体涉及一种保持区块链交易状态基线一致性的方法,所述方法包括,记录各交易节点的交易情况快照;广播所述交易情况快照给其他交易节点;缓存所述交易情况快照;生成交易回滚方案;按照所述交易回滚方案回滚相关交易。本发明有效的解决了传统技术不支持交易的乱序执行和无法保证乱序执行时的状态基线的一致性问题,加快了交易的进度。
技术领域
本发明属于区块链交易数据处理技术领域,具体涉及一种保持区块链交易状态基线一致性的方法。
背景技术
传统区块链中,都是通过验证块的方式确保交易按同样的顺序执行,从而保证各生产节点的状态基线一致性,不支持交易的乱序执行,无法保证乱序执行时的状态基线一致。在交易乱序执行框架下,生产节点执行其他节点发来的交易失败信息,但是最终其他节点都执行成功,且在执行成功的节点达成了共识的情况下,该节点需要重播才能与其他节点达成状态一致。这样无形当中就减缓了交易的进度。
发明内容:
本发明属于区块链交易数据的处理技术领域,具体涉及一种保持区块链交易状态基线一致性的方法,该方法提供了最小成本的回滚重做方案来保证状态一致性。具体地为,在某个交易节点交易失败的情况下,按多个交易队列执行情况综合计算后进行小成本回滚,并重新执行该失败的交易,如此便能够小成本的与其他节点达成状态一致。有效的解决了传统技术不支持交易的乱序执行和无法保证乱序执行时的状态基线的一致性问题,加快了交易的进度。
本发明是通过以下技术方案来实现:
一种保持区块链交易状态基线一致性的方法,所述方法包括,
记录各交易节点的交易情况快照;
广播所述交易情况快照给其他交易节点;
缓存所述交易情况快照;
生成交易回滚方案;
按照所述交易回滚方案回滚相关交易。
进一步地,所述交易情况快照包括交易执行前的顺序号快照和交易执行中的执行情况快照。
进一步地,所述交易执行中的执行情况快照包括交易执行中的状态基线高度。
进一步地,缓存所述交易情况快照为各交易节点收到其他交易节点广播出来的交易情况快照后,缓存所有交易节点的交易情况快照。
进一步地,所述生成交易回滚方案具体包括如下步骤:
判断各节点执行交易是否成功,
若是,则进一步判断各交易节点状态基线是否存在高度差;
若否,则提取最高和最低状态基线高度,并生成最小成本回滚方案,并重新执行该交易。
进一步地,所述生成最小成本回滚方案为:利用提取的最高和最低状态基线高度计算出平均状态基线高度,将交易失败节点的状态基线高度调整至该平均高度,并进行交易回滚。
进一步地,所述进一步判断各交易节点状态基线是否存在高度差还包括,
若否,则继续交易;
若是,则提取最高和最低状态基线高度,并将各交易节点状态基线高度调整至平均状态基线高度。
进一步地,一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述方法。
进一步地,一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述方法的计算机程序。
与现有技术相比,本发明具有以下有益的技术效果:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于陕西医链区块链集团有限公司,未经陕西医链区块链集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911425709.5/2.html,转载请声明来源钻瓜专利网。





