CN208781225U - A blockchain spatiotemporal data query system and electronic equipment - Google Patents

A blockchain spatiotemporal data query system and electronic equipment Download PDF

Info

Publication number
CN208781225U
CN208781225U CN201821106014.1U CN201821106014U CN208781225U CN 208781225 U CN208781225 U CN 208781225U CN 201821106014 U CN201821106014 U CN 201821106014U CN 208781225 U CN208781225 U CN 208781225U
Authority
CN
China
Prior art keywords
blockchain
module
data
tree
block
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
CN201821106014.1U
Other languages
Chinese (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.)
Shenzhen Institute of Advanced Technology of CAS
Original Assignee
Shenzhen Institute of Advanced 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 Shenzhen Institute of Advanced Technology of CAS filed Critical Shenzhen Institute of Advanced Technology of CAS
Priority to CN201821106014.1U priority Critical patent/CN208781225U/en
Application granted granted Critical
Publication of CN208781225U publication Critical patent/CN208781225U/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及一种区块链时空数据查询系统及电子设备。包括:用于存储区块数据的区块链模块、与所述区块链模块电性连接的数据插入模块;与所述区块链模块电性连接的时间范围搜索模块;通过所述时间范围搜索模块与所述区块链模块电性连接的空间范围搜索模块;其中,所述区块链模块中有向无环图的拓扑结构G设置为节点集V和边集E两个部分。本申请的查询系统结构能够做到“在线式”的迅速返回区块链中符合给定要求的结果。

The present application relates to a blockchain spatiotemporal data query system and electronic equipment. It includes: a block chain module for storing block data, a data insertion module electrically connected with the block chain module; a time range search module electrically connected with the block chain module; through the time range The search module is a spatial range search module electrically connected to the blockchain module; wherein, the topology structure G of the directed acyclic graph in the blockchain module is set to two parts: node set V and edge set E. The query system structure of the present application can quickly return the results in the blockchain that meet the given requirements in an "online" manner.

Description

一种区块链时空数据查询系统及电子设备A blockchain spatiotemporal data query system and electronic equipment

技术领域technical field

本申请属于互联网数据库技术领域,特别涉及一种区块链时空数据查询系统及电子设备。The present application belongs to the technical field of Internet databases, and in particular relates to a blockchain spatiotemporal data query system and electronic equipment.

背景技术Background technique

区块链技术,也被称作分布式账本技术,是一种互联网数据库技术,是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链是随着比特币等数字加密货币的日益普及而逐渐兴起的一种全新的去中心化基础架构与分布式计算范式。由于区块链具有去中心化、时序数据、集体维护、安全可信等优点,近年,它已经被广泛地应用在金融、医疗、教育等行业中,工业界与学术界也在探索区块链更多的应用场景。随着区块链技术的兴起激发了包括时空数据管理在内的各种领域的大量新应用的产生,例如,考虑在运输过程中跟踪物品的供应链场景。运输过程中要求不仅需要不断更新时空信息,还应支持时空数据的快速查询,如列出在t时间位于l处的所有数据,或者从t1到t2时间段内位于l处的所有数据。但是,当前的区块链技术并不能高效响应时空数据的查询,而针对时空数据的高效查询研究在数据库中一直备受瞩目,若能在区块链上进行高效时空数据查询,将具有广泛的应用前景。Blockchain technology, also known as distributed ledger technology, is an Internet database technology and a new application model of computer technologies such as distributed data storage, point-to-point transmission, consensus mechanism, and encryption algorithm. Blockchain is a new decentralized infrastructure and distributed computing paradigm that has gradually emerged with the increasing popularity of digital cryptocurrencies such as Bitcoin. Because blockchain has the advantages of decentralization, time series data, collective maintenance, security and reliability, etc., it has been widely used in finance, medical care, education and other industries in recent years. Industry and academia are also exploring blockchain More application scenarios. The rise of blockchain technology has inspired a large number of new applications in various fields including spatiotemporal data management, for example, consider the supply chain scenario of tracking items during transportation. During transportation, it is required not only to continuously update spatiotemporal information, but also to support fast query of spatiotemporal data, such as listing all data located at l at time t, or all data located at l during the time period from t1 to t2. However, the current blockchain technology cannot efficiently respond to the query of spatiotemporal data, and the research on efficient query of spatiotemporal data has always attracted much attention in the database. application prospects.

区块链利用Merkle树对区块中的事务数据进行哈希,其中每个区块包含块头和块身,块头的作用是链接到前面的块为区块链提供完整性,块身则包含验证过的块创建过程中的数据记录。当需要查询区块链中的数据时,通过块身可以查询到当前区块的事务数据,通过块头可以找到区块链中当前区块的前一个区块。目前,对区块链中某种数据模式下数据的查询,需要从区块链上最新加入的区块开始,先查询该块块身中的事务数据,再通过块头回溯到前一个区块中查询,以此类推,遍历整条区块链的事务数据。The blockchain uses Merkle trees to hash transaction data in blocks, where each block contains a block header and a block body. The role of the block header is to link to the previous block to provide integrity for the blockchain, and the block body contains verification. data records during the creation of past blocks. When the data in the blockchain needs to be queried, the transaction data of the current block can be queried through the block body, and the previous block of the current block in the blockchain can be found through the block header. At present, to query data in a certain data mode in the blockchain, it is necessary to start from the newly added block on the blockchain, first query the transaction data in the block body, and then trace back to the previous block through the block header. Queries, and so on, traverse the transaction data of the entire blockchain.

综上所述,现有区块链技术存在的缺点在于:1)、不支持对时空数据进行高效的管理,包括对时空数据有效的存储和对时空数据的高效查询;2)、当前区块链对数据的查询,需要从区块链上最新加入的区块开始,通过其块头追溯到前一个区块这样一个区块一个区块的进行查询,最坏情况下,查询完需要便利整条区块链的数据,显然,这样的查询十分低效与耗时,并不适合快速查询;3)、当前区块链数据查询响应方法并不适合频繁变动的时空数据的查询;4)、对于空间坐标数据也没有一些索引以加速整个过程;5)、在区块链系统中针对时空数据这些多维数据建立索引往往需要超过一个复杂索引,这样不仅十分繁琐而且开销会较大。To sum up, the shortcomings of the existing blockchain technology are: 1), does not support efficient management of spatiotemporal data, including efficient storage of spatiotemporal data and efficient query of spatiotemporal data; 2), the current block Chain-to-data query needs to start from the newly added block on the blockchain, and trace back to the previous block through its block header, block by block. In the worst case, it is necessary to facilitate the entire query Blockchain data, obviously, such query is very inefficient and time-consuming, and is not suitable for fast query; 3), the current blockchain data query response method is not suitable for the query of frequently changing spatiotemporal data; 4), for The spatial coordinate data also does not have some indexes to speed up the whole process; 5) In the blockchain system, indexing of multidimensional data such as spatiotemporal data often requires more than one complex index, which is not only very cumbersome but also expensive.

发明内容SUMMARY OF THE INVENTION

本申请提供了一种区块链时空数据查询系统及电子设备,旨在至少在一定程度上解决现有技术中的上述技术问题之一。The present application provides a blockchain spatiotemporal data query system and electronic equipment, aiming to solve one of the above technical problems in the prior art at least to a certain extent.

为了解决上述问题,本申请提供了如下技术方案:In order to solve the above problems, the application provides the following technical solutions:

一种区块链时空数据查询系统,包括:A blockchain spatiotemporal data query system, comprising:

区块链模块:用于存储区块数据;Blockchain module: used to store block data;

数据插入模块:与所述区块链模块电性连接;Data insertion module: electrically connected to the blockchain module;

时间范围搜索模块:与所述区块链模块电性连接;Time range search module: electrically connected to the blockchain module;

空间范围搜索模块:通过所述时间范围搜索模块与所述区块链模块电性连接;Spatial range search module: electrically connected to the blockchain module through the time range search module;

其中,所述区块链模块中有向无环图的拓扑结构G设置为节点集V和边集 E两个部分。Wherein, the topology structure G of the directed acyclic graph in the blockchain module is set to two parts: node set V and edge set E.

优选的,所述区块链模块中每个区块块头中设置时间元信息;Preferably, time meta information is set in the block header of each block in the block chain module;

所述拓扑结构G对于每个v∈V具有多个源节点s。The topology G has multiple source nodes s for each v∈V.

优选的,所述区块块头中的根节点信息基于Merkle树与kd树相结合的树型索引结构;所述根节点分别与右子树的根节点、左子树的根节点连接。Preferably, the root node information in the block header is based on a tree-type index structure combining Merkle tree and kd tree; the root node is respectively connected with the root node of the right subtree and the root node of the left subtree.

为了解决上述技术问题,本申请实施例还提供一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,In order to solve the above technical problem, an embodiment of the present application further provides an electronic device, including: at least one processor; and a memory communicatively connected to the at least one processor; wherein,

所述存储器存储中设置有如上所述的区块链模块,所述处理器设置有如上所述的数据插入模块、时间范围搜索模块以及空间范围搜索模块。The memory storage is provided with the above-mentioned blockchain module, and the processor is provided with the above-mentioned data insertion module, time range search module and space range search module.

相对于现有技术,本申请实施例产生的有益效果在于:本申请实施例的区块链时空数据查询系统及电子设备通过将Merkle树与kd树相结合形成新树形索引以在有向无环图结构上存储区块链系统中的时空数据,基于此,在有向无环图中筛选符合时间范围的区块,并在筛选后的区块中查询符合空间范围的数据。相对于现有技术,本申请实施例的优势在于:Compared with the prior art, the beneficial effects of the embodiments of the present application are: the blockchain spatiotemporal data query system and electronic device of the embodiments of the present application form a new tree-shaped index by combining the Merkle tree and the kd tree, so that it can be The space-time data in the blockchain system is stored in the ring graph structure. Based on this, the blocks that meet the time range are filtered in the directed acyclic graph, and the data that meets the space range is queried in the filtered blocks. Compared with the prior art, the advantages of the embodiments of the present application are:

1、本申请从区块链的存储结构的调整到对区块链模块进行查询的相应模块都是针对时空数据设计的,能够符合区块链在时空数据管理上的应用场景;1. This application, from the adjustment of the storage structure of the blockchain to the corresponding modules for querying the blockchain modules, is designed for spatiotemporal data, which can meet the application scenarios of the blockchain in spatiotemporal data management;

2、本申请通过在每个区块头中加入特定时间元信息,用于记录该区块中时空数据的时间区间,当查询时可以通过给定的时间限制快速找到符合该限制的区块,根据Merkle树与kd树相结合的索引,可以定位到区块中相应的数据,改进现有技术中每次查询响应都需要遍历各区块,并读取每个区块中的数据十分低效的不足;2. In this application, specific time meta information is added to the header of each block to record the time interval of the spatiotemporal data in the block. When querying, the block that meets the limit can be quickly found through a given time limit. The combined index of Merkle tree and kd tree can locate the corresponding data in the block, improving the problem that each query response in the prior art needs to traverse each block and read the data in each block, which is very inefficient ;

3、改进在区块链系统对多维数据难以建立非复杂索引结构的不足,针对空间数据建立Merkle树与kd树相结合的树型索引结构,并通过该树型索引得到的键值可以迅速定位到原始数据;3. To improve the problem that it is difficult to establish a non-complex index structure for multi-dimensional data in the blockchain system, a tree index structure combining Merkle tree and kd tree is established for spatial data, and the key value obtained through the tree index can be quickly located. to the original data;

4、针对时空数据多应用于频繁更新的场景,本申请区块链模块中的数据结构采用验证时间更快的有向无环图结构(DAG),该结构的验证时间优于链式结构。4. For the scenarios where spatiotemporal data is mostly used for frequent updates, the data structure in the blockchain module of the present application adopts a Directed Acyclic Graph (DAG) structure with faster verification time, and the verification time of this structure is better than that of the chain structure.

附图说明Description of drawings

图1是本申请实施例的区块链时空数据查询系统的结构示意图;1 is a schematic structural diagram of a blockchain spatiotemporal data query system according to an embodiment of the present application;

图2为本申请实施例的区块链时空数据查询系统的硬件设备结构示意图;2 is a schematic structural diagram of a hardware device of a blockchain spatiotemporal data query system according to an embodiment of the application;

图3是本申请实施例的有向无环图;3 is a directed acyclic graph of an embodiment of the present application;

图4是本申请实施例的为在有向无环图上进行时空范围查询的响应示例图;4 is a response example diagram for performing a spatiotemporal range query on a directed acyclic graph according to an embodiment of the present application;

图5本申请实施例的区块链时空数据查询系统的流程图;5 is a flowchart of the blockchain spatiotemporal data query system according to an embodiment of the present application;

图6是本申请实施例的时间范围搜索的流程图;6 is a flowchart of a time range search in an embodiment of the present application;

图7是本申请实施例提供的空间范围搜索的流程图。FIG. 7 is a flowchart of a spatial range search provided by an embodiment of the present application.

具体实施方式Detailed ways

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。In order to make the purpose, technical solutions and advantages of the present application more clearly understood, the present application will be described in further detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application, but not to limit the present application.

请参阅图1,是本申请实施例的区块链时空数据查询系统的框架示意图。本申请的区块链时空数据查询系统,包括:用于存储区块数据的区块链模块、与区块链模块电性连接的数据插入模块;与区块链模块电性连接的时间范围搜索模块;通过时间范围搜索模块与区块链模块电性连接的空间范围搜索模块;其中,区块链模块中有向无环图的拓扑结构G设置为节点集V和边集E两个部分。Please refer to FIG. 1 , which is a schematic diagram of a framework of a blockchain spatiotemporal data query system according to an embodiment of the present application. The blockchain spatiotemporal data query system of the present application includes: a blockchain module for storing block data, a data insertion module electrically connected to the blockchain module; a time range search module electrically connected to the blockchain module module; a spatial range search module electrically connected to the blockchain module through the time range search module; wherein, the topology structure G of the directed acyclic graph in the blockchain module is set to two parts: node set V and edge set E.

优选的,区块链模块中每个区块块头中设置时间元信息以便于时间范围搜索模块检索;Preferably, time meta information is set in the block header of each block in the blockchain module to facilitate retrieval by the time range search module;

如附图3所示,拓扑结构G对于每个v∈V(属于节点集V的节点v)具有多个源节点s。源节点s是在有向无环图中入度为0的节点。对于在拓扑结构G中的每个节点v,它们均被后续的节点验证,而后续的节点又被更后续的节点进行验证。以此类推,可知最新加入拓扑结构G的区块节点是没有后续节点对它们进行验证的,所以它们是待验证的源节点s。利用源节点s,能够追溯其前面已验证过的节点,能够方便对整个有向无环图的拓扑结构G进行遍历。As shown in FIG. 3, topology G has multiple source nodes s for each v∈V (node v belonging to node set V). The source node s is the node with in-degree 0 in the directed acyclic graph. For each node v in topology G, they are verified by subsequent nodes, which in turn are verified by further subsequent nodes. By analogy, it can be seen that the block nodes newly added to the topology structure G have no subsequent nodes to verify them, so they are the source nodes to be verified. Using the source node s, the previously verified nodes can be traced back, and the topology structure G of the entire directed acyclic graph can be traversed conveniently.

优选的,区块块头中的根节点信息基于Merkle树与kd树相结合的树型索引结构;根节点分别与右子树的根节点、左子树的根节点连接。Preferably, the root node information in the block header is based on a tree-type index structure combining Merkle tree and kd tree; the root node is respectively connected with the root node of the right subtree and the root node of the left subtree.

具体的,数据插入模块:还用于在区块链区块更新过程中,将区块链系统中的时空数据插入基于Merkle树与kd树相结合的树形索引结构中,并存储在区块链模块中;同时,对于区块链模块中的每个区块,在块头中引入时间元信息;本申请实施例中,时空数据在区块链中的结构上采用了基于Merkle 树与kd树相结合的树型索引结构。其中,Merkle树是用于存储哈希值的树结构,其叶子是数据的哈希值,而非叶子节点是其对应子节点串联字符串的哈希值。而kd树是一种对于多维欧式空间分割构造的二叉树,其也代表了对k 维数据集合构成的k维空间的一个划分,即树中每个节点对应一个k维的超矩形。结合两者即kd树节点中的数据按照Merkle树规则进行哈希处理。Merkle Patricia-trie则用于存储时空数据的键值对,便于通过树型索引结构得到的键值迅速定位到原始数据。对于每个区块头中加入的时间元信息,用于记录该区块中时空数据的时间区间,当查询时可以通过给定的时间范围快速找到符合该时间范围的区块,根据Merkle树与kd树相结合的树型索引结构,可以定位到区块中相应的数据。Specifically, the data insertion module: it is also used to insert the spatiotemporal data in the blockchain system into the tree index structure based on the combination of Merkle tree and kd tree during the update process of the blockchain block, and store it in the block At the same time, for each block in the blockchain module, time meta information is introduced into the block header; in the embodiment of this application, the structure of the spatiotemporal data in the blockchain adopts Merkle tree and kd tree based on Combined tree index structure. Among them, the Merkle tree is a tree structure for storing hash values, its leaves are the hash values of the data, and the non-leaf nodes are the hash values of the concatenated strings of their corresponding child nodes. The kd tree is a binary tree constructed for multi-dimensional Euclidean space division, which also represents a division of the k-dimensional space formed by the k-dimensional data set, that is, each node in the tree corresponds to a k-dimensional hyperrectangle. Combining the two, the data in the kd tree node is hashed according to the Merkle tree rules. Merkle Patricia-trie is used to store key-value pairs of spatiotemporal data, so that the key values obtained through the tree index structure can be quickly located to the original data. For the time meta information added in the header of each block, it is used to record the time interval of the spatiotemporal data in the block. When querying, the block that conforms to the time range can be quickly found through the given time range. According to the Merkle tree and kd The tree-type index structure combined with the tree can locate the corresponding data in the block.

时间范围搜索模块:还用于在时空数据查询过程中,给定时空数据对应的时间范围和空间范围,利用区块链模块中每个区块块头中的时间元信息在有向无环图(DAG)的拓扑结构G(V,E)中搜索出符合时间范围的区块;本申请实施例中,在区块链技术上,选用需要验证时间更短的有向无环图 (DAG),它能提高区块链的效率,使得网络中能够并行出块,并且验证所需时间较小。在DAG网络中,每笔交易被确认,需要链接到已经在网络中存在的并且比较新的交易做链接确认,这样网络的宽度保持在一定的范围中,能让新的交易有较快的确认时间。Time range search module: It is also used in the process of spatio-temporal data query, given the time range and space range corresponding to the spatio-temporal data, using the time meta-information in the block header of each block in the blockchain module in the directed acyclic graph ( DAG) topology structure G(V, E) to search for blocks that meet the time range; in the embodiment of this application, in terms of blockchain technology, a directed acyclic graph (DAG) that requires a shorter verification time is selected, It can improve the efficiency of the blockchain, allowing parallel blocks to be produced in the network and requiring less time for verification. In the DAG network, each transaction is confirmed, and it needs to be linked to a relatively new transaction that already exists in the network for link confirmation, so that the width of the network is kept within a certain range, and new transactions can be confirmed faster. time.

为了在DAG上实现快速时间搜索,本申请引入了包含在每个块头中的时间元信息。给定时间范围β,首先在DAG拓扑结构G(V,E)上根据β搜索出满足条件的区块。如附图3所示,拓扑结构G对于每个v∈V具有多个源节点s (即新加入有向无环图中的待验证节点),由源节点开始查询,对之后的查询均考虑追溯当前点的最近前面节点。对各有向无环图的区块按时间范围搜索以宽度优先算法(BFS)实现。具体的,时间范围搜索模块的时间范围搜索方式为:给定时间范围β=(开始时间,结束时间),利用 GetRobustAccepted(G)函数返回的当前最新的验证区块,由此开始运行 BFS;在BFS的执行过程中,如果区块块头中的时间元信息在给定的时间范围β内,即,则将该区块放入结果集中;当搜索到区块在时间范围β外或者所有下一个区块块头中的时间元信息的结束时间均小于β的开始时间,则终止运行BFS。To achieve fast temporal search on DAGs, the present application introduces temporal meta-information contained in each block header. Given a time range β, firstly, on the DAG topology G(V, E), a block that satisfies the conditions is searched according to β. As shown in Fig. 3, the topology G has multiple source nodes s for each v∈V (ie newly added nodes to be verified in the directed acyclic graph), the source node starts the query, and all subsequent queries are considered Retraces the nearest preceding node of the current point. The time range search for each DAG block is implemented with breadth-first algorithm (BFS). Specifically, the time range search method of the time range search module is: given a time range β=(start time, end time), use the current latest verification block returned by the GetRobustAccepted(G) function, thereby starting to run BFS; During the execution of BFS, if the time meta-information in the block header is within the given time range β, that is, Then put the block into the result set; when the search block is outside the time range β or the end time of the time meta information in the block header of all the next blocks is less than the start time of β, the operation of BFS is terminated.

空间范围搜索模块:还用于读取每个符合时间范围的区块块头中的基于 Merkle树与kd树相结合的树型索引结构的根节点信息,然后从上往下访问整个Merkle树与kd树相结合的树型索引结构,搜索出符合空间范围内的键数据,再根据键数据通过MerklePatricia-trie技术得到对应的原始时空数据;本申请针对时空数据提出高效区块链查询响应方法,使之能支持如“s时间段内l 区域的所有数据”等查询。Spatial range search module: It is also used to read the root node information of the tree index structure based on the combination of Merkle tree and kd tree in the block header of each block that meets the time range, and then access the entire Merkle tree and kd from top to bottom. The tree-type index structure combined with trees can search for key data within the spatial range, and then obtain the corresponding original spatiotemporal data through MerklePatricia-trie technology according to the key data; this application proposes an efficient blockchain query response method for spatiotemporal data, which enables It can support queries such as "all data in the l area in the s time period".

进一步的,空间范围搜索模块的空间范围搜索方式为:在时间范围搜索模块搜索完毕后从区块的块头中得到基于Merkle树与kd树相结合的树型索引结构的根节点,从根节点开始往下沿着一条简单路径一直将给定空间范围与树节点进行比较;如果给定空间范围比树节点大,则路径进入树的右子树,如果给定空间范围比树节点小,则路径进入树的左子树,直到访问到一个符合空间范围的超矩形,并将超矩形中的数据返回;对于返回的数据,因为均是哈希值,需要在块头中找到基于Merkle Patricia-trie技术的键值对索引的根节点;根据基于Merkle Patricia-trie技术的键值对索引,将哈希值数据转换为原始时空数据,并返回原始时空数据。Further, the space range search method of the space range search module is: after the time range search module completes the search, the root node of the tree index structure based on the combination of Merkle tree and kd tree is obtained from the block header, starting from the root node. Continue down a simple path comparing the given spatial extent with the tree node; if the given spatial extent is larger than the tree node, the path goes to the right subtree of the tree, and if the given spatial extent is smaller than the tree node, the path Enter the left subtree of the tree until a hyperrectangle that conforms to the spatial range is accessed, and the data in the hyperrectangle is returned; for the returned data, because they are all hash values, it is necessary to find the Merkle Patricia-trie technology in the block header The root node of the key-value pair index; according to the key-value pair index based on the Merkle Patricia-trie technology, the hash value data is converted into the original spatiotemporal data, and the original spatiotemporal data is returned.

本申请实验在iota的tangle(基于有向无环图)上建立了一个专用的测试网络,并利用Pokemon Go上的时空数据进行测试,可以发现,在测试网络中,用户利用本申请提出的方法,能够“在线式”的查询到符合条件的时空数据,其查询响应时间很快。对于查询方式,实验采用了多种主流查询方式:knn查询、ball-point查询、range查询和bounded knn查询,得到的结果均是响应速度满足“在线式”查询。The experiment of this application establishes a dedicated test network on iota's tangle (based on directed acyclic graph), and uses the spatiotemporal data on Pokemon Go for testing. It can be found that in the test network, users use the method proposed in this application. , which can query the qualified spatiotemporal data "online", and its query response time is very fast. For the query method, the experiment adopts a variety of mainstream query methods: knn query, ball-point query, range query and bounded knn query.

图2是本申请实施例提供的区块链时空数据查询系统的硬件设备结构示意图。如图7所示,该设备包括一个或多个处理器以及存储器。以一个处理器为例,该设备还可以包括:输入系统和输出系统。FIG. 2 is a schematic structural diagram of a hardware device of a blockchain spatiotemporal data query system provided by an embodiment of the present application. As shown in Figure 7, the device includes one or more processors and memory. Taking a processor as an example, the device may further include: an input system and an output system.

处理器、存储器、输入系统和输出系统可以通过总线或者其他方式连接,图2中以通过总线连接为例。The processor, the memory, the input system, and the output system can be connected by a bus or in other ways, and the connection by a bus is taken as an example in FIG. 2 .

存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块。处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述方法实施例的处理方法。As a non-transitory computer-readable storage medium, the memory can be used to store non-transitory software programs, non-transitory computer-executable programs, and modules. The processor executes various functional applications and data processing of the electronic device by running the non-transitory software programs, instructions and modules stored in the memory, that is, the processing method of the above method embodiment is implemented.

存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理系统。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。The memory may include a stored program area and a stored data area, wherein the stored program area can store an operating system and an application program required by at least one function; the stored data area can store data and the like. Additionally, the memory may include high-speed random access memory, and may also include non-transitory memory, such as at least one magnetic disk storage device, flash memory device, or other non-transitory solid state storage device. In some embodiments, the memory may optionally include memory located remotely from the processor, which may be connected to the processing system via a network. Examples of such networks include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

输入系统可接收输入的数字或字符信息,以及产生信号输入。输出系统可包括显示屏等显示设备。The input system can receive input numerical or character information and generate signal input. The output system may include a display device such as a display screen.

所述一个或者多个模块存储在所述存储器中,当被所述一个或者多个处理器执行时,执行上述任一方法实施例的以下操作:The one or more modules are stored in the memory, and when executed by the one or more processors, perform the following operations of any of the foregoing method embodiments:

步骤a:将区块链系统中的时空数据插入基于Merkle树与kd树相结合的树形索引结构中,并存储在区块链模块中;对于所述区块链模块中的每个区块,在块头中引入时间元信息;Step a: Insert the spatiotemporal data in the blockchain system into a tree index structure based on the combination of Merkle tree and kd tree, and store it in the blockchain module; for each block in the blockchain module , introducing time meta-information in the block header;

步骤b:给定时空数据对应的时间范围和空间范围,利用所述区块链模块中每个区块块头中的时间元信息在有向无环图的拓扑结构G中搜索出符合所述时间范围的区块;Step b: Given the time range and space range corresponding to the spatiotemporal data, use the time meta-information in the block header of each block in the blockchain module to search the topology G of the directed acyclic graph to find the time that matches the time range of blocks;

步骤c:读取所述符合时间范围的区块块头中的基于所述Merkle树与kd树相结合的树型索引结构的根节点信息,搜索出符合所述空间范围的键数据,再根据所述键数据得到对应的时空数据。Step c: Read the root node information of the tree-type index structure based on the combination of the Merkle tree and the kd tree in the block header that meets the time range, search for key data that meets the space range, and then according to the Descriptive key data gets the corresponding spatiotemporal data.

上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例提供的方法。The above product can execute the method provided by the embodiments of the present application, and has functional modules and beneficial effects corresponding to the execution method. For technical details not described in detail in this embodiment, reference may be made to the method provided in this embodiment of the present application.

本申请实施例提供了一种非暂态(非易失性)计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行以下操作:An embodiment of the present application provides a non-transitory (non-volatile) computer storage medium, where the computer storage medium stores computer-executable instructions, and the computer-executable instructions can perform the following operations:

步骤a:将区块链系统中的时空数据插入基于Merkle树与kd树相结合的树形索引结构中,并存储在区块链模块中;对于所述区块链模块中的每个区块,在块头中引入时间元信息;Step a: Insert the spatiotemporal data in the blockchain system into a tree index structure based on the combination of Merkle tree and kd tree, and store it in the blockchain module; for each block in the blockchain module , introducing time meta-information in the block header;

步骤b:给定时空数据对应的时间范围和空间范围,利用所述区块链模块中每个区块块头中的时间元信息在有向无环图的拓扑结构G中搜索出符合所述时间范围的区块;Step b: Given the time range and space range corresponding to the spatiotemporal data, use the time meta-information in the block header of each block in the blockchain module to search the topology G of the directed acyclic graph to find the time that matches the time range of blocks;

步骤c:读取所述符合时间范围的区块块头中的基于所述Merkle树与kd树相结合的树型索引结构的根节点信息,搜索出符合所述空间范围的键数据,再根据所述键数据得到对应的时空数据。Step c: Read the root node information of the tree-type index structure based on the combination of the Merkle tree and the kd tree in the block header that meets the time range, search for key data that meets the space range, and then according to the Descriptive key data gets the corresponding spatiotemporal data.

本申请实施例提供了一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行以下操作:An embodiment of the present application provides a computer program product, the computer program product includes a computer program stored on a non-transitory computer-readable storage medium, the computer program includes program instructions, and when the program instructions are executed by a computer , which causes the computer to do the following:

步骤a:将区块链系统中的时空数据插入基于Merkle树与kd树相结合的树形索引结构中,并存储在区块链模块中;对于所述区块链模块中的每个区块,在块头中引入时间元信息;Step a: Insert the spatiotemporal data in the blockchain system into a tree index structure based on the combination of Merkle tree and kd tree, and store it in the blockchain module; for each block in the blockchain module , introducing time meta-information in the block header;

步骤b:给定时空数据对应的时间范围和空间范围,利用所述区块链模块中每个区块块头中的时间元信息在有向无环图的拓扑结构G中搜索出符合所述时间范围的区块;Step b: Given the time range and space range corresponding to the spatiotemporal data, use the time meta-information in the block header of each block in the blockchain module to search the topology G of the directed acyclic graph to find the time that matches the time range of blocks;

步骤c:读取所述符合时间范围的区块块头中的基于所述Merkle树与kd树相结合的树型索引结构的根节点信息,搜索出符合所述空间范围的键数据,再根据所述键数据得到对应的时空数据。Step c: Read the root node information of the tree-type index structure based on the combination of the Merkle tree and the kd tree in the block header that meets the time range, search for key data that meets the space range, and then according to the Descriptive key data gets the corresponding spatiotemporal data.

请参阅图5,是本申请实施例的区块链时空数据查询系统的流程图。本申请实施例的区块链时空数据查询系统包括以下步骤:Please refer to FIG. 5 , which is a flowchart of a blockchain spatiotemporal data query system according to an embodiment of the present application. The blockchain spatiotemporal data query system of the embodiment of the present application includes the following steps:

步骤100:在区块链区块更新过程中,将区块链系统中的时空数据插入基于Merkle树与kd树相结合的树形索引结构中,并存储在区块链模块中;同时,对于区块链模块中的每个区块,在块头中引入时间元信息;Step 100: During the block chain block update process, the spatiotemporal data in the block chain system is inserted into the tree index structure based on the combination of Merkle tree and kd tree, and stored in the block chain module; at the same time, for Each block in the blockchain module introduces time meta information in the block header;

步骤100中,时空数据在区块链中的结构上,本申请采用了基于Merkle树与kd树相结合的树型索引结构。其中,Merkle树是用于存储哈希值的树结构,其叶子是数据的哈希值,而非叶子节点是其对应子节点串联字符串的哈希值。而kd树是一种对于多维欧式空间分割构造的二叉树,其也代表了对k 维数据集合构成的k维空间的一个划分,即树中每个节点对应一个k维的超矩形。结合两者即kd树节点中的数据按照Merkle树规则进行哈希处理。Merkle Patricia-trie则用于存储时空数据的键值对,便于通过树型索引结构得到的键值迅速定位到原始数据。对于每个区块头中加入的时间元信息,用于记录该区块中时空数据的时间区间,当查询时可以通过给定的时间范围快速找到符合该时间范围的区块,根据Merkle树与kd树相结合的树型索引结构,可以定位到区块中相应的数据。In step 100, regarding the structure of spatiotemporal data in the blockchain, the present application adopts a tree index structure based on the combination of Merkle tree and kd tree. Among them, the Merkle tree is a tree structure for storing hash values, its leaves are the hash values of the data, and the non-leaf nodes are the hash values of the concatenated strings of their corresponding child nodes. The kd tree is a binary tree constructed for multi-dimensional Euclidean space division, which also represents a division of the k-dimensional space formed by the k-dimensional data set, that is, each node in the tree corresponds to a k-dimensional hyperrectangle. Combining the two, the data in the kd tree node is hashed according to the Merkle tree rules. Merkle Patricia-trie is used to store key-value pairs of spatiotemporal data, so that the key values obtained through the tree index structure can be quickly located to the original data. For the time meta information added in the header of each block, it is used to record the time interval of the spatiotemporal data in the block. When querying, the block that conforms to the time range can be quickly found through the given time range. According to the Merkle tree and kd The tree-type index structure combined with the tree can locate the corresponding data in the block.

步骤200:在时空数据查询过程中,给定时空数据对应的时间范围和空间范围,利用区块链模块中每个区块块头中的时间元信息在有向无环图 (DAG)的拓扑结构G(V,E)中搜索出符合时间范围的区块;其中,拓扑结构G的节点集为V,拓扑结构G的边集为E。Step 200: In the process of spatiotemporal data query, given the time range and space range corresponding to the spatiotemporal data, use the time meta-information in the block header of each block in the blockchain module in the topology structure of the directed acyclic graph (DAG). G(V, E) is searched for blocks that meet the time range; among them, the node set of topology structure G is V, and the edge set of topology structure G is E.

步骤200中,在区块链技术上,本申请选用需要验证时间更短的有向无环图(DAG),它能提高区块链的效率,使得网络中能够并行出块,并且验证所需时间较小。在DAG网络中,每笔交易被确认,需要链接到已经在网络中存在的并且比较新的交易做链接确认,这样网络的宽度保持在一定的范围中,能让新的交易有较快的确认时间。有向无环图如图3所示。In step 200, in terms of blockchain technology, this application selects a directed acyclic graph (DAG) that requires a shorter verification time, which can improve the efficiency of the blockchain, enable parallel blocks to be generated in the network, and verify the required results. less time. In the DAG network, each transaction is confirmed, and it needs to be linked to a relatively new transaction that already exists in the network for link confirmation, so that the width of the network is kept within a certain range, and new transactions can be confirmed faster. time. The directed acyclic graph is shown in Figure 3.

为了在DAG上实现快速时间搜索,本申请引入了包含在每个块头中的时间元信息。给定时间范围β,首先在DAG拓扑结构G(V,E)上根据β搜索出满足条件的区块。如附图3所示,拓扑结构G对于每个v∈V具有多个源节点s (即源节点s为新加入有向无环图拓扑结构G中的待验证节点)由源节点开始查询,对之后的查询均考虑追溯当前点的最近前面节点。对各有向无环图的区块按时间范围搜索以宽度优先算法(BFS)实现。To achieve fast temporal search on DAGs, the present application introduces temporal meta-information contained in each block header. Given a time range β, firstly, on the DAG topology G(V, E), a block that satisfies the conditions is searched according to β. As shown in FIG. 3 , the topology structure G has multiple source nodes s for each v∈V (that is, the source node s is a node to be verified newly added to the directed acyclic graph topology structure G), and the source node starts to query, All subsequent queries are considered to trace back to the nearest previous node of the current point. The time range search for each DAG block is implemented with breadth-first algorithm (BFS).

具体请参阅图6,是本申请实施例的时间范围搜索的流程图。时间范围搜索的步骤包括:For details, please refer to FIG. 6 , which is a flowchart of a time range search in an embodiment of the present application. The steps for a time range search include:

步骤201:给定时间范围β=(开始时间,结束时间),利用 GetRobustAccepted(G)函数返回的当前最新的验证区块,由此开始运行 BFS;Step 201: Given a time range β=(start time, end time), use the current latest verification block returned by the GetRobustAccepted(G) function, thereby starting to run BFS;

步骤202:在BFS的执行过程中,如果区块块头中的时间元信息在给定的时间范围β内,即, 则将该区块放入结果集中;Step 202: During the execution of BFS, if the time meta-information in the block header is within a given time range β, that is, then put the block into the result set;

步骤203:当搜索到区块在时间范围β外或者所有下一个区块块头中的时间元信息的结束时间均小于β的开始时间,则终止运行BFS。Step 203: When it is found that the block is outside the time range β or the end time of the time meta-information in the block headers of all the next blocks is less than the start time of β, the operation of BFS is terminated.

步骤300:对于每个符合时间范围的区块,读取每个区块块头中的基于 Merkle树与kd树相结合的树型索引结构的根节点信息,然后从上往下访问整个Merkle树与kd树相结合的树型索引结构,搜索出符合空间范围内的键数据,再根据键数据通过MerklePatricia-trie技术得到对应的原始时空数据;Step 300: For each block that meets the time range, read the root node information of the tree index structure based on the combination of Merkle tree and kd tree in the block header of each block, and then access the entire Merkle tree and The tree-type index structure combined with kd tree searches for the key data within the spatial range, and then obtains the corresponding original spatiotemporal data through MerklePatricia-trie technology according to the key data;

步骤300中,本申请针对时空数据提出高效区块链查询响应方法,使之能支持如“s时间段内l区域的所有数据”等查询。In step 300, the present application proposes an efficient blockchain query response method for spatiotemporal data, so that it can support queries such as "all data in the area l in the s time period".

空间范围搜索的主要过程为树的遍历过程,具体请参阅图7,是本申请实施例的空间范围搜索的流程图。空间范围搜索的步骤包括:The main process of the spatial range search is a tree traversal process. For details, please refer to FIG. 7 , which is a flowchart of the spatial range search in the embodiment of the present application. The steps of a spatial range search include:

步骤301:从符合时间范围的区块的块头中得到基于Merkle树与kd树相结合的树型索引结构的根节点,从根节点开始往下沿着一条简单路径一直将给定空间范围与树节点进行比较;Step 301: Obtain the root node of the tree index structure based on the combination of Merkle tree and kd tree from the block header of the block that matches the time range, and follow a simple path from the root node to connect the given space range to the tree. node for comparison;

步骤302:如果给定空间范围比树节点大,则路径进入树的右子树,如果给定空间范围比树节点小,则路径进入树的左子树,直到访问到一个符合空间范围的超矩形,并将超矩形中的数据返回;Step 302: If the given space range is larger than the tree node, the path enters the right subtree of the tree; if the given space range is smaller than the tree node, the path enters the left subtree of the tree, until a supertree that meets the space range is accessed. rectangle, and return the data in the super rectangle;

步骤303:对于返回的数据,因为均是哈希值,需要在块头中找到基于 MerklePatricia-trie技术的键值对索引的根节点;Step 303: For the returned data, since it is a hash value, the root node of the key-value pair index based on the MerklePatricia-trie technology needs to be found in the block header;

步骤304:根据基于Merkle Patricia-trie技术的键值对索引,将哈希值数据转换为原始时空数据,并返回原始时空数据。Step 304: Convert the hash value data into original spatiotemporal data according to the key-value pair index based on the Merkle Patricia-trie technology, and return the original spatiotemporal data.

注意,空间范围搜索过程会对所有符合给定时间范围的区块都处理一次,得到的返回数据就是符合时空查询要求的时空数据。图4为在有向无环图上进行时空范围查询的响应示例图。首先,根据给定时间范围得到在该时间范围内的区块,然后,根据给定的空间范围,在每个区块内找寻符合的超矩形,并返回超矩形中的数据结果。Note that the spatial range search process will process all blocks that meet the given time range once, and the returned data is the spatiotemporal data that meets the requirements of the spatiotemporal query. FIG. 4 is an example diagram of the response of performing a spatiotemporal range query on a directed acyclic graph. First, the blocks within the time range are obtained according to the given time range, and then, according to the given space range, the corresponding hyperrectangles are found in each block, and the data results in the hyperrectangles are returned.

本申请实施例的区块链时空数据查询系统及电子设备通过将Merkle树与 kd树相结合形成新树形索引以在有向无环图结构上存储区块链系统中的时空数据,基于此,在有向无环图中筛选符合时间范围的区块,并在筛选后的区块中查询符合空间范围的数据。相对于现有技术,本申请实施例的优势在于:The blockchain spatiotemporal data query system and electronic device of the embodiments of the present application form a new tree index by combining the Merkle tree and the kd tree to store the spatiotemporal data in the blockchain system on the directed acyclic graph structure. Based on this , filter the blocks that fit the time range in the directed acyclic graph, and query the data that fit the spatial range in the filtered blocks. Compared with the prior art, the advantages of the embodiments of the present application are:

1、本申请从区块链的存储结构的调整到区块链系统对数据的查询,都是针对时空数据设计的,能够符合区块链在时空数据管理上的应用场景;1. This application, from the adjustment of the storage structure of the blockchain to the query of the data by the blockchain system, is designed for spatiotemporal data and can meet the application scenarios of the blockchain in spatiotemporal data management;

2、本申请的时空数据查询方法非常高效,能够做到“在线式”的迅速返回符合给定要求的结果,并且,本申请的区块产生到验证的速度有很大的提升,其中设计的高效索引均是轻量级的,占用空间小,符合时空区块链的要求;2. The spatiotemporal data query method of the present application is very efficient, and can quickly return results that meet the given requirements in an "online" manner. Moreover, the speed of block generation to verification in the present application is greatly improved. Efficient indexes are all lightweight, occupy a small space, and meet the requirements of space-time blockchain;

3、查询响应过程简洁且便于实现,能适用于像knn、范围查询等多种主流的时空数据查询;3. The query response process is simple and easy to implement, and can be applied to various mainstream spatiotemporal data queries such as knn and range queries;

4、本申请通过在每个区块头中加入特定时间元信息,用于记录该区块中时空数据的时间区间,当查询时可以通过给定的时间限制快速找到符合该限制的区块,根据Merkle树与kd树相结合的索引,可以定位到区块中相应的数据,改进现有技术中每次查询响应都需要遍历各区块,并读取每个区块中的数据十分低效的不足;4. In this application, specific time meta information is added to the header of each block to record the time interval of the spatiotemporal data in the block. When querying, the block that meets the limit can be quickly found through a given time limit. The combined index of Merkle tree and kd tree can locate the corresponding data in the block, improving the problem that each query response in the prior art needs to traverse each block and read the data in each block, which is very inefficient ;

5、改进在区块链系统对多维数据难以建立非复杂索引结构的不足,针对空间数据建立Merkle树与kd树相结合的树型索引,并且对于每个时空数据,利用Merkle Patricia-trie做成键值对,便于通过树型索引得到的键值迅速定位到原始数据;5. To improve the problem that it is difficult to establish a non-complex index structure for multi-dimensional data in the blockchain system, establish a tree index combining Merkle tree and kd tree for spatial data, and use Merkle Patricia-trie for each spatiotemporal data. Key-value pair, which is convenient for quickly locating the key value obtained through the tree index to the original data;

6、针对时空数据多应用于频繁更新的场景,本申请区块链采用验证时间更快的有向无环图结构(DAG),该结构的验证时间优于链式结构。6. For the scenarios where spatiotemporal data is mostly used for frequent updates, the blockchain of this application adopts a directed acyclic graph structure (DAG) with faster verification time, and the verification time of this structure is better than that of the chain structure.

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本申请中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本申请所示的这些实施例,而是要符合与本申请所公开的原理和新颖特点相一致的最宽的范围。The above description of the disclosed embodiments enables any person skilled in the art to make or use the present application. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined in this application may be implemented in other embodiments without departing from the spirit or scope of this application. Therefore, this application is not to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims (4)

1.一种区块链时空数据查询系统,其特征在于,包括:1. A block chain spatiotemporal data query system is characterized in that, comprising: 区块链模块:用于存储区块数据;Blockchain module: used to store block data; 数据插入模块:与所述区块链模块电性连接;Data insertion module: electrically connected to the blockchain module; 时间范围搜索模块:与所述区块链模块电性连接;Time range search module: electrically connected to the blockchain module; 空间范围搜索模块:通过所述时间范围搜索模块与所述区块链模块电性连接;Spatial range search module: electrically connected to the blockchain module through the time range search module; 其中,所述区块链模块中有向无环图的拓扑结构G设置为节点集V和边集E两个部分。Wherein, the topology structure G of the directed acyclic graph in the blockchain module is set to two parts: node set V and edge set E. 2.根据权利要求1所述的区块链时空数据查询系统,其特征在于,所述区块链模块中每个区块块头中设置时间元信息;2. The blockchain spatiotemporal data query system according to claim 1, wherein time meta information is set in each block header in the blockchain module; 所述拓扑结构G对于每个v∈V具有多个源节点s。The topology G has multiple source nodes s for each v∈V. 3.根据权利要求2所述的区块链时空数据查询系统,其特征在于,所述区块块头中的根节点信息基于Merkle树与kd树相结合的树型索引结构;所述根节点分别与右子树的根节点、左子树的根节点连接。3. The blockchain spatiotemporal data query system according to claim 2, wherein the root node information in the block header is based on a tree-type index structure combined with a Merkle tree and a kd tree; the root nodes are respectively Connect to the root node of the right subtree and the root node of the left subtree. 4.一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,4. An electronic device comprising: at least one processor; and a memory communicatively coupled to the at least one processor; wherein, 所述存储器存储中设置有如权利要求1-3任意一项所述的区块链模块,所述处理器设置有如权利要求1-3任意一项所述的数据插入模块、时间范围搜索模块以及空间范围搜索模块。The memory storage is provided with the blockchain module according to any one of claims 1-3, and the processor is provided with the data insertion module, the time range search module and the space according to any one of claims 1-3 Scope search module.
CN201821106014.1U 2018-07-12 2018-07-12 A blockchain spatiotemporal data query system and electronic equipment Active CN208781225U (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201821106014.1U CN208781225U (en) 2018-07-12 2018-07-12 A blockchain spatiotemporal data query system and electronic equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201821106014.1U CN208781225U (en) 2018-07-12 2018-07-12 A blockchain spatiotemporal data query system and electronic equipment

Publications (1)

Publication Number Publication Date
CN208781225U true CN208781225U (en) 2019-04-23

Family

ID=66153447

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201821106014.1U Active CN208781225U (en) 2018-07-12 2018-07-12 A blockchain spatiotemporal data query system and electronic equipment

Country Status (1)

Country Link
CN (1) CN208781225U (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112039823A (en) * 2019-06-03 2020-12-04 厦门本能管家科技有限公司 Instant random block output method and system for block chain
CN113495881A (en) * 2020-03-19 2021-10-12 中科星图股份有限公司 Method and system for mass tile data migration and format conversion
US11269863B2 (en) * 2020-01-23 2022-03-08 International Business Machines Corporation Index structure for blockchain ledger
JP2023505412A (en) * 2020-02-18 2023-02-09 テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド Block processing method, data retrieval method and apparatus based on blockchain

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112039823A (en) * 2019-06-03 2020-12-04 厦门本能管家科技有限公司 Instant random block output method and system for block chain
US11269863B2 (en) * 2020-01-23 2022-03-08 International Business Machines Corporation Index structure for blockchain ledger
JP2023505412A (en) * 2020-02-18 2023-02-09 テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド Block processing method, data retrieval method and apparatus based on blockchain
JP7441311B2 (en) 2020-02-18 2024-02-29 テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド Block processing method, data retrieval method and device based on blockchain
CN113495881A (en) * 2020-03-19 2021-10-12 中科星图股份有限公司 Method and system for mass tile data migration and format conversion

Similar Documents

Publication Publication Date Title
CN108595720B (en) A blockchain spatiotemporal data query method, system and electronic device
US11762876B2 (en) Data normalization using data edge platform
CN208781225U (en) A blockchain spatiotemporal data query system and electronic equipment
CN105468702A (en) Large-scale RDF data association path discovery method
CN103678550B (en) Mass data real-time query method based on dynamic index structure
CN102163218A (en) Graph-index-based graph database keyword vicinity searching method
CN108520035A (en) Query Processing Method of SPARQL Basic Graph Pattern Based on Star Decomposition
Katib et al. RIQ: Fast processing of SPARQL queries on RDF quadruples
Kaur et al. Visualizing class diagram using orientDB NOSQL data–store
CN113704248B (en) Block chain query optimization method based on external index
CN114153987B (en) Distributed knowledge graph query method, device and storage medium
Lian et al. Quality-aware subgraph matching over inconsistent probabilistic graph databases
Sun et al. Applying prefixed-itemset and compression matrix to optimize the MapReduce-based Apriori algorithm on Hadoop
WO2013097065A1 (en) Index data processing method and device
US20170031909A1 (en) Locality-sensitive hashing for algebraic expressions
CN115114464A (en) Power grid graph database storage method based on multi-Hash algorithm
Zhang et al. MapReduce implementation of XML keyword search algorithm
Wang et al. A blockchain query optimization method based on hybrid indexes
Čerešňák et al. Improvement of Data Searching in MongoDB with the Use of Oracle Database
Miura et al. An FPGA-based Accelerator for Regular Path Queries over Edge-labeled Graphs
Wang et al. The integrated organization of data and knowledge based on distributed hash
CN111538804A (en) HBase-based graph data processing method and equipment
Valenta et al. Distributed evaluation of XPath axes queries over large XML documents stored in MapReduce clusters
Li et al. An Optimized Query Scheme for Geographic Information Data Based on Blockchain Technology
Anchalia et al. Transforming NoSQL Database to Relational Database: An Algorithmic Approach

Legal Events

Date Code Title Description
GR01 Patent grant
GR01 Patent grant