WO2022061995A1 - 基于希尔伯特曲线的r树索引合并更新方法、装置及介质 - Google Patents
基于希尔伯特曲线的r树索引合并更新方法、装置及介质 Download PDFInfo
- Publication number
- WO2022061995A1 WO2022061995A1 PCT/CN2020/121521 CN2020121521W WO2022061995A1 WO 2022061995 A1 WO2022061995 A1 WO 2022061995A1 CN 2020121521 W CN2020121521 W CN 2020121521W WO 2022061995 A1 WO2022061995 A1 WO 2022061995A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- tree
- node
- layer
- nodes
- hilbert
- 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.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2272—Management thereof
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9027—Trees
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
Definitions
- the present invention relates to the technical field of data retrieval and updating, in particular to a technology for merging and updating a Hilbert R-tree index.
- the update frequency of spatial data has gradually increased with the development of geographic information data collection equipment.
- the management of spatial data must not only meet the needs of efficient query, but also need to take into account the needs of rapid update.
- the spatial index combined with the LSM tree structure can effectively support the needs of frequent insertion and update of spatial data.
- the LSM R tree index has better universality and stability.
- the actual application process of LSM R-tree often involves a large number of R-tree merging operations. During the merging process of R-tree, it will occupy a certain amount of memory and computing resources of the system, which affects the query, insertion and deletion of indexes during this period. Efficiency of other operations. Therefore, an efficient Hilbert R-tree merging algorithm is needed, and the availability of the LSM R-tree is generally improved by improving the R-tree merging efficiency.
- the purpose of the present invention is to overcome the insufficiency of index update efficiency and query efficiency when high-frequency spatiotemporal data is inserted in the prior art, and to provide an improved R-tree index based on Hilbert curve.
- the storage information includes the smallest enclosing rectangle of the spatial object and its primary key pointer.
- the storage information in each non-leaf node includes the smallest enclosing rectangle of all child nodes, the set of primary key pointers of all child nodes, and all spatial objects in the smallest enclosing rectangle.
- the present invention has the following beneficial effects:
- the present invention can realize the rapid merging and updating of the Hilbert R tree through the "top-to-bottom” hierarchical query algorithm and the "bottom-to-top” hierarchical adjustment algorithm.
- each node to be inserted will only be read once, and each write and split will only occur once for each node.
- the number of reads and writes to the disk is greatly reduced, the merging efficiency of Hilbert R-trees is improved, and the impact of R-tree merging on the overall spatial index operation is reduced.
- the Hilbert R-tree is improved by batch insertion and uniform splitting, which can also improve the filling rate of nodes and the space utilization rate of the R-tree to a certain extent, so the query efficiency can also be improved to a certain extent.
- Figure 1 is the space Hilbert filling curve
- Figure 2 is an improved Hilbert R tree structure
- Fig. 3 is a graph showing experimental data
- Fig. 4 is a line chart comparing the time of R-tree and R-tree merging with different data amounts
- Figure 5 is a line chart showing the comparison of R-tree spatial range query efficiency.
- the efficient Hilbert R tree merging method can reduce the occurrence of the above-mentioned situations and improve the utilization efficiency of the tree space index as a whole.
- the traditional Hilbert R tree structure is improved, and a merging method based on the improved Hilbert R tree is designed to realize the efficient merging of the Hilbert R tree.
- a method for merging and updating an R-tree index based on a Hilbert curve is provided, and the steps of the method are as follows:
- the tree R 1 and the tree R 2 in the present invention are both improved Hilbert R trees, and the basic structures of the two R trees are the same.
- the following defines the leaf node of the R tree as the node without child nodes in the R tree, that is, the last layer node; the root node of the R tree is the first layer node in the R tree, that is, the topmost node;
- R The level of the nodes in the tree is: starting from the root node, set the level of the root node as the first level, the level of the child nodes of the root node as the second level, and so on, if the level of a node is the first level L layer, the level of its child nodes is the L+1th layer; the height of the R tree is the maximum level of all nodes in the R tree.
- the two improved Hilbert R-trees additionally store the minimum Hilbert value based on the structure of the non-leaf nodes of the original dynamic Hilbert R-tree, so each non-leaf node
- FIG. 2 which is a schematic diagram of the improved Hilbert R tree structure
- node I, node II, and node III are three non-leaf nodes.
- node II contains three spatial objects whose Hilbert values are 5010, 7671 and 13646 respectively, so the maximum Hilbert value maxLHV stored by node II is 13646, and the minimum Hilbert value minLHV is 5010.
- the root node includes node I, node II, and node III, so the maximum Hilbert value LHV that needs to be stored in the root node is 14033, and the minimum Hilbert value minLHV is 415.
- the improved Hilbert R tree by recording the Hilbert value range of all spatial objects under the node, it can be determined that the spatial objects under this node are non-leaf nodes in the Hilbert R tree to be inserted. path, instead of querying from the root node for each insertion of a spatial object. Thereby, the number of reads and writes of the disk can be reduced, and the merge efficiency can be improved.
- the center point of the rectangle is used as the two-dimensional Hilbert value to calculate; 2) the Hilbert value is calculated as The coordinates of the lower left corner and the upper right corner are calculated as the Hilbert value of the four-dimensional point; 3) The center point of the rectangle and the distances d x and dy from the center to the rectangle boundary are calculated as the Hilbert value of the four-dimensional point.
- Different ways of calculating the Hilbert value can result in a variety of aggregation situations.
- the one-dimensional encoded value of the two-dimensional coordinate of the center point of the minimum enclosing rectangular frame of the spatial object on the Hilbert curve is preferable to use as the Hilbert value of each spatial object.
- the Hilbert value encoding process can adopt any existing technology. For ease of understanding, an encoding process is provided below:
- the coordinates of the spatial data are x and y
- Step 1 Read the two-dimensional coordinates x and y of the center point of the minimum outer rectangular frame, and convert the x and y values into binary values with a length of 2 n , represented by x B , y B ;
- Step 2 Extract one bit of binary value in x B and y B respectively and combine them in order to obtain a binary value segment, and the i-th binary value segment is recorded as
- Step 3 Convert all binary value segments, where '00' is converted to 00, '01' is converted to 01, '10' is converted to 11, and '11' is converted to 10;
- Step 4 Recombine all the converted binary value segments in order to obtain a complete binary value, and then convert it into a decimal value, which is the Hilbert value.
- S13 Construct non-leaf nodes layer by layer in the order from the leaf node to the root node; and for each layer of non-leaf nodes, extract the first c nodes from the first-in, first-out queue of its child node layer, and construct the first Non-leaf nodes, and then extract the first c nodes from the FIFO queue, construct the next non-leaf node, repeat until all nodes in the FIFO queue are taken, get the current non-leaf node layer and put all non-leaf nodes in it Nodes are added to the new FIFO queue in the order of node construction, which is used as the construction of the next layer of non-leaf nodes.
- the query process in S2 adopts a "top-to-bottom" hierarchical query algorithm, and the specific implementation process of the hierarchical query algorithm is as follows:
- S21 Set the level n of the current node layer to be searched in the first R tree to 1, set the level m of the current node layer to be searched in the second R tree to 1, and set the height of the first R tree to H 1 ,
- the height of the second R-tree is H 2 ;
- the first-level node layers of the first R-tree and the second R-tree are both root nodes, and the root node of the second R-tree is used as the to-be-inserted node corresponding to the root node of the first R-tree ;
- the nodes corresponding to the pointer A and the pointer B can be searched for by means of binary search respectively.
- step S22 when step S22 is executed for the first time, the node to be inserted corresponds to the query root node. It first reads the root node of R1 and obtains the set of its child nodes The subscript i represents the i-th node, the same below.
- Collection A node in stores the range of Hilbert values for spatial objects under that node. for collections each node in According to its minimum Hilbert value minLHV i and maximum Hilbert value LHV i , use binary search to calculate the set of child nodes of the root node of the R 2 tree
- the first child node pointer whose maxLHV is greater than minLHV i is recorded as fromPage i .
- the node at the second level in the R2 tree is found according to the pointer value, and then the position of the node at the third level of the R1 tree corresponding to the node at the third level of the R2 tree is found in the same manner as above.
- Perform hierarchical search in this way until the level reaches the spatial object corresponding to the leaf node of the R1 tree, then the R1 tree can no longer search for subdivisions, but the R2 tree continues to search down to the leaf node in the process of executing S24, Insert the spatial objects in the corresponding R 1 tree into the leaf node in batches.
- the method for performing node splitting on the second R-tree can be handled according to the node index splitting method in the prior art.
- a "bottom-up" hierarchy is provided in order to facilitate batch and fast R-tree merging.
- the algorithm is adjusted to facilitate the splitting of the node index of the second R-tree, as shown in S31 to S33:
- S31 Calculate the number of overflow objects relative to the node capacity of the second R-tree relative to the total number of all spatial objects contained in the first R-tree and the second R-tree;
- S33 Arrange all the spatial objects contained in the first R-tree and the second R-tree in ascending order of the Hilbert value, and then reassign them to each leaf node after the splitting of the second R-tree;
- S34 According to the layer-by-layer adjustment sequence from the leaf node layer to the root node layer, perform node capacity overflow judgment on each layer of non-leaf nodes in the second R-tree, and if a node capacity overflow occurs in a layer of non-leaf nodes, the The non-leaf nodes of the layer perform node splitting, and all child nodes of the non-leaf nodes of the layer are reassigned to the non-leaf nodes of the layer after the split; after the root node is finally adjusted, the node splitting process of the second R tree is completed.
- all leaf nodes in the last layer are first inserted and split into spatial object data, and then the non-leaf nodes of the previous layer are adjusted upwards.
- the nodes of the penultimate layer are then adjusted, and the node splitting is performed in the same way until the root node is adjusted. If the node capacity overflow occurs at the root node, the root node is split into two nodes, and a root node is rebuilt with these two nodes as child nodes.
- the storage information that needs to be updated includes the minimum enclosing rectangle R of the spatial object and the primary key pointer object_id.
- the storage information that needs to be updated includes the minimum enclosing rectangle R of the spatial object, the set of primary key pointers prt, and the maximum index.
- steps S1 to S4 are the same as the steps of the specific implementation, namely steps S1 to S4, and the steps of S2 are implemented by S21 to S25, and the steps of S3 are implemented by S31 to S34, which will not be repeated here.
- steps S1 to S4 are the steps of S2 are implemented by S21 to S25
- steps of S3 are implemented by S31 to S34, which will not be repeated here.
- the plane-shaped spatial data type is used as the research object, and the data adopts the data of all Chinese construction areas downloaded through OpenStreetMap, and the total number of elements is 1,000,192.
- Figure 3 shows the spatial data of the research object. It can be seen from the figure that the spatial data are of different sizes and are not uniformly distributed, and the density of the data has a certain degree of randomness, which can be used as experimental samples.
- the horizontal axis represents the size of the merged R-trees
- the vertical axis represents the time required for R-tree merging.
- the yellow line represents the time required for regular R-tree merging
- the gray line represents the time required for dynamic Hilbert R-tree merging
- the orange line represents static Hilbert
- the blue broken line represents the time required for the improved Hilbert R-tree merging for the present invention.
- the horizontal axis represents the range of the search rectangle, with latitude and longitude as the unit, and the vertical axis represents the number of times of reading the R-tree disk, and the unit is ten thousand pages.
- the R-tree query when the range of the query is small, the query speed is faster, and the obtained query time error value is larger. Since the speed of reading and writing to disk is much higher than that of memory search, the number of disk page reads can be used to replace the range query time. In this experiment, the number of disk reads is used as the basis for comparing query efficiency.
- the conventional R-tree space query efficiency line graph, the dynamic Hilbert R-tree space query efficiency line graph, the improved Hilbert R-tree space query efficiency line graph of the present invention, and the static Hilbert R-tree space query efficiency line graph are respectively R-tree spatial query line chart. It can be seen from the figure that the spatial query efficiency of the four R-trees has roughly the same trend with the increase of the spatial range. However, the query efficiency of the dynamic Hilbert R tree is better than that of the conventional R tree, which shows that the spatial aggregation of the Hilbert R tree is better than that of the conventional R tree.
- the query efficiency of the R tree obtained by using the batch merge algorithm is obviously better than the above two R trees, and the efficiency of the static Hilbert R tree is slightly better than that of the improved Hilbert R tree of the present invention.
- the average query efficiency of the improved Hilbert R tree of the present invention is increased by 52% compared with the R tree, the average query efficiency of the dynamic Hilbert R tree is improved by 41%, and the query efficiency of the static Hilbert R tree is reduced. 5%.
- a Hilbert curve-based R-tree index merging and updating apparatus which includes a memory and a processor;
- the memory for storing computer programs
- the processor is configured to implement the aforementioned Hilbert curve-based R-tree index merging and updating method when executing the computer program.
- a computer-readable storage medium can also be provided, and a computer program is stored on the storage medium.
- the computer program is executed by a processor, the aforementioned Hilbert curve-based method can be implemented.
- R-tree index merge update method When the computer program is executed by a processor, the aforementioned Hilbert curve-based method can be implemented.
- R-tree index merge update method When the computer program is executed by a processor, the aforementioned Hilbert curve-based method can be implemented.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种基于希尔伯特曲线的R树索引合并更新方法、装置及介质。方法步骤包含:S1:获取待合并的第一R树和待插入第一R树的第二R树,R树的非叶子节点中存储所包含对象的希尔伯特值上下限范围;S2:通过"从上至下"层级查询算法查询第一R树叶子节点层中每一个被合并叶子节点在第二R树叶子节点层中的待插入节点;S3:按照"从下至上"层级调整算法,针对第一R树中每一个叶子节点,将其包含的空间对象按照希尔伯特值顺序插入至S2中确定的待插入节点中,实现两棵R树的合并;S4针对合并后的第二R树,按照从叶子节点到根节点的顺序逐层更新每个节点中的存储信息。上述方法在地理时空大数据高性能存储领域具有重要的实际应用价值。
Description
本发明涉及数据检索与更新的技术领域,尤其涉及一种希尔伯特R树索引的合并更新技术。
空间数据的更新频率随着地理信息数据采集设备的发展而逐渐提高,对空间数据的管理不仅要满足高效的查询需求,还需要兼顾快速的更新需求。结合LSM树结构的空间索引能够有效支撑空间数据频繁插入和更新的需求,其中LSM R树索引相较于DBH树、DHVB树以及SHB树,有更好的普适性和稳定性。但是LSM R树的实际应用过程中往往会涉及到大量R树的合并操作,R树在合并过程中,会占用系统的一定的内存以及计算资源,影响在此期间对索引进行查询、插入、删除等操作的效率。因此需要高效的希尔伯特R树的合并算法,通过提高R树合并效率整体上提升LSM R树的可用性。
发明内容
本发明的目的是克服现有技术在高频时空数据插入时索引更新效率与查询效率不足,提供一种基于希尔伯特曲线的改进R树索引。
本发明所采用的具体技术方案如下:
一种基于希尔伯特曲线的R树索引合并更新方法,其步骤如下:
S1:获取待合并的第一R树和待插入第一R树的第二R树,第一R树的高度不大于第二R树的高度;每棵R树中,每个叶子节点中的存储信息包括空间对象的最小外包矩形框和其主键指针,每个非叶子节点中的存储信息包括所有孩子节点的最小外包矩形框、所有孩子节点的主键指针集合、最小外包矩形框中所有空间对象的最大希尔伯特值以及最小外包矩形框中所有空间对象的最小希尔伯特值;
S2:基于每个节点中存储的希尔伯特值信息,按照从根节点层到叶子节点层 的逐层查询顺序,查询得到第一R树叶子节点层中每一个被合并叶子节点在第二R树叶子节点层中的待插入节点;
S3:针对第一R树中每一个叶子节点,将其所包含的空间对象按照希尔伯特值顺序插入至S2中确定的待插入节点中,实现两棵R树的合并;且合并过程中若出现叶子节点容量溢出,则需对第二R树进行节点分裂,并将第一R树和第二R树包含的所有空间对象按照希尔伯特值顺序重新分配至分裂后的第二R树的所有叶子节点中;
S4:针对合并第一R树后的第二R树,按照从叶子节点到根节点的顺序逐层更新每个节点中的存储信息。
本发明相对于现有技术而言,具有以下有益效果:
本发明通过“从上至下”层级查询算法和“从下至上”层级调整算法,可以实现希尔伯特R树的快速合并更新。在合并过程中,每个待插入的节点只会被读取一次,每个节点的写入和分裂也只会出现一次。相较于逐一插入的方式,大幅度的减少了对磁盘读写的次数,提高了希尔伯特R树的合并效率,降低了R树合并对整体空间索引操作所带来的影响。同时改进希尔伯特R树采用批量插入均匀分裂的方式,也可以在一定程度上提高节点的填充率,提高R树的空间使用率,因而在查询效率上也能有一定的提升。
图1是空间希尔伯特填充曲线;
图2是改进希尔伯特R树结构;
图3是实验数据展示图;
图4是R树与不同数据量R树合并时间对比折线图;
图5是R树空间范围查询效率对比折线图。
下面结合附图和具体实施方式对本发明做进一步阐述和说明。本发明中各个实施方式的技术特征在没有相互冲突的前提下,均可进行相应组合。
R树在合并过程中,会占用系统的一定的内存以及计算资源,会影响在此期间对索引进行查询、插入、删除等操作的效率。因此高效的希尔伯特R树的合并方法,可以减少上述的情况发生,整体上提升树空间索引的使用效率。本发明中改进了传统的希尔伯特R树结构,并设计了基于改进希尔伯特R树的合并方 法,实现希尔伯特R树的高效合并。
如图1所示,在本发明的一个较佳实施例中,提供了一种基于希尔伯特曲线的R树索引合并更新方法,该方法的步骤如下:
S1:首先获取两棵R树,分别为待合并的第一R树和待插入第一R树的第二R树。为了便于叙述,下面将第一R树记为R1,将第二R树记为R2。由于索引合并都是从低层往高层合并,因此树R
2的高度必然大于或等于树R
1。
本发明中的树R
1和树R
2均为改进的希尔伯特R树,两棵R树的基本结构相同。为了统一名词含义,下面定义R树的叶子节点为R树中没有孩子节点的节点,即最后一层节点;R树的根节点为R树中的第一层节点,即最顶层的节点;R树中节点的层次为:从根结点开始,设定根结点的层次为第1层,根结点的孩子节点的层次为第2层,依此类推,如果某一个节点的层次为第L层,则其孩子节点的层次为第L+1层;R树的高度为R树中所有节点的层次最大值。
在每棵R树中,改进的希尔伯特R树叶子节点C
l与常规的希尔伯特R树的叶子节点结构是一致的,每个叶子节点中的存储信息为空间对象的最小外包矩形框和其主键指针,即C
l=(R,object_id)。
但对于非叶子节点C
n,两棵改进的希尔伯特R树均在原有动态希尔伯特R树非叶子节点的结构基础上,额外存储了最小希尔伯特值,因此每个非叶子节点中的存储信息为该节点的所有孩子节点的最小外包矩形框R、该节点的所有孩子节点的主键指针集合ptr、最小外包矩形框R中所有空间对象的最大希尔伯特值maxLHV以及最小外包矩形框R中所有空间对象的最小希尔伯特值minLHV,即C
n=(R,ptr,maxLHV,minLHV)。
如图2所示,为改进的希尔伯特R树结构的一个示意图,从图中可见节点I、节点II、节点III为三个非叶子节点。以节点II为例,其中包含三个空间对象,其希尔伯特值分别为5010,7671和13646,所以节点II存储的最大希尔伯特值maxLHV为13646,最小希尔伯特值minLHV为5010。根节点包含节点I、节点II、节点III,因此需要在根节点存放的最大希尔伯特值LHV为14033,最小希尔伯特值minLHV为415。
在该改进的希尔伯特R树中,通过记录节点下所有空间对象的希尔伯特值范围,可以确定此节点下的空间对象在待插入的希尔伯特R树中非叶子节点的路径,而不需要对每一个空间对象的插入都从根节点开始查询。由此,可以减少 磁盘的读写次数,提高合并效率。
本发明改进的希尔伯特R树中,针对最小外包矩形的希尔伯特值计算的方式有多种:1)以矩形的中心点作为二维的希尔伯特值计算;2)以左下角坐标和右上角坐标作为四维点的希尔伯特值计算;3)以矩形中心点和中心到矩形边界的距离d
x、d
y作为四维点的希尔伯特值计算。不同希尔伯特值计算方式会产生多种聚集情况。
本实施例中,优选以空间对象的最小外包矩形框中心点二维坐标在希尔伯特曲线上的一维编码值作为每个空间对象的希尔伯特值。希尔伯特值得编码过程可采用任意现有技术,为了便于理解下面提供了一种编码过程:
若希尔伯特曲线阶数为n,空间数据的坐标为x和y
步骤1:读取最小外包矩形框中心点二维坐标x和y,并将x和y值转换为长度为2
n的二进制值,用x
B、y
B表示;
步骤3:对所有二进制值段进行转换,其中‘00’转换为00,‘01’转换为01,‘10’转换为11,‘11’转换为10;
步骤4:将所有转换后的二进制值段重新按顺序组合,得到的完整的二进制值,再转换为十进制值即为希尔伯特值。
另外为了便于理解,下面对希尔伯特R树的构建过程进行展开描述,但需要注意的是R树的构建过程并非本发明的必要步骤,本发明可用于对已经构建完毕的R树进行合并。希尔伯特R树构建过程如下:
S11:计算得到每个空间对象的希尔伯特后,将所有空间对象按照希尔伯特值升序排列;
S12:根据R树每个节点的容量c,提取前c个空间对象,构造成一个R树的第一个叶子节点,再往后提取c个空间对象,构造下一个叶子节点,不断重复直至提取完所有空间对象,得到k个叶子节点,并将其按照节点构造顺序加入到先进先出队列中;
S13:按照从叶子节点到根节点的顺序逐层构造非叶子节点;且对于每一层非叶子节点而言,从其孩子节点层的先进先出队列中提取前c个节点,构造第一个非叶子节点,再从先进先出队列中提取前c个节点,构造下一个非叶子节点, 不断重复直至取完先进先出队列中所有节点,得到当前非叶子节点层并将其中的所有非叶子节点按照节点构造顺序加入到新的先进先出队列中,用于作为下一层非叶子节点的构造。
S2:基于每个节点中存储的希尔伯特值信息,按照从根节点层到叶子节点层的逐层查询顺序,查询得到第一R树叶子节点层中每一个被合并叶子节点在第二R树叶子节点层中的待插入节点。查询过程中,确定待插入节点的原则是:被合并的节点的希尔伯特值范围尽量完全落入被插入的节点的希尔伯特值范围中。
在本实施例中,S2中的该查询过程采用了一种“从上至下”的层级查询算法,该层级查询算法的具体实现过程如下:
S21:将第一R树中当前待查找节点层的层次n设定为1,将第二R树中当前待查找节点层的层次m设定为1,第一R树的高度为H
1,第二R树的高度为H
2;第一R树和第二R树的第1层节点层均为根节点,第二R树的根节点作为第一R树的根节点对应的待插入节点;
S22:针对第一R树中的第n层节点,分别获取其中每个节点
的所有孩子节点集合
同时在第二R树中获取节点
对应的待插入节点的所有孩子节点集合
针对集合
中包含的每个节点
根据节点
中存储的最大希尔伯特值maxLHV
i和最小希尔伯特值minLHV
i,在集合
包含的所有节点中查找最大希尔伯特值大于minLHV
i的第一个节点的指针A,并在集合
包含的所有节点中查找最大希尔伯特值大于maxLHV
i的第一个节点的指针B,以集合
中指针值在[A,B]区间内的节点作为节点
的待插入节点。
S23:对n和m的值分别进行加1,然后重复S22;
S24:不断重复S23,直至n和m取值均为H
1,得到第一R树中的每一个叶子节点在第二R树中对应的待插入节点;
S25:不断执行判断过程,若m<H
2,则保持n的值不变并对m值进行加1后重复S22;直至m=H
2后完成查询,使第一R树叶子节点层中每一个被合并叶子节点均在第二R树叶子节点层中找到对应的待插入节点。
在该层级查询算法中,第一次执行S22步骤时对应于查询根节点的待插入节 点。其首先读取R
1的根节点,并获得其孩子节点的集合
下标i代表第i个节点,下同。基于改进的希尔伯特R树节点特点,集合
中的节点存储了该节点下空间对象的希尔伯特值范围。针对集合
中的每个节点
根据其最小希尔伯特值minLHV
i和最大希尔伯特值LHV
i,采用二分查找的方式,计算R
2树根节点的孩子节点集合
中maxLHV第一个大于minLHV
i的孩子节点指针,记为fromPage
i。同样计算R
2树根节点的孩子节点
中maxLHV第一个大于LHV
i的孩子节点指针,记为toPage
i。由此可知节点
中的空间对象需要插入的磁盘页位置page满足fromPage
i≤page≤toPage
i中,即插入至fromPage
i至toPage
i范围内的节点中。计算集合
中每个节点的fromPage
i和toPage
i,此时R
1树第二层中的每个节点,在R
2树的根节点中找到了插入位置节点的指针。在后续执行S23时,根据指针值找到R
2树中第二层的节点,再以上述同样的方式找到R
1树第三层节点的对应R
2树第三层节点的位置。以此方式进行层级查找,直到层级达到为R
1树叶子节点对应的空间对象,则R
1树不能再往下查找细分,但是R
2树在执行S24过程中继续往下查找到叶子节点,将对应的R
1树中的空间对象批量插入至该叶子节点中。
S3:针对第一R树中每一个叶子节点,将其所包含的空间对象按照希尔伯特值顺序插入至S2中确定的待插入节点中,实现两棵R树的合并。且合并过程中若出现叶子节点容量溢出,则需对第二R树进行节点分裂,并将第一R树和第二R树包含的所有空间对象按照希尔伯特值顺序重新分配至分裂后的第二R树的所有叶子节点中。
对第二R树进行节点分裂的方法可按照现有技术中的节点索引分裂方式处理,在本实施例中为了便于实现批量、快速的R树合并,提供了一种“从下至上”的层级调整算法,以便于对第二R树进行节点索引分裂,其做法如S31~S33所示:
S31:计算第一R树和第二R树包含的所有空间对象总数相对于第二R树的节点容量的溢出对象数量;
S32:对第二R树的叶子节点进行分裂,创建最少的额外叶子节点用于容纳所有溢出对象;
S33:将第一R树和第二R树包含的所有空间对象,按照希尔伯特值升序进行排列,然后重新按序分配至第二R树分裂后的每个叶子节点中;
S34:按照从叶子节点层朝向根节点层的逐层调整顺序,对第二R树的每一层非叶子节点进行节点容量溢出判断,若一层非叶子节点中出现节点容量溢出,则对该层非叶子节点进行节点分裂,并将该层非叶子节点的所有孩子节点重新分配至分裂后的该层非叶子节点中;最终调整完根节点后完成第二R树的节点分裂处理。
根据此方法,首先将最后一层中的所有叶子节点实现空间对象数据的插入和分裂,随后向上调整上一层的非叶子节点。随着叶子节点层中的节点分裂,节点数量会增加,可能会导致倒数第二层中的非叶子节点溢出情况。因此随后调整倒数第二层的节点,以相同的方式进行节点分裂,直至调整到根节点。若根节点出现节点容量溢出,则将根节点分裂成两个节点,并以这两个节点为孩子节点重新构建一个根节点。
需要注意的是,两棵R树的合并过程中,第一R树的空间对象插入第二R树的待插入节点时,其应当按照希尔伯特值顺序插入,以保证最终每个叶子节点中的所有空间对象按照希尔伯特值升序排列,所有叶子节点整体也按照最大希尔伯特值升序排列。
S4:由于节点合并、分裂后,其存储的空间对象会发生变化,因此节点中的存储信息会发生变化,因此需要针对合并第一R树后的第二R树,按照从叶子节点到根节点的顺序逐层更新每个节点中的存储信息。对于叶子节点,需要更新的存储信息包括空间对象的最小外包矩形框R、主键指针object_id,对于非叶子节点,需要更新的存储信息包括空间对象的最小外包矩形框R、主键指针集合prt、最大希尔伯特值maxLHV和最小希尔伯特值minLHV。
为了进一步说明本发明的技术效果,下面基于一个具体案例来展示上述基于希尔伯特曲线的R树索引合并更新方法在具体空间数据上的效果。
实施例:
本实施例步骤与具体实施方式前述步骤相同,即步骤S1~S4,且S2步骤具体采用S21~S25实现,S3步骤具体采用S31~S34实现,在此不再进行赘述。下面就部分实施过程和实施结果进行展示:
本实施例采用面状的空间数据类型作为研究对象,数据采用通过OpenStreetMap下载的全中国建筑区数据,总共要素条数为1000192条。如图3所示为研究对象的空间数据。从图中可以看出,空间数据大小不一,且分布不均 匀,数据的疏密程度存在一定的随机性,可以作为实验样本。
随机选取1000到50000条记录共50组数据,对基于希尔伯特曲线的改进R树索引、常规R树索引和希尔伯特R树索引进行更新操作,验证本发明改进希尔伯特R树合并算法的高效性,并且对比合并后的查询效率,证实LH R树合并算法可以保证较好的空间聚集性和更高的查询效率。
在图4中,横轴表示被合并R树的大小,纵轴表示R树合并所需的时间。在折线图中,从上至下分别为:黄色折线表示为常规R树合并所需的时间,灰色折线表示为动态希尔伯特R树合并所需的时间,橙色折线表示为静态希尔伯特R树合并所需的时间,蓝色折线表示为本发明改进希尔伯特R树合并所需的时间。从图中可以看出,动态希尔伯特R树的合并方式优于常规R树的合并方式,本发明改进希尔伯特R树合并方式优于静态希尔伯特R树合并方式,本发明改进希尔伯特R树合并方式和静态希尔伯特R树合并方式所需的时间明显少于逐一插入合并的两种方式。
在图5中横轴表示的为搜索矩形的范围,以经纬度作为单位,纵轴表示为对R树磁盘读取的次数,单位为万页。在R树查询中,当查询的范围较小时,查询速度较快,获得的查询时间误差值较大。由于对磁盘读写的速度远大于内存的查找,因此可以采用磁盘页面读取的次数代替范围查询时间,本实验采用对磁盘读取的次数作为比较查询效率的依据。图中从上至下分别中常规R树空间查询效率折线图,动态希尔伯特R树空间查询效率折线图、本发明改进希尔伯特R树空间查询效率折线图和静态希尔伯特R树空间查询折线图。从图中可以看出,四种R树空间查询效率随着空间范围的增加变化趋势大体一致。但是动态希尔伯特R树查询效率优于常规的R树,可以说明希尔伯特R树的空间聚集性好于常规的R树。采用批量合并算法得到的R树查询效率明显优于上述两种R树,静态希尔伯特R树的效率略优于本发明改进希尔伯特R树。但本发明改进希尔伯特R树对比R树的平均查询效率提升了52%,对比动态希尔伯特R树平均查询效率提升了41%,对比静态希尔伯特R树查询效率降低了5%。
另外,在其他实施例中,还可以提供一种基于希尔伯特曲线的R树索引合并更新装置,其包括存储器和处理器;
所述存储器,用于存储计算机程序;
所述处理器,用于当执行所述计算机程序时,可实现前述的基于希尔伯特曲 线的R树索引合并更新方法。
另外,在其他实施例中,还可以提供一种计算机可读存储介质,该存储介质上存储有计算机程序,当所述计算机程序被处理器执行时,可实现前述的基于希尔伯特曲线的R树索引合并更新方法。
以上所述的实施例只是本发明的一种较佳的方案,然其并非用以限制本发明。有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型。因此凡采取等同替换或等效变换的方式所获得的技术方案,均落在本发明的保护范围内。
Claims (10)
- 一种基于希尔伯特曲线的R树索引合并更新方法,其特征在于,步骤如下:S1:获取待合并的第一R树和待插入第一R树的第二R树,第一R树的高度不大于第二R树的高度;每棵R树中,每个叶子节点中的存储信息包括空间对象的最小外包矩形框和其主键指针,每个非叶子节点中的存储信息包括所有孩子节点的最小外包矩形框、所有孩子节点的主键指针集合、最小外包矩形框中所有空间对象的最大希尔伯特值以及最小外包矩形框中所有空间对象的最小希尔伯特值;S2:基于每个节点中存储的希尔伯特值信息,按照从根节点层到叶子节点层的逐层查询顺序,查询得到第一R树叶子节点层中每一个被合并叶子节点在第二R树叶子节点层中的待插入节点;S3:针对第一R树中每一个叶子节点,将其所包含的空间对象按照希尔伯特值顺序插入至S2中确定的待插入节点中,实现两棵R树的合并;且合并过程中若出现叶子节点容量溢出,则需对第二R树进行节点分裂,并将第一R树和第二R树包含的所有空间对象按照希尔伯特值顺序重新分配至分裂后的第二R树的所有叶子节点中;S4:针对合并第一R树后的第二R树,按照从叶子节点到根节点的顺序逐层更新每个节点中的存储信息。
- 如权利要求1所述的基于希尔伯特曲线的R树索引合并更新方法,其特征在于,所述R树中,每个空间对象的希尔伯特值为该空间对象的最小外包矩形框中心点二维坐标在希尔伯特曲线上的一维编码值。
- 如权利要求1所述的基于希尔伯特曲线的R树索引合并更新方法,其特征在于,所述R树的构建过程如下:S11:将所有空间对象按照希尔伯特值升序排列;S12:根据R树每个节点的容量c,提取前c个空间对象,构造成一个R树的第一个叶子节点,再往后提取c个空间对象,构造下一个叶子节点,不断重复直至提取完所有空间对象,得到k个叶子节点,并将其按照节点构造顺序加入到 先进先出队列中;S13:按照从叶子节点到根节点的顺序逐层构造非叶子节点;且对于每一层非叶子节点而言,从其孩子节点层的先进先出队列中提取前c个节点,构造第一个非叶子节点,再从先进先出队列中提取前c个节点,构造下一个非叶子节点,不断重复直至取完先进先出队列中所有节点,得到当前非叶子节点层并将其中的所有非叶子节点按照节点构造顺序加入到新的先进先出队列中,用于作为下一层非叶子节点的构造。
- 如权利要求1所述的基于希尔伯特曲线的R树索引合并更新方法,其特征在于,所述S2的具体实现方法为:S21:将第一R树中当前待查找节点层的层次n设定为1,将第二R树中当前待查找节点层的层次m设定为1,第一R树的高度为H 1,第二R树的高度为H 2;第一R树和第二R树的第1层节点层均为根节点,第二R树的根节点作为第一R树的根节点对应的待插入节点;S22:针对第一R树中的第n层节点,分别获取其中每个节点 的所有孩子节点集合 同时在第二R树中获取节点 对应的待插入节点的所有孩子节点集合 针对集合 中包含的每个节点 根据节点 中存储的最大希尔伯特值maxLHV i和最小希尔伯特值minLHV i,在集合 包含的所有节点中查找最大希尔伯特值大于minLHV i的第一个节点的指针A,并在集合 包含的所有节点中查找最大希尔伯特值大于maxLHV i的第一个节点的指针B,以集合 中指针值在[A,B]区间内的节点作为节点 的待插入节点;S23:对n和m的值分别进行加1,然后重复S22;S24:不断重复S23,直至n和m取值均为H 1,得到第一R树中的每一个叶子节点在第二R树中对应的待插入节点;S25:不断执行判断过程,若m<H 2,则保持n的值不变并对m值进行加1后重复S22;直至m=H 2后完成查询,使第一R树叶子节点层中每一个被合并叶子节点均在第二R树叶子节点层中找到对应的待插入节点。
- 如权利要求1所述的基于希尔伯特曲线的R树索引合并更新方法,其特 征在于,所述S3中,若两棵R树合并过程中出现叶子节点容量溢出,则需按照S31~S33对溢出进行节点分裂处理:S31:计算第一R树和第二R树包含的所有空间对象总数相对于第二R树的节点容量的溢出对象数量;S32:对第二R树的叶子节点进行分裂,创建最少的额外叶子节点用于容纳所有溢出对象;S33:将第一R树和第二R树包含的所有空间对象,按照希尔伯特值升序进行排列,然后重新按序分配至第二R树分裂后的每个叶子节点中;S34:按照从叶子节点层朝向根节点层的逐层调整顺序,对第二R树的每一层非叶子节点进行节点容量溢出判断,若一层非叶子节点中出现节点容量溢出,则对该层非叶子节点进行节点分裂,并将该层非叶子节点的所有孩子节点重新分配至分裂后的该层非叶子节点中;最终调整完根节点后完成第二R树的节点分裂处理。
- 如权利要求6所述的基于希尔伯特曲线的R树索引合并更新方法,其特征在于,所述S34中,若根节点出现节点容量溢出,则将根节点分裂成两个节点,并以这两个节点为孩子节点重新构建一个根节点。
- 如权利要求6所述的基于希尔伯特曲线的R树索引合并更新方法,其特征在于,所述S3中,两棵R树的合并后,每个叶子节点中的空间对象按照希尔伯特值升序排列。
- 一种基于希尔伯特曲线的R树索引合并更新装置,其特征在于,包括存储器和处理器;所述存储器,用于存储计算机程序;所述处理器,用于当执行所述计算机程序时,实现如权利要求1~8任一项所述的基于希尔伯特曲线的R树索引合并更新方法。
- 一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,当所述计算机程序被处理器执行时,实现如权利要求1~8任一项所述的基于希尔伯特曲线的R树索引合并更新方法。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2023519043A JP7605527B2 (ja) | 2020-09-25 | 2020-10-16 | ヒルベルト曲線に基づくr木インデックスのマージ更新方法、装置及び媒体 |
| US18/185,410 US12235821B2 (en) | 2020-09-25 | 2023-03-17 | R-tree index merging and updating method and apparatus based on Hilbert curve, and medium |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202011026535.8A CN112395288B (zh) | 2020-09-25 | 2020-09-25 | 基于希尔伯特曲线的r树索引合并更新方法、装置及介质 |
| CN202011026535.8 | 2020-09-25 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US18/185,410 Continuation US12235821B2 (en) | 2020-09-25 | 2023-03-17 | R-tree index merging and updating method and apparatus based on Hilbert curve, and medium |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2022061995A1 true WO2022061995A1 (zh) | 2022-03-31 |
Family
ID=74596520
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2020/121521 Ceased WO2022061995A1 (zh) | 2020-09-25 | 2020-10-16 | 基于希尔伯特曲线的r树索引合并更新方法、装置及介质 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US12235821B2 (zh) |
| JP (1) | JP7605527B2 (zh) |
| CN (1) | CN112395288B (zh) |
| WO (1) | WO2022061995A1 (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN116561222A (zh) * | 2023-04-26 | 2023-08-08 | 浙江大学 | 一种能够实现高效更新和查询的空间数据管理方法 |
Families Citing this family (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113312312B (zh) * | 2021-06-08 | 2022-08-05 | 武汉理工大学 | 一种基于lsm高效查询流数据的分布式索引方法及系统 |
| CN113704565B (zh) * | 2021-10-28 | 2022-02-18 | 浙江大学 | 基于全局区间误差的学习型时空索引方法、装置及介质 |
| CN115794818A (zh) * | 2022-11-15 | 2023-03-14 | 千寻位置网络有限公司 | 海量点云数据的快速低内存的处理方法及系统 |
| CN117271531B (zh) * | 2023-11-21 | 2024-02-23 | 苏州元脑智能科技有限公司 | 一种数据存储方法、系统、设备及介质 |
| CN117609524A (zh) * | 2023-11-30 | 2024-02-27 | 中国人民解放军国防科技大学 | 基于三维r树空间索引的通视分析方法、装置和设备 |
| CN118964364B (zh) * | 2024-10-17 | 2025-03-14 | 浙江大学 | 一种基于树-图结构的高维空间向量动态最近邻搜索方法 |
| CN120675570B (zh) * | 2025-06-10 | 2026-05-22 | 北京南山同行科技有限公司 | 一种大数据压缩存储与快速检索方法和系统 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20070198568A1 (en) * | 2006-02-20 | 2007-08-23 | Linkage Technology Co., Ltd. | "Grid Plus T Tree" Index Method for Quick Orientation in Massive Memory Database |
| CN103617162A (zh) * | 2013-10-14 | 2014-03-05 | 南京邮电大学 | 一种对等云平台上构建希尔伯特r树索引的方法 |
| CN104408039A (zh) * | 2014-09-06 | 2015-03-11 | 东北大学 | 基于Hilbert曲线与R-tree的HBase多维查询系统的构建及其查询方法 |
| CN104731984A (zh) * | 2015-04-22 | 2015-06-24 | 山东理工大学 | R树上溢结点分裂问题的增量式聚类优化求解方法 |
Family Cites Families (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7167856B2 (en) | 2001-05-15 | 2007-01-23 | Jonathan Keir Lawder | Method of storing and retrieving multi-dimensional data using the hilbert curve |
| JP5863494B2 (ja) | 2012-02-13 | 2016-02-16 | キヤノン株式会社 | 情報処理装置、及びその制御方法、プログラム |
| US9367938B2 (en) * | 2013-02-28 | 2016-06-14 | Nokia Technologies Oy | Method and apparatus for automated real-time detection of overlapping painted markup elements |
| US10929501B2 (en) * | 2013-08-08 | 2021-02-23 | Sap Se | Managing and querying spatial point data in column stores |
| JP2015055914A (ja) | 2013-09-10 | 2015-03-23 | キヤノン株式会社 | 情報処理装置、情報処理方法及びプログラム |
| US9720931B2 (en) * | 2014-05-09 | 2017-08-01 | Sap Se | Querying spatial data in column stores using grid-order scans |
| US9477745B2 (en) * | 2014-07-07 | 2016-10-25 | Sap Se | Predictive cluster analytics optimization |
| US9703856B2 (en) * | 2014-07-07 | 2017-07-11 | Sap Se | Hilbert curve partitioning for parallelization of DBSCAN |
| CN104933189B (zh) * | 2015-07-08 | 2019-01-22 | 山东理工大学 | 基于结点中心漂移分裂的佛像表面采样数据r树优化方法 |
| CN105828292A (zh) * | 2016-05-09 | 2016-08-03 | 青岛海信移动通信技术股份有限公司 | 一种基于地理围栏的位置检测方法及装置 |
| JP2018045286A (ja) | 2016-09-12 | 2018-03-22 | 富士通株式会社 | 前処理装置、インデックス追加ツリーデータ修正方法及びインデックス追加ツリーデータ修正プログラム |
| KR101950395B1 (ko) * | 2017-09-25 | 2019-02-20 | (주)신테카바이오 | 개체군 유전체 염기서열 및 변이의 변환데이터에 대한 인공지능 딥러닝 모델을 이용한 바이오마커 검출 방법 |
| CN109582677B (zh) * | 2018-12-03 | 2021-05-04 | 东北大学 | 基于孩子节点的多粒度分布式读写锁的r树索引优化方法 |
| JP2020135530A (ja) | 2019-02-21 | 2020-08-31 | 株式会社日立ソリューションズ | データ管理装置、データ検索方法及びプログラム |
| CN109978274A (zh) * | 2019-04-02 | 2019-07-05 | 海南阿凡题科技有限公司 | 调度路径的规划方法 |
| CN110059067B (zh) * | 2019-04-04 | 2022-09-27 | 南京南瑞水利水电科技有限公司 | 一种水利空间矢量大数据存储管理方法 |
-
2020
- 2020-09-25 CN CN202011026535.8A patent/CN112395288B/zh active Active
- 2020-10-16 JP JP2023519043A patent/JP7605527B2/ja active Active
- 2020-10-16 WO PCT/CN2020/121521 patent/WO2022061995A1/zh not_active Ceased
-
2023
- 2023-03-17 US US18/185,410 patent/US12235821B2/en active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20070198568A1 (en) * | 2006-02-20 | 2007-08-23 | Linkage Technology Co., Ltd. | "Grid Plus T Tree" Index Method for Quick Orientation in Massive Memory Database |
| CN103617162A (zh) * | 2013-10-14 | 2014-03-05 | 南京邮电大学 | 一种对等云平台上构建希尔伯特r树索引的方法 |
| CN104408039A (zh) * | 2014-09-06 | 2015-03-11 | 东北大学 | 基于Hilbert曲线与R-tree的HBase多维查询系统的构建及其查询方法 |
| CN104731984A (zh) * | 2015-04-22 | 2015-06-24 | 山东理工大学 | R树上溢结点分裂问题的增量式聚类优化求解方法 |
Non-Patent Citations (1)
| Title |
|---|
| LI XUN: "Parallel Spatial Index Algorithm Based on Hilbert Partition", INFORMATION SCIENCE AND TECHNOLOGY, CHINESE MASTER’S THESES FULL-TEXT DATABASE, 15 January 2014 (2014-01-15), XP055913557 * |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN116561222A (zh) * | 2023-04-26 | 2023-08-08 | 浙江大学 | 一种能够实现高效更新和查询的空间数据管理方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| US20230281182A1 (en) | 2023-09-07 |
| JP2023543004A (ja) | 2023-10-12 |
| CN112395288A (zh) | 2021-02-23 |
| JP7605527B2 (ja) | 2024-12-24 |
| CN112395288B (zh) | 2022-07-12 |
| US12235821B2 (en) | 2025-02-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN112395288B (zh) | 基于希尔伯特曲线的r树索引合并更新方法、装置及介质 | |
| US11899641B2 (en) | Trie-based indices for databases | |
| US20200410005A1 (en) | Heterogenous key-value sets in tree database | |
| CN103810237B (zh) | 数据管理方法和系统 | |
| US8190649B2 (en) | Ranking and clustering of geo-located objects | |
| CN105393249B (zh) | 针对查询优化的范围分区统计数据的增量式维护 | |
| CN114416741B (zh) | 基于多级索引的kv数据写入读取方法、装置及存储介质 | |
| KR20160145785A (ko) | 빅 데이터 질의 엔진을 위한 플래시 최적화된 열 데이터 배치 및 데이터 액세스 처리 알고리즘 | |
| US20240393928A1 (en) | Generating aggregate data geospatial grid cells for encoding in vector tiles | |
| JP2022510184A (ja) | データベースインデックスおよびデータベースクエリ処理方法、装置、およびデバイス | |
| CN114328779A (zh) | 基于云计算高效检索浏览的地理信息云盘 | |
| CN107273443B (zh) | 一种基于大数据模型元数据的混合索引方法 | |
| CN101299213A (zh) | N维聚类排序记录树空间索引方法 | |
| CN112148792A (zh) | 一种基于HBase的分区数据调整方法、系统及终端 | |
| CN116680275A (zh) | 基于跳跃表的数据读写方法、系统、设备及存储介质 | |
| JP6006740B2 (ja) | インデックス管理装置 | |
| CN119379820B (zh) | 实景三维系统地理实体时空编码方法、系统、设备及介质 | |
| EP4535186A1 (en) | Efficient sorting techniques facilitating the creation and use of dataset summary metadata | |
| CN105354310B (zh) | 基于MapReduce的地图瓦片存储布局优化方法 | |
| JP3938815B2 (ja) | ノード作成方法、画像検索方法及び記録媒体 | |
| CN119128042A (zh) | 基于字典树的AI大模型Tensor索引和保存方法、系统及应用 | |
| Pagh | Basic external memory data structures | |
| Jabarov et al. | R-tree for phase change memory | |
| Yu et al. | Processing partially specified queries over high-dimensional databases | |
| US12265535B1 (en) | Dataset summary metadata providing improved query performance |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20954841 Country of ref document: EP Kind code of ref document: A1 |
|
| ENP | Entry into the national phase |
Ref document number: 2023519043 Country of ref document: JP Kind code of ref document: A |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 20954841 Country of ref document: EP Kind code of ref document: A1 |