[发明专利]一种按顺序打包交易的方法、装置及电子设备在审
申请号: | 202010697227.1 | 申请日: | 2020-07-20 |
公开(公告)号: | CN111882322A | 公开(公告)日: | 2020-11-03 |
发明(设计)人: | 王晓亮;张亚宁 | 申请(专利权)人: | 杭州溪塔科技有限公司 |
主分类号: | G06Q20/40 | 分类号: | G06Q20/40;G06Q40/04 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 310000 浙江省杭州市西湖区*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 顺序 打包 交易 方法 装置 电子设备 | ||
本说明书实施例涉及一种按顺序打包交易的方法、装置及电子设备,通过在交易中设置交易顺序标识,保证在该交易执行时,其执行顺序此交易之前的所有交易已执行完毕,无需担心区块链交易打包时的顺序关系。当用户在连续发送具有依赖关系的交易时,对于具有依赖关系的交易可以尽快打包到区块中,而不需要等待区块确定之后发送后续交易。对于在先依赖交易尚未执行的交易,放入等待队列后,通过一定的规则和策略,将符合条件的交易重新放入交易池;并通过清除等待队列中的早期交易以保证等待队列中的交易数量在预设范围内。
技术领域
本说明书实施例涉及网络技术领域,尤其涉及一种按顺序打包交易的方法、装置及电子设备。
背景技术
在区块链系统中,对于UTXO模型的交易,交易由用户端钱包生成,交易中包含执行的结果,链上只进行验证;交易采用input和output的方式组织,input中引用了其依赖的交易,交易天然具有顺序性。而对于Account模型的交易,交易只是用户要执行的方法调用,真正的执行是在链上的虚拟机进行的,根据区块链的世界状态生成交易结果。
因此,Account类型的交易对于用户而言,同一个业务,用户需要连续发送多个具有顺序性的交易才能完成。例如需要A、B、C、D这4个交易依次顺序被执行。此时用户只有待A在链上处理完成之后,才能发送后续交易B,同样发送B交易之后,需要等待B交易之后才能发送C交易。因此至少需要四个块才能被完全打包处理完成。如果用户一次性发送全部交易,因为交易首先会进入节点交易池,而在节点的交易池中,由于转发机制以及各个节点交易排序方式不同等原因,节点的交易打包的顺序不一定会符合用户最初的发送顺序,使得交易不能顺利执行。
发明内容
本说明书实施例提供一种按顺序打包交易的方法、装置及电子设备,用以解决现有技术中存在的无法按照预定的顺序进行交易打包和执行的问题。
为了解决上述技术问题,本说明书实施例采用下述技术方案:
第一方面,提供了一种按顺序打包交易的方法,应用于区块链系统,所述方法包括:
构造一个以上的交易并确定交易的执行顺序;
在交易中设置交易顺序标识,所述交易顺序标识表征了该交易的在先依赖交易;所述在先依赖交易为执行顺序在该交易之前的交易;
当前交易进入交易池之前,判断其所述交易顺序标识中表征的在先依赖交易是否执行完毕;
如果所述在先依赖交易执行完毕,则将所述当前交易放入交易池;
如果所述在先依赖交易在交易池中尚未执行,则将所述当前交易放入交易池,并将所述在先依赖交易优先于所述当前交易进行打包;
如果所述在先依赖交易尚未执行且尚未进入交易池,则将当前交易放入等待队列。
第二方面,提供了一种按顺序打包交易的装置,应用于区块链系统,所述装置包括:
交易构造单元:用于构造一个以上的交易并确定交易的执行顺序;
交易顺序标识单元:用于在交易中设置交易顺序标识,所述交易顺序标识表征了该交易的在先依赖交易;所述在先依赖交易为执行顺序在该交易之前的交易;
判断单元:用于当前交易进入交易池之前,判断其所述交易顺序标识中表征的在先依赖交易是否执行完毕;
交易处理单元:如果所述在先依赖交易执行完毕,则将所述当前交易放入交易池;如果所述在先依赖交易在交易池中尚未执行,则将所述当前交易放入交易池,并将所述在先依赖交易优先于所述当前交易进行打包;如果所述在先依赖交易尚未执行且尚未进入交易池,则将当前交易放入等待队列。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州溪塔科技有限公司,未经杭州溪塔科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010697227.1/2.html,转载请声明来源钻瓜专利网。