KR20130033708A - Event processing method using hierarchical structure and event processing engine and system thereof - Google Patents
Event processing method using hierarchical structure and event processing engine and system thereof Download PDFInfo
- Publication number
- KR20130033708A KR20130033708A KR1020110097550A KR20110097550A KR20130033708A KR 20130033708 A KR20130033708 A KR 20130033708A KR 1020110097550 A KR1020110097550 A KR 1020110097550A KR 20110097550 A KR20110097550 A KR 20110097550A KR 20130033708 A KR20130033708 A KR 20130033708A
- Authority
- KR
- South Korea
- Prior art keywords
- event
- data
- processing
- definition
- event processing
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Multimedia (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
Description
본 출원은 이벤트 처리 기술에 관한 것으로, 보다 상세하게는, 계층 구조를 이용한 이벤트 처리 방법 및 그를 이용한 이벤트 처리 엔진 및 그 시스템에 관한 것이다.The present invention relates to an event processing technique, and more particularly, to an event processing method using a hierarchical structure and an event processing engine using the same and a system thereof.
이벤트 처리는 전산 시스템의 효율성 및 성능에 주요한 영향을 미치는 주요 기술 요소로서 다양하게 개발되고 있다. Event processing is being developed variously as a major technical factor that has a major influence on the efficiency and performance of the computer system.
종래의 이벤트 처리 방식의 일 예를 크게 다음과 같은 단계를 거쳐 수행된다.An example of a conventional event processing method is largely performed through the following steps.
(i) 비즈니스 이벤트에 대하여 실행 이벤트를 정의하고, (ii) 소스 데이터에서 이벤트가 발생하면, 룰 연산을 통하여 조건을 판단한 후, (iii) 실행 이벤트에 해당하면 비즈니스 이벤트로서 소정의 이벤트 처리를 수행한다.(i) define an execution event for the business event, (ii) determine the condition through rule operation if an event occurs in the source data, and (iii) perform a predetermined event processing as a business event if the event corresponds to an execution event. do.
그러나, 이러한 종래기술은 다음과 같은 문제점이 있다. 이벤트 처리 시, 룰 연산 정의가 한번으로 한정되어 있어 룰에 대하여 다양한 액션을 수행하기 위해서는 동일한 기능의 다른 액션으로 이벤트를 새로 만들어야 하므로, 필요 시스템 비용이 증대되는 문제가 있다. 또한, 이벤트 처리 과정 중 연산 과정에서 생성된 중간 연산값을 활용하지 못하고, 중간 연산이 필요한 경우 별도로 지표라는 구성요소를 정의하여 데이터베이스에 저장하고 이를 조회하여야하므로, 데이터베이스 억세스에 따른 시스템 성능 저하가 발생하는 문제가 있다. 이러한 문제들로 인하여, 실시간 대량으로 발생하는 데이터 처리가 실질적으로 어려워, 대규모의 복합 이벤트 처리가 수행되지 못하는 문제점이 있다.However, this prior art has the following problems. Since the rule operation definition is limited to one at the time of event processing, in order to perform various actions with respect to the rule, it is necessary to newly create an event with another action having the same function. In addition, if the intermediate operation value generated during the operation process is not utilized during the event processing, and the intermediate operation is required, the component called the indicator is defined and stored in the database, so that the system performance degradation due to the database access occurs There is a problem. Due to these problems, data processing occurring in real time in real time is practically difficult, and a large-scale complex event processing can not be performed.
본 출원은 기업의 다양한 시스템으로부터 발생하는 대용량의 트랜잭션(transaction)에 대하여 효율적으로 유의미한 복합이벤트를 처리할 수 있는 이벤트 처리 기술을 제공하고자 한다.The present application is to provide an event processing technology that can efficiently process a significant complex event for a large amount of transactions (transaction) generated from various systems of the enterprise.
또한, 본 출원은 이벤트 정의 구조를 표준화하여 컴포넌트의 추가로 유연하게 이벤트 정의를 재구성할 수 있는 이벤트 처리 기술을 제공하고자 한다.In addition, the present application is to provide an event processing technology that can be reconfigured event definition with the addition of components by standardizing the event definition structure.
또한, 본 출원은 분기 처리를 이용하여 하나의 이벤트에 대하여 하나의 룰로 복수의 액션을 처리할 수 있는 이벤트 처리 기술을 제공하고자 한다.In addition, the present application is to provide an event processing technique that can process a plurality of actions with one rule for one event using branch processing.
또한, 본 출원은 스트림 처리 기능을 더 구비하여, 이전에 발생한 필터 등의 오브젝트 및 그 연산 결과를 재사용할 수 있는 이벤트 처리 기술을 제공하고자 한다.In addition, the present application is further provided with a stream processing function, to provide an event processing technology that can reuse the object, such as a filter that occurred previously, and its operation result.
또한, 본 출원은 이벤트 컨텍스트 전달을 통해, 이벤트 처리과정에서 발생한 중간 연산결과를 재사용할 수 있는 이벤트 처리 기술을 제공하고자 한다.In addition, the present application aims to provide an event processing technique capable of reusing the intermediate calculation result generated in event processing through event context transfer.
실시예들 중에서, 이벤트 처리 엔진은 입력 데이터에 대하여 이벤트 처리를 수행한다. 상기 이벤트 처리 엔진은 이벤트 정의 모듈 및 이벤트 프로세스 엔진을 포함한다. 상기 이벤트 정의 모듈은 상기 이벤트에 대하여 적어도 하나의 이벤트 오브젝트 및 컨텐츠에 대한 순차적 구조이고, 상기 적어도 하나의 이벤트 오브젝트는 해당 이벤트에 상응하는 소스 데이터인지 여부를 판단하는 필터 오브젝트를 상기 순차적 구조의 루트로서 포함하고 상기 컨텐츠는 상기 순차적 구조의 말단으로 포함되는 추상 이벤트 정의를 생성한다. 상기 이벤트 프로세스 엔진은 상기 입력 데이터에 대하여 상기 추상 이벤트 정의에 해당하는 데이터인지 필터링하고, 만일 해당하면 상기 입력 데이터를 상기 추상 이벤트 정의의 순차적 구조에 따라 순차적으로 처리하며, 상기 처리한 결과 상기 추상 이벤트 정의 구조를 만족하면 해당 추상 이벤트의 컨텐츠에 따라 처리하도록 한다.Among the embodiments, the event processing engine performs event processing on the input data. The event processing engine includes an event definition module and an event process engine. Wherein the event definition module is a sequential structure for at least one event object and content for the event and the at least one event object is a source of data corresponding to the event, And generates an abstract event definition including the content as an end of the sequential structure. Wherein the event processing engine processes the input data according to a sequential structure of the abstract event definition, if the data corresponds to the abstract event definition, If the definition structure is satisfied, process it according to the content of the abstract event.
일 실시예에서, 상기 순차적 구조는 비순환 방향성 그래프 구조 또는 종료 조건을 포함하는 순환 방향성 그래프 구조로서 정의될 수 있다.In one embodiment, the sequential structure may be defined as a cyclic directional graph structure or a cyclic directional graph structure including a termination condition.
일 실시예에서, 상기 적어도 하나의 이벤트 오브젝트는 상기 순차적 구조에서 분기점을 정의하여 상기 추상 이벤트 정의가 복수의 컨텐츠를 포함하도록 하는 컨디션 오브젝트를 포함할 수 있다.In at least one example embodiment, the at least one event object may include a condition object that defines a branch point in the sequential structure such that the abstract event definition includes a plurality of contents.
일 실시예에서, 상기 적어도 하나의 이벤트 오브젝트는 상기 필터 오브젝트의 인스턴스로서 상기 필터링된 데이터를 메모리에 저장하고 조회하며, 다른 이벤트 오브젝트가 상기 저장된 필터 오브젝트의 인스턴스를 직접적으로 조회할 수 있도록 하는 필터 스트림 뷰 오브젝트를 포함할 수 있다.In one embodiment, the at least one event object stores and references the filtered data as an instance of the filter object in memory, and a filter stream that allows another event object to directly query an instance of the stored filter object You can include view objects.
일 실시예에서, 상기 적어도 하나의 이벤트 오브젝트는 상기 순차적 구조에서 상기 생성된 데이터에 대하여 미리 정의된 특정 함수를 수행하여 특정 결과를 생성하고, 상기 생성된 특정 결과가 특정 조건을 만족시키는지 여부를 검토하는 컨디션 함수 오브젝트를 포함할 수 있다.In one embodiment, the at least one event object performs a predefined specific function on the generated data in the sequential structure to generate a specific result, and whether the generated specific result satisfies a specific condition. It can contain a condition function object to review.
일 실시예에서, 상기 적어도 하나의 이벤트 오브젝트는 상기 순차적 구조에서 외부의 데이터베이스를 참조하여 검색 결과를 가져오는 데이터베이스 참조 오브젝트를 포함할 수 있다.In at least one example embodiment, the at least one event object may include a database reference object for obtaining a search result by referring to an external database in the sequential structure.
일 실시예에서, 상기 이벤트 처리 엔진은 상기 필터 오브젝트에 대하여 상기 필터 스트림 뷰 오브젝트에 해당하는 데이터가 요구되면 해당 데이터를 세팅하는 전처리 엔진을 더 포함할 수 있다.In one embodiment, the event processing engine may further include a preprocessing engine for setting the corresponding data to the filter object when data corresponding to the filter stream view object is requested.
실시예들 중에서, 이벤트 정의 구조는 적어도 하나의 이벤트 오브젝트 및 컨텐츠에 대한 순차적 구조로서, 상기 적어도 하나의 이벤트 오브젝트는 해당 이벤트에 상응하는 소스 데이터인지 여부를 판단하는 필터 오브젝트를 상기 순차적 구조의 루트로서 포함하고, 상기 컨텐츠는 상기 순차적 구조의 말단으로 포함된다.Among the embodiments, the event definition structure is a sequential structure for at least one event object and contents, and the at least one event object is a source of data corresponding to the event, as a route of the sequential structure And the content is included as an end of the sequential structure.
일 실시예에서, 상기 이벤트 정의 구조는 특정 조건 판단을 위한 컨디션 오브젝트를 더 포함하고, 상기 컨디션 오브젝트는 상기 조건 판단에 따라 상기 순차적 구조의 분기점을 형성할 수 있다.In an exemplary embodiment, the event definition structure may further include a condition object for determining a specific condition, and the condition object may form a branch point of the sequential structure according to the condition determination.
일 실시예에서, 상기 이벤트 정의 구조는 상기 분기점에 따라 분기된 각각에 대하여 서로 상이한 컨텐츠를 포함할 수 있다.In one embodiment, the event definition structure may include contents different from each other for each branching according to the branch point.
실시예들 중에서, 이벤트 처리 시스템은 정의된 이벤트 정의 구조를 이용하여 소스 데이터에 대한 이벤트 처리를 수행한다. 상기 이벤트 정의 구조는 적어도 하나의 이벤트 오브젝트 및 컨텐츠에 대한 순차적 구조로서, 상기 적어도 하나의 이벤트 오브젝트는 해당 이벤트에 상응하는 소스 데이터인지 여부를 판단하는 필터 오브젝트를 상기 순차적 구조의 루트로서 포함하고, 상기 컨텐츠는 상기 순차적 구조의 말단으로 포함한다. 상기 이벤트 처리 시스템은 이벤트 센서부 및 이벤트 처리 엔진을 포함한다. 상기 이벤트 센서부는 상기 소스 데이터에 대하여 상기 이벤트 정의 구조와 상응하는 데이터인지 매핑한다. 상기 이벤트 처리 엔진은 상기 이벤트 센서부에서 제공된 입력 데이터에 대하여 상기 추상 이벤트 정의에 해당하는 데이터인지 필터링하고, 만일 해당하면 상기 입력 데이터를 상기 추상 이벤트 정의의 순차적 구조에 따라 순차적으로 처리하며, 상기 처리한 결과 상기 추상 이벤트 정의 구조를 만족하면 해당 추상 이벤트의 컨텐츠에 따라 처리하도록 한다.Among the embodiments, the event processing system performs event processing on the source data using the defined event definition structure. Wherein the event definition structure is a sequential structure for at least one event object and content, the at least one event object includes a filter object for determining whether the source data corresponds to the event, as the root of the sequential structure, Content is included at the end of the sequential structure. The event processing system includes an event sensor unit and an event processing engine. The event sensor unit maps the source data to data corresponding to the event definition structure. Wherein the event processing engine processes the input data provided by the event sensor unit to determine whether the data corresponds to the abstract event definition and if so, sequentially processes the input data according to the sequential structure of the abstract event definition, As a result, if the abstract event definition structure is satisfied, it is processed according to the content of the abstract event.
일 실시예에서, 상기 순차적 구조는 비순환 방향성 그래프 구조 또는 종료 조건을 포함하는 순환 방향성 그래프 구조로서 정의될 수 있다.In one embodiment, the sequential structure may be defined as a cyclic directional graph structure or a cyclic directional graph structure including a termination condition.
일 실시예에서, 상기 이벤트 처리 시스템은 상기 이벤트 처리 엔진에서 구성된 이벤트 처리 결과를 상기 이벤트 정의 구조에 따라 전달하는 이벤트 액션부를 더 포함할 수 있다.In one embodiment, the event processing system may further include an event action unit for delivering the event processing result configured in the event processing engine according to the event definition structure.
일 실시예에서, 상기 이벤트 처리 엔진은 상기 이벤트 정의 구조에 따라 추상 이벤트 정의를 생성하는 이벤트 정의 모듈 및 상기 입력 데이터에 대하여 상기 이벤트 정의 구조에 해당하는 데이터인지 필터링하고, 만일 해당하면 상기 입력 데이터를 상기 이벤트 정의 구조에 따라 순차적으로 처리하며, 상기 순차적인 처리를 모두 만족하면 해당 추상 이벤트의 컨텐츠에 따라 처리하도록 하는 이벤트 프로세스 엔진을 포함할 수 있다.In one embodiment, the event processing engine may include an event definition module for generating an abstract event definition according to the event definition structure, and data corresponding to the event definition structure for the input data, And an event process engine that processes the events sequentially according to the event definition structure, and processes the events according to contents of the abstract events when the sequential processes are satisfied.
실시예들 중에서, 이벤트 처리 방법은 (a) 수신된 소스 데이터와 기 정의된 이벤트 구조를 매핑하는 단계, (b) 상기 이벤트 정의 구조의 구성요소들에 대한 처리 순서를 구성하여 처리 프로세스를 생성하는 단계, (c) 상기 수신된 소스 데이터에 대하여 필터링하여 이벤트 처리를 시작하는 단계, (d) 상기 생성된 프로세스에 따라 해당 이벤트 오프젝트 프로세서에 작업을 할당하는 단계 및 (e) 상기 할당된 작업이 성공적으로 이루어지면, 상기 이벤트 정의 구조에 포함된 컨텐츠에 따라 전달 내용을 구성하는 단계를 포함한다.Among the embodiments, an event processing method includes the steps of: (a) mapping received source data and a predefined event structure; (b) constructing a processing sequence for the elements of the event definition structure to generate a processing process (C) filtering the received source data to start event processing; (d) assigning a job to a corresponding event object processor according to the generated process; and (e) And configuring the delivery contents according to the contents included in the event definition structure if it is successfully performed.
일 실시예에서, 상기 이벤트 처리 방법은 상기 소스 데이터에 대하여 필터 인스턴스에 대한 필터 스트림 뷰에 해당하는 데이터가 요구되면, 해당 데이터를 세팅하는 전처리 단계를 더 포함할 수 있다.In one embodiment, the event processing method may further include a preprocessing step of, when data corresponding to the filter stream view for the filter instance is requested for the source data, setting the corresponding data.
일 실시예에서, 상기 (c) 단계는 이벤트 인스턴스의 데이터 셋으로서, 이벤트에 포함된 이벤트 오브젝트(EventObject)에서 사용되는 입출력 데이터 정보를 포함하는 이벤트 컨택스트를 생성하는 단계를 포함할 수 있다.In an embodiment, the step (c) may include generating an event context including input / output data information used in an event object included in an event as a data set of an event instance.
일 실시예에서, 상기 (e) 단계는 상기 이벤트 처리 과정 중 발생하는 중간 연산 결과를 포함하여 상기 전달 내용을 구성하는 단계를 포함할 수 있다.In one embodiment, the step (e) may comprise the step of configuring the delivery content including the intermediate operation results generated during the event processing.
본 출원의 개시된 기술에 따르면, 이벤트 정의를 위한 이벤트 오브젝트에 대하여 독립성을 보장할 수 있으며, 또한 계층적이고 순차적인 정의 구조를 사용할 수 있어 하나의 이벤트에 대하여도 복수의 처리가 가능한 효과가 있다.According to the disclosed technology of the present application, independence of an event object for event definition can be guaranteed, and a hierarchical and sequential definition structure can be used, so that a plurality of processes can be processed for one event.
또한, 본 출원의 개시된 기술에 따르면, 이벤트 처리과정에서 생성되는 중간 연산 값을 다시 활용할 수 있으므로, 이벤트 판단 및 전달 결과에 의미있는 데이터 추출이 가능한 효과가 있다.In addition, according to the disclosed technology of the present application, since the intermediate operation value generated in the event processing process can be utilized again, there is an effect that can extract meaningful data in the event determination and delivery results.
또한, 본 출원의 개시된 기술에 따르면,기존에 DB에 저장하고 조회하던 데이터들을 메모리 상에 저장하고 조회하도록 변경함으로써 성능을 개선할 수 있는 효과가 있다.In addition, according to the disclosed technology of the present application, there is an effect that can improve the performance by changing to store and retrieve the data that was previously stored in the DB in the memory.
또한, 본 출원의 개시된 기술에 따르면, 이벤트 정의 및 처리에 대한 API를 제공함으로써 API기반으로 경량화되고 타 시스템과의 이식성이 높아지는 효과가 있다.In addition, according to the disclosed technology of the present application, providing an API for event definition and processing has the effect of making it lightweight based on API and increasing portability with other systems.
도 1은 개시된 기술에 따른 복합 이벤트 처리 시스템의 일 실시예를 설명하기 위한 참고도이다.
도 2는 개시된 기술에 따른 이벤트 구성의 일 실시예를 설명하기 위한 참고도이다.
도 3은 개시된 기술에 따른 이벤트 정의의 일 실시예를 설명하기 위한 참고도이다.
도 4는 개시된 기술에 따른 이벤트 처리 프로세스의 일 실시예를 설명하기 위한 흐름도이다.
도 5는 개시된 기술에 따른 복합 이벤트 처리 시스템에서 수행되는 이벤트 처리의 일 실시예를 설명하기 위한 참고도이다.
도 6은 도 5의 이벤트를 종래 기술에 따라 처리하는 일 실시예를 설명하기 위한 참고도이다.
도 7은 개시된 기술에 따른 복합 이벤트 처리 시스템에서 수행되는 이벤트 처리의 다른 일 실시예를 설명하기 위한 참고도이다.
도 8은 개시된 기술에 따른 복합 이벤트 처리 시스템에서 수행되는 이벤트 처리의 다른 일 실시예를 설명하기 위한 참고도이다.
도 9는 도 8의 이벤트를 종래 기술에 따라 처리하는 일 실시예를 설명하기 위한 참고도이다.
도 10은 개시된 기술에 따른 복합 이벤트 처리 시스템에서 수행되는 이벤트 처리의 다른 일 실시예를 설명하기 위한 참고도이다.
도 11는 도 10의 이벤트를 종래 기술에 따라 처리하는 일 실시예를 설명하기 위한 참고도이다.1 is a reference diagram for explaining an embodiment of a complex event processing system according to the disclosed technology.
2 is a reference diagram for explaining an embodiment of an event configuration according to the disclosed technology.
3 is a reference diagram for explaining an embodiment of an event definition according to the disclosed technology.
4 is a flow diagram illustrating one embodiment of an event processing process in accordance with the disclosed technology.
5 is a reference diagram for explaining an embodiment of event processing performed in a complex event processing system according to the disclosed technology.
FIG. 6 is a reference diagram for explaining an embodiment of processing the event of FIG. 5 according to the related art.
7 is a reference diagram for explaining another embodiment of event processing performed in a complex event processing system according to the disclosed technology.
8 is a reference diagram for explaining another embodiment of event processing performed in a complex event processing system according to the disclosed technology.
9 is a reference diagram for explaining an embodiment of processing the event of FIG. 8 according to the related art.
10 is a reference diagram for explaining another embodiment of event processing performed in a complex event processing system according to the disclosed technology.
FIG. 11 is a reference diagram for explaining an embodiment of processing the event of FIG. 10 according to the related art.
개시된 기술에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 개시된 기술의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 개시된 기술의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다.The description of the disclosed technique is merely an example for structural or functional explanation and the scope of the disclosed technology should not be construed as being limited by the embodiments described in the text. That is, the embodiments may be variously modified and may have various forms, and thus the scope of the disclosed technology should be understood to include equivalents capable of realizing the technical idea.
한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.Meanwhile, the meaning of the terms described in the present application should be understood as follows.
"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.The terms "first "," second ", and the like are intended to distinguish one element from another, and the scope of the right should not be limited by these terms. For example, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component.
어떤 구성요소가 다른 구성요소에 "연결되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.It is to be understood that when an element is referred to as being "connected" to another element, it may be directly connected to the other element, but there may be other elements in between. On the other hand, when an element is referred to as being "directly connected" to another element, it should be understood that there are no other elements in between. On the other hand, other expressions describing the relationship between the components, such as "between" and "immediately between" or "neighboring to" and "directly neighboring to", should be interpreted as well.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다"또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.It should be understood that the singular " include "or" have "are to be construed as including a stated feature, number, step, operation, component, It is to be understood that the combination is intended to specify that it does not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.
각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.In each step, the identification code (e.g., a, b, c, etc.) is used for convenience of explanation, the identification code does not describe the order of each step, Unless otherwise stated, it may occur differently from the stated order. That is, each step may occur in the same order as described, may be performed substantially concurrently, or may be performed in reverse order.
여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 개시된 기술이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.All terms used herein have the same meaning as commonly understood by one of ordinary skill in the art unless otherwise defined. Commonly used predefined terms should be interpreted to be consistent with the meanings in the context of the related art and can not be interpreted as having ideal or overly formal meaning unless explicitly defined in the present application.
표 1은 개시된 기술에 따른 복합 이벤트를 설명하는 참고도이다.Table 1 is a reference diagram illustrating composite events in accordance with the disclosed technology.
개시된 기술에서, EVENT는 비즈니스적으로 의미를 가지는 이벤트를 말하여, 이벤트를 처리를 위해 정의하는 최종 단위를 의미한다. In the disclosed technology, EVENT refers to an event that has a business meaning, and means a final unit that defines an event for processing.
추상 이벤트 요소(AbstractEventElement)는 개념적으로 이벤트의 구성 요소 정의를 위한 오브젝트를 말하며 이벤트와 1:1 관계를 가진다. 추상 이벤트 요소(AbstractEventElement)는 다수의 이벤트 오브젝트(EventObject)와 컨텐츠(Contents)로 구성될 수 있다. An abstract event element (AbstractEventElement) is an object for conceptual definition of an event component and has a one-to-one relationship with an event. An abstract event element (AbstractEventElement) can be composed of a number of event objects (EventObject) and contents (Contents).
이벤트 오브젝트(EventObject)는 이벤트의 구성요소가 될 수 있다. 이벤트 오브젝트(EventObject)들은 개별적으로 각각 정의하여 컴포넌트화 할 수 있다. 이렇게 생성된 이벤트 오브젝트(EventObject)들은 이벤트의 구성요소로 추가하여 사용될 수 있다. An event object (EventObject) can be a component of an event. EventObjects can be defined and componentized individually. The event objects generated in this way can be used in addition to the components of the event.
이벤트 오브젝트(EventObject)의 종류는 다음과 같이 있다. The types of event objects are as follows.
필터(Filter)는 이벤트가 트리거링(triggering)되는 이벤트 처리의 시작점을 나타내는 오브젝트이다. 필터(Filter)는 데이터 소스 시스템으로부터 수신되는 외부 원천 데이터를 정의할 수 있다.A filter is an object representing the starting point of event processing in which an event is triggered. A filter may define external source data received from a data source system.
필터 스트림 뷰(FilterStreamView)는 필터(Filter)의 실제 발생한 데이터 인스턴스(Filter instance)를 메모리에 저장하고 조회하는 오브젝트이다. 일 실시예에서, 필터 스트림 뷰(FilterStreamView)는 (PREVIOUS_VALUE, 직전값), (AVERAGE, 평균값), (SUM, 합계), (COUNT, 개수), (MAX, 최대값) 및 (MIN, 최소값) 중 적어도 하나에 대하여 연산 결과를 조회할 수 있다.A filter stream view (FilterStreamView) is an object that stores and queries the actual data instance (Filter instance) of the filter in memory. In one embodiment, the filter stream view (FilterStreamView) has a value of (PREVIOUS_VALUE, previous value), (AVERAGE, average value), (SUM, sum), (COUNT, The calculation result can be inquired for at least one.
데이터베이스 참조 오브젝트(DB Reference)는 외부 DB를 참조하여 필요한 데이트를 정의하기 위한 오브젝트이다. 데이터베이스 참조 오브젝트(DB Reference)는 DB connection 명으로 해당 DB에 접속하여 쿼리를 수행하여 결과를 조회할 수 있다.A database reference object (DB Reference) is an object for defining necessary data by referring to an external DB. A database reference object (DB Reference) can be accessed by executing a query by accessing the DB under a DB connection name.
컨디션(Condition)은 조건 판단을 위한 룰 연산을 정의한다. 또한 컨디션(Condition)은 연산 결과에 대하여 True/False 판단을 할 수 있다. 예를 들어, True일 경우 다음 프로세스를 진행하고 False일 경우 수행을 종료하도록 할 수 있다.Condition defines rule operations for condition determination. In addition, the condition may determine True / False on the operation result. For example, if it is True, you can proceed to the next process and if it is False, you can end it.
개시된 기술은 이벤트에 대하여 다수의 조건으로 분기가 필요한 경우, 이벤트 오브젝트(EventObject)에 컨디션(Condition)을 추가하여 정의함으로써 조건에 따른 분기를 설정할 수 있다.The disclosed technique can define a branch according to a condition by adding a condition to an event object (EventObject) when a branch is required under a plurality of conditions for the event.
컨디션 함수 오브젝트(ConditionFunction)는 이벤트 처리 전반에 걸쳐 사용 가능한 수식/논리/사용자 정의 함수 기능을 제공하는 연산 컴포넌트이다.Condition Function Object (ConditionFunction) is an operation component that provides expression, logic, and user-defined function functions that can be used throughout event processing.
컨디션 함수 스트림 뷰(ConditionFunctionStreamView)는 컨디션 함수 오브젝트(ConditionFunction)에 의하여 발생한 데이터 인스턴스를 메모리에 저장하고 조회하는 오브젝트이다. 일 실시예에서, 컨디션 함수 스트림 뷰(ConditionFunctionStreamView)는 (PREVIOUS_VALUE, 직전값), (AVERAGE, 평균값), (SUM, 합계), (COUNT, 개수), (MAX, 최대값) 및 (MIN, 최소값) 중 적어도 하나에 대한 연산 결과를 조회할 수 있다.The condition function stream view (ConditionFunctionStreamView) is an object storing and inquiring a data instance generated by a condition function object (ConditionFunction) in a memory. In one embodiment, the ConditionFunctionStreamView has a value of (PREVIOUS_VALUE, previous value), (AVERAGE, average value), (SUM, SUM), (COUNT, The result of the operation on at least one of them can be inquired.
컨텐츠(Contents)는 특정 이벤트에 해당할 경우, 전달할 내용 및 대상 등을 정의한다. 예를 들어, 최종 이벤트 판단 후 True일 경우, 컨텐츠(Contents)는 해당 이벤트에 상응하는 결과 동작, 예컨대, 특정 내용을 전달하거나 또는 특정 대상을 결정하는 등을 정의할 수 있다.Contents define contents and targets to be delivered when corresponding to a specific event. For example, if True after determining the final event, Contents may define a result action corresponding to the corresponding event, for example, delivering specific content or determining a specific target.
캐시 매니저(CacheManager)는 이벤트 처리에 필요한 데이터를 메모리에 저장하고 공유할 수 있도록 데이터를 임시 저장할 수 있다.The cache manager may temporarily store data to store and share data necessary for event processing in memory.
매퍼(Mapper)는 데이터 소스(Data Source)에서 수신된 데이터를 필터(Filter)와 맵핑할 수 있다.The mapper may map data received from the data source with a filter.
이벤트 컨택스트(EventContext)는 이벤트 처리를 위한 이벤트 인스턴스의 데이터 셋이다. 이벤트 컨택스트(EventContext)는 이벤트 처리요청에 1:1로 생성되며 이벤트 내의 이벤트 오브젝트(EventObject)에서 사용되는 입출력 데이터 정보를 포함할 수 있다.An event context is an event set for event handling. An event context is generated 1: 1 in an event processing request and may include input / output data information used in an event object in an event.
도 1은 개시된 기술에 따른 복합 이벤트 처리 시스템의 일 실시예를 설명하기 위한 참고도이다.1 is a reference diagram for explaining an embodiment of a complex event processing system according to the disclosed technology.
도 1을 참조하면, 복합 이벤트 처리 시스템(100)은 이벤트 센서부(Sensor)(110), 이벤트 처리 엔진(CEP: Complex Event Processing)(120) 및 이벤트 액션부(Action)(130)를 포함한다. 일 실시예에서, 복합 이벤트 처리 시스템(100)은 이벤트 모니터부(Monitor)(140) 또는 이벤트 통제부(Admin)(150)를 더 포함할 수 있다.Referring to FIG. 1, the complex event processing system 100 includes an
이벤트 센서부(110)는 데이터 소스 시스템에서 데이터가 발생되면, 이를 센싱하여 이벤트로 감지할 수 있다. 이벤트 센서부(110)는 센싱된 소스 데이터를 이벤트 처리 엔진(120)에 제공할 수 있다. When data is generated in the data source system, the
일 실시예에서, 이벤트 센서부(110)는 센싱 API(111) 및 매핑부(Mapper)(112)를 포함할 수 있다. 센싱 API(111)는 소스 데이터를 이벤트로 판정하기 위하여 필요한 이벤트 정의 및 그 처리를 위한 API를 제공할 수 있다. 외부에서는 센싱 API(111)로 접근(호출)하여 이벤트를 정의하거나 정의된 이벤트를 처리할 수 있다. 센싱 API(111)는 수신된 데이터를 매핑부(112)에 제공할 수 있다. 매핑부(112)는 수신된 데이터를 기 정의된 이벤트와 매핑한 후, 이를 이벤트 처리 엔진(120)에 제공할 수 있다.In one embodiment, the
일 실시예에서, 이벤트 센서부(110)는 수신한 소스 데이터에 대하여, 이벤트 타당성 점검, 이벤트 형식 변환, 에러처리 및 이벤트 소스와의 통신 모니터링 중 적어도 하나의 기능을 수행할 수 있다. 타당성 점검(Event Validation)은 이벤트 원천으로부터 수집한 데이터의 유효성을 검증하기 위한 소정의 작업을 수행하는 것이다. 이벤트 형식 변환(Event Formatter)은 복합이벤트인 경우 단순이벤트들 간의 연관관계(correlation)를 정의하기 위한 사전정의를 수행하는 것이다. 에러 처리(Error Processing)는 이벤트 큐에 저장할 원천 데이터의 오류를 검사하여 특정 폴더에 로깅(logging) 작업을 수행하는 것이고, 통신 모니터링(Status Monitoring)은 이벤트 소스와 이벤트 큐 사이의 통신상태를 점검하고 모니터링 하는 것을 의미한다.In an embodiment, the
일 실시예에서, 이벤트 센서부(110)는 소스 데이터의 수집에 있어서 실시간 또는 주기적 추출 방식을 사용할 수 있다. 예를 들어, 이벤트 센서부(110)는 에이전트(Agent) 감시에 의한 실시간 추출방식, 폴더감시를 통한 주기적 추출방식, Open API(Application Programming Interface)를 이용한 실시간 서버(Event Queue) 전송방식 또는 JMS(Java Message Service)를 이용한 실시간 서버 전송 방식 중 적어도 하나 또는 이들을 결합하여 사용할 수 있다.In one embodiment, the
이벤트 처리 엔진(CEP)(120)는 이벤트 센서부(110)에서 수집한 데이터를 정의된 내용에 따라서 이벤트를 처리하고 액션플랜을 생성할 수 있다. 이벤트 처리 엔진(CEP)(120)는 이벤트 처리 시스템의 핵심 엔진부로써 이벤트 처리를 위한 프로세서로 구성될 수 있다.The event processing engine (CEP) 120 may process an event and generate an action plan based on the data collected by the
이벤트 처리 엔진(CEP)(120)는 전처리 엔진(Pre Processor Engine)(121), 이벤트 프로세서 엔진(EventObject Processor Engine)(122) 및 컨텐츠 프로세서(Contents Processor)(123)을 포함할 수 있다. 일 실시예에서, 이벤트 처리 엔진(CEP)(120)는 이벤트 정의 모듈(미도시) 또는 캐시 매니저(Cache Manager)(124)를 더 포함할 수 있다.The event processing engine (CEP) 120 may include a
전처리 엔진(Pre Processor Engine)(121)은 이벤트 정의에 따라 이벤트 처리를 위한 선처리 작업을 수행할 수 있다.The
이벤트 프로세서 엔진(EventObject Processor Engine)(122)은 전처리 엔진(121)에서 구성한 이벤트 처리 프로세스에 따라 각 프로세스를 기동하여 처리할 수 있다.The
일 실시예에서, 이벤트 프로세서 엔진(EventObject Processor Engine)(122)은 이벤트 처리 프로세스를 수행함에 있어서, 각 이벤트 오브젝트마다 별도 구성된 프로세서를 구비하여 이벤트 처리를 수행할 수 있다. 예를 들어, 이벤트 프로세서 엔진(EventObject Processor Engine)(122)가 선처리 작업된 데이터에 대하여 소정의 필터링을 수행할 수도 있지만, 도시된 예와 같이 필터 프로세서(Filter Processor)를 구비하여 필터 작업을 전담시킬 수 있다.In one embodiment, in performing the event processing process, the
이러한 일 실시예에서, 이벤트 프로세서 엔진(EventObject Processor Engine)(122)은 이벤트 오브젝트를 식별하고, 특정 이벤트 오브젝트에 해당하면 그에 상응하는 프로세서에 작업을 할당할 수 있다. 이를 위하여, 이벤트 프로세서 엔진(EventObject Processor Engine)(122)은 필터 스트림 뷰 프로세서(FilterStreamView Processor), 데이터베이스 참조 프로세서(DBReference Processor), 컨디션 함수 프로세서(ConditionFunction Processor), 컨디션 함수 뷰 프로세서(ConditionFunctionView Processor), 컨디션 프로세서(Condition Processor)를 포함할 수 있다. In one such embodiment, the
컨텐츠 프로세서(Contents Processor)(123)는 이벤트 처리의 마지막 단계로 이벤트 사후 처리를 위한 내용을 포함할 수 있다.The
이벤트 정의 모듈은 추상 이벤트 요소(AbstractEventElement)에 따라 이벤트의 구성요소를 정의할 수 있다. 전술한 바와 같이, 추상 이벤트 요소(AbstractEventElement)는 적어도 하나의 이벤트 오브젝트(EventObject) 및 그에 대한 컨텐츠(Contents)로 구성되며 순차 구조로 구성될 수 있다. 이벤트 정의 모듈은 사용자의 입력 또는 요청정보를 기초로 해당 시스템에서 적용될 수 있는 비즈니스 이벤트를 정의할 수 있다. 이벤트 정의 모듈은 정의된 이벤트에 대한 이벤트 정의 메타 정보를 생성할 수 있다.The event definition module may define components of an event according to an abstract event element. As described above, the abstract event element (AbstractEventElement) is composed of at least one event object (EventObject) and its contents (Contents) and may be configured in a sequential structure. The event definition module may define a business event that can be applied in a corresponding system based on user input or request information. The event definition module may generate event definition meta information about the defined event.
캐시 매니저(Cache Manager)(124) 이벤트 프로세서 엔진(EventObject Processor Engine)(122)과 연동하여 이벤트 처리에 필요한 캐시 메모리를 제공할 수 있다.The
이벤트 액션부(Action)(130)는 컨텐츠 프로세서(Contents Processor)(123)에서 구성한 이벤트 처리 결과를 이벤트 정의에 따라 전달할 수 있다. 예를 들어, 이벤트 별로 정의된 전달 방법에 따라, SMS, E-mail, DB Insert 등의 방법으로 해당 내용을 전달할 수 있다.The
이벤트 모니터부(Monitor)(140)는 복합이벤트 처리시스템에서 발생하는 다양한 상황의 실시간 모니터링,이벤트 모니터링, 센서 모니터링, 큐모니터링, 처리현황모니터링 등의 기능을 수행할 수 있다.The
이벤트 통제부(Admin)(150)는 이벤트 프로세서 실행에 필요한 정보를 관리하는 기능을 담당한다. 사용자 또는 역할 관리, 이벤트 엔진 실행 또는 중지, 시스템 환경변수 관리 등의 기능을 수행할 수 있다.The
도 2는 개시된 기술에 따른 이벤트 구성의 일 실시예를 설명하기 위한 참고도이고, 도 3은 개시된 기술에 따른 이벤트 정의의 일 실시예를 설명하기 위한 참고도이다.2 is a reference diagram for explaining an embodiment of an event configuration according to the disclosed technology, and FIG. 3 is a reference diagram for explaining an embodiment of an event definition according to the disclosed technology.
도 2 및 도 3을 참조하여, 이벤트 구성 및 정의에 대하여 설명한다. 개시된 기술에서, 이벤트는 비즈니스적으로 의미가 있는 이벤트를 의미하며, 이벤트 정의는 이벤트로 감지할 내용을 이벤트 구성요소로 설계하고 구성요소를 조합하여 정의할 수 있다. 이벤트 처리는 기 정의된 이벤트 구성요소의 순서에 따라 필요한 데이터를 바탕으로 연산을 수행하는 작업을 거치면서 이루어질 수 있다. With reference to Figs. 2 and 3, the event configuration and definition will be described. In the disclosed technology, an event refers to an event that has a business meaning, and an event definition may design content to be detected as an event as an event component and define a combination of components. Event processing may be performed while performing operations based on necessary data in the order of predefined event elements.
도 2에 도시된 바와 같이, 이벤트는 추상 이벤트 요소(AEE : Abstract Event Element)를 포함하여 구성될 수 있으며, 도 3에 도시된 바와 같이, 이벤트는 Composite 패턴이 적용된 다수의 이벤트 요소(Event Element)를 포함하는 계층구조로서 정의될 수 있다. 개시된 계층 구조는 이벤트 구성요소의 순서를 구성할 수 있다. 일 실시예에서, 이벤트는 비순환 방향성 그래프 구조 또는 종료 조건을 포함하는 순환 방향성 그래프 구조로서 정의될 있다.As illustrated in FIG. 2, an event may include an abstract event element (AEE). As illustrated in FIG. 3, an event may include a plurality of event elements to which a composite pattern is applied. It may be defined as a hierarchy including a. The disclosed hierarchy may constitute an order of event components. In one embodiment, the event may be defined as a circular directional graph structure that includes an acyclic directional graph structure or an end condition.
예를 들어, 이벤트는 필터(Filter, F)로 시작하여 컨텐츠(Contents, CT)로 종료되는 계층구조로서 정의될 수 있다. 필터와 컨텐츠 사이에는 이벤트 오브젝트(Event Object, EO) 또는 컨디션(Condition, CD)가 적어도 하나 이상 추가될 수 있다. 이벤트 오브젝트(Event Object, EO)로는 전술한 FilterStreamView, DB Reference, ConditionFunction, ConditionFunctionStreamView가 있을 수 있다. 컨디션(Condition, CD)도 이벤트 오브젝트(Event Object, EO)의 하나로서 추가될 수 있으며, 컨디션(Condition, CD)은 해당 조건의 True/False 판단 결과에 따라 처리 흐름을 변경(즉, 분기 등을 수행함)할 수 있다.For example, an event may be defined as a hierarchy starting with a filter (F) and ending with content (CT). At least one event object (EO) or condition (CD) may be added between the filter and the content. The event object EO may include the above-described FilterStreamView, DB Reference, ConditionFunction, ConditionFunctionStreamView. Condition (CD) can also be added as one of the Event Object (EO), and Condition (CD) changes the processing flow according to the True / False judgment result of the condition (i.e. branching, etc.). Can be performed).
도 4는 개시된 기술에 따른 이벤트 처리 프로세스의 일 실시예를 설명하기 위한 흐름도이다. 도 4에 도시된 바와 같이, 개시된 기술에 따른 이벤트 처리는 Visitor 패턴으로 계층적 이벤트 정의 구조를 순서대로 방문하며 수행될 수 있다.4 is a flow diagram illustrating one embodiment of an event processing process in accordance with the disclosed technology. As shown in FIG. 4, event processing according to the disclosed technique may be performed by visiting a hierarchical event definition structure in a Visitor pattern in order.
소스 시스템에서 데이터가 발생하면, 이벤트 센서부(110)는 소스 데이터에 대하여 이벤트 처리를 수행하여 이벤트 처리 엔진(CEP)(120)에 제공할 수 있다. 이벤트 처리 엔진(CEP)(120)는 일련의 절차를 수행하여 이벤트로서 판단하였을 때 TRUE로 판단되면, 정의된 액션을 수행하도록 이벤트 액션부(Action)(130)에 요청할 수 있다.When data occurs in the source system, the
더 상세히 설명하면, 매핑부(112)는 수신된 소스 데이터와 필터(Filter)에 정의된 데이터를 매핑할 수 있다(Mapper Processing). 매핑한 결과, 정의된 데이터에 해당하면, 이벤트에 해당할 수 있으므로 이를 이벤트 처리 엔진(CEP)(120)에 제공할 수 있다(S410). In more detail, the
전처리 엔진(Pre Processor Engine)(121)은 제공받은 소스 데이터에 해당하는 필터(Filter) 인스턴스에 대하여 필터 스트림 뷰(FilterStreamView) 인스턴스가 존재하는 경우, 그에 따라 데이터 세팅 작업을 수행할 수 있다(S420).If a filter stream view instance exists for a filter instance corresponding to the provided source data, the
이벤트 프로세서 엔진(EventObject Processor Engine)(122)은 입력 데이터에 대하여 이벤트 컨택스트(EventContext)를 생성할 수 있다(S430). 여기에서, 이벤트 컨택스트(EventContext)란 이벤트 처리를 위한 이벤트 인스턴스의 데이터 셋으로, 각 이벤트와 1:1로 생성된다. 이벤트 컨택스트(EventContext)는 이벤트에 포함된 이벤트 오브젝트(EventObject)에서 사용되는 입출력 데이터 정보를 포함할 수 있다.The
이벤트 프로세서 엔진(EventObject Processor Engine)(122)은 해당 이벤트에 대하여 처리해야 할 프로세스를 생성할 수 있다(S440). 즉, 이벤트 프로세서 엔진(EventObject Processor Engine)(122)은 이벤트 정의 메타 정보에서 이벤트 정의 구성요소들에 대한 처리 순서를 구성함으로써, 처리 프로세스를 생성할 수 있다.The
이벤트 프로세서 엔진(EventObject Processor Engine)(122)은 Filter 정의 정보에 따라 수신된 입력 데이터를 매핑 처리하고 이벤트를 시작하는 처리를 수행한다(S450).The
이벤트 프로세서 엔진(EventObject Processor Engine)(122)은 단계 S440에서 생성된 프로세스대로 각 이벤트 오브젝트 프로세서(Event Object Processor)에 작업을 할당하여 처리한다 (S460). 이벤트 오브젝트 프로세서(Event Object Processor)로는 도 1에서 전술한 바와 같이, FilterStreamView Processor, DBReference Processor, ConditionFunction Processor, ConditionFunctionView Processor, Condition Processor가 있을 수 있으며, 이러한 각각의 프로세서들은 이벤트 오브젝트(Event Object)를 처리하는 작업을 수행할 수 있다.The
컨텐츠 프로세서(Contents Processor)(123)는 이벤트 정의에 따라 전달 내용을 구성할 수 있다(S470). 컨텐츠에는 입력 데이터뿐만 아니라 이벤트 처리 과정 중 발생하는 중간 연산 결과도 포함할 수 있다. The
이벤트 액션부(Action)(130)는 단계 S470에서 구성된 내용을 이벤트 정의시 정의한 전달 방법에 따라 전달하는 처리를 수행한다(S480). 여기에서, 전달 방법으로는 SMS, E-mail, DB Insert 등 다양한 방법으로 수행될 수 있다.The
도 5는 개시된 기술에 따른 복합 이벤트 처리 시스템에서 수행되는 이벤트 처리의 일 실시예를 설명하기 위한 참고도이고, 도 6은 도 5의 이벤트를 종래 기술에 따라 처리하는 일 실시예를 설명하기 위한 참고도이다.5 is a reference diagram for explaining an embodiment of event processing performed in a complex event processing system according to the disclosed technology, and FIG. 6 is a reference for explaining an embodiment of processing the event of FIG. 5 according to the related art. It is also.
도 5 및 도 6에 개시된 일 실시예는 측정 기기 내부 온도가 100도 이상이면 이벤트로서 감지하는 예를 도시하고 있다.5 and 6 illustrate an example of sensing as an event when the internal temperature of the measuring device is 100 degrees or more.
도 5를 참조하면, 개시된 기술에 따른 복합 이벤트 처리 시스템(100)은 Filter, ConditionFucntion을 포함하여 이벤트 오브젝트(EventObject)를 조합하고, 그에 대한 컨텐츠(Contents)를 포함하는 계층구조로서 이벤트를 구성할 수 있다. Referring to FIG. 5, the complex event processing system 100 according to the disclosed technology may combine an event object, including a Filter and a ConditionFucntion, and configure an event as a hierarchical structure including contents thereof. have.
더 상세히 설명하면, 복합 이벤트 처리 시스템(100)은 필터링(즉, 측정기기로부터 수신된 해당 측정기기의 내부 온도만을 필터링)을 수행하여 본 이벤트에 해당함을 확인하고(Filter), 측정된 내부온도 값이 정의된 조건(100도)에 부합하는지 룰을 적용할 수 있다(CF). 만약, 100도를 초과하면, True에 해당하므로 해당 이벤트에 대한 컨텐츠(Contents)에 따라 그 처리 결과를 전달할 수 있다.In more detail, the complex event processing system 100 performs filtering (i.e., filters only the internal temperature of the corresponding measuring device received from the measuring device) to confirm that the event corresponds to the present event (Filter), and measures the measured internal temperature value. The rule can be applied to meet the defined condition (100 degrees) (CF). If it exceeds 100 degrees, since it corresponds to True, the processing result can be delivered according to the contents of the corresponding event.
도 6을 참조하면, 본 실시예에서는 종래 기술에서도 유사하게 동작함을 알 수 있다. 즉, 이벤트 소스를 기초로 내부온도 측정 정보를 초기 이벤트로서 구성하고, 이를 기초로 실행타입을 구성한다. 이후, 룰(조건)을 적용하여 이에 해당하면 이후의 액션 플랜을 수행할 수 있다.Referring to Figure 6, it can be seen that this embodiment operates similarly in the prior art. That is, the internal temperature measurement information is configured as an initial event based on the event source, and the execution type is configured based on this. Subsequently, a rule (condition) may be applied to perform a subsequent action plan.
본 실시예는 분기 없이 단순 처리가 요구되는 이벤트로서, 종래기술과 개시된 기술에 따른 이벤트 처리 과정이 서로 상응함을 알 수 있다. This embodiment is an event requiring simple processing without branching, and it can be seen that the event processing procedures according to the prior art and the disclosed technology correspond to each other.
도 7은 개시된 기술에 따른 복합 이벤트 처리 시스템에서 수행되는 이벤트 처리의 다른 일 실시예를 설명하기 위한 참고도이다.7 is a reference diagram for explaining another embodiment of event processing performed in a complex event processing system according to the disclosed technology.
도 7에 개시된 일 실시예는 측정 기기 내부 온도를 측정하여 현재값과 이전값의 차가 30이상이면 이벤트로서 감지하는 예를 도시하고 있다.7 shows an example of measuring the internal temperature of a measuring instrument and detecting an event as a difference if the difference between the current value and the previous value is 30 or more.
도 7을 참조하면, 복합 이벤트 처리 시스템(100)은 Filter, FilterStreamView(FSV), ConditionFucntion(CF)을 포함하여 이벤트 오브젝트(EventObject)를 조합하고, 그에 대한 컨텐츠(Contents)를 포함하는 계층구조로서 이벤트를 구성할 수 있다. Referring to FIG. 7, the complex event processing system 100 combines an event object, including a Filter, a FilterStreamView (FSV), and a ConditionFucntion (CF), and includes an event for the event as a hierarchical structure including contents thereof. Can be configured.
더 상세히 설명하면, 복합 이벤트 처리 시스템(100)은 측정기기가 보낸 내부온도에 대한 정보인지 필터링을 수행하고(Filter), 현재 측정 이전에 마지막으로 측정했던 내부 온도값을 스트림(stream)에서 조회할 수 있다(FSV). 복합 이벤트 처리 시스템(100)은 현재 측정값과 이전 측정값의 차이값이 정의된 조건보다 큰지 확인하고(CF), 그에 해당하면 해당 이벤트에 대한 컨텐츠(Contents)에 따라 그 처리 결과를 전달할 수 있다.In more detail, the complex event processing system 100 may perform information filtering or filtering on the internal temperature sent by the measuring device, and may query the stream for the internal temperature value that was last measured before the current measurement (FSV). The complex event processing system 100 may check whether the difference between the current measured value and the previous measured value is greater than a defined condition (CF), and if so, deliver the processing result according to the contents of the corresponding event. .
도 7에 도시된 일 실시예에서는, 이전에 처리된 중간 처리값(중간값)을 활용할 수 있는 실시예로서, 종래 기술에서는 중간값을 사용할 수 없는 구조이므로, 이러한 실시예를 처리할 수 없다. In the embodiment illustrated in FIG. 7, an embodiment in which a previously processed intermediate processing value (middle value) may be utilized, and since the intermediate value cannot be used in the prior art, such an embodiment cannot be processed.
도 8은 개시된 기술에 따른 복합 이벤트 처리 시스템에서 수행되는 이벤트 처리의 다른 일 실시예를 설명하기 위한 참고도이고, 도 9는 도 8의 이벤트를 종래 기술에 따라 처리하는 일 실시예를 설명하기 위한 참고도이다.FIG. 8 is a diagram illustrating another embodiment of event processing performed in a complex event processing system according to the disclosed technology, and FIG. 9 is a diagram for describing an embodiment of processing the event of FIG. 8 according to the related art. See also.
도 8 및 도 9에 개시된 일 실시예는 측정 기기 내부 온도를 측정하여 현재온도가 100보다 크고, 최근 1시간 동안 2회이상 발생한 경우 이벤트로서 감지하는 예를 도시하고 있다.8 and 9 illustrate an example in which the internal temperature of the measuring device is measured and sensed as an event when the current temperature is greater than 100 and occurred more than once in the last hour.
도 8을 참조하면, 복합 이벤트 처리 시스템(100)은 Filter, 2개의 ConditionFucntion(CF) 및 ConditionFunctionStreamView(CFSV)를 포함하여 이벤트 오브젝트(EventObject)를 조합하고, 그에 대한 컨텐츠(Contents)를 포함하는 계층구조로서 이벤트를 구성할 수 있다. Referring to FIG. 8, the complex event processing system 100 combines an event object, including a Filter, two ConditionFucntion (CF), and a ConditionFunctionStreamView (CFSV), and includes a hierarchy including contents thereof. You can configure events as
더 상세히 설명하면, 복합 이벤트 처리 시스템(100)은 측정기기가 보낸 내부온도에 대한 정보인지 필터링을 수행하고(Filter), 현재 발생한 내부온도 값이 조건(100도)에 부합하는지 판단한다(CF1). 복합 이벤트 처리 시스템(100)은 최근 1시간 동안 조건1(CF1)을 만족했던 횟수를 스트림에서 조회하고(CFSV), 그 조회한 값이 기준 횟수(2회)를 초과하는 지 판단하여(CF2), 그에 따라 이벤트 처리 결과를 전달할 수 있다(Contents).In more detail, the complex event processing system 100 performs filtering to determine whether the internal temperature sent by the measuring device is information (Filter), and determines whether the current internal temperature value corresponds to the condition (100 degrees) (CF1). The complex event processing system 100 inquires in the stream the number of times that the condition 1 (CF1) has been satisfied in the last hour (CFSV), and determines whether the inquired value exceeds the reference number (two times) (CF2). Eventually, the event processing result can be delivered (Contents).
도 9에 도시된 경우 종래 기술에서는, 연결 이벤트를 이용하여 2개의 이벤트를 정의해야 함을 알 수 있다. 즉, 종래 기술에서는 계층적 이벤트 구조를 사용할 수 없어 2가지 조건을 판단하기 위해서는 2개의 서로 다른 이벤트를 구성한 뒤 이를 상호 연결하여 동작시켜야 함을 알 수 있다. 이러한 종래기술은 단계가 복잡해지고 어려워지는 문제점이 있다.In the prior art illustrated in FIG. 9, it can be seen that two events should be defined using a connection event. That is, in the prior art, it is not possible to use a hierarchical event structure, and thus, in order to determine two conditions, two different events must be configured and then interconnected and operated. This prior art has a problem that the steps are complicated and difficult.
도 10은 개시된 기술에 따른 복합 이벤트 처리 시스템에서 수행되는 이벤트 처리의 다른 일 실시예를 설명하기 위한 참고도이고, 도 11는 도 10의 이벤트를 종래 기술에 따라 처리하는 일 실시예를 설명하기 위한 참고도이다.FIG. 10 is a diagram illustrating another embodiment of event processing performed in a complex event processing system according to the disclosed technology. FIG. 11 is a diagram for describing an embodiment of processing the event of FIG. 10 according to the related art. See also.
도 10 및 도 11에 개시된 일 실시예는 측정 기기 내부 온도를 측정하여 구간의 레벨의 범위(구간레벨 High (80<=온도<100), 구간레벨: Normal (60<=온도<80))에 포함되면 구간 레벨을 전달해주는 이벤트를 도시하고 있다.10 and 11, the internal temperature of the measuring device is measured to measure a range of levels of a section (section level High (80 <= temperature <100) and section level: Normal (60 <= temperature <80)). When included, the event delivers the interval level.
도 10을 참조하면, 복합 이벤트 처리 시스템(100)은 Filter, 2개의 컨디션(Condition) 및 각각의 Condition 에 대한 컨텐츠(Contents)를 포함하는 분기형 계층구조로서 이벤트를 구성할 수 있다. Referring to FIG. 10, the complex event processing system 100 may configure an event as a branched hierarchical structure including a filter, two conditions, and contents for each condition.
더 상세히 설명하면, 복합 이벤트 처리 시스템(100)은 측정기기가 보낸 내부온도에 대한 정보인지 필터링을 수행하고(Filter), 이를 각각 컨디션 1(Condition 1)과 컨디션 2(Condition 2)에 제공할 수 있다. 각 컨디션(Condition)들은 수신한 내부 온도 값이 해당 구간에 조건에 부합하는 지 판단하고, 그에 따라 각각 이벤트 처리 결과를 전달할 수 있다(Contents1, 2).In more detail, the complex event processing system 100 may filter whether information on the internal temperature sent by the measuring device is filtered, and may provide it to Condition 1 and Condition 2, respectively. . Each condition may determine whether the received internal temperature value satisfies a condition in the corresponding section, and may transmit the event processing result accordingly (Contents 1 and 2).
도 11에 도시된 종래 기술의 경우, 2개의 이벤트를 별도로 정의하여 처리함을 알 수 있다. 즉, 종래 기술에서는 동일한 내용에 대하여 구간 레벨 조건만 서로 상이한 2개의 이벤트를 각각 정의하고 이들을 각각 판단하여야만 하는 것을 알 수 있다. 이러한 종래기술은 이벤트의 개수가 많아져야 하고, 따라서 정의 단계가 많아져 성능이 저하되는 문제점이 있다.In the case of the prior art shown in FIG. 11, it can be seen that two events are separately defined and processed. That is, in the prior art, it is understood that two events different only in the section level condition with respect to the same contents are defined and judged respectively. This conventional technique has a problem in that the number of events must be increased, and therefore, the number of definition steps increases and the performance deteriorates.
상기에서는 본 출원의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 출원의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 출원을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.It will be apparent to those skilled in the art that various modifications and variations can be made to the present invention without departing from the spirit and scope of the present invention as set forth in the following claims It can be understood that
Claims (18)
상기 이벤트에 대하여 적어도 하나의 이벤트 오브젝트 및 컨텐츠에 대한 순차적 구조이고, 상기 적어도 하나의 이벤트 오브젝트는 해당 이벤트에 상응하는 소스 데이터인지 여부를 판단하는 필터 오브젝트를 상기 순차적 구조의 루트로서 포함하고 상기 컨텐츠는 상기 순차적 구조의 말단으로 포함되는 추상 이벤트 정의를 생성하는 이벤트 정의 모듈; 및
상기 입력 데이터에 대하여 상기 추상 이벤트 정의에 해당하는 데이터인지 필터링하고, 만일 해당하면 상기 입력 데이터를 상기 추상 이벤트 정의의 순차적 구조에 따라 순차적으로 처리하며, 상기 처리한 결과 상기 추상 이벤트 정의 구조를 만족하면 해당 추상 이벤트의 컨텐츠에 따라 처리하도록 하는 이벤트 프로세스 엔진을 포함하는 이벤트 처리 엔진.
An event processing engine for performing event processing on input data,
The event is a sequential structure for at least one event object and content, and the at least one event object includes a filter object for determining whether the source data corresponding to the event is the root of the sequential structure, and the content is An event definition module for generating an abstract event definition included at the end of the sequential structure; And
And if the input data is data corresponding to the abstract event definition, processing the input data sequentially according to the sequential structure of the abstract event definition, if the input data satisfies the abstract event definition structure as a result of the processing And an event processing engine for processing the contents of the abstract event according to the content of the abstract event.
비순환 방향성 그래프 구조 또는 종료 조건을 포함하는 순환 방향성 그래프 구조로서 정의되는 것을 특징으로 하는 이벤트 처리 엔진.
The method of claim 1, wherein the sequential structure
A circular directional graph structure or a circular directional graph structure including an end condition.
상기 순차적 구조에서 분기점을 정의하여 상기 추상 이벤트 정의가 복수의 컨텐츠를 포함하도록 하는 컨디션 오브젝트를 포함하는 것을 특징으로 하는 이벤트 처리 엔진.
The method of claim 2, wherein the at least one event object
And a condition object for defining a branch point in the sequential structure so that the abstract event definition includes a plurality of contents.
상기 필터 오브젝트의 인스턴스로서 상기 필터링된 데이터를 메모리에 저장하고 조회하며, 다른 이벤트 오브젝트가 상기 저장된 필터 오브젝트의 인스턴스를 직접적으로 조회할 수 있도록 하는 필터 스트림 뷰 오브젝트를 포함하는 것을 특징으로 하는 이벤트 처리 엔진.
The method of claim 2, wherein the at least one event object
An event processing engine comprising: a filter stream view object for storing and querying the filtered data in memory as an instance of the filter object, and allowing other event objects to directly query the instance of the stored filter object; .
상기 순차적 구조에서 상기 생성된 데이터에 대하여 미리 정의된 특정 함수를 수행하여 특정 결과를 생성하고, 상기 생성된 특정 결과가 특정 조건을 만족시키는지 여부를 검토하는 컨디션 함수 오브젝트를 포함하는 것을 특징으로 하는 이벤트 처리 엔진.
The method of claim 2, wherein the at least one event object
And a condition function object for performing a predetermined function defined on the generated data in the sequential structure to generate a specific result and examining whether or not the generated specific result satisfies a specific condition Event processing engine.
상기 순차적 구조에서 외부의 데이터베이스를 참조하여 검색 결과를 가져오는 데이터베이스 참조 오브젝트를 포함하는 것을 특징으로 하는 이벤트 처리 엔진.
The method of claim 2, wherein the at least one event object
And a database reference object for referring to an external database in the sequential structure to obtain a search result.
상기 필터 오브젝트에 대하여 상기 필터 스트림 뷰 오브젝트에 해당하는 데이터가 요구되면 해당 데이터를 세팅하는 전처리 엔진을 더 포함하는 것을 특징으로 하는 이벤트 처리 엔진.
5. The method of claim 4, wherein the event processing engine
Further comprising a preprocessing engine for setting the corresponding data to the filter object when data corresponding to the filter stream view object is requested.
A sequential structure for at least one event object and content, wherein the at least one event object includes a filter object that determines whether source data corresponding to the event is the root of the sequential structure, and the content is the sequential structure Event definition structure included at the end of.
특정 조건 판단을 위한 컨디션 오브젝트를 더 포함하고, 상기 컨디션 오브젝트는 상기 조건 판단에 따라 상기 순차적 구조의 분기점을 형성하는 것을 특징으로 하는 이벤트 정의 구조.
9. The method of claim 8, wherein the event definition structure
And a condition object for determining a specific condition, wherein the condition object forms a branch point of the sequential structure according to the condition determination.
상기 분기점에 따라 분기된 각각에 대하여 서로 상이한 컨텐츠를 포함하는 것을 특징으로 하는 이벤트 정의 구조.
10. The method of claim 9, wherein the event definition structure
And different contents for each branched according to the branch point.
상기 이벤트 정의 구조는 적어도 하나의 이벤트 오브젝트 및 컨텐츠에 대한 순차적 구조로서, 상기 적어도 하나의 이벤트 오브젝트는 해당 이벤트에 상응하는 소스 데이터인지 여부를 판단하는 필터 오브젝트를 상기 순차적 구조의 루트로서 포함하고, 상기 컨텐츠는 상기 순차적 구조의 말단으로 포함되고,
상기 소스 데이터에 대하여 상기 이벤트 정의 구조와 상응하는 데이터인지 매핑하는 이벤트 센서부; 및
상기 이벤트 센서부에서 제공된 입력 데이터가 상기 이벤트 정의 구조에 해당하는 데이터이면, 상기 입력 데이터를 상기 이벤트 정의 구조에 따라 순차적으로 처리하는 이벤트 처리 엔진을 포함하는 이벤트 처리 시스템.
In the event processing system that performs event processing on the source data using the defined event definition structure,
The event definition structure is a sequential structure for at least one event object and content, and the at least one event object includes a filter object for determining whether source data corresponding to the corresponding event is a root of the sequential structure. Content is included at the end of the sequential structure,
An event sensor for mapping the source data to data corresponding to the event definition structure; And
And an event processing engine that sequentially processes the input data according to the event definition structure when the input data provided by the event sensor unit corresponds to the event definition structure.
비순환 방향성 그래프 구조 또는 종료 조건을 포함하는 순환 방향성 그래프 구조로서 정의되는 것을 특징으로 하는 이벤트 처리 시스템.
12. The method of claim 11, wherein the sequential structure
And a circular directional graph structure including an acyclic directional graph structure or an end condition.
상기 이벤트 처리 엔진에서 구성된 이벤트 처리 결과를 상기 이벤트 정의 구조에 따라 전달하는 이벤트 액션부를 더 포함하는 것을 특징으로 하는 이벤트 처리 시스템.
The system of claim 11, wherein the event processing system is
And an event action unit configured to deliver an event processing result configured in the event processing engine according to the event definition structure.
상기 이벤트 정의 구조에 따라 추상 이벤트 정의를 생성하는 이벤트 정의 모듈; 및
상기 입력 데이터에 대하여 상기 이벤트 정의 구조에 해당하는 데이터인지 필터링하고, 만일 해당하면 상기 입력 데이터를 상기 이벤트 정의 구조에 따라 순차적으로 처리하며, 상기 순차적인 처리를 모두 만족하면 해당 추상 이벤트의 컨텐츠에 따라 처리하도록 하는 이벤트 프로세스 엔진을 포함하는 것을 특징으로 하는 이벤트 처리 시스템.
The method of claim 11, wherein the event processing engine
An event definition module for generating an abstract event definition according to the event definition structure; And
The input data is processed according to the event definition structure, and if it is determined that the input data corresponds to the event definition structure, the input data is sequentially processed according to the event definition structure. If all the sequential processes are satisfied, The event processing system comprising:
(b) 상기 이벤트 정의 구조의 구성요소들에 대한 처리 순서를 구성하여 처리 프로세스를 생성하는 단계;
(c) 상기 수신된 소스 데이터에 대하여 필터링하여 이벤트 처리를 시작하는 단계;
(d) 상기 생성된 프로세스에 따라 해당 이벤트 오프젝트 프로세서에 작업을 할당하는 단계 및
(e) 상기 할당된 작업이 성공적으로 이루어지면, 상기 이벤트 정의 구조에 포함된 컨텐츠에 따라 전달 내용을 구성하는 단계를 포함하는 이벤트 처리 방법.
(a) mapping the received source data with a predefined event structure;
(b) creating a processing process by constructing a processing order for the components of the event definition structure;
(c) filtering the received source data to start event processing;
(d) assigning a job to the corresponding event object processor according to the generated process; and
(e) if the assigned task is successful, constructing delivery content according to content included in the event definition structure.
상기 소스 데이터에 대하여 필터 인스턴스에 대한 필터 스트림 뷰에 해당하는 데이터가 요구되면, 해당 데이터를 세팅하는 전처리 단계를 더 포함하는 것을 특징으로 하는 이벤트 처리 방법.
The method of claim 15, wherein the event processing method is
And when data corresponding to the filter stream view for the filter instance is requested for the source data, setting the corresponding data.
이벤트 인스턴스의 데이터 셋으로서, 이벤트에 포함된 이벤트 오브젝트(EventObject)에서 사용되는 입출력 데이터 정보를 포함하는 이벤트 컨택스트를 생성하는 단계를 포함하는 것을 특징으로 하는 이벤트 처리 방법.
The method of claim 15, wherein step (c)
A data set of an event instance, comprising: generating an event context including input / output data information used in an event object included in the event.
상기 이벤트 처리 과정 중 발생하는 중간 연산 결과를 포함하여 상기 전달 내용을 구성하는 단계를 포함하는 것을 특징으로 하는 이벤트 처리 방법.The method of claim 15, wherein step (e)
And configuring the delivery contents including an intermediate operation result generated during the event processing process.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110097550A KR101411266B1 (en) | 2011-09-27 | 2011-09-27 | Event processing method using hierarchical structure and event processing engine and system thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110097550A KR101411266B1 (en) | 2011-09-27 | 2011-09-27 | Event processing method using hierarchical structure and event processing engine and system thereof |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020130103459A Division KR101461821B1 (en) | 2013-08-29 | 2013-08-29 | Event processing method using hierarchical structure and system performing the same |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20130033708A true KR20130033708A (en) | 2013-04-04 |
KR101411266B1 KR101411266B1 (en) | 2014-06-25 |
Family
ID=48436030
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020110097550A KR101411266B1 (en) | 2011-09-27 | 2011-09-27 | Event processing method using hierarchical structure and event processing engine and system thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101411266B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3082315A1 (en) * | 2015-04-18 | 2016-10-19 | Urban Software Institute GmbH | Computer system and method for message routing |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6675163B1 (en) * | 2000-04-06 | 2004-01-06 | International Business Machines Corporation | Full match (FM) search algorithm implementation for a network processor |
-
2011
- 2011-09-27 KR KR1020110097550A patent/KR101411266B1/en active IP Right Grant
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3082315A1 (en) * | 2015-04-18 | 2016-10-19 | Urban Software Institute GmbH | Computer system and method for message routing |
US10270647B2 (en) | 2015-04-18 | 2019-04-23 | Urban Software Institute GmbH | Computer system and method for message routing |
US11108625B2 (en) | 2015-04-18 | 2021-08-31 | Urban Software Institute GmbH | Computer system and method for message routing |
Also Published As
Publication number | Publication date |
---|---|
KR101411266B1 (en) | 2014-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019195121A1 (en) | Digital worker management system | |
CN102043682B (en) | Workflow exception handing method and system | |
EP3567496B1 (en) | Systems and methods for indexing and searching | |
US20140067804A1 (en) | Workflow generation server and method of generating workflow | |
CN104778032A (en) | Method and equipment used for carrying out continuous integration | |
CN107276851B (en) | Node abnormity detection method and device, network node and console | |
US9015731B2 (en) | Event handling system and method | |
CN113242157B (en) | Centralized data quality monitoring method under distributed processing environment | |
CN105989163A (en) | Data real-time processing method and system | |
CN110609740A (en) | Method and device for determining dependency relationship between tasks | |
CN103200027A (en) | Method, device and system for locating network failure | |
KR20150118963A (en) | Queue monitoring and visualization | |
CN111680104A (en) | Data synchronization method and device, computer equipment and readable storage medium | |
CN112148779A (en) | Method, device and storage medium for determining service index | |
CN112559525B (en) | Data checking system, method, device and server | |
CN108153654A (en) | A kind of log collecting method and device | |
US20130346908A1 (en) | Late instantiation of dependent objects | |
CN112015995A (en) | Data analysis method, device, equipment and storage medium | |
KR101411266B1 (en) | Event processing method using hierarchical structure and event processing engine and system thereof | |
CN116645082A (en) | System inspection method, device, equipment and storage medium | |
CN113641628B (en) | Data quality detection method, device, equipment and storage medium | |
KR101461821B1 (en) | Event processing method using hierarchical structure and system performing the same | |
CN115658478A (en) | Test case screening method and device, electronic equipment and storage medium | |
US9098613B2 (en) | Logging of application messages | |
CN105786865B (en) | Fault analysis method and device for retrieval system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
A107 | Divisional application of patent | ||
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: 20170403 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20180404 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20190401 Year of fee payment: 6 |