一种区块链账本的存储系统技术方案

技术编号:28712793 阅读:76 留言:0更新日期:2021-06-06 00:48
本发明专利技术公开了一种接口模块、账本逻辑模块、数据库模块与文件存储模块;所述接口模块,用于向区块链网络节点提供节点注册接口、存储完整区块接口、存储简略区块接口和查询统计接口;账本逻辑模块,用于向区块链节点提供注册、存储区块及数字签名、查询统计功能,同时修复账本、维护账本日志和状态数据库的完整一致性;数据库模块,由一个概要数据库和若干个状态数据库构成;为每个区块链账本建立一个状态数据库,并维护一个概要数据库,包括所有区块链账本概要数据和节点概要数据;文件存储模块,用于存储每个区块链账本的账本日志、运行日志和若干个节点的数字证书。日志和若干个节点的数字证书。日志和若干个节点的数字证书。

【技术实现步骤摘要】
一种区块链账本的存储系统


[0001]本专利技术涉及计算机、数据存储与分布式计算
,尤其涉及一种区块链账本的存储系统。

技术介绍

[0002]区块链账本是一种分布式数据库,通常由状态数据库和账本日志构成,状态数据库存储区块数据的最新状态,用数据库技术实现,账本日志以区块编号为序存储完整的区块数据,用磁盘文件实现。
[0003]为了防止区块链节点篡改区块数据,区块链网络的每个节点存储一份完整的状态数据库和账本日志,利用约定的共识算法达成共识。为了防止部分节点合谋劫持区块链网络,区块链网络的节点数量应尽可能多。
[0004]区块链账本完整地、分散地存储在每个节点上,给节点的存储系统造成压力。例如在Hyperledger Fabric网络中,以Docker方式实现Peer节点,每个节点存储一份完整的账本,多个Peer节点在宿主机上存储多份完全一致的状态数据库和账本日志。经过一定时间的使用,宿主机的存储系统面临压力,网络中的用户数量越多,交易越频繁,区块链网络使用时间越长,宿主机的存储压力便最大。
[0005]区块链账本分本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种区块链账本的存储系统,其特征在于,所述系统包括:接口模块、账本逻辑模块、数据库模块与文件存储模块;所述接口模块,用于向区块链网络节点提供节点注册接口、存储完整区块接口、存储简略区块接口和查询统计接口;账本逻辑模块,用于向区块链节点提供注册、存储区块及数字签名、查询统计功能,同时修复账本、维护账本日志和状态数据库的完整一致性;数据库模块,由一个概要数据库和若干个状态数据库构成;为每个区块链账本建立一个状态数据库,并维护一个概要数据库,包括所有区块链账本概要数据和节点概要数据;文件存储模块,用于存储每个区块链账本的账本日志、运行日志和若干个节点的数字证书。2.如权利要求1所述的区块链账本的存储系统,其特征在于,所述账本逻辑模块至少包括注册模块、完整区块模块、简略区块模块、查询模块、统计模块和异常处理模块;所述注册模块,用于接收区块链网络节点的注册请求;完整区块模块,用于将网络节点传递来的完整区块写入账本日志,并更新区块链账本的状态数据库;简略区块模块,用于将网络节点传递来的数字签名更新到指定区块记录中;查询模块,通过接口模块的查询统计接口向外界提供区块及负载数据的查询功能,至少包括区块查询、负载数据查询以及概要查询;统计模块,用于通过接口模块的查询统计接口向外界提供统计功能,至少包括指定节点已签名的区块数、指定节点的活动轨迹、指定节点的离线统计、指定节点的负载统计、指定区块链网络的节点活跃统计;异常处理模块,用于在系统运行过程中处理异常现象,至少包括:实时修复、事后根据运行日志修复错误并清理运行日志、解析账本日志并修复账本日志错误、解析账本日志修补状态数据库里缺失的数据项。3.如权利要求1所述的区块链账本的存储系统,其特征在于,所述状态数据库与区块链账本一一对应,由若干个区块记录构成,每个区块记录用区块编号作为区块链账本内唯一性标识,至少包括的数据项有签名数量...

【专利技术属性】
技术研发人员:刘昌平刘海唐懿芳钟达夫
申请(专利权)人:广东科学技术职业学院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1