CN106126722B - 一种基于验证的前缀混合树及设计方法 - Google Patents

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

Info

Publication number
CN106126722B
CN106126722B CN201610512975.1A CN201610512975A CN106126722B CN 106126722 B CN106126722 B CN 106126722B CN 201610512975 A CN201610512975 A CN 201610512975A CN 106126722 B CN106126722 B CN 106126722B
Authority
CN
China
Prior art keywords
key
node
value
prefix
array
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610512975.1A
Other languages
English (en)
Other versions
CN106126722A (zh
Inventor
孙毅
李康
张建军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Computing Technology of CAS
Original Assignee
Institute of Computing Technology of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CN201610512975.1A priority Critical patent/CN106126722B/zh
Publication of CN106126722A publication Critical patent/CN106126722A/zh
Application granted granted Critical
Publication of CN106126722B publication Critical patent/CN106126722B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9027Trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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

Description

一种基于验证的前缀混合树及设计方法
技术领域
本发明涉及计算机科学及加密验证领域,特别涉及一种基于验证的前缀混合树及设计方法。
背景技术
树作为一种重要的数据结构,因其层次结构等特点越来越多的被应用到计算机软件开发中,为了满足各种各样的需求,各种各样的树被设计出来,这其中就包括便于验证的merkle树和节省内存且便于查找的radix树,Merkle树在计算机领域中的应用场景大多为要进行比对或进行验证的场景,特别是在分布式环境下的对比或验证,可以大大减少网络传输的压力,例如亚马逊的Dynamo分布式存储平台,其中同步就使用了merkle树;在当下比较热门的比特币区块链中,也保存了由交易构成的merkle树的根哈希值,便于压缩区块和快速验证。Radix树(又称为Trie树)在计算机领域中的应用场景大多为需要进行字符串快速查找且减少内存占用的场景,例如路由表中的IP选路问题,以及搜索引擎搜索时字符串的前缀自动匹配等,随着应用场景的多样化和复杂化,一种基于验证的前缀混合树的设计可以完美的解决快速查找、减小存储内存、便于验证、减少网络传输等复杂的应用场景,例如在拥有着海量元数据,但却需要时时刻刻验证某一元数据的合法性,以及提供该元数据的溯源的场景,因此借助于merkle树与radix树的思想设计出一种全新的基于验证的前缀混合树。
发明内容
针对现有技术的不足,本发明提出一种基于验证的前缀混合树设计方法及系统。
本发明提出一种基于验证的前缀混合树,包括:
所述前缀混合树包括分支节点、扩展节点、叶子节点;
所述分支节点用于索引下一步扩展时所选择的节点,分支节点设置为拥有 16个孩子节点的key数组以及value值,所述key数组中,每一位分别代表索引节点的key的一位,value有两种选择,当出现一个叶子节点A的key是另外一个叶子节点B的key的前缀时,value为叶子节点A的哈希值,否则value为空;
扩展节点用于公共前缀索引下一步的扩展时所选择的节点,设置为一个key以及相应的value值,key为拥有共同前缀,value为下一步要索引的分支节点的哈希值;
叶子节点用于存储key-value数据对,设置为一个key以及相应的value值。
key的长度为奇数或者偶数。
如果key属于叶子节点,且key的长度为奇数时,在key转换的数组最后一位添加0,如果key的长度为偶数时,在key转换的数组最后两位添加0和1。
如果key属于扩展节点,且key的长度为奇数时,在key转换的数组最后一位添加2,如果key的长度为偶数时,在key转换的数组最后两位添加0和3。
本发明还提出一种基于验证的前缀混合树的设计方法,包括
设置所述前缀混合树包括分支节点、扩展节点、叶子节点;
所述分支节点用于索引下一步扩展时所选择的节点,分支节点设置为拥有16个孩子节点的key数组以及value值,所述key数组中,每一位分别代表索引节点的key的一位,value有两种选择,当出现一个叶子节点A的key是另外一个叶子节点B的key的前缀时,value为叶子节点A的哈希值,否则value为空;
扩展节点用于公共前缀索引下一步的扩展时所选择的节点,设置为一个key以及相应的value值,key为拥有共同前缀,value为下一步要索引的分支节点的哈希值;
叶子节点用于存储key-value数据对,设置为一个key以及相应的value值。
key的长度为奇数或者偶数。
如果key属于叶子节点,且key的长度为奇数时,在key转换的数组最后 一位添加0,如果key的长度为偶数时,在key转换的数组最后两位添加0和1。
如果key属于扩展节点,且key的长度为奇数时,在key转换的数组最后一位添加2,如果key的长度为偶数时,在key转换的数组最后两位添加0和3。
本发明还提出一种包括所述基于验证的前缀混合树的芯片。
由以上方案可知,本发明的优点在于:
本发明结合了merkle树和radix树的优点,并对传统的radix树结构进行了调整,大大减少了存储空间,大大提高了查找的效率;可以简化验证某一数据块的流程,只需要提供该数据块到根节点过程中的某些哈希值,通过与从可信第三方获得的根哈希进行比对,即可验证数据块的正确与否,大大减少了网络的传输量。
附图说明
图1为本发明的混合树结构图;
图2为本发明删除key为”\x22”的节点后形成的混合树结构图。
具体实施方式
本发明的目的在于设计出一种基于验证的前缀混合树及设计方法,通过合理的数据结构设计,辅助key-value数据库,来实现快速查找、减小存储内存、便于验证、减少网络传输等功能特性。
在拥有着海量元数据的系统中,往往需要快速地定位某一元数据所在的位置,由于海量的元数据不能一次性全部放到内存中,因此我们需要对元数据进行压缩索引,通过将元数据的索引放入内存中以达到快速查找元数据的目的,索引的选择需是独一无二的,因此我们可以使用元数据的哈希值作为索引key,由于元数据数量巨大,将其哈希索引值放入内存也会消耗巨大的空间且不利于快速查找,因此采用前缀树的设计将索引所需内存空间压缩,同时也提高了索引值的查找效率;当我们需要比对分布式系统中位于不同地理位置以网络连通的服务器之间数据的完整性时,我们可以传输相应的根哈希值进行比对校验,大大缓解了网络传输的压力。
本发明借助了merkle树和radix树的思想,如下所示:
Merkle树的思想是将要进行验证的数据块进行哈希运算,将得到的哈希值作为叶子节点的值,叶子节点的哈希值两两(不限于两两)合并进行哈希运算,将得到的哈希值作为分支节点的值,一直重复此步骤,直至剩下一个节点,即为根节点。在进行验证的过程中,只需要传输要验证的数据块至根节点分支上的哈希值,即可进行哈希运算,将得到的值与根节点的哈希值进行比对,如果匹配,即验证成功,反之,则验证失败,例如在分布式文件系统中,位于不同地理位置的以网络相连的两台机器进行同一大文件的完整性校验,把该大文件分成相同大小的数据块,则只需传递指定数据块的哈希值就可以验证某一数据块的正确性,而无需传递整个大文件,避免造成网络的拥堵。
Radix树的思想是将具有共同前缀的key放在一条分支上,减小存储内存,在进行key的查找时,可以大大提高查找的效率,查找的最坏时间复杂度为log(n),n为该radix树中所有叶子节点的数量,例如在拥有海量元数据的系统中,可以将元数据进行哈希作为它的key,value就为元数据本身,内存中只需保存使用key构建的radix树,元数据放在磁盘上,可以快速查找到对应的元数据,同时也缩减了内存。
本发明是提出一种基于验证的前缀混合树及设计方法,如图1所示:
首先,设计该混合树的数据结构,将该混合树的节点类型分为3种,一种是分支节点,一种是扩展节点,另外一种是叶子节点。
分支节点被设计为用来索引下一步扩展时所选择的节点,分支节点的结构设置为拥有16个孩子节点节点的key数组以及value值,含有16个孩子节点节点的key数组,每一位分别代表着索引节点的key的一位,value有两种选择,当出现一个叶子节点A的key是另外一个叶子节点B的key的前缀时,value即为叶子节点A的哈希值,否则value为空。
扩展节点被设计用公共前缀来索引下一步的扩展时所选择的节点,其结构设置为一个key以及相应的value值,key为拥有的共同前缀,value为下一步要索引的分支节点的哈希值,使用扩展节点可以很方便快速地查找具有公共前缀的key。
叶子节点被设计用来存储key-value数据对,其结构设置为一个key以及相应的value值。
其次,选择合适的k/v数据库,选择了轻量级Facebook开源嵌入式数据库rocksdb作为节点的存储引擎,由于在基于验证的前缀混合树的生成过程中,会生成节点的哈希值,需要存储节点的信息,便于后续的查找、更新、删除等操作,在rocksdb中存储的的key为节点的哈希值,value为节点的内容。
由于叶子节点和扩展节点都是k/v型结构,设计一种编码方式区分叶子节点和扩展节点,假设key为“fruit”,首先我们将其转换为16进制的形式[6,6,7,2,7,5,6,9,7,4],因此在该数组的最后添加数字以区分该节点的类别,因为key的长度可以为奇数或者偶数,所以为了保证key最后的长度为偶数,还需要添加一位数字用来填充key的长度,编码方案如下:如果该key属于叶子节点,且key的长度为奇数时,在key转换的数组最后一位添加0,如果key的长度为偶数时,在key转换的数组最后两位添加0和1;如果该key属于扩展节点,且key的长度为奇数时,在key转换的数组最后一位添加2,如果key的长度为偶数时,在key转换的数组最后两位添加0和3。
基于验证的前缀混合树数据结构设计完成后,需要进行插入、更新、删除等操作的实现。
插入过程:假设待插入的数据对有[“\x01”,“hello01”]、[“\x11”,“hello11”]、[“\x22\x22\x22”,“hello222222”]、[“\x22\x22\x33”,“hello222233”]、[“\x22”,“hello22”]。
首先插入的数据对为[“\x01”,“hello01”],根据上述编码方式,将”\x01”转化为[0,1,0,1],生成叶子节点[“\x01\x01”,“hello01”],由于现在是一棵空树,所以直接将该叶子节点A插入,作为根节点,与此同时计算出该叶子节点的哈希值,将哈希值和该节点作为k/v数据对存入rocksdb中。
接着插入[“\x11”,“hello11”]的数据对,生成叶子节点B[“\x11\x01”,“hello11”],因为已存在key为“\x01\x01”的节点,且该节点的类型为叶子节点(根据后两位判断),由于”\x11”与“\x01”第一位就不相同,因此生成分支节点C,将分支节点的孩子节点节点key数组的第一个元素设置A节点的哈希值,第二个元素设置为B节点的哈希值,根节点即为该分支节点,与此同时将节点B存入rocksdb中,将该分支节点C也存入到rocksdb中。
接着插入[“\x22\x22\x22”,“hello222222”]数据对,生成叶子节点D[“\x22\x22\x22\x01”,“hello222222”]由于与已经存在的key第一位就不相同,所以直接在根节点的孩子节点节点key数组的第三个元素设置为节点D的哈希值,与此同时将节点D存入rocksdb。
接着插入[“\x22\x22\x33”,“hello222233”]的数据对,生成叶子节点E[“\x22\x22\x33\x01”,“hello222233”],由于现存的key中有“\x22\x22\x22”,因此节点E与节点D有共同的前缀”\x22\x22”,生成扩展节点F,其key为”\x22\x2”,编码后的key为“\x22\x22”,因为设置节点C的孩子节点节点key数组的第三个元素为F的哈希值,除去了共同前缀”\x22\x22”的第一位。节点F的value设置为分支节点G,节点G的孩子节点节点key数组的第三个元素设置为节点D的哈希值,第四个元素设置为节点E的哈希值,与此同时将节点E、F、G存入rocksdb。
接着插入[“\x22”,“hello22”]数据对,生成叶子节点H[“\x22\x01”,“hello22”],由于该key为节点D、E key的前缀,生成扩展节点I,其key为”\x2”,编码后的key为“\x22”,生成分支节点J,节点J的value值为节点H的哈希值,生成扩展节点K,节点K的key为”\x2”,编码后的key为”\x22”,value为节点G的哈希值;节点J的孩子节点节点key数组第三个元素设置为节点K的哈希值,节点I的value设置为节点J的哈希值,根节点C的孩子节点节点key数组的第三个元素设置为节点I的哈希值,与此同时,将节点F从rocksdb中删除,将节点H、I、J、K存入rocksdb。
查找过程:假设要查找的key为“\x22”,首先根据根节点的哈希值在rocksdb中取出根节点的值,检查根节点C的类型为分支节点,检查根节点C的孩子节点节点key数组的第三个元素是否有值,若无值,返回错误,若有值,根据该值在rocksdb中取得对应的节点信息,检查该节点I的类型为扩展节点,此时要匹配的key还剩下”\x2”,解码节点I的key得到”\x2”,与要匹配的key比较,若不同,返回错误,若相同,进入下一步,根据节点I的值在rocksdb中取得下一节点J的信息,J是分支节点,由于要进行匹配的key已经无剩余,所以检查J的最后一个元素是否有值,若无值,返回错误,若有值,则证明key为”\x22”的节点存在,将此节点返回。
删除过程:前期步骤和查找过程相同,若key为“\x22”的节点存在,将 该节点从rocksdb中删除,此外要对剩余的混合树进行调整,节点J的孩子节点节点key数组第17个元素设置为空节点,将新节点J重新存储到rocksdb中。若分支节点J拥有超过1个以上的孩子节点节点,则往上追溯,J的父亲节点I的值重新设置为新分支节点J的哈希值,将新节点I重新存储到rocksdb中,继续往上追溯,直到根节点C,将根节点C的第3个孩子节点节点重新设置为新扩展节点I的哈希值,将新根节点C重新存储到rocksdb中;若分支节点J拥有1个孩子节点节点,分为两种情况:1、若该孩子节点节点为扩展节点(即本示例),则将节点J以及扩展节点K从rocksdb中删除,生成新的扩展节点X,key为”\x22”,value为原扩展节点K的value值,向上追溯,由于节点I同样为扩展节点,因此将节点X和I进行合并,形成新的扩展节点Y,key为”\x22\x2”,编码过后的key为”\x22\x22”,value值与节点X相同,将节点I从rocksdb中删除,与此同时将新节点Y存入rocksdb中,向上追溯,将根节点C的第三个孩子节点节点的值设为节点Y的哈希值,并重新将根节点存储到rocksdb中;2、孩子节点节点节点为叶子节点,向上追溯,与前面的扩展节点进行合并,或者与前面的分支节点进行合并,再依次进行更新操作。
因为该混合树同时吸收了前缀树和验证树的优点,因此该混合树可以做验证,验证过程如下。
验证过程:首先从某一个可信的地方得到根节点的哈希值。假设现在想要验证[“\x22”,“hello22”]节点H的正确性,只需要提供扩展节点K的哈希值,叶子节点A和B的哈希值,就可以验证[“\x22”,“hello22”]节点是否正确,过程如下:将节点H和节点K作为输入得带节点J的哈希值,将节点J的哈希值和叶子节点A及B的哈希值作为输入得到根节点C的值,对根节点C进行哈希,将得到的哈希值与从可信处得到的哈希值进行比对,若相同,验证成功,反之,验证失败。
本发明还提出一种包括所述基于验证的前缀混合树的芯片。

Claims (9)

1.一种基于验证的前缀混合树,其特征在于,包括:
使用元数据的哈希值作为索引key,以所述前缀混合树的形式将该索引key存入内存,以压缩索引key所需的内存空间,通过所述前缀混合树定位该元数据所在的位置;
所述前缀混合树包括分支节点、扩展节点、叶子节点;
所述分支节点用于索引下一步扩展时所选择的节点,分支节点设置为拥有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.一种基于验证的前缀混合树的设计方法,其特征在于,包括:
使用元数据的哈希值作为索引key,以所述前缀混合树的形式将该索引key存入内存,以压缩索引key所需的内存空间,通过所述前缀混合树定位该元数据所在的位置;
设置所述前缀混合树包括分支节点、扩展节点、叶子节点;
所述分支节点用于索引下一步扩展时所选择的节点,分支节点设置为拥有16个孩子节点的key数组以及value值,所述key数组中,每一位分别代表索引节点的key的一位,value有两种选择,当出现一个叶子节点A的key是另外一个叶子节点B的key的前缀时,value为叶子节点A的哈希值,否则value为空;
扩展节点用于公共前缀索引下一步的扩展时所选择的节点,设置为一个key以及相应的value值,key为拥有共同前缀,value为下一步要索引的分支节点的哈希值;
叶子节点用于存储key-value数据对,设置为一个key以及相应的value值。
6.如权利要求5所述的基于验证的前缀混合树的设计方法,其特征在于,包括:key的长度为奇数或者偶数。
7.如权利要求5所述的基于验证的前缀混合树的设计方法,其特征在于,包括:如果key属于叶子节点,且key的长度为奇数时,在key转换的数组最后一位添加0,如果key的长度为偶数时,在key转换的数组最后两位添加0和1。
8.如权利要求5所述的基于验证的前缀混合树的设计方法,其特征在于,包括:如果key属于扩展节点,且key的长度为奇数时,在key转换的数组最后一位添加2,如果key的长度为偶数时,在key转换的数组最后两位添加0和3。
9.一种包括如权利要求1所述基于验证的前缀混合树的芯片。
CN201610512975.1A 2016-06-30 2016-06-30 一种基于验证的前缀混合树及设计方法 Active CN106126722B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610512975.1A CN106126722B (zh) 2016-06-30 2016-06-30 一种基于验证的前缀混合树及设计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610512975.1A CN106126722B (zh) 2016-06-30 2016-06-30 一种基于验证的前缀混合树及设计方法

Publications (2)

Publication Number Publication Date
CN106126722A CN106126722A (zh) 2016-11-16
CN106126722B true CN106126722B (zh) 2019-10-18

Family

ID=57468698

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610512975.1A Active CN106126722B (zh) 2016-06-30 2016-06-30 一种基于验证的前缀混合树及设计方法

Country Status (1)

Country Link
CN (1) CN106126722B (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110121860B (zh) * 2017-01-03 2021-08-13 华为技术有限公司 基于区块链的数据处理方法、设备和系统
CN107040582B (zh) * 2017-02-17 2020-08-14 创新先进技术有限公司 一种数据处理方法及装置
CN107181797B (zh) * 2017-05-11 2020-03-06 中国农业银行股份有限公司 一种区块链的区块压缩方法和系统
WO2019098871A1 (en) * 2017-11-20 2019-05-23 Huawei Technologies Co., Ltd. Data storage system and method of providing a data storage system
CN108376104B (zh) * 2018-02-12 2020-10-27 上海帝联网络科技有限公司 节点调度方法及装置、计算机可读存储介质
CN109033278B (zh) * 2018-07-11 2020-09-08 江苏通付盾科技有限公司 数据处理方法、装置、电子设备及计算机存储介质
CN109388641B (zh) * 2018-10-22 2019-10-18 无锡华云数据技术服务有限公司 一种检索键值数据库中键的共同前缀的方法、设备、介质
CN109684439B (zh) * 2018-12-28 2020-10-30 语联网(武汉)信息技术有限公司 分词过程中进行前缀索引的方法及装置
AU2019203850B2 (en) 2019-03-04 2021-09-16 Advanced New Technologies Co., Ltd. Constructing blockchain world state merkle patricia trie subtree
US11294875B2 (en) 2019-05-31 2022-04-05 Advanced New Technologies Co., Ltd. Data storage on tree nodes
CN110275884B (zh) * 2019-05-31 2020-08-04 阿里巴巴集团控股有限公司 数据存储方法及节点
WO2019228558A2 (en) * 2019-08-30 2019-12-05 Alibaba Group Holding Limited Methods and devices for providing traversable key-value data storage on blockchain
CN111461751B (zh) * 2020-04-02 2024-03-29 武汉大学 基于区块链的房产信息链上组织方法、历史状态追溯方法及装置
CN111680317B (zh) * 2020-04-27 2021-05-25 华东师范大学 一种面向区块链的乐观并发保序编码方法
CN112347085B (zh) * 2020-07-12 2021-11-09 吴伟 一种指标式数值型金融时间序列数据校核方法
CN113064901A (zh) * 2021-04-06 2021-07-02 北京瑞卓喜投科技发展有限公司 在链上合约中形成数据微型索引的方法、装置和电子设备
CN115641141A (zh) * 2022-09-30 2023-01-24 蚂蚁区块链科技(上海)有限公司 区块链系统中的状态验证方法、装置、节点和区块链系统
CN116832439B (zh) * 2023-05-17 2024-06-07 广州三七极梦网络技术有限公司 一种游戏数据刷新系统的处理方法、装置、设备及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101577662A (zh) * 2008-05-05 2009-11-11 华为技术有限公司 一种基于树形数据结构的最长前缀匹配方法和装置
CN105095794A (zh) * 2015-07-20 2015-11-25 武汉科技大学 一种基于平衡的梅肯哈希树的动态云数据完整性验证方法
CN105719185A (zh) * 2016-01-22 2016-06-29 杭州复杂美科技有限公司 区块链的数据对比及共识方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8924365B2 (en) * 2011-02-08 2014-12-30 Wavemarket, Inc. System and method for range search over distributive storage systems

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101577662A (zh) * 2008-05-05 2009-11-11 华为技术有限公司 一种基于树形数据结构的最长前缀匹配方法和装置
CN105095794A (zh) * 2015-07-20 2015-11-25 武汉科技大学 一种基于平衡的梅肯哈希树的动态云数据完整性验证方法
CN105719185A (zh) * 2016-01-22 2016-06-29 杭州复杂美科技有限公司 区块链的数据对比及共识方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Integrity Assurance for Outsourced Databases without DBMS Modification;Wei Wei,等;《Data and Applications Security and Privacy》;Springer, Berlin, Heidelberg;20141231;全文 *
基于LBH的优化认证数据结构模型及应用;李福祥;《中国优秀硕士学位论文数据库 信息科技辑》;20140715;全文 *

Also Published As

Publication number Publication date
CN106126722A (zh) 2016-11-16

Similar Documents

Publication Publication Date Title
CN106126722B (zh) 一种基于验证的前缀混合树及设计方法
CN110602148B (zh) 一种区块的状态树的生成和链上数据验证的方法及装置
EP3693886A1 (en) Optimizations for verification of interactions system and method
CN101009516B (zh) 一种进行数据同步的方法、系统及装置
US10140351B2 (en) Method and apparatus for processing database data in distributed database system
CN109542979B (zh) 一种区块链系统快速同步及简精数据存储的方式
CN108197226A (zh) Mptc账户状态树以及mptc区块链快速检索方法
TWI483138B (zh) 遠端動態資料的處理與驗證方法、系統,以及電腦可讀記錄媒體
CN105554133A (zh) Http远程数据访问系统和方法
KR20190020105A (ko) 스트리밍 데이터의 분배 처리 방법 및 디바이스
CN114281793A (zh) 数据校验方法、装置和系统
CN103916483A (zh) 一种针对编码冗余存储系统的自适应数据存储与重构方法
WO2021108258A1 (en) Optimizations for verification of interactions system and method using probability density functions
CN107463597B (zh) 针对修改区块体数据的区块链的被动验证方法及系统
CN105447166A (zh) 一种基于关键字查找信息的方法及系统
CN112131609A (zh) 基于Merkle树的电能质量数据交换格式文件完整性校验方法及系统
CN109947411A (zh) 分布式软件生成唯一id主键的方法
CN102890651B (zh) 一种场景数据的测试方法和装置
CN110362560B (zh) 一种无业务主键数据在存储数据库时去重的方法
CN110691078B (zh) 一种基于区块链的数据动态可靠性验证方法
CN113821536B (zh) 基于区块链的数据处理方法、装置、设备及可读存储介质
CN111080298A (zh) 一种适用于能源区块链的区块生成与交易验证方法
CN116910820A (zh) 数据报表处理方法、装置、计算机设备以及存储介质
CN116938523A (zh) 区块链系统、运行方法、电子设备和存储介质
CN110825706A (zh) 一种数据压缩的方法和相关设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant