[发明专利]一种区块链数据查询方法、装置、电子设备和存储介质在审
申请号: | 202310475359.3 | 申请日: | 2023-04-28 |
公开(公告)号: | CN116628021A | 公开(公告)日: | 2023-08-22 |
发明(设计)人: | 范宇辉;陈晓丰;朱小军;魏昊天;刘泽宇;缪圣友 | 申请(专利权)人: | 浙江大学 |
主分类号: | G06F16/2455 | 分类号: | G06F16/2455;H04L67/133;H04L69/22;G06F16/27 |
代理公司: | 杭州求是专利事务所有限公司 33200 | 代理人: | 贾玉霞 |
地址: | 310058 浙江*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 区块 数据 查询 方法 装置 电子设备 存储 介质 | ||
1.一种区块链数据查询方法,其特征在于,所述方法包括:
在确定区块链中产生新区块的情况下确定目标区块区间,其中,所述目标区块区间包括可能产生分叉导致回滚的区块;
确定所述目标区块区间内每个区块中的初始数据;
根据预设条件对所述初始数据进行解析,生成中间数据;
对所述目标区块区间内同一个区块对应的初始数据和中间数据进行关联,得到目标数据;
将所述目标数据导入内存数据库,以使去中心化应用对所述内存数据库进行数据查询。
2.根据权利要求1所述的区块链数据查询方法,其特征在于,确定所述目标区块区间内每个区块中的初始数据包括:
通过对所述新区块进行回滚检测,确定是否发生了回滚;
若确定未发生回滚,则将所述目标区块区间内区块上的原始数据作为所述初始数据;
若确定已发生回滚,则将所述目标区块区间内回滚后的区块上的数据作为所述初始数据。
3.根据权利要求2所述的区块链数据查询方法,其特征在于,若确定未发生回滚,则将所述目标区块区间内区块上的原始数据作为所述初始数据包括:
若确定未发生回滚,则采用线程池中的每个线程调用所述区块链中一个事件的事件索引;
通过所述事件索引提取以太坊的目标收据树中的日志信息,其中,所述目标收据树用于记录所述目标区块区间内区块上的交易相关信息;
对所述日志信息进行字节对齐和编码后,得到标准格式的原始数据;
将每个事件对应的原始数据作为所述初始数据。
4.根据权利要求3所述的区块链数据查询方法,其特征在于,采用线程池中的每个线程调用所述区块链中一个事件的事件索引之前,所述方法还包括:
对所述区块链中的智能合约进行编译并转化为标准序列化格式的数据文件;
对所述数据文件中的字节码进行分析,得到所述区块链中的事件;
提取所述事件的事件索引。
5.根据权利要求2所述的区块链数据查询方法,其特征在于,若确定已发生回滚,所述方法还包括:
阻塞监听线程和所述区块链中的每个事件对应的线程,并启动回滚矫正操作。
6.根据权利要求1所述的区块链数据查询方法,其特征在于,确定区块链中产生新区块包括:
启动监听线程,远程链接RPC节点,其中,所述RPC节点用于通过网络从远程计算机程序上请求服务;
通过所述监听线程对区块链中的各区块进行轮询,确定所述区块链中的最新区块高度;
若所述最新区块高度大于数据库中已存储的历史区块高度,则确定所述区块链中产生新区块。
7.根据权利要求1所述的区块链数据查询方法,其特征在于,将所述目标数据导入内存数据库之后,所述方法还包括:
若检测到再次发生回滚,则停止对当前的初始数据和中间数据进行关联,并保留所述内存数据库的查询功能;
启动回滚矫正操作后,删除所述目标区块区间内各区块中的初始数据、中间数据和目标数据,并根据回滚后的初始数据重新生成目标数据;
将所述重新生成的目标数据导入所述内存数据库中。
8.一种区块链数据查询装置,其特征在于,所述装置包括:
第一确定模块,用于在确定区块链中产生新区块的情况下确定目标区块区间,其中,所述目标区块区间包括可能产生分叉导致回滚的区块;
第二确定模块,用于确定所述目标区块区间内每个区块中的初始数据;
解析模块,用于根据预设条件对所述初始数据进行解析,生成中间数据;
关联模块,用于对所述目标区块区间内同一个区块对应的初始数据和中间数据进行关联,得到目标数据;
导入模块,用于将所述目标数据导入内存数据库,以使去中心化应用对所述内存数据库进行数据查询。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310475359.3/1.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置