[发明专利]支持按顺序打包的交易池设计方法、电子设备有效
申请号: | 201910854494.2 | 申请日: | 2019-09-10 |
公开(公告)号: | CN110618859B | 公开(公告)日: | 2021-11-16 |
发明(设计)人: | 万涔涔;叶嘉雨 | 申请(专利权)人: | 杭州秘猿科技有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06Q40/04 |
代理公司: | 杭州天昊专利代理事务所(特殊普通合伙) 33283 | 代理人: | 刘芬豪 |
地址: | 310000 浙江省杭州市西湖区文三路*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 支持 顺序 打包 交易 设计 方法 电子设备 | ||
本发明公开了一种支持按顺序打包的交易池设计方法、电子设备和计算机可读存储介质。其中方法包括:对于每一个添加到交易池的交易,先进行验证签名,如果验证签名不通过则舍弃该交易,验证签名通过之后将交易与一个表示是否已经被删除的第一标识组装成一个包装交易;整个交易池包含两个队列,第二标识和哈希映射,其中所述两个队列用于存储包装交易,两个队列互为备份;所述第二标识用于标识现在正在使用的队列;所述哈希映射的键是交易的哈希,值是包装交易;交易池包括三种操作:插入新交易,打包交易,删除指定交易。本发明用于采用两个互补的队列实现支持按顺序打包的交易池设计。
技术领域
本发明属于区块链技术领域,具体涉及一种支持按顺序打包的交易池设计方法、电子设备和计算机可读存储介质。
背景技术
交易池部分是区块链系统中最性能要求很高的一个部分。在现有的交易池设计技术中往往不支持按顺序打包交易,因为现有的交易池结构中一般只有一个队列,在打包的过程中,需要将交易从队列中弹出。如果弹出的交易有部分未被打包,这部分交易应该回退到交易池中。但如果在回退之前又有新的交易插入到队尾,则打乱了原有的交易顺序,使得无法按顺序打包交易。
发明内容
鉴于以上存在的技术问题,本发明用于提供一种支持按顺序打包的交易池设计方法、电子设备和计算机可读存储介质,用于采用两个互补的队列实现支持按顺序打包的交易池设计。
为解决上述技术问题,本发明采用如下的技术方案:
第一方面,本申请实施例提供一种支持按顺序打包的交易池设计方法,包括:
对于每一个添加到交易池的交易,先进行验证签名,如果验证签名不通过则舍弃该交易,验证签名通过之后将交易与一个表示是否已经被删除的第一标识组装成一个包装交易;
整个交易池包含两个队列,第二标识和哈希映射,其中所述两个队列用于存储包装交易,两个队列互为备份;所述第二标识用于标识现在正在使用的队列;所述哈希映射的键是交易的哈希,值是包装交易;交易池包括三种操作:插入新交易,打包交易,删除指定交易。
第一方面的一种可能设计中,插入新交易为:包装交易插入到当前轮值的队列的尾部。
第一方面的一种可能设计中,打包交易为:交易池收到共识的打包交易的请求时,打包过程如下,从当前轮值的队列的头部开始弹出交易,把有删除标记的交易直接抛弃,没有删除标记的交易都按照弹出顺序插入到当前替补的队列中,当轮值队列的包装交易全部弹出后,交换两个队列的身份。
第一方面的一种可能设计中,删除指定交易为:交易池收到删除指定的交易的请求时,通过哈希映射找到交易对应的包装交易,将里面的删除标识设为已删除。
第二方面,本申请实施例提供了一种电子设备,包括存储器、处理器及存储在所述存储器是上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行上述的支持按顺序打包的交易池设计方法。
第三方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该程序被处理器执行实现上述支持按顺序打包的交易池设计方法。
采用本发明具有如下的有益效果:使用两个队列互为替补的方式能够解决按顺序打包交易的问题。当交易被打包时,把所有交易从当前队列弹出,删除带有删除标识的之后插入到另一个队列中,并更换两个队列的角色就可以时刻保持队列中交易的顺序性,实现支持按顺序打包的交易池设计。
附图说明
图1为本发明实施例的支持按顺序打包的交易池设计方法的步骤流程图;
图2为本发明实施例的电子设备的结构示意图。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州秘猿科技有限公司,未经杭州秘猿科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910854494.2/2.html,转载请声明来源钻瓜专利网。