[发明专利]用于数据遍历的方法和设备在审
申请号: | 201980003782.5 | 申请日: | 2019-05-14 |
公开(公告)号: | CN111033489A | 公开(公告)日: | 2020-04-17 |
发明(设计)人: | 卓海振 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/27 |
代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 艾佳 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 数据 遍历 方法 设备 | ||
本文公开了用于数据遍历的方法、设备和装置,包括存储在计算机可读介质上的计算机程序。方法之一包括:从程序获得用于在区块链上使用的一个或多个键值对;索引所述一个或多个键值对中的一个或多个键以生成索引,所述索引将所述一个或多个键与所述程序的标识相关联;以及基于所述索引在所述一个或多个键值对中检索至少一个值。
技术领域
本文通常涉及计算机技术,更具体地,涉及用于数据遍历的方法和设备。
背景技术
区块链系统,也被称为分布式账本系统(Distributed Ledger System,DLS)或共识系统,使得参与的实体能够安全且不可篡改地存储数据。区块链系统可以在不参考任何特定用例的情况下包括任何DLS,并可以被用于公有、私有和联盟区块链网络。公有区块链网络向所有实体开放使用该系统,并开放参与共识过程。私有区块链网络针对特定实体提供,该特定实体集中控制读写权限(permission)。联盟区块链网络针对选择的实体组群提供并包括访问控制层,该实体组群控制共识过程。
使用点对点(peer-to-peer,P2P)网络实现区块链系统,其中的节点彼此直接通信,例如无需固定的中央服务器。P2P网络中的每个节点可以发起与P2P网络中的另一节点的通信。
区块链系统维护一个或多个区块链。区块链是用于存储例如交易的数据的数据结构,其可以预防数据被恶意方篡改或操纵。区块链系统可以支持一个或多个智能合约的执行。每个智能合约可以是计算机代码形式的计算机协议,该计算机协议被并入区块链中以促进、验证或加强合约的协商或执行。
智能合约可以使用键值对指定数据。每个键值对可以包括能够利用密钥检索的键和值。当智能合约被并入区块链时,在智能合约中指定的键值对可以被记录在区块链上。出于安全原因,区块链系统可以利用与智能合约中指定的初始密钥不同的、经修改的密钥来记录键值对。例如,与记录键值对<key1,value1>和<key2,value2>不同,区块链系统可以在区块链上记录经修改的键值对<hash(key1),value1>和<hash(key2),value2>,其中key1和key2是初始键值对,hash(key1)和hash(key2)表示根据预定义的哈希函数计算的key1和key2的哈希值。因为hash(key1)和hash(key2)彼此不相关,可以需要至少两个独立的输入/输出(I/O)操作来检索所记录的键值对<hash(key1),value1>和<hash(key2),value2>。
此外,区块链系统的当前实施方式通常在树形数据结构中记录键值对。树形数据结构可以包括例如,字典树(Trie Tree)、梅克尔树(Merkle Tree)、梅克尔帕特丽夏树(Merkle Patricia Tree)、桶形树(Bucket Tree)等。在树形数据结构中记录例如<hash(key1),value1>和<hash(key2),value2>的键值对可能会进一步增加遍历记录的键值对所需的I/O操作的数量。例如,如果智能合约包含n个键值对,且如果区块链系统利用深度等于d的梅克尔帕特丽夏树来记录这些键值对,则可能需要高达(d-1)x n个I/O操作来遍历n个记录的键值对。
因此,需要一种方法来提高遍历智能合约中指定的键值对的能力。
发明内容
在一方面,一种用于数据遍历的计算机实现的方法包括:从程序获得用于在区块链上使用的一个或多个键值对;索引所述一个或多个键值对的一个或多个键以生成索引,所述索引将所述一个或多个键与所述程序的标识相关联;以及基于所述索引在所述一个或多个键值对中检索至少一个值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201980003782.5/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置