区块链的数据存储方法、装置、设备及介质制造方法及图纸

技术编号:24331167 阅读:41 留言:0更新日期:2020-05-29 19:39
本申请公开了一种区块链的数据存储方法、装置、设备及介质,该方法包括:对获取的待处理数据计算摘要值;根据所述摘要值和树结构中的节点类型确定所述待处理数据在所述树结构中的存储位置;存储所述待处理数据至所述树结构中的所述存储位置。该方法能够计算待处理数据的摘要值,并直接根据该摘要值和节点类型确定待处理数据在树结构中的存储位置,从而对待处理数据进行存储,很大程度上简化了数据的寻址过程,进而能够快速确定出待处理数据的存储位置,提高了区块链中数据的存储效率。

【技术实现步骤摘要】
区块链的数据存储方法、装置、设备及介质
本专利技术一般涉及区块链
,具体涉及一种区块链的数据存储方法、装置、设备及介质。
技术介绍
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式,其本质上是一个去中心化的数据库,由一串使用密码学方法相关联产生的数据块组成,每个数据块包含了一批次比特币网络交易的数据信息,为了保证每次交易的有序进行,高效的管理和存储区块数据十分重要。当前区块链网络中采用不同的数据存储结构对不同区块中的节点数据进行存储,例如比特币的系统采用默克尔树(MerkleTree)的结构,以太坊的系统中采用默克尔前缀树(MerklePatriciaTree,简称MPT)进行数据的读写等。但是,默克尔树结构的所有数据均存储在最底层的叶子节点中,数据越多,树的层级也越多,导致中间节点过多,仅通过摘要值无法定位出数据的位置,而MPT树的每个节点既有摘要值也有value,且在value中包含了下一级节点的摘要值,由于摘要值与数据未分离,无法快速确定数据在树结构中的位置。
技术实现思路
鉴于现有技术中的上述缺陷或不足的至少之一,期望提供一种区块链的数据存储方法、装置、设备及介质,能够直接根据摘要值确定待处理数据在树结构中的存储位置,大大简化了数据的寻址过程。第一方面,本专利技术提供了一种区块链的数据存储方法,该方法包括:对获取的待处理数据计算摘要值;根据所述摘要值和树结构中的节点类型确定所述待处理数据在所述树结构中的存储位置;存储所述待处理数据至所述树结构中的所述存储位置。在其中一个实施例中,根据所述摘要值和树结构中的节点类型确定所述待处理数据在所述树结构中的存储位置,包括:根据预设规则对所述摘要值进行分组,确定多个分组值以及与每个所述分组值对应的序号,所述序号与所述树结构的层号一一对应;按照所述序号由小至大的顺序,依次将与所述序号对应的分组值和树结构中至少一个节点对应的位置标识进行比对,确定所述位置标识中是否存在第一位置标识,所述至少一个节点对应的位置标识位于所述树结构中的同一层,所述第一位置标识与所述序号对应的分组值相等;当存在所述第一位置标识时,确定与所述第一位置标识对应的第一节点的节点类型,并基于所述节点类型确定所述待处理数据在所述树结构中的存储位置。在其中一个实施例中,确定与所述第一位置标识对应的第一节点的节点类型,包括:判断所述第一节点是否存在子节点;当所述第一节点不存在子节点时,确定所述节点类型为叶子节点;当所述第一节点中存在子节点时,确定所述节点类型为中间节点。在其中一个实施例中,当所述第一节点为叶子节点时,基于所述节点类型确定所述待处理数据在所述树结构中的存储位置,包括:确定所述叶子节点中是否存储有数据;当所述叶子节点中存储有数据时,以所述叶子节点为父节点生成两个子节点;基于两个所述子节点,确定所述待处理数据在所述树结构中的存储位置。在其中一个实施例中,当所述第一节点为中间节点时,基于所述节点类型确定所述待处理数据在所述树结构中的存储位置,包括:将与所述中间节点对应的层号加一,确定当前层号;确定所述摘要值中与所述当前层号相等的序号对应的分组值;将与所述序号对应的分组值和树结构中至少一个节点对应的位置标识进行比对,所述至少一个节点对应的位置标识位于树结构的当前层;当所述当前层中至少一个节点对应的位置标识存在第一位置标识,且与所述第一位置标识对应的节点的节点类型为叶子节点时,确定所述待处理数据在所述树结构中的存储位置。在其中一个实施例中,在确定所述位置标识中是否存在第一位置标识之后,所述方法还包括:当确定所述位置标识中不存在第一位置标识时,在与所述序号值相等的层号对应的树结构层中生成分支节点;将所述分支节点的位置确定为所述待处理数据在所述树结构中的存储位置。第二方面,本专利技术提供了一种区块链的存储装置,该装置包括:计算模块,用于对获取的待处理数据计算摘要值;确定模块,用于根据所述摘要值和树结构中的节点类型确定所述待处理数据在所述树结构中的存储位置;存储模块,用于存储所述待处理数据至所述树结构中的所述存储位置。第三方面,本申请实施例提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述所述区块链的数据存储方法。第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述所述区块链的数据存储方法。综上所述,本申请提供的一种区块链的数据存储方法,通过对获取的待处理数据计算摘要值,并根据摘要值和树结构中的节点类型确定待处理数据在树结构中的存储位置,存储该待处理数据至树结构中的存储位置。该技术方案能够计算待处理数据的摘要值,直接根据该摘要值和节点类型确定待处理数据在树结构中的存储位置,从而对待处理数据进行存储,与现有技术相比,大大减少了中间节点的存在,很大程度上简化了数据的寻址过程,进而能够快速确定出待处理数据的存储位置,提高了区块链中数据的存储效率。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:图1为本申请实施例提供的区块链的数据存储方法流程示意图;图2为本申请实施例提供的树结构的结构示意图;图3为本申请实施例提供的区块链的数据存储方法流程示意图;图4为本申请实施例提供的确定数据A和数据B在树结构中的存储位置的结构示意图;图5为本申请实施例提供的区块链的数据存储方法流程示意图;图6为本申请实施例提供的确定数据A和数据C在树结构中的存储位置的结构示意图;图7为本申请实施例提供的区块链的数据存储装置的结构示意图;图8为本申请实施例提供的计算机系统的结构示意图。具体实施方式下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关专利技术,而非对该专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与专利技术相关的部分。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。如
技术介绍
中提到的,区块链网络中的每个交易数据、每个用户数据都是以键值对{key,value}的形式存在的,当前区块链网络采用不同的数据存储结构对不同区块的节点数据进行存储,如比特币系统基于Merkel树结构,通过区块的方式和链式结构实现,将交易记录保存在数据区块中,以太坊的系统中采用MPT树结构。但是,Merkel树结构中的数据均存储在最底层的叶子节点中,且中间节点过多,导致树结构的层级也多,仅根据某一数据节点的摘要值无法定位出数据在树结构中的存储位置;而MPT树的每个节点中既存本文档来自技高网
...

【技术保护点】
1.一种区块链的数据存储方法,其特征在于,包括:/n对获取的待处理数据计算摘要值;/n根据所述摘要值和树结构中的节点类型确定所述待处理数据在所述树结构中的存储位置;/n存储所述待处理数据至所述树结构中的所述存储位置。/n

【技术特征摘要】
1.一种区块链的数据存储方法,其特征在于,包括:
对获取的待处理数据计算摘要值;
根据所述摘要值和树结构中的节点类型确定所述待处理数据在所述树结构中的存储位置;
存储所述待处理数据至所述树结构中的所述存储位置。


2.根据权利要求1所述的区块链的数据存储方法,其特征在于,根据所述摘要值和树结构中的节点类型确定所述待处理数据在所述树结构中的存储位置,包括:
根据预设规则对所述摘要值进行分组,确定多个分组值以及与每个所述分组值对应的序号,所述序号与所述树结构的层号一一对应;
按照所述序号由小至大的顺序,依次将与所述序号对应的分组值和树结构中至少一个节点对应的位置标识进行比对,确定所述位置标识中是否存在第一位置标识,所述至少一个节点对应的位置标识位于所述树结构中的同一层,所述第一位置标识与所述序号对应的分组值相等;
当存在所述第一位置标识时,确定与所述第一位置标识对应的第一节点的节点类型,并基于所述节点类型确定所述待处理数据在所述树结构中的存储位置。


3.根据权利要求2所述的区块链的数据存储方法,其特征在于,确定与所述第一位置标识对应的第一节点的节点类型,包括:
判断所述第一节点是否存在子节点;
当所述第一节点不存在子节点时,确定所述节点类型为叶子节点;
当所述第一节点存在子节点时,确定所述节点类型为中间节点。


4.根据权利要求2所述的区块链的数据存储方法,其特征在于,当所述第一节点为叶子节点时,基于所述节点类型确定所述待处理数据在所述树结构中的存储位置,包括:
确定所述叶子节点中是否存储有数据;
当所述叶子节点中存储有数据时,以所述叶子节点为中间节点并生成两个子节点;
基于两个所述子节点,确定所述待处理数据在所述树结构中的存储位置。


5.根据权利要求2所述的区块链的数据存储方法,其特征在于,当所述第一节点为中间节点时,基于所述节点类型确定所述待处理数据在所述树结构中的存储位置,包括:
将与所述中间节点对应的层号加一,确定当前层号;
确定所述摘要值中与所述当前层号相等的序号对应的分组值;
将与所...

【专利技术属性】
技术研发人员:吴飞鹏严挺卢小明
申请(专利权)人:北京众享比特科技有限公司
类型:发明
国别省市:北京;11

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

1