KR101869490B1 - 스트리밍 데이터 처리시스템의 이상동작 분석 장치 및 그 방법 - Google Patents

스트리밍 데이터 처리시스템의 이상동작 분석 장치 및 그 방법 Download PDF

Info

Publication number
KR101869490B1
KR101869490B1 KR1020180003841A KR20180003841A KR101869490B1 KR 101869490 B1 KR101869490 B1 KR 101869490B1 KR 1020180003841 A KR1020180003841 A KR 1020180003841A KR 20180003841 A KR20180003841 A KR 20180003841A KR 101869490 B1 KR101869490 B1 KR 101869490B1
Authority
KR
South Korea
Prior art keywords
abnormal
value
information
data processing
output value
Prior art date
Application number
KR1020180003841A
Other languages
English (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 KR1020180003841A priority Critical patent/KR101869490B1/ko
Priority to PCT/KR2018/000611 priority patent/WO2019139189A1/ko
Application granted granted Critical
Publication of KR101869490B1 publication Critical patent/KR101869490B1/ko

Links

Images

Classifications

    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F04POSITIVE - DISPLACEMENT MACHINES FOR LIQUIDS; PUMPS FOR LIQUIDS OR ELASTIC FLUIDS
    • F04DNON-POSITIVE-DISPLACEMENT PUMPS
    • F04D29/00Details, component parts, or accessories
    • F04D29/70Suction grids; Strainers; Dust separation; Cleaning
    • F04D29/701Suction grids; Strainers; Dust separation; Cleaning especially adapted for elastic fluid pumps
    • F04D29/703Suction grids; Strainers; Dust separation; Cleaning especially adapted for elastic fluid pumps specially for fans, e.g. fan guards
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B01PHYSICAL OR CHEMICAL PROCESSES OR APPARATUS IN GENERAL
    • B01DSEPARATION
    • B01D46/00Filters or filtering processes specially modified for separating dispersed particles from gases or vapours
    • B01D46/42Auxiliary equipment or operation thereof
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F04POSITIVE - DISPLACEMENT MACHINES FOR LIQUIDS; PUMPS FOR LIQUIDS OR ELASTIC FLUIDS
    • F04DNON-POSITIVE-DISPLACEMENT PUMPS
    • F04D25/00Pumping installations or systems
    • F04D25/02Units comprising pumps and their driving means
    • F04D25/08Units comprising pumps and their driving means the working fluid being air, e.g. for ventilation
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B21/00Alarms responsive to a single specified undesired or abnormal condition and not otherwise provided for
    • G08B21/18Status alarms
    • G08B21/182Level alarms, e.g. alarms responsive to variables exceeding a threshold
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2407Monitoring of transmitted content, e.g. distribution time, number of downloads

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Emergency Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Chemical & Material Sciences (AREA)
  • Chemical Kinetics & Catalysis (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명의 일 실시 예는, 시스템이 주기적으로 출력하는 출력값과 시간에 따라 변화하는 가변임계치(active threshold value)를 비교한 결과를 기초로 시스템의 이상동작이 파악되면 이상동작알람을 발생시키는 스트리밍 데이터 처리 시스템에 있어서, 미리 정해진 시간범위에 대한 상기 가변임계치와 상기 출력값을 비교하여, 이상동작(anomaly action)이 발생한 시점정보, 상기 시점정보에 따른 출력값, 상기 출력값에 대응되는 가변임계치를 저장하는 이상데이터저장부, 상기 시점정보를 기초로 하여, 이상동작이 연속되어 감지된 이상기간(anomaly duration)에 대한 이상기간정보를 산출하는 기간정보산출부, 상기 출력값 및 상기 가변임계치를 기초로 하여, 상대적이상강도 및 절대적이상강도를 산출하는 이상강도산출부 및 상기 이상기간정보, 상기 상대적이상강도 및 상기 절대적이상강도를 종합한 결과를 기초로 하여 상기 시간범위에 대한 이상대표값을 산출하는 대표값산출부를 포함하는 스트리밍 데이터 처리 시스템의 이상동작 분석 장치를 제공한다.

Description

스트리밍 데이터 처리시스템의 이상동작 분석 장치 및 그 방법 {Apparatus for analyzing anomality of streaming data processing system and method thereof}
본 발명은 스트리밍 데이터 처리시스템의 이상동작분석 장치 및 그 방법에 관한 것으로서, 보다 구체적으로는 스트리밍 데이터를 수집하여 고속으로 처리하는 시스템의 성능 저하 및 장애 발생을 정확하게 감지하기 위해 가변성이 있는 임계값을 산출하는 모니터링 장치의 출력값을 분석하기 장치 및 그 방법에 관한 것이다.
인터넷상에서 동영상 데이터의 송수신량은 비약적으로 증가하고 있으며, 동영상 데이터를 이용하는 유저들은 동영상 데이터를 영구적으로 저장장치에 저장하여 재생하는 것보다는 스트리밍 방식을 통해 일회성으로 감상하는 것을 더 선호하는 특성을 갖고 있으므로, 스트리밍 데이터를 수집, 처리하는 시스템은 스트리밍 데이터(streaming data)에 대한 안정적인 고속처리능력을 필수적으로 갖추고 있어야 한다.
스트리밍 데이터 처리시스템은 고속처리성능을 안정적으로 유지하기 위해서, 시스템의 성능저하나 장애발생을 모니터링하는 모니터링장치와 함께 운용하는 것이 일반적이며, 시스템 관리자(system administrator)는 모니터링장치를 통해서 스트리밍 데이터 처리시스템을 효율적으로 감시할 수 있다.
모니터링장치가 스트리밍 데이터 처리 시스템이 정상적으로 동작하고 있는 것을 판단하기 위해서는 기준이 필요한데, 그 기준이 되는 값을 시스템 관리자가 매번 지정하여 관리할 경우에는 스트리밍 데이터 처리량의 변화나 시스템 장애 상황에 효율적으로 대처하기 어렵고, 시스템 관리자의 부담이 과중한 문제점이 있다.
위와 같은 문제점을 해결하기 위해서는, 모니터링장치가 스트리밍 데이터 처리 시스템의 정상 동작 여부를 판단하는 기준값을 시간의 흐름 및 시스템의 상황에 따라 능동적으로 조절함으로써, 시스템 관리자의 불필요한 개입을 최소화할 수 있는 모니터링 장치가 필요하다.
또한, 스트리밍 데이터 처리 시스템에서 시스템의 정상 동작 여부를 판단하는 기준값을 시간의 흐름 및 시스템의 상황에 따라 능동적으로 조절할 수 있게 되더라도, 미리 지정된 시간범위마다 시스템이 얼마나 정상적으로 오래 동작했는지를 파악하기 위한 고유한 방법이 필요한데, 현재까지는 시스템의 정상 동작 여부를 능동적으로 변화하는 가변임계치(active threshold)로 파악하는 기술조차 널리 알려지지 않았으므로, 자연스럽게 그 시스템이 출력하는 출력값을 기초로 미리 지정된 시간범위마다 시스템이 얼마나 정상적으로 오래 동작했는지를 대표값으로 알려주는 기술도 전무한 실정이다.
대한민국 등록특허 제10-1218927호
본 발명이 해결하고자 하는 기술적 과제는, 스트리밍 데이터를 처리하는 처리시스템의 성능저하를 판단하기 위한 기준값을 축적되어 온 성능지표를 통해 산출하고, 그 산출된 기준값을 통해 사람의 개입없이 처리시스템의 정상 동작 여부를 정확하게 판단할 수 있는 장치 및 그 방법을 제공하는 데에 있다.
상기 기술적 과제를 해결하기 위한 본 발명의 일 실시 예에 따른 장치는, 시스템이 주기적으로 출력하는 출력값과 시간에 따라 변화하는 가변임계치(active threshold value)를 비교한 결과를 기초로 시스템의 이상동작이 파악되면 이상동작알람을 발생시키는 스트리밍 데이터 처리 시스템에 있어서, 미리 정해진 시간범위에 대한 상기 가변임계치와 상기 출력값을 비교하여, 이상동작(anomaly action)이 발생한 시점정보, 상기 시점정보에 따른 출력값, 상기 출력값에 대응되는 가변임계치를 저장하는 이상데이터저장부; 상기 시점정보를 기초로 하여, 이상동작이 연속되어 감지된 이상기간(anomaly duration)에 대한 이상기간정보를 산출하는 기간정보산출부; 상기 출력값 및 상기 가변임계치를 기초로 하여, 상대적이상강도 및 절대적이상강도를 산출하는 이상강도산출부; 및 상기 이상기간정보, 상기 상대적이상강도 및 상기 절대적 이상강도를 종합한 결과를 기초로 하여 상기 시간범위에 대한 이상대표값을 산출하는 대표값산출부를 포함한다.
상기 기술적 과제를 해결하기 위한 본 발명의 다른 일 실시 예에 따른 방법은, 시스템이 주기적으로 출력하는 출력값과 시간에 따라 변화하는 가변임계치(active threshold value)를 비교한 결과를 기초로 시스템의 이상동작이 파악되면 이상동작알람을 발생시키는 스트리밍 데이터 처리 시스템의 이상동작 분석 방법에 있어서, 미리 정해진 시간범위에 대한 상기 가변임계치와 상기 출력값을 비교하여, 이상동작(anomaly action)이 발생한 시점정보, 상기 시점정보에 따른 출력값, 상기 출력값에 대응되는 가변임계치를 저장하는 이상데이터저장단계; 상기 시점정보를 기초로 하여, 이상동작이 연속되어 감지된 이상기간(anomaly duration)에 대한 이상기간정보를 산출하는 기간정보산출단계; 상기 출력값 및 상기 가변임계치를 기초로 하여, 상대적이상강도 및 절대적이상강도를 산출하는 이상강도산출단계; 및 상기 이상기간정보, 상기 상대적이상강도 및 상기 절대적 이상강도를 종합한 결과를 기초로 하여 상기 시간범위에 대한 이상대표값을 산출하는 대표값산출단계를 포함한다.
본 발명은 상기 기술적 과제를 해결하기 위한 방법을 실행시키기 위한 프로그램을 기록하고 있는 컴퓨터 판독가능한 기록매체를 제공할 수 있다.
본 발명에 따르면, 빅 스트리밍 데이터(big streaming data)를 처리하는 스트리밍 데이터 처리시스템의 처리결과와 비교되는 임계값인 제2기준속도가 시간의 변화에 따라 관리자가 개입할 필요 없이 능동적으로 산출되고 적용됨으로써, 스트리밍 데이터 처리 시스템의 성능변화상태를 시스템 관리자의 개입을 최소화하면서 감시할 수 있게 되어, 시스템 관리자의 업무 부담을 경감시킬 수 있다.
또한, 스트리밍 데이터 처리시스템에 본 발명에 따른 모니터링 장치를 적용할 경우, 보다 적은 운용 인력과 시간을 투입하고도 종전과 동일하거나 그 이상의 시스템 감시 효과를 달성할 수 있다.
도 1은 본 발명에 따른 시스템의 전체 구성을 개략적으로 나타낸 도면이다.
도 2는 본 발명에 따른 이상동작분석장치의 일 예에 대한 블록도이다.
도 3은 본 발명에 따라 산출되는 제2기준속도를 도식적으로 나타낸 도면이다.
도 4는 본 발명에 따른 제2기준속도 산출방식을 수도코드(pseudo-code)로 구현한 일 예를 나타낸다.
도 5는 본 발명에 따른 스트리밍 데이터 처리시스템을 모니터링하는 방법의 일 예의 흐름도를 도시한 도면이다.
도 6은 본 발명에 따른 스트리밍 데이터 처리시스템의 이상동작을 분석하는 방법의 일 예의 흐름도를 도시한 도면이다.
도 7은 대표값산출부가 생성한 노드 및 엣지를 도식화하여 나타낸 도면이다.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시 예를 가질 수 있는바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 본 발명의 효과 및 특징, 그리고 그것들을 달성하는 방법은 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 다양한 형태로 구현될 수 있다.
이하, 첨부된 도면을 참조하여 본 발명의 실시 예들을 상세히 설명하기로 하며, 도면을 참조하여 설명할 때 동일하거나 대응하는 구성 요소는 동일한 도면부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
이하의 실시 예에서, 제1, 제2 등의 용어는 한정적인 의미가 아니라 하나의 구성 요소를 다른 구성 요소와 구별하는 목적으로 사용되었다.
이하의 실시 예에서, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
이하의 실시 예에서, 포함하다 또는 가지다 등의 용어는 명세서상에 기재된 특징, 또는 구성요소가 존재함을 의미하는 것이고, 하나 이상의 다른 특징을 또는 구성요소가 부가될 가능성을 미리 배제하는 것은 아니다.
어떤 실시 예가 달리 구현 가능한 경우에 특정한 공정 순서는 설명되는 순서와 다르게 수행될 수도 있다. 예를 들어, 연속하여 설명되는 두 공정이 실질적으로 동시에 수행될 수도 있고, 설명되는 순서와 반대의 순서로 진행될 수 있다.
도 1은 본 발명에 따른 시스템의 전체 구성을 개략적으로 나타낸 도면이다.
도 1을 참조하면, 본 발명에 따른 시스템은, 스트리밍 데이터 송신시스템(110), 스트리밍 데이터 처리시스템(130), 모니터링장치(200), 이상동작분석장치(300) 및 관리자단말(400)로 구성되어 있으며, 스트리밍 데이터 송신시스템(110)은 스트리밍 데이터 처리시스템(130)과 통신망(150)을 통해 연결되고, 이상동작분석장치(300) 및 관리자단말(400)은 통신망(150)을 통해 연결되어 각종 데이터를 송수신한다는 것을 알 수 있다.
먼저, 스트리밍 데이터 송신시스템(110)은 스트리밍 데이터를 저장하고 있으며, 스트리밍 데이터 처리시스템(130)으로부터 스트리밍 데이터의 송신하라는 요청을 수신하면, 통신망(150)을 통해 스트리밍 데이터 처리시스템(130)에 스트리밍 데이터를 송신한다. 여기서, 스트리밍 데이터는 전체 데이터 중 일부만을 분할하여 송신될 수 있고, 그 스트리밍 데이터의 일부를 수신한 측에서 그 스트리밍 데이터의 일부를 재생(play)할 수 있는 각종 비디오 및 오디오 데이터를 의미한다.
스트리밍 데이터 처리시스템(130)은 스트리밍 데이터 송신시스템(110)에 스트리밍 데이터 송신요청을 송신하고, 스트리밍 데이터를 수신 및 처리한다. 스트리밍 데이터 처리시스템(130)은 스트리밍 데이터 송신시스템(110)으로부터 수신한 스트리밍 데이터를 반영구적으로 저장할 수 있는 저장장치(storing device) 및 스트리밍 데이터를 처리하여 출력장치를 통해 출력시키는 그래픽제어장치, 오디오제어장치, 각종 프로세서를 모두 포함할 수 있다. 또한, 스트리밍 데이터 처리시스템(130)은 스트리밍 데이터를 처리한 내역(history)을 단위시각별 또는 이벤트별로 로그(log)에 기록하여 보관할 수 있다.
본 발명에 따른 모니터링장치(200)는 스트리밍 데이터 처리시스템(130)의 성능저하 또는 장애코드(error code)의 발생여부를 감시하는 기능을 수행한다. 모니터링장치(200)는 스트리밍 데이터 처리시스템(130)으로부터 데이터 처리결과를 직접 수신하거나, 스트리밍 데이터 처리시스템(130)의 로그를 분석하여, 스트리밍 데이터 처리시스템(130)에 성능저하 또는 장애코드가 발생한 것을 감지한다.
모니터링장치(200)는 스트리밍 데이터 처리시스템(130)에 성능저하 또는 장애코드가 발생한 것을 감지하면, 그 감지한 결과를 시각적으로 출력할 수도 있다. 모니터링장치(200)는 스트리밍 데이터 처리시스템(130)과 유선으로 연결되거나, 스트리밍 데이터 처리시스템(130)에 물리적 또는 논리적으로 포함되어 동작할 수 있다.
이상동작분석장치(300)는 모니터링장치(200)에 의해 결정된 가변임계값(active threshold value)을 기초로 하여, 미리 지정된 기간의 스트리밍 데이터 처리시스템(130)의 이상동작의 정도를 수치로 나타낸 이상대표값을 산출하고, 그 산출된 값을 관리자단말(400)에 통신망(150)을 통해 송신하는 기능을 수행한다. 이상동작분석장치(300)도 모니터링장치(200)처럼 스트리밍 데이터 처리시스템(130)과 유선으로 연결되거나, 스트리밍 데이터 처리시스템(130)에 물리적 또는 논리적으로 포함되어 동작할 수 있다.
관리자단말(400)은 이상동작분석장치(300)로부터 통신망을 통해서 이상대표값을 수신하고, 그에 대한 조정값을 다시 이상동작분석장치(300)로 송신한다. 조정값에 대해서는 도 2에서 후술하기로 한다. 관리자단말(400)은 본 발명에 따른 전체시스템을 총괄하여 관리하는 관리자가 사용하는 단말을 의미하며, 도 1에서는 퍼스널 컴퓨터(PC)로 그려져 있지만, 실시 예에 따라서 테블릿 퍼스널 컴퓨터나 스마트폰이 될 수도 있으며, 특정한 종류의 단말로 한정되지 않는다.
스트리밍 데이터 송신시스템(110), 스트리밍 데이터 처리시스템(130), 이상동작분석장치(300) 및 관리자단말(400)은 각종 데이터를 통신망(150)을 통해 송수신하게 되며, 여기서, 통신망(150)은 일반전화망, 데이터망, 이동통신망 등 각종 유무선 통신망을 포함한다.
도 2는 본 발명에 따른 이상동작분석장치의 일 예에 대한 블록도이다.
도 2에서, 설명의 편의를 위해서, 스트리밍 데이터 처리시스템(130)의 모니터링장치(200)를 본 발명에 따른 이상동작분석장치(300)와 함께 설명하기로 한다. 도 1에서 설명한 것처럼, 도 2의 모니터링장치(200) 및 이상동작분석장치(300)는 독자적인 장치로 구현될 수 있을 뿐만 아니라, 스트리밍 데이터 처리시스템(130)에 물리적 또는 논리적으로 포함되는 형태로 구현될 수도 있다. 또한, 실시 예에 따라, 이상동작분석장치(300)는 모니터링장치(200)에 물리적 또는 논리적으로 포함될 수도 있다.
도 2를 참조하면, 모니터링장치(200)는 출력데이터저장부(210), 속도미달정보파악부(230), 관계정보산출부(250), 제2기준속도산출부(270) 및 경보출력부(290)를 포함하고 있고, 본 발명에 따른 이상동작분석장치(300)는 이상데이터저장부(310), 기간정보산출부(320), 이상강도산출부(330), 대표값산출부(340), 대표값송신부(350) 및 대표값조정부(360)를 포함하고 있는 것을 알 수 있으며, 설명의 편의를 위해서, 도 1을 참조하여 설명하기로 한다.
출력데이터저장부(210)는 제1시점까지 처리한 데이터의 처리속도정보 및 장애발생정보를 단위시각별로 저장하고 있다. 여기서, 제1시점은 스트리밍 데이터 처리시스템(130)이 스트리밍 데이터를 처리한 과거의 시점 중 현재와 가장 인접한 시간대를 의미한다. 예를 들어, 스트리밍 데이터 처리시스템(130)이 오후 2시부터 오후 3시까지 스트리밍 데이터를 처리했다면, 제1시점은 오후 3시 시점이 될 수 있다.
처리속도정보는 스트리밍 데이터 처리시스템(130)이 데이터를 처리하는 속도의 값에 대한 정보를 의미한다. 처리속도정보는 스트리밍 데이터 처리시스템(130)의 로그에 단위시각별로 기록되는 정보를 기초로 하여 생성될 수 있다. 스트리밍 데이터 처리시스템(130)의 데이터 처리속도는 데이터를 처리할 때의 시스템의 보유 리소스량, 장애발생상태, 스트리밍 데이터의 용량, 스트리밍 데이터의 종류(데이터 포맷, 확장자 등을 의미)등에 따라 달라지며, 처리속도정보는 그런 다양한 데이터 처리속도를 포함한 여러 정보가 단위시각별로 기록된 정보이다. 일반적으로 시스템의 데이터 처리속도가 느려지는 것은 시스템의 성능 저하 상태로 해석된다.
장애발생정보는 스트리밍 데이터 처리시스템(130)이 데이터를 처리하는 과정에서 발생하는 각종 장애에 대한 정보를 의미한다. 여기서, 장애발생정보에는 스트리밍 데이터 처리시스템(130)에 미리 설정된 장애코드가 발생한 상태는 물론이고, 미리 설정되지 않은 장애코드가 발생한 상태에 대한 정보가 모두 포함된다.
스트리밍 데이터 처리시스템(130)이 장애코드를 출력하더라도, 스트리밍 데이터 처리시스템(130)의 데이터 처리속도가 전혀 달라지지 않을 수 있다. 즉, 스트리밍 데이터 처리시스템(130)에서 장애가 발생하는 것과 성능 저하가 발생하는 것은 별개의 문제이다. 예를 들어, 스트리밍 데이터 처리시스템(130)의 데이터 처리결과가 스트리밍 데이터 처리시스템(130)에 미리 설정된 SLO(Service Level Objective)을 위반할 경우, 스트리밍 데이터 처리시스템(130)은 장애코드를 출력할 수 있다. 이때, SLO는 스트리밍 데이터 처리시스템(130)의 처리결과에 요구되는 일정한 기준을 의미하고, 그 기준은 스트리밍 데이터 처리시스템(130)의 데이터 처리속도와 전혀 무관한 기준일 수도 있다.
선택적 일 실시 예로서, 장애발생정보는 기설정된 기준장애코드가 발생한 시점의 기준장애정보 및 기준장애코드가 발생한 시점 외의 시점의 비기준장애정보를 포함할 수도 있다. 기준장애코드가 발생한 시점 외의 시점에는 기준장애코드 외의 장애코드가 발생한 시점 및 장애코드가 발생하지 않은 시점이 모두 포함된다.
즉, 장애발생정보는 스트리밍 데이터 처리시스템(130)으로부터 단위시각별로 출력되는 정보이지만, 매순간마다 스트리밍 데이터 처리시스템(130)에 미리 설정된 장애코드에 대응되는 장애가 발생되는 것은 아니므로, 장애발생정보에는 기준장애정보 및 비기준장애정보가 포함된다. 본 선택적 실시 예에서, 기준장애정보는 1, 비기준장애정보는 0으로 표현될 수 있다.
출력데이터저장부(210)는 시스템이 출력하는 장애코드가 기준장애코드인지 구별할 수 있는 비교코드를 미리 저장할 수도 있다. 출력데이터저장부(210)는 스트리밍 데이터 처리시스템(130)이 출력한 데이터 처리결과를 분석하여, 비교코드와 일치하는 기준장애코드가 있는지 여부를 파악하고, 기준장애정보 또는 비기준장애정보를 저장하도록 제어하는 프로세서(processor)를 포함할 수도 있다. 예를 들어, t1시점에 장애코드 F6009가 스트리밍 데이터 처리시스템(130)부터 출력되고, 비교코드에 F6009가 포함되어 있다면, 출력데이터저장부(210)에서 저장되는 t1시점의 장애발생정보는 기준장애정보를 포함하게 된다.
Figure 112018003537720-pat00001
수학식 1은 0초에서 t초까지의 장애발생정보의 일 예를 나타낸다. 수학식 1과 같이 0초에서 t초까지의 장애발생정보는 t+1차원의 벡터로 표현될 수 있다.
처리속도정보 및 장애발생정보는 모두 단위시각별로 기록된 정보이다. 여기서, 단위시각은 특정한 시각으로 한정되지 않으므로, 10초, 1분, 10분, 한 시간 등의 단위가 될 수 있다. 처리속도정보 및 장애발생정보가 둘 다 단위시각별로 기록된 정보이므로, 출력데이터저장부(210)는 처리속도정보 및 장애발생정보를 맵핑시켜 저장할 수 있다. 예를 들어, 단위시각이 1분이고, 1월 1일 오후 12시부터 스트리밍 데이터가 계속 처리되었다고 가정하면, 출력데이터저장부(210)에는 1월 1일 오후 12시 1분에 처리속도정보 및 장애발생정보가 각각 대응되어 저장될 수 있다. 출력데이터저장부(210)가 1월 1일 오후 12시 1분으로 검색되면, 출력데이터저장부(210)는 그에 따른 처리속도정보 및 장애발생정보를 한꺼번에 출력할 수 있다.
이어서, 속도미달정보파악부(230)는 출력데이터저장부(210)에 저장된 처리속도정보에서 제1기준속도보다 더 느리게 데이터를 처리한 시점의 속도미달정보를 파악한다.
제1기준속도는 속도미달정보파악부(230)에 미리 저장되어 있거나, 출력데이터저장부(210)에 저장되어 있다가 속도미달정보파악부(230)에 전달되는 속도값이다. 제1기준속도는 처리속도정보에 포함되어 있는 단위시각별 데이터처리속도와 비교된다. 속도미달정보파악부(230)는 특정 시점의 처리속도정보의 데이터처리속도가 제1기준속도보다 더 느리다면, 그 처리속도정보를 속도미달정보로 파악한다. 처리속도정보에는 스트리밍 데이터 처리시스템(130)이 데이터를 처리한 시각, 처리한 데이터, 처리속도에 대한 정보가 모두 포함되므로, 처리속도정보의 데이터처리속도가 제1기준속도보다 느리다면, 그 처리속도정보의 포함된 모든 정보가 속도미달정보에 포함된 정보가 된다. 즉, 제1기준속도는 스트리밍 데이터 처리시스템(130)에 성능 저하가 발생하여, 스트리밍 데이터 처리시스템(130)이 데이터를 처리하는 속도가 얼마나 떨어졌는지 속도미달정보파악부(230)가 파악하기 위한 기준이다.
선택적 일 실시 예로서, 제1기준속도는 단위시각별로 서로 다르게 설정될 수도 있다. 예를 들어, 0에서 t까지의 제1기준속도는 수학식 2처럼 표현될 수 있다.
Figure 112018003537720-pat00002
본 선택적 실시 예에 따르면, 스트리밍 데이터가 스트리밍 데이터 처리시스템(130)에 의해 처리되는 시점에 따라 제1기준속도가, 수학식 2와 같이 가변성을 갖고 있으므로, 단위시각별로 서로 다른 스트리밍 데이터의 처리속도에 대해 모니터링장치(200)가 일률적으로 성능 저하라고 판정하는 일을 최소화할 수 있다.
스트리밍 데이터 처리시스템(130)의 데이터의 처리속도는 시간의 흐름에 따라 다양하게 변화할 수 있으며, 처리속도가 특정 시점에서 느려지더라도 성능 저하가 아닌 다른 요인으로 인해 발생한 일시적 지연(temporary delay)에 불과할 수 있는데, 본 발명에 따른 모니터링장치(200)에 따르면, 시스템 관리자는 그러한 요인을 고려하여 시스템의 성능 저하 여부를 판단할 수 있게 된다.
이하에서는, 속도미달정보와 구분하기 위해, 처리속도정보 중 속도미달정보로 파악되지 않은 정보는 속도달성정보로 호칭하기로 한다. 속도미달정보파악부(230)는 전술한 과정을 통해 처리속도정보를 속도미달정보와 속도미달정보 외의 속도달성정보를 구분할 수 있고, 속도미달정보 및 속도달성정보를 기초로 하여, 이진변수 형태의 속도미달여부정보를 단위시각별로 산출할 수 있다.
Figure 112018003537720-pat00003
수학식 3은 0초에서 t초까지의 속도미달여부정보의 일 예를 나타낸다. 예를 들어, 수학식 3에서, 제1기준속도보다 더 느리게 데이터를 처리한 1초 시점의 속도미달여부정보인 y(1)는 1, 제1기준속도보다 더 빠르게 데이터를 처리한 2초 시점의 속도미달여부정보인 y(2)는 0이 된다. 이때, 속도미달정보파악부(230)에 미리 설정된 값에 따라 0과 1이 반대로 적용될 수도 있다.
이하에서는, 도 2를 이어서 설명하기로 한다.
관계정보산출부(250)는 처리속도정보와 장애발생정보간의 상관관계정보를 산출한다.
상관관계정보는 처리속도정보와 장애발생정보가 어떠한 상관관계를 갖고 있는지 수식으로 나타낸 정보를 의미한다. 스트리밍 데이터 처리시스템(130)이 제1시점까지 데이터를 처리한 결과가 충분히 많고, 장애발생정보가 이진변수 특성(미리 설정된 장애코드가 발생하였는지 발생하지 않았는지 여부)을 가지므로, 처리속도정보와 장애발생정보와의 상관관계를 하나의 수식으로 근사화(approximation)시키는 것이 가능하다.
장애코드 출력 장애코드 불출력
제1기준속도 미달 x y
제1기준속도 달성(초과) u v
표 1은 스트리밍 데이터 처리시스템(130)에서 출력되는 데이터 처리결과의 비율을 나타내는 표이다. 스트리밍 데이터 처리시스템(130)이 출력하는 데이터 처리결과는 표 1의 네 가지 중 어느 하나일 수밖에 없으므로, x, y, u, v를 합산하면, 1이 된다.
표 1의 x, y, u, v를 이용하여 수학식 4 내지 7에 따른 정보를 정의할 수 있다.
Figure 112018003537720-pat00004
Figure 112018003537720-pat00005
Figure 112018003537720-pat00006
Figure 112018003537720-pat00007
먼저, 수학식 4에서 PPV(Positive Predictive Value)는 0에서 t까지 스트리밍 데이터 처리시스템(130)이 출력한 데이터 처리결과 중에서, 제1기준속도보다 더 느리게 데이터를 처리하고, 장애코드도 출력한 시점의 정보의 비율을 의미한다. 수학식 5에서 cPPV(complementary PPV)는 0에서 t까지 스트리밍 데이터 처리시스템(130)이 출력한 데이터 처리결과 중에서, 제1기준속도보다 더 느리게 데이터를 처리했으나, 장애코드는 출력하지 않은 시점의 정보의 비율을 의미한다.
수학식 6에서 NPV(Negative Predictive Value)는 0에서 t까지 스트리밍 데이터 처리시스템(130)이 출력한 데이터 처리결과 중에서, 제1기준속도보다 더 빠르게 데이터를 처리하고, 장애코드도 출력하지 않은 시점의 정보의 비율을 의미한다. 수학식 7에서 cNPV(complementary NPV)는 0에서 t까지 스트리밍 데이터 처리시스템(130)이 출력한 데이터 처리결과 중에서, 제1기준속도보다 더 빠르게 데이터를 처리하고, 장애코드를 출력한 시점의 정보의 비율을 의미한다.
시스템 관리자는 시간이 충분히 경과한 후에, 스트리밍 데이터 처리시스템(130)이 출력하는 데이터 처리결과로부터 PPV 및 NPV가 산출되었을 때, 그 산출된 PPV 및 NPV가 시스템 관리자가 원하는 특정한 값이 되도록 예시적인 PPV 및 NPV을 미리 설정한다. 이하에서는, 시스템 관리자가 설정한 예시적인 PPV 및 NPV를 각각 α(알파), β(베타)라고 호칭하기로 한다.
시스템 관리자가 스트리밍 데이터 처리시스템(130)에 알파, 베타를 설정하면, 스트리밍 데이터 처리시스템(130)의 데이터 처리결과로부터 산출되는 PPV 및 NPV는 시간이 경과함에 따라 각각 알파 및 베타에 수렴하게 된다. 즉, 시스템 관리자가 스트리밍 데이터 처리시스템(130)으로부터 출력된 데이터 처리결과의 PPV 및 NPV가 각각 알파 및 베타가 되는 경우에는 스트리밍 데이터 처리시스템(130)이 충분히 긴 시간동안 동작하여 안정적인 상태로 장시간 지속되는 단조성(monotonicity)을 갖는 시스템이 되었다고 볼 수 있다. 본 발명은 위와 같이 단조성이 성립된 이후 시점에서 스트리밍 데이터 처리시스템(130)의 데이터 처리속도와 비교할 수 있는 제2기준속도를 산출하는 방법을 제안하며, 제2기준속도에 대한 추가적인 설명은 후술하기로 한다.
이어서, 관계정보산출부(250)는 처리속도정보와 장애발생정보간의 상관관계정보를 산출하기 위해서, 처리속도정보를 장애발생정보 및 제1기준속도를 기초로 하는 관계식으로 정규화할 수 있다.
Figure 112018003537720-pat00008
수학식 8은 처리속도정보를 장애발생정보 및 제1기준속도를 기초로 하는 선형관계식(Linear Relation)을 나타낸다. 수학식 8에서 Y(t)는 처리속도정보에 대한 벡터, Γ(t)는 제1기준속도에 대한 벡터, A(t)는 장애발생정보에 대한 벡터로 표현되고, x(t)는 처리속도정보와 장애발생정보의 합성벡터를 의미한다.
이때, 처리속도정보는, 보다 더 구체적으로는, 속도미달여부정보를 의미한다. 속도미달여부정보란, 단위시각별로 서로 다른 스트리밍 데이터 처리시스템(130)의 데이터 처리속도가 제1기준속도보다 더 빠르거나 더 느린지에 대한 정보로서, 이진변수로 나타낼 수 있는 정보이다. 여기서, 속도미달여부정보는 처리속도정보에 포함되어 있거나, 실시 예에 따라서, 관계정보산출부(250)가 처리속도정보를 수신한 후, 처리속도정보 및 제1기준속도를 기초로 하여 속도미달여부정보를 산출할 수도 있다.
전술한 것과 같이 장애발생정보도 이진변수로 나타낼 수 있는 정보이다. 제1기준속도는 고정된 상수값을 가질 수도 있지만, 실시 예에 따라 시간에 따라 매번 다른 값을 가질 수도 있다는 것을 수학식 2를 통해 설명한 바 있다.
수학식 8과 같은 선형식에 회귀모델링(Regression Modeling)을 적용하면, 미지수 b1, b2, c의 값을 알아낼 수 있으나, 본 발명에서는 응답변수인 Y(t)가 이진변수이므로, 수학식 8과 같은 일반적인 선형식을 이용할 수 없다.
수학식 8을 이용할 수 없는 첫 번째 이유는, 수학식 8에서 x(t)가 충분히 큰 값을 가질 때에, Y(t)가 1을 초과할 수 있기 때문이다. 수학식 8을 이용할 수 없는 두 번째 이유는, Y(t)가 0 또는 1만 되므로, 선형회귀식을 사용하기 위한 전제조건을 만족하지 못하기 때문이다. 선형회귀식을 사용하기 위한 전제조건은, 회귀계수의 유의성검정(Tests of Significance)인 잔차(residual)가 정규분포를 따라야 한다는 것이다.
또한, 마지막으로, A(t)도 0 또는 1인 이진변수이고, Γ(t)는 다양한 값이 될 수 있는 변수이므로, 본 발명에서 수학식 8과 같은 선형회귀식은 사용될 수 없고, 로지스틱 회귀(Logistic Regression)를 이용해야 한다.
Figure 112018003537720-pat00009
수학식 9는 로짓변환(Logit Transformation)의 회귀식을 사용하기 위한 벡터 p(x)를 나타낸다. 수학식 9에서 p(x)는 벡터 x가 제1기준속도 및 장애발생정보로 정의될 때, 스트리밍 데이터 처리시스템(130)의 데이터 처리속도가 제1기준속도보다 더 느린 확률로 정의된다.
Figure 112018003537720-pat00010
수학식 10은 수학식 9에 로짓변환을 적용하여 산출된 회귀식이다. 각 항은 동일한 차원의 벡터로 정의되어 있으므로, 회귀계수 b1, b2, c는 최우추정법(Maximal Likelihood Estimation)을 이용하여 구할 수 있다. 최우추정법은 표본의 수가 충분히 확보된 경우, 이산데이터(binary data)에 기초하여 비선형 통계 모델을 분석대상으로 할 때에 효과적인 추정방법이며, 최우추정법은 이미 널리 알려진 방법이므로, 최우추정법을 통해 회귀계수를 산출하는 과정은 생략하기로 한다.
Time A(t) Γ(t) Y(t)
1 0 58 0
2 1 109 1
3 1 126 0
4 0 60 1
5 1 120 1
6 0 69 0
7 1 147 1
8 0 85 1
9 0 58 0
10 1 116 0
11 1 131 0
12 1 104 1
13 1 149 0
14 0 60 1
15 0 64 1
표 2는 1초부터 15초까지의 Y(t), A(t), Γ(t)를 나타낸다. 표 2와 같은 값을 동일 차원의 벡터로 정리하고, 그 정리된 벡터들을 수학식 10에 대입 후, 최우추정법을 적용하면, b1은 0.8445968, b2는 -0.01878321, c는 1.507379가 산출된다. 표 2는 예시적인 값이므로, 단위시각별 Y(t), A(t), Γ(t)가 표 2와 달라지면, b1, b2, c도 달라질 수 있다.
제2기준속도산출부(270)는 속도미달정보와 장애발생정보간의 비율정보를 수신하고, 그 비율정보 및 관계정보산출부(250)가 산출한 상관관계정보를 기초로 하여 제1시점 이후의 제2시점에서의 제2기준속도를 산출한다.
여기서, 속도미달정보와 장애발생정보와의 비율정보는 속도미달정보를 대표하는 값과 장애발생정보를 대표하는 값의 비율정보를 의미한다. 표 1을 통해 예를 들어 설명하면, α는 속도미달정보와 장애발생정보간의 비율정보가 될 수 있다.
α는 시간 t가 충분히 경과했을 때, 스트리밍 데이터 처리시스템(130)이 출력하는 데이터 처리결과 중에서, 스트리밍 데이터 처리시스템(130)의 데이터 처리속도가 제1기준속도보다 느리고, 미리 설정된 장애코드를 출력하였을 때의 비율에 대한 정보로 정의되기 때문이다. 위와 같은 논리로, β, 특정시점에서의 PPV, cPPV, NPV, cNPV도 속도미달정보와 장애발생정보와의 비율정보가 될 수 있다. 제2기준속도산출부(270)는 속도미달정보와 장애발생정보와의 비율정보를 시스템 관리자로부터 입력받거나, 출력데이터저장부(210)에 미리 저장되어 있는 값을 이용할 수 있다.
또한, 관계정보산출부(250)로부터 수신한 상관관계정보는 처리속도정보와 장애발생정보간의 관계성을 나타내는 정보를 의미하므로, 수학식 10뿐만 아니라, 회귀계수 b1, b2, c도 상관관계정보가 될 수 있다.
이하에서는, 제2기준속도산출부(270)가 상관관계정보의 일 예인 회귀계수 b1, b2, c 및 비율정보의 일 예인 α 및 β를 기초로 하여 제2기준속도를 산출하는 일 예를 설명하도록 한다.
먼저, 수학식 10을 벡터 p(x)에 대해 나타내면 수학식 11과 같다.
Figure 112018003537720-pat00011
이때, 수학식 8을 참조하여, 벡터 x를 γ(t)와 a(t)의 결합으로 치환하면, 수학식 12와 같은 결과를 얻을 수 있다.
Figure 112018003537720-pat00012
수학식 12에서, a(t+1)은 이진변수(binary variable)로서 0 또는 1이 된다. 즉, 미리 설정된 장애코드가 출력된 경우에는 a(t+1)이 1이 되고, 미리 설정된 장애코드가 출력된 경우가 아니면 a(t+1)은 0이 된다.
Figure 112018003537720-pat00013
Figure 112018003537720-pat00014
수학식 13은 미리 설정된 장애코드가 출력된 t+1 시점에서의 확률이고, 수학식 14는 미리 설정된 장애코드가 출력되지 않은 t+1 시점에서의 확률이다. 전술한 바에 따르면, t+1 시점은 이미 스트리밍 데이터 처리시스템(130)이 충분히 긴 시간이 경과하여 단조성을 보이기 시작한 이후라고 가정한 바 있으므로, 수학식 13의 결과는 1-β, 수학식 14의 결과는 α와 같다.
Figure 112018003537720-pat00015
수학식 15는 수학식 13 및 수학식 14를 연립하여 정리한 결과를 나타내고 있다. 즉, t+1 시점에서 스트리밍 데이터 처리시스템(130)의 데이터 처리속도와 비교되는 제2기준속도는, α, β, 회귀계수(b1, b2, c)의 값이 모두 있으면 산출될 수 있다. 수학식 11 내지 14로부터 수학식 15를 유도하는 방식으로 제2기준속도를 산출하는 것은 제2기준속도를 산출하는 방법의 일 예이므로, 비율정보 및 상관관계정보를 기초로 하여 제2기준속도를 산출한다면, 수학식 11 내지 수학식 15와 동일한 식을 이용하지 않더라도 본 발명의 범주에 포함될 수 있다.
도 3은 본 발명에 따라 산출되는 제2기준속도를 도식적으로 나타낸 도면이다.
보다 구체적으로, 도 3은 표 2에 따른 제1기준속도, 속도미달여부정보, 장애발생정보를 각각 벡터로 표현하고, 비율정보(α 및 β)와 함께 수학식 15에 대입하여 산출된 제2시점에서의 제2기준속도를 그래프 형태로 나타내고 있다.
이때, 수학식 15에서 b1, b2, c의 값은 표 2에 따른 b1, b2, c를 이용했고, α는 0.95, β는 0.9이었다고 가정한다. 표 2에 따른 데이터에 최우추정법을 적용하면, b1은 0.8445968, b2는 -0.01878321, c는 1.507379이 산출되는 것은 이미 설명한 바 있다.
즉, t가 15인 시점에서 스트리밍 데이터 처리시스템(130)은 이미 단조성을 가진 것으로 가정되며, t가 16인 시점에서 제2기준속도는 165.6873, 약 166이 된다. 스트리밍 데이터 처리시스템(130)은 t가 16인 시점에서 데이터 처리속도가 166보다 빠른 경우에, 성능저하가 없는 것으로 시스템 관리자에 의해 해석될 수 있다.
도 3을 참조하면, 시간이 경과함에 따라서 제1기준속도는 계속 변화하고 있으며, t가 16인 시점에서의 제2기준속도는 t가 0에서 15까지의 시점에서의 제1기준속도의 누적된 특성에 의해 산출된 값이라는 것을 이해할 수 있다. 만약, t가 17인 시점에서의 기준속도를 제3기준속도라고 가정한다면, 제3기준속도는 t가 0에서 15시점에서의 제1기준속도 및 t가 16인 시점에서의 제2기준속도의 특성을 모두 고려하여 산출되며, 위와 같은 방식을 반복함으로써, t+2 시점 이후 시점의 기준속도도 산출될 수 있다.
도 4는 본 발명에 따른 제2기준속도 산출방식을 수도코드(pseudo-code)로 구현한 일 예를 나타낸다.
도 4를 참조하면, α 및 β는 각각 0.95, 0.9로 설정되었으며, t가 0인 시점에서의 제1기준속도도 미리 설정된 값이 할당되는 것을 알 수 있다. 도 4에서 μ(t)는 스트리밍 데이터 처리시스템(130)의 데이터 처리속도를 의미하고, 그 외의 나머지 변수들은 전술한 설명에서 사용한 것과 동일하다.
도 4의 수도코드에 따르면, 제2기준속도산출부(270)는 현재 시점의 PPV 및 NPV가 시간이 충분히 경과하여 단조성을 가질 때까지 계산을 반복하면서, 현재 시점인 t시점의 바로 다음 시점인 t+1 시점에 대한 제2기준속도를 산출한다는 것을 알 수 있다. 이때, 'isViolated'는 SLO값을 입력으로 받아서 0 또는 1의 값을 리턴(return)하는 함수로 가정하며, SLO값은 장애발생정보의 일 예라는 것을 출력데이터저장부(210)를 설명하면서 이미 설명한 바 있다. 도 4의 수도코드에서, 최종식은 수학식 15를 의미한다. 수학식 15를 통해 산출되는 t+1 시점의 제2기준속도는 t+2 시점의 제2기준속도를 산출할 때에는 제1기준속도가 된다.
경보출력부(290)는 스트리밍 데이터 처리시스템(130)의 제2시점에서의 데이터 처리속도가 제2기준속도보다 더 느리면, 성능이상발생경보를 출력한다. 여기서, 제2시점은 제1시점 이후의 시점(시각)을 의미하는 것으로서, 시간이 충분히 경과하여 스트리밍 데이터 처리시스템(130)이 단조성을 보인 이후의 시점을 의미한다. 즉, 제1시점 이후에 한 단위의 단위시각이 경과한 직후는 제2시점이 될 수 있다. 예를 들면, 출력데이터저장부(210)에 스트리밍 데이터 처리시스템(130)이 60초까지 처리한 데이터의 정보가 저장되어 있고 단위시각이 1초라면, 61초 시점이 제2시점이 될 수 있다.
성능이상발생경보는 스트리밍 데이터 처리시스템(130)에 성능저하가 발생했다는 것을 본 발명에 따른 모니터링장치(200)가 시스템 관리자에게 직접적으로 알려주는 정보로서, 시스템 관리자는 성능이상발생경보를 확인한 후, 필요에 따라 스트리밍 데이터 처리시스템(130)을 점검할 수 있다.
이하에서는, 이상동작분석장치(300)에 대해서 설명하기로 하고, 설명의 편의를 위해서, 전술한 제2기준속도는 시간에 흐름이나 스트리밍 데이터 처리 시스템의 데이터 처리상황에 따라서 그 값이 달라진다는 점에서 가변임계치(active threshold value)와 동의어로 사용될 수 있다.
또한, 가변임계치는 전술한 제2기준속도와 동일하지는 않더라도, 제2기준속도에 비례하는 값일 수도 있다. 예를 들어, 제2기준속도가 60일 때, 가변임계치는 60이 될 수도 있고, 미리 정해진 값 100에서 제2기준속도를 감산한 40이 될 수도 있다. 이러한 수치적인 특성은 이상동작분석장치(300)내에서 데이터를 처리하는 알고리즘의 간결함을 위해서 임의로 달라질 수 있는 부분이다. 즉, 관리자는 스트리밍 데이터 처리시스템이 출력하는 출력값이 가변임계치를 초과하는 경우에 이상동작이 발생한 것으로 설정할 수도 있고, 스트리밍 데이터 처리시스템이 출력하는 출력값이 가변임계치를 미달하는 경우에 이상동작이 발생한 것으로 설정할 수도 있으며, 가변임계치는 제2기준속도와 같거나 제2기준속도를 기설정값에서 감산한 수치로 매번 다르게 정의될 것이다.
이상데이터저장부(310)는 미리 정해진 시간범위에 대한 가변임계치와 스트리밍 데이터 처리시스템이 출력하는 출력값을 비교하여, 이상동작(anomaly action)이 발생한 시점정보, 시점정보에 따른 출력값, 출력값에 대응되는 가변임계치를 저장한다.
여기서, 스트리밍 데이터 처리 시스템이 출력하는 출력값이란, 스트리밍 데이터 처리시스템이 스트리밍 데이터를 처리하는 속도 그 자체 또는 그 속도와 비례하여 스트리밍 데이터 처리시스템이 출력하는 출력값이고, 이상동작은 스트리밍 데이터 처리시스템이 스트리밍 데이터를 처리하는 속도가 일정 이상 떨어지는 것을 의미한다. 보다 구체적으로, 스트리밍데이터 처리 시스템이 출력하는 출력값이 가변임계치보다 더 낮은 경우(또는 더 높은 경우), 스트리밍 데이터 처리 시스템이 이상동작을 하고 있다고 모니터링장치(200)에 의해 판별될 수 있다.
여기서, 미리 정해진 시간범위란, 스트리밍 데이터 처리 시스템이 스트리밍 데이터를 처리하고 있었던 과거 시점의 특정기간을 의미한다.
이상데이터저장부(310)는 출력데이터저장부(210) 및 제2기준속도산출부(270)로부터 각각 스트리밍 데이터 처리시스템이 출력하는 출력값, 출력값의 시점정보 및 가변임계치(제2기준속도)를 전달받아서 데이터베이스화한다. 이상데이터저장부(310)에 저장되는 데이터는 시간순으로 정렬되어 저장되므로, 하나의 시점을 특정하여 이상데이터저장부(310)를 검색하면, 해당 시점에서 스트리밍 데이터 처리시스템이 출력한 출력값 및 그 시점에서의 가변임계치가 세트(set)로 검색될 수 있다. 일 예로서, 스트리밍 데이터 처리시스템이 출력값을 1초마다 출력하고, 미리 정해진 시간범위가 오후 2시 30분부터 오후 3시까지이고, 미리 정해진 시간범위동안 계속 스트리밍 데이터 처리시스템이 이상동작을 했다면, 해당 시간범위내에서 출력값 및 가변임계치는 1800세트가 된다.
기간정보산출부(320)는 출력값의 시점정보를 기초로 하여, 이상동작이 연속되어 감지된 이상기간(anomaly duration)에 대한 정보를 산출한다. 이하에서, 이상기간에 대한 정보는 이상기간정보로 약칭하기로 한다.
이상기간이란, 스트리밍 데이터 처리 시스템의 이상동작이 연속되어 감지된 기간에 대한 시간정보를 의미하고, 연속이라는 것은 단순히 두 시점 연속으로 이상동작이 감지된 것뿐만 아니라, 일정 시간이 경과하는 동안 스트리밍 데이터 처리시스템의 출력값이 가변임계치를 계속 초과(또는 미달)한 경우를 모두 포함한다. 예를 들어, 스트리밍 데이터 처리시스템이 연속 세 번으로 출력한 출력값이 모두 가변임계치를 초과하였어도 미리 설정된 연속값이 다섯 번이거나, 스트리밍 데이터 처리시스템이 가변임계치를 초과하는 출력값을 두 번 출력했어도 각 출력값이 출력된 시간적 간격이 미리 설정된 간격값을 초과하였다면, 스트리밍 데이터 처리시스템에서 출력된 정보는 이상기간에 대한 정보로 간주되지 않는다.
즉, 이상기간정보는 스트리밍 데이터 처리시스템이 얼마나 오랫동안 이상동작을 해왔는지에 대한 정보로 이해될 수 있고, 기간정보산출부(320)는 출력값 및 출력값에 대응되는 가변임계치를 기초로 하여 이상기간정보를 산출하기 위한 기간기준값(연속값, 간격값)을 미리 저장하고 있다.
선택적 실시 예로서, 기간정보산출부(320)는 고속푸리에변환(Fast Fourier Transform)을 이용하여 이상기간정보를 산출할 수도 있다.
먼저, 기간정보산출부(320)는 이상데이터저장부(310)로부터 스트리밍 데이터 처리시스템의 출력값, 출력값의 시점정보 및 출력값마다 대응되는 가변임계치를 전달받고, 시점정보를 기초로 하여 스트리밍 데이터 처리시스템의 이상기간정보를 산출한다. 기간정보산출부(320)는 이상데이터저장부(310)로부터 수신한 출력값의 시점정보를 시간순으로 정렬하고, 시점정보마다 출력값 및 가변임계치를 대응시켜서 출력값 및 가변임계치도 시간순으로 정렬되도록 한다.
기간정보산출부(320)는 출력값이 가변임계치를 벗어난 정도(RDR : Relative Deviation Ratio)를 각각 산출하고, 그 정도에 비례하여 각 시점정보에 대한 가중치를 결정한다. 즉, 출력값이 가변임계치를 많이 벗어나면 벗어날수록 높은 가중치가 결정되고, 출력값이 가변임계치와 큰 차이가 없으면 낮은 가중치가 결정된다.
이어서, 기간정보산출부(320)는 출력값마다 서로 다르게 결정된 가중치를 이상데이터저장부(310)로부터 수신한 출력값마다 적용하고, 가중치가 적용된 출력값의 집합을 하나의 데이터집합으로 설정한 후, 고속푸리에변환을 적용한다. 데이터집합을 구성하는 가중치가 적용된 출력값들은 샘플링된 데이터(sampled data)이라고 호칭될 수도 있다.
기본적으로 편차가 있던 출력값들은 가중치가 적용됨에 따라서, 출력값간의 편차가 뚜렷해지는 효과가 있으며, 샘플링된 데이터에 고속푸리에변환이 적용됨으로써, 샘플링된 데이터는 데이터집합 전체를 적어도 하나 이상의 주파수 단위(성분)으로 표현될 수 있게 된다. 기간정보산출부(320)는 고속푸리에변환을 적용한 결과, 서로 다른 피크(peak)값이 존재하면 스트리밍 데이터 처리시스템의 출력값은 여러 개의 이상신호(파동)의 합이라고 판단할 수 있다. 즉, 고속푸리에변환의 결과가 서로 다른 피크값을 보이는 두 가지 이상의 주파수 성분이라면, 스트리밍 데이터 처리시스템의 이상동작을 보이게 된 원인이 적어도 두 가지 이상이라는 것을 의미한다.
기간정보산출부(320)는 위와 같은 과정을 통해서, 스트리밍 데이터 처리시스템의 이상동작의 원인이 적어도 한 가지 이상이라는 것을 파악하고, 데이터집합을 구성하는 가중치가 적용된 출력값들을 지수분포에 적합시킨다.
Figure 112018003537720-pat00016
Figure 112018003537720-pat00017
수학식 16 및 수학식 17은 데이터집합을 구성하는 가중치가 적용된 출력값들을 적합시키기 위한 지수분포에 대한 수학식의 일 예를 나타낸다. 수학식 16은 확률밀도함수로서, 누적분포함수를 산출하기 위한 수학식이고, 수학식 17은 누적분포함수로서, 확률밀도함수를 적분함으로써 산출된다. 수학식 17과 같은 누적분포함수를 이용할 경우, 지수분포의 긴 꼬리, 비대칭성, 저렴한 계산비용 특성에 따라, 이상기간을 지수분포에 적합시키는 것이 다른 분포특성을 이용하는 것보다 더 유리한 효과가 있다.
Figure 112018003537720-pat00018
는 데이터집합을 지수분포에 적합시켰을 때 산출되는 모수(parameter)로 정의되며, 적합은 수학식 10에서 설명한 최우추정법을 이용하게 된다. 최우추정법은 표본의 수가 충분히 확보된 경우, 이산데이터(binary data)에 기초하여 비선형 통계 모델을 분석대상으로 할 때에 효과적인 추정방법이며, 최우추정법은 이미 널리 알려진 방법이므로, 최우추정법을 통해 샘플링된 데이터를 지수 분포에 적합시키는 과정은 생략하기로 한다. 위와 같은 과정에 따르면, 결국
Figure 112018003537720-pat00019
는 데이터집합의 평균,
Figure 112018003537720-pat00020
은 데이터집합의 분산이 된다.
일단, 기간정보산출부(320)는 가중치가 적용된 출력값으로 이루어진 데이터집합이 지수분포에 적합된 이후에, 새로운 이상데이터(가중치가 적용된 출력값의 데이터집합)이 유입되면, 새로운 이상데이터가 기존에 적합시킨 누적분포함수의 어느 부분에 대응되는지 빠르게 찾을 수 있다. 즉, 유입된 이상데이터의 이상시간의 지속시간이 길어질수록 이전에 관측된 이상데이터의 이상시간이 현재 관측된 이상데이터의 이상시간에 비해 더 작은 비율이 높아지는 경향이 생긴다.
예를 들어, t1에서 t2 사이의 이상데이터의 이상시간이 5시간일 때, t2이후의 t3에서 t4사이의 이상데이터의 이상시간이 5시간보다 더 길어지면 길어질수록 t1에서 t2사이의 이상시간을 t3에서 t4사이의 이상시간으로 나눈 값의 크기가 작아지게 되고, 이러한 현상은 이전시점의 이상데이터를 지수분포에 적합시킨 후에도 그대로 적용된다. 다른 예로서, 유입된 이상데이터가 이전에 관측된 이상데이터 누적분포함수에서 높은 확률값에 대응되면, 기간정보산출부(320)는 그 확률값에 대응되는 높은 점수를 산출하게 되며, 그 산출된 점수가 이상기간정보가 된다. 즉, 스트리밍 처리시스템이 출력값을 출력하는 기간이 쌓여가면 갈수록, 지수분포에 적합되는 출력값들은 늘어나게 되고, 미리 설정된 시간범위단위로 가장 최근에 출력된 출력값들이 누적분포함수에 대응되는 확률값에 따라 이상기간정보는 숫자로 표현되는 정보로서 기간정보산출부(320)로부터 산출된다.
전술한 것과 다른 선택적 실시 예로서, 기간정보산출부(320)는 단위고정시간 당 스트리밍 데이터 처리시스템이 이상동작을 보인 횟수를 기반으로 이상기간정보를 산출할 수도 있다. 이때, 단위고정시간은 기간정보산출부(320)에 미리 설정되어 있는 상수이며, 관리자에 의해 변경될 수 있다. 예를 들어, 단위고정시간이 1시간이고, 제1기간동안 이상동작의 횟수가 5번, 제2기간동안 이상동작의 횟수가 10번이라면, 숫자로 표현되는 제2기간의 이상기간정보는 제1기간의 이상기간정보의 두 배가 된다. 위와 같은 예에서, 제1기간 및 제2기간은 모두 단위고정시간과 동일한 시간격차(1시간)이며, 각 기간의 이상동작의 횟수를 기초로 하여 이상기간정보를 산출하는 방식은 전술한 예로 한정하지 않는다.
기간정보산출부(320)는 위와 같은 연산처리를 수행하기 위한 적어도 하나 이상의 프로세서(processor)에 해당하거나, 적어도 하나 이상의 프로세서를 포함할 수 있다. 이에 따라, 기간정보산출부(320)는 마이크로 프로세서나 범용 컴퓨터 시스템과 같은 다른 하드웨어 장치에 포함된 형태로 구동될 수 있다.
이상강도산출부(330)는 출력값 및 가변임계치를 기초로 하여 상대적이상강도 및 절대적이상강도를 산출한다.
먼저, 상대적이상강도(relative anomaly amplitude)를 산출하는 방식에 대해서 설명하기로 한다. 이상강도산출부(330)는, 제1기간의 출력값과 가변임계치와의 차이를 적분(integration)하여 그 정도를 측정하는 방식으로 제1상대값을 산출한다. 이어서, 이상강도산출부(330)는 제2기간의 출력값과 가변임계치와의 차이를 적분하여 그 정도를 측정하는 방식으로 제2상대값을 산출한다. 마지막으로, 이상강도산출부(330)는 제1상대값 및 제2상대값을 비교하고, 비교한 결과에 비례하는 점수를 산출한다. 제1상대값 및 제2상대값은 각각 제1기간 및 제2기간의 상대적이상강도가 되며, 이상강도산출부(330)가 최종적으로 출력하는 점수(score)는 제1기간 및 제2기간의 상대적이상강도를 비교한 결과에 비례하는 수가 된다. 이상강도산출부(330)는 제1기간 및 제2기간의 상대적이상강도를 비교한 결과에 따라 점수를 산출하기 위해 참조하는 점수사전(score dictionary)을 포함하고 있으며, 점수사전은 제1기간 및 제2기간의 상대적이상강도를 비교한 결과와 그에 따른 점수가 1:1로 매칭되어 있다.
위와 같이 상대적이상강도를 산출하고 비교하는 것이 의미있는 이유는, 본 발명에서 스트리밍 데이터 처리시스템은 시간의 흐름 및 시스템의 데이터 처리상황에 따라 이상동작을 판별하는 데에 필수적인 값인 가변임계치가 액티브하게 변화하는 특성을 갖게 되므로, 기존의 방법과는 다른 방식을 통해서 스트리밍 데이터 처리시스템의 이상동작의 강도를 수치화할 필요가 있기 때문이다.
절대적이상강도(absolute anomaly amplitude)는 스트리밍 데이터 처리시스템의 출력값과 가변임계치간의 상대적인 이상성(anomality)에 주목하는 것이 아닌, 스트리밍 데이터 처리시스템가 출력하는 출력값 자체가 출력값 전체 범위를 기초로 했을 때 얼마나 이상한지 여부를 수치화한 값으로 정의된다. 이상강도산출부(330)는 스트리밍 데이터 처리시스템의 출력값을 최대출력값 및 최소출력값을 기초로 0에서 1사이의 값으로 정규화하고, 정규화한 값을 기초로 절대적이상강도를 산출한다. 보다 구체적으로, 이상강도산출부(330)는 절대적이상강도에 대해서도 상대적이상강도와 동일하게 제1기간 및 제2기간의 절대적이상강도를 산출한 후, 산출된 두 값을 비교한 결과를 기초로 하여 점수화하게 된다.
이하는, 이상강도산출부(330)가 절대적이상강도를 산출하는 일 예를 나타낸다.
Figure 112018003537720-pat00021
수학식 18은 절대적이상강도를 산출하기 위한 수학식의 일 예를 나타낸다. 수학식 18에서
Figure 112018003537720-pat00022
는 특정시점에서의 절대적이상강도,
Figure 112018003537720-pat00023
는 특정시점에서의 스트리밍 데이터 처리시스템의 출력값,
Figure 112018003537720-pat00024
는 출력값의 집합에서 최솟값,
Figure 112018003537720-pat00025
는 출력값의 집합에서 최대값을 의미한다. 수학식 18에 따라, 절대적이상강도는 언제나 0에서 1사이의 값을 갖는다.
수학식 18을 참조하면, 이상강도산출부(330)는 스트리밍 데이터 처리시스템의 출력값들의 집합에서 최댓값과 최솟값을 파악하고, 파악된 최댓값과 최솟값을 기초로 하여 절대적이상강도를 산출할 수 있다. 예를 들어, 스트리밍 데이터 처리시스템의 출력값의 집합에 58, 109, 60, 120, 이상 네 가지의 출력값이 포함되어 있다고 가정하면, 이상강도산출부(330)는 최댓값 120과 최솟값 58을 파악하고, 수학식 18에 적용함으로써, 0, 0.823, 0.032, 1을 각각 산출하고, 0과 1을 제외한 0.823, 0.032를 기초로 하여 제1기간을 대표하는 절대적이상강도를 산출한다. 여기서, 0.823과 0.032의 평균값은 제1기간의 절대적이상강도가 될 수 있다.
이어서, 이상강도산출부(330)는 제2기간의 출력값의 집합을 받아들여서 제2기간에 대한 절대적이상강도를 위와 같은 과정을 통해 산출한 후, 제1기간 및 제2기간의 절대적이상강도의 비교한 결과를 점수화한다.
위와 같은 과정을 통해서, 기간정보산출부(320) 및 이상강도산출부(330)가 산출한 이상기간정보, 상대적이상강도 및 절대적이상강도는 대표값산출부(340)에 전달된다. 실시 예에 따라서, 상대적이상강도 및 절대적이상강도는 상대적이상강도를 기초로 산출된 점수(score) 및 절대적이상강도를 기초로 산출된 점수(score)가 대표값산출부(340)에 전달될 수 있다.
대표값산출부(340)는 이상기간정보, 상대적이상강도, 절대적이상강도를 종합한 결과를 기초로 하여, 미리 정해진 시간범위에 대한 이상대표값을 산출한다. 여기서, 이상대표값은 미리 정해진 시간범위 전체를 대표하는 수치로서, 미리 정해진 시간범위에서 스트리밍 데이터 처리시스템이 어떻게 동작했는지를 단적으로 보여주는 수치로 정의된다. 대표값산출부(340)는 기간정보산출부(320) 및 이상강도산출부(330)가 산출한 결과를 합하거나 평균을 내는 방식을 통해서 이상대표값을 산출할 수 있으며, 이상대표값을 산출하는 방식에 대해서는 특정한 방법으로 한정하지 않으므로, 본 발명의 다른 구성을 모두 포함한 채 이상대표값을 산출하는 방식만 달리하는 방법이 있다면, 해당 방법은 본 발명의 범주를 벗어나지 않는다.
일 예로, 미리 정해진 시간범위가 제1기간이면, 대표값산출부(340)는 제1기간을 대표하는 이상대표값을 산출하고, 그 이후의 미리 정해진 시간범위가 제1기간과 중복되지 않고 제1기간 이후인 제2기간이라면, 대표값산출부(340)는 제2기간을 대표하는 이상대표값을 산출한다. 관리자는 제1기간의 이상대표값, 제2기간의 이상대표값을 간단히 비교함으로써, 매 시점이 아닌 기간단위로 스트리밍 데이터 처리시스템의 이상동작 발생 추이를 파악할 수 있게 된다.
수많은 모듈(module)을 포함하는 스트리밍 데이터 처리시스템에 있어서, 각 모듈에 대한 이상동작특성을 일일이 점수화하는 종래기술에 의할 경우, 지나치게 많은 데이터의 수집 및 계산을 요구할 뿐만 아니라, 관리자가 해당 데이터를 보더라도 직관적으로 이해하기 어렵다는 문제점이 있으나, 본 발명에 따르면, 스트리밍 데이터 처리시스템을 구성하는 복수의 모듈들이 독립적으로 동작하는 것이 아니라 서로 연관되어 동작하면서 영향을 주고 받는다는 점과, 스트리밍 데이터 처리시스템이 가변임계치를 기준으로 하여 이상동작발생여부를 파악하는 특성을 동시에 고려하여, 미리 정해진 시간범위(제1기간 또는 제2기간)을 대표하는 대표값을 산출함으로써, 그 대표값을 확인하는 것만으로 관리자가 시스템의 이상동작발생빈도의 추이를 기간별로 한눈에 파악할 수 있게 된다.
선택적 일 실시 예로서, 스트리밍 데이터 처리시스템이 적어도 두 가지 이상의 모듈(module)로 구성되어 있고, 대표값산출부(340)가 각 모듈에 대한 이상대표값을 각각 산출하였다면, 대표값산출부(340)는 각 모듈에 대한 이상대표값 및 각 모듈의 연관관계를 고려하여 스트리밍 데이터 처리시스템에 대한 이상대표값을 산출할 수도 있다. 본 선택적 실시 예는, 스트리밍 데이터 처리시스템에서 데이터 처리속도와 관련된 출력값이 하나가 나오는 것이 아니라, 스트리밍 데이터 처리시스템이 복수의 모듈로 구성되어 동작되고, 각 모듈이 스트리밍 데이터 처리속도와 관련된 출력값을 각각 출력할 때에 적용될 수 있는 실시 예로서, 각 모듈의 연관관계를 반영한 전체 시스템의 이상대표값을 산출한다는 점에 특징이 있다.
모듈번호 이상기간정보 상대적이상강도 절대적이상강도 모듈별이상대표값
1 a1 a2 a3 A
2 b1 b2 b3 B
3 c1 c2 c3 C
표 3은 본 선택적 실시 예에서, 스트리밍 데이터 처리시스템의 이상대표값을 산출하는 과정을 설명하기 위한 표이다. 설명의 편의를 위해서, 스트리밍 데이터 처리시스템은 총 3개의 모듈로 구성되어 있고, 각 모듈별 이상기간정보, 상대적이상강도, 절대적이상강도, 이상대표값은 표 3과 같다고 가정한다.
대표값산출부(340)는 세 가지의 모듈의 이상대표값을 노드(node)로 간주하고, 각 모듈간의 연관관계를 엣지(edge)로 간주하여 관계식을 수립하고, 스트리밍 데이터 처리시스템의 전체 이상대표값을 산출한다.
먼저, 대표값산출부(340)는 각 모듈의 이상대표값을 파악하여 각 이상대표값마다 하나의 노드를 대응시킨다. 이어서, 대표값산출부(340)는 각 모듈의 이상기간정보, 상대적이상강도, 절대적이상강도를 기초로 각 모듈간의 엣지값을 산출한다.
대표값산출부(340)는 각 모듈간의 엣지값을 산출하기 위해서 각 모듈의 이상기간정보, 상대적이상강도, 절대적이상강도를 각 모듈을 대표하는 벡터성분으로 설정하고, 피어슨 상관계수(Pearson correlation)식을 이용할 수 있다. 피어슨 상관계수식은 같은 차원의 두 벡터의 성분을 기초로, 두 벡터의 상관관계값을 도출하기 위한 식으로서, 널리 알려져 있는 방법이므로, 이에 대한 자세한 설명은 생략하기로 한다.
도 7은 대표값산출부가 생성한 노드 및 엣지를 도식화하여 나타낸 도면이다.
도 7을 참조하면, 노드 A 내지 노드 C가 엣지
Figure 112018003537720-pat00026
내지
Figure 112018003537720-pat00027
를 통해 연결되어 있는 것을 알 수 있다. A 내지 C는 각 노드(모듈)의 이상대표값이며,
Figure 112018003537720-pat00028
내지
Figure 112018003537720-pat00029
는 대표값산출부(340)에 의해 산출된 값으로서, 피어슨 상관계수식에 따라서 -1과 1사이의 크기를 갖는 수이다.
대표값산출부(340)는 위와 같이, 노드 및 엣지를 통해서 스트리밍 데이터 처리시스템의 각 모듈의 연관관계가 산출되면, 각 모듈의 연관관계 및 각 모듈의 이상동작발생여부를 기초로 하여 스트리밍 데이터 처리시스템 전체의 이상대표값을 산출할 수 있다.
Figure 112018003537720-pat00030
Figure 112018003537720-pat00031
수학식 19 및 수학식 20은 대표값산출부(340)가 이상대표값을 산출하기 위한 수학식을 나타낸다. 먼저, 수학식 19에서, N1는 전체노드에서 이상동작이 발생된 노드의 비율값, Score는 노드의 값, NN은 노드의 수(Number of Node), NE는 엣지의 수(Number of Edge), NA는 이상동작이 발생한 노드(모듈)간 엣지의 수(Number of Anomalous Edges)를 의미한다. 수학식 20에서, N2는 노드값의 평균(Average of Node Degree), NT는 각 노드를 기준으로 한 총 엣지의 수(Number of Total Edges for each Node)를 의미한다.
대표값산출부(340)는 수학식 19 및 수학식 20을 통해서 N1 및 N2를 산출하고 나면, 수학식 21을 통해서 모듈 1 내지 모듈 3을 포함하는 스트리밍 데이터 처리시스템의 이상대표값을 산출할 수 있다.
Figure 112018003537720-pat00032
수학식 21은 대표값산출부(340)가 스트리밍 데이터 처리시스템의 이상대표값을 산출하기 위해 사용하는 수학식의 일 예이다. 수학식 21에서
Figure 112018003537720-pat00033
은 적어도 두 개 이상의 모듈을 포함하는 스트리밍 데이터 처리시스템의 이상대표값을 의미한다.
본 발명에 따르면, 위와 같은 과정을 통해서 스트리밍 데이터 처리시스템의 이상대표값을 산출함에 따라, 스트리밍 데이터 처리시스템을 구성하는 복수의 모듈들이 독립적으로 동작하는 것이 아니라 서로 연관되어 동작하면서 영향을 주고 받는다는 점과, 스트리밍 데이터 처리시스템이 가변임계치를 기준으로 하여 이상동작발생여부를 파악하는 특성을 동시에 고려한 대표값을 얻을 수 있다. 관리자는 미리 정해진 시간범위별로 산출된 대표값들을 확인하는 것만으로 관리자가 시스템의 이상동작발생빈도의 추이를 기간별로 한눈에 파악할 수 있게 된다.
전술한 것과 다른 선택적 일 실시 예로서, 이상동작분석장치(300)는 대표값송신부(350) 및 대표값조정부(360)를 더 포함할 수도 있다.
대표값송신부(350)는 대표값산출부(340)가 산출한 이상대표값 및 미리 설정된 시간범위보다 더 이전 시간범위에 대한 과거이상대표값을 사용자단말에 송신한다. 여기서, 사용자단말은 도 1의 관리자단말(400)을 의미하는 것으로 간주한다.
대표값조정부(360)는 대표값송신부(350)가 송신한 이상대표값 및 과거이상대표값에 대응하는 조정값을 수신하고, 그 조정값을 기초로 이상대표값을 변경한다.
본 발명에 따른 이상동작분석장치(300)는 대표값송신부(350) 및 대표값조정부(360)를 더 포함함에 따라서, 관리자단말(400)로부터 조정값을 수신하고, 그 조정값에 따라 이상대표값을 변경할 수 있다. 즉, 관리자는 이상대표값의 관리자단말을 통해서 관찰하다가 스트리밍 데이터 처리시스템에 이상동작이 감지되지 않아야 하는 상황인데도 불구하고 이상동작이 감지되어 높은 이상대표값을 산출한다고 파악되면(false positive), 관리자단말(400)이 이상대표값을 임의로 낮출 수 있는 조정값을 생성하여 대표값조정부(360)에 송신하도록 할 수 있다. 다른 예로서, 관리자는 관리자단말(400)이 이상대표값을 낮추기 위한 조정값을 생성하여 대표값조정부(360)에 송신하도록 할 수도 있다.
본 선택적 실시 예에 따르면, 관리자 피드백(administrator feedback)을 반영하는 방식으로 특정 시점의 이상대표값을 조정하여, 그 조정된 시점 이후에 이상동작분석장치(300)의 운용이 보다 더 원활하게 되도록 유도함으로써, 더 적은 비용으로 스트리밍 데이터 처리시스템을 더 효율적으로 오랫동안 모니터링하고, 이상동작을 분석하는 것이 가능해진다.
도 5는 본 발명에 따른 스트리밍 데이터 처리시스템을 모니터링하는 방법의 일 예의 흐름도를 도시한 도면이다.
도 5에 따른 방법은 도 2에 따른 스트리밍 데이터 처리시스템을 모니터링하는 모니터링장치(200)에 의해 구현될 수 있으므로, 도 2를 참조하여 설명하기로 하며, 도 2에서 설명한 것과 중복적인 설명은 생략하기로 한다.
먼저, 속도미달정보파악부(230)는 출력데이터저장부(210)를 참조하여, 처리속도정보에서 제1기준속도보다 더 느리게 데이터가 처리된 시점의 속도미달정보를 파악한다(S510). 여기서, 출력데이터저장부(210)는 제1시점에서 처리한 데이터의 처리속도정보 및 장애발생정보를 단위시각별로 저장하고 있다.
단계 S510의 선택적 일 실시 예로서, 제1기준속도는 단위시각별로 서로 다르게 설정될 수도 있다. 또한, 단계 S510에서 출력데이터저장부(210)에 저장된 장애발생정보는 기설정된 기준장애코드가 발생한 시점의 기준장애정보 및 기준장애코드 외의 장애코드만 발생한 시점의 비기준장애정보를 포함할 수도 있다.
이어서, 관계정보산출부(250)는 처리속도정보와 장애발생정보간의 상관관계정보를 산출한다(S530).
단계 S530의 선택적 일 실시 예로서, 관계정보산출부(250)는 최우추정법(Maximum Likelihood Method)를 이용하여 상관관계정보를 산출할 수도 있다.
단계 S530의 다른 선택적 일 실시 예로서, 관계정보산출부(250)는 로짓변환(Logit Transformation)을 이용하여 상관관계정보를 산출할 수 있다.
제2기준속도산출부(270)는 속도미달정보와 장애발생정보와의 비율정보를 수신하고, 상관관계정보 및 비율정보를 기초로 제1시점 이후의 제2시점에서의 제2기준속도를 산출한다(S550).
단계 S550의 선택적 일 실시 예로서, 제2기준속도산출부(270)가 수신한 비율정보는 속도미달정보 및 기준장애정보간의 비율에 대한 정보일 수 있다.
경보출력부(290)는 제2시점에서의 스트리밍 데이터 처리시스템(130)의 데이터 처리속도를 제2기준속도와 비교한다(S570). 경보출력부(290)는 제2시점에서의 스트리밍 데이터 처리시스템(130)의 데이터 처리속도가 제2기준속도보다 더 느리면, 성능이상발생경보를 출력한다(S590). 단계 S590에서, 경보출력부(290)가 출력하는 성능이상발생경보는 스트리밍 데이터 처리시스템(130)에 성능저하가 발생했다는 것을 시스템 관리자에게 직접적으로 알려주는 정보로서, 시스템 관리자는 성능이상발생경보를 보고 스트리밍 데이터 처리시스템(130)을 점검할 수 있다.
본 발명에 따르면, 빅 스트리밍 데이터(big streaming data)를 처리하는 스트리밍 데이터 처리시스템의 처리결과와 비교되는 임계값인 제2기준속도가 시간의 변화에 따라 관리자가 개입할 필요 없이 능동적으로 산출되고 적용됨으로써, 스트리밍 데이터 처리 시스템의 성능변화상태를 시스템 관리자의 개입을 최소화하면서 감시할 수 있게 되어, 시스템 관리자의 업무부담을 경감시킬 수 있다.
또한, 스트리밍 데이터 처리시스템에 본 발명에 따른 모니터링 장치를 적용할 경우, 보다 적은 운용 인력과 시간을 투입하고도 종전과 동일하거나 그 이상의 시스템 감시 효과를 달성할 수 있다.
도 6은 본 발명에 따른 스트리밍 데이터 처리시스템의 이상동작을 분석하는 방법의 일 예의 흐름도를 도시한 도면이다.
도 6에 따른 방법은 도 2에 따른 스트리밍 데이터 처리시스템을 이상동작을 분석하는 이상동작분석장치(300)에 의해 구현될 수 있으므로, 도 2를 참조하여 설명하기로 하며, 도 2에서 설명한 것과 중복적인 설명은 생략하기로 한다.
이상데이터저장부(310)는 미리 정해진 시간범위에서의 시스템의 출력값 및 가변임계치를 선별하여 저장한다(S610).
기간정보산출부(320)는 이상동작이 감지되어 온 이상기간에 대한 정보를 산출한다(S630).
이상강도산출부(330)는 출력값 및 가변임계치를 기초로 상대적이상강도 및 절대적이상강도를 산출한다(S650).
대표값산출부(340)는 이상기간에 대한 정보, 상대적이상강도, 절대적이상강도를 기초로 미리 정해진 시간범위를 대표하는 이상대표값을 산출한다(S670).
실시 예에 따라, 본 실시 예에 따른 방법을 구현하는 이상동작분석장치(300)는 대표값송신부(350) 및 대표값조정부(360)를 추가로 포함할 수 있는 것은, 이미 도 2에서 설명한 바 있으므로 생략하기로 한다.
이상 설명된 본 발명에 따른 실시 예는 컴퓨터상에서 다양한 구성요소를 통하여 실행될 수 있는 컴퓨터 프로그램의 형태로 구현될 수 있으며, 이와 같은 컴퓨터 프로그램은 컴퓨터로 판독 가능한 매체에 기록될 수 있다. 이때, 매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치를 포함할 수 있다.
한편, 상기 컴퓨터 프로그램은 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 프로그램의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함될 수 있다.
본 발명에서 설명하는 특정 실행들은 일 실시 예들로서, 어떠한 방법으로도 본 발명의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다. 또한, “필수적인”, “중요하게” 등과 같이 구체적인 언급이 없다면 본 발명의 적용을 위하여 반드시 필요한 구성 요소가 아닐 수 있다.
본 발명의 명세서(특히 특허청구범위에서)에서 “상기”의 용어 및 이와 유사한 지시 용어의 사용은 단수 및 복수 모두에 해당하는 것일 수 있다. 또한, 본 발명에서 범위(range)를 기재한 경우 상기 범위에 속하는 개별적인 값을 적용한 발명을 포함하는 것으로서(이에 반하는 기재가 없다면), 발명의 상세한 설명에 상기 범위를 구성하는 각 개별적인 값을 기재한 것과 같다. 마지막으로, 본 발명에 따른 방법을 구성하는 단계들에 대하여 명백하게 순서를 기재하거나 반하는 기재가 없다면, 상기 단계들은 적당한 순서로 행해질 수 있다. 반드시 상기 단계들의 기재 순서에 따라 본 발명이 한정되는 것은 아니다. 본 발명에서 모든 예들 또는 예시적인 용어(예들 들어, 등등)의 사용은 단순히 본 발명을 상세히 설명하기 위한 것으로서 특허청구범위에 의해 한정되지 않는 이상 상기 예들 또는 예시적인 용어로 인해 본 발명의 범위가 한정되는 것은 아니다. 또한, 당업자는 다양한 수정, 조합 및 변경이 부가된 특허청구범위 또는 그 균등물의 범주 내에서 설계 조건 및 팩터에 따라 구성될 수 있음을 알 수 있다.

Claims (15)

  1. 시스템이 주기적으로 출력하는 출력값과 시간에 따라 변화하는 가변임계치(active threshold value)를 비교한 결과를 기초로 시스템의 이상동작이 파악되면 이상동작알람을 발생시키는 스트리밍 데이터 처리 시스템에 있어서,
    미리 정해진 시간범위에 대한 상기 가변임계치와 상기 출력값을 비교하여, 이상동작(anomaly action)이 발생한 시점정보, 상기 시점정보에 따른 출력값, 상기 출력값에 대응되는 가변임계치를 저장하는 이상데이터저장부;
    상기 시점정보를 기초로 하여, 이상동작이 연속되어 감지된 이상기간(anomaly duration)에 대한 이상기간정보를 산출하는 기간정보산출부;
    상기 출력값 및 상기 가변임계치를 기초로 하여, 상대적이상강도 및 절대적이상강도를 산출하는 이상강도산출부; 및
    상기 이상기간정보, 상기 상대적이상강도 및 상기 절대적이상강도를 종합한 결과를 기초로 하여 상기 시간범위에 대한 이상대표값을 산출하는 대표값산출부를 포함하는 스트리밍 데이터 처리 시스템의 이상동작 분석 장치.
  2. 제1항에 있어서,
    상기 기간정보산출부는,
    고속푸리에변환을 이용하여 상기 이상기간정보를 산출하는 것을 특징으로 하는 스트리밍 데이터 처리 시스템의 이상동작 분석 장치.
  3. 제1항에 있어서,
    상기 기간정보산출부는,
    상기 출력값이 상기 출력값과 대응되는 가변임계치를 벗어난 정도를 기초로 설정되는 가중치에 따라 샘플링된 데이터로부터 상기 이상기간정보를 산출하는 것을 특징으로 하는 스트리밍 데이터 처리 시스템의 이상동작 분석 장치.
  4. 제3항에 있어서,
    상기 기간정보산출부는,
    상기 샘플링된 데이터를 지수분포에 적합시킨 결과를 기초로 하여, 상기 이상기간정보를 산출하는 것을 특징으로 하는 스트리밍 데이터 처리 시스템의 이상동작 분석 장치.
  5. 제1항에 있어서,
    상기 이상강도산출부는,
    상기 출력값과 상기 출력값에 대응되는 가변임계치와의 차이를 적분하여 산출된 수치를 기초로 하여 상기 상대적이상강도를 산출하는 것을 특징으로 하는 스트리밍 데이터 처리 시스템의 이상동작 분석 장치.
  6. 제1항에 있어서,
    상기 이상강도산출부는,
    상기 출력값들의 집합에 포함된 최대출력값 및 최소출력값을 기초로 상기 출력값을 0에서 1사이의 값으로 정규화하고,
    상기 정규화한 값을 기초로 상기 절대적이상강도를 산출하는 것을 특징으로 하는 스트리밍 데이터 처리 시스템의 이상동작 분석 장치.
  7. 삭제
  8. 시스템이 주기적으로 출력하는 출력값과 시간에 따라 변화하는 가변임계치(active threshold value)를 비교한 결과를 기초로 시스템의 이상동작이 파악되면 이상동작알람을 발생시키는 스트리밍 데이터 처리 시스템의 이상동작 분석 방법에 있어서,
    미리 정해진 시간범위에 대한 상기 가변임계치와 상기 출력값을 비교하여, 이상동작(anomaly action)이 발생한 시점정보, 상기 시점정보에 따른 출력값, 상기 출력값에 대응되는 가변임계치를 저장하는 이상데이터저장단계;
    상기 시점정보를 기초로 하여, 이상동작이 연속되어 감지된 이상기간(anomaly duration)에 대한 이상기간정보를 산출하는 기간정보산출단계;
    상기 출력값 및 상기 가변임계치를 기초로 하여, 상대적이상강도 및 절대적이상강도를 산출하는 이상강도산출단계; 및
    상기 이상기간정보, 상기 상대적이상강도 및 상기 절대적이상강도를 종합한 결과를 기초로 하여 상기 시간범위에 대한 이상대표값을 산출하는 대표값산출단계를 포함하는 스트리밍 데이터 처리 시스템의 이상동작 분석 방법.
  9. 제8항에 있어서,
    상기 기간정보산출단계는,
    고속푸리에변환을 이용하여 상기 이상기간정보를 산출하는 것을 특징으로 하는 스트리밍 데이터 처리 시스템의 이상동작 분석 방법.
  10. 제8항에 있어서,
    상기 기간정보산출단계는,
    상기 출력값이 상기 출력값과 대응되는 가변임계치를 벗어난 정도를 기초로 설정되는 가중치에 따라 샘플링된 데이터로부터 상기 이상기간정보를 산출하는 것을 특징으로 하는 스트리밍 데이터 처리 시스템의 이상동작 분석 방법.
  11. 제10항에 있어서,
    상기 기간정보산출단계는,
    상기 샘플링된 데이터를 지수분포에 적합시킨 결과를 기초로 하여, 상기 이상기간정보를 산출하는 것을 특징으로 하는 스트리밍 데이터 처리 시스템의 이상동작 분석 방법.
  12. 제8항에 있어서,
    상기 이상강도산출단계는,
    상기 출력값과 상기 출력값에 대응되는 가변임계치와의 차이를 적분하여 산출된 수치를 기초로 하여 상기 상대적이상강도를 산출하는 것을 특징으로 하는 스트리밍 데이터 처리 시스템의 이상동작 분석 방법.
  13. 제8항에 있어서,
    상기 이상강도산출단계는,
    상기 출력값들의 집합의 최대출력값 및 최소출력값을 기초로 상기 출력값을 0에서 1사이의 값으로 정규화하고,
    상기 정규화한 값을 기초로 상기 절대적이상강도를 산출하는 것을 특징으로 하는 스트리밍 데이터 처리 시스템의 이상동작 분석 방법.
  14. 삭제
  15. 제8항 내지 제13항 중 어느 한 항에 따른 방법을 구현시키기 위한 프로그램을 저장하고 있는 컴퓨터 판독가능한 기록매체.
KR1020180003841A 2018-01-11 2018-01-11 스트리밍 데이터 처리시스템의 이상동작 분석 장치 및 그 방법 KR101869490B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020180003841A KR101869490B1 (ko) 2018-01-11 2018-01-11 스트리밍 데이터 처리시스템의 이상동작 분석 장치 및 그 방법
PCT/KR2018/000611 WO2019139189A1 (ko) 2018-01-11 2018-01-12 스트리밍 데이터 처리시스템의 이상동작 분석 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180003841A KR101869490B1 (ko) 2018-01-11 2018-01-11 스트리밍 데이터 처리시스템의 이상동작 분석 장치 및 그 방법

Publications (1)

Publication Number Publication Date
KR101869490B1 true KR101869490B1 (ko) 2018-06-21

Family

ID=62806588

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180003841A KR101869490B1 (ko) 2018-01-11 2018-01-11 스트리밍 데이터 처리시스템의 이상동작 분석 장치 및 그 방법

Country Status (2)

Country Link
KR (1) KR101869490B1 (ko)
WO (1) WO2019139189A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210019297A (ko) 2019-08-12 2021-02-22 국방과학연구소 반능동 레이저 탐지 시스템에서 적응형 임계값 설정방법 및 그 시스템

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114265359B (zh) * 2021-12-15 2023-08-25 昆船智能技术股份有限公司 一种输送设备运行时间异常的智能检测系统及方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101218927B1 (ko) 2011-12-28 2013-01-21 주식회사 엘지유플러스 웹 서비스의 사용자 체감 성능 모니터링 방법과 이를 위한 프로그램이 기록된 기록매체 및 컴퓨팅 장치
KR20160069444A (ko) * 2014-12-08 2016-06-16 엔트릭스 주식회사 클라우드 스트리밍 서비스를 위한 서비스 품질 모니터링 시스템 및 방법, 그리고 컴퓨터 프로그램이 기록된 기록매체

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011108439A1 (ja) * 2010-03-03 2011-09-09 三菱電機株式会社 通信制御装置および通信制御方法
KR101108020B1 (ko) * 2010-03-08 2012-01-25 한국과학기술원 이동단말기에 구비된 가속도 센서를 이용한 위치값 인식 업데이트 주기 조절 장치 및 방법과 그 방법을 수행하는 명령어를 포함하는 컴퓨터 판독가능 기록매체
WO2016075924A1 (ja) * 2014-11-10 2016-05-19 日本電気株式会社 情報処理システム及び遅延計測方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101218927B1 (ko) 2011-12-28 2013-01-21 주식회사 엘지유플러스 웹 서비스의 사용자 체감 성능 모니터링 방법과 이를 위한 프로그램이 기록된 기록매체 및 컴퓨팅 장치
KR20160069444A (ko) * 2014-12-08 2016-06-16 엔트릭스 주식회사 클라우드 스트리밍 서비스를 위한 서비스 품질 모니터링 시스템 및 방법, 그리고 컴퓨터 프로그램이 기록된 기록매체

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210019297A (ko) 2019-08-12 2021-02-22 국방과학연구소 반능동 레이저 탐지 시스템에서 적응형 임계값 설정방법 및 그 시스템

Also Published As

Publication number Publication date
WO2019139189A1 (ko) 2019-07-18

Similar Documents

Publication Publication Date Title
CN110880984B (zh) 基于模型的流量异常监测方法、装置、设备及存储介质
CN111212038B (zh) 基于大数据人工智能的开放数据api网关系统
US8086708B2 (en) Automated and adaptive threshold setting
US8175253B2 (en) System and method for automated performance monitoring for a call servicing system
US20060293777A1 (en) Automated and adaptive threshold setting
US7082381B1 (en) Method for performance monitoring and modeling
US20070271219A1 (en) Performance degradation root cause prediction in a distributed computing system
US9015312B2 (en) Network management system and method for identifying and accessing quality of service issues within a communications network
CN110428018A (zh) 一种全链路监控系统中的异常预测方法及装置
CN101189895A (zh) 异常检测方法和系统以及维护方法和系统
CN116955092B (zh) 基于数据分析的多媒体系统监控方法及系统
US7197428B1 (en) Method for performance monitoring and modeling
CN107239388A (zh) 一种监测告警方法及系统
KR101869490B1 (ko) 스트리밍 데이터 처리시스템의 이상동작 분석 장치 및 그 방법
CN111262750B (zh) 一种用于评估基线模型的方法及系统
TWI684139B (zh) 基於自動學習的基地台異常之預測的系統與方法
CN116680146A (zh) 一种保障应用软件安全可靠运行的方法和装置
CN111901134B (zh) 一种基于循环神经网络模型rnn的预测网络质量的方法和装置
EP2882139B1 (en) System and method for IT servers anomaly detection using incident consolidation
EP3391635B1 (en) Autonomic method for modifying an decision tree algorithm operating on a multi-terminal telecommunications system
KR101763394B1 (ko) 스트리밍 데이터 고속처리시스템을 모니터링하는 모니터링장치 및 그 방법
KR20170108315A (ko) 시스템 장애 모니터링 방법 및 장치
US11941535B2 (en) Computer-implemented method of modifying an algorithm operating on a computing system
CN111327442B (zh) 基于控制图的投诉预警阈值获取方法及装置
TWI749072B (zh) 異常訊務偵測伺服器及其異常訊務偵測方法

Legal Events

Date Code Title Description
GRNT Written decision to grant