KR20210065792A - 대량 거래 상황을 효율적으로 엔드 투 엔드 모니터링 하기 위한 방법 및 이를 이용한 트레이스 정보 고속 입력 장치 - Google Patents

대량 거래 상황을 효율적으로 엔드 투 엔드 모니터링 하기 위한 방법 및 이를 이용한 트레이스 정보 고속 입력 장치 Download PDF

Info

Publication number
KR20210065792A
KR20210065792A KR1020190154935A KR20190154935A KR20210065792A KR 20210065792 A KR20210065792 A KR 20210065792A KR 1020190154935 A KR1020190154935 A KR 1020190154935A KR 20190154935 A KR20190154935 A KR 20190154935A KR 20210065792 A KR20210065792 A KR 20210065792A
Authority
KR
South Korea
Prior art keywords
information
trace information
transaction
service module
trace
Prior art date
Application number
KR1020190154935A
Other languages
English (en)
Other versions
KR102309667B1 (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 KR1020190154935A priority Critical patent/KR102309667B1/ko
Priority to US16/724,314 priority patent/US11018961B1/en
Publication of KR20210065792A publication Critical patent/KR20210065792A/ko
Application granted granted Critical
Publication of KR102309667B1 publication Critical patent/KR102309667B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • H04L43/045Processing captured monitoring data, e.g. for logfile generation for graphical visualisation of monitoring data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • H04L43/065Generation of reports related to network devices
    • 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/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3034Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
    • 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/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0631Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications

Abstract

적어도 하나의 웹 서버, 적어도 하나의 웹 애플리케이션 서버 및 적어도 하나의 데이터베이스 서버를 포함하는 모니터링 대상 시스템 상에서 발생하는 대량 거래 상황을 효율적으로 엔드 투 엔드(end-to-end) 모니터링 하기 위한 방법에 있어서, (a) 트레이스 정보 고속 입력 장치가, 상기 모니터링 대상 시스템에 포함되는 상기 웹 서버 및 상기 웹 애플리케이션 서버로 하여금 트랜잭션 식별 정보 및 트랜잭션 순서 정보를 포함하는 개별 트레이스 정보들을 생성하도록 하는 단계; 및 (b) 상기 웹 서버 및 상기 웹 애플리케이션 서버로부터 상기 트랜잭션 식별 정보 및 상기 트랜잭션 순서 정보가 포함된 상기 개별 트레이스 정보들이 획득되면, 상기 트레이스 정보 고속 입력 장치가, 상기 개별 트레이스 정보들을 트레이스 정보 저장 공간에 저장하는 단계;를 포함하는 방법 및 이를 이용한 트레이스 정보 고속 입력 장치가 개시된다.

Description

대량 거래 상황을 효율적으로 엔드 투 엔드 모니터링 하기 위한 방법 및 이를 이용한 트레이스 정보 고속 입력 장치{METHOD AND DEVICE FOR END-TO-END MONITORING SITUATION OF MASSIVE TRANSACTION EFFICIENTLY IN ORDER TO INPUT AND OUTPUT TRACE INFORMATION AT HIGH SPEED}
적어도 하나의 웹 서버, 적어도 하나의 웹 애플리케이션 서버 및 적어도 하나의 데이터베이스 서버를 포함하는 모니터링 대상 시스템 상에서 발생하는 대량 거래 상황을 효율적으로 엔드 투 엔드(end-to-end) 모니터링 하기 위한 방법 및 이를 이용한 트레이스 정보 고속 입력 장치에 관한 것이다.
복수의 레이어로 나뉘어 있는 서버 구조에서 사용자의 요청에 대응되는 응답이 사용자에게 전달되기까지 이루어지는 서버들의 동작 수행 흐름을 모니터링하고, 장애 상황이 발생할 경우 신속하게 해당 장애 상황을 추적할 수 있어야 한다. 따라서, 다이어그램으로 표현된 화면을 통해 각 서버의 구간을 분리하여 세밀하게 분석이 가능하도록 엔드 투 엔드(end-to-end) 모니터링 기법이 사용된다.
특히, 대량 거래 상황에서 각 서버에 의해 수행되는 서비스를 모니터링 하기 위해서는, 대용량의 정보를 수집하고, 수집된 정보를 분석하여 사용자의 단말에 디스플레이되도록 하는 과정이 필요하다. 하지만, 대량 거래 상황에서는 모니터링 정보가 대량으로 수집되기 때문에, 모니터링 장치가, 특정 사용자에게 적합한 대량의 데이터들을 한꺼번에 저장하는 동시에 해당 데이터들을 특정 사용자에게 최종적으로 전달하는 프로세스까지 수행하기는 어려운 실정이다.
종래 모니터링 장치에 관하여 도시하는 도 4를 참조하여 구체적으로 설명하면, 기존에는 엔드 투 엔드 모니터링을 하기 위한 이벤트 코릴레이션(correlation)을 데이터베이스가 아닌 모니터링 대상 시스템에서 진행하였다. 참고로, 코릴레이션이란, 특정 거래의 모든 트레이스 정보를 엮는 작업을 의미한다. 하지만, 대량 거래 상황에서 모니터링 대상 시스템이 코릴레이션을 진행할 경우, 모니터링 대상 시스템이 본래 처리하여야 할 대량 거래 업무에 더해 코릴레이션 작업까지 수행하여야 하므로, 모니터링을 관리하는 마스터 노드로 모니터링 데이터를 전송하는데 시간이 오래 걸리게 되는 문제점이 있다. 이에 따라, 모니터링 대상 시스템에서 garbage collection 타이밍을 잡는데 어려움을 겪게 되고, 자바 힙 메모리를 많이 차지하게 되어, 모니터링 대상 시스템에 악역향을 끼칠 수 있다.
또한, 위와 같은 문제점을 회피하기 위해 모니터링 대상 시스템을 관리하는 마스터 노드로 모니터링 정보를 전송하고, 마스터 노드에서 데이터베이스에 모니터링 정보를 입출력할 경우, 모니터링 데이터 자체가 대용량 데이터이기 때문에 마스터 노드의 모든 스레드가 blocking될 수 있다. 이에 따라, blocking되는 동안 모니터링 작업 외에 마스터 노드로 오는 타 요청에 대해서는 작업 큐에 쌓이게 되고, 그 결과 메모리가 많이 소모되므로, 마스터 노드에 악영향을 끼칠 수 있다.
또한, 모니터링 장치가, 모니터링 정보를 데이터베이스에 저장할 때 일반적으로 쿼리문을 이용하게 되는데, 모니터링 장치가 쿼리를 파싱하고 바인딩 작업을 진행하는데 추가적인 시간이 필요하므로, 일반적인 네트워크 전송의 속도보다 모니터링 정보 입출력 속도가 느리다는 문제점이 존재한다.
또한, 각 서버의 시스템 시각이 각각 다른 값을 가질 수 있으므로, 서비스 모듈 각각에서 작업이 수행된 당시에 측정된 서버 시각을 기준으로 코릴레이션 작업을 수행할 경우, 트레이스 정보들이 생성된 순서대로 정렬되지 못할 수 있는 문제점이 존재한다.
KR 10-1828156 B1
본 발명은 상술한 문제점을 모두 해결하는 것을 목적으로 한다.
또한, 본 발명은, 대량 거래 상황에서 대용량의 정보를 고속으로 저장하는 것을 다른 목적으로 한다.
또한, 본 발명은, 사용자 단말을 통해 코릴레이션 작업을 수행함으로써 리소스를 적게 사용하고, 그에 따라 사용자 단말에 보다 많은 정보를 디스플레이하는 것을 또 다른 목적으로 한다.
또한, 본 발명은, 트레이스 정보들에 대해, 트랜잭션 순서 정보 및 트랜잭션 식별 정보를 기준으로 코릴레이션을 진행함으로써, 각 서버마다 서버 시각이 상이하더라도, 전반적인 거래의 흐름을 추적하는 것을 또 다른 목적으로 한다.
상기한 바와 같은 본 발명의 목적을 달성하고, 후술하는 본 발명의 특징적인 효과를 실현하기 위한 본 발명의 특징적인 구성은 다음과 같다.
본 발명의 일 태양에 따르면, 적어도 하나의 웹 서버, 적어도 하나의 웹 애플리케이션 서버 및 적어도 하나의 데이터베이스 서버를 포함하는 모니터링 대상 시스템 상에서 발생하는 대량 거래 상황을 효율적으로 엔드 투 엔드(end-to-end) 모니터링 하기 위한 방법에 있어서, (a) 트레이스 정보 고속 입력 장치가, 상기 모니터링 대상 시스템에 포함되는 상기 웹 서버 및 상기 웹 애플리케이션 서버로 하여금 트랜잭션 식별 정보 및 트랜잭션 순서 정보를 포함하는 개별 트레이스 정보들을 생성하도록 하는 단계; 및 (b) 상기 웹 서버 및 상기 웹 애플리케이션 서버로부터 상기 트랜잭션 식별 정보 및 상기 트랜잭션 순서 정보가 포함된 상기 개별 트레이스 정보들이 획득되면, 상기 트레이스 정보 고속 입력 장치가, 상기 개별 트레이스 정보들을 트레이스 정보 저장 공간에 저장하는 단계;를 포함하는 방법이 개시된다.
일례로서, 상기 (a) 단계에서, 임의의 클라이언트로부터의 임의의 트랜잭션의 처리 요청이 획득되면, 상기 트레이스 정보 고속 입력 장치가, 상기 모니터링 대상 시스템에 포함되는 상기 웹 서버 및 상기 웹 애플리케이션 서버로 하여금 (i) 상기 임의의 쿼리에 임의의 트랜잭션 식별 정보를 부여하도록 하고, (ii) 상기 임의의 쿼리에 대한 상기 웹 서버 및 상기 웹 애플리케이션 서버 각각의 트랜잭션들에 임의의 트랜잭션 순서 정보를 부여하도록 함으로써, 상기 임의의 쿼리에 대응되는 상기 개별 트레이스 정보들을 생성하도록 하는 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 (a) 단계에서, 상기 웹 서버는 제1 서비스 모듈 내지 제m 서비스 모듈 - 상기 m은 1 이상의 정수임 - 을 포함하고, 상기 웹 애플리케이션 서버는 제m+1 서비스 모듈 내지 제n 서비스 모듈 - 상기 n은 상기 m 보다 큰 정수임 - 을 포함하는 상태에서, 상기 트레이스 정보 고속 입력 장치가, 상기 웹 서버 및 상기 웹 애플리케이션 서버로 하여금 상기 임의의 쿼리에 대한 상기 트랜잭션들에 상기 임의의 트랜잭션 순서 정보를 부여하도록 하되, 제k 서비스 모듈 - 상기 k는 2 이상이며, 상기 n 미만인 정수임 - 로부터 제(k+1) 서비스 모듈로 전송되는 요청 트랜잭션 및 상기 제(k+1) 서비스 모듈로부터 상기 제k 서비스 모듈로 전송되는 응답 트랜잭션에 제k 트랜잭션 순서 정보를 부여하도록 하고, 상기 제k 트랜잭션 순서 정보는, 제(k-1) 서비스 모듈로부터 상기 제k 서비스 모듈로 전송되는 요청 트랜잭션 및 상기 제k 서비스 모듈로부터 상기 제(k-1) 서비스 모듈로 전송되는 응답 트랜잭션에 부여되는 제(k-1) 트랜잭션 순서 정보의 하위 계층의 트랜잭션 순서 정보인 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 트레이스 정보 고속 입력 장치가, 상기 모니터링 대상 시스템에 포함되는 상기 웹 서버 및 상기 웹 애플리케이션 서버로 하여금 상기 트랜잭션의 처리 요청에 의해 발생되어 전송되는 제1 트랜잭션 순서 정보 내지 제n 트랜잭션 순서 정보를 가지는 각각의 요청 트랜잭션 및 각각의 응답 트랜잭션에 모두 동일한 트랜잭션 식별 정보를 부여하여 관리하도록 하는 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 (b) 단계에서, 상기 트레이스 정보 고속 입력 장치가, 상기 트랜잭션 식별 정보 및 상기 트랜잭션 순서 정보를 포함하는 상기 개별 트레이스 정보들을 바이트(byte) 배열로 상기 트레이스 정보 저장 공간에 저장하는 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 (b) 단계에서, 상기 트레이스 정보 고속 입력 장치가, 상기 개별 트레이스 정보들을 상기 트레이스 정보 저장 공간에 insert 방식으로 저장하는 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 (b) 단계 이후에, (c) 상기 트레이스 정보 고속 입력 장치가, 특정 사용자 단말로 하여금 (i) 상기 개별 트레이스 정보들 중 특정 트레이스 정보를 상기 트레이스 정보 저장 공간으로부터 획득하도록 하고, (ii) 특정 사용자가 확인할 수 있도록 상기 특정 트레이스 정보를 디스플레이하도록 하는 단계;를 더 포함하는 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 (c) 단계에서, 상기 트레이스 정보 고속 입력 장치가, 상기 특정 사용자 단말로 하여금 상기 트랜잭션 식별 정보 및 상기 트랜잭션 순서 정보를 참조하도록 하여 상기 특정 트레이스 정보가 통합된 통합 트레이스 정보를 생성하도록 하고, 상기 통합 트레이스 정보를 디스플레이하도록 하는 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 트랜잭션 식별 정보는 GUID(Globally Unique Identifier)를 포함하고, 상기 트랜잭션 순서 정보는 수행 흐름 번호를 포함하고, 상기 (c) 단계에서, 상기 트레이스 정보 고속 입력 장치가, 상기 특정 사용자 단말로 하여금 상기 GUID 및 상기 수행 흐름 번호를 참조하도록 하여 상기 특정 트레이스 정보를 코릴레이션(correlation)함으로써 상기 통합 트레이스 정보를 생성하도록 하는 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 개별 트레이스 정보들은 서비스 시작종료 정보, 서비스 모듈 정보를 추가로 포함하고, 상기 (c) 단계에서, 상기 트레이스 정보 고속 입력 장치가, 상기 특정 사용자 단말로 하여금 상기 서비스 시작종료 정보, 상기 서비스 모듈 정보를 추가로 참조하도록 하여 상기 특정 트레이스 정보를 코릴레이션함으로써 상기 통합 트레이스 정보를 생성하도록 하는 것을 특징으로 하는 방법이 개시된다.
본 발명의 다른 태양에 따르면, 적어도 하나의 웹 서버, 적어도 하나의 웹 애플리케이션 서버 및 적어도 하나의 데이터베이스 서버를 포함하는 모니터링 대상 시스템 상에서 발생하는 대량 거래 상황을 효율적으로 엔드 투 엔드(end-to-end) 모니터링 하기 위한 트레이스 정보 고속 입력 장치에 있어서, 인스트럭션들을 저장하는 적어도 하나의 메모리; 및 상기 인스트럭션들을 실행하기 위해 구성된 적어도 하나의 프로세서를 포함하되, 상기 프로세서는, (1) 상기 모니터링 대상 시스템에 포함되는 상기 웹 서버 및 상기 웹 애플리케이션 서버로 하여금 트랜잭션 식별 정보 및 트랜잭션 순서 정보를 포함하는 개별 트레이스 정보들을 생성하도록 하는 프로세스 및 (2) 상기 웹 서버 및 상기 웹 애플리케이션 서버로부터 상기 트랜잭션 식별 정보 및 상기 트랜잭션 순서 정보가 포함된 상기 개별 트레이스 정보들이 획득되면, 상기 개별 트레이스 정보들을 트레이스 정보 저장 공간에 저장하는 프로세스를 수행하는 상기 인스트럭션들을 실행하는 트레이스 정보 고속 입력 장치가 개시된다.
일례로서, 상기 프로세서는, 상기 (1) 프로세스에서, 임의의 클라이언트로부터의 임의의 트랜잭션의 처리 요청이 획득되면, 상기 모니터링 대상 시스템에 포함되는 상기 웹 서버 및 상기 웹 애플리케이션 서버로 하여금 (i) 상기 임의의 쿼리에 임의의 트랜잭션 식별 정보를 부여하도록 하고, (ii) 상기 임의의 쿼리에 대한 상기 웹 서버 및 상기 웹 애플리케이션 서버 각각의 트랜잭션들에 임의의 트랜잭션 순서 정보를 부여하도록 함으로써, 상기 임의의 쿼리에 대응되는 상기 개별 트레이스 정보들을 생성하도록 하는 것을 특징으로 하는 트레이스 정보 고속 입력 장치가 개시된다.
일례로서, 상기 프로세서는, 상기 (1) 프로세스에서, 상기 웹 서버는 제1 서비스 모듈 내지 제m 서비스 모듈 - 상기 m은 1 이상의 정수임 - 을 포함하고, 상기 웹 애플리케이션 서버는 제m+1 서비스 모듈 내지 제n 서비스 모듈 - 상기 n은 상기 m 보다 큰 정수임 - 을 포함하는 상태에서, 상기 웹 서버 및 상기 웹 애플리케이션 서버로 하여금 상기 임의의 쿼리에 대한 상기 트랜잭션들에 상기 임의의 트랜잭션 순서 정보를 부여하도록 하되, 제k 서비스 모듈 - 상기 k는 2 이상이며, 상기 n 미만인 정수임 - 로부터 제(k+1) 서비스 모듈로 전송되는 요청 트랜잭션 및 상기 제(k+1) 서비스 모듈로부터 상기 제k 서비스 모듈로 전송되는 응답 트랜잭션에 제k 트랜잭션 순서 정보를 부여하도록 하고, 상기 제k 트랜잭션 순서 정보는, 제(k-1) 서비스 모듈로부터 상기 제k 서비스 모듈로 전송되는 요청 트랜잭션 및 상기 제k 서비스 모듈로부터 상기 제(k-1) 서비스 모듈로 전송되는 응답 트랜잭션에 부여되는 제(k-1) 트랜잭션 순서 정보의 하위 계층의 트랜잭션 순서 정보인 것을 특징으로 하는 트레이스 정보 고속 입력 장치가 개시된다.
일례로서, 상기 프로세서는, 상기 모니터링 대상 시스템에 포함되는 상기 웹 서버 및 상기 웹 애플리케이션 서버로 하여금 상기 트랜잭션의 처리 요청에 의해 발생되어 전송되는 제1 트랜잭션 순서 정보 내지 제n 트랜잭션 순서 정보를 가지는 각각의 요청 트랜잭션 및 각각의 응답 트랜잭션에 모두 동일한 트랜잭션 식별 정보를 부여하여 관리하도록 하는 것을 특징으로 하는 트레이스 정보 고속 입력 장치가 개시된다.
일례로서, 상기 프로세서는, 상기 (2) 프로세스에서, 상기 트랜잭션 식별 정보 및 상기 트랜잭션 순서 정보를 포함하는 상기 개별 트레이스 정보들을 바이트(byte) 배열로 상기 트레이스 정보 저장 공간에 저장하는 것을 특징으로 하는 트레이스 정보 고속 입력 장치가 개시된다.
일례로서, 상기 프로세서는, 상기 (2) 프로세스에서, 상기 개별 트레이스 정보들을 상기 트레이스 정보 저장 공간에 insert 방식으로 저장하는 것을 특징으로 하는 트레이스 정보 고속 입력 장치가 개시된다.
일례로서, 상기 프로세서는, 상기 (2) 프로세스 이후에, (3) 특정 사용자 단말로 하여금 (i) 상기 개별 트레이스 정보들 중 특정 트레이스 정보를 상기 트레이스 정보 저장 공간으로부터 획득하도록 하고, (ii) 특정 사용자가 확인할 수 있도록 상기 특정 트레이스 정보를 디스플레이하도록 하는 프로세스를 더 수행하는 것을 특징으로 하는 트레이스 정보 고속 입력 장치가 개시된다.
일례로서, 상기 프로세서는, 상기 (3) 프로세스에서, 상기 특정 사용자 단말로 하여금 상기 트랜잭션 식별 정보 및 상기 트랜잭션 순서 정보를 참조하도록 하여 상기 특정 트레이스 정보가 통합된 통합 트레이스 정보를 생성하도록 하고, 상기 통합 트레이스 정보를 디스플레이하도록 하는 것을 특징으로 하는 트레이스 정보 고속 입력 장치가 개시된다.
일례로서, 상기 트랜잭션 식별 정보는 GUID(Globally Unique Identifier)를 포함하고, 상기 트랜잭션 순서 정보는 수행 흐름 번호를 포함하고, 상기 프로세서는, 상기 (3) 프로세스에서, 상기 특정 사용자 단말로 하여금 상기 GUID 및 상기 수행 흐름 번호를 참조하도록 하여 상기 특정 트레이스 정보를 코릴레이션(correlation)함으로써 상기 통합 트레이스 정보를 생성하도록 하는 것을 특징으로 하는 트레이스 정보 고속 입력 장치가 개시된다.
일례로서, 상기 개별 트레이스 정보들은 서비스 시작종료 정보, 서비스 모듈 정보를 추가로 포함하고, 상기 프로세서는, 상기 (3) 프로세스에서, 상기 특정 사용자 단말로 하여금 상기 서비스 시작종료 정보, 상기 서비스 모듈 정보를 추가로 참조하도록 하여 상기 특정 트레이스 정보를 코릴레이션함으로써 상기 통합 트레이스 정보를 생성하도록 하는 것을 특징으로 하는 트레이스 정보 고속 입력 장치가 개시된다.
본 발명에 의하면, 다음과 같은 효과가 있다.
본 발명은, 본 발명은, 대량 거래 상황에서 대용량의 정보를 고속으로 저장하는 효과가 있다.
또한, 본 발명은, 사용자 단말을 통해 코릴레이션 작업을 수행함으로써 리소스를 적게 사용하고, 그에 따라 사용자 단말에 보다 많은 정보를 디스플레이하는 효과가 있다.
또한, 본 발명은, 트레이스 정보들에 대해, 트랜잭션 순서 정보 및 트랜잭션 식별 정보를 기준으로 코릴레이션을 진행함으로써, 각 서버마다 서버 시각이 상이하더라도, 전반적인 거래의 흐름을 추적하는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 모니터링 대상 시스템 상에서 발생하는 대량 거래 상황을 효율적으로 엔드 투 엔드 모니터링 하기 위한 방법에 있어서, 모니터링 대상 시스템에 포함되는 웹 서버, 웹 애플리케이션 서버 및 데이터베이스 서버와 트레이스 정보 고속 입력 장치를 개략적으로 도시한 것이고,
도 2는 본 발명의 일 실시예에 따른 모니터링 대상 시스템 상에서 발생하는 대량 거래 상황을 효율적으로 엔드 투 엔드 모니터링 하기 위한 방법에 있어서, 개별 트레이스 정보들이 저장되고 코릴레이션 되어 특정 사용자의 단말에 디스플레이되는 전반적인 과정을 개략적으로 도시한 것이고,
도 3은 본 발명의 일 실시예에 따른 모니터링 대상 시스템 상에서 발생하는 대량 거래 상황을 효율적으로 엔드 투 엔드 모니터링 하기 위한 방법에 있어서, 특정 사용자의 단말에 디스플레이되는 코릴레이션 결과를 개략적으로 도시한 것이고,
도 4는, 종래 모니터링 장치의 일반적인 구성을 개략적으로 도시한 것이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다. 본 발명의 방법이 컴퓨터 하드웨어 및 소프트웨어의 조합을 활용하여 구현될 것이라는 점은 통상의 기술자가 용이하게 이해할 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 모니터링 대상 시스템(100) 상에서 발생하는 대량 거래 상황을 효율적으로 엔드 투 엔드 모니터링 하기 위한 방법에 있어서, 모니터링 대상 시스템(100)에 포함되는 웹 서버(110), 웹 애플리케이션 서버(120) 및 데이터베이스 서버(130)와 트레이스 정보 고속 입력 장치(200)를 개략적으로 도시한 것이다.
먼저, 도 1을 참조하여 모니터링 대상 시스템(100) 상에서 발생하는 대량 거래 상황을 효율적으로 엔드 투 엔드 모니터링 하게 되는 개략적인 흐름에 대해 설명하고, 각각의 장치들을 설명하겠다.
예를 들어, 사용자의 단말(미도시)로부터 HTTP 요청이 획득되면, 모니터링 대상 시스템에 포함된 웹 서버(110), 웹 애플리케이션 서버(120) 및 데이터베이스 서버(130)가, 순차적으로 해당 HTTP 요청을 처리하게 된다.
구체적으로, 웹 서버(110)는, 웹 서버(110)에 네트워크 연결 또는 로컬 연결된 엔티티(entity), 예컨대 사용자의 단말로부터 HTTP 요청을 수신하며, 화살표 1)과 같이 해당 요청을 웹 애플리케이션 서버(120)로 전달할 수 있다.
그리고, 웹 애플리케이션 서버(120)는, 해당 요청에 대응하여 화살표 2)와 같이 쿼리문을 데이터베이스 서버(130)로 전송하고, 화살표 3)과 같이 데이터베이스 서버(130)로부터 쿼리문에 대응되는 응답을 받게 되면, 화살표 4)와 같이 해당 응답을 웹 서버(110)로 전달할 수 있다.
또한, 위와 같이 요청에 대한 응답이 처리되는 일련의 과정들에 대해서 트레이스 정보들이 수집될 수 있다. 즉, 웹 서버(110), 웹 애플리케이션 서버(120) 및 데이터베이스 서버(130) 각각은, 자신이 처리하는 작업에 대한 트레이스 정보들을 화살표 5) 내지 화살표 7)과 같이 트레이스 정보 고속 입력 장치(200)로 전송할 수 있다. 이는, 본 발명이 쓰기(write) 작업만을 수행하는 것을 특징으로 함을 알 수 있다.
여기서, 트레이스 정보란, 모니터링 대상 시스템(100) 내 각 서버의 서비스 모듈이 사용자의 요청에 대응되어 실행될 때 그 실행에 관한 정보일 수 있다.
한편, 트레이스 정보 고속 입력 장치(200)는 메모리(201) 및 프로세서(202)를 포함할 수 있다.
먼저, 트레이스 정보 고속 입력 장치(200)의 메모리(201)는 인스트럭션들을 저장할 수 있는데, 구체적으로, 인스트럭션들은 트레이스 정보 고속 입력 장치(200)의 프로세서(202)를 특정의 방식으로 기능하도록 하기 위한 컴퓨터 소프트웨어로서, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장될 수 있다. 인스트럭션들은 도면에 도시된 기능들을 실행하기 위한 프로세스들을 수행하는 것도 가능하다.
또한, 트레이스 정보 고속 입력 장치(200)의 프로세서(202)는 MPU(Micro Processing Unit) 또는 CPU(Central Processing Unit), 캐쉬 메모리(Cache Memory), 데이터 버스(Data Bus) 등의 하드웨어 구성을 포함할 수 있다. 또한, 운영체제, 특정 목적을 수행하는 애플리케이션의 소프트웨어 구성을 더 포함할 수도 있다.
한편, 모니터링 대상 시스템(100)에 포함되는 각각의 웹 서버(110), 웹 애플리케이션 서버(120) 및 데이터베이스 서버(130)도 트레이스 정보 고속 입력 장치(200)와 마찬가지로 메모리(111, 121 및 131) 및 프로세서(112, 122 및 132)를 각각 포함할 수 있으며, 이에 대한 설명은 트레이스 정보 고속 입력 장치(200)의 메모리(201) 및 프로세서(202)에 대한 설명과 유사하므로, 자세한 설명을 생략한다.
다음으로, 개별 트레이스 정보들이 생성되고 저장되고 코릴레이션 되어 특정 사용자 단말(400)에 디스플레이되는 전반적인 과정을 도 2를 참조하여 설명하겠다.
비록, 도 2에서는 모니터링 대상 시스템(100) 상에 웹 서버(110), 웹 애플리케이션 서버(120), 데이터베이스 서버(130)가 각각 1개씩만 포함되는 것으로 도시되어 있으나, 이는 설명의 편의상 1개씩 도시한 것일 뿐, 이에 한정되는 것은 아니며, 모니터링 대상 시스템(100)에는 웹 서버(110), 웹 애플리케이션 서버(120), 데이터베이스 서버(130)가 각각 하나 이상 포함될 수도 있다.
먼저, 적어도 하나의 웹 서버(110), 적어도 하나의 웹 애플리케이션 서버(120) 및 적어도 하나의 데이터베이스 서버(130)를 포함하는 모니터링 대상 시스템(100) 상에서 발생하는 대량 거래 상황을 효율적으로 엔드 투 엔드(end-to-end) 모니터링 하기 위하여, 트레이스 정보 고속 입력 장치(200)가, 모니터링 대상 시스템(100)에 포함되는 웹 서버(110) 및 웹 애플리케이션 서버(120)로 하여금 트랜잭션 식별 정보 및 트랜잭션 순서 정보를 포함하는 개별 트레이스 정보들을 생성하도록 할 수 있다.
트레이스 정보에는 트랜잭션 식별 정보 및 트랜잭션 순서 정보가 포함될 수 있는데, 구체적으로, 트랜잭션 식별 정보는 GUID(Globally Unique Identifier)를 포함하고, 트랜잭션 순서 정보는 수행 흐름 번호를 포함할 수 있다.
뿐만 아니라, 트레이스 정보들은 서비스 시작종료 정보, 서비스 모듈 정보를 더 포함할 수도 있다.
여기서, GUID, 즉 전역 고유 식별자는, 응용 소프트웨어에서 사용되는 유사 난수이다. GUID는 항상 유일한 값이 생성된다는 보장은 없지만, 사용할 수 있는 모든 값의 개수가 2^128개로 매우 크기 때문에, 값을 생성하는 적절한 알고리즘이 있다면 같은 숫자를 두 번 생성할 가능성은 매우 적다.
그리고, 수행 흐름 번호는, 마침표를 기준으로 앞의 번호는 parent 시퀀스, 마침표를 기준으로 뒤의 번호는 child 시퀀스를 의미할 수 있다. 이처럼, 마침표를 기준으로 시퀀스를 구분함으로써, 각 서버에 의해 처리되는 트랜잭션들의 흐름을 쉽게 파악할 수 있으며, 트랜잭션들의 상하 계층 관계도 쉽게 파악할 수 있다.
또한, 임의의 클라이언트로부터의 임의의 트랜잭션의 처리 요청이 획득되면, 트레이스 정보 고속 입력 장치(200)가, 모니터링 대상 시스템(100)에 포함되는 웹 서버(110) 및 웹 애플리케이션 서버(120)로 하여금 (i) 임의의 쿼리에 임의의 트랜잭션 식별 정보를 부여하도록 하고, 임의의 쿼리에 대한 웹 서버(110) 및 웹 애플리케이션 서버(120) 각각의 트랜잭션들에 임의의 트랜잭션 순서 정보를 부여하도록 함으로써, 임의의 쿼리에 대응되는 개별 트레이스 정보들을 생성하도록 할 수 있다.
일례로, 특정 클라이언트로부터 A 트랜잭션의 처리 요청 및 B 트랜잭션의 처리 요청 각각이 획득되면, 트레이스 정보 고속 입력 장치(200)가, 웹 서버(110) 및 웹 애플리케이션 서버(120)로 하여금 (i) A 트랜잭션의 처리 요청에 트랜잭션 식별 정보로서 GUID 1000을 부여하도록 하고 (ii) B 트랜잭션의 처리 요청에 트랜잭션 식별 정보로서 GUID 1001을 부여하도록 할 수 있다.
또한, 웹 서버(110)는 제1 서비스 모듈 내지 제m 서비스 모듈을 포함하고, 웹 애플리케이션 서버(120)는 제m+1 서비스 모듈 내지 제n 서비스 모듈을 포함하는 상태에서, 트레이스 정보 고속 입력 장치(200)가, 웹 서버(110) 및 웹 애플리케이션 서버(120)로 하여금 임의의 쿼리에 대한 트랜잭션들에 임의의 트랜잭션 순서 정보를 부여하도록 하되, 제k 서비스 모듈로부터 제(k+1) 서비스 모듈로 전송되는 요청 트랜잭션 및 제(k+1) 서비스 모듈로부터 제k 서비스 모듈로 전송되는 응답 트랜잭션에 제k 트랜잭션 순서 정보를 부여하도록 할 수 있다. 여기서, m은 1 이상의 정수이며, n은 m보다 큰 정수이며, k는 2이상인 동시에 n 미만의 정수일 수 있다.
이때, 제k 트랜잭션 순서 정보는, 제(k-1) 서비스 모듈로부터 제k 서비스 모듈로 전송되는 요청 트랜잭션 및 제k 서비스 모듈로부터 제(k-1) 서비스 모듈로 전송되는 응답 트랜잭션에 부여되는 제(k-1) 트랜잭션 순서 정보의 하위 계층의 트랜잭션 순서 정보일 수 있다.
또한, 트레이스 정보 고속 입력 장치(200)가, 모니터링 대상 시스템(100)에 포함되는 웹 서버(110) 및 웹 애플리케이션 서버(120)로 하여금 트랜잭션의 처리 요청에 의해 발생되어 전송되는 제1 트랜잭션 순서 정보 내지 제n 트랜잭션 순서 정보를 가지는 각각의 요청 트랜잭션 및 각각의 응답 트랜잭션에 모두 동일한 트랜잭션 식별 정보를 부여하여 관리하도록 할 수 있다.
일례로, 웹 서버(110) 내에 제1 서비스 모듈, 제2 서비스 모듈이 존재하고 웹 애플리케이션 서버(120) 내에 제3 서비스 모듈, 제4 서비스 모듈, 제5 서비스 모듈이 존재하는 상황에서 특정 클라이언트로부터의 특정 트랜잭션의 처리 요청이 획득되면, 트레이스 정보 고속 입력 장치(200)가, 웹 서버(110) 및 웹 애플리케이션 서버(120)로 하여금 특정 쿼리에 대응되는 각각의 요청 트랜잭션 및 각각의 응답 트랜잭션에 대해 특정 트랜잭션 식별 정보, 가령 GUID 1000을 부여할 수 있다. 즉, 특정 쿼리로 인해 생성되는 모든 트랜잭션들에 동일한 트랜잭션 식별 정보인 GUID 1000이 부여될 수 있다.
그리고, 웹 애플리케이션 서버(120)를 예로 들어 설명하면, 제3 서비스 모듈로부터 제4 서비스 모듈로 전송되는 A 요청 트랜잭션 및 제4 서비스 모듈로부터 제3 서비스 모듈로 전송되는 A 응답 트랜잭션 각각에는 트랜잭션 순서 정보로서 1.3.2가 동일하게 부여될 수 있다. 또한, 제4 서비스 모듈로부터 제5 서비스 모듈로 전송되는 B 요청 트랜잭션 및 제5 서비스 모듈로부터 제4 서비스 모듈로 전송되는 B 응답 트랜잭션 각각에는 트랜잭션 순서 정보로서 1.3.2.1이 동일하게 부여될 수 있다.
즉, B 요청 트랜잭션은 A 요청 트랜잭션으로 인해 전송되는 요청 트랜잭션이므로, B 요청 트랜잭션에 부여되는 트랜잭션 순서 정보는, A 요청 트랜잭션에 부여되는 트랜잭션 순서 정보의 하위 계층의 트랜잭션 순서 정보에 해당한다. B 요청 트랜잭션에 부여된 트랜잭션 순서 정보가 A 요청 트랜잭션에 부여된 트랜잭션 순서 정보의 하위 계층의 트랜잭션 순서 정보에 해당한다는 사실은, B 요청 트랜잭션에 부여된 트랜잭션 순서 정보가 A 요청 트랜잭션에 부여된 트랜잭션 순서 정보 1.3.2에 1이 추가된 형태인 1.3.2.1인 것을 통해 쉽게 알 수 있다.
그리고, 제3 서비스 모듈로부터 제4 서비스 모듈로 전송되는 A 요청 트랜잭션에 대응되는 트레이스 정보는 서비스 시작 정보를 포함하고, 제4 서비스 모듈로부터 제3 서비스 모듈로 전송되는 A 응답 트랜잭션에 대응되는 트레이스 정보는 서비스 종료 정보를 포함할 수 있다.
마찬가지로, 제4 서비스 모듈로부터 제5 서비스 모듈로 전송되는 B 요청 트랜잭션에 대응되는 트레이스 정보는 서비스 시작 정보를 포함하고, 제5 서비스 모듈로부터 제4 서비스 모듈로 전송되는 B 응답 트랜잭션에 대응되는 트레이스 정보는 서비스 종료 정보를 포함할 수 있다.
그리고, 웹 서버(110) 및 웹 애플리케이션 서버(120)로부터 트랜잭션 식별 정보 및 트랜잭션 순서 정보가 포함된 개별 트레이스 정보들이 획득되면, 트레이스 정보 고속 입력 장치(200)가, 개별 트레이스 정보들을 트레이스 정보 저장 공간(300)에 저장할 수 있다.
여기서, 트레이스 정보 저장 공간(300)은, 트레이스 정보 고속 입력 장치(200)로부터 독립된 별개의 저장 공간일 수 있으나, 이에 한정되는 것은 아니며, 트레이스 정보 고속 입력 장치(200) 내부에 마련된 소정의 저장 공간이거나, 모니터링 대상 시스템(100)에 포함되는 데이터베이스 서버(130)에 포함될 수도 있다.
일례로, 트레이스 정보 고속 입력 장치(200)가, 트랜잭션 식별 정보 및 트랜잭션 순서 정보를 포함하는 개별 트레이스 정보들을 바이트(byte) 배열로 트레이스 정보 저장 공간(300)에 저장할 수 있다.
앞에서 밝힌 바와 같이, 종래에는, 모니터링 장치가, 트레이스 정보들을 SQL(Structured Query Language) 형태로 데이터베이스로 전송하였다. 하지만, 모니터링 장치가, 데이터베이스에 트레이스 정보들을 입력할 때 및 데이터베이스로부터 트레이스 정보들을 출력할 때 SQL을 해석하는 과정이 반드시 필요하므로, 시간이 오래 소요되는 문제가 있었다.
따라서, 트레이스 정보 고속 입력 장치(200)가, 개별 트레이스 정보들을 SQL 형태가 아닌 바이트(byte) 배열로 트레이스 정보 저장 공간(300)에 저장함으로써, 데이터 입출력에 소요되는 시간을 줄일 수 있다.
또한, 트레이스 정보 고속 입력 장치(200)는, 개별 트레이스 정보들을 트레이스 정보 저장 공간(300)에 insert 방식으로 저장할 수 있다.
즉, update에 의한 정보 저장 방식이 아닌, insert에 의해 정보를 저장함으로써, 기존에 저장된 자료 및 새롭게 저장할 자료의 매칭 여부를 판단하는 과정 등을 생략할 수 있으므로, 데이터 입출력에 소요되는 시간을 줄일 수 있다.
바이트 배열이 그대로 테이블에 insert된 예시는 아래 표 1과 같다.
GUID 수행 흐름 번호 서비스 시작종료 정보 서비스 모듈 정보 ...
... ... ... ...
1000 1.2 Start A
1000 1.2.1 Start B
1000 1.2.1.1 Start C
1000 1.2.1.1 End C
1000 1.2.1 End B
1000 1.2 End A
... ... ... ...
테이블을 참조하여 설명하면, 여섯 개의 트레이스 정보들은 동일한 트랜잭션 식별 정보, 즉 GUID 1000을 포함하고 있으므로, 동일한 클라이언트로부터의 동일한 트랜잭션의 처리 요청에 관한 트레이스 정보들이라는 사실을 확인할 수 있다.
또한, 위에서 세개의 트레이스 정보들은 서비스 시작(Start)에 관한 트레이스 정보들이고, 아래에서 세개의 트레이스 정보들은 서비스 종료(End)에 관한 트레이스 정보들이라는 사실을 알 수 있다.
또한, 위에서 세개의 트레이스 정보들에 각각 트랜잭션 순서 정보로서 각각 1.2, 1.2.1, 1.2.1.1이 부여되었으므로, 세번째 트레이스 정보에 가장 하위 계층의 트랜잭션 순서 정보가 부여된 것을 확인할 수 있다.
또한, 각각의 트레이스 정보마다 서비스 모듈 정보를 포함하고 있으므로, 어느 서비스 모듈에서 진행된 작업인지를 확인할 수 있다.
한편, 지금까지 설명한 바와 같이 개별 트레이스 정보들이 트레이스 정보 저장 공간(300)에 저장된 상태에서, 개별 트레이스 정보 고속 입력 장치(200)가, 특정 사용자 단말(400)로 하여금 (i) 개별 트레이스 정보들 중 특정 트레이스 정보를 트레이스 정보 저장 공간(300)으로부터 획득하도록 하고, (ii) 특정 사용자가 확인할 수 있도록 특정 트레이스 정보를 디스플레이하도록 할 수 있다.
또한, 장애 상황과 관련된 원인 구간을 분리하여 그 구간만 집중적으로 디스플레이되도록 할 수 있다. 예를 들어, 웹 애플리케이션 서버(120) 내 특정 서비스 모듈에 대해 장애 상황이 발생한 경우, 트레이스 정보 고속 입력 장치(200)가, 웹 서버(110)나 데이터베이스 서버(130)에 대해서는 간략하게 도시하고, 웹 애플리케이션 서버(120)의 모니터링 상황이 중점적으로 드러나게 디스플레이되도록 할 수 있다.
일례로, 트레이스 정보 고속 입력 장치(200)가, 특정 사용자 단말(400)로 하여금 트랜잭션 식별 정보 및 트랜잭션 순서 정보를 참조하도록 하여 특정 트레이스 정보가 통합된 통합 트레이스 정보를 생성하도록 하고, 통합 트레이스 정보를 디스플레이하도록 할 수 있다.
구체적으로, 트레이스 정보 고속 입력 장치(200)가, 특정 사용자 단말(400)로 하여금 GUID 및 수행 흐름 번호를 참조하도록 하여 특정 트레이스 정보를 코릴레이션(correlation)함으로써 통합 트레이스 정보를 생성하도록 할 수 있다.
또 다른 예로, 트레이스 정보 고속 입력 장치(200)가, 특정 사용자 단말(400)로 하여금 서비스 시작종료 정보, 서비스 모듈 정보를 추가로 참조하도록 하여 특정 트레이스 정보를 코릴레이션함으로써 통합 트레이스 정보를 생성하도록 할 수 있다.
여기서, 특정 트레이스 정보란, 트랜잭션 식별 정보가 동일한 트레이스 정보들을 포함할 수 있다. 또한, 통합 트레이스 정보란, 트랜잭션 순서 정보가 참조되어 특정 트레이스 정보들이 통합되어 생성된 트레이스 정보일 수 있다.
즉, 트레이스 정보 고속 입력 장치(200)가, 특정 사용자 단말(400)로 하여금 개별 트레이스 정보들 중에서 특정 사용자가 확인하기를 원하는 특정 트레이스 정보를 (i) 일일이 디스플레이하도록 하거나, (ii) 트랜잭션 식별 정보 및 트랜잭션 순서 정보에 따라 통합 트레이스 정보를 생성하여 디스플레이하도록 할 수 있다.
가령, A 트랜잭션의 처리 요청에 대응되는 제1 트레이스 정보들, B 트랜잭션의 처리 요청에 대응되는 제2 트레이스 정보들 및 C 트랜잭션의 처리 요청에 대응되는 제3 트레이스 정보들이 각각 트레이스 정보 저장 공간(300)에 무작위로 저장된 상황을 가정할 수 있다.
또한, 제1 트레이스 정보들이 포함하는 트랜잭션 식별 정보는 GUID 1000이고, 제2 트레이스 정보들이 포함하는 트랜잭션 식별 정보는 GUID 2000이고, 제3 트레이스 정보들이 포함하는 트랜잭션 식별 정보는 GUID 3000일 수 있다.
위와 같은 상황에서, 특정 사용자가 제1 트레이스 정보들 및 제2 트레이스 정보들을 확인하고자 할 때, 트레이스 정보 고속 입력 장치(200)는, 특정 사용자 단말(400)로 하여금, 트랜잭션 식별 정보에 기초하여 트레이스 정보 저장 공간(300)에 무작위로 저장된 트레이스 정보들 중에서 제1 트레이스 정보들 및 제2 트레이스 정보들을 분류할 수 있다. 또한, 트레이스 정보 고속 입력 장치(200)는, 트랜잭션 순서 정보에 기초하여 제1 트레이스 정보들 및 제2 트레이스 정보들을 각각 정렬할 수 있다.
이에 따라, 트레이스 정보 고속 입력 장치(200)는, 특정 사용자 단말(400)로 하여금 제1 트레이스 정보들이 통합된 제1 통합 트레이스 정보 및 제2 트레이스 정보들이 통합된 제2 통합 트레이스 정보를 각각 디스플레이하도록 할 수 있다.
한편, 통합 트레이스 정보에 대해서는 도 3을 참조하여 설명하겠다.
도 3은 본 발명의 일 실시예에 따른 모니터링 대상 시스템(100) 상에서 발생하는 대량 거래 상황을 효율적으로 엔드 투 엔드 모니터링 하기 위한 방법에 있어서, 특정 트레이스 정보가 통합된 통합 트레이스 정보가 디스플레이 되는 모습을 개략적으로 도시한 것이다.
참고로, 웹 서버(110) 및 데이터베이스 서버(130)도 웹 애플리케이션 서버(120)와 유사한 구조를 가질 수 있으나, 설명의 편의상 웹 애플리케이션 내 서비스 모듈을 중심으로, 임의의 트랜잭션의 처리 요청이 처리되는 과정을 도시하였다.
도 3의 좌측 상단부터 살펴보면, 특정 클라이언트로부터의 특정 트랜잭션의 처리 요청에 대응하여, 트랜잭션 식별 정보로서 가령, GUID 1001이 부여된 상태에서, 웹 서버(110)는 최초로 수신한 특정 트랜잭션의 처리 요청에 대해 최상위 계층의 트랜잭션 순서 정보를 부여할 수 있다. 도 3에서는 웹 서버(110)가 특정 트랜잭션의 처리 요청에 대해 최상위 계층의 트랜잭션 순서 정보로서 1을 부여한 모습을 도시하고 있다.
순차적으로, 웹 서버(110)로부터 웹 애플리케이션 서버(120)로 요청 트랜잭션이 전송되고, 웹 애플리케이션 서버(120)는, 해당 요청 트랜잭션을 받아들인 시점에 하위 계층의 작업인 것을 인지하여 child sequence를 만들고, 1.1의 트랜잭션 순서 정보를 해당 요청 트랜잭션에 부여하게 된다. 마찬가지로, 나머지 요청 트랜잭션들에 대해서도 동일한 과정이 반복된다. 반면, 응답 트랜잭션들에 대해서는, 요청 트랜잭션들과 반대로, child sequence를 하나씩 제거하는 작업이 이루어질 수 있다.
한편, 애플리케이션의 오류 등으로 인해, 클라이언트 A로부터 트랜잭션의 처리 요청이 획득되어, 클라이언트 A에게 해당 요청에 대한 잘못된 응답이 전송되고, 클라이언트 A로부터의 트랜잭션의 처리 요청에 대응되는 각각의 트랜잭션들이 소정의 저장 공간에 저장된 상황이 발생할 수 있다. 이후에, 클라이언트 A로부터 동일한 트랜잭션의 처리 요청에 대해 정상적인 응답이 전송되고, 해당 트랜잭션의 처리 요청에 대응되는 각각의 트랜잭션들이 소정의 저장 공간에 저장되는 경우를 가정할 수 있다.
종래에는, 기 저장된 데이터에 새로운 데이터를 update하는 방식을 취하였으므로, 기 저장된 데이터와 새로운 데이터를 매칭하는 과정을 통해서, 기존에 발생했던 잘못된 응답에 관한 데이터가 정상적인 응답에 관한 데이터로 정정될 수 있었다. 하지만, 데이터를 insert하는 방식을 취할 경우, 기 저장된 데이터와 새로운 데이터를 매칭하는 과정이 없으므로, 잘못된 응답에 관한 데이터와 정상적인 응답에 관한 데이터가 병존할 수 있게 된다. 이와 같은 상황을 방지하고자, 도 3에 도시된 마스터 노드(500)가, 기 설정된 알고리즘, 가령, 가장 최근에 입력되는 데이터를 남겨두고 과거에 입력되었던 잘못된 응답에 관한 데이터를 삭제하는 방식의 알고리즘에 따라 동작하도록 할 수 있다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.

Claims (20)

  1. 적어도 하나의 웹 서버, 적어도 하나의 웹 애플리케이션 서버 및 적어도 하나의 데이터베이스 서버를 포함하는 모니터링 대상 시스템 상에서 발생하는 대량 거래 상황을 효율적으로 엔드 투 엔드(end-to-end) 모니터링 하기 위한 방법에 있어서,
    (a) 트레이스 정보 고속 입력 장치가, 상기 모니터링 대상 시스템에 포함되는 상기 웹 서버 및 상기 웹 애플리케이션 서버로 하여금 트랜잭션 식별 정보 및 트랜잭션 순서 정보를 포함하는 개별 트레이스 정보들을 생성하도록 하는 단계; 및
    (b) 상기 웹 서버 및 상기 웹 애플리케이션 서버로부터 상기 트랜잭션 식별 정보 및 상기 트랜잭션 순서 정보가 포함된 상기 개별 트레이스 정보들이 획득되면, 상기 트레이스 정보 고속 입력 장치가, 상기 개별 트레이스 정보들을 트레이스 정보 저장 공간에 저장하는 단계;
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 (a) 단계에서,
    임의의 클라이언트로부터의 임의의 트랜잭션의 처리 요청이 획득되면, 상기 트레이스 정보 고속 입력 장치가, 상기 모니터링 대상 시스템에 포함되는 상기 웹 서버 및 상기 웹 애플리케이션 서버로 하여금 (i) 상기 임의의 쿼리에 임의의 트랜잭션 식별 정보를 부여하도록 하고, (ii) 상기 임의의 쿼리에 대한 상기 웹 서버 및 상기 웹 애플리케이션 서버 각각의 트랜잭션들에 임의의 트랜잭션 순서 정보를 부여하도록 함으로써, 상기 임의의 쿼리에 대응되는 상기 개별 트레이스 정보들을 생성하도록 하는 것을 특징으로 하는 방법.
  3. 제2항에 있어서,
    상기 (a) 단계에서,
    상기 웹 서버는 제1 서비스 모듈 내지 제m 서비스 모듈 - 상기 m은 1 이상의 정수임 - 을 포함하고, 상기 웹 애플리케이션 서버는 제m+1 서비스 모듈 내지 제n 서비스 모듈 - 상기 n은 상기 m 보다 큰 정수임 - 을 포함하는 상태에서, 상기 트레이스 정보 고속 입력 장치가, 상기 웹 서버 및 상기 웹 애플리케이션 서버로 하여금 상기 임의의 쿼리에 대한 상기 트랜잭션들에 상기 임의의 트랜잭션 순서 정보를 부여하도록 하되,
    제k 서비스 모듈 - 상기 k는 2 이상이며, 상기 n 미만인 정수임 - 로부터 제(k+1) 서비스 모듈로 전송되는 요청 트랜잭션 및 상기 제(k+1) 서비스 모듈로부터 상기 제k 서비스 모듈로 전송되는 응답 트랜잭션에 제k 트랜잭션 순서 정보를 부여하도록 하고,
    상기 제k 트랜잭션 순서 정보는, 제(k-1) 서비스 모듈로부터 상기 제k 서비스 모듈로 전송되는 요청 트랜잭션 및 상기 제k 서비스 모듈로부터 상기 제(k-1) 서비스 모듈로 전송되는 응답 트랜잭션에 부여되는 제(k-1) 트랜잭션 순서 정보의 하위 계층의 트랜잭션 순서 정보인 것을 특징으로 하는 방법.
  4. 제3항에 있어서,
    상기 트레이스 정보 고속 입력 장치가, 상기 모니터링 대상 시스템에 포함되는 상기 웹 서버 및 상기 웹 애플리케이션 서버로 하여금 상기 트랜잭션의 처리 요청에 의해 발생되어 전송되는 제1 트랜잭션 순서 정보 내지 제n 트랜잭션 순서 정보를 가지는 각각의 요청 트랜잭션 및 각각의 응답 트랜잭션에 모두 동일한 트랜잭션 식별 정보를 부여하여 관리하도록 하는 것을 특징으로 하는 방법.
  5. 제1항에 있어서,
    상기 (b) 단계에서,
    상기 트레이스 정보 고속 입력 장치가, 상기 트랜잭션 식별 정보 및 상기 트랜잭션 순서 정보를 포함하는 상기 개별 트레이스 정보들을 바이트(byte) 배열로 상기 트레이스 정보 저장 공간에 저장하는 것을 특징으로 하는 방법.
  6. 제1항에 있어서,
    상기 (b) 단계에서,
    상기 트레이스 정보 고속 입력 장치가, 상기 개별 트레이스 정보들을 상기 트레이스 정보 저장 공간에 insert 방식으로 저장하는 것을 특징으로 하는 방법.
  7. 제1항에 있어서,
    상기 (b) 단계 이후에,
    (c) 상기 트레이스 정보 고속 입력 장치가, 특정 사용자 단말로 하여금 (i) 상기 개별 트레이스 정보들 중 특정 트레이스 정보를 상기 트레이스 정보 저장 공간으로부터 획득하도록 하고, (ii) 특정 사용자가 확인할 수 있도록 상기 특정 트레이스 정보를 디스플레이하도록 하는 단계;
    를 더 포함하는 것을 특징으로 하는 방법.
  8. 제7항에 있어서,
    상기 (c) 단계에서,
    상기 트레이스 정보 고속 입력 장치가, 상기 특정 사용자 단말로 하여금 상기 트랜잭션 식별 정보 및 상기 트랜잭션 순서 정보를 참조하도록 하여 상기 특정 트레이스 정보가 통합된 통합 트레이스 정보를 생성하도록 하고, 상기 통합 트레이스 정보를 디스플레이하도록 하는 것을 특징으로 하는 방법.
  9. 제8항에 있어서,
    상기 트랜잭션 식별 정보는 GUID(Globally Unique Identifier)를 포함하고, 상기 트랜잭션 순서 정보는 수행 흐름 번호를 포함하고,
    상기 (c) 단계에서,
    상기 트레이스 정보 고속 입력 장치가, 상기 특정 사용자 단말로 하여금 상기 GUID 및 상기 수행 흐름 번호를 참조하도록 하여 상기 특정 트레이스 정보를 코릴레이션(correlation)함으로써 상기 통합 트레이스 정보를 생성하도록 하는 것을 특징으로 하는 방법.
  10. 제9항에 있어서,
    상기 개별 트레이스 정보들은 서비스 시작종료 정보, 서비스 모듈 정보를 추가로 포함하고,
    상기 (c) 단계에서,
    상기 트레이스 정보 고속 입력 장치가, 상기 특정 사용자 단말로 하여금 상기 서비스 시작종료 정보, 상기 서비스 모듈 정보를 추가로 참조하도록 하여 상기 특정 트레이스 정보를 코릴레이션함으로써 상기 통합 트레이스 정보를 생성하도록 하는 것을 특징으로 하는 방법.
  11. 적어도 하나의 웹 서버, 적어도 하나의 웹 애플리케이션 서버 및 적어도 하나의 데이터베이스 서버를 포함하는 모니터링 대상 시스템 상에서 발생하는 대량 거래 상황을 효율적으로 엔드 투 엔드(end-to-end) 모니터링 하기 위한 트레이스 정보 고속 입력 장치에 있어서,
    인스트럭션들을 저장하는 적어도 하나의 메모리; 및
    상기 인스트럭션들을 실행하기 위해 구성된 적어도 하나의 프로세서를 포함하되, 상기 프로세서는, (1) 상기 모니터링 대상 시스템에 포함되는 상기 웹 서버 및 상기 웹 애플리케이션 서버로 하여금 트랜잭션 식별 정보 및 트랜잭션 순서 정보를 포함하는 개별 트레이스 정보들을 생성하도록 하는 프로세스 및 (2) 상기 웹 서버 및 상기 웹 애플리케이션 서버로부터 상기 트랜잭션 식별 정보 및 상기 트랜잭션 순서 정보가 포함된 상기 개별 트레이스 정보들이 획득되면, 상기 개별 트레이스 정보들을 트레이스 정보 저장 공간에 저장하는 프로세스를 수행하는 상기 인스트럭션들을 실행하는 트레이스 정보 고속 입력 장치.
  12. 제11항에 있어서,
    상기 프로세서는,
    상기 (1) 프로세스에서,
    임의의 클라이언트로부터의 임의의 트랜잭션의 처리 요청이 획득되면, 상기 모니터링 대상 시스템에 포함되는 상기 웹 서버 및 상기 웹 애플리케이션 서버로 하여금 (i) 상기 임의의 쿼리에 임의의 트랜잭션 식별 정보를 부여하도록 하고, (ii) 상기 임의의 쿼리에 대한 상기 웹 서버 및 상기 웹 애플리케이션 서버 각각의 트랜잭션들에 임의의 트랜잭션 순서 정보를 부여하도록 함으로써, 상기 임의의 쿼리에 대응되는 상기 개별 트레이스 정보들을 생성하도록 하는 것을 특징으로 하는 트레이스 정보 고속 입력 장치.
  13. 제12항에 있어서,
    상기 프로세서는,
    상기 (1) 프로세스에서,
    상기 웹 서버가 제1 서비스 모듈 내지 제m 서비스 모듈 - 상기 m은 1 이상의 정수임 - 을 포함하고, 상기 웹 애플리케이션 서버는 제m+1 서비스 모듈 내지 제n 서비스 모듈 - 상기 n은 상기 m 보다 큰 정수임 - 을 포함하는 상태에서, 상기 웹 서버 및 상기 웹 애플리케이션 서버로 하여금 상기 임의의 쿼리에 대한 상기 트랜잭션들에 상기 임의의 트랜잭션 순서 정보를 부여하도록 하되,
    제k 서비스 모듈 - 상기 k는 2 이상이며, 상기 n 미만인 정수임 - 로부터 제(k+1) 서비스 모듈로 전송되는 요청 트랜잭션 및 상기 제(k+1) 서비스 모듈로부터 상기 제k 서비스 모듈로 전송되는 응답 트랜잭션에 제k 트랜잭션 순서 정보를 부여하도록 하고,
    상기 제k 트랜잭션 순서 정보는, 제(k-1) 서비스 모듈로부터 상기 제k 서비스 모듈로 전송되는 요청 트랜잭션 및 상기 제k 서비스 모듈로부터 상기 제(k-1) 서비스 모듈로 전송되는 응답 트랜잭션에 부여되는 제(k-1) 트랜잭션 순서 정보의 하위 계층의 트랜잭션 순서 정보인 것을 특징으로 하는 트레이스 정보 고속 입력 장치.
  14. 제13항에 있어서,
    상기 프로세서는,
    상기 모니터링 대상 시스템에 포함되는 상기 웹 서버 및 상기 웹 애플리케이션 서버로 하여금 상기 트랜잭션의 처리 요청에 의해 발생되어 전송되는 제1 트랜잭션 순서 정보 내지 제n 트랜잭션 순서 정보를 가지는 각각의 요청 트랜잭션 및 각각의 응답 트랜잭션에 모두 동일한 트랜잭션 식별 정보를 부여하여 관리하도록 하는 것을 특징으로 하는 트레이스 정보 고속 입력 장치.
  15. 제11항에 있어서,
    상기 프로세서는,
    상기 (2) 프로세스에서,
    상기 트랜잭션 식별 정보 및 상기 트랜잭션 순서 정보를 포함하는 상기 개별 트레이스 정보들을 바이트(byte) 배열로 상기 트레이스 정보 저장 공간에 저장하는 것을 특징으로 하는 트레이스 정보 고속 입력 장치.
  16. 제11항에 있어서,
    상기 프로세서는,
    상기 (2) 프로세스에서,
    상기 개별 트레이스 정보들을 상기 트레이스 정보 저장 공간에 insert 방식으로 저장하는 것을 특징으로 하는 트레이스 정보 고속 입력 장치.
  17. 제11항에 있어서,
    상기 프로세서는,
    상기 (2) 프로세스 이후에,
    (3) 특정 사용자 단말로 하여금 (i) 상기 개별 트레이스 정보들 중 특정 트레이스 정보를 상기 트레이스 정보 저장 공간으로부터 획득하도록 하고, (ii) 특정 사용자가 확인할 수 있도록 상기 특정 트레이스 정보를 디스플레이하도록 하는 프로세스를 더 수행하는 것을 특징으로 하는 트레이스 정보 고속 입력 장치.
  18. 제17항에 있어서,
    상기 프로세서는,
    상기 (3) 프로세스에서,
    상기 특정 사용자 단말로 하여금 상기 트랜잭션 식별 정보 및 상기 트랜잭션 순서 정보를 참조하도록 하여 상기 특정 트레이스 정보가 통합된 통합 트레이스 정보를 생성하도록 하고, 상기 통합 트레이스 정보를 디스플레이하도록 하는 것을 특징으로 하는 트레이스 정보 고속 입력 장치.
  19. 제18항에 있어서,
    상기 트랜잭션 식별 정보는 GUID(Globally Unique Identifier)를 포함하고, 상기 트랜잭션 순서 정보는 수행 흐름 번호를 포함하고,
    상기 프로세서는,
    상기 (3) 프로세스에서,
    상기 특정 사용자 단말로 하여금 상기 GUID 및 상기 수행 흐름 번호를 참조하도록 하여 상기 특정 트레이스 정보를 코릴레이션(correlation)함으로써 상기 통합 트레이스 정보를 생성하도록 하는 것을 특징으로 하는 트레이스 정보 고속 입력 장치.
  20. 제19항에 있어서,
    상기 개별 트레이스 정보들은 서비스 시작종료 정보, 서비스 모듈 정보를 추가로 포함하고,
    상기 프로세서는,
    상기 (3) 프로세스에서,
    상기 특정 사용자 단말로 하여금 상기 서비스 시작종료 정보, 상기 서비스 모듈 정보를 추가로 참조하도록 하여 상기 특정 트레이스 정보를 코릴레이션함으로써 상기 통합 트레이스 정보를 생성하도록 하는 것을 특징으로 하는 트레이스 정보 고속 입력 장치.
KR1020190154935A 2019-11-27 2019-11-27 대량 거래 상황을 효율적으로 엔드 투 엔드 모니터링 하기 위한 방법 및 이를 이용한 트레이스 정보 고속 입력 장치 KR102309667B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190154935A KR102309667B1 (ko) 2019-11-27 2019-11-27 대량 거래 상황을 효율적으로 엔드 투 엔드 모니터링 하기 위한 방법 및 이를 이용한 트레이스 정보 고속 입력 장치
US16/724,314 US11018961B1 (en) 2019-11-27 2019-12-22 Method and device for efficient end-to-end monitoring of massive transactions

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190154935A KR102309667B1 (ko) 2019-11-27 2019-11-27 대량 거래 상황을 효율적으로 엔드 투 엔드 모니터링 하기 위한 방법 및 이를 이용한 트레이스 정보 고속 입력 장치

Publications (2)

Publication Number Publication Date
KR20210065792A true KR20210065792A (ko) 2021-06-04
KR102309667B1 KR102309667B1 (ko) 2021-10-08

Family

ID=75974674

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190154935A KR102309667B1 (ko) 2019-11-27 2019-11-27 대량 거래 상황을 효율적으로 엔드 투 엔드 모니터링 하기 위한 방법 및 이를 이용한 트레이스 정보 고속 입력 장치

Country Status (2)

Country Link
US (1) US11018961B1 (ko)
KR (1) KR102309667B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113641519A (zh) * 2021-08-17 2021-11-12 上海微盟企业发展有限公司 一种服务幂等调用方法、装置、设备及存储介质
US20230247084A1 (en) * 2022-01-31 2023-08-03 Discover Financial Services Trace context over file transfer communications

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005027252A (ja) * 2003-07-04 2005-01-27 Internatl Business Mach Corp <Ibm> ネットワーク・トレースを解析する方法、ノード間の序列の判断方法、ネットワーク・トレースを解析するための処理装置、および該処理装置としてコンピュータを制御させるためのコンピュータ実行可能なプログラム、並びにネットワークにおけるノード間の時間差補正方法
KR20050091470A (ko) * 2004-03-12 2005-09-15 주식회사 와이드티엔에스 텐덤 시스템의 트랜잭션 분석 시스템
KR101828156B1 (ko) 2016-06-23 2018-02-12 주식회사 와탭랩스 트랜잭션 모니터링 시스템 및 그 동작방법
KR20180132287A (ko) * 2017-06-02 2018-12-12 그린아일 주식회사 엔드-투-엔드 엔드 유저 성능 자동 모니터링 방법 및 이러한 방법을 수행하는 장치

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8473925B2 (en) * 2010-05-11 2013-06-25 Ca, Inc. Conditional dynamic instrumentation of software in a specified transaction context
EP2671360B1 (en) * 2011-02-04 2014-10-29 Riverbed Technology, Inc. Correlating input and output requests between client and server components in a multi-tier application
US9338255B1 (en) * 2013-03-14 2016-05-10 Dell Software Inc. System and method for correlating end-user experience data and backend-performance data
US9197520B2 (en) * 2013-03-15 2015-11-24 Microsoft Technology Licensing, Llc Methods and computer program products for transaction analysis of network traffic in a network device
WO2017171165A1 (ko) * 2015-12-14 2017-10-05 (주)코인플러그 블록체인을 기반으로 하는 공인인증서 발급시스템과 이를 이용한 블록체인을 기반으로 하는 공인인증서 발급방법
US10114729B2 (en) * 2016-03-31 2018-10-30 Qualcomm Incorporated Performance analysis using performance counters and trace logic

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005027252A (ja) * 2003-07-04 2005-01-27 Internatl Business Mach Corp <Ibm> ネットワーク・トレースを解析する方法、ノード間の序列の判断方法、ネットワーク・トレースを解析するための処理装置、および該処理装置としてコンピュータを制御させるためのコンピュータ実行可能なプログラム、並びにネットワークにおけるノード間の時間差補正方法
KR20050091470A (ko) * 2004-03-12 2005-09-15 주식회사 와이드티엔에스 텐덤 시스템의 트랜잭션 분석 시스템
KR101828156B1 (ko) 2016-06-23 2018-02-12 주식회사 와탭랩스 트랜잭션 모니터링 시스템 및 그 동작방법
KR20180132287A (ko) * 2017-06-02 2018-12-12 그린아일 주식회사 엔드-투-엔드 엔드 유저 성능 자동 모니터링 방법 및 이러한 방법을 수행하는 장치

Also Published As

Publication number Publication date
US11018961B1 (en) 2021-05-25
US20210160156A1 (en) 2021-05-27
KR102309667B1 (ko) 2021-10-08

Similar Documents

Publication Publication Date Title
US20200241950A1 (en) Query watchdog
KR101600129B1 (ko) 애플리케이션 효율 엔진
US9734223B2 (en) Difference determination in a database environment
US7853585B2 (en) Monitoring performance of a data processing system
US20080133973A1 (en) Data processing method and data analysis apparatus
US11169898B2 (en) System and method for database replication benchmark testing using a pipeline-based microservices model
KR102309667B1 (ko) 대량 거래 상황을 효율적으로 엔드 투 엔드 모니터링 하기 위한 방법 및 이를 이용한 트레이스 정보 고속 입력 장치
US9262279B2 (en) Classifying and monitoring database operations based on a cost of recovery
CN106682167B (zh) 用户行为数据的统计装置及方法
WO2018148322A1 (en) Resource allocation method and apparatus
US9442818B1 (en) System and method for dynamic data collection
CN112395333A (zh) 用于排查数据异常的方法、装置、电子设备及存储介质
CN113297057A (zh) 内存分析方法、装置及系统
US7984427B2 (en) System and methods for synchronizing software execution across data processing systems and platforms
CN107301125B (zh) 一种寻找根源错误的方法、装置及电子设备
CN111026574B (zh) 诊断Elasticsearch集群问题的方法及装置
WO2018236476A1 (en) ADAPTIVE APPLICATION PERFORMANCE ANALYSIS
CN116483831A (zh) 一种分布式数据库推荐索引生成方法
CN114003784A (zh) 请求录制方法、装置、设备及存储介质
CA3153550A1 (en) Core recommendation method, device and system
CN113032209A (zh) 运行监控方法、装置、服务器及介质
US10949232B2 (en) Managing virtualized computing resources in a cloud computing environment
US10621153B2 (en) Preview data aggregation
CN105740072B (zh) 一种显示系统资源的方法及装置
US20230153293A1 (en) Multi-threaded dynamic queries on an unpartitioned database

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right