KR20010064977A - 시계열 데이터베이스에서 윈도우 구성의 이원성을 사용한 서브시퀀스 매칭방법 - Google Patents

시계열 데이터베이스에서 윈도우 구성의 이원성을 사용한 서브시퀀스 매칭방법 Download PDF

Info

Publication number
KR20010064977A
KR20010064977A KR1019990059467A KR19990059467A KR20010064977A KR 20010064977 A KR20010064977 A KR 20010064977A KR 1019990059467 A KR1019990059467 A KR 1019990059467A KR 19990059467 A KR19990059467 A KR 19990059467A KR 20010064977 A KR20010064977 A KR 20010064977A
Authority
KR
South Korea
Prior art keywords
subsequence
sequence
window
index
disjoint
Prior art date
Application number
KR1019990059467A
Other languages
English (en)
Other versions
KR100344530B1 (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 KR1019990059467A priority Critical patent/KR100344530B1/ko
Priority to US09/559,673 priority patent/US6496817B1/en
Priority to PCT/KR2000/001458 priority patent/WO2001046771A2/en
Priority to JP2001547619A priority patent/JP3648709B2/ja
Priority to EP00983553A priority patent/EP1250636A2/en
Priority to AU20295/01A priority patent/AU2029501A/en
Publication of KR20010064977A publication Critical patent/KR20010064977A/ko
Application granted granted Critical
Publication of KR100344530B1 publication Critical patent/KR100344530B1/ko

Links

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/903Querying
    • G06F16/90335Query processing
    • G06F16/90344Query processing by using string matching techniques
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99932Access augmentation or optimizing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99936Pattern matching access
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface

Landscapes

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

Abstract

본 발명의 시계열 데이터베이스에서의 서브시퀀스 매칭방법은, 윈도우를 구성하는 방법의 이원성을 사용하여 데이터 시퀀스를 디스조인트 윈도우로 나누기 때문에 다차원 색인에 저장해야 하는 점의 개수를 줄이고, 개별 점을 직접 색인에 저장할 수 있고, 질의 시퀀스를 나눈 슬라이딩 윈도우를 변환한 개별 점으로 색인을 검색하며, 질의에 사용된 점과 색인에 저장된 점을 비교함으로써 착오해답을 줄이고 성능을 향상시킬 수 있도록 하는 동시에, 데이터 시퀀스를 디스조인트 윈도우로 나누어 색인 구성 과정에서의 특성 추출 함수 사용을 줄임으로써 특성 추출 함수 사용에 필요한 CPU 연산을 대폭 단축하여 기존 방법에 비해 빠르게 색인을 구성할 수 있도록 한다.
이와 같은 본 발명은 윈도우를 구성하는 방법의 이원성을 이용하는 제1 과정; 상기 제1 과정에 기반하여 데이터 시퀀스를 디스조인트 윈도우로 나누는 제2 과정; 상기 제1 과정에 기반하여 질의 시퀀스를 슬라이딩 윈도우로 나누는 제3 과정; 및 상기 제2 과정과 제3 과정에서 나누어진 윈도우를 이용하여 서브시퀀스 매칭을 수행하는 제4 과정;을 포함하여 이루어지는 것을 특징으로 한다.

Description

시계열 데이터베이스에서의 서브시퀀스 매칭방법 { A Subsequence matching method in Time-series databases }
본 발명은 시계열 데이터베이스에서의 서브시퀀스 매칭방법에 관한 것으로서, 보다 상세하게는 윈도우를 구성하는 방법의 이원성(duality)을 이용하여 서브시퀀스 매칭의 성능을 향상시킨 시계열 데이터베이스에서의 서브시퀀스 매칭방법에 관한 것이다.
먼저, 이하의 설명에서 사용되는 용어를 정의하고자 한다.
길이 n인 "시퀀스"는 n개의 엔트리로 구성된 배열을 의미하고, "시계열 데이터"는 각 시간별로 측정한 실수 값을 가지는 엔트리의 시퀀스를 의미하고, "시계열 데이터베이스"는 시계열 데이터를 저장한 데이터베이스를 의미한다.
또한, "데이터 시퀀스"는 시계열 데이터베이스에 저장된 시계열 데이터를 의미하고, "질의 시퀀스"는 사용자에 의하여 주어지는 시퀀스를 의미하며, "유사 시퀀스 매칭"이란 질의 시퀀스와 유사한 데이터 시퀀스를 검색하는 방법을 의미한다.
상기에서, 유사 시퀀스 매칭의 두 시퀀스간의 거리가 사용자가 제시한 "허용치"인 ε이하이면 두 시퀀스는 "유사"하다고 한다. 그리고, 시퀀스 X와 Y 사이의 거리가 ε이하이면 X와 Y는 ε-매치(ε-match)한다고 정의하며, 길이 n인 두 시퀀스의 거리를 계산하는 연산을 "n-차원 거리계산"이라 정의한다.
상기의 거리 계산에 있어서, 본 발명은 특정한 거리 계산 방법에 한정되지 않는다. 그러나, 본 발명의 기술에 대한 이해를 돕기 위하여 유클리디안 거리 계산 방법을 기반으로 설명한다. 길이가 n인 두 시퀀스 X = {x0,x1,...,xn-1}과 Y = {y0,y1,...,yn-1}의 "유클리디안 거리"는 ""의 식으로 정의한다.
시퀀스 S가 시퀀스 A를 포함하고 있는 경우, 즉 A가 S의 일부분인 경우 A는 S의 "서브시퀀스"라 한다. 이때, 유사 시퀀스 매칭은 전체 매칭과 서브시퀀스 매칭의 두 가지로 구분한다. 상기에서 "전체 매칭"은 데이터 시퀀스 S1,...,SN이 있고, 질의 시퀀스 Q와 허용치 ε이 주어졌을 때, Q와 ε-매치하는 모든 데이터 시퀀스를 찾는 방법이다. 이때, 데이터 시퀀스와 질의 시퀀스의 길이는 동일하다. 또한, 상기에서 "서브시퀀스 매칭"은 제각기 다른 길이를 가지는 데이터 시퀀스 S1,...,SN이 있고, 질의 시퀀스 Q와 허용치 ε이 주어졌을 때, Q와 ε-매치하는 서브시퀀스를 포함하는 데이터 시퀀스 Si와 해당 서브시퀀스의 위치를 찾는 방법이다.
"윈도우"는 시퀀스를 분할하는 단위로서, 분할하는 방법에 따라 슬라이딩 윈도우와 디스조인트 윈도우로 구분한다. 상기 "슬라이딩 윈도우"는 시퀀스의 가능한 모든 위치를 시작 위치로 하여 구성한 윈도우를 의미하는데, 첨부도면 도 1a는 시퀀스를 크기 4인 슬라이딩 윈도우들로 나눈 예를 나타낸다. 상기 도 1a에서 참조번호 201은 시퀀스를 나타내며, 참조번호 202는 길이 4인 슬라이딩 윈도우들을 나타낸다. 또한, 상기 "디스조인트 윈도우"는 윈도우 크기의 배수가 되는 위치를 시작 위치로 하여 구성한 윈도우를 의미하는데, 첨부도면 도 1b는 시퀀스를 크기 4인 디스조인트 윈도우들로 나눈 예를 나타낸다. 상기 도 1b에서 참조번호 203은 시퀀스를 나타내며, 참조번호 204는 디스조인트 윈도우들을 나타낸다.
서브시퀀스 매칭에서의 "착오기각"은 주어진 질의 시퀀스와 ε-매치하는 서브시퀀스이나 착오로 인하여 기각되는 서브시퀀스를 의미하며, "착오해답"은 질의 시퀀스와 ε-매치하지 않으나 착오로 인하여 ε-매치하는 것으로 선택된 서브시퀀스를 의미한다. 상기 서브시퀀스 매칭에서는 착오기각과 착오해답이 발생하지 않아야 한다.
"특성 추출 함수"는 길이가 n인 시퀀스에 대해서 n보다 작은 개수의 특성 f개를 추출하는 함수를 의미하는데, 상기 특성 추출 함수를 유사 시퀀스 매칭에 사용하기 위해서는 이를 사용함으로 인한 착오기각이 없어야 한다. 상기 착오기각이 없음을 보장하기 위한 특성 추출 함수의 조건은 Agrawal, R., Faloutsos, C., and Swami, A., "Efficient Similarity Search in Sequence Databases," In Proc. the 4th Int'l Conf. on Foundations of Data Organization and Algorithms, Chicago, Illinois, pp. 69-84, Oct. 1993.[참고문헌 1] 및 Faloutsos, C., Ranganathan, M., and Manolopoulos, Y., "Fast Subseqeunce Matching in Time-Series Databases," In Proc. Int'l Conf. on Management of Data, ACM SIGMOD,Minneapolis, Minnesota, pp. 419-429, May 1994.[참고문헌 2]에 잘 나타나 있다.
또한, 이하의 설명에서 사용되는 표기법을 정의하고자 한다.
Len(S)는 시퀀스 S의 길이를 의미하고, S[k]는 시퀀스 S의 k번째 엔트리를 나타내며, S[i:j]는 시퀀스 S의 i번째 엔트리에서 j번째 엔트리까지로 구성된 서브시퀀스를 나타낸다. 이때, 상기 S[i:j]는 두 개의 서브시퀀스 S[i:k]S[k+1:j]로 표현할 수 있다. 또한, si는 시퀀스 S를 디스조인트 윈도우로 나누었을 때, i번째 디스조인트 윈도우를 의미하고, ω는 슬라이딩 윈도우 및 디스조인트 윈도우의 크기를 나타낸다.
최근에 주식 데이터, 기업의 성장률, 환율 변동 데이터, 의료 데이터, 날씨 변동 데이터 등과 같이 다양한 분야에서 많은 양의 시계열 데이터가 발생하고 있는데, 컴퓨터의 계산 및 저장 능력이 발전함에 따라 많은 양의 시계열 데이터를 활용하고자 하는 연구가 활발하게 이루어지고 있다. 특히, 시계열 데이터에 대한 유사 시퀀스 매칭은 데이터베이스의 새로운 응용분야인 데이터 마이닝의 중요한 분야로 자리잡고 있다.
이하, 종래 기술에서 시계열 데이터에 대한 유사 시퀀스 매칭방법을 설명하고자 한다.
[참고문헌 1]의 종래 기술에서는 데이터 시퀀스와 질의 시퀀스의 길이가 동일한 경우인 전체 매칭 문제를 해결하기 위하여 다음과 같은 과정을 수행한다.
우선, 특성 추출 함수를 사용하여 길이 n인 데이터 시퀀스를 f 차원의 점으로 변환하고, 이를 f 차원 색인에 저장한다. 이렇게 특성을 추출하는 이유는 다차원 색인의 고차원 문제(dimensionality curse)로 인하여 고차원인 시퀀스를 다차원 색인에 직접 저장하기 어렵기 때문이다. 그후, 질의 시퀀스 역시 동일한 함수를 사용하여 f 차원의 점으로 변환하고, 변환한 점과 허용치 ε을 사용하여 범위 질의(range query)를 구성한다. 그리고, 구성한 범위 질의로 다차원 색인을 검색하여 ε-매치하는 모든 점들을 찾아 후보집합(candidate set)을 구한다. 이렇게 후보집합을 구하면 착오기각은 발생하지 않지만, 시퀀스의 길이 n 대신에 f개의 특성만을 사용함으로 인하여 착오해답이 발생할 수 있다.
따라서, 다차원 색인에 대한 검색 결과로 얻은 각 점들에 대해서는 실제 데이터 시퀀스를 액세스하고 질의 시퀀스와의 거리를 조사하여 착오해답을 제거하는데, 이를 "후처리 과정"(post-processing step)이라 한다.
또한, [참고문헌 2]의 종래 기술에서는 [참고문헌 1]의 전체 매칭 문제를 일반화한 서브시퀀스 매칭 문제를 해결하기 위하여 다음과 같은 과정을 수행하였는데, 본 발명에서는 이 해결책을 저자들의 이름 첫글자들을 따서 "FRM"이라 부른다.
서브시퀀스 매칭에서, 질의 시퀀스와 유사한 서브시퀀스는 데이터 시퀀스의 어느 위치에나 나타날 수 있기 때문에 FRM에서는 모든 가능한 서브시퀀스를 조사하기 위하여 데이터 시퀀스의 모든 가능한 위치에 대해서 일정한 크기의 슬라이딩 윈도우를 구성하고, 질의 시퀀스를 슬라이딩 윈도우와 같은 크기의 디스조인트 윈도우로 나누는 방법을 사용하였다. FRM에서는 데이터 시퀀스를 나눈 각 슬라이딩 윈도우를 저차원 공간의 점으로 변환하였다. 그리고, 변환한 점의 개수가 너무 많아 각 점을 개별로 다차원 색인에 저장하기 어려우므로, 휴리스틱을 사용하여 여러 개의 점을 포함하는 최소 포함 사각형(MBR: minimum bounding rectangle)을 구성하고, 개별 점을 저장하는 대신 이들 MBR만을 다차원 색인에 저장하고, 이를 이용하여 다양한 길이의 질의 시퀀스에 대한 서브시퀀스 매칭을 시도하였다.
상기 FRM에서는 다양한 길이의 질의 시퀀스에 대한 서브시퀀스 매칭을 위하여 하기와 같은 두 가지 정리를 제시하고 사용하였다.
<정리 1>
동일한 길이의 시퀀스 S와 Q를 각각 p개의 디스조인트 윈도우 si와 qi(1≤i≤p)로 나누었을 때, 시퀀스 S와 Q가 ε-매치하면, 적어도 하나 이상의 (si,qi)쌍이-매치 한다.
<정리 2>
동일한 길이의 시퀀스 S와 Q가 ε-매치하면, (S[i:j], Q[i:j])인 어떠한 서브시퀀스 쌍도 ε-매치 한다.
상기 <정리 1>과 <정리 2>를 사용하여 FRM은 질의 시퀀스를 p개의 디스조인트 윈도우로 나누고, 각 윈도우를 f 차원의 점으로 변환한다. 그리고, 변환한 점과으로 범위 질의를 구성하고, 다차원 색인을 검색하여 후보집합을 구한다. 그후, 데이터베이스로부터 데이터 시퀀스를 읽어서 Len(Q)-차원 거리 계산을 통하여 후보집합에 포함된 착오해답을 제거하는 후처리 과정을 수행한다.
상기 서브시퀀스 매칭에서 색인 검색 결과로 구한 후보집합에 착오해답이 많이 포함되면 후처리 과정의 디스크 액세스와 CPU 연산이 증가하여 결국 성능이 크게 저하되기 때문에 착오해답을 줄여야 한다.
상기 FRM에서 색인 검색 결과로 구한 후보집합에 착오해답이 포함되는 가장 큰 원인은 개별 점을 다차원 색인에 직접 저장하지 않고, 여러 점을 포함하는 MBR을 구성하여 MBR만을 색인에 저장하기 때문이다. 즉, 동일한 범위 질의에 대해서 개별 점을 저장했을 때는 후보가 되지 않는 서브시퀀스가 MBR만을 구성하여 저장했을 때는 후보가 되는 경우가 많이 발생하기 때문이다.
그러나, FRM에서 개별 점을 직접 저장할 경우 데이터 시퀀스 길이 만큼의 많은 f 차원 점들이 생겨나고, 결국 원래 데이터 시퀀스 저장 공간보다 약 f배 많은 저장공간이 필요하다. 또한, 이를 저장하는 다차원 색인의 높이가 커져서 성능이 크게 떨어진다. 따라서, FRM에서는 MBR을 구성하여 저장하므로 개별 점을 직접 색인에 저장하고 이를 사용하여 점과 점 비교을 비교하여 착오해답을 줄이는 효과 즉, "점 여과 효과"(point-filetering effect)를 얻을 수 없으며, 그 결과 착오해답이 크게 증가하고 성능이 크게 저하되는 문제점이 있다.
본 발명은 상기와 같은 종래 기술의 문제점을 해결하기 위하여 안출한 것으로서, 그 목적은 데이터 시퀀스를 디스조인트 윈도우로 나누고 질의 시퀀스를 슬라이딩 윈도우로 나누는 윈도우 구성의 이원성을 이용한 듀얼매치(Dual Match:Duality-based subsequence Matching) 방법을 사용함으로써 착오해답을 크게 줄이고 성능을 개선한 시계열 데이터베이스에서의 서브시퀀스 매칭방법을 제공하는데 있다.
또한, 본 발명의 다른 목적은 개별 점을 직접 색인에 저장하고 이를 통하여 점 여과 효과를 얻음으로써 착오해답을 현저히 줄이고 성능을 크게 향상시키는 시계열 데이터베이스에서의 서브시퀀스 매칭방법을 제공하는데 있다.
또한, 본 발명의 또다른 목적은 색인 구성 과정에서 CPU 오버헤드의 많은 부분을 차지하는 특성 추출 함수의 사용을 줄임으로써 빠르게 색인을 구성할 수 있는 시계열 데이터베이스에서의 서브시퀀스 매칭방법을 제공하는데 있다.
도 1a는 시퀀스를 슬라이딩 윈도우로 나누는 방법을 나타낸 예시도
도 1b는 시퀀스를 디스조인트 윈도우로 나누는 방법을 나타낸 예시도
도 2는 윈도우를 이용한 서브시퀀스와 질의 시퀀스의 표현 방법을 나타낸 예시도
도 3은 본 발명에 의한 서브시퀀스 매칭방법이 구현되는 시스템의 대략적인 구성을 나타낸 예시도
도 4는 본 발명에 의한 서브시퀀스 매칭방법에서 다차원 색인을 구성하는 색인 구성 알고리즘을 나타낸 도면
도 5는 본 발명에 의한 서브시퀀스 매칭방법에서 유사 서브시퀀스를 찾아내는 서브시퀀스 매칭 알고리즘을 나타낸 도면
도 6은 본 발명에 의한 서브시퀀스 매칭방법에서 유사 서브시퀀스를 찾되 범위 질의 회수를 줄이는 개선된 서브시퀀스 매칭 알고리즘을 나타낸 도면
< 도면의 주요 부분에 대한 부호의 설명 >
10 : 컴퓨터 메모리 15 : 컴퓨터 CPU
20 : 데이터베이스 관리 시스템 25 : 서브시퀀스 매칭 시스템
35 : 데이터베이스 저장장치 40 : 시계열 데이터베이스
45 : 다차원 색인
상기와 같은 목적을 달성하기 위한 본 발명의 제1 특징에 따르면, 윈도우를 구성하는 방법의 이원성을 이용하는 제1 과정; 상기 제1 과정에 기반하여 데이터 시퀀스를 디스조인트 윈도우로 나누는 제2 과정; 상기 제1 과정에 기반하여 질의 시퀀스를 슬라이딩 윈도우로 나누는 제3 과정; 및 상기 제2 과정과 제3 과정에서 나누어진 윈도우를 이용하여 서브시퀀스 매칭을 수행하는 제4 과정;을 포함하여 이루어지는 시계열 데이터베이스에서의 서브시퀀스 매칭방법을 제공한다.
이때, 본 발명의 부가적인 특징에 따르면, 상기 제4 과정에서는, 점 여과 효과를 얻고 착오해답을 줄이기 위하여 데이터 시퀀스를 나눈 디스조인트 윈도우를 변환한 개별 점을 직접 색인에 저장하고, 질의 시퀀스를 나눈 슬라이딩 윈도우를변환한 개별 점을 직접 범위 질의에 사용하는 단계를 포함할 수 있다.
이때, 범위 질의의 횟수를 줄이기 위하여 질의 시퀀스를 나눈 슬라이딩 윈도우를 변환한 개별 점으로 직접 질의하지 않고, 여러 개의 점을 포함하는 최소 포함 사각형(MBR)을 구성하여 질의하여 후보집합을 구하는 단계를 포함하는 것이 바람직하다.
또한, 본 발명의 다른 부가적인 특징에 따르면, 상기 제4 과정에서는, 색인 구성에 필요한 특성 추출 함수의 사용을 줄여서 빠르게 색인을 구성하기 위하여 데이터 시퀀스를 슬라이딩 윈도우로 나누지 않고 디스조인트 윈도우로 나누는 단계를 포함할 수 있다.
한편, 상기와 같은 목적을 달성하기 위한 본 발명의 제2 특징에 따르면, 서브시퀀스 매칭을 수행하기 위한 다차원 색인을 구성하는 색인 구성 과정이 포함되는 시계열 데이터베이스에서의 서브시퀀스 매칭방법에 있어서,
상기 색인 구성 과정은, f 차원 색인을 하나 생성하고 이를 초기화하는 제1 단계; 시계열 데이터베이스로부터 하나의 데이터 시퀀스를 읽는 제2 단계; 상기 제2 단계에서 읽은 데이터 시퀀스를 디스조인트 윈도우로 나누는 제3 단계; 상기 제3 단계에서 나눈 디스조인트 윈도우를 특성 추출 함수를 사용하여 f 차원의 점으로 변환하는 제4 단계; 상기 제4 단계에서 변환한 점과 해당 윈도우가 포함된 데이터 시퀀스의 식별자와 해당 윈도우의 시작 위치로 레코드를 구성하는 제5 단계; 상기 제5 단계에서 구성한 레코드를 f 차원 색인에 삽입하는 제6 단계; 모든 디스조인트 윈도우에 대해서 상기 제3, 제4 및 제5 단계를 반복한 후, 데이터베이스로부터 다음에 읽을 데이터 시퀀스가 있는지를 확인하는 제7 단계; 및 상기 제7 단계에서 더 이상 읽을 데이터 시퀀스가 없으면 색인 구성을 종료하고, 읽을 데이터 시퀀스가 있으면 데이터 시퀀스를 읽은 후 상기 제3 단계로 진행하도록 하는 제8 단계;를 포함하여 이루어지는 시계열 데이터베이스에서의 서브시퀀스 매칭방법을 제공한다.
또한, 상기와 같은 목적을 달성하기 위한 본 발명의 제3 특징에 따르면, 시계열 데이터베이스와 다차원 색인을 이용하여 사용자가 제시한 질의 시퀀스와 유사한 서브시퀀스를 찾는 서브시퀀스 매칭 과정이 포함되는 시계열 데이터베이스에서의 서브시퀀스 매칭방법에 있어서,
상기 서브시퀀스 매칭 과정은, 서브시퀀스에 포함된 최소 디스조인트 윈도우 개수를 구하는 제1 단계; 질의 시퀀스를 슬라이딩 윈도우로 나누는 제2 단계; 상기 제2 단계에서 나눈 슬라이딩 윈도우를 특성 추출 함수를 사용하여 f 차원의 점으로 변환하는 제3 단계; 상기 제3 단계에서 변환한 점과 상기 제1 단계에서 구한 최소 디스조인트 윈도우 개수와 사용자가 제시한 허용치를 사용하여 범위 질의를 구성하는 제4 단계; 상기 제4 단계에서 구성한 범위 질의를 사용하여 다차원 색인을 검색하고, 검색 결과를 사용하여 후보집합을 구성하는 제5 단계; 모든 슬라이딩 윈도우에 대해서 상기 제3, 제4, 및 제5 단계를 반복하여 후보집합이 구성된 후, 후보집합에 포함된 후보 서브시퀀스를 메모리로 읽어오는 제6 단계; 및 상기 제6 단계에서 읽어온 후보 서브시퀀스와 질의 시퀀스와의 거리 계산을 통하여 후보집합에 포함된 모든 후보 서브시퀀스에 대해서 착오해답 여부를 확인하는 제7 단계;를 포함하여 이루어지는 시계열 데이터베이스에서의 서브시퀀스 매칭방법을 제공한다.
또한, 상기와 같은 목적을 달성하기 위한 본 발명의 제4 특징에 따르면, 시계열 데이터베이스와 다차원 색인을 이용하여 사용자가 제시한 질의 시퀀스와 유사한 서브시퀀스를 찾되 범위 질의의 횟수를 줄이는 개선된 서브시퀀스 매칭 과정이 포함되는 시계열 데이터베이스에서의 서브시퀀스 매칭방법에 있어서,
상기 개선된 서브시퀀스 매칭 과정은, 서브시퀀스에 포함된 최소 디스조인트 윈도우 개수를 구하는 제1 단계; 질의 시퀀스를 슬라이딩 윈도우로 나누고, 특성 추출 함수를 사용하여 각 슬라이딩 윈도우들을 f 차원의 점들로 변환한 후, 여러 개의 점들을 포함하는 최소 포함 사각형(MBR)들을 구성하는 제2 단계; 상기 제2 단계에서 구성한 MBR과 상기 제1단계에서 구한 최소 디스조인트 윈도우 개수와 사용자가 제시한 허용치를 사용하여 범위 질의를 구성하는 제3 단계; 상기 제3 단계에서 구성한 범위 질의를 사용하여 다차원 색인을 검색하는 제4 단계; 상기 제3 단계에서 범위 질의 구성에 사용한 MBR에 포함된 각 점들과 제4 단계의 검색 결과로 찾은 각 점들간의 거리 계산을 통하여 후보집합을 구성하는 제5 단계; 모든 MBR에 대해서 상기 제3, 제4, 및 제5 단계를 반복하여 후보집합이 구성된 후, 후보집합에 포함된 후보 서브시퀀스 메모리로 읽어오는 제6 단계; 및 상기 제6 단계에서 읽어온 후보 서브시퀀스와 질의 시퀀스와의 거리 계산을 통하여 후보집합에 포함된 모든 후보 서브시퀀스에 대해서 착오해답 여부를 확인하는 제7 단계;를 포함하여 이루어지는 시계열 데이터베이스에서의 서브시퀀스 매칭방법을 제공한다.
본 발명의 상술한 목적과 여러 가지 장점은 이 기술분야에 숙련된 사람들에의해, 첨부된 도면을 참조하여 후술되는 본 발명의 바람직한 실시예로부터 더욱 명확하게 될 것이다.
상기에서와 같이 본 발명의 듀얼매치는 데이터 시퀀스를 디스조인트 윈도우로 나누고, 질의 시퀀스를 슬라이딩 윈도우로 나누는 방법을 사용하는데, 종래 기술의 FRM에서는 데이터 시퀀스를 슬라이딩 윈도우로 나누고 질의 시퀀스를 디스조인트 윈도우로 나누는 방법을 사용한다. 결국, 듀얼매치는 종래 기술의 이원적 접근법을 사용하여 많은 착오해답을 제거하고 성능을 향상시킬 수 있게 된다.
상기 FRM은 색인에 필요한 저장공간을 줄이기 위하여 윈도우가 변환된 개별 점 대신 여러 개의 점을 포함하는 최소 포함 사각형(MBR) 만을 저장함으로 인하여 많은 착오해답을 발생시키는데 반하여, 본 발명의 듀얼매치는 FRM과 비슷한 크기의 저장공간으로 개별 점을 직접 색인에 저장함으로써 이 문제를 해결하고 있다.
또한, 본 발명에서는 상기와 같이 개별 점을 직접 색인에 저장하고, 저장된 개별 점을 사용하여 점과 점을 직접 비교함으로써 착오해답을 줄이는 점 여과 효과를 얻을 수 있다.
이하, 본 발명에 의한 듀얼매치가 착오기각을 발생하지 않고 서브시퀀스 매칭을 바르게 수행함을 보이기 위한 이론적 근거를 상세히 설명한다.
먼저, 본 발명에 의한 듀얼매치를 설명하기 위하여 용어를 정의하고자 한다.
시퀀스 S를 정해진 디스조인트 윈도우들로 나누었을 때, 이들 중 서브시퀀스 S[i:j]에 포함된 디스조인트 윈도우를 S[i:j]의 "포함 윈도우"라 정의한다. 그리고, 길이 L인 모든 서브시퀀스의 포함 윈도우 개수 중 최소값을 길이 L인 서브시퀀스의 "최소 포함 윈도우 개수"라 정의하고, 이를 p로 나타낸다. 길이 L인 서브시퀀스의 최소 포함 윈도우 개수가 p라 함은 길이 L인 모든 서브시퀀스는 그 위치에 관계없이 포함 윈도우 개수가 p 이상임을 의미한다. 최소 포함 윈도우 개수는 하기의 <정리 3>을 이용하여 구할 수 있다.
<정리 3>
시퀀스 S를 크기 ω인 디스조인트 윈도우로 나누었을 때, 길이 L인 S의 서브시퀀스의 최소 포함 윈도우 개수는 "[(L+1)/ω]-1"이다.
상기 <정리 3>에 의하면 길이 Len(Q)인 S의 서브시퀀스는 "[(Len(Q)+1)/ω]-1"개 이상의 디스조인트 윈도우를 포함한다. 이때, 상기 Q는 질의 시퀀스를 의미한다. 그리고, 듀얼매치는 하기의 <정리 4>에 기반하여 착오기각 없이 유사 서브시퀀스의 후보집합을 구할 수 있다.
<정리 4>
데이터 시퀀스 S를 크기 ω인 디스조인트 윈도우로 나누고, 질의 시퀀스 Q를 같은 크기의 슬라이딩 윈도우로 나누었을 때, 길이 Len(Q)인 S의 서브시퀀스 S[i:j]와 Q가 ε-매치하면, 적어도 하나 이상의 디스조인트 윈도우 S[i+k:i+k+ω-1] (0 ≤k ≤Len(Q)-ω)와 슬라이딩 윈도우 Q[k:k+ω-1]이-매치한다. 여기에서 p는 <정리 3>에 의해 구해지는 Len(Q)인 서브시퀀스의 최소 포함 윈도우 개수이다.
상기 <정리 4>는 도 2를 이용하여 다음과 같이 증명할 수 있다.
도 2에서 질의 시퀀스 Q와 서브시퀀스 S[i:j]가 ε-매치한다고 하자. 이때,최소 포함 윈도우 개수가 p이므로 S[i:j]는 p개 이상의 디스조인트 윈도우를 포함한다. 도 2에서 S[i:j]는 p개의 디스조인트 윈도우 s1,...,sp를 포함하고, 이들 디스조인트 윈도우의 앞뒤로 sh(h는 head를 의미함)와 st(t는 tail를 의미함)의 서브시퀀스를 포함한다. 결국, S[i:j]는 shs1....spst와 같이 나타낼 수 있다.
동일한 방법으로 질의 시퀀스 Q는 qhq1....qpqt와 같이 나타낼 수 있다. 이와 같이 나타냈을 때, S[i:j]와 Q가 ε-매치하면, <정리 2>에 의하여 s1....sp와 q1....qp가 ε-매치하게 된다. 그리고, 다시 <정리 1>에 의하여 s1....sp와 q1....qp가 ε-매치하면 최소한 하나의 윈도우 쌍 (sk,qk)가-매치한다. 결국, S[i:j]와 Q가 ε-매치하면, S[i:j]는 최소 포함 윈도우 개수(= p) 이상의 디스조인트 윈도우를 포함하고, 이 중 최소한 하나의 디스조인트 윈도우 sk와 Q의 슬라이딩 윈도우 qk-매치한다.
질의 시에는 질의 시퀀스 Q에 대해 슬라이딩 윈도우를 구성하므로, 이들 중에는 <정리 4>의 윈도우 qk가 포함되어 있다. 상기 <정리 4>에 의해서, 데이터 시퀀스를 나눈 디스조인트 윈도우와 질의 시퀀스를 나눈 임의의 슬라이딩 윈도우가-매치할 때, 즉, <정리 4>의 필요조건이 만족할 때, 해당 디스조인트 윈도우를 포함하는 서브시퀀스로 후보집합을 구성하면 착오기각 없이 모든 유사 서브시퀀스를 찾을 수 있다.
본 발명에 의한 듀얼매치의 최대 윈도우 크기는 하기의 <정리 5>를 사용하여 구할 수 있다.
<정리 5>
주어진 최소 질의 시퀀스 길이를 Min(Q)라 하면, 듀얼매치의 최대 윈도우 크기는 "[(Min(Q)+1)/ω]"이다.
이하, 본 발명에 따른 바람직한 일 실시예를 첨부도면을 참조하여 상세히 설명한다.
본 발명의 듀얼매치는 색인 구성과 서브시퀀스 매칭의 두 과정으로 이루어진다. 이때, 시계열 데이터의 저장 및 관리가 가능하고 다차원 색인 구조를 지원하는 데이터베이스 관리 시스템 기능이 필요하다.
본 발명에서 효율적인 서브시퀀스 매칭을 수행하기 위해서는 도 3에 도시되어 있는 시스템이 필요하다. 첨부도면 도 3에서 참조번호 10은 컴퓨터의 메모리를 나타내고, 15는 컴퓨터 CPU를 나타낸다. 이때, 상기 메모리(10)에는 데이터베이스 관리 시스템(20)과 서브시퀀스 매칭 시스템(25)이 구비되는데, 본 발명의 듀얼매치는 상기 서브시퀀스 매칭 시스템(25)으로 구현된다. 상기 데이터베이스 관리 시스템(20)은 데이터베이스 저장장치(35)에 저장된 시계열 데이터베이스(40)와 다차원 색인(45)을 관리한다. 또한, 상기 서브시퀀스 매칭 시스템(25)은 데이터베이스 관리 시스템(20)을 통하여 시계열 데이터베이스(40)와 다차원 색인(45)을 액세스 및 사용한다.
듀얼매치의 색인 구성 과정에서는 데이터 시퀀스들로 구성된 시계열 데이터베이스를 입력으로 받아서 서브시퀀스 매칭에 사용할 다차원 색인을 구성하는데, 도 4는 색인 구성 과정의 알고리즘을 나타낸다.
도 4를 참조하면, 제1 단계(S301)에서는 f 차원 색인 하나를 생성하고 초기화한다. 제2 단계(S302)에서는 데이터 베이스로부터 하나의 데이터 시퀀스를 메모리에 읽어온다. 제3 단계(S303)에서는 제2 단계(S302) 혹은 제8 단계(S308)에서 읽은 데이터 시퀀스를 디스조인트 윈도우로 나눈다. 그후, 제4 단계(S304)에서는 각 디스조인트 윈도우를 f 차원의 점으로 변환한다.
제5 단계(S305)에서는 윈도우를 변환한 점과 해당 윈도우가 포함된 데이터 시퀀스의 식별자, 그리고 이 데이터 시퀀스에서 해당 윈도우의 시작 위치로 레코드로 구성한다. 제6 단계(S306)에서는 디스조인트 윈도우를 변환한 점을 키로 하여 제5 단계(S305)에서 구성한 레코드를 제1 단계(S301)에서 구성한 다차원 색인에 삽입한다. 이와 같이 제4 단계(S304)부터 제6 단계(S306)까지를 반복하여 모든 디스조인트 윈도우에 대한 색인 구성을 수행한다.
제7 단계(S307)에서는 데이터베이스로부터 다음에 읽을 데이터 시퀀스가 있는 지 확인한다. 제7 단계(S307)의 확인 결과 다음에 읽을 데이터 시퀀스가 있는 경우는 제8 단계(S308)에서 이 데이터 시퀀스를 읽은 후 제3 단계(S303)로 돌아가 색인 구성을 계속한다. 그러나, 제7단계(S307)의 확인 결과 더 이상 읽을 데이터 시퀀스가 없는 경우는 색인 구성 과정을 종료한다.
한편, 서브시퀀스 매칭 과정에서는 질의 시퀀스 Q와 허용치 ε을 입력으로 받아서, 질의 시퀀스 Q와 유사한 서브시퀀스를 찾는 작업을 수행한다. 도 5는 서브시퀀스 매칭 과정의 알고리즘을 나타낸다.
도 5를 참조하면, 제1 단계(S501)에서는 <정리 3>에 의해 길이 Len(Q)인 서브시퀀스에 포함되는 최소 디스조인트 윈도우 개수 "p = [(Len(Q)+1)/ω]-1"을 구한다. 제2 단계(S502)에서는 질의 시퀀스를 슬라이딩 윈도우로 나눈다. 다음으로 각 슬라이딩 윈도우에 대해서 다음 제3 단계(S503)부터 제5 단계(S505)까지를 반복한다. 제3 단계(S503)에서는 특성 추출 함수를 사용하여 슬라이딩 윈도우를 f 차원의 점으로 변환한다. 제4 단계(S504)에서는 슬라이딩 윈도우를 변환한 점과으로 범위 질의를 구성한다.
그후, 제5 단계(S505)에서는 제4 단계(S504)에서 구성한 범위 질의로 다차원 색인을 검색하여, 슬라이딩 윈도우를 변환한 점과거리 내에 있는 모든 점들을 찾아낸다. 제5 단계(S505)에서는 슬라이딩 윈도우에 대한 검색 결과를 사용하여 후보집합을 구성하는데, 검색에 사용한 점이 i번째 슬라이딩 윈도우를 변환한 점이고, 검색 결과로 찾아낸 점이 데이터 시퀀스 S의 j번째 디스조인트 윈도우이면, 데이터 시퀀스 S의 (j-i)번째 엔트리에서 시작하는 서브시퀀스를 후보집합에 포함시킨다. 이와 같이 제3 단계(S503)에서 제5 단계(S505)의 과정을 모든 슬라이딩 윈도우에 대해서 반복하여 후보집합을 구한다.
상기의 과정에 의해 후보집합이 구해지면, 후보집합에 포함된 각 후보 서브시퀀스에 대해서 다음 제6 단계(S506) 및 제7 단계(S507)를 수행한다. 제6 단계(S506)에서는 각 후보 서브시퀀스를 데이터베이스로부터 메모리에 읽어온다.제7 단계(S507)에서는 읽어온 후보 서브시퀀스와 질의 시퀀스와의 Len(Q)-차원 거리를 계산하여, 그 거리가 ε보다 크면 착오해답이므로 해답에서 제외하고, ε이하이면 유사 서브시퀀스이므로 해답으로 출력한다.
상기와 같은 색인 구성 과정과 서브시퀀스 매칭 과정을 사용하면 FRM 방법에서 점 여과 효과의 결여로 발생했던 착오해답이 나타나지 않게 된다. 이는 색인 구성 과정에서 데이터 시퀀스를 변환한 개별 점을 직접 다차원 색인에 저장하고, 서브시퀀스 매칭 과정에서 질의 시퀀스를 변환한 개별 점으로 질의하기 때문이다. 즉, 색인 구성 및 검색에서 개별 점을 직접 저장 및 사용함으로써 점 여과 효과를 얻을 수 있고, 이를 통하여 착오해답을 크게 줄일 수 있다. 이와 같이 착오해답을 줄임으로써 후보 개수가 크게 줄어들고, 디스크 액세스와 Len(Q) 차원 거리 계산을 줄여 결국 성능을 향상 시킬 수 있다.
상기에서 질의 시퀀스를 슬라이딩 윈도우로 나누고, 이를 변환한 개별 점 각각에 대해서 범위 질의를 수행하기 때문에 나타날 수 있는 성능 저하의 문제점을 해결하기 위하여 본 발명에서는 하기와 같이 범위 질의의 횟수를 줄이는 개선된 서브시퀀스 매칭 과정이 수행될 수 있다.
개선된 서브시퀀스 매칭 과정에서도 질의 시퀀스와 허용치를 입력으로 받아 유사 서브시퀀스를 찾는 작업을 수행하는데, 도 6은 개선된 서브시퀀스 매칭 과정의 알고리즘을 나타낸다.
도 6을 참조하면, 제1 단계(S601)에서는 <정리 3>에 의해 길이 Len(Q)인 서브시퀀스에 포함된 최소 디스조인트 윈도우 개수 "p = [(Len(Q)+1)/ω]-1"을 구한다. 제2 단계(S602)에서는 질의 시퀀스를 슬라이딩 윈도우로 나눈 후, 특성 추출 함수를 사용하여 각 윈도우를 f 차원의 점으로 변환하고, 이러한 점을 여러 개 포함하는 MBR들을 구성한다.
상기 MBR을 구성하는 방법으로는 FRM 방법에서 사용한 휴리스틱 방법, 고정 개수의 점으로 MBR을 구성하는 방법, 그리고 모든 점을 하나의 MBR에 포함시키는 방법 등이 있는데, 질의 시퀀스가 짧은 경우(윈도우 크기의 3~4배 이하)에는 하나의 MBR을 구성하는 것이 효과적이고, 질의 시퀀스가 긴 경우(윈도우 크기의 5배 이상)에는 여러 개의 MBR을 구성하는 것이 효과적임을 확인하였다.
그후, 상기 구성한 각 MBR에 대해서 제3 단계(S603)부터 제5 단계(S605)까지를 반복한다. 제3 단계(S603)에서는 MBR과으로 범위 질의를 구성한다. 제4 단계(S604)에서는 구성한 범위 질의로 다차원 색인을 검색하여 MBR과거리 내에 있는 모든 점들을 찾아낸다. 제5 단계(S605)에서는 MBR에 포함된 각 점과 검색 결과 찾아낸 각 점의 거리 계산을 통하여 후보집합을 구성한다.
좀 더 자세히 설명하면, MBR에 포함된 한 점이 i번째 슬라이딩 윈도우를 변환한 점이고, 검색 결과로 찾아낸 한 점이 데이터 시퀀스 S의 j번째 디스조인트 윈도우라 할 때, 두 점 사이의 거리가이하이면 데이터 시퀀스 S의 (j-i)번째 엔트리에서 시작하는 서브시퀀스를 후보집합에 포함시킨다. 이와 같이 제3 단계(S603)에서 제5 단계(S605)의 과정을 모든 MBR에 대해서 반복하여 후보집합을 구한다. 후보집합이 구해지면, 후보집합에 포함된 각 후보 서브시퀀스에 대해서 다음 제6 단계(S606) 및 제7 단계(S607)를 수행한다. 제6 단계(S606)에서는 후보 서브시퀀스를 데이터베이스로부터 메모리에 읽어온다. 제7 단계(S607)에서는 읽어온 후보 서브시퀀스와 질의 시퀀스와의 Len(Q) 차원 거리를 계산하여, 그 거리가 ε보다 크면 착오해답이므로 해답에서 제외하고, ε이하이면 유사 서브시퀀스이므로 해답으로 출력한다.
이와 같이 개별 점 대신 MBR을 구성하여 검색하는 개선된 서브시퀀스 매칭 과정을 사용하면 범위 질의의 횟수를 점의 개수에서 MBR의 개수로 줄일 수 있으며, 그러면서도 개별 점을 직접 질의에 사용하는 서브시퀀스 매칭 과정과 동일한 후보집합을 구할 수 있다. 이는 MBR로 검색한 후에, MBR에 포함된 각 점과 검색 결과로 얻은 각 점간의 거리 계산을 수행하여, 두 점 사이의 거리가이하인 경우에만 두 점으로 구성되는 서브시퀀스를 후보집합에 포함시키는 "색인 수준 여과"(index-level filtering)를 수행하기 때문이다. 즉, MBR을 구성하여 질의함으로써 추가적인 후보 서브시퀀스가 발생할 수 있으나, MBR에 포함된 각 점과 검색 결과 얻은 각 점간의 f 차원 거리 계산을 수행함으로써 디스크 액세스와 Len(Q)-차원 거리 계산 이전에 추가적인 후보 서브시퀀스를 제거할 수 있다.
이와 같이 개선된 서브시퀀스 매칭 과정을 사용해서 FRM 방법에 비해 후보집합 크기를 줄이고 성능을 향상시킬 수 있다.
본 출원인에 의한 실험 결과 듀얼매치는 FRM에 비해 후보 개수를 최대 9,000배까지 줄이고 성능을 최대 160배까지 크게 향상시키는 것으로 나타났다. 또한, 듀얼매치는 데이터 시퀀스를 디스조인트 윈도우로 나눔으로써 데이터 시퀀스를 슬라이딩 윈도우로 나누는 FRM에 비하여 색인 구성이 14 내지 230배까지 빠른 특징을 가진다. 이러한 결과로 볼 때, 듀얼매치는 서브시퀀스 매칭의 일반적인 해결책으로 여겨졌던 FRM을 대신할 수 있게 됨을 알 수 있다.
이상에서 설명한 바와 같은 본 발명의 시계열 데이터베이스에서의 서브시퀀스 매칭방법에 의한 듀얼매치는 윈도우를 구성하는 방법의 이원성을 사용하여 데이터 시퀀스를 디스조인트 윈도우로 나누기 때문에 색인에 저장해야 하는 점의 개수를 FRM의 1/ω(ω>100)로 크게 줄임으로써, 개별 점을 직접 색인에 저장할 수 있고, 질의 시퀀스를 나눈 슬라이딩 윈도우를 변환한 개별 점으로 다차원 색인을 검색한다. 따라서, 듀얼매치는 질의에 사용된 점과 색인에 저장된 점을 비교함으로써, 점 여과 효과를 얻을 수 있고, 이를 통하여 착오해답을 대폭 줄이고 성능을 크게 향상시킬 수 있는 효과가 있다.
또한, 본 발명에서의 듀얼매치는 데이터 시퀀스를 디스조인트 윈도우로 나누기 때문에 색인 구성 과정에서의 특성 추출 함수 사용을 FRM의 약 1/ω(ω>100) 이상으로 줄임으로써 특성 추출 함수 사용에 필요한 CPU 연산을 대폭 단축하여 FRM에 비해 빠르게 색인을 구성할 수 있는 효과가 있다.

Claims (7)

  1. 윈도우를 구성하는 방법의 이원성을 이용하는 제1 과정;
    상기 제1 과정에 기반하여 데이터 시퀀스를 디스조인트 윈도우로 나누는 제2 과정;
    상기 제1 과정에 기반하여 질의 시퀀스를 슬라이딩 윈도우로 나누는 제3 과정; 및
    상기 제2 과정과 제3 과정에서 나누어진 윈도우를 이용하여 서브시퀀스 매칭을 수행하는 제4 과정;을 포함하여 이루어지는 것을 특징으로 하는 시계열 데이터베이스에서의 서브시퀀스 매칭방법.
  2. 제 1 항에 있어서,
    상기 제4 과정에서는, 착오해답을 줄이고 점 여과 효과를 얻기 위하여 데이터 시퀀스를 나눈 디스조인트 윈도우를 변환한 개별 점을 직접 색인에 저장하고, 질의 시퀀스를 나눈 슬라이딩 윈도우를 변환한 개별 점을 직접 질의에 사용하는 단계를 포함하여 이루어지는 것을 특징으로 하는 시계열 데이터베이스에서의 서브시퀀스 매칭방법.
  3. 제 2 항에 있어서,
    범위 질의의 횟수를 줄이기 위하여 질의 시퀀스를 나눈 슬라이딩 윈도우를 변환한 개별 점으로 직접 질의하지 않고, 여러 개의 점을 포함하는 최소 포함 사각형(MBR)을 구성하여 질의하여 후보집합을 구하는 단계를 포함하여 이루어지는 것을 특징으로 하는 시계열 데이터베이스에서의 서브시퀀스 매칭방법.
  4. 제 1 항에 있어서,
    상기 제4 과정에서는, 색인 구성에 필요한 특성 추출 함수의 사용을 줄여서 빠르게 색인을 구성하기 위하여 데이터 시퀀스를 슬라이딩 윈도우로 나누지 않고 디스조인트 윈도우로 나누는 단계를 포함하여 이루어지는 것을 특징으로 하는 시계열 데이터베이스에서의 서브시퀀스 매칭방법.
  5. 서브시퀀스 매칭을 수행하기 위한 다차원 색인을 구성하는 색인 구성 과정이 포함되는 시계열 데이터베이스에서의 서브시퀀스 매칭방법에 있어서,
    상기 색인 구성 과정은, f 차원 색인을 하나 생성하고 이를 초기화하는 제1 단계;
    시계열 데이터베이스로부터 하나의 데이터 시퀀스를 읽는 제2 단계;
    상기 제2 단계에서 읽은 데이터 시퀀스를 디스조인트 윈도우로 나누는 제3단계;
    상기 제3 단계에서 나눈 디스조인트 윈도우를 특성 추출 함수를 사용하여 f 차원의 점으로 변환하는 제4 단계;
    상기 제4 단계에서 변환한 점과 해당 윈도우가 포함된 데이터 시퀀스의 식별자와 해당 윈도우의 시작 위치로 레코드를 구성하는 제5 단계;
    상기 제5 단계에서 구성한 레코드를 f 차원 색인에 삽입하는 제6 단계;
    모든 디스조인트 윈도우에 대해서 상기 제3, 제4 및 제5 단계를 반복한 후, 데이터 베이스로부터 다음에 읽을 데이터 시퀀스가 있는지를 확인하는 제7 단계; 및
    상기 제7 단계에서 더 이상 읽을 데이터 시퀀스가 없으면 색인 구성을 종료하고, 읽을 데이터 시퀀스가 있으면 데이터 시퀀스를 읽은 후 상기 제3 단계로 진행하도록 하는 제8 단계;를 포함하여 이루어지는 것을 특징으로 하는 시계열 데이터베이스에서의 서브시퀀스 매칭방법.
  6. 시계열 데이터베이스와 다차원 색인을 이용하여 사용자가 제시한 질의 시퀀스와 유사한 서브시퀀스를 찾는 서브시퀀스 매칭 과정이 포함되는 시계열 데이터베이스에서의 서브시퀀스 매칭방법에 있어서,
    상기 서브시퀀스 매칭 과정은, 서브시퀀스에 포함된 최소 디스조인트 윈도우 개수를 구하는 제1 단계;
    질의 시퀀스를 슬라이딩 윈도우로 나누는 제2 단계;
    상기 제2 단계에서 나눈 슬라이딩 윈도우를 특성 추출 함수를 사용하여 f 차원의 점으로 변환하는 제3 단계;
    상기 제3 단계에서 변환한 점과 상기 제1 단계에서 구한 최소 디스조인트 윈도우 개수와 사용자가 제시한 허용치를 사용하여 범위 질의를 구성하는 제4 단계;
    상기 제4 단계에서 구성한 범위 질의를 사용하여 다차원 색인을 검색하고, 검색 결과를 사용하여 후보집합을 구성하는 제5 단계;
    모든 슬라이딩 윈도우에 대해서 상기 제3, 제4, 및 제5 단계를 반복하여 후보집합이 구성된 후, 후보집합에 포함된 후보 서브시퀀스를 메모리로 읽어오는 제6 단계; 및
    상기 제6 단계에서 읽어온 후보 서브시퀀스와 질의 시퀀스와의 거리 계산을 통하여 후보집합에 포함된 모든 후보 서브시퀀스에 대해서 착오해답 여부를 확인하는 제7 단계;를 포함하여 이루어지는 것을 특징으로 하는 시계열 데이터베이스에서의 서브시퀀스 매칭방법.
  7. 시계열 데이터베이스와 다차원 색인을 이용하여 사용자가 제시한 질의 시퀀스와 유사한 서브시퀀스를 찾되 범위 질의의 횟수를 줄이는 개선된 서브시퀀스 매칭 과정이 포함되는 시계열 데이터베이스에서의 서브시퀀스 매칭방법에 있어서,
    상기 개선된 서브시퀀스 매칭 과정은, 서브시퀀스에 포함된 최소 디스조인트윈도우 개수를 구하는 제1 단계;
    질의 시퀀스를 슬라이딩 윈도우로 나누고, 특성 추출 함수를 사용하여 각 슬라이딩 윈도우들을 f 차원의 점들로 변환한 후, 여러 개의 점들을 포함하는 최소 포함 사각형(MBR)들을 구성하는 제2 단계;
    상기 제2 단계에서 구성한 MBR과 상기 제1단계에서 구한 최소 디스조인트 윈도우 개수와 사용자가 제시한 허용치를 사용하여 범위 질의를 구성하는 제3 단계;
    상기 제3 단계에서 구성한 범위 질의를 사용하여 다차원 색인을 검색하는 제4 단계;
    상기 제3 단계에서 범위 질의 구성에 사용한 MBR에 포함된 각 점들과 제4 단계의 검색 결과로 찾은 각 점들간의 거리 계산을 통하여 후보집합을 구성하는 제5 단계;
    모든 MBR에 대해서 상기 제3, 제4, 및 제5 단계를 반복하여 후보집합이 구성된 후, 후보집합에 포함된 후보 서브시퀀스를 메모리로 읽어오는 제6 단계; 및
    상기 제6 단계에서 읽어온 후보 서브시퀀스와 질의 시퀀스와의 거리 계산을 통하여 후보집합에 포함된 모든 후보 서브시퀀스에 대해서 착오해답 여부를 확인하는 제7 단계;를 포함하여 이루어지는 것을 특징으로 하는 시계열 데이터베이스에서의 서브시퀀스 매칭방법.
KR1019990059467A 1999-12-20 1999-12-20 시계열 데이터베이스에서 윈도우 구성의 이원성을 사용한 서브시퀀스 매칭방법 KR100344530B1 (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1019990059467A KR100344530B1 (ko) 1999-12-20 1999-12-20 시계열 데이터베이스에서 윈도우 구성의 이원성을 사용한 서브시퀀스 매칭방법
US09/559,673 US6496817B1 (en) 1999-12-20 2000-04-27 Subsequence matching method using duality in constructing windows in time-series databases
PCT/KR2000/001458 WO2001046771A2 (en) 1999-12-20 2000-12-14 A subsequence matching method using duality in constructing windows in time-series databases
JP2001547619A JP3648709B2 (ja) 1999-12-20 2000-12-14 サブシーケンスマッチング方法
EP00983553A EP1250636A2 (en) 1999-12-20 2000-12-14 A subsequence matching method using duality in constructing windows in time-series databases
AU20295/01A AU2029501A (en) 1999-12-20 2000-12-14 A subsequence matching method using duality in constructing windows in time-series databases

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990059467A KR100344530B1 (ko) 1999-12-20 1999-12-20 시계열 데이터베이스에서 윈도우 구성의 이원성을 사용한 서브시퀀스 매칭방법

Publications (2)

Publication Number Publication Date
KR20010064977A true KR20010064977A (ko) 2001-07-11
KR100344530B1 KR100344530B1 (ko) 2002-07-24

Family

ID=19627347

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990059467A KR100344530B1 (ko) 1999-12-20 1999-12-20 시계열 데이터베이스에서 윈도우 구성의 이원성을 사용한 서브시퀀스 매칭방법

Country Status (6)

Country Link
US (1) US6496817B1 (ko)
EP (1) EP1250636A2 (ko)
JP (1) JP3648709B2 (ko)
KR (1) KR100344530B1 (ko)
AU (1) AU2029501A (ko)
WO (1) WO2001046771A2 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030032499A (ko) * 2001-10-18 2003-04-26 한국전자통신연구원 시퀀스 데이터베이스에서 타임 워핑 기반의 서브시퀀스매칭방법
KR100472949B1 (ko) * 2001-10-18 2005-03-08 한국전자통신연구원 시계열 데이터베이스에서 서브시퀀스 매칭의 인덱스검색방법
KR20190116032A (ko) * 2018-04-04 2019-10-14 한양대학교 산학협력단 시계열 데이터베이스의 서브 시퀀스 매칭 시스템 및 그 방법

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7174340B1 (en) * 2000-08-17 2007-02-06 Oracle International Corporation Interval-based adjustment data includes computing an adjustment value from the data for a pending adjustment in response to retrieval of an adjusted data value from a database
US7146374B1 (en) * 2001-02-21 2006-12-05 Oracle Corporation Automated multi-line labeling of a time axis
US7283987B2 (en) * 2001-03-05 2007-10-16 Sap Ag Compression scheme for improving cache behavior in database systems
US6907426B2 (en) * 2001-05-17 2005-06-14 International Business Machines Corporation Systems and methods for identifying and counting instances of temporal patterns
KR100483321B1 (ko) * 2001-10-17 2005-04-15 한국과학기술원 하이퍼사각형 기반의 다차원 데이터 세그먼테이션을이용한 유사성 검색 장치와 그 방법
US7080072B1 (en) * 2001-11-14 2006-07-18 Ncr Corp. Row hash match scan in a partitioned database system
US20030130996A1 (en) * 2001-12-21 2003-07-10 International Business Machines Corporation Interactive mining of time series data
US20040034633A1 (en) * 2002-08-05 2004-02-19 Rickard John Terrell Data search system and method using mutual subsethood measures
US20040024755A1 (en) * 2002-08-05 2004-02-05 Rickard John Terrell System and method for indexing non-textual data
US7580812B2 (en) * 2004-01-28 2009-08-25 Honeywell International Inc. Trending system and method using window filtering
US7447666B2 (en) 2004-04-09 2008-11-04 The Boeing Company System and method for analyzing a pattern in a time-stamped event sequence
US7624098B2 (en) * 2005-10-07 2009-11-24 International Business Machines Corporation Generating suitable data for statistical analysis
US20070097755A1 (en) * 2005-10-27 2007-05-03 Marndi Raj N Method for comparing a first data set with a second data set
US20080016157A1 (en) * 2006-06-29 2008-01-17 Centraltouch Technology Inc. Method and system for controlling and monitoring an apparatus from a remote computer using session initiation protocol (sip)
US8036971B2 (en) * 2007-03-30 2011-10-11 Palantir Technologies, Inc. Generating dynamic date sets that represent market conditions
US7685099B2 (en) * 2007-06-28 2010-03-23 Microsoft Corporation Forecasting time-independent search queries
US7685100B2 (en) 2007-06-28 2010-03-23 Microsoft Corporation Forecasting search queries based on time dependencies
US7693908B2 (en) * 2007-06-28 2010-04-06 Microsoft Corporation Determination of time dependency of search queries
US7689622B2 (en) * 2007-06-28 2010-03-30 Microsoft Corporation Identification of events of search queries
US7693823B2 (en) * 2007-06-28 2010-04-06 Microsoft Corporation Forecasting time-dependent search queries
US8290921B2 (en) * 2007-06-28 2012-10-16 Microsoft Corporation Identification of similar queries based on overall and partial similarity of time series
US8090709B2 (en) * 2007-06-28 2012-01-03 Microsoft Corporation Representing queries and determining similarity based on an ARIMA model
US8484115B2 (en) 2007-10-03 2013-07-09 Palantir Technologies, Inc. Object-oriented time series generator
US10747952B2 (en) 2008-09-15 2020-08-18 Palantir Technologies, Inc. Automatic creation and server push of multiple distinct drafts
US20100070426A1 (en) 2008-09-15 2010-03-18 Palantir Technologies, Inc. Object modeling for exploring large data sets
US9177343B2 (en) * 2010-11-23 2015-11-03 At&T Intellectual Property I, L.P. Conservation dependencies
US8732574B2 (en) 2011-08-25 2014-05-20 Palantir Technologies, Inc. System and method for parameterizing documents for automatic workflow generation
US9348677B2 (en) 2012-10-22 2016-05-24 Palantir Technologies Inc. System and method for batch evaluation programs
US9069824B2 (en) 2012-11-15 2015-06-30 International Business Machines Corporation Accelerating time series data base queries using dictionary based representations
US9015183B2 (en) 2012-11-26 2015-04-21 International Business Machines Corporation Accelerating time series data base queries using dictionary based representations
KR101403949B1 (ko) * 2013-02-26 2014-06-09 한국과학기술원 모바일 상황 모니터링을 위한 효율적 데이터 처리를 수행하는 모바일 장치, 이를 이용하는 데이터 처리 방법, 이를 이용하는 상황 모니터링 방법 및 이를 포함하는 상황 모니터링 시스템
US8855999B1 (en) 2013-03-15 2014-10-07 Palantir Technologies Inc. Method and system for generating a parser and parsing complex data
US8868486B2 (en) 2013-03-15 2014-10-21 Palantir Technologies Inc. Time-sensitive cube
US8903717B2 (en) 2013-03-15 2014-12-02 Palantir Technologies Inc. Method and system for generating a parser and parsing complex data
US8930897B2 (en) 2013-03-15 2015-01-06 Palantir Technologies Inc. Data integration tool
US8909656B2 (en) 2013-03-15 2014-12-09 Palantir Technologies Inc. Filter chains with associated multipath views for exploring large data sets
US8938686B1 (en) 2013-10-03 2015-01-20 Palantir Technologies Inc. Systems and methods for analyzing performance of an entity
US9105000B1 (en) 2013-12-10 2015-08-11 Palantir Technologies Inc. Aggregating data from a plurality of data sources
US9361329B2 (en) 2013-12-13 2016-06-07 International Business Machines Corporation Managing time series databases
US8935201B1 (en) 2014-03-18 2015-01-13 Palantir Technologies Inc. Determining and extracting changed data from a data source
CN105224543A (zh) * 2014-05-30 2016-01-06 国际商业机器公司 用于处理时间序列的方法和装置
US10838956B2 (en) * 2015-08-26 2020-11-17 Pivotal Software, Inc. Database acceleration through runtime code generation
CN106709336A (zh) * 2015-11-18 2017-05-24 腾讯科技(深圳)有限公司 识别恶意软件的方法和装置
KR101937989B1 (ko) 2017-12-29 2019-01-11 연세대학교 원주산학협력단 집합 기반 유사 시퀀스 매칭 장치 및 방법

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60179797A (ja) * 1983-10-27 1985-09-13 日本電気株式会社 パタンマツチング装置
JPH01183793A (ja) * 1988-01-18 1989-07-21 Toshiba Corp 文字認識装置
US5647058A (en) 1993-05-24 1997-07-08 International Business Machines Corporation Method for high-dimensionality indexing in a multi-media database
US5544352A (en) * 1993-06-14 1996-08-06 Libertech, Inc. Method and apparatus for indexing, searching and displaying data
US5553279A (en) * 1993-10-08 1996-09-03 International Business Machines Corporation Lossless distribution of time series data in a relational data base network
US5819266A (en) * 1995-03-03 1998-10-06 International Business Machines Corporation System and method for mining sequential patterns in a large database
US5630051A (en) * 1995-03-06 1997-05-13 Motorola Inc. Method and apparatus for merging hierarchical test subsequence and finite state machine (FSM) model graphs
US5570370A (en) * 1995-04-28 1996-10-29 Industrial Technology Research Institute Frame timing acquisition method and system for cordless TDMA systems
US5664174A (en) * 1995-05-09 1997-09-02 International Business Machines Corporation System and method for discovering similar time sequences in databases
US5799301A (en) * 1995-08-10 1998-08-25 International Business Machines Corporation Apparatus and method for performing adaptive similarity searching in a sequence database
US5742811A (en) * 1995-10-10 1998-04-21 International Business Machines Corporation Method and system for mining generalized sequential patterns in a large database
US6122759A (en) * 1995-10-10 2000-09-19 Lucent Technologies Inc. Method and apparatus for restoration of an ATM network
US5832496A (en) * 1995-10-12 1998-11-03 Ncr Corporation System and method for performing intelligent analysis of a computer database
US5787422A (en) * 1996-01-11 1998-07-28 Xerox Corporation Method and apparatus for information accesss employing overlapping clusters
US6012062A (en) * 1996-03-04 2000-01-04 Lucent Technologies Inc. System for compression and buffering of a data stream with data extraction requirements
EP0797161A3 (en) * 1996-03-22 1998-05-27 Pilot Software Inc Computer system and computerimplemented process for applying database segment definitions to a database
US5781906A (en) * 1996-06-06 1998-07-14 International Business Machines Corporation System and method for construction of a data structure for indexing multidimensional objects
US5940825A (en) * 1996-10-04 1999-08-17 International Business Machines Corporation Adaptive similarity searching in sequence databases
US6092064A (en) * 1997-11-04 2000-07-18 International Business Machines Corporation On-line mining of quantitative association rules
US6301575B1 (en) * 1997-11-13 2001-10-09 International Business Machines Corporation Using object relational extensions for mining association rules
US5987468A (en) * 1997-12-12 1999-11-16 Hitachi America Ltd. Structure and method for efficient parallel high-dimensional similarity join
US6003036A (en) * 1998-02-12 1999-12-14 Martin; Michael W. Interval-partitioning method for multidimensional data
US6360188B1 (en) * 1998-10-27 2002-03-19 Brixx Limited Time-based modeling

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030032499A (ko) * 2001-10-18 2003-04-26 한국전자통신연구원 시퀀스 데이터베이스에서 타임 워핑 기반의 서브시퀀스매칭방법
KR100472949B1 (ko) * 2001-10-18 2005-03-08 한국전자통신연구원 시계열 데이터베이스에서 서브시퀀스 매칭의 인덱스검색방법
KR20190116032A (ko) * 2018-04-04 2019-10-14 한양대학교 산학협력단 시계열 데이터베이스의 서브 시퀀스 매칭 시스템 및 그 방법

Also Published As

Publication number Publication date
EP1250636A2 (en) 2002-10-23
WO2001046771A3 (en) 2002-08-15
AU2029501A (en) 2001-07-03
JP3648709B2 (ja) 2005-05-18
US6496817B1 (en) 2002-12-17
KR100344530B1 (ko) 2002-07-24
JP2003518310A (ja) 2003-06-03
WO2001046771A2 (en) 2001-06-28

Similar Documents

Publication Publication Date Title
KR100344530B1 (ko) 시계열 데이터베이스에서 윈도우 구성의 이원성을 사용한 서브시퀀스 매칭방법
KR100725664B1 (ko) 2단계 n-gram 역색인 구조 및 그 구성 방법과 질의처리 방법 및 그 색인 도출 방법
Keogh et al. Locally adaptive dimensionality reduction for indexing large time series databases
Keogh et al. A simple dimensionality reduction technique for fast similarity search in large time series databases
Wang et al. Vchunkjoin: An efficient algorithm for edit similarity joins
US6084595A (en) Indexing method for image search engine
EP1095326B1 (en) A search system and method for retrieval of data, and the use thereof in a search engine
EP1585073B1 (en) Method for duplicate detection and suppression
US20100125594A1 (en) Method and Apparatus for Improving Performance of Approximate String Queries Using Variable Length High-Quality Grams
Brisaboa et al. Similarity search using sparse pivots for efficient multimedia information retrieval
KR20090065130A (ko) 시그니처 파일을 이용한 고차원 데이터 색인 및 검색방법과 그 시스템
Li et al. Skyline index for time series data
Chávez et al. A metric index for approximate string matching
Tseng et al. Generating frequent patterns with the frequent pattern list
Bohm et al. Probabilistic ranking queries on gaussians
Kim et al. n-Gram/2L-approximation: a two-level n-gram inverted index structure for approximate string matching
KR100472948B1 (ko) 시계열 데이터베이스에서 서브 시퀀스 매칭의 후처리최적화 방법
Kim et al. Efficient processing of substring match queries with inverted q-gram indexes
KR100472949B1 (ko) 시계열 데이터베이스에서 서브시퀀스 매칭의 인덱스검색방법
KR100446639B1 (ko) 셀 기반의 고차원 데이터 색인 장치 및 그 방법
Han et al. A new high-dimensional index structure using a cell-based filtering technique
KR20030032499A (ko) 시퀀스 데이터베이스에서 타임 워핑 기반의 서브시퀀스매칭방법
US20230036196A1 (en) Computer architecture for string searching
Shishibori et al. A method to Improve metric index VP-tree for multimedia databases
Cui et al. Speed up linear scan in high-dimensions using extended B+-tree

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

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee