一种基于验证的前缀混合树及设计方法技术

技术编号:14015984 阅读:85 留言:0更新日期:2016-11-18 01:02
本发明专利技术提出一种基于验证的前缀混合树及设计方法,涉及计算机科学及加密验证领域,该前缀混合树包括所述前缀混合树包括分支节点、扩展节点、叶子节点;所述分支节点用于索引下一步扩展时所选择的节点,分支节点设置为拥有16个孩子节点的key数组以及value值,所述key数组中,每一位分别代表索引节点的key的一位,value有两种选择,当出现一个叶子节点A的key是另外一个叶子节点B的key的前缀时,value为叶子节点A的哈希值,否则value为空;扩展节点用于公共前缀索引下一步的扩展时所选择的节点,设置为一个key以及相应的value值,key为拥有共同前缀,value为下一步要索引的分支节点的哈希值;叶子节点用于存储key‑value数据对,设置为一个key以及相应的value值。

【技术实现步骤摘要】

本专利技术涉及计算机科学及加密验证领域,特别涉及一种基于验证的前缀混合树及设计方法
技术介绍
树作为一种重要的数据结构,因其层次结构等特点越来越多的被应用到计算机软件开发中,为了满足各种各样的需求,各种各样的树被设计出来,这其中就包括便于验证的merkle树和节省内存且便于查找的radix树,Merkle树在计算机领域中的应用场景大多为要进行比对或进行验证的场景,特别是在分布式环境下的对比或验证,可以大大减少网络传输的压力,例如亚马逊的Dynamo分布式存储平台,其中同步就使用了merkle树;在当下比较热门的比特币区块链中,也保存了由交易构成的merkle树的根哈希值,便于压缩区块和快速验证。Radix树(又称为Trie树)在计算机领域中的应用场景大多为需要进行字符串快速查找且减少内存占用的场景,例如路由表中的IP选路问题,以及搜索引擎搜索时字符串的前缀自动匹配等,随着应用场景的多样化和复杂化,一种基于验证的前缀混合树的设计可以完美的解决快速查找、减小存储内存、便于验证、减少网络传输等复杂的应用场景,例如在拥有着海量元数据,但却需要时时刻刻验证某一元数据的合法性,以及提供该元数本文档来自技高网...
一种基于验证的前缀混合树及设计方法

【技术保护点】
一种基于验证的前缀混合树,其特征在于,包括:所述前缀混合树包括分支节点、扩展节点、叶子节点;所述分支节点用于索引下一步扩展时所选择的节点,分支节点设置为拥有16个孩子节点的key数组以及value值,所述key数组中,每一位分别代表索引节点的key的一位,value有两种选择,当出现一个叶子节点A的key是另外一个叶子节点B的key的前缀时,value为叶子节点A的哈希值,否则value为空;扩展节点用于公共前缀索引下一步的扩展时所选择的节点,设置为一个key以及相应的value值,key为拥有共同前缀,value为下一步要索引的分支节点的哈希值;叶子节点用于存储key‑value数据对,设置...

【技术特征摘要】
1.一种基于验证的前缀混合树,其特征在于,包括:所述前缀混合树包括分支节点、扩展节点、叶子节点;所述分支节点用于索引下一步扩展时所选择的节点,分支节点设置为拥有16个孩子节点的key数组以及value值,所述key数组中,每一位分别代表索引节点的key的一位,value有两种选择,当出现一个叶子节点A的key是另外一个叶子节点B的key的前缀时,value为叶子节点A的哈希值,否则value为空;扩展节点用于公共前缀索引下一步的扩展时所选择的节点,设置为一个key以及相应的value值,key为拥有共同前缀,value为下一步要索引的分支节点的哈希值;叶子节点用于存储key-value数据对,设置为一个key以及相应的value值。2.如权利要求1所述的基于验证的前缀混合树,其特征在于,包括:key的长度为奇数或者偶数。3.如权利要求1所述的基于验证的前缀混合树,其特征在于,包括:如果key属于叶子节点,且key的长度为奇数时,在key转换的数组最后一位添加0,如果key的长度为偶数时,在key转换的数组最后两位添加0和1。4.如权利要求1所述的基于验证的前缀混合树,其特征在于,包括:如果key属于扩展节点,且key的长度为奇数时,在key转换的数组最后一位添加2,如果key的长度为偶数时,在key转换的数组最后两位添加0和3。5.一种基于验证的前缀混合树的设计方法,其特征在于...

【专利技术属性】
技术研发人员:孙毅李康张建军
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:北京;11

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

1