KR102519006B1 - Log data management method and server for improving search speed of log data based on digital - Google Patents

Log data management method and server for improving search speed of log data based on digital Download PDF

Info

Publication number
KR102519006B1
KR102519006B1 KR1020220156749A KR20220156749A KR102519006B1 KR 102519006 B1 KR102519006 B1 KR 102519006B1 KR 1020220156749 A KR1020220156749 A KR 1020220156749A KR 20220156749 A KR20220156749 A KR 20220156749A KR 102519006 B1 KR102519006 B1 KR 102519006B1
Authority
KR
South Korea
Prior art keywords
log data
log
time
data
unit
Prior art date
Application number
KR1020220156749A
Other languages
Korean (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 KR1020220156749A priority Critical patent/KR102519006B1/en
Application granted granted Critical
Publication of KR102519006B1 publication Critical patent/KR102519006B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/278Data partitioning, e.g. horizontal or vertical partitioning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Abstract

A log data management method and server for improving the viewing speed of digital-based log data are disclosed. According to one embodiment of the present invention, the log data management method includes the steps of: receiving a plurality of types of log data; accumulating the plurality of types of log data in the reverse chronological order; processing the plurality of types of log data according to preset standards; and storing the plurality of types of processed log data in the reverse chronological order in a database.

Description

디지털 기반 로그 데이터의 조회 속도 향상을 위한 로그 데이터 관리 방법 및 서버{LOG DATA MANAGEMENT METHOD AND SERVER FOR IMPROVING SEARCH SPEED OF LOG DATA BASED ON DIGITAL}Log data management method and server for improving search speed of digital-based log data

본 개시는 디지털 기반 로그 데이터의 조회 속도 향상을 위한 로그 데이터 관리 방법 및 서버에 관한 것이다.The present disclosure relates to a log data management method and server for improving the speed of inquiry of digital log data.

콘텐츠 서비스를 제공하는 디바이스는 콘텐츠 서비스 제공과 관련된 로그 데이터를 연속적으로 발생시키며, 이렇게 발생된 대량의 로그 데이터를 분석하는 것은 보다 양질의 콘텐츠 서비스를 제공하는데 중요한 요소일 수 있다. 상술한 로그 데이터는 시간의 흐름에 따라 연속적으로 발생할 수 있다.Devices providing content services continuously generate log data related to providing content services, and analyzing the large amount of log data generated in this way may be an important factor in providing higher quality content services. The aforementioned log data may be continuously generated over time.

예를 들어, 로그 데이터 분석을 통해 디바이스의 문제점을 확인할 수 있으며, 콘텐츠 서비스를 개선하기 위한 사용자 행동이나 UX(user experience) 개선 등을 파악할 수 있다.For example, device problems can be identified through log data analysis, and user behavior or UX (user experience) improvements to improve content services can be identified.

이에, 운용자는 사용자 단말기로부터 수집되는 로그 데이터를 보다 효율적으로 저장 및 관리하여 로그 데이터의 조회 속도를 향상시키는 방안을 모색하게 되었다.Accordingly, operators have sought ways to improve log data inquiry speed by more efficiently storing and managing log data collected from user terminals.

대한민국 공개특허공보 제10-2012-0085375호 (2012. 08. 01.)Republic of Korea Patent Publication No. 10-2012-0085375 (2012. 08. 01.)

본 개시에 개시된 실시예는 로그 데이터를 효율적으로 저장 및 관리하여 쿼리를 통한 로그 데이터의 검색 속도를 향상시키기 위한 디지털 기반 로그 데이터의 조회 속도 향상을 위한 로그 데이터 관리 방법 및 서버를 제공하는데 그 목적이 있다.The purpose of the embodiments disclosed in the present disclosure is to provide a log data management method and server for improving the search speed of digital-based log data to improve the search speed of log data through a query by efficiently storing and managing log data. there is.

본 개시가 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The problems to be solved by the present disclosure are not limited to the problems mentioned above, and other problems not mentioned will be clearly understood by those skilled in the art from the description below.

상술한 기술적 과제를 달성하기 위한 본 개시에 일 측면에 따른 로그 데이터 관리 방법은, 로그 데이터 관리 서버에 의해 수행되는 방법에 있어서, 복수의 로그 데이터를 수신하는 단계; 상기 복수의 로그 데이터를 시간의 역순으로 축적하는 단계; 상기 복수의 로그 데이터를 기 설정된 기준에 따라 가공하는 단계; 및 가공된 상기 복수의 로그 데이터를 데이터베이스에 시간의 역순으로 저장되도록 하는 단계;를 포함할 수 있다.A log data management method according to an aspect of the present disclosure for achieving the above technical problem is performed by a log data management server, comprising: receiving a plurality of log data; accumulating the plurality of log data in reverse chronological order; processing the plurality of log data according to predetermined criteria; and storing the processed plurality of log data in a database in reverse chronological order.

상기 축적하는 단계에서, 기 설정된 축적시간이 도래하거나, 또는 기 설정된 수의 로그 데이터가 축적된 경우, 상기 가공하는 단계는, 축적된 상기 복수의 로그 데이터를 기 설정된 제1 단위로 그룹지어 적어도 하나 이상의 제1 로그 데이터 그룹을 생성하는 단계;를 포함할 수 있다.In the accumulating step, when a preset accumulation time arrives or a preset number of log data is accumulated, the processing step includes grouping the accumulated plurality of log data into a preset first unit to at least one log data. Generating the above first log data group; may include.

상기 로그 데이터 관리 방법은, 상기 적어도 하나 이상의 제1 로그 데이터 그룹을 제2 단위로 그룹지어 제2 로그 데이터 그룹을 생성하는 단계;를 더 포함하고, 상기 제2 단위는 상기 제1 단위 보다 큰 시간 또는 큰 수를 포함하는 기준일 수 있다.The log data management method further includes generating a second log data group by grouping the at least one or more first log data groups into a second unit, wherein the second unit takes a longer time than the first unit. Or it may be a criterion that includes a large number.

상기 로그 데이터 관리 방법은, 상기 가공하는 단계 이전에, 상기 복수의 로그 데이터의 구분을 위한 분리 기준을 생성하는 단계;를 더 포함하고, 상기 로그 데이터를 가공하는 단계는, 축적된 상기 복수의 로그 데이터를 상기 분리 기준에 따라 구분하여 로그레벨을 매칭한 파티션 데이터 형태로 가공하는 단계;를 포함하고, 상기 저장되도록 하는 단계에서, 상기 로그레벨이 매칭된 상기 복수의 로그 데이터를 시간의 역순으로 저장할 수 있다.The method for managing log data may further include, prior to the processing, generating a separation criterion for classifying the plurality of log data, wherein the processing of the log data includes the accumulation of the plurality of logs. and processing the data in the form of partition data in which the log levels are matched by classifying the data according to the separation criterion, and in the saving step, the plurality of log data matched with the log levels are stored in reverse order of time. can

상기 로그 데이터 관리 방법은, 상기 로그레벨이 매칭된 상기 복수의 로그 데이터를 시간의 역순으로 저장하는 단계 이후에, 상기 로그 데이터 관리 서버가 상기 로그레벨을 서비스 서버로 전송하여 공유하는 단계;를 더 포함할 수 있다.The log data management method further includes, after the step of storing the plurality of log data matched with the log level in reverse chronological order, the log data management server transmitting the log level to a service server and sharing the log data. can include

상기 로그 데이터 관리 방법은, 상기 분리 기준을 생성하는 단계에서, 시간에 따른 트래픽의 변화를 기준으로 구분하도록 상기 분리 기준을 생성하거나, 또는 상기 로그 데이터의 시간을 기준으로 구분하도록 상기 분리 기준을 생성할 수 있다. In the log data management method, in the generating of the separation criterion, the separation criterion is generated to classify the log data based on the change in traffic over time, or the separation criterion is generated to classify the log data based on the time of the log data. can do.

또한, 본 개시의 다른 측면에 따른 로그 데이터 관리 서버는 로더부; 역순 처리부; 및 데이터 처리부의 동작을 제어하는 프로세서;를 포함하고, 상기 프로세서는, 복수의 로그 데이터를 수신하고, 상기 복수의 로그 데이터를 시간의 역순으로 축적하고, 상기 복수의 로그 데이터를 기 설정된 기준에 따라 가공하고, 및 가공된 상기 복수의 로그 데이터를 데이터베이스에 시간의 역순으로 저장되도록 할 수 있다.In addition, the log data management server according to another aspect of the present disclosure includes a loader unit; reverse order processing unit; and a processor for controlling the operation of the data processing unit, wherein the processor receives a plurality of log data, accumulates the plurality of log data in reverse order of time, and stores the plurality of log data according to a predetermined criterion. It is possible to process and store the processed plurality of log data in reverse chronological order in the database.

상기 축적할 때, 기 설정된 축적시간이 도래하거나, 또는 기 설정된 수의 로그 데이터가 축적된 경우, 상기 프로세서는, 상기 로그 데이터를 가공할 때, 축적된 상기 복수의 로그 데이터를 기 설정된 제1 단위로 그룹지어 적어도 하나 이상의 제1 로그 데이터 그룹을 생성할 수 있다.During the accumulation, when a preset accumulation time arrives or a preset number of log data is accumulated, the processor, when processing the log data, converts the accumulated log data into a preset first unit. It is possible to create at least one or more first log data groups by grouping them into .

상기 프로세서는, 상기 복수의 로그 데이터의 구분을 위한 분리 기준을 생성하고, 상기 로그 데이터를 가공할 때, 축적된 상기 복수의 로그 데이터를 상기 분리 기준에 따라 구분하여 로그레벨을 매칭한 파티션 데이터 형태로 가공하고, 및 상기 로그레벨이 매칭된 상기 복수의 로그 데이터를 시간의 역순으로 상기 데이터베이스에 저장할 수 있다.The processor generates a separation criterion for classifying the plurality of log data, and when processing the log data, divides the accumulated log data according to the separation criterion, and forms partition data in which log levels are matched. , and store the plurality of log data matched with the log level in the database in reverse order of time.

이 외에도, 본 개시를 구현하기 위한 실행하기 위한 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램이 더 제공될 수 있다.In addition to this, a computer program stored in a computer readable recording medium for execution to implement the present disclosure may be further provided.

이 외에도, 본 개시를 구현하기 위한 방법을 실행하기 위한 컴퓨터 프로그램을 기록하는 컴퓨터 판독 가능한 기록 매체가 더 제공될 수 있다.In addition to this, a computer readable recording medium recording a computer program for executing a method for implementing the present disclosure may be further provided.

본 개시의 전술한 과제 해결 수단에 의하면, 시간의 역순을 기준으로 로그 데이터를 저장 및 관리하기 때문에, 가장 빈번하게 조회되는 최신 로그 데이터를 조회할 때, 쿼리를 통해 검색하고자 하는 역순 로그 데이터 파일에 바로 접근할 수 있어 로그 데이터의 검색 속도가 향상될 수 있다는 효과를 제공할 수 있다.According to the above-mentioned problem solving means of the present disclosure, since log data is stored and managed based on a reverse order of time, when the latest log data that is most frequently viewed is retrieved, a reverse order log data file to be searched through a query is displayed. Since it can be directly accessed, it can provide an effect that the search speed of log data can be improved.

또한, 본 개시의 전술한 과제 해결 수단에 의하면, 복수의 로그 데이터를 그룹지어 관리하거나, 또는 분리 기준에 따라 가공하여 시간의 역순으로 저장하기 때문에, 검색이 용이하도록 로그 데이터의 관리를 보다 효율적으로 할 수 있다.In addition, according to the above-described problem solving means of the present disclosure, since a plurality of log data is grouped and managed, or processed according to a separation criterion and stored in reverse order of time, log data management is more efficient to facilitate search. can do.

본 개시의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The effects of the present disclosure are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the description below.

도 1은 본 개시의 로그 데이터 관리 시스템의 구성을 나타내는 블록도
도 2는 본 개시의 로그 데이터 관리 방법을 설명하기 위한 흐름도
도 3 및 도 4는 도 2의 로그 데이터 관리 방법을 보다 상세하게 설명하기 위한 흐름도
도 5 내지 도 9는 본 개시의 로그 데이터 관리 방법을 설명하기 위한 예시도
도 10은 도 2의 로그 데이터 관리 방법을 보다 상세하게 설명하기 위한 흐름도
1 is a block diagram showing the configuration of a log data management system of the present disclosure;
Figure 2 is a flow chart for explaining the log data management method of the present disclosure
3 and 4 are flowcharts for explaining the log data management method of FIG. 2 in more detail.
5 to 9 are exemplary diagrams for explaining the log data management method of the present disclosure.
10 is a flowchart for explaining the log data management method of FIG. 2 in more detail;

본 개시 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다. 본 개시가 실시예들의 모든 요소들을 설명하는 것은 아니며, 본 개시가 속하는 기술분야에서 일반적인 내용 또는 실시예들 간에 중복되는 내용은 생략한다. 명세서에서 사용되는 '부, 모듈, 부재, 블록'이라는 용어는 소프트웨어 또는 하드웨어로 구현될 수 있으며, 실시예들에 따라 복수의 '부, 모듈, 부재, 블록'이 하나의 구성요소로 구현되거나, 하나의 '부, 모듈, 부재, 블록'이 복수의 구성요소들을 포함하는 것도 가능하다. Like reference numbers designate like elements throughout this disclosure. The present disclosure does not describe all elements of the embodiments, and general content or overlapping content between the embodiments in the technical field to which the present disclosure belongs is omitted. The term 'unit, module, member, or block' used in the specification may be implemented as software or hardware, and according to embodiments, a plurality of 'units, modules, members, or blocks' may be implemented as one component, It is also possible that one 'part, module, member, block' includes a plurality of components.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 직접적으로 연결되어 있는 경우 뿐 아니라, 간접적으로 연결되어 있는 경우를 포함하고, 간접적인 연결은 무선 통신망을 통해 연결되는 것을 포함한다.Throughout the specification, when a part is said to be "connected" to another part, this includes not only the case of being directly connected but also the case of being indirectly connected, and indirect connection includes being connected through a wireless communication network. do.

또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.In addition, when a certain component is said to "include", this means that it may further include other components without excluding other components unless otherwise stated.

명세서 전체에서, 어떤 부재가 다른 부재 "상에" 위치하고 있다고 할 때, 이는 어떤 부재가 다른 부재에 접해 있는 경우뿐 아니라 두 부재 사이에 또 다른 부재가 존재하는 경우도 포함한다.Throughout the specification, when a member is said to be located “on” another member, this includes not only a case where a member is in contact with another member, but also a case where another member exists between the two members.

제 1, 제 2 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위해 사용되는 것으로, 구성요소가 전술된 용어들에 의해 제한되는 것은 아니다. Terms such as first and second are used to distinguish one component from another, and the components are not limited by the aforementioned terms.

단수의 표현은 문맥상 명백하게 예외가 있지 않는 한, 복수의 표현을 포함한다.Expressions in the singular number include plural expressions unless the context clearly dictates otherwise.

각 단계들에 있어 식별부호는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 실시될 수 있다. In each step, the identification code is used for convenience of description, and the identification code does not explain the order of each step, and each step may be performed in a different order from the specified order unless a specific order is clearly described in context. there is.

이하 첨부된 도면들을 참고하여 본 개시의 작용 원리 및 실시예들에 대해 설명한다.Hereinafter, the working principle and embodiments of the present disclosure will be described with reference to the accompanying drawings.

본 명세서에서 '본 개시에 따른 로그 데이터 관리 서버를 비롯한 로그 데이터 관리 시스템 내 각 구성'은 연산처리를 수행하여 사용자에게 결과를 제공할 수 있는 다양한 장치들이 모두 포함된다. 예를 들어, 본 개시에 따른 로그 데이터 관리 시스템 내 각 구성은, 컴퓨터, 서버 장치 및 휴대용 단말기를 모두 포함하거나, 또는 어느 하나의 형태가 될 수 있다.In this specification, 'each component in the log data management system including the log data management server according to the present disclosure' includes all various devices capable of providing results to users by performing calculation processing. For example, each component in the log data management system according to the present disclosure may include a computer, a server device, and a portable terminal, or may be in any one form.

여기에서, 상기 컴퓨터는 예를 들어, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(desktop), 랩톱(laptop), 태블릿 PC, 슬레이트 PC 등을 포함할 수 있다.Here, the computer may include, for example, a laptop computer, a desktop computer, a laptop computer, a tablet PC, a slate PC, and the like equipped with a web browser.

상기 서버 장치는 외부 장치와 통신을 수행하여 정보를 처리하는 서버로써, 애플리케이션 서버, 컴퓨팅 서버, 데이터베이스 서버, 파일 서버, 게임 서버, 메일 서버, 프록시 서버 및 웹 서버 등을 포함할 수 있다.The server device is a server that processes information by communicating with an external device, and may include an application server, a computing server, a database server, a file server, a game server, a mail server, a proxy server, and a web server.

상기 휴대용 단말기는 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), WiBro(Wireless Broadband Internet) 단말, 스마트 폰(Smart Phone) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치와 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트 렌즈, 또는 머리 착용형 장치(head-mounted-device, HMD) 등과 같은 웨어러블 장치를 포함할 수 있다.The portable terminal is, for example, a wireless communication device that ensures portability and mobility, and includes a Personal Communication System (PCS), a Global System for Mobile communications (GSM), a Personal Digital Cellular (PDC), a Personal Handyphone System (PHS), and a PDA. (Personal Digital Assistant), IMT (International Mobile Telecommunication)-2000, CDMA (Code Division Multiple Access)-2000, W-CDMA (W-Code Division Multiple Access), WiBro (Wireless Broadband Internet) terminal, smart phone ) and wearable devices such as watches, rings, bracelets, anklets, necklaces, glasses, contact lenses, or head-mounted-devices (HMDs). can include

도 1은 본 개시의 로그 데이터 관리 시스템의 구성을 나타내는 블록도이다.1 is a block diagram showing the configuration of a log data management system of the present disclosure.

도 1을 참고하면, 로그 데이터 관리 시스템(10)은 로그 데이터 관리 서버(100), 데이터베이스(200) 및 서비스 서버(300)를 포함할 수 있다.Referring to FIG. 1 , the log data management system 10 may include a log data management server 100 , a database 200 and a service server 300 .

로그 데이터 관리 서버(100)는 사용자 단말기(400) 내 에이전트로부터 전송되는 로그 데이터(logDATA)를 수신하면, 이를 시간의 역순으로 저장 및 관리하도록 가공하여 데이터베이스(200)에 저장할 수 있다. Upon receiving the log data (logDATA) transmitted from the agent in the user terminal 400, the log data management server 100 may process and store it in the database 200 to store and manage it in reverse chronological order.

상술한 로그 데이터(logDATA)는 사용자 단말기(400)에서 서비스 서버(300)를 통해 제공되는 콘텐츠 서비스를 이용하는 중에 이루어지는 모든 작업에 대한 정보를 포함하고 있는 데이터를 의미하는 것으로, 파일 형태로 저장될 수 있다. 데이터베이스(200)는 로그 데이터 파일과 매핑된 테이블을 조회할 때, 해당 파일에 접근하여 로그 데이터를 조회할 수 있다. 이러한 로그 데이터는 프로그램 개발이나 운영 시 발생하는 문제점을 추적하거나 운영 상태를 모니터링하기 위한 용도로 사용될 수 있다.The above-described log data (logDATA) refers to data including information on all operations performed while using the content service provided through the service server 300 in the user terminal 400, and can be stored in the form of a file. there is. When the database 200 searches a table mapped with a log data file, it can access the corresponding file and search log data. Such log data can be used for tracking problems that occur during program development or operation, or for monitoring operational status.

사용자 단말기(400)는 로그 데이터가 발생하면 네트워크를 통해 로그 데이터 관리 서버(100)로 로그 데이터를 전송할 수 있다. 이때, 로그 데이터는 사용자 단말기(400)에서의 로그 발생 시간 값을 포함할 수 있다. When log data is generated, the user terminal 400 may transmit the log data to the log data management server 100 through a network. At this time, the log data may include a log generation time value in the user terminal 400 .

상술한 로그 데이터를 사용자 단말기(400) 상에서 분석하는 것은 리소스 측면에서 비효율적이기 때문에, 본 개시에서는 사용자 단말기(400)에 에이전트를 설치하고 에이전트를 통해 로그 데이터를 로그 데이터 관리 서버(100)로 전송하여 분석하도록 하는 것이다.Since analyzing the log data described above on the user terminal 400 is inefficient in terms of resources, in the present disclosure, an agent is installed in the user terminal 400 and log data is transmitted to the log data management server 100 through the agent. is to analyze it.

로그 데이터 관리 서버(100)는 수신한 로그 데이터를 분석하기 위해 쿼리를 통한 데이터 조회 속도를 최적화할 필요가 있다. 이에, 본 개시의 로그 데이터를 일반적인 데이터베이스 형태로 구축하기 보다는 읽기에 최적화된 파일 형태로 구축하기 위해, 로그 데이터 파일의 구조를 로그 분석에 최적화된 형태로 가공하는 것이다.The log data management server 100 needs to optimize a data search speed through a query in order to analyze the received log data. Accordingly, in order to construct the log data of the present disclosure in a file format optimized for reading rather than in a general database format, the structure of the log data file is processed into a format optimized for log analysis.

구체적으로, 로그 데이터 관리 서버(100)는 로그 데이터를 사용자 단말기(400) 상에서의 로그 발생 시간 및 로그 데이터 관리 서버(100)가 로그 데이터를 수신한 시간 중 어느 하나를 기준으로 로그 데이터를 시간의 역순으로 저장할 수 있다. 상기 로그 데이터는 핫 데이터(hot data), 웜 데이터(warm data) 및 콜드 데이터(cold data)의 상태 중 어느 하나 일 수 있다. 이때, 시간의 우선 순위를 기준으로 핫 데이터 -> 웜 데이터 -> 콜드 데이터의 순서일 수 있고, 로그 데이터 관리 서버(100)는 로그 데이터 검색 시 핫 데이터의 로그 데이터가 가장 먼저 검색될 수 있도록 로그 데이터를 처리할 수 있는 것이다. 이후, 로그 데이터 관리 서버(100)는 웜 데이터 및 콜드 데이터 순서로 검색될 수 있도록 로그 데이터를 처리할 수 있다.Specifically, the log data management server 100 converts the log data into time based on any one of the log generation time on the user terminal 400 and the time when the log data management server 100 receives the log data. You can save in reverse order. The log data may be any one of hot data, warm data, and cold data. At this time, the order of hot data -> warm data -> cold data may be based on the priority of time, and the log data management server 100 searches log data so that log data of hot data can be searched first. that can process data. Then, the log data management server 100 may process the log data so that it can be searched in the order of warm data and cold data.

즉, 로그 데이터를 역순으로 저장하기 위한 시간은 로그 발생 시간 및 로그 수신 시간 중 어느 하나 일 수 있는 것이다. 이러한 사항은 운용자의 필요에 따라 사전에 설정될 수 있다.That is, the time for storing log data in reverse order may be any one of log generation time and log reception time. These items can be set in advance according to the needs of the operator.

사용자 단말기(400)는 내비게이션일 수 있으며, 이에 한정되지 않고, 로그 데이터를 발생시키는 각종 콘텐츠 서비스를 제공하기 위한 애플리케이션을 포함하는 단말기일 수 있다. The user terminal 400 may be a navigation device, but is not limited thereto, and may be a terminal including an application for providing various content services that generate log data.

사용자 단말기(400)는 에이전트(agent)를 구비하여 해당 단말기로부터 발생하는 로그 데이터를 수집하여 로그 데이터 관리 서버(100)로 전송할 수 있다. 사용자 단말기(400)가 내비게이션인 경우, 로그 데이터는 내비게이션 상에서 길 안내와 관련되어 발생하는 각종 정보일 수 있다. 또한, 사용자 단말기(400)가 유선 또는 무선 단말기이고, 티켓팅 서비스를 제공하는 애플리케이션이 설치된 경우, 로그 데이터는 티켓팅을 위한 로그인, 일자 및 시간 선택, 좌석 선택, 결제 등과 관련된 정보일 수 있다.The user terminal 400 may include an agent to collect log data generated from the corresponding terminal and transmit the collected log data to the log data management server 100 . If the user terminal 400 is a navigation device, the log data may be various types of information generated in relation to road guidance on the navigation device. In addition, when the user terminal 400 is a wired or wireless terminal and an application providing a ticketing service is installed, the log data may be information related to login for ticketing, date and time selection, seat selection, payment, and the like.

데이터베이스(200)는 로그 데이터 관리 서버(100)로부터 전송되는 가공된 복수의 로그 데이터를 시간의 역순으로 저장할 수 있다. 도 1에서 도시하는 바와 같이, 데이터베이스(200)는 시간의 역순으로 복수의 로그 데이터를 별도로 저장 및 관리하기 위한 제1 데이터베이스(DB1)(210)를 포함할 수 있다. 도시하지 않았지만, 데이터베이스(200)는 제1 데이터베이스(210) 이외에 시간의 오름차순(ASC)에 따라 데이터를 저장 및 관리하는 제2 데이터베이스를 더 포함할 수 있다.The database 200 may store a plurality of processed log data transmitted from the log data management server 100 in reverse chronological order. As shown in FIG. 1 , the database 200 may include a first database DB1 210 for separately storing and managing a plurality of log data in reverse chronological order. Although not shown, the database 200 may further include a second database that stores and manages data in ascending order of time (ASC) in addition to the first database 210 .

데이터베이스(200)는 로그 데이터를 매핑 테이블 형태로 저장 및 관리할 수 있다. 이때, 로그 데이터는 해당 시간이 매칭되어 테이블 형태로 저장될 수 있다. 본 개시에서 시간은 날짜 및 시각을 포함하는 의미로 정의할 수 있다. 추가로, 로그 데이터는 식별정보 등을 더 매칭하여 저장될 수 있다.The database 200 may store and manage log data in the form of a mapping table. In this case, the log data may be stored in a table form by matching corresponding times. In the present disclosure, time may be defined as meaning including date and time. In addition, log data may be stored by further matching identification information and the like.

도 8을 참조하면, 데이터베이스(200)는 로그 데이터 관리 서버(100)의 제어에 따라, 기 설정된 단위로 병합(merge)된 복수의 로그 데이터를 저장할 수 있다. 이때, 기 설정된 단위는 시간 및 로그 데이터 수 중 적어도 하나를 포함할 수 있다. Referring to FIG. 8 , the database 200 may store a plurality of merged log data in preset units under the control of the log data management server 100 . In this case, the preset unit may include at least one of time and the number of log data.

예를 들어, 기 설정된 단위는 초당(per minute), 시간당(per hour) 및 일당(per day)을 포함하는 시간 기준이거나, 또는 30개, 60개 및 24개의 로그 데이터 수 기준이거나, 또는 시간 및 로그 데이터 수를 포함한 기준일 수 있다. For example, the preset unit is a time standard including per minute, per hour, and per day, or based on the number of log data of 30, 60, and 24, or time and It may be a criterion including the number of log data.

데이터베이스(200)는 로그 데이터 관리 서버(100)의 제어에 따라, 콜드(cold) 상태의 로그 데이터에 대한 매핑 테이블을 삭제하거나 압축하여 데이터베이스의 용량을 관리할 수 있다.The database 200 may manage the capacity of the database by deleting or compressing a mapping table for log data in a cold state under the control of the log data management server 100 .

도 1과 같이, 로그 데이터 관리 서버(100)와 데이터베이스(200)는 각각 별도를 구현될 수 있고, 이에 한정되지 않고, 하나의 구성에서 함께 구현될 수도 있다.As shown in FIG. 1 , the log data management server 100 and the database 200 may be separately implemented, but are not limited thereto and may be implemented together in one configuration.

서비스 서버(300)는 콘텐츠 서비스 제공 및 관리와 관련된 각종 데이터를 검색하기 위해 데이터베이스(200)에 접근할 수 있다. 상기 서비스 서버(300)는 내비게이션 서비스, 뮤지컬 및 콘서트 등의 관람을 위한 티켓팅 서비스, 열차 티켓팅 서비스, 의류 및 식품 등의 물품 구매를 위한 쇼핑 서비스, 대학교 수강 신청 서비스 등의 다양한 서비스를 제공하기 위한 서버일 수 있다. 이와 관련하여, 사용자 단말기(400)에는 상술한 다양한 서비스를 제공하기 위한 해당 애플리케이션이 설치될 수 있다.The service server 300 may access the database 200 to search various data related to provision and management of content services. The service server 300 is a server for providing various services such as navigation service, ticketing service for viewing musicals and concerts, train ticketing service, shopping service for purchasing items such as clothing and food, and university course registration service. can be In this regard, a corresponding application for providing the various services described above may be installed in the user terminal 400 .

본 개시의 서비스 서버(300)는 로그 데이터를 검색하되, 본 개시의 데이터베이스(200)에서의 로그 데이터 저장 방식으로 인해, 로그 데이터를 가장 최근 로그 데이터를 우선적으로 검색할 수 있다. 이때, 최근은 로그 데이터의 로그 발생시간이 가장 최근이거나, 로그 데이터의 로그 수신시간이 가장 최근인 것일 수 있다.The service server 300 of the present disclosure searches log data, but due to the log data storage method in the database 200 of the present disclosure, the most recent log data may be preferentially searched. At this time, the most recent log generation time of log data may be the most recent log reception time of log data.

도 1을 참고하면, 로그 데이터 관리 서버(100)는 프로세서(110), 메모리(130) 및 통신부(150)를 포함한다. 이때, 프로세서(110)는 로더부(111), 역순 처리부(113) 및 데이터 처리부(115)를 포함하여 해당 각 구성의 동작을 제어할 수 있다. 도 1에 도시된 구성요소들은 본 개시에 따른 로그 데이터 관리 서버(100)를 구현하는데 있어서 필수적인 것은 아니어서, 본 명세서 상에서 설명되는 로그 데이터 관리 서버(100)는 위에서 열거된 구성요소들 보다 많거나, 또는 적은 구성요소들을 가질 수 있다.Referring to FIG. 1 , the log data management server 100 includes a processor 110 , a memory 130 and a communication unit 150 . At this time, the processor 110 may include the loader unit 111, the reverse processing unit 113, and the data processing unit 115 to control the operation of each component. The components shown in FIG. 1 are not essential to implement the log data management server 100 according to the present disclosure, so the log data management server 100 described in this specification has more or more components than those listed above. , or may have fewer components.

프로세서(110)는 사용자 단말기(400)로부터 전송되는 복수의 로그 데이터를 수신할 수 있다. 이때, 사용자 단말기(400)는 에이전트를 통해 복수의 로그 데이터를 전송할 수 있다.The processor 110 may receive a plurality of log data transmitted from the user terminal 400 . At this time, the user terminal 400 may transmit a plurality of log data through an agent.

프로세서(110)는 복수의 로그 데이터를 시간의 역순으로 축적할 수 있다.The processor 110 may accumulate a plurality of log data in reverse order of time.

프로세서(110)는 복수의 로그 데이터를 기 설정된 기준에 따라 가공할 수 있다.The processor 110 may process a plurality of log data according to preset standards.

일 예로, 프로세서(110)는 복수의 로그 데이터를 축적할 때, 기 설정된 축적시간이 도래하거나, 또는 기 설정된 수의 로그 데이터가 축적된 경우, 축적된 복수의 로그 데이터를 기 설정된 제1 단위로 그룹지어 적어도 하나 이상의 제1 로그 데이터 그룹을 생성할 수 있다.For example, when accumulating a plurality of log data, when a predetermined accumulation time arrives or a predetermined number of log data is accumulated, the processor 110 divides the accumulated plurality of log data into a predetermined first unit. At least one or more first log data groups may be created by grouping.

다른 예로, 프로세서(110)는 복수의 로그 데이터의 구분을 위한 분리 기준을 생성하고, 로그 데이터를 가공할 때, 축적된 복수의 로그 데이터를 분리 기준에 따라 구분하여 로그레벨을 매칭한 파티션 데이터(partition data) 형태로 가공할 수 있다. 이때, 분리 기준은 시간 값을 포함할 수 있다. 즉, 프로세서(110)는 복수의 로그 데이터를 기초로 병합(merge)하여 그룹짓지 않고, 분리 기준에 따라 분리하는 것이다.As another example, the processor 110 generates a separation criterion for classifying a plurality of log data, and when processing the log data, divides the accumulated log data according to the separation criterion to match the log level partition data ( partition data). In this case, the separation criterion may include a time value. That is, the processor 110 does not merge and group a plurality of log data based on a plurality of log data, but separates them according to a separation criterion.

프로세서(110)는 가공된 복수의 로그 데이터를 데이터베이스(200)에 시간의 역순으로 저장되도록 할 수 있다. 이때, 프로세서(110)는 로그 발생 시간 및 로그 수신 시간 중 어느 하나를 기준으로 로그 데이터를 시간의 역순으로 저장할 수 있다.The processor 110 may store a plurality of processed log data in the database 200 in reverse chronological order. In this case, the processor 110 may store the log data in the reverse order of time based on any one of the log generation time and the log reception time.

프로세서(110)는 로그레벨이 매칭된 복수의 로그 데이터를 시간의 역순으로 데이터베이스(200)에 저장할 수 있다.The processor 110 may store a plurality of log data matched with log levels in the database 200 in reverse chronological order.

상술한 프로세서(110)의 상세 설명은 후술하는 도 2 내지 도 4를 통해 자세히 설명하기로 한다.A detailed description of the above-described processor 110 will be described in detail with reference to FIGS. 2 to 4 to be described later.

메모리(130)는 로그 데이터 관리 방법을 제공하기 위한 컴퓨터 프로그램을 저장할 수 있으며, 저장된 컴퓨터 프로그램은 프로세서(110)에 의해 판독되어 구동될 수 있다. 메모리(130)는 프로세서(110)가 생성하거나 결정한 임의의 형태의 정보 및 통신부(150)가 수신한 임의의 형태의 정보를 저장할 수 있다.The memory 130 may store a computer program for providing a log data management method, and the stored computer program may be read and driven by the processor 110 . The memory 130 may store any type of information generated or determined by the processor 110 and any type of information received by the communication unit 150 .

메모리(130)는 로그 데이터 관리 서버(100)의 다양한 기능을 지원하는 데이터와, 프로세서(110)의 동작을 위한 프로그램을 저장할 수 있고, 입/출력되는 데이터들을 저장할 있고, 로그 데이터 관리 서버(100)에서 구동되는 다수의 응용 프로그램(application program 또는 애플리케이션(application)), 로그 데이터 관리 서버(100)의 동작을 위한 데이터들, 명령어들을 저장할 수 있다. 이러한 응용 프로그램 중 적어도 일부는, 무선 통신을 통해 외부 서버로부터 다운로드 될 수 있다. The memory 130 may store data supporting various functions of the log data management server 100 and programs for operating the processor 110, and may store input/output data, and the log data management server 100 ), data and commands for the operation of the log data management server 100 can be stored. At least some of these application programs may be downloaded from an external server through wireless communication.

이러한, 메모리(130)는 플래시 메모리 타입(Flash memory type), 하드디스크 타입(Hard disk type), SSD 타입(Solid State Disk type), SDD 타입(Silicon Disk Drive type), 멀티미디어 카드 마이크로 타입(Multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(Random access memory; RAM), SRAM(Static random access memory), 롬(Read-only memory; ROM), EEPROM(Electrically erasable programmable read-only memory), PROM(Programmable read-only memory), 자기 메모리, 자기 디스크 및 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 또한, 메모리는 본 장치와는 분리되어 있으나, 유선 또는 무선으로 연결된 데이터베이스가 될 수도 있다.The memory 130 may be a flash memory type, a hard disk type, a solid state disk type, a silicon disk drive type, or a multimedia card micro type. micro type), card-type memory (for example, SD or XD memory, etc.), RAM (Random access memory; RAM), SRAM (Static random access memory), ROM (Read-only memory; ROM), EEPROM (Electrically erasable It may include a storage medium of at least one type of a programmable read-only memory (PROM), a programmable read-only memory (PROM), a magnetic memory, a magnetic disk, and an optical disk. In addition, the memory is separate from the present device, but may be a database connected by wire or wireless.

통신부(150)는 외부 장치와 통신을 가능하게 하는 하나 이상의 구성 요소를 포함할 수 있으며, 예를 들어, 방송 수신 모듈, 유선통신 모듈, 무선통신 모듈, 근거리 통신 모듈, 위치정보 모듈 중 적어도 하나를 포함할 수 있다.The communication unit 150 may include one or more components enabling communication with an external device, and for example, at least one of a broadcast reception module, a wired communication module, a wireless communication module, a short-distance communication module, and a location information module. can include

도시하지 않았지만, 본 개시의 로그 데이터 관리 서버(100)는 출력부 및 입력부를 더 포함할 수도 있다. Although not shown, the log data management server 100 of the present disclosure may further include an output unit and an input unit.

출력부는 로그 데이터 가공 결과 등을 제공하기 위한 사용자 인터페이스(UI, user interface)를 표시할 수 있다. 출력부는 프로세서(110)가 생성하거나 결정한 임의의 형태의 정보 및 통신부(150)가 수신한 임의의 형태의 정보를 출력할 수 있다.The output unit may display a user interface (UI) for providing log data processing results and the like. The output unit may output any type of information generated or determined by the processor 110 and any type of information received by the communication unit 150 .

출력부는 액정 디스플레이(LCD: liquid crystal display), 박막 트랜지스터 액정 디스플레이(TFT LCD: thin film transistor- liquid crystal display), 유기 발광 다이오드(OLED: organic light-emitting diode), 플렉시블 디스플레이(Flexible display), 3차원 디스플레이(3D display) 중에서 적어도 하나를 포함할 수 있다. 이들 중 일부 디스플레이 모듈은, 그를 통해 외부를 볼 수 있도록 투명형 또는 광 투과형으로 구성될 수 있다. 이는 투명 디스플레이 모듈이라 지칭될 수 있는데, 상기 투명 디스플레이 모듈의 대표적 인 예로는 TOLED(Transparent OLED) 등이 있다.The output unit includes a liquid crystal display (LCD), a thin film transistor-liquid crystal display (TFT LCD), an organic light-emitting diode (OLED), a flexible display, 3 At least one of 3D displays may be included. Some of these display modules may be of a transparent type or a light transmissive type so that the outside can be seen through them. This may be referred to as a transparent display module, and a representative example of the transparent display module is TOLED (Transparent OLED) and the like.

입력부는 사용자에 의해서 입력된 정보를 수신할 수 있다. 입력부는 사용자에 의해서 입력된 정보를 수신하기 위한 사용자 인터페이스 상의 키 및/또는 버튼들, 또는 물리적인 키 및/또는 버튼들을 구비할 수 있다. 입력부를 통한 사용 자 입력에 따라 본 개시의 실시예들에 따른 디스플레이를 제어하기 위한 컴퓨터 프로그램이 실행될 수 있다.The input unit may receive information input by a user. The input unit may include keys and/or buttons on a user interface or physical keys and/or buttons for receiving information input by a user. A computer program for controlling a display according to embodiments of the present disclosure may be executed according to a user input through an input unit.

도 2는 본 개시의 로그 데이터 관리 방법을 설명하기 위한 흐름도이다.2 is a flowchart illustrating a log data management method of the present disclosure.

본 개시의 로그 데이터 관리 방법을 설명하기 위한 예시도인 도 5 및 도 6을 참조하여 설명하기로 한다.A description will be made with reference to FIGS. 5 and 6, which are exemplary diagrams for explaining the log data management method of the present disclosure.

로그 데이터 관리 서버(100)의 프로세서(110)는 로더부(111)를 통해 복수의 로그 데이터를 수신할 수 있다(1100). 상기 복수의 로그 데이터는 사용자 단말기(400)로부터 최초 수신한 상태의 로그 데이터 및 데이터베이스(200)에 기 저장된 로그 데이터 중 적어도 하나 이상을 포함할 수 있다. 이때, 사용자 단말기(400)로부터 최초 수신한 상태의 로그 데이터는 사용자 단말기에서의 로그 발생 시간 값을 포함할 수 있다. The processor 110 of the log data management server 100 may receive a plurality of log data through the loader unit 111 (1100). The plurality of log data may include at least one of log data initially received from the user terminal 400 and log data pre-stored in the database 200 . At this time, log data of a state initially received from the user terminal 400 may include a log generation time value in the user terminal.

도 5를 참조하면, 프로세서(110)는 시간의 흐름에 따라 복수의 로그 데이터 L1, L2, L3 및 L4 등을 순차적으로 수신하여 메모리(130) 상에 오름차순(ASC)으로 저장할 수 있다.Referring to FIG. 5 , the processor 110 may sequentially receive a plurality of log data L1, L2, L3, L4, etc. over time and store them in the memory 130 in ascending order (ASC).

다음, 프로세서(110)는 역순 처리부(113)를 통해 복수의 로그 데이터를 시간의 역순으로 축적할 수 있다(1200). Next, the processor 110 may accumulate a plurality of log data in reverse order of time through the reverse order processing unit 113 (1200).

이때, 프로세서(110)는 역순 처리부(113)를 통해 로그 발생 시간 및 로그 수신 시간 중 어느 하나를 기준으로 로그 데이터를 시간의 역순으로 저장할 수 있다.In this case, the processor 110 may store the log data in reverse order of time based on any one of the log generation time and the log reception time through the reverse order processing unit 113 .

도 5와 같이, 프로세서(110)는 수신한 복수의 로그 데이터를 토너먼트(tournament) 정렬 방식으로 나열하여 시간의 역순으로 저장될 수 있도록 할 수 있다. 예를 들어, 프로세서(110)는 복수의 로그 데이터 정렬을 L1 ADDR -> L2 ADDR -> L3 ADDR -> L4 ADDR에서 L4 ADDR -> L3 ADDR -> L2 ADDR -> L1 ADDR의 정렬로 변경하여 메모리(130)에 저장할 수 있다. 이때, L4 ADDR가 로그 데이터의 로그 발생시간이 가장 최근이거나 또는 로그 데이터의 로그 수신시간이 가장 최근인 것일 수 있다.As shown in FIG. 5 , the processor 110 may arrange a plurality of received log data in a tournament sorting manner so that they may be stored in reverse chronological order. For example, the processor 110 changes the alignment of the plurality of log data from L1 ADDR -> L2 ADDR -> L3 ADDR -> L4 ADDR to the alignment of L4 ADDR -> L3 ADDR -> L2 ADDR -> L1 ADDR to memory memory (130). In this case, the L4 ADDR may be the most recent log generation time of log data or the most recent log reception time of log data.

프로세서(110)는 역순 처리부(113)를 통해 수신한 로그 데이터를 사용자 단말기(400) 상에서의 로그 발생 시간 및 로더부(111)가 로그 데이터를 수신한 시간 중 어느 하나를 기준으로 로그 데이터를 시간의 역순으로 저장할 수 있다. 즉, 로그 데이터를 역순으로 저장하기 위한 시간은 로그 발생 시간및 로그 수신 시간일 수 있는 것이다. 이러한 사항은 운용자의 필요에 따라 사전에 설정될 수 있다.The processor 110 converts the log data received through the reverse processing unit 113 into time based on any one of the log generation time on the user terminal 400 and the time when the loader unit 111 receives the log data. can be stored in reverse order. That is, the time for storing log data in reverse order may be a log generation time and a log reception time. These items can be set in advance according to the needs of the operator.

다음, 프로세서(110)는 데이터 처리부(115)를 통해 복수의 로그 데이터를 기 설정된 기준에 따라 가공할 수 있다(1300).Next, the processor 110 may process a plurality of log data according to preset criteria through the data processing unit 115 (1300).

도 5 및 도 6을 참고하면, 프로세서(110)는 데이터 처리부(115)를 통해 복수의 로그 데이터 L1, L2, L3 및 L4를 LG1의 그룹으로 형성할 수 있다. 이러한 과정이 반복되어, 도 6과 같이, 프로세서(110)는 데이터 처리부(115)를 통해 LG1, LG2, …LGz 등을 생성할 수 있다.5 and 6 , the processor 110 may form a plurality of log data L1, L2, L3, and L4 into a group of LG1 through the data processing unit 115. This process is repeated, and as shown in FIG. 6, the processor 110 through the data processing unit 115 LG1, LG2, ... LGz, etc. can be generated.

다음, 프로세서(110)는 데이터 처리부(115)를 통해 가공된 복수의 로그 데이터를 데이터베이스(200)에 시간의 역순으로 저장되도록 할 수 있다(1400).Next, the processor 110 may store a plurality of log data processed through the data processing unit 115 in the database 200 in reverse order of time (1400).

구체적으로, 프로세서(110)는 데이터 처리부(115)를 통해 로그 발생 시간 및 로그 수신 시간 중 어느 하나를 기준으로 한 시간의 역순으로 로그 데이터가 데이터베이스(200)에 저장되도록 할 수 있는 것이다. 상기 로그 데이터는 핫 데이터(hot data), 웜 데이터(warm data) 및 콜드 데이터(cold data)의 상태 중 어느 하나 일 수 있다. 이때, 시간의 우선 순위를 기준으로 핫 데이터 -> 웜 데이터 -> 콜드 데이터의 순서일 수 있고, 로그 데이터 관리 서버(100)는 로그 데이터 검색 시 핫 데이터의 로그 데이터가 가장 먼저 검색될 수 있도록 로그 데이터를 처리할 수 있는 것이다. 이후, 로그 데이터 관리 서버(100)는 웜 데이터 및 콜드 데이터 순서로 검색될 수 있도록 로그 데이터를 처리할 수 있다.Specifically, the processor 110 can store log data in the database 200 in the reverse order of time based on any one of the log generation time and the log reception time through the data processing unit 115 . The log data may be any one of hot data, warm data, and cold data. At this time, the order of hot data -> warm data -> cold data may be based on the priority of time, and the log data management server 100 searches log data so that log data of hot data can be searched first. that can process data. Then, the log data management server 100 may process the log data so that it can be searched in the order of warm data and cold data.

이를 위해, 복수의 로그 데이터 각각의 데이터베이스(200) 상에서의 물리 주소(physical address)는 가장 최근의 로그 데이터가 가장 먼저 검색될 수 있도록 할당될 수 있다. 이러한 로그 데이터의 물리 주소 할당은 프로세서(110)의 데이터 처리부(115) 또는 데이터베이스(200)에 의해서 수행될 수 있다. To this end, a physical address on the database 200 of each of a plurality of log data may be assigned so that the most recent log data can be searched first. Physical address allocation of the log data may be performed by the data processor 115 of the processor 110 or the database 200 .

도 6을 참고하면, 프로세서(110)는 데이터 처리부(115)를 통해 가장 최근의 로그 데이터인 LGz가 우선적으로 검색될 수 있도록 로그 데이터를 시간의 역순으로 데이터베이스(200)에 저장할 수 있다.Referring to FIG. 6 , the processor 110 may store log data in the database 200 in reverse chronological order so that the most recent log data LGz may be preferentially searched through the data processing unit 115 .

즉, 서비스 서버(300)에서 로그 데이터 검색이 필요한 경우, 서비스 서버(300)는 가장 최근에 발생한 로그 데이터인 LGz 내 Lz부터 검색하게 되는 것이다.That is, when the service server 300 needs to search for log data, the service server 300 searches from Lz within LGz, which is the most recently generated log data.

도 3은 도 2의 로그 데이터 관리 방법을 보다 상세하게 설명하기 위한 흐름도로서, 복수의 로그 데이터를 이용하여 그룹을 형성하는 경우를 예로 들어 설명하기로 한다.FIG. 3 is a flowchart illustrating the log data management method of FIG. 2 in more detail, and a case of forming a group using a plurality of log data will be described as an example.

이하에서는, 본 개시의 로그 데이터 관리 방법을 설명하기 위한 예시도인 도 6 내지 도 8을 참조하여 설명하기로 한다.Hereinafter, a description will be made with reference to FIGS. 6 to 8, which are exemplary diagrams for explaining the log data management method of the present disclosure.

상술한 도 2의 축적하는 단계(1200)에서, 프로세서(110)는 데이터 처리부(115)를 통해 축적 조건이 일치하였는지 여부를 체크할 수 있다.In the above-described accumulation step 1200 of FIG. 2 , the processor 110 may check whether accumulation conditions match through the data processing unit 115 .

이때, 축적 조건은 기 설정된 축적시간이 도래하거나, 또는 기 설정된 수의 로그 데이터가 축적되었는지 여부를 포함할 수 있다. 즉, 축적 조건은 축적시간 및 로그 데이터의 수 중 적어도 하나를 포함할 수 있다.In this case, the accumulation condition may include whether a preset accumulation time has arrived or whether a preset number of log data has been accumulated. That is, the accumulation condition may include at least one of an accumulation time and the number of log data.

기 설정된 축적시간이 도래하거나, 또는 기 설정된 수의 로그 데이터가 축적되어 축적 조건과 일치하는 경우(2100), 프로세서(110)는 데이터 처리부(115)를 통해 축적된 복수의 로그 데이터를 기 설정된 제1 단위(예를 들어, 3초)로 그룹지어 적어도 하나 이상의 제1 로그 데이터 그룹을 생성할 수 있다(2200). 이때, 제1 로그 데이터 그룹 내 복수의 로그 데이터 역시 시간의 역순으로 저장될 수 있도록 나열될 수 있다.When a preset accumulation time arrives or when a preset number of log data is accumulated and meets the accumulation condition (2100), the processor 110 transfers the plurality of log data accumulated through the data processing unit 115 to a preset number of log data. At least one first log data group may be generated by grouping by 1 unit (eg, 3 seconds) (2200). In this case, a plurality of log data in the first log data group may also be listed in reverse chronological order.

예를 들어, 도 6을 참고하면, 프로세서(110)는 복수의 로그 데이터 L1, L2, L3 및 L4를 3초 단위로 그룹지어 LG1의 제1 로그 데이터 그룹으로 형성할 수 있다. 이후, 축적 조건이 일치하는 경우, 프로세서(110)는 L5, L6, L7 및 L8을 LG2의 제1 로그 데이터 그룹으로 형성할 수 있다. 프로세서(110)는 상술한 과정을 반복하여, LG1, LG2, …LGz의 제1 로그 데이터 그룹들을 형성할 수 있다.For example, referring to FIG. 6 , the processor 110 may group a plurality of log data L1, L2, L3, and L4 in units of 3 seconds to form a first log data group of LG1. Thereafter, when the accumulation conditions are identical, the processor 110 may form L5, L6, L7, and L8 as a first log data group of LG2. The processor 110 repeats the above process, LG1, LG2, ... First log data groups of LGz may be formed.

다음, 프로세서(110)는 데이터 처리부(115)를 통해 적어도 하나 이상의 제1 로그 데이터 그룹을 제2 단위로 그룹지어 제2 로그 데이터 그룹을 생성할 수 있다(2300). 상기 제2 단위는 제1 단위 보다 큰 시간 또는 큰 수를 포함하는 기준일 수 있다. 예를 들어, 제1 단위가 3초인 경우, 제2 단위는 30초일 수 있다.Next, the processor 110 may generate a second log data group by grouping at least one or more first log data groups into a second unit through the data processing unit 115 (2300). The second unit may be a criterion including a larger time or a larger number than the first unit. For example, when the first unit is 3 seconds, the second unit may be 30 seconds.

프로세서(110)는 데이터 처리부(115)를 통해 상술한 과정을 반복하여 대규모 단위의 역순 병합 파일을 생성할 수 있다. 예를 들어, 프로세서(110)는 데이터 처리부(115)를 통해 제1 단위-> 제2 단위-> …제N 단위의 역순 로그 데이터 그룹을 형성할 수 있는 것이다. 이때, 제2 단위는 제1 단위보다 기준치가 크고, 제N 단위는 이전 단위보다 기준치가 클 수 있다.The processor 110 may repeat the above-described process through the data processing unit 115 to generate a large-scale reverse order merge file. For example, the processor 110 via the data processor 115 first unit -> second unit -> ... It is possible to form a reverse order log data group of the Nth unit. In this case, the second unit may have a larger reference value than the first unit, and the Nth unit may have a larger reference value than the previous unit.

도 7을 참고하면, 프로세서(110)는 데이터 처리부(115)를 통해 LG1 및 LG2를 병합하여 LG-A의 제2 로그 데이터 그룹으로 형성하고, LG3 및 LG4를 병합하여 LG-B의 제2 로그 데이터 그룹으로 형성할 수 있다. Referring to FIG. 7 , the processor 110 merges LG1 and LG2 through the data processor 115 to form a second log data group of LG-A, and merges LG3 and LG4 to form a second log data group of LG-B. Data can be formed into groups.

상술한 과정을 통해 가공된 제2 로그 데이터 그룹들은 가장 최근을 기준으로 복수의 로그 데이터의 집합으로 구성된 그룹이 가장 우선적으로 검색될 수 있도록 시간의 역순을 기준으로 데이터베이스(200)에 저장될 수 있다. 이때, 최근은 로그 데이터의 로그 발생시간이 가장 최근이거나 또는 로그 데이터의 로그 수신시간이 가장 최근인 것일 수 있다.The second log data groups processed through the above process may be stored in the database 200 in reverse chronological order so that a group composed of a plurality of log data sets based on the most recent one can be searched first. . At this time, the most recent log generation time of log data may be the most recent log reception time of log data.

예를 들어, 도 7을 참고하면, LG-A 및 LG-B가 존재하는 경우, LG-A 보다 더 최근의 LG-B가 우선적으로 검색될 수 있도록 데이터베이스(200)에 저장할 수 있는 것이다. For example, referring to FIG. 7 , when LG-A and LG-B exist, LG-B that is more recent than LG-A can be stored in the database 200 so that it can be searched with priority.

한편, 도 8을 참고하면, 프로세서(110)는 데이터 처리부(115)를 통해 데이터베이스(200)에 기 설정된 단위로 병합(merge)된 복수의 로그 데이터를 저장하도록 제어할 수 있다. 이때, 기 설정된 단위는 시간 및 로그 데이터 수 중 적어도 하나를 포함할 수 있다. Meanwhile, referring to FIG. 8 , the processor 110 may control the database 200 through the data processing unit 115 to store a plurality of merged log data in a preset unit. In this case, the preset unit may include at least one of time and the number of log data.

예를 들어, 기 설정된 단위는 초당(per minute), 시간당(per hour) 및 일당(per day)을 포함하는 시간 기준이거나, 또는 30개, 60개 및 24개의 로그 데이터 수 기준이거나, 또는 시간 및 로그 데이터 수를 포함한 기준일 수 있다. For example, the preset unit is a time standard including per minute, per hour, and per day, or based on the number of log data of 30, 60, and 24, or time and It may be a criterion including the number of log data.

프로세서(110)는 콜드(cold) 상태의 로그 데이터에 대한 매핑 테이블을 삭제하거나 압축하여 데이터베이스(200)의 용량을 관리하도록 제어할 수 있다.The processor 110 may control to manage the capacity of the database 200 by deleting or compressing a mapping table for log data in a cold state.

다른 한편, 로그 데이터에 대한 필터를 적용한 조회의 경우, 동시에 여러 테이블(파일)에 접근해서 조회를 수행하기 때문에, 조회 시간이 늘어날 수 있다.On the other hand, in the case of a query to which a filter for log data is applied, the query time may increase because several tables (files) are accessed and the query is performed at the same time.

예를 들어, 특정 시간구간(ts) 사이의 값 중에서 특정 로그 레벨을 조회하고자 하는 경우, 여러 테이블(파일)을 조회할 때 사용하는 일반적인 형태인 view 객체를 적용하게 되면, 관련 테이블(파일) 병합 후 해당 테이블(파일) 전체에서 특정 로그 레벨을 만족하는 데이터를 조회하기 때문에 속도 저하가 발생할 수 있다. 검색하고자 하는 로그 레벨이 1개라면, 검색하고자 하는 시간구간 내 모든 후보 로그 데이터 테이블을 UNION ALL한 inline VIEW를 구성한 후 해당 1개의 로그 레벨에 대응되는 로그 데이터를 획득할 수 있는 것이다. For example, if you want to search a specific log level among values within a specific time interval (ts), apply a view object, which is a general form used when searching multiple tables (files), to merge related tables (files). Afterwards, data that satisfies a specific log level is retrieved from the entire table (file), so speed may be slowed down. If there is only one log level to be searched for, log data corresponding to that one log level can be obtained after constructing an inline view by UNION ALLing all candidate log data tables within the time period to be searched.

이에, 본 개시는 검색하고자 하는 로그 레벨이 1개이고, 검색하고자 하는 시간구간 내 후보 로그 데이터 테이블 중 첫 번째 테이블만 조회하기 위해, view 대신에 파티션 테이블 기능을 적용하여, 관련 테이블(파일)을 병합하지 않고 개별 접근하여 조건에 맞는 데이터를 조회할 수 있도록 로그 데이터를 관리할 수 있다. 이에 대한 상세 설명은 후술하기로 한다.Accordingly, the present disclosure applies a partition table function instead of a view to merge related tables (files) in order to retrieve only the first table among candidate log data tables within the time interval to be searched when the log level to be searched is one. You can manage log data so that you can search data that meets the conditions by accessing it individually without doing so. A detailed description of this will be described later.

도 4는 도 2의 로그 데이터 관리 방법을 보다 상세하게 설명하기 위한 흐름도로서, 로그 데이터를 병합하여 그룹으로 형성하지 않고 분리하여 파티션 테이블(partition table) 형태로 관리되도록 하는 경우를 예로 들어 설명하기로 한다.FIG. 4 is a flowchart for explaining the log data management method of FIG. 2 in more detail. An example of managing log data in the form of a partition table by separating log data rather than merging them into groups will be described. do.

이하에서는, 본 개시의 로그 데이터 관리 방법을 설명하기 위한 예시도인 도 9를 참조하여 설명하기로 한다.Hereinafter, it will be described with reference to FIG. 9, which is an exemplary view for explaining the log data management method of the present disclosure.

도 2의 가공하는 단계(1300) 이전에, 프로세서(110)는 데이터 처리부(115)를 통해 복수의 로그 데이터의 구분을 위한 분리 기준을 생성할 수 있다(3100). 이때, 프로세서(110)는 데이터 처리부(115)를 통해 시간 값을 기초로 복수의 로그 데이터를 구분할 수 있도록 할 수 있다.Prior to the processing step 1300 of FIG. 2 , the processor 110 may generate a separation criterion for classifying a plurality of log data through the data processing unit 115 (3100). In this case, the processor 110 may distinguish a plurality of log data based on time values through the data processing unit 115 .

구체적으로, 프로세서(110)는 데이터 처리부(115)를 통해 시간에 따른 트래픽의 변화를 기준으로 로그 데이터를 구분하도록 분리 기준을 생성하거나, 또는 로그 데이터의 시간을 기준으로 구분하도록 분리 기준을 생성할 수 있다. 이때, 시간은 로그 데이터의 로그 발생 시간 및 로그 수신 시간 중 어느 하나일 수 있다. Specifically, the processor 110 generates a separation criterion to classify log data based on a change in traffic over time through the data processing unit 115 or creates a separation criterion to classify log data based on time. can In this case, the time may be any one of log generation time and log reception time of log data.

상술한 시간에 따른 트래픽의 변화는 서비스 서버(300)가 서비스 제공 시 시간의 흐름에 따라 발생하는 트래픽 변화를 의미할 수 있다. 이때, 프로세서(110)는 데이터 처리부(115)를 통해 시간 흐름에 따른 트래픽량의 변화 곡선을 기 설정된 기준에 따라 구분하여, 분리 기준으로 설정할 수 있다. The aforementioned change in traffic over time may mean a change in traffic that occurs over time when the service server 300 provides a service. At this time, the processor 110 may classify the curve of change in traffic volume according to the lapse of time through the data processing unit 115 according to a predetermined criterion and set it as a separation criterion.

예를 들어, 서비스 서버(300)가 티켓팅 서비스를 제공하는 경우, 로그인, 좌석선택 및 결제와 같은 서비스 절차를 진행하면서, 트래픽량의 변화가 발생할 수 있다. 프로세서(110)는 데이터 처리부(115)를 통해 특정 시간 구간에서 트래픽량이 최고인 시점, 트래픽량이 최하인 시점, 트래픽량의 상승 정도가 기준치 이상인 시점, 트래픽량의 하강 정도가 기준치 이상인 시점 및 이들의 조합 중 적어도 하나 이상을 포함하여 분리 기준으로 설정할 수 있다.For example, when the service server 300 provides a ticketing service, changes in traffic volume may occur while performing service procedures such as login, seat selection, and payment. The processor 110, through the data processing unit 115, determines the time when the traffic volume is the highest in a specific time period, the time when the traffic volume is the lowest, the time when the traffic volume rises above a reference value, the traffic volume falls above a reference value, and combinations thereof. It can be set as a separation criterion including at least one of them.

다음, 도 2의 로그 데이터를 가공하는 단계(1300)에서, 프로세서(110)는 데이터 처리부(115)를 통해 축적된 복수의 로그 데이터를 분리 기준에 따라 구분하여 로그레벨을 매칭한 파티션 데이터 형태로 가공할 수 있다(3200). 일 예로, 로그레벨은 로그 데이터의 날짜 및 시각을 포함할 수 있다. 도 9와 같이, 로그레벨은 로그 데이터를 검색하기 위한 것일 수 있다.Next, in step 1300 of processing the log data of FIG. 2, the processor 110 divides the plurality of log data accumulated through the data processing unit 115 according to a separation criterion, and converts the log level into a partition data format matching the log level. Can be processed (3200). For example, the log level may include the date and time of log data. As shown in FIG. 9, the log level may be for searching log data.

다른 예로, 상기 로그레벨은 TRACE, DEBUG, INFO, WARN, ERROR 및 FATAL을 포함할 수 있으며, 이에 한정되지 않고, 운용자의 필요에 따라 변경 가능하다 할 것이다.As another example, the log level may include TRACE, DEBUG, INFO, WARN, ERROR, and FATAL, but is not limited thereto and may be changed according to the operator's needs.

상기 TRACE는 디버그 레벨이 너무 광범위한 것을 해결하기 위해서 좀 더 상세한 이벤트, DEBUG는 개발 시 디버그 용도로 사용하는 메시지, INFO는 어떠한 상태 변경과 같은 정보성 메시지, WARN은 프로그램의 실행에는 문제가 없지만, 향후 시스템 에러의 원인이 될 수 있는 경고성 메시지,  ERROR는 어떠한 요청을 처리하는 중 문제가 발생한 상태로 프로그램 동작에 큰 문제가 발생했다는 것으로 즉시 문제를 조사해야 하는 것, FATAL은 아주 심각한 에러가 발생한 상태를 의미할 수 있다.The above TRACE is a more detailed event to solve the problem that the debug level is too broad, DEBUG is a message used for debugging purposes during development, INFO is an informational message such as any state change, and WARN is no problem with program execution, but in the future Warning messages that can cause system errors,  ERROR is a state in which a problem has occurred while processing a certain request, and a major problem has occurred in program operation. can mean

다음, 도 2의 로그 데이터를 데이터베이스에 저장하는 단계(1400)에서, 프로세서(110)는 데이터 처리부(115)를 통해 로그레벨이 매칭된 복수의 로그 데이터를 데이터베이스(200)에 시간의 역순으로 저장할 수 있다(3300).Next, in step 1400 of storing the log data of FIG. 2 in the database, the processor 110 stores a plurality of log data matched with log levels through the data processing unit 115 in the database 200 in reverse chronological order. can (3300).

다음, 프로세서(110)는 데이터 처리부(115)를 통해 로그레벨을 서비스 서버(300)로 전송하여 공유할 수 있다(3400). 이후, 도 9에서 도시하는 바와 같이, 서비스 서버(300)는 특정 로그레벨에 부합하는 로그 데이터를 검색할 수 있다.Next, the processor 110 may share the log level by transmitting it to the service server 300 through the data processing unit 115 (3400). After that, as shown in FIG. 9 , the service server 300 may search for log data corresponding to a specific log level.

도 9에서, LG1, LG2, …LG은 분리 기준에 따라 분리된 단위일 수 있다. 이러한 경우, 서비스 서버(300)는 시간의 역순으로 저장된 전체 로그 데이터를 검색 우선 순위를 기준으로 LGz -> …-> LG2 -> LG1 순으로 검색하는 것이 아니라, 각각으로 분리된 로그 데이터에서 특정 로그레벨에 부합하는 데이터를 조회할 수 있기 때문에, 검색 속도가 더욱 빨라질 수 있다는 효과를 기대할 수 있다.In Figure 9, LG1, LG2, ... LG may be a unit separated according to a separation criterion. In this case, the service server 300 searches the entire log data stored in reverse order of time based on search priority, LGz -> . . . Instead of searching in the order of -> LG2 -> LG1, you can look up data that meets a specific log level in each separated log data, so you can expect an effect that the search speed can be further increased.

도 10은 도 2의 로그 데이터 관리 방법을 보다 상세하게 설명하기 위한 흐름도로서, 로그 데이터를 분리하는 경우의 다른 예를 설명하기로 한다.10 is a flowchart for explaining the log data management method of FIG. 2 in more detail, and another example of separating log data will be described.

도 2의 가공하는 단계(1300) 이전에, 프로세서(110)는 데이터 처리부(115)를 통해 서비스 서버(300)로부터 요청되어 데이터베이스(200)를 통해 수신한 특정 로그레벨 데이터의 조회 요청을 수신할 수 있다(4100). 이때, 특정 로그레벨 데이터의 조회 요청은 조회할 시간 범위 및 로그레벨을 포함할 수 있다. Prior to the processing step 1300 of FIG. 2, the processor 110 receives a query request for specific log level data requested from the service server 300 through the data processing unit 115 and received through the database 200. can (4100). At this time, the search request for specific log level data may include a time range and log level to be searched.

다음, 도 2의 로그 데이터를 가공하는 단계(1300)에서, 프로세서(110)는 데이터 처리부(115)를 통해 축적된 복수의 로그 데이터를 날짜 및 시각을 기초로 구분하여 로그레벨을 매칭한 파티션 데이터 형태로 가공할 수 있다(4200). 즉, 프로세서(110)는 복수의 로그 데이터를 시간 값으로 구분할 수 있는 것이다. 이때, 로그레벨은 로그 데이터의 날짜 및 시각을 포함할 수 있다. 상기 날짜 및 시각은 로그 발생 날짜 및 시각이거나, 또는 로그 수신 날짜 및 시각일 수 있다. Next, in step 1300 of processing the log data of FIG. 2, the processor 110 divides the plurality of log data accumulated through the data processing unit 115 based on the date and time, and the partition data matched with the log level. It can be processed into a shape (4200). That is, the processor 110 can classify a plurality of log data into time values. In this case, the log level may include the date and time of log data. The date and time may be a log generation date and time, or a log reception date and time.

상기 로그 데이터의 날짜 및 시각을 결정하는 기준은 서비스 서버(300)와 사전에 공유되어, 서비스 서버(300)로부터 전송되는 특정 로그레벨 데이터의 조회 요청에 포함된 조회할 시간 범위 및 로그레벨의 기준과도 일치될 수 있다. 예를 들어, 프로세서(110)에서의 로그 데이터의 날짜 및 시각이 로그 발생 시간(날짜 및 시각 포함)인 경우, 서비스 서버(300)에서의 시간 범위 및 로그레벨 내 시간 역시 로그 발생 시간을 기준으로 한 것일 수 있다.The criterion for determining the date and time of the log data is shared with the service server 300 in advance, and the reference time range and log level to be inquired included in the inquiry request for specific log level data transmitted from the service server 300 can also be matched. For example, if the date and time of the log data in the processor 110 is the log generation time (including the date and time), the time within the log level and the time range in the service server 300 is also based on the log generation time. it may have been

다음, 도 2의 로그 데이터를 데이터베이스에 저장하는 단계(1400)에서, 프로세서(110)는 데이터 처리부(115)를 통해 로그레벨이 매칭된 복수의 로그 데이터를 데이터베이스(200)에 시간의 역순으로 저장할 수 있다(4300).Next, in step 1400 of storing the log data of FIG. 2 in the database, the processor 110 stores a plurality of log data matched with log levels through the data processing unit 115 in the database 200 in reverse chronological order. can (4300).

로그 데이터 관리 서버(100)는 로그 데이터를 로그 발생 시간 및 로그 수신 시간 중 어느 하나를 기준으로 로그 데이터를 시간의 역순으로 저장할 수 있다.The log data management server 100 may store log data in reverse chronological order based on any one of log generation time and log reception time.

이후, 도시하지 않았지만, 데이터베이스(200)는 서비스 서버(300)로부터의 특정 로그레벨 데이터의 조회 요청 내 시간 범위 및 로그 레벨에 매칭되는 로그 데이터를 검색 및 추출하여 서비스 서버(300)로 회신할 수 있다.Then, although not shown, the database 200 searches and extracts log data that matches the time range and log level within the search request of specific log level data from the service server 300 and returns it to the service server 300. there is.

한편, 전술한 본 개시에 따른 방법은, 하드웨어인 서버와 결합되어 실행되기 위해 프로그램(또는 애플리케이션)으로 구현되어 매체에 저장될 수 있다.On the other hand, the method according to the present disclosure described above may be implemented as a program (or application) to be executed in combination with a server, which is hardware, and stored in a medium.

개시된 실시예들은 컴퓨터에 의해 실행 가능한 명령어를 저장하는 기록매체의 형태로 구현될 수 있다. 명령어는 프로그램 코드의 형태로 저장될 수 있으며, 프로세서에 의해 실행되었을 때, 프로그램 모듈을 생성하여 개시된 실시예들의 동작을 수행할 수 있다. 기록매체는 컴퓨터로 읽을 수 있는 기록매체로 구현될 수 있다.The disclosed embodiments may be implemented in the form of a recording medium storing instructions executable by a computer. Instructions may be stored in the form of program codes, and when executed by a processor, create program modules to perform operations of the disclosed embodiments. The recording medium may be implemented as a computer-readable recording medium.

컴퓨터가 읽을 수 있는 기록매체로는 컴퓨터에 의하여 해독될 수 있는 명령어가 저장된 모든 종류의 기록 매체를 포함한다. 예를 들어, ROM(Read Only Memory), RAM(Random Access Memory), 자기 테이프, 자기 디스크, 플래쉬 메모리, 광 데이터 저장장치 등이 있을 수 있다. Computer-readable recording media include all types of recording media in which instructions that can be decoded by a computer are stored. For example, there may be read only memory (ROM), random access memory (RAM), magnetic tape, magnetic disk, flash memory, optical data storage device, and the like.

이상에서와 같이 첨부된 도면을 참조하여 개시된 실시예들을 설명하였다. 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자는 본 개시의 기술적 사상이나 필수적인 특징을 변경하지 않고도, 개시된 실시예들과 다른 형태로 본 개시가 실시될 수 있음을 이해할 것이다. 개시된 실시예들은 예시적인 것이며, 한정적으로 해석되어서는 안 된다.As above, the disclosed embodiments have been described with reference to the accompanying drawings. Those skilled in the art to which the present disclosure pertains will understand that the present disclosure may be implemented in a form different from the disclosed embodiments without changing the technical spirit or essential features of the present disclosure. The disclosed embodiments are illustrative and should not be construed as limiting.

10: 로그 데이터 관리 시스템
100: 로그 데이터 관리 서버
110: 프로세서
111: 로더부
113: 역순 처리부
115: 데이터 처리부
130: 메모리
150: 통신부
200: 데이터베이스
210: 제1 데이터베이스
300: 서비스 서버
10: Log data management system
100: log data management server
110: processor
111: loader unit
113: reverse order processing unit
115: data processing unit
130: memory
150: communication department
200: database
210: first database
300: service server

Claims (10)

장치에 의해 수행되는 방법에 있어서,
수신한 복수의 로그데이터를 토너먼트 정렬 방식으로 나열하여 로그 발생 시간 또는 로그 수신 시간의 역순으로 축적하는 단계;
축적된 상기 복수의 로그데이터를 제1단위로 그룹지어 복수의 제1로그데이터 그룹을 생성하는 단계;
그룹으로 생성된 상기 복수의 로그데이터를 시간에 따른 트래픽량의 변화 곡선을 기 설정된 기준에 따라 구분한 분리기준을 기초로 구분하고 로그레벨을 매칭한 파티션 데이터 형태로 가공하는 단계;
가공된 상기 로그레벨이 매칭된 상기 복수의 로그데이터를 가장 최근의 로그데이터가 가장 먼저 검색될 수 있도록 데이터베이스에서의 물리 주소를 할당하여 시간의 역순으로 저장하는 단계; 및
상기 복수의 제1로그데이터 그룹을 제2단위로 그룹지어 제2로그데이터 그룹을 생성하는 단계를 포함하고,
상기 분리기준은 특정 시간구간에서 트래픽량이 최고인 시점, 트래픽량이 최하인 시점, 트래픽량의 상승정도가 기준치 이상인 시점, 트래픽량의 하강정도가 기준치 이상인 시점 및 이들의 조합 중 적어도 하나 이상을 포함하며, 및
상기 제2단위는 상기 제1단위 보다 큰 시간 또는 큰 수를 포함하는 기준인, 로그데이터 관리 방법.
In the method performed by the device,
arranging a plurality of received log data in a tournament sorting manner and accumulating in reverse order of log generation time or log reception time;
generating a plurality of first log data groups by grouping the plurality of accumulated log data in a first unit;
dividing the plurality of log data generated as a group based on a separation criterion in which a traffic volume change curve over time is classified according to a predetermined criterion and processing the log data into a form of partition data in which log levels are matched;
assigning physical addresses in a database to store the plurality of log data matched with the processed log levels in reverse chronological order so that the most recent log data can be retrieved first; and
generating a second log data group by grouping the plurality of first log data groups into a second unit;
The separation criterion includes at least one of the time when the traffic volume is the highest, the time when the traffic volume is the lowest, the time when the traffic volume rises above a reference value, the time when the traffic volume falls above a reference value, and a combination thereof, and
The second unit is a criterion including a larger time or a larger number than the first unit, log data management method.
삭제delete 삭제delete 삭제delete 제1항에 있어서,
상기 로그레벨이 매칭된 상기 복수의 로그 데이터를 시간의 역순으로 저장하는 단계 이후에,
상기 장치가 상기 로그레벨을 서비스 서버로 전송하여 공유하는 단계;를 더 포함하는, 로그데이터 관리 방법.
According to claim 1,
After the step of storing the plurality of log data matched with the log level in reverse order of time,
The log data management method further comprising the step of transmitting and sharing, by the device, the log level to a service server.
삭제delete 컴퓨터와 결합되어, 제1항 및 제5항 중 어느 한 항의 로그데이터 관리 방법을 실행시키기 위하여 컴퓨터 판독 가능한 기록매체에 저장된 프로그램.
A program stored in a computer readable recording medium in order to execute the log data management method of any one of claims 1 and 5, coupled with a computer.
로더부;
역순 처리부; 및
데이터 처리부의 동작을 제어하는 프로세서를 포함하고,
상기 프로세서는,
수신한 복수의 로그데이터를 토너먼트 정렬 방식으로 나열하여 로그 발생 또는 수신 시간의 역순으로 축적하고,
축적된 상기 복수의 로그데이터를 제1단위로 그룹지어 복수의 제1로그데이터 그룹을 생성하고,
그룹으로 생성된 상기 복수의 로그데이터를 시간에 따른 트래픽량의 변화 곡선을 기 설정된 기준에 따라 구분한 분리기준을 기초로 구분하고 로그레벨을 매칭한 파티션 데이터 형태로 가공하고,
가공된 상기 로그레벨이 매칭된 상기 복수의 로그데이터를 가장 최근의 로그데이터가 가장 먼저 검색될 수 있도록 데이터베이스에서의 물리 주소를 할당하여 시간의 역순으로 저장하고, 및
상기 복수의 제1로그데이터 그룹을 제2단위로 그룹지어 제2로그데이터 그룹을 생성하며,
상기 분리기준은 특정 시간구간에서 트래픽량이 최고인 시점, 트래픽량이 최하인 시점, 트래픽량의 상승정도가 기준치 이상인 시점, 트래픽량의 하강정도가 기준치 이상인 시점 및 이들의 조합 중 적어도 하나 이상을 포함하고, 및
상기 제2단위는 상기 제1단위 보다 큰 시간 또는 큰 수를 포함하는 기준인, 로그데이터 관리 서버.
loader unit;
reverse order processing unit; and
Includes a processor for controlling the operation of the data processing unit;
the processor,
A plurality of received log data is listed in a tournament sorting method and accumulated in the reverse order of log generation or reception time,
generating a plurality of first log data groups by grouping the plurality of accumulated log data in a first unit;
The plurality of log data generated as a group is classified based on a separation criterion in which a curve of traffic volume change over time is classified according to a predetermined criterion and processed into a partition data form in which log levels are matched,
assigning physical addresses in the database so that the most recent log data can be searched first for the plurality of log data matched with the processed log level, and storing them in reverse chronological order; and
Grouping the plurality of first log data groups into a second unit to create a second log data group;
The separation criterion includes at least one of the time when the traffic volume is the highest, the time when the traffic volume is the lowest, the time when the traffic volume rises above a reference value, the time when the traffic volume falls above a reference value, and a combination thereof, and
The second unit is a criterion including a time or a larger number than the first unit, the log data management server.
삭제delete 삭제delete
KR1020220156749A 2022-11-21 2022-11-21 Log data management method and server for improving search speed of log data based on digital KR102519006B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220156749A KR102519006B1 (en) 2022-11-21 2022-11-21 Log data management method and server for improving search speed of log data based on digital

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220156749A KR102519006B1 (en) 2022-11-21 2022-11-21 Log data management method and server for improving search speed of log data based on digital

Publications (1)

Publication Number Publication Date
KR102519006B1 true KR102519006B1 (en) 2023-04-07

Family

ID=85979214

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220156749A KR102519006B1 (en) 2022-11-21 2022-11-21 Log data management method and server for improving search speed of log data based on digital

Country Status (1)

Country Link
KR (1) KR102519006B1 (en)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100645529B1 (en) * 2005-08-11 2006-11-14 엔에이치엔(주) Log management system capable of log processing and method using the same
JP2010541102A (en) * 2007-10-02 2010-12-24 ログロジック,インコーポレーテッド How to find related events in log data
KR20120085375A (en) 2011-01-24 2012-08-01 주식회사 옥시젠컴퓨팅 Analysis system for log data
CN104809156A (en) * 2015-03-24 2015-07-29 北京锐安科技有限公司 Evidence information recording method and device
US20160335304A1 (en) * 2015-05-14 2016-11-17 Walleye Software, LLC Data partitioning and ordering
KR20170056860A (en) * 2015-11-16 2017-05-24 삼성전자주식회사 Method of generating image and apparatus thereof
KR101744317B1 (en) * 2016-10-13 2017-06-20 (주)스파코사 Sever and method for managing position change of terminals
KR20210000041A (en) * 2019-06-24 2021-01-04 허제민 Method and apparatus for analyzing log data in real time
KR20220015526A (en) * 2020-07-31 2022-02-08 네이버웹툰 유한회사 Method and system for providing contents
CN115168030A (en) * 2022-06-24 2022-10-11 天翼爱音乐文化科技有限公司 Dynamic regulation and control log acquisition and processing method and device and storage medium
CN115357689A (en) * 2022-10-18 2022-11-18 盛业信息科技服务(深圳)有限公司 Data processing method, device and medium of distributed log and computer equipment

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100645529B1 (en) * 2005-08-11 2006-11-14 엔에이치엔(주) Log management system capable of log processing and method using the same
JP2010541102A (en) * 2007-10-02 2010-12-24 ログロジック,インコーポレーテッド How to find related events in log data
US20130185286A1 (en) * 2007-10-02 2013-07-18 Boris Galitsky Searching for associated events in log data
KR20120085375A (en) 2011-01-24 2012-08-01 주식회사 옥시젠컴퓨팅 Analysis system for log data
CN104809156A (en) * 2015-03-24 2015-07-29 北京锐安科技有限公司 Evidence information recording method and device
US20160335304A1 (en) * 2015-05-14 2016-11-17 Walleye Software, LLC Data partitioning and ordering
KR20170056860A (en) * 2015-11-16 2017-05-24 삼성전자주식회사 Method of generating image and apparatus thereof
KR101744317B1 (en) * 2016-10-13 2017-06-20 (주)스파코사 Sever and method for managing position change of terminals
KR20210000041A (en) * 2019-06-24 2021-01-04 허제민 Method and apparatus for analyzing log data in real time
KR20220015526A (en) * 2020-07-31 2022-02-08 네이버웹툰 유한회사 Method and system for providing contents
CN115168030A (en) * 2022-06-24 2022-10-11 天翼爱音乐文化科技有限公司 Dynamic regulation and control log acquisition and processing method and device and storage medium
CN115357689A (en) * 2022-10-18 2022-11-18 盛业信息科技服务(深圳)有限公司 Data processing method, device and medium of distributed log and computer equipment

Similar Documents

Publication Publication Date Title
US10332009B2 (en) Predicting user navigation events
US9141722B2 (en) Access to network content
CN102301358B (en) Textual disambiguation using social connections
US9613009B2 (en) Predicting user navigation events
US9443197B1 (en) Predicting user navigation events
US8954524B1 (en) Access to network content
US20130185106A1 (en) Using social media objects for content curation, management, and engagement facilitation
US20180203929A1 (en) Online learning of click-through rates on federated search results
CN112491602B (en) Behavior data monitoring method and device, computer equipment and medium
KR101765296B1 (en) Apparatus and method for providing data analysis tool with user created analysis module
US20120284299A1 (en) Preventing leakage of information over a network
CN113204621A (en) Document storage method, document retrieval method, device, equipment and storage medium
US20210004420A1 (en) Post-ranker for search results
CN104718556A (en) Defining relevant content area based on category density
CN112308590A (en) Parameter processing method and device, computing equipment and storage medium
KR102519006B1 (en) Log data management method and server for improving search speed of log data based on digital
CN112417248A (en) Recommendation method, device, model, equipment and storage medium for addressing keywords
US20170169118A1 (en) Populating contact information
KR102519008B1 (en) Entry management server for progressing ab test of queue users based on digital service, method
KR101352259B1 (en) Advertisement providing method for general personal computer or mobile terminal and mobile advertisement building method for supporting the same
CN112165549A (en) Short message processing method, device, equipment and medium applied to intelligent terminal
CN114787734A (en) Operational anomaly feedback ring system and method
KR101878937B1 (en) System for providing personalized information, method thereof, and recordable medium storing the method
KR102519005B1 (en) Data transmitting and receiving control server, system and method thereof using status of database
US20130246559A1 (en) Editorial service supporting contrasting content

Legal Events

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