一种基于文件的区块链区块存储和读取方法技术

技术编号:19480132 阅读:37 留言:0更新日期:2018-11-17 10:32
本发明专利技术公开一种基于文件的区块链区块存储和读取方法,在一个区块链节点中,写入时,读取最后一次成功提交的区块号,定位到当前文件写入的位置,然后写入最新的区块信息;根据写入的区块信息生出索引,更新最后一次成功提交的区块号,重复前述步骤,完成整个区块的写入,若有写入错误,则需要更新区块号进行区块重写;读取采用常规的读取方法。本发明专利技术应用于现有的区块链网络中,在保证了区块信息能够被准确且完整的写入的情况下,提高了整个区块存储的效率,是在传统基于Key/Value的区块链体系下一个新的突破。

【技术实现步骤摘要】
一种基于文件的区块链区块存储和读取方法
本专利技术涉及去中心化的区块链存储体系,尤其涉及一种基于文件的区块链区块存储和读取方法。
技术介绍
区块链技术,区块链是一种新型去中心化协议,能安全地存储数字货币交易或其他数据,信息不可伪造和篡改,区块链上的交易确认由区块链上的所有节点共同完成,由共识算法保证其一致性,区块链上维护一个公共的账本,公共账本位于存储区块上任何节点可见,从而保证其不可伪造和篡改。传统区块链的存储体系均基于开源的Key/Value数据库,例如LevelDB,尽管LevelDB面利用多层合并的方式对数据的写入以及读取做了很大的优化,读写效率较其他传统的数据库也得到了一定的提高,但是针对大数据量且连续的区块数据仍无法达到实际生产所要求达到的吞吐量。传统的区块链网络中,节点中所有的信息,包括状态信息以及区块均存储Key/Value数据库中,区块数据庞大,一旦系统运行过久区块数据量过大,会导致整个区块链网络的存储读写性能严重降低,成为整个区块链网络运行性能的瓶颈,是区块链在实际应用中的一大痛点。
技术实现思路
本专利技术的目的是针对现有技术的不足,提供一种基于文件的区块链区块存储本文档来自技高网...

【技术保护点】
1.一种基于文件的区块链区块存储和读取方法,其特征在于,所述的存储包括如下步骤:(1)读取最后一次成功提交的区块号,将其存储为变量名为LastCommit的键值对;(2)根据最后一次提交的区块号,定位到当前文件写入的位置,然后写入最新的区块信息;(3)根据写入的区块信息获得该区块在文件中的偏移量,根据区块号和偏移量定义为当前区块号的索引信息,写入索引文件中;(4)更新最后一次成功提交的区块号,重复步骤(1)‑(3),完成整个区块的写入;(5)经过区块链网络若干个节点共识,若此时发现某个节点的区块写入错误,则从其他节点获取正确写入的区块号,更新错误节点最后一次成功提交的区块号,重复步骤(1)‑(...

【技术特征摘要】
1.一种基于文件的区块链区块存储和读取方法,其特征在于,所述的存储包括如下步骤:(1)读取最后一次成功提交的区块号,将其存储为变量名为LastCommit的键值对;(2)根据最后一次提交的区块号,定位到当前文件写入的位置,然后写入最新的区块信息;(3)根据写入的区块信息获得该区块在文件中的偏移量,根据区块号和偏移量定义为当前区块号的索引信息,写入索引文件中;(4)更新最后一次成功提交的区块号,重复步骤(1)-(3),完成整个区块的写入;(5)经过区块链网络若干个节点共识,若此时发现某个节点的区块写入错误,则从其他节点获取正确写入的区块号,更新错误节点最后一次成功提交的区块号,重复步骤(1)-(4),直到区块链网络达成网络共识。所述的读取包括如下步骤:根据需要读取的区块号读取相应区块的索引信息,根据索引信息定位到区块位于文件的具体偏移量,根据偏移量读取区块信息。2.根据权利要求1所述的基于文件的区块链区块存储和读取方法,其特征在于,所述的读取进一步包括如下步骤:定义迭代器,选择初始遍历的区块号,根据初始区块号读...

【专利技术属性】
技术研发人员:邱炜伟李启雷李伟梁秀波尹可挺
申请(专利权)人:杭州趣链科技有限公司
类型:发明
国别省市:浙江,33

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

1