KR102499005B1 - 트랜잭션 응답 분포도의 패턴 인식 방법시스템 및 이를 이용한 패턴 인식 시스템방법 - Google Patents

트랜잭션 응답 분포도의 패턴 인식 방법시스템 및 이를 이용한 패턴 인식 시스템방법 Download PDF

Info

Publication number
KR102499005B1
KR102499005B1 KR1020220127193A KR20220127193A KR102499005B1 KR 102499005 B1 KR102499005 B1 KR 102499005B1 KR 1020220127193 A KR1020220127193 A KR 1020220127193A KR 20220127193 A KR20220127193 A KR 20220127193A KR 102499005 B1 KR102499005 B1 KR 102499005B1
Authority
KR
South Korea
Prior art keywords
transaction
data
pattern recognition
pattern
monitoring
Prior art date
Application number
KR1020220127193A
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 KR1020220127193A priority Critical patent/KR102499005B1/ko
Application granted granted Critical
Publication of KR102499005B1 publication Critical patent/KR102499005B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3072Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/321Display for diagnostics, e.g. diagnostic result display, self-test user interface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Quality & Reliability (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Image Analysis (AREA)

Abstract

패턴 인식 시스템은, 트랜잭션 응답 분포도의 패턴을 인식하는 시스템에 있어서, 트랜잭션을 지시하는 데이터가 복수의 트랜잭션 패턴 중 하나로 분류될 확률을 출력하는 패턴 인식 모델을 학습시키는 모델 학습 서버, 상기 패턴 인식 모델을 통해 성능 모니터링의 대상이 되는 애플리케이션 서버의 제1 트랜잭션 데이터가 상기 복수의 트랜잭션 패턴 중 하나로 매칭되는지를 추론하는 모니터링 클라이언트, 및 상기 애플리케이션 서버로부터 수신한 상기 제1 트랜잭션 데이터 및 상기 모델 학습 서버로부터 수신한 상기 패턴 인식 모델을 상기 모니터링 클라이언트에 제공하는 모니터링 모듈을 포함한다.

Description

트랜잭션 응답 분포도의 패턴 인식 방법시스템 및 이를 이용한 패턴 인식 시스템방법{PATTERN RECOGNITION METHODSYSTEM OF TRANSACTION RESPONSE SCATTER CHART AND PATTERN RECOGNITION SYSTEMMETHOD USING THE SAME}
본 발명은 트랜잭션 응답 분포도의 패턴 인식 시스템 및 이를 이용한 패턴 인식 방법에 관한 것이다.
애플리케이션의 성능을 모니터링하기 위해서는 2차원 평면에 트랜잭션의 응답 분포를 표현하는 컴포넌트가 사용될 수 있다. 이러한 2차원 평면 컴포넌트의 x축은 트랜잭션의 종료 시간, y축은 트랜잭션의 응답 시간으로 정의될 수 있다. 일반적으로 x 축의 우측 끝점은 현재 시점을 나타내고일반적으로 현재 시점을 x 축의 우측 끝점에 두고, 실시간으로 시간의 흐름에 따라 현재 시점의 데이터가 좌측으로 이동하는 방식으로 2차원 평면의 응답 분포도가이 완성될 수 있다.
2차원 평면 컴포넌트는, 트랜잭션 응답 분포도를 나타내며, 이러한 응답 분포도는 애플리케이션의 실시간 모니터링에 주로 사용될 수 있다. 기존에는 사람이 트랜잭션의 응답 분포 그래프의 형태를 보고 애플리케이션의 성능을 평가하여, 실시간 모니터링에 대한 지속적인 시간과 노력이 필요하였다. 이러한 사람의 모니터링 부담을 경감시키기 위한 자동화 기술에 대한 논의가 계속되고 있다.
응답 분포도의 패턴에 기초하여 애플리케이션을 실시간 모니터링하는 현재의 기술은 중앙 집중된응답 분포도를 모니터링하는 모니터링 서버에서 응답 분포도의 패턴을 인식하는 방식이다. 이러한 경우,하기 때문에 여러 응답 분포도를 실시간으로 모니터링 하게 되면할 경우 서버 부하가 가중되는 한계가 있다.
또한 트랜잭션에 기초하여 응답 분포도의 패턴을 인공지능 학습하기 위해서는, 많은 수의 학습 데이터가 필요하다. 따라서 희소한 확률로 발생하는 이상 패턴의 데이터를 확보하기 어려우며, 학습 데이터 생성을 위해서는 비슷한 응답 분포도를 가지는 트랜잭션이라도 트랜잭션 각각에 대응하는 트랜잭션 패턴의 종류를 사람이 라벨링해야 하는 어려움이 있었다.
본 발명의 목적은 상기와 같은 문제점을 해결하기 위한 것으로, 실시간으로 트랜잭션의 패턴 인식함에 있어서 서버의 부하를 분산시키고, 수집한 데이터에 기초하여 학습하여 다양한 분포를 가지는 트랜잭션으로 애플리케이션을 모니터링하는 방법시스템 및 이를 이용한 패턴 인식 시스템방법을 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명의 기술 분야에서의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상기와 같은 목적을 달성하기 위하여 본 발명의 실시예에 따르면, 패턴 인식 시스템은, 트랜잭션 응답 분포도의 패턴을 인식하는 시스템에 있어서, 트랜잭션을 지시하는 데이터가 복수의 트랜잭션 패턴 중 하나로 분류될 확률을 출력하는 패턴 인식 모델을 학습시키는 모델 학습 서버, 상기 패턴 인식 모델을 통해 성능 모니터링의 대상이 되는 애플리케이션 서버의 제1 트랜잭션 데이터가 상기 복수의 트랜잭션 패턴 중 하나로 매칭되는지를 추론하는 모니터링 클라이언트, 및 상기 애플리케이션 서버로부터 수신한 상기 제1 트랜잭션 데이터 및 상기 모델 학습 서버로부터 수신한 상기 패턴 인식 모델을 상기 모니터링 클라이언트에 제공하는 모니터링 모듈을 포함한다.
상기 모델 학습 서버는, 상기 모니터링 클라이언트가 설치된 운영자 단말로부터, 트랜잭션 응답 분포도 데이터에 상기 복수의 트랜잭션 패턴 중 하나를 지시하도록 라벨링된 응답 분포도 샘플을 수집하고, 상기 응답 분포도 샘플에 기초하여 증강된 데이터를 생성하며, 상기 응답 분포도 샘플 및 상기 증강된 데이터를 학습 데이터로 하여 상기 패턴 인식 모델을 학습시킬 수 있다.
상기 증강된 데이터는, 상기 응답 분포도 샘플 각각을 좌우 이동한 데이터, 상기 샘플 각각을 상하 이동한 데이터, 상기 샘플 중 임의의 트랜잭션을 기준으로 소정의 위치에 가상의 트랜잭션을 주입한 데이터, 및 상기 샘플 중 임의의 트랜잭션을 기준으로 소정의 위치로부터 트랜잭션을 소거한 데이터 중 적어도 하나를 포함할 수 있다.
상기 모니터링 모듈은, 상기 애플리케이션 서버로부터 제1 트랜잭션 데이터를 수집하는 모니터링 서버, 및 상기 모니터링 클라이언트에 상기 패턴 인식 모델을 배포하는 모델 배포 서버를 포함할 수 있다.
상기 모니터링 클라이언트는, 상기 모델 배포 서버로부터 상기 패턴 인식 모델을 로드하고, 상기 모니터링 서버로부터 상기 제1 트랜잭션 데이터를 수신하며, 상기 제1 트랜잭션 데이터에 기초하여 제1 응답 분포도를 생성하고, 상기 제1 트랜잭션 데이터를 상기 패턴 인식 모델에 입력하여 패턴 매칭 결과를 추론하며, 상기 추론한 결과를 포함하는 패턴 매칭 결과를 나타내는 화면을 상기 모니터링 클라이언트가 설치된 운영자 단말에 표시할 수 있다.
상기 모니터링 클라이언트는, 각각 상기 패턴 매칭 결과를 나타내는 이벤트 정보를 생성하는 적어도 하나의 모니터링 클라이언트를 포함하고, 상기 모니터링 서버는, 상기 적어도 하나의 모니터링 클라이언트로부터 상기 이벤트 정보를 수신하고, 수신한 이벤트 정보 중 중복되는 이벤트 정보를 필터링하며, 필터링 결과에 기초하여 상기 운영자 단말에 알림 메시지를 전송할 수 있다.
본 발명의 다른 실시예에 따르면, 패턴 인식 방법은, 컴퓨팅 장치에 의해 수행되는 패턴 인식 방법에 있어서, 모델 학습 서버가 트랜잭션을 지시하는 데이터가 복수의 트랜잭션 패턴 중 하나로 분류될 확률을 출력하는 패턴 인식 모델을 학습시키는 단계, 모니터링 모듈이 상기 모델 학습 서버로부터 상기 패턴 인식 모델을 수신하고, 성능 모니터링의 대상이 되는 애플리케이션 서버로부터 제1 트랜잭션 데이터를 수신하는 단계, 상기 모니터링 모듈이 모니터링 클라이언트에 상기 패턴 인식 모델 및 상기 제1 트랜잭션 데이터를 배포하는 단계, 상기 모니터링 클라이언트가 상기 패턴 인식 모델로부터 상기 제1 트랜잭션 데이터가 상기 복수의 트랜잭션 패턴 중 하나로 매칭되는지를 추론하는 단계, 및 상기 모니터링 클라이언트가 상기 추론한 결과를 포함하는 패턴 매칭 결과를 나타내는 화면을 상기 모니터링 클라이언트가 설치된 운영자 단말에 표시하는 단계를 포함한다.
상기 패턴 인식 모델을 학습시키는 단계는, 상기 운영자 단말로부터, 트랜잭션 응답 분포도 데이터가 상기 복수의 트랜잭션 패턴 중 하나를 지시하도록 라벨링된 응답 분포도 샘플을 수집하는 단계, 상기 응답 분포도 샘플에 기초하여 증강된 데이터를 생성하는 단계, 및 상기 응답 분포도 샘플 및 상기 증강된 데이터를 학습 데이터로 하여 상기 패턴 인식 모델을 학습시키는 단계를 포함할 수 있다.
상기 증강된 데이터를 생성하는 단계는, 상기 응답 분포도 샘플 각각을 좌우 이동하거나, 상기 샘플 각각을 상하 이동하거나, 상기 샘플 중 임의의 트랜잭션을 기준으로 소정의 위치에 가상의 트랜잭션을 주입하거나, 또는 상기 샘플 중 임의의 트랜잭션을 기준으로 소정의 위치로부터 트랜잭션을 소거하여 상기 증강된 데이터를 생성하는 단계를 포함할 수 있다.
상기 모니터링 모듈이 학습된 상기 패턴 인식 모델의 버전을 관리하고, 상기 모니터링 클라이언트에 상기 패턴 인식 모델을 배포하는 단계를 더 포함할 수 있다.
상기 모니터링 클라이언트는, 상기 모델 배포 서버로부터 상기 패턴 인식 모델을 로드하는 단계, 상기 모니터링 클라이언트는, 상기 애플리케이션 서버로부터 상기 제1 트랜잭션 데이터를 수신하는 단계, 상기 모니터링 클라이언트는, 상기 제1 트랜잭션 데이터에 기초하여 제1 응답 분포도를 생성하는 단계, 상기 모니터링 클라이언트는, 상기 제1 트랜잭션 데이터를 상기 패턴 인식 모델에 입력하여 패턴 매칭 결과를 추론하는 단계, 및 상기 모니터링 클라이언트는, 상기 추론한 결과를 포함하는 패턴 매칭 결과를 나타내는 화면을 상기 운영자 단말에 표시하는 단계를 더 포함할 수 있다.
상기 모니터링 클라이언트는, 상기 패턴 매칭 결과를 나타내는 이벤트 정보를 생성하는 단계, 상기 모니터링 모듈은, 상기 모니터링 클라이언트로부터 상기 이벤트 정보를 수신하는 단계, 상기 모니터링 모듈은, 수신한 이벤트 정보 중 중복되는 이벤트 정보를 필터링하는 단계, 및 상기 모니터링 모듈은, 상기 필터링 결과에 기초하여 상기 운영자 단말에 알림 메시지를 전송하는 단계를 더 포함할 수 있다.
본 발명은, 모니터링 서버의 패턴 인식 부하를 모니터링 클라이언트에 분산시켜 서버의 부하를 경감시킬 수 있다.
또한 본 발명은, 모니터링 서버가 수집한 트랜잭션 패턴 뿐만 아니라 수집하지 못한 패턴 데이터를 생성하여 이를 기초로 모델을 학습시켜 모델이 패턴을 인식함에 있어서 정확도를 향상시킬 수 있다.
또한 본 발명은, 패턴을 인식한 결과를 실시간으로 운영자에게 알리므로 운영자는 성능 모니터링의 대상이 되는 애플리케이션에 대한 신속한 대응이 가능하다.
본 발명의 효과들은 이상에서 언급한 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 본 발명의 기술 분야에서의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 트랜잭션 응답 분포도 패턴 인식 시스템을 도식적으로 도시한 도면이다.
도 2는 복수의 트랜잭션 패턴의 예시를 나타낸 도면이다.
도 3은, 실시간 화면 알림의 예시를 나타낸 도면이다.
도 4는 도 1의 모델 학습 서버 및 모델 배포 서버를 도식적으로 도시한 블록도이다.
도 5는 도 4의 모델 학습 서버가 응답 분포도를 학습하는 방법의 순서도이다.
도 6은 도 4의 학습 데이터 가공부가 학습 데이터를 생성하는 방법의 순서도이다.
도 7은 응답 분포도를 표현할 수 있는 서브 패턴의 예를 나타낸 예시도이다.
도 8은, 모니터링 클라이언트가 트랜잭션 응답 분포도의 패턴을 인식하는 방법의 순서도이다.
도 9는 모니터링 클라이언트가 인식한 패턴에 대해 알림 동작하는 방법의 순서도이다.
본 발명은 취지를 벗어나지 않는 한도에서 다양하게 변경하여 실시할 수 있고, 하나 이상의 실시 예를 가질 수 있다. 그리고 본 발명에서 “발명을 실시하기 위한 구체적인 내용” 및 “도면” 등에 기재한 실시 예는, 본 발명을 구체적으로 설명하기 위한 예시이며, 본 발명의 권리 범위를 제한하거나 한정하는 것은 아니다.
따라서, 본 발명이 속하는 기술 분야의 통상의 지식을 가진 자가, 본 발명의 “발명을 실시하기 위한 구체적인 내용” 및 “도면” 등으로부터 용이하게 유추할 수 있는 것은, 본 발명의 범위에 속하는 것으로 해석할 수 있다.
또한, 도면에 표시한 각 구성 요소들의 크기와 형태는, 실시 예의 설명을 위해 과장되어 표현한 것 일 수 있으며, 실제로 실시되는 발명의 크기와 형태를 한정하는 것은 아니다.
본 발명의 명세서에서 사용되는 용어를 특별히 정의하지 않는 이상, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 일반적으로 이해하는 것과 동일한 의미를 가질 수 있다.
본 명세서에 기재된 "포함하다", "구성하다", "가지다" 등의 용어는 특별히 반대되는 기재가 없는 한 해당 구성요소가 내재될 수 있음을 의미하는 것이므로 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
또한, 본 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적 어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트 웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, "일", "하나" 및 "그" 등의 관사는 본 발명을 기술하는 문맥에 있어서 본 명세서에 달리 지시되거나 문맥에 의해 분명하게 반박되지 않는 한, 단수 및 복수 모두를 포함하는 의미로 사용될 수 있다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요 소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성 요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제3 구성요소)가 존재하지 않는 것으로 이해될 수 있다. 명세에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합 한(suitable for)," "~하는 능력을 가지는(having the capacity to)," "~하도록 설계된(designed to)," "~하도 록 변경된(adapted to)," "~하도록 만들어진(made to)," 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성된(또는 설정된)"은 하드웨어적으로 "특별히 설계된(specifically designed to)" 것 만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 부 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다. 명세의 다양한 실시 예들에 따른 전자 장치는, 적어도 하나의 서버로 구현될 수 있으나, 이는 일 실시 예에 불과할 뿐, 사용자 단말 장치 또는 가전 제품으로 구현될 수 있다. 이하, 도면을 참조하여 본 발명의 실시 예를 상세하게 설명한다.
본 개시에 따른 인공지능 모델은, 복수의 신경망 레이어들로 구성될 수 있다. 각 레이어는 복수의 가중치(weight values)를 갖고 있으며, 이전(previous) 레이어의 연산 결과와 복수의 가중치의 연산을 통해 레이어의 연산을 수행한다. 신경망의 예로는, CNN (Convolutional Neural Network), DNN (Deep Neural Network), RNN (Recurrent Neural Network), RBM (Restricted Boltzmann Machine), DBN (Deep Belief Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 및 심층 Q-네트워크 (Deep Q-Networks)이 있으며, 본 개 시에서의 신경망은 명시한 경우를 제외하고 전술한 예에 한정되지 않는다. 학습 알고리즘은, 다수의 학습 데이터들을 이용하여 소정의 대상 기기(예컨대, 로봇)을 훈련시켜 소정의 대상 기기 스스로 결정을 내리거나 예측을 할 수 있도록 하는 방법이다. 학습 알고리즘의 예로는, 지도형 학습 (supervised learning), 비지도형 학습(unsupervised learning), 준 지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)이 있으며, 본 개시에서의 학습 알고리즘은 명시한 경우를 제외하고 전술한 예에 한정되지 않는다
도 1은 본 발명의 일 실시예에 따른 트랜잭션 응답 분포도 패턴 인식 시스템을 도식적으로 도시한 도면이다.
일 실시예에 따른 트랜잭션 응답 분포도 패턴 인식 시스템(이하, 패턴 인식 시스템)(1)은, 애플리케이션 서버(10), 모니터링 모듈(100), 모델 학습 서버(200), 및 운영자 단말(300)을 포함할 수 있다. 패턴 인식 시스템(1) 각각의 동작은, 적어도 하나의 컴퓨팅 장치에 의해 수행될 수 있다. 적어도 하나의 컴퓨팅 장치 각각은, 프로세서(미도시), 메모리(미도시), 및 메모리(미도시)에 로드 되고, 프로세서(미도시)에 의해 실행되는 컴퓨터 프로그램(미도시)을 포함하고, 컴퓨터 프로그램(미도시)은, 후술할 각각의 동작을 수행하기 위한 명령어(들)을 포함할 수 있다.
애플리케이션 서버(10)는, 패턴 인식 시스템(1)이 성능을 모니터링하고자 하는 대상이 되며, 실시간으로 생성되는 트랜잭션 데이터를 모니터링 모듈(100)에 전송할 수 있다.
애플리케이션 서버(10)는, 태블릿, 노트북 및/또는 데스크탑 컴퓨터, 스마트폰 등의 사용자가 사용하는 컴퓨팅 장치에서 웹 페이지를 표시하기 위한 웹 서버이거나, 또는 컴퓨팅 장치로 구현될 수 있다.
운영자 단말(300)에는 애플리케이션 서버(10)를 모니터링하기 위한 애플리케이션인 모니터링 클라이언트(310)가 설치되어 있을 수 있다. 모니터링 클라이언트(310)는, 브라우저에서 진입할 수 있는 애플리케이션의 형태일 수 있다.
운영자 단말(300)은, 대상 애플리케이션의 성능을 확인을 관리하는 운영자(이하, "운영자")가 사용하는 단말일 수 있다. 운영자는, 애플리케이션 서버(10)에 대한 능동적인 감시 주체일 수 있다.
모니터링 모듈(100)은, 모니터링 서버(110) 및 모델 배포 서버(120)를 포함할 수 있다. 모니터링 서버(110)는, 실시간으로 애플리케이션 서버(10)로부터 트랜잭션 데이터를 수신하고, 운영자 단말(300)에 트랜잭션 데이터를 배포할 수 있다. 모델 배포 서버(120)는, 모델 학습 서버(200)로부터 패턴 인식 모델을 수신하고, 운영자 단말(300)에 패턴 인식 모델을 배포할 수 있다.
패턴 인식 모델은, 인공신경망 등을 이용하한 다중 분류(multi-class classification) 모델일 수 있다. 패턴 인식 모델은, 합성곱 신경망(CNN, Convolutional Neural Network)을 기초로 다양한 방식으로 학습될 수 있다. 패턴 인식 모델은, 트랜잭션을 입력으로 하여 트랜잭션의 응답 분포를 표현하는 트랜잭션 응답 분포도의 패턴(이하, "트랜잭션 패턴")을 학습하고, 학습 결과 복수의 트랜잭션 패턴 중 하나로 분류할 확률을 결과 값으로 출력하는 모델일 수 있다. 여기서 확률은 0과 1 사이의 실수 값으로 나타낼 수 있다.
명세에서, 트랜잭션 응답 분포도는, 트랜잭션 데이터를 트랜잭션 종료 시간을 나타내는 x축, 응답 시간(트랜잭션 완료까지의 소요 시간)을 나타내는 y축을 포함한 2차원 평면에 트랜잭션을 점으로 표현한 분포 그래프를 나타낼 수 있다. 트랜잭션 응답 분포도는 현재 시점을 x 축의 우측 끝점에 두고, 실시간으로 시간의 흐름에 따라 현재 시점의 데이터가 좌측으로 이동하는 방식으로 표현될 수 있다.
운영자는 운영자 단말(300)에 응답 분포도의 샘플을 입력할 수 있다. 운영자가 응답 분포도의 샘플을 운영자 단말(300)에 입력하면, 입출력부(330)는, 응답 분포도의 샘플을 모델 학습 서버(200)에 전달할 수 있다.
응답 분포도의 샘플은, 복수의 트랜잭션 패턴 각각에 대한 응답 분포도 데이터 및 각 응답 분포도에 라벨링된 레이블 데이터를 포함할 수 있다. 레이블 데이터는, 각 응답 분포도 데이터에 매치되는 복수의 트랜잭션 패턴 중 하나를 지시하는 데이터일 수 있다.
도 2는 복수의 트랜잭션 패턴의 예시를 나타낸 도면이다.
도 2를 참조하면, 복수의 트랜잭션 패턴은 휴식 패턴, 정상 패턴, 혼란 패턴, 단순 폭주(Flood) 패턴, 시루떡 패턴, 폭포수 패턴, 물방울 패턴, 매트릭스 패턴, 파도치기 패턴 등을 포함할 수 있다. 이처럼 응답 분포도 샘플은, 복수의 트랜잭션 패턴 중 하나에 매치되어 라벨링될 수 있다.
모델 학습 서버(200)는, 운영자 단말(300)로부터 응답 분포도 샘플을 수신할 수 있다. 모델 학습 서버(200)는, 운영자 단말(300)로부터 수집한 응답 분포도 샘플을 기초로 하여 증강된 데이터를 생성하고, 수집한 응답 분포도 샘플 및 증강된 데이터를 학습 데이터로 하여 패턴 인식 모델을 학습시킬 수 있다. 패턴 인식 모델은, 응답 분포도에 라벨링된 레이블 정보에 기초하여 지도 학습(supervised learning)할 수 있다. 이하, 모델 학습 서버(200)가 운영자 단말(300)로부터 수집한 응답 분포도 샘플을 "원본 데이터"라 한다.
모니터링 클라이언트(310)는, 모니터링 서버(110)로부터 배포된 트랜잭션 데이터를 모델 배포 서버(120)로부터 배포된 패턴 인식 모델에 입력하여, 복수의 트랜잭션 패턴 각각으로 분류될 확률을 추론하여 패턴 매칭 여부를 나타내는 패턴 매칭 결과를 생성할 수 있다. 패턴 매칭 여부는, 트랜잭션 데이터를 패턴 인식 모델에 입력하고 얻은 출력 값이 복수의 트랜잭션 패턴 중 하나의 패턴(이하, "대상 패턴")으로 매칭될 수 있는지 여부를 나타낼 수 있다.
이하, 패턴 매칭 결과는 모니터링 서버(110)로부터 배포된 트랜잭션 데이터를 패턴 인식 모델에 입력하여, 패턴 인식 모델로부터 복수의 트랜잭션 패턴 각각으로 분류될 확률을 추론한 결과를 포함할 수 있다. 패턴 매칭 결과는 대상 패턴이 있으면 대상 패턴의 종류(명칭), 대상 패턴을 인식한 시간 등 대상 패턴에 대한 정보를 포함하고, 대상 패턴이 없으면 트랜잭션 데이터가 복수의 트랜잭션 패턴에 매치되지 않는 다른 패턴임을 나타내는 정보를 포함할 수 있다.
모니터링 클라이언트(310)는, 패턴 인식 모델로부터 복수의 트랜잭션 패턴 중 하나의 패턴에 대하여 출력되는 값이 소정의 임계 수준 이상인 경우에는 하나의 패턴을 대상 패턴으로 결정할 수 있다. 예를 들어, 모니터링 클라이언트(310)는, 수신한 트랜잭션 데이터를 패턴 인식 모델에 입력하고 얻은 복수의 트랜잭션 패턴에 대한 복수의 출력 값 중 제1 패턴에 대한 출력 값이 0.5 이상인 경우에는, 애플리케이션 서버(10)를 제1 패턴에 매칭하여, 제1 패턴을 대상 패턴으로 결정할 수 있다.
모니터링 클라이언트(310)는, 패턴 매칭 결과를 나타내는 이벤트 정보를 생성하여 모니터링 서버(110)에 전송할 수 있다. 도 1에는 모니터링 클라이언트의 개수를 1개로 도시하였으나, 이는 설명의 편의를 위한 것이고, 패턴 인식 시스템(1)은, 1 이상의 모니터링 클라이언트를 포함할 수 있다.
운영자 단말(300)은, 메시지 수신부(320) 및 입출력부(330)를 포함할 수 있다. 메시지 수신부(320)는, 모니터링 서버(110)와 무선 통신하여 모니터링 서버(110)로부터 이메일, 문자 메시지, 인스턴트메시지, 소설네트워크서비스 중 적어도 하나를 통해 메시지를 수신할 수 있다. 문자 메시지는 단문 문자 메시지(SMS, Short Message Service), 장문 문자 메시지(LMS, Long Message Service), 멀티 문자 메시지(MMS, Multimedia Message Service) 등을 포함할 수 있다.
입출력부(330)는, 모니터링 클라이언트(310)가 트랜잭션 데이터를 실시간으로 모니터링한 결과 나타내는 화면을 제공할 수 있다. 입출력부(330)는, 화면을 제공할 수 있는 디스플레이를 포함할 수 있다. 도 1에는, 운영자 단말(300)의 개수가 1개인 것으로 도시하였으나, 발명이 이에 한정되는 것은 아니고, 운영자가 사용하는 단말은 복수 개일 수 있다. 예를 들어, 메시지 수신부(320)는 모니터링 클라이언트(310)가 설치된 단말과 별개의 단말에 포함될 수 있다.
입출력부(330)는, 운영자 단말(300)을 통해 실시간으로 인식한 트랜잭션 데이터의 패턴 매칭 결과를 나타내는 화면을 제공할 수 있다. 이하, 입출력부(330)가 패턴 매칭 결과를 나타내는 화면을 실시간으로 제공하는 동작을 "실시간 화면 알림"이라 한다.
패턴 매칭 결과에 기초하여 대상 패턴이 있는 경우, 입출력부(330)는, 대상 패턴에 대한 정보, 애플리케이션 서버(10)의 트랜잭션이 대상 패턴일 확률, 대상 패턴에 대한 도움말 등을 포함하는 정보를 실시간 화면 알림으로 제공할 수 있다. 여기서 대상 패턴에 대한 도움말은, 대상 패턴에 매치된 트랜잭션이 나타내는 애플리케이션의 상태를 포함할 수 있다. 애플리케이션의 상태는, 정상 상태, 휴식 상태, 혼란 상태 등을 포함할 수 있다.
대상 패턴이 없는 경우, 입출력부(330)는, 다른 패턴임을 나타내는 정보, 애플리케이션 서버(10)가 정상적으로 동작할 수 있는 정상 패턴일 확률 등을 실시간 화면 알림으로 제공할 수 있다.
모니터링 서버(110)는, 패턴 매칭 결과를 나타내는 이벤트 정보를 수신할 수 있다. 모니터링 서버(110)는, 수신한 이벤트에 기초하여 패턴 매칭 결과를 지시하는 메시지(이하, 알림 메시지)를 작성하여 문자 메시지, 인스턴트메시지, 소설네트워크서비스 중 적어도 하나를 통해 운영자 단말(300)에 전송할 수 있다.
메시지 수신부(320)가 운영자 단말(300)을 통해 알림 메시지를 수신하면, 입출력부(330)는, 운영자 단말(300)을 통해 알림 메시지의 내용을 나타내는 화면을 실시간으로 제공할 수 있다. 운영자는, 운영자 단말(300)을 통해 알림 메시지의 내용을 확인할 수 있다. 이하, 입출력부(330)가 알림 메시지의 내용을 나타내는 화면을 실시간으로 제공하는 것을 "실시간 메시지 알림"이라 한다.
모니터링 클라이언트(310)가 복수인 경우, 모델 배포 서버(120)는, 분산된 복수의 모니터링 클라이언트(310)가 동일한 패턴 인식 모델을 탑재할 수 있도록 하기 위하여 하나의 패턴 인식 모델을 복수의 모니터링 클라이언트(310) 각각에 배포할 수 있다.
모델 배포 서버(120)는, 복수의 모니터링 클라이언트(310)가 동일한 모델을 탑재할 수 있도록 모니터링 클라이언트(310)의 최초 기동 시 모델의 버전을 체크하고, 모니터링 클라이언트(310)에 적절한 모델을 제공할 수 있다. 모니터링 클라이언트(310)는, 모델 배포 서버(120)로부터 패턴 인식 모델을 다운로드할 수 있다.
모니터링 클라이언트(310)는, 모니터링 서버(110)로부터 수신한 트랜잭션 데이터 및 모델 배포 서버(120)로부터 수신한 패턴 인식 모델에 기초하여 애플리케이션 서버(10)를 모니터링할 수 있다.
명세에서 모니터링은, 모니터링 클라이언트(310)가 트랜잭션 데이터에 대한 응답 분포도의 그래프를 출력하고, 애플리케이션 서버(10)의 트랜잭션 데이터의 패턴 매칭 여부를 나타내는 패턴 매칭 결과를 생성하며, 패턴 매칭 결과를 나타내는 이벤트 정보를 생성하는 동작을 포함할 수 있다.
모니터링 클라이언트(310)는, 모니터링 서버(110)로부터 트랜잭션 데이터를 실시간으로 수신할 수 있다. 모니터링 클라이언트(310)는, 수신한 트랜잭션 데이터에 기초하여 응답 분포도의 그래프(또는 차트)를 생성할 수 있다. 모니터링 클라이언트(310)는, 응답 분포도의 그래프를 나타내는 화면을 입출력부(330)를 통해 제공할 수 있다.
모니터링 클라이언트(310)는, 모니터링 모듈(100)로부터 배포된 트랜잭션 데이터 및 패턴 인식 모델에 기초하여 트랜잭션 데이터의 패턴 매칭 여부를 나타내는 패턴 매칭 결과를 실시간으로 생성하고, 실시간 화면 알림 동작할 수 있다.
도 3은, 실시간 화면 알림의 예시를 나타낸 도면이다.
도 3을 참조하면, 대상 패턴이 정상 패턴이 아닌 패턴인 경우 또는 대상 패턴이 없는 경우에는, 입출력부(330)는 운영자 단말(300)을 통해 응답 분포도 그래프에 색 반전 등으로 시각적인 강조 효과를 적용한 화면을 제공할 수 있다.
또한 모니터링 서버(110)는, 모니터링 클라이언트(310)로부터 패턴 매칭 결과를 나타내는 이벤트 정보를 수신하고, 수신한 이벤트 정보에 기초한 알림 메시지를 생성할 수 있다. 메시지 수신부(320)는, 운영자 단말(300)을 통해 모니터링 서버(110)로부터 알림 메시지를 수신할 수 있다. 입출력부(330)는, 운영자 단말(300)을 통해 알림 메시지의 내용에 기초하여 실시간 메시지 알림 동작할 수 있다.
일 실시예에서는, 모델 학습 서버(200)가 원본 데이터를 기초로 학습 데이터를 증강시키고, 증강된 학습 데이터로 패턴 인식 모델을 학습시킬 수 있다. 이하, 도 4 내지 도 7을 참조하여 모델 학습 서버(200)가 인공지능 모델을 학습시키는 동작을 설명한다.
도 4는 도 1의 모델 학습 서버 및 모델 배포 서버를 도식적으로 도시한 블록도이다.
도 5는 도 4의 모델 학습 서버가 응답 분포도를 학습하는 방법의 순서도이다.
모델 학습 서버(200)는, 인식 목표 패턴 수집부(210), 학습 데이터 가공부(220), 인식 모델 학습부(230), 및 인식 모델 배포부(240)를 포함할 수 있다. 모델 배포 서버(120)는 학습 모델 저장소(121)를 포함할 수 있다.
인식 목표 패턴 수집부(210)는, 운영자 단말(300)로부터 응답 분포도의 샘플을 수집할 수 있다(S101). 입출력부(330)는, 운영자 단말(300)을 통해 응답 분포도의 샘플을 모델 학습 서버(200)에 입력할 수 있는 화면을 제공할 수 있다. 운영자는 응답 분포도 중 인공지능 학습의 샘플로 고려할 항목을 선택하여 운영자 단말(300)에 입력할 수 있다. 운영자 단말(300)이 인공지능 학습의 샘플로 고려할 항목을 입력 받으면, 입출력부(330)는 모델 학습 서버(200)에 해당 항목을 전송할 수 있다.
학습 데이터 가공부(220)는, 수집된 응답 분포도의 샘플을 가공하여 증강된 데이터를 생성할 수 있다(S102). 학습 데이터 가공부는, 수집된 응답 분포도의 샘플을 원본 데이터로 하여 다양한 방식으로 데이터를 증강시켜, 패턴 인식 모델의 학습 데이터의 양을 증가시킴으로써 패턴 인식 모델의 인식 정확도를 향상시킬 수 있다.
인식 모델 학습부(230)는, 원본 데이터 및 증강된 데이터를 학습 데이터로 하여 패턴 인식 모델을 학습시킬 수 있다(S103). 인공지능 모델은, 수집된 원본 데이터 및 증강된 데이터에 기초하여 복수의 트랜잭션 패턴 중 하나로 분류할 확률을 결과 값으로 출력하는 방법을 학습할 수 있다. 도 2를 참조하면, 휴식 상황을 지시하는 휴식 패턴 및 정상 상황을 지시하는 정상 패턴도 복수의 트랜잭션 패턴에 포함될 수 있다.
인식 모델 배포부(240)는, 학습된 패턴 인식 모델을 학습 모델 저장소(121)로 배포할 수 있다(S104). 인식 모델 배포부(240)가 학습된 패턴 인식 모델을 모델 배포 서버(120)에 전송하면, 모델 배포 서버(120)는 수신한 인공지능 모델을 학습 모델 저장소(121)에 저장할 수 있다.
도 6은 도 4의 학습 데이터 가공부가 학습 데이터를 생성하는 방법의 순서도이다.
일 실시예에서, 학습 데이터 가공부(220)는, 모델 학습 서버(200)가 수집한 복수의 트랜잭션 패턴에 대한 원본 데이터에 기초하여 증강하여 증강된 데이터를 생성할 수 있다. 학습 데이터 가공부는 원본 데이터 뿐만 아니라 증강된 데이터를 학습 데이터로 하여 패턴 인식 모델을 학습시킬 수 있다.
학습 데이터 가공부(220)는, 이미지 변환부(221), 서브패턴 분석부(222), 및 학습 데이터 저장소(223)를 포함할 수 있다. 이미지 변환부(221) 및 서브패턴 분석부(222) 각각은 증강된 데이터를 생성할 수 있다. 학습 데이터 저장소(223)는 증강된 데이터를 저장할 수 있다.
이미지 변환부(221)는, 원본 데이터 각각을 좌우 이동하는 알고리즘, 원본 데이터 각각을 상하 이동하는 알고리즘, 원본 데이터에 트랜잭션을 주입하는 알고리즘, 원본 데이터로부터 트랜잭션을 소거하는 알고리즘 등 변환 알고리즘 중 적어도 하나를 임의로 선택하고, 반영하여 증강된 데이터를 생성할 수 있다.
서브패턴 분석부(222)는, 원본 데이터로부터 복수의 서브패턴을 나타내는 변수를 지시하는 파라미터(매개변수)를 수정하고, 수정된 파라미터를 원본 데이터에 반영하여 증강된 데이터를 생성할 수 있다.
이하, 원본 데이터에 기초하여 증강된 데이터는, 이미지 변환부(221)가 증강시킨 데이터(이하, 증강된 제1 데이터) 및 서브패턴 분석부(222)가 증강시킨 데이터(이하, 증강된 제2 데이터)를 포함할 수 있다. 이미지 변환부(221)는, 증강된 제1 데이터를 학습 데이터 저장소(223)에 저장할 수 있다. 서브패턴 분석부(222)는, 증강된 제2 데이터를 학습 데이터 저장소(223)에 저장할 수 있다.
학습 데이터 가공부(220)는, 이미지 변형 및 서브 패턴 분석 중 적어도 하나의 방법을 통해 응답 분포도의 샘플로부터 많은 수로 증강된 데이터를 생성할 수 있다.
이미지 변환부(221)는, 수집한 응답 분포도 샘플 각각을 좌우 이동, 상하 이동하거나, 트랜잭션을 주입 또는 소거하는 등 변형하여 증강된 제1 데이터를 생성할 수 있다. 이하, 이미지 변환부(221)가 증강된 데이터를 생성하는 방법을 동작 별로 구체적으로 설명한다.
1) 좌우 이동: 이미지 변환부(221)는, 종료시간(x축)을 기준으로 좌우 이동하고, 소정의 단위 시간을 이동시킨 복수의 그래프를 증강된 제1 데이터에 포함시킬 수 있다. 여기서, 좌로 이동 시 우측 끝의 y축 값은 이전 값으로 채우고, 우로 이동시 좌측 끝의 y축 값은 이후 값으로 채울 수 있다. 예를 들어, 이미지 변환부(221)는, 기준이 되는 응답 분포도의 샘플을 x축 양의 방향으로 1분 이동한 제1 그래프, x축 양의 방향으로 2분 이동한 제2 그래프, x축 음의 방향으로 1분 이동한 제3 그래프, 및 x축 음의 방향으로 2분 이동한 제4 그래프를 학습 데이터로 할 수 있다.
2) 상하 이동: 이미지 변환부(221)는, 응답시간(y축) 기준으로 상하 이동하고, 소정의 단위 시간을 이동시킨 복수의 그래프를 증강된 제1 데이터에 포함시킬 수 있다. 여기서 상향 이동 시 최하단은 값이 있는 것으로 채우고, 하향 이동 시 최상단은 값이 없는 것으로 비울 수 있다. 예를 들어, 이미지 변환부(221)는, 기준이 되는 응답 분포도의 샘플을 y축 양의 방향으로 1초 이동한 제5 그래프, y축 양의 방향으로 2초 이동한 제6 그래프, y축 음의 방향으로 1초 이동한 제7 그래프, 및 y축 음의 방향으로 2 초 이동한 제8 그래프를 학습 데이터로 할 수 있다.
3) 트랜잭션 주입: 이미지 변환부(221)는, 응답 분포도의 샘플 중 임의의 트랜잭션을 기준으로 소정의 위치에 가상의 트랜잭션을 주입한 데이터를 증강된 제1 데이터에 포함시킬 수 있다. 예를 들어, 이미지 변환부(221)는, 응답 분포도의 샘플 중 임의의 트랜잭션을 선택하여 주변 8 방향의 픽셀을 가상의 트랜잭션으로 채운 그래프를 학습 데이터로 한다. 여기서 임의의 트랜잭션은 랜덤으로 선택할 수 있다. 또한 가상의 트랜잭션은, 임의의 트랜잭션을 기준으로 인접한 8개의 공간 중 소정 개수의 공간을 가상의 트랜잭션으로 채울 수 있다. 여기서 소정 개수는 1 이상 8 이하의 자연수일 수 있다. 이미지 변환부(221)는, 트랜잭션 주입을 통해 학습 데이터의 다양성(diversity)을 늘리고, 모델을 강건(robust)하게 만들 수 있다.
4) 트랜잭션 소거: 이미지 변환부(221)는, 응답 분포도의 샘플 중 임의의 트랜잭션을 기준으로 소정의 위치로부터 트랜잭션을 소거한 데이터를 증강된 제1 데이터에 포함시킬 수 있다. 예를 들어, 이미지 변환부(221)는, 응답 분포도의 샘플 중 임의의 트랜잭션을 선택하여 주변 8 방향의 픽셀에 트랜잭션이 존재하는 경우 주변 8 방향의 픽셀에 존재하는 트랜잭션(이하, 주변 트랜잭션)을 소거(제거)한 그래프를 학습 데이터로 한다. 여기서 임의의 트랜잭션은 랜덤으로 선택할 수 있다. 여기서 주변 트랜잭션 중 소거하는 트랜잭션은 주변 트랜잭션 전부일 수도 있고, 주변 트랜잭션 중 일부일 수도 있다. 예를 들어, 주변 트랜잭션 각각의 픽셀에서 난수를 발생시켜, 발생한 난수가 임계치 이상인 경우에는 해당 픽셀에 존재하는 주변 트랜잭션을 소거할 수 있다. 이미지 변환부(221)는, 트랜잭션 소거를 통해 학습 데이터를 축소(shrink)시킬 수 있다.
이미지 변환부(221)는, 상술한 상하 이동, 좌우 이동, 및 트랜잭션 주입/소거 중 적어도 하나의 방법을 이용하여 원본 데이터를 기초로 증강된 제1 데이터를 생성할 수 있다. 상술한 방식에 따라 증강된 제1 데이터는, 원본 데이터의 레이블 정보로 라벨링될 수 있다. 예를 들어, 혼란 패턴으로 라벨링된 원본 데이터를 기초로 상하 이동, 좌우 이동, 및 트랜잭션 주입/소거를 통해 증강된 데이터는 전부 혼란 패턴으로 라벨링될 수 있다.
서브패턴 분석부(222)는, 응답 분포도의 샘플 각각을 사전 정의한 복수의 서브패턴으로 분해할 수 있다. 서브패턴 분석부(222)는, 매개변수 및 서브패턴 분해 옵션에 기초하여 증강된 제2 데이터를 생성할 수 있다.
입출력부(330)는, 운영자 단말(300)을 통해 복수의 서브패턴의 매개변수 값을 지정된 범위 내에서 변경할 수 있는 화면을 제공할 수 있다. 운영자는 복수의 서브패턴의 매개변수 값을 선택하여 운영자 단말(300)에 입력할 수 있다. 운영자 단말(300)이 복수의 서브패턴의 변경된 매개변수 값을 입력 받으면, 모니터링 클라이언트(310)는 모델 학습 서버(200)에 해당 항목을 전송할 수 있다.
복수의 서브패턴 각각은 적어도 하나의 개별 매개변수를 보유할 수 있다. 여기서 매개변수는, x와 y로 이루어진 좌표 값, 밀도(density) 등을 포함할 수 있다.
서브패턴 분석부(222)는, 운영자 단말(300)로부터 복수의 서브패턴의 변경된 매개 변수 값을 수신하면, 복수의 서브패턴의 변경된 매개변수 값에 기초하여 증강된 제2 데이터를 생성할 수 있다.
입출력부(330)는, 운영자 단말(300)을 통해 응답 분포도의 샘플 각각을 복수의 서브패턴 중 적어도 하나의 조합으로 분해(이하, 제1 옵션)하거나, 최적화 방법을 통해 자동 분해(이하, 제2 옵션)하거나, 또는 적어도 하나의 서브패턴 조합으로 임의의 응답 분포도 샘플을 생성(이하, 제3 옵션)하는 동작 중 선택할 수 있는 화면을 제공할 수 있다. 운영자는 제1 내지 제3 옵션 중 하나를 선택하여 운영자 단말(300)에 입력할 수 있다. 운영자 단말(300)이 제1 내지 제3 옵션 중 하나를 입력 받으면, 모델 학습 서버(200)에 해당 항목을 나타내는 신호를 전송할 수 있다.
서브패턴 분석부(222)는, 운영자 단말(300)로부터 제1 내지 제3 옵션 중 하나의 항목을 나타내는 신호를 수신하면, 해당 항목에 기초하여 증강된 제2 데이터를 생성할 수 있다.
이하, 도 7을 참조하여 복수의 서브패턴의 예를 설명한다.
도 7은 응답 분포도를 표현할 수 있는 서브 패턴의 예를 나타낸 예시도이다.
일 실시예에서 응답 분포도의 좌표계는 좌하단을 (0,0), 우상단을 (1,1)로 정의하여 개별 트랜잭션을 임의의 위치에 배치할 수 있도록 구성될 수 있다. 복수의 서브패턴은, 박스, 언덕, 가로선, 세로선, 및 노이즈의 5개의 서브패턴을 포함할 수 있다.
박스 서브패턴은, 사각형 안에 균일한 밀도의 트랜잭션이 분포하는 서브패턴일 수 있다. 박스 서브패턴을 나타내는 매개변수는, 사각형의 위치를 나타내기 위한 값([x1, x2, y1, y2]) 및 사각형의 밀도 값을 포함할 수 있다.
언덕 서브패턴은, 오르막, 정상, 및 내리막의 분포를 포함하는 서브패턴일 수 있다. 언덕 서브패턴을 나타내는 매개변수는, 오르막, 정상, 및 내리막 각각의 시작 및/또는 끝의 트랜잭션 종료시간을 나타내기 위한 값(x0, x1, x2, x3) 및 가장 큰 응답시간(max_level)을 포함할 수 있다.
가로선 서브패턴은, 동일한 응답 시간(예를 들어, y=y1)의 트랜잭션이 소정의 길이만큼(예를 들어, x=x1 내지 x=x2) 분포하는 서브패턴일 수 있다. 가로선 서브패턴을 나타내는 매개변수는, 가로선의 응답시간 및 소정의 길이를 나타내기 위한 좌표([x1, x2, y]) 및 밀도 값을 포함할 수 있다.
세로선 서브패턴은, 동일한 종료 시간(예를 들어, x=x1)의 트랜잭션이 소정의 길이만큼(예를 들어, y=y1 내지 y=y2) 분포하는 서브패턴일 수 있다. 세로선 서브패턴을 나타내는 매개변수는, 가로선의 응답시간 및 소정의 길이를 나타내기 위한 좌표([y1, y2, x1]) 및 밀도 값을 포함할 수 있다.
노이즈 서브패턴은, 타 서브패턴에 포함되지 않는 방식으로 트랜잭션이 분포하는 서브패턴일 수 있다. 세로선 서브패턴을 나타내는 매개변수는, 각 트랜잭션을 나타내기 위한 좌표([x, y])를 포함할 수 있다.
이처럼 복수의 서브패턴 각각은 좌표 값(x, y), 밀도, 최대 값(max_level) 등의 개별 매개변수로 표현될 수 있다.
서브패턴 분석부(222)는, 운영자 단말(300)로부터 입력 받은 신호에 기초하여 증강된 제2 데이터를 생성할 수 있다. 상술한 방식에 따라 증강된 제2 데이터는, 원본 데이터의 레이블 정보로 라벨링될 수 있다. 예를 들어, 물방울 패턴으로 라벨링된 원본 데이터를 기초로 적어도 하나의 서브패턴 조합으로 생성된 응답 분포도 데이터는 물방울 패턴으로 라벨링될 수 있다.
모니터링 클라이언트(310)는, 수신한 트랜잭션 데이터 및 패턴 인식 모델에 기초하여 애플리케이션 서버(10)의 트랜잭션 응답 분포도의 패턴을 인식할 수 있다.
이하, 도 8을 참조하여 모니터링 클라이언트(310)가 트랜잭션 응답 분포도의 패턴을 인식하는 동작을 설명한다. 이하, 모니터링 클라이언트(310), 모니터링 서버(110), 및 모델 배포 서버(120)의 동작 중 상술한 설명과 중복되는 부분에 대한 설명은 생략할 수 있다.
도 8은, 모니터링 클라이언트가 트랜잭션 응답 분포도의 패턴을 인식하는 방법의 순서도이다.
모니터링 클라이언트(310)는, 로컬 캐시와 모델 배포 서버(120)를 확인하여 최신의 패턴 인식 모델을 읽어올(load) 수 있다(S201).
모니터링 클라이언트(310)는, 모니터링 서버(110)로부터 주기적으로 신규의 트랜잭션 데이터를 수신할 수 있다(S202).
모니터링 클라이언트(310)는, 트랜잭션 데이터에 기초하여 응답 분포도를 생성할 수 있다. 모니터링 클라이언트(310)는, 운영자 단말(300)을 통해 응답 분포도를 나타내는 화면을 제공할 수 있다(S203).
S202 단계에서 모니터링 클라이언트(310)는, 소정의 주기에 따라 트랜잭션 데이터를 수신하므로, 이에 따라 S203 단계에서 생성되는 응답 분포는 시간의 흐름에 따라 x축 맨 마지막 데이터가 추가되고, 응답 분포도에서 포함되는 x축 길이가 한정될 수 있으므로 x축 맨 처음 데이터가 삭제되는 형태일 수 있다. 예를 들어, 도 2에서 단순 폭주 패턴이 포함되는 경우, 해당 패턴에서 기둥처럼 솟아 있는 부분이 현재 우측에 있으나, 시간에 흐름에 따라 차츰 좌측으로 이동하다가 사라질 수 있다.
모니터링 클라이언트(310)는, S202 단계에서 수신한 트랜잭션 데이터를 패턴 인식 모델의 입력으로 활용하여 패턴 매칭 결과를 추론할 수 있다(S204). 패턴 매칭 여부는, 수신한 트랜잭션 데이터가 복수의 트랜잭션 패턴 중 하나인 대상 패턴으로 매칭될 수 있는지, 또는 아닌지를 나타내는 패턴 매칭 결과를 생성하는 동작을 포함할 수 있다.
대상 패턴이 있으면, 모니터링 클라이언트(310)는, S203 단계에서 제공되는 화면에 패턴 매칭 결과를 표시하는 실시간 화면 알림 할 수 있다(S205). 예를 들어, 모니터링 클라이언트(310)는, 운영자 단말(300)을 통해 제공되는 화면 상의 응답 분포도에 매칭된 대상 패턴의 명칭, S202 단계에서 수신한 트랜잭션 데이터가 대상 패턴에 해당할 확률, 대상 패턴에 대한 도움말 등을 포함하는 정보를 표시할 수 있다.
입출력부(330)는, 운영자 단말(300)을 통해 매칭된 패턴 발생 결과에 대한 알림 설정 또는 알림 해제가 가능한 화면을 제공할 수 있다. 운영자는, 패턴 발생 결과에 대한 알림 설정 또는 알림 해제를 선택하여 운영자 단말(300)에 입력할 수 있다. 운영자가 매칭된 패턴 발생 결과에 대한 알림 설정을 운영자 단말(300)에 입력하면, 모니터링 클라이언트(310)는, 입력된 알림 설정을 지시하는 신호에 따라 패턴 매칭 결과에 대한 이벤트 정보를 생성할 수 있다(S206).
운영자가 매칭된 패턴 발생 여부에 대한 알림 해제를 운영자 단말(300)에 입력하면, 모니터링 클라이언트(310)는, 입력된 알림 해제를 지시하는 신호에 따라 패턴 매칭 결과에 대한 이벤트 정보를 생성하지 않을 수 있다.
예를 들어, 운영자가 알림 설정을 지시하는 신호를 입력하였으면, 모니터링 클라이언트(310)는 운영자 단말(300)을 통해 패턴 매칭 결과에 대한 이벤트를 생성하여 모니터링 서버(110)에 전송할 수 있다. 모니터링 서버(110)는, 수신한 이벤트에 기초하여 패턴 매칭 결과를 지시하는 알림 메시지를 작성하여 운영자 단말(300)에 전송할 수 있다. 메시지 수신부(320)가 운영자 단말(300)을 통해 알림 메시지를 수신하면, 운영자는, 운영자 단말(300)을 통해 알림 메시지의 내용을 확인할 수 있다.
모니터링 클라이언트(310)는, 애플리케이션 서버(10)를 실시간으로 모니터링하기 위하여, S206 단계 이후 S202 단계로 돌아가 S202 단계 내지 S206 단계를 반복할 수 있다.
이하, 도 9를 참조하여 모니터링 클라이언트(310)가 인식한 패턴에 대해 알림 동작하는 방법을 설명한다.
도 9는 모니터링 클라이언트가 인식한 패턴에 대해 알림 동작하는 방법의 순서도이다.
모니터링 서버(110)가 복수의 모니터링 클라이언트(310_1, 310_2)에 트랜잭션 데이터를 전송할 수 있다(S301). 복수의 모니터링 클라이언트(310_1, 310_2)는 도 1의 모니터링 클라이언트(310)에 포함될 수 있다. 도 9에는 모니터링 클라이언트의 개수를 2개로 도시하였으나, 이는 설명의 편의를 위한 것이고, 패턴 인식 시스템(1)은, 1 이상의 모니터링 클라이언트를 포함할 수 있다.
모니터링 클라이언트(310_1)는, 수신한 트랜잭션 데이터를 패턴 인식 모델의 입력으로 활용하여 패턴을 인식하고, 패턴 매칭 결과를 생성할 수 있다(S302). 모니터링 클라이언트(310_2)는, 수신한 트랜잭션 데이터를 패턴 인식 모델의 입력으로 활용하여 패턴을 인식하고, 패턴 매칭 결과를 생성할 수 있다(S303).
복수의 모니터링 클라이언트(310_1, 310_2) 각각은 패턴 매칭 결과에 대한 이벤트 정보를 생성할 수 있다(S304).
복수의 모니터링 클라이언트(310_1, 310_2)는, 생성한 이벤트 정보를 모니터링 서버(110)에 전송할 수 있다. 여기서 이벤트 정보는, 패턴 매칭 결과를 포함할 수 있다.
모니터링 서버(110)는, 수신한 이벤트 정보 중 중복되는 이벤트 정보를 필터링할 수 있다(S305). 패턴 인식은 복수 개의 모니터링 클라이언트(310_1, 310_2)에서 수행하고, 패턴 발생 여부를 나타내는 이벤트가 모니터링 서버(110)에 취합된다. 모니터링 서버(110)는, 복수의 모니터링 클라이언트(310_1, 310_2)로부터 중복된 이벤트를 수신할 수 있다. 모니터링 서버(110)는, 중복된 이벤트에 대해 동일한 운영자에게 중복된 알림하는 것을 방지하기 위해 수신한 이벤트 정보를 필터링할 수 있다.
모니터링 클라이언트(310)로부터 수신하는 이벤트 정보는, 인식된 패턴이 어떤 패턴인지, 인식된 시간은 언제 인지 등 패턴 인식에 대한 정보를 포함할 수 있다. 모니터링 서버(110)는, 패턴 인식에 대한 정보에 기초하여 중복된 이벤트를 중복하여 알리지 않도록 이벤트를 필터링할 수 있다. 이벤트는 초 단위, 분 단위, 및 시간 단위 중 하나의 단위로 필터링될 수 있다.
모니터링 서버(110)는, 필터링 결과에 기초하여 운영자 단말(300)에 알림 메시지를 전송할 수 있다(S306). 메시지 수신부(320)는, 운영자 단말(300)을 통해 모니터링 서버(110)로부터 알림 메시지를 수신할 수 있다. 입출력부(330)는, 운영자 단말(300)을 통해 수신한 알림 메시지의 내용을 나타내는 화면을 제공할 수 있다. 운영자는, 운영자 단말(300)을 통해 알림 메시지의 내용을 확인할 수 있다.
일 실시예에 따른 패턴 인식 시스템(1)을 이용한 패턴 인식 방법은, 도 5의 모델 학습 서버(200)가 응답 분포도를 학습하는 방법의 각 단계, 도 8의 모니터링 클라이언트(310)가 트랜잭션 응답 분포도의 패턴을 인식하는 방법의 각 단계, 및 도 9의 모니터링 클라이언트(310)가 인식한 패턴에 대해 알림 동작하는 방법의 각 단계 중 적어도 하나를 포함할 수 있다.
상술한 본 발명의 실시예들은 다양한 수단을 통해 구현될 수 있다. 예를 들어, 본 발명의 실시예들은 독립적인 하드웨어 장치, 펌웨어(firmware), 소프트웨어 형태로 구현될 수 있으며, 또는 그것들의 결합 등에 의해 구현될 수 있다.
하드웨어에 의한 구현의 경우, 본 발명의 실시예들에 따른 방법은 하나 또는 그 이상의 ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 프로세서(processor), 컨트롤러, 마이크로 컨트롤러, 마이크로 프로세서, 범용 컴퓨터 시스템 등에 의해 구현될 수 있다.
펌웨어나 소프트웨어에 의한 구현의 경우, 본 발명의 실시예들에 따른 방법은 이상에서 설명된 기능 또는 동작 들을 수행하는 모듈, 절차 또는 함수 등의 형태로 구현될 수 있다. 소프트웨어 코드는 메모리 유닛에 저장되어 프로세서에 의해 구동될 수 있다. 상기 메모리 유닛은 상기 프로세서 내부 또는 외부에 위치하여, 이미 공지된 다양한 수단에 의해 상기 프로세서와 데이터를 주고받을 수 있다.
이상을 통해 본 발명의 실시 예에 대하여 설명하였지만, 본 발명은 상기 실시 예에 한정되지 않고, 본 발명의 취지를 벗어나지 않고 효과를 저해하지 않는 한, 발명의 상세한 설명 및 첨부한 도면의 범위 안에서 다양하게 변경하여 실시할 수 있다. 또한 그러한 실시 예가 본 발명의 범위에 속하는 것은 당연하다.
1: 패턴 인식 시스템
10: 애플리케이션 서버
100: 모니터링 모듈
110: 모니터링 서버
120: 모델 배포 서버
121: 학습 모델 저장소
200: 모델 학습 서버
210: 인식 목표 패턴 수집부
220: 학습 데이터 가공부
221: 이미지 변환부
222: 서브패턴 분석부
223: 학습 데이터 저장소
230: 인식 모델 학습부
240: 인식 모델 배포부
300: 운영자 단말
310: 모니터링 클라이언트
320: 메시지 수신부
330: 입출력부

Claims (12)

  1. 트랜잭션 응답 분포도의 패턴을 인식하는 시스템에 있어서,
    트랜잭션을 지시하는 데이터가 복수의 트랜잭션 패턴 중 하나로 분류될 확률을 출력하는 패턴 인식 모델을 학습시키는 모델 학습 서버;
    상기 패턴 인식 모델을 통해 성능 모니터링의 대상이 되는 애플리케이션 서버의 제1 트랜잭션 데이터가 상기 복수의 트랜잭션 패턴 중 하나로 매칭되는지를 추론하는 모니터링 클라이언트; 및
    상기 애플리케이션 서버로부터 수신한 상기 제1 트랜잭션 데이터 및 상기 모델 학습 서버로부터 수신한 상기 패턴 인식 모델을 상기 모니터링 클라이언트에 제공하는 모니터링 모듈을 포함하고,
    상기 모델 학습 서버는
    상기 모니터링 클라이언트가 설치된 운영자 단말로부터, 트랜잭션 응답 분포도 데이터에 상기 복수의 트랜잭션 패턴 중 하나를 지시하도록 라벨링된 응답 분포도 샘플을 수집하는 인식 목표 패턴 수집부;
    상기 응답 분포도 샘플 각각을 좌우 이동한 데이터, 상기 샘플 각각을 상하 이동한 데이터, 상기 샘플 중 임의의 트랜잭션을 기준으로 소정의 위치에 가상의 트랜잭션을 주입한 데이터, 및 상기 샘플 중 임의의 트랜잭션을 기준으로 소정의 위치로부터 트랜잭션을 소거한 데이터 중 적어도 하나를 포함하는 증강된 데이터를 생성하는 학습데이터 가공부;를 포함하는 것을 특징으로 하는 것을 특징으로 하는
    패턴 인식 시스템.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서,
    상기 모니터링 모듈은,
    상기 애플리케이션 서버로부터 제1 트랜잭션 데이터를 수집하는 모니터링 서버; 및
    상기 모니터링 클라이언트에 상기 패턴 인식 모델을 배포하는 모델 배포 서버를 포함하는,
    패턴 인식 시스템.
  5. 제4항에 있어서,
    상기 모니터링 클라이언트는,
    상기 모델 배포 서버로부터 상기 패턴 인식 모델을 로드하고, 상기 모니터링 서버로부터 상기 제1 트랜잭션 데이터를 수신하며, 상기 제1 트랜잭션 데이터에 기초하여 제1 응답 분포도를 생성하고, 상기 제1 트랜잭션 데이터를 상기 패턴 인식 모델에 입력하여 패턴 매칭 결과를 추론하며, 상기 추론한 결과를 포함하는 패턴 매칭 결과를 나타내는 화면을 상기 모니터링 클라이언트가 설치된 운영자 단말에 표시하는,
    패턴 인식 시스템.
  6. 제5항에 있어서,
    상기 모니터링 클라이언트는,
    각각 상기 패턴 매칭 결과를 나타내는 이벤트 정보를 생성하는 적어도 하나의 모니터링 클라이언트를 포함하고,
    상기 모니터링 서버는,
    상기 적어도 하나의 모니터링 클라이언트로부터 상기 이벤트 정보를 수신하고, 수신한 이벤트 정보 중 중복되는 이벤트 정보를 필터링하며, 필터링 결과에 기초하여 상기 운영자 단말에 알림 메시지를 전송하는,
    패턴 인식 시스템.
  7. 컴퓨팅 장치에 의해 수행되는 패턴 인식 방법에 있어서,
    모델 학습 서버가 트랜잭션을 지시하는 데이터가 복수의 트랜잭션 패턴 중 하나로 분류될 확률을 출력하는 패턴 인식 모델을 학습시키는 단계;
    모니터링 모듈이 상기 모델 학습 서버로부터 상기 패턴 인식 모델을 수신하고, 성능 모니터링의 대상이 되는 애플리케이션 서버로부터 제1 트랜잭션 데이터를 수신하는 단계;
    상기 모니터링 모듈이 모니터링 클라이언트에 상기 패턴 인식 모델 및 상기 제1 트랜잭션 데이터를 배포하는 단계;
    상기 모니터링 클라이언트가 상기 패턴 인식 모델로부터 상기 제1 트랜잭션 데이터가 상기 복수의 트랜잭션 패턴 중 하나로 매칭되는지를 추론하는 단계; 및
    상기 모니터링 클라이언트가 상기 추론한 결과를 포함하는 패턴 매칭 결과를 나타내는 화면을 상기 모니터링 클라이언트가 설치된 운영자 단말에 표시하는 단계를 포함하고,
    상기 패턴 인식 모델을 학습시키는 단계는,
    상기 운영자 단말로부터, 트랜잭션 응답 분포도 데이터가 상기 복수의 트랜잭션 패턴 중 하나를 지시하도록 라벨링된 응답 분포도 샘플을 수집하는 단계;
    상기 응답 분포도 샘플을 각각 좌우 이동하거나, 상기 샘플을 각각 상하 이동하거나, 상기 샘플 중 임의의 트랜잭션을 기준으로 소정의 위치에 가상의 트랜잭션을 주입하거나, 또는 상기 샘플 중 임의의 트랜잭션을 기준으로 소정의 위치로부터 트랜잭션을 소거하여 증강된 데이터를 생성하는 단계; 및
    상기 응답 분포도 샘플 및 상기 증강된 데이터를 학습 데이터로 하여 상기 패턴 인식 모델을 학습시키는 단계를 포함하는
    패턴 인식 방법.
  8. 삭제
  9. 삭제
  10. 제7항에 있어서,
    상기 모니터링 모듈이 학습된 상기 패턴 인식 모델의 버전을 관리하고, 상기 모니터링 클라이언트에 상기 패턴 인식 모델을 배포하는 단계
    를 더 포함하는,
    패턴 인식 방법.
  11. 제10항에 있어서,
    상기 모니터링 클라이언트는, 모델 배포 서버로부터 상기 패턴 인식 모델을 로드하는 단계;
    상기 모니터링 클라이언트는, 상기 애플리케이션 서버로부터 상기 제1 트랜잭션 데이터를 수신하는 단계;
    상기 모니터링 클라이언트는, 상기 제1 트랜잭션 데이터에 기초하여 제1 응답 분포도를 생성하는 단계;
    상기 모니터링 클라이언트는, 상기 제1 트랜잭션 데이터를 상기 패턴 인식 모델에 입력하여 패턴 매칭 결과를 추론하는 단계; 및
    상기 모니터링 클라이언트는, 상기 추론한 결과를 포함하는 패턴 매칭 결과를 나타내는 화면을 상기 운영자 단말에 표시하는 단계
    를 더 포함하는,
    패턴 인식 방법.
  12. 제11항에 있어서,
    상기 모니터링 클라이언트는, 상기 패턴 매칭 결과를 나타내는 이벤트 정보를 생성하는 단계;
    상기 모니터링 모듈은, 상기 모니터링 클라이언트로부터 상기 이벤트 정보를 수신하는 단계;
    상기 모니터링 모듈은, 수신한 이벤트 정보 중 중복되는 이벤트 정보를 필터링하는 단계; 및
    상기 모니터링 모듈은, 상기 필터링 결과에 기초하여 상기 운영자 단말에 알림 메시지를 전송하는 단계
    를 더 포함하는,
    패턴 인식 방법.
KR1020220127193A 2022-10-05 2022-10-05 트랜잭션 응답 분포도의 패턴 인식 방법시스템 및 이를 이용한 패턴 인식 시스템방법 KR102499005B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220127193A KR102499005B1 (ko) 2022-10-05 2022-10-05 트랜잭션 응답 분포도의 패턴 인식 방법시스템 및 이를 이용한 패턴 인식 시스템방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220127193A KR102499005B1 (ko) 2022-10-05 2022-10-05 트랜잭션 응답 분포도의 패턴 인식 방법시스템 및 이를 이용한 패턴 인식 시스템방법

Publications (1)

Publication Number Publication Date
KR102499005B1 true KR102499005B1 (ko) 2023-02-16

Family

ID=85326150

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220127193A KR102499005B1 (ko) 2022-10-05 2022-10-05 트랜잭션 응답 분포도의 패턴 인식 방법시스템 및 이를 이용한 패턴 인식 시스템방법

Country Status (1)

Country Link
KR (1) KR102499005B1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11110360A (ja) * 1997-09-30 1999-04-23 Hitachi Software Eng Co Ltd トランザクション分配方法およびシステムおよびトランザクション分配処理用記録媒体
KR100920414B1 (ko) * 2008-05-30 2009-10-07 (주)제니퍼소프트 트랜잭션의 지정된 수행지점에서 자바 스택을 스냅샷하는자바 프로세스 모니터링 시스템 및 그 방법
JP2015197917A (ja) * 2014-03-31 2015-11-09 三菱電機株式会社 離散製造プロセスにおいて異常を検出する方法
WO2019064370A1 (ja) * 2017-09-27 2019-04-04 日本電気株式会社 ログ分析システム、ログ分析方法、ログ分析プログラム、及び記憶媒体
KR102307948B1 (ko) * 2020-03-27 2021-10-05 주식회사 와탭랩스 학습 기반의 트랜잭션 관찰 시스템 및 그 제어방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11110360A (ja) * 1997-09-30 1999-04-23 Hitachi Software Eng Co Ltd トランザクション分配方法およびシステムおよびトランザクション分配処理用記録媒体
KR100920414B1 (ko) * 2008-05-30 2009-10-07 (주)제니퍼소프트 트랜잭션의 지정된 수행지점에서 자바 스택을 스냅샷하는자바 프로세스 모니터링 시스템 및 그 방법
JP2015197917A (ja) * 2014-03-31 2015-11-09 三菱電機株式会社 離散製造プロセスにおいて異常を検出する方法
WO2019064370A1 (ja) * 2017-09-27 2019-04-04 日本電気株式会社 ログ分析システム、ログ分析方法、ログ分析プログラム、及び記憶媒体
KR102307948B1 (ko) * 2020-03-27 2021-10-05 주식회사 와탭랩스 학습 기반의 트랜잭션 관찰 시스템 및 그 제어방법

Similar Documents

Publication Publication Date Title
Ghosh et al. Artificial intelligence in Internet of things
CN110059262B (zh) 一种基于混合神经网络的项目推荐模型的构建方法及装置、项目推荐方法
KR102497238B1 (ko) 순환 인공 신경 네트워크 내 활동 특성화 그리고 정보 인코딩 및 디코딩
EP3686848A1 (en) Semantic image synthesis for generating substantially photorealistic images using neural networks
US20190378008A1 (en) Encoding and decoding information
CN103999052A (zh) 远程进程执行管理
CN112418292B (zh) 一种图像质量评价的方法、装置、计算机设备及存储介质
CN111125519A (zh) 用户行为预测方法、装置、电子设备以及存储介质
WO2021138939A1 (zh) 一种云脑机器人系统
US20200184334A1 (en) Modification of neural network topology
KR102499005B1 (ko) 트랜잭션 응답 분포도의 패턴 인식 방법시스템 및 이를 이용한 패턴 인식 시스템방법
CN115766104A (zh) 一种基于改进的Q-learning网络安全决策自适应生成方法
KR102630820B1 (ko) 메신저 피싱 또는 보이스 피싱을 감지하는 전자 장치 및 그 동작 방법
CN114091572A (zh) 模型训练的方法、装置、数据处理系统及服务器
CN113975812A (zh) 游戏图像的处理方法、装置、设备及存储介质
CN116229188B (zh) 图像处理显示方法、分类模型的生成方法及其设备
CN108845833A (zh) 智能关机方法、装置及计算机可读存储介质
CN111428276B (zh) 一种数据处理的方法、装置、设备和介质
US11301616B1 (en) Using machine learning to predict performance of secure documents
Glöckner Psychology and disaster: why we do not see looming disasters and how our way of thinking causes them
CN117274719B (zh) 图像分类方法、装置、计算机设备及存储介质
US20230168666A1 (en) Systems and Methods for Controlling Production
Li Deep Learning in Demand Side Management: A Comprehensive Framework for Smart Homes
Gowtham Reddy et al. Counterfactual Generation Under Confounding
KR20210154330A (ko) 빅데이터를 활용한 피부진단 ai시스템 및 광고 플랫폼 개발방법

Legal Events

Date Code Title Description
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant