[发明专利]交易打包方法、设备和存储介质在审
申请号: | 202010748641.0 | 申请日: | 2020-07-30 |
公开(公告)号: | CN111858773A | 公开(公告)日: | 2020-10-30 |
发明(设计)人: | 马登极;王志文;吴思进 | 申请(专利权)人: | 杭州复杂美科技有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F16/2455;G06Q40/04 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 310000 浙江省杭州市西湖*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 交易 打包 方法 设备 存储 介质 | ||
本发明提供一种交易打包方法、设备和存储介质,该方法包括:在判断出第一交易为有执行逻辑顺序的第一类交易时,根据第一交易的第一标识查找应当在第一交易前执行的各第二交易;在未记录在区块链上的各第二交易均在内存池中、且未记录在区块链上的各第二交易未均将被打包入第一区块时,调整各第二交易与若干将被打包入第一区块的没有执行逻辑顺序的第二类交易的打包顺序;在未记录在区块链上的各第二交易均在内存池中、且未记录在区块链上的各第二交易均将被打包入第一区块时,调整第一交易与未记录在区块链上的各第二交易的打包顺序以保证与第一执行逻辑顺序相同。本申请使得一笔跨链转账需求所生成的多笔交易能够按照执行逻辑顺序进行打包。
技术领域
本申请涉及区块链技术领域,具体涉及一种交易打包方法、设备和存储介质。
背景技术
在现有技术中,用户甲在主链上开设有账户A,在第一平行链上开设有账户a,用户乙在第一平行链上开设有账户b,用户丙在第一平行链上开设有账户c;用户甲想要将主链上的10coin转账至用户乙,会生成两笔交易,tx1(将A中的10coin转账至a),tx2(将a中的10coin转账至b);由于需要保证tx1执行的正确性,tx1不能与普通平行链转账交易(包括tx2)放入一个交易组来执行;由于P2P广播交易不保证顺序,交易池也不会为各交易排序,在把有顺序关联的交易打包进区块时候,有可能会先打包tx2再打包tx1,打包顺序与预期不一致。由于tx1、tx2是相互关联的两笔交易,用户希望tx1与tx2能够按执行逻辑顺序打包。
发明内容
鉴于现有技术中的上述缺陷或不足,期望提供一种为了实现一笔跨链转账需求所生成的多笔交易能够按照执行逻辑顺序进行打包的交易打包方法、设备和存储介质。
第一方面,本发明提供一种适用于区块链节点的交易打包方法,上述方法包括:
响应于获得第一区块高度的第一区块的打包权,从内存池中预确定若干即将被打包入第一区块的交易,并对各交易执行如下操作:
在判断出第一交易为有执行逻辑顺序的第一类交易时,根据第一交易的第一标识查找应当在第一交易前执行的各第二交易;
判断各第二交易是否均按照预配置的第一执行逻辑顺序记录在区块链上:
否,则判断未记录在区块链上的各第二交易是否均在内存池中:
是,则判断未记录在区块链上的各第二交易是否均将被打包入第一区块:
否,则调整未记录在区块链上的各第二交易与若干将被打包入第一区块的没有执行逻辑顺序的第二类交易的打包顺序,以保证第一交易与各第二交易将被共同打包入第一区块;其中,调整完的第一交易与各第二交易的打包顺序与预配置的第一交易与各第二交易的第一执行逻辑顺序相同;
是,则在第一交易与未记录在区块链上的各第二交易的打包顺序与第一执行逻辑顺序不同时,调整第一交易与未记录在区块链上的各第二交易的打包顺序以保证与第一执行逻辑顺序相同;
否,则暂不将第一交易打包入第一区块。
第二方面,本发明还提供一种设备,包括一个或多个处理器和存储器,其中存储器包含可由该一个或多个处理器执行的指令以使得该一个或多个处理器执行根据本发明各实施例提供的交易打包方法。
第三方面,本发明还提供一种存储有计算机程序的存储介质,该计算机程序使计算机执行根据本发明各实施例提供的交易打包方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州复杂美科技有限公司,未经杭州复杂美科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010748641.0/2.html,转载请声明来源钻瓜专利网。