KR101014492B1 - Continuous query language based continuous query processor and method for relational data model based streaming data - Google Patents
Continuous query language based continuous query processor and method for relational data model based streaming data Download PDFInfo
- Publication number
- KR101014492B1 KR101014492B1 KR1020090026017A KR20090026017A KR101014492B1 KR 101014492 B1 KR101014492 B1 KR 101014492B1 KR 1020090026017 A KR1020090026017 A KR 1020090026017A KR 20090026017 A KR20090026017 A KR 20090026017A KR 101014492 B1 KR101014492 B1 KR 101014492B1
- Authority
- KR
- South Korea
- Prior art keywords
- window
- continuous
- query
- streaming data
- language
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
Abstract
본 발명은 관계형 데이터 모델 기반 스트리밍 데이터 처리를 위한 연속질의 언어 기반 연속질의 처리기 및 방법에 관한 것으로써, 관계형 데이터 모델에 대한 질의언어 표준인 SQL에 스트리밍 데이터에 대한 질의를 처리하기 위한 새로운 문법 요소를 추가 함으로써, 표준 SQL질의언어의 기능과 특징을 유지하면서도 관계형 데이터 모델 기반의 스트리밍 데이터를 처리 할 수 있도록 하는 표준 SQL 질의언어를 확장하여 고안된 연속질의 언어 기반의 연속질의 처리기 및 방법을 제공 함으로써, 표준 SQL질의언어를 변함없이 활용하면서 스트리밍 데이터에 대한 질의 및 처리를 할 수 장점이 있다.The present invention relates to a continuum language-based continuum processor and method for processing relational data model-based streaming data, and provides a new grammar element for processing queries for streaming data in SQL, a query language standard for relational data models. By adding the standard SQL query language, which is designed to extend the standard SQL query language to process streaming data based on the relational data model while maintaining the functions and features of the standard SQL query language, It has the advantage of being able to query and process streaming data while using SQL query language invariably.
연속질의, 연속질의 처리기, 스트리밍 데이터, SQL Sequential, sequential processor, streaming data, SQL
Description
본 발명은 연속질의 언어 기반의 연속질의 처리기 및 방법에 관한 것으로, 더욱 상세하게는 관계형 데이터 모델 기반의 스트리밍 데이터에 대한 검색을 위해 표준 SQL 질의언어를 연속질의 언어로 확장하여 처리하는 관계형 데이터 모델 기반의 스트리밍 데이터 처리를 위한 연속질의 언어 기반 연속질의 처리기 및 방법에 관한 것이다.The present invention relates to a continuous-language processor and method of a continuous language, and more particularly, to a relational data model based on a relational data model based on a relational data model. The present invention relates to a continuous language-based continuous processor and method for processing streaming data.
SQL(Structured Query Language, 구조화 질의어)은 관계형 데이터베이스 관리 시스템에서 자료의 검색과 관리, 데이터베이스 스키마 생성과 수정, 데이터베이스 객체 접근 조정 관리를 위해 고안된 컴퓨터 언어이다. SQL은 데이터베이스로부터 정보를 얻거나 갱신 하기 위한 표준 대화식 프로그래밍 언어이다. 많은 수의 데이터베이스 관련 프로그램들은 SQL을 표준으로 채택하고 있다.Structured Query Language (SQL) is a computer language designed for data retrieval and management, database schema creation and modification, and database object access control management in relational database management systems. SQL is a standard interactive programming language for getting and updating information from a database. Many database programs adopt SQL as a standard.
최근의 인터넷 환경에서는 스트리밍 데이터 처리 기능을 필요로 하는 응용프로그램들이 늘어나고 있으며 이들에 대한 관심 또한 증가되고 있다.. 일반적으로 스트리밍 데이터는 연속하여 끊임 없이 발생하며, 시간별로 데이터의 양이 변하면서 고속으로 발생한다. 그러한 스트리밍 데이터의 예로는 네트워크 트래픽, 센서, RFID, 통화기록, 금융, 웹로그, 온라인 게임등의 데이터를 들 수 있다.In today's Internet environment, applications that require streaming data processing functions are increasing, and interest in them is also increasing. In general, streaming data is continuously generated continuously, and the amount of data changes over time. Occurs. Examples of such streaming data include data such as network traffic, sensors, RFID, call logs, finance, web logs, online games, and the like.
스트리밍 데이터 처리를 위한 공통적인 요구사항들에는 스트림밍 데이터에 대한 필터링연산, 집합연산, (디)멀티플렉싱, 발생빈도 연산, 조인연산, 윈도우 연산 등이 있으며, 기존 스트리밍 데이터 처리 애플리케이션들의 대부분은 독자적으로 위의 요구사항들을 만족시키기 위한 기능들을 개발해왔다. 하지만, 최근 들어 데이터 생산 주체가 다양화되고, 데이터 생산량과 속도 또한 증가 되면서, 기존의 개발방식으로는 급변하는 개발환경에 대한 요구사항들을 만족시키기 어렵다는 것이 인식되었다. 그리고, 최근의 이러한 인식과 더불어 학계와 산업계에서 이들 문제를 해결하기 위한 연구들을 활발히 진행하고 있다.Common requirements for streaming data processing include filtering, aggregation, (de) multiplexing, frequency operation, join, and window operations on streaming data. Most existing streaming data processing applications We have developed features to meet the above requirements. However, in recent years, as data producers diversify, and data production volume and speed also increase, it has been recognized that it is difficult to meet the requirements for rapidly changing development environments with existing development methods. In addition to these recent perceptions, studies are being actively conducted to solve these problems in academia and industry.
표준화된 방법으로 스트리밍 데이터를 처리하는 시스템 연구들 중에는 STREAM [참고문헌: A. Arasu, S. Babu, J. Widom. CQL: A Language for Continuous Queries over Streams and Relations. LNCS2921], TelegraphCQ [참고문헌: Samuel Madden et al. Continuously Adaptive Continuous Queries over Streams, ACM SIGMOD 2002] 등이 있다. 이들은 공통적으로 스트리밍 데이터에 대한 질의를 관계형 데이터 베이스 질의언어인 SQL로 하고 있는 특징이 있다.Among systems studies that process streaming data in a standardized way, STREAM [Ref. A. Arasu, S. Babu, J. Widom. CQL: A Language for Continuous Queries over Streams and Relations. LNCS2921], Telegraph CQ [Reference: Samuel Madden et al. Continuously Adaptive Continuous Queries over Streams, ACM SIGMOD 2002]. They are characterized in that the query for streaming data is SQL, a relational database query language.
SQL 질의언어는 관계형 데이터 베이스 질의를 위한 대표적인 표준 질의언어이며, 사용자들과 시스템들이 이를 사용하고 있다. 표준이며 대중화된 SQL질의언어를 이용하여 스트리밍 데이터에 대한 연속질의 기능을 제공하는 것은 사용자에게는 익숙한 질의방법을, 시스템에는 호환성을 제공한다는 점에서 큰 장점이 있다. 앞에서 예를 든 시스템들은 기본적으로 SQL 질의언어의 문법을 기반으로 한다는 장점을 제공한다. 하지만, 예를 든 시스템들 모두는 SQL 문법을 연속질의 언어로 확장하기 위해 SQL의 문법구조를 변경, 확장, 제한하는 방법을 사용하고 있다. SQL 질의언어의 문법구조 변화는 사용자에게 새로운 문법을 익혀야 하는 부담을 주며, 기존의 질의언어 처리 시스템에는 호환되지 않는 문제를 발생하게 된다. 그러므로, 가능하다면 관계형 데이터 모델 기반의 스트리밍 데이터에 대한 연속질의는 표준 질의언어인 SQL문법의 기본구조를 변경하지 않으면서 제공할 수 있어야 한다.The SQL query language is a representative standard query language for relational database queries and is used by users and systems. Providing a continuous query function for streaming data using the standard and popularized SQL query language has a great advantage in that it provides user-friendly query methods and system compatibility. The systems in the previous example offer the advantage that they are basically based on the syntax of the SQL query language. However, all of the example systems use a method of altering, extending, or restricting the syntax of SQL to extend it to a continuum language. Changes in the grammatical structure of the SQL query language place a burden on the user to learn a new grammar and cause incompatibility with the existing query language processing system. Therefore, if possible, a continuous query for streaming data based on relational data model should be provided without changing the basic structure of SQL syntax, which is a standard query language.
연속질의(Continuous Query)란 연속되어 끊임없이 입력되는 스트리밍 데이터에 대한 질의처리 방법의 하나로써, 전통적인 관계형 데이터 베이스의 질의처리 방식과 연속질의 시스템의 질의처리 방식 차이를 기준으로 비교 설명할 수 있다. 질의처리 방식의 가장 특징적인 차이점은 전통적인 관계형 데이터 베이스 질의처리기가 하나(1)의 질의요청에 대해 일(1)회만 질의처리를 실행한 후 그 질의결과를 반환하는 것에 비해, 연속질의 처리기는 하나(1)의 질의요청에 대해 질의요청을 취소하지 않는 한 연속적으로 질의처리를 실행하며 그에 대한 결과도 연속적으로 생산한다는 것에 있다. 또한 전통적인 관계형 데이터 베이스 질의처리기의 질의대상 데이터 집합은 질의처리 실행 시 한정된 집합이 되는 것에 비해, 연속질의 처리기의 질의처리 대상 데이터 집합은 질의실행 중에도 끊임 없이 변화한다. 또한 질의결과의 반환방법에 있어서도 전통적인 관계형 데이터베이스의 질의처리기는 질의결과에 대한 요청이 있을 경우에만 수동적으로 결과를 반환하는데 비해, 연속질의 처리기는 질의결과가 생산될 때 마다 자동으로 그 결과를 반환한다.Continuous query is a query processing method for streaming data that is continuously and continuously input. The continuous query can be compared based on the difference between the query processing method of a conventional relational database and the query processing method of a continuous system. The most distinctive difference between the query processing methods is that a continuum processor is one compared to a traditional relational database query processor performing one (1) query processing for one (1) query request and then returning the query result. As long as the query request of (1) is not canceled, the query processing is executed continuously, and the result is continuously produced. In addition, the query target data set of the traditional relational database query processor becomes a limited set at the time of query processing, whereas the query target data set of the continuous query processor changes continuously during query execution. In addition, in the method of returning a query result, the traditional relational database query processor returns a result only when a request for a query result is made, whereas a continuous query processor automatically returns a result whenever a query result is produced. .
현재의 표준 SQL 질의언어에는 스트리밍 데이터에 대한 연속질의를 정의할 수 있는 기능이 없다. 따라서, 관계형 데이터 모델 기반의 스트리밍 데이터에 대해 연속질의를 이용한 검색기능을 제공하기 위해서는 표준 SQL 질의언어의 기본문법 구조에 영향을 주지 않으면서도 연속질의 기능을 제공할 수 있는 문법구조의 확장이 필요하다.The current standard SQL query language does not have the ability to define a continuous query for streaming data. Therefore, in order to provide a continuous query function for streaming data based on relational data model, it is necessary to expand the grammar structure that can provide continuous query function without affecting the basic grammar structure of standard SQL query language. .
따라서, 본 발명은 상기한 표준 SQL질의언어의 스트리밍 데이터에 대한 연속질의 기능부족 문제를 해결하기 위한 것으로써, 표준 SQL 질의언어의 문법 구조를 변형하지 않으면서도 관계형 데이터 모델 기반 스트리밍 데이터에 대한 검색질의를 가능하게 하는 연속질의 언어를 고안하여, 이를 기반으로 연속질의를 수행하는 연속질의 처리기 및 방법을 제공하는 것에 있다.Accordingly, the present invention is to solve the problem of lack of continuity of the streaming data of the standard SQL query language, search query for the relational data model-based streaming data without modifying the syntax structure of the standard SQL query language The present invention is to provide a continuous processor and method for performing continuous query based on the continuous language.
본 발명에 의한 관계형 데이터 모델 기반 스트리밍 데이터 처리를 위한 연속질의 언어 기반 연속질의 처리 시스템 및 방법은 시간에 따라 다른 데이터 양으로 연속적으로 끊임없이 입력되는 관계형 데이터 모델 기반의 스트리밍 데이터에 대한 질의 언어 및 처리 방안을 제공함으로써, 관계형 데이터 모델 기반의 스트리밍 데이터를 통합적으로 검색할 수 있는 기능을 제공한다. 또한 스트리밍 데이터에 대한 검색 기능을 표준 SQL문법을 변형하지 않으면서 추가 확장함으로써, 기존 표준 SQL의 기능을 수정 없이 그대로 사용할 수 있다.Continuous-language-based continuous-processing processing system and method for processing relational data model-based streaming data according to the present invention is a query language and processing method for a relational data model-based streaming data continuously and continuously inputted with different amounts of data over time. By providing, it provides a function to collectively search the streaming data based on the relational data model. In addition, the search function for streaming data can be further extended without modifying the standard SQL syntax, so that the functions of the existing standard SQL can be used without modification.
상기와 같은 목적을 달성하기 위한 본 발명의 관계형 데이터 모델 기반 스트리밍 데이터 처리를 위한 연속질의 언어 기반 연속질의 처리 시스템은 관계형 데이터 모 델 기반 스트리밍 데이터를 입력 받는 입력 큐; 상기 입력 큐를 연속질의를 위한 데이터 집합으로 표현하는 윈도우; 연속질의를 입력받아 연속질의 실행환경을 구성하고, 연속적으로 질의를 실행하는 연속질의 처리기; 및 상기 연속질의 처리기에서 생산된 연속질의 결과 데이터를 관계형 데이터 모델 기반 스트리밍 데이터로 출력하기 위한 출력 큐를 포함하여 이루어진 것을 특징으로 한다.Continuous language-based continuous processing system for processing relational data model-based streaming data of the present invention for achieving the above object comprises an input queue for receiving the relational data model-based streaming data; A window for representing the input queue as a data set for a continuous query; A continuous query processor configured to receive a continuous query and construct a continuous execution environment, and execute the query continuously; And an output queue for outputting the continuous data produced by the continuous processor as relational data model based streaming data.
이 때, 상기 연속질의 처리기는 연속질의를 입력 받아 구문을 분석하고, 연속질의 언어 문법을 따라 바르게 작성된 연속질의인지를 검사하고, 올바르게 작성된 연속질의일 경우, 연속질의 구문 분석 트리를 생성하는 구문 분석 모듈; 상기 연속질의 구문 분석 트리의 윈도우 정의 구문을 이용하여 윈도우 정의가 바르게 되어 있는지를 검증하고, 입력 큐에 대한 윈도우를 생성하는 모듈; 상기 연속질의 구문 분석 트리의 검색질의 정의 구문을 이용하여 검색정의가 바르게 되어있는 지를 검증하고 검색결과에 대한 출력 큐를 생성하는 모듈; 상기 윈도우 생성과 출력 큐 생성이 올바르게 되었을 경우, 윈도우, 출력 큐, 그리고 연속질의를 등록하는 모듈로 이루어진다.In this case, the processor of the continuous query receives a continuous query, parses the syntax, checks whether the continuous query is written correctly according to the language syntax of the continuous query, and, in the case of a correctly prepared continuous query, constructs a parse tree of the continuous query. module; A module for verifying whether a window definition is correct using a window definition syntax of the serial parsing tree, and generating a window for an input queue; A module for verifying whether the search definition is correct by using the definition syntax of the search query of the parsing tree of the continuous query, and generating an output queue for the search result; When the window creation and the output queue creation are correct, the module includes a window, an output queue, and a continuous query.
또한, 본 발명의 관계형 데이터 모델 기반 스트리밍 데이터 처리를 위한 연속질의 언어 기반 연속질의 처리방법은 (a) 연속질의를 질의등록 사용자 인터페이스를 통해 연속질의 처리기에 입력하는 단계; (b) 상기 입력된 연속질의에 대해 연속질의 언어 처리기가 구문 분석을 수행하는 단계; (c) 상기 분석된 구문을 이용하여 윈도 우를 생성하는 단계; (c) 상기 분석된 구문을 이용하여 출력 큐를 생성하는 단계; (d) 상기 생성된 윈도우, 출력 큐, 연속질의를 등록하여 연속질의 실행 환경을 구성하는 단계; 및 (e) 스트리밍 데이터에 대한 질의를 연속적으로 실행하고 결과를 생성하는 단계를 포함하여 이루어진 것을 특징으로 한다.In addition, the method of processing a continuous language-based continuous query for processing relational data model-based streaming data of the present invention comprises the steps of: (a) inputting the continuous query to the processor of the continuous query through the query registration user interface; (b) performing a syntax analysis on the input continuous query by the continuous language processor; (c) generating a window using the parsed syntax; (c) creating an output queue using the parsed syntax; (d) registering the created window, output queue, and continuous query to configure a continuous execution environment; And (e) continuously executing the query for the streaming data and generating a result.
이하, 본 발명의 관계형 데이터 모델 기반 스트리밍 데이터 처리를 위한 연속질의 언어 기반 연속질의 처리기 및 방법에 대해 첨부된 도면을 참조하여 상세히 설명하기로 한다.Hereinafter, a processor and a method of a continuous-language-based continuous query for processing relational data model-based streaming data will be described in detail with reference to the accompanying drawings.
도 1은 기존 SQL 질의언어를 확장하여 관계형 데이터 모델 기반의 스트리밍 데이터에 대한 연속질의를 수행 할 수 있도록 한 연속질의 언어 구문 규칙의 일부분(110~200) 이다.1 is a part (110 ~ 200) of the continuous language syntax rules to extend the existing SQL query language to perform a continuous query on the streaming data based on the relational data model.
표준 SQL 질의언어에 관계형 데이터 모델 기반의 스트리밍 데이터 집합에 대한 윈도우를 정의 할 수 있는 window 절(120)을 추가 하였으며, window절은 스트리밍 데이터가 입력되는 장소인 입력 큐에 대한 이름을 정의 할 수 있는 큐이름, 윈도우 이름, 윈도우 속성을 정의하는 윈도우 표현 절(130)로 정의할 수 있도록 하였다. 윈도우 표현절에서 큐 이름은 큐 이름 절(140)에서 큐의 고유 ID값으로 정의 할 수 있도록 하였으며, 윈도우 이름은 윈도우 이름 절(150)에서 윈도우 고유 ID값으로 정의 할 수 있도록 하였다. 윈도우 표현절에서 윈도우 속성은 윈도우의 크기와 이동의 값을 시간값 또는 개수값으로 윈도우 속성절(160)에서 정의 할 수 있도록 하 였으며, 윈도우 속성절의 윈도우 시간값은 일(Day), 시간(Hour), 분(Min), 초(Sec)의 값으로 윈도우 시간값 절(170)에서 정의 할 수 있도록 하였고, 윈도우 속성절의 윈도우 개수값은 양의 정수로 윈도우 개수값 절(180)에서 정의 할 수 있도록 하였다. 그리고, 질의에 필요한 고유특성 값을 사용하기 위해 using property 키워드와 고유 ID값으로 정의할 수 있도록 한 고유특성 사용 절(190)을 추가하였다. SQL 질의문 절(200)은 표준 SQL 문으로 정의 할 수 있도록 하였으며, 이는 표준 SQL문의 기능을 변함없이 활용할 수 있도록 한 것이다.In the standard SQL query language, a window clause (120) has been added to define a window for a streaming data set based on a relational data model. The window clause can define a name for an input queue, which is where streaming data is input. The
도 2는 도1의 연속질의 언어 구문을 사용한 예(210~240)이다. FIG. 2 shows examples 210 to 240 using the continuous language syntax of FIG.
일실시예(210)는 관계형 데이터 모델 기반 스트리밍 데이터 집합이 저장되어 있는 입력 큐 queue1에 대해 5초의 시간크기 값과 5초의 이동 값을 갖는 윈도우 win1을 생성하고, 그 윈도우 win1으로부터 스트리밍 데이터 집합의 총 원소 개수를 검색하는 예이다. 다른 실시예(220)는 관계형 데이터 모델 기반 스트리밍 데이터 집합이 저장되어 있는 입력 큐 queue1에 대해 5분의 시간크기 값과 1분의 이동 값를 갖는 윈도우 win1을 생성하고, 동일 입력 큐 queue1에 대해 1분의 시간크기 값과 5분의 이동 값을 갖는 win2를 생성하여, 각각의 윈도우로부터 스트리밍 데이터 집합의 총 원소 개수를 검색하는 예이다. 다른 실시예(230)은 관계형 데이터 모델 기반 스트리밍 데이터 집합이 저장되어 있는 입력 큐 queue1에 대해 스트리밍 데이터 원소 10개 크기 값과 스트리밍 데이터 원소 10개의 이동 값을 갖는 윈도우 win1을 생성하고, 그 윈도우 win1으로부터 스트리밍 데이터 집합의 총 원소 개수를 검색하는 예이다. 다른 실시예(240)은 관계형 데이터 모델 기반 스트리밍 데이터 집합이 저장되어 있는 입력 큐 queue1에 대해 스트리밍 데이터 원소 10개 크기 값과 스트리밍 데이터 원소 5개의 이동 값을 갖는 윈도우 win1을 생성하고, 동일 입력 큐 queue1에 대해 스트리밍 데이터 원소 5개 크기 값과 스트리밍 데이터 원소 10개의 이동 값을 갖는 윈도우 win2를 생성하여, 각각의 윈도우로부터 스트리밍 데이터 집합의 총 원소 개수를 검색하는 예이다.One
도 3은 본 발명의 연속질의 언어 기반 연속질의 처리기의 예를 도시한 것이다. Figure 3 illustrates an example of a processor of the present invention, a language-based continuum.
도 3에 도시된 바와 같이, 본 발명의 연속질의 언어 기반 연속질의 처리 시스템은 사용자 인터페이스(310), 입력 큐 응용 프로그램(320), 입력 큐(330), 윈도우(340), 연속질의 처리기(350), 출력 큐(360), 출력 큐 응용 프로그램(370)으로 구성되어 있다.As shown in FIG. 3, the continuous-language-based continuous processing system of the present invention includes a
사용자 인터페이스(310)은 연속질의 처리 시스템 사용자에게 입력 큐 생성/삭제/검색, 연속질의 등록/삭제/검색, 결과 큐 검색 등의 시스템 사용기능 제공을 담당한다. 입력 큐 응용 프로그램(320)은 관계형 데이터 모델 기반 스트리밍 데이터를 생산하여 입력 큐(330)에 입력하는 역할을 한다. 입력 큐(330)는 입력 큐 응용 프로그램(320)으로부터 전달 받은 관계형 데이터 모델 기반 스트리밍 데이터를 저장 하는 역할을 한다. 연속질의 처리기(350)는 사용자 인터페이스(310)를 통해 전달받은 연속질의를 분석하고 검증하여 입력 큐(330)와 연계된 윈도우(340) 생성과 연속질의 검색결과에 대한 출력 큐(360)를 생성하는 역할을 담당하며, 또한 연속질의 수 행 계획에 따라 연속적으로 질의를 수행하여 질의 결과를 출력 큐(360)에 전달하는 역할을 담당한다. 윈도우(340)는 이용하여 입력 큐(330)에 대한 연속질의를 위해 시간 또는 개수 주기의 크기 값과 이동 값을 관리하는 역할을 담당한다. 출력 큐(360)는 연속질의 처리기(350)로부터 생산된 연속질의 결과 스트리밍 데이터를 저장하는 역할을 담당한다. 출력 큐 응용 프로그램(370)은 출력 큐(360)로부터 연속질의 결과 스트리밍 데이터를 전달받고 그 결과를 이용하는 역할을 담당한다.The
도 4는 연속질의 처리기(350)가 연속질의를 등록하는 과정에 대한 흐름도이다.4 is a flowchart illustrating a process of registering the continuous query by the
사용자 인터페이스(310)를 통해 연속질의를 입력 받는다(410). 입력된 연속질의에 대한 구문 분석을 수행하고, 올바른 구문이 아닐 경우 등록 과정을 종료한다(420). 입력된 연속질의의 구문이 올바른 경우 연속질의 구문 트리를 생성한다(430). 연속질의 구문 트리에서 윈도우 정의 구문이 올바른지 검증하고, 올바른 구문이 아닐 경우 등록 과정을 종료한다(440). 윈도우 정의 구문이 올바른 경우 윈도우를 생성한다(441). 연속질의 구문 트리에서 검색질의가 올바른지 검증하고, 올바른 검색질의가 아닐 경우 등록 과정을 종료한다(450). 올바른 검색질의인 경우 검색결과에 대한 출력 큐를 생성한다(451). 연속질의에 대한 윈도우와 출력 큐 모두가 올바르게 생성 되었는가 검증하고, 그렇지 않을 경우 등록 과정을 종료한다(460). 올바르게 생성된 윈도우와 출력 큐, 연속질의에 대한 등록을 수행한다(470).The continuous query is input through the user interface 310 (410). Parsing of the input continuous query is performed, and if it is not correct syntax, the registration process is terminated (420). If the syntax of the input continuous query is correct, the syntax tree of the continuous query is generated (430). The syntax of the window definition is verified in the syntax tree of the continuous query. If the syntax is not correct, the registration process is terminated (440). If the window definition syntax is correct, the window is created (441). If the search query is correct in the syntax tree of the continuous query, the registration process is terminated if it is not the correct search query (450). If the correct search query, an output queue for the search result is created (451). It is verified whether both the window and the output queue for the continuous query are correctly created, otherwise, the registration process is terminated (460). Registration of the correctly created window, output queue, and continuous query is performed (470).
도 5는 연속질의 처리기(350)가 연속질의를 수행하는 과정에 대한 흐름도이다.5 is a flowchart illustrating a process of performing the continuous query by the
입력 큐 응용 프로그램(320)은 스트리밍 데이터를 생산하여 입력 큐(330)에 입력한다(S501). 스트리밍 데이터 입력(S501)과정은 시스템 종료 전까지 반복적으로 수행된다.The input
연속질의 언어 처리기(350)은 윈도우(340)의 크기 값과 이동 값을 이용하여 입력 큐(330)에 대한 윈도우 슬라이딩(S502)을 수행하고, 슬라이딩된 윈도우의 시간 값과 이동 값을 기준으로 입력 큐(330)에 대한 질의를 수행(S503)을 한 후, 질의결과가 있으면 출력 큐(360)에 질의 결과를 반환(S504)한다. 질의과정(S502~S504)은 연속질의가 삭제 되기 전까지 반복 수행된다.The
출력 큐 응용 프로그램(370)은 출력 큐(360)로부터 연속질의 결과 스트리밍 데이터를 전달 받는다(S505). 이 과정(S505)은 연속질의가 삭제 되기 전까지 반복 수행된다.The output
이상에서 몇 가지 실시예를 들어 본 발명을 더욱 상세하게 설명하였으나, 본 발명은 반드시 이러한 실시예로 국한되는 것이 아니고 본 발명의 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형 실시될 수 있다.Although the present invention has been described in more detail with reference to some embodiments, the present invention is not necessarily limited to these embodiments, and various modifications can be made without departing from the spirit of the present invention.
도 1은 본 발명에 의한 관계형 데이터 모델 기반의 스트리밍 데이터 검색을 위한 연속질의 언어 구문 규칙.1 is a continuous language syntax rule for streaming data retrieval based on a relational data model according to the present invention.
도 2는 본 발명의 연속질의 언어 구문의 실시예를 나타낸 도면.2 illustrates an embodiment of a continuum language construct of the present invention.
도 3은 본 발명의 연속질의 처리기를 포함한 스트리밍 데이터 처리 시스템의 예를 나타낸 도면.3 shows an example of a streaming data processing system including a continuous processor of the present invention.
도 4는 본 발명의 연속질의 처리기가 연속질의를 등록하는 과정을 처리 순서로 나타낸 흐름도.4 is a flowchart illustrating a process of registering a continuous query by the continuous processor of the present invention.
도 5는 본 발명의 연속질의 처리기가 연속질의를 수행하는 과정에 대한 흐름도.5 is a flowchart of a process of performing a continuous query by the continuous processor of the present invention.
<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>
310: 사용자 인터페이스310: user interface
320: 입력 큐 응용 프로그램320: input queue application
330: 입력 큐330: input queue
340: 윈도우340: Windows
350: 연속질의 처리기350: continuous processor
360: 출력 큐360: output queue
370: 출력 큐 응용 프로그램370: Output queue application
410: 연속질의 입력410: input of continuous quality
420: 구문 분석420: parsing
430: 연속질의 구문 트리430: sequence syntax tree
440: 윈도우 검증440: Windows Verification
441: 윈도우 생성441: Create Window
450: 검색질의 검증450: Validation of search quality
451: 출력 큐 생성451: Create output queue
460: 연속질의 검증460: Verification of continuous quality
470: 윈도우/출력 큐/연속질의 등록470: Registering windows / output queues / continuities
S501: 스트리밍 데이터 입력S501: Streaming data input
S502: 윈도우 슬라이딩S502: sliding window
S503: 질의 수행S503: Query Execution
S504: 질의 결과 반환S504: Return query results
S505: 스트리밍 데이터 출력S505: streaming data output
Claims (7)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090026017A KR101014492B1 (en) | 2009-03-26 | 2009-03-26 | Continuous query language based continuous query processor and method for relational data model based streaming data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090026017A KR101014492B1 (en) | 2009-03-26 | 2009-03-26 | Continuous query language based continuous query processor and method for relational data model based streaming data |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100107757A KR20100107757A (en) | 2010-10-06 |
KR101014492B1 true KR101014492B1 (en) | 2011-02-14 |
Family
ID=43129415
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020090026017A KR101014492B1 (en) | 2009-03-26 | 2009-03-26 | Continuous query language based continuous query processor and method for relational data model based streaming data |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101014492B1 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2628094A4 (en) * | 2010-10-14 | 2015-01-28 | Hewlett Packard Development Co | Continuous querying of a data stream |
KR101439346B1 (en) * | 2012-11-29 | 2014-09-11 | 주식회사 알티베이스 | Complex Event Processing Apparatus for referring tables from an external Database |
KR101955376B1 (en) | 2016-12-29 | 2019-03-08 | 서울대학교산학협력단 | Processing method for a relational query in distributed stream processing engine based on shared-nothing architecture, recording medium and device for performing the method |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060067718A (en) * | 2004-12-15 | 2006-06-20 | 한국전자통신연구원 | System and method for processing continuous query language based xml query language for processing streaming data expressed xml |
KR20070057599A (en) * | 2005-12-01 | 2007-06-07 | 한국전자통신연구원 | Stream data processing system and method for avoiding duplication of data processing |
KR100817026B1 (en) | 2006-12-05 | 2008-03-26 | 한국전자통신연구원 | Spatial data stream management system and method using spatial sliding window |
KR20090002244A (en) * | 2006-12-04 | 2009-01-09 | 한국전자통신연구원 | Apparatus and method for continuous query processing using the sharing of operation among multiple queries on xml data stream |
-
2009
- 2009-03-26 KR KR1020090026017A patent/KR101014492B1/en not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060067718A (en) * | 2004-12-15 | 2006-06-20 | 한국전자통신연구원 | System and method for processing continuous query language based xml query language for processing streaming data expressed xml |
KR20070057599A (en) * | 2005-12-01 | 2007-06-07 | 한국전자통신연구원 | Stream data processing system and method for avoiding duplication of data processing |
KR20090002244A (en) * | 2006-12-04 | 2009-01-09 | 한국전자통신연구원 | Apparatus and method for continuous query processing using the sharing of operation among multiple queries on xml data stream |
KR100817026B1 (en) | 2006-12-05 | 2008-03-26 | 한국전자통신연구원 | Spatial data stream management system and method using spatial sliding window |
Also Published As
Publication number | Publication date |
---|---|
KR20100107757A (en) | 2010-10-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10956464B2 (en) | Natural language question answering method and apparatus | |
Zettlemoyer et al. | Learning context-dependent mappings from sentences to logical form | |
US9652719B2 (en) | Authoring system for bayesian networks automatically extracted from text | |
US11138005B2 (en) | Methods and systems for automatically generating documentation for software | |
US7454413B2 (en) | Query expressions and interactions with metadata | |
US20160124936A1 (en) | Grammar compiling methods, semantic parsing methods, devices, computer storage media, and apparatuses | |
US11281864B2 (en) | Dependency graph based natural language processing | |
CN109446221A (en) | A kind of interactive data method for surveying based on semantic analysis | |
US10657124B2 (en) | Automatic generation of structured queries from natural language input | |
CN112015722A (en) | Database management method, data blood relationship analysis method and related device | |
WO2010125061A2 (en) | Method and device for ontology evolution | |
US20220284174A1 (en) | Correcting content generated by deep learning | |
Furche et al. | The ontological key: automatically understanding and integrating forms to access the deep Web | |
KR101014492B1 (en) | Continuous query language based continuous query processor and method for relational data model based streaming data | |
US20080243904A1 (en) | Methods and apparatus for storing XML data in relations | |
US20230169405A1 (en) | Updating training examples for artificial intelligence | |
CN116842042A (en) | Universal method, device, electronic equipment and storage medium for dissimilating database | |
EP3407204A1 (en) | Methods and systems for translating natural language requirements to a semantic modeling language statement | |
KR20120070713A (en) | Method for indexing natural language and mathematical formula, apparatus and computer-readable recording medium with program therefor | |
JP2008243075A (en) | Structured document management device and method | |
US11100286B2 (en) | Methods and systems for implied graph patterns in property chains | |
CN103268312B (en) | A kind of corpus collection system based on user feedback and method thereof | |
EP3944127A1 (en) | Dependency graph based natural language processing | |
US11009845B2 (en) | Method for transforming a sequence to make it executable to control a machine | |
JP5422751B1 (en) | Structured document management apparatus, method and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20140203 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20141203 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |