KR100714235B1 - 로그 파일 적재 및 분석 방법과, 이를 수행하기 위한 장치 - Google Patents

로그 파일 적재 및 분석 방법과, 이를 수행하기 위한 장치 Download PDF

Info

Publication number
KR100714235B1
KR100714235B1 KR1020040003849A KR20040003849A KR100714235B1 KR 100714235 B1 KR100714235 B1 KR 100714235B1 KR 1020040003849 A KR1020040003849 A KR 1020040003849A KR 20040003849 A KR20040003849 A KR 20040003849A KR 100714235 B1 KR100714235 B1 KR 100714235B1
Authority
KR
South Korea
Prior art keywords
log
lines
line
log file
file
Prior art date
Application number
KR1020040003849A
Other languages
English (en)
Other versions
KR20050076056A (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 KR1020040003849A priority Critical patent/KR100714235B1/ko
Publication of KR20050076056A publication Critical patent/KR20050076056A/ko
Application granted granted Critical
Publication of KR100714235B1 publication Critical patent/KR100714235B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/02Measuring arrangements characterised by the use of optical techniques for measuring length, width or thickness
    • G01B11/028Measuring arrangements characterised by the use of optical techniques for measuring length, width or thickness by measuring lateral position of a boundary of the object

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

메모리 안전성을 위한 페이지 단위 분석 기술을 통한 로그 파일 적재 방법과, I/O트래픽 부하 개선을 위한 로그 파일 분석 방법과, 이를 수행하기 위한 장치가 개시된다. 하드 디스크는 N개의 로그 라인을 포함하는 로그 파일을 적재하고, 메모리는 N개의 로그 라인중 x(x는 N보다 작은 자연수)개의 로그 라인을 적재하며, 중앙처리부는 하드 디스크에 적재된 로그 파일에서 x개의 로그 라인을 하나의 그룹으로 하여 메모리에 적재하고, 메모리에 적재된 x개의 로그 라인을 분석한다. 이에 따라, N개의 로그 라인을 갖는 로그 파일 분석시, 1번의 하드 디스크 I/O 트래픽으로 x개 로그 라인을 메모리에 읽게 하여 N/x번으로 I/O 트래픽 횟수를 줄이므로써, 로그분석시간을 줄일 수 있다.
로그 파일, 로그 라인, 로그 분석, 트래픽, 그룹, 페이지

Description

로그 파일 적재 및 분석 방법과, 이를 수행하기 위한 장치{METHOD FOR LOADING AND ANALYSING A LOG FILE, AND APPARATUS FOR THE PERFORMING THE SAME}
도 1은 일반적인 로그 파일 분석 장치를 설명하기 위한 도면이다.
도 2는 상기한 도 1의 로그 파일 분석 방법을 설명하기 위한 흐름도이다.
도 3은 상기한 도 1의 로그 파일 분석 장치에 의한 트래픽 발생을 개념적으로 설명하기 위한 도면이다.
도 4는 일반적인 편집 프로그램에 의해 로그 파일을 불러들이는 개념을 설명하는 도면이다.
도 5는 본 발명에 따른 로그 파일 분석 장치를 설명하기 위한 도면이다.
도 6은 본 발명에 따른 로그 파일 분석 방법을 설명하기 위한 흐름도이다.
도 7은 상기한 도 5의 로그 파일 분석 장치에 의한 트래픽 발생을 개념적으로 설명하기 위한 도면이다.
도 8은 로그 파일의 로그 라인 구분을 설명하기 위한 도면이다.
도 9는 본 발명에 따라 로그 파일을 편집 프로그램을 통해 표시하는 것을 개념적으로 설명하기 위한 도면이다.
도 10a 내지 도 10c는 본 발명에 따라 편집 프로그램에 표시되는 화면들의 일례를 도시한다.
<도면의 주요부분에 대한 부호의 설명>
10, 100 : 하드 디스크 20, 40, 200, 400 : 메모리
30, 300 : CPU
본 발명은 로그 파일 적재 및 분석 방법과, 이를 수행하기 위한 장치에 관한 것으로, 보다 상세하게는 메모리 안전성을 위한 페이지 단위 분석 기술을 통한 로그 파일 적재 방법과, I/O트래픽 부하 개선을 위한 로그 파일 분석 방법과, 이를 수행하기 위한 장치에 관한 것이다.
일반적으로 로그 파일(logfile)은 서버를 통해 이루어지는 모든 작업들에 대한 기록이라고 표현할 수 있다. 사용자가 상기 서버에 접속하면 그 후의 모든 작업들은 상기 서버의 미리 정해놓은 위치에 로그 파일 형태로 남게 된다. 즉, 상기 로그 파일에는 상기 서버가 수행한 작업들에 대한 정보가 내재된다. 이들은 단순히 특정 작업 요청과 성공 여부에 대한 것뿐만 아니라, 실패했을 경우 그 해결책에 대한 정보도 내재된다.
상기 로그 파일에는 다수의 로그 라인을 포함되고, 상기 로그 라인에는 방문자의 접속 IP, 방문 날짜 및 시간, 방문 페이지 정보, 방문 상태 등의 정보들이 내재된다.
상기 로그 파일을 분석하여 웹사이트 운영자나 기업인들은 광고나 운영방식 의 변환에 따른 효과를 보다 객관적으로 평가하고, 효율적으로 회사를 운영하는데 이용한다. 또한, 효율적인 타겟 광고나 컨설팅을 통해 수익을 창출하는데 이용하고 있다.
한편, 상기한 로그 파일을 분석하는 로그 분석 엔진(또는 로그 분석 장치)은 하기하는 도 1과 같이, 하드 디스크(10)에 적재된 로그 파일에서 하나의 로그 라인을 읽어 제1 메모리(20)에 보관한 후, CPU(30)가 분석하고, 분석된 로그 분석 결과 데이터를 제2 메모리(40)에 적재하는 방식을 사용한다.
도 1은 일반적인 로그 파일 분석 장치를 설명하기 위한 도면이다.
도 1을 참조하면, 일반적인 로그 파일 분석 장치는 하드 디스크(10), 제1 메모리(20), CPU(30) 및 제2 메모리(40)를 포함한다. 로그분석시, 1번의 I/O 트래픽이 발생할 때 하드 디스크(10)에서 1개의 로그 라인만 읽기 때문에 N개의 로그 라인이 존재하면 N번 I/O 트래픽이 발생한다. 특히, 대용량 로그 파일일 경우 엄청난 수의 로그 라인이 존재하며, 상기 로그 라인 개수만큼 I/O 트래픽이 발생되어 로그 분석 시간이 길어지는 문제점이 있다.
도 2는 상기한 도 1의 로그 파일 분석 방법을 설명하기 위한 흐름도이다.
도 1 및 도 2를 참조하면, 하드 디스크(10)는 로그 파일 분석이 시작됨에 따라(단계 S10), 외부로부터 제공되는 로그 파일에서 하나의 로그 라인을 추출하고(단계 S20), 추출된 하나의 로그 라인을 제1 메모리(20)에 적재하며(단계 S30), 적재된 로그 라인을 CPU(30)에 제공하여 분석한다(단계 S40). 이어, 잔여 로그 라인의 존재 여부를 체크하여(단계 S50), 잔여 로그 라인이 존재하는 것을 체크되는 경 우에는 상기 단계 S20으로 피드백하고, 잔여 로그 라인이 미존재하는 것을 체크되는 경우에는 종료한다.
도 3은 상기한 도 1의 로그 파일 분석 장치에 의한 트래픽 발생을 개념적으로 설명하기 위한 도면이다. 특히, 하드 디스크(10)의 로그 파일에서 제1 메모리(20)와 CPU(30)로 로그 라인이 이동하는 경로를 도식화 한 그림이다. 하드 디스크(10)의 1개의 로그 라인마다 1번의 I/O 트래픽이 일어난 후 제1 메모리(20)에 적재되며, CPU(30)에서 1번의 분석루틴이 실행되어 제1 메모리(20)에 있는 데이터를 분석한다. 로그 파일에 N개의 로그 라인이 있을 경우에는 N번의 I/O 트래픽과 N번의 CPU 연산 작용이 발생되는 문제점이 있다.
한편, 사용자가 로그 파일(즉, 로그 소스 파일)을 검색할 때, 메모장과 같은 일반적인 편집 프로그램들은 도 4에 도시한 바와 같이 모든 로그 라인을 메모리에 불러들인다.
이러한 경우 로그 라인들의 용량이 메모리의 용량을 초과해 사용자가 요구하는 일정 수의 로그 라인에 대응해서는 검색을 하지 못하는 문제점이 있다.
이에 본 발명의 기술적 과제는 이러한 종래의 문제점을 해결하기 위한 것으로, 본 발명의 제1 목적은 대용량의 로그 파일의 소스라인들의 확인시 메모리의 사용량을 일정하게 유지하기 위해 페이지 단위로 로그 파일을 적재하는 방법을 제공하는 것이다.
또한, 본 발명의 제2 목적은 로그 파일 분석시 가장 많은 분석시간을 점유하 는 것이 I/O 트래픽 시간임을 감안하여, I/O 트래픽 횟수를 줄이므로써, 로그분석시간을 줄이기 위한 로그 파일 분석 방법을 제공하는 것이다.
또한, 본 발명의 제3 목적은 대용량의 로그 파일의 소스라인들의 확인시 메모리의 사용량을 일정하게 유지하기 위해 페이지 단위로 로그 파일을 표시하는 방법을 제공하는 것이다.
또한, 본 발명의 제4 목적은 상기한 로그 파일 적재, 분석 및 표시 방법을 수행하기 위한 로그 파일 분석 장치를 제공하는 것이다.
상기한 본 발명의 제1 목적을 실현하기 위한 로그 파일 적재 방법은, 인터넷 접속자들의 접속 통계를 얻기 위해 로그 분석에 이용되는 로그 파일 적재 방법에 있어서, (a) N개의 로그 라인을 포함하는 로그 파일에서 하나의 로그 라인을 추출하는 단계와, (b) 상기 로그 라인에서 특정문자를 추출 및 누적하는 단계와, (c) 누적된 특정 문자의 수가 x(상기 x는 상기 N보다 작은 자연수)개 인지를 체크하는 단계와, 및 (d) 상기 단계(c)에서 누적된 특정 문자의 수가 x개가 아닌 것으로 체크되는 경우에는 상기 추출된 로그 라인에 후속하는 하나의 로그 라인을 추출하기 위해 상기 단계(a)로 피드백하고, 누적된 특정 문자의 수가 x개인 것으로 체크되는 경우에는 누적된 x개의 특정문자에 대응하는 로그 라인까지를 상기 로그 파일에서 추출하여 메모리에 적재하는 단계를 포함한다.
또한, 상기한 본 발명의 제2 목적을 실현하기 위한 로그 파일 분석 방법은, 인터넷 접속자들의 접속 통계를 얻기 위한 로그 파일 분석 방법에 있어서, (a) N개의 로그 라인을 포함하는 로그 파일에서 x(상기 x는 상기 N보다 작은 자연수)개의 로그 라인을 하나의 그룹으로 하여 적재하는 단계와, (b) 적재된 x개의 로그 라인을 분석하는 단계와, (c) 상기 단계(b)에 의한 분석이 마지막 로그 라인인지를 체크하는 단계와, 및 (d) 상기 단계(c)에서 상기 마지막 로그 라인이 아닌 경우에는 상기 단계(a)로 피드백하고, 상기 마지막 로그 라인이라 체크되는 경우에는 종료하는 단계를 포함하고,
상기 단계(a)는, (a-1) 상기 로그 파일에서 로그 라인을 추출하는 단계와, (a-2) 상기 로그 라인의 특정문자를 추출 및 누적하는 단계와, (a-3) 누적된 특정 문자의 수가 x개인지를 체크하는 단계와, 및 (a-4) 상기 단계(a-3)에서 누적된 특정 문자의 수가 x개가 아닌 것으로 체크되는 경우에는 상기 추출된 로그 라인에 후속하는 하나의 로그 라인을 추출하기 위해 상기 단계(a-1)로 피드백하고, 누적된 특정 문자의 수가 x개인 것으로 체크되는 경우에는 누적된 x개의 특정문자에 대응하는 로그 라인까지를 상기 로그 파일에서 추출하여 메모리에 적재하는 단계를 포함한다.
또한, 상기한 본 발명의 제3 목적을 실현하기 위한 로그 파일 표시 방법은, 인터넷 접속자들의 접속 통계를 얻기 위한 로그 분석시 분석자에게 표시되는 로그 파일 표시 방법에 있어서, (a) N개의 로그 라인을 포함하는 로그 파일에서 x(상기 x는 상기 N보다 작은 자연수)개의 로그 라인을 하나의 그룹으로 하여 적재하는 단계와, 및 (b) 상기 그룹핑되어 적재된 x개의 로그 라인을 표시하는 단계를 포함하고,
상기 단계(a)는, (a-1) 상기 로그 파일에서 로그 라인을 추출하는 단계와, (a-2) 상기 로그 라인의 특정문자를 추출 및 누적하는 단계와, (a-3) 누적된 특정 문자의 수가 x개인지를 체크하는 단계와, 및 (a-4) 상기 단계(a-3)에서 누적된 특정 문자의 수가 x개가 아닌 것으로 체크되는 경우에는 상기 추출된 로그 라인에 후속하는 하나의 로그 라인을 추출하기 위해 상기 단계(a-1)로 피드백하고, 누적된 특정 문자의 수가 x개인 것으로 체크되는 경우에는 누적된 x개의 특정문자에 대응하는 로그 라인까지를 상기 로그 파일에서 추출하여 메모리에 적재하는 단계를 포함한다.
또한, 상기한 본 발명의 제4 목적을 실현하기 위한 하나의 특징에 따른 로그 파일 분석 장치는, 인터넷 접속자들의 접속 통계를 얻기 위한 로그 파일 분석 장치에 있어서, N개의 로그 라인들을 포함하는 로그 파일을 적재하는 하드 디스크와, 상기 N개의 로그 라인들중 x(상기 x는 상기 N보다 작은 자연수)개의 로그 라인을 적재하는 메모리와, 및 상기 하드 디스크에 적재된 로그 파일에서 x개의 로그 라인들을 하나의 그룹으로 하여 상기 메모리에 적재하고, 상기 메모리에 적재된 x개의 로그 라인들에 대해 로그 분석하는 중앙처리부를 포함하고,
상기 중앙처리부는 상기 로그 파일에서 하나의 로그 라인을 순차적으로 추출하여 상기 로그 라인에 포함된 특정문자를 순차적으로 추출 및 누적하고, 누적된 특정 문자의 수가 x개인 경우에는 누적된 x개의 특정문자에 대응하는 로그 라인까지를 상기 로그 파일에서 추출하여 상기 메모리에 적재한다.
또한, 상기한 본 발명의 제4 목적을 실현하기 위한 다른 하나의 특징에 따른 로그 파일 표시 장치는, 인터넷 접속자들의 접속 통계를 얻기 위한 로그 분석시 분석자에게 로그 파일을 표시하는 로그 파일 표시 장치에 있어서, N개의 로그 라인을 포함하는 로그 파일을 적재하는 하드 디스크와, 상기 N개의 로그 라인중 x(상기 x는 상기 N보다 작은 자연수)개의 로그 라인을 적재하는 메모리와, 및 상기 하드 디스크에 적재된 로그 파일에서 x개의 로그 라인을 하나의 그룹으로 하여 상기 메모리에 적재하고, 상기 메모리에 적재된 x개의 로그 라인을 하나의 편집 프로그램 화면에 제1 표시하는 중앙처리부를 포함하고,
상기 중앙처리부는 상기 로그 파일에서 하나의 로그 라인을 순차적으로 추출하여 상기 로그 라인에 포함된 특정문자를 순차적으로 추출 및 누적하고, 누적된 특정 문자의 수가 x개인 경우에는 누적된 x개의 특정문자에 대응하는 로그 라인까지를 상기 로그파일에서 추출하여 상기 메모리에 적재한다.
이러한 로그 파일 적재, 분석 및 표시 방법과, 이를 수행하기 위한 장치에 의하면, N개의 로그 라인을 갖는 로그 파일 분석시, 1번의 하드 디스크 I/O 트래픽으로 x개 로그 라인을 메모리에 읽게 하여 N/x번으로 I/O 트래픽 횟수를 줄이므로써, 로그분석시간을 줄일 수 있다. 또한, 대용량 로그 파일의 소스라인들의 확인시 페이지 단위로 사용자가 확인하게 하여 메인 메모리의 사용량을 일정하게 유지할 수 있다.
이하, 첨부한 도면을 참조하여, 본 발명을 보다 상세하게 설명하고자 한다.
도 5는 본 발명에 따른 로그 파일 분석 장치를 설명하기 위한 도면이다.
도 5를 참조하면, 본 발명에 따른 로그 파일 분석 장치는 하드 디스크(100), 제1 메모리(200), CPU(300) 및 제2 메모리(400)를 포함한다.
하드 디스크(100)는 로그 파일을 적재하고, CPU(300)로부터 분석 시작 신호가 제공됨에 따라, 상기 로그 파일에 포함되는 x개의 로그 라인을 제1 메모리(200)에 제공한다.
상기 하드 디스크(100)는 로그분석을 수행하는 컴퓨터 서버에 포함될 수도 있고, 인터넷 접속자들의 접속 통계를 얻기 위해 로그분석을 의뢰하는 클라이언트측에 구비되는 웹 서버, FTP(File Transfer Protocol) 서버, 유즈넷(Usenet) 서버와 같은 컴퓨터 서버일 수도 있다.
제1 메모리(200)는 상기 x개의 로그 라인을 적재하고 있다가 상기 CPU(300)의 요청에 응답하여 상기 x개의 로그 라인을 CPU(300)에 제공한다.
CPU(300)는 로그분석이 시작됨에 따라, 하드 디스크(100)에 적재된 x개의 로그 라인을 추출하여 제1 메모리(200)에 제공하고, 적재된 x개의 로그 라인을 추출 하여 로그분석을 수행하며, 상기 로그분석이 완료된 로그분석 결과 데이터를 제2 메모리(400)에 제공한다.
이처럼, 로그 파일 분석시 가장 많은 분석시간을 점유하는 것이 I/O 트래픽 시간, 즉, 하드 디스크(100)에서 제1 메모리(200)로 데이터를 이동시키는 동작 시간임을 착안하여 I/O 트래픽 발생 횟수를 줄이므로써, 로그 분석속도를 고속화할 수 있다.
도 6은 본 발명에 따른 로그 파일 분석 방법을 설명하기 위한 흐름도이고, 도 7은 로그 파일의 로그 라인 구분을 설명하기 위한 도면이다.
도 5 및 도 6을 참조하면, 로그분석이 시작됨에 따라(단계 S110), 로그 파일에 포함되는 로그 라인을 추출한다(단계 S120). 이때 상기 로그 파일은 도 7에 도시한 바와 같이, 일종의 텍스트 문자열이 일렬로 배치된 파일이다. 각각의 로그 라인을 구분할 때 특정 문자, 예를들어, 키보드 자판의 리턴문자 등을 문자열 사이에 삽입하여 각 라인을 구분한다. 따라서, 1개의 로그 라인은 이전 로그 라인의 특정문자 이후의 문자열부터 다음 리턴문자까지를 말한다.
이어, 로그 라인의 특정 문자를 추출하여, 누적하고(단계 S130), 누적된 특정 문자의 수가 x개인지의 여부를 체크한다(단계 S140).
단계 S140에서 누적된 특정 문자의 수가 x개를 만족하지 않은 것으로 체크되는 경우에는 상기 단계 S120으로 피드백하고, 누적된 특정 문자의 수가 x개를 만족하는 것으로 체크되는 경우에는 누적된 x개에 대응하는 로그 라인까지를 메모리에 적재한다(단계 S150). 즉. 상기한 메모리에 적재되는 로그 라인들은 10개일 수도 있고, 100개일 수도 있다. 예를들어, 10개의 로그 라인에서 특정 문자의 누적 수가 x개로 체크되면 상기 메모리에는 10개의 로그 라인들이 적재되고, 100개의 로그 라인에서 특정 문자의 누적 수가 x개로 체크되면 상기 메모리에는 100개의 로그 라인들이 적재된다.
이어, 적재된 x개의 로그 라인을 로그 분석한다(단계 S160).
이어, 잔여 로그 라인의 존재 여부를 체크하여(단계 S170), 잔여 로그 라인이 존재하는 것을 체크되는 경우에는 상기 단계 S120으로 피드백하고, 잔여 로그 라인이 미존재하는 것을 체크되는 경우에는 종료한다.
이처럼, I/O 트래픽 횟수는 종래 기술과 비교할 때, N번에서 N/x번으로 줄어들기 때문에 로그 분석시간은 대략 x배 만큼 빨라지므로 로그 파일 분석속도를 개선할 수 있고, 메모리나 CPU의 시스템 자원을 효율적으로 사용할 수 있다. 이러한 로그 파일 분석 방법은 하기하는 도 8을 이용하여 설명한다.
도 8은 상기한 도 5의 로그 파일 분석 장치에 의한 트래픽 발생을 개념적으로 설명하기 위한 도면이다.
도 8에 도시한 바와 같이, 하드 디스크(100)상의 로그 파일에 N개의 로그 라인이 있을 경우, 1번의 I/O 트래픽으로 x개 라인을 한번에 제1 메모리(200)에 불러온다. 제1 메모리(200)에 적재되는 x개의 로그 라인을 CPU(300)에서 1번의 루틴으로 분석처리한다.
구체적으로, 로그분석이 시작됨에 따라, CPU(300)는 로그 파일에 구비되는 첫 번째 로그 라인부터 x번째 로그 라인까지 x개의 로그 라인을 읽어서 제1 메모리(200)에 적재하고, 적재된 x개의 로그 라인중 첫 번째 로그 라인부터 순차적으로 로그 분석한다. 이때, 로그 라인에는 키보드 자판의 리턴값과 같은 특정 문자가 문자열 사이에 삽입되므로, 상기한 특정 문자들의 수를 카운팅하여 로그 라인의 수를 인식할 수 있다.
이처럼, 로그 파일에 포함되는 x개의 로그 라인을 그룹핑하고, 그룹핑된 로그 라인을 제1 메모리에 적재하므로 1회의 I/O 트래픽이 발생하므로 모든 로그 라인을 적재하는 데에는 N/x번으로 I/O 트래픽 횟수를 줄일 수 있다. 이에 따라, I/O 트래픽 횟수가 N/x번만큼 줄어들기 때문에 대략 x배 만큼 분석 속도를 고속화할 수 있다.
이상에서는 로그 파일의 일부 로그 라인을 그룹핑하여, 로그 분석하는 일례를 설명하였으나, 로그 파일의 일부 로그 라인을 그룹핑하여, 메모장과 같은 편집 프로그램을 통해 표시할 수도 있다. 이러한 표시 동작에 대해서 하기하는 도면을 참조하여 설명한다.
도 9는 본 발명에 따라 로그 파일을 편집 프로그램을 통해 표시하는 것을 개념적으로 설명하기 위한 도면이다.
도 9에 도시한 바와 같이, 대용량의 로그 파일이라 할 지라도 임의의 수만큼 로그 라인들을 그룹핑하고, 그룹핑된 로그 라인들을 메모장과 같은 편집 프로그램에 표시한다.
상기한 편집 프로그램은 그룹핑된 X개의 로그 라인만 보여준다. 다음 내용을 보고싶다면 다음 X개의 로그 라인만 보여준다. 이러한 방식에 의하면 메모리를 일정하게 사용할 수 있다.
하기하는 의사 소스 코드(pseudo source code) 프로그램은 현재 파일 포인터에서 다음 페이지 라인을 읽고서, 현재 라인에서 X개 라인만 읽는 루틴을 설명하기 위한 프로그램이다.
---------------------------------------------------------------------------------------------------
private void nextLines(){
_iCurPageNo ++; //Page수 증가
_iCurPageLineSize = 0;
while (_iCurPageLineSize<_iOnePageLineSize){ //x개 라인만큼 버퍼에 담을 때까지 반복한다.
try {
_sLineTmp=_fin.readLine(); //로그 파일에서 다음 리턴문자가 나올때까지 읽는다.
if (_sLineTmp == null ){ //EOF: 파일끝이면 종료
_bIsCurPageLast = true ;
_lLastPageNo = getCurPageNo();
break ;
}
else {
_sLines[_iCurPageLineSize] = _sLineTmp; //읽은 라인을 버퍼에 담는다.
_iCurPageLineSize++;
}
}
catch {Exception e}{ //읽는 도중 에러 발생 처리
Logger.err.printIn( this ,"[nextLines]"+e.getMessage());
onReadPageEvt(ReadPageEvent._iREAD_ERR);
retune ;
} // 다음 라인을 읽는다.
}
---------------------------------------------------------------------------------------------------
도 10a 내지 도 10c는 본 발명에 따라 메모장과 같은 편집 프로그램에 표시되는 화면들의 일례를 도시한다. 특히 20만개의 로그 라인중에서 일부의 로그 라인을 편집 프로그램에 표시하는 것을 도시한다.
도 10a에 도시한 바와 같이, 대용량의 로그 파일(예를들어, 20만개의 로그 라인)중에서 처음 200개의 로그 라인만 불러들어 편집 프로그램에 표시한 모습을 도시한다. 우측 드래그바가 최하위에 위치하고 있는 점을 감안할 때 상기 우측 드 래그바를 최상위로 올리면 첫 번째 로그 라인을 포함하는 로그 라인 리스트들이 표시될 것이다. 또한, 아래측 드래그바가 최좌측에 위치하고 있는 점을 감안할 때 상기 아래측 드래그바를 최우측으로 이동함에 따라 매 로그 라인들의 마지막을 알려주는 리턴 문자가 포함될 것이다.
도 10b는 20만개의 로그 라인중에서 다음 200개의 로그 라인만 불러온 모습을 도시한다. 우측 드래그바가 최하위에 위치하고 있는 점을 감안할 때, 상기 우측 드래그바를 최상위로 올리면 201번째 로그 라인을 포함하는 로그 라인 리스트들이 표시될 것이다. 또한, 아래측 드래그바가 최좌측에 위치하고 있는 점을 감안할 때 상기 아래측 드래그바를 최우측으로 이동함에 따라 매 로그 라인들의 마지막을 알려주는 리턴 문자가 포함될 것이다.
이처럼, 20만개의 로그 라인을 갖는 대용량의 로그 파일이라 할지라도 사용자가 선택하는 수만큼의 로그 라인을 하나의 그룹으로 하여 편집 프로그램의 화면에 표시할 수 있으므로 사용자측에서는 로그 라인들의 확인시 페이지 단위로 확인하게 하여 메모리의 사용량을 일정하게 유지할 수 있고, 안정적으로 분석하고자 하는 로그 라인들을 적재할 수 있다.
물론, 하기하는 도 10c와 같이, 편집 프로그램의 화면에 일정수의 로그 라인을 표시하여 사용자가 로그 라인들을 확인하는 도중 정해진 페이지의 라인들 중에 지정된 문자를 갖고있는 로그 라인만 골라내기 위한 메뉴 화면을 사용자측에 제공할 수도 있다.
상기한 메뉴 화면을 통해 사용자측에서는 선택한 하나 또는 다수의 페이지들 중에 데이터(또는 문자)를 포함하는 로그 라인들만 또는 상기한 데이터(또는 문자)를 배제한 로그 라인들만 선택하고, 선택된 로그 라인들을 편집 프로그램의 화면에 표시할 수 있다. 도면상에서는 3 내지 5페이지에서 '200'이라는 데이터를 포함하는 로그 라인을 선택하는 화면을 표시한다.
이상에서 설명한 바와 같이, 본 발명에 따르면 대용량 로그 파일을 사용자가 소스 내용 확인시 메모리 용량 부족으로 발생되는 문제를 해결한다. 즉, 기존의 편집 프로그램으로 대용량 로그 파일의 처음 몇 라인을 보려고 해도 로그 파일의 모든 내용을 편집 프로그램으로 로딩할 때까지 기다려야 했다.
왜냐하면, 상기 대용량의 모든 로그 라인들이 메모리에 적재되어야 하기 때문에 작은 메모리로는 상기 로그 파일의 처음 몇 라인도 읽을 수 없는 문제가 있다.
상기 문제는 대용량의 로그 라인들을 x개만큼만 불러들여 사용자에게 보여 주고, 사용자가 다음 x개만큼을 보기로 원할 때는 다음 x개 라인만 메모리에 적재하여 안정적으로 소스 내용을 확인하게 한다. 이에 따라, 메모리에 쌓이는 로그 라인의 양을 x개로 균일하게 유지하여 대용량 로그 파일 소스 확인시 안정적으로 데이터가 메인 메모리가 쌓이게 할 수 있다.
이상에서는 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
이상에서 설명한 바와 같이, 본 발명에 따르면 로그 파일 분석시 하드 디스크에서 메모리로 데이터가 이동하는 I/O 트래픽 횟수를 감소시켜 분석속도를 고속화할 수 있다.
또한, 메모리에 다수의 데이터를 적재시켜 CPU의 반복 연산 횟수를 줄이므로써, 분석 속도를 고속화하고, 시스템 자원을 효율적으로 사용할 수 있다.
또한, 대용량 로그 파일을 사용자가 소스 내용 확인시 대용량의 로그 라인들을 x개만큼만 불러들여 사용자에게 보여 주고, 사용자가 다음 x개만큼을 보기로 원할 때는 다음 x개 라인만 메모리에 적재하여 안정적으로 소스 내용을 확인할 수 있게 하므로써, 메모리 용량 부족으로 발생되는 문제를 해결한다.

Claims (14)

  1. 인터넷 접속자들의 접속 통계를 얻기 위해 로그 분석에 이용되는 로그 파일 적재 방법에 있어서,
    (a) N개의 로그 라인을 포함하는 로그 파일에서 하나의 로그 라인을 추출하는 단계;
    (b) 상기 로그 라인에서 특정문자를 추출 및 누적하는 단계;
    (c) 누적된 특정 문자의 수가 x(상기 x는 상기 N보다 작은 자연수)개 인지를 체크하는 단계; 및
    (d) 상기 단계(c)에서 누적된 특정 문자의 수가 x개가 아닌 것으로 체크되는 경우에는 상기 추출된 로그 라인에 후속하는 하나의 로그 라인을 추출하기 위해 상기 단계(a)로 피드백하고, 누적된 특정 문자의 수가 x개인 것으로 체크되는 경우에는 누적된 x개의 특정문자에 대응하는 로그 라인까지를 상기 로그 파일에서 추출하여 메모리에 적재하는 단계를 포함하는 로그 파일 적재 방법.
  2. 인터넷 접속자들의 접속 통계를 얻기 위한 로그 파일 분석 방법에 있어서,
    (a) N개의 로그 라인을 포함하는 로그 파일에서 x(상기 x는 상기 N보다 작은 자연수)개의 로그 라인을 하나의 그룹으로 하여 적재하는 단계;
    (b) 적재된 x개의 로그 라인을 분석하는 단계;
    (c) 상기 단계(b)에 의한 분석이 마지막 로그 라인인지를 체크하는 단계; 및
    (d) 상기 단계(c)에서 상기 마지막 로그 라인이 아닌 경우에는 상기 단계(a)로 피드백하고, 상기 마지막 로그 라인이라 체크되는 경우에는 종료하는 단계를 포함하고, 상기 단계(a)는,
    (a-1) 상기 로그 파일에서 로그 라인을 추출하는 단계;
    (a-2) 상기 로그 라인의 특정문자를 추출 및 누적하는 단계;
    (a-3) 누적된 특정 문자의 수가 x개인지를 체크하는 단계; 및
    (a-4) 상기 단계(a-3)에서 누적된 특정 문자의 수가 x개가 아닌 것으로 체크되는 경우에는 상기 추출된 로그 라인에 후속하는 하나의 로그 라인을 추출하기 위해 상기 단계(a-1)로 피드백하고, 누적된 특정 문자의 수가 x개인 것으로 체크되는 경우에는 누적된 x개의 특정문자에 대응하는 로그 라인까지를 상기 로그 파일에서 추출하여 메모리에 적재하는 단계를 포함하는 것을 특징으로 하는 로그 파일 분석 방법.
  3. 삭제
  4. 제2항에 있어서, 상기 단계(c)의 마지막 로그 라인은 상기 로그 라인에 포함되는 특정 문자에 의해 체크되는 것을 특징으로 하는 로그 파일 분석 방법.
  5. 제4항에 있어서, 상기 특정 문자는 키보드 자판의 리턴문자인 것을 특징으로 하는 로그 파일 분석 방법.
  6. 인터넷 접속자들의 접속 통계를 얻기 위한 로그 분석시 분석자에게 표시되는 로그 파일 표시 방법에 있어서,
    (a) N개의 로그 라인을 포함하는 로그 파일에서 x(상기 x는 상기 N보다 작은 자연수)개의 로그 라인을 하나의 그룹으로 하여 적재하는 단계; 및
    (b) 상기 그룹핑되어 적재된 x개의 로그 라인을 표시하는 단계를 포함하고, 상기 단계(a)는,
    (a-1) 상기 로그 파일에서 로그 라인을 추출하는 단계;
    (a-2) 상기 로그 라인의 특정문자를 추출 및 누적하는 단계;
    (a-3) 누적된 특정 문자의 수가 x개인지를 체크하는 단계; 및
    (a-4) 상기 단계(a-3)에서 누적된 특정 문자의 수가 x개가 아닌 것으로 체크되는 경우에는 상기 추출된 로그 라인에 후속하는 하나의 로그 라인을 추출하기 위해 상기 단계(a-1)로 피드백하고, 누적된 특정 문자의 수가 x개인 것으로 체크되는 경우에는 누적된 x개의 특정문자에 대응하는 로그 라인까지를 상기 로그 파일에서 추출하여 메모리에 적재하는 단계를 포함하는 것을 특징으로 하는 로그 파일 표시 방법.
  7. 제6항에 있어서, 상기 하나의 그룹으로 적재되는 로그 라인들은 편집 프로그램에 의해 하나의 페이지로 표시되는 것을 특징으로 하는 로그 파일 표시 방법.
  8. 제7항에 있어서, 상기 편집 프로그램은 메모장 프로그램인 것을 특징으로 하는 로그 파일 표시 방법.
  9. 삭제
  10. 제6항에 있어서, 상기 단계(c)의 마지막 로그 라인은 상기 로그 라인에 포함되는 특정 문자에 의해 체크되는 것을 특징으로 하는 로그 파일 표시 방법.
  11. 인터넷 접속자들의 접속 통계를 얻기 위한 로그 파일 분석 장치에 있어서,
    N개의 로그 라인들을 포함하는 로그 파일을 적재하는 하드 디스크;
    상기 N개의 로그 라인들중 x(상기 x는 상기 N보다 작은 자연수)개의 로그 라인을 적재하는 메모리; 및
    상기 하드 디스크에 적재된 로그 파일에서 x개의 로그 라인들을 하나의 그룹으로 하여 상기 메모리에 적재하고, 상기 메모리에 적재된 x개의 로그 라인들에 대해 로그 분석하는 중앙처리부를 포함하고, 상기 중앙처리부는,
    상기 로그 파일에서 하나의 로그 라인을 순차적으로 추출하여 상기 로그 라인에 포함된 특정문자를 순차적으로 추출 및 누적하고, 누적된 특정 문자의 수가 x개인 경우에는 누적된 x개의 특정문자에 대응하는 로그 라인까지를 상기 로그 파일에서 추출하여 상기 메모리에 적재하는 것을 특징으로 하는 로그 파일 분석 장치.
  12. 인터넷 접속자들의 접속 통계를 얻기 위한 로그 분석시 분석자에게 로그 파일을 표시하는 로그 파일 표시 장치에 있어서,
    N개의 로그 라인을 포함하는 로그 파일을 적재하는 하드 디스크;
    상기 N개의 로그 라인중 x(상기 x는 상기 N보다 작은 자연수)개의 로그 라인을 적재하는 메모리; 및
    상기 하드 디스크에 적재된 로그 파일에서 x개의 로그 라인을 하나의 그룹으로 하여 상기 메모리에 적재하고, 상기 메모리에 적재된 x개의 로그 라인을 하나의 편집 프로그램 화면에 제1 표시하는 중앙처리부를 포함하고, 상기 중앙처리부는,
    상기 로그 파일에서 하나의 로그 라인을 순차적으로 추출하여 상기 로그 라인에 포함된 특정문자를 순차적으로 추출 및 누적하고, 누적된 특정 문자의 수가 x개인 경우에는 누적된 x개의 특정문자에 대응하는 로그 라인까지를 상기 로그파일에서 추출하여 상기 메모리에 적재하는 것을 특징으로 하는 로그 파일 표시 장치.
  13. 제12항에 있어서, 상기 중앙처리부는 사용자의 요청에 따라 상기 제1 표시되는 로그 라인들중 임의의 데이터를 포함하는 로그 라인들만을 제2 표시하는 것을 특징으로 하는 로그 파일 표시 장치.
  14. 제12항에 있어서, 상기 중앙처리부는 사용자의 요청에 따라 상기 제1 표시되는 로그 라인들중 임의의 데이터를 배제한 로그 라인들을 제3 표시하는 것을 특징으로 하는 로그 파일 표시 장치.
KR1020040003849A 2004-01-19 2004-01-19 로그 파일 적재 및 분석 방법과, 이를 수행하기 위한 장치 KR100714235B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040003849A KR100714235B1 (ko) 2004-01-19 2004-01-19 로그 파일 적재 및 분석 방법과, 이를 수행하기 위한 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040003849A KR100714235B1 (ko) 2004-01-19 2004-01-19 로그 파일 적재 및 분석 방법과, 이를 수행하기 위한 장치

Publications (2)

Publication Number Publication Date
KR20050076056A KR20050076056A (ko) 2005-07-26
KR100714235B1 true KR100714235B1 (ko) 2007-05-02

Family

ID=37264038

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040003849A KR100714235B1 (ko) 2004-01-19 2004-01-19 로그 파일 적재 및 분석 방법과, 이를 수행하기 위한 장치

Country Status (1)

Country Link
KR (1) KR100714235B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06337810A (ja) * 1993-03-30 1994-12-06 Fujitsu Ltd ログデータの分類取得システム
JPH0836515A (ja) * 1994-07-25 1996-02-06 Nec Corp ファイル復旧方式
KR0129136B1 (en) * 1994-11-21 1998-04-15 Korea Electronics Telecomm Log record management scheme for distributed applications
JP2001142748A (ja) 1999-11-17 2001-05-25 Fujitsu Ltd ログ読出し方法、ログ読出し装置、分析装置、及び記録媒体

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06337810A (ja) * 1993-03-30 1994-12-06 Fujitsu Ltd ログデータの分類取得システム
JPH0836515A (ja) * 1994-07-25 1996-02-06 Nec Corp ファイル復旧方式
KR0129136B1 (en) * 1994-11-21 1998-04-15 Korea Electronics Telecomm Log record management scheme for distributed applications
JP2001142748A (ja) 1999-11-17 2001-05-25 Fujitsu Ltd ログ読出し方法、ログ読出し装置、分析装置、及び記録媒体

Also Published As

Publication number Publication date
KR20050076056A (ko) 2005-07-26

Similar Documents

Publication Publication Date Title
US20190146616A1 (en) Systems And Methods For Remote Tracking And Replay Of User Interaction With A Webpage
KR101153009B1 (ko) 텍스트 요약을 갖는 라이브 그래픽 미리보기
US8392380B2 (en) Load-balancing and scaling for analytics data
US20170199850A1 (en) Method and system to decrease page load time by leveraging network latency
US20120011431A1 (en) Method and System of Retrieving Ajax Web Page Content
US7606797B2 (en) Reverse value attribute extraction
Chaqfeh et al. Jscleaner: De-cluttering mobile webpages through javascript cleanup
US9870279B2 (en) Analysis apparatus and analysis method
CN114417197A (zh) 一种访问记录处理方法、装置及存储介质
US20100017486A1 (en) System analyzing program, system analyzing apparatus, and system analyzing method
CN110286917A (zh) 文件打包方法、装置、设备及存储介质
Wagner Web Performance in Action: Building Fast Web Pages
US11836331B2 (en) Mathematical models of graphical user interfaces
KR101340588B1 (ko) 웹페이지 구성방법 및 그 장치
KR100817562B1 (ko) 대용량 로그파일의 인덱싱 방법, 이를 내장한 컴퓨터가판독 가능한 기록매체 및 이를 수행하기 위한 인덱싱시스템
US20240106903A1 (en) Method And System For Application Performance Neutral, Network Bandwidth Optimized Capturing Of Resources Used during The Interaction Of User With A web-Based Application To Create Monitoring Data For An Accurate Visual reconstruction Of The User Experience
KR20060079083A (ko) 하이퍼텍스트 링크를 평가하기 위한 방법, 시스템 및컴퓨터 판독가능 매체
CN108388796B (zh) 动态域名验证方法、系统、计算机设备和存储介质
KR101481910B1 (ko) 웹 페이지의 비정상 정보 탐지 장치 및 방법
JP2008158589A (ja) 更新情報通知装置及び更新情報通知プログラム
CN113076501A (zh) 一种页面处理方法、存储介质及设备
KR100714235B1 (ko) 로그 파일 적재 및 분석 방법과, 이를 수행하기 위한 장치
KR101105798B1 (ko) 키워드 정련 장치 및 방법과 그를 위한 컨텐츠 검색 시스템 및 그 방법
JP2018181121A (ja) 分析装置、分析プログラム及び分析方法
CN117235398B (zh) 网页加载方法、设备及可读存储介质

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: 20130221

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140218

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160307

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170310

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20180504

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20190411

Year of fee payment: 13