CN110321353B - Multi-dimensional spatial data indexing method based on semi-decomposition strategy - Google Patents

Multi-dimensional spatial data indexing method based on semi-decomposition strategy Download PDF

Info

Publication number
CN110321353B
CN110321353B CN201910610784.2A CN201910610784A CN110321353B CN 110321353 B CN110321353 B CN 110321353B CN 201910610784 A CN201910610784 A CN 201910610784A CN 110321353 B CN110321353 B CN 110321353B
Authority
CN
China
Prior art keywords
space
code
node
semi
integer
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
CN201910610784.2A
Other languages
Chinese (zh)
Other versions
CN110321353A (en
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.)
China University of Geosciences
Original Assignee
China University of Geosciences
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 China University of Geosciences filed Critical China University of Geosciences
Priority to CN201910610784.2A priority Critical patent/CN110321353B/en
Publication of CN110321353A publication Critical patent/CN110321353A/en
Application granted granted Critical
Publication of CN110321353B publication Critical patent/CN110321353B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2264Multidimensional index structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases

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)
  • Remote Sensing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The invention provides a multi-dimensional spatial data indexing method based on a semi-decomposition strategy, which comprises the steps of establishing a semi-decomposition tree structure process, transmitting a multi-dimensional spatial Node, judging the geometric quantity of spatial objects, carrying out spatial division to generate a subspace, selecting the subspace with the most spatial objects to generate a new multi-dimensional spatial Node leaf, moving part of the spatial objects in the Node to the leaf, and calculating the leaf depth. The multi-dimensional spatial data indexing method based on the semi-decomposition strategy reduces the use of storage space, reduces the IO frequency of a disk, can efficiently manage multi-dimensional spatial data, and ensures the fluency of a spatial database.

Description

Multi-dimensional spatial data indexing method based on semi-decomposition strategy
Technical Field
The invention relates to a multi-dimensional spatial data indexing method based on a semi-decomposition strategy, and belongs to the technical field of spatial information management.
Background
The spatial index is the key for quickly retrieving data in a spatial database, is the description of data position information stored on a medium, and is used for improving the efficiency of a system for acquiring data. The multidimensional space data has the characteristics of uneven space distribution, huge data volume, complex structure and the like under big data, has extremely high requirement on the retrieval performance of the space data, and is a huge challenge. In recent years, a large number of spatio-temporal index structures are proposed to support processing of multidimensional spatial data spatio-temporal query, but the retrieval efficiency of high-dimensional spatial data cannot be guaranteed. Therefore, whether a more efficient multidimensional space data indexing method can be found is a problem which needs to be solved urgently in the current big data age.
At present, a tree-shaped index structure is mainly adopted in a common spatial data index structure, and a large number of spatio-temporal index structures are proposed to support spatio-temporal query of multidimensional spatial data, and the index structures are mostly from a B tree and an R tree. In which spatial data represented by an R-tree is spatially partitioned, itself and its derived spatial data index structure are represented using a minimum bounding rectangle to represent the spatial extent, and multidimensional data is processed by parameterizing some other data. However, the bounding rectangle is always larger than the range of the multi-dimensional space object itself, the overlapping problem is difficult to solve in high dimension, and the updating efficiency is low. Some commonly used tree structures, such as quadtrees and octrees, are widely used in various fields, including fields of computational geometry, image processing, etc., but due to the characteristic of uneven distribution of multidimensional data, the trees are unbalanced, which affects the depth of the trees, in addition, the trees are hierarchical structures, the intermediate nodes of the trees often do not contain space objects, when the depth of the trees is deeper, the number of intermediate nodes is more, the intermediate nodes which do not contain space objects will generate huge storage space, and the performance limit of the trees is serious. In addition to these, some grid-based indexes, such as LUGRID, GPR tree, etc., use lazy inserts and deletes to handle different queries, adding an extra level of memory residency, but do not radically improve query efficiency. In addition, a decomposition tree generates a subspace through a decomposition space, so that an intermediate node is omitted, but because the decomposition tree does not contain the intermediate node, whether a lower-layer space exists or not cannot be judged, the whole hash table needs to be traversed, the efficiency is low, in addition, a large number of leaf nodes can be generated by adopting a complete decomposition mode, the memory and disk space are greatly occupied, and more IO times are needed during the operations of insertion, deletion and range query.
In summary, due to the influence of high-dimensional data characteristics, most of the current multidimensional space indexing technologies are difficult to have higher efficiency, and are difficult to be well applied to actual multidimensional space data management. Therefore, it is necessary to provide a more efficient multidimensional spatial data indexing method.
Disclosure of Invention
In order to solve the defects of the prior art, the invention provides a multi-dimensional spatial data indexing method based on a semi-decomposition strategy, which reduces the use of storage space, reduces the IO times of a disk, can efficiently manage multi-dimensional spatial data and ensures the fluency of a spatial database.
The technical scheme adopted by the invention for solving the technical problem is as follows: the method for indexing the multi-dimensional spatial data based on the semi-decomposition strategy comprises a process of creating a semi-decomposition tree structure, and specifically comprises the following steps:
(a1) Transmitting a multi-dimensional space Node into the initialized semi-decomposition tree T';
(a2) Judging whether the number of the space object sets of the multidimensional space Node exceeds a preset maximum limit value or not, if not, writing data in the multidimensional space Node back into a disk, and finishing the creation process; otherwise, continuing to execute the step (a 3); (a3) Carrying out equal division on the spatial range of each dimension according to the sequence of the dimension on the multi-dimensional spatial nodes to generate more than 2 subspaces; (a4) Judging the number of space objects in each subspace, and selecting the subspace SubNode with the most space objects max Generating a new multidimensional space node LeafNode;
(a3) Equally dividing the space range of each dimension according to the sequence of the dimensions of the multidimensional space Node to generate more than 2 subspaces;
(a4) Judging the number of space objects in each subspace, and selecting the space objects with the most space objectsSubspace SubNode max Generating a new multidimensional space node LeafNode;
(a5) Relating multidimensional space nodes to SubNode max The space object is added into the leaf Node, and simultaneously the SubNode in the multidimensional space Node is removed max The spatial object of (a);
(a6) Returning to the step (1) until the space object quantity of the original space Node and the newly generated leaf Node does not exceed the maximum limit, and entering the step (a 7)
(a7) Calculating the depth _ depth of the leaf node in the semi-decomposition tree by using a shift operation;
(a8) Comparing the _ depth with the depth of the full decomposition tree T, and assigning a larger number to the depth;
(a9) Returning to the step (a 1).
The invention provides a multi-dimensional spatial data indexing method based on a semi-decomposition strategy, which further comprises a data inserting process, and specifically comprises the following steps:
(b1) Transmitting a space Object to be inserted into the semi-decomposition tree T 1
(b2) Calculating Object 1 The integer Code of the multidimensional space belonging to the deepest part of the semi-decomposition tree T' is marked as Code 1
(b3) Code pair using integer Code shift operation 1 Sequentially and upwards shifting, and when the Code is found in the hash table 1 When the shift operation is stopped;
(b4) According to Code 1 Reading space object in disk, generating integer Code as Code 1 Is connected to the first multidimensional space Node 1
(b5) Object is processed 1 Adding to Node 1 In the set of spatial objects;
(b6) To Node 1 Executing the semi-decomposition strategy operation of the steps (a 1) to (a 9), wherein the Node in the steps (a 1) to (a 9) is replaced by the Node 1 And (6) executing.
The invention provides a multi-dimensional spatial data indexing method based on a semi-decomposition strategy, which further comprises a data query process, and specifically comprises the following steps:
(c1) Transmitting a multidimensional space range Envelope to be queried;
(c2) Calculating the integer Code of the multidimensional space to which the Envelope belongs at the deepest part of the semi-decomposition tree T', and marking the integer Code as the Code 2
(c3) If Code 2 If the result is 0, it indicates that the multidimensional space corresponding to the semi-decomposition tree T' cannot be preserved to contain the query space, and is intersected or separated, and if the multidimensional space is separated, the query space is directly returned to be empty; if they intersect, let the Code 2 Performing step (c 5) for encoding of a root node of the semi-decomposed tree T'; otherwise if the Code is 2 If not 0, performing step (c 4);
(c4) Judging Code 2 Whether the Code exists in the hash table or not, and the upper layer Code is obtained by adopting integer shift operation until the hash table contains the Code 2 Reading the Code 2 Generating an integer Code into Code 2 Second multidimensional space Node 2 Node is to be connected 2 Comparing the space object set with the Envelope, adding data into the result, returning the result, and ending the program; if Code 2 If present in the hash table, performing step (c 5);
(c5) Reading Code 2 Corresponding disk data, generate Code 2 Corresponding multidimensional space Node 2 Node is to be connected 2 Comparing the space object with the space range of the Envelope, and adding the space object belonging to the Envelope into the result;
(c6) Decomposing multidimensional space Node 2 Generating more than 2 subspaces, wherein each subspace corresponds to an integer code, traversing the integer codes, judging whether the hash table contains the integer code, if so, returning to the step (c 5), otherwise, entering the step (c 7);
(c7) Releasing the node data in the memory, returning the query result, and ending the query.
The invention provides a multi-dimensional spatial data indexing method based on a semi-decomposition strategy, which further comprises a data query process, and specifically comprises the following steps:
(d1) A space Object to be deleted is introduced and is marked as Object 3
(d2) Calculating Object 3 The integer Code of the multidimensional space belonging to the deepest part of the semi-decomposition tree T' is marked as Code 3
(d3) If Code 3 Equal to 0, object 3 If not, ending the deleting process; otherwise, the following operations are continuously executed:
(d4) Code pair using integer Code shift operation 3 Sequentially and upwards shifting, and when the Code is found in the hash table 3 When the shift operation is stopped;
(d5) According to Code 3 Reading space Object in disk 3 Generating an integer Code as Code 3 Third multidimensional space Node 3
(d6) Sequentially traversing Node 3 Finding whether there is one Object in the Object space set 3 If the corresponding space object with the same space object attribute is not found, the operation is ended, and the Node is released 3 A node; if the space object is found, deleting the space object from the space object set;
(d7) Node judgment 3 If the number of the space object sets is 0, if not, the Node is started 3 Writing the data back to the disk; otherwise, executing the following operation;
(d8) Let Node 3 Has a dimension of n, and the cyclic integer i is from 0 to n 2 Code of 3 After shifting n bits to left, add i to get Node 3 Integer coding of subspace of (1) 3 If a LeafCode is found in the hash table 3 Ending the loop, modifying the Node in the disk 3 Data; on the contrary, when the loop is ended, the LeafCode is not found in the hash table 3 If so, the Node is released 3 Disk space occupied in the disk.
The invention has the beneficial effects based on the technical scheme that:
(1) According to the multi-dimensional spatial data indexing method based on the semi-decomposition strategy, the multi-dimensional space and the space object scheduling of the subspace of the multi-dimensional space are scheduled by the semi-decomposition strategy, so that multi-dimensional space nodes can be greatly reduced, the use of internal memory and external memory space is reduced, the IO frequency of a disk is effectively reduced, and the management efficiency of multi-dimensional spatial data is improved;
(2) The multi-dimensional space data indexing method based on the semi-decomposition strategy provided by the invention defines the space range of the multi-dimensional space by adopting integer coding, saves the range data storage of the multi-dimensional space, and saves the space to the maximum extent;
(3) The multidimensional space data indexing method based on the semi-decomposition strategy determines the existence of the multidimensional space through the hash table, avoids the dependency relationship of the front and rear nodes of the tree, and can effectively improve the running speed of a program;
(4) The multi-dimensional spatial data indexing method based on the semi-decomposition strategy is suitable for different multi-dimensional data, is not limited by dimensionality, and can be popularized and applied in various multi-dimensional spatial data management.
Drawings
FIG. 1 is an exemplary diagram of a node of a full decomposition tree.
Fig. 2 is a hash table corresponding to the full split tree.
FIG. 3 is an exemplary diagram of nodes of a semi-decomposed tree.
Fig. 4 is a hash table corresponding to a semi-decomposed tree.
FIG. 5 is a flow diagram illustrating the process of creating a semi-decomposed tree structure according to the present invention.
FIG. 6 is a flow chart illustrating the process of inserting data according to the present invention.
FIG. 7 is a flow chart illustrating a process of querying data according to the present invention.
FIG. 8 is a flow chart illustrating the process of deleting data according to the present invention.
Detailed Description
The invention is further illustrated by the following examples in conjunction with the drawings.
The invention provides a multi-dimensional spatial data indexing method based on a semi-decomposition strategy, which has the following characteristics:
(1) The range of the multidimensional space where the multidimensional subspace is located is defined by adopting an integer coding mode, the range of the multidimensional space can be calculated through integer coding, the data range storage of the multidimensional space is saved, and the storage space is saved; determining upper layer space integer coding through integer shift operation, and determining starting integer coding of a subspace thereof according to the integer shift operation;
(2) The hash table is adopted to store integer codes, the existence of the multidimensional space and the subspace data thereof can be quickly reflected through the hash table, the dependency relationship of the front and rear nodes of the tree is avoided, and the running speed of the program can be effectively improved;
(3) Dividing each dimension of the multidimensional space according to a sequence by adopting a space equal division principle to generate more than 2 subspaces, and determining integer codes by utilizing the sequence of each dimension;
(4) Selecting a subspace with the most space objects by a semi-decomposition strategy to generate a new child node, and removing the space objects contained in the subspace of the upper layer space;
(5) The semi-decomposition strategy is adopted to schedule the space object scheduling of the multidimensional space and the subspace thereof, so that a large number of multidimensional space nodes can be reduced, the use of internal memory and external memory space can be reduced, the IO frequency of a disk is effectively reduced, and the management efficiency of multidimensional space data is improved;
(6) The method comprises a process of creating a semi-decomposition tree structure, a process of inserting data, a process of inquiring data and a process of deleting data, and with reference to fig. 5, the process of creating the semi-decomposition tree structure specifically comprises the following steps:
(a1) Transmitting a multi-dimensional space Node into the initialized semi-decomposition tree T';
(a2) Judging whether the number of the space object sets of the multidimensional space Node exceeds a preset maximum limit value or not, if not, writing data in the multidimensional space Node back into a disk, and finishing the creation process; otherwise, continuing to execute the step (a 3); (a3) Carrying out equal division on the spatial range of each dimension according to the sequence of the dimension on the multi-dimensional spatial nodes to generate more than 2 subspaces; (a4) Judging the number of space objects in each subspace, and selecting the subspace SubNode with the most space objects max Generating a new multidimensional space node LeafNode;
(a3) Equally dividing the space range of each dimensionality according to the sequence of the dimensionality of the multidimensional space Node to generate more than 2 subspaces;
(a4) Judging the number of space objects in each subspace, and selecting the subspace SubNode with the most space objects max Generating a new multidimensional space node LeafNode;
(a5) Relating multidimensional space nodes to subnodes max The space object is added into the leaf Node, and simultaneously the SubNode in the multidimensional space Node is removed max The spatial object of (a);
(a6) Returning to the step (1) until the space object quantity of the original space Node and the newly generated leaf Node does not exceed the maximum limit, and entering the step (a 7)
(a7) Calculating the depth _ depth of the leaf node in the semi-decomposition tree by using a shift operation;
(a8) Comparing the _ depth with the depth of the full decomposition tree T, and assigning a larger number to the depth;
(a9) Returning to the step (a 1).
Referring to fig. 6, the process of inserting data specifically includes the following steps:
(b1) Transmitting a space Object to be inserted into the semi-decomposition tree T 1
(b2) Calculating Object 1 The integer Code of the multidimensional space belonging to the deepest part of the semi-decomposition tree T' is marked as Code 1
(b3) Code pair using integer Code shift operation 1 Sequentially and upwards shifting, and when the Code is found in the hash table 1 When the shift operation is stopped;
(b4) According to Code 1 Reading space object in disk, generating integer Code as Code 1 Is connected to the first multidimensional space Node 1
(b5) Object is processed 1 Adding to Node 1 In the set of spatial objects;
(b6) To Node 1 Executing the semi-decomposition strategy operation of the steps (a 1) to (a 9), wherein the Node in the steps (a 1) to (a 9) is replaced by the Node 1 And (6) executing.
Referring to fig. 7, the process of querying data specifically includes the following steps:
(c1) Transmitting a multidimensional space range Envelope to be queried;
(c2) Calculating the integer Code of the multidimensional space to which the Envelope belongs at the deepest part of the semi-decomposition tree T', and marking as the Code 2
(c3) If Code 2 If the result is 0, the multi-dimensional space corresponding to the semi-decomposition tree T' cannot be preserved to contain the query space, and is intersected or separated, and if the multi-dimensional space is separated, the multi-dimensional space directly returns to be empty; if they intersect, let the Code 2 Performing step (c 5) for encoding of a root node of the semi-decomposed tree T'; otherwise if the Code is 2 If not 0, performing step (c 4);
(c4) Judging Code 2 Whether the Code exists in the hash table or not, and the upper layer Code is obtained by adopting integer shift operation until the hash table contains the Code 2 Read the Code 2 Generating integer Code into Code 2 Second multidimensional space Node 2 Node is to be 2 Comparing the space object set with the Envelope, adding data into the result, returning the result, and ending the program; if Code 2 If present in the hash table, performing step (c 5);
(c5) Reading Code 2 Corresponding disk data, generate Code 2 Corresponding multidimensional space Node 2 Node is to be 2 Comparing the space object with the space range of the Envelope, and adding the space object belonging to the Envelope into the result;
(c6) Decomposing multidimensional space Node 2 Generating more than 2 subspaces, wherein each subspace corresponds to an integer code, traversing the integer codes, judging whether the hash table contains the integer code, if so, returning to the step (c 5), otherwise, entering the step (c 7);
(c7) Releasing the node data in the memory, returning the query result, and ending the query.
Referring to fig. 8, the process of deleting data specifically includes the following steps:
(d1) A space Object to be deleted is transmitted and is marked as Object 3
(d2) Calculating Object 3 The integer Code of the multidimensional space belonging to the deepest part of the semi-decomposition tree T' is marked as Code 3
(d3) If Code 3 Equal to 0, object 3 If not, ending the deleting process in the maximum multidimensional space corresponding to the semi-decomposition tree; otherwise, the following operations are continuously executed:
(d4) Code pair using integer Code shift operation 3 Sequentially and upwards shifting, and when the Code is found in the hash table 3 When the shift operation is stopped;
(d5) According to Code 3 Reading space Object in disk 3 Generating an integer Code as Code 3 Third multidimensional space Node 3
(d6) Sequentially traversing Node 3 Finding out whether there is one Object in the middle space Object set 3 If the corresponding space object with the same attribute is not found, the operation is ended, and the Node is released 3 A node; if the space object is found, deleting the space object from the space object set;
(d7) Node judgment 3 If the number of the space object sets is 0, if not, the Node is started 3 Writing the data back to the disk; otherwise, executing the following operation;
(d8) Let Node 3 Is n, the cyclic integer i is from 0 to n 2 Code of 3 After shifting n bits to left, adding i to obtain Node 3 Integer coding of subspace of (1) 3 If a leaf code is found in the hash table 3 Ending the loop, modifying the Node in the disk 3 Data; on the contrary, when the loop is ended, the LeafCode is not found in the hash table 3 If so, the Node is released 3 Disk space occupied in the disk.
The invention provides a multi-dimensional spatial data indexing method based on a half-decomposition strategy, which adopts an integer coding mode to define the position of a multi-dimensional space where a multi-dimensional subspace is positioned, and can calculate the range of the multi-dimensional space through integer coding; determining upper layer space integer coding through integer shift operation, and determining starting integer coding of a subspace thereof according to the integer shift operation; according to the multidimensional space range, the integer code of a half-decomposition tree corresponding to a certain multidimensional space at the deepest part of the tree can be calculated, the disk storage position of multidimensional space data is determined by using the integer code, the integer code is stored by using a hash table, and the existence of the multidimensional space and subspace data thereof is reflected by the hash table; carrying out space equal division on the multi-dimensional space by using each dimension equal division principle, and determining the serial number of each dimension by using the sequence of each dimension; sequentially searching upper-layer spaces upwards from the deepest codes of the half-decomposition numbers, determining the existence of the upper-layer spaces in a hash table, and selecting proper multidimensional space nodes to insert space objects; when the number of the space objects of the multidimensional space node reaches the maximum limit, a semi-decomposition strategy is adopted, a subspace with more space objects is selected to be decomposed to become a new node, and the space objects related to the subspace in the upper layer space are removed.
Referring to fig. 1 and 2, a fully decomposed tree structure and a corresponding hash table are used, referring to fig. 3 and 4, in order to use a half decomposed tree structure and a corresponding hash table, numbers in nodes are integer codes, and the number of spatial objects is shown in parentheses, assuming that a node stores 32 spatial objects at most, the fully decomposed tree needs 12 nodes, and the half decomposed tree has only 3 nodes; when looking for 0x18 node range data, the full split tree needs to traverse its subspace, requiring 7 disk accesses, while the half split tree only needs to access 0x18 and 0x182, requiring only two disk accesses. In addition, due to the lack of intermediate nodes, when the insertion, deletion and search are performed, the decomposition tree needs to traverse the whole hash table when upward search is not performed, but the half decomposition tree does not.
The multi-dimensional spatial data indexing method based on the semi-decomposition strategy provided by the invention reduces the use of storage space, reduces the IO frequency of a disk, can efficiently manage multi-dimensional spatial data, and guarantees the fluency of a spatial database.

Claims (4)

1. A multi-dimensional spatial data indexing method based on a semi-decomposition strategy is characterized by comprising a process of creating a semi-decomposition tree structure, and specifically comprising the following steps:
(a1) Transmitting a multidimensional space Node into the initialized semi-decomposition tree T';
(a2) Judging whether the number of the space object sets of the multidimensional space Node exceeds a preset maximum limit value or not, if not, writing data in the multidimensional space Node back into a disk, and finishing the creation process; otherwise, continuing to execute the step (a 3); (a3) Carrying out equal division on the spatial range of each dimension according to the sequence of the dimension on the multi-dimensional spatial nodes to generate more than 2 subspaces; (a4) Judging the number of space objects in each subspace, and selecting the subspace SubNode with the most space objects max Generating a new multidimensional space node LeafNode;
(a3) Equally dividing the space range of each dimensionality according to the sequence of the dimensionality of the multidimensional space Node to generate more than 2 subspaces;
(a4) Judging the number of space objects in each subspace, and selecting the subspace SubNode with the most space objects max Generating a new multidimensional space node LeafNode;
(a5) Relating multidimensional space nodes to subnodes max The space object of (2) is added into the leaf Node, and simultaneously the SubNode in the multidimensional space Node is removed max The spatial object of (a);
(a6) Returning to the step (1) until the number of the space objects of the original space Node and the newly generated leaf Node does not exceed the maximum limit, and entering the step (a 7)
(a7) Calculating the depth _ depth of the leaf node in the semi-decomposition tree by using a shift operation;
(a8) Comparing the _ depth with the depth of the full decomposition tree T, and assigning a larger number to the depth;
(a9) Returning to the step (a 1).
2. The semi-decomposition strategy-based multi-dimensional spatial data indexing method according to claim 1, further comprising a data insertion process, specifically comprising the steps of:
(b1) Introducing a space Object to be inserted into the semi-decomposition tree T 1
(b2) Calculating Object 1 The integer Code of the multidimensional space belonging to the deepest part of the semi-decomposition tree T' is marked as Code 1
(b3) Code pair using integer Code shift operation 1 Sequentially and upwards shifting, and when the Code is found in the hash table 1 When the shift operation is stopped;
(b4) According to Code 1 Reading space object in disk, generating integer Code as Code 1 Is connected to the first multidimensional space Node 1
(b5) Object is processed 1 Adding to Node 1 In the set of spatial objects;
(b6) To Node 1 Executing the semi-decomposition strategy operation of the steps (a 1) to (a 9), wherein the Node in the steps (a 1) to (a 9) is replaced by the Node 1 And (6) executing.
3. The semi-decomposition strategy-based multi-dimensional spatial data indexing method according to claim 1, further comprising a data query process, specifically comprising the steps of:
(c1) Transmitting a multidimensional space range Envelope to be queried;
(c2) Calculating the integer Code of the multidimensional space to which the Envelope belongs at the deepest part of the semi-decomposition tree T', and marking the integer Code as the Code 2
(c3) If Code 2 If the result is 0, the multi-dimensional space corresponding to the semi-decomposition tree T' cannot be preserved to contain the query space, and is intersected or separated, and if the multi-dimensional space is separated, the multi-dimensional space directly returns to be empty; if they intersect, let the Code 2 Performing step (c 5) for encoding of a root node of the semi-decomposed tree T'; otherwise if the Code 2 If not 0, performing step (c 4);
(c4) Judging Code 2 Whether the Code exists in the hash table or not, and whether the upper layer Code is obtained by adopting integer shift operation does not exist until the hash table contains the Code 2 Reading the Code 2 Generating integer Code into Code 2 Second multidimensional space Node 2 Node is to be connected 2 The spatial object set in (1) is compared with Envelope, and after data is added to the result,returning a result and ending the program; if Code 2 If present in the hash table, performing step (c 5);
(c5) Reading Code 2 Corresponding disk data, generating Code 2 Corresponding multidimensional space Node 2 Node is to be connected 2 Comparing the space object with the space range of the Envelope, and adding the space object belonging to the Envelope into the result;
(c6) Decomposing multidimensional space Node 2 Generating more than 2 subspaces, wherein each subspace corresponds to an integer code, traversing the integer codes, judging whether the hash table contains the integer code, if so, returning to the step (c 5), otherwise, entering the step (c 7);
(c7) Releasing the node data in the memory, returning the query result, and ending the query.
4. The semi-decomposition strategy-based multidimensional spatial data indexing method according to claim 1, further comprising a data deletion process, specifically comprising the steps of:
(d1) A space Object to be deleted is introduced and is marked as Object 3
(d2) Calculating Object 3 The integer Code of the multidimensional space belonging to the deepest part of the semi-decomposition tree T' is marked as Code 3
(d3) If Code 3 Equal to 0, object 3 If not, ending the deleting process in the maximum multidimensional space corresponding to the semi-decomposition tree; otherwise, the following operations are continuously executed:
(d4) Code pair using integer Code shift operation 3 Sequentially and upwards shifting, and when the Code is found in the hash table 3 When the shift operation is stopped;
(d5) According to Code 3 Reading space Object in disk 3 Generating an integer Code as Code 3 Third multidimensional space Node 3
(d6) Sequentially traversing Node 3 Finding whether there is one Object in the Object space set 3 Corresponding spatial objects with the same spatial object attribute ifIf not found, the operation is ended, and the Node is released 3 A node; if the space object is found, deleting the space object from the space object set;
(d7) Node judgment 3 If the number of the space object sets is 0, if not, the Node is started 3 Write back the data to disk; otherwise, executing the following operation;
(d8) Let Node 3 Has a dimension of n, and the cyclic integer i is from 0 to n 2 Code of 3 After shifting n bits to left, adding i to obtain Node 3 Integer coding of subspace of (1) 3 If a leaf code is found in the hash table 3 Ending the loop, modifying the Node in the disk 3 Data; on the contrary, when the loop is ended, the LeafCode is not found in the hash table 3 If so, the Node is released 3 Disk space occupied in the disk.
CN201910610784.2A 2019-07-08 2019-07-08 Multi-dimensional spatial data indexing method based on semi-decomposition strategy Active CN110321353B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910610784.2A CN110321353B (en) 2019-07-08 2019-07-08 Multi-dimensional spatial data indexing method based on semi-decomposition strategy

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910610784.2A CN110321353B (en) 2019-07-08 2019-07-08 Multi-dimensional spatial data indexing method based on semi-decomposition strategy

Publications (2)

Publication Number Publication Date
CN110321353A CN110321353A (en) 2019-10-11
CN110321353B true CN110321353B (en) 2022-12-13

Family

ID=68123094

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910610784.2A Active CN110321353B (en) 2019-07-08 2019-07-08 Multi-dimensional spatial data indexing method based on semi-decomposition strategy

Country Status (1)

Country Link
CN (1) CN110321353B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111814328A (en) * 2020-07-07 2020-10-23 浙江工业大学 Modeling and query method of space-time data cube with flight area

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000200342A (en) * 1999-01-06 2000-07-18 Nippon Telegr & Teleph Corp <Ntt> Multidimensional space data structure, method for updating and searching multidimensional space data, recording medium recording the structure and recording medium recording program for executing the method
CN102609530A (en) * 2012-02-14 2012-07-25 江苏新大诚信息技术有限公司 Space database indexing method of regional double-tree structure
CN103279972A (en) * 2013-05-08 2013-09-04 中国科学院软件研究所 Parallel multidimensional self-adaption sampling and reconstructing method based on KD tree

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000200342A (en) * 1999-01-06 2000-07-18 Nippon Telegr & Teleph Corp <Ntt> Multidimensional space data structure, method for updating and searching multidimensional space data, recording medium recording the structure and recording medium recording program for executing the method
CN102609530A (en) * 2012-02-14 2012-07-25 江苏新大诚信息技术有限公司 Space database indexing method of regional double-tree structure
CN103279972A (en) * 2013-05-08 2013-09-04 中国科学院软件研究所 Parallel multidimensional self-adaption sampling and reconstructing method based on KD tree

Also Published As

Publication number Publication date
CN110321353A (en) 2019-10-11

Similar Documents

Publication Publication Date Title
Hjaltason et al. Index-driven similarity search in metric spaces (survey article)
Beckmann et al. A revised R*-tree in comparison with related index structures
Hjaltason et al. Distance browsing in spatial databases
CN105975587B (en) A kind of high performance memory database index organization and access method
US8037059B2 (en) Implementing aggregation combination using aggregate depth lists and cube aggregation conversion to rollup aggregation for optimizing query processing
CN107092659B (en) Universal tree structure storage and analysis method
CA2388515C (en) System for managing rdbm fragmentations
US20030004938A1 (en) Method of storing and retrieving multi-dimensional data using the hilbert curve
Fang et al. Spatial indexing in microsoft SQL server 2008
Lin et al. An extendible hash for multi-precision similarity querying of image databases
KR100284778B1 (en) Insertion method of high dimensional index structure for content-based image retrieval
Hadian et al. Interp olation-friendly B-tr ees: Bridging the Gap Betw een AlgorithmicandLearnedInde xes
CN112765405B (en) Method and system for clustering and inquiring spatial data search results
US6745198B1 (en) Parallel spatial join index
CN111666468A (en) Method for searching personalized influence community in social network based on cluster attributes
CN112395288B (en) R-tree index merging and updating method, device and medium based on Hilbert curve
CN110321353B (en) Multi-dimensional spatial data indexing method based on semi-decomposition strategy
CN113704248B (en) Block chain query optimization method based on external index
Wong et al. Online skyline analysis with dynamic preferences on nominal attributes
CN109254962B (en) Index optimization method and device based on T-tree and storage medium
Bertino et al. The indispensability of dispensable indexes
JP3938815B2 (en) Node creation method, image search method, and recording medium
JP2007073063A (en) Space index method
Zhu et al. Developing a dynamic materialized view index for efficiently discovering usable views for progressive queries
KR100886607B1 (en) Method of effectively performing limited-union based multiple-queries in a database management system

Legal Events

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