KR101308091B1 - 요약 데이터를 이용하여 로그 데이터의 정렬 정보를 생성하기 위한 장치 및 방법 - Google Patents
요약 데이터를 이용하여 로그 데이터의 정렬 정보를 생성하기 위한 장치 및 방법 Download PDFInfo
- Publication number
- KR101308091B1 KR101308091B1 KR1020110145787A KR20110145787A KR101308091B1 KR 101308091 B1 KR101308091 B1 KR 101308091B1 KR 1020110145787 A KR1020110145787 A KR 1020110145787A KR 20110145787 A KR20110145787 A KR 20110145787A KR 101308091 B1 KR101308091 B1 KR 101308091B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- key
- primary
- information
- summary data
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
- H04L41/083—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability for increasing network speed
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9014—Indexing; Data structures therefor; Storage structures hash tables
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명은 1차 요약 데이터 생성부가 일정한 주기로 동작하면서 로그 데이터로부터 생성하는 복수의 1차 요약 데이터에 대해 정렬 프로세싱을 수행함으로써 1차 정렬 정보를 생성할 수 있다. 또한, 본 발명은 2차 요약 데이터 생성부가 일정한 주기로 동작하면서 로그 데이터로부터 생성하는 복수의 2차 요약 데이터로부터 1차 정렬 정보에 대응하는 부분을 추출하고, 이에 대해 정렬 프로세싱을 수행함으로써 2차 정렬 정보를 생성할 수 있다. 즉, 정렬 프로세싱을 분산함으로써, 시스템에 일시적으로 과다한 부하가 집중되는 것을 방지하고, 정렬 프로세싱의 효율 및 속도를 향상시킬 수 있다.
Description
본 발명은 데이터 정렬 기술에 관한 것으로서, 구체적으로는 요약 데이터를 이용하여 로그 데이터를 정렬하기 위한 기술에 관한 것이다.
일정 기간 동안 네트워크에서 발생한 사건이나 흐름을 파악하고 정리하기 위한 일반적인 도구로 로그 데이터에 기반을 둔 리포트가 사용된다. 상기 리포트는 그 목적에 따라 다양한 항목들을 포함하고 있는데, 예를 들어, 데이터 전송량이 많은 10 개의 출발지 IP, 데이터 전송량이 많은 10개의 서비스 등과 같이, 정렬 기준에 따라 정렬된 임의의 개수의 정렬 대상을 추출하여 활용하는 경우가 많다. 또한, 예를 들어, 데이터 전송량이 많은 10개의 출발지 IP 각각에 대한 데이터 전송량이 많은 10개의 목적지 IP와 같이, 1차 정렬 결과에 대해 2차 정렬을 수행하는 경우도 존재한다.
한편, 데이터의 양이 증가할수록 데이터 정렬을 위한 연산 시간이 많이 요구될 수 있다. 즉, 소정의 기간 동안 생성되는 로그 데이터로부터 정렬 결과를 생성하는 것은 상기 기간 동안 생성되는 모든 로그 데이터를 판독한 후 정렬 연산을 수행해야 하기 때문에, 적지 않은 시간이 소모된다. 특히, 1차 정렬 결과에 대해 2차 정렬을 수행하는 경우, 1차 정렬 결과에 해당하는 각각의 항목에 대한 모든 로그 데이터를 판독한 후 정렬 연산을 수행하기 때문에, 정렬에 요구되는 소요 시간은 급격히 늘어나게 되고, 시스템에 일시적으로 큰 부하가 부가되면서, 전체 시스템 성능을 감소시킬 수 있다.
이에 따라, 1차 정렬 또는 2차 정렬을 위한 정렬 프로세싱을 분산함으로써, 정렬 프로세싱의 효율 및 속도를 향상시킬 수 있는 기술이 요구된다.
본 발명은 상기 문제점을 해결하기 위한 것으로서, 요약 데이터를 이용하여 1차 정렬 또는 2차 정렬을 위한 정렬 프로세싱을 분산함으로써, 정렬 프로세싱의 효율 및 속도를 향상시키는 것을 목적으로 한다.
본 발명의 실시예에 따라, 요약 데이터를 이용하여 로그 데이터의 정렬 정보를 생성하기 위한 장치가 개시된다. 상기 장치는 적어도 하나의 로그 데이터를 수신하기 위한 로그 데이터 수신부; 상기 로그 데이터 수신부에 의해 수신된 로그 데이터로부터 1차 요약 데이터를 생성하기 위한 1차 요약 데이터 생성부; 및 상기 1차 요약 데이터 생성부에 의해 생성된 복수의 1차 요약 데이터로부터 로그 데이터의 1차 정렬 정보를 생성하기 위한 1차 정렬 정보 생성부를 포함할 수 있다. 상기 1차 요약 데이터 생성부는 상기 로그 데이터 수신부에 의해 수신된 로그 데이터에 포함된 필드 중 제 1 키 및 제 1 데이터를 추출하기 위한 추출부; 상기 추출부에 의해 추출된 제 1 키 및 제 1 데이터를 저장하기 위한, 상기 제 1 키를 해시한 값에 의해 참조되는 1차 요약 데이터 테이블 ― 복수의 동일한 제 1 키가 존재하는 경우, 상기 1차 요약 데이터 테이블은 상기 복수의 동일한 제 1 키에 대응하는 복수의 제 1 데이터를 가산한 값을 저장함 ― ; 및 상기 1차 요약 데이터 테이블에 저장된 제 1 데이터 중 큰 값을 갖는 상위 m 개의 제 1 데이터 및 상기 m 개의 제 1 데이터에 대응하는 m 개의 제 1 키를 포함하는 1차 요약 데이터를 생성하기 위한 정렬부를 포함하고, 상기 1차 정렬 정보 생성부는 상기 복수의 1차 요약 데이터에 포함된 모든 제 1 키 및 제 1 데이터를 저장하기 위한, 상기 제 1 키를 해시한 값에 의해 참조되는 1차 정렬 정보 테이블 ― 복수의 동일한 제 1 키가 존재하는 경우, 상기 1차 정렬 정보 테이블은 상기 복수의 동일한 제 1 키에 대응하는 복수의 제 1 데이터를 가산한 값을 저장함 ― ; 및 상기 1차 정렬 정보 테이블에 저장된 제 1 데이터 중 큰 값을 갖는 상위 n 개의 제 1 데이터 및 상기 n 개의 제 1 데이터에 대응하는 n 개의 제 1 키를 포함하는 1차 정렬 정보를 생성하기 위한 정렬부를 포함할 수 있다.
본 발명의 실시예에 따라, 요약 데이터를 이용하여 로그 데이터의 정렬 정보를 생성하기 위한 방법이 개시된다. 상기 방법은 적어도 하나의 로그 데이터를 수신하는 단계; 상기 로그 데이터로부터 1차 요약 데이터를 생성하는 단계; 및 복수의 1차 요약 데이터로부터 로그 데이터의 1차 정렬 정보를 생성하는 단계를 포함할 수 있다. 상기 1차 요약 데이터를 생성하는 단계는 상기 로그 데이터에 포함된 필드 중 제 1 키 및 제 1 데이터를 추출하는 단계; 상기 추출된 제 1 키 및 제 1 데이터를, 상기 제 1 키를 해시한 값에 의해 참조되는 1차 요약 데이터 테이블에 저장하는 단계 ― 복수의 동일한 제 1 키가 존재하는 경우, 상기 복수의 동일한 제 1 키에 대응하는 복수의 제 1 데이터를 가산한 값이 저장됨 ― ; 및 상기 1차 요약 데이터 테이블에 저장된 제 1 데이터 중 큰 값을 갖는 상위 m 개의 제 1 데이터 및 상기 m 개의 제 1 데이터에 대응하는 m 개의 제 1 키를 포함하는 1차 요약 데이터를 생성하는 단계를 포함하고, 상기 1차 정렬 정보를 생성하는 단계는 상기 복수의 1차 요약 데이터에 포함된 모든 제 1 키 및 제 1 데이터를, 상기 제 1 키를 해시한 값에 의해 참조되는 1차 정렬 정보 테이블에 저장하는 단계 ― 복수의 동일한 제 1 키가 존재하는 경우, 상기 복수의 동일한 제 1 키에 대응하는 복수의 제 1 데이터를 가산한 값이 저장됨 ― ; 및 상기 1차 정렬 정보 테이블에 저장된 제 1 데이터 중 큰 값을 갖는 상위 n 개의 제 1 데이터 및 상기 n 개의 제 1 데이터에 대응하는 n 개의 제 1 키를 포함하는 1차 정렬 정보를 생성하는 단계를 포함할 수 있다.
여기서 키는 정렬 대상에 해당하는 필드를 의미하고, 데이터는 정렬 기준에 해당하는 필드를 의미하고, m은 양의 정수이고, n은 m보다 작은 양의 정수이다.
본 발명은 로그 데이터로부터 생성되는 복수의 요약 데이터를 이용하여 정렬 프로세싱을 분산함으로써, 시스템에 일시적으로 과다한 부하가 집중되는 것을 방지하고, 정렬 프로세싱의 효율 및 속도를 향상시킬 수 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 본 발명의 실시예에 따라 요약 데이터를 이용하여 로그 데이터의 정렬 정보를 생성하기 위한 장치를 도시한다.
도 2는 본 발명의 실시예에 따른 로그 데이터의 예시를 도시한다.
도 3은 본 발명의 실시예에 따른 1차 요약 데이터 테이블의 예시를 도시한다.
도 4은 본 발명의 실시예에 따른 1차 요약 데이터의 예시를 도시한다.
도 5은 본 발명의 실시예에 따른 2차 요약 데이터 테이블의 예시를 도시한다.
도 6은 본 발명의 실시예에 따른 2차 요약 데이터의 예시를 도시한다.
도 7는 본 발명의 실시예에 따라 요약 데이터를 이용하여 로그 데이터의 정렬 정보를 생성하기 위한 방법을 도시한다.
도 1은 본 발명의 실시예에 따라 요약 데이터를 이용하여 로그 데이터의 정렬 정보를 생성하기 위한 장치를 도시한다.
도 2는 본 발명의 실시예에 따른 로그 데이터의 예시를 도시한다.
도 3은 본 발명의 실시예에 따른 1차 요약 데이터 테이블의 예시를 도시한다.
도 4은 본 발명의 실시예에 따른 1차 요약 데이터의 예시를 도시한다.
도 5은 본 발명의 실시예에 따른 2차 요약 데이터 테이블의 예시를 도시한다.
도 6은 본 발명의 실시예에 따른 2차 요약 데이터의 예시를 도시한다.
도 7는 본 발명의 실시예에 따라 요약 데이터를 이용하여 로그 데이터의 정렬 정보를 생성하기 위한 방법을 도시한다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 도면에 기재된 내용을 참조하여야 한다.
본 발명의 실시예들은 당해 기술 분야에서 통상의 지식을 가진 자에게 본 발명을 더욱 완전하게 설명하기 위하여 제공되는 것이며, 아래의 실시예들은 여러가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 아래의 실시예들로 한정되는 것은 아니다. 오히려, 이들 실시예는 본 개시를 더욱 충실하고 완전하게 하며 본 발명이 속하는 기술분야의 통상의 지식을 가진 자에게 본 발명의 사상을 완전하게 전달하기 위하여 제공되는 것이다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 설명함으로써, 본 발명을 상세히 설명하기로 한다.
도 1은 본 발명의 실시예에 따라 요약 데이터를 이용하여 로그 데이터의 정렬 정보를 생성하기 위한 장치(100)를 도시한다. 상기 장치(100)는 통상적인 네트워크 보안 제품에 통합되어 이용되거나, 상기 네트워크 보안 제품과는 별개의 컴포넌트로서 이용될 수 있다. 도시되는 바와 같이, 상기 장치(100)는 적어도 하나의 로그 데이터를 수신하기 위한 로그 데이터 수신부(110); 상기 로그 데이터 수신부(110)에 의해 수신된 로그 데이터로부터 1차 요약 데이터를 생성하기 위한 1차 요약 데이터 생성부(120); 상기 1차 요약 데이터 생성부(120)에 의해 생성된 복수의 1차 요약 데이터로부터 로그 데이터의 1차 정렬 정보를 생성하기 위한 1차 정렬 정보 생성부(130); 상기 로그 데이터 수신부(110)에 의해 수신된 로그 데이터 및 상기 1차 요약 데이터 생성부(120)에 의해 생성된 1차 요약 데이터를 이용하여 2차 요약 데이터를 생성하기 위한 2차 요약 데이터 생성부(140); 및 상기 2차 요약 데이터 생성부(140)에 의해 생성된 복수의 2차 요약 데이터 및 상기 1차 정렬 정보 생성부(130)에 의해 생성된 1차 정렬 정보로부터 로그 데이터의 2차 정렬 정보를 생성하기 위한 2차 정렬 정보 생성부(150)를 포함할 수 있다.
먼저, 로그 데이터 수신부(110)는 로그 데이터를 수신할 수 있다. 여기서, 로그 데이터는 프로세스의 경과된 상태를 모은 데이터로서 동작이나 동작 상황을 기록한 것이다. 일반적으로 네트워크 보안 제품에서 생성되는 로그 데이터는 상기 네트워크 보안 제품을 경유하여 내부 네트워크로 액세스하거나, 내부 네트워크로부터 외부 네트워크로 액세스할 때 생성 및 기록되며, 상기 네트워크 보안 제품의 종류에 따라 방화벽 로그, IDS 로그, IPS 로그 등을 포함할 수 있다. 이와 관련하여, 도 2는 본 발명의 실시예에 따른 로그 데이터의 예시를 도시한다. 도시되는 바와 같이, 로그 데이터는 시작시간, 종료시간, 방화벽 정책 ID, 출발지 IP 주소, 출발지 포트, 목적지 IP 주소, 목적지 포트, 프로토콜, 패킷 수, 바이트 수 등에 관한 필드들을 포함할 수 있다. 상기 필드들은 예시적인 것으로서, 본 발명이 적용되는 실시예에 따라 다른 구성의 필드들이 적용될 수 있다. 로그 데이터의 필드들 중 키(key)는 정렬 대상에 해당하는 필드를 의미하고, 데이터는 정렬 기준에 해당하는 필드를 의미한다. 즉, 본 발명에서 실시되는 1차 정렬 또는 2차 정렬은 데이터의 값을 기준으로 키를 정렬하는 것을 의미한다. 일 실시예에서, 키는 출발지 IP 주소, 목적지 IP 주소, 목적지 포트 및 방화벽 정책 ID 중 적어도 하나를 포함할 수 있으며, 데이터는 패킷의 수 및 바이트 수 중 적어도 하나를 포함할 수 있다. 여기서, 방화벽 정책 ID는 각 네트워크 패킷에 적용되는 방화벽 정책을 식별하기 위한 값으로서, "출발지", "목적지", "서비스" 및 "동작"에 의해 결정될 수 있다. 예를 들어, 출발지, 목적지, 서비스 및 동작이 각각 "내부 호스트", "외부 호스트", "웹 서비스" 및 "허용"인 경우 정책 2로 정의될 수 있다. 이는 예시적인 것으로서, 방화벽 정책 ID를 정의하기 위해 다른 구성이 이용될 수 있다. 본 발명에서는 예시로서 제시한 키 또는 데이터에 해당하는 필드와 상이한 필드가 키 또는 데이터로서 이용될 수 있다는 점이 당해 기술분야에서 통상의 지식을 가진 자에게 명백할 것이다.
계속해서, 로그 데이터 수신부(110)가 로그 데이터를 수신하면, 1차 요약 데이터 생성부(120)는 로그 데이터를 이용하여 1차 요약 데이터를 생성할 수 있다. 여기서, 1차 요약 데이터는 로그 데이터로부터 정렬 기준 및 상기 정렬 기준에 따라 정렬 대상을 추출한 결과, 즉 로그 데이터에 대해 1차 정렬을 수행한 결과를 의미한다.
일 실시예에서, 1차 요약 데이터 생성부(120)는 추출부; 1차 요약 데이터 테이블; 및 정렬부를 포함할 수 있다. 상기 추출부는 로그 데이터 수신부(110)에 의해 수신된 로그 데이터에 포함된 필드 중 제 1 키 및 제 1 데이터를 추출할 수 있다. 상기 추출부에 의해 추출된 제 1 키 및 제 1 데이터는 1차 요약 데이터 테이블에 저장될 수 있다. 여기서, 1차 요약 데이터 테이블은 제 1 키를 해시(hash)한 값에 의해 참조될 수 있다. 따라서, 동일한 제 1 키가 복수 개 추출되더라도, 상기 동일한 제 1 키를 해시한 값은 동일하기 때문에, 상기 복수 개의 동일한 제 1 키 및 상기 제 1 키에 대응하는 제 1 데이터는 1차 요약 데이터 테이블 내의 동일한 공간에 저장될 수 있다. 이때, 1차 요약 데이터 테이블은 상기 복수의 제 1 데이터를 가산한 값을 저장함으로써, 제 1 데이터가 누락되지 않게 한다.
도 3은 본 발명의 실시예에 따른 1차 요약 데이터 테이블의 예시를 도시한다. 상기 예시에서, 제 1 키는 출발지 IP 주소 필드에 해당하며, 제 1 데이터는 바이트 수를 의미한다. 도시되는 바와 같이, 1차 요약 데이터 생성부(120)의 추출부에 의해 추출된 모든 제 1 키 및 제 1 데이터가 1차 요약 데이터 테이블에 저장된다. 여기서, 도 3의 제 1 데이터의 값은 하나의 제 1 데이터에 해당하는 값일 수 있고, 또한 복수 개의 제 1 데이터가 가산된 값일 수 있다. 도 3에서 도시되는 1차 요약 데이터 테이블은 예시적인 것으로서, 이러한 구성에 제한되는 것은 아니며 당업자의 필요에 따라 다양한 형태로 변형 설계될 수 있다.
계속해서, 1차 요약 데이터 생성부(120)의 정렬부는 1차 요약 데이터 테이블에 저장된 제 1 데이터 중 큰 값을 갖는 상위 m 개의 제 1 데이터 및 상기 m 개의 제 1 데이터에 대응하는 m 개의 제 1 키를 포함하는 1차 요약 데이터를 생성할 수 있다. 여기서 m은 양의 정수이다. 도 4은 본 발명의 실시예에 따른 1차 요약 데이터의 예시를 도시한다. 도 3과 마찬가지로, 도 4의 예시에서 제 1 키는 출발지 IP 주소 필드에 해당하며, 제 1 데이터는 바이트 수를 의미한다. 그러나, 도 3의 1차 요약 데이터 테이블이 추출된 모든 제 1 키 및 제 1 데이터를 저장하는 것과 달리, 도 4의 1차 요약 데이터는 제 1 데이터의 값이 큰 순서로 m 개의 제 1 키 및 제 1 데이터만을 포함한다. 또한, 도 4는 정렬 순서를 나타내는 1 내지 m의 인덱스에 관한 항목이 부가되었으나, 실시예에 따라 이러한 인덱스는 생략될 수 있다. 도 4에서 도시되는 1차 요약 데이터는 예시적인 것으로서, 이러한 구성에 제한되는 것은 아니며 당업자의 필요에 따라 다양한 형태로 변형 설계될 수 있다.
도 1로 돌아가서, 1차 정렬 정보 생성부(130)는 1차 요약 데이터 생성부(120)에 의해 생성된 복수의 1차 요약 데이터로부터 로그 데이터의 1차 정렬 정보를 생성할 수 있다. 여기서, 1차 정렬 정보는 복수의 1차 요약 데이터의 정렬 결과를 조합한 후 정렬 기준에 따라 재정렬한 결과를 의미한다.
일 실시예에서, 상기 1차 정렬 정보 생성부(130)는 1차 정렬 정보 테이블; 및 정렬부를 포함할 수 있다. 상기 1차 정렬 정보 테이블은 상기 복수의 1차 요약 데이터에 포함된 모든 제 1 키 및 제 1 데이터를 저장할 수 있다. 상기 1차 정렬 정보 테이블은 1차 요약 데이터 테이블과 마찬가지로, 제 1 키를 해시한 값에 의해 참조될 수 있다. 따라서, 동일한 제 1 키가 복수 개 추출되더라도, 상기 동일한 제 1 키를 해시한 값은 동일하기 때문에, 상기 복수 개의 동일한 제 1 키 및 상기 제 1 키에 대응하는 제 1 데이터는 1차 요약 데이터 테이블 내의 동일한 공간에 저장될 수 있다. 이때, 1차 정렬 정보 테이블은 상기 복수의 제 1 데이터를 가산한 값을 저장함으로써, 제 1 데이터가 누락되지 않게 한다. 이러한 1차 정렬 정보 테이블은 도 3에서 도시되는 1차 요약 데이터 테이블의 예시와 그 구성이 동일하며, 다만, 1차 요약 데이터에 포함된 모든 제 1 키 및 제 1 데이터가 포함되기 때문에, 1차 요약 데이터에 비해 제 1 키 및 제 1 데이터의 개수, 및 제 1 데이터의 값이 증가할 수 있다. 계속해서, 상기 1차 정렬 정보 생성부(130) 내의 정렬부는 상기 1차 정렬 정보 테이블에 저장된 제 1 데이터 중 큰 값을 갖는 상위 n 개의 제 1 데이터 및 상기 n 개의 제 1 데이터에 대응하는 n 개의 제 1 키를 포함하는 1차 정렬 정보를 생성할 수 있다. 여기서, n은 m보다 작은 양의 정수이며, 바람직하게는 n은 m의 1/10일 수 있다. 이러한 1차 정렬 정보는 도 4에서 도시되는 1차 요약 데이터의 예시와 그 구성이 동일하며, 다만 1차 정렬 정보에 포함되는 제 1 키 및 제 1 데이터의 개수가 최대 n 개로 한정될 수 있다. 상기 1차 정렬 정보 테이블 및 1차 정렬 정보의 구성은 이러한 구성에 제한되는 것은 아니며 당업자의 필요에 따라 다양한 형태로 변형 설계될 수 있다.
즉, 1차 정렬 정보를 생성하기 위해, 모든 로그 데이터를 판독한 후 이에 대해 정렬 프로세싱을 수행하는 종래 기술과 달리, 본 발명은 1차 요약 데이터 생성부가 일정한 주기로 동작하면서 로그 데이터로부터 생성하는 복수의 1차 요약 데이터에 대해 정렬 프로세싱을 수행함으로써 1차 정렬 정보를 생성한다. 즉, 정렬 프로세싱을 분산함으로써, 시스템에 일시적으로 과다한 부하가 집중되는 것을 방지하고, 정렬 프로세싱의 효율 및 속도를 향상시킬 수 있다. 또한, 요약 데이터로부터 충분한 수의 표본을 획득하기 위해, 1차 요약 데이터에 포함되는 제 1 키의 개수(즉, m)는 1차 정렬 정보에 포함되는 제 1 키의 개수(즉, n) 이상이어야 하며, 바람직하게는 n은 m의 1/10일 수 있다.
다시 도 1로 돌아가서, 2차 요약 데이터 생성부(140)는 로그 데이터 수신부(110)에 의해 수신된 로그 데이터 및 1차 요약 데이터 생성부(120)에 의해 생성된 1차 요약 데이터를 이용하여 2차 요약 데이터를 생성할 수 있다. 여기서 2차 요약 데이터는 1차 요약 데이터에 대응하는 로그 데이터로부터 정렬 기준 및 상기 정렬 기준에 따라 정렬 대상을 추출한 결과를 의미한다.
일 실시예에서, 2차 요약 데이터 생성부(140)는 추출부; 2차 요약 데이터 테이블; 및 정렬부를 포함할 수 있다 상기 추출부는 로그 데이터 수신부에 의해 수신된 로그 데이터에 포함된 필드 중 1차 요약 데이터에 포함된 제 1 키와 동일한 제 1 키, 및 상기 동일한 제 1 키에 대응하는 제 2 키와 제 2 데이터를 추출할 수 있다. 계속해서, 상기 추출된 제 1 키, 제 2 키 및 제 2 데이터는 상기 2차 요약 데이터 테이블에 저장될 수 있다. 2차 요약 데이터 테이블은 제 1 키 및 제 2 키를 해시한 값에 의해 참조될 수 있다. 따라서, 제 1 키 및 제 2 키의 조합이 동일하다면, 이를 해시한 값 또한 동일하기 때문에, 복수 개의 동일한 제 1 키 및 제 2 키에 대응하는 제 2 데이터는 2차 요약 데이터 테이블 내의 동일한 공간에 저장될 수 있다. 이때, 상기 2차 요약 데이터 테이블은 상기 복수의 제 2 데이터를 가산한 값을 저장함으로써, 제 2 데이터가 누락되지 않게 한다.
도 5은 본 발명의 실시예에 따라 2차 요약 데이터 테이블의 예시를 도시한다. 상기 예시에서, 제 1 키는 출발지 IP 주소 필드에 해당하고, 제 2 키는 목적지 IP 주소 필드를 의미하며, 제 2 데이터는 바이트 수를 의미한다. 상기 제 1 키는 1차 요약 데이터 테이블에 저장된 제 1 키와 동일하고, 상기 제 1 키에 대응하는 모든 제 2 키 및 제 2 데이터가 로그 데이터로부터 추출되어 제 1 키와 함께 저장된다. 도 5의 제 2 데이터의 값은 하나의 제 2 데이터에 해당하는 값일 수 있고, 또한 복수 개의 제 2 데이터가 가산된 값일 수 있다. 도 5에서 도시되는 2차 요약 데이터 테이블은 예시적인 것으로서, 이러한 구성에 제한되는 것은 아니며 당업자의 필요에 따라 다양한 형태로 변형 설계될 수 있다.
계속해서, 상기 2차 요약 데이터 생성부(140)의 정렬부는 2차 요약 데이터 테이블에 저장된 각각의 제 1 키에 대응하는 제 2 데이터 중 큰 값을 갖는 상위 m 개의 제 2 데이터 및 상기 m 개의 제 2 데이터에 대응하는 m 개의 제 2 키를 2차 요약 데이터 테이블에 저장된 제 1 키 모두에 대해 추출함으로써, 2차 요약 데이터 테이블에 저장된 제 1 키, 및 상기 추출된 제 2 키와 제 2 데이터를 포함하는 2차 요약 데이터를 생성할 수 있다.
도 6은 본 발명의 실시예에 따른 2차 요약 데이터의 예시를 도시한다. 도 5에서와 마찬가지로, 도 6의 예시에서 제 1 키는 출발지 IP 주소 필드에 해당하고, 제 2 키는 목적지 IP 주소 필드를 의미하며, 제 2 데이터는 바이트 수를 의미한다. 그러나, 도 5의 2차 요약 데이터 테이블과 달리, 도 6의 2차 요약 데이터는 각각의 제 1 키에 대해, 제 2 데이터의 값이 큰 순서로 m 개의 제 2 키 및 m 개의 제 2 데이터만을 포함한다. 또한, 도 6는 정렬 순서를 나타내는 1 내지 m의 1차 인덱스 및 2차 인덱스에 관한 항목이 부가되었으나, 상기 인덱스는 생략될 수 있다. 도 6에서 도시되는 2차 요약 데이터는 예시적인 것으로서, 이러한 구성에 제한되는 것은 아니며 당업자의 필요에 따라 다양한 형태로 변형 설계될 수 있다.
도 1로 돌아가서, 2차 정렬 정보 생성부(150)는 2차 요약 데이터 생성부(140)에 의해 생성된 복수의 2차 요약 데이터 및 1차 정렬 정보 생성부(130)에 의해 생성된 1차 정렬 정보로부터 2차 정렬 정보를 생성할 수 있다. 여기서 2차 정렬 정보는 복수의 2차 요약 데이터의 정렬 결과에서 1차 정렬 정보에 대응하는 정렬 결과만을 추출한 후, 이를 재정렬한 결과, 즉 1차 정렬 결과에 대해 2차 정렬을 수행한 결과를 의미한다.
일 실시예에서, 상기 2차 정렬 정보 생성부(150)는 추출부; 2차 정렬 정보 테이블; 및 정렬부를 포함할 수 있다. 상기 추출부는 복수의 2차 요약 데이터로부터 1차 정렬 정보에 포함된 제 1 키와 동일한 제 1 키, 및 상기 동일한 제 1 키에 대응하는 제 2 키 및 제 2 데이터를 추출할 수 있다. 상기 추출된 제 1 키, 제 2 키 및 제 2 데이터는 2차 정렬 정보 테이블에 저장될 수 있다. 2차 정렬 정보 테이블은 2차 요약 데이터 테이블과 마찬가지로, 제 1 키 및 제 2 키를 해시한 값에 의해 참조될 수 있다. 따라서, 제 1 키 및 제 2 키의 조합이 동일하다면, 이를 해시한 값 또한 동일하기 때문에, 복수 개의 동일한 제 1 키 및 제 2 키에 대응하는 제 2 데이터는 2차 정렬 정보 테이블 내의 동일한 공간에 저장될 수 있다. 이때, 상기 2차 정렬 정보 테이블은 상기 복수의 제 2 데이터를 가산한 값을 저장함으로써, 제 2 데이터가 누락되지 않게 한다. 이러한 2차 정렬 정보 테이블은 도 5에서 도시되는 2차 요약 데이터 테이블의 예시와 그 구성이 동일하며, 다만, 복수의 2차 요약 데이터에 포함된 모든 제 1 키, 제 2 키 및 제 2 데이터가 포함되기 때문에, 복수의 2차 요약 데이터에 비해 제 1 키, 제 2 키 및 제 2 데이터의 개수, 및 제 2 데이터의 값이 증가할 수 있다. 계속해서, 상기 2차 정렬 정보 생성부(150)의 정렬부는 2차 정렬 정보 테이블에 저장된 각각의 제 1 키에 대응하는 제 2 데이터 중 큰 값을 갖는 상위 n 개의 제 2 데이터 및 상기 n 개의 제 2 데이터에 대응하는 n 개의 제 2 키를 상기 2차 정렬 정보 테이블에 저장된 제 1 키 모두에 대해 추출함으로써, 2차 정렬 정보 테이블에 저장된 제 1 키, 및 상기 추출된 제 2 키와 제 2 데이터를 포함하는 2차 정렬 정보를 생성할 수 있다. 여기서, n은 m보다 작은 양의 정수이며, 바람직하게는 n은 m의 1/10일 수 있다. 이러한 2차 정렬 정보는 도 6에서 도시되는 2차 요약 데이터의 예시와 그 구성이 동일하며, 다만 2차 정렬 정보에 포함되는 제 1 키, 및 각각의 제 1 키에 대한 제 2 키 및 제 2 데이터의 개수가 최대 n 개로 한정될 수 있다. 상기 2차 정렬 정보 테이블 및 2차 정렬 정보의 구성은 이러한 구성에 제한되는 것은 아니며 당업자의 필요에 따라 다양한 형태로 변형 설계될 수 있다.
종래의 경우, 2차 정렬 정보를 생성하기 위해, 로그 데이터를 판독한 후 이에 대해 정렬 프로세싱을 수행하여 1차 정렬 정보를 생성하고, 1차 정렬 정보에 포함되는 각각의 항목에 대해 다시 로그 데이터를 판독한 후 정렬 연산을 수행하는 등 복잡한 프로세싱을 한번에 수행해야 했기 때문에, 시스템에 과도한 부하가 인가되었고, 나아가 시스템의 성능이 저하되었다. 그러나, 본 발명은 2차 요약 데이터 생성부가 일정한 주기로 동작하면서 로그 데이터로부터 생성하는 복수의 2차 요약 데이터로부터 1차 정렬 정보에 대응하는 부분을 추출하고, 이에 대해 정렬 프로세싱을 수행함으로써 2차 정렬 정보를 생성한다. 즉, 정렬 프로세싱을 분산함으로써, 시스템에 일시적으로 과다한 부하가 집중되는 것을 방지하고, 정렬 프로세싱의 효율 및 속도를 향상시킬 수 있다. 또한, 요약 데이터로부터 충분한 수의 표본을 획득하기 위해, 2차 요약 데이터에 포함되는 제 1 키 각각에 대한 제 2 키 및 제 2 데이터의 개수(즉, m)는 2차 정렬 정보에 포함되는 제 1 키 각각에 대한 제 2 키 및 제 2 데이터의 개수(즉, n) 이상이어야 하며, 바람직하게는 n은 m의 1/10일 수 있다.
일 실시예에서, 상기 1차 요약 데이터, 상기 2차 요약 데이터, 상기 1차 정렬 정보 및 상기 2차 정렬 정보 각각은 상기 1차 요약 데이터, 상기 2차 요약 데이터, 상기 1차 정렬 정보 및 상기 2차 정렬 정보 각각이 생성된 시간에 관한 정보를 포함할 수 있다. 따라서, 상기 1차 정렬 정보 생성부는 상기 1차 요약 데이터에 포함된 상기 시간에 관한 정보를 이용하여, 소정의 기간 동안 생성된 복수의 1차 요약 데이터로부터 로그 데이터의 1차 정렬 정보를 생성하고, 상기 2차 정렬 정보 생성부는 상기 2차 요약 데이터 및 상기 1차 정렬 정보에 각각 포함된 상기 시간에 관한 정보를 이용하여, 소정의 기간 동안 생성된 복수의 2차 요약 데이터 및 상기 1차 정렬 정보로부터 로그 데이터의 2차 정렬 정보를 생성할 수 있다.
도 7는 본 발명의 실시예에 따라 요약 데이터를 이용하여 로그 데이터의 정렬 정보를 생성하기 위한 방법(700)을 도시한다. 상기 방법(700)은 적어도 하나의 로그 데이터를 수신하는 단계(710); 상기 로그 데이터로부터 1차 요약 데이터를 생성하는 단계(720); 복수의 1차 요약 데이터로부터 로그 데이터의 1차 정렬 정보를 생성하는 단계(730); 상기 로그 데이터 및 상기 1차 요약 데이터를 이용하여 2차 요약 데이터를 생성하는 단계(740); 및 복수의 2차 요약 데이터 및 상기 1차 정렬 정보로부터 로그 데이터의 2차 정렬 정보를 생성하기는 단계(750)를 포함할 수 있다.
일 실시예에서, 상기 1차 요약 데이터를 생성하는 단계(720)는 상기 로그 데이터에 포함된 필드 중 제 1 키 및 제 1 데이터를 추출하는 단계; 상기 추출된 제 1 키 및 제 1 데이터를, 상기 제 1 키를 해시한 값에 의해 참조되는 1차 요약 데이터 테이블에 저장하는 단계; 및 상기 1차 요약 데이터 테이블에 저장된 제 1 데이터 중 큰 값을 갖는 상위 m 개의 제 1 데이터 및 상기 m 개의 제 1 데이터에 대응하는 m 개의 제 1 키를 포함하는 1차 요약 데이터를 생성하는 단계를 포함할 수 있다. 상기 저장하는 단계에서, 복수의 동일한 제 1 키가 존재하는 경우, 상기 복수의 동일한 제 1 키에 대응하는 복수의 제 1 데이터를 가산한 값이 저장될 수 있으며, m은 양의 정수이다.
일 실시예에서, 상기 1차 정렬 정보 생성하는 단계(730)는 상기 복수의 1차 요약 데이터에 포함된 모든 제 1 키 및 제 1 데이터를, 상기 제 1 키를 해시한 값에 의해 참조되는 1차 정렬 정보 테이블에 저장하는 단계; 및 상기 1차 정렬 정보 테이블에 저장된 제 1 데이터 중 큰 값을 갖는 상위 n 개의 제 1 데이터 및 상기 n 개의 제 1 데이터에 대응하는 n 개의 제 1 키를 포함하는 1차 정렬 정보를 생성하는 단계를 포함할 수 있다. 상기 저장하는 단계에서, 복수의 동일한 제 1 키가 존재하는 경우, 상기 복수의 동일한 제 1 키에 대응하는 복수의 제 1 데이터를 가산한 값이 저장될 수 있다. 또한, n은 m보다 작은 양의 정수이며, 바람직하게는 m의 1/10일 수 있다.
일 실시예에서, 상기 2차 요약 데이터를 생성하는 단계(740)는 상기 로그 데이터에 포함된 필드 중 상기 1차 요약 데이터에 포함된 제 1 키와 동일한 제 1 키 및 상기 동일한 제 1 키에 대응하는 제 2 키와 제 2 데이터를 추출하는 단계; 상기 추출된 제 1 키, 제 2 키 및 제 2 데이터를, 상기 제 1 키 및 제 2 키를 해시한 값에 의해 참조되는 2차 요약 데이터 테이블에 저장하는 단계; 및 상기 2차 요약 데이터 테이블에 저장된 임의의 제 1 키에 대응하는 제 2 데이터 중 큰 값을 갖는 상위 m 개의 제 2 데이터 및 상기 m 개의 제 2 데이터에 대응하는 m 개의 제 2 키를 상기 2차 요약 데이터 테이블에 저장된 제 1 키 모두에 대해 추출함으로써, 상기 2차 요약 데이터 테이블에 저장된 제 1 키, 및 상기 추출된 제 2 키와 제 2 데이터를 포함하는 2차 요약 데이터를 생성하는 단계를 포함할 수 있다. 상기 저장하는 단계에서, 복수의 동일한 제 1 키 및 제 2 키가 존재하는 경우, 상기 복수의 동일한 제 1 키 및 제 2 키에 대응하는 복수의 제 2 데이터를 가산한 값이 저장될 수 있으며, m은 양의 정수이다.
일 실시예에서, 상기 2차 정렬 정보를 생성하는 단계(750)는 상기 복수의 2차 요약 데이터에서 상기 1차 정렬 정보에 포함된 제 1 키와 동일한 제 1 키, 및 상기 동일한 제 1 키에 대응하는 제 2 키 및 제 2 데이터를 추출하는 단계; 상기 추출된 제 1 키, 제 2 키 및 제 2 데이터를, 상기 제 1 키 및 제 2 키를 해시한 값에 의해 참조되는 2차 정렬 정보 테이블에 저장하는 단계; 및 상기 2차 정렬 정보 테이블에 저장된 임의의 제 1 키에 대응하는 제 2 데이터 중 큰 값을 갖는 상위 n 개의 제 2 데이터 및 상기 n 개의 제 2 데이터에 대응하는 n 개의 제 2 키를 상기 2차 정렬 정보 테이블에 저장된 제 1 키 모두에 대해 추출함으로써, 상기 2차 정렬 정보 테이블에 저장된 제 1 키, 및 상기 추출된 제 2 키와 제 2 데이터를 포함하는 2차 정렬 정보를 생성하는 단계를 포함할 수 있다. 상기 저장하는 단계에서, 복수의 동일한 제 1 키 및 제 2 키가 존재하는 경우, 상기 복수의 동일한 제 1 키 및 제 2 키에 대응하는 복수의 제 2 데이터를 가산한 값이 저장될 수 있다. 또한, n은 m보다 작은 양의 정수이며, 바람직하게는 m의 1/10일 수 있다.
일 실시예에서, 상기 1차 요약 데이터, 상기 2차 요약 데이터, 상기 1차 정렬 정보 및 상기 2차 정렬 정보 각각은 상기 1차 요약 데이터, 상기 2차 요약 데이터, 상기 1차 정렬 정보 및 상기 2차 정렬 정보 각각이 생성된 시간에 관한 정보를 포함할 수 있다. 따라서, 상기 1차 정렬 정보를 생성하는 단계에서, 상기 1차 요약 데이터에 포함된 상기 시간에 관한 정보를 이용하여, 소정의 기간 동안 생성된 복수의 1차 요약 데이터로부터 로그 데이터의 1차 정렬 정보가 생성될 수 있다. 또한, 상기 2차 정렬 정보를 생성하는 단계에서, 상기 2차 요약 데이터 및 상기 1차 정렬 정보에 각각 포함된 상기 시간에 관한 정보를 이용하여, 소정의 기간 동안 생성된 복수의 2차 요약 데이터 및 상기 1차 정렬 정보로부터 로그 데이터의 2차 정렬 정보가 생성될 수 있다.
본 발명은 1차 요약 데이터 생성부가 일정한 주기로 동작하면서 로그 데이터로부터 생성하는 복수의 1차 요약 데이터에 대해 정렬 프로세싱을 수행함으로써 1차 정렬 정보를 생성할 수 있다. 또한, 본 발명은 2차 요약 데이터 생성부가 일정한 주기로 동작하면서 로그 데이터로부터 생성하는 복수의 2차 요약 데이터로부터 1차 정렬 정보에 대응하는 부분을 추출하고, 이에 대해 정렬 프로세싱을 수행함으로써 2차 정렬 정보를 생성할 수 있다. 즉, 정렬 프로세싱을 분산함으로써, 시스템에 일시적으로 과다한 부하가 집중되는 것을 방지하고, 정렬 프로세싱의 효율 및 속도를 향상시킬 수 있다.
초당 10,000 개의 로그 데이터가 생성되는 시스템에서, 1분 동안 발생한 데이터 전송량이 많은 상위 10 개의 출발지 IP를 구하는 경우를 가정한다. 종래에는 요약 데이터를 이용하지 않고, 바로 정렬 정보를 생성하기 때문에, 1분간 생성된 600,000 (60×10,000) 개의 로그 데이터를 판독해야 한다. 그러나, 본 발명에 따라, 요약 데이터를 이용하여 정렬 정보를 생성하는 경우, 100 개의 키 및 이에 대응하는 데이터를 포함하는 요약 데이터가 5초 간격으로 생성되는 것으로 가정하면, 1,200 (12×100) 개의 데이터만을 판독하면 된다. 계속해서, 상기 예시된 1차 정렬에 기초하여, 전송량이 많은 상위 10 개의 목적지 IP에 관한 2차 정렬을 수행하는 경우를 가정한다. 1차 정렬에 소요되는 시간을 제외하면, 종래의 경우, 2차 정렬을 위해 다시금 600,000 (60×10,000) 개의 데이터를 판독해야 한다. 그러나, 본 발명은 1차 정렬 정보 및 2차 요약 데이터의 데이터만 판독하면 되기 때문에, 1,210 (10+12*100) 개의 데이터만 판독하면 된다. 로그 데이터 내에서 복수의 동일한 키가 존재하거나, 요약 데이터에 포함되는 키의 개수가 적어진다면, 본 발명의 따른 데이터 판독 횟수는 더 감소될 수 있다. 즉, 본 발명은 복수의 요약 데이터를 생성함으로써 로그 데이터를 정렬하기 위한 연산 프로세싱을 시간 상으로 분산할 수 있으며, 이를 통해 정렬 정보를 생성할 때, 시스템에 과다한 부하가 집중되어 시스템의 성능이 저하되는 것을 방지할 수 있다. 상기 예시는 정렬 프로세싱 수행 시 이루어지는 연산 과정 중 일부만을 예시하였으나 이는 본 발명의 효과를 종래 기술과 비교하기 위한 것으로서, 실제 구현 시 더 복잡거나 상이한 연산 과정이 요구될 수 있다.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
110 로그 데이터 수신부 120 1차 요약 데이터 생성부
130 1차 정렬 정보 생성부 140 2차 요약 데이터 생성부
150 2차 정렬 정보 생성부
130 1차 정렬 정보 생성부 140 2차 요약 데이터 생성부
150 2차 정렬 정보 생성부
Claims (14)
- 요약 데이터를 이용하여 로그 데이터의 정렬 정보를 생성하기 위한 장치로서,
적어도 하나의 로그 데이터를 수신하기 위한 로그 데이터 수신부;
상기 로그 데이터 수신부에 의해 수신된 로그 데이터로부터 1차 요약 데이터를 생성하기 위한 1차 요약 데이터 생성부; 및
상기 1차 요약 데이터 생성부에 의해 생성된 복수의 1차 요약 데이터로부터 로그 데이터의 1차 정렬 정보를 생성하기 위한 1차 정렬 정보 생성부를 포함하고,
상기 1차 요약 데이터 생성부는,
상기 로그 데이터 수신부에 의해 수신된 로그 데이터에 포함된 필드 중 제 1 키 및 제 1 데이터를 추출하기 위한 추출부;
상기 추출부에 의해 추출된 제 1 키 및 제 1 데이터를 저장하기 위한, 상기 제 1 키를 해시(hash)한 값에 의해 참조되는 1차 요약 데이터 테이블 ― 복수의 동일한 제 1 키가 존재하는 경우, 상기 1차 요약 데이터 테이블은 상기 복수의 동일한 제 1 키에 대응하는 복수의 제 1 데이터를 가산한 값을 저장함 ― ; 및
상기 1차 요약 데이터 테이블에 저장된 제 1 데이터 중 큰 값을 갖는 상위 m 개의 제 1 데이터 및 상기 m 개의 제 1 데이터에 대응하는 m 개의 제 1 키를 포함하는 1차 요약 데이터를 생성하기 위한 정렬부를 포함하고,
상기 1차 정렬 정보 생성부는,
상기 복수의 1차 요약 데이터에 포함된 모든 제 1 키 및 제 1 데이터를 저장하기 위한, 상기 제 1 키를 해시한 값에 의해 참조되는 1차 정렬 정보 테이블 ― 복수의 동일한 제 1 키가 존재하는 경우, 상기 1차 정렬 정보 테이블은 상기 복수의 동일한 제 1 키에 대응하는 복수의 제 1 데이터를 가산한 값을 저장함 ― ; 및
상기 1차 정렬 정보 테이블에 저장된 제 1 데이터 중 큰 값을 갖는 상위 n 개의 제 1 데이터 및 상기 n 개의 제 1 데이터에 대응하는 n 개의 제 1 키를 포함하는 1차 정렬 정보를 생성하기 위한 정렬부를 포함하며,
여기서 키는 정렬 대상에 해당하는 필드를 의미하고, 데이터는 정렬 기준에 해당하는 필드를 의미하고, m은 양의 정수이고, n은 m보다 작은 양의 정수인,
요약 데이터를 이용하여 로그 데이터의 정렬 정보를 생성하기 위한 장치. - 제 1 항에 있어서,
상기 로그 데이터 수신부에 의해 수신된 로그 데이터 및 상기 1차 요약 데이터 생성부에 의해 생성된 1차 요약 데이터를 이용하여 2차 요약 데이터를 생성하기 위한 2차 요약 데이터 생성부를 더 포함하고,
상기 2차 요약 데이터 생성부는,
상기 로그 데이터 수신부에 의해 수신된 로그 데이터에 포함된 필드 중 상기 1차 요약 데이터에 포함된 제 1 키와 동일한 제 1 키 및 상기 동일한 제 1 키에 대응하는 제 2 키와 제 2 데이터를 추출하기 위한 추출부;
상기 추출부에 의해 추출된 제 1 키, 제 2 키 및 제 2 데이터를 저장하기 위한, 상기 제 1 키 및 제 2 키를 해시한 값에 의해 참조되는 2차 요약 데이터 테이블 ― 복수의 동일한 제 1 키 및 제 2 키가 존재하는 경우, 상기 제 2차 요약 데이터 테이블은 상기 복수의 제 1 키 및 제 2 키에 대응하는 복수의 제 2 데이터를 가산한 값을 저장함 ― ; 및
상기 2차 요약 데이터 테이블에 저장된 각각의 제 1 키에 대응하는 제 2 데이터 중 큰 값을 갖는 상위 m 개의 제 2 데이터 및 상기 m 개의 제 2 데이터에 대응하는 m 개의 제 2 키를 상기 2차 요약 데이터 테이블에 저장된 제 1 키 모두에 대해 추출함으로써, 상기 2차 요약 데이터 테이블에 저장된 제 1 키, 및 상기 추출된 제 2 키와 제 2 데이터를 포함하는 2차 요약 데이터를 생성하기 위한 정렬부를 포함하는,
요약 데이터를 이용하여 로그 데이터의 정렬 정보를 생성하기 위한 장치. - 제 2 항에 있어서,
상기 2차 요약 데이터 생성부에 의해 생성된 복수의 2차 요약 데이터 및 상기 1차 정렬 정보 생성부에 의해 생성된 1차 정렬 정보로부터 로그 데이터의 2차 정렬 정보를 생성하기 위한 2차 정렬 정보 생성부를 더 포함하고,
상기 2차 정렬 정보 생성부는,
상기 복수의 2차 요약 데이터에서 상기 1차 정렬 정보에 포함된 제 1 키와 동일한 제 1 키, 및 상기 동일한 제 1 키에 대응하는 제 2 키 및 제 2 데이터를 추출하기 위한 추출부;
상기 추출부에 의해 추출된 제 1 키, 제 2 키 및 제 2 데이터를 저장하기 위한, 상기 제 1 키 및 제 2 키를 해시한 값에 의해 참조되는 2차 정렬 정보 테이블 ― 복수의 동일한 제 1 키 및 제 2 키가 존재하는 경우, 상기 2차 정렬 정보 테이블은 상기 복수의 동일한 제 1 키 및 제 2 키에 대응하는 복수의 제 2 데이터를 가산한 값을 저장함 ― ; 및
상기 2차 정렬 정보 테이블에 저장된 각각의 제 1 키에 대응하는 제 2 데이터 중 큰 값을 갖는 상위 n 개의 제 2 데이터 및 상기 n 개의 제 2 데이터에 대응하는 n 개의 제 2 키를 상기 2차 정렬 정보 테이블에 저장된 제 1 키 모두에 대해 추출함으로써, 상기 2차 정렬 정보 테이블에 저장된 제 1 키, 및 상기 추출된 제 2 키와 제 2 데이터를 포함하는 2차 정렬 정보를 생성하기 위한 정렬부를 포함하는,
요약 데이터를 이용하여 로그 데이터의 정렬 정보를 생성하기 위한 장치. - 제 1 항에 있어서,
상기 데이터는 패킷의 수 및 바이트 수 중 적어도 하나를 포함하는,
요약 데이터를 이용하여 로그 데이터의 정렬 정보를 생성하기 위한 장치. - 제 1 항에 있어서,
상기 키는 출발지 IP 주소, 목적지 IP 어드레스, 목적지 포트 및 방화벽 정책 ID 중 적어도 하나를 포함하는,
요약 데이터를 이용하여 로그 데이터의 정렬 정보를 생성하기 위한 장치. - 제 3 항에 있어서,
상기 1차 요약 데이터, 상기 2차 요약 데이터, 상기 1차 정렬 정보 및 상기 2차 정렬 정보 각각은 상기 1차 요약 데이터, 상기 2차 요약 데이터, 상기 1차 정렬 정보 및 상기 2차 정렬 정보 각각이 생성된 시간에 관한 정보를 포함하는,
요약 데이터를 이용하여 로그 데이터의 정렬 정보를 생성하기 위한 장치. - 제 6 항에 있어서,
상기 1차 정렬 정보 생성부는 상기 1차 요약 데이터에 포함된 상기 시간에 관한 정보를 이용하여, 소정의 기간 동안 생성된 복수의 1차 요약 데이터로부터 로그 데이터의 1차 정렬 정보를 생성하고,
상기 2차 정렬 정보 생성부는 상기 2차 요약 데이터 및 상기 1차 정렬 정보에 각각 포함된 상기 시간에 관한 정보를 이용하여, 소정의 기간 동안 생성된 복수의 2차 요약 데이터 및 상기 1차 정렬 정보로부터 로그 데이터의 2차 정렬 정보를 생성하는,
요약 데이터를 이용하여 로그 데이터의 정렬 정보를 생성하기 위한 장치. - 요약 데이터를 이용하여 로그 데이터의 정렬 정보를 생성하기 위한 방법으로서,
적어도 하나의 로그 데이터를 수신하는 단계;
상기 로그 데이터로부터 1차 요약 데이터를 생성하는 단계; 및
복수의 1차 요약 데이터로부터 로그 데이터의 1차 정렬 정보를 생성하는 단계를 포함하고,
상기 1차 요약 데이터를 생성하는 단계는,
상기 로그 데이터에 포함된 필드 중 제 1 키 및 제 1 데이터를 추출하는 단계;
상기 추출된 제 1 키 및 제 1 데이터를, 상기 제 1 키를 해시한 값에 의해 참조되는 1차 요약 데이터 테이블에 저장하는 단계 ― 복수의 동일한 제 1 키가 존재하는 경우, 상기 복수의 동일한 제 1 키에 대응하는 복수의 제 1 데이터를 가산한 값이 저장됨 ― ; 및
상기 1차 요약 데이터 테이블에 저장된 제 1 데이터 중 큰 값을 갖는 상위 m 개의 제 1 데이터 및 상기 m 개의 제 1 데이터에 대응하는 m 개의 제 1 키를 포함하는 1차 요약 데이터를 생성하는 단계를 포함하고,
상기 1차 정렬 정보를 생성하는 단계는,
상기 복수의 1차 요약 데이터에 포함된 모든 제 1 키 및 제 1 데이터를, 상기 제 1 키를 해시한 값에 의해 참조되는 1차 정렬 정보 테이블에 저장하는 단계 ― 복수의 동일한 제 1 키가 존재하는 경우, 상기 복수의 동일한 제 1 키에 대응하는 복수의 제 1 데이터를 가산한 값이 저장됨 ― ; 및
상기 1차 정렬 정보 테이블에 저장된 제 1 데이터 중 큰 값을 갖는 상위 n 개의 제 1 데이터 및 상기 n 개의 제 1 데이터에 대응하는 n 개의 제 1 키를 포함하는 1차 정렬 정보를 생성하는 단계를 포함하며,
여기서 키는 정렬 대상에 해당하는 필드를 의미하고, 데이터는 정렬 기준에 해당하는 필드를 의미하고, m은 양의 정수이고, n은 m보다 작은 양의 정수인,
요약 데이터를 이용하여 로그 데이터의 정렬 정보를 생성하기 위한 방법. - 제 8 항에 있어서,
상기 로그 데이터 및 상기 1차 요약 데이터를 이용하여 2차 요약 데이터를 생성하는 단계를 더 포함하고,
상기 2차 요약 데이터를 생성하는 단계는,
상기 로그 데이터에 포함된 필드 중 상기 1차 요약 데이터에 포함된 제 1 키와 동일한 제 1 키 및 상기 동일한 제 1 키에 대응하는 제 2 키와 제 2 데이터를 추출하는 단계;
상기 추출된 제 1 키, 제 2 키 및 제 2 데이터를, 상기 제 1 키 및 제 2 키를 해시한 값에 의해 참조되는 2차 요약 데이터 테이블에 저장하는 단계 ― 복수의 동일한 제 1 키 및 제 2 키가 존재하는 경우, 상기 복수의 동일한 제1 키 및 제 2 키에 대응하는 복수의 제 2 데이터를 가산한 값이 저장됨 ― ; 및
상기 2차 요약 데이터 테이블에 저장된 각각의 제 1 키에 대응하는 제 2 데이터 중 큰 값을 갖는 상위 m 개의 제 2 데이터 및 상기 m 개의 제 2 데이터에 대응하는 m 개의 제 2 키를 상기 2차 요약 데이터 테이블에 저장된 제 1 키 모두에 대해 추출함으로써, 상기 2차 요약 데이터 테이블에 저장된 제 1 키, 및 상기 추출된 제 2 키와 제 2 데이터를 포함하는 2차 요약 데이터를 생성하는 단계를 포함하는,
요약 데이터를 이용하여 로그 데이터의 정렬 정보를 생성하기 위한 방법. - 제 9 항에 있어서,
복수의 2차 요약 데이터 및 상기 1차 정렬 정보로부터 로그 데이터의 2차 정렬 정보를 생성하기는 단계를 더 포함하고,
상기 2차 정렬 정보를 생성하는 단계는,
상기 복수의 2차 요약 데이터에서 상기 1차 정렬 정보에 포함된 제 1 키와 동일한 제 1 키, 및 상기 동일한 제 1 키에 대응하는 제 2 키 및 제 2 데이터를 추출하는 단계;
상기 추출된 제 1 키, 제 2 키 및 제 2 데이터를, 상기 제 1 키 및 제 2 키를 해시한 값에 의해 참조되는 2차 정렬 정보 테이블에 저장하는 단계 ― 복수의 동일한 제 1 키 및 제 2 키가 존재하는 경우, 상기 복수의 제 1 키 및 제 2 키에 대응하는 복수의 제 2 데이터를 가산한 값이 저장됨 ― ; 및
상기 2차 정렬 정보 테이블에 저장된 각각의 제 1 키에 대응하는 제 2 데이터 중 큰 값을 갖는 상위 n 개의 제 2 데이터 및 상기 n 개의 제 2 데이터에 대응하는 n 개의 제 2 키를 상기 2차 정렬 정보 테이블에 저장된 제 1 키 모두에 대해 추출함으로써, 상기 2차 정렬 정보 테이블에 저장된 제 1 키, 및 상기 추출된 제 2 키와 제 2 데이터를 포함하는 2차 정렬 정보를 생성하는 단계를 포함하는,
요약 데이터를 이용하여 로그 데이터의 정렬 정보를 생성하기 위한 방법. - 제 8 항에 있어서,
상기 데이터는 패킷의 수 및 바이트 수 중 적어도 하나를 포함하는,
요약 데이터를 이용하여 로그 데이터의 정렬 정보를 생성하기 위한 방법. - 제 8 항에 있어서,
상기 키는 출발지 IP 주소, 목적지 IP 어드레스, 목적지 포트 및 방화벽 정책 ID 중 적어도 하나를 포함하는,
요약 데이터를 이용하여 로그 데이터의 정렬 정보를 생성하기 위한 방법. - 제 10 항에 있어서,
상기 1차 요약 데이터, 상기 2차 요약 데이터, 상기 1차 정렬 정보 및 상기 2차 정렬 정보 각각은 상기 1차 요약 데이터, 상기 2차 요약 데이터, 상기 1차 정렬 정보 및 상기 2차 정렬 정보 각각이 생성된 시간에 관한 정보를 포함하는,
요약 데이터를 이용하여 로그 데이터의 정렬 정보를 생성하기 위한 방법. - 제 13 항에 있어서,
상기 1차 정렬 정보를 생성하는 단계는,
상기 1차 요약 데이터에 포함된 상기 시간에 관한 정보를 이용하여, 소정의 기간 동안 생성된 복수의 1차 요약 데이터로부터 로그 데이터의 1차 정렬 정보를 생성하는 단계를 포함하고,
상기 2차 정렬 정보를 생성하는 단계는,
상기 2차 요약 데이터 및 상기 1차 정렬 정보에 각각 포함된 상기 시간에 관한 정보를 이용하여, 소정의 기간 동안 생성된 복수의 2차 요약 데이터 및 상기 1차 정렬 정보로부터 로그 데이터의 2차 정렬 정보를 생성하는 단계를 포함하는,
요약 데이터를 이용하여 로그 데이터의 정렬 정보를 생성하기 위한 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110145787A KR101308091B1 (ko) | 2011-12-29 | 2011-12-29 | 요약 데이터를 이용하여 로그 데이터의 정렬 정보를 생성하기 위한 장치 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110145787A KR101308091B1 (ko) | 2011-12-29 | 2011-12-29 | 요약 데이터를 이용하여 로그 데이터의 정렬 정보를 생성하기 위한 장치 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20130077203A KR20130077203A (ko) | 2013-07-09 |
KR101308091B1 true KR101308091B1 (ko) | 2013-09-12 |
Family
ID=48990502
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020110145787A KR101308091B1 (ko) | 2011-12-29 | 2011-12-29 | 요약 데이터를 이용하여 로그 데이터의 정렬 정보를 생성하기 위한 장치 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101308091B1 (ko) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101995055B1 (ko) * | 2016-11-29 | 2019-07-03 | 한국전자통신연구원 | 모바일 환경 기반 콘텐츠 로그데이터 수집 시스템 및 방법 |
CN108280226B (zh) * | 2018-02-12 | 2022-04-12 | 中国银行股份有限公司 | 数据处理方法及相关设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080019939A (ko) * | 2006-08-29 | 2008-03-05 | 엘지전자 주식회사 | 피어(Peer) 간의 컨텐츠 공유방법과 장치 |
KR20110055921A (ko) * | 2009-11-20 | 2011-05-26 | 어울림엘시스 주식회사 | 온라인상의 개인정보 보호 시스템 및 이 시스템을 이용한 개인정보 보호 방법 |
-
2011
- 2011-12-29 KR KR1020110145787A patent/KR101308091B1/ko active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080019939A (ko) * | 2006-08-29 | 2008-03-05 | 엘지전자 주식회사 | 피어(Peer) 간의 컨텐츠 공유방법과 장치 |
KR20110055921A (ko) * | 2009-11-20 | 2011-05-26 | 어울림엘시스 주식회사 | 온라인상의 개인정보 보호 시스템 및 이 시스템을 이용한 개인정보 보호 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR20130077203A (ko) | 2013-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wang et al. | Wire Speed Name Lookup: A {GPU-based} Approach | |
JP6716727B2 (ja) | ストリーミングデータ分散処理方法及び装置 | |
US9467460B1 (en) | Modularized database architecture using vertical partitioning for a state machine | |
US10817491B2 (en) | Efficient and accurate lookups of data by a stream processor using a hash table | |
US20160191558A1 (en) | Accelerated threat mitigation system | |
CN110222503A (zh) | 一种大数据流负载下的数据库审计方法、系统与设备 | |
WO2011060368A9 (en) | Method and apparatus for storing and indexing high-speed network traffic data | |
US20120323871A1 (en) | Method for Indexed-Field Based Difference Detection and Correction | |
CN113067883A (zh) | 数据传输方法、装置、计算机设备及存储介质 | |
US7216364B2 (en) | System security approaches using state tables | |
US11989161B2 (en) | Generating readable, compressed event trace logs from raw event trace logs | |
Baumgärtner et al. | Complex event processing for reactive security monitoring in virtualized computer systems | |
US20160205118A1 (en) | Cyber black box system and method thereof | |
CN105407096A (zh) | 基于流管理的报文数据检测方法 | |
KR101308091B1 (ko) | 요약 데이터를 이용하여 로그 데이터의 정렬 정보를 생성하기 위한 장치 및 방법 | |
CN105426755A (zh) | 一种基于哈希算法的库函数安全增强方法 | |
Cao et al. | LogKV: Exploiting key-value stores for event log processing | |
US10680959B2 (en) | Metadata extraction | |
Weigert et al. | Mining large distributed log data in near real time | |
CN101572633A (zh) | 网络取证方法及系统 | |
CN102831343A (zh) | 一种目标程序处理方法、处理装置及云端服务设备 | |
US20160203169A1 (en) | Data partition and transformation methods and apparatuses | |
CN102567411A (zh) | 一种快速检索海量数字证书黑名单的方法 | |
CN112039876A (zh) | 一种数据的摆渡方法、装置、设备和介质 | |
Ngoc et al. | Memory-efficient signature matching for ClamAV on FPGA |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20160905 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20180904 Year of fee payment: 6 |