KR101439346B1 - Complex Event Processing Apparatus for referring tables from an external Database - Google Patents

Complex Event Processing Apparatus for referring tables from an external Database Download PDF

Info

Publication number
KR101439346B1
KR101439346B1 KR1020130122185A KR20130122185A KR101439346B1 KR 101439346 B1 KR101439346 B1 KR 101439346B1 KR 1020130122185 A KR1020130122185 A KR 1020130122185A KR 20130122185 A KR20130122185 A KR 20130122185A KR 101439346 B1 KR101439346 B1 KR 101439346B1
Authority
KR
South Korea
Prior art keywords
query
external
external database
event processing
reference object
Prior art date
Application number
KR1020130122185A
Other languages
Korean (ko)
Other versions
KR20140074182A (en
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 US14/085,621 priority Critical patent/US20140149419A1/en
Publication of KR20140074182A publication Critical patent/KR20140074182A/en
Application granted granted Critical
Publication of KR101439346B1 publication Critical patent/KR101439346B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging

Landscapes

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

Abstract

본 발명의 바람직한 일 실시예로서, 외부데이터베이스 내의 테이블을 외부참조객체로 참조하는 이벤트처리 장치는 입력 CQL 질의문을 분석한 후 파스트리를 생성하는 질의어 분석부; 상기 이벤트처리 장치에서 사용 가능한 객체들을 내부객체와 상기 외부참조객체로 분리하여 메타정보로 관리하고, 상기 생성된 파스트리에 포함된 데이터소스 객체들 중 상기 메타정보를 이용하여 내부객체와 외부참조객체를 분리하는 메타정보관리부; 상기 분리된 외부참조객체를 이용하여 외부데이터베이스 질의어를 생성하는 질의어생성부; 상기 외부데이터베이스 질의어를 저장하는 질의어저장부;및 인출된 질의어를 실행하는 외부인터페이스부;를 포함하는 것을 특징으로 한다.As a preferred embodiment of the present invention, an event processing apparatus for referring to a table in an external database as an external reference object includes a query analyzing unit for analyzing an input CQL query statement and generating a parse tree; Wherein the object processing unit manages the objects available for use in the event processing apparatus as meta information by dividing the objects into an inner object and an outer reference object and manages the inner object and the outer reference object using the meta information among the data source objects included in the generated parse tree A meta information management unit for separating the meta information; A query generator for generating an external database query using the separated external reference object; A query term storing unit for storing the external database query term, and an external interface unit for executing the retrieved query term.

Figure R1020130122185
Figure R1020130122185

Description

외부데이터베이스 내의 테이블을 외부참조 객체로 참조하는 이벤트처리장치{Complex Event Processing Apparatus for referring tables from an external Database}[0001] The present invention relates to an event processing apparatus for referring to a table in an external database as an external reference object,

본 발명은 이벤트처리장치에 관한 것으로, 보다 상세히 이벤트처리장치에서 외부 데이터베이스 내의 테이블을 사용하는 방법에 관한 것이다. The present invention relates to an event processing apparatus, and more particularly, to a method of using a table in an external database in an event processing apparatus.

이벤트처리장치에서 연속적인 이벤트에 대해 다양한 분석과 검출을 수행하기 위해서는 데이터베이스의 정적 데이터를 지속적으로 참조하여야 한다. 그러나, TCP/IP 등과 같은 IPC(Inter-processes Communication)를 통해 데이터베이스 내의 테이블을 지속적으로 참조, 변경하는 경우 성능저하가 발생하게 되는 문제점이 있다.In order to perform various analysis and detection on successive events in the event processing device, the static data of the database should be continuously referred to. However, when the tables in the database are continuously referenced or changed through IPC (Inter-processes Communication) such as TCP / IP, there is a problem that the performance is degraded.

IPC에서 발생하는 성능저하 문제점을 해결하기 위하여, 데이터베이스를 이벤트처리장치 내에 내장하는 방법이 있다. 그러나 이와 같은 In-process 방식의 경우 데이터베이스가 복수의 클라이언트를 지원하지 못하는 문제점이 있다. In order to solve the problem of performance degradation caused by IPC, there is a method of embedding a database in an event processing device. However, in the case of such an in-process method, there is a problem that a database can not support a plurality of clients.

KR 2011-0097550KR 2011-0097550

본 발명의 바람직한 일 실시예에서는 이벤트처리장치의 내부 객체인 스트림과 외부참조 객체인 외부데이터베이스의 테이블을 결합하여 사용하고자 한다. In an exemplary embodiment of the present invention, a stream that is an internal object of the event processing apparatus and a table of an external database, which is an external reference object, are used in combination.

본 발명의 바람직한 일 실시예로서, 외부데이터베이스 내의 테이블을 외부참조 객체로 참조하는 이벤트처리장치으로서, 이벤트처리장치는 상기 이벤트처리장치에 입력되는 연속질의언어(Continuous Query Language, 이하 CQL) 질의문을 분석한 후 파스트리를 생성하는 질의어 분석부; 상기 이벤트처리장치에서 사용 가능한 객체들을 내부 객체와 상기 외부참조객체로 분리하여 메타정보로 관리하고, 상기 생성된 파스트리에 포함된 데이터소스 객체들 중 상기 메타정보를 이용하여 내부 객체와 외부참조객체를 분리하는 메타정보관리부; 상기 분리된 외부참조객체를 이용하여 외부데이터베이스 질의어를 생성하는 질의어생성부; 상기 입력받은 CQL 질의문을 키(Key)로 하고, 상기 생성된 외부데이터베이스 질의어를 값(Value)로 하여 상기 입력받은 CQL 질의문과 상기 외부데이터베이스 질의어를 저장하는 질의어저장부;및 저장된 외부데이터베이스 질의어가 인출되면 인출된 질의어를 실행하는 외부인터페이스부;를 포함하는 것을 특징으로 한다.According to a preferred embodiment of the present invention, there is provided an event processing apparatus for referring to a table in an external database as an external reference object, the event processing apparatus comprising a continuous query language (CQL) query input to the event processing apparatus A query term analysis unit for generating a parse tree after analysis; Wherein the object processing unit manages the objects available for use in the event processing apparatus as meta information by dividing the objects into an inner object and an outer reference object and manages the inner object and the outer reference object using the meta information among the data source objects included in the generated parse tree A meta information management unit for separating the meta information; A query generator for generating an external database query using the separated external reference object; A query term storage unit for storing the input CQL query and the external database query term using the input CQL query as a key and using the generated external database query as a value, And an external interface unit for executing the fetched query word when fetched.

바람직하게, 질의어 분석부는 상기 입력된 CQL질의문이 상기 질의어저장부에 기저장된 CQL질의문들 중의 하나와 동일한지 판단하고, 동일하다고 판단된 경우 상기 질의어 저장부에 저장된 외부데이터베이스 질의어를 인출(retreival)한 후, 인출된 외부데이터베이스 질의어를 상기 외부인터페이스부를 통해 수행하는 것을 특징으로 한다.Preferably, the query analyzing unit determines whether the input CQL query is the same as one of the CQL query statements previously stored in the query storage unit, and if it is determined to be the same, retrieves the external database query stored in the query storage unit ), And then executes the extracted external database query through the external interface unit.

바람직하게, 상기 질의어 저장부는 캐시의 기능을 수행하도록 구현되며, 이 경우 상기 캐시의 키(key)는 CQL 질의문을 포함하는 것을 특징으로 한다. Preferably, the query term storage unit is implemented to perform a cache function. In this case, the key of the cache includes a CQL query.

바람직하게, 캐시의 값(Value)은 상기 질의어 생성부(130)에서 생성한 외부데이터베이스 질의어인 것을 특징으로 한다.Preferably, the value of the cache is an external database query generated by the query generator 130.

본 발명의 바람직한 일 실시예로서 이벤트처리장치는 이벤트처리장치의 입력 CQL질의문에서 이벤트처리장치의 내부객체인 스트림과 외부참조객체인 외부데이터베이스의 테이블을 결합하여 사용함으로써, 외부 데이터베이스를 연동하여 외부데이터베이스 내부의 테이블에 접근하여 데이터를 참조하거나 변경할 수 있는 효과가 있다. As a preferred embodiment of the present invention, the event processing apparatus combines a stream, which is an internal object of the event processing apparatus, with a table of an external database, which is an external reference object, in an input CQL query statement of the event processing apparatus, It has the effect of accessing the table inside the database and referencing or changing the data.

도 1 은 본 발명의 바람직한 일 실시예로서, 이벤트처리장치의 내부 구성도를 도시한다.
도 2 는 본 발명의 바람직한 일 실시예로서, CQL 질의구문을 수신한 경우 파스트리로 변환한 일 예를 도시한다.
도 3 은 본 발명의 바람직한 일 실시예로서, 메타데이터부에서 외부 데이터베이스 테이블을 외부참조객체로 관리하는 일 예를 도시한다.
1 is a block diagram showing an internal configuration of an event processing apparatus according to a preferred embodiment of the present invention.
FIG. 2 shows an example of converting into a parse tree when receiving a CQL query syntax according to a preferred embodiment of the present invention.
FIG. 3 illustrates an example of managing an external database table as an external reference object in the metadata unit according to a preferred embodiment of the present invention.

이하 첨부된 도면들을 참조하여 본 발명의 실시예들을 설명한다. 하기의 설명 및 첨부된 도면은 본 발명에 따른 동작을 이해하기 위한 것이며, 본 기술 분야의 통상의 기술자가 용이하게 구현할 수 있는 부분은 생략될 수 있다. Embodiments of the present invention will now be described with reference to the accompanying drawings. The following description and accompanying drawings are for understanding the operation according to the present invention, and parts that can be easily implemented by those skilled in the art can be omitted.

또한 본 명세서 및 도면은 본 발명을 제한하기 위한 목적으로 제공된 것은 아니고, 본 발명의 범위는 청구의 범위에 의하여 정해져야 한다. 본 명세서에서 사용된 용어들은 본 발명을 가장 적절하게 표현할 수 있도록 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야 한다. Furthermore, the specification and drawings are not intended to limit the present invention, and the scope of the present invention should be determined by the claims. The terms used in the present specification should be construed to mean the meanings and concepts consistent with the technical idea of the present invention in order to best express the present invention.

본 발명의 바람직한 일 실시예에서는 이벤트처리장치에서 외부데이터베이스 내의 테이블을 외부참조 객체로 참조하는 방법을 개시한다. A preferred embodiment of the present invention discloses a method for referring to a table in an external database as an external reference object in an event processing apparatus.

도 1 은 본 발명의 바람직한 일 실시예로서, 외부 데이터베이스(200)는 공유메모리(300)에 테이블들을 저장하여, 외부 데이터베이스(200)의 공유메모리(300)에 저장된 테이블들을 이벤트처리장치(100)의 내부에서 외부참조객체로 참조가 가능하다. The external database 200 stores tables in the shared memory 300 and stores the tables stored in the shared memory 300 of the external database 200 in the event processing apparatus 100. [ Reference to an external reference object is possible within the context.

이벤트처리(Complex Event Processing) 장치(100)는 여러 이벤트 소스에서 발생한 이벤트를 대상으로 실시간으로 의미있는 데이터를 추출하여 대응되는 액션을 수행하는 것을 특징으로 한다. 이벤트 데이터의 예로는 실시간 데이터, 대량으로 지속적으로 입력되는 데이터, 시간 순서가 중요한 데이터 등이 있다. The complex event processing apparatus 100 is characterized in that it extracts meaningful data in real time on events occurring in various event sources and performs a corresponding action. Examples of event data include real-time data, data continuously input in a large amount, and time-sequential data.

본 발명의 바람직한 일 실시예로서, 외부 데이터베이스(200)는 정적 데이터를 처리 또는 저장하기 위한 장치로, 테이블 단위로 데이터를 관리하는 장치를 의미한다. As one preferred embodiment of the present invention, the external database 200 is an apparatus for processing or storing static data, and means an apparatus for managing data on a table basis.

도 1 을 참고하면, 이벤트처리장치(100)는 질의어 분석부(110), 메타정보관리부(120), 질의어생성부(130), 질의어저장부(140) 및 외부인터페이스부(150)를 포함한다. 1, the event processing apparatus 100 includes a query language analysis unit 110, a meta information management unit 120, a query language generation unit 130, a query language storage unit 140, and an external interface unit 150 .

질의어 분석부(110)는 이벤트처리장치(100)에 입력되는 연속질의언어(Continuous Query Language, 이하 CQL) 질의문을 분석한 후, 도 2와 같은 형태로 파스트리를 생성한다. 도 2 는 질의어 분석부(110)에서 아래와 같은 CQL 질의구문(S100)을 수신한 경우 파스트리로 변환한 일 예를 도시한다.The query analyzer 110 analyzes a Continuous Query Language (CQL) query sent to the event processing device 100 and generates a parse tree as shown in FIG. 2 shows an example of conversion into a parse tree when the following CQL query syntax S100 is received by the query language analysis unit 110. [

"SELECT * FROM STREAM1 AS S, TABLE1 AS T WHERE S.ID = T.ID;" (S100)"SELECT * FROM STREAM1 AS S, TABLE1 AS T WHERE S.ID = T.ID;" (S100)

이상의 CQL 질의구문(S100)은 외부데이타베이스(200) 내의 테이블인 Table1(310)과 내부객체인 스트림 Stream1에 대해 JOIN 연산을 수행하는 일 예를 나타낸다. The above CQL query syntax S100 shows an example of performing a JOIN operation on Table1 310, which is a table in the external database 200, and Stream Stream1, which is an internal object.

그 후, 이벤트처리장치(100)는 메타정보관리부(120)를 참고하여 생성된 파스트리에 포함된 데이터소스 객체들 중에 내부객체와 외부참조객체를 분리한다. 내부객체의 예로는 스트림 객체가 있다. 외부참조객체 정보는 외부데이터베이스의 테이블 이름, 테이블에 요구되는 칼럼 정보 등을 포함한다. Thereafter, the event processing apparatus 100 separates the inner object and the outer reference object among the data source objects included in the generated parse tree by referring to the meta information management unit 120. An example of an internal object is a stream object. The external reference object information includes a table name of an external database, column information required for the table, and the like.

질의어 생성부(130)에서는 분리된 테이블 객체 정보를 기초로 외부데이터베이스질의어를 생성한다. 질의어 생성부(130)에서는 수신한 CQL 질의문(S100) "SELECT * FROM STREAM1 AS S, TABLE1 AS T WHERE S.ID = T.ID;"에 대해 아래와 같은 외부데이터베이스 질의어를 생성한다. The query term generation unit 130 generates an external database query term based on the separated table object information. The query generation unit 130 generates the following external database query for the received CQL query S100: SELECT * FROM STREAM1 AS S, TABLE1 AS T WHERE S.ID = T.ID;

"SELECT * FROM TABLE1 WHERE TABLE1.ID = ?;"
"SELECT * FROM TABLE1 WHERE TABLE1.ID =?;"

질의어 저장부(140)에서는 CQL 질의문을 키(Key)로 생성하고, 외부데이터베이스 질의어를 값(Value)으로 하여, CQL 질의문과 외부데이터베이스 질의어를 저장한다. 본 발명의 바람직한 일 실시예로서, 질의어 생성부(130)에서 생성된 외부데이터베이스 질의어는 외부 데이터베이스 테이블을 대상으로 생성된 것으로, 재사용될 가능성이 높다. The query storage unit 140 stores a CQL query and an external database query as a key and generates an external database query as a value. As a preferred embodiment of the present invention, the external database query term generated by the query language generation unit 130 is generated for an external database table, and is highly likely to be reused.

본 발명의 바람직한 일 실시예에서는, 이벤트처리장치(100) 내부의 질의어 저장부(140)에 외부데이터베이스 질의어를 저장함으로써, 질의어 생성부(130)에서 동일한 입력 CQL 질의문에 대하여 외부데이터베이스 질의어를 생성하는 과정을 반복적으로 수행하지 않고, 1회만 수행하게 되는 이점이 있다. In an exemplary embodiment of the present invention, an external database query term is stored in the query term storage unit 140 in the event processing apparatus 100 so that an external database query term is generated for the same input CQL query in the query language generation unit 130 There is an advantage that it is performed only once without repeating the process of repeating the process.

본 발명의 바람직한 일 실시예에서, 질의어 저장부(140)는 캐시의 기능을 수행할 수 있으며, 이 경우 캐시의 키(key)는 입력받은 CQL 질의문을 기본으로 포함한다. 그리고, 캐시의 값(Value)은 질의어 생성부(130)에서 생성한 외부데이터베이스 질의어가 된다. In a preferred embodiment of the present invention, the query term storage unit 140 may perform a function of a cache. In this case, the key of the cache includes a received CQL query as a basis. The value (Value) of the cache is an external database query term generated by the query language generation unit 130.

본 발명의 바람직한 일 실시예에서는, 질의어 저장부(140)에 저장된 외부데이터베이스 질의어를 인출하여 외부인터페이스부(150)를 통해 질의를 수행시에 외부데이터베이스(200)의 공유메모리(300)에서 관리하는 테이블(310)들에 있는 데이터에 직접 접근할 수 있다.
In an exemplary embodiment of the present invention, the external database query term stored in the query term storage unit 140 is fetched and managed in the shared memory 300 of the external database 200 when the query is performed through the external interface unit 150 Lt; RTI ID = 0.0 > 310 < / RTI >

질의어 분석부(110)에서 입력 CQL 질의문이 질의어 저장부(140)에 기저장된 CQL 질의문들 중의 하나와 동일한지 판단한다. The query analyzer 110 determines whether the input CQL query is identical to one of the stored CQL query statements stored in the query storage unit 140.

동일하다고 판단된 경우, 질의어 분석부(110)에서 질의어 저장부(140)에 저장된 외부데이터베이스 질의어를 인출(retreival)한 후, 인출된 외부데이터베이스 질의어를 외부인터페이스부(150)를 통해 수행한다.The query analyzer 110 retires the external database query term stored in the query term storage unit 140 and then executes the retrieved external database query term via the external interface unit 150. [

메타정보관리부(120)는 도 3에 도시된 바와 같이 내부객체와 외부참조객체를 관리하며, 외부참조객체의 관리정보는 외부데이터베이스의 테이블 개수 정보, 외부데이터베이스의 테이블 정보, 외부데이터베이스의 테이블을 구성하는 칼럼의 정보를 포함한다. As shown in FIG. 3, the meta information management unit 120 manages internal objects and external reference objects. Management information of the external reference objects includes table information of external databases, table information of external databases, tables of external databases The information of the column to be analyzed.

도 3 을 참고하면, 메타정보관리부(120)는 TABLES_INFO(311)의 TABLE_ID(320) 는 1차키(primary key)로 COLUMN_INFO(330)의 TABLE_ID(340)는 외부키(foreign key)로 연관관계를 맺는다. 3, the meta information management unit 120 determines that the TABLE_ID 320 of the TABLES_INFO 311 is a primary key and the TABLE_ID 340 of the COLUMN_INFO 330 is a foreign key It concludes.

본 발명의 바람직한 일 실시예에서, 이벤트처리장치(100)에서 외부데이터베이스의 테이블을 외부참조객체로서 이용하기 위해서는 사전에 메타정보관리부(120)에 외부참조객체 정보를 등록하여야 한다. 또한, 메타정보관리부(120)에서는 이벤트처리장치(100)를 초기화하는 시점 또는 이벤트처리장치(100)의 런타임 오류 발생시 외부참조객체의 정보를 검증 및 업데이트 한다. In a preferred embodiment of the present invention, in order to use a table of an external database in the event processing apparatus 100 as an external reference object, the external reference object information must be registered in the meta information management unit 120 in advance. In addition, the meta information management unit 120 verifies and updates the information of the external reference object at the time of initializing the event processing apparatus 100 or a run-time error of the event processing apparatus 100. [

본 발명의 바람직한 일 실시예로서, 메타정보관리부(120)에서는 이벤트처리장치(100)를 초기화하는 시점에서 외부데이터베이스 테이블 정보를 검증하도록 구현된다. As a preferred embodiment of the present invention, the meta information management unit 120 is configured to verify the external database table information at the time of initializing the event processing apparatus 100.

메타정보관리부(120)는 이벤트처리장치(100)를 초기화하는 시점에서 외부참조객체로 관리하는 외부데이터베이스 테이블 및 칼럼 정보를 판독한다. 그 후, 이벤트처리장치(100)의 외부참조객체에서 관리하는 정보가 판독한 외부데이터베이스 테이블 및 칼럼 정보와 일치하는지를 확인한다. The meta information management unit 120 reads the external database table and column information managed by the external reference object at the time of initializing the event processing apparatus 100. Then, it is confirmed whether the information managed by the external reference object of the event processing apparatus 100 coincides with the read external database table and column information.

일치하는 경우에는, 이벤트처리장치(100)의 초기화를 완료한다. 일치하지 않는 경우에는 메타정보관리부(120)에서 판독한 외부데이터베이스 테이블 및 칼럼 정보로 외부참조객체를 업데이트한다. 이로써 이벤트처리장치(100)에서는 초기화 단계에서 최신의 외부데이터베이스의 테이블 정보를 외부챔조객체로서 유지할 수 있다. If they match, the initialization of the event processing apparatus 100 is completed. If they do not match, the external reference object is updated with the external database table and column information read by the meta information management unit 120. Thus, the event processing apparatus 100 can maintain the table information of the latest external database as an external chamber object in the initialization step.

본 발명의 또 다른 바람직한 일 실시예로서, 메타정보관리부(120)에서는 이벤트처리장치(100)의 런타임 오류 발생시 외부참조객체에서 관리하는 정보를 검증 및 업데이트하도록 구현된다. In another preferred embodiment of the present invention, the meta information management unit 120 is configured to verify and update information managed by an external reference object when a run-time error occurs in the event processing apparatus 100.

외부데이터베이스(200)의 테이블이 변경되는 경우 메타정보관리부(120)에서 관리하는 테이블 정보와 외부데이터베이스의 테이블 정보가 상이하게 된다. 그 결과, 이벤트처리장치(100)에서 기존의 외부참조객체 정보를 바탕으로 외부데이터베이스에 명령을 실행하는 경우 외부데이터베이스에서는 "해당 테이블이 존재하지 않음", " 잘못된 칼럼 타입 사용" 등과 같은 에러 메시지가 반환된다. When the table of the external database 200 is changed, the table information managed by the meta information management unit 120 is different from the table information of the external database. As a result, when the event processing apparatus 100 executes a command on an external database based on existing external reference object information, an error message such as "the corresponding table does not exist "," Is returned.

메타정보관리부(120)에서는 이상과 같은 런타임 오류를 감지한 경우, 외부참조객체에서 관리하는 정보의 업데이트를 수행한다. When the runtime error is detected, the meta information management unit 120 updates the information managed by the external reference object.

본 발명은 휴대 단말기에 구비된 프로세서가 읽을 수 있는 기록매체에 프로세서가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 프로세서가 읽을 수 있는 기록매체는 프로세서에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 프로세서가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있다. 또한 프로세서가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 프로세서가 읽을 수 있는 코드가 저장되고 실행될 수 있다.The present invention can be embodied as a code that can be read by a processor in a processor-readable recording medium provided in a portable terminal. The processor-readable recording medium includes all kinds of recording apparatuses in which data that can be read by the processor is stored. Examples of the recording medium on which the processor can read are ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, and the like. In addition, the processor readable recording medium may be distributed over networked computer systems so that code readable by the processor in a distributed manner can be stored and executed.

또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야 에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, but, on the contrary, It should be understood that various modifications may be made by those skilled in the art without departing from the spirit and scope of the present invention.

Claims (8)

외부데이터베이스 내의 테이블을 외부참조객체로 참조하는 이벤트처리장치로서,
상기 이벤트처리장치에 입력되는 연속질의언어(Continuous Query Language, 이하 CQL) 질의문을 분석한 후 파스트리를 생성하는 질의어 분석부;
상기 이벤트처리장치에서 사용 가능한 객체들을 내부 객체와 외부참조객체로 분리하여 메타정보로 관리하고, 상기 생성된 파스트리에 포함된 데이터소스 객체들 을 상기 메타정보를 이용하여 상기 내부 객체와 상기 외부참조객체로 분리하는 메타정보관리부;
상기 분리된 외부참조객체를 이용하여 외부데이터베이스 질의어를 생성하는 질의어생성부;
상기 입력받은 CQL 질의문을 키(Key)로 하고, 상기 생성된 외부데이터베이스 질의어를 값(Value)으로 하여 상기 입력받은 CQL 질의문과 상기 외부데이터베이스 질의어를 저장하는 질의어저장부;및
저장된 상기 외부데이터베이스 질의어가 인출되면 인출된 질의어를 실행하는 외부인터페이스부;를 포함하는 것을 특징으로 하는 이벤트처리장치.
An event processing apparatus for referring to a table in an external database as an external reference object,
A query analyzer for analyzing a continuous query language (CQL) query sent to the event processing device and generating a parse tree;
Wherein the metadata processing unit manages the objects available in the event processing apparatus as meta information by dividing the objects usable in the event processing apparatus into an inner object and an outer reference object and manages the data source objects included in the generated parse tree using the meta information, A meta information management unit for dividing the meta information into objects;
A query generator for generating an external database query using the separated external reference object;
A query term storage unit storing the input CQL query and the external database query word as a key and using the generated external database query as a value;
And an external interface unit for executing the retrieved query if the stored external database query term is retrieved.
제 1 항에 있어서, 상기 질의어 분석부는
상기 입력된 CQL 질의문이 상기 질의어저장부에 기저장된 상기 CQL 질의문들 중 하나와 동일한지 판단하고, 동일하다고 판단된 경우 상기 질의어 저장부에 저장된 데이터베이스 질의어를 인출(retreival)한 후, 인출된 데이터베이스 질의어를 상기 외부인터페이스부를 통해 수행하는 것을 특징으로 하는 이벤트처리장치.
The apparatus of claim 1, wherein the query analyzing unit
Determines whether the input CQL query is identical to one of the CQL query statements previously stored in the query storage unit, retreivates the database query stored in the query storage unit if it is determined to be the same, And a database query term is performed through the external interface unit.
제 1 항에 있어서, 상기 질의어 저장부는
캐시의 기능을 수행하도록 구현되며, 이 경우 상기 캐시의 키(key)는 상기 CQL 질의문을 포함하는 것을 특징으로 하는 이벤트처리장치.
The apparatus of claim 1, wherein the query term storage unit
Wherein the cache is implemented to perform a function of a cache, wherein the key of the cache includes the CQL query.
제 3 항에 있어서,
상기 캐시의 값(Value)은 상기 질의어 생성부(130)에서 생성한 외부데이터베이스 질의어인 것을 특징으로 하는 이벤트처리장치.
The method of claim 3,
Wherein the value of the cache is an external database query generated by the query generator.
제 1 항에 있어서,
상기 외부 데이터베이스는 테이블 데이터를 공유메모리에 저장하는 것을 특징으로 하는 이벤트처리장치.
The method according to claim 1,
Wherein the external database stores the table data in a shared memory.
제 5 항에 있어서, 상기 외부인터페이스부는
상기 공유메모리의 테이블 데이터에 직접 접근이 가능한 것을 특징으로 하는 이벤트처리장치.
6. The apparatus of claim 5, wherein the external interface unit
And the table data of the shared memory can be directly accessed.
제 1 항에 있어서, 상기 메타정보관리부는
상기 이벤트처리장치를 초기화하는 시점에서, 외부참조객체로 관리하는 상기 외부데이터베이스 테이블 및 칼럼 정보를 판독하는 것을 특징으로 하는 이벤트처리장치.
The apparatus of claim 1, wherein the meta information management unit
And reads the external database table and column information managed by the external reference object at the time of initializing the event processing device.
이벤트처리장치에서 외부데이터베이스 내의 테이블을 외부참조객체로 참조하는 방법으로서,
질의어 분석부에서 상기 이벤트처리장치에 입력되는 연속질의언어(Continuous Query Language, 이하 CQL) 질의문을 분석한 후 파스트리를 생성하는 단계;
메타정보관리부에서 상기 이벤트처리 장치에서 사용 가능한 객체들을 내부객체와 상기 외부참조객체로 분리하여 메타정보로 관리하고, 상기 생성된 파스트리에 포함된 데이터소스 객체들 중 상기 메타정보를 이용하여 내부객체와 외부참조객체를 분리하는 단계;
상기 분리된 외부참조객체를 이용하여 질의어생성부에서 외부데이터베이스 질의어를 생성하는 단계;
질의어저장부에서 상기 CQL 질의문을 키(Key)로 생성하고, 상기 외부데이타베이스 질의어를 값(Value)로 하여 상기 CQL 질의문과 상기 외부데이터베이스 질의어를 저장하는 단계;및
저장된 외부데이터베이스 질의어가 인출되면 외부인터페이스부를 통해 인출된 질의어를 실행하는 단계;를 포함하는 것을 특징으로 하는 방법.
A method for referring to a table in an external database as an external reference object in an event processing apparatus,
Analyzing a continuous query language (CQL) query sent to the event processing device by the query language analyzing unit and generating a parse tree;
The meta information management unit manages the objects available in the event processing apparatus as meta information by dividing them into an internal object and an external reference object, and manages the meta information from among the data source objects included in the generated parse tree, And an external reference object;
Generating an external database query term in a query term generation unit using the separated external reference object;
Storing the CQL query and the external database query word as a key in the query term storage unit as a key and using the external database query as a value;
And executing the query term retrieved through the external interface unit when the stored external database query term is retrieved.
KR1020130122185A 2012-11-29 2013-10-14 Complex Event Processing Apparatus for referring tables from an external Database KR101439346B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/085,621 US20140149419A1 (en) 2012-11-29 2013-11-20 Complex event processing apparatus for referring to table within external database as external reference object

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020120137342 2012-11-29
KR20120137342 2012-11-29

Publications (2)

Publication Number Publication Date
KR20140074182A KR20140074182A (en) 2014-06-17
KR101439346B1 true KR101439346B1 (en) 2014-09-11

Family

ID=51127472

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130122185A KR101439346B1 (en) 2012-11-29 2013-10-14 Complex Event Processing Apparatus for referring tables from an external Database

Country Status (1)

Country Link
KR (1) KR101439346B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100778314B1 (en) 2006-08-21 2007-11-22 한국전자통신연구원 System and method for processing continuous integrated queries on both data stream and stored data using user-defined shared trigger
KR20100107757A (en) * 2009-03-26 2010-10-06 박재홍 Continuous query language based continuous query processor and method for relational data model based streaming data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100778314B1 (en) 2006-08-21 2007-11-22 한국전자통신연구원 System and method for processing continuous integrated queries on both data stream and stored data using user-defined shared trigger
KR20100107757A (en) * 2009-03-26 2010-10-06 박재홍 Continuous query language based continuous query processor and method for relational data model based streaming data

Also Published As

Publication number Publication date
KR20140074182A (en) 2014-06-17

Similar Documents

Publication Publication Date Title
US9430494B2 (en) Spatial data cartridge for event processing systems
US10733055B1 (en) Methods and apparatus related to graph transformation and synchronization
US8392465B2 (en) Dependency graphs for multiple domains
US9466027B2 (en) Using ontologies to comprehend regular expressions
KR101707369B1 (en) Construction method and device for event repository
CN109445834A (en) The quick comparative approach of program code similitude based on abstract syntax tree
KR20190060725A (en) SQL review methods, devices, servers, and storage media
CN110851209B (en) Data processing method and device, electronic equipment and storage medium
US9442718B1 (en) System for assisting in locating changes in source code version control system
CN110688544A (en) Method, device and storage medium for querying database
CN113204571B (en) SQL execution method and device related to write-in operation and storage medium
CN111008246A (en) Database log synchronization method and device, computer equipment and readable storage medium
CN112015722A (en) Database management method, data blood relationship analysis method and related device
CN106682210B (en) Log file query method and device
CN108008947B (en) Intelligent prompting method and device for programming statement, server and storage medium
US20190057122A1 (en) Systems and methods for data ingestion
KR101414171B1 (en) Method for Modeling Electronic Document and Electronic Apparatus thereof
US8200673B2 (en) System and method for on-demand indexing
KR101439346B1 (en) Complex Event Processing Apparatus for referring tables from an external Database
US9922080B2 (en) Query plan determination
US20140149419A1 (en) Complex event processing apparatus for referring to table within external database as external reference object
US11681721B2 (en) Systems and methods for spark lineage data capture
CN116185391A (en) Application programming interface generation method, device, equipment and storage medium
US20130103636A1 (en) Rule correlation to rules input attributes according to disparate distribution analysis
CN110058858B (en) JSON data processing method and device

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180831

Year of fee payment: 5