KR101344649B1 - 해시 기반의 스카이라인 질의 처리 방법 및 그 장치 - Google Patents

해시 기반의 스카이라인 질의 처리 방법 및 그 장치 Download PDF

Info

Publication number
KR101344649B1
KR101344649B1 KR1020120054048A KR20120054048A KR101344649B1 KR 101344649 B1 KR101344649 B1 KR 101344649B1 KR 1020120054048 A KR1020120054048 A KR 1020120054048A KR 20120054048 A KR20120054048 A KR 20120054048A KR 101344649 B1 KR101344649 B1 KR 101344649B1
Authority
KR
South Korea
Prior art keywords
query
data
skyline
condition
space
Prior art date
Application number
KR1020120054048A
Other languages
English (en)
Other versions
KR20130130330A (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 KR1020120054048A priority Critical patent/KR101344649B1/ko
Publication of KR20130130330A publication Critical patent/KR20130130330A/ko
Application granted granted Critical
Publication of KR101344649B1 publication Critical patent/KR101344649B1/ko

Links

Images

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (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)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)

Abstract

해시 기반의 스카이라인 질의 처리 방법 및 그 장치가 개시된다. 질의에 부합하는 데이터를 검색하기 위한 스카이라인 질의 처리 장치에서의 스카이라인 질의 처리 방법은, 상기 데이터가 분포된 공간을 그리드(grid) 형태의 복수의 셀로 분할한 후 상기 공간의 각 차원에 대해 상기 셀 별로 상기 데이터를 분류한 해시 테이블(hash table)을 생성하는 단계 -상기 질의의 조건 각각이 상기 공간의 각 차원으로 정의됨-; 상기 해시 테이블을 이용하여 상기 질의의 조건에 따른 후보 데이터 집합을 결정하는 단계; 및 상기 후보 데이터 집합 내에서 상기 질의의 조건에 대한 해 집합인 스카이라인 데이터를 생성하는 단계를 포함할 수 있다.

Description

해시 기반의 스카이라인 질의 처리 방법 및 그 장치{HASH-BASED SKYLINE QUERY PROCESSING METHOD AND APPARATUS THEREOF}
본 발명의 실시예들은 질의 처리 시간을 줄이기 위한 해시 기반의 스카이라인 질의 처리 방법 및 그 장치에 관한 것이다.
스카이라인(skyline) 질의는 다양하고 복잡하며 서로 상충하는 사용자의 요구에 가장 부합하는 데이터를 효율적으로 검색하기 위한 질의로서 사용자의 의사 결정 과정에 많은 영향을 미친다.
스카이라인이란, 전체 객체 집합에서 다른 객체보다 나쁘지 않는 관심 있을 만한 객체 집합이다. 예를 들어, "숙박료가 싸고, 해변과의 거리가 가까운 호텔을 검색하라."와 같은 경우가 있을 수 있다. 이와 같은 질의는 각 데이터의 차원(즉, 숙박료가 싼 조건과 해변과의 거리가 가까운 조건) 별 비교를 통하여 해 집합으로의 포함 여부가 결정되기 때문에 많은 계산량이 요구된다.
따라서, 기존의 기법들은 불필요한 비교연산을 줄임으로써 질의의 응답시간을 줄이도록 하고 있다. 기존에 제안된 대표적인 기법들로는 BNL(Block Nested Loop), SFS(Sort-Filter-Skyline algorithm), SaLSa(Sort and Limit Skyline algorithm) 등이 있다.
BNL 기법은 메모리 버퍼 윈도우(window)에 스카이라인 후보군을 저장하고, 새로운 데이터와 비교하는 기법이다. 따라서, 스카이라인 해집합의 크기가 작을 경우 유리한 기법이다. 하지만, BNL 기법은 윈도우의 크기, 데이터의 분포 등에 대해 취약점을 가지고 있다.
SFS와 SaLSa는 BNL을 개선시킨 기법들로, 이 기법들은 단조함수의 특성과 정렬 기법을 사용하여 불필요한 비교연산을 줄이도록 하고 있다. SFS와 SaLSa는 우선 특정 단조함수를 이용하여 각 데이터에 대해서 값을 구하고 그 값에 의해서 전체 데이터를 정렬시킨다. 이렇게 단조함수에 의해서 정렬된 데이터는 자신보다 큰 함수 값을 가진 데이터와의 비교만으로 질의의 해를 구하기에 충분하다. 그러나, SFS와 SaLSa는 기본적으로 모든 데이터의 단조함수 값을 구하고 데이터를 정렬시켜야 하기 때문에 최소 O(nlogn)의 비용이 요구된다. 또한, 스카이라인의 해집합이 너무 큰 경우 질의의 처리가 사실 상 무의미함에도 이를 미리 감지할 수 없다.
따라서, 질의의 응답시간을 줄이기 위한 기존 기법들의 문제점을 해결하기 위한 스카이라인 질의 처리 기법이 필요하다.
질의의 응답시간을 줄이기 위한 해시 기반의 스카이라인 질의 처리 방법 및 그 장치를 제공한다.
본 발명의 일 측면에 따르면, 질의에 부합하는 데이터를 검색하기 위한 스카이라인 질의 처리 장치에서의 스카이라인 질의 처리 방법은, 상기 데이터가 분포된 공간을 그리드(grid) 형태의 복수의 셀로 분할한 후 상기 공간의 각 차원에 대해 상기 셀 별로 상기 데이터를 분류한 해시 테이블(hash table)을 생성하는 단계 -상기 질의의 조건 각각이 상기 공간의 각 차원으로 정의됨-; 상기 해시 테이블을 이용하여 상기 질의의 조건에 따른 후보 데이터 집합을 결정하는 단계; 및 상기 후보 데이터 집합 내에서 상기 질의의 조건에 대한 해 집합인 스카이라인 데이터를 생성하는 단계를 포함할 수 있다.
상기 질의의 조건에 따른 후보 데이터 집합을 결정하는 단계는, 상기 질의의 조건에 따라 상기 해시 테이블에서 상기 공간의 각 차원에 대해 최소 차원 또는 최대 차원에 해당되는 셀부터 차례로 검색하여 동일 차례의 셀에 공통으로 존재하는 기준 데이터를 찾는 단계; 및 상기 질의의 조건에 따라 상기 기준 데이터가 존재하는 셀 이하 또는 이상의 셀에 존재하는 데이터를 후보 데이터로 결정하는 단계를 포함할 수 있다.
상기 스카이라인 데이터를 생성하는 단계는, 상기 질의의 조건에 대하여 상기 후보 데이터 집합에 해당되는 데이터 간의 지배(dominant) 여부를 판단하여 상기 스카이라인 데이터를 찾을 수 있다.
본 발명의 다른 측면에 따르면, 상기 스카이라인 질의 처리 방법은, 상기 후보 데이터 집합이 일정 크기 이상인 경우 사용자로부터 상기 질의의 처리 여부를 입력 받기 위한 인터페이스를 제공하는 단계를 더 포함할 수 있다.
본 발명의 또 다른 측면에 따르면, 질의에 부합하는 데이터를 검색하기 위한 스카이라인 질의 처리 장치는, 상기 데이터가 분포된 공간을 그리드(grid) 형태의 복수의 셀로 분할한 후 상기 공간의 각 차원에 대해 상기 셀 별로 상기 데이터를 분류한 해시 테이블(hash table)을 생성하는 테이블 생성부 -상기 질의의 조건 각각이 상기 공간의 각 차원으로 정의됨-; 상기 해시 테이블을 이용하여 상기 질의의 조건에 따른 후보 데이터 집합을 결정하는 후보 결정부; 및 상기 후보 데이터 집합 내에서 상기 질의의 조건에 대한 해 집합인 스카이라인 데이터를 생성하는 스카이라인 생성부를 포함할 수 있다.
본 발명의 실시예에 따르면, 스카이라인 질의를 처리하기 위한 전체 데이터에 대한 해시 테이블을 형성하여 이를 통해 후보 집합을 우선 생성함으로써 보다 사용자에게 유리한 구조를 제공할 수 있다.
본 발명의 실시예에 따르면, 해시 테이블을 통해 질의의 해가 될 수 있는 후보군 데이터 집합을 구함으로써 스카이라인 질의가 O(n)의 비용으로 처리될 수 있어 질의에 대한 빠른 응답을 제공할 수 있다.
도 1은 스카이라인 질의의 해를 찾는 기본 알고리즘을 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 있어서, 해시 기반의 스카이라인 질의 처리 장치의 내부 구성을 도시한 블록도이다.
도 3은 본 발명의 일 실시예에 있어서, 해시 테이블을 이용하여 질의의 해가 될 수 있는 후보군 데이터 집합을 구하는 과정을 설명하기 위한 도면이다.
도 4는 본 발명에 따른 해시 기반의 스카이라인 질의 처리 방법을 적용한 실험 결과를 도시한 것이다.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
스카이라인 질의는 전체 객체의 집합으로부터 사용자의 선호도에 따라 관심을 가질만한 객체들을 추출해내기 위한 질의 형태이다. 예를 들어 휴양지 등에서의 호텔 선택을 위하여, '숙박 요금이 싸고, 해변과의 거리가 가까운 호텔'을 찾는 경우이다. 도 1과 같이 호텔(H1~ H13)이 분포할 경우, 스카이라인 질의의 해는 (H1, H4, H7, H11, H12, H13)이다. H11의 경우 H8과 비교했을 때, 가격은 저렴하고, 거리는 해변과 가깝다. 이 경우, H11이 H8을 지배(dominant)한다고 표현한다. H7과 H11을 비교해보면, H11은 가격이 저렴한 반면, H7은 거리가 가깝다. 이 경우 비교불가(incomparable)하다고 표현한다. 스카이라인 질의의 최종 해는 이렇게 비교 불가한 데이터들의 집합이다.
BNL( Block Nested Loop )
스카이라인을 위한 가장 기본적인 기법으로, 메모리 버퍼에 스카이라인 포인트를 저장하기 위한 윈도우를 만든다. 그리고 새로운 데이터를 이 윈도우에 있는 포인트들과 비교하여 지배 여부를 판단한다. 지배되는 포인트들은 드롭(drop) 되는 방식이며, 새로운 데이터가 끝까지 지배되지 않으면 윈도우에 추가된다. 따라서, BNL 기법은 질의의 해집합의 크기가 작을수록 빠른 응답을 보인다. 그러나, BNL 기법의 단점은 윈도우의 크기에 제한이 있다는 것이다. 해집합의 크기가 윈도우의 크기를 넘어서게 되면 다음 단계(pass)를 위한 입력 데이터로 디스크에 저장하게 된다. 따라서, 해집합의 크기가 클수록 많은 수행시간이 요구된다. 또한, 윈도우에 대한 관리가 어렵다. 윈도우에 있는 데이터의 교체가 필요한 경우 이를 처리하기 위한 비용이 크며, 해당 단계에 대한 질의의 해는 디스크에 저장하기 이전부터 존재하는 포인트들 중에서 해당 단계의 종료 시까지 윈도우에 남아있는 포인트들만이 해이다. 이러한 처리를 위해서 윈도우에 대한 복잡한 처리가 요구된다.
SFS( Sort - Filter - Skyline algorithm )
SFS 기법은 BNL을 개선한 기법으로, 먼저 모든 데이터에 대해서 특정 단조함수, F(p)에 의한 값을 구한다. 그리고, 그 값을 통해서 전체 데이터를 정렬한다. 정렬 후 BNL을 통하여 최종 해를 구한다. 단조함수에 의해서, 만약 F( p1 ) > F( p2 )라면 p2 p1을 지배할 수 없다. 따라서, 버퍼 윈도우에 포함되는 데이터들은 추가적인 비교연산이 필요 없이 바로 스카이라인 질의의 해로 단정지을 수 있다. 이것은 또한 이미 윈도우에 포함되어 있는 데이터의 교체가 발생하지 않도록 한다. SFS는 이를 통하여 BNL의 3가지 단점을 크게 개선할 수 있다. 1) 버퍼 윈도우의 관리를 단순화 시킬 수 있고, 2) 모든 데이터에 대한 비교 연산이 완료되길 기다릴 필요 없이 바로 질의의 해를 사용자에게 전달할 수 있으며, 3) 알고리즘의 단계(pass) 수를 최적화 할 수 있다.
SaLSa( Sort and Limit Skyline algorithm )
SFS는 정렬 작업 후에도 BNL을 수행하기 위해서 전체 데이터를 다시 한번 읽어야 하는 단점이 존재한다. SaLSa 기법은 SFS의 이러한 단점을 해결하여 정렬 후에 데이터의 일부분만을 읽어도 스카이라인 질의의 해를 구할 수 있음을 증명하고, 이를 통하여 질의의 응답시간을 개선할 수 있다. 그러나, SaLSa 기법은 데이터의 분포와 차원수에 따라 그 성능 변화가 심하다. 특히, 고차원의 데이터의 경우, pstop에 의한 데이터의 프루닝(pruning) 효과가 크게 감소한다.
SFS와 SaLSa와 같은 기법들은 정렬을 기반으로 하기 때문에 적어도 1회 이상의 전체 데이터의 스캐닝이 필요하며, 또한 O(nlogn)의 비용이 필요하다.
상기한 기법들의 문제점을 해결하기 위해 본 명세서에서는 해시(hash) 기반의 스카이라인 질의 처리 방법을 제안한다.
먼저, 해시 기반의 스카이라인 질의 처리 방법을 수행하기 위한 스카이라인 질의 처리 장치를 설명하면 다음과 같다.
도 2에 도시한 바와 같이, 일 실시예에 따른 스카이라인 질의 처리 장치는 테이블 생성부(210), 후보 결정부(220), 인터페이스부(230), 및 스카이라인 생성부(240)를 포함하여 구성될 수 있다.
테이블 생성부(210)는 데이터가 분포된 공간의 각 차원 별로 해시 테이블을 생성하는 역할을 수행한다. 테이블 생성부(210)는 데이터의 각 차원의 전체 공간을 특정 크기로 분할하여 그 차원 값을 이용하여 데이터를 해시 테이블의 특정 셀(cell)에 할당한다. 이때, 질의에 포함된 각각의 질의 조건이 데이터가 분포된 공간 상의 좌표 축을 나타내는 각 차원으로 정의될 수 있다. 다시 말해, 테이블 생성부(210)는 전체 공간을 그리드 형태의 복수의 셀로 분할한 후 공간의 각 차원에 대해 셀 별로 각 셀에 존재하는 데이터를 분류함으로써 해시 테이블을 생성할 수 있다. 이것은 데이터의 각 차원에 대해서 대략적인 정렬과 같은 효과를 가져온다.
후보 결정부(220)는 해시 테이블을 조사함으로써 스카이라인이 될 수 있는 후보 데이터들만을 우선 선별하는 역할을 수행한다. 즉, 후보 결정부(220)는 질의에 포함된 조건에 따라 해시 테이블에서 공간의 각 차원에 대해 최소 차원 또는 최대 차원에 해당되는 셀부터 차례로 검색하여 동일 차례의 셀에 공통으로 존재하는 기준 데이터를 찾은 후, 해당 질의 조건에 따라 기준 데이터가 존재하는 셀 이하 또는 이상의 셀에 존재하는 데이터를 후보 데이터로 결정하여 후보 데이터 집합을 구할 수 있다. 또한, 전체 후보 집합은 차원 별로 저장되기 때문에 스카이라인 최종해를 구하기 위해 요구되는 지배관계를 위한 계산을 줄인다.
인터페이스부(230)는 후보 데이터 집합의 크기가 일정 크기 이상으로 큰 경우 이를 사용자에게 알리고 해당 질의에 대한 처리 여부를 사용자로부터 입력 받을 수 있다. 해시 테이블을 조사함으로써 질의의 선택도를 예상하고 사용자에게 질의의 처리를 계속할지 여부에 대해 묻도록 할 수 있다.
스카이라인 생성부(240)는 후보 데이터 집합 내에서 해당 질의 조건에 대한 해 집합인 스카이라인 데이터를 생성하는 역할을 수행한다. 스카이라인 생성부(240)는 후보 결정부(220)에서 선별된 후보 데이터들에 대하여 BNL 기법을 이용하여 최종 스카이라인 질의의 해를 구할 수 있다. 다시 말해, 스카이라인 생성부(240)는 질의 조건에 대하여 후보 데이터 집합에 해당되는 데이터 간의 지배 여부를 판단하여 최종 해인 스카이라인 데이터를 찾을 수 있다. 전체 후보 집합에 대한 지배 여부 판단은 각 차원 별 지배 여부 판단, 그렇게 해서 생성된 집합의 병합과정으로 이루어진다.
상기한 구성에 따르면, 해시 기반의 스카이라인 질의 처리에서는 해시 테이블 구성을 위한 O(n)의 비용만이 요구된다.
해시 기반의 스카이라인 알고리즘
정렬을 기반으로 하는 스카이라인 기법들은 최상의 경우, 즉 단 하나의 스카이라인만이 존재하는 경우에도 O(nlogn)의 비용이 요구되며, 특히, 질의의 선택도가 큰 경우에도 이를 미리 알 수 없다. 본 발명에 따른 스카이라인 질의 처리 방법은 해시 기법을 이용하여 기존 기법들의 문제점들을 해결코자 한다.
전체 알고리즘은 다음과 같다.
우선, 도 3과 같이, 전체 공간을 그리드(grid)의 형태로 분할하여, 표 1과 같이 각 차원에 따라 해시 테이블을 생성한다.
Figure 112012040740192-pat00001
해시 테이블의 생성 후, 스카이라인 질의의 조건에 따르는, 가장 빠른 데이터를 찾는다. 예를 들어, 질의의 조건이 D1(거리)과 D2(가격)가 작은 것이라면, 각 해시 테이블의 0번 셀(Cell 0)부터 시작하여 검색한다. 곧, H11번이 D1과 D2에 대한 해시 테이블의 1번 셀(Cell 1)에서 동시에 존재하므로 H11이 기준 데이터로서 선택된다.
이러한 과정은 해시 테이블을 생성하는 과정에서 찾아지기 때문에 추가적인 비용을 필요로 하지는 않는다. 이제 질의의 조건에 의해서 스카이라인이 될 수 있는 데이터는 기준 데이터인 H11의 각 차원이 속한 셀보다 앞에 존재하는 셀에 속한 데이터들만이 가능하다. 따라서, 각 테이블의 0번 셀(Cell 0)과 1번 셀(Cell1)에 속하는 점들이 스카이라인 후보 집합에 속한다. D1의 차원의 경우 H1, H4, H7, H2, H11이 해당되며, D2의 경우, H10, H11, H12, H13이 포함된다. 각 차원에 대해서 스카이라인을 구하고, 그 결과로 생성된 두 스카이라인 집합을 병합함으로써, 최종 스카이라인 데이터를 찾는다. 이렇게 분할된 지배 판단은 전체 차원에 대한 단순 지배 여부 판단보다 적은 계산 량을 요구한다.
예시의 경우, 후보 집합의 수가 전체 데이터의 대부분을 차지하고 있다. 실제 실험에서 데이터의 분포가 연관성에 반하는 경우(anti-correlated) 후보 집합에 최대 90%의 데이터가 포함되는 것을 관찰할 수 있고, 이 중 상당수가 질의의 해집합에 포함된다. 이러한 경우 BNL 과정이 O(n 2)의 비용이 요구되고, 질의의 해집합이 커지기 때문에 사용자에게 질의의 처리를 계속할 지 여부에 대해서 묻는다. 이러한 과정을 통하여 불필요한 계산을 줄이고 사용자에게 보다 유용한 인터페이스(interface)를 제공할 수 있다.
해시 테이블을 이용한 스카이라인 질의 처리 방법에 대한 실험 결과는 다음과 같다.
실험은 표 2와 같이, 각각 연관성 있는(correlated) 데이터와 연관성에 반하는(anti-correlated) 데이터의 분포를 가지고 있는 데이터 세트에 대해서 SFS, SaLSa 그리고 본 발명의 스카이라인 질의 처리 방법에 대해서 각각 진행한 것이다.
Figure 112012040740192-pat00002
전체 데이터를 읽어와서 각각 정렬과 해시 테이블의 형성 과정 수행하며, SFS와 SaLSa의 경우 버퍼 윈도우에 대한 제한이 없다는 가정 하에 실험을 진행한 것이다. 다시 말해서, 단일 단계만으로 실험이 종료된다. SFS와 SaLSa에서 사용된 단조 함수 F(p)는 각각 다음과 같다.
Figure 112012040740192-pat00003
Figure 112012040740192-pat00004
수학식 2는 각 데이터의 최소 차원 값을 기준으로 정렬을 하며, 그 값이 같은 경우, 각 차원 값의 합산을 통해서 전체 데이터를 정렬한다. 실험 결과는 도 4와 같으며, 본 발명에 따른 해시 기반의 스카이라인 질의 처리 방법(HASH)이 SFS, SaLSa보다 빠른 응답을 보여주고 있는 것을 알 수 있다. 즉, 본 발명은 해시 테이블을 이용하여 스카이라인 질의의 해가 될 수 있는 후보 데이터 집합을 미리 구한 후 후보 데이터 내에서 최종 해집합을 찾아내는 방식을 사용함으로써 기존 기법들에 비해 질의를 처리하는 시간(elapsed time)을 단축할 수 있다. 도 4에서 알 수 있듯이, 스카이라인 질의를 처리하기 위한 데이터 사이즈가 클수록 기존 기법들에 비해 질의 처리 시간이 효과적으로 단축됨을 알 수 있다.
스카이라인 질의는 다양하고 복잡하며 서로 상충하는 사용자의 요구에 가장 부합하는 데이터를 효율적으로 검색하기 위한 질의의 형태로서 사용자의 의사 결정 과정에 많은 영향을 미친다. 그러나 이러한 질의를 해결하기 위해서는 O(n2)의 비용이 요구된다. 이러한 문제를 해결하기 위해서 기존에는 SFS, SaLSa 등의 기법이 제안되었다. 그러나, 이 기법들은 정렬을 기반으로 동작하기 때문에 여전히 많은 비용이 요구되며, 데이터의 분포와 차원수 문제에 취약한 약점을 가지고 있다. 또한, 해집합의 크기를 예상치 못하기 때문에 해집합의 크기가 큰 경우에도 무조건적으로 질의를 수행해야만 하는 단점이 있다.
본 발명에서는 기존 방식들의 문제를 해결하기 위해서 해시 기반의 스카이라인 질의 처리 알고리즘을 제안한 것이다. 본 발명에 따른 해시 기반의 스카이라인 질의 처리 방법은 전체 데이터에 대한 해시 테이블을 형성하고, 후보 집합을 우선 생성함으로써 보다 사용자에게 유리한 구조를 가지고 있다. 또한, O(n)의 비용으로 질의를 처리하기 때문에 빠른 응답을 가능케 할 수 있는 이점이 있다.
본 발명의 실시예에 따른 방법들은 다양한 컴퓨터 시스템을 통하여 수행될 수 있는 프로그램 명령(instruction) 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 또한, 상술한 파일 시스템은 컴퓨터 판독이 가능한 기록 매체에 기록될 수 있다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
210: 테이블 생성부
220: 후보 결정부
230: 인터페이스부
240: 스카이라인 생성부

Claims (8)

  1. 질의에 부합하는 데이터를 검색하기 위한 스카이라인(skyline) 질의 처리 장치에서의 스카이라인 질의 처리 방법으로서,
    상기 데이터가 분포된 공간을 그리드(grid) 형태의 복수의 셀로 분할한 후 상기 공간의 각 차원에 대해 상기 셀 별로 상기 데이터를 분류한 해시 테이블(hash table)을 생성하는 단계 -상기 질의의 조건 각각이 상기 공간 상의 좌표 축을 나타내는 각 차원으로 정의됨-;
    상기 해시 테이블을 이용하여 상기 질의의 조건에 따른 후보 데이터 집합을 결정하는 단계-상기 후보 데이터 집합은 상기 공간의 각 차원 별로 저장됨-;
    상기 후보 데이터 집합이 일정 크기 이상인 경우 사용자에게 알리고 상기 사용자로부터 상기 질의의 처리 여부를 입력 받기 위한 인터페이스를 제공하는 단계; 및
    상기 사용자가 상기 인터페이스를 통해 상기 질의의 처리를 요구하면 상기 후보 데이터 집합 내에서 상기 질의의 조건에 대한 해 집합인 스카이라인 데이터를 생성하는 단계
    를 포함하고,
    상기 질의의 조건에 따른 후보 데이터 집합을 결정하는 단계는,
    상기 질의의 조건에 따라 상기 해시 테이블에서 상기 공간의 각 차원에 대해 최소 차원 또는 최대 차원에 해당되는 셀부터 차례로 검색하여 동일 차례의 셀에 공통으로 존재하는 기준 데이터를 찾는 단계; 및
    상기 질의의 조건에 따라 상기 기준 데이터가 존재하는 셀 이하 또는 이상의 셀에 존재하는 데이터를 후보 데이터로 결정하는 단계
    를 포함하는 해시 기반의 스카이라인 질의 처리 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 스카이라인 데이터를 생성하는 단계는,
    상기 질의의 조건에 대하여 상기 후보 데이터 집합에 해당되는 데이터 간의 지배(dominant) 여부를 판단하여 상기 스카이라인 데이터를 찾는 것
    을 특징으로 하는 해시 기반의 스카이라인 질의 처리 방법.
  4. 삭제
  5. 컴퓨터 시스템이 질의에 부합하는 데이터를 검색하도록 제어하는 명령(instruction)을 포함하는 컴퓨터 판독가능 매체로서,
    상기 명령은,
    상기 데이터가 분포된 공간을 그리드(grid) 형태의 복수의 셀로 분할한 후 상기 공간의 각 차원에 대해 상기 셀 별로 상기 데이터를 분류한 해시 테이블(hash table)을 생성하는 단계-상기 질의의 조건 각각이 상기 공간 상의 좌표 축을 나타내는 각 차원으로 정의됨-;
    상기 해시 테이블을 이용하여 상기 질의의 조건에 따른 후보 데이터 집합을 결정하는 단계-상기 후보 데이터 집합은 상기 공간의 각 차원 별로 저장됨-;
    상기 후보 데이터 집합이 일정 크기 이상인 경우 사용자에게 알리고 상기 사용자로부터 상기 질의의 처리 여부를 입력 받기 위한 인터페이스를 제공하는 단계; 및
    상기 사용자가 상기 인터페이스를 통해 상기 질의의 처리를 요구하면 상기 후보 데이터 집합 내에서 상기 질의의 조건에 대한 해 집합인 스카이라인 데이터를 생성하는 단계
    를 포함하는 방법에 의하여 상기 컴퓨터 시스템을 제어하고,
    상기 질의의 조건에 따른 후보 데이터 집합을 결정하는 단계는,
    상기 질의의 조건에 따라 상기 해시 테이블에서 상기 공간의 각 차원에 대해 최소 차원 또는 최대 차원에 해당되는 셀부터 차례로 검색하여 동일 차례의 셀에 공통으로 존재하는 기준 데이터를 찾는 단계; 및
    상기 질의의 조건에 따라 상기 기준 데이터가 존재하는 셀 이하 또는 이상의 셀에 존재하는 데이터를 후보 데이터로 결정하는 단계
    를 포함하는, 컴퓨터 판독가능 저장 매체.
  6. 삭제
  7. 제5항에 있어서,
    상기 스카이라인 데이터를 생성하는 단계는,
    상기 질의의 조건에 대하여 상기 후보 데이터 집합에 해당되는 데이터 간의 지배(dominant) 여부를 판단하여 상기 스카이라인 데이터를 찾는 것
    을 특징으로 하는, 컴퓨터 판독가능 저장 매체.
  8. 삭제
KR1020120054048A 2012-05-22 2012-05-22 해시 기반의 스카이라인 질의 처리 방법 및 그 장치 KR101344649B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120054048A KR101344649B1 (ko) 2012-05-22 2012-05-22 해시 기반의 스카이라인 질의 처리 방법 및 그 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120054048A KR101344649B1 (ko) 2012-05-22 2012-05-22 해시 기반의 스카이라인 질의 처리 방법 및 그 장치

Publications (2)

Publication Number Publication Date
KR20130130330A KR20130130330A (ko) 2013-12-02
KR101344649B1 true KR101344649B1 (ko) 2013-12-26

Family

ID=49980024

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120054048A KR101344649B1 (ko) 2012-05-22 2012-05-22 해시 기반의 스카이라인 질의 처리 방법 및 그 장치

Country Status (1)

Country Link
KR (1) KR101344649B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107862743A (zh) * 2017-09-22 2018-03-30 中国矿业大学 一种基于投影的规则网格地形可视域计算方法
KR20190079347A (ko) 2017-12-27 2019-07-05 서강대학교산학협력단 그리드 기반의 스카이라인 질의처리장치 및 방법, 이를 기록한 기록매체

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101460179B1 (ko) 2012-11-28 2014-11-10 에스케이씨앤씨 주식회사 임시 결제카드 설정 방법 및 이를 적용한 모바일 기기
CN106777093B (zh) * 2016-12-14 2021-01-01 大连大学 基于空间时序数据流应用的Skyline查询系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070198439A1 (en) 2006-02-17 2007-08-23 Microsoft Corporation Robust cardinality and cost estimation for skyline operator

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070198439A1 (en) 2006-02-17 2007-08-23 Microsoft Corporation Robust cardinality and cost estimation for skyline operator

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107862743A (zh) * 2017-09-22 2018-03-30 中国矿业大学 一种基于投影的规则网格地形可视域计算方法
CN107862743B (zh) * 2017-09-22 2020-08-11 中国矿业大学 一种基于投影的规则网格地形可视域计算方法
KR20190079347A (ko) 2017-12-27 2019-07-05 서강대학교산학협력단 그리드 기반의 스카이라인 질의처리장치 및 방법, 이를 기록한 기록매체

Also Published As

Publication number Publication date
KR20130130330A (ko) 2013-12-02

Similar Documents

Publication Publication Date Title
CN110291518A (zh) 合并树无用单元指标
CN110383261A (zh) 用于多流存储装置的流选择
CN110083601A (zh) 面向键值存储系统的索引树构建方法及系统
WO2014126822A1 (en) Determining documents that match a query
KR101344649B1 (ko) 해시 기반의 스카이라인 질의 처리 방법 및 그 장치
US8321476B2 (en) Method and system for determining boundary values dynamically defining key value bounds of two or more disjoint subsets of sort run-based parallel processing of data from databases
JP6065844B2 (ja) インデックス走査装置及びインデックス走査方法
CN102890722A (zh) 应用于时序历史数据库的索引方法
CN106469120A (zh) 碎片整理方法、装置及设备
CN108549696B (zh) 一种基于内存计算的时间序列数据相似性查询方法
CN101826099A (zh) 一种相似文档识别、文档扩散度确定的方法及系统
CN107515931B (zh) 一种基于聚类的重复数据检测方法
CN111752955A (zh) 数据处理方法、装置、设备及计算机可读存储介质
KR20220070482A (ko) 이미지 증분 클러스터링 방법, 장치, 전자 기기, 저장 매체 및 프로그램 제품
CN110888880A (zh) 基于空间索引的邻近分析方法、装置、设备及介质
CN103064841A (zh) 检索装置和检索方法
JP4491480B2 (ja) インデクス構築方法、文書検索装置及びインデクス構築プログラム
CN105022794A (zh) 一种快速搜索所需文章内容的方法及装置
CN110008215A (zh) 一种基于改进的kd树并行算法的大数据搜索方法
CN116226681B (zh) 一种文本相似性判定方法、装置、计算机设备和存储介质
KR102233880B1 (ko) 싱글-레벨 기반의 데이터 저장 장치 및 방법
Alis et al. Parallel processing of big point clouds using Z-Order-based partitioning
CN104750846A (zh) 一种子串查找方法及装置
CN110807286A (zh) 一种结构网格识别方法
CN105373521B (zh) 一种基于Minwise Hash动态多阈值过滤计算文本相似度的方法

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

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180823

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20191213

Year of fee payment: 7