KR102028496B1 - 스트림 분석 장치 및 방법 - Google Patents

스트림 분석 장치 및 방법 Download PDF

Info

Publication number
KR102028496B1
KR102028496B1 KR1020160025717A KR20160025717A KR102028496B1 KR 102028496 B1 KR102028496 B1 KR 102028496B1 KR 1020160025717 A KR1020160025717 A KR 1020160025717A KR 20160025717 A KR20160025717 A KR 20160025717A KR 102028496 B1 KR102028496 B1 KR 102028496B1
Authority
KR
South Korea
Prior art keywords
stream
data
component
stream data
message queue
Prior art date
Application number
KR1020160025717A
Other languages
English (en)
Other versions
KR20170103218A (ko
Inventor
박경현
원희선
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020160025717A priority Critical patent/KR102028496B1/ko
Publication of KR20170103218A publication Critical patent/KR20170103218A/ko
Application granted granted Critical
Publication of KR102028496B1 publication Critical patent/KR102028496B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/168Details of user interfaces specifically adapted to file systems, e.g. browsing and visualisation, 2d or 3d GUIs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2219Large Object storage; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)

Abstract

본 발명의 일 측면에 따른 스트림 분석 장치는 하나 이상의 스트림 컴포넌트를 포함하는 스트림 처리 프레임워크, 사용자 인터페이스를 제공하고, 상기 사용자 인터페이스를 통해 상기 스트림 컴포넌트를 조합하는 입력을 받아 워크플로우 정보를 생성하는 사용자 인터페이스 제공부, 워크플로우 정보를 WDL(Workflow Description Language) 정보로 변환하는 WDL 생성기 및 상기 WDL 정보를 해석하여 상기 스트림 처리 프레임워크를 통해 스트림 데이터를 수집 및 분석하는 워크플로우 실행부를 포함한다.

Description

스트림 분석 장치 및 방법{APPARATUS AND METHOD FOR ANALYZING STREAM}
본 발명은 스트림 형태의 데이터를 분석하는 기술에 관한 것으로, 보다 상세하게는 컴포넌트를 조합한 워크플로우를 통해 스트림을 분석하는 기술에 관한 것이다.
빅데이터 분석 기술은 그 형태에 따라 배치 기반 분석 기술과 스트림 분석으로 기술로 구분할 수 있다. 배치 기반 분석 기술은 공지된 Woozie와 같은 워크플로우 도구를 통해 분석 서비스를 제공하는 기술이다.
컴포넌트를 조합하여 생성한 워크플로우는 WDL(Workflow Description Language)로 기술된다. 워크플로우 엔진은 WDL을 해석하고, 해석된 WDL에 따라 데이터 분석을 수행한다. 워크플로우 엔진은 사용자가 구성한 워크플로우를 실행 명령어로 변환한 후, 실행 명령어에 따른 작업을 실행한다. 워크플로우 엔진은 워크플로우에 따라 한 단계의 작업이 완료되면 하나의 프로세스를 종료하고, 다음 단계의 작업을 수행하는 순차적 프로세싱(sequential processing)을 수행한다. 따라서 컴포넌트를 이용하여 서비스를 구축하기 위해서는 컴포넌트 단위로 로직을 구성한 후 워크플로우 도구에 등록하여 사용해야 하고 각 컴포넌트는 독립적으로 실행 가능한 형태이어야 한다.
이와 같이 컴포넌트 조합을 통해 서비스를 구축하는 경우 배치 기반 분석은 가능하지만, 스트림 분석 서비스는 모든 단계의 프로세스가 동시에 실행되고 스트림 데이터가 들어올 때 마다 실시간으로 스트림 데이터를 처리하는 특성으로 인해 컴포넌트의 조합을 통해 제공되기 어렵다.
본 발명의 해결하고자 하는 과제는 컴포넌트를 조합한 워크플로우를 통해 스트림 분석을 처리하는 스트림 분석 장치 및 방법을 제공하는 것이다.
본 발명의 일 측면에 따르면, 하나 이상의 스트림 컴포넌트를 포함하는 스트림 처리 프레임워크; 사용자 인터페이스를 제공하고, 상기 사용자 인터페이스를 통해 상기 스트림 컴포넌트를 조합하는 입력을 받아 워크플로우 정보를 생성하는 사용자 인터페이스 제공부; 워크플로우 정보를 WDL(Workflow Description Language) 정보로 변환하는 WDL 생성기; 및 상기 WDL 정보를 해석하여 상기 스트림 처리 프레임워크를 통해 스트림 데이터를 수집 및 분석하는 워크플로우 실행부를 포함하는 스트림 분석 장치가 제공된다.
상기 스트림 컴포넌트는 하나 이상의 메시지 큐를 통해 타 스트림 컴포넌트로 스트림 데이터를 전송하거나, 타 스트림 컴포넌트로부터 스트림 데이터를 수신할 수 있다.
각 상기 스트림 컴포넌트는 수집 컴포넌트, 스트림 처리 컴포넌트, 복합 이벤트 처리 컴포넌트, 저장 컴포넌트 중 어느 하나에 해당할 수 있다.
상기 수집 컴포넌트는, 원격 데이터 소스로부터 상기 스트림 데이터를 수집하는 전송 에이전트; 상기 전송 에이전트로부터 상기 스트림 데이터를 수신하는 타겟 에이전트; 및 상기 스트림 데이터를 수신하여 상기 메시지 큐로 전송하는 출력 인터페이스;를 포함할 수 있다.
상기 타겟 에이전트는 상기 스트림 데이터에 대해 전처리 작업을 수행할 수 있다.
스트림 처리 컴포넌트는, 상기 메시지 큐 중 입력 메시지 큐로부터 상기 스트림 데이터를 수신하는 입력 인터페이스; 미리 설정된 패턴에 따라 상기 스트림 데이터를 분석하여 분석 데이터를 생성하는 데이터 분석부; 및 상기 분석 데이터를 상기 메시지 큐 중 출력 메시지 큐로 전송하는 출력 인터페이스를 포함할 수 있다.
상기 복합 이벤트 처리 컴포넌트는, 상기 메시지 큐 중 입력 메시지 큐로부터 상기 스트림 데이터를 수신하는 입력 인터페이스; 상기 스트림 데이터 중 미리 정의된 조건에 만족하는 스트림 데이터를 선별하는 복합 이벤트 검출부; 상기 미리 정의된 조건에 만족하는 스트림 데이터를 미리 지정된 패턴에 따라 분석하여 분석 데이터를 생성하는 데이터 분석부; 및 상기 분석 데이터를 상기 메시지 큐 중 출력 메시지 큐로 전송하는 출력 인터페이스를 포함할 수 있다.
상기 저장 컴포넌트는, 상기 메시지 큐 중 입력 메시지 큐로부터 상기 스트림 데이터를 수신하는 입력 인터페이스; 상기 스트림 데이터와 데이터베이스에 대응하는 스키마 매핑 정보를 저장하는 스키마 관리부; 및 상기 스키마 매핑 정보를 참조하여 상기 데이트베이스 상에 상기 스트림 데이터를 저장하는 저장 관리부;를 포함할 수 있다.
본 발명의 다른 측면에 따르면, 사용자로부터 하나 이상의 스트림 컴포넌트를 조합하는 입력을 받는 단계; 상기 스트림 컴포넌트를 조합하는 입력에 따라 워크플로우 정보를 생성하는 단계; 상기 워크플로우 정보를 WDL(Workflow Description Language) 정보로 변환하는 단계; 상기 WDL 정보를 해석하여 상기 스트림 컴포넌트를 포함하는 스트림 처리 프레임워크를 통해 스트림 데이터를 수집 및 분석하는 워크플로우 실행부를 포함하는 스트림 분석 방법이 제공된다.
상기 스트림 컴포넌트는 하나 이상의 메시지 큐를 통해 타 스트림 컴포넌트로 스트림 데이터를 전송하거나, 타 스트림 컴포넌트로부터 스트림 데이터를 수신할 수 있다.
각 상기 스트림 컴포넌트는 수집 컴포넌트, 스트림 처리 컴포넌트, 복합 이벤트 처리 컴포넌트, 저장 컴포넌트 중 어느 하나에 해당할 수 있다.
상기 수집 컴포넌트는, 원격 데이터 소스로부터 상기 스트림 데이터를 수집하는 전송 에이전트; 상기 전송 에이전트로부터 상기 스트림 데이터를 수신하는 타겟 에이전트; 및 상기 스트림 데이터를 수신하여 상기 메시지 큐로 전송하는 출력 인터페이스;를 포함할 수 있다.
상기 타겟 에이전트는 상기 스트림 데이터에 대해 전처리 작업을 수행할 수 있다.
스트림 처리 컴포넌트는, 상기 메시지 큐 중 입력 메시지 큐로부터 상기 스트림 데이터를 수신하는 입력 인터페이스; 미리 설정된 패턴에 따라 상기 스트림 데이터를 분석하여 분석 데이터를 생성하는 데이터 분석부; 및 상기 분석 데이터를 상기 메시지 큐 중 출력 메시지 큐로 전송하는 출력 인터페이스를 포함할 수 있다.
상기 복합 이벤트 처리 컴포넌트는, 상기 메시지 큐 중 입력 메시지 큐로부터 상기 스트림 데이터를 수신하는 입력 인터페이스; 상기 스트림 데이터 중 미리 정의된 조건에 만족하는 스트림 데이터를 선별하는 복합 이벤트 검출부; 상기 미리 정의된 조건에 만족하는 스트림 데이터를 미리 지정된 패턴에 따라 분석하여 분석 데이터를 생성하는 데이터 분석부; 및 상기 분석 데이터를 상기 메시지 큐 중 출력 메시지 큐로 전송하는 출력 인터페이스를 포함할 수 있다.
상기 저장 컴포넌트는, 상기 메시지 큐 중 입력 메시지 큐로부터 상기 스트림 데이터를 수신하는 입력 인터페이스; 상기 스트림 데이터와 데이터베이스에 대응하는 스키마 매핑 정보를 저장하는 스키마 관리부; 및 상기 스키마 매핑 정보를 참조하여 상기 데이트베이스 상에 상기 스트림 데이터를 저장하는 저장 관리부;를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 컴포넌트의 조합만을 통해 실시간 스트림 분석 서비스 구축이 가능하다.
또한, 본 발명의 일 실시예에 따르면, 컴포넌트의 조합 작업 이외 프로그램 코딩이 필요없기 때문에 서비스 도메인에 대한 지식이 없는 일반 사용자도 스트림 분석 서비스를 구축할 수 있다.
또한, 본 발명의 일 실시예에 따르면, 스트림 분석 서비스를 구성하는 컴포넌트가 독립적으로 작동하기 때문에, 각 컴포넌트의 변경 및 수정이 용이하다.
또한, 본 발명의 일 실시예에 따르면, 배치 분석을 목적으로 작성한 컴포넌트를 실시간 스트림 분석 서비스에 적용할 수 있다.
또한, 본 발명의 일 실시예에 따르면, 배치 분석을 목적으로 작성한 컴포넌트를 실시간 스트림 분석 서비스에 적용할 수 있다.
또한, 본 발명의 일 실시예에 따르면, 컴포넌트 간의 데이터 전송을 버퍼를 통해 수행하기 때문에 디스크로부터 스트림을 입력 받거나 디스크로 스트림을 출력하는 기존의 스트림 분석 서비스에 비해 높은 분석 속도를 가지는 스트림 분석 서비스를 제공할 수 있다.
도 1은 본 발명의 일 실시예에 따른 스트림 분석 장치를 예시한 블록도.
도 2는 본 발명의 일 실시예에 따른 스트림 분석 장치가 이용하는 수집 컴포넌트를 예시한 도면.
도 3은 본 발명의 일 실시예에 따른 스트림 분석 장치가 이용하는 스트림 처리 컴포넌트를 예시한 도면.
도 4는 본 발명의 일 실시예에 따른 스트림 분석 장치가 이용하는 복합 이벤트 처리 컴포넌트를 예시한 도면.
도 5는 본 발명의 일 실시예에 따른 스트림 분석 장치가 이용하는 저장 컴포넌트를 예시한 도면.
도 6은 본 발명의 일 실시예에 따른 스트림 분석 장치가 스트림을 분석하는 과정을 예시한 순서도.
도 7은 본 발명의 일 실시예에 따른 스트림 분석 장치가 구현된 컴퓨터 시스템을 예시한 도면.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 이를 상세한 설명을 통해 상세히 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 본 명세서의 설명 과정에서 이용되는 숫자(예를 들어, 제1, 제2 등)는 하나의 구성요소를 다른 구성요소와 구분하기 위한 식별기호에 불과하다.
또한, 본 명세서에서, 일 구성요소가 다른 구성요소와 "연결된다" 거나 "접속된다" 등으로 언급된 때에는, 상기 일 구성요소가 상기 다른 구성요소와 직접 연결되거나 또는 직접 접속될 수도 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 연결되거나 또는 접속될 수도 있다고 이해되어야 할 것이다.
이하, 본 발명의 실시예를 첨부한 도면들을 참조하여 상세히 설명하기로 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면 번호에 상관없이 동일한 수단에 대해서는 동일한 참조 번호를 사용하기로 한다.
도 1은 본 발명의 일 실시예에 따른 스트림 분석 장치를 예시한 블록도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 스트림 분석 장치는 사용자 인터페이스 제공부(110), WDL(Workflow Description Language) 생성기(120), 워크플로우 실행부(130), 배치 처리 프레임워크(140) 및 스트림 처리 프레임워크(150)를 포함한다.
사용자 인터페이스 제공부(110)는 사용자에게 통신망 또는 디스플레이를 통해 컴포넌트를 조합하는 입력인 컴포넌트 조합 입력을 받기 위한 사용자 인터페이스를 제공한다. 사용자 인터페이스 제공부(110)는 사용자 인터페이스를 통해 사용자가 입력한 컴포넌트 조합 입력에 따라 워크플로우를 나타내는 워크플로우 정보를 생성한다. 사용자 인터페이스 제공부(110)는 워크플로우 정보를 WDL 생성기(120)로 전송한다.
WDL 생성기(120)는 워크플로우 정보를 XML로 구성된 WDL의 형태로 변환한다. 이하 WDL 형태로 변환된 워크플로우 정보를 WDL 정보라 지칭하도록 한다. 따라서, 본 발명의 일 실시예에 따른 스트림 분석 장치는 워크플로우 정보를 코드의 순서에 영향을 받지 않는 XML 형태인 WDL로 변환함으로써 모든 컴포넌트가 실시간으로 스트림을 분석할 수 있도록 할 수 있다. WDL 생성기(120)는 WDL 정보를 워크플로우 실행부(130)로 전송한다.
워크플로우 실행부(130)는 WDL 정보를 해석하여 배치 처리 프레임워크 및 스트림 처리 프레임워크를 통해 스트림 분석 과정을 수행한다. 예를 들어, 워크플로우 실행부(130)는 WDL 정보에 따라 스트림 분석 과정을 수행하는 워크플로우 엔진일 수 있다.
배치 처리 프레임워크(140)는 배치 분석을 위한 컴포넌트(이하, 배치 컴포넌트라 지칭)를 포함하는 프레임워크이다.
스트림 처리 프레임워크(150)는 스트림 분석을 위한 컴포넌트(이하, 스트림 컴포넌트라 지칭)를 포함하는 프레임워크이다.
워크플로우 실행부(130)는 WDL 정보를 해석하여 배치 컴포넌트를 이용한 작업이 수행되어야 할 경우, 배치 처리 프레임워크(140)로 배치 컴포넌트에 따른 작업을 요청하는 명령을 보낼 수 있다. 또한, 워크플로우 실행부(130)는 WDL 정보를 해석하여 스트림 컴포넌트를 이용한 작업이 수행되어야 할 경우, 스트림 처리 프레임워크(150)로 스트림 컴포넌트에 따른 작업을 요청하는 명령을 보낼 수 있다.
이 때, 스트림 처리 프레임워크(150)가 포함하는 각 스트림 컴포넌트는 수집 컴포넌트, 스트림 처리 컴포넌트, 복합 이벤트 처리 컴포넌트, 저장 컴포넌트 중 어느 하나에 해당할 수 있다. 즉, WDL 정보에 따라 구성된 워크플로우는 수집 컴포넌트, 스트림 처리 컴포넌트, 복합 이벤트 처리 컴포넌트, 저장 컴포넌트 중 하나 이상을 이용하여 스트림 분석을 수행하는 워크플로우일 수 있다.
이하, 도 2 내지 도 5를 참조하여, 스트림 컴포넌트의 구조에 대해 상세히 설명하도록 한다.
도 2는 본 발명의 일 실시예에 따른 스트림 분석 장치가 이용하는 수집 컴포넌트를 예시한 도면이다.
도 2를 참조하면, 수집 컴포넌트(200)는 flume 기반의 수집 컴포넌트로써, 원격 데이터 소스로부터 데이터를 수집한다. 수집 컴포넌트(200)는 전송 에이전트(210), 타겟 에이전트(220), 출력 인터페이스(230)를 포함한다.
전송 에이전트(210)는 원격 데이터 소스에서 데이터를 수집하고, 타겟 에이전트로 수집한 데이터를 전송한다. 이 때, 전송 에이전트는 스풀링 디렉토리(spooling directory), 쓰리프트(thrift), 명령 실행(exec)등을 source 타입으로 지원하고 Avro를 sink 타입으로 지원하는 전송 에이전트일 수 있다.
타겟 에이전트(220)는 전송 에이전트(210)로부터 수신한 데이터를 출력 인터페이스(230)를 통해 출력 메시지 큐에 전송한다. 이 때, 출력 메시지 큐는 수집 컴포넌트에 대응하여 할당된 메모리 상의 메시지 큐일 수 있다. 또한, 타겟 에이전트는 수신한 데이터에 대한 전처리 작업을 수행하고, 전처리된 데이터를 출력 인터페이스(230)를 통해 출력 메시지 큐로 전송할 수 있다. 이 때, 전처리 작업은 표본 추출(sampling), 특징 추출(feature extraction), 차원 축소(dimension reduction), 이산화(discretization), 정규화(normalization), 표준화(standardization), 데이터 정제(cleansing) 중 하나 이상의 작업일 수 있다.
도 3은 본 발명의 일 실시예에 따른 스트림 분석 장치가 이용하는 스트림 처리 컴포넌트를 예시한 도면이다.
도 3을 참조하면, 스트림 처리 컴포넌트(300)는 입력 인터페이스(310), 데이터 분석부(320) 및 출력 인터페이스(330)를 포함한다.
입력 인터페이스(310)는 당해 스트림 처리 컴포넌트(300)에 할당된 입력 메시지 큐로부터 데이터를 수신한다. 입력 인터페이스(310)는 데이터 분석부(320)로 수신한 데이터를 전송한다.
데이터 분석부(320)는 사용자에 의해 설정된 분석 알고리즘에 따라 데이터를 분석하고, 분석 결과를 나타낸 분석 데이터를 출력 인터페이스(330)로 전송한다.
출력 인터페이스(330)는 분석 데이터를 당해 스트림 처리 컴포넌트(300)에 할당된 출력 메시지 큐로 전송한다.
스트림 처리 컴포넌트(300)로 입력되는 스트림 데이터가 폭증할 경우, 스트림 처리 컴포넌트(300)가 스트림 데이터에 대한 분석을 효율적으로 수행하기 위해서는 데이터를 복수의 스트림 처리 컴포넌트(300)로 분산하여 입력되도록 워크플로우가 구성될 필요가 있다.
도 4는 본 발명의 일 실시예에 따른 스트림 분석 장치가 이용하는 복합 이벤트 처리 컴포넌트를 예시한 도면이다.
복합 이벤트 처리(CEP, Complex Event Processing)란 스트림 데이터를 대상으로 복잡한 이벤트나 패턴에 맞는 데이터만을 추출하여 분석하는 것을 의미한다. 복합 이벤트 처리 컴포넌트(400)는 입력 메시지 큐로부터 수신한 데이터에 대해 복합 이벤트 처리를 수행한다.
도 4를 참조하면, 복합 이벤트 처리 컴포넌트(400)는 입력 인터페이스(410), 복합 이벤트 검출부(420), 데이터 분석부(430) 및 출력 인터페이스(440)를 포함한다.
입력 인터페이스(410)는 당해 복합 이벤트 처리 컴포넌트(400)에 할당된 입력 메시지 큐로부터 데이터를 수신한다. 입력 인터페이스(410)는 복합 이벤트 검출부(420)로 수신한 데이터를 전송한다.
복합 이벤트 검출부(420)는 데이터들을 대상으로 정의된 조건에 만족하는 스트림 데이터를 선별하는 필터링을 수행하고, 필터링된 데이터를 데이터 분석부(430)로 전송한다. 복합 이벤트 검출부(420)는 EPL(Event Processing Language)을 지원하여 사용자로 하여금 추출하고자 하는 이벤트를 쉽게 정의할 수 있게 할 수 있다.
데이터 분석부(430)는 필터링된 데이터를 사용자에 의해 설정된 분석 알고리즘에 따라 분석하고, 분석 결과를 나타낸 분석 데이터를 출력 인터페이스(440)로 전송한다.
출력 인터페이스(440)는 분석 데이터를 당해 복합 이벤트 처리 컴포넌트(400)에 할당된 출력 메시지 큐로 전송한다.
상술한 복합 이벤트 처리 컴포넌트(400)는 수신한 데이터 중 일부만을 선별하여 분석을 수행하기 대문에 스트림 처리 컴포넌트에 비해 상대적으로 연산 부하가 적은 특징이 있다.
도 5는 본 발명의 일 실시예에 따른 스트림 분석 장치가 이용하는 저장 컴포넌트를 예시한 도면이다.
도 5를 참조하면, 저장 컴포넌트(500)는 입력 인터페이스(510), 스키마 관리부(520), 저장 관리부(530) 및 출력 인터페이스(540)를 포함한다.
입력 인터페이스(510)는 당해 저장 컴포넌트(500)에 할당된 입력 메시지 큐로부터 데이터를 수신한다. 입력 인터페이스(510)는 저장 관리부(530)로 수신한 데이터를 전송한다.
스키마 관리부(520)는 스트림 데이터와 데이터베이스에 대응하는 스키마 매핑 정보를 저장한다. 이 때, 스키마 매핑 정보는 스트림 데이터와 데이터베이스의 스키마 간의 연관 관계를 정의하는 정보이다. 데이터베이스는 파일 시스템, 관계형 데이터베이스 NoSQL로 구분될 수 있다. 스키마 관리부(530)는 사용자로부터 사용자 인터페이스를 통해 스키마 매핑 관계를 입력 받고, 해당 입력에 따라 스키마 매핑 정보를 생성할 수 있다. 스키마 관리부(520)는 스키마 매핑 정보를 저장 관리부(530)로 제공한다.
저장 관리부(530)는 스키마 매핑 정보를 참조하여, Hbase, Cassandra, MongoDB, MariaDB 등의 데이터베이스 상에 각 데이터베이스의 스키마에 따라 스트림 데이터를 저장한다. 또는, 저장 관리부(530)는 데이터를 파일시스템 상의 파일로써 저장할 수 있다.
이 때, 저장 관리부(530)는 출력 인터페이스(540)를 통해 각 데이터베이스에 데이터를 전송하여 저장할 수 있다.
도 2 내지 도 5를 참조하여 상술한 스트림 컴포넌트는 각각 하나 이상의 메시지 큐를 할당 받고, 각 메시지 큐로부터 데이터를 수신하거나, 메시지 큐로 데이터를 출력한다. 이 때, 일 스트림 컴포넌트의 출력 메시지 큐는 타 스트림 컴포넌트의 입력 메시지 큐로 할당될 수 있다. 따라서, 본 발명의 일 실시예에 따른 스트림 분석 장치는 각각 독립 수행 가능한 컴포넌트가 병렬적으로 분석 작업을 수행하더라도, 메시지 큐를 통한 컴포넌트 간의 데이터 전송을 통해 스트림 데이터를 분석할 수 있다.
또한, 본 발명의 일 실시예 에 따른 스트림 분석 장치는 컴포넌트 기반의 워크플로우에 따라 데이터 분석 작업을 수행하기 때문에 일반적인 배치 컴포넌트를 이용한 작업을 수행할 수 있다.
도 6은 본 발명의 일 실시예에 따른 스트림 분석 장치가 스트림을 분석하는 과정을 예시한 순서도이다.
도 6을 참조하면, 단계 610에서 스트림 분석 장치는 사용자 인터페이스를 통해 컴포넌트를 조합하는 사용자 입력을 받는다.
단계 620에서 스트림 분석 장치는 사용자 입력에 따라 컴포넌트를 조합하여 워크플로우 정보를 생성한다.
단계 630에서 스트림 분석 장치는 워크플로우 정보를 WDL 정보로 변환한다.
단계 640에서 스트림 분석 장치는 WDL 정보를 워크플로우 엔진을 통해 해석한다.
단계 650에서 스트림 분석 장치는 WDL 정보의 해석에 따른 작업이 배치 컴포넌트 또는 스트림 컴포넌트를 통해 수행되어야 하는지 판단한다.
단계 650에서 작업이 배치 컴포넌트를 통해 수행되어야 하는 경우, 단계 660에서 스트림 분석 장치는 배치 처리 프레임워크(140)로 배치 컴포넌트에 따른 작업을 요청하는 명령을 전송한다.
단계 650에서 작업이 스트림 컴포넌트를 통해 수행되어야 하는 경우, 단계 670에서 스트림 분석 장치는 스트림 처리 프레임워크(150)로 스트림 컴포넌트에 따른 작업을 요청하는 명령을 전송한다.
이 때, 스트림 처리 프레임워크(150)에서 제공하는 스트림 컴포넌트는 수집 컴포넌트, 스트림 처리 컴포넌트, 복합 이벤트 처리 컴포넌트 및 저장 컴포넌트 중 어느 하나에 해당할 수 있다. 각 수집 컴포넌트, 스트림 처리 컴포넌트, 복합 이벤트 처리 컴포넌트 및 저장 컴포넌트는 메시지 큐를 통해 데이터를 수신 또는 출력하여, 스트림 형태의 데이터를 독립적으로 처리하는 컴포넌트의 역할을 수행할 수 있다.
단계 680에서 스트림 분석 장치는 배치 컴포넌트 및 스트림 컴포넌트 중 하나 이상을 통해 스트림을 분석하는 과정을 수행한다.
상술한 본 발명의 일 실시예에 따른 스트림 분석 장치는 컴퓨터 시스템으로 구현될 수 있다.
도 7은 본 발명의 일 실시예에 따른 스트림 분석 장치가 구현된 컴퓨터 시스템을 예시한 도면이다.
본 발명에 따른 실시예는 컴퓨터 시스템 내에, 예를 들어, 컴퓨터 판독가능 기록매체로 구현될 수 있다. 도 7에 도시된 바와 같이, 컴퓨터 시스템(700)은 하나 이상의 프로세서(710), 메모리(720), 저장부(730), 사용자 인터페이스 입력부(740) 및 사용자 인터페이스 출력부(750) 중 적어도 하나 이상의 요소를 포함할 수 있으며, 이들은 버스(760)를 통해 서로 통신할 수 있다. 또한, 컴퓨터 시스템(700)은 네트워크에 접속하기 위한 네트워크 인터페이스(770)를 또한 포함할 수 있다. 프로세서(710)는 메모리(720) 및/또는 저장소(730)에 저장된 처리 명령어를 실행시키는 CPU 또는 반도체 소자일 수 있다. 메모리(720) 및 저장부(730)는 다양한 유형의 휘발성/비휘발성 기억 매체를 포함할 수 있다. 예를 들어, 메모리는 ROM(724) 및 RAM(725)를 포함할 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (16)

  1. 하나 이상의 스트림 컴포넌트를 포함하는 스트림 처리 프레임워크;
    사용자 인터페이스를 제공하고, 상기 사용자 인터페이스를 통해 상기 스트림 컴포넌트를 조합하는 입력을 받아 워크플로우 정보를 생성하는 사용자 인터페이스 제공부;
    워크플로우 정보를 WDL(Workflow Description Language) 정보로 변환하는 WDL 생성기; 및
    상기 WDL 정보를 해석하여 상기 스트림 처리 프레임워크를 통해 스트림 데이터를 수집 및 분석하는 워크플로우 실행부
    를 포함하는 스트림 분석 장치.
  2. 제1 항에 있어서,
    상기 스트림 컴포넌트는 하나 이상의 메시지 큐를 통해 타 스트림 컴포넌트로 스트림 데이터를 전송하거나, 타 스트림 컴포넌트로부터 스트림 데이터를 수신하는 것을 특징으로 하는 스트림 분석 장치.
  3. 제2항에 있어서,
    상기 스트림 컴포넌트는 수집 컴포넌트, 스트림 처리 컴포넌트, 복합 이벤트 처리 컴포넌트, 저장 컴포넌트 중 어느 하나에 해당하는 것을 특징으로 하는 스트림 분석 장치.
  4. 제3 항에 있어서,
    상기 수집 컴포넌트는,
    원격 데이터 소스로부터 상기 스트림 데이터를 수집하는 전송 에이전트;
    상기 전송 에이전트로부터 상기 스트림 데이터를 수신하는 타겟 에이전트; 및
    상기 스트림 데이터를 수신하여 상기 메시지 큐로 전송하는 출력 인터페이스;
    를 포함하는 것을 특징으로 하는 스트림 분석 장치.
  5. 제4 항에 있어서,
    상기 타겟 에이전트는 상기 스트림 데이터에 대해 전처리 작업을 수행하는 것을 특징으로 하는 스트림 분석 장치.
  6. 제3 항에 있어서,
    스트림 처리 컴포넌트는,
    상기 메시지 큐 중 입력 메시지 큐로부터 상기 스트림 데이터를 수신하는 입력 인터페이스;
    미리 설정된 패턴에 따라 상기 스트림 데이터를 분석하여 분석 데이터를 생성하는 데이터 분석부; 및
    상기 분석 데이터를 상기 메시지 큐 중 출력 메시지 큐로 전송하는 출력 인터페이스
    를 포함하는 것을 특징으로 하는 스트림 분석 장치.
  7. 제3 항에 있어서,
    상기 복합 이벤트 처리 컴포넌트는,
    상기 메시지 큐 중 입력 메시지 큐로부터 상기 스트림 데이터를 수신하는 입력 인터페이스;
    상기 스트림 데이터 중 미리 정의된 조건에 만족하는 스트림 데이터를 선별하는 복합 이벤트 검출부;
    상기 미리 정의된 조건에 만족하는 스트림 데이터를 미리 지정된 패턴에 따라 분석하여 분석 데이터를 생성하는 데이터 분석부; 및
    상기 분석 데이터를 상기 메시지 큐 중 출력 메시지 큐로 전송하는 출력 인터페이스
    를 포함하는 것을 특징으로 하는 스트림 분석 장치.
  8. 제3항에 있어서,
    상기 저장 컴포넌트는,
    상기 메시지 큐 중 입력 메시지 큐로부터 상기 스트림 데이터를 수신하는 입력 인터페이스;
    상기 스트림 데이터와 데이터베이스에 대응하는 스키마 매핑 정보를 저장하는 스키마 관리부; 및
    상기 스키마 매핑 정보를 참조하여 상기 데이터베이스 상에 상기 스트림 데이터를 저장하는 저장 관리부;
    를 포함하는 것을 특징으로 하는 스트림 분석 장치.
  9. 사용자 인터페이스 제공부가, 사용자 인터페이스를 통해 사용자로부터 하나 이상의 스트림 컴포넌트를 조합하는 입력을 받는 단계;
    상기 사용자 인터페이스 제공부가, 상기 스트림 컴포넌트를 조합하는 입력에 따라 워크플로우 정보를 생성하는 단계;
    WDL(Workflow Description Language) 생성기가, 상기 워크플로우 정보를 WDL 정보로 변환하는 단계;
    워크플로우 실행부가, 상기 WDL 정보를 해석하여 상기 스트림 컴포넌트를 포함하는 스트림 처리 프레임워크를 통해 스트림 데이터를 수집 및 분석하는 단계
    를 포함하는 스트림 분석 방법.
  10. 제9 항에 있어서,
    상기 스트림 컴포넌트는 하나 이상의 메시지 큐를 통해 타 스트림 컴포넌트로 스트림 데이터를 전송하거나, 타 스트림 컴포넌트로부터 스트림 데이터를 수신하는 것을 특징으로 하는 스트림 분석 방법.
  11. 제10항에 있어서,
    상기 스트림 컴포넌트는 수집 컴포넌트, 스트림 처리 컴포넌트, 복합 이벤트 처리 컴포넌트, 저장 컴포넌트 중 어느 하나에 해당하는 것을 특징으로 하는 스트림 분석 방법.
  12. 제11 항에 있어서,
    상기 수집 컴포넌트는,
    원격 데이터 소스로부터 상기 스트림 데이터를 수집하는 전송 에이전트;
    상기 전송 에이전트로부터 상기 스트림 데이터를 수신하는 타겟 에이전트; 및
    상기 스트림 데이터를 수신하여 상기 메시지 큐로 전송하는 출력 인터페이스;
    를 포함하는 것을 특징으로 하는 스트림 분석 방법.
  13. 제12 항에 있어서,
    상기 타겟 에이전트는 상기 스트림 데이터에 대해 전처리 작업을 수행하는 것을 특징으로 하는 스트림 분석 방법.
  14. 제11 항에 있어서,
    스트림 처리 컴포넌트는,
    상기 메시지 큐 중 입력 메시지 큐로부터 상기 스트림 데이터를 수신하는 입력 인터페이스;
    미리 설정된 패턴에 따라 상기 스트림 데이터를 분석하여 분석 데이터를 생성하는 데이터 분석부; 및
    상기 분석 데이터를 상기 메시지 큐 중 출력 메시지 큐로 전송하는 출력 인터페이스
    를 포함하는 것을 특징으로 하는 스트림 분석 방법.
  15. 제11 항에 있어서,
    상기 복합 이벤트 처리 컴포넌트는,
    상기 메시지 큐 중 입력 메시지 큐로부터 상기 스트림 데이터를 수신하는 입력 인터페이스;
    상기 스트림 데이터 중 미리 정의된 조건에 만족하는 스트림 데이터를 선별하는 복합 이벤트 검출부;
    상기 미리 정의된 조건에 만족하는 스트림 데이터를 미리 지정된 패턴에 따라 분석하여 분석 데이터를 생성하는 데이터 분석부; 및
    상기 분석 데이터를 상기 메시지 큐 중 출력 메시지 큐로 전송하는 출력 인터페이스
    를 포함하는 것을 특징으로 하는 스트림 분석 방법.
  16. 제11항에 있어서,
    상기 저장 컴포넌트는,
    상기 메시지 큐 중 입력 메시지 큐로부터 상기 스트림 데이터를 수신하는 입력 인터페이스;
    상기 스트림 데이터와 데이터베이스에 대응하는 스키마 매핑 정보를 저장하는 스키마 관리부; 및
    상기 스키마 매핑 정보를 참조하여 상기 데이터베이스 상에 상기 스트림 데이터를 저장하는 저장 관리부;
    를 포함하는 것을 특징으로 하는 스트림 분석 방법.
KR1020160025717A 2016-03-03 2016-03-03 스트림 분석 장치 및 방법 KR102028496B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160025717A KR102028496B1 (ko) 2016-03-03 2016-03-03 스트림 분석 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160025717A KR102028496B1 (ko) 2016-03-03 2016-03-03 스트림 분석 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20170103218A KR20170103218A (ko) 2017-09-13
KR102028496B1 true KR102028496B1 (ko) 2019-10-04

Family

ID=59968025

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160025717A KR102028496B1 (ko) 2016-03-03 2016-03-03 스트림 분석 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102028496B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015512099A (ja) 2012-02-14 2015-04-23 アマゾン テクノロジーズ インコーポレイテッド 構成可能なワークフロー機能の提供
KR101533719B1 (ko) 2014-03-05 2015-07-03 에스케이텔레콤 주식회사 스트리밍 기반의 실시간 데이터 분석 장치 및 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090106011A1 (en) * 2007-10-22 2009-04-23 International Business Machines Corporation System and method for developing and deploying sensor and actuator applications over distributed computing infrastructure
KR20150017052A (ko) * 2013-08-05 2015-02-16 한국전자통신연구원 워크플로우의 실행 방법 및 시스템
KR20150084098A (ko) * 2014-01-13 2015-07-22 한국전자통신연구원 스트림 데이터 분산 처리 시스템 및 그 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015512099A (ja) 2012-02-14 2015-04-23 アマゾン テクノロジーズ インコーポレイテッド 構成可能なワークフロー機能の提供
KR101533719B1 (ko) 2014-03-05 2015-07-03 에스케이텔레콤 주식회사 스트리밍 기반의 실시간 데이터 분석 장치 및 방법

Also Published As

Publication number Publication date
KR20170103218A (ko) 2017-09-13

Similar Documents

Publication Publication Date Title
KR102151328B1 (ko) 오더 클러스터링 및 악의적인 정보 퇴치 방법 및 장치
US10061858B2 (en) Method and apparatus for processing exploding data stream
US8898092B2 (en) Leveraging user-to-tool interactions to automatically analyze defects in it services delivery
US8544028B2 (en) Extracting and processing data from heterogeneous computer applications
CN108804140B (zh) 一种批量指令解析方法、装置及设备
US8423950B2 (en) Method and apparatus for optimizing performance and network traffic in distributed workflow processing
TW201331779A (zh) 提供程式解析驗證服務系統及其控制方法、控制程式、使電腦發揮作用之控制程式、程式解析驗證裝置、程式解析驗證工具管理裝置
KR102067032B1 (ko) 하이브리드 빅데이터 시스템 기반 데이터 처리 방법 및 시스템
US20150039382A1 (en) Method and system for executing workflow
US20180025162A1 (en) Application program analysis apparatus and method
US20170193541A1 (en) Agricultural products processing center adaptive analysis system and processing method thereof
CN108228664B (zh) 非结构化数据处理方法及装置
CN111045911A (zh) 性能测试方法、性能测试装置、存储介质与电子设备
CN110780965A (zh) 基于视觉的流程自动化方法、设备及可读存储介质
US10009220B2 (en) In-vehicle information system and information processing method thereof
US10255127B2 (en) Optimized diagnostic data collection driven by a ticketing system
CN107302583A (zh) 一种基于Kylo实现数据集成的自动化运营管理方法
CN111400414B (zh) 一种基于标准化企业数据的决策方法、系统及电子设备
CN107153679B (zh) 一种针对半结构化大数据的提取统计方法及系统
KR102028496B1 (ko) 스트림 분석 장치 및 방법
CN111930385A (zh) 数据采集方法、装置、设备及存储介质
KR20170122874A (ko) 데이터 분산 서비스 기반의 응용 시스템의 통합 로그 관리 장치
US20180336242A1 (en) Apparatus and method for generating a multiple-event pattern query
CN113360672B (zh) 用于生成知识图谱的方法、装置、设备、介质和产品
US20170337644A1 (en) Data driven invocation of realtime wind market forecasting analytics

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right