[发明专利]一种区块链账本数据抓取解析方法有效
申请号: | 202110662349.1 | 申请日: | 2021-06-15 |
公开(公告)号: | CN113268546B | 公开(公告)日: | 2022-04-01 |
发明(设计)人: | 曾青海;赵小峰;白健;安红章 | 申请(专利权)人: | 中国电子科技网络信息安全有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F16/21;G06F16/22;G06F16/2458 |
代理公司: | 成都九鼎天元知识产权代理有限公司 51214 | 代理人: | 贾年龙 |
地址: | 610207 四川省成都市*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 区块 账本 数据 抓取 解析 方法 | ||
1.一种区块链账本数据抓取解析方法,其特征在于,包括步骤:
S1,指定需要抓取解析的区块链节点,与区块链节点建立连接,获取该节点中的所有通道;为每个通道启动抓取数据线程,注册事件监听程序,监听通道的出块事件,对账本数据进行抓取;
S2,抓取到账本数据后,进行解析,解析出区块和交易数据;
S3,将解析出的数据,按通道、区块哈希、交易哈希进行分库分表存储;在步骤S3中,所述分库分表存储包括对数据库分表处理和对数据库分库处理;在对数据库分表处理中,对表进行水平拆分,将一个大表拆分成多个小表,通过分库分表算法将数据按设定的规则落在不同的小表中,插入和查询时按相同规则进行;在对数据库分库处理中,通过搭建多个数据库实例,将数据按设定的分库分表算法存储在不同的数据库中;所述分库分表算法是根据区块链通道,结合区块hash或交易hash共同来计算一个区块或者一条交易存储在哪一张数据库表中;账本的数据包含区块数据和交易数据,按分库分表算法分别进行存储;通过区块hash或者交易hash能够映射到一种数据库表中,快速定位到该数据对应的存储表,进行存储或者查询数据;分库分表算法的规则设置为:table_name={通道名称}_{区块哈希block_hash或交易哈希tx_hash%n};
S4,对数据库进行扩容,当账本的数据越来越多时,对数据库进行扩容,所述扩容包括水平扩容;
S5,对数据迁移,在数据扩容后,对数据进行迁移,将数据分摊到扩容后的数据库中,使数据分布更均衡。
2.根据权利要求1所述的一种区块链账本数据抓取解析方法,其特征在于,在步骤S1中,包括如下步骤:
S11,抓取连接区块链系统的peer节点;
S12,对区块链peer节点进行查询,获取所有的通道信息,并设置定时任务,定期检查新增的通道;
S13,查询到通道或者有新增的通道,对通道进行注册监听程序,设置账本同步的起止高度,初始化通道;
S14,启动抓取线程,接收监听到的区块链账本数据,并存入缓存中。
3.根据权利要求2所述的一种区块链账本数据抓取解析方法,其特征在于,在步骤S11中,包括如下步骤:
S111,加载peer节点的配置信息,所述配置信息包括连接peer的用户、用户身份、用户证书信息、peer的连接地址;
S112,创建连接的客户端实例。
4.根据权利要求3所述的一种区块链账本数据抓取解析方法,其特征在于,在步骤S13中,包括如下步骤:
S131,通过客户端实例获取每个peer节点加入的通道信息;
S132,对每个peer节点的通道进行去重,避免重复抓取数据;
S133,创建客户端通道;
S134,配置通道监听程序,监听区块数据;
S135,设置区块账本同步的起止高度,初始化通道。
5.根据权利要求1所述的一种区块链账本数据抓取解析方法,其特征在于,在步骤S2中,包括如下步骤:
S21,启动数据解析线程;
S22,从缓存中获取账本数据,并进行解析,将账本数据的关键信息区块和交易数据解析出来。
6.根据权利要求5所述的一种区块链账本数据抓取解析方法,其特征在于,在步骤S22中,包括如下步骤:
S221,解析账本的区块信息,所述区块信息包括区块头hash、区块hash、区块高度、交易数;
S222,解析区块的交易信息,所述交易信息包括交易hash、区块高度、所属区块、通道名称、合约名称、交易执行参数、读集、写集、交易时间。
7.根据权利要求1所述的一种区块链账本数据抓取解析方法,其特征在于,在步骤S4中,包括步骤:
S41,搭建数据库服务,创建新的数据库资源;
S42,注册数据库服务,获取并保存数据库的连接信息;
S43,将新增的数据库服务添加到需要扩容的存储中;
S44,更新扩容后存储的版本信息。
8.根据权利要求1所述的一种区块链账本数据抓取解析方法,其特征在于,在步骤S5中,包括步骤:
S51,根据当前的存储版本生成数据迁移任务,数据迁移的任务数据根据数据库扩容的大小来设定;
S52,每个数据迁移任务启动一个线程;
S53,执行数据迁移任务,将数据迁移到新扩容的数据库中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国电子科技网络信息安全有限公司,未经中国电子科技网络信息安全有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110662349.1/1.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置