[发明专利]数据查询方法及系统、共识方法及系统、设备和存储介质有效
申请号: | 201810884295.1 | 申请日: | 2018-08-06 |
公开(公告)号: | CN109408551B | 公开(公告)日: | 2021-07-06 |
发明(设计)人: | 王志文;吴思进 | 申请(专利权)人: | 杭州复杂美科技有限公司 |
主分类号: | G06F16/2458 | 分类号: | G06F16/2458;G06F16/22;G06Q40/04 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 310000 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 查询 方法 系统 共识 设备 存储 介质 | ||
本发明提供一种数据查询方法及系统、共识方法及系统、设备和存储介质,区块链网络的各节点分别存储有每个区块的默克尔树,以及对应于每个区块的默克尔树的全局索引表,上述版本的版本号为区块高度,该数据查询方法包括:接收查询指令;其中,查询指令包括所查询的第一区块高度;根据第一区块高度在全局索引表中查找目标数据。本发明通过为默克尔树配置相对应的、以区块高度为版本号的全局索引表,并通过所查询的区块高度在全局索引表中查找目标数据,实现了通过一次读操作即可完成对区块链中默克尔树叶子节点数据的查询,从而大幅提升了系统的数据读取性能。
技术领域
本申请涉及区块链技术领域,具体涉及一种数据查询方法及系统、共识方法及系统、设备和存储介质。
背景技术
当前区块链系统的数据读写的解决方案中,通常会利用默克尔树(Merkle Tree)的结构,例如比特币的系统中通过默克尔树进行spv验证、以太坊的系统中通过默克尔前缀树(Merkle Patricia Tree,简称MPT)进行数据的读写,等等。
当前通过默克尔树进行数据查询的缺陷在于,查询一笔交易的数据需要通过多次读操作来完成,例如,对于一颗20层的默克尔树,查询一个叶子节点的数据需要进行20次读操作来完成,导致数据查询的效率仅为普通数据库的查询效率的1/20,对于每秒能完成10万次读操作的系统,每秒仅能读取5000笔交易的数据,大幅限制了系统的读取性能。
发明内容
鉴于现有技术中的上述缺陷或不足,期望提供一种通过一次读操作即可完成区块链中交易数据查询的数据查询方法及系统、共识方法及系统、设备和存储介质。
第一方面,本发明提供一种数据查询方法,区块链网络的各节点分别存储有每个区块的默克尔树,以及对应于每个区块的默克尔树的全局索引表,该全局索引表以区块高度为版本号,上述方法包括:
接收查询指令;其中,查询指令包括所查询的第一区块高度;
根据第一区块高度在全局索引表中查找目标数据。
第二方面,本发明提供一种数据查询系统,配置于区块链网络的节点中,节点包括第一数据存储单元和第二数据存储单元;
第一数据存储单元配置用于存储每个区块的默克尔树;
第二数据存储单元配置用于存储对应于每个区块的默克尔树的全局索引表;
该全局索引表以区块高度为版本号;
该数据查询系统包括接收单元和查询单元;
接收单元配置用于接收查询指令;其中,查询指令包括所查询的第一区块高度;
查询单元配置用于根据第一区块高度在全局索引表中查找目标数据。
第三方面,本发明还提供一种共识方法,包括:
通过上述数据查询方法查找交易所需的业务数据;
根据业务数据和交易构建最新版本的默克尔树;
根据最新版本的默克尔树更新全局索引表,将最新版本的默克尔树的根节点哈希打包至区块中进行共识;
根据最新版本的默克尔树或更新后的全局索引表更新所存储的每个区块的默克尔树。
第四方面,本发明还提供一种共识系统,包括查找单元、构建单元、第一存储单元、共识单元和第二存储单元;
查找单元配置用于通过上述数据查询系统查找交易所需的业务数据;
构建单元配置用于根据业务数据和交易构建最新版本的默克尔树;
第一存储单元配置用于根据最新版本的默克尔树更新全局索引表;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州复杂美科技有限公司,未经杭州复杂美科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810884295.1/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置