KR20200086529A - 도로 네트워크에서 ε-거리 조인 질의 처리 방법 및 도로 네트워크에서 ε-거리 조인 질의를 처리하는 장치 - Google Patents

도로 네트워크에서 ε-거리 조인 질의 처리 방법 및 도로 네트워크에서 ε-거리 조인 질의를 처리하는 장치 Download PDF

Info

Publication number
KR20200086529A
KR20200086529A KR1020190002841A KR20190002841A KR20200086529A KR 20200086529 A KR20200086529 A KR 20200086529A KR 1020190002841 A KR1020190002841 A KR 1020190002841A KR 20190002841 A KR20190002841 A KR 20190002841A KR 20200086529 A KR20200086529 A KR 20200086529A
Authority
KR
South Korea
Prior art keywords
data
distance
segment
join query
node
Prior art date
Application number
KR1020190002841A
Other languages
English (en)
Other versions
KR102185334B1 (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 KR1020190002841A priority Critical patent/KR102185334B1/ko
Publication of KR20200086529A publication Critical patent/KR20200086529A/ko
Application granted granted Critical
Publication of KR102185334B1 publication Critical patent/KR102185334B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/907Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/909Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using geographical or spatial information, e.g. location
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9537Spatial or temporal dependent retrieval, e.g. spatiotemporal queries

Landscapes

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

Abstract

도로 네트워크 상에서 ε-거리 조인 질의를 처리하는 장치가 개시된다. 상기 장치는, 클라이언트 단말로부터 적어도 하나 이상의 객체에 대한 ε-거리 조인 질의 요청을 수신하는 수신부; 상기 요청에 응답하여, 상기 단말의 위치를 기준으로 하는 ε-거리 조인 질의 처리 결과를 연산하는 질의 결과 연산부; 및 상기 요청에 응답하여, 상기 단말의 위치를 기준으로 하는 ε-거리 조인 질의 처리 결과를 상기 단말로 전송하는 전송부; 를 포함하고 상기 질의 결과 연산부는 제1데이터 집합 R에 포함된 제1데이터 객체들을 제1데이터 세그먼트로 정의하고, 제2데이터 집합 S에 포함된 제2데이터 객체들을 제2데이터 세그먼트로 정의하고, 상기 제1데이터 세그먼트 내에 포함된 2개의 제1데이터 객체에 대해 ε-거리 조인 질의를 수행하고, 상기 제1데이터 세그먼트 내에 포함된 나머지 제1데이터 객체에 대해 ε-거리 조인 질의와 다른 방법으로 일정 거리 ε 안에 위치하는 객체를 도출할 수 있다.

Description

도로 네트워크에서 ε-거리 조인 질의 처리 방법 및 도로 네트워크에서 ε-거리 조인 질의를 처리하는 장치{PROCESSING METHOD OF ε-DISTANCE JOIN QUERIES IN ROAD NETWORKS AND DEVICE THAT PROCESSES ε-DISTANCE JOIN QUERIES IN ROAD NETWORKS}
본 발명은 도로 네트워크에서 ε-거리 조인 질의를 처리하는 방법에 관한 발명이다. 보다 구체적으로는, 도로 네트워크에서 ε-거리 조인 질의 처리 시간을 줄일 수 있는 방법에 관한 발명이다.
이동 통신망, GPS 등과 같은 위치 탐색 및 서비스 기술이 발전함에 따라, 최근에는 이동 객체의 위치 기반 서비스를 지원하는 응용 분야에 대한 관심이 높아지고 있다.
도로 네트워크 정보, 이동 객체의 정보, 정적 객체 정보 등이 저장된 데이터베이스를 도로 네트워크 데이터베이스(road network databases)라 하며, 도로 네트워크 데이터베이스에서 도로 네트워크는 방향성을 가진 그래프로 모델링 된다. 하나의 도로 세그먼트(road segment)는 그래프의 간선에 해당되며, 서로 다른 두 도로 세그먼트가 만나는 지점이 그래프의 노드에 해당된다. 또한, 도로 네트워크 위에 정류소, 학교, 호텔 등과 같은 시설물들은 정적 객체로 모델링 되며, 자동차, 사람과 같은 이동성을 가지고 있는 객체는 이동 객체로 모델링 된다.
ε-거리 조인 질의 알고리즘은, 2개의 집합 R과 S과 주어져 있을 때, R과 S의 ε-거리 조인 질의는 집합 R에 있는 각각의 객체 r에 대하여, r로부터 일정한 거리 ε안에 도달할 수 있는 객체를 집합 S에 있는 원소들로부터 찾는 알고리즘이다. 기존 방법들은 유클리디언 거리를 사용하여 일정한 거리 ε안에 객체를 검색하는 방법을 사용하였다. 그러나 이러한 방법은 도로 네트워크에서는 사용될 수 없는 문제점이 있었다. 또한, 동적인 도로망 네트워크에서는 두 지점 사이의 거리가 도로 상황에 따라 수시로 변하기 때문에, 움직이는 객체 사이에서의 정확한 거리를 실시간으로 반영하기에 어려운 문제점이 존재하였다.
본 발명에서는, 도로 네트워크 상에서 실행되는 ε-거리 조인 질의를 효율적으로 처리하고자 한다.
또한 본 발명에서는, 도로 네트워크 상에서 실행되는 ε-거리 조인 질의의 처리 시간을 감소시키고자 한다.
ε-거리 조인 질의 처리 방법이 개시된다.
본 발명의 일 예에 의하면, 도로 네트워크 상의 제1데이터 집합 R, 제2데이터 집합 S 중 하나의 데이터 집합에 포함된 객체로부터 일정 거리 ε 안에 위치하는 객체를 다른 데이터 집합에 있는 객체에서 선택하는 ε-거리 조인 질의 처리 방법은, 제1데이터 집합 R에 포함된 제1데이터 객체들 또는 제2데이터 집합 S에 포함된 제2데이터 객체들을 각각 제1데이터 세그먼트의 집합 또는 제2데이터 세그먼트의 집합으로 정의하는 단계; 상기 정의된 제1데이터 세그먼트 내에 포함된 일부의 제1데이터 객체들에 대해 ε-거리 조인 질의를 수행하는 단계; 상기 정의된 제1데이터 세그먼트 내에 포함된 나머지 제1데이터 객체에 대해 ε-거리 조인 질의와 다른 방법으로 일정 거리 ε 안에 위치하는 객체를 도출하는 단계;를 포함할 수 있다.
제1데이터 집합 R에 포함된 제1데이터 객체들 또는 제2데이터 집합 S에 포함된 제2데이터 객체들을 각각 제1데이터 세그먼트의 집합 또는 제2데이터 세그먼트의 집합으로 정의하는 단계는, 상기 도로 네트워크 상의 노드를 기준으로 교차하는 도로 세그먼트의 개수를 판별하는 단계; 상기 노드를 기준으로 교차하는 도로 세그먼트의 개수가 1개 혹은 3개 이상인 노드끼리 이어진 도로 세그먼트 상에 포함된 제1데이터 객체들을 잇는 시퀀스를 제1데이터 세그먼트로 정의하는 단계; 및 상기 노드를 기준으로 교차하는 도로 세그먼트의 개수가 1개 혹은 3개 이상인 노드끼리 이어진 도로 세그먼트 상에 포함된 제2데이터 객체들을 잇는 시퀀스를 제2데이터 세그먼트로 정의하는 단계;를 포함할 수 있다.
상기 제1데이터 세그먼트에 포함되는 제1데이터 객체의 개수가 1개 혹은 2개일 경우, 각각의 제1데이터 객체에 대한 ε-거리 조인 질의 처리를 수행할 수 있다.
상기 제1데이터 세그먼트에 포함되는 제1데이터 객체의 개수가 3개 이상일 경우, 상기 제1데이터 세그먼트의 양 끝단에 위치하는 2개의 제1데이터 객체에 대한 ε-거리 조인 질의 처리를 수행하는 단계; 및 상기 제1데이터 세그먼트의 양 끝단에 위치하는 제1데이터 객체를 제외한 제1데이터 세그먼트의 내부에 포함된 나머지 제1데이터 객체들에 대해 거리 계산을 수행하는 단계; 를 포함할 수 있다.
상기 거리 계산을 수행하는 단계는, 상기 제1데이터 세그먼트 내부에 포함된 제2데이터 객체들을 추출하는 단계; 상기 제1데이터 세그먼트의 양 끝단에 위치하는 2개의 제1데이터 객체들에 대한 ε-거리 조인 질의 처리로 도출된 거리 ε 이내의 제2데이터 객체들을 추출하는 단계; 상기 추출된 제2데이터 객체들의 집합을 정의하는 단계; 상기 내부에 포함된 나머지 제1데이터 객체들에 대해, 상기 정의된 제2데이터 객체들의 집합에 포함된 제2데이터 객체들을 대상으로 거리를 측정하여 상기 내부에 포함된 나머지 제1데이터 객체들과 거리 ε 이내에 위치하는 제2데이터 객체를 추출하는 단계;를 포함할 수 있다.
본 발명의 다른 일 예에 따르면, 도로 네트워크 상의 제1데이터 집합 R, 제2데이터 집합 S 중 하나의 데이터 집합에 포함된 객체로부터 일정 거리 ε 안에 위치하는 객체를 다른 데이터 집합에 있는 객체에서 선택하는 ε-거리 조인 질의 처리 방법으로써, 제1데이터 집합 R에 포함된 제1데이터 객체들 또는 제2데이터 집합 S에 포함된 제2데이터 객체들을 각각 제1데이터 세그먼트의 집합 및 제2데이터 세그먼트의 집합으로 정의하는 단계; 상기 도로 네트워크 상의 임의의 한 노드에 근접한 제1데이터 세그먼트들을 추출하는 단계; 제1데이터 집합 R에 포함된 제1데이터 객체들 또는 제2데이터 집합 S에 포함된 제2데이터 객체들을 각각 제1데이터 세그먼트의 집합 및 제2데이터 세그먼트의 집합으로 정의하는 단계는, 상기 도로 네트워크 상의 노드를 기준으로 교차하는 도로 세그먼트의 개수를 판별하는 단계; 상기 노드를 기준으로 교차하는 도로 세그먼트의 개수가 1개 혹은 3개 이상인 노드끼리 이어진 도로 세그먼트 상에 포함된 제1데이터 객체들을 잇는 시퀀스를 제1데이터 세그먼트로 정의하는 단계; 및 상기 노드를 기준으로 교차하는 도로 세그먼트의 개수가 1개 혹은 3개 이상인 노드끼리 이어진 도로 세그먼트 상에 포함된 제2데이터 객체들을 잇는 시퀀스를 제2데이터 세그먼트로 정의하는 단계;를 포함하고, 상기 노드에 근접한 제1데이터 세그먼트의 개수가 2개 이상일 경우 상기 노드를 기준으로 ε-거리 조인 질의 처리를 수행하는 단계;를 포함할 수 있다.
상기 임의의 한 노드는 상기 노드를 기준으로 교차하는 도로 세그먼트의 개수가 3개 이상인 노드일 수 있다.
상기 임의의 한 노드에 근접한 제1데이터 세그먼트에 대한 ε-거리 조인 질의 처리 방법은, 상기 노드를 기준으로 ε-거리 조인 질의 처리를 수행하여 도출된 제2데이터 객체와, 상기 노드를 기준으로 교차하는 도로 세그먼트의 개수가 1개 혹은 3개 이상인 노드끼리 이어진 도로 세그먼트 상에 포함된 제2데이터 객체들의 집합을 도출하여, 상기 도로 세그먼트 상에 포함되는 제1데이터 세그먼트 내의 제1데이터 객체와 상기 제2데이터 객체들의 집합에 포함된 객체들과의 거리를 계산하여 거리 ε 내에 위치하는 제2데이터 객체를 추출할 수 있다.
상기 제1데이터 세그먼트의 개수는, 제2데이터 세그먼트의 개수보다 적을 수 있다.
상기 ε-거리 조인 질의 처리 방법을 실행하기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록 매체가 제공될 수 있다.
본 발명의 다른 측면에 따르면, 클라이언트 단말로부터 적어도 하나 이상의 객체에 대한 ε-거리 조인 질의 요청을 수신하는 수신부; 상기 요청에 응답하여, 상기 단말의 위치를 기준으로 하는 ε-거리 조인 질의 처리 결과를 연산하는 질의 결과 연산부; 및 상기 요청에 응답하여, 상기 단말의 위치를 기준으로 하는 ε-거리 조인 질의 처리 결과를 상기 단말로 전송하는 전송부; 를 포함하고 상기 질의 결과 연산부는 제1데이터 집합 R에 포함된 제1데이터 객체들을 제1데이터 세그먼트로 정의하고, 제2데이터 집합 S에 포함된 제2데이터 객체들을 제2데이터 세그먼트로 정의하고, 상기 제1데이터 세그먼트 내에 포함된 2개의 제1데이터 객체에 대해 ε-거리 조인 질의를 수행하고, 상기 제1데이터 세그먼트 내에 포함된 나머지 제1데이터 객체에 대해 ε-거리 조인 질의와 다른 방법으로 일정 거리 ε 안에 위치하는 객체를 도출하는 도로 네트워크 상에서 ε-거리 조인 질의를 처리하는 장치가 제공될 수 있다.
상기 질의 결과 연산부는, 상기 도로 네트워크 상의 노드를 기준으로 교차하는 도로 세그먼트의 개수를 판별하는 노드 결정 모듈; 상기 노드 결정 모듈에서 결정된 노드를 기준으로 교차하는 도로 세그먼트의 개수가 1개 혹은 3개 이상인 노드끼리 이어진 도로 세그먼트 상에 위치하는 제1데이터 객체 및 제2데이터 객체를 검색하는 데이터 객체 검색 모듈; 상기 노드 결정 모듈에서 결정된 노드를 기준으로 교차하는 도로 세그먼트의 개수가 1개 혹은 3개 이상인 노드끼리 이어진 도로 세그먼트 상에 위치하는 제1데이터 객체들을 제1데이터 세그먼트로 정의하고, 제2데이터 객체들은 제2데이터 세그먼트로 정의하는 그룹화 모듈; 상기 그룹화 모듈에서 생성된 제1데이터 세그먼트에 대해 ε-거리 조인 질의 처리를 수행하는 질의 결과 처리 모듈;을 포함할 수 있다.
상기 질의 결과 처리 모듈은,
상기 제1데이터 세그먼트의 양 끝단에 위치하는 제1데이터 객체에 대한 연산을 진행하는 제1 ε-거리 조인 질의 처리 모듈; 상기 제1 ε-거리 조인 질의 처리 모듈의 처리 결과에 따른 거리 ε 이내에 위치하는 제2데이터 객체들을 저장하는 제1 저장 모듈; 및 상기 제1데이터 세그먼트의 양 끝단에 위치하는 제1데이터 객체를 제외한 내부에 포함된 제1데이터 객체에 대해 거리 계산을 수행하는 거리 계산 모듈;을 포함할 수 있다.
제1데이터 세그먼트에 포함된 제2데이터 객체들을 저장하는 제2 저장 모듈;을 더 포함할 수 있다.
상기 거리 계산 모듈;은
상기 제1데이터 세그먼트의 양 끝단에 위치하는 제1데이터 객체를 제외한 내부에 포함된 제1데이터 객체에 대해 상기 제1 저장 모듈 및 제2 저장 모듈에 저장된 제2데이터 객체들과의 거리를 계산할 수 있다.
상기 질의 결과 처리 모듈은, 상기 노드 결정 모듈에서 결정된 노드를 기준으로 교차하는 도로 세그먼트의 개수가 3개 이상인 노드를 기준으로 인접하는 제1데이터 세그먼트의 개수가 2개 이상인 경우, 해당 노드에 대해 ε-거리 조인 질의를 수행하고, 그 결과로 나타나는 제2데이터 객체와, 상기 노드를 기준으로 교차하는 도로 세그먼트의 개수가 1개 혹은 3개 이상인 노드끼리 이어진 도로 세그먼트 상에 포함된 제2데이터 객체들과 제1데이터 객체와의 거리를 계산하여 거리 ε 이내에 위치하는 데이터 객체를 추출하는 제2 ε-거리 조인 질의 처리 모듈;을 더 포함할 수 있다.
본 발명에서는, 도로 네트워크 상에서 실행되는 ε-거리 조인 질의를 효율적으로 처리할 수 있다.
또한 본 발명에서는, 도로 네트워크 상에서 실행되는 ε-거리 조인 질의의 처리 시간을 감소시킬 수 있다.
본 발명에서는 두 지점을 연결하는 최단 경로 거리를 사용하고, 동적인 도로망을 고려하기 때문에, 실시간으로 변하는 교통 상황을 반영할 수 있다.
도 1은 도로 네트워크의 일 예를 나타내는 도면이다.
도 2는 본 발명에 따른 ε-거리 조인 질의 처리 장치의 주요 구성을 나타낸 블록도이다.
도 3은 본 발명에 따른 ε-거리 조인 질의 처리 장치가 포함하는 질의 결과 연산부의 주요 구성을 나타낸 블록도이다.
도 4는 본 발명에 따른 ε-거리 조인 질의 처리 장치가 포함하는 질의 결과 처리 모듈의 주요 구성을 나타낸 블록도이다.
도 5는 도로 네트워크 상에서 ε-거리 조인 질의 처리를 설명하기 위해 예시로 제시된 도로 네트워크이다.
도 6(a) 및 도 6(b)는 도 5에서 제1데이터 세그먼트와 제2데이터 세그먼트를 정의하는 것을 설명하기 위한 도면이다.
도 7 내지 도 8은 본 발명의 일 실시예에 필요한 전제를 증명하는 것을 설명하기 위한 도면이다.
도 9는 본 발명의 일 실시예에 있어서 거리를 계산하는 것을 설명하기 위한 도면이다.
도 10 내지 도 11은 본 발명의 다른 실시예에 따른 e-거리 조인 질의를 설명하기 위한 도면이다.
도 12 내지 도 14는 기존의 e-거리 조인 질의 처리 방법 및 본 발명에 따른 e-거리 조인 질의 처리 방법을 사용했을 때의 처리 결과를 나타내는 그래프들이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 또한, 본 발명의 바람직한 실시예를 상세하게 설명함에 있어, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다. 또한, 유사한 기능 및 작용을 하는 부분에 대해서는 도면 전체에 걸쳐 동일한 부호를 사용한다.
어떤 구성요소를 '포함'한다는 것은, 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있다는 것을 의미한다. 구체적으로, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
제1, 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한 도면에서 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
본 명세서 전체에서 사용되는 '~부' 및 '~모듈' 은 적어도 하나의 기능이나 동작을 처리하는 단위로서, 예를 들어 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미할 수 있다. 그렇지만 '~부' 및 '~모듈'이 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부' 및 '~모듈'은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다.
일 예로서 '~부' 및 '~모듈'은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함할 수 있다. 구성요소와 '~부' 및 '~모듈'에서 제공하는 기능은 복수의 구성요소 및 '~부' 및 '~모듈'들에 의해 분리되어 수행될 수도 있고, 다른 추가적인 구성요소와 통합될 수도 있다.
본 발명에서는 동적인 도로 네트워크에서 ε-거리 조인 질의 처리 방법을 이용하는 방법에 있어서, 처리 시간을 효과적으로 줄일 수 있는 방법에 대해 제시한다. 본 발명에 따른 ε-거리 조인 질의 처리 방식을 사용하는 경우, 동적인 도로망 네트워크에서 수시로 변하는 도로 상황을 반영한 ε-거리 조인 질의 처리가 가능하며, 실시간 처리가 가능한 효과가 있다.
이하에서는 첨부된 도면을 참조하여 본 발명의 일 실시예를 상세하게 설명한다.
도 1은 일반적인 도로 네트워크 상에 위치한 각각의 객체들을 표현하는 도면이다. 도 1(a) 및 도 1(b)에서는, 사각형으로 표시한 택시 승객과, 삼각형으로 표시된 택시들이 도로 네트워크 상에 배치되어 있다. 실제 도로 네트워크는 도 1과 같이 복잡하게 도로가 얽혀져 있으며, 얽힌 도로 상에서 택시들은 동적으로 움직이며, 택시에 탑승하고자 하는 승객들도 동적으로 도로 네트워크 상에서 움직이게 된다. 도로 네트워크 상에서는 도로의 길을 고려하여 최단거리를 설정해야 하기 때문에, 유클리드 최단 거리를 사용할 수 없다. 택시에 탑승하고자 하는 승객들이 자기의 현재 위치와 가장 가깝게 위치하는 택시를 알아보고자 할 때, 모든 택시에 대하여 도로 네트워크 상의 거리를 고려하여 승객과 가장 가까운 택시들을 찾아야 한다. 그러나, 동적으로 움직이는 거리 상에서 일일이 거리를 계산하기에는 굉장히 많은 시간이 소요되며, 도로 네트워크가 복잡하게 얽혀 있고 택시의 개수가 많은 경우 연산 시간이 훨씬 길어지게 되어, 효율적인 처리가 어려운 문제점이 발생하며 빠르게 연산을 수행하여 결과를 도출하여야 하는 시스템에서는 적합하지 아니한 문제점이 있었다. 또한 도 1(b)에 따르면, 교통 체증이 증가하는 시간대에서는 택시의 위치가 도 1(a)와 동일한 장소에 위치하더라도 동일한 승객의 위치로부터 가장 가까운 택시가 변경될 수 있다. 이는 동적 시스템에서 나타나는 문제점에 해당한다.
이하에서는 도 1과 같은 도로 네트워크 상에서 ε-거리 조인 질의를 효율적으로 처리하는 방법에 대해 자세히 설명한다.
도 2는 본 발명에 따른 ε-거리 조인 질의 처리 장치(100)의 주요 구성을 나타낸 블록도이다. ε-거리 조인 질의 처리 장치(100)는 수신부(110)와, 전송부(130) 및 질의 결과 연산부(120)를 포함할 수 있다.
수신부(110)는, 클라이언트 단말(미도시)로부터의 질의 요청정보를 수신할 수 있다. 상기 클라이언트 단말에서의 질의 요청정보는, 질의 요구조건에 부합되는 객체로서, 질의하는 클라이언트 단말의 위치를 기준으로, 거리 ε 이내에 위치하는 제2데이터 객체 정보이다. 상기 거리는 클라이언트가 클라이언트 단말에서 원하는 거리만큼의 숫자를 입력할 수 있다. 상기 숫자는 정수일 수 있다. 상기 거리는 km 단위일 수 있다. 클라이언트 단말에서는, 질의하는 클라이언트 단말의 위치를 기준으로, 일정 거리 이내의 제2데이터 객체뿐만 아니라 일정 시간 내에 도달할 수 있는 제2데이터 객체 정보를 요구할 수도 있다. 상기 일정 시간은 거리를 고려하여 설정될 수 있다. 상기 시간은 동적 도로 네트워크를 고려하여 도출되는 시간일 수 있다. 이하에서는, 설명을 위해 ε를 거리로 가정하고 설명하나, ε는 시간일 수 있다.
질의 결과 연산부(120)는, 수신부(110)에서 수신된 질의 요청정보에 응답하되, 제1데이터 집합에 포함된 제1데이터 객체들을 제1데이터 세그먼트로 정의하고, 제2데이터 집합에 포함된 제2데이터 객체들을 제2데이터 세그먼트로 정의하고, 상기 제1데이터 세그먼트 내에 포함된 2개의 제1데이터 객체에 대해 ε-거리 이웃 조인 질의를 수행하고, 상기 제1데이터 세그먼트 내에 포함된 나머지 제1데이터 객체에 대해 ε-거리 이웃 조인 질의와 다른 방법으로 일정 거리 ε 안에 위치하는 제2데이터 객체를 도출할 수 있다. 상기 질의 결과 연산부의 주요 구성은 도 3에서 설명된다.
전송부(130)는, 상기 질의 결과 연산부(120)에서 연산된 질의하는 클라이언트 단말의 위치를 기준으로 거리 ε 이내에 존재하는 제2데이터 객체 정보를 클라이언트 단말로 전송할 수 있다.
도 3은 본 발명에 따른 ε-거리 조인 질의 처리 장치(100)가 포함하는 질의 결과 연산부(120)의 주요 구성을 나타낸 블록도이다.
상기 질의 결과 연산부(120)는 노드 결정 모듈(121), 데이터 객체 검색 모듈(122), 그룹화 모듈(123), 질의 결과 처리 모듈(124)을 포함할 수 있다.
노드 결정 모듈(121)은 도로 네트워크 상의 노드를 기준으로 교차하는 도로 세그먼트의 개수를 판별할 수 있다. 도로 네트워크 상의 노드를 기준으로 교차하는 도로 세그먼트의 개수가 1개일 경우, 2개일 경우 및 3개 이상일 경우로 노드를 분류하여 결정할 수 있다. 자세한 노드 분류 방법은 후술한다.
데이터 객체 검색 모듈(122)은, 상기 노드 결정 모듈(121)에서 결정된 노드를 기준으로 교차하는 도로 세그먼트의 개수가 1개 혹은 3개 이상인 노드끼리 이어진 도로 세그먼트 상에 위치하는 제1데이터 객체 및 제2데이터 객체를 검색할 수 있다. 데이터 객체 검색 모듈(122)을 통해, 후술할 제1데이터 세그먼트를 정의하는 데 필요한 제1데이터 객체를 추출할 수 있으며, 후술할 제2데이터 세그먼트를 정의하는 데 필요한 제2데이터 객체를 추출할 수도 있으며, 후술할 제1데이터 세그먼트 상에 위치하는 제2데이터 객체를 추출할 수도 있다. 데이터 객체 검색 모듈(122)에서는, 도로 네트워크 상에 존재하는 제1데이터 객체 및 제2데이터 객체를 검색할 수 있다.
그룹화 모듈(123)은, 상기 노드 결정 모듈(121)에서 결정된 노드를 기준으로 교차하는 도로 세그먼트의 개수가 1개 혹은 3개 이상인 노드끼리 이어진 도로 세그먼트 상에 위치하는 제1데이터 객체들을 제1데이터 세그먼트로 정의할 수 있다. 그룹화 모듈(123)은, 상기 노드 결정 모듈(121)에서 결정된 노드를 기준으로 교차하는 도로 세그먼트의 개수가 1개 혹은 3개 이상인 노드끼리 이어진 도로 세그먼트 상에 위치하는 제2데이터 객체들을 제2데이터 세그먼트로 정의할 수 있다. 그룹화 모듈(123)에서 제1데이터 세그먼트와 제2데이터 세그먼트를 정의하는 방법은 후술한다.
질의 결과 처리 모듈(124)은 상기 그룹화 모듈(123)에서 생성된 제1데이터 세그먼트에 대한 ε-거리 조인 질의 처리를 수행할 수 있다. 질의 결과 처리 모듈(124)은 제1 ε-거리 조인 질의 처리 모듈(1241)과 제2 ε-거리 조인 질의 처리 모듈(1242)을 포함하여, 두 가지 방법으로 ε-거리 조인 질의를 수행할 수 있다. 질의 결과 처리 모듈(124)의 주요 구성은 도 4에서 설명된다.
도 4는, 본 발명에 따른 ε-거리 조인 질의 처리 장치(100)가 포함하는 질의 결과 처리 모듈(124)의 주요 구성을 나타낸 블록도이다.
질의 결과 처리 모듈(124)은 제1 ε-거리 조인 질의 처리 모듈(1241)과 제2 ε-거리 조인 질의 처리 모듈(1242), 제1 저장 모듈(1243), 제2 저장 모듈(1244) 및 거리 계산 모듈(1245)을 포함할 수 있다.
제1 ε-거리 조인 질의 처리 모듈(1241)에서는, 상기 그룹화 모듈(123)에서 정의된 제1데이터 세그먼트를 일정 기준으로 분류한다. 상기 제1데이터 세그먼트를 분류하는 기준은, 상기 제1데이터 세그먼트 상에 포함되어 있는 제1데이터 객체의 개수를 기준으로 할 수 있다. 제1데이터 세그먼트 상에 포함되어 있는 제1데이터 객체의 개수가 1개인 경우, 2개인 경우 및 3개 이상인 경우를 기준으로 하여 분류할 수 있다.
제1 ε-거리 조인 질의 처리 모듈(1241)에서는 제1데이터 세그먼트의 양 끝단에 위치하는 제1데이터 객체에 대한 ε-거리 조인 질의를 수행한다. 상기 분류 기준에 의해 분류된 제1데이터 세그먼트 상에 포함되어 있는 제1데이터 객체의 개수가 1개일 경우에는, 제1데이터 세그먼트의 양 끝단에 위치하는 제1데이터 객체가 없이 1개의 객체만 존재하는 것이므로, 1개의 제1데이터 객체에 대해 ε-거리 조인 질의 처리를 수행한다. 제1데이터 세그먼트 상에 포함되어 있는 제1데이터 객체의 개수가 2개일 경우에는, 제1데이터 세그먼트의 양 끝단에 위치하는 제1데이터 객체가 2개의 제1데이터 객체에 해당할 것이므로, 2개의 제1데이터 객체에 대해 ε-거리 조인 질의 처리를 수행한다.
제1데이터 세그먼트 상에 포함되어 있는 제1데이터 객체의 개수가 3개 이상일 경우에는, 제1데이터 세그먼트의 양 끝단에 위치하는 2개의 제1데이터 객체에 대해 ε-거리 조인 질의 처리를 수행하고, 상기 양 끝단에 위치하지 않은 나머지 제1데이터 객체에 대해서는 거리 계산 모듈(1245)을 통해 거리 계산을 수행하게 된다. 상세한 내용은 후술한다.
제1 저장 모듈(1243)은, 제1 ε-거리 조인 질의 처리 모듈(1241)에서 수행된 제1데이터 세그먼트의 양 끝단에 위치하는 제1데이터 객체에 대해 ε-거리 조인 질의를 수행한 결과로 나타난 상기 양 끝단에 위치하는 제1데이터 객체 각각으로부터 거리 ε 이내에 위치하는 제2데이터 객체들을 저장할 수 있다. 제1 저장 모듈(1243)은 제1 ε-거리 조인 질의 처리 모듈(1241)에서 수행된 결과 데이터를 저장할 수 있다.
제2 저장 모듈(1244)은, 상기 그룹화 모듈(123)에서 정의된 제1데이터 세그먼트 상에 포함되어 있는 제2데이터 객체들을 저장할 수 있다.
거리 계산 모듈(1245)은 제1데이터 세그먼트의 양 끝단에 위치하는 제1데이터 객체를 제외한 내부에 포함된 제1데이터 객체에 대해 거리 계산을 수행할 수 있다. 거리 계산 모듈(1245)은 제1 ε-거리 조인 질의 처리 모듈(1241)에서 ε-거리 조인 질의 처리가 수행되지 않은 제1데이터 객체에 대해 거리 계산을 수행할 수 있다.
거리 계산 모듈(1245)은 제1데이터 세그먼트의 양 끝단에 위치하는 제1데이터 객체를 제외한 내부에 포함된 제1데이터 객체와 상기 제1 저장 모듈(1243) 및 제2 저장 모듈(1244)에 저장된 제2데이터 객체들과의 거리를 계산할 수 있다. 거리 계산 모듈(1245)은 제1 ε-거리 조인 질의 처리 모듈(1241)에서 ε-거리 조인 질의가 수행되지 않은 제1데이터 객체에 대해 제1 저장 모듈(1243) 및 제2 저장 모듈(1244)에 저장된 제2데이터 객체와의 거리를 계산하여, 거리 ε 이내에 위치하는 제2데이터 객체를 추출할 수 있다.
제2 ε-거리 조인 질의 처리 모듈(1242)은, 제1 ε-거리 조인 질의 처리 모듈(1241)과 선택적으로 처리될 수 있다. 그러나 일정한 조건에 따라 동시에 처리되어 수행될 수도 있다. 제2 ε-거리 조인 질의 처리 모듈(1242)은, 제1 ε-거리 조인 질의 처리 모듈(1241)과 같이 제1데이터 세그먼트의 양 끝단의 제1데이터 객체에 대해 ε-거리 조인 질의를 처리하는 것이 아니라, 일정한 기준을 만족시킨 노드에 대해서 ε-거리 조인 질의 처리를 수행한다. 상세한 내용은 이하에서 도면과 함께 설명한다.
이하에서는 도 2 내지 도 4에서 설명한 ε-거리 조인 질의 처리 장치(100)의 구성요소를 이용하여, ε-거리 이웃 조인 질의를 수행하는 방법에 대해 도면을 이용하여 구체적으로 설명한다.
도 5는 도로 네트워크 상에서 ε-거리 조인 질의 처리를 설명하기 위해 예시로 제시된 도로 네트워크이다.
ε-거리 조인 질의 처리를 수행하는 방법을 설명하기 이전에, 도면에 표시된 기호들과, 본 명세서에서 쓰여질 기호들 및 용어에 대해 간단히 설명한다.
r1 내지 r5는 제1데이터 객체를 나타낸다. 즉, r은 제1데이터 객체의 집합 R이 포함하는 제1데이터 객체들을 의미한다. 도면에서는 사각형으로 표시된다. s1 내지 s6은 제2데이터 객체를 나타낸다. 즉, s는 제2데이터 객체의 집합 S가 포함하는 제2데이터 객체를 의미한다. 도면에서는 삼각형으로 표시된다. 도로 세그먼트 상에 표시된 숫자(number)는 두 지점간의 거리를 의미하며 노드
Figure pat00001
부터
Figure pat00002
각각은 도로 세그먼트(segment) 각각의 교차점 또는 경계점을 가리킨다. 노드는 원으로 표시된다. 이때, 도로 네트워크 위의 숫자(number)는 두 지점간의 거리를 나타낼 수도 있고, 도로 네트워크에서 도로의 트래픽을 고려한 가중치가 부여된 두 지점 간의 도달시간을 나타낼 수도 있다. ε은 사용자가 원하는 특정 거리 혹은 특정 시간일 수 있다.
이하에서는 후술할 명세서 및 알고리즘에서 쓰이는 기호에 대해 설명한다.
Figure pat00003
는 노드 시퀀스, 즉 임의의 노드들(
Figure pat00004
,
Figure pat00005
,
Figure pat00006
??)끼리 이어진 세그먼트를 의미한다.
Figure pat00007
혹은
Figure pat00008
은 정의된 제1데이터 세그먼트를 의미한다.
Figure pat00009
혹은
Figure pat00010
는 정의된 제2데이터 세그먼트를 의미한다.
Figure pat00011
은 특정 지점 p로부터 거리 ε이내에 존재하는 제2데이터 객체의 집합을 의미한다. S(
Figure pat00012
)는 세그먼트
Figure pat00013
상에 위치하고 있는 제2데이터 객체의 집합을 의미한다. RNQ(ε,p)는 특정 지점 p로부터 거리 ε이내의 제2데이터 객체들을 도출하는 레인지 쿼리 함수이다. 이를 ε-거리 조인 질의 처리 함수로 볼 수 있다. dist(p, q)는 각 포인트 지점인 p와 q 사이를 연결하는 최단 경로의 길이를 의미한다. len(p, q)는 각 포인트 지점인 p와 q 사이를 연결하는 세그먼트상의 길이를 의미하며, 이 때 p와 q는 같은 노드 시퀀스 상에 위치하여야 한다.
상기 용어들을 바탕으로 하여 ε-거리 조인 질의를 수행하는 방법에 대해 설명한다.
도 6(a)는 ε-거리 조인 질의 처리 장치에서, 제1데이터 세그먼트를 정의하는 방법을 설명하기 위한 도면이다. 도 6(b)는 ε-거리 조인 질의 처리 장치에서, 제2데이터 세그먼트를 정의하는 방법을 설명하기 위한 도면이다.
노드 결정 모듈(121)에서는, 전술한 바와 같이 도로 네트워크 상의 노드를 기준으로 교차하는 도로 세그먼트의 개수를 판별하여, 노드를 분류하고 결정할 수 있다.
도 6을 참조하면, 노드는 도로 네트워크에서의 도로 세그먼트가 각각 교차하는 교차점 또는 경계점을 의미하므로, 도 6에 나타난 도로 네트워크 상에는 노드로 표시된
Figure pat00014
내지
Figure pat00015
외에도, s5와 s2가 배치된 부분에 2개의 노드가 더 존재하게 된다.
노드 결정 모듈(121)에서는 일정한 기준에 따라, 노드를 3종류로 분류할 수 있다. 도로 네트워크에서의 노드를 기준으로, 인접하는 도로 세그먼트가 3개 이상일 경우에는 인터섹션(intersection) 노드로 정의한다. 도로 네트워크에서의 노드를 기준으로, 인접하는 도로 세그먼트가 2개일 경우에는 인터메디에잇(intermediate) 노드로 정의한다. 도로 네트워크에서의 노드를 기준으로, 인접하는 도로 세그먼트가 1개일 경우에는 터미널(terminal) 노드로 정의한다.
도 6을 참조하면, 노드
Figure pat00016
의 경우 노드
Figure pat00017
을 기준으로 3개의 도로 세그먼트가 인접해 있기 때문에
Figure pat00018
은 인터섹션 노드로 정의된다. 노드
Figure pat00019
의 경우
Figure pat00020
를 기준으로 2개의 도로 세그먼트가 인접해 있기 때문에
Figure pat00021
는 인터메디에잇 노드로 정의된다. 마찬가지로, 노드
Figure pat00022
의 경우 인터섹션 노드로 정의되며 노드
Figure pat00023
의 경우 인터메디에잇 노드로 정의된다. 또한 도면에 표시되지 않은 노드인 r2와 r5가 배치된 부분에 존재하는 2개의 노드 역시 교차하는 도로 세그먼트의 개수가 2개인 바, 인터메디에잇 노드로 정의된다. 상기 도면 상에는 나타나지 않았지만, 노드를 기준으로 교차하는 도로 세그먼트의 개수가 1개일 수도 있으며, 4개 이상인 경우도 있을 수 있다.
상기 노드 결정 모듈(121)에서 노드를 기준으로 교차하는 도로 세그먼트의 개수를 판별하고 노드를 분류하면, 그를 이용하여 그룹화 모듈(123)은 제1데이터 세그먼트를 정의할 수 있다. 상기 노드 결정 모듈(121)에서 결정된 노드를 기준으로 교차하는 도로 세그먼트의 개수가 1개 혹은 3개 이상인 노드끼리 이어진 도로 세그먼트 상에 위치하는 제1데이터 객체들을 제1데이터 세그먼트로 정의할 수 있다.
상기 노드 결정 모듈(121)에서 결정된 노드를 기준으로 교차하는 도로 세그먼트의 개수가 1개 혹은 3개 이상인 노드끼리 이어진 도로 세그먼트를 설명을 위해, "노드 시퀀스"로 본 명세서에서 정의한다.
이하에서는 상기 정의된 노드들을 이용하여 노드 시퀀스를 형성하는 방법에 대해 설명한다. 노드 시퀀스는 두 노드 간의 경로일 수 있다. 이 때 노드 시퀀스의 양 끝단을 이루는 노드로는 인터섹션(intersection) 노드 혹은 터미널(terminal) 노드가 될 수 있다. 또한 노드 시퀀스의 양 끝단을 제외한 내부에 포함되는 노드는 인터메디에잇(intermediate) 노드가 될 수 있다.
즉, 노드 시퀀스를 형성하는 방법은 터미널(terminal) 노드 혹은 인터섹션(intersection) 노드를 노드 시퀀스의 시작점으로 설정한다. 그 후, 다른 터미널(terminal) 노드 혹은 다른 인터섹션(intersection) 노드까지 경로를 이동한다. 그 때, 노드 시퀀스의 양 끝단을 제외한 내부 세그먼트에 포함되는 노드는 인터메디에잇(intermediate) 노드일 수 있다.
상기 노드 시퀀스를 설정하는 방법을 도 6을 참고하여 설명하면 다음과 같다. 인터섹션(intersection) 노드인
Figure pat00024
을 기준으로, 다른 인터섹션(intersection) 노드인
Figure pat00025
까지 경로를 이동하면
Figure pat00026
의 세 개의 노드 시퀀스가 설정될 수 있다. 이때 노드 시퀀스의 양 끝단(
Figure pat00027
,
Figure pat00028
)을 제외한 내부 시퀀스에 포함되는 노드인
Figure pat00029
Figure pat00030
는 인터메디에잇(intermediate) 노드인 바, 노드 시퀀스는 적법하게 설정된 것을 확인할 수 있다.
이하에서는, 상기 설정된 노드 시퀀스를 이용하여 제1데이터 세그먼트 및 제2데이터 세그먼트를 정의하는 방법을 설명한다. 제1데이터 세그먼트는 상기 설정된 노드 시퀀스에 포함된 제1데이터 객체들의 집합을 이용하여 설정될 수 있다.
데이터 객체 검색 모듈(122)은, 상기 설정된 노드 시퀀스 상에 위치하는 제1데이터 객체 및 제2데이터 객체를 검색할 수 있다. 데이터 객체 검색 모듈(122)은 상기 노드 시퀀스 상에 위치하는 제1데이터 객체를 검색하여, 그룹화 모듈(123)에서 제1데이터 세그먼트를 정의할 수 있다. 제1데이터 세그먼트를 정의하는 방법을 이하에서 도면을 이용하여 설명한다.
도 5 내지 도 6을 참고하여, 상기 노드 시퀀스인
Figure pat00031
에 각각 포함된 제1데이터 객체들을 살펴본다. 노드 시퀀스
Figure pat00032
에 포함된 제1데이터 객체는 r1, r2이다. 노드 시퀀스
Figure pat00033
에 포함된 제1데이터 객체는 없다. 노드 시퀀스
Figure pat00034
에 포함된 제1데이터 객체는 r3, r4, r5이다.
제1데이터 세그먼트는, 상기 각각의 노드 시퀀스 상에 포함된 제1데이터 객체들을 그룹화한 것을 의미한다. 즉 노드 시퀀스
Figure pat00035
에 포함되는 제1데이터 세그먼트는
Figure pat00036
로 그룹화할 수 있다. 노드 시퀀스
Figure pat00037
에 포함된 제1데이터 세그먼트는
Figure pat00038
로 그룹화될 수 있다. 따라서 제1데이터 세그먼트는 하나의 도로네트워크 상에서, 노드 시퀀스가 생성되는 개수와 같거나 더 적은 개수로 제1데이터 세그먼트의 개수가 결정될 수 있다.
제2데이터 세그먼트 역시 같은 맥락으로 결정될 수 있다. 노드 시퀀스
Figure pat00039
에 포함된 제2데이터 객체는 s1, s4, s5이다. 노드 시퀀스
Figure pat00040
에 포함된 제2데이터 객체는 s6이다. 노드 시퀀스
Figure pat00041
에 포함된 제2데이터 객체는 s2, s3이다. 노드 시퀀스
Figure pat00042
에 포함되는 제2데이터 세그먼트는
Figure pat00043
로 그룹화 할 수 있다. 노드 시퀀스
Figure pat00044
에 포함되는 제2데이터 세그먼트는 s6 하나만 존재하는 바 그대로 표시된다. 노드 시퀀스
Figure pat00045
에 포함되는 제2데이터 세그먼트는
Figure pat00046
그룹화될 수 있다.
즉 제1데이터 세그먼트를 정의하는 방법은, 데이터 객체 검색 모듈(122)을 이용하여 상기 노드 시퀀스 상에 포함된 제1데이터 객체를 검색한 후에, 상기 노드 시퀀스의 한 끝단의 노드에서 가장 가까운 제1데이터 객체를 시작점으로 하고, 상기 노드 시퀀스의 나머지 끝단의 노드에서 가장 가까운 제1데이터 객체를 끝지점으로 하여 상기 노드 시퀀스 상에 포함된 제1데이터 객체를 모두 포함하도록 이어진 도로 세그먼트의 일부분을 제1데이터 세그먼트로 정의할 수 있다. 제2데이터 세그먼트의 정의 방법도 동일하다.
상기와 같이 제1데이터 세그먼트
Figure pat00047
과 제2데이터 세그먼트
Figure pat00048
를 정의한 후에는, 제1데이터 세그먼트의 개수와 제2데이터 세그먼트의 개수를 비교하여 ε-조인 질의를 처리할 수 있다. 상기 세그먼트들의 개수를 비교함으로써, 더 작은 개수를 가지는 데이터 세그먼트를 기준으로 하여 ε-거리 조인 질의를 처리할 수 있다. 더 큰 개수를 가지는 데이터 세그먼트를 기준으로 하여 ε-거리 조인 질의를 처리해도 도출되는 결과값은 동일하나, 처리시간이 달라질 수 있다. 더 작은 개수를 가지는 데이터 세그먼트를 기준으로 하여 조인 질의를 수행하는 경우, 더 적은 ε-거리 조인 질의 처리를 수행할 수 있으므로 처리 시간 측면에서 효율적일 수 있다. 가령, 제1데이터 세그먼트의 개수가 5개이고, 제2데이터 세그먼트의 개수가 100개라고 가정한다. 제1데이터 세그먼트 각각이 3개의 제1데이터 객체를 포함한다고 했을 때, ε-거리 조인 질의 처리는 제1데이터 세그먼트의 양 끝단의 제1데이터 객체 2개, 즉 5개의 제1데이터 세그먼트의 경우 총 10개의 ε-거리 조인 질의 처리가 수행되게 된다. 그러나 제2데이터 세그먼트를 기준으로 할 경우, 각각의 제2데이터 세그먼트의 양 끝단의 제1데이터 객체에 대해 ε-거리 조인 질의 처리를 수행하는 경우 총 200개의 ε-거리 조인 질의 처리가 수행되어야 하므로, 질의 처리 시간 측면에서 더 작은 개수를 가지는 데이터 세그먼트를 기준으로 하여 조인 질의를 수행하는 것이 처리 시간을 단축시킬 수 있다.
기준으로 한다는 것의 의미는 해당 데이터 객체로부터 거리 ε 이내인 다른 집합의 데이터 객체를 도출할 때, 해당 데이터 객체를 기준점으로 정하고, 기준점으로 정한 데이터 객체로부터 거리 ε 이내인 다른 집합의 데이터 객체를 찾는다는 것을 의미한다. 따라서 제1데이터 집합과 제2데이터 집합이 있을 때, 제1데이터 집합을 기준으로 할 경우 제1데이터 집합으로부터 거리 ε 이내의 데이터 객체들은 제2데이터 집합으로부터 찾고, 제2데이터 집합을 기준으로 할 경우 제2데이터 집합으로부터 거리 ε 이내의 데이터 객체들은 제1데이터 집합으로부터 찾을 수 있다.
즉, 본 발명에서는 제1데이터 객체와 제2데이터 객체에 대해 각각 제1데이터 세그먼트와 제2데이터 세그먼트를 정의하여, 데이터 세그먼트의 개수가 적은 데이터 세그먼트를 기준으로 하여 ε-거리 조인 질의를 수행할 수 있다. 본 발명에서는 교환법칙이 성립되어, 기준을 어떤 데이터 세그먼트로 잡더라도 결과는 동일하나, 처리 시간에서는 차이가 있을 수 있다.
이하에서는, 제1데이터 세그먼트가 기준이 되는 데이터 집합 R로 설정된 경우로 가정하여 설명한다. 즉, 제1데이터 집합 R을 기준으로 하여, 제1데이터 집합 R에 포함된 제1데이터 객체로부터 거리 ε 이내에 위치하는 제2데이터 객체를 제2데이터 집합 S로부터 찾는다는 것을 가정하고 설명한다.
상기 정의된 제1데이터 세그먼트에 대해 ε-거리 조인 질의를 수행하게 된다. 이를 수행하는 자세한 메커니즘은 이하에서 설명한다.
제1 ε-거리 조인 질의 처리 모듈(1241)에서는, 상기 정의된 제1데이터 세그먼트에 포함된 제1데이터 객체의 개수들을 추출한다. 도 6을 예로 들면, 제1데이터 세그먼트
Figure pat00049
에 포함된 제1데이터 객체의 개수는 3개이고, 제1데이터 세그먼트
Figure pat00050
에 포함된 제1데이터 객체의 개수는 2개이다.
이 때, 제1데이터 세그먼트에 포함된 제1데이터 객체의 개수가 1개 혹은 2개일 경우에는, 제1 ε-거리 조인 질의 처리 모듈(1241)은 해당 데이터 세그먼트에 포함된 모든 제1데이터 객체에 대하여 ε-거리 조인 질의를 수행한다.
제1데이터 세그먼트에 포함된 제1데이터 객체의 개수가 3개 이상일 경우에는 이하와 같이 처리된다.
제1 ε-거리 조인 질의 처리 모듈(1241)은 제1데이터 세그먼트의 양 끝단에 포함된 제1데이터 객체들을 추출한다. 제1데이터 세그먼트
Figure pat00051
의 경우에는 제1데이터 세그먼트의 양 끝단에 위치하는 제1데이터 객체는 r3 및 r4에 해당한다. 이 때 양 끝단에 포함된 제1데이터 객체에 대해서는 제1 ε-거리 조인 질의 처리 모듈(1241)에서 ε-거리 조인 질의 처리를 수행한다. 그러나 양 끝단에 포함된 제1데이터 객체를 제외한, 제1데이터 세그먼트의 내부에 포함된 나머지 제1데이터 객체인 r5에 대해서는 ε-거리 조인 질의 처리를 수행하지 않고 거리 ε 이내에 위치하는 제2데이터 객체들을 추출할 수 있다.
제1데이터 세그먼트의 양 끝단에 포함된 제1데이터 객체를 제외한 내부에 포함된 나머지 제1데이터 객체(도 6에서는 r5)에 대해서는 거리 계산 모듈(1245)을 이용하여 거리 계산이 수행된다. 이 때, 거리 계산이 진행되는 제2데이터 객체의 집합은 제1 저장 모듈(1243)에 저장되는 상기 제1 데이터 세그먼트의 양 끝단에 포함된 제1데이터 객체들에 대한 ε-거리 조인 질의 결과와, 제2 저장 모듈(1244)에 저장되는 제1데이터 세그먼트 내부에 포함된 제2데이터 객체를 합친 것의 집합일 수 있다.
즉, 상기 알고리즘이 가능하기 위해서는 제1데이터 세그먼트의 양 끝단에 포함된 제1데이터 객체를 제외한 내부에 포함되는 제1데이터 객체에 대한 ε-거리 조인 질의 결과가, 제1데이터 세그먼트의 양 끝단에 포함된 제1데이터 객체들로부터 거리 ε 이내의 제2데이터 객체 및 제1데이터 세그먼트에 포함된 제2데이터 객체를 합친 집합 중에 포함되어야 함이 전제되어야 한다.
이를 도 7을 이용하여, 간단한 증명으로써 입증한다.
증명하고자 하는 명제는 다음과 같다.
모든 제1데이터 객체
Figure pat00052
을 만족할 때, 즉 제1데이터 세그먼트 내부에 모든 제1데이터 객체가 포함되는 경우를 가정한다. 이 때,
Figure pat00053
를 만족한다.
Figure pat00054
가 의미하는 바는 제1데이터 객체
Figure pat00055
혹은
Figure pat00056
로부터 거리 ε 이내에 위치하는 제2데이터 객체들을 의미하며,
Figure pat00057
가 의미하는 바는 제1데이터 세그먼트
Figure pat00058
상에 위치해 있는 제2데이터 객체들을 의미한다.
즉, 상기 수식이 의미하는 바는 제1데이터 세그먼트 내부에 포함된 제1데이터 객체로부터 거리 ε 이내에 위치하는 제2데이터 객체는, 제1데이터 세그먼트의 양 끝단에 위치한 각 제1데이터 객체로부터 거리 ε 이내에 위치하는 제2데이터 객체들의 집합과 제1데이터 세그먼트 상에 위치한 제2데이터 객체들의 집합을 합친 것 중에 존재한다는 것이다.
증명 방법으로는, 상기 수식이 반대됨을 전제로 하여, 반대되는 명제가 참이 아님을 증명한다. 즉,
Figure pat00059
가 참이 아님을 가정한다. 여기서 제2데이터 객체
Figure pat00060
이라고 가정할 경우,
Figure pat00061
Figure pat00062
의 집합에 포함되지 않게 된다. 또한
Figure pat00063
Figure pat00064
,
Figure pat00065
의 집합에도 역시 포함되지 않게 된다. 따라서
Figure pat00066
Figure pat00067
와의 거리는 거리 ε보다 더 멀게 된다. 마찬가지로,
Figure pat00068
Figure pat00069
와의 거리는 거리 ε보다 더 멀게 되며, s+는
Figure pat00070
Figure pat00071
를 잇는 세그먼트 상에도 위치하지 않게 된다. 따라서, r부터 s+까지의 최단 거리는
Figure pat00072
과 같이 표현된다.
그러나 상기와 같이
Figure pat00073
Figure pat00074
이므로,
Figure pat00075
를 만족하게 된다. 따라서,
Figure pat00076
Figure pat00077
에 속하지 않게 되고, 이는
Figure pat00078
라는 가정과 모순되게 되는 바, 상기 전제는 타당하지 아니한 것이므로, 이로써,
Figure pat00079
임이 증명되었다.
도 8은 본 발명에 따른 거리 계산을 설명하기 위한 도면이다.
도 8(a)에 따르면, 제2데이터 객체 s가 제1데이터 세그먼트 상에 포함되지 않은 경우 dist(r,s)는
Figure pat00080
로 표현되나, 도 8(b)에 따르면, 제2데이터 객체 s가 제1데이터 세그먼트 상에 포함되는 경우 dist(r,s)는
Figure pat00081
로 표현될 수 있음을 알 수 있다. 따라서, 제1데이터 세그먼트 내에 제2데이터 객체가 포함되는지 여부에 따라 거리 계산 수식은 달라질 수 있음을 나타낸다.
즉 상기 증명에 따르면, 제1데이터 세그먼트의 양 끝단에 포함된 제1데이터 객체를 제외하고, 내부에 포함된 제1데이터 객체에 대해서 ε-거리 조인 질의를 처리할 필요 없이, 이미 처리된 제2데이터 객체의 집합 내에서 간단한 연산을 통해 거리만을 계산함으로써 ε-거리 조인 질의를 하는 것과 같은 결과를 얻을 수 있는 것으로써, 모든 제1데이터 객체에 대해 ε-거리 조인 질의를 수행하는 것보다 시간 측면이나 효율 측면에서 훨씬 효과적으로 수행이 가능하게 된다.
상기 설명한 ε-조인 질의 처리 및 거리 계산을 수행하는 알고리즘은 다음과 같이 표현될 수 있다.
이하 알고리즘 1은 상기 위에서 전술한 제1데이터 세그먼트와 제2데이터 세그먼트의 그룹화 과정과 제1데이터 세그먼트 내에 포함된 제1데이터 객체의 개수에 따라 ε-거리 조인 질의 처리를 수행하는 내용을 알고리즘으로 나타낸 것이다.
Figure pat00082
상기 알고리즘 1에 따르면, 제1데이터 세그먼트 내에 포함된 제1데이터 객체의 개수가 2개 이상인 경우 내부에 포함된 제1데이터 객체에 대해서는 이하의 알고리즘 3에 나타난 거리 계산 수식을 통해 도출이 가능하다.
Figure pat00083
알고리즘 3에 있어서, 거리 판단의 대상이 되는 제2데이터 객체 s가 어떠한 집합 안에 포함되는지 여부에 따라, 7가지의 알고리즘을 통해 제1데이터 객체와 제2데이터 객체 간의 거리를 계산할 수 있다. 제2데이터 객체의 포함 조건에 따른 거리 계산을 나타내는 표는 아래와 같이 표현할 수 있다.
Figure pat00084
상기 설명한 알고리즘 1과 알고리즘 3 및 설명한 ε-거리 조인 질의 방법에 의해, 도 6의 도로 네트워크 상에서 각각의 제1데이터 객체로부터 거리 ε 이내에 존재하는 제2데이터 객체를 찾는 방법에 대해서 설명한다.
제1데이터 객체의 집합은 r1 내지 r5에 해당하고, 제2데이터 객체의 집합은 s1 내지 s6가 된다. 본 실시예에서 거리 ε는 5로 설정한다.
상기에서 설명한 바와 같이, 도 6의 도로 네트워크에서의 제1데이터 세그먼트는
Figure pat00085
,
Figure pat00086
로 정의된다. 상기 정의된 제1데이터 세그먼트를 이용하여, 제1데이터 세그먼트 내에 포함된 제1데이터 객체의 개수를 기준으로 분류를 수행한다. 제1데이터 세그먼트 내에 포함된 제1데이터 객체의 개수에 따라 각각의 제1데이터 세그먼트의 양 끝단에 배치된 제1데이터 객체에 대해 ε-거리 조인 질의 처리를 수행하고, 제1데이터 세그먼트 상에 포함된 제2데이터 객체와, 제1데이터 세그먼트의 양 끝단을 제외한 내부에 포함된 제1데이터 객체 및 상기 ε-거리 조인 질의 처리 결과의 집합을 나타낸 표가 아래에 제시된다.
Figure pat00087
2개의 제1데이터 객체를 포함하는 제1데이터 세그먼트
Figure pat00088
에 대해서는, r1과 r2에 대해 ε-거리 조인 질의가 수행된다.
3개 이상의 제1데이터 객체를 포함하는 제1데이터 세그먼트인
Figure pat00089
에 대해 살펴본다. 전술한 바에서 증명한 명제에 따르면, 제1데이터 세그먼트
Figure pat00090
가 포함하는 r5에 대해서, r5로부터 거리 ε 이내의 제2데이터 객체는
Figure pat00091
중에 있을 수 있다. 남은 단계는, 거리 계산 모듈을 이용하여 거리 계산을 진행할 수 있다. 상기 제2 데이터 객체들과, 제1데이터 세그먼트의 내부에 포함된 r5와의 거리를 계산하기 위해 상기 알고리즘 3 및 상기 표 1에 따른 거리 계산 기준이 이용된다. 각각의 제2데이터 객체에 대해 거리를 계산하는 알고리즘을 수행한다.
구체적으로, 제1데이터 객체 r5에 있어서, r5와 거리 ε 이내에 있을 수 있는 제2데이터 객체의 집합에는 {
Figure pat00092
}가 있다.
제2데이터 객체
Figure pat00093
이므로, r5부터 s2까지의 거리인
Figure pat00094
일 수 있다.
제2데이터 객체
Figure pat00095
이므로, r5부터 s3까지의 거리인
Figure pat00096
일 수 있다.
제2데이터 객체
Figure pat00097
이므로, r5부터 s6까지의 거리인
Figure pat00098
일 수 있다.
즉 r5로부터 거리 5 이내에 있는 제2데이터 객체는 s2인 것을 알 수 있다.
따라서 r5에 대해서는 ε-거리 조인 질의를 수행하지 아니하고 거리 ε 내에 위치하는 제2데이터 객체를 도출해 낼 수 있다.
본 발명의 다른 실시예에 따르면, 상기 전술한 방법을 이용한 ε-거리 조인 질의 방법보다 처리를 더 효율적으로 진행할 수 있는 방법을 제안한다.
본 발명의 다른 실시예에서는, 질의 결과 처리 모듈(124)의 제2 ε-거리 조인 질의 처리 모듈(1242)을 이용하여 ε-거리 조인 질의를 수행할 수 있다.
상기 방법은 도로 네트워크 상에 노드로부터 노드 시퀀스를 설정하고, 상기 노드 시퀀스 내부에 포함된 제1데이터 세그먼트 및 제2데이터 세그먼트를 정의하는 방법까지는 전술한 바와 동일하므로 생략한다.
전술한 제1 ε-거리 조인 질의 처리 모듈(1241)을 이용한 ε-거리 조인 질의 처리 방법의 실시예에서는, 제1데이터 세그먼트 내에 포함된 제1데이터 객체의 개수가 3개 이상일 경우 내부에 포함된 제1데이터 객체에 대해서는 거리 계산 모듈(1245)을 이용한 거리 계산을 이용하였다면, 본 실시예에서는 특정 노드를 기준으로 한 제1데이터 세그먼트의 개수가 2개 이상일 경우에 전술한 바와 다른 방법을 이용하여 제2 ε-거리 조인 질의 처리 모듈(1242)을 이용하여 ε-거리 조인 질의를 수행한다.
제2 ε-거리 조인 질의 처리 모듈(1242)에서의 처리 방법은 이하와 같다.
상기와 같이 제1데이터 세그먼트를 정의한 경우, 인터섹션 노드를 기준으로 교차하는 인접한 도로 세그먼트에 포함되는 제1데이터 세그먼트의 개수를 추출한다. 이 때, 추출한 노드와 인접한 도로 세그먼트에 포함된 제1데이터 세그먼트가 2개 이상일 경우에는, 상기 추출한 노드에 대한 ε-거리 조인 질의를 수행한다.
추출한 노드와 인접한 도로 세그먼트에 포함된 제1데이터 세그먼트가 2개 이상일 경우를 도 10을 이용하여 설명한다. 이를 설명하기 전에 새로운 문자를 정의한다.
Figure pat00099
는, 인터섹션 노드
Figure pat00100
와 인접한 도로 세그먼트에 존재하는 제1 데이터 세그먼트의 개수를 의미한다.
도 10은 도로 네트워크들의 일 예를 나타낸 도면이다. 도면에서 굵은 부분으로 표시한 것은 제1데이터 세그먼트를 나타낸다.
도 10(a)에서는 도로 네트워크 상에 제1데이터 세그먼트가 존재하지 아니한다. 이 경우, ε-거리 조인 질의는 수행되지 아니한다.
도 10(b)에서는 도로 네트워크 상에 제1데이터 세그먼트
Figure pat00101
상에 포함되는 제1데이터 객체
Figure pat00102
Figure pat00103
이 존재한다. 도 10(b)에서는, 인터섹션 노드
Figure pat00104
를 기준으로 인접한 제1데이터 세그먼트가 1개이기 때문에, 이러한 경우에는 전술한 바와 같이 제1 ε-거리 조인 질의 처리 모듈(1241)을 이용하여 ε-거리 조인 질의 처리를 수행할 수 있다.
도 10(c)에서는 도로 네트워크 상에, 제1데이터 세그먼트
Figure pat00105
,
Figure pat00106
이 존재한다. 도 10(c)에서는, 인터섹션 노드
Figure pat00107
를 기준으로 인접한 제1데이터 세그먼트가 3개이기 때문에, 노드
Figure pat00108
를 기준으로 하여 ε-거리 조인 질의 처리를 수행할 수 있다.
노드를 기준으로 ε-거리 조인 질의 처리를 수행하는 것은 이하와 같이 설명할 수 있다.
Figure pat00109
값이 0인 경우, 즉 도 10(a)와 같이 인터섹션 노드
Figure pat00110
를 기준으로 인접한 도로 세그먼트 내에 제1데이터 세그먼트가 0개인 경우,
Figure pat00111
에 대한 ε-거리 조인 질의 처리는 수행되지 않는다.
Figure pat00112
값이 1인 경우, 즉 도 10(b)와 같이 인터섹션 노드
Figure pat00113
를 기준으로 인접한 도로 세그먼트 내에 제1데이터 세그먼트가 1개인 경우 노드
Figure pat00114
에 대한 ε-거리 조인 질의 처리를 수행하는 것과 노드
Figure pat00115
와 근접한 제1데이터 세그먼트의 끝단
Figure pat00116
에 대해 ε-거리 조인 질의 처리를 수행하는 것이 결과가 동일하므로, 제1데이터 세그먼트의 끝단인
Figure pat00117
에 대해 ε-거리 조인 질의 처리가 수행된다.
Figure pat00118
값이 2 이상인 경우, 즉 도 10(c)와 같이 인터섹션 노드
Figure pat00119
를 기준으로 인접한 도로 세그먼트에 제1데이터 세그먼트가 3개인 경우에는 노드
Figure pat00120
에 대한 ε-거리 조인 질의 처리를 수행한다. 이때,
Figure pat00121
가 n개라고 가정했을 때, ε-거리 조인 질의 처리를 수행하는 데 사용되는 거리
Figure pat00122
으로 정의할 수 있다. 즉, 인터섹션 노드인
Figure pat00123
와 인접한 제1데이터 세그먼트들 중
Figure pat00124
와 인접한 쪽의 끝단의 제1데이터 객체들에 대해서,
Figure pat00125
와 각 제1데이터 세그먼트의 끝단과의 거리는 각각 다를 것이므로, 노드와 각 끝단과의 거리를 계산하고, 실제 구하고자 하는 거리에서 그 거리 중 최소 거리를 뺀 값에 대해 ε-거리 조인 질의 처리를 수행함으로써, 원래대로라면 3번의 ε-조인 질의 처리를 수행(
Figure pat00126
,
Figure pat00127
,
Figure pat00128
)하여야 했던 것을 1번의 ε-조인 질의 처리(
Figure pat00129
)로 간단하게 처리할 수 있는 효과가 있다.
도 11은 제2 ε-거리 조인 질의 모듈에서, 대상이 되는 노드가 인터섹션 노드가 되어야 하는 근거를 설명한다. 도 11에 따르면, 하나의 인터섹션 노드
Figure pat00130
와 3개의 터미널 노드
Figure pat00131
,
Figure pat00132
,
Figure pat00133
가 개시된다.
이 때, 도 11에 따른 로드 네트워크에서, 제1 ε-거리 조인 질의 처리 모듈을 이용하여 질의를 수행할 경우,
Figure pat00134
Figure pat00135
의 2개의 제1데이터 객체에 대해 ε-거리 조인 질의를 수행한다. 그러나 제2 ε-거리 조인 질의 처리 모듈을 이용하여 질의를 수행할 경우에는,
Figure pat00136
1개의 제1데이터 객체에 대해 ε-거리 조인 질의를 수행한다. 이 근거는,
Figure pat00137
와 동일하기 때문이다. 즉, 터미널 노드의 경우 해당 노드에 추가적으로 연결되는 다른 도로 세그먼트가 없기 때문에, 상기 수식을 만족할 수 있다. 즉, 도로 네트워크에서 노드를 기준으로 데이터 세그먼트를 수행하는 것은 인터섹션 노드를 기준으로 처리하는 것이 효율적이다.
이하에서는, 상기 제2 ε-거리 조인 질의 처리 모듈(1242)을 이용하여 도 5 내지 도 6에서의 ε-거리 조인 질의를 처리하는 방법에 대해 설명한다.
전술한 바와 같이, 제1 ε-거리 조인 질의 처리 모듈(1241)을 이용하여 ε-거리 조인 질의를 수행할 때에는 제1데이터 객체 r1, r2, r3, r4에 대해서 ε-거리 조인 질의를 수행하였다. 즉 총 4번의 ε-거리 조인 질의를 수행하였다. 그러나, 제2 ε-거리 조인 질의 처리 모듈(1242)을 이용하여 ε-거리 조인 질의를 수행할 경우, 인터섹션 노드인
Figure pat00138
,
Figure pat00139
에 대해서만 ε-거리 조인 질의를 수행하더라도 상기와 같은 결과를 얻을 수 있는 바, 2번의 ε-거리 조인 질의를 이용하여 처리가 가능하므로, 훨씬 효율적인 방법임을 확인할 수 있다. 즉,
Figure pat00140
에 대한 ε-거리 조인 질의는 r1 및 r4에 대한 ε-거리 조인 질의를 대체할 수 있으며,
Figure pat00141
에 대한 ε-거리 조인 질의는 r2 및 r3에 대한 ε-거리 조인 질의를 대체할 수 있다. 또한 r5에 대해서는 제1 ε-거리 조인 질의 처리 모듈 및 제2 ε-거리 조인 질의 처리 모듈 모두에서 ε-거리 조인 질의 처리를 수행하지 않고 거리 ε 이내에 위치하는 제2데이터 객체를 얻을 수 있다.
이하의 알고리즘 2는 상기 전술한 제1데이터 세그먼트와 제2데이터 세그먼트의 그룹화 과정과, 노드를 기준으로 하여 ε-거리 조인 질의 처리를 수행하는 내용을 알고리즘으로 나타낸 것이다.
Figure pat00142
상기 알고리즘 2는, 제2 ε-거리 조인 질의 처리 모듈에 의해 ε-거리 조인 질의 처리를 수행하는 프로그래밍 코드를 나타낸다. 상기 알고리즘 2에 따르면, 알고리즘 1과 동일하게 제1데이터 세그먼트와 제2데이터 세그먼트의 그룹화 과정이 수행되고, 각각의 인터섹션 노드
Figure pat00143
를 기준으로 근접한 제1데이터 세그먼트의 개수를 추출하고, 근접한 제1데이터 세그먼트의 개수가 2개 이상인 경우 해당 노드
Figure pat00144
에 대해서 ε-거리 조인 질의를 수행한다. 그 후 각각의 노드 시퀀스 내에 포함되는 각각의 제1데이터 세그먼트에 대해, 각 노드를 기준으로 인접하는 도로 세그먼트에 포함되는 제1데이터 세그먼트의 개수를 판단한다. 인접하는 도로 세그먼트에 포함되는 제1데이터 세그먼트의 개수가 0개 혹은 1개일 경우, 해당 노드와 근접하는 제1데이터 객체에 대한 ε-거리 조인 질의를 수행한다. 인접하는 도로 세그먼트에 포함되는 제1데이터 세그먼트의 개수가 2개 이상일 경우, 해당 노드에 대한 ε-거리 조인 질의 처리 결과가 포함된 제2데이터 객체 집합에 대해 거리 계산을 수행하여, 특정 거리 ε 이내에 위치하는 제2데이터 객체를 도출할 수 있다.
도 6에서, 제2 ε-거리 조인 질의 처리 모듈(1242)을 이용하여 처리한 결과를 설명하면 이하와 같다.
Figure pat00145
상기 표에 의하면, 제1데이터 세그먼트는
Figure pat00146
로 설정되며, 도 6에 나타난 바에 따르면 인터섹션 노드는
Figure pat00147
Figure pat00148
로 설정된다.
Figure pat00149
을 기준으로 하였을 때, 근접하는 도로 세그먼트 내에 위치하는 제1데이터 세그먼트의 개수는
Figure pat00150
의 총 2개이고,
Figure pat00151
을 기준으로 하였을 때 근접하는 도로 세그먼트 내에 위치하는 제1데이터 세그먼트의 개수는
Figure pat00152
의 총 2개이다.
즉 인터섹션 노드인
Figure pat00153
Figure pat00154
를 기준으로 했을 때 근접하는 제1데이터 세그먼트의 개수가 2개 이상이므로, 각 노드에 대한 ε-거리 조인 질의를 수행한다.
Figure pat00155
에 대한 ε-거리 조인 질의는 다음과 같은 수식으로 나타낼 수 있다.
Figure pat00156
Figure pat00157
에 대한 ε-거리 조인 질의는 다음과 같은 수식으로 나타낼 수 있다.
Figure pat00158
따라서 상기 수식 결과,
Figure pat00159
에 대한 ε-거리 조인 질의는 거리값이 마이너스로 나타나게 되므로 ε-거리 조인 질의가 수행될 수 없다.
Figure pat00160
에 대한 ε-거리 조인 질의가 수행되게 된다.
따라서 노드
Figure pat00161
으로부터 수식에 의해 결정된 거리인 4 이내에 위치하는 제2데이터 객체는, ε-거리 조인 질의 처리 수행 결과 s6으로 도출된다.
상기와 같이 각 노드에 대한 ε-거리 조인 질의가 수행된 이후에는, 해당 질의 결과로 얻어진 제2데이터 객체들과, 알고자 하는 제1데이터 세그먼트가 포함되는 노드 시퀀스 상에 위치하는 제2데이터 객체들의 집합이 거리 계산을 하는 대상 객체가 된다.
따라서 상기 표와 같이 제1데이터 세그먼트
Figure pat00162
에 대해서는 노드
Figure pat00163
에 대한 제2데이터 객체 s6와,
Figure pat00164
가 포함되는 노드 시퀀스
Figure pat00165
상에 위치하는 제2데이터 객체 s1, s4, s5가 제1데이터 객체 r1과 r2와의 거리 계산을 수행하는 대상이 된다. 즉 제1데이터 객체 r1과 r2는 상기 알고리즘 3에 의한 거리 계산 공식에 의하여, 제2데이터 객체 s1, s4, s5, s6에 대해 거리 계산을 수행하여 각 제1데이터 객체로부터 거리 ε 이내에 위치하는 제2데이터 객체를 도출한다.
마찬가지로, 또다른 제1데이터 세그먼트
Figure pat00166
에 대해서는 노드
Figure pat00167
에 대한 제2데이터 객체 s6와,
Figure pat00168
가 포함되는 노드 시퀀스
Figure pat00169
상에 위치하는 제2데이터 객체 s2, s3가 제1데이터 객체 r3, r5, r4와의 거리 계산을 수행하는 대상이 된다. 즉 제1데이터 객체 r3, r5, r4는 상기 알고리즘 3에 의한 거리 계산 공식에 의하여, 제2데이터 객체 s2, s3, s6에 대해 거리 계산을 수행하여 각 제1데이터 객체로부터 거리 ε 이내에 위치하는 제2데이터 객체를 도출한다.
상기 제2데이터 객체의 포함 조건에 따른 거리 계산을 나타내는 표에 의하여 거리 계산을 수행함으로써, 제1 데이터 객체와 특정 거리 ε 안에 위치하는 제2 데이터 객체들을 도출할 수 있다.
따라서, 본 발명에 따른 ε-거리 조인 질의를 처리하는 프로그램 혹은 장치의 사용 방법은 이하와 같이 설명할 수 있다. 사용자는 특정 거리 혹은 특정 시간 이내로 사용자에게 도달할 수 있는 서비스 대상 객체를 어플리케이션이나 장치 등에 입력한다. 상기 장치 내에 포함된 질의 결과 연산부에서는 해당 장치 내에 포함된 도로 네트워크를 기반으로 하여 노드를 결정하며, 해당 노드 위에 위치한 데이터 객체들을 검색하고, 상기 기준에 따른 각 데이터 객체들의 세그먼트화를 수행한다. 그 후, 해당 세그먼트들을 기준으로 기준이 되는 세그먼트를 설정하고, 제1 ε-거리 조인 질의 처리 모듈 혹은 제2 ε-거리 조인 질의 처리 모듈을 이용함으로써, 기존에 비해 신속하며 동적인 도로 네트워크 상황을 반영한 실시간 정보 처리가 가능한 효과가 있다.
본 기술은, 서비스 매칭 시스템에서 활용될 수 있다. 구체적으로, 어떤 서비스를 제공하고자 할 때, 특정 거리 이내의 서비스를 매칭하는 경우나, 특정 시간 이내로 서비스를 제공받고자 하는 경우에서 용이하게 활용할 수 있다. 보다 구체적으로는, 택시 탑승 시스템 등에서 활용할 수 있다.
도 12 내지 14는 본 발명의 ε-거리 조인 질의 처리 방법을 이용하여 실제 도로 맵 상에서 ε-거리 조인 질의를 수행한 것을 나타내는 그래프이다. 도 12는 캘리포니아(California and Nevada), 도 13은 플로리다(Florida), 도 14는 콜로라도(Colorado)의 로드맵을 이용하여 ε-거리 조인 질의를 수행하였다. 상기 도 12, 도 13, 도 14에서의 도로 네트워크에서 포함되는 노드 시퀀스의 개수는 각각 1794708, 1100675, 374355개에 달한다.
실제 도로 네트워크 상에서의 제1데이터 객체 및 제2데이터 객체의 위치는 중심 또는 균일한 분포를 따른다. 도 12 내지 도 14에서의 (a)는 거리 ε 값을 변화시키는 것에 따른 처리 시간을 나타내는 그래프이며, (b)와 (c)는 제1데이터 세그먼트 및 제2데이터 세그먼트의 개수 변화에 따른 처리 시간을 나타내는 그래프이다. (d)는 객체의 분포를 다양화한 것에 따른 처리 시간을 나타내는 그래프에 해당한다.
도 12 내지 도 14를 살펴보면, 전체적인 그래프의 경향성이 유사하게 나타나는 것을 확인할 수 있다. 상기 그래프들에 따르면, ε-거리 조인 질의를 모든 제1데이터 객체에 대해 수행했을 경우와, 제1 ε-거리 조인 질의 처리 모듈에 의해 수행된 경우 및 제2 ε-거리 조인 질의 처리 모듈에 의해 수행된 경우의 세 가지 방법으로 수행한 결과 그래프를 비교하고 있다. 그래프들에 따르면, ε-거리 조인 질의를 수행하는 처리 시간이 모든 제1데이터 객체에 대해 수행했을 경우가 가장 오랜 시간이 걸리며, 그 다음이 제1 ε-거리 조인 질의 처리에 의해 수행된 경우이며, 처리 시간이 가장 적게 걸리는 방법은 제2 ε-거리 조인 질의 처리에 의해 수행된 경우임을 확인할 수 있다. 즉, 상기 그래프를 통해 본 발명에서 제시하고 있는 ε-거리 조인 질의 처리 방법이 기존의 방법에 비해 처리 시간의 측면에서 효율적임을 확인할 수 있다.
본 발명의 일 실시예에 따른 최단 경로 탐색 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical mεdia), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상의 실시예들은 본 발명의 이해를 돕기 위하여 제시된 것으로, 본 발명의 범위를 제한하지 않으며, 이로부터 다양한 변형 가능한 실시예들도 본 발명의 범위에 속하는 것임을 이해하여야 한다. 본 발명의 기술적 보호범위는 특허청구범위의 기술적 사상에 의해 정해져야 할 것이며, 본 발명의 기술적 보호범위는 특허청구범위의 문언적 기재 그 자체로 한정되는 것이 아니라 실질적으로는 기술적 가치가 균등한 범주의 발명까지 미치는 것임을 이해하여야 한다.
100 : ε-거리 조인 질의 처리 장치
110 : 수신부
120 : 질의 결과 연산부
121 : 노드 결정 모듈
122 : 데이터 객체 검색 모듈
123 : 그룹화 모듈
124 : 질의 결과 처리 모듈
130 : 전송부
1241 : 제1 ε-거리 조인 질의 처리 모듈
1242 : 제2 ε-거리 조인 질의 처리 모듈
1243 : 제1 저장 모듈
1244 : 제2 저장 모듈
1245 : 거리 계산 모듈

Claims (16)

  1. 도로 네트워크 상의 제1데이터 집합 R, 제2데이터 집합 S 중 하나의 데이터 집합에 포함된 객체로부터 일정 거리 ε 안에 위치하는 객체를 다른 데이터 집합에 있는 객체에서 선택하는 ε-거리 조인 질의 처리 방법으로써,
    제1데이터 집합 R에 포함된 제1데이터 객체들 또는 제2데이터 집합 S에 포함된 제2데이터 객체들을 각각 제1데이터 세그먼트의 집합 또는 제2데이터 세그먼트의 집합으로 정의하는 단계;
    상기 정의된 제1데이터 세그먼트 내에 포함된 일부의 제1데이터 객체들에 대해 ε-거리 조인 질의를 수행하는 단계;
    상기 정의된 제1데이터 세그먼트 내에 포함된 나머지 제1데이터 객체에 대해 ε-거리 조인 질의와 다른 방법으로 일정 거리 ε 안에 위치하는 객체를 도출하는 단계;를 포함하는 ε-거리 조인 질의 처리 방법.
  2. 제1항에 있어서,
    제1데이터 집합 R에 포함된 제1데이터 객체들 또는 제2데이터 집합 S에 포함된 제2데이터 객체들을 각각 제1데이터 세그먼트의 집합 및 제2데이터 세그먼트의 집합으로 정의하는 단계는,
    상기 도로 네트워크 상의 노드를 기준으로 교차하는 도로 세그먼트의 개수를 판별하는 단계;
    상기 노드를 기준으로 교차하는 도로 세그먼트의 개수가 1개 혹은 3개 이상인 노드끼리 이어진 도로 세그먼트 상에 포함된 제1데이터 객체들을 잇는 시퀀스를 제1데이터 세그먼트로 정의하는 단계; 및
    상기 노드를 기준으로 교차하는 도로 세그먼트의 개수가 1개 혹은 3개 이상인 노드끼리 이어진 도로 세그먼트 상에 포함된 제2데이터 객체들을 잇는 시퀀스를 제2데이터 세그먼트로 정의하는 단계;를 포함하는 ε-거리 조인 질의 처리 방법.
  3. 제2항에 있어서,
    상기 제1데이터 세그먼트에 포함되는 제1데이터 객체의 개수가 1개 혹은 2개일 경우,
    각각의 제1데이터 객체에 대한 ε-거리 조인 질의 처리를 수행하는 ε-거리 조인 질의 처리 방법.
  4. 제2항에 있어서,
    상기 제1데이터 세그먼트에 포함되는 제1데이터 객체의 개수가 3개 이상일 경우,
    상기 제1데이터 세그먼트의 양 끝단에 위치하는 2개의 제1데이터 객체에 대한 ε-거리 조인 질의 처리를 수행하는 단계; 및
    상기 제1데이터 세그먼트의 양 끝단에 위치하는 제1데이터 객체를 제외한 제1데이터 세그먼트의 내부에 포함된 나머지 제1데이터 객체들에 대해 거리 계산을 수행하는 단계; 를 포함하는 ε-거리 조인 질의 처리 방법.
  5. 제4항에 있어서,
    상기 거리 계산을 수행하는 단계는,
    상기 제1데이터 세그먼트 내부에 포함된 제2데이터 객체들을 추출하는 단계;
    상기 제1데이터 세그먼트의 양 끝단에 위치하는 2개의 제1데이터 객체들에 대한 ε-거리 조인 질의 처리로 도출된 거리 ε 이내의 제2데이터 객체들을 추출하는 단계;
    상기 추출된 제2데이터 객체들의 집합을 정의하는 단계;
    상기 내부에 포함된 나머지 제1데이터 객체들에 대해, 상기 정의된 제2데이터 객체들의 집합에 포함된 제2데이터 객체들을 대상으로 거리를 측정하여 상기 내부에 포함된 나머지 제1데이터 객체들과 거리 ε 이내에 위치하는 제2데이터 객체를 추출하는 단계; 를 포함하는 ε-거리 조인 질의 처리 방법.
  6. 도로 네트워크 상의 제1데이터 집합 R, 제2데이터 집합 S 중 하나의 데이터 집합에 포함된 객체로부터 일정 거리 ε 안에 위치하는 객체를 다른 데이터 집합에 있는 객체에서 선택하는 ε-거리 조인 질의 처리 방법으로써,
    제1데이터 집합 R에 포함된 제1데이터 객체들 또는 제2데이터 집합 S에 포함된 제2데이터 객체들을 각각 제1데이터 세그먼트의 집합 및 제2데이터 세그먼트의 집합으로 정의하는 단계;
    상기 도로 네트워크 상의 임의의 한 노드에 근접한 제1데이터 세그먼트들을 추출하는 단계;
    제1데이터 집합 R에 포함된 제1데이터 객체들 또는 제2데이터 집합 S에 포함된 제2데이터 객체들을 각각 제1데이터 세그먼트의 집합 및 제2데이터 세그먼트의 집합으로 정의하는 단계는,
    상기 도로 네트워크 상의 노드를 기준으로 교차하는 도로 세그먼트의 개수를 판별하는 단계;
    상기 노드를 기준으로 교차하는 도로 세그먼트의 개수가 1개 혹은 3개 이상인 노드끼리 이어진 도로 세그먼트 상에 포함된 제1데이터 객체들을 잇는 시퀀스를 제1데이터 세그먼트로 정의하는 단계; 및
    상기 노드를 기준으로 교차하는 도로 세그먼트의 개수가 1개 혹은 3개 이상인 노드끼리 이어진 도로 세그먼트 상에 포함된 제2데이터 객체들을 잇는 시퀀스를 제2데이터 세그먼트로 정의하는 단계;를 포함하고,
    상기 노드에 근접한 제1데이터 세그먼트의 개수가 2개 이상일 경우 상기 노드를 기준으로 ε-거리 조인 질의 처리를 수행하는 단계;를 포함하는 ε-거리 조인 질의 처리 방법.
  7. 제6항에 있어서,
    상기 임의의 한 노드는 상기 노드를 기준으로 교차하는 도로 세그먼트의 개수가 3개 이상인 노드인 것을 특징으로 하는 ε-거리 조인 질의 처리 방법.
  8. 제7항에 있어서,
    상기 임의의 한 노드에 근접한 제1데이터 세그먼트에 대한 ε-거리 조인 질의 처리 방법은,
    상기 노드를 기준으로 ε-거리 조인 질의 처리를 수행하여 도출된 제2데이터 객체와, 상기 노드를 기준으로 교차하는 도로 세그먼트의 개수가 1개 혹은 3개 이상인 노드끼리 이어진 도로 세그먼트 상에 포함된 제2데이터 객체들의 집합을 도출하여,
    상기 도로 세그먼트 상에 포함되는 제1데이터 세그먼트 내의 제1데이터 객체와 상기 제2데이터 객체들의 집합에 포함된 객체들과의 거리를 계산하여 거리 ε 내에 위치하는 제2데이터 객체를 추출하는 ε-거리 조인 질의 처리 방법.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서,
    상기 제1데이터 세그먼트의 개수는, 제2데이터 세그먼트의 개수보다 적은 것을 특징으로 하는 ε-거리 조인 질의 처리 방법.
  10. 제9항에 있어서,
    상기 ε-거리 조인 질의 처리 방법을 실행하기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록 매체.
  11. 클라이언트 단말로부터 적어도 하나 이상의 객체에 대한 ε-거리 조인 질의 요청을 수신하는 수신부;
    상기 요청에 응답하여, 상기 단말의 위치를 기준으로 하는 ε-거리 조인 질의 처리 결과를 연산하는 질의 결과 연산부; 및
    상기 요청에 응답하여, 상기 단말의 위치를 기준으로 하는 ε-거리 조인 질의 처리 결과를 상기 단말로 전송하는 전송부; 를 포함하고
    상기 질의 결과 연산부는 제1데이터 집합 R에 포함된 제1데이터 객체들을 제1데이터 세그먼트로 정의하고, 제2데이터 집합 S에 포함된 제2데이터 객체들을 제2데이터 세그먼트로 정의하고, 상기 제1데이터 세그먼트 내에 포함된 2개의 제1데이터 객체에 대해 ε-거리 조인 질의를 수행하고, 상기 제1데이터 세그먼트 내에 포함된 나머지 제1데이터 객체에 대해 ε-거리 조인 질의와 다른 방법으로 일정 거리 ε 안에 위치하는 객체를 도출하는 도로 네트워크 상에서 ε-거리 조인 질의를 처리하는 장치.
  12. 제11항에 있어서,
    상기 질의 결과 연산부는,
    상기 도로 네트워크 상의 노드를 기준으로 교차하는 도로 세그먼트의 개수를 판별하는 노드 결정 모듈;
    상기 노드 결정 모듈에서 결정된 노드를 기준으로 교차하는 도로 세그먼트의 개수가 1개 혹은 3개 이상인 노드끼리 이어진 도로 세그먼트 상에 위치하는 제1데이터 객체 및 제2데이터 객체를 검색하는 데이터 객체 검색 모듈;
    상기 노드 결정 모듈에서 결정된 노드를 기준으로 교차하는 도로 세그먼트의 개수가 1개 혹은 3개 이상인 노드끼리 이어진 도로 세그먼트 상에 위치하는 제1데이터 객체들을 제1데이터 세그먼트로 정의하고, 제2데이터 객체들은 제2데이터 세그먼트로 정의하는 그룹화 모듈;
    상기 그룹화 모듈에서 생성된 제1데이터 세그먼트에 대해 ε-거리 조인 질의 처리를 수행하는 질의 결과 처리 모듈;을 포함하는 도로 네트워크 상에서 ε-거리 조인 질의를 처리하는 장치.
  13. 제12항에 있어서,
    상기 질의 결과 처리 모듈은,
    상기 제1데이터 세그먼트의 양 끝단에 위치하는 제1데이터 객체에 대한 연산을 진행하는 제1 ε-거리 조인 질의 처리 모듈;
    상기 제1 ε-거리 조인 질의 처리 모듈의 처리 결과에 따른 거리 ε 이내에 위치하는 제2데이터 객체들을 저장하는 제1 저장 모듈; 및
    상기 제1데이터 세그먼트의 양 끝단에 위치하는 제1데이터 객체를 제외한 내부에 포함된 제1데이터 객체에 대해 거리 계산을 수행하는 거리 계산 모듈;을 포함하는 도로 네트워크 상에서 ε-거리 조인 질의를 처리하는 장치.
  14. 제13항에 있어서,
    제1데이터 세그먼트에 포함된 제2데이터 객체들을 저장하는 제2 저장 모듈;을 더 포함하는 도로 네트워크 상에서 ε-거리 조인 질의를 처리하는 장치.
  15. 제14항에 있어서,
    상기 거리 계산 모듈;은
    상기 제1데이터 세그먼트의 양 끝단에 위치하는 제1데이터 객체를 제외한 내부에 포함된 제1데이터 객체에 대해 상기 제1 저장 모듈 및 제2 저장 모듈에 저장된 제2데이터 객체들과의 거리를 계산하는 것을 특징으로 하는 도로 네트워크 상에서 ε-거리 조인 질의를 처리하는 장치.
  16. 제15항에 있어서,
    상기 질의 결과 처리 모듈은,
    상기 노드 결정 모듈에서 결정된 노드를 기준으로 교차하는 도로 세그먼트의 개수가 3개 이상인 노드를 기준으로 인접하는 제1데이터 세그먼트의 개수가 2개 이상인 경우, 해당 노드에 대해 ε-거리 조인 질의를 수행하고, 그 결과로 나타나는 제2데이터 객체와, 상기 노드를 기준으로 교차하는 도로 세그먼트의 개수가 1개 혹은 3개 이상인 노드끼리 이어진 도로 세그먼트 상에 포함된 제2데이터 객체들과 제1데이터 객체와의 거리를 계산하여 거리 ε 이내에 위치하는 데이터 객체를 추출하는 제2 ε-거리 조인 질의 처리 모듈;을 더 포함하는 도로 네트워크 상에서 ε-거리 조인 질의를 처리하는 장치.

KR1020190002841A 2019-01-09 2019-01-09 도로 네트워크에서 ε-거리 조인 질의 처리 방법 및 도로 네트워크에서 ε-거리 조인 질의를 처리하는 장치 KR102185334B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190002841A KR102185334B1 (ko) 2019-01-09 2019-01-09 도로 네트워크에서 ε-거리 조인 질의 처리 방법 및 도로 네트워크에서 ε-거리 조인 질의를 처리하는 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190002841A KR102185334B1 (ko) 2019-01-09 2019-01-09 도로 네트워크에서 ε-거리 조인 질의 처리 방법 및 도로 네트워크에서 ε-거리 조인 질의를 처리하는 장치

Publications (2)

Publication Number Publication Date
KR20200086529A true KR20200086529A (ko) 2020-07-17
KR102185334B1 KR102185334B1 (ko) 2020-12-01

Family

ID=71832334

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190002841A KR102185334B1 (ko) 2019-01-09 2019-01-09 도로 네트워크에서 ε-거리 조인 질의 처리 방법 및 도로 네트워크에서 ε-거리 조인 질의를 처리하는 장치

Country Status (1)

Country Link
KR (1) KR102185334B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102357429B1 (ko) * 2021-01-06 2022-02-08 주식회사 플럭시티 3차원 모델링 데이터의 공간정보 설정 및 활용 방법, 장치 및 컴퓨터-판독가능 기록매체
KR20220058209A (ko) * 2020-10-30 2022-05-09 경북대학교 산학협력단 도로 네트워크에서 다중 k-최원접 이웃 검색 질의 그룹 처리 방법 및 도로 네트워크에서 다중 k-최원접 이웃 검색 질의 그룹을 처리하는 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070046384A (ko) * 2005-10-31 2007-05-03 한국과학기술원 경로 상의 최근접 객체 검색 방법
KR20100116421A (ko) * 2009-04-22 2010-11-01 제주대학교 산학협력단 도로 네트워크 상에서 k-최근접 이웃 검색을 위한 최단 경로 탐색 방법 및 장치
KR20140026669A (ko) * 2012-08-22 2014-03-06 아주대학교산학협력단 도로 네트워크에서 움직이는 k-최근접 질의의 안전 출구 위치를 계산하는 방법
KR20140028935A (ko) * 2012-08-31 2014-03-10 전북대학교산학협력단 k-최근접 질의 처리 방법 및 시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070046384A (ko) * 2005-10-31 2007-05-03 한국과학기술원 경로 상의 최근접 객체 검색 방법
KR20100116421A (ko) * 2009-04-22 2010-11-01 제주대학교 산학협력단 도로 네트워크 상에서 k-최근접 이웃 검색을 위한 최단 경로 탐색 방법 및 장치
KR20140026669A (ko) * 2012-08-22 2014-03-06 아주대학교산학협력단 도로 네트워크에서 움직이는 k-최근접 질의의 안전 출구 위치를 계산하는 방법
KR20140028935A (ko) * 2012-08-31 2014-03-10 전북대학교산학협력단 k-최근접 질의 처리 방법 및 시스템

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220058209A (ko) * 2020-10-30 2022-05-09 경북대학교 산학협력단 도로 네트워크에서 다중 k-최원접 이웃 검색 질의 그룹 처리 방법 및 도로 네트워크에서 다중 k-최원접 이웃 검색 질의 그룹을 처리하는 장치
KR102357429B1 (ko) * 2021-01-06 2022-02-08 주식회사 플럭시티 3차원 모델링 데이터의 공간정보 설정 및 활용 방법, 장치 및 컴퓨터-판독가능 기록매체

Also Published As

Publication number Publication date
KR102185334B1 (ko) 2020-12-01

Similar Documents

Publication Publication Date Title
Guo et al. Learning to route with sparse trajectory sets
US10520326B2 (en) Driving route matching method and apparatus, and storage medium
Tork Spatio-temporal clustering methods classification
JP6613475B2 (ja) 経路照会方法、装置、デバイス及び不揮発性コンピューター記憶媒体
CN110516702B (zh) 一种基于流数据的离散路径规划方法
CN108091134B (zh) 一种基于手机信令位置轨迹数据的通用数据集生成方法
Xu et al. DESTPRE: a data-driven approach to destination prediction for taxi rides
Ai et al. Generation of constrained network Voronoi diagram using linear tessellation and expansion method
KR102185334B1 (ko) 도로 네트워크에서 ε-거리 조인 질의 처리 방법 및 도로 네트워크에서 ε-거리 조인 질의를 처리하는 장치
Bachir et al. Combining bayesian inference and clustering for transport mode detection from sparse and noisy geolocation data
Tasnim et al. Semantic-aware clustering-based approach of trajectory data stream mining
KR102127769B1 (ko) 도로 네트워크에서 k-최근접 이웃 조인 질의 처리 방법 및 도로 네트워크에서 k-최근접 조인 질의를 처리하는 장치
Xuan et al. Network Voronoi diagram based range search
KR102416960B1 (ko) 도로 네트워크에서 다중 k-최원접 이웃 검색 질의 그룹 처리 방법 및 도로 네트워크에서 다중 k-최원접 이웃 검색 질의 그룹을 처리하는 장치
Wang et al. An improved evolutionary algorithm for dynamic vehicle routing problem with time windows
Groves et al. A framework for predicting trajectories using global and local information
Li et al. Intelligent augmented keyword search on spatial entities in real-life internet of vehicles
Meratnia et al. Trajectory representation in location-based services: problems & solution
Subowo et al. Ant Colony Algorithm for Determining Dynamic Travel Routes Based on Traffic Information from Twitter
S. de Sousa et al. A cluster-based framework for predicting large scale road-network constrained trajectories
Sinha et al. Hybrid path planner for efficient navigation in urban road networks through analysis of trajectory traces
Frentzos et al. Towards the next generation of location-based services
CN112949912B (zh) 一种基于图数据库的车辆路线预测方法
Ren et al. Adaptive road candidates search algorithm for map matching by clustering road segments
Sun et al. Multi‐Objective Optimal Travel Route Recommendation for Tourists by Improved Ant Colony Optimization Algorithm

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant