KR20090108952A - 궤적 데이터의 인덱싱 방법 및 그 방법을 이용하는 장치 - Google Patents

궤적 데이터의 인덱싱 방법 및 그 방법을 이용하는 장치 Download PDF

Info

Publication number
KR20090108952A
KR20090108952A KR1020080034314A KR20080034314A KR20090108952A KR 20090108952 A KR20090108952 A KR 20090108952A KR 1020080034314 A KR1020080034314 A KR 1020080034314A KR 20080034314 A KR20080034314 A KR 20080034314A KR 20090108952 A KR20090108952 A KR 20090108952A
Authority
KR
South Korea
Prior art keywords
index
index structure
time
spatial
line segments
Prior art date
Application number
KR1020080034314A
Other languages
English (en)
Other versions
KR100963352B1 (ko
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 KR20080034314A priority Critical patent/KR100963352B1/ko
Publication of KR20090108952A publication Critical patent/KR20090108952A/ko
Application granted granted Critical
Publication of KR100963352B1 publication Critical patent/KR100963352B1/ko

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
    • 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/2246Trees, e.g. B+trees
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

궤적 데이터의 인덱싱 방법 및 그 방법을 이용하는 장치가 제공된다. 본 발명의 인덱싱 장치는 복수의 시간 구간들을 설정하는 시간 구간 설정부, 객체의 이동 정보를 공간 좌표 및 시간 척도를 이용하여 표시하는 시공간 데이터를 포함하는 라인 세그먼트들을, 상기 라인 세그먼트들 각각이 포함되는 시간 구간 - 상기 시간 구간은 상기 설정된 복수의 시간 구간들 중 어느 하나 - 에 따라 구분하는 시간 구간 식별부 및 상기 설정된 복수의 시간 구간들 각각에 포함되는 라인 세그먼트들로부터 상기 설정된 복수의 시간 구간들 각각에 대응하는 인덱스 구조를 생성하는 인덱스 생성부를 포함하며, 이를 통해 대용량 궤적 데이터에 대한 영역 질의를 효과적으로 처리할 수 있다.
궤적 데이터, 영역 질의, 인덱싱 방법, 인덱스

Description

궤적 데이터의 인덱싱 방법 및 그 방법을 이용하는 장치 {INDEXING METHOD OF TRAJECTORY DATA AND APPARATUS USING THE METHOD}
본 발명은 궤적 데이터(trajectory data)의 인덱싱 방법에 관한 것으로서, 특히 대용량 궤적 데이터에 대한 영역 질의(range query) 성능을 향상시키는 인덱싱 방법 및 그 방법을 이용하는 인덱싱 장치에 관한 것이다.
최근 휴대폰 및 개인용 디지털 단말기(portable digital assistant, PDA) 등의 휴대 가능한 이동 단말기의 확산과 통신 기술의 발달로 인하여 이동하는 객체(object)의 시간 흐름에 따른 공간적 위치 정보를 활용하는 다양한 서비스들이 제공되고 있다. 객체의 시간 흐름에 따른 공간적 위치 정보는 시공간 데이터(spatio-temporal data)로 나타내어질 수 있다. 시공간 데이터는 공간 좌표(spatial coordinate) 및 시간 척도(time parameter)를 포함하는 데이터를 의미한다. 예를 들어, 공간 좌표가 (x, y)이고 시간 척도가 t인 경우 시공간 데이터는 (x, y, t)로 나타내어질 수 있다. 2차원 공간 좌표 (x, y)와 시간 척도 t가 결합된 시공간 데이터 (x, y, t)는 3차원의 시공간 상의 한 점을 나타낼 수 있다.
객체들의 이동 경로는 시공간 상에서 주어지는 라인 세그먼트(line segment) 들의 집합으로 표현될 수 있으며, 상기 표현된 라인 세그먼트들의 집합을 궤적(trajectory)이라 한다. 시스템은 이동하는 객체들의 궤적 정보에 기초하여 객체들의 위치를 추적할 수 있고, 도로 정보 및 차량 정보와 결합하여 이동 객체의 사용자의 행동 패턴을 파악할 수도 있다. 시스템은 상기 파악된 사용자의 행동 패턴을 비즈니스 마케팅에 이용할 수도 있다.
이동 객체에 대한 사용자 질의(user query)로는 미래 예측 질의(future query) 및 과거 이력 질의(historical query) 등이 있을 수 있다. 미래 예측 질의는 이동 객체의 미래 위치를 예측하여 검색하는 질의이고, 과거 이력 질의는 이동 객체가 과거에 움직인 위치를 검색하는 질의이다. 미래 예측 질의는 이동 객체의 현재 위치로부터 이동 속도 및 이동 방향을 이용하여 이동 객체의 미래 위치를 예측할 수 있다.
과거 이력 질의에는 영역 질의(range query), 궤적 질의(trajectory query), 복합 질의(complex query) 등이 있을 수 있다. 영역 질의는 주어진 질의 영역 내에 존재하는 이동 객체를 검색하는 질의이고, 궤적 질의는 주어진 시간 구간 동안에 이동 객체가 움직인 경로를 검색하는 질의이다. 복합 질의는 영역 질의 및 궤적 질의가 결합된 형태로서 주어진 시간 간격 동안 특정 영역에 위치했던 이동 객체의 궤적을 검색하는 질의이다.
본 발명의 인덱싱 방법 및 장치는 대용량 궤적 데이터베이스에서 영역 질의를 효과적으로 처리하는 것을 목적으로 한다.
본 발명의 인덱싱 방법 및 장치는 최근 시간 구간에 대한 영역 질의에 효과적으로 대응하는 것을 목적으로 한다.
본 발명의 인덱싱 방법 및 장치는 이동 객체의 분포의 변화에도 일정한 검색 성능을 제공하는 것을 목적으로 한다.
상기의 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 인덱싱 장치는 시간 구간 설정부, 시간 구간 식별부 및 인덱스 생성부를 포함할 수 있다. 상기 시간 구간 설정부는 복수의 시간 구간들을 설정한다. 상기 시간 구간 식별부는 라인 세그먼트들을 상기 라인 세그먼트들 각각이 포함되는 시간 구간에 따라 구분한다. 상기 라인 세그먼트는 객체의 이동 정보를 공간 좌표 및 시간 척도를 이용하여 표시하는 시공간 데이터(spatio-temporal data)를 포함한다. 상기 인덱스 생성부는 상기 설정된 복수의 시간 구간들 각각에 포함되는 라인 세그먼트들로부터 상기 설정된 복수의 시간 구간들 각각에 대응하는 인덱스 구조를 생성한다.
본 발명의 다른 실시예에 따른 인덱싱 장치는 라인 세그먼트 생성부, 삽입 연산부 및 제어부를 포함할 수 있다. 상기 라인 세그먼트 생성부는 객체의 이동 정보를 공간 좌표 및 시간 척도를 이용하여 표시하는 시공간 데이터를 포함하는 라 인 세그먼트를 생성한다. 상기 삽입 연산부는 상기 생성된 라인 세그먼트를 제1 인덱스 구조에 삽입하고, 상기 삽입된 라인 세그먼트의 시간 척도를 이용하여 상기 제1 인덱스 구조의 시간 척도를 업데이트한다. 상기 제어부는 상기 제1 인덱스 구조에 포함된 라인 세그먼트의 수를 임계치와 비교하여 제2 인덱스 구조를 생성할 지 여부를 결정한다.
본 발명의 또 다른 실시예에 따른 인덱싱 방법은 복수의 시간 구간들을 설정하는 단계, 객체의 이동 정보를 공간 좌표 및 시간 척도를 이용하여 표시하는 시공간 데이터를 포함하는 라인 세그먼트들을 생성하는 단계, 상기 생성된 라인 세그먼트들을, 상기 생성된 라인 세그먼트들 각각이 포함되는 시간 구간 - 상기 시간 구간은 상기 설정된 복수의 시간 구간들 중 어느 하나 - 에 따라 구분하는 단계 및 상기 설정된 복수의 시간 구간들 각각에 포함되는 라인 세그먼트들로부터 상기 설정된 복수의 시간 구간들 각각에 대응하는 인덱스 구조를 생성하는 단계를 포함할 수 있다.
본 발명의 또 다른 실시예에 따른 인덱싱 방법은 객체의 이동 정보를 공간 좌표 및 시간 척도를 이용하여 표시하는 시공간 데이터를 포함하는 라인 세그먼트를 생성하는 단계, 상기 생성된 라인 세그먼트를 제1 인덱스 구조에 삽입하는 단계, 상기 삽입된 라인 세그먼트의 시간 척도를 이용하여 상기 제1 인덱스 구조의 시간 척도를 업데이트하는 단계 및 상기 제1 인덱스 구조에 포함된 라인 세그먼트의 수를 임계치와 비교하여 제2 인덱스 구조를 생성할 지 여부를 결정하는 단계를 포함할 수 있다.
본 발명의 인덱싱 방법 및 장치에 따르면 대용량 궤적 데이터베이스에서 영역 질의를 효과적으로 처리할 수 있다.
본 발명의 인덱싱 방법 및 장치는 복수의 시간 구간을 설정함으로써 최근 시간 구간에 대한 영역 질의에 효과적으로 대응할 수 있다.
본 발명의 인덱싱 방법 및 장치는 설정된 공간을 분할하고, 분할된 공간에 이동 객체의 수가 균등하게 분포되도록 함으로써 이동 객체의 분포의 변화에도 일정한 검색 성능을 제공할 수 있다.
이하에서, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
본 명세서에서 설명되는 시공간 데이터(spatio-temporal data)는 2차원 공간, 즉 평면 상의 이동 및 시간 경과를 기술하는 경우를 예로 들어 설명된다. 그러나 해당 분야의 지식을 갖춘 종사자라면 본 명세서 상의 설명으로부터 보다 높은 차원으로 확장되는 경우 또는 보다 낮은 차원에 적용되는 경우의 인덱싱 방법 및 시스템에 대해서 용이하게 유추할 수 있을 것이다.
2차원 공간 및 시간 차원을 나타내는 시공간 데이터는 (x, y, t)의 3차원 데이터로 나타내어진다. 일반적으로, L차원 공간 및 시간 차원을 나타내는 시공간 데이터는 (L+1) 차원 시공간 데이터로 나타내어진다.
도 1은 본 발명의 일 실시예에 따른 인덱싱 방법에서 이용되는 인덱스 구조를 도시하는 도면이다.
도 1을 참조하면, 시간 인덱스 테이블(100)은 시간 구간들 각각에 대한 인덱스의 구성 정보를 저장한다. 시간 인덱스 테이블(100)은 시간 구간 t0(101)에 대하여 인덱스 I0(110)의 구성 정보를 저장하고, 시간 구간 t1(102)에 대하여 인덱스 I1(120)의 구성 정보를 저장한다. 시간 인덱스 테이블에 저장되는 정보는 각 인덱스가 메인 메모리 또는 스토리지 장치에 저장되는 경우에 메인 메모리 또는 스토리지 장치 상의 위치 정보를 포함할 수 있다.
시간 구간 t0(101)에 대응하는 인덱스 I0(110)는 2차원 공간 상의 객체의 이동을 나타내는 궤적(trajectory)을 포함한다. 이 때, 인덱싱 방법은 x와 y로 표시되는 2차원 공간을 m개의 서브 공간 영역(또는 셀 영역)으로 분할할 수 있다. 인덱스 I0(110)가 나타내는 2차원 공간은 4개의 서브 공간 영역으로 분할되며, 각 서브 공간 영역은 대응하는 인덱스 구조(111, 112, 113, 114)를 가진다.
인덱스 I0(110) 또는 인덱스 I1(120)는 2차원 트리 구조 또는 해시 테이블(hash table)로 구현될 수 있다. 인덱스 I0(110) 또는 인덱스 I1(120)는 시공간 데이터 (x, y, t)에 대응하는 서브 공간 영역 내에 존재하는 라인 세그먼트들로 구축된 3차원 R* 트리 인덱스의 저장 위치를 엔트리로 가질 수 있다. 3차원 R* 트리는 서브 공간 영역 내의 라인 세그먼트들에 대한 궤적 식별자와 세그먼트 식별자를 엔트리로 가질 수 있다.
인덱스 I0(110) 또는 인덱스 I1(120)는 k개의 라인 세그먼트들을 포함할 수 있다. 이동 객체의 궤적을 구성하는 라인 세그먼트들은 수집된 시간 순서대로 인덱스 구조에 삽입될 수 있다. 인덱스 I0(110)에 k개의 라인 세그먼트들이 삽입된 후에 인덱싱 방법은 다음 인덱스 I1(120)를 생성하고, 추가로 수집되는 라인 세그먼트들을 인덱스 I1(120)에 삽입할 수 있다. 마찬가지 방법으로 시간 구간 tn -1(103)에 대응하는 인덱스 구조 In -1(130)에 k개의 라인 세그먼트들이 삽입된 후에 인덱싱 방법은 다음 인덱스 시간 구간 tn(104)에 대응하는 인덱스 구조 In(140)를 생성할 수 있다. 인덱싱 방법은 이와 같은 방법으로 시간 구간들 각각에 대응하는 인덱스 구조를 생성할 수 있다.
인덱싱 방법은 라인 세그먼트들을 시간에 따라 분류하고, 시간 구간들 각각에 포함되는 라인 세그먼트들을 다시 공간에 따라 분류할 수 있다. 인덱싱 방법은 최상위 계층에서 시간에 따라 라인 세그먼트들을 분류함으로써 현재 이동 중인 객체에 대한 라인 세그먼트는 마지막 시간 구간에 대응하는 인덱스 구조에 삽입될 수 있다.
일반적으로 영역 질의의 검색 대상이 되는 라인 세그먼트는 현재 수집되는 라인 세그먼트 또는 최근에 처리가 완료된 라인 세그먼트일 가능성이 높다. 본 발명의 실시예들에 따른 인덱싱 방법은 마지막 시간 구간에 대응하는 인덱스 구조에 대한 접근을 용이하게 함으로써 영역 질의에 대한 검색 비용을 줄일 수 있다. 또한 본 발명의 실시예들에 따른 인덱싱 방법은 수집되는 라인 세그먼트들을 시간에 따라 분류하고 다시 이를 공간(서브 공간 영역)에 따라 분류함으로써 영역 질의에 대하여 검색된 라인 세그먼트들 중에서 중복되는 정보를 여과하는 비용을 최소화하거나 제거할 수 있다.
인덱싱 방법은, 삽입 연산이 접근할 수 있는 마지막 시간 구간 tn(104)에 대응하는 인덱스 구조 In(140)를 메인 메모리(도시되지 않음)에 저장하고 인덱스 구조 In(140)를 제외한 나머지 인덱스 구조들은 스토리지 장치(도시되지 않음)에 저장할 수 있다. 일반적으로 메인 메모리에 대한 접근 시간은 스토리지 장치에 대한 접근 시간보다 작으므로 인덱싱 방법은 마지막 시간 구간 tn(104)에 대응하는 인덱스 구조 In(140)에 대한 검색을 신속하게 수행할 수 있다. 영역 질의의 검색 대상이 되는 라인 세그먼트는 마지막 시간 구간 tn(104)에 포함될 가능성이 높으므로 인덱싱 방법은 영역 질의의 검색 시간을 단축할 수 있다.
인덱싱 방법은 메인 메모리의 크기에 기초하여 인덱스 구조 In(140)이 저장할 수 있는 라인 세그먼트의 수 k를 결정할 수 있다. 인덱싱 방법은 인덱스 구조 In(140)이 나타내는 2차원 공간을 m개의 서브 공간 영역으로 분할할 수 있다. 인덱스 구조 In(140)는 시공간 데이터 (x, y, t)에 대응하는 서브 공간 영역 내에 존재 하는 라인 세그먼트들로 구축된 3차원 R* 트리 인덱스의 저장 위치를 엔트리로 가질 수 있고, 각 서브 공간 마다 서브 인덱스를 가지는 다중 인덱스 구조(multilevel multiple indices)이다. 인덱싱 방법은, 분할된 각 서브 공간 영역은 (k/m) 개의 라인 세그먼트를 저장할 수 있도록 하는 비균일 공간 영역 분할(셀 영역 분할)을 지원한다. 이 때 인덱싱 방법은 전체 공간 영역에 대한 분할 정보를 2차원 트리 구조를 이용하여 관리할 수 있다.
인덱싱 방법은 각 서브 공간 영역에 포함되는 라인 세그먼트들의 수가 균일하도록 공간 영역을 서브 공간 영역으로 분할함으로써 특정 공간 영역에 이동 객체가 집중되는 경우에도 서브 공간 영역마다 검색 부하를 균등하게 배분할 수 있다.
인덱싱 방법은 분할된 서브 공간 영역마다 상대적으로 작은 크기를 가지는 3차원 R 트리를 생성할 수 있다. 인덱싱 방법은 상기 생성된 3차원 R 트리를 이용하여 서브 공간 영역 각각에 대한 검색 성능을 향상시킬 수 있다.
인덱싱 방법의 삽입 연산은 다음과 같이 수행될 수 있다. 삽입 연산은 수집된 라인 세그먼트를 마지막 시간 구간 tn(104)에 대응하는 인덱스 구조 In(140)에 삽입할 수 있다. 인덱싱 방법은 인덱스 구조 In(140)에 대해서는 삽입 연산 및 검색 연산을 수행할 수 있다.
인덱싱 방법은 마지막 시간 구간 tn(104)에 대응하는 인덱스 구조 In(140)를 제외한 나머지 인덱스 구조들에 대해서는 삽입 연산을 수행하지 않을 수 있다. 인덱싱 방법은 상기 나머지 인덱스 구조들에 대해서는 검색 연산을 수행할 수 있다.
삽입 연산은 라인 세그먼트 및 인덱스 구조에 저장될 수 있는 라인 세그먼트의 최대 개수 k를 입력 받을 수 있다. 삽입 연산은 3차원 R* 트리 구조를 이용하여 구성되는 현재 인덱스 current-index 및 이전 인덱스 prev-index를 출력하고, 공간 분할 정보를 관리하는 2차원 트리 구조 및 시간 인덱스 테이블(100)을 출력할 수 있다. 삽입 연산의 초기화 과정은 새로운 인덱스 구조를 current-index로서 생성할 수 있다.
current-index 내의 라인 세그먼트의 수가 k보다 작으면 인덱싱 방법은 라인 세그먼트를 current-index에 삽입할 수 있다. 삽입 연산은 현재 시간 구간의 최소 시간 및 최대 시간 정보를 유지하기 위해 이동 객체의 라인 세그먼트의 시간 정보를 이용할 수 있다. 삽입 연산은 상기 이동 객체의 라인 세그먼트의 시간 정보를 이용하여 현재 시간 구간의 최대 시간 정보를 갱신할 수 있다. 삽입 연산은 상기 이동 객체의 라인 세그먼트를 current-index에 할당된 저장 영역에 저장하고, current-index 내의 라인 세그먼트의 수를 1만큼 증가시킬 수 있다.
current-index 내의 라인 세그먼트의 수가 k보다 크거나 같고 n이 2보다 크면 인덱싱 방법은 메인 메모리 상의 current-index를 prev-index로서 스토리지 장치에 저장하고, 새로운 인덱스 구조를 current-index로서 생성할 수 있다.
인덱싱 방법은 새로운 current-index에 대응하는 공간 영역을 m개의 셀 영역으로 분할하고, 상기 분할된 셀 영역 각각에 대하여 대한 정보를 2차원 트리에 저장할 수 있다. 인덱싱 방법은 시간 인덱스 테이블(100)의 엔트리에 2차원 트리에 삽입된 라인 세그먼트들의 최소 시간 및 최대 시간을 저장할 수 있다. 이 때 인덱 싱 방법은 상기 2차원 트리가 저장된 스토리지 장치 또는 메인 메모리 내의 주소 정보를 저장할 수 있다.
인덱싱 방법은 새로운 current-index의 셀 영역 각각에 대하여 3차원 R* 트리를 생성하고, 상기 생성된 3차원 R* 트리에 라인 세그먼트를 저장할 수 있다.
도 2는 도 1의 시간 인덱스 테이블(100)을 이용하는 인덱싱 방법의 일 예를 도시하는 동작 흐름도이다.
도 2를 참조하면, 인덱싱 방법은 객체의 이동 정보를 공간 좌표 및 시간 척도(time parameter)를 이용하여 표시하는 시공간 데이터(spatio-temporal data)를 포함하는 라인 세그먼트를 생성한다(S210).
인덱싱 방법은 상기 생성된 라인 세그먼트를 인덱스 구조에 삽입한다(S220).
인덱싱 방법은 상기 삽입된 라인 세그먼트의 시간 척도를 이용하여 상기 인덱스 구조의 시간 척도를 업데이트한다(S230).
인덱싱 방법은 상기 인덱스 구조에 포함된 라인 세그먼트의 수를 임계치 k와 비교한다(S240). 인덱싱 방법은 상기 인덱스 구조에 포함된 라인 세그먼트의 수가 k보다 작은지 여부를 판정할 수 있다. 인덱싱 방법은 단계(S240)의 비교 결과를 이용하여 새로운 인덱스 구조를 생성할 지 여부를 결정할 수 있다.
인덱싱 방법은 상기 인덱스 구조에 포함된 라인 세그먼트의 수가 k보다 작으면 단계(S210)를 다시 수행한다.
인덱싱 방법은 상기 인덱스 구조에 포함된 라인 세그먼트의 수가 k보다 크거나 같으면 인덱스 구조를 스토리지 장치에 저장한다(S250).
인덱싱 방법은 스토리지 장치에 저장된 인덱스 구조에 대신하여 새로운 인덱스 구조를 생성한다(S260). 인덱싱 방법은 새로운 인덱스 구조를 메인 메모리에 저장할 수 있다.
인덱싱 방법은 새로운 인덱스 구조가 생성되면 상기 새로운 인덱스 구조에 단계(S220)에서 생성되는 라인 세그먼트를 삽입할 수 있다.
인덱싱 방법은 메인 메모리의 크기에 기초하여 상기 임계치 k를 설정할 수 있다. 인덱싱 방법은 공간 좌표에 의하여 표현되는 전체 공간을 복수의 공간 셀들로 분할할 수 있다. 인덱싱 방법은 새로운 인덱스 구조가 상기 분할된 공간 셀들 각각에 대응하는 서브 인덱스를 포함하도록 상기 새로운 인덱스 구조를 생성할 수 있다.
도 3은 본 발명의 다른 실시예에 따른 인덱싱 방법을 도시하는 동작 흐름도이다.
도 3을 참조하면, 인덱싱 방법은 복수의 시간 구간들을 설정한다(S310).
인덱싱 방법은 객체의 이동 정보를 공간 좌표 및 시간 척도를 이용하여 표시하는 시공간 데이터를 포함하는 라인 세그먼트들을 생성한다(S320).
인덱싱 방법은 상기 생성된 라인 세그먼트들을, 상기 생성된 라인 세그먼트들 각각이 포함되는 시간 구간에 따라 구분한다(S330). 이 때 상기 시간 구간은 단계(S310)에서 설정된 복수의 시간 구간들 중 어느 하나이다.
인덱싱 방법은 상기 설정된 복수의 시간 구간들 각각에 포함되는 라인 세그먼트들로부터 상기 설정된 복수의 시간 구간들 각각에 대응하는 인덱스 구조를 생 성한다(S340).
예를 들어 단계(S310)에서 인덱싱 방법은 제1 시간 구간, 제2 시간 구간 및 제3 시간 구간을 설정할 수 있다.
인덱싱 방법은 생성된 라인 세그먼트들 각각의 시간 척도에 기초하여 라인 세그먼트들 각각이 상기 제1 시간 구간, 상기 제2 시간 구간 또는 상기 제3 시간 중 어느 시간 구간에 포함되는지 판단할 수 있다(S330). 인덱싱 방법은 상기 제1 시간 구간에 포함되는 라인 세그먼트들을 수집하여 상기 제1 시간 구간에 대응하는 인덱스 구조를 생성할 수 있다(S340). 마찬가지로 인덱싱 방법은 상기 제2 시간 구간에 포함되는 라인 세그먼트들을 수집하여 상기 제1 시간 구간에 대응하는 인덱스 구조를 생성할 수 있다(S340).
인덱싱 방법은 상기 설정된 복수의 시간 구간들 중 현재 시간에 가장 가까운 시간 구간을 제1 시간 구간으로 설정하고, 상기 제1 시간 구간에 대응하는 인덱스 구조를 메인 메모리에 저장할 수 있다. 메인 메모리는 스토리지 장치에 비해 짧은 접근 시간을 가지므로 인덱싱 방법은 현재 시간에 가장 가까운 상기 제1 시간 구간에 대응하는 인덱스 구조에 대한 영역 질의 검색 시간을 단축할 수 있다.
인덱싱 방법은 상기 제1 시간 구간을 제외한 상기 제2 시간 구간에 대응하는 인덱스 구조 및 상기 제3 시간 구간에 대응하는 인덱스 구조를 스토리지 장치에 저장할 수 있다. 인덱싱 방법은 추가적으로 생성되는 라인 세그먼트를 상기 제1 시간 구간에 삽입할 수 있다. 인덱싱 방법은 상기 추가적으로 생성되는 라인 세그먼트를 상기 제1 시간 구간에 대응하는 인덱스 구조를 제외한 나머지 인덱스 구조에 는 삽입하지 않을 수 있다.
도 8은 상기 도 3의 단계(S340)의 일 예를 보다 상세히 도시하는 동작 흐름도이다.
도 8을 참조하면, 인덱싱 방법은 공간 좌표에 의하여 표현되는 전체 공간을 복수의 공간 셀들로 분할한다(S810).
인덱싱 방법은 상기 분할된 공간 셀들 각각에 대응하는 서브 인덱스를 생성한다(S820).
인덱싱 방법은 상기 생성된 서브 인덱스를 포함하는 인덱스 구조를 생성한다(S830). 이 때 상기 생성된 서브 인덱스 구조는 3차원 시공간 데이터 (x, y, t)를 저장하기 위한 3차원 R* 트리 구조일 수 있다. 상기 생성된 인덱스 구조는 상기 공간 셀들의 분할 정보를 포함하는 2차원 트리 구조일 수 있다.
인덱싱 방법은, 단계(S810)에서, 상기 복수의 공간 셀들 각각이 동일하거나 거의 동일한 개수의 라인 세그먼트들을 포함하도록 상기 전체 공간을 상기 복수의 공간 셀들로 분할할 수 있다. 이 때 인덱싱 방법은 상기 복수의 공간 셀들 각각이 동일하거나 거의 동일한 개수의 라인 세그먼트들을 포함하도록 함으로써 영역 질의 검색 시 특정 공간 셀에 대한 계산 부하의 집중을 방지할 수 있다.
도 7은 도 2 또는 도 3의 인덱싱 방법에 의하여 생성된 인덱스 구조에 대한 검색 방법을 도시하는 동작 흐름도이다.
도 7을 참조하면, 검색 방법은 입력 받은 질의의 시간 구간에 포함되는 시간 구간들에 대응하는 인덱스 구조를 선택한다(S710).
검색 방법은 상기 선택된 인덱스 구조로부터 상기 질의의 공간 영역에 중첩되는 공간 좌표를 가지는 라인 세그먼트들을 검색한다(S720).
검색 방법은 도 2 또는 도 3의 인덱싱 방법에 의하여 생성된 인덱스 구조에 대한 영역 질의 검색을 수행할 수 있다. 검색 방법의 검색 대상이 되는 인덱스 구조는 마지막 시간 구간 tn에 대응하는 current-index, 시간 구간 tn -1에 대응하는 prev-index, 시간 구간 t0부터 시간 구간 tn -2의 시간 구간들에 대응하는 disk-index일 수 있다. 상기 인덱스 구조 current-index, prev-index 및 disk-index는 3차원 R* 트리 구조를 이용하여 구현될 수 있고, 상기 인덱스 구조 current-index, prev-index 및 disk-index의 시간 구간에 대한 정보는 시간 인덱스 테이블에 저장될 수 있다.
상기 인덱스 구조는 2차원 공간 영역을 나타내는 공간 좌표를 포함할 수 있다. 각 인덱스 구조는 2차원 공간 영역을 분할한 셀 영역에 대응하는 서브 인덱스를 포함할 수 있고, 각 서브 인덱스는 공간 분할 정보를 저장하는 2차원 트리일 수 있다.
검색 방법은 상기 인덱스 구조, 시간 인덱스 테이블, 서브 인덱스 및 질의 Q를 입력 받을 수 있다. 검색 방법은 상기 입력에 응답하여 질의 Q를 만족하는 결과 집합 A를 출력할 수 있다.
검색 방법은 시간 인덱스 테이블로부터 주어진 질의 Q의 시간 구간에 포함되는 2차원 트리를 선택할 수 있다. 검색 방법은 질의 Q의 시간 구간이 prev-index 의 시간 구간에 대응하면 메인 메모리에 저장된 prev-index를 검색할 수 있고, 질의 Q의 시간 구간이 current-index의 시간 구간에 대응하면 current-index를 검색할 수 있다.
검색 방법은 질의 Q의 시간 구간이 prev-index의 시간 구간의 최소 시간보다 작으면 상기 선택된 2차원 트리에서 질의 Q의 공간 영역과 중첩되는 셀 영역을 검색할 수 있다. 검색 방법은 상기 검색된 셀 영역에 대응하는 disk-index를 검색할 수 있다. 질의 Q의 공간 영역과 중첩되는 셀 영역이 복수인 경우, 검색 방법은 상기 검색된 셀 영역 각각에 대하여 상기 검색 과정을 수행할 수 있다.
도 4는 도 3의 인덱싱 방법을 수행하는 인덱싱 장치(400)의 일 예를 도시하는 블록도이다.
도 4를 참조하면, 인덱싱 장치(400)는 시간 구간 설정부(410), 시간 구간 식별부(420), 인덱스 생성부(430)를 포함한다.
시간 구간 설정부(410)는 복수의 시간 구간들을 설정한다.
시간 구간 식별부(420)는 라인 세그먼트들을, 상기 라인 세그먼트들 각각이 포함되는 시간 구간에 따라 구분한다. 라인 세그먼트들 각각은 객체의 이동 정보를 공간 좌표 및 시간 척도를 이용하여 표시하는 시공간 데이터를 포함할 수 있다. 시간 구간은 상기 설정된 복수의 시간 구간들 중 어느 하나일 수 있다.
인덱스 생성부(430)는 상기 설정된 복수의 시간 구간들 각각에 포함되는 라인 세그먼트들로부터 상기 설정된 복수의 시간 구간들 각각에 대응하는 인덱스 구조를 생성한다. 인덱스 생성부(430)는 상기 설정된 복수의 시간 구간들에 따라 구 분된 라인 세그먼트들을 상기 설정된 복수의 시간 구간들 별로 분류할 수 있다. 인덱스 생성부(430)는 상기 설정된 복수의 시간 구간들 각각에 대하여 분류된 라인 세그먼트들을 수집하고, 상기 수집된 라인 세그먼트들로부터 인덱스 구조를 생성할 수 있다.
도 5는 도 3의 인덱싱 방법을 수행하는 인덱싱 장치(500)의 다른 예를 도시하는 블록도이다.
도 5를 참조하면, 인덱싱 장치(500)는 시간 구간 설정부(510), 시간 구간 식별부(520), 인덱스 생성부(530), 제1 제어부(540) 및 제2 제어부(550)를 포함한다.
시간 구간 설정부(510)는 복수의 시간 구간들을 설정한다.
시간 구간 식별부(520)는 시간 구간에 따라 라인 세그먼트들을 구분한다.
인덱스 생성부(530)는 시간 구간에 따라 구분된 라인 세그먼트들을 수집하여 시간 구간들 각각에 대응하는 인덱스 구조를 생성한다.
제1 제어부(540)는 상기 설정된 시간 구간들 중 현재 시간에 가장 가까운 제1 시간 구간에 대응하는 인덱스 구조를 메인 메모리에 저장하여 관리할 수 있다.
제2 제어부(550)는 상기 설정된 시간 구간들 중 상기 제1 시간 구간 이외의 나머지 시간 구간들에 대응하는 인덱스 구조를 스토리지 장치에 저장하여 관리할 수 있다.
인덱스 생성부(530)는 현재 이동 중인 이동 객체에 의하여 생성되는 라인 세그먼트를 상기 제1 시간 구간에 대응하는 인덱스 구조에 삽입할 수 있다. 상기 제1 시간 구간에 대응하는 인덱스 구조가 메인 메모리에 저장되는 경우 인덱싱 장 치(500)는 신속하게 메인 메모리에 접근할 수 있으므로 새롭게 생성되는 라인 세그먼트의 삽입 연산의 수행 시간을 단축할 수 있다.
인덱스 생성부(530)는 상기 제1 시간 구간 이외의 나머지 시간 구간들에 대응하는 인덱스 구조에 대하여는 새롭게 생성되는 라인 세그먼트를 삽입하지 않을 수 있다. 상기 나머지 시간 구간들은 메인 메모리보다 느린 스토리지 장치에 저장되므로 인덱싱 장치(500)는 라인 세그먼트의 삽입 연산의 수행 시간이 길어지는 경우를 피할 수 있다.
일반적으로 영역 질의의 검색 대상은 과거의 시간 구간보다는 현재의 시간 구간에 대하여 빈번하게 일어날 가능성이 많으므로 인덱싱 장치(500)는 현재 시간에 가장 가까운 시간 구간에 대응하는 인덱스 구조에 대한 접근 시간을 단축함으로써 질의의 검색 시간을 단축할 수 있다.
도 6은 도 3의 인덱싱 방법을 수행하는 인덱싱 장치(600)의 다른 예를 도시하는 블록도이다.
도 6을 참조하면, 인덱싱 장치(600)는 시간 구간 설정부(610), 시간 구간 식별부(620), 인덱스 생성부(630), 시간 차원 검색부(640) 및 공간 차원 검색부(650)를 포함한다.
시간 구간 설정부(610)는 복수의 시간 구간들을 설정한다.
시간 구간 식별부(620)는 시간 구간에 따라 라인 세그먼트들을 구분한다.
인덱스 생성부(630)는 시간 구간에 따라 구분된 라인 세그먼트들을 수집하여 시간 구간들 각각에 대응하는 인덱스 구조를 생성한다.
시간 차원 검색부(640)는 입력 받은 질의의 시간 구간에 포함되는 시간 구간들에 대응하는 인덱스 구조를 선택할 수 있다.
공간 차원 검색부(650)는 상기 선택된 인덱스 구조로부터 상기 질의의 공간 영역에 중첩되는 공간 좌표를 가지는 라인 세그먼트들을 검색할 수 있다.
인덱스 생성부(630)는 공간 좌표에 의하여 표현되는 전체 공간을 복수의 공간 셀들로 분할하고, 상기 분할된 복수의 공간 셀들 각각에 대응하는 서브 인덱스를 생성할 수 있다. 인덱스 생성부(630)는 상기 분할된 복수의 공간 셀들 각각이 동일(동일 또는 매우 유사)한 개수의 라인 세그먼트들을 포함하도록 상기 전체 공간을 복수의 공간 셀들로 분할할 수 있다. 인덱싱 장치(600)는 각 서브 인덱스에 포함되는 라인 세그먼트들의 수를 균등하게 조정함으로써 공간 좌표에 대한 검색 과정의 효율성을 높일 수 있다.
인덱스 생성부(630)는 상기 분할된 공간 셀들의 정보를 2차원 트리 구조의 데이터베이스를 이용하여 관리할 수 있다. 인덱스 생성부(630)는 분할된 공간 셀들 각각에 대하여 시공간 데이터를 3차원 트리 구조의 데이터베이스를 이용하여 관리할 수 있다. 인덱스 구조는 시간 구간에 대한 인덱스 구조 및 공간 영역에 대한 서브 인덱스를 포함하는 다단계 인덱스 구조일 수 있다.
도 9는 도 2의 인덱싱 방법을 수행하는 인덱싱 장치(900)의 일 예를 도시하는 도면이다.
도 9를 참조하면, 인덱싱 장치(900)는 라인 세그먼트 생성부(910), 삽입 연산부(920) 및 제어부(930)를 포함한다.
라인 세그먼트 생성부(910)는 객체의 이동 정보를 공간 좌표 및 시간 척도를 이용하여 표시하는 시공간 데이터를 포함하는 라인 세그먼트를 생성한다.
삽입 연산부(920)는 상기 생성된 라인 세그먼트를 제1 인덱스 구조에 삽입하고, 상기 삽입된 라인 세그먼트의 시간 척도를 이용하여 상기 제1 인덱스 구조의 시간 척도를 업데이트한다.
제어부(930)는 상기 제1 인덱스 구조에 포함된 라인 세그먼트의 수를 임계치와 비교하여 제2 인덱스 구조를 생성할 지 여부를 결정한다. 제어부(930)는 상기 제1 인덱스 구조에 포함된 라인 세그먼트의 수가 임계치보다 작으면 제2 인덱스 구조를 생성하지 않고, 제1 인덱스 구조를 삽입 연산부(920)로 전송할 수 있다. 이 때 삽입 연산부(920)는 제어부(930)로부터 수신된 제1 인덱스 구조에 새롭게 생성된 라인 세그먼트를 삽입할 수 있다.
상기 제1 인덱스 구조에 포함된 라인 세그먼트의 수가 임계치보다 크거나 같으면 제어부(930)는 제2 인덱스 구조를 생성할 수 있다. 이 때 제어부(930)는 상기 생성된 제2 인덱스 구조를 삽입 연산부(920)로 전송할 수 있다. 삽입 연산부(920)는 제어부(930)로부터 수신된 제2 인덱스 구조에 새롭게 생성된 라인 세그먼트를 삽입할 수 있다. 제어부(930)는 메인 메모리에 저장되어 있던 제1 인덱스 구조를 스토리지 장치에 저장하여 관리하고, 상기 생성된 제2 인덱스 구조를 메인 메모리에 저장하여 관리할 수 있다. 제어부(930)는 메인 메모리의 크기에 기초하여 임계치를 설정할 수 있다.
제어부(930)는 공간 좌표에 의하여 표현되는 전체 공간을 복수의 공간 셀들 로 분할하고, 상기 제2 인덱스 구조가 상기 분할된 공간 셀들 각각에 대응하는 서브 인덱스를 포함하도록 상기 제2 인덱스 구조를 생성할 수 있다.
본 발명의 실시예들에 따른 인덱싱 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
도 1은 본 발명의 일 실시예에 따른 인덱싱 방법에서 이용되는 인덱스 구조를 도시하는 도면이다.
도 2는 도 1의 시간 인덱스 테이블(100)을 이용하는 인덱싱 방법의 일 예를 도시하는 동작 흐름도이다.
도 3은 본 발명의 다른 실시예에 따른 인덱싱 방법을 도시하는 동작 흐름도이다.
도 4는 도 3의 인덱싱 방법을 수행하는 인덱싱 장치(400)의 일 예를 도시하는 블록도이다.
도 5는 도 3의 인덱싱 방법을 수행하는 인덱싱 장치(500)의 다른 예를 도시하는 블록도이다.
도 6은 도 3의 인덱싱 방법을 수행하는 인덱싱 장치(600)의 다른 예를 도시하는 블록도이다.
도 7은 도 2 또는 도 3의 인덱싱 방법에 의하여 생성된 인덱스 구조에 대한 검색 방법을 도시하는 동작 흐름도이다.
도 8은 상기 도 3의 단계(S340)의 일 예를 보다 상세히 도시하는 동작 흐름도이다.
도 9는 도 2의 인덱싱 방법을 수행하는 인덱싱 장치(900)의 일 예를 도시하는 도면이다.
<도면의 주요 부분에 대한 부호의 설명>
410: 시간 구간 설정부
420: 시간 구간 식별부
430: 인덱스 생성부

Claims (23)

  1. 복수의 시간 구간들을 설정하는 시간 구간 설정부;
    객체의 이동 정보를 공간 좌표 및 시간 척도를 이용하여 표시하는 시공간 데이터를 포함하는 라인 세그먼트들을, 상기 라인 세그먼트들 각각이 포함되는 시간 구간 - 상기 시간 구간은 상기 설정된 복수의 시간 구간들 중 어느 하나 - 에 따라 구분하는 시간 구간 식별부; 및
    상기 설정된 복수의 시간 구간들 각각에 포함되는 라인 세그먼트들로부터 상기 설정된 복수의 시간 구간들 각각에 대응하는 인덱스 구조를 생성하는 인덱스 생성부
    를 포함하는 인덱싱 장치.
  2. 제1항에 있어서,
    상기 설정된 복수의 시간 구간들 중 현재 시간에 가장 가까운 제1 시간 구간에 대응하는 인덱스 구조를 메인 메모리에 저장하여 관리하는 제1 제어부; 및
    상기 제1 시간 구간 이외의 시간 구간들에 대응하는 인덱스 구조를 스토리지 장치에 저장하여 관리하는 제2 제어부
    를 더 포함하는 인덱싱 장치.
  3. 제1항에 있어서,
    상기 인덱스 생성부는
    복수의 공간 셀들 각각이 동일한 개수의 라인 세그먼트들을 포함하도록 상기 공간 좌표에 의하여 표현되는 전체 공간을 상기 복수의 공간 셀들로 분할하는 인덱싱 장치.
  4. 제1항에 있어서,
    상기 인덱스 생성부는
    상기 공간 좌표에 의하여 표현되는 전체 공간을 복수의 공간 셀들로 분할하고, 상기 분할된 복수의 공간 셀들의 정보를 2차원 트리 데이터 구조를 이용하여 관리하는 인덱싱 장치.
  5. 제1항에 있어서,
    상기 인덱스 생성부는
    상기 공간 좌표에 의하여 표현되는 전체 공간을 복수의 공간 셀들로 분할하고, 상기 분할된 복수의 공간 셀들 각각에 대하여 시공간 데이터를 3차원 트리 데이터 구조를 이용하여 관리하는 인덱싱 장치.
  6. 제1항에 있어서,
    상기 인덱스 생성부는
    현재 이동 중인 이동 객체에 대한 라인 세그먼트를 상기 설정된 복수의 시간 구간들 중 현재 시간에 가장 가까운 제1 시간 구간에 대응하는 인덱스 구조에 삽입하는 인덱싱 장치.
  7. 제6항에 있어서,
    상기 인덱스 생성부는
    상기 제1 시간 구간 이외의 시간 구간들에 대응하는 인덱스 구조에 대하여는 상기 현재 이동 중인 이동 객체에 대한 라인 세그먼트를 삽입하지 않는 인덱싱 장치.
  8. 제1항에 있어서,
    입력 받은 질의의 시간 구간에 포함되는 시간 구간들에 대응하는 인덱스 구조를 선택하는 시간 차원 검색부; 및
    상기 선택된 인덱스 구조로부터 상기 질의의 공간 영역에 중첩되는 공간 좌표를 가지는 라인 세그먼트들을 검색하는 공간 차원 검색부
    를 더 포함하는 인덱싱 장치.
  9. 제1항에 있어서,
    상기 인덱스 생성부는
    상기 공간 좌표에 의하여 표현되는 전체 공간을 복수의 공간 셀들로 분할하고, 상기 분할된 복수의 공간 셀들 각각에 대응하는 서브 인덱스를 생성하는 인덱 싱 장치.
  10. 객체의 이동 정보를 공간 좌표 및 시간 척도를 이용하여 표시하는 시공간 데이터를 포함하는 라인 세그먼트를 생성하는 라인 세그먼트 생성부;
    상기 생성된 라인 세그먼트를 제1 인덱스 구조에 삽입하고, 상기 삽입된 라인 세그먼트의 시간 척도를 이용하여 상기 제1 인덱스 구조의 시간 척도를 업데이트하는 삽입 연산부; 및
    상기 제1 인덱스 구조에 포함된 라인 세그먼트의 수를 임계치와 비교하여 제2 인덱스 구조를 생성할 지 여부를 결정하는 제어부
    를 포함하는 인덱싱 장치.
  11. 제10항에 있어서,
    상기 제어부는
    상기 제1 인덱스 구조에 포함된 라인 세그먼트의 수가 임계치 이상이면 상기 제2 인덱스 구조를 생성하고,
    상기 삽입 연산부는
    새롭게 생성되는 라인 세그먼트를 상기 생성된 제2 인덱스 구조에 삽입하는 인덱싱 장치.
  12. 제11항에 있어서,
    상기 제어부는
    상기 제2 인덱스 구조가 생성되면 상기 제1 인덱스 구조를 스토리지 장치에 저장하여 관리하고, 메인 메모리의 크기에 기초하여 상기 임계치를 설정하고, 상기 생성된 제2 인덱스 구조를 메인 메모리에 저장하여 관리하는 인덱싱 장치.
  13. 제11항에 있어서,
    상기 제어부는
    상기 공간 좌표에 의하여 표현되는 전체 공간을 복수의 공간 셀들로 분할하고, 상기 분할된 공간 셀들 각각에 대응하는 서브 인덱스를 포함하는 상기 제2 인덱스 구조를 생성하는 인덱싱 장치.
  14. 복수의 시간 구간들을 설정하는 단계;
    객체의 이동 정보를 공간 좌표 및 시간 척도를 이용하여 표시하는 시공간 데이터를 포함하는 라인 세그먼트들을 생성하는 단계;
    상기 생성된 라인 세그먼트들을, 상기 생성된 라인 세그먼트들 각각이 포함되는 시간 구간 - 상기 시간 구간은 상기 설정된 복수의 시간 구간들 중 어느 하나 - 에 따라 구분하는 단계; 및
    상기 설정된 복수의 시간 구간들 각각에 포함되는 라인 세그먼트들로부터 상기 설정된 복수의 시간 구간들 각각에 대응하는 인덱스 구조를 생성하는 단계
    를 포함하는 인덱싱 방법.
  15. 제14항에 있어서,
    상기 설정된 복수의 시간 구간들 중 현재 시간에 가장 가까운 제1 시간 구간에 대응하는 인덱스 구조를 메인 메모리에 저장하는 단계; 및
    상기 제1 시간 구간 이외의 시간 구간들에 대응하는 인덱스 구조를 스토리지 장치에 저장하는 단계
    를 더 포함하는 인덱싱 방법.
  16. 제14항에 있어서,
    상기 인덱스 구조를 생성하는 단계는
    상기 공간 좌표에 의하여 표현되는 전체 공간을 복수의 공간 셀들로 분할하는 단계;
    상기 분할된 공간 셀들 각각에 대응하는 서브 인덱스를 생성하는 단계; 및
    상기 생성된 서브 인덱스를 포함하는 상기 인덱스 구조를 생성하는 단계
    를 포함하는 인덱싱 방법.
  17. 제16항에 있어서,
    상기 전체 공간을 상기 복수의 공간 셀들로 분할하는 단계는
    상기 복수의 공간 셀들 각각이 동일한 개수의 라인 세그먼트들을 포함하도록 상기 전체 공간을 상기 복수의 공간 셀들로 분할하는 인덱싱 방법.
  18. 제14항에 있어서,
    입력 받은 질의의 시간 구간에 포함되는 시간 구간들에 대응하는 인덱스 구조를 선택하는 단계; 및
    상기 선택된 인덱스 구조로부터 상기 질의의 공간 영역에 중첩되는 공간 좌표를 가지는 라인 세그먼트들을 검색하는 단계
    를 더 포함하는 인덱싱 방법.
  19. 객체의 이동 정보를 공간 좌표 및 시간 척도를 이용하여 표시하는 시공간 데이터를 포함하는 라인 세그먼트를 생성하는 단계;
    상기 생성된 라인 세그먼트를 제1 인덱스 구조에 삽입하는 단계;
    상기 삽입된 라인 세그먼트의 시간 척도를 이용하여 상기 제1 인덱스 구조의 시간 척도를 업데이트하는 단계; 및
    상기 제1 인덱스 구조에 포함된 라인 세그먼트의 수를 임계치와 비교하여 제2 인덱스 구조를 생성할 지 여부를 결정하는 단계
    를 포함하는 인덱싱 방법.
  20. 제19항에 있어서,
    상기 제1 인덱스 구조에 포함된 라인 세그먼트의 수가 임계치 이상이면 상기 제2 인덱스 구조를 생성하는 단계
    를 더 포함하고,
    상기 생성된 라인 세그먼트를 상기 제1 인덱스 구조에 삽입하는 단계는
    새롭게 생성되는 라인 세그먼트를 상기 생성된 제2 인덱스 구조에 삽입하는 인덱싱 방법.
  21. 제20항에 있어서,
    메인 메모리의 크기에 기초하여 상기 임계치를 설정하는 단계;
    상기 제2 인덱스 구조가 생성되면 상기 제1 인덱스 구조를 스토리지 장치에 저장하는 단계; 및
    상기 생성된 제2 인덱스 구조를 메인 메모리에 저장하는 단계
    를 더 포함하는 인덱싱 방법.
  22. 제20항에 있어서,
    상기 제2 인덱스 구조를 생성하는 단계는
    상기 공간 좌표에 의하여 표현되는 전체 공간을 복수의 공간 셀들로 분할하는 단계;
    상기 분할된 공간 셀들 각각에 대응하는 서브 인덱스를 생성하는 단계; 및
    상기 생성된 서브 인덱스를 포함하는 상기 제2 인덱스 구조를 생성하는 단계
    를 포함하는 인덱싱 방법.
  23. 제14항 내지 제22항 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록 매체.
KR20080034314A 2008-04-14 2008-04-14 궤적 데이터의 인덱싱 방법 및 그 방법을 이용하는 장치 KR100963352B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR20080034314A KR100963352B1 (ko) 2008-04-14 2008-04-14 궤적 데이터의 인덱싱 방법 및 그 방법을 이용하는 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20080034314A KR100963352B1 (ko) 2008-04-14 2008-04-14 궤적 데이터의 인덱싱 방법 및 그 방법을 이용하는 장치

Publications (2)

Publication Number Publication Date
KR20090108952A true KR20090108952A (ko) 2009-10-19
KR100963352B1 KR100963352B1 (ko) 2010-06-14

Family

ID=41552298

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20080034314A KR100963352B1 (ko) 2008-04-14 2008-04-14 궤적 데이터의 인덱싱 방법 및 그 방법을 이용하는 장치

Country Status (1)

Country Link
KR (1) KR100963352B1 (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102646070A (zh) * 2012-02-29 2012-08-22 武汉大学 一种基于区域的时空轨迹数据存储方法
KR20140050209A (ko) * 2012-10-18 2014-04-29 한국전자통신연구원 실내지도 및 측위 인프라에 기반한 실내 이동객체 관리장치 및 그 방법
KR101425816B1 (ko) * 2013-10-29 2014-08-05 네이버 주식회사 실시간 검색 구현 방법 및 그 시스템
KR20180071928A (ko) * 2016-12-20 2018-06-28 한국과학기술원 대표 광선 기반의 점유맵 업데이트 방법 및 시스템
KR101966928B1 (ko) * 2018-11-05 2019-04-08 주식회사 포스웨이브 이동객체 시공간정보의 고속분산처리를 위한 색인 및 저장 시스템
CN112528081A (zh) * 2020-12-24 2021-03-19 长沙翔宇信息科技有限公司 一种空间态势相对运动轨迹多级载入展示方法及装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102135205B1 (ko) * 2018-11-30 2020-07-17 네이버랩스 주식회사 시공간 데이터의 유통 방법 및 시스템

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040066942A (ko) * 2003-01-21 2004-07-30 정영진 R-트리 기반 색인을 위한 추출 연산 기법
KR100542756B1 (ko) * 2003-09-19 2006-01-20 한국전자통신연구원 색인 관리 기능을 갖는 이동체 데이터베이스 시스템 및색인 관리 방법
KR100546799B1 (ko) * 2003-11-24 2006-01-26 한국전자통신연구원 시공간 데이터 통합과 정보 제어를 통한 이동체 관리 장치및 그 방법
KR100709274B1 (ko) * 2004-12-22 2007-04-19 인하대학교 산학협력단 도로 네트워크 기반 이동체의 통합 색인 구조

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102646070A (zh) * 2012-02-29 2012-08-22 武汉大学 一种基于区域的时空轨迹数据存储方法
KR20140050209A (ko) * 2012-10-18 2014-04-29 한국전자통신연구원 실내지도 및 측위 인프라에 기반한 실내 이동객체 관리장치 및 그 방법
KR101425816B1 (ko) * 2013-10-29 2014-08-05 네이버 주식회사 실시간 검색 구현 방법 및 그 시스템
KR20180071928A (ko) * 2016-12-20 2018-06-28 한국과학기술원 대표 광선 기반의 점유맵 업데이트 방법 및 시스템
KR101966928B1 (ko) * 2018-11-05 2019-04-08 주식회사 포스웨이브 이동객체 시공간정보의 고속분산처리를 위한 색인 및 저장 시스템
CN112528081A (zh) * 2020-12-24 2021-03-19 长沙翔宇信息科技有限公司 一种空间态势相对运动轨迹多级载入展示方法及装置
CN112528081B (zh) * 2020-12-24 2021-09-14 长沙翔宇信息科技有限公司 一种空间态势相对运动轨迹多级载入展示方法及装置

Also Published As

Publication number Publication date
KR100963352B1 (ko) 2010-06-14

Similar Documents

Publication Publication Date Title
KR100963352B1 (ko) 궤적 데이터의 인덱싱 방법 및 그 방법을 이용하는 장치
JP5519762B2 (ja) データ索引付けシステム、および、データ索引付け方法
KR102036419B1 (ko) 그래프 처리 성능 향상을 위한 복수 계층 캐싱 방법 및 복수 계층 캐싱 시스템
Lu et al. Flexible and efficient resolution of skyline query size constraints
CN102693266B (zh) 搜索数据库的方法、生成索引结构的导航设备和方法
KR20130020050A (ko) 로컬리티 센서티브 해시의 버킷 구간 관리 장치 및 그 방법
CN109033340A (zh) 一种基于Spark平台的点云K邻域的搜索方法及装置
CN103473248A (zh) 一种路网环境下的连续移动k近邻查询方法
CN108549696B (zh) 一种基于内存计算的时间序列数据相似性查询方法
Nikitopoulos et al. Hot spot analysis over big trajectory data
CN103034678A (zh) 一种基于Voronoi图的反k最近邻查询方法
Yang et al. Recommending profitable taxi travel routes based on big taxi trajectories data
CN102724301A (zh) 云数据库系统以及云数据读写处理方法、设备
Cao et al. $\sf {SIMkNN} $: A Scalable Method for in-Memory kNN Search over Moving Objects in Road Networks
CN115098613A (zh) 一种轨迹数据的追踪与预测方法、装置及介质
Huang et al. Processing continuous K-nearest skyline query with uncertainty in spatio-temporal databases
CN112925793A (zh) 一种多种结构数据分布式混合存储方法和系统
Chen et al. Path–Based Continuous Spatial Keyword Queries
JP2004178191A (ja) 位置依存情報の検索方法
CN114253938A (zh) 数据管理方法、数据管理装置及存储介质
CN105550765B (zh) 一种路网距离计算中的代表元选取方法
CN113722551A (zh) 一种应用于频繁子图查询的频繁子图索引方法及装置
Chaudhry et al. A hash-based index for processing frequent updates and continuous location-based range queries
KR101078348B1 (ko) 영역트리를 이용한 데이터 저장 장치 및 방법
JP6167531B2 (ja) 領域検索方法、領域インデックス構築方法および領域検索装置

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: 20130516

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140701

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150708

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160516

Year of fee payment: 7