KR100233365B1 - Hg-tree index structure and method of inserting and deleting and searching it - Google Patents

Hg-tree index structure and method of inserting and deleting and searching it Download PDF

Info

Publication number
KR100233365B1
KR100233365B1 KR1019960065570A KR19960065570A KR100233365B1 KR 100233365 B1 KR100233365 B1 KR 100233365B1 KR 1019960065570 A KR1019960065570 A KR 1019960065570A KR 19960065570 A KR19960065570 A KR 19960065570A KR 100233365 B1 KR100233365 B1 KR 100233365B1
Authority
KR
South Korea
Prior art keywords
node
tree
index structure
leaf node
nodes
Prior art date
Application number
KR1019960065570A
Other languages
Korean (ko)
Other versions
KR19980047127A (en
Inventor
차광호
정진완
Original Assignee
윤덕용
한국과학기술원
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 윤덕용, 한국과학기술원 filed Critical 윤덕용
Priority to KR1019960065570A priority Critical patent/KR100233365B1/en
Publication of KR19980047127A publication Critical patent/KR19980047127A/en
Application granted granted Critical
Publication of KR100233365B1 publication Critical patent/KR100233365B1/en

Links

Landscapes

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

Abstract

본 발명은 멀티미디어 데이터베이스나 지리 정보 시스템과 같이 다차원 공간상의 데이터를 위한 검색 및 갱신 효율을 극대화하기 위한 새로운 HG-트리 색인 구조 및 그의 삽입, 삭제, 검색 방법에 관한 것이다.The present invention relates to a new HG-tree index structure and its insertion, deletion and retrieval method for maximizing retrieval and update efficiency for data in multidimensional space such as multimedia database or geographic information system.

상세하게는 본 발명의 HG-트리(Hibert Grid- tree) 색인 구조는 힐버트 곡선을 사용하여 n-차원 공간상의 모든 위치를 1 차원 선분상의 위치로 사상(mapping)시키고, 색인 구조의 디렉토리 부분이 나타내는 영역이 가능한 한 실제로 데이터가 점유하는 부분을 최소로 나타내도록 최소경계간격(minimum bounding interval : MBI) 개념을 도입하여 색인 노드가 커버(cover)하는 데이터 영역을 가능한 한 줄임으로써 검색 성능을 높인 것이다.In detail, the HG-tree index structure of the present invention uses a Hilbert curve to map all positions in n-dimensional space to positions on a one-dimensional line segment and is represented by the directory portion of the index structure. The concept of minimum bounding interval (MBI) is introduced to minimize the area of data covered by the index node as much as possible so that the area represents as little of the actual data as possible.

또한 새로운 데이터 객체를 삽입하는 경우 색인 구조의 노드(node)에서 범람(overflow)이 발생하여 노드를 분리해야 하는 경우에 인접한 노드에 여유가 있는지 검사한 후에, 여유가 있으면 범람 노드를 분리시키지 않고 데이터를 인접한 노드로 재분배 함으로써 노드 분리를 막고, 노드 분리가 불가피한 경우에는 인접한 노드 중 하나와 함께 두 개의 노드를 세 개로 분리하여 저장 효율을 높인 것이다.In addition, when inserting a new data object, if an overflow occurs at a node of the index structure and the node needs to be separated, the neighboring node is checked for room. Redistribution of nodes to adjacent nodes prevents node separation, and if node separation is inevitable, two nodes are separated into three with one of the adjacent nodes to increase storage efficiency.

Description

HG-트리 색인 구조 및 그의 삽입, 삭제, 검색 방법HG-tree index structure and its insertion, deletion and retrieval methods

본 발명은 멀티미디어 데이터베이스나 지리 정보 시스템과 같이 다차원 공간상의 데이터를 위한 검색 및 갱신 효율을 극대화하기 위한 새로운 HG-트리 색인 구조 및 그의 삽입, 삭제, 검색 방법에 관한 것이다.The present invention relates to a new HG-tree index structure and its insertion, deletion and retrieval method for maximizing retrieval and update efficiency for data in multidimensional space such as multimedia database or geographic information system.

종래의 관계형 데이터베이스 시스템에서 제공하는 색인 구조는 거의 B-트리(B-tree)에 기초한 일차원적 구조이기 때문에 멀티미디어 데이터나 지리 정보와 같이 복합 구조를 갖는 다차원적 구조의 데이터를 처리하는데는 적합하지 않다.Since the index structure provided by the conventional relational database system is almost one-dimensional based on B-tree, it is not suitable for processing data of multidimensional structure having complex structure such as multimedia data or geographic information. .

현재, K-D-B-트리(K-D-B-tree), 버디-트리(buddy-tree), 뱅 파일(BANG file), hB-트리(hB-tree), 다차원 그리드 파일(multilevel grid file), R-트리(R-tree) 등의 다차원 데이터를 지원하는 색인 구조들도 있지만 이들은 다음과 같은 문제점을 내포하고 있다.Currently, KDB-tree, buddy-tree, BANG file, hB-tree, multilevel grid file, R-tree There are index structures that support multidimensional data such as -tree), but they have the following problems.

첫째, 데이터 분포가 균일한(uniform) 경우에는 괜찮은 성능을 보이지만 데이터가 서로 연관되어 있거나(correlated), 그 분포가 왜곡될(skewed) 때는 급격한 성능 저하를 보인다. 그런데, 실제 상황에서의 데이터 분포는 균일한 경우보다는 서로 연관되거나 왜곡된 분포를 나타내는 경향이 더 많다.First, when the data distribution is uniform, the performance is decent, but when the data are correlated or skewed, the performance is suddenly degraded. However, data distribution in actual situations tends to show a distribution that is related to each other or distorted rather than uniform.

둘째, 색인 구조의 디렉토리 부분은 실제 데이터를 포함하는 영역만을 최소로 표현해야 영역 질의(range query)나 최대 근접 질의(nearest neighbor query) 수행시 좋은 성능을 나타낸다. 그런데, 종래의 색인 구조들은 디렉토리 영역이 차지하는 부분을 최소로 나타내지 못하므로 이들 질의 수행시에 만족할 만한 성능을 얻을 수 없었다.Second, the directory part of the index structure should represent only the area containing the actual data to the minimum, which shows good performance when executing a range query or a neighbor neighbor query. However, since the conventional index structures do not represent the minimum portion of the directory area, satisfactory performance is not obtained when these queries are executed.

셋째, 데이터 검색 성능은 색인 구조의 저장 효율(storage utilization)에 크게 좌우된다. 그러나 종래의 색인 구조의 저장 효율은 성능이 좋은 색인 구조의 경우에도 평균적으로 70% 부근에 머물러 있어서 검색 효율이 그다지 높지 못했다. 또한 최악의 경우를 증명할 수 있는 하한선(low bound)이 나타나 있지 않아서, 최악의 경우에 대한 성능 증명을 하지 못하고 있다. 따라서 돌발 사태 발생시 급격한 성능 저하가 예상된다.Third, data retrieval performance is highly dependent on storage utilization of the index structure. However, the storage efficiency of the conventional index structure is about 70% on average even in the case of a good index structure, the search efficiency was not very high. In addition, there is no low bound that can prove the worst case, so that the worst case can not prove the performance. Therefore, a sudden decrease in performance is expected when an accident occurs.

본 발명은 상기와 같은 문제점을 해결하기 위한 것으로 검색 및 갱신 성능을 향상시킨 새로운 HG-트리(Hibert Grid- tree) 색인 구조 및 그의 삽입, 삭제 및 검색 방법을 제공하는 데 그 목적이 있다.An object of the present invention is to provide a new HG-tree (Hibert Grid-tree) index structure that improves the search and update performance, and to insert, delete, and search methods thereof.

본 발명의 HG-트리 색인 구조는 힐버트 곡선을 사용하여 n-차원 공간상의 모든 위치를 1 차원 선분상의 위치로 사상(mapping)시키고, 색인 구조의 디렉토리 부분이 나타내는 영역이 가능한 한 실제로 데이터가 점유하는 부분을 최소로 나타내도록 최소경계간격(minimum bounding interval : MBI) 개념을 도입하여 색인 노드가 커버(cover)하는 데이터 영역을 가능한 한 줄임으로써 검색 성능을 높이는 것을 특징으로 한다.The HG-tree index structure of the present invention uses a Hilbert curve to map all positions in n-dimensional space to positions on a one-dimensional line segment, where the area represented by the directory portion of the index structure is actually occupied by the data. The concept of minimum bounding interval (MBI) is introduced to represent the minimum part, and the search performance is improved by reducing the data area covered by the index node as much as possible.

또한 새로운 데이터 객체를 삽입하는 경우 색인 구조의 노드(node)에서 범람(overflow)이 발생하여 노드를 분리해야 하는 경우에 인접한 노드에 여유가 있는지 검사한 후에, 여유가 있으면 범람 노드를 분리시키지 않고 데이터를 인접한 노드로 재분배 함으로써 노드 분리를 막고, 노드 분리가 불가피한 경우에는 인접한 노드 중 하나와 함께 두 개의 노드를 세 개로 분리하여 저장 효율을 높이는 것을 특징으로 한다.In addition, when inserting a new data object, if an overflow occurs at a node of the index structure and the node needs to be separated, the neighboring node is checked for room. Redistribution of nodes to adjacent nodes prevents node separation, and if node separation is inevitable, two nodes are divided into three together with one of the adjacent nodes to increase storage efficiency.

도 1a, 도 1b는 2차원 공간상에서의 1차 및 2차 힐버트 곡선을 나타낸 도1A and 1B show the first and second Hilbert curves in a two-dimensional space

도 2a, 도 2b는 최소 경계 간격 개념을 사용한 색인 구조와 사용하지 않은 색인 구조를 나타낸 도2A and 2B illustrate an index structure with and without an index boundary concept.

도 3은 HG-트리 색인 구조를 생성하기 위한 삽입방법을 나타낸 흐름도3 is a flowchart illustrating an insertion method for generating an HG-tree index structure.

도 4는 도 3의 리프노드 선택 과정의 상세 흐름도4 is a detailed flowchart of a leaf node selection process of FIG.

도 5는 도 3의 발생되는 범람 처리 과정의 상세 흐름도5 is a detailed flowchart of the overflow processing generated in FIG.

도 6은 도 3의 트리조정 과정의 상세 흐름도6 is a detailed flowchart of the tree adjustment process of FIG.

도 7은 HG-트리 색인 구조를 갱신하기 위한 삭제방법을 나타낸 흐름도7 is a flowchart illustrating a deletion method for updating an HG-tree index structure.

도 8은 도 7의 언더플로우 처리 과정의 상세 흐름도8 is a detailed flowchart of the underflow process of FIG. 7.

도 9는 도 7의 트리적응 과정의 상세 흐름도9 is a detailed flowchart of the tree adaptation process of FIG.

도 10은 HG-트리 색인 구조에서 정확매치 검색방법을 나타낸 흐름도10 is a flowchart illustrating a method of searching for an exact match in an HG-tree index structure.

도 11은 HG-트리 색인 구조에서 영역 검색방법을 나타낸 흐름도11 is a flowchart illustrating a region searching method in an HG-tree index structure.

도 12는 도 11의 오버랩 과정의 상세 흐름도12 is a detailed flowchart of the overlap process of FIG.

도 13a, 도 13b는 HG-트리 색인 구조에서 최대근접 검색방법을 나타낸 흐름도13A and 13B are flowcharts illustrating a maximum proximity search method in an HG-tree index structure.

본 발명의 HG-트리는 저장효율을 높이기 위해 힐버트 곡선(Hilbert curve)이라고 하는 공간 채움 곡선(space-filling curve)을 사용한다. 공간 채움 곡선은 n-차원 공간상의 각 위치를 1 차원의 선분상의 위치로 사상(mapping)시킴으로써 n-차원 공간상의 각 위치에 순서를 부여한다.The HG-tree of the present invention uses a space-filling curve called a Hilbert curve to increase storage efficiency. The space filling curve orders each position in n-dimensional space by mapping each position in n-dimensional space to a position on a one-dimensional line segment.

힐버트 곡선은 현재 알려진 공간 채움 곡선 중 가장 밀집 효과(clustering effect)가 큰 것으로 알려져 있다. 밀집 효과가 클수록 색인 구조에는 좋은 영향을 미친다. 도 1a 및 도 1b는 2차원 공간상에서의 1차와 2차 힐버트 곡선 H1과 H2를 나타낸 것이다.The Hilbert curve is known to have the largest clustering effect among the currently known space filling curves. The greater the dense effect, the better the index structure. 1A and 1B show the first and second Hilbert curves H 1 and H 2 in two-dimensional space.

힐버트 곡선을 사용하여 n-차원 공간상의 모든 위치를 1 차원 선분상의 위치로 사상시킨다. 이렇게 함으로써 모든 데이터 객체 및 색인 노드들 간에 1차원적인 순서가 매겨지고 모든 색인 노드들은 잘 정의된 형제 노드를 갖게 된다.Hilbert curves are used to map all locations in n-dimensional space to locations on a one-dimensional line segment. This gives a one-dimensional ordering between all data objects and index nodes, and all index nodes have well-defined sibling nodes.

따라서 노드 범람시 인접한 형제 노드로 범람 노드의 데이터를 분산시킴으로써 노드 분리를 막을 수 있다. 또한 인접한 형제 노드에도 여유있는 공간이 없어 노드 분리가 불가피 할 경우에는 두 개의 노드, 즉 인접한 형제 노드중 하나와 범람 노드를 세 개의 노드로 분리시킨다. 이렇게 함으로써 최악의 경우의 색인 구조 저장 효율이 66.7%(2/3) 이상이 됨을 보장하고 평균 저장 효율은 80% 이상이 된다.Thus, node overflow can be prevented by distributing data of flood nodes to neighboring sibling nodes when flooding nodes. In addition, if there is no room in adjacent sibling nodes, and node separation is inevitable, two nodes, one of adjacent sibling nodes and an overflowing node, are separated into three nodes. This ensures that the worst case index structure storage efficiency is more than 66.7% (2/3) and the average storage efficiency is more than 80%.

또한 색인 구조의 디렉토리 부분이 나타내는 영역이 가능한 한 실제로 데이터가 점유하는 부분을 최소로 나타내도록 색인 구조를 설계하기 위하여 본 발명은 최소경계간격이라는 개념을 도입하여 색인 노드가 커버하는 데이터 영역을 가능한 한 줄임으로써 검색 성능을 높인다.In addition, in order to design the index structure such that the area represented by the directory portion of the index structure represents the smallest portion of the data as much as possible, the present invention introduces the concept of minimum boundary interval to cover the data area covered by the index node as much as possible. Reduce search performance by increasing it.

여기서 최소경계간격은 아래 노드의 모든 영역을 커버하는 힐버트 곡선상의 가장 짧은 간격이다.Here, the minimum boundary interval is the shortest interval on the Hilbert curve that covers all areas of the node below.

도 2a 및 도 2b는 최소 경계 간격의 개념을 사용한 색인 구조와 사용하지 않은 색인 구조를 나타낸 것이다.2A and 2B show an index structure with and without an idea of the minimum boundary spacing.

도 2a에서 보듯이 최소 경계 간격을 사용한 색인 구조에서 색인 노드가 커버하는 넓이는 7(=4+3)인 반면, 최소 경계 간격의 개념을 사용하지 않는 색인 구조 도 2b의 색인 노드가 커버하는 영역은 16(=8+8)이다. 색인 노드가 커버하는 영역의 넓이가 적을수록 영역 질의 및 최대 근접 질의 수행 효율은 높아진다.As shown in FIG. 2A, the index node covers an area of 7 (= 4 + 3) in the index structure using the minimum boundary spacing, while the area covered by the index node in FIG. 2B does not use the concept of the minimum boundary spacing. Is 16 (= 8 + 8). The smaller the area of the region covered by the index node, the higher the efficiency of executing the region query and the maximum proximity query.

따라서 최소 경계 간격의 개념을 사용한 본 발명의 색인 구조가 최소 경계 간격의 개념을 사용하지 않은 색인 구조에 비해 검색 성능이 높아짐을 예상할 수 있다.Therefore, it can be expected that the index structure of the present invention using the concept of the minimum boundary spacing is higher than the index structure without the concept of the minimum boundary spacing.

이하 상기한 특성을 갖는 HG-트리 색인 구조의 생성을 위한 삽입방법, 갱신을 위한 삭제방법 및 검색(정확매치검색, 영역검색, 최대근접검색)을 위한 방법에 대하여 설명한다.Hereinafter, an insertion method for generating an HG-tree index structure having the above characteristics, a deletion method for updating, and a method for searching (exact match search, region search, maximum proximity search) will be described.

새로운 데이터 객체의 HG-트리 삽입은 삽입할 데이터 객체 o의 힐버트 값 h를 계산하고, 이것을 키(key)로 사용하여 새로운 데이터 객체를 삽입할 리프노드L을 선택하는 과정과; 선택된 리프노드 L에 객체 o를 삽입하는 과정과; 리프노드 L이 범람하면 범람을 처리하는 과정과; 리프노드 L, 인접한 형제노드 및 상기 범람 처리 과정에서 분리가 일어난 경우의 새로운 노드를 포함하는 집합 S를 만드는 과정과; 새로운 데이터 객체의 삽입으로 영향을 받은 최소경계영역을 조정하는 트리조정 과정과; 트리조정의 결과 루트를 분리하는 경우에는 새로운 루트를 생성시켜 트리의 높이를 성장시키는 과정을 수행함으로써 이루어진다.Inserting the HG-tree of the new data object includes calculating a Hilbert value h of the data object o to be inserted and using this as a key to select a leaf node L into which the new data object is to be inserted; Inserting an object o into the selected leaf node L; When the leaf node L overflows, processing the overflow; Creating a set S comprising a leaf node L, an adjacent sibling node, and a new node when separation occurs in the overflow processing; A tree adjustment process of adjusting the minimum boundary region affected by the insertion of a new data object; As a result of tree adjustment, the route is separated by creating a new route and growing the height of the tree.

이를 도 3 내지 도 6을 참조하여 상세하게 설명한다.This will be described in detail with reference to FIGS. 3 to 6.

도 3은 본 발명의 HG-트리 색인 구조에 새로운 객체를 삽입하는 과정을 나타낸 흐름도로서 노드 N에 객체 o를 한다. 도 4는 새로운 객체를 삽입할 리프노드를 선택하는 과정을 나타낸 흐름도로서, 힐버트 값 h를 갖는 객체 o를 삽입할 리프노드를 선택한다. 도 5는 삽입시 범람 발생에 대한 범람 처리 과정을 나타낸 흐름도이다.3 is a flowchart illustrating a process of inserting a new object into the HG-tree index structure of the present invention and performs object o at node N. FIG. 4 is a flowchart illustrating a process of selecting a leaf node into which a new object is to be inserted, and selecting a leaf node into which an object o having a Hilbert value h is to be inserted. 5 is a flowchart illustrating a flood processing process for flood generation when inserted.

또한 도 6은 새로운 객체를 리프노드에 삽입한 후에 영향을 받은 최소경계영역을 조정하는 트리조정의 과정을 나타낸 흐름도이다.FIG. 6 is a flowchart illustrating a tree adjustment process of adjusting an affected minimum boundary area after inserting a new object into a leaf node.

새로운 데이터 객체 o를 삽입하려면 삽입할 데이터 객체의 힐버트 값 h를 계산(계산과정에 대해서는 서술하지 않음. 참조 문헌 : A.R.Butz, "Alternative Algorithm for Hibert's Space-Filling Curve", IEEE Transactions on Computers, April 1971. pp424-426)한 후, 리프노드 선택(o, h) 함수를 호출한다(101).To insert a new data object o, calculate the Hilbert value h of the data object to be inserted (not described in the calculation process. Reference literature: ARButz, "Alternative Algorithm for Hibert's Space-Filling Curve", IEEE Transactions on Computers, April 1971 pp424-426), then call the leaf node selection (o, h) function (101).

그러면 리프노드 선택 함수는 도 4의 단계(108∼112)를 수행하여 새로운 데이터 객체 o를 삽입할 리프노드 L을 선택하여 리턴한다.The leaf node selection function then performs steps 108 through 112 of FIG. 4 to select and return the leaf node L into which the new data object o is to be inserted.

즉, N에 루트노드(root node)를 세트(set)하여 초기화하고(108), N이 리프노드인지를 판단하여(109), 리프노드이면 그 노드 N을 리턴(112)하고, 그렇지 않으면 힐버트 값 h에 가장 가까운 엔트리를 선택하여(110), N에 선택된 엔트리가 가리키는 노드를 세트(111)한 다음, N이 리프노드가 될 때까지 단계(109∼111)를 반복 수행하여 N이 리프노드가 되면 그 노드 N을 리턴함으로써 리프노드 선택을 종료한다.That is, it sets and initializes a root node to N (108), determines whether N is a leaf node (109), and if it is a leaf node, returns the node N (112), otherwise Hilbert Select the entry closest to the value h (110), set the node indicated by the selected entry to N (111), then repeat steps (109-111) until N is a leaf node, where N is a leaf node. If so, the leaf node selection is terminated by returning the node N.

리프노드가 선택되면 그 리프노드 L에 객체 o를 삽입한 다음 리프노드 L이 범람하는지를 판단한다(103). 판단 결과 리프노드 L이 범람하면 범람 처리(L, o) 함수를 호출하여 범람 발생에 대한 처리를 수행한다.When the leaf node is selected, the object o is inserted into the leaf node L, and then it is determined whether the leaf node L overflows (103). If the leaf node L overflows as a result of the determination, the flood handling (L, o) function is called to perform the flood occurrence processing.

범람 처리 함수는 도 5에 나타낸 바와 같이 범람 발생시에 형제노드에 여유공간이 있으면 객체를 형제노드로 분산시키고, 그렇지 않으면 노드를 분리시켜 새로운 노드를 생성하여 그 새로운 노드를 반환한다.As shown in FIG. 5, the overflow processing function distributes objects to sibling nodes when there is free space in the sibling node when overflow occurs. Otherwise, the nodes are separated, a new node is created, and the new node is returned.

상세하게 설명하면 먼저, S에 노드 N과 인접한 형제노드에 있는 모든 엔트리를 포함하는 집합을 세트하고(113), S에 객체 o를 추가한 다음(114), N의 형제노드들(sibings) 중에서 여유공간이 있는지를 판단하여(115), 여유공간이 있으면 S를 N과 그의 형제노드에 분산시킴으로써 범람 처리를 종료한다(116).Specifically, first set S to include all entries in sibling nodes adjacent to node N (113), add object o to S (114), and then among the siblings of N It is determined whether there is a free space (115). If there is a free space, the flooding process is terminated by distributing S to N and its sibling nodes (116).

그러나 상기 판단(115) 결과 여유공간이 없으면 새로운 노드 NN을 생성한 다음 N의 두 형제노드 중에서 N과 결합되었을 때 차지하는 영역이 작은 노드 s를 선택한 다음(117)(118), N과 S가 결합된 간격에서 3개로 간격을 분리하였을 때 차지하는 영역을 가장 작게 만드는 두 개의 분리점(split point) P1, P2를 구하고(119), S에 있는 엔트리를 그 값이 P1 보다 작은지, P1과 P2 사이에 있는지, P2 보다 큰지에 따라서 노드를 N, NN, s에 분배한 후, 새로 생성된 노드 NN을 리턴함으로써 범람 처리를 종료한다(120)(121).However, as a result of the determination 115, if there is no free space, a new node NN is created and then a node s having a small area when combined with N is selected among two sibling nodes of N (117) (118), and N and S are combined. If we split the gap into three spaces, we find the two split points P1 and P2 that make the smallest area (119), and determine if the entry in S is less than P1, between P1 and P2. After the node is distributed to N, NN, and s depending on whether or not P2 is greater than P2, the flooding process is terminated by returning the newly generated node NN (120, 121).

객체 삽입 시에, 범람이 발생할 경우 그에 따른 처리가 끝나면 계속하여 리프노드 L, 인접한 형제 노드, 상기 범람 처리 과정(113∼121)에서 분리가 일어난 경우 새로운 노드 NN을 포함하는 집합 S를 만든 다음(105), 영향을 받은 최소경계영역을 조정하기 위하여 트리조정(S) 함수를 호출한다.At the time of insertion, when flooding occurs, after the processing is completed, a set S including leaf node L, an adjacent sibling node, and a new node NN when separation occurs in the flood processing process 113 to 121 is performed ( 105), call the tree adjustment (S) function to adjust the affected minimum boundary area.

호출된 트리조정(S) 함수는 새로운 객체의 삽입에 따라 영향을 받은 S에 있는 노드들을 커버하는 노드들의 최소경계영역을 조정하면서, 리프노드에서 루트로 진행하여 루트까지 최소경계영역을 조정하는데, 그 상세 과정은 도 6에 나타낸 바와 같다.The called tree adjustment (S) function adjusts the minimum boundary region from the leaf node to the root and proceeds from the leaf node to the route, adjusting the minimum boundary region of the nodes covering the nodes in the affected S upon insertion of a new object. The detailed process is as shown in FIG.

즉, N에 갱신할 노드 L을 세트하여 초기화한(122) 다음, N이 루트노드인지를 판단한다(123). 상기 판단 결과 N이 루트노드이면 트리조정을 종료하고, 그렇지 않으면 P에 N의 부모노드(parent node)를 세트하고(124), N이 분리되었는지를 판단한다(125).That is, after setting and initializing the node L to be updated to N (122), it is determined whether N is the root node (123). If N is the root node, the tree adjustment is terminated. Otherwise, a parent node of N is set in P (124), and it is determined whether N is separated (125).

상기 판단 결과 N이 분리되지 않았다면 단계(130)로 이행하고, 분리되었다면 NN에 새로운 노드를 세트한(126) 후, P에 여유공간이 존재하는가를 판단하여 여유공간이 존재하면 P에 NN을 삽입하고(128) 그렇지 않으면 범람 처리 과정(113∼121)을 수행하여 범람을 처리한다(129).If it is determined that N is not separated, the process proceeds to step 130, and if it is separated, a new node is set in NN (126), and it is determined whether there is free space in P. If there is free space, NN is inserted into P. (128) Otherwise, overflow processing (113 to 121) is performed to handle overflow (129).

이어서, P를 분리해야 하면 PP에 새로운 노드를 세트한(130) 다음,를 S에 있는 노드의 부모들의 집합으로 세트하고서,에 있는 엔트리들의 해당 최소경계영역을 조정하고하고(131) P가 분리되었는가를 판단한다(132).Then, if P needs to be separated, a new node is set in the PP (130), Set to the set of parents of nodes in S, It adjusts the minimum boundary area of the entries in (131) and determines whether P is separated (132).

상기 판단결과 P가 분리되었으면 상기한 단계(123∼131)를 반복 수행하고 그렇지 않으면 트리조정을 종료한다.If P is separated, the above steps 123 to 131 are repeated, otherwise the tree adjustment is terminated.

루트까지 최소경계영역을 조정하여 트리조정이 끝나면, 노드분리전파(node spilt propagation)로 인해 루트를 분리하는 경우에는 새로운 루트를 생성시켜 트리의 높이를 성장시킴으로써 새로운 데이터 객체 o의 삽입을 종료한다(107).When the tree is adjusted by adjusting the minimum boundary area to the root, when the root is separated by node spilt propagation, the insertion of the new data object o is terminated by creating a new root and growing the height of the tree. 107).

HG-트리 색인 구조의 갱신을 위한 삭제방법은 정확매치검색을 통해 객체 o를 포함하는 리프노드 L을 찾는 과정과; 찾은 리프노드에 객체 o를 삭제하는 과정과; 삭제로 인해 리프노드 L이 언더플로우(underflow)를 발생시키는지를 판단하여 언더플로우를 처리하는 과정과; 리프노드 L, 언더플로우 발생시 인접한 형제노드를 포함하는 집합 S를 만드는 과정과; 삭제로 인해 영향을 받은 최소경계영역을 조정하는 트리적응 과정과; 트리적응 결과 루트가 하나의 자식만 가질 경우 트리의 높이를 하나 줄이는 과정을 수행함으로써 이루어지며, 삭제방법은 삽입방법과 비슷하나 단지 노드 분리로 인한 언더플로우 발생시 인접한 형제 노드로부터 데이터를 빌리거나 인접한 형제 노드와 결합하는 것이 다르다.The deleting method for updating the HG-tree index structure includes: finding a leaf node L including the object o through exact match searching; Deleting the object o in the found leaf node; Determining whether the leaf node L causes an underflow due to the deletion, and processing the underflow; Creating a leaf node L, a set S including adjacent sibling nodes when an underflow occurs; A tree adaptation process of adjusting the minimum boundary region affected by the deletion; As a result of tree adaptation, if the root has only one child, the tree is reduced by one. The deletion method is similar to the insertion method. However, when the underflow occurs due to node separation, the data is borrowed from adjacent sibling nodes or adjacent siblings are deleted. Combining with nodes is different.

이를 도 7 내지 도 9를 참조하여 상세하게 설명한다.This will be described in detail with reference to FIGS. 7 to 9.

도 7은 HG-트리 색인 구조에서 객체를 삭제하는 방법을 나타낸 흐름도이고, 도 8은 객체를 삭제하거나 최소경계영역 조정시에 발생되는 언더플로우 처리과정을 나타낸 흐름도이며, 도 9는 객체 삭제로 인해 영향을 받는 노드의 최소경계영역을 조정하는 트리적응 과정을 나타낸 흐름도이다.FIG. 7 is a flowchart illustrating a method of deleting an object in an HG-tree index structure. FIG. 8 is a flowchart illustrating an underflow process occurring when an object is deleted or a minimum boundary area is adjusted. FIG. 9 is a flowchart illustrating an object deletion. This is a flowchart showing the tree adaptation process of adjusting the minimum boundary area of the affected node.

먼저 정확매치검색을 통해 객체 o를 포함하는 리프노드 L을 찾아, L에서 객체 o를 삭제한 다음 리프노드 L이 언더플로우를 발생시키는가를 판단하여 언더플로우를 발생시키지 않으면 삭제를 종료하고, 언더플로우를 발생시키면 언더플로우처리(L, o) 함수를 호출하여 언더플로우 발생에 대한 처리를 수행한다(133∼ 136)First find the leaf node L containing the object o through the exact match search, delete the object o from L, then determine if the leaf node L causes the underflow, and if it does not cause the underflow, terminate the deletion and underflow If is generated, the underflow processing (L, o) function is called to process the occurrence of underflow (133 to 136).

언더플로우의 처리는 도 8에 나타낸 바와 같이, S에 노드 N과 인접한 형제노드에 있는 모든 엔트리들을 모으고(140), S에서 객체 o를 삭제(141)한 다음, 인접한 형제노드에서 데이터를 빌려 오면 그 노드가 언더플로우를 발생하는가를 판단하여(142) 언더플로우가 발생하지 않으면 인접한 형제노드에서 엔트리를 빌려온다(143). 그러나 언더플로우가 발생하면 N과 인접한 두 형제노드를 결합시킨 다음 N과 형제노드가 결합된 간격을 분리하였을 때 차지하는 영역을 가장 작게 만드는 분리 위치 P를 찾아서 그것을 경계로 하여 두 개의 노드로 분리함으로써 언더플로우 처리를 종료한다(144)(145).The process of underflow collects all the entries in the sibling node adjacent to node N in S (140), deletes the object o in S (141), and then borrows data from the adjacent sibling node, as shown in FIG. The node determines whether an underflow occurs (142), and if an underflow does not occur, an entry is borrowed from an adjacent sibling node (143). However, if an underflow occurs, it combines two adjacent sibling nodes with N and then finds the separation position P which makes the area occupied the smallest when separating the gap between N and sibling nodes, and divides it into two nodes with the boundary. The flow processing ends (144, 145).

언더플로우 처리가 끝나면 리프노드 L과 인접한 형제노드로 구성된 집합 S를 형성한 다음 트리적응(S) 함수를 호출한다(137)(138).After the underflow processing is completed, a set S consisting of leaf nodes L and adjacent sibling nodes is formed, and then a tree adaptation (S) function is called (137) (138).

호출된 트리적응(S) 함수는 객체의 삭제에 따라 영향을 받은 집합 S에 있는 노드들을 커버하는 노드들의 최소경계영역을 조정하면서 리프노드에서 루트로 진행하여 루트까지 최소경계영역을 조정하는데, 그 상세 과정은 도 9에 나타낸 바와 같다.The called tree adaptation function adjusts the minimum boundary region from the leaf node to the root and adjusts the minimum boundary region from the leaf node to the root, adjusting the minimum boundary region of the nodes covering the nodes in the set S affected by the deletion of the object. The detailed procedure is as shown in FIG.

즉, N에 갱신되는 노드 L을 세트하여 초기화한 다음, N이 루트인지를 판단하여 N이 루트이면 트리적응을 종료하고, 그렇지 않으면 P에 N의 부모노드를 준다(146∼148). 이어서 N이 다른 노드와 결합되었는지를 판단하여, N이 다른 노드와 결합되었으면 P에서 N을 삭제하고, 계속하여 P가 언더플로우를 발생시키는지를 판단하여 언더플로우를 발생시키면 언더플로우 처리(P, N) 함수를 호출하여 언더플로우를 처리한다(149∼152).In other words, after setting and initializing the node L updated in N, it is determined whether N is the root, and if N is the root, the tree adaptation is terminated. Otherwise, P is given a parent node of N (146 to 148). Subsequently, it is determined whether N is combined with another node, and if N is combined with another node, it deletes N from P, and continuously determines whether P causes an underflow, and if an underflow occurs, an underflow process (P, N ) To handle the underflow (149-152).

그런 다음에 S에 있는 부모노드들의 집합을 세트하고,에 있는 엔트리들의 해당 최소경계영역을 조정한 후(153), N에 P를 세트하고(154) N이 루트노드일 때까지 상기 단계(147∼154)를 반복 수행한다.after that Sets a set of parent nodes in S, After adjusting the minimum boundary area of entries in 153, P is set to N (154), and steps 147 to 154 are repeated until N is the root node.

트리적응 과정을 수행하여 삭제로 인해 영향을 받은 노드의 최소 경계영역을 루트까지 조정한 후, 루트가 하나의 자식만 가질 경우 트리의 높이를 하나 줄임으로써 삭제를 종료한다(139).After the tree adaptation process is performed, the minimum boundary region of the node affected by the deletion is adjusted to the root, and if the root has only one child, the deletion is terminated by reducing the height of the tree by one (139).

HG-트리 색인 구조에서 힐버트 값 h를 갖는 데이터를 찾는 정확매치검색(Exact -Match Searching) 방법에 대해 설명한다.An Exact-Match Searching method for finding data with Hilbert value h in an HG-tree index structure is described.

정확매치검색 시에는 HG-트리의 루트로부터 검색을 시작하여 질의 값을 포함하는 가지(branch)를 따라 순환적으로(recursively) 검색을 진행한다. 리프노드에 도달하면 질의 값, 즉 힐버트 값 h와 동일한 값을 갖는 데이터 객체를 선택한다.In exact match search, the search starts from the root of the HG-tree and recursively searches along the branch containing the query value. When the leaf node is reached, it selects the data object with the same query value, that is, the Hilbert value h.

HG-트리는 모든 데이터 객체 및 디렉토리 노드에 순차적인 힐버트 값을 할당하므로 내부 노드 검색에 이진 검색(binary search)을 수행할 수 있어서 노드 내부 검색 속도도 향상된다.The HG-tree assigns sequential Hilbert values to all data objects and directory nodes, enabling binary search for internal node searches, which also speeds up internal node searches.

이를 도 10을 참조하여 상세하게 설명한다.This will be described in detail with reference to FIG. 10.

먼저 루트노드(root node) N을 방문하여 N이 리프노드인지 판단하여, 리프노드이면 힐버트 값 h를 갖는 객체가 있으면 출력하고, N이 리프노드가 아니면 힐버트 값 h를 포함하는 엔트리 Ni를 찾는다(155∼158).First, the root node N is visited to determine whether N is a leaf node, and if there is a leaf node, an object having the Hilbert value h is output. If N is not a leaf node, the entry Ni containing the Hilbert value h is found ( 155-158).

이어서 h를 포함하는 Ni가 존재하는지를 판단하여, h를 포함하는 Ni가 존재하면 Ni를 N에 주고서 N이 리프노드인지를 판단하는 과정으로 이행하고 그렇지 않으면 해당 객체가 존재하지 않으므로 정확매치검색을 종료한다(159∼161).Subsequently, it is determined whether Ni including h exists, and if Ni including h exists, the process proceeds to determining that N is a leaf node by providing Ni to N, otherwise the exact object search does not exist. It ends (159-161).

HG-트리 색인 구조에서 질의 영역 r에 대한 영역검색(Range Searching)은 루트에서 시작하여 질의 영역 r과 겹치는 각 가지를 순환적으로 검사하여 질의 영역 r과 겹치는 모든 데이터 객체를 출력하는데, 도 11 및 도 12를 참조하여 상세하게 설명한다.Range searching for the query region r in the HG-tree index structure recursively examines each branch starting at the root and overlapping the query region r, and outputs all data objects that overlap the query region r. A detailed description will be given with reference to FIG. 12.

도 11은 HG-트리 색인 구조에서 질의 영역을 검색하는 방법을 나타낸 흐름도이고, 도 12는 도 11에서 최소경계사각형이 질의 영역에 포함되는지를 검색하는 오버랩 과정을 나타낸 흐름도이다.FIG. 11 is a flowchart illustrating a method of searching a query region in an HG-tree index structure. FIG. 12 is a flowchart illustrating an overlapping process of searching whether a minimum bounding rectangle is included in the query region of FIG. 11.

질의 영역 r을 검색하기 위하여 먼저 루트노드 N을 방문하여 N이 리프노드인지 판단하여 N이 리프노드이면 질의 영역 r에 포함되는 모든 객체를 출력한다(162∼164). 그러나 N이 리프노드가 아니면 Ni에 N에 있는 각 엔트리를 세트한 다음 최소경계사각형 MBR(Ni)가 질의 영역 r에 포함되는지, 겹쳐지는지, 바깥에 있는지를 검사하기 위해 오버랩(MBR(Ni), r) 함수를 호출한다(165)(166).To search the query region r, first visit the root node N and determine whether N is a leaf node. If N is a leaf node, all objects included in the query region r are output (162 to 164). However, if N is not a leaf node, set each entry in N to Ni, then overlap to check whether the minimum bounding square MBR (Ni) is included in the query region r, overlaps, or is outside (MBR (Ni), r) Call the function (165) (166).

그리하면 오버랩 함수는 최소경계사각형 I가 질의 영역 r에 포함되면 포함됨을 출력하고, I가 r과 겹치지 않으면 겹치지 않음을 출력한다(172∼175).Then, the overlap function outputs that the minimum boundary square I is included in the query region r, and does not overlap if I does not overlap r (172 to 175).

그러나 I가 r과 겹치면 최소경계사각형을 같은 크기의 두 개의 최소경계사각형으로 나누는 곳에서 I의 최소경계간격을 두 개의 최소경계간격 I1,I2로 분할하고, 다시 오버랩(최소경계 사각형 I1, r)과 오버랩(최소경계 사각형 I2, r) 함수를 호출한다(176)(177).However, if I overlaps r, divides the minimum boundary of I into two minimum boundary intervals I1 and I2, dividing the minimum boundary square into two minimum boundary squares of the same size, and then overlaps again (minimum boundary squares I1 and r). And overlap (minimum bounding rectangles I2, r) are called (176) (177).

상기 두 오버랩 함수를 수행한 결과 둘 다 포함됨을 출력하면 포함됨을 출력하고, 둘 다 겹치지 않음을 출력하면 겹치기 않음을 출력하고, 그렇지 않으면 겹침을 출력함으로써 오버랩 과정을 종료한다(178∼182).As a result of performing the two overlap functions, if both are included, the output is included. If the two overlapping functions are not included, the overlap process is outputted. Otherwise, the overlap process is terminated by outputting the overlap (178 to 182).

오버랩(MBR(Ni),r) 수행 결과 질의 영역 r이 최소경계사각형 MBR(Ni)에 포함되면 Ni에 포함되는 모든 객체를 출력하고, 오버랩(MBR(Ni),r) 수행 결과 질의 영역 r과 최소경계사각형 MBR(Ni)가 겹치면, N에 Ni의 자식노드를 세트하고 N이 리프노드인가를 판단하는 과정(163)으로 이행한다(167∼171).Overlap (MBR (Ni), r) Execution Result When the query area r is included in the minimum bounding square MBR (Ni), all objects included in Ni are outputted, and as a result of the overlap (MBR (Ni), r) query area r and When the minimum boundary square MBR (Ni) overlaps, the process proceeds to step 163 in which a child node of Ni is set to N and it is determined whether N is a leaf node (167 to 171).

오버랩(MBR(Ni),r) 수행한 결과, 질의 영역 r이 최소경계사각형 MBR(Ni)에 포함되지도, 겹치지도 않으면 Ni가 N의 마지막 엔트리인가를 판단하여, 마지막 엔트리가 아니면 상기 Ni에 N에 있는 각 엔트리를 세트하는 과정(165)으로 이행하고 그렇지 않으면 영역 검색을 종료한다(171).As a result of performing the overlap (MBR (Ni), r), it is determined whether Ni is the last entry of N if the query region r is not included in or overlapped with the minimum bounding square MBR (Ni). The process proceeds to the process of setting each entry in N (165), and otherwise ends the region search (171).

HG-트리 색인 구조의 최대근접 검색(Nearest Neighbor Searching) 방법을 도 13a, 도 13b를 참조하여 설명한다.The nearest neighbor searching method of the HG-tree index structure will be described with reference to FIGS. 13A and 13B.

도 13a, 도 13b는 HG-트리 색인 구조에서 질의 위치에 대한 최대근접 검색방법을 나타낸 흐름이다.13A and 13B are flowcharts illustrating a method of searching closest to a query position in an HG-tree index structure.

최대근접검색방법은 질의 위치가 주어지면 색인 트리의 최상위 가지들로부터 아래 방향으로 검사가 진행된다. 각 노드에서의 검사시에 질의 위치에서 해당 노드내 각 엔트리까지의 가장 가까운 거리 δlow와 질의 위치에서 데이터의 존재를 보장하는 가장 가까운 거리 δhigh를 계산하고, δlow순으로 각 노드내의 엔트리들을 정렬한 다음, 깊이 우선 검색(depth-first search)으로 가장 가까운 가지부터 순환적으로 검사해 나가면서 주어진 질의점과 거리상 가까운 k개의 데이터를 추출한다.The maximum proximity search method checks downward from the top branches of the index tree given the location of the query. When checking at each node, calculate the closest distance δ low from the query location to each entry in the node, and the closest distance δ high to ensure the existence of data at the query location, and calculate the entries in each node in the order of δ low . After sorting, a depth-first search is used to recursively examine the nearest branch, extracting k data that are close to a given query point.

여기서 N은 현재 노드이고, P는 질의점이며, Nearest는 현재 시점에서 가장 가까운 k개의 이웃을 포함하는 리스트(최대근접이웃)이고, Branchlist는 리프노드가 아닌 가지를 포함하는 리스트이다.Where N is the current node, P is the query point, Nearest is the list containing the k nearest neighbors (the nearest neighbor), and Branchlist is the list containing the branches that are not leaf nodes.

현재 노드 N을 방문하여(184), N이 리프노드인가를 판단한다(184).The current node N is visited (184), and it is determined whether N is a leaf node (184).

N이 리프노드이면 N의 모든 엔트리 Ni에 대해 질의점 P와 객체 Ni의 거리 disti를 결정하고(185)(186), Nearest[k].dist에 N과 P간의 k번째로 가까운 거리를 설정하고 Nearest[k].obj에 N과 P간의 k번째로 가까운 객체를 설정한 다음(187), 거리 disti가 Nearest[k].dist 보다 작으면 Nearest[k].dist에 disti를, Nearest[k].obj에 Ni를 지정한 다음, 거리순으로 최대근접이웃의 엔트리를 재배열(rearrange)하는데 이와 같은 과정을 마지막 엔트리까지 반복한다(188∼191).If N is a leaf node, determine the distance disti between query point P and object Ni for all entry Ni of N (185) (186), and set the kth closest distance between N and P to Nearest [k] .dist. Set the kth closest object between N and P in Nearest [k] .obj (187), then disti in Nearest [k] .dist if Distance disti is less than Nearest [k] .dist, and Nearest [k] Specify Ni in .obj, then rearrange the entries of the nearest neighbors in chronological order and repeat this process until the last entry (188-191).

그러나 현재 노드 N이 리프노드가 아니면, N의 모든 엔트리 Ni에 대해 질의점 P와 Ni간의 가장 가까운 거리를 계산하여 δlowi세트하고 P와 Ni 간에서 객체의 존재를 보장하는 가장 가까운 거리를 계산하여 δhigh세트한 다음, Branchlist에 δhighlowi및 Ni를 저장한다(192∼195).However, if the current node N is not a leaf node, it calculates the closest distance between query points P and Ni for all entries Ni of N, sets δ lowi, and calculates the closest distance to ensure the existence of objects between P and Ni. After setting δ high , δ high , δ lowi and Ni are stored in the branchlist (192 to 195).

이어서 δlow에 따라 Branchlist의 내용을 정렬(sort)한 다음, Branchlist에 있는 것들 중에서 최대근접이웃에 있는 것들 보다 거리가 먼 것들은 제거한다(196)(197).It then sorts the contents of the Branchlist according to δ low , and then removes those in the Branchlist that are farther than those in the nearest neighbor (196) (197).

Branchlist에 있는 모든 엔트리 Ei에 대해 최대근접검색(Ei의 자식노드, P, Nearest)을 재귀적(recursively)으로 호출하여, Branchlist에 있는 것들 중에서 거리가 먼 것 들을 제거하여 Branchlist에 있는 모든 엔트리 Ei를 배열(arrange)함으로써 최대근접검색을 종료한다(198∼201).Recursively call the closest search (Ei's child nodes, P, Nearest) for all entries Ei in the branchlist to remove all entries Ei in the branchlist by removing the distant ones from the branchlist. The maximum proximity search is terminated by arranging (198 to 201).

이상에서 설명한 바와 같이 본 발명의 HG-트리 색인 구조 및 그의 삽입, 삭제, 검색방법은 데이터 특성이 복합 구조를 갖고, 1차원이 아니라 다차원 공간상에 표현되는 멀티미디어 데이터나 지리 정보 데이터를 위한 데이터 베이스 시스템에서 효과적으로 사용될 수 있으며, 특히 내용에 의한 멀티미디어 자료 검색시 높은 검색 성능을 갖는다.As described above, the HG-tree index structure of the present invention and its insertion, deletion, and retrieval method are a database for multimedia data or geographic information data having a complex structure of data characteristics and represented in a multidimensional space instead of one dimension. It can be effectively used in the system, and especially has high search performance when searching for multimedia data by contents.

Claims (11)

힐버트 곡선을 사용하여 n-차원 공간상의 모든 위치를 1 차원 선분상의 위치로 사상시켜 저장효율을 높이고, 색인 구조의 디렉토리 부분이 나타내는 영역이 가능한 한 실제로 데이터가 점유하는 부분을 최소로 나타내도록 최소경계간격 개념을 도입하여 색인 노드가 커버하는 데이터 영역을 가능한 한 줄임으로써, 검색 성능을 높이는 HG-트리 색인 구조를 이용하며 삽입할 데이터 객체 o의 힐버트 값 h를 계산하고, 이것을 키로 사용하여 새로운 데이터 객체 o를 삽입할 리프노드 o을 선택하는 과정과; 선택된 리프노드 L에 객체 o를 삽입하는 과정과; 리프노드 L이 범람하면 범람을 처리하는 과정과; 리프노드 L, 인접한 형제노드 및 상기 범람 처리 과정에서 분리가 일어난 경우의 새로운 노드를 포함하는 집합 S를 만드는 과정과; 새로운 데이터 객체의 삽입으로 영향을 받은 최소경계영역을 조정하는 트리조정 과정과; 트리조정의 결과 루트를 분리하는 경우에는 새로운 루트를 생성시켜 트리의 높이를 늘리는 과정을 포함하여 이루어지는 것을 특징으로 하는 HG-트리 색인구조의 생성을 위한 삽입방법.Use Hilbert curves to map all locations in n-dimensional space to locations on a one-dimensional line to increase storage efficiency, and to ensure that the area represented by the directory portion of the index structure is as minimal as possible in the realm of data occupied. Introducing the concept of spacing to reduce the area of data covered by index nodes as much as possible, using the HG-tree index structure to improve search performance, calculating the Hilbert value h of the data object o to be inserted, and using this as the key selecting a leaf node o into which to insert o; Inserting an object o into the selected leaf node L; When the leaf node L overflows, processing the overflow; Creating a set S comprising a leaf node L, an adjacent sibling node, and a new node when separation occurs in the overflow processing; A tree adjustment process of adjusting the minimum boundary region affected by the insertion of a new data object; Inserting a method for generating an HG-tree index structure, comprising the step of increasing the height of the tree by creating a new route when splitting the route as a result of tree adjustment. 제 1항에 있어서, 상기 새로운 데이터 객체 o를 삽입할 리프노드 L을 선택하는 과정은 N을 루트노드로 세트하여 초기화하는 단계와; N이 리프노드일 때까지 반복되는 N이 리프노드인지를 판단하는 단계와, 상기 판단 결과 리프노드이면 그 노드 N을 리턴하고 그렇지 않으면 힐버트 값 h에 가장 가까운 엔트리를 선택하는 단계와, N에 선택된 엔트리가 가리키는 노드를 세트하는 단계를 포함하여 이루어지는 것을 특징으로 하는 HG-트리 색인구조의 생성을 위한 삽입방법.The method of claim 1, wherein the selecting of the leaf node L into which the new data object o is to be inserted comprises: initializing N as a root node; Determining whether the repeated N is a leaf node until N is a leaf node; if the determination result is a leaf node, returning the node N; otherwise, selecting an entry closest to the Hilbert value h; Inserting a node pointed to by the entry, the method comprising: creating an HG-tree index structure. 제 1항에 있어서, 상기 리프노드 L의 범람 발생을 처리하는 과정은 S에 노드 N과 인접한 형제노드에 있는 모든 엔트리를 포함하는 집합을 세트하여 초기화 하는 단계와; S에 객체 o를 추가 단계와; N의 두 형제노드 중에서 여유공간이 있는지를 판단하여, 여유공간이 있으면 S를 N과 그의 형제노드에 분산하고, 여유공간이 없으면 새로운 노드 NN을 생성하는 단계와; N의 두 형제노드 중에서 N과 결합되었을 때 차지하는 영역이 작은 노드 s를 선택하는 단계와; N과 S가 결합된 간격에서 3개로 간격을 분리할 때 차지하는 영역을 가장 작게 만드는 두 개의 분리점 P1, P2를 구하는 단계와; S에 있는 엔트리를 그 값이 P1 보다 작은지, P1과 P2 사이에 있는지, P2 보다 큰지에 따라서 노드를 N, NN, s에 분배하는 단계와; 새로 생성된 노드 NN을 리턴하는 단계를 포함하여 이루어지는 것을 특징으로 하는 HG-트리 색인구조의 생성을 위한 삽입방법.2. The method of claim 1, wherein the processing of flood occurrence of leaf node L comprises: initializing by setting a set comprising all entries in sibling nodes adjacent to node N in S; Adding an object o to S; Determining whether there is a free space among two sibling nodes of N, distributing S to N and its sibling nodes if there is free space, and generating a new node NN if there is no free space; Selecting a node s whose area occupied when combined with N is small among two sibling nodes of N; Obtaining two separation points P1 and P2 which make the area occupied the smallest when occupying the space into three in the space where N and S are combined; Distributing the node to N, NN, s according to whether an entry in S is less than P1, between P1 and P2, or greater than P2; And returning a newly created node NN. 제 1항에 있어서, 상기 새로운 객체 o의 삽입으로 영향을 받은 최소경계영역을 조정하는 트리조정 과정은 N에 갱신할 노드 L을 세트하여 초기화하는 단계와; N이 루트노드이거나, N의 부모노드가 분리될 때까지 반복되는 N이 루트노드인지를 판단하여, N이 루트노드이면 트리조정을 종료하고, 그렇지 않으면 P에 N의 부모노드를 세트하는 단계와; N이 분리되었는지를 판단하여 분리되었다면 NN에 새로운 노드를 세트하는 단계와; N이 분리되지 않았다면 P에 여유공간이 존재하는가를 판단하여 여유공간이 존재하면 P에 NN을 삽입하고 그렇지 않으면 범람 처리 과정을 수행하는 단계와; P를 분리해야 하면 PP에 새로운 노드를 세트하는 단계와;에 S에 있는 노드의 부모들의 집합을 세트하고,에 있는 엔트리들의 해당 최소경계영역을 조정하는 단계와; P가 분리되었는가를 판단하여 분리되었다면 트리조정을 종료하는 단계를 포함하여 이루어지는 것을 특징으로 하는 HG-트리 색인구조의 생성을 위한 삽입방법.The method of claim 1, wherein the tree adjustment process of adjusting the minimum boundary region affected by the insertion of the new object o comprises: initializing and setting a node L to be updated to N; Determining whether N is the root node or whether N is the root node which is repeated until N's parent node is separated, and if N is the root node, terminates the tree adjustment; otherwise, sets N's parent node to P; and ; Judging whether N has been separated, and if so, setting a new node at NN; Determining whether there is free space in P if N is not separated, and inserting NN in P if free space exists; otherwise performing overflow processing; Setting a new node in the PP if P needs to be separated; Sets a set of parents of nodes in S, Adjusting a corresponding minimum boundary area of entries in the document; And determining whether or not P has been separated, and if so, terminating tree adjustment. 힐버트 곡선을 사용하여 n-차원 공간상의 모든 위치를 1 차원 선분상의 위치로 사상시켜 저장효율을 높이고, 색인 구조의 디렉토리 부분이 나타내는 영역이 가능한 한 실제로 데이터가 점유하는 부분을 최소로 나타내도록 최소경계간격 개념을 도입하여 색인 노드가 커버하는 데이터 영역을 가능한 한 줄임으로써, 검색 성능을 높이는 HG-트리 색인 구조를 이용하며, 정확매치검색을 통해 객체 o를 포함하는 리프노드 L을 찾는 과정과; 찾은 리프노드에 객체 o를 삭제하는 과정과; 삭제로 인해 리프노드 L이 언더플로우를 발생시키는지를 판단하여 언더플로우를 처리하는 과정과; 리프노드 L과 언더플로우 발생시 인접한 형제노드를 포함하는 집합 S를 만드는 과정과; 삭제로 인해 영향을 받은 최소경계영역을 조정하는 트리적응 과정과; 트리적응 결과 루트가 하나의 자식만 가질 경우 트리의 높이를 하나 줄이는 과정을 포함하여 이루어지는 것을 특징으로 하는 HG-트리 색인구조의 갱신을 위한 삭제 방법.Use Hilbert curves to map all locations in n-dimensional space to locations on a one-dimensional line to increase storage efficiency, and to ensure that the area represented by the directory portion of the index structure is as minimal as possible in the realm of data occupied. Introducing a concept of spacing to reduce the data area covered by the index node as much as possible, using the HG-tree index structure to improve the search performance, and finding a leaf node L including the object o through an exact match search; Deleting the object o in the found leaf node; Determining whether the leaf node L causes the underflow due to the deletion, and processing the underflow; Creating a set S comprising leaf nodes L and adjacent sibling nodes when an underflow occurs; A tree adaptation process of adjusting the minimum boundary region affected by the deletion; A method for deleting an HG-tree index structure, comprising reducing the height of the tree by one if the root has only one child as a result of tree adaptation. 제 6항에 있어서, 상기 언더플로우를 처리하는 과정은 S에 노드 N과 인접한 형제노드에 있는 모든 엔트리들을 집합 S로 모으는 단계와; S에서 객체 o를 삭제하는 단계와; 인접한 형제노드에서 데이터를 빌려오면 그 노드가 언더플로우를 발생하는가를 판단하는 단계와; 상기 판단결과 언더플로우가 발생하지 않으면 인접한 형제노드에서 엔트리를 빌려오는 단계와; 언더플로우가 발생하면 N과 인접한 두 형제노드를 결합시킨 다음, N과 형제노드가 결합된 간격을 분리하였을 때 차지하는 영역을 가장 작게 만드는 분리 위치 P를 찾는 단계와; P를 경계로 하여 두 개의 노드로 분리하는 단계를 포함하여 이루어지는 것을 특징으로 하는 HG-트리 색인구조의 갱신을 위한 삭제 방법.7. The method of claim 6, wherein processing the underflow comprises: gathering all entries in sibling nodes adjacent to node N in S as a set S; Deleting the object o from S; Determining whether the node causes an underflow when borrowing data from an adjacent sibling node; Borrowing an entry from an adjacent sibling node if the underflow does not occur as a result of the determination; Combining an adjacent sibling node with N when an underflow occurs, and then finding a separation position P that makes the area occupied the smallest when the interval between N and sibling nodes is separated; And dividing the node into two nodes with P as a boundary. 제 6항에 있어서, 상기 삭제로 인해 영향을 받은 최소경계영역을 조정하는 트리적응 과정은 N에 갱신되는 노드 L을 세트하여 초기화하는 단계와; N이 루트노드일 때까지 반복되는 N이 루트인지를 판단하여 N이 루트이면 트리적응을 종료하고, 그렇지 않으면 P에 N의 부모노드를 세트하는 단계와; N이 다른 노드와 결합되었는지를 판단하여, N이 다른 노드와 결합되었으면 P에서 N을 삭제하는 단계와; P가 언더플로우를 발생시키는지를 판단하여 언더플로우를 발생시키면 언더플로우를 처리하는 단계와;에 S에 있는 부모노드들의 집합을 세트하고,에 있는 엔트리들의 해당 최소경계영역을 조정하는 단계와; N에 P를 세트하는 단계를 포함하여 이루어지는 것을 특징으로 하는 HG-트리 색인구조의 갱신을 위한 삭제 방법.7. The method of claim 6, wherein the tree adaptation process of adjusting the minimum boundary region affected by the deletion comprises: initializing and setting a node L updated to N; Determining whether repeated N is the root until N is the root node, and ending the tree adaptation if N is the root; otherwise, setting the parent node of N to P; Determining whether N is associated with another node, and if N is associated with another node, deleting N from P; Determining whether P causes an underflow, and if the underflow occurs, processing the underflow; Sets a set of parent nodes in S, Adjusting a corresponding minimum boundary area of entries in the document; And setting P to N. 4. The method of claim 1, wherein the method comprises: setting P to N. 힐버트 곡선을 사용하여 n-차원 공간상의 모든 위치를 1 차원 선분상의 위치로 사상시켜 저장효율을 높이고, 색인 구조의 디렉토리 부분이 나타내는 영역이 가능한 한 실제로 데이터가 점유하는 부분을 최소로 나타내도록 최소경계간격 개념을 도입하여 색인 노드가 커버하는 데이터 영역을 가능한 한 줄임으로써, 검색 성능을 높이는 HG-트리 색인 구조를 이용하며, 루트노드 N을 방문하는 과정과; N이 리프노드인지 판단하는 과정과; 상기 판단 결과 리프노드이면 힐버트 값 h를 갖는 객체가 있으면 출력하고 그렇지 않으면 힐버트 값 h를 포함하는 엔트리 Ni를 찾는 과정과; h를 포함하는 Ni가 존재하는지를 판단하는 과정과; 상기 판단 결과 h를 포함하는 Ni가 존재하면 Ni를 N에 세트하고 N이 리프노드인지를 판단하는 과정으로 이행하고 그렇지 않으면 해당 객체가 존재하지 않으므로 정확매치검색을 종료하는 과정을 포함하여 이루어지는 것을 특징으로 하는 HG-트리 색인구조의 정확매치검색방법.Use Hilbert curves to map all locations in n-dimensional space to locations on a one-dimensional line to increase storage efficiency, and to ensure that the area represented by the directory portion of the index structure is as minimal as possible in the realm of data occupied. Introducing a spacing concept to reduce the data area covered by the index node as much as possible, thereby using a HG-tree index structure that improves search performance, and visiting the root node N; Determining whether N is a leaf node; If the determination result is a leaf node, outputting an object having a Hilbert value h, and otherwise finding an entry Ni including the Hilbert value h; determining whether Ni including h exists; If the determination result includes Ni that includes h, the process proceeds to setting Ni to N and determining whether N is a leaf node, or otherwise ending the exact match search since the corresponding object does not exist. Exact match search method of HG-tree index structure. 힐버트 곡선을 사용하여 n-차원 공간상의 모든 위치를 1 차원 선분상의 위치로 사상시켜 저장효율을 높이고, 색인 구조의 디렉토리 부분이 나타내는 영역이 가능한 한 실제로 데이터가 점유하는 부분을 최소로 나타내도록 최소경계간격 개념을 도입하여 색인 노드가 커버하는 데이터 영역을 가능한 한 줄임으로써, 검색 성능을 높이는 HG-트리 색인 구조를 이용하며, 루트노드 N을 방문하는 과정과; N이 리프노드인지 판단하는 과정과; 상기 판단 결과 N이 리프노드이면 질의 영역 r에 포함되는 모든 객체를 출력하여 영역검색을 종료하는 과정과; N이 리프노드가 아니면 Ni에 N에 있는 각 엔트리를 세트하는 과정과; 최소경계사각형 I가 질의 영역 r에 에 포함되는지, 겹쳐지는지, 바깥에 있는지를 검사하는 오버랩 과정과; 상기 과정의 결과에 따라 질의 영역 r이 최소경계사각형 MBR(Ni)에 포함되면 Ni에 포함되는 모든 객체를 출력하는 과정과; 오버랩 시험 수행결과 질의 영역 r과 최소경계사각형 MBR(Ni)가 겹치면, N에 Ni를 세트하고 N일 리프노드인가를 판단하는 과정으로 이행하는 과정과; Ni가 N의 마지막 엔트리인가를 판단하여 마지막 엔트리가 아니면 Ni에 N에 있는 각 엔트리를 세트하는 과정으로 이행하는 과정을 포함하여 이루어지는 것을 특징으로 하는 HG-트리 색인구조의 영역검색방법.Use Hilbert curves to map all locations in n-dimensional space to locations on a one-dimensional line to increase storage efficiency, and to ensure that the area represented by the directory portion of the index structure is as minimal as possible in the realm of data occupied. Introducing a spacing concept to reduce the data area covered by the index node as much as possible, thereby using a HG-tree index structure that improves search performance, and visiting the root node N; Determining whether N is a leaf node; If N is a leaf node, outputting all objects included in the query region r and ending the region search; Setting each entry in N to N if N is not a leaf node; An overlapping process for checking whether the minimum bounding rectangle I is included in, overlapping, or outside the query region r; Outputting all objects included in Ni when the query region r is included in the minimum bounding square MBR (Ni) according to the result of the process; When the query region r and the minimum boundary square MBR (Ni) overlap as a result of performing the overlap test, shifting to setting Ni to N and determining whether to be a N-day leaf node; Determining whether Ni is the last entry of N, and shifting to setting each entry in N in Ni if it is not the last entry. 제 10항에 있어서, 상기 최소경계사각형 I가 질의 영역 r에 에 포함되는지, 겹쳐지는지, 바깥에 있는지를 검사하는 오버랩 과정은 최소경계사각형 I가 질의 영역 r에 포함되면 포함됨을 출력하는 단계와; I가 r과 겹치지 않으면 겹치지 않음을 출력하는 단계와; I와 r이 겹치면 최소경계사각형을 같은 크기의 두 개의 최소경계사각형으로 나누는 곳에서 I의 최소경계간격을 두 개의 최소경계간격 I1,I2로 분할하는 단계와; 오버랩(최소경계 사각형 I1, r)과 오버랩(최소경계 사각형 I2, r)을 호출하는 단계와; 상기 두 오버랩 호출의 결과 둘 다 포함됨을 출력하면 포함됨을 출력하는 단계와; 상기 두 오버랩 호출의 결과 둘 다 겹치지 않음을 출력하면 겹치기 않음을 출력하고, 그렇지 않으면 겹침을 출력하는 단계를 포함하여 이루어지는 것을 특징으로 하는 HG-트리 색인구조의 영역검색방법.11. The method of claim 10, wherein the overlapping process of checking whether the minimum bounding rectangle I is included in, overlapping, or outside the query region r comprises: outputting the minimum bounding rectangle I when the minimum bounding square I is included in the query region r; Outputting not overlapping if I does not overlap with r; Dividing the minimum boundary interval of I into two minimum boundary intervals I1 and I2 where I and r overlap the minimum boundary square into two minimum boundary squares of the same size; Calling the overlap (minimum boundary rectangle I1, r) and the overlap (minimum boundary rectangle I2, r); Outputting both of the results of the two overlapping calls if they are included; Outputting a non-overlapping if both of the results of the two overlapping calls do not overlap; otherwise, outputting the overlap. 힐버트 곡선을 사용하여 n-차원 공간상의 모든 위치를 1 차원 선분상의 위치로 사상시켜 저장효율을 높이고, 색인 구조의 디렉토리 부분이 나타내는 영역이 가능한 한 실제로 데이터가 점유하는 부분을 최소로 나타내도록 최소경계간격 개념을 도입하여 색인 노드가 커버하는 데이터 영역을 가능한 한 줄임으로써, 검색 성능을 높이는 HG-트리 색인 구조를 이용하며, 현재 노드 N을 방문하여 리프노드인가를 판단하는 과정과; N이 리프노드이면 N의 모든 엔트리 Ni에 대해 질의점 P와 객체 Ni의 거리 disti를 결정하고, Nearest[k].dist에 N과 P간의 k번째로 가까운 거리를, Nearest[k].obj에 N과 P간의 k번째로 가까운 객체를 설정한 다음, 거리 disti가 Nearest[k].dist 보다 작으면 Nearest[k].dist에 disti를, Nearest[k].obj에 Ni를 지정하고, 거리순으로 최대근접이웃의 엔트리를 재배열하는 과정과; 현재 노드 N이 리프노드가 아니면, N의 모든 엔트리 Ni에 대해 질의점 P와 Ni간의 가장 가까운 거리 δlowi와 P와 Ni 간에서 객체의 존재를 보장하는 가장 가까운 거리 δhigh를 계산하고, Branchlist에 δhigh, δlowi및 Ni를 저장한 후, δlow에 따라 Branchlist의 내용을 정렬한 다음, Branchlist에 있는 것들 중에서 최대근접이웃에 있는 것들 보다 거리가 먼 것들은 제거하고, Branchlist에 있는 모든 엔트리 Ei에 대해 최대근접검색(Ei의 자식노드, P, Nearest)을 재귀적으로 호출하여, Branchlist에 있는 것들 중에서 거리가 먼 것 들을 제거하여 Branchlist에 있는 모든 엔트리 Ei를 배열하는 과정을 포함하여 이루어지는 것을 특징으로 하는 HG-트리 색인구조의 최대근접검색방법.Use Hilbert curves to map all locations in n-dimensional space to locations on a one-dimensional line to increase storage efficiency, and to ensure that the area represented by the directory portion of the index structure is as minimal as possible in the realm of data occupied. Introducing a spacing concept to reduce the data area covered by the index node as much as possible, using the HG-tree index structure to improve the search performance, and visiting the node N to determine whether it is a leaf node; If N is a leaf node, the distance disti of the query point P and the object Ni is determined for all entries Ni of N, and the kth closest distance between N and P to Nearest [k] .dist is set to Nearest [k] .obj. After setting the kth closest object between N and P, if the distance disti is less than Nearest [k] .dist, specify disti in Nearest [k] .dist and Ni for Nearest [k] .obj. Rearranging entries of maximum neighbors; If the current node N is not a leaf node, for all entries Ni of N, the closest distance δ lowi between the query points P and Ni is calculated, and the closest distance δ high that guarantees the existence of the object between P and Ni, After storing δ high , δ lowi, and Ni, sort the contents of the Branchlist according to δ low , and then remove any of those in the Branchlist that are farther than those in the nearest neighbor, and remove all entries Ei in the Branchlist. And recursively calling the maximum proximity search (child node, P, Nearest) of Ei, and removing all the distances from those in Branchlist to arrange all entries Ei in Branchlist. Maximum proximity search of HG-tree index structure.
KR1019960065570A 1996-12-13 1996-12-13 Hg-tree index structure and method of inserting and deleting and searching it KR100233365B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960065570A KR100233365B1 (en) 1996-12-13 1996-12-13 Hg-tree index structure and method of inserting and deleting and searching it

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960065570A KR100233365B1 (en) 1996-12-13 1996-12-13 Hg-tree index structure and method of inserting and deleting and searching it

Publications (2)

Publication Number Publication Date
KR19980047127A KR19980047127A (en) 1998-09-15
KR100233365B1 true KR100233365B1 (en) 1999-12-01

Family

ID=19487775

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960065570A KR100233365B1 (en) 1996-12-13 1996-12-13 Hg-tree index structure and method of inserting and deleting and searching it

Country Status (1)

Country Link
KR (1) KR100233365B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101001844B1 (en) 2008-06-13 2010-12-17 전북대학교산학협력단 System and method for genrating cloaking area to cloak position inforamtion of user in location based service
KR101050017B1 (en) 2008-11-25 2011-07-19 제주대학교 산학협력단 Apparatus and Method for Processing Sequential Domain Queries in Multidimensional Point Access Method
US8843525B2 (en) 2011-06-07 2014-09-23 Samsung Electronics Co., Ltd. Apparatus and method for calculating the selectivity of a range query for multidimensional data

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6122628A (en) * 1997-10-31 2000-09-19 International Business Machines Corporation Multidimensional data clustering and dimension reduction for indexing and searching
KR100429792B1 (en) * 2000-11-15 2004-05-03 삼성전자주식회사 Indexing method of feature vector space and retrieval method
KR100726300B1 (en) * 2001-03-02 2007-06-13 자프 아게 Method for compressing multi-dimensional Index in mail memory database
KR100791629B1 (en) * 2006-06-20 2008-01-04 고려대학교 산학협력단 Method for searching nearest neighbor of mobile objects, recording medium thereof, Apparatus for searching nearest neighbor of mobile objects and System thereof
KR100807995B1 (en) * 2006-07-25 2008-02-28 전북대학교산학협력단 Hilbert space filling curve generating method and geographic information providing apparatus and system using that
KR100954743B1 (en) * 2008-04-30 2010-04-23 고려대학교 산학협력단 method for generating and receiving wireless broadcasting stream for processing range queries
JP5774213B2 (en) * 2011-06-08 2015-09-09 ネイバー コーポレーションNAVER Corporation Method and apparatus for splitting nodes of multiple search trees based on cumulative moving average
CN110659286B (en) * 2019-09-05 2023-11-24 苏州大学 Dynamic space index method based on weakly balanced space tree and storage medium and device thereof

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101001844B1 (en) 2008-06-13 2010-12-17 전북대학교산학협력단 System and method for genrating cloaking area to cloak position inforamtion of user in location based service
KR101050017B1 (en) 2008-11-25 2011-07-19 제주대학교 산학협력단 Apparatus and Method for Processing Sequential Domain Queries in Multidimensional Point Access Method
US8843525B2 (en) 2011-06-07 2014-09-23 Samsung Electronics Co., Ltd. Apparatus and method for calculating the selectivity of a range query for multidimensional data

Also Published As

Publication number Publication date
KR19980047127A (en) 1998-09-15

Similar Documents

Publication Publication Date Title
Pfoser et al. Novel approaches to the indexing of moving object trajectories.
Bentley et al. Data structures for range searching
Mokbel et al. Spatio-temporal access methods
KR100233365B1 (en) Hg-tree index structure and method of inserting and deleting and searching it
Henrich et al. The LSD tree: spatial access to multidimensional point and non-point objects
Beckmann et al. A revised R*-tree in comparison with related index structures
US5781906A (en) System and method for construction of a data structure for indexing multidimensional objects
KR101117709B1 (en) A method for multi-dimensional histograms using a minimal skew cover in a space partitioning tree and recording medium storing program for executing the same
KR100284778B1 (en) Insertion method of high dimensional index structure for content-based image retrieval
Balasubramanian et al. A state-of-art in R-tree variants for spatial indexing
Chen et al. A sampling-based estimator for top-k selection query
Ooi Spatial kd-tree: A data structure for geographic database
EP1207464A2 (en) Database indexing using a tree structure
KR20020044029A (en) Method for bulkloading of high-dementional index structure
CN113407669B (en) Semantic track query method based on activity influence
JP3938815B2 (en) Node creation method, image search method, and recording medium
KR20010109665A (en) Multi-Path Index Method for The Efficient Retrieval of XML Data
CN114791942B (en) Spatial text density clustering retrieval method
Panagopoulou A NEW APPROACH TO SPATIAL DATA STRUCTURES: EVALUATION AND REDEFINITION OF THEIR PROPERTIES Georgia Panagopoulou, Spiros Sirmakessis, Athanasios Tsakalidis
Srividhya et al. Comparative analysis of r-tree and r-tree in spatial database
Slimani et al. Voronoi-neighboring regions tree for efficient processing of location dependent queries
KR101104448B1 (en) Transitive NN Query Processing Method In The Wireless Broadcasting System
Nugroho et al. Indexing Voronoi cells using quadtree in spatial database
Dua et al. Managing Spatiotemporal Data
JP2002073390A (en) Recording medium in which multi-dimensional spatial data structure is recorded, method of updating multi- dimension spatial data, method of searching multi- dimensional spatial data, and recording medium in which program for performing the methods are recorded

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20030829

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee