【技术实现步骤摘要】
一种区块链时空数据查询方法、系统及电子设备
本申请属于互联网数据库
,特别涉及一种区块链时空数据查询方法、系统及电子设备。
技术介绍
区块链技术,也被称作分布式账本技术,是一种互联网数据库技术,是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链是随着比特币等数字加密货币的日益普及而逐渐兴起的一种全新的去中心化基础架构与分布式计算范式。由于区块链具有去中心化、时序数据、集体维护、安全可信等优点,近年,它已经被广泛地应用在金融、医疗、教育等行业中,工业界与学术界也在探索区块链更多的应用场景。随着区块链技术的兴起激发了包括时空数据管理在内的各种领域的大量新应用的产生,例如,考虑在运输过程中跟踪物品的供应链场景。运输过程中要求不仅需要不断更新时空信息,还应支持时空数据的快速查询,如列出在t时间位于l处的所有数据,或者从t1到t2时间段内位于l处的所有数据。但是,当前的区块链技术并不能高效响应时空数据的查询,而针对时空数据的高效查询研究在数据库中一直备受瞩目,若能在区块链上进行高效时空数据查询,将具有广泛的应用前景。区块链利用Merkle树对区块中的事务数据进行哈希,其中每个区块包含块头和块身,块头的作用是链接到前面的块为区块链提供完整性,块身则包含验证过的块创建过程中的数据记录。当需要查询区块链中的数据时,通过块身可以查询到当前区块的事务数据,通过块头可以找到区块链中当前区块的前一个区块。目前,对区块链中某种数据模式下数据的查询,需要从区块链上最新加入的区块开始,先查询该块块身中的事务数据,再通过块头回溯到前一个区块中查询,以 ...
【技术保护点】
1.一种区块链时空数据查询方法,其特征在于,包括以下步骤:步骤a:将区块链系统中的时空数据插入基于Merkle树与kd树相结合的树形索引结构中,并存储在区块链模块中;对于所述区块链模块中的每个区块,在块头中引入时间元信息;步骤b:给定时空数据对应的时间范围和空间范围,利用所述区块链模块中每个区块块头中的时间元信息在有向无环图的拓扑结构G中搜索出符合所述时间范围的区块;步骤c:读取所述符合时间范围的区块块头中的基于所述Merkle树与kd树相结合的树型索引结构的根节点信息,搜索出符合所述空间范围的键数据,再根据所述键数据得到对应的时空数据;其中,所述拓扑结构G的节点集为V,所述拓扑结构G的边集为E。
【技术特征摘要】
1.一种区块链时空数据查询方法,其特征在于,包括以下步骤:步骤a:将区块链系统中的时空数据插入基于Merkle树与kd树相结合的树形索引结构中,并存储在区块链模块中;对于所述区块链模块中的每个区块,在块头中引入时间元信息;步骤b:给定时空数据对应的时间范围和空间范围,利用所述区块链模块中每个区块块头中的时间元信息在有向无环图的拓扑结构G中搜索出符合所述时间范围的区块;步骤c:读取所述符合时间范围的区块块头中的基于所述Merkle树与kd树相结合的树型索引结构的根节点信息,搜索出符合所述空间范围的键数据,再根据所述键数据得到对应的时空数据;其中,所述拓扑结构G的节点集为V,所述拓扑结构G的边集为E。2.根据权利要求1所述的区块链时空数据查询方法,其特征在于,在所述步骤b中,所述利用区块链模块中每个区块块头中的时间元信息在有向无环图的拓扑结构G中搜索出符合时间范围的区块具体为:对所述有向无环图的区块按所述时间范围搜索以宽度优先算法实现,所述拓扑结构G对于每个v∈V具有多个源节点s,由所述源节点s开始查询,对之后的查询均考虑追溯当前节点的最近前面节点。3.根据权利要求2所述的区块链时空数据查询方法,其特征在于,在所述步骤b中,所述利用区块链模块中每个区块块头中的时间元信息在有向无环图的拓扑结构G中搜索出符合所述时间范围的区块具体包括:步骤b1:给定时间范围β,利用GetRobustAccepted函数返回的当前最新的验证区块,开始运行宽度优先算法;步骤b2:在所述宽度优先算法的运行过程中,如果区块块头中的时间元信息在所述时间范围β内,则将该区块放入结果集中;步骤b3:当搜索到区块在所述时间范围β外或者所有下一个区块块头中的时间元信息的结束时间均小于所述时间范围β的开始时间,则终止运行宽度优先算法。4.根据权利要求3所述的区块链时空数据查询方法,其特征在于,在所述步骤c中,所述读取符合时间范围的区块块头中的基于所述Merkle树与kd树相结合的树型索引结构的根节点信息,搜索出符合空间范围的键数据具体包括:从所述符合时间范围的区块块头中得到基于所述Merkle树与kd树相结合的树型索引结构的根节点,从所述根节点开始往下沿着一条简单路径一直将所述空间范围与树节点进行比较;如果所述空间范围比树节点大,则所述路径进入树的右子树,如果所述空间范围比树节点小,则所述路径进入树的左子树,直到访问到一个符合所述空间范围的超矩形,并将所述超矩形中的哈希值数据返回。5.根据权利要求4所述的区块链时空数据查询方法,其特征在于,在所述步骤c中,所述根据键数据得到对应的时空数据具体为:在所述符合时间范围的区块块头中找到基于MerklePatricia-trie技术的键值对索引的根节点,并根据基于所述MerklePatricia-trie技术的键值对索引,将所述哈希值数据转换为原始时空数据,并返回原始时空数据。6.一种区块链时空数据查询系统,其特征在于,包括:区块链模块:用于存储区块数据;数据插入模块:与所述区块链模块连接,用于将区块链系统中的时空数据插入基于Merkle树与kd树相结合的树形索引结构中,并存储在所述区块链模块中;对于所述区块链模块中的每个区块,在块头中引入时间元信息;时间范围搜索模块:与所述区块链模块连接,用于给定时空数据对应的时间范围和空间范围,利用所述区块链模块中每个区块块头中的时间元信息在有向无环图的拓...
【专利技术属性】
技术研发人员:曲强,
申请(专利权)人:中国科学院深圳先进技术研究院,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。