KR20070057599A - 데이터 중복 처리 방지 기능을 가지는 스트림 데이터 처리시스템 및 그 방법 - Google Patents

데이터 중복 처리 방지 기능을 가지는 스트림 데이터 처리시스템 및 그 방법 Download PDF

Info

Publication number
KR20070057599A
KR20070057599A KR1020060016335A KR20060016335A KR20070057599A KR 20070057599 A KR20070057599 A KR 20070057599A KR 1020060016335 A KR1020060016335 A KR 1020060016335A KR 20060016335 A KR20060016335 A KR 20060016335A KR 20070057599 A KR20070057599 A KR 20070057599A
Authority
KR
South Korea
Prior art keywords
data
window
query condition
result
evaluation result
Prior art date
Application number
KR1020060016335A
Other languages
English (en)
Other versions
KR100813000B1 (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 KR1020060016335A priority Critical patent/KR100813000B1/ko
Priority to US11/607,279 priority patent/US7490078B2/en
Publication of KR20070057599A publication Critical patent/KR20070057599A/ko
Application granted granted Critical
Publication of KR100813000B1 publication Critical patent/KR100813000B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/83Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2474Sequence data queries, e.g. querying versioned data
    • 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
    • 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/99934Query formulation, input preparation, or translation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Fuzzy Systems (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

1. 청구범위에 기재된 발명이 속한 기술분야
본 발명은 데이터 중복 처리 방지 기능을 가지는 스트림 데이터 처리 시스템 및 그 방법에 관한 것임.
2. 발명이 해결하려고 하는 기술적 과제
본 발명은 유비쿼터스 환경에서 외부 센서로부터 수집되는 스트림 데이터의 연속 질의(continuous query) 처리시, 동일 데이터가 수차례에 걸쳐 질의 대상 범위(윈도우)에 포함되는 특성을 고려하여 이전의 질의 조건 평가 결과를 이용하여 중복으로 데이터의 질의 평가가 수행되지 않도록 방지함으로써, 전체 시스템의 성능을 향상시키고 자원 낭비를 줄이기 위한, 데이터 중복 처리 방지 기능을 가지는 스트림 데이터 처리 시스템 및 그 방법을 제공하는데 그 목적이 있음.
3. 발명의 해결방법의 요지
본 발명은, 데이터 중복 처리 방지 기능을 가지는 스트림 데이터 처리 시스템에 있어서, 질의 조건 평가 결과를 갱신하면서 저장하기 위한 평가 결과 저장 수단; 스트림 데이터에 대한 윈도우 평가를 수행하기 위한 윈도우 평가 수단; 상기 윈도우 평가 수단으로부터 전달받은 데이터를 이전의 질의 조건 평가 결과의 재사용 가능 여부에 따라 새로운 데이터와 중복 입력 데이터로 분리하기 위한 데이터 분리 수단; 상기 데이터 분리 수단으로부터 중복 입력 데이터를 전달받음에 따라 그에 대한 질의 조건 평가 결과를 상기 평가 결과 저장 수단으로부터 추출하기 위 한 재사용 결과 추출 수단; 상기 데이터 분리 수단으로부터 새로운 데이터를 전달받음에 따라 질의 조건 평가를 수행하여 질의 조건 평가 결과를 생성하기 위한 질의 조건 평가 수단; 및 상기 재사용 결과 추출 수단과 상기 질의 조건 평가 수단으로부터 질의 조건 평가 결과를 각각 전달받음에 따라 이들을 취합하여 출력하고, 상기 평가 결과 저장 수단으로 전달하기 위한 결과 구성 수단을 포함한다.
4. 발명의 중요한 용도
본 발명은 스트림 데이터 처리 시스템 등에 이용됨.
스트림 데이터, XML, 중복 입력 데이터, 계층적 저장 구조, 연속 질의, 데이터 중복 처리 방지

Description

데이터 중복 처리 방지 기능을 가지는 스트림 데이터 처리 시스템 및 그 방법{Stream data processing system and method for avoiding duplication of data processing}
도 1 은 스트림 데이터의 연속 질의 처리시 사용되는 윈도우 개념에 대한 일실시예 설명도,
도 2 는 종래 기술에 따른 스트림 데이터 처리 시스템의 일실시예 구성도,
도 3 은 XML 형태의 입력 스트림 데이터의 일실시예 설명도,
도 4 는 입력 스트림 데이터의 윈도우 바인딩에 대한 일실시예 설명도,
도 5 는 본 발명에 따른 데이터 중복 처리 방지 기능을 가지는 스트림 데이터 처리 시스템의 일실시예 구성도,
도 6 은 본 발명에 따른 스트림 데이터 처리 시스템에서 질의 조건 평가 결과의 계층적 구조에 대한 일실시예 설명도,
도 7 은 본 발명에 따른 스트림 데이터 처리 시스템에서 질의 조건 평가 결과의 저장에 대한 일실시예 설명도,
도 8 은 본 발명에 따른 스트림 데이터 처리 시스템에서 데이터 중복 처리를 방지하기 위한 데이터 분리 과정에 대한 일실시예 흐름도,
도 9 는 본 발명에 따른 스트림 데이터 처리 시스템에서 이전 질의 조건 평가 결과 및 현 처리 결과의 취합 과정에 대한 일실시예 흐름도,
도 10 은 본 발명에 따른 스트림 데이터 처리 시스템에서 질의 조건 평가 결과의 재사용에 대한 일실시예 설명도,
도 11 은 본 발명에 따른 스트림 데이터 처리 시스템에서 데이터 중복 처리 방지 방법에 대한 일실시예 흐름도이다.
* 도면의 주요 부분에 대한 부호의 설명 *
510 : 입력 버퍼 520 : 윈도우 평가부
530 : 데이터 분리부 540 : 재사용 결과 추출부
550 : 질의 조건 평가부 560 : 결과 구성부
570 : 출력 버퍼 580 : 평가 결과 저장부
본 발명은 데이터 중복 처리 방지 기능을 가지는 스트림 데이터 처리 시스템 및 그 방법에 관한 것으로, 더욱 상세하게는 윈도우 연산을 포함하는 연속 질의 처리시 이전 질의 조건 평가 결과를 이용하여 데이터의 중복 처리(중복 질의 평가)를 방지함으로써, 전체 시스템의 성능을 향상시키고 자원 낭비를 줄이기 위한, 데이터 중복 처리 방지 기능을 가지는 스트림 데이터 처리 시스템 및 그 방법에 관한 것이다.
XML(eXtensible Markup Language)은 HTML(Hyper Text Markup Language)과 SGML(Standard Generalized Markup Language)의 단점을 개선하여 만들어진 차세대 인터넷 전자 문서 표준이다. XML은 플랫폼에 독립적이고, 문서 정보의 전송 및 교환이 용이하며, 문서의 의미를 그대로 나타낼 수 있는 장점이 있다. 여기서, XML은 1998년 2월에 W3C에서 권고안으로 채택되어, 이후 그 활용이 점차 활발해지고 있는 상황이다.
유비쿼터스 환경에서는 다양한 센서들로부터 상품정보, 온도, 습도 등과 같은 각종 데이터들이 실시간으로 수집된다. 상기 다양한 센서들로부터 수집되는 데이터는 네트워크를 통하여 연속적으로 생성 및 전달되는 스트림 데이터의 형태를 나타내고, 이러한 스트림 데이터를 효율적으로 처리하기 위한 스트림 데이터 처리 시스템 개발에 관심이 증대되고 있는 상황이다.
한편, 스트림 데이터 처리 시스템에서 스트림 데이터에 대한 질의는 기존 데이터베이스 관리 시스템에서처럼 질의 대상이 되는 데이터 집합이 먼저 정해진 환경에서 질의를 하여 그 결과를 얻어오는 일회 질의(one time query)와 구별하기 위해, 질의가 먼저 등록된 후에 끊임없이 생성되어 입력되는 스트림 데이터에 질의를 계속 적용하여 검색한다고 해서 연속 질의(continuous query)라 한다.
이때, 연속 질의의 경우에는 하나 이상의 센서에 의해 수집된 각 스트림 데이터에 대하여 하나 이상의(수십 혹은 수백 이상일 수도 있음) 연속적인 질의 과정 을 수행하므로, 그 데이터 처리량이 방대한 특징이 있다.
상기와 같은 연속 질의에서는 질의 대상을 한정하기 위해 윈도우란 개념을 사용한다. 즉, 끊임없이 생성되어 입력되는 모든 스트림 데이터에 대하여 한꺼번에 질의할 수 없으므로, 질의 대상이 되는 스트림 데이터를 논리적으로 한정한다. 이때, 일반적인 입력 데이터를 한정하는 방안으로는 시간과 이벤트 수(튜플 수)를 각각 이용하는 방안이 있다. 연속 질의에서 사용되는 윈도우에 대하여 도 1을 참조하여 살펴보면 다음과 같다.
도 1 은 스트림 데이터의 연속 질의 처리시 사용되는 윈도우 개념에 대한 일실시예 설명도이다.
도 1에 도시된 바와 같이, 연속 질의 처리시 사용되는 대표적인 윈도우로는 랜드마크(landmark) 윈도우와 슬라이딩(sliding) 윈도우가 있다.
"11"과 같이, 랜드마크 윈도우는 윈도우의 시작이 고정되어 있고 끝이 이동하는 윈도우로서, 이전 질의 평가에서 사용된 데이터가 모두 다음 차례의 질의 평가에 사용된다.
또한, "12"와 같이 슬라이딩 윈도우는 윈도우의 시작과 끝이 모두 이동하는 윈도우로서, 겹침이 있는 경우에는 겹치는 부분의 데이터가 다음 차례의 질의 평가에도 역시 입력 데이터로 사용된다. 예를 들면, "i+6"에서 "i+8" 구간에 입력된 데이터는 윈도우 w1, w2, w3, w4에 모두 포함되므로, 4 차례의 질의 평가에 입력 데이터로 사용된다.
한편, 윈도우 연산을 포함하는 연속 질의를 지원하기 위한 종래의 스트림 데 이터 처리 시스템에 대하여 도 2를 참조하여 설명하기로 한다.
도 2 는 종래 기술에 따른 스트림 데이터 처리 시스템의 일실시예 구성도이다.
도 2에 도시된 바와 같이, 종래 기술에 따른 스트림 데이터 처리 시스템은, 입력 버퍼(210), 상기 입력 버퍼(210)로부터 스트림 데이터를 읽어와 윈도우 평가를 수행하기 위한 윈도우 평가부(220), 스트림 데이터에 대한 질의 평가(질의 조건 평가)를 수행하기 위한 질의 조건 평가부(230), 상기 질의 평가 결과를 생성하기 위한 결과 구성부(240), 및 출력 버퍼(250)를 포함한다.
이때, 연속 질의를 처리하는 경우 윈도우 평가, 질의 평가(질의 조건 평가), 질의 평가 결과 생성의 전 과정이 계속해서 반복 수행된다. 또한, "i+6"에서 "i+8" 구간에 입력된 데이터는 상기 윈도우 평가 과정에서 w1, w2, w3, w4의 총 4 차례에 걸쳐 각 윈도우에 포함되어 평가되므로, 4 번의 질의 평가가 수행된다.
여기서, 선행 특허로서 미합중국 등록 특허 "연속 메모 방법(등록번호 US6. 553. 394, 등록일 2003.4.22)"을 살펴보면, 입력 파라미터와 처리 결과를 계속 축적(메모)하는 방식으로 이전 입출력 데이터를 이용하여 이후의 결과를 생성하는 기술로서, 수학적 함수(예 : 지수함수, 대수 함수, 가우스 함수)에 대한 계산에 용이하게 활용된다. 즉, 한 번 계산된 결과는 다음 차례의 계산에 반드시 사용되므로, 입력 데이터와 출력 데이터를 계속 축적한다.
그런데, 유비쿼터스 환경의 다양한 센서로부터 스트림 데이터를 전달받아 처리하기 위한 스트림 데이터 처리 시스템에 상기 선행 특허를 적용하기에는 한계가 있다. 즉, 유비쿼터스 환경의 각 센서에 의해 센싱되는 데이터는 대부분 서로 다르므로 데이터의 재사용 확률이 낮을 뿐만 아니라, 처리 대상 데이터의 방대함으로 메모리 자원 부족 현상이 발생하기 쉬운 스트림 데이터 처리 시스템에 데이터를 축적하는 방식으로 동작하는 상기 선행 특허를 적용하기에는 한계가 있다.
또한, 선행 논문으로서 "STREAM"[참고문헌 : A.Arasu, S.Babu, J.Widom. The CQL continuous Query Language : Semantic Foundation and Query Execution, Stanford Univ.Technical Report, 2003.10]은 다수의 연속 데이터 스트림과 저장소에 저장된 릴레이션들에 대해 연속 질의 처리하기 위한 범용의 스트림 처리 시스템에 대한 논문으로서, 상기 시스템은 슬라이딩 윈도우를 포함하는 윈도우를 평가하기 위해 각 입력 데이터를 버퍼링하고 이를 필요하지 않을 때까지 유지한다. 즉, 각 입력 튜플은 다수의 윈도우에 속하게 되는데 해당 튜플이 포함된 마지막 윈도우에 대한 평가가 수행될 때까지 저장 상태를 유지한다.
그런데, 이는 데이터에 대한 접근 및 처리가 수차례 수행되어야 함을 의미하는 것으로, 스트림 데이터 처리 시스템에 적용시에는 불필요한 자원 낭비가 발생하는 문제점이 있었다.
또한, 다른 선행 논문으로서 "Jin Li"의 방법[참고문헌 : Jin Li, David Maier dt al. Semantics and Evaluation Techniques for Window Aggregates in Data Streams, SIGMOD 2005, 2005.7]은 윈도우 정의에 대해 정리하고 데이터 스트림 환경에서 윈도우 집합 함수에 대한 평가 방법을 설명한다. 즉, 입력 데이터가 들어오면 어느 윈도우에 속하는지를 계산하도록 하고 이를 집합 연산 처리시 활용 하도록 한다. 여기서, 각 데이터에는 다수 윈도우에 포함됨을 표시할 수 있다.
그런데, 상기 선행 논문에 따른 종래 기술에서는 다수 윈도우를 위한 공간을 기 확보한 상태에서 일괄적으로 질의 평가를 수행하므로, 동작 수행시 불필요한 자원 낭비가 발생하는 문제점이 있었다. 또한, 상기 종래 기술은 윈도우 집합 함수만을 처리 대상으로 하므로, 윈도우 연산을 포함하는 연속 질의를 처리하기 위한 스트림 데이터 처리 시스템에 적용하기에는 한계가 있다.
본 발명은 상기 문제점을 해결하기 위하여 제안된 것으로, 유비쿼터스 환경에서 외부 센서로부터 수집되는 스트림 데이터의 연속 질의(continuous query) 처리시, 동일 데이터가 수차례에 걸쳐 질의 대상 범위(윈도우)에 포함되는 특성을 고려하여 이전의 질의 조건 평가 결과를 이용하여 중복으로 데이터의 질의 평가가 수행되지 않도록 방지함으로써, 전체 시스템의 성능을 향상시키고 자원 낭비를 줄이기 위한, 데이터 중복 처리 방지 기능을 가지는 스트림 데이터 처리 시스템 및 그 방법을 제공하는데 그 목적이 있다.
본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
상기 목적을 달성하기 위한 본 발명의 장치는, 데이터 중복 처리 방지 기능을 가지는 스트림 데이터 처리 시스템에 있어서, 질의 조건 평가 결과를 갱신하면서 저장하기 위한 평가 결과 저장 수단; 스트림 데이터에 대한 윈도우 평가를 수행하기 위한 윈도우 평가 수단; 상기 윈도우 평가 수단으로부터 전달받은 데이터를 이전의 질의 조건 평가 결과의 재사용 가능 여부에 따라 새로운 데이터와 중복 입력 데이터로 분리하기 위한 데이터 분리 수단; 상기 데이터 분리 수단으로부터 중복 입력 데이터를 전달받음에 따라 그에 대한 질의 조건 평가 결과를 상기 평가 결과 저장 수단으로부터 추출하기 위한 재사용 결과 추출 수단; 상기 데이터 분리 수단으로부터 새로운 데이터를 전달받음에 따라 질의 조건 평가를 수행하여 질의 조건 평가 결과를 생성하기 위한 질의 조건 평가 수단; 및 상기 재사용 결과 추출 수단과 상기 질의 조건 평가 수단으로부터 질의 조건 평가 결과를 각각 전달받음에 따라 이들을 취합하여 출력하고, 상기 평가 결과 저장 수단으로 전달하기 위한 결과 구성 수단을 포함한다.
한편, 상기 목적을 달성하기 위한 본 발명의 방법은, 스트림 데이터 처리 시스템에서의 데이터 중복 처리 방지 방법에 있어서, 외부로부터 스트림 데이터를 입력받는 입력 단계; 상기 입력받은 스트림 데이터에 대한 윈도우 평가를 수행하는 윈도우 평가 단계; 상기 윈도우 평가한 데이터를 이전의 질의 조건 평가 결과의 재사용 가능 여부에 따라 중복 입력 데이터와 새로운 데이터로 분리하는 데이터 분리 단계; 이전의 질의 조건 평가 결과로부터 상기 중복 입력 데이터에 대한 질의 조건 평가 결과를 추출하는 재사용 결과 추출 단계; 상기 새로운 데이터에 대한 질의 조건 평가를 수행하여 질의 조건 평가 결과를 생성하는 질의 조건 평가 단계; 상기 중복 입력 데이터와 상기 새로운 데이터에 대한 각각의 질의 조건 평가 결과를 취합하는 취합 단계; 및 상기 취합한 질의 조건 평가 결과를 이용하여 상기 이전의 질의 조건 평가 결과를 갱신하는 갱신 단계를 포함한다.
상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명하기로 한다.
이하의 상세한 설명에서는, 본 발명에 따른 스트림 데이터 처리 시스템에 입력되는 데이터가 XML 형태의 스트림 데이터인 경우를 일예로 들어 설명하기로 한다. 그리고, 본 발명에서 사용되는 XML 형태의 스트림 데이터와, 윈도우 바인딩에 관하여 먼저 설명한 후, 본 발명에 따른 스트림 데이터 처리 시스템의 구성 및 동작과정을 설명하기로 한다.
도 3 은 XML 형태의 입력 스트림 데이터의 일실시예 설명도이다.
도 3에 도시된 바와 같이, XML 형태의 스트림 데이터(310 내지 320)는 본 발명에 따른 스트림 데이터 처리 시스템의 입력 데이터로 사용된다. 이때, 상기 "310 내지 320"은 각각 하나의 데이터가 되어 입력된다.
또한, XML 형태의 스트림 데이터로부터 사용자 관심사항을 검색해 내기 위해, 본 발명에 따른 스트림 데이터 처리 시스템은 윈도우 정의가 가능해지도록 엑스쿼리(XQuery)를 확장한 질의 언어를 사용한다.
여기서, 본 발명에서 사용되는 질의 언어에 대하여 살펴보면, 각 질의는 윈도우 정의 부분과 검색 조건 부분을 포함한다. 이때, 상기 윈도우 정의 부분은 윈도우 시작/끝, 건너띄기(tumbling), 윈도우 데이터 한정 방안 등을 나타내는 값들을 포함한다. 예를 들어, 윈도우 시작 값이 "-1"이면 랜드마크 윈도우를 나타내고, 윈도우 데이터 한정 방안으로 "second"와 "event"는 각각 시간과 이벤트를 나타낸다. 그리고, 건너띄기의 경우 슬라이딩 윈도우에서는 슬라이딩시의 건너띄기를 의미하고, 랜드마크 윈도우에서는 윈도우의 크기가 증가하는 단위를 나타낸다. 또한, 상기 검색 조건 부분은 엑스쿼리(XQuery) 구문을 따른다.
한편, 질의 구문을 구체적인 예를 들어 살펴보면, "sensor1으로부터 입력되는 5개의 이벤트를 한정하고, 2개의 이벤트 단위로 슬라이딩하는 윈도우"를 본 발명에서 사용되는 질의 언어로 표현하면 "sensor1으로부터 입력되는 데이터에 대하여 윈도우 시작/끝 값이 각각 0/5이고 건너띄기는 2인 이벤트에 기반하여 데이터를 한정하는 윈도우"가 되는데, 이를 질의 구문으로 나타내면 "using "sensor1" as $s1 within(1 to 5, 2 event)"가 된다.
그리고, 윈도우를 한정하는 방안 중 이벤트가 아닌 시간을 이용하여 상기 질의 구문을 나타내면 "using "sensor1" as $s1 within(1 to 5, 2 second)"가 된다.
여기서, 외부로부터 입력되는 스트림 데이터에 대한 윈도우 평가 결과를 상기에서 예로 든 두 질의 구문을 이용하여 살펴보면 다음과 같다.
도 4 는 입력 스트림 데이터의 윈도우 바인딩에 대한 일실시예 설명도이다.
도 4에 도시된 바와 같이, "410"은 외부의 다양한 센서로부터 센싱된 상기 도 3의 데이터(310 내지 320)가 스트림의 형태로 입력되는 과정을 그 순서에 따라 나타내고 있다. 여기서, 가로축은 시간의 흐름을 나타내는 시간축이다. 그리고, "430"과 "450"은 상기 도 3에서 예를 들어 설명한 질의 구문으로서, 윈도우 데이터 한정 방안 중 이벤트와 시간을 사용한 경우를 각각 나타내고 있다(이벤트 기반 질의 구문과 시간 기반 질의 구문을 각각 나타내고 있다).
또한, 질의가 "410"의 "t" 시점에서 시작되고 센서로부터 센싱된 데이터가 "310, 311, 312, ..., 319, 320"과 같이 순서대로 입력되는 경우, 이벤트 기반 질의 구문(430)을 처리(즉, 질의 조건 평가)하기 위한 윈도우 평가 결과는 "431, 432, 433, 434"와 같고, 시간 기반 질의 구문(450)을 처리하기 위한 윈도우 평가 결과는 "451, 452, 453, 454, 455, 456, 457"과 같다.
즉, 이벤트에 기반한 윈도우인 "431"은 "310, 311, 312, 313, 314"가 윈도우 평가 결과가 되고, "432"는 "312, 313, 314, 315, 316"이 윈도우 평가 결과가 되며, "433"은 "314, 315, 316, 317, 318"이 윈도우 평가 결과가 되고, "434"는 "316, 317, 318, 319, 320"이 윈도우 평가 결과가 된다.
그리고, 시간에 기반한 윈도우인 "451"는 "310, 311, 312", "452"는 "311, 312, 313", "453"은 "312, 313, 314", "454"는 "313, 314, 315", "455"는 "314, 315, 316, 317", "456"은 "316, 317, 318", "457"은 "317, 318, 319, 320"이 각각 해당 윈도우 평가 결과가 된다.
이때, 상기 이벤트/시간에 기반한 각 윈도우는 서로 중복되는 데이터를 윈도우 평가 결과로서 동시에 포함하게 된다.
도 5 는 본 발명에 따른 데이터 중복 처리 방지 기능을 가지는 스트림 데이터 처리 시스템의 일실시예 구성도이다.
도 5에 도시된 바와 같이, 본 발명에 따른 데이터 중복 처리 방지 기능을 가지는 스트림 데이터 처리 시스템은, 외부의 다양한 센서로부터 센싱된 데이터를 스트림 형태로 입력받기 위한 입력 버퍼(510), 상기 입력 버퍼(510)로부터 스트림 데이터를 읽어와 윈도우 평가를 수행하여 다음 차례의 질의 조건 평가 대상이 되는 데이터를 선별하기 위한 윈도우 평가부(520), 이전의 질의 조건 평가 결과로 대체할 수 있는지의 여부에 따라 상기 윈도우 평가부(520)에 의해 선별된 데이터(질의 조건 평가 대상이 되는 데이터)를 분리하여 대체 불가능한 데이터를 질의 조건 평가부(550)로 전달하고 대체 가능한 데이터(중복 입력 데이터)를 재사용 결과 추출부(540)로 전달하기 위한 데이터 분리부(530), 상기 데이터 분리부(530)로부터 전달받은 데이터에 대하여 질의 조건 평가를 수행한 후 질의 조건 평가 결과를 생성하기 위한 질의 조건 평가부(550), 상기 데이터 분리부(530)로부터 중복 입력 데이터를 전달받음에 따라 이전의 윈도우 평가 결과에 대한 질의 조건 평가 결과를 평가 결과 저장부(580)의 이전 질의 조건 평가 결과로부터 추출하기 위한 재사용 결과 추출부(540), 상기 질의 조건 평가부(550)로부터 전달받은 새로운 질의 조건 평 가 결과와, 상기 재사용 결과 추출부(540)로부터 전달받은 중복 입력 데이터에 대한 질의 조건 평가 결과를 취합(merging)하여 출력 버퍼(570)로 출력하고 평가 결과 저장부(580)에 저장된 이전 질의 조건 평가 결과를 갱신하기 위한 결과 구성부(560), 상기 결과 구성부(560)로부터의 질의 조건 평가 결과를, 출력을 위해 임시 저장하기 위한 출력 버퍼(570), 및 상기 결과 구성부(560)로부터의 질의 조건 평가 결과를 저장하기 위한 평가 결과 저장부(580)를 포함한다.
이때, 본 발명에 따른 스트림 데이터 처리 시스템은 스트림 데이터에 대한 연속 질의 처리를 수행하므로 윈도우 평가, 질의 조건 평가, 및 결과 구성의 전 과정을 반복적으로 수행한다. 상기 데이터 분리부(530) 및 결과 구성부(560)의 상세한 동작에 대해서는 도 8 및 도 9를 참조하여 각각 후술하기로 한다.
도 6 은 본 발명에 따른 스트림 데이터 처리 시스템에서 질의 조건 평가 결과의 계층적 구조에 대한 일실시예 설명도이다.
도 6에 도시된 바와 같이, 본 발명에 따른 스트림 데이터 처리 시스템은 연속적으로 생성되는 질의 조건 평가 결과를 차후의 재사용을 용이하게 하기 위해 계층적 구조로 저장한다. 즉, "윈도우(610)-문서(620)-노드(630)"의 구조로 질의 조건 평가 결과를 저장한다. 이때, 각 생성되는 질의 조건 평가 결과를 모두 축적하는 것이 아니라, 새로운 질의 조건 평가 결과를 이용하여 이전에 기 저장된 이전 평가 결과를 갱신(대체)하는 방식으로 저장한다.
"윈도우(610)-문서(620)-노드(630)"의 계층적 저장 구조에 대하여 상세히 살펴보면, 윈도우(610, 615) 레벨은 윈도우 전체에 대한 질의 조건 평가 결과를 나타 내고 이를 위해 다수의 문서 레벨의 질의 조건 평가 결과를 지정하도록 한다.
그리고, 문서 레벨(620, 625)은 하나의 입력 데이터에 대한 질의 조건 평가 결과를 나타내는데 하나의 입력 데이터로부터 질의 조건 평가 결과가 여러 개 나올 수 있으므로, 다수의 노드 레벨의 질의 조건 평가 결과를 지정하도록 한다. 여기서, 문서 레벨(620, 625)은 집합 함수 연산의 효율성을 위해 총 결과 수와 문서 레벨에 속하는 집합 함수 수행 결과를 함께 저장한다.
그리고, 노드 레벨(630, 635)은 하나의 입력 데이터로부터 도출될 수 있는 여러 개의 질의 조건 평가 결과 중, 하나의 결과를 나타낸다. 여기서, 노드 레벨(630, 635)은 XML 노드뿐만 아니라 상수도 저장한다.
상기에서 설명한 질의 조건 평가 결과의 계층적 저장 구조에 대하여 구체적인 예를 들어 살펴보기로 한다.
도 7 은 본 발명에 따른 스트림 데이터 처리 시스템에서 질의 조건 평가 결과의 저장에 대한 일실시예 설명도이다.
도 7에 도시된 바와 같이, 본 발명에 따른 스트림 데이터 처리 시스템이 도 4의 "450"과 같은 질의 구문(윈도우 정의)을 이용하여 스트림 데이터를 처리한다고 가정하면, 윈도우 평가 결과(720)로서 XML 문서 "310, 311, 312"가 질의 조건 평가 과정(730)의 입력 데이터로 전달된다.
이때, 질의가 "740"과 같이 윈도우 평가 결과에 대해 책의 제목을 획득하는 것이라면, 상기 질의 조건 평가 과정(730)이 수행된 결과로서 윈도우 레벨의 질의 조건 평가 결과인 window1'(741)가 생성된다. 여기서, 상기 window1'(741)는 문서 레벨의 질의 조건 평가 결과, 즉 입력 데이터 "310, 311, 312"의 각각에 대한 질의 조건 평가 결과인 "Doc310', Doc311', Doc312'"(742)를 포함한다. 또한, 상기 "Doc310', Doc311', Doc312'"(742)들은 노드 레벨의 질의 조건 평가 결과, 즉 실제 입력 XML 문서를 구성하는 노드 중에서 질의 조건을 만족하는 부분(743)을 각각 포함한다.
다른 예로, 질의가 "750"과 같이 집합 함수를 위한 것일 경우 문서 레벨의 저장 구조에 하나의 입력 데이터(XML 문서)에 대한 집합 함수 결과 값과, 집합 함수인자를 만족하는 노드 수(상기 결과 값에 관련된 정보)가 함께 저장된다(752).
도 8 은 본 발명에 따른 스트림 데이터 처리 시스템에서 데이터 중복 처리를 방지하기 위한 데이터 분리 과정에 대한 일실시예 흐름도이다.
여기서는, 도 5의 데이터 분리부(530)에서 수행되는 데이터 분리 과정을 상세히 설명하기로 한다.
먼저, 데이터 분리부(530)는 윈도우 평가부(520)에 의해 산출된 윈도우 정의와 윈도우 평가 결과를 입력받는다(810). 이때, 윈도우 정의는 윈도우 시작/끝, 건너띄기, 윈도우 데이터 한정 방안을 포함한다.
이후, 데이터 분리부(530)는 중복 입력 데이터와 새로운 데이터를 분리 저장하기 위한 각 변수를 초기화하고(820), 이전 질의 조건 평가 결과가 기 저장되어 있는지의 여부를 판단한다(830).
상기 이전 질의 조건 평가 결과 저장 여부 판단 결과(830), 기 저장된 이전 질의 조건 평가 결과가 없을 경우 상기 데이터 분리부(530)로부터 전달받은 데이터 를 모두 새로운 데이터로 간주한다(840). 즉, 상기 전달받은 데이터 전체(윈도우 평가 결과에 포함된 모든 데이터)를 질의 조건 평가부(550)로 전달한다.
한편, 상기 이전 질의 조건 평가 결과 저장 여부 판단 결과(830), 기 저장된 이전 질의 조건 평가 결과가 있을 경우 상기 데이터 분리부(530)로부터 전달받은 윈도우 정의 중, 윈도우 데이터 한정 방안이 이벤트인지 혹은 시간인지의 여부를 판단한다(850).
상기 윈도우 데이터 한정 방안 판단 결과(850), 이벤트 기반 윈도우일 경우에는 윈도우 끝으로부터 건너띄기 만큼의 데이터를 새로운 데이터로 간주하고, 나머지는 중복 입력 데이터로 간주한다(860).
반면에, 상기 윈도우 데이터 한정 방안 판단 결과(850), 시간 기반 윈도우일 경우에는 윈도우 끝 시각으로부터 건너띄기를 한 지점의 시각을 빼 경계 시각을 구한 후(870) 상기 경계 시각 전에 전달받은 데이터는 중복 입력 데이터로 간주하고, 상기 경계 시각 이후에 전달받은 데이터는 새로운 데이터로 간주한다(880).
상기에서 분리된 중복 입력 데이터와 새로운 데이터는 각각 재사용 결과 추출부(540)와 질의 조건 평가부(550)로 전달된다.
한편, 중복 입력 데이터를 전달받은 재사용 결과 추출부(540)의 세부 동작을 연이어 살펴보면, 재사용 결과 추출부(540)는 중복 입력 데이터 수 정보를 이용하여 재사용을 위한 질의 조건 평가 결과를 추출한다.
즉, 기 저장된 이전 질의 조건 평가 결과 중 중복 입력 데이터에 대한 질의 조건 평가 결과(재사용할 수 있는 질의 조건 평가 결과)는 문서 레벨의 질의 조건 평가 결과 리스트의 마지막 항목부터 계수하여 중복된 윈도우 평가 결과의 문서 수까지의 항목이 된다. 예를 들면, 기 저장된 이전 질의 조건 평가 결과에 문서 레벨의 질의 조건 평가 결과로 doc0, doc1, doc2, doc3, doc4가 순서대로 저장되어 있고 중복 입력 데이터의 수가 3일 경우, doc2, doc3, doc4의 묶음이 이번 질의 조건 평가에서 재사용될 수 있는 이전의 질의 조건 평가 결과가 된다.
도 9 는 본 발명에 따른 스트림 데이터 처리 시스템에서 이전 질의 조건 평가 결과 및 현 처리 결과의 취합 과정에 대한 일실시예 흐름도이다.
여기서는, 도 5의 결과 구성부(560)에서 수행되는 동작 과정을 상세히 설명하기로 한다.
먼저, 결과 구성부(560)는 재사용 결과 추출부(540)와 질의 조건 평가부(550)로부터 중복 입력 데이터/새로운 데이터에 대한 각각의 질의 조건 평가 결과를 전달받는다(910).
그에 따라, 결과 구성부(560)는 상기 전달받은 중복 입력 데이터에 대한 질의 조건 평가 결과 및 새로운 데이터에 대한 질의 조건 평가 결과를 상기 순서에 따라 취합(merging)한다(920). 즉, 상기 전달받은 중복 입력 데이터에 대한 질의 조건 평가 결과와 새로운 데이터에 대한 질의 조건 평가 결과를 이 순서대로 취합하여 그에 따른 취합 결과를 생성한다.
이후, 결과 구성부(560)는 상기 취합된 질의 조건 평가 결과에 사용된 질의가 집합 함수 관련 질의인지의 여부를 판단한다(930).
상기 집합 함수 포함 여부 판단 결과(930), 집합 함수 관련 질의일 경우 상 기 취합된 질의 조건 평가 결과에 집합 함수를 적용하여 최종 결과를 산출한다(940). 이때, 문서 레벨의 저장 구조에 있는 집합 함수를 위한 필드인 결과 수(count)와 결과 값(agg_value)을 이용하여 상기 최종 결과를 산출한다.
즉, 집합 함수가 "sum/count"이면 문서 레벨의 결과 값을 더하여 최종 결과로 한다. 반면에, 집합 함수가 "min/max"이면 문서 레벨의 결과 값 중 가장 작은/큰 값을 최종 결과로 한다. 또한, 집합 함수가 "avg"이면 문서 레벨의 결과 값을 더한 후 이를 총 결과 수로 나눈 값을 최종 결과로 한다.
한편, 상기 집합 함수 포함 여부 판단 결과(930), 집합 함수 관련 질의가 아닐 경우 정렬 필요 여부에 따라 상기 취합된 질의 조건 평가 결과를 정렬항의 값을 이용하여 정렬한 후 최종 결과를 산출한다(960).
그리고, 상기 산출한 최종 결과 및 취합 결과를 출력한다(950). 즉, 평가 결과 저장부(580)와 출력 버퍼(570)로 각각 전달한다.
도 10 은 본 발명에 따른 스트림 데이터 처리 시스템에서 질의 조건 평가 결과의 재사용에 대한 일실시예 설명도이다.
여기서는, 본 발명에 따른 스트림 데이터 처리 시스템에서 이전 질의 조건 평가 결과로부터 중복 입력 데이터에 대한 질의 조건 평가 결과를 추출하여 재사용하는 경우를 상세히 살펴보기로 한다.
질의가 도 7의 "750"이고 이전 질의 조건 평가 결과가 각 레벨(윈도우/문서/노드 레벨)별로 "751, 752, 753"일 경우, 다음 차례의 윈도우 평가 결과(1020)에 따라 문서 "311, 312, 313"이 질의 평가 대상으로 선별되었으므로 윈도우 정의(윈 도우 시작/끝, 건너띄기, 윈도우 데이터 한정 방안)를 이용하여 "311, 312"는 이전 질의 조건 평가 결과가 있는 데이터이고 "313"은 새로운 데이터임을 알아내 이들을 분리한다.
그리고, 윈도우 평가 결과(1020)에서 중복되지 않은 데이터로 선별된 문서 "313"에 대해서는 질의 조건 평가를 수행(1060)하고, 중복 입력 데이터로 선별된 문서 "311, 312"에 대해서는 이전 질의 조건 평가 결과인 도 7의 "751, 752, 753"을 이용하여 상기 문서 "311, 312"의 질의 조건 평가 결과를 추출(1050)하여 상기 두 질의 조건 평가 결과를 취합한다.
이때, 해당 질의가 집합 함수 중 "sum"과 관련된 질의이므로, 상기 취합된 질의 조건 평가 결과의 문서 레벨에서 조건을 만족하는 sum 값인 29000, 36000, 42000을 더한 값을 최종 결과로 출력한다.
즉, 상기와 같이 중복 입력 데이터인 문서 "311, 312"에 대해서는 질의 조건 평가 과정을 재수행하는 것이 아니라 이전에 저장된 데이터를 이용한다.
도 11 은 본 발명에 따른 스트림 데이터 처리 시스템에서 데이터 중복 처리 방지 방법에 대한 일실시예 흐름도이다.
먼저, 윈도우 평가부(520)가 외부로부터 수집된 스트림 데이터에 대하여 윈도우 평가를 수행하면(110), 데이터 분리부(530)가 상기 윈도우 평가 결과를 이용하여 상기 스트림 데이터를 분리하여 중복 입력 데이터를 재사용 결과 추출부(540)로 전달하고 새로운 데이터를 질의 조건 평가부(550)로 전달한다(120).
이후, 재사용 결과 추출부(540)가 이전 질의 조건 평가 결과로부터 상기 중 복 입력 데이터에 대한 질의 조건 평가 결과(윈도우/문서/노드 레벨별 질의 조건 평가 결과)를 추출하여 결과 구성부(560)로 전달한다(130). 또한, 질의 조건 평가부(550)가 상기 새로운 데이터에 대하여 질의 조건 평가를 수행하여 그 결과를 상기 결과 구성부(560)로 전달한다(140). 상기 추출 및 질의 조건 평가 과정은 그 순서가 바뀔 수도 있다.
이후, 결과 구성부(560)는 재사용 결과 추출부(540) 및 질의 조건 평가부(550)로부터 각각 전달받은 데이터를 취합하여 출력한다(160). 이때, 최종적으로 취합된 질의 조건 평가 결과를 평가 결과 저장부(580)로 저장한다(이전 질의 조건 평가 결과가 갱신된다).
상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 형태로 기록매체(씨디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다. 이러한 과정은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있으므로 더 이상 상세히 설명하지 않기로 한다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.
상기와 같은 본 발명은, 윈도우 연산을 포함하는 연속 질의 처리시 기 저장된 이전의 질의 조건 평가 결과를 이용하여 이미 평가된 데이터가 중복 처리되지 않도록 함으로써, 시스템의 성능을 향상시키고 불필요한 자원 낭비를 줄일 수 있는 효과가 있다.

Claims (20)

  1. 데이터 중복 처리 방지 기능을 가지는 스트림 데이터 처리 시스템에 있어서,
    질의 조건 평가 결과를 갱신하면서 저장하기 위한 평가 결과 저장 수단;
    스트림 데이터에 대한 윈도우 평가를 수행하기 위한 윈도우 평가 수단;
    상기 윈도우 평가 수단으로부터 전달받은 데이터를 이전의 질의 조건 평가 결과의 재사용 가능 여부에 따라 새로운 데이터와 중복 입력 데이터로 분리하기 위한 데이터 분리 수단;
    상기 데이터 분리 수단으로부터 중복 입력 데이터를 전달받음에 따라 그에 대한 질의 조건 평가 결과를 상기 평가 결과 저장 수단으로부터 추출하기 위한 재사용 결과 추출 수단;
    상기 데이터 분리 수단으로부터 새로운 데이터를 전달받음에 따라 질의 조건 평가를 수행하여 질의 조건 평가 결과를 생성하기 위한 질의 조건 평가 수단; 및
    상기 재사용 결과 추출 수단과 상기 질의 조건 평가 수단으로부터 질의 조건 평가 결과를 각각 전달받음에 따라 이들을 취합하여 출력하고, 상기 평가 결과 저장 수단으로 전달하기 위한 결과 구성 수단
    을 포함하는 데이터 중복 처리 방지 기능을 가지는 스트림 데이터 처리 시스템.
  2. 제 1 항에 있어서,
    상기 질의 조건 평가 수단은,
    상기 데이터 분리 수단으로부터 전달받은 새로운 데이터에 대하여 연속 질의(continuous query)를 수행하는 것을 특징으로 하는 데이터 중복 처리 방지 기능을 가지는 스트림 데이터 처리 시스템.
  3. 제 2 항에 있어서,
    상기 윈도우 평가 수단은,
    스트림 데이터에 대한 윈도우 평가를 수행한 결과, 윈도우 정의 및 윈도우 평가 결과를 상기 데이터 분리 수단으로 전달하는 것을 특징으로 하는 데이터 중복 처리 방지 기능을 가지는 스트림 데이터 처리 시스템.
  4. 제 3 항에 있어서,
    상기 데이터 분리 수단은,
    이전의 질의 조건 평가 결과의 재사용 가능 여부에 따라 데이터를 분리하되, 윈도우 정의를 이용하여 윈도우 평가 결과에 포함된 데이터를 중복 입력 데이터와 새로운 데이터로 분리하는 것을 특징으로 하는 데이터 중복 처리 방지 기능을 가지는 스트림 데이터 처리 시스템.
  5. 제 4 항에 있어서,
    상기 데이터 분리 수단은,
    기 저장된 이전의 질의 조건 평가 결과가 없음을 확인함에 따라 윈도우 평가 결과에 포함된 데이터 전체를 새로운 데이터로 간주하여 상기 질의 조건 평가 수단으로 전달하는 것을 특징으로 하는 데이터 중복 처리 방지 기능을 가지는 스트림 데이터 처리 시스템.
  6. 제 4 항에 있어서,
    상기 데이터 분리 수단은,
    윈도우 시작, 윈도우 끝, 건너띄기, 윈도우 데이터 한정 방안을 포함하는 윈도우 정의를 상기 윈도우 평가 수단으로부터 전달받는 것을 특징으로 하는 데이터 중복 처리 방지 기능을 가지는 스트림 데이터 처리 시스템.
  7. 제 6 항에 있어서,
    상기 데이터 분리 수단은,
    기 저장된 이전의 질의 조건 평가 결과가 있고 윈도우 데이터 한정 방안이 이벤트임을 확인함에 따라, 윈도우 끝으로부터 건너띄기 만큼의 데이터를 새로운 데이터로 간주하여 상기 질의 조건 평가 수단으로 전달하고 나머지 데이터를 중복 입력 데이터로 간주하여 상기 재사용 결과 추출 수단으로 전달하는 것을 특징으로 하는 데이터 중복 처리 방지 기능을 가지는 스트림 데이터 처리 시스템.
  8. 제 6 항에 있어서,
    상기 데이터 분리 수단은,
    기 저장된 이전의 질의 조건 평가 결과가 있고 윈도우 데이터 한정 방안이 시간임을 확인함에 따라, 윈도우 끝 시각으로부터 건너띄기 값을 빼 경계시각을 구하고 경계시각 전/후로 전달받은 데이터를 각각 중복 입력 데이터와 새로운 데이터로 간주하는 것을 특징으로 하는 데이터 중복 처리 방지 기능을 가지는 스트림 데이터 처리 시스템.
  9. 제 1 항 내지 제 8 항 중 어느 한 항에 있어서,
    상기 결과 구성 수단은,
    질의가 집합 함수 관련 질의임에 따라 해당 집합 함수를 상기 취합한 질의 조건 평가 결과에 적용시켜 최종 결과를 산출하여 상기 취합한 질의 조건 평가 결과와 함께 출력하는 것을 특징으로 하는 데이터 중복 처리 방지 기능을 가지는 스트림 데이터 처리 시스템.
  10. 제 9 항에 있어서,
    상기 질의 조건 평가 수단은,
    상기 새로운 데이터에 대한 질의 조건 평가를 수행하여 질의 평가 결과를 윈도우, 문서, 노드 레벨로 나누어서 계층적으로 저장하는 것을 특징으로 하는 데이터 중복 처리 방지 기능을 가지는 스트림 데이터 처리 시스템.
  11. 제 10 항에 있어서,
    상기 윈도우 평가 수단은,
    XML 형태의 스트림 데이터에 대한 윈도우 평가를 수행하는 것을 특징으로 하는 데이터 중복 처리 기능을 가지는 스트림 데이터 처리 시스템.
  12. 스트림 데이터 처리 시스템에서의 데이터 중복 처리 방지 방법에 있어서,
    외부로부터 스트림 데이터를 입력받는 입력 단계;
    상기 입력받은 스트림 데이터에 대한 윈도우 평가를 수행하는 윈도우 평가 단계;
    상기 윈도우 평가한 데이터를 이전의 질의 조건 평가 결과의 재사용 가능 여부에 따라 중복 입력 데이터와 새로운 데이터로 분리하는 데이터 분리 단계;
    이전의 질의 조건 평가 결과로부터 상기 중복 입력 데이터에 대한 질의 조건 평가 결과를 추출하는 재사용 결과 추출 단계;
    상기 새로운 데이터에 대한 질의 조건 평가를 수행하여 질의 조건 평가 결과를 생성하는 질의 조건 평가 단계;
    상기 중복 입력 데이터와 상기 새로운 데이터에 대한 각각의 질의 조건 평가 결과를 취합하는 취합 단계; 및
    상기 취합한 질의 조건 평가 결과를 이용하여 상기 이전의 질의 조건 평가 결과를 갱신하는 갱신 단계
    를 포함하는 스트림 데이터 처리 시스템에서의 데이터 중복 처리 방지 방법.
  13. 제 12 항에 있어서,
    상기 윈도우 평가 단계는,
    상기 입력되는 스트림 데이터에 대한 윈도우 평가를 수행하여 윈도우 정의 및 윈도우 평가 결과를 산출하는 것을 특징으로 하는 스트림 데이터 처리 시스템에서의 데이터 중복 처리 방지 방법.
  14. 제 13 항에 있어서,
    상기 데이터 분리 단계는,
    이전의 질의 조건 평가 결과의 재사용 가능 여부에 따라 데이터를 분리하되, 상기 윈도우 정의를 이용하여 상기 윈도우 평가 결과에 포함된 데이터를 중복 입력 데이터와 새로운 데이터로 분리하는 것을 특징으로 하는 스트림 데이터 처리 시스템에서의 데이터 중복 처리 방지 방법.
  15. 제 14 항에 있어서,
    상기 데이터 분리 단계는,
    기 저장된 이전의 질의 조건 평가 결과가 없음을 확인함에 따라 상기 윈도우 평가 결과에 포함된 데이터 전체를 새로운 데이터로 간주하는 것을 특징으로 하는 스트림 데이터 처리 시스템에서의 데이터 중복 처리 방지 방법.
  16. 제 14 항에 있어서,
    상기 윈도우 평가 단계는,
    윈도우 시작, 윈도우 끝, 건너띄기, 윈도우 데이터 한정 방안을 포함하는 윈도우 정의를 산출하는 것을 특징으로 하는 스트림 데이터 처리 시스템에서의 데이터 중복 처리 방지 방법.
  17. 제 16 항에 있어서,
    상기 데이터 분리 단계는,
    기 저장된 이전의 질의 조건 평가 결과가 있고 상기 윈도우 데이터 한정 방안이 이벤트임을 확인함에 따라, 윈도우 끝으로부터 건너띄기 만큼의 데이터를 새로운 데이터로 간주하고 나머지 데이터를 중복 입력 데이터로 간주하는 것을 특징으로 하는 스트림 데이터 처리 시스템에서의 데이터 중복 처리 방지 방법.
  18. 제 16 항에 있어서,
    상기 데이터 분리 단계는,
    기 저장된 이전의 질의 조건 평가 결과가 있고 상기 윈도우 데이터 한정 방안이 시간임을 확인함에 따라, 윈도우 끝 시각으로부터 건너띄기 값을 빼 경계시각을 구하고 상기 경계시각 전/후로 전달받은 데이터를 각각 중복 입력 데이터와 새로운 데이터로 간주하는 것을 특징으로 하는 스트림 데이터 처리 시스템에서의 데이터 중복 처리 방지 방법.
  19. 제 12 항 내지 제 18 항 중 어느 한 항에 있어서,
    상기 취합 단계는,
    질의가 집합 함수 관련 질의임에 따라 해당 집합 함수를 상기 취합한 질의 조건 평가 결과에 적용시켜 최종 결과를 산출하는 과정
    을 더 포함하는 것을 특징으로 하는 스트림 데이터 처리 시스템에서의 데이터 중복 처리 방지 방법.
  20. 제 19 항에 있어서,
    상기 질의 조건 평가 단계는,
    상기 새로운 데이터에 대한 질의 조건 평가를 수행하여 질의 평가 결과를 윈도우, 문서, 노드 레벨로 나누어서 계층적으로 저장하는 것을 특징으로 하는 스트림 데이터 처리 시스템에서의 데이터 중복 처리 방지 방법.
KR1020060016335A 2005-12-01 2006-02-20 데이터 중복 처리 방지 기능을 가지는 스트림 데이터 처리시스템 및 그 방법 KR100813000B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020060016335A KR100813000B1 (ko) 2005-12-01 2006-02-20 데이터 중복 처리 방지 기능을 가지는 스트림 데이터 처리시스템 및 그 방법
US11/607,279 US7490078B2 (en) 2005-12-01 2006-11-29 Stream data processing system and method for avoiding duplication of data process

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR20050116098 2005-12-01
KR1020050116098 2005-12-01
KR1020060016335A KR100813000B1 (ko) 2005-12-01 2006-02-20 데이터 중복 처리 방지 기능을 가지는 스트림 데이터 처리시스템 및 그 방법

Publications (2)

Publication Number Publication Date
KR20070057599A true KR20070057599A (ko) 2007-06-07
KR100813000B1 KR100813000B1 (ko) 2008-03-13

Family

ID=38140651

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060016335A KR100813000B1 (ko) 2005-12-01 2006-02-20 데이터 중복 처리 방지 기능을 가지는 스트림 데이터 처리시스템 및 그 방법

Country Status (2)

Country Link
US (1) US7490078B2 (ko)
KR (1) KR100813000B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100828404B1 (ko) * 2006-05-08 2008-05-08 한국과학기술원 경계관찰질의를 이용한 데이터 스트림 처리 방법
KR101014492B1 (ko) * 2009-03-26 2011-02-14 박재홍 관계형 데이터 모델 기반 스트리밍 데이터 처리를 위한 연속질의 언어 기반 연속질의 처리기 및 방법
US8954460B2 (en) 2012-01-18 2015-02-10 Samsung Electronics Co., Ltd. Apparatus and method for scheduling user defined operator (UDO) in data stream management system (DSMS)

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8019747B2 (en) * 2007-10-30 2011-09-13 Oracle International Corporation Facilitating flexible windows in data stream management systems
US8103655B2 (en) * 2007-10-30 2012-01-24 Oracle International Corporation Specifying a family of logics defining windows in data stream management systems
US8315990B2 (en) * 2007-11-08 2012-11-20 Microsoft Corporation Consistency sensitive streaming operators
US7979412B2 (en) * 2007-12-26 2011-07-12 International Business Machines Corporation Object query over previous query results
US8352540B2 (en) 2008-03-06 2013-01-08 International Business Machines Corporation Distinguishing data streams to enhance data storage efficiency
US8676841B2 (en) 2008-08-29 2014-03-18 Oracle International Corporation Detection of recurring non-occurrences of events using pattern matching
US20100088325A1 (en) 2008-10-07 2010-04-08 Microsoft Corporation Streaming Queries
US8145859B2 (en) 2009-03-02 2012-03-27 Oracle International Corporation Method and system for spilling from a queue to a persistent store
US8352517B2 (en) * 2009-03-02 2013-01-08 Oracle International Corporation Infrastructure for spilling pages to a persistent store
US8321450B2 (en) 2009-07-21 2012-11-27 Oracle International Corporation Standardized database connectivity support for an event processing server in an embedded context
US8387076B2 (en) 2009-07-21 2013-02-26 Oracle International Corporation Standardized database connectivity support for an event processing server
US8527458B2 (en) 2009-08-03 2013-09-03 Oracle International Corporation Logging framework for a data stream processing server
US8386466B2 (en) 2009-08-03 2013-02-26 Oracle International Corporation Log visualization tool for a data stream processing server
US8413169B2 (en) * 2009-10-21 2013-04-02 Microsoft Corporation Time-based event processing using punctuation events
US8195648B2 (en) * 2009-10-21 2012-06-05 Microsoft Corporation Partitioned query execution in event processing systems
US8132184B2 (en) * 2009-10-21 2012-03-06 Microsoft Corporation Complex event processing (CEP) adapters for CEP systems for receiving objects from a source and outputing objects to a sink
US9158816B2 (en) * 2009-10-21 2015-10-13 Microsoft Technology Licensing, Llc Event processing with XML query based on reusable XML query template
US8959106B2 (en) 2009-12-28 2015-02-17 Oracle International Corporation Class loading using java data cartridges
US9430494B2 (en) 2009-12-28 2016-08-30 Oracle International Corporation Spatial data cartridge for event processing systems
US9305057B2 (en) 2009-12-28 2016-04-05 Oracle International Corporation Extensible indexing framework using data cartridges
US8713049B2 (en) 2010-09-17 2014-04-29 Oracle International Corporation Support for a parameterized query/view in complex event processing
US9189280B2 (en) 2010-11-18 2015-11-17 Oracle International Corporation Tracking large numbers of moving objects in an event processing system
US9659063B2 (en) * 2010-12-17 2017-05-23 Software Ag Systems and/or methods for event stream deviation detection
US8990416B2 (en) 2011-05-06 2015-03-24 Oracle International Corporation Support for a new insert stream (ISTREAM) operation in complex event processing (CEP)
US9329975B2 (en) 2011-07-07 2016-05-03 Oracle International Corporation Continuous query language (CQL) debugger in complex event processing (CEP)
US9563663B2 (en) 2012-09-28 2017-02-07 Oracle International Corporation Fast path evaluation of Boolean predicates
US9805095B2 (en) 2012-09-28 2017-10-31 Oracle International Corporation State initialization for continuous queries over archived views
US10956422B2 (en) 2012-12-05 2021-03-23 Oracle International Corporation Integrating event processing with map-reduce
US9098587B2 (en) 2013-01-15 2015-08-04 Oracle International Corporation Variable duration non-event pattern matching
US10298444B2 (en) 2013-01-15 2019-05-21 Oracle International Corporation Variable duration windows on continuous data streams
US9047249B2 (en) 2013-02-19 2015-06-02 Oracle International Corporation Handling faults in a continuous event processing (CEP) system
US9390135B2 (en) 2013-02-19 2016-07-12 Oracle International Corporation Executing continuous event processing (CEP) queries in parallel
US9305031B2 (en) 2013-04-17 2016-04-05 International Business Machines Corporation Exiting windowing early for stream computing
US9817911B2 (en) * 2013-05-10 2017-11-14 Excalibur Ip, Llc Method and system for displaying content relating to a subject matter of a displayed media program
US9418113B2 (en) 2013-05-30 2016-08-16 Oracle International Corporation Value based windows on relations in continuous data streams
US10331672B2 (en) * 2013-06-21 2019-06-25 Hitachi, Ltd. Stream data processing method with time adjustment
US9934279B2 (en) 2013-12-05 2018-04-03 Oracle International Corporation Pattern matching across multiple input data streams
US9244978B2 (en) 2014-06-11 2016-01-26 Oracle International Corporation Custom partitioning of a data stream
CN105335376B (zh) * 2014-06-23 2018-12-07 华为技术有限公司 一种流处理方法、装置及系统
US9712645B2 (en) 2014-06-26 2017-07-18 Oracle International Corporation Embedded event processing
US10120907B2 (en) 2014-09-24 2018-11-06 Oracle International Corporation Scaling event processing using distributed flows and map-reduce operations
US9886486B2 (en) 2014-09-24 2018-02-06 Oracle International Corporation Enriching events with dynamically typed big data for event processing
WO2017018901A1 (en) 2015-07-24 2017-02-02 Oracle International Corporation Visually exploring and analyzing event streams
US9792259B2 (en) 2015-12-17 2017-10-17 Software Ag Systems and/or methods for interactive exploration of dependencies in streaming data
US10340945B2 (en) * 2017-07-24 2019-07-02 iDensify LLC Memory compression method and apparatus
US11494373B2 (en) * 2021-02-09 2022-11-08 Oracle International Corporation Nested query modification tool

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7181438B1 (en) * 1999-07-21 2007-02-20 Alberti Anemometer, Llc Database access system
US6553394B1 (en) 2000-01-21 2003-04-22 Mitsubishi Electric Research Laboratories, Inc. Continuous memoization
US7113979B1 (en) * 2000-07-11 2006-09-26 Xerox Corporation System, method and article of manufacture for enhancing electronic messages
US8868544B2 (en) * 2002-04-26 2014-10-21 Oracle International Corporation Using relational structures to create and support a cube within a relational database system
US7293024B2 (en) * 2002-11-14 2007-11-06 Seisint, Inc. Method for sorting and distributing data among a plurality of nodes
KR100622131B1 (ko) * 2004-12-14 2006-09-11 한국전자통신연구원 연속되어 입력되는 xml 문서 스트림을 주기적으로서비스 호출로 연계하는 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100828404B1 (ko) * 2006-05-08 2008-05-08 한국과학기술원 경계관찰질의를 이용한 데이터 스트림 처리 방법
KR101014492B1 (ko) * 2009-03-26 2011-02-14 박재홍 관계형 데이터 모델 기반 스트리밍 데이터 처리를 위한 연속질의 언어 기반 연속질의 처리기 및 방법
US8954460B2 (en) 2012-01-18 2015-02-10 Samsung Electronics Co., Ltd. Apparatus and method for scheduling user defined operator (UDO) in data stream management system (DSMS)

Also Published As

Publication number Publication date
KR100813000B1 (ko) 2008-03-13
US20070136239A1 (en) 2007-06-14
US7490078B2 (en) 2009-02-10

Similar Documents

Publication Publication Date Title
KR100813000B1 (ko) 데이터 중복 처리 방지 기능을 가지는 스트림 데이터 처리시스템 및 그 방법
CN107147639B (zh) 一种基于复杂事件处理的实时安全预警方法
JP4997856B2 (ja) データベース分析プログラム、データベース分析装置、データベース分析方法
EP2289007B1 (en) Search results ranking using editing distance and document information
US20060288275A1 (en) Method for classifying sub-trees in semi-structured documents
US20070233720A1 (en) Lazy bulk insertion method for moving object indexing
US9792388B2 (en) Pattern extraction apparatus and control method therefor
JP2006024179A (ja) 構造化文書処理装置、構造化文書処理方法、及びプログラム
JP2010506247A (ja) 迷惑情報をフィルタリングするネットワークベースの方法および装置
JP5125662B2 (ja) クエリ変換方法および検索装置
JPWO2010097945A1 (ja) 情報処理装置及び情報処理方法及びプログラム
JP4979070B2 (ja) 動画像提示システム
Rahman et al. Text classification using the concept of association rule of data mining
JP4977420B2 (ja) 検索インデックス作成装置
CN103324641B (zh) 信息记录推荐方法和装置
CN110413307B (zh) 代码功能的关联方法、装置及电子设备
US20100063966A1 (en) Method for fast de-duplication of a set of documents or a set of data contained in a file
WO2010119794A1 (en) Information processing apparatus and information processing method
EP4002152A1 (en) Data tagging and synchronisation system
JPH10143418A (ja) 文書情報更新監視装置および文書情報の更新監視方法
JP2010272006A (ja) 関係抽出装置、関係抽出方法、及びプログラム
Qawasmeh et al. Observing the Impact and Adaptation to the Evolution of an Imported Ontology.
Narayana et al. Performance and comparative analysis of the two contrary approaches for detecting near duplicate web documents in web crawling
JP2009211312A (ja) 評価方法および検索装置
US20120323969A1 (en) Search formula update device, search formula update method

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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: 20110228

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20111208

Year of fee payment: 20