[发明专利]区块链系统、数据存储方法、数据存储装置和设备及介质在审
申请号: | 201911383919.2 | 申请日: | 2019-12-28 |
公开(公告)号: | CN111159295A | 公开(公告)日: | 2020-05-15 |
发明(设计)人: | 胡聪聪 | 申请(专利权)人: | 深圳市网心科技有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F16/22;G06F16/2458 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 王兆林 |
地址: | 518052 广东省深圳市前海深港合作区前*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 区块 系统 数据 存储 方法 装置 设备 介质 | ||
本申请提供一种区块链系统、数据存储方法、装置和电子设备及计算机可读存储介质,区块链系统包括:多个共识节点和多个同步节点,多个共识节点为共识轻量节点,用于对接收到的待共识的区块数据进行共识,并以KV键值对形式存储当前已通过共识的区块数据;多个同步节点包括至少一个全量节点,全量节点用于以MPT树形式存储从共识节点同步的已通过共识的区块数据。本申请中同步节点至少包括一个以MPT树形式存储从共识节点同步的已通过共识的区块数据,保存了历史数据,共识节点均为共识轻量节点,以KV键值对形式存储当前已通过共识的区块数据,因此在进行读写操作时均会只触发一次磁盘操作,解决了读写放大的问题,降低了整体读写开销。
技术领域
本申请涉及存储技术领域,特别涉及一种区块链系统、数据存储方法、数据存储装置和电子设备及计算机可读存储介质。
背景技术
区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算方式。
相关技术中,利用MPT存储结构进行数据存储,在实际的区块链项目中,随着数据量的增长,MPT高度会持续增长。在查询状态过程中,如果内存状态树中缺少某节点,则需要从底层数据库中加载数据到内存中。随着数据量的增大、查询延时越来越大,如果key对应的value被修改,对应叶子节点到根节点路径上所有节点都要更新并写到磁盘,造成写放大;并且,如果应用层读一个key,可能会触发底层读取一系列的节点构建MPT树最终找到存储在叶子节点中的value,造成读放大。
因此,如何提供一种解决上述技术问题的方案是本领域技术人员目前需要解决的问题。
发明内容
本申请的目的是提供一种区块链系统、数据存储方法、数据存储装置、电子设备和计算机可读存储介质,能够解决读写放大的问题,提升区块链系统的运行性能。其方案如下:
为实现上述目的,本申请公开了一种区块链系统,包括:多个共识节点和多个同步节点,其中,
所述多个共识节点为共识轻量节点,用于对接收到的待共识的区块数据进行共识,并以KV键值对形式存储当前已通过共识的区块数据;
所述多个同步节点包括至少一个全量节点,所述全量节点用于以MPT树形式存储从所述共识节点同步的已通过共识的区块数据。
可选的,所述多个同步节点还包括至少一个同步轻量节点,所述同步轻量节点用于接收外部交易数据,并将所述外部交易数据转发至所述多个共识节点。
可选的,所述同步轻量节点,还用于以所述KV键值对形式存储预设时间段内已通过共识的区块数据。
可选的,所述全量节点,还用于当接收到历史数据查询指令时,提取与所述历史数据查询指令对应的历史区块数据。
可选的,所述共识轻量节点,还用于将所述当前已通过共识的区块数据存储至wal文件,以使所述区块链系统发生异常且重启后,所述共识轻量节点根据所述wal文件进行数据恢复。
为实现上述目的,本申请公开了一种数据存储方法,应用于区块链系统中的共识节点,包括:
接收待共识的区块数据;
对所述区块数据进行共识;
将当前通过共识的区块数据以KV键值对形式存储。
可选的,所述将当前通过共识的区块数据以KV键值对形式存储之后,还包括:
将所述当前已通过共识的区块数据存储至wal文件;
当所述区块链系统发生异常且重启后,所述共识节点根据所述wal文件进行数据恢复。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市网心科技有限公司,未经深圳市网心科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911383919.2/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置