KR101736382B1 - Ems server and log data management method thereof - Google Patents

Ems server and log data management method thereof Download PDF

Info

Publication number
KR101736382B1
KR101736382B1 KR1020150019233A KR20150019233A KR101736382B1 KR 101736382 B1 KR101736382 B1 KR 101736382B1 KR 1020150019233 A KR1020150019233 A KR 1020150019233A KR 20150019233 A KR20150019233 A KR 20150019233A KR 101736382 B1 KR101736382 B1 KR 101736382B1
Authority
KR
South Korea
Prior art keywords
data
packet data
storing
real
client
Prior art date
Application number
KR1020150019233A
Other languages
Korean (ko)
Other versions
KR20160097502A (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 KR1020150019233A priority Critical patent/KR101736382B1/en
Publication of KR20160097502A publication Critical patent/KR20160097502A/en
Application granted granted Critical
Publication of KR101736382B1 publication Critical patent/KR101736382B1/en

Links

Images

Classifications

    • 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/02Standardisation; Integration
    • H04L41/024Standardisation; Integration using relational databases for representation of network management data, e.g. managing via structured query language [SQL]
    • 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/02Standardisation; Integration
    • H04L41/0213Standardised network management protocols, e.g. simple network management protocol [SNMP]
    • 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/02Standardisation; Integration
    • H04L41/0246Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 초당 수십만 건 이상의 로그 데이터를 실시간으로 저장, 모니터링 및 조회할 수 있도록 하는 이엠에스 서버 및 이의 로그 데이터 관리 방법에 관한 것이다.
본 발명에 따른 이엠에스 서버는 외부장비로부터 패킷 데이터를 수신하여 저장하고 클라이언트의 요청에 따라 저장 정보를 조회할 수 있도록 관리하는 장치로서, 상기 패킷 데이터의 벌크 삽입이 이루어지는 리포트 데이터베이스; 및 상기 패킷 데이터의 파싱에 의해 추출된 데이터가 테이블 구조로 삽입 갱신되고, 사용량 순에 따라 정렬된 상위 N개의 항목에 대응하는 인덱싱 파일의 저장이 실시간으로 이루어지는 실시간 메모리 테이블을 포함하는 것을 특징으로 한다.
The present invention relates to an MS server and a log data management method for enabling to store, monitor, and inquire log data in hundreds of thousands or more per second in real time.
An EM server according to the present invention manages receiving and storing packet data from external equipment and inquiring stored information according to a request of a client, the EM server comprising: a report database in which bulk insertion of the packet data is performed; And a real-time memory table in which data extracted by parsing the packet data is inserted and updated in a table structure and storage of indexing files corresponding to the top N items arranged in order of usage amount is performed in real time .

Figure R1020150019233
Figure R1020150019233

Description

이엠에스 서버 및 이의 로그 데이터 관리 방법{EMS SERVER AND LOG DATA MANAGEMENT METHOD THEREOF}[0001] DESCRIPTION [0002] EMS SERVER AND LOG DATA MANAGEMENT METHOD THEREOF [

본 발명은 이엠에스에 관한 것으로서, 보다 상세하게는 초당 수십만 건 이상의 로그 데이터를 실시간으로 저장, 모니터링 및 조회할 수 있도록 하는 이엠에스 서버 및 이의 로그 데이터 관리 방법에 관한 것이다.
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an MMS, and more particularly, to an MMS server and its log data management method capable of storing, monitoring, and inquiring log data in hundreds of thousands or more per second in real time.

대규모의 종합 정보 통신망을 운용하고 있는 공중 통신망에서는 집중화 및 자동화가 통신망을 구성하는 필수 구성요소로 등장하였다. 이에 따라 각 통신망을 구성하는 구성요소(Element)에 대한 관리 및 제어 기능을 수행하는 것이 필요하게 되었다. 이러한 필요성에 따라 ITU-T에서는 요소관리시스템(EMS :Element Management System)을 제안하였다. 즉, 요소관리시스템(EMS :Element Management System)은 EMS서버가 TCP프로토콜에 의해 통신망에 접속된 상태에서 SNMP 프로토콜을 이용하여 통신망을 구성하는 각 구성에 대한 제어 및 망 감시 기능을 수행한다.In the public communication network operating a large scale integrated information communication network, convergence and automation have emerged as essential constituent elements of the communication network. Accordingly, it has become necessary to perform management and control functions for the elements constituting each communication network. ITU-T proposed an element management system (EMS) according to the necessity. That is, the element management system (EMS) performs control and network monitoring functions for each configuration of the communication network using the SNMP protocol while the EMS server is connected to the communication network by the TCP protocol.

도 1은 종래 이엠에스 구성을 나타낸 시스템 구성도이다. 도 1을 참조하면, 종래 이엠에스는 외부장비(5)와 이엠에스 서버(1)와 클라이언트(6a,6b)로 구성되고, 특히 이엠에스 서버(1)는 데이터 컬렉터(2), 중앙 데이터 베이스(3), 웹 서버(4)로 이루어져 있다.1 is a system configuration diagram showing a conventional MS configuration. 1, the conventional MS comprises an external device 5, an MS server 1 and clients 6a and 6b. Particularly, the MS server 1 includes a data collector 2, a central database (3), and a Web server (4).

이와 같은 종래 이엠에스의 로그 데이터 관리 방법을 살펴보면, 데이터 컬렉터(2)가 외부장비(5)로부터 전송되는 패킷 데이터를 수집하여 중앙 데이터 베이스(3)에 이를 저장하고, 클라이언트(6a,6b)가 웹 서버(4)를 통해 로그 정보를 요청하면, 이엠에스 서버(1)는 중앙 데이터 베이스(3)를 조회하여 그 처리 결과를 출력하도록 구성된다. 한편, 클라이언트는 브라우저(6a)를 통해 웹 서버(4)로 접속하여 데이터를 조회하거나 또는 C/S앱(6b)을 통해 중앙 데이터 베이스(3)에 접근하여 데이터를 요청할 수도 있다.The conventional log data management method of the present invention is as follows. The data collector 2 collects packet data transmitted from the external equipment 5 and stores it in the central database 3, and the clients 6a and 6b When requesting the log information through the Web server 4, the MS server 1 inquires the central database 3 and outputs the result of the processing. The client may access the web server 4 through the browser 6a to inquire data or access the central database 3 through the C / S app 6b to request data.

그런데, 이와 같은 종래 이엠에스 서버(1)는 외부장비(5)로부터 수신되는 로그 데이터를 일정 기간 집계 후, 중앙 데이터 베이스(3)에 일괄 저장하고, 대량 데이터를 저장하면서 실시간으로 조회가 이루어지므로 서버의 성능에 전적으로 의존하게 된다. The conventional MS server 1 collects the log data received from the external equipment 5 for a certain period of time, collectively stores the log data in the central database 3, and real-time inquiry is performed while storing the mass data It depends entirely on the performance of the server.

즉, 중앙 집중화된 단일의 대용량 데이터 베이스 엔진을 사용하기 때문에, 수십만 건 이상의 대량의 로그 데이터가 수신될 경우 이를 초 단위로 저장하거나 실시간으로 모니터링 내지 조회할 수 없게 되는 한계가 있었다.That is, since a single centralized database engine is used, there is a limit in that when a large amount of log data of hundreds of thousands or more is received, it can not be stored in seconds or can not be monitored or inquired in real time.

이에 따라, 종래 이엠에스 서버는 분 단위로 집계된 모니터링 기능과, 집계된 정적 자료의 분석 위주 기능을 제공함에 그치고 있다.
Accordingly, the conventional ES server only provides monitoring functions aggregated in minutes and analysis-oriented functions of aggregated static data.

본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은 초당 수십만 건 이상의 대량 로그 데이터 발생 시에도 서버의 성능에 문제없이 안정적으로 실시간 저장 및 모니터링 기능을 구현할 수 있는 이엠에스 서버 및 이의 로그 데이터 관리 방법을 제공하는 것이다.
SUMMARY OF THE INVENTION The present invention has been made to solve the above-mentioned problems, and it is an object of the present invention to provide an MS server capable of real- And a method for managing log data thereof.

상기 목적을 달성하기 위한 본 발명에 따른 이엠에스 서버는, 외부장비로부터 패킷 데이터를 수신하여 저장하고 클라이언트의 요청에 따라 저장 정보를 조회할 수 있도록 관리하는 이엠에스 서버로서, 상기 패킷 데이터의 벌크 삽입이 이루어지는 리포트 데이터베이스; 및 상기 패킷 데이터의 파싱에 의해 추출된 데이터가 테이블 구조로 삽입 갱신되고, 사용량 순에 따라 정렬된 상위 N개의 항목에 대응하는 인덱싱 파일의 저장이 실시간으로 이루어지는 실시간 메모리 테이블을 포함하는 것을 특징으로 한다.According to an aspect of the present invention, there is provided an MS server for receiving and storing packet data from external equipment and managing the stored packet data according to a request from a client, the MS server comprising: ; And a real-time memory table in which data extracted by parsing the packet data is inserted and updated in a table structure and storage of indexing files corresponding to the top N items arranged in order of usage amount is performed in real time .

본 발명에 따른 이엠에스 서버의 로그 데이터 관리 방법은 외부장비로부터 패킷 데이터를 수신하는 단계와; 수신된 패킷 데이터를 상호 구분되는 다수 개의 용도별로 구분하여 저장하는 단계; 및 클라이언트로부터 요청을 수신하는 단계를 포함한다.A method for managing log data of an MS server according to the present invention includes: receiving packet data from an external device; Dividing the received packet data by a plurality of applications that are distinguished from each other and storing the packet data; And receiving a request from the client.

그리고, 상기 수신된 패킷 데이터를 상호 구분되는 다수 개의 용도별로 구분하여 저장하는 단계에는 제1 용도로 저장하는 단계가 포함되며, 상기 제1 용도로 저장하는 단계는, 상기 수신된 패킷 데이터를 파싱하는 제1 단계와; 상기 파싱에 의해 추출된 데이터를 실시간 메모리 테이블에 테이블 구조로 삽입 갱신하는 제2 단계와; 사용량이 많은 항목 순으로 정렬하여 상위 N개의 항목을 선정하는 제3 단계; 및 상기 상위 N개의 항목에 대응하는 인덱싱 파일을 생성하여 상기 실시간 메모리 테이블에 저장하는 제4 단계를 포함하는 것을 특징으로 한다.
The step of dividing the received packet data into a plurality of applications to be distinguished and stored may include a step of storing the packet data as a first use, and the step of storing the packet data includes parsing the received packet data A first step; A second step of inserting data extracted by the parsing into a table structure in a real-time memory table; A third step of selecting the top N items by sorting the items in order of usage; And a fourth step of generating an indexing file corresponding to the N items and storing the indexing file in the real-time memory table.

본 발명에 따른 이엠에스 서버 및 이의 로그 데이터 관리 방법에 의하면, 로컬 아이피 초당 수십만 개 이상의 로그 데이터를 실시간으로 저장 및 모니터링할 수 있고, 수 개월 전의 과거 데이터를 초 단위로 조회 가능하면서 동시에 서버의 성능과 안정성은 확보할 수 있는 효과가 있다.
According to the present invention, it is possible to store and monitor log data of hundreds of thousands or more per local IP in real time, to retrieve historical data of a few months ago in seconds, And stability can be secured.

도 1은 종래 이엠에스 구성을 나타낸 시스템 구성도.
도 2는 본 발명에 따른 이엠에스 서버를 포함하는 이엠에스 구조를 도시한 블록 구성도.
도 3은 본 발명에 따른 실시간 메모리 테이블의 데이터 갱신을 보여주는 일례.
도 4는 본 발명의 인덱싱 파일 생성 과정의 json 형식으로 표현된 데이터의 일례.
도 5는 본 발명의 json 포맷으로 생성된 인덱싱 파일의 일례.
도 6은 본 발명에 따른 이엠에스 서버의 로그 데이터 관리 방법의 블록 순서도.
도 7은 본 발명의 실시간 메모리 테이블용 로그 데이터 관리 방법의 블록 순서도.
1 is a system configuration diagram showing a conventional MS configuration;
2 is a block diagram showing an MS structure including an MS server according to the present invention;
3 is an example showing data update of a real-time memory table according to the present invention.
4 is an example of data expressed in the json format of the indexing file generation process of the present invention.
5 is an example of an indexing file generated in the json format of the present invention.
6 is a block flow diagram of a method for managing log data of an MS server according to the present invention.
7 is a block flow diagram of a method of managing log data for a real-time memory table of the present invention.

본 발명에서 사용하는 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In this specification, the terms "comprises" or "having" and the like refer to the presence of stated features, integers, steps, operations, elements, components, or combinations thereof, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.

또한, 본 명세서에서, "~ 상에 또는 ~ 상부에" 라 함은 대상 부분의 위 또는 아래에 위치함을 의미하는 것이며, 반드시 중력 방향을 기준으로 상 측에 위치하는 것을 의미하는 것은 아니다. 또한, 영역, 판 등의 부분이 다른 부분 "상에 또는 상부에" 있다고 할 때, 이는 다른 부분 "바로 상에 또는 상부에" 접촉하여 있거나 간격을 두고 있는 경우 뿐 아니라 그 중간에 또 다른 부분이 있는 경우도 포함한다.Also, in the present specification, the term " above or above "means to be located above or below the object portion, and does not necessarily mean that the object is located on the upper side with respect to the gravitational direction. It will also be understood that when a section of an area, plate, or the like is referred to as being "above or above another section ", this applies not only to the case where the other section is " And the like.

또한, 본 명세서에서, 일 구성요소가 다른 구성요소와 "연결된다" 거나 "접속된다" 등으로 언급된 때에는, 상기 일 구성요소가 상기 다른 구성요소와 직접 연결되거나 또는 직접 접속될 수도 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 연결되거나 또는 접속될 수도 있다고 이해되어야 할 것이다.Also, in this specification, when an element is referred to as being "connected" or "connected" with another element, the element may be directly connected or directly connected to the other element, It should be understood that, unless an opposite description is present, it may be connected or connected via another element in the middle.

또한, 본 명세서에서, 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.Also, in this specification, the terms first, second, etc. may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another.

이하에서, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예, 장점 및 특징에 대하여 상세히 설명하도록 한다.In the following, preferred embodiments, advantages and features of the present invention will be described in detail with reference to the accompanying drawings.

도 2는 본 발명에 따른 이엠에스 서버를 포함하는 이엠에스 구조를 도시한 블록 구성도이다. 도 2를 참조하면, 본 발명에 따른 이엠에스 서버(100)는 외부장비(200)로부터 패킷 데이터를 수신하여 저장하고 클라이언트(300)의 요청시 저장된 정보를 조회할 수 있도록 관리하는 장치로서, 데이터 컬렉터(10), 이엠에스 제어부(미도시), 데이터 저장부(20,30,40,50) 및 웹 서버(60)를 포함하여 구성된다.2 is a block diagram illustrating an MS structure including an MS server according to the present invention. 2, the MMS server 100 according to the present invention receives and stores packet data from the external device 200 and manages the received packet data in order to inquire stored information of the client 300, A collector 10, an emulation control unit (not shown), data storage units 20, 30, 40, and 50, and a web server 60.

특히 본 발명의 이엠에스 서버(100)는 수신된 패킷 데이터를 다양한 형태 내지 용도로 구분하여 가공하고, 이렇게 가공되는 데이터는 데이터 저장부에 상호 구분되어 저장되는 것을 특징으로 한다.In particular, the MS server 100 of the present invention is characterized in that received packet data is divided into various forms or applications, and the processed data is stored in a data storage unit.

이에 따라, 본 발명의 데이터 저장부는 다수 개로 구분될 수 있는데, 바람직한 실시예에 따르면, 실시간 모니터링의 용도로 가공되는 데이터를 저장하는 실시간 메모리 테이블(20)과, 리포팅의 용도로 가공되는 데이터를 저장하는 리포트 데이터베이스(30)와, 분석용 데이터를 저장하는 분석 데이터베이스(40)와, 다양한 로그 데이터를 저장하는 NoSQL 데이터베이스(50)를 포함하여 구성되는 것을 특징으로 한다.Accordingly, the data storage unit of the present invention can be divided into a plurality of data storage units. According to a preferred embodiment of the present invention, a real-time memory table 20 for storing data processed for real-time monitoring, The analysis database 40 for storing analysis data, and the NoSQL database 50 for storing various log data.

여기서, 본 발명의 실시간 메모리 테이블(20), 리포트 데이터베이스(30), 분석 데이터베이스(40), 및 NoSQL 데이터베이스(50)는 기능적으로 상호 구분 및 분리되는 구성인 바, 물리적으로는 상호 별개로 또는 하나의 형태로 구성될 수도 있음은 물론이다.Here, the real-time memory table 20, the report database 30, the analysis database 40, and the NoSQL database 50 of the present invention are functionally separated and separated, Of course.

이러한 이엠에스 서버(100)는 망을 구성하는 각 네트워크 엘리먼트에 통신망을 통해 접속되어 QoS 프로토콜, DPI 프로토콜, TCP/IP 프로토콜 또는 SNMP 프로토콜 등에 의해 로그 정보를 수신 및 관리함으로써 전체 망의 실시간 모니터링, 리포팅 및 분석 기능을 제공할 수 있게 된다.The MS server 100 is connected to each network element constituting the network through a communication network and receives and manages log information according to a QoS protocol, a DPI protocol, a TCP / IP protocol, or an SNMP protocol, And analysis functions.

이하에서는 이엠에스 서버(100)를 구성하는 각 구성에 대하여 상세히 설명하도록 한다.Hereinafter, each configuration of the MMS server 100 will be described in detail.

본 발명의 데이터 컬렉터(10)는 외부장비(200)로부터 전송되는 패킷 데이터 즉, 로그 정보를 수집하는 장치로서, 데이터 컬렉터(10)에 의해 수집된 패킷 데이터는 이엠에스 제어부에 의해 다양한 형태로 가공 처리된 후 그 가공 형태에 따라 리포트 데이터베이스(30), 실시간 메모리 테이블(20), 분석 데이터베이스(40) 및 NoSQL 데이터베이스(50) 중에서 선택된 어느 하나의 구성에 저장된다.The data collector 10 of the present invention collects packet data, that is, log information, transmitted from the external equipment 200, and packet data collected by the data collector 10 is processed And stored in any one of the configurations selected from the report database 30, the real-time memory table 20, the analysis database 40, and the NoSQL database 50 according to the processing form.

여기서, 이엠에스 서버(100)로 전송되는 데이터 패킷 구조는 메시지 헤더(시작점) (Message Header) 정보, 모니터링 헤더(시작점)(Monitoring Header) 정보, 링크(LINK) 정보, 로컬 아이피(LOCIP) 정보, 플로우(FLOW) 정보, 어플리케이션 그룹(APPGRP)별 정보, 이더 타입(ETHE)별 정보, 물리 포트(PORT RMON)별 정보, 어플리케이션(APP)별 정보, 모니터링 푸터(끝점)(Monitoring footer) 정보, 메시지 푸터(끝점)(Message footer) 정보 등을 포함할 수 있다.Here, the data packet structure transmitted to the MS server 100 includes a message header information, a monitoring header information, a link information, a local IP address, Information per application (APP), monitoring footer information, message (APP), information per application group (APPGRP), information per ether type (ETHE) Message footer information, and the like.

그리고, 데이터 컬렉터(10)는 이벤트 발생시 이를 실시간으로 클라이언트(300)에게 알려주도록 구성될 수 있다. The data collector 10 may be configured to notify the client 300 in real time when an event occurs.

여기서 이벤트란 네트워크 관련 일반 이벤트, VOIP 이벤트, 설정 변경에 따른 이벤트 등일 수 있다.Here, an event may be a general event related to a network, a VOIP event, an event depending on a setting change, and the like.

상기 경우, 데이터 컬렉터(10)가 수집한 패킷 데이터에 해당 이벤트가 포함되어 있을 경우, 데이커 컬렉터(10)는 메시징 서버를 통해 클라이언트(300) 측으로 이벤트 발생 알림 내지 메시지를 실시간으로 푸싱하도록 구성될 수 있다.In this case, if the event data is included in the packet data collected by the data collector 10, the collector collector 10 is configured to push an event occurrence notification or message to the client 300 through the messaging server in real time .

본 발명의 실시간 메모리 테이블(20)은 실시간 모니터링의 용도로 가공되는 데이터를 데이터 테이블 구조로 저장하는 구성으로서, 데이터 컬렉터(10)에 의해 수신된 패킷 데이터의 파싱 및 정렬을 통해 생성되는 인덱싱 파일의 저장이 실시간으로 이루어지는 것을 특징으로 한다.The real-time memory table 20 of the present invention stores data processed for real-time monitoring in a data table structure. The real-time memory table 20 stores the data of the indexed file generated by the parsing and sorting of the packet data received by the data collector 10 And the storage is performed in real time.

구체적으로, 이엠에스 서버(100)는 외부장비(200)로부터 수신한 패킷 데이터에 대하여, 압축 해제, 패킷 파싱, 데이터 갱신, 정렬, 상위 항목 선정, 데이터 추출 과정을 순차적으로 수행함으로써 최종적으로 인덱싱 파일을 생성하고, 이렇게 생성되는 인덱싱 파일은 실시간 메모리 테이블(20)에 저장되도록 구성된다.Specifically, the MS server 100 sequentially performs decompression, packet parsing, data update, sorting, selection of an upper item, and data extraction on the packet data received from the external device 200, And the indexing file thus generated is configured to be stored in the real-time memory table 20.

여기서, 압축 해제는 수신된 이진 데이터를 압축 해제하는 것을 의미한다. Here, decompression means decompressing the received binary data.

패킷 파싱은 원본 이진 데이터를 파싱하여 데이터를 추출하는 것을 의미한다.Packet parsing means parsing the original binary data to extract the data.

데이터 갱신은 실시간 메모리 테이블(20)에 기저장되어 있는 정보에 파싱된 데이터를 업데이트하는 것을 의미한다. 따라서, 파싱에 의해 추출된 데이터는 데이터 테이블 구조로 삽입 갱신되게 된다.Updating the data means updating the data parsed in the information already stored in the real-time memory table 20. [ Therefore, the data extracted by the parsing is inserted and updated in the data table structure.

도 3은 본 발명에 따른 실시간 메모리 테이블의 데이터 갱신을 보여주는 일례이다. 도 3을 참조하면, 데이터 갱신 과정은 새로 들어온 데이터를 실시간 메모리 테이블(20)에 기저장되어 있는 데이터와 비교하면서, 추가, 업데이트, 삭제가 이루어지도록 구성된다. 일 실시예에 따르면, 이엠에스 서버(100)는 상기와 같이 데이터 갱신 과정을 통해 최근 들어온 120개의 데이터만 관리하도록 구성할 수 있다.3 is an example showing data update of the real-time memory table according to the present invention. Referring to FIG. 3, the data updating process is configured to add, update, and delete new data while comparing the data with stored data in the real-time memory table 20. According to one embodiment, the MS server 100 may be configured to manage only 120 recently received data through the data updating process as described above.

정렬은 데이터 갱신이 완료되면 사용량이 많은 항목 순으로 정렬하는 것을 의미한다.Sorting means sorting in order of usage when data update is completed.

상위 항목 선정은 정렬된 항목 중에서 상위 N개의 항목을 선정하는 것을 의미한다. 바람직한 실시예에 따르면, 상위 N개의 항목은 사용량이 많은 상위 100개의 항목으로 구성된다.Selecting an upper item means selecting the top N items among the sorted items. According to a preferred embodiment, the top N items are made up of the top 100 items with high usage.

데이터 추출은 정렬 및 상위 항목 선정 과정을 통해 결정된 상위 N개의 항목에 대한 세부 데이터를 추출하는 것을 의미한다.The data extraction means extracting detailed data of the top N items determined through the sorting and the upper item selection process.

인덱싱 파일 생성은 데이터 추출 과정을 통해 추출된 데이터의 실시간 모니터링을 구현할 수 있도록 이에 적합한 포맷을 갖는 인덱싱 파일을 생성하는 과정이다.The indexing file creation process is a process of creating an indexing file having a format suitable for real-time monitoring of data extracted through the data extraction process.

바람직한 실시예에 따르면, 전술한 인덱싱 파일 생성 과정을 통해 생성되는 인덱싱 파일은 'json' 포맷의 파일로 형성할 수 있다. 참고로, 도 4는 본 발명의 인덱싱 파일 생성 과정의 json 형식으로 표현된 데이터의 일례이고, 도 5는 본 발명의 json 포맷으로 생성된 인덱싱 파일의 일례이다.According to a preferred embodiment, the indexing file generated through the above-described indexing file generation process can be formed as a file of the 'json' format. 4 is an example of data expressed in the json format of the indexing file generation process of the present invention, and FIG. 5 is an example of the indexing file generated in the json format of the present invention.

이와 같은 'json' 포맷의 인덱싱 파일은 자바스크립트(javascript)에서 객체로 역직렬화(deserialization) 처리함으로써 데이터로 활용될 수 있다.Such indexing files in the 'json' format can be used as data by deserializing them from JavaScript to objects.

예컨대, 웹 페이지에서 에이잭스(AJAX)로 이엠에스 서버(100)에 데이터를 요청하면, 이엠에스 서버(100)는 생성된 인덱싱 파일을 읽어 해당 웹 페이지로 전송하고, 이를 수신한 웹 페이지는 해당 데이터를 차트나 그리드에 바인딩하는 방식으로 활용될 수 있다.For example, when data is requested to the ES server 100 from AJAX in a web page, the ES server 100 reads the generated indexing file and transmits it to the corresponding web page, To a chart or a grid.

한편, 전술한 압축 해제, 패킷 파싱, 데이터 갱신, 정렬, 상위 항목 선정, 데이터 추출 과정은 이엠에스 제어부에 의해 수행될 수 있다.On the other hand, the decompression, packet parsing, data update, sorting, upper item selection, and data extraction processes described above can be performed by the MS control unit.

본 발명의 리포트 데이터베이스(30)는 리포팅의 용도로 가공되는 데이터를 저장하는 구성으로서, 데이터 컬렉터(10)에 의해 수신된 패킷 데이터의 벌크 삽입이 이루어지는 것을 특징으로 한다.The report database 30 of the present invention is a configuration for storing processed data for reporting purposes and is characterized in that bulk insertion of packet data received by the data collector 10 is performed.

구체적으로, 이엠에스 서버(100)는 외부장비(200)로부터 수신한 패킷 데이터를 그대로 파일로 저장한 후 리포트 데이터베이스(30)에 벌크 삽입이 가능한 구조의 파일로 변환 생성한다. Specifically, the MS server 100 stores the packet data received from the external device 200 as a file, and converts the packet data into a file having a structure capable of bulk insertion in the report database 30.

벌크 삽입용 백업 파일을 사전에 만든 후 스케줄러에 의해 리포트 데이터베이스(30)에 초(Sec) 단위로 벌크 삽입을 수행하도록 구성된다. 상기 벌크 삽입의 수행시 리포트 데이터베이스(30)에 해당 데이터가 없으면 백업 경로를 통해 벌크 파일로 복원하게 된다.A backup file for bulk insertion is created in advance, and the scheduler is configured to perform bulk insertion into the report database 30 in Sec (Sec) units. If there is no corresponding data in the report database 30 during the bulk insertion, the bulk file is restored through the backup path.

본 발명의 분석 데이터베이스(40)는 분석용 데이터를 저장하는 구성으로서, 리포트 데이터베이스(30)에 저장되어 있는 로그 데이터를 스케줄러에 의해 일정 기간 집계하는 과정을 거친 후 이에 따라 산출되는 분석용 데이터를 주기적으로 저장하도록 구성된다.The analysis database 40 of the present invention is a configuration for storing analysis data. After the log data stored in the report database 30 is aggregated by the scheduler for a certain period of time, the analysis data calculated accordingly is periodically .

따라서, 클라인언트가 로그 데이터의 분석 조회를 위한 요청시, 웹 서버(60)는 전술한 분석 데이터베이스(40)를 통해 일/주/월/년 단위의 분석용 데이트를 검색하여 출력할 수 있게 된다.Therefore, when the clinician requests for the analysis of the log data, the web server 60 can retrieve and output the analysis date in units of week / week / month / year through the above-described analysis database 40 .

본 발명의 NoSQL 데이터베이스(50)는 NoSQL 방식으로 데이터를 저장 및 관리하는 데이터베이스로서, 이러한 NoSQL 데이터베이스(50)는 외부장비(200)로부터 수신한 패킷 데이터의 이벤트 또는 시스템 로그 데이터의 저장이 이루어진다.The NoSQL database 50 of the present invention stores and manages data by the NoSQL method. The NoSQL database 50 stores events of the packet data received from the external device 200 or system log data.

본 발명의 웹 서버(60)는 클라이언트(300)의 요청시, 실시간 메모리 테이블(20)의 인덱싱 파일을 조회하고 그 처리 결과를 클라이언트(300)에게 응답함으로써, 외부장비(200)로부터 수신된 로그 데이터에 대해 모니터링을 수행하도록 구성된다.The web server 60 of the present invention inquires the indexing file of the real-time memory table 20 at the request of the client 300 and responds the processing result to the client 300, And is configured to perform monitoring on the data.

특히, 실시간 메모리 테이블(20)에는 파싱에 의해 추출된 데이터와 이를 기반으로 생성되는 인덱싱 파일이 실시간으로 삽입 갱신되는 바, 초 단위의 로그 정보 모니터링을 구현할 수 있게 된다.Particularly, since the data extracted by parsing and the indexing file generated based on the extracted data are inserted and updated in the real-time memory table 20, it is possible to implement log information monitoring in units of seconds.

구체적으로, 로컬 아이피 초당 100,000 개 이상의 로그 데이터를 실시간으로 모니터링할 수 있게 된다.Specifically, more than 100,000 log data per second can be monitored in real time.

이와 같이 실시간 메모리 테이블(20)을 통해 조회되는 모니터링 정보는 링크, 로컬 호스트, 어플리케이션 그룹, 로컬 아이피별, 어플리케이션별, 어플리케이션 유형별 정보 등을 포함한다.The monitoring information that is inquired through the real-time memory table 20 includes the link, the local host, the application group, the local IP, the application, and the application type information.

그리고, 웹 서버(60)는 클라이언트(300)의 요청시, 리포트 데이터베이스(30)를 통해 리포팅 데이터를 조회하고 그 처리 결과를 클라이언트(300)에게 응답하도록 기능한다.When the client 300 requests the web server 60, the web server 60 inquires the reporting data through the report database 30 and responds the processing result to the client 300.

특히, 리포트 데이터베이스(30)는 벌크 삽입용 백업 파일을 사전에 만든 후 스케줄러에 의해 리포트 데이터베이스(30)에 초(Sec) 단위로 벌크 삽입을 수행하도록 구성되는 바, 각종 분류별 데이터에 대한 초 단위의 리포팅 조회를 구현할 수 있게 된다.In particular, the report database 30 is configured to preliminarily create a backup file for bulk insertion, and then perform a bulk insertion into the report database 30 in units of Sec (sec) by a scheduler. In this case, You will be able to implement a reporting query.

이와 같이 리포트 데이터베이스(30)를 통해 조회되는 리포팅 정보는 원격 호스트, 프로토콜, 서비스 포트, 이더 타입, 포트별, 노드 그룹별, VOIP, URL 필터링, 정책 등의 분류별 정보를 포함한다.The reporting information, which is inquired through the report database 30, includes classified information such as remote host, protocol, service port, Ether type, port, node group, VOIP, URL filtering,

또한, 웹 서버(60)는 클라이언트(300)의 요청시, 분석 데이터베이스(40)를 통해 분석용 데이터를 조회하고 그 처리 결과를 클라이언트(300)에게 응답하도록 기능한다.When the client 300 requests the web server 60, the web server 60 inquires the analysis data through the analysis database 40 and responds the processing result to the client 300.

분석 데이터베이스(40)의 데이터는 리포트 데이터베이스(30)에 저장되어 있는 로그 데이터를 스케줄러에 의해 일정 기간 집계하여 저장되는 바, 웹 서버(60)는 분석 데이터베이스(40)를 통해 일/주/월/년 단위의 분석 데이트를 조회하여 클라이언트(300)에 출력할 수 있다.The data of the analysis database 40 is stored by accumulating the log data stored in the report database 30 by the scheduler for a certain period of time and the web server 60 stores the daily / It is possible to retrieve the analysis data in units of years and output it to the client 300.

이와 같이 분석 데이터베이스(40)를 통해 조회되는 분석 정보는 로컬 호스트, 어플리케이션, 어플리케이션 그룹, 프로토콜, 서비스, URL 필터링, 정책, VOIP, 원격 호스트 등을 포함하고, 로컬 호스트별 어플리케이션과 같이 2단계로 그룹을 설정하여 조회할 수도 있다.As described above, the analysis information to be searched through the analysis database 40 includes a local host, an application, an application group, a protocol, a service, a URL filtering, a policy, a VOIP, a remote host, Can be set and inquired.

한편, 웹 서버(60)에 로그 정보의 조회 및 그 처리 결과의 출력을 요구하는 클라이언트(300)는 컴퓨터, 스마트폰, PDA 등과 같이 웹 서버(60)와 유무선 통신망으로 연결 가능한 전기 전자 장치를 포함하고, 이러한 전기 전자 장치는 브라우저와 같은 프로그램을 탑재하고 있다.The client 300 that requests the web server 60 to inquire log information and output the processing result includes an electronic device that can be connected to the web server 60 through a wired / wireless communication network such as a computer, a smart phone, a PDA And these electric / electronic devices are equipped with a program such as a browser.

클라이언트(300)에 탑재된 프로그램은 네트워크를 통하여 기 구동 중인 이엠에스 서버(100)에 접속을 시도하고, 이엠에스 서버(100)는 정해진 인터페이스를 통하여 클라이언트(300)의 요청에 해당하는 작업을 수행하여 그 처리 결과를 클라이언트(300)에게 제공하게 된다.The program installed in the client 300 attempts to connect to the MS server 100 running on the network and the MS server 100 performs a task corresponding to the request of the client 300 through the predetermined interface And provides the processing result to the client 300.

한편, 클라이언트(300)는 RESTful 방식, XML 방식, SOAP 방식과 같이 공지된 다양한 데이터 전송 방식 중에서 선택된 어느 하나를 이용하여 웹 서버(60)에 로그 정보 요청을 시도할 수 있다.Meanwhile, the client 300 may attempt to request log information to the web server 60 using any one of various known data transmission methods such as a RESTful method, an XML method, and a SOAP method.

본 발명의 이엠에스 제어부는 수집된 패킷 데이터를 용도에 따라 다양한 형태로 가공 처리하고, 이에 따른 결과물을 그 가공 형태에 따라 리포트 데이터베이스(30), 실시간 메모리 테이블(20), 분석 데이터베이스(40) 및 NoSQL 데이터베이스(50) 중에서 선택적으로 저장하도록 기능한다.The emulation control unit of the present invention processes the collected packet data in various forms according to the purpose and outputs the resultant data to the report database 30, the real-time memory table 20, the analysis database 40, And the NoSQL database 50 as shown in FIG.

예컨대, 이엠에스 제어부는 실시간 메모리 테이블(20)에 정보 저장을 위해, 압축 해제, 패킷 파싱, 데이터 갱신, 정렬, 상위 항목 선정, 데이터 추출 및 인덱싱 파일 생성을 위한 처리를 수행할 수 있다.For example, the MMS controller can perform processing for decompression, packet parsing, data update, sorting, parent selection, data extraction, and indexing file generation for storing information in the real-time memory table 20.

또한, 이엠에스 제어부는 리포트 데이터베이스(30)에 정보 저장을 위해, 수신한 패킷 데이터를 그대로 파일로 저장한 후 리포트 데이터베이스(30)에 벌크 삽입이 가능한 구조의 파일로 변환하는 처리를 수행할 수 있다.In order to store information in the report database 30, the MMS controller can also perform processing for storing the received packet data as a file as it is, and converting the packet data into a file having a structure capable of bulk insertion in the report database 30 .

더 나아가, 이엠에스 제어부는 전술한 초 단위 스케줄링, 주기적 집계 스케줄링을 수행하는 스케줄러를 포함할 수도 있다.Furthermore, the multimedia controller may include a scheduler for performing the above-described second-order scheduling, periodic aggregate scheduling.

이하에서는, 상기에서 설명 및 도시한 이엠에스 서버(100)의 로그 데이터 관리 방법에 대해 설명하도록 한다.Hereinafter, the log data management method of the MS server 100 described and illustrated above will be described.

도 6은 본 발명에 따른 이엠에스 서버의 로그 데이터 관리 방법의 흐름도이다. 도 6을 참조하면, 본 발명에 따른 이엠에스 서버의 로그 데이터 관리 방법은 크게 패킷 데이터 수신 단계(S10)와, 용도별 구분 저장 단계(S20)와, 클라이언트 요청 수신 단계(S30)와, 선택적 조회 단계(S40)와, 처리 결과 출력 단계(S50)를 포함한다.6 is a flowchart of a log data management method of an MS server according to the present invention. Referring to FIG. 6, the method for managing log data of an MS server according to the present invention includes a step of receiving a packet data (S10), a storing step for each use (S20), a client request receiving step (S30) (S40), and a processing result output step (S50).

패킷 데이터 수신 단계(S10)는 이엠에스 서버(100)의 데이터 컬렉터(10)가 외부장비(200)로부터 전송되는 패킷 데이터 즉, 로그 정보를 수집하는 단계이다.The packet data receiving step S10 is a step in which the data collector 10 of the MS server 100 collects packet data transmitted from the external equipment 200, that is, log information.

용도별 구분 저장 단계(S20)는 수신된 패킷 데이터를 상호 구분되는 다수 개의 용도 별로 구분하여 저장하는 단계이다.The usage classification storage step (S20) is a step of storing received packet data by dividing the packet data into a plurality of applications that are distinguished from each other.

바람직한 실시예에 따르면, 상기 다수 개의 용도는 초 단위의 실시간 모니터링을 위한 제1 용도, 초 단위의 리포팅 조회를 위한 제2 용도, 분석 조회를 제3 용도, 및 이벤트/시스템 로그 데이터 저장을 위한 제4 용도를 포함한다.According to a preferred embodiment, the plurality of uses include a first use for real-time monitoring in seconds, a second use for reporting inquiry in seconds, a third use for analysis inquiry, and a second use for event / 4 applications.

클라이언트 요청 수신 단계(S30)는 웹 서버(60)와 연결되어 있는 클라이언트 프로그램으로부터 RESTful 방식, XML 방식, SOAP 방식 등을 통해 로그 정보의 조회 내지 검색을 요청받는 단계이다.The client request receiving step S30 is a step of receiving a request for retrieving or searching log information from a client program connected to the web server 60 through a RESTful method, an XML method, a SOAP method, or the like.

선택적 조회 단계(S40)는 클라이언트(300)의 요청에 따라 실시간 메모리 테이블(20), 리포트 데이터베이스(30), 분석 데이터베이스(40) 및 NoSQL 데이터베이스(50) 중에서 선택된 적어도 하나 이상의 데이터 저장부를 조회하는 단계이다.The optional inquiry step S40 is a step of inquiring at least one data storage unit selected from the real-time memory table 20, the report database 30, the analysis database 40 and the NoSQL database 50 at the request of the client 300 to be.

처리 결과 출력 단계(S50)는 상기 선택적 조회 단계를 통해 처리된 결과를 클라이언트(300)에게 제공하는 단계이다.The processing result output step S50 is a step of providing the client 300 with a result processed through the selective inquiry step.

이하에서는 본 발명의 제1 용도로 저장하는 단계에 대해 상세히 설명하도록 한다. Hereinafter, the storing step as the first use of the present invention will be described in detail.

도 7은 본 발명의 실시간 메모리 테이블용 로그 데이터 관리 방법을 나타낸 블록 순서도이다. 도 7을 참조하면, 본 발명의 제1 용도로 저장하는 단계는 수신된 패캣(S21)의 압축 해제 단계(S22)와, 패킷 파싱 단계(S23)와, 데이터 갱신(S24) 단계와, 정렬 단계(S25)와, 상위 항목 선정 단계(S26)와, 데이터 추출 단계(S27)와, 인덱싱 파일 생성 단계(S28)를 포함한다.7 is a block flow chart illustrating a method of managing log data for a real-time memory table according to the present invention. Referring to FIG. 7, the step of storing as the first use of the present invention includes a decompressing step S22 of receiving the packet S21, a packet parsing step S23, a data updating step S24, (S25), an upper item selection step (S26), a data extraction step (S27), and an indexing file generation step (S28).

압축 해제 단계(S22)는 수신된 이진 데이터를 압축 해제하는 단계이고, 패킷 파싱 단계(S23)는 원본 이진 데이터를 파싱하여 데이터를 추출하는 단계이다.The decompressing step S22 is a step of decompressing the received binary data, and the packet parsing step S23 is a step of extracting data by parsing the original binary data.

데이터 갱신(S24) 단계는 실시간 메모리 테이블(20)에 기저장되어 있는 정보에 파싱된 데이터를 업데이트하는 단계이다. 파싱에 의해 추출된 데이터는 데이터 테이블 구조로 삽입 갱신되게 된다.The data update (S24) is a step of updating the parsed data in the information stored in the real-time memory table 20. [ The data extracted by the parsing is inserted and updated in the data table structure.

정렬 단계(S25)는 데이터 갱신이 완료되면 사용량이 많은 항목 순으로 정렬하는 단계이고, 상위 항목 선정 단계(S26)는 정렬된 항목 중에서 상위 N개의 항목을 선정하는 단계이다. 바람직한 실시예에 따르면, 상위 N개의 항목은 사용량이 많은 상위 100개의 항목으로 구성된다.The sorting step S25 is a step of sorting the data items in order of usage when the data updating is completed, and the upper item selecting step S26 is a step of selecting the upper N items among the sorted items. According to a preferred embodiment, the top N items are made up of the top 100 items with high usage.

데이터 추출 단계(S27)는 정렬 및 상위 항목 선정 과정을 통해 결정된 상위 N개의 항목에 대한 세부 데이터를 추출하는 단계이다.The data extracting step S27 is a step of extracting detailed data of the upper N items determined through the sorting and the upper item selecting process.

인덱싱 파일 생성 단계(S28)는 데이터 추출 과정을 통해 추출된 데이터의 실시간 모니터링을 구현할 수 있도록 이에 적합한 포맷을 갖는 인덱싱 파일을 생성하는 단계이다. 바람직한 실시예에 따르면, 인덱싱 파일 생성 단계(S28)을 통해 생성되는 인덱싱 파일은 'json' 포맷의 파일로 형성될 수 있다.The indexing file creation step S28 is a step of creating an indexing file having a format suitable for real-time monitoring of the extracted data through the data extraction process. According to a preferred embodiment, the indexing file generated through the indexing file creation step S28 may be formed of a file of the 'json' format.

상기 경우, 실시간 모니터링을 위한 클라이언트(300) 요청 수신시, 선택적 조회 단계(S40)는 실시간 메모리 테이블(20)에 저장된 인덱싱 파일을 조회하여 클라이언트(300)에게 응답하도록 구성된다.In this case, upon receipt of the client 300 request for real-time monitoring, the selective inquiry step S40 is configured to inquire the indexing file stored in the real-time memory table 20 and respond to the client 300. [

본 발명의 제2 용도로 저장하는 단계는 수신된 패킷 데이터를 그대로 파일로 저장한 후 리포트 데이터베이스(30)에 벌크 삽입이 가능한 구조의 파일로 변환하는 단계와, 이에 따라 생성된 벌크 삽입용 파일을 리포트 데이터베이스(30)에 삽입 저장하는 단계를 포함한다.Storing the received packet data as a file and converting the received packet data into a file having a structure capable of bulk insertion into the report database 30, And inserting and storing in the report database 30.

여기서, 벌크 삽입용 백업 파일을 사전에 만든 후 스케줄러에 의해 리포트 데이터베이스(30)에 초(Sec) 단위로 벌크 삽입을 수행하도록 구성된다. 그리고 벌크 삽입의 수행시 리포트 데이터베이스(30)에 해당 데이터가 없으면 백업 경로에서 벌크 파일로 복원하게 된다.Here, the backup file for bulk insertion is prepared in advance, and the scheduler is configured to perform bulk insertion into the report database 30 in Sec (Sec) units. If the corresponding data does not exist in the report database 30 at the time of bulk insertion, the bulk file is restored from the backup path.

상기 경우, 초 단위의 리포팅 조회를 위한 클라이언트 요청 수신시, 선택적 조회 단계(S40)는 리포트 데이터베이스(30)를 조회 검색하여 그 처리 결과를 클라이언트(300)에게 제공하도록 구성된다.In this case, upon receipt of a client request for reporting inquiry in seconds, a selective inquiry step (S40) is configured to search the report database (30) and provide the processing result to the client (300).

본 발명의 제3 용도로 저장하는 단계는 리포트 데이터베이스(30)에 저장되어 있는 로그 데이터를 스케줄러에 의해 일정 기간 집계하는 과정을 거친 후 이에 따라 산출되는 분석용 데이터를 주기적으로 저장하는 단계를 포함한다.The step of storing as the third use of the present invention includes a step of periodically accumulating the analytical data calculated after the log data stored in the report database 30 is collected by the scheduler for a certain period of time .

상기 경우, 분석 조회를 위한 클라이언트 요청 수신시, 선택적 조회 단계(S40)는 분석 데이터베이스(40)를 통해 일/주/월/년 단위의 분석용 데이트를 검색하여 그 처리 결과를 출력하게 된다.In this case, when receiving a client request for an analysis inquiry, the selective inquiry step (S40) searches the analytic database (40) for analytic data in units of day / week / month / year and outputs the processing result.

마직막으로, 본 발명의 제4 용도로 저장하는 단계는 패킷 데이터의 이벤트 또는 시스템 로그 데이터를 NoSQL 데이터베이스(50)에 저장하는 단계를 포함한다.Finally, storing as a fourth use of the present invention includes storing event or system log data of the packet data in the NoSQL database 50.

전술한 바와 같이, 본 발명의 이엠에스 서버는 수신된 패킷 데이터를 상호 구분되는 다수 개의 용도 별로 구분하여 가공, 저장 및 관리하도록 구성함으로써,초당 수십만 개 이상의 로그 데이터를 실시간으로 저장 및 모니터링할 수 있고, 수 개월 전의 과거 데이터를 초 단위로 조회 가능하면서도 서버의 성능과 안정성은 보장할 수 있게 되었다.
As described above, the MMS server of the present invention is configured to process, store, and manage received packet data by dividing the received packet data into a plurality of applications that are separated from each other, thereby storing and monitoring log data of hundreds of thousands or more per second in real time , It is possible to retrieve historical data of a few months ago in seconds and to guarantee the performance and stability of the server.

상기에서 본 발명의 바람직한 실시예가 특정 용어들을 사용하여 설명 및 도시되었지만 그러한 용어는 오로지 본 발명을 명확히 설명하기 위한 것일 뿐이며, 본 발명의 실시예 및 기술된 용어는 다음의 청구범위의 기술적 사상 및 범위로부터 이탈되지 않고서 여러가지 변경 및 변화가 가해질 수 있는 것은 자명한 일이다.While the preferred embodiments of the present invention have been described and illustrated above using specific terms, such terms are used only for the purpose of clarifying the invention, and it is to be understood that the embodiment It will be obvious that various changes and modifications can be made without departing from the spirit and scope of the invention.

이와 같이 변형된 실시예들은 본 발명의 사상 및 범위로부터 개별적으로 이해되어져서는 안되며, 본 발명의 청구범위 안에 속한다고 해야 할 것이다.
Such modified embodiments should not be understood individually from the spirit and scope of the present invention, but should be regarded as being within the scope of the claims of the present invention.

10: 데이터 컬렉터
20: 실시간 메모리 테이블
30: 리포트 데이터베이스
40: 분석 데이터베이스
50: NoSQL 데이터베이스
60: 웹 서버
100: 이엠에스 서버
200: 외부장비
300: 클라이언트
10: Data Collector
20: Real-time memory table
30: Report database
40: Analysis database
50: NoSQL database
60: Web server
100: Ems server
200: External equipment
300: Client

Claims (11)

이엠에스 서버의 로그 데이터 관리 방법으로서,
외부장비로부터 패킷 데이터를 수신하는 단계; 수신된 패킷 데이터를 상호 구분되는 다수 개의 용도별로 구분하여 저장하는 단계; 및 클라이언트로부터 요청을 수신하는 단계를 포함하고,
상기 수신된 패킷 데이터를 상호 구분되는 다수 개의 용도별로 구분하여 저장하는 단계에는 제1 용도로 저장하는 단계와 제2 용도로 저장하는 단계가 포함되며,
상기 제1 용도로 저장하는 단계는,
상기 수신된 패킷 데이터를 파싱하는 제1 단계;
상기 파싱에 의해 추출된 데이터를 실시간 메모리 테이블에 테이블 구조로 삽입 갱신하는 제2 단계;
사용량이 많은 항목 순으로 정렬하여 상위 N개의 항목을 선정하는 제3 단계; 및
상기 상위 N개의 항목에 대응하는 인덱싱 파일을 생성하여 상기 실시간 메모리 테이블에 저장하는 제4 단계;를 포함하고,
상기 제2 용도로 저장하는 단계는,
상기 수신된 패킷 데이터를 벌크 삽입이 가능한 구조의 파일(이하, '벌크 삽입용 파일'이라 함)로 변환하는 단계; 및
상기 벌크 삽입용 파일을 리포트 데이터베이스에 삽입하는 단계를 포함하는 것을 특징으로 하는 이엠에스 서버의 로그 데이터 관리 방법.
A method for managing log data of an MS server,
Receiving packet data from external equipment; Dividing the received packet data by a plurality of applications that are distinguished from each other and storing the packet data; And receiving a request from a client,
The step of dividing the received packet data into a plurality of applications to be distinguished from each other and storing the packet data includes storing the packet data as a first use and storing the packet data as a second usage,
The method of claim 1,
A first step of parsing the received packet data;
A second step of inserting the data extracted by the parsing into a table structure in a real-time memory table;
A third step of selecting the top N items by sorting the items in order of usage; And
And a fourth step of generating an index file corresponding to the upper N items and storing the generated index file in the real-time memory table,
The method of claim 1,
Converting the received packet data into a file of a structure capable of bulk insertion (hereinafter referred to as a " bulk insertion file "); And
And inserting the bulk insert file into the report database.
제1 항에 있어서,
상기 클라이언트로부터 요청을 수신시, 상기 실시간 메모리 테이블에 저장된 상기 인덱싱 파일을 조회하여 응답하는 단계를 더 포함하는 것을 특징으로 하는 이엠에스 서버의 로그 데이터 관리 방법.
The method according to claim 1,
Further comprising the step of inquiring and responding to the indexing file stored in the real-time memory table upon receiving a request from the client.
삭제delete 제1 항에 있어서,
상기 수신된 패킷 데이터를 상호 구분되는 다수 개의 용도별로 구분하여 저장하는 단계에는 제3 용도로 저장하는 단계가 더 포함되며,
상기 제3 용도로 저장하는 단계는, 상기 리포트 데이터베이스에 저장되어 있는 데이터를 집계한 분석용 데이터를 저장하는 단계를 포함하는 것을 특징으로 하는 이엠에스 서버의 로그 데이터 관리 방법.
The method according to claim 1,
Storing the received packet data as a third use in a step of dividing the received packet data according to a plurality of uses,
Wherein the step of storing as the third purpose comprises the step of storing analysis data aggregating data stored in the report database.
외부장비로부터 패킷 데이터를 수신하여 저장하고 클라이언트의 요청에 따라 저장 정보를 조회할 수 있도록 관리하는 이엠에스 서버로서,
상기 패킷 데이터의 벌크 삽입이 이루어지는 리포트 데이터베이스; 및
상기 패킷 데이터의 파싱에 의해 추출된 데이터가 실시간 메모리 테이블에 테이블 구조로 삽입 갱신되고, 사용량 순에 따라 정렬된 상위 N개의 항목에 대응하는 인덱싱 파일의 저장이 실시간으로 이루어지는 실시간 메모리 테이블;을 포함하는 것을 특징으로 하는 이엠에스 서버.
An MS server for receiving and storing packet data from external equipment and managing the storage information according to a request from a client,
A report database in which bulk insertion of the packet data is performed; And
And a real-time memory table in which data extracted by parsing the packet data is inserted and updated in a table structure in a real-time memory table, and storage of indexing files corresponding to the top N items sorted in order of usage amount is performed in real time Wherein the server comprises:
제5 항에 있어서,
상기 클라이언트의 요청을 수신하고, 클라이언트의 요청시 상기 실시간 메모리 테이블의 상기 상위 N개의 항목에 대응하는 인덱싱 파일을 조회하는 웹 서버를 더 포함하는 것을 특징으로 하는 이엠에스 서버.
6. The method of claim 5,
Further comprising a web server receiving a request from the client and inquiring an indexing file corresponding to the top N items of the real-time memory table upon request of the client.
제5 항에 있어서,
상기 인덱싱 파일은 json 포맷으로 생성된 것을 특징으로 하는 이엠에스 서버.
6. The method of claim 5,
Wherein the indexing file is generated in a json format.
제5 항에 있어서,
상기 리포트 데이터베이스는 스케줄러에 의해 초(Sec) 단위로 상기 패킷 데이터의 벌크 삽입이 수행되는 것을 특징으로 하는 이엠에스 서버.
6. The method of claim 5,
Wherein the report database is configured to perform bulk insertion of the packet data in sec units by a scheduler.
제5 항에 있어서,
상기 리포트 데이터베이스에 저장되어 있는 데이터를 일정 기간 집계한 분석용 데이터를 저장하는 분석 데이터베이스를 더 포함하는 것을 특징으로 하는 이엠에스 서버.
6. The method of claim 5,
Further comprising an analysis database for storing analysis data obtained by aggregating data stored in the report database for a predetermined period of time.
제5 항에 있어서,
상기 패킷 데이터의 이벤트 또는 시스템 로그 데이터를 저장하는 NoSQL 데이터베이스를 더 포함하는 것을 특징으로 하는 이엠에스 서버.
6. The method of claim 5,
Further comprising a NoSQL database for storing events or system log data of the packet data.
제8 항에 있어서,
상기 클라이언트의 요청을 수신하고, 클라이언트의 요청시 상기 리포트 데이터베이스의 상기 초 단위의 데이터를 조회하는 웹 서버를 더 포함하는 것을 특징으로 하는 이엠에스 서버.
9. The method of claim 8,
Further comprising a web server for receiving a request from the client and for inquiring data of the second unit of the report database upon request of the client.
KR1020150019233A 2015-02-09 2015-02-09 Ems server and log data management method thereof KR101736382B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150019233A KR101736382B1 (en) 2015-02-09 2015-02-09 Ems server and log data management method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150019233A KR101736382B1 (en) 2015-02-09 2015-02-09 Ems server and log data management method thereof

Publications (2)

Publication Number Publication Date
KR20160097502A KR20160097502A (en) 2016-08-18
KR101736382B1 true KR101736382B1 (en) 2017-05-16

Family

ID=56874034

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150019233A KR101736382B1 (en) 2015-02-09 2015-02-09 Ems server and log data management method thereof

Country Status (1)

Country Link
KR (1) KR101736382B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101890805B1 (en) * 2018-04-17 2018-08-22 (주)시큐레이어 Method for processing unstructured log in real-time on the basis of machine learning and server using the same
KR101966356B1 (en) * 2018-11-30 2019-04-08 (주)시큐레이어 Method for pauseless parser update based on machine learning and solution server using the same
KR102542052B1 (en) 2023-02-03 2023-06-13 주식회사 피앤피시큐어 Log count processing device and processing system at the kernel level, and log count method using it

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
http://www.hanbit.co.kr/preview/1306/access_chapter4.pdf, 2010년 11월*

Also Published As

Publication number Publication date
KR20160097502A (en) 2016-08-18

Similar Documents

Publication Publication Date Title
CN109918349B (en) Log processing method, log processing device, storage medium and electronic device
CN103942210A (en) Processing method, device and system of mass log information
CN105677842A (en) Log analysis system based on Hadoop big data processing technique
CN104834582B (en) A kind of monitor event methods of exhibiting
DE102015101370A1 (en) Managing big data in process control systems
US20100088197A1 (en) Systems and methods for generating remote system inventory capable of differential update reports
CN103095819A (en) Data information pushing method and data information pushing system
CN105512201A (en) Data collection and processing method and device
CN101902505A (en) Distributed DNS inquiry log real-time statistic device and method thereof
CN103853743A (en) Distributed system and log query method thereof
US10769104B2 (en) Block data storage system in an event historian
CN109391629A (en) Track traffic synthetic monitoring system data processing method
JP5487864B2 (en) Data collection device, data collection method, and data collection program
KR101736382B1 (en) Ems server and log data management method thereof
CN102271052A (en) Network system, network management device and gateway device
CN112711612B (en) Data processing method, device, storage medium and electronic device
CN104486116A (en) Multidimensional query method and multidimensional query system of flow data
CN110858192A (en) Log query method and system, log checking system and query terminal
CN113868248A (en) Index data pre-polymerization method
CN106326280B (en) Data processing method, device and system
CN105162622A (en) Storage method and system
CN113472858B (en) Buried point data processing method and device and electronic equipment
US8725703B2 (en) Management of an inventory of websites
CN102055620B (en) Method and system for monitoring user experience
CN110929130B (en) Public security level audit data query method based on distributed scheduling

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant