一种基于区块链的数据存储方法及装置制造方法及图纸

技术编号:34290391 阅读:39 留言:0更新日期:2022-07-27 09:19
本发明专利技术公开了一种基于区块链的数据存储方法及装置,采用了双链的模型来减少主区块链系统的数据存储量,主链存储少量主要数据并通过数据监督接口对副链进行监管,副链中存储大量的数据副本以及非交易类数据,模型将副链存储模型划分为两层,包括存储层和处理层,处理层中运用了重复数据删除技术来减少副链数据冗余。相比传统的全复制存储模式,本发明专利技术的主链上存储的数据量大大减少,天然地提高了存储空间使用率以及存储模型地可扩展性;重复数据删除技术主要根据结构或非结构化数据所生成的哈希指纹来进行指纹管理,利用重复比率删除算法来删除部分重复数据,因此,副链上的存储冗余量也随之减少,以此减轻区块链作为分布式账本时的存储压力。账本时的存储压力。账本时的存储压力。

【技术实现步骤摘要】
一种基于区块链的数据存储方法及装置


[0001]本专利技术涉及区块链
,具体的说,涉及一种基于区块链的数据存储方法及装置。

技术介绍

[0002]区块链,就是一个又一个区块组成的链条。每一个区块中保存了一定的信息,它们按照各自产生的时间顺序连接成链条。这个链条被保存在所有的服务器中,只要整个系统中有一台服务器可以工作,整条区块链就是安全的。这些服务器在区块链系统中被称为节点,它们为整个区块链系统提供存储空间和算力支持。如果要修改区块链中的信息,必须征得半数以上节点的同意并修改所有节点中的信息,而这些节点通常掌握在不同的主体手中,因此篡改区块链中的信息是一件极其困难的事。相比于传统的网络,区块链具有两大核心特点:数据难以篡改和去中心化。基于这两个特点,区块链所记录的信息更加真实可靠,可以帮助解决人们互不信任的问题。
[0003]随着庞大的数据量存储需求,多采用云计算来实现云存储服务以减轻存储压力;使用数据编码技术来减少数据冗余,但以上技术无法满足数据的安全性需求,因此,物联网、农业、金融等各界均欲采用区块链分布式存储技术和密码技术来保障海量数据的安全性。现有的区块链分布式存储系统主要存在的问题在于,区块链分布式存储技术存在数据冗余度高,可扩展性差,数据灵活性低,查询效率低,链上数据处理能力不足等问题。因此,设计一种通过减少区块链上数据冗余的方式增强其可扩展性,提升区块链存储效率来适应当下的大数据时代的区块链分布式存储模型,是当前重要的研究领域之一。

技术实现思路

[0004]本专利技术的目的在于克服
技术介绍
所提出的技术问题,提出了一种基于区块链的数据存储方法及装置。区块链系统内部数据存储结构是将数据以全副本的模式存储在各个节点,这种存储模式所导致的数据灵活性低,区块存储空间利用率低的问题,并且链上数据是透明的,一些隐私保护需求较高的数据的安全性得不到相应的保障。因此本专利技术提出了双链存储模型,对区块链系统中的数据层结构进行改进,将大量的数据副本以及数据的详细内容存至副链(vice

chain),通过这种存储模型来减少主链(major

chain)的存储压力,提升区块链系统的可扩展性,并更好的保障数据的安全性。
[0005]本专利技术的具体技术方案如下:根据本专利技术的第一技术方案,提供了一种基于区块链的数据存储方法,所述方法包括:步骤1:将数据分为主数据以及副数据;步骤2:将所述主数据进行哈希运算,生成MPT树结构,存入主链上;步骤3:将副链划分为存储层和处理层,所述处理层的操作包括:步骤3.1:对所述副数据进行计算后得到的应存入副链的大量结构和非结构化数据生成哈希指纹;步骤3.2:通过指纹比对,再通过重复数据删除技术来删除一定数量的重复数据以减少副链数据冗余,将删减后的数据,取哈希值存入存储层;步骤4:存储层通过MPT树结构来存
储副链上的相关数据,并通过根哈希值和自顶向下三层树形结构通过DMI结构和主链建立连接,并存入主链中;步骤5:主链与副链之间通过DMI接口来建立连接,主链通过DMI接口来对副链上的数据进行管理,主链上的数据就按照传统的区块链分布式存储技术来进行存储。
[0006]优选的,所述步骤1中,将数据根据交易索引频次、交易时间、安全性分析、是否为结构化数据划分为主数据以及副数据。
[0007]优选的,所述方法还包括:步骤6:主链通过DMI接口来监管监听副链数据,当有新的数据写入区块链系统时,在副链上进行数据更新,并重新计算存储分配情况,重复步骤3

步骤5,完成数据更新与存储。根据本专利技术的第二技术方案,提供一种基于区块链的数据存储装置,所述装置包括划分模块、计算模块、主链以及副链;所述划分模块,其被配置为:将数据分为主数据以及副数据;所述计算模块,其被配置为:将所述主数据进行哈希运算,生成MPT树结构,存入主链上;所述副链包括存储层和处理层,所述处理层被配置为:对所述副数据进行计算后得到的应存入副链的大量结构和非结构化数据生成哈希指纹;并通过指纹比对,再通过重复数据删除技术来删除一定数量的重复数据以减少副链数据冗余,将删减后的数据,取哈希值存入存储层;所述主链与所述副链之间通过DMI接口来建立连接,所述主链被配置为:通过DMI接口来对副链上的数据进行管理,主链上的数据就按照传统的区块链分布式存储技术来进行存储。
[0008]优选的,所述划分模块,还被配置为:将数据根据交易索引频次、交易时间、安全性分析、是否为结构化数据划分为主数据以及副数据。
[0009]优选的,所述主链,其还被配置为:通过DMI接口来监管监听副链数据,当有新的数据写入区块链系统时,在副链上进行数据更新,并重新计算存储分配情况,重复步骤3

步骤5,完成数据更新与存储根据本专利技术的基于区块链的数据存储方法及装置,不需要将写入区块链上的海量数据完整地存储于区块链上,而是将数据分别存放在major

chain和vice

chain上,减少了直接在主链上进行存储的数据量,相同空间可以存储更多的数据,数据灵活性更好,主链的存储性能大大提升。同时,副链上通过重复数据删除技术能够在保障数据安全性、可溯源性的基础上减少区块链系统副本冗余度,避免副链的存储空间浪费,能够更好地适应大数据地需求。另外,副链中的数据不是透明的,但是可溯源的,主链上的信息是公开的,通过主链监管副链的方式,将隐私性较强的交易具体内容存放至副链不仅能减轻主链的存储压力,还能更好能地保护数据的安全性。最后,主副链结构的一致性也能够避免数据异构导致的检索效率低,数据处理成本高等问题,可扩展性得以提升。
附图说明
[0010]为了更清楚地说明本专利技术具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。
[0011]图1为双链存储模型结构图。
[0012]图2为主链存储区块解结构图。
[0013]图示为主链中最小存储单元,即“区块”结构,每一个存储单元都包含了区块链头和区块体,区块头中存储在区块的头信息,包含上一个区块的哈希值、时间戳、交易树根哈希值、版本号,随机数、区块奖励等;区块体无需保存整颗交易树,只需要包含自顶向下三层MPT树结构的数据内容,其余数据通过副链进行存储,如图1所示。
[0014]图3为MPT树结构图。
[0015]图示为Merkle Patricia Tree(MPT)树结构,MPT树结构是Merkle Tree(默克尔树)和Patricia Tree(压缩前缀树)相结合的产物。Merkle Tree用于保证数据安全,Patricia Tree用于提升树的读写效率,MPT树结构可以在根节点保存整棵树的哈希校验和,而校验和的生成则是采用了和默克尔树生成一致的方式,为了压缩整体的树高,降低操作的复杂度,其将树节点分成了扩展结点本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于区块链的数据存储方法,所述区块链包括主链和副链,其特征在于,所述方法包括:步骤1:将数据分为主数据以及副数据;步骤2:将所述主数据进行哈希运算,生成MPT树结构,存入主链上;步骤3:将副链划分为存储层和处理层,所述处理层的操作包括:步骤3.1:对所述副数据进行计算后得到的应存入副链的大量结构和非结构化数据生成哈希指纹;步骤3.2:通过指纹比对,再通过重复数据删除技术来删除重复数据以减少副链数据冗余,将删减后的数据,取哈希值存入存储层;步骤4:存储层通过MPT树结构来存储副链上的相关数据,并基于根哈希值和自顶向下三层树形结构通过DMI结构和主链建立连接,并存入主链中;步骤5:主链与副链之间通过DMI接口建立连接,主链通过DMI接口对副链上的数据进行管理,主链上的数据根据区块链分布式存储技术进行存储。2.根据权利要求1所述的方法,其特征在于,所述步骤1中,将数据根据交易索引频次、交易时间、安全性分析、是否为结构化数据划分为主数据以及副数据。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:步骤6:主链通过DMI接口监管监听副链数据,当有新的数据写入区块链系统时,在副链上进行数据更新,并重新计算存储分配情况,重复步骤3

...

【专利技术属性】
技术研发人员:万武南韩慧王永丽张仕斌张金全秦智蒋秋璐蒲槐霖邱晓芳郭锦良
申请(专利权)人:成都信息工程大学
类型:发明
国别省市:

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

1