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 PDFInfo
- 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
Links
- 238000013523 data management Methods 0.000 title claims abstract description 62
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000012545 processing Methods 0.000 claims abstract description 50
- 238000000926 separation method Methods 0.000 claims description 23
- 238000005192 partition Methods 0.000 claims description 10
- 238000009825 accumulation Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 13
- 239000003795 chemical substances by application Substances 0.000 description 5
- 238000004590 computer program Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000013507 mapping Methods 0.000 description 3
- 230000001174 ascending effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 239000010454 slate Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/278—Data 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
Description
본 개시는 디지털 기반 로그 데이터의 조회 속도 향상을 위한 로그 데이터 관리 방법 및 서버에 관한 것이다.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.
본 개시에 개시된 실시예는 로그 데이터를 효율적으로 저장 및 관리하여 쿼리를 통한 로그 데이터의 검색 속도를 향상시키기 위한 디지털 기반 로그 데이터의 조회 속도 향상을 위한 로그 데이터 관리 방법 및 서버를 제공하는데 그 목적이 있다.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
로그 데이터 관리 서버(100)는 사용자 단말기(400) 내 에이전트로부터 전송되는 로그 데이터(logDATA)를 수신하면, 이를 시간의 역순으로 저장 및 관리하도록 가공하여 데이터베이스(200)에 저장할 수 있다. Upon receiving the log data (logDATA) transmitted from the agent in the
상술한 로그 데이터(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
사용자 단말기(400)는 로그 데이터가 발생하면 네트워크를 통해 로그 데이터 관리 서버(100)로 로그 데이터를 전송할 수 있다. 이때, 로그 데이터는 사용자 단말기(400)에서의 로그 발생 시간 값을 포함할 수 있다. When log data is generated, the
상술한 로그 데이터를 사용자 단말기(400) 상에서 분석하는 것은 리소스 측면에서 비효율적이기 때문에, 본 개시에서는 사용자 단말기(400)에 에이전트를 설치하고 에이전트를 통해 로그 데이터를 로그 데이터 관리 서버(100)로 전송하여 분석하도록 하는 것이다.Since analyzing the log data described above on the
로그 데이터 관리 서버(100)는 수신한 로그 데이터를 분석하기 위해 쿼리를 통한 데이터 조회 속도를 최적화할 필요가 있다. 이에, 본 개시의 로그 데이터를 일반적인 데이터베이스 형태로 구축하기 보다는 읽기에 최적화된 파일 형태로 구축하기 위해, 로그 데이터 파일의 구조를 로그 분석에 최적화된 형태로 가공하는 것이다.The log
구체적으로, 로그 데이터 관리 서버(100)는 로그 데이터를 사용자 단말기(400) 상에서의 로그 발생 시간 및 로그 데이터 관리 서버(100)가 로그 데이터를 수신한 시간 중 어느 하나를 기준으로 로그 데이터를 시간의 역순으로 저장할 수 있다. 상기 로그 데이터는 핫 데이터(hot data), 웜 데이터(warm data) 및 콜드 데이터(cold data)의 상태 중 어느 하나 일 수 있다. 이때, 시간의 우선 순위를 기준으로 핫 데이터 -> 웜 데이터 -> 콜드 데이터의 순서일 수 있고, 로그 데이터 관리 서버(100)는 로그 데이터 검색 시 핫 데이터의 로그 데이터가 가장 먼저 검색될 수 있도록 로그 데이터를 처리할 수 있는 것이다. 이후, 로그 데이터 관리 서버(100)는 웜 데이터 및 콜드 데이터 순서로 검색될 수 있도록 로그 데이터를 처리할 수 있다.Specifically, the log
즉, 로그 데이터를 역순으로 저장하기 위한 시간은 로그 발생 시간 및 로그 수신 시간 중 어느 하나 일 수 있는 것이다. 이러한 사항은 운용자의 필요에 따라 사전에 설정될 수 있다.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
사용자 단말기(400)는 에이전트(agent)를 구비하여 해당 단말기로부터 발생하는 로그 데이터를 수집하여 로그 데이터 관리 서버(100)로 전송할 수 있다. 사용자 단말기(400)가 내비게이션인 경우, 로그 데이터는 내비게이션 상에서 길 안내와 관련되어 발생하는 각종 정보일 수 있다. 또한, 사용자 단말기(400)가 유선 또는 무선 단말기이고, 티켓팅 서비스를 제공하는 애플리케이션이 설치된 경우, 로그 데이터는 티켓팅을 위한 로그인, 일자 및 시간 선택, 좌석 선택, 결제 등과 관련된 정보일 수 있다.The
데이터베이스(200)는 로그 데이터 관리 서버(100)로부터 전송되는 가공된 복수의 로그 데이터를 시간의 역순으로 저장할 수 있다. 도 1에서 도시하는 바와 같이, 데이터베이스(200)는 시간의 역순으로 복수의 로그 데이터를 별도로 저장 및 관리하기 위한 제1 데이터베이스(DB1)(210)를 포함할 수 있다. 도시하지 않았지만, 데이터베이스(200)는 제1 데이터베이스(210) 이외에 시간의 오름차순(ASC)에 따라 데이터를 저장 및 관리하는 제2 데이터베이스를 더 포함할 수 있다.The
데이터베이스(200)는 로그 데이터를 매핑 테이블 형태로 저장 및 관리할 수 있다. 이때, 로그 데이터는 해당 시간이 매칭되어 테이블 형태로 저장될 수 있다. 본 개시에서 시간은 날짜 및 시각을 포함하는 의미로 정의할 수 있다. 추가로, 로그 데이터는 식별정보 등을 더 매칭하여 저장될 수 있다.The
도 8을 참조하면, 데이터베이스(200)는 로그 데이터 관리 서버(100)의 제어에 따라, 기 설정된 단위로 병합(merge)된 복수의 로그 데이터를 저장할 수 있다. 이때, 기 설정된 단위는 시간 및 로그 데이터 수 중 적어도 하나를 포함할 수 있다. Referring to FIG. 8 , the
예를 들어, 기 설정된 단위는 초당(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
도 1과 같이, 로그 데이터 관리 서버(100)와 데이터베이스(200)는 각각 별도를 구현될 수 있고, 이에 한정되지 않고, 하나의 구성에서 함께 구현될 수도 있다.As shown in FIG. 1 , the log
서비스 서버(300)는 콘텐츠 서비스 제공 및 관리와 관련된 각종 데이터를 검색하기 위해 데이터베이스(200)에 접근할 수 있다. 상기 서비스 서버(300)는 내비게이션 서비스, 뮤지컬 및 콘서트 등의 관람을 위한 티켓팅 서비스, 열차 티켓팅 서비스, 의류 및 식품 등의 물품 구매를 위한 쇼핑 서비스, 대학교 수강 신청 서비스 등의 다양한 서비스를 제공하기 위한 서버일 수 있다. 이와 관련하여, 사용자 단말기(400)에는 상술한 다양한 서비스를 제공하기 위한 해당 애플리케이션이 설치될 수 있다.The
본 개시의 서비스 서버(300)는 로그 데이터를 검색하되, 본 개시의 데이터베이스(200)에서의 로그 데이터 저장 방식으로 인해, 로그 데이터를 가장 최근 로그 데이터를 우선적으로 검색할 수 있다. 이때, 최근은 로그 데이터의 로그 발생시간이 가장 최근이거나, 로그 데이터의 로그 수신시간이 가장 최근인 것일 수 있다.The
도 1을 참고하면, 로그 데이터 관리 서버(100)는 프로세서(110), 메모리(130) 및 통신부(150)를 포함한다. 이때, 프로세서(110)는 로더부(111), 역순 처리부(113) 및 데이터 처리부(115)를 포함하여 해당 각 구성의 동작을 제어할 수 있다. 도 1에 도시된 구성요소들은 본 개시에 따른 로그 데이터 관리 서버(100)를 구현하는데 있어서 필수적인 것은 아니어서, 본 명세서 상에서 설명되는 로그 데이터 관리 서버(100)는 위에서 열거된 구성요소들 보다 많거나, 또는 적은 구성요소들을 가질 수 있다.Referring to FIG. 1 , the log
프로세서(110)는 사용자 단말기(400)로부터 전송되는 복수의 로그 데이터를 수신할 수 있다. 이때, 사용자 단말기(400)는 에이전트를 통해 복수의 로그 데이터를 전송할 수 있다.The
프로세서(110)는 복수의 로그 데이터를 시간의 역순으로 축적할 수 있다.The
프로세서(110)는 복수의 로그 데이터를 기 설정된 기준에 따라 가공할 수 있다.The
일 예로, 프로세서(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
다른 예로, 프로세서(110)는 복수의 로그 데이터의 구분을 위한 분리 기준을 생성하고, 로그 데이터를 가공할 때, 축적된 복수의 로그 데이터를 분리 기준에 따라 구분하여 로그레벨을 매칭한 파티션 데이터(partition data) 형태로 가공할 수 있다. 이때, 분리 기준은 시간 값을 포함할 수 있다. 즉, 프로세서(110)는 복수의 로그 데이터를 기초로 병합(merge)하여 그룹짓지 않고, 분리 기준에 따라 분리하는 것이다.As another example, the
프로세서(110)는 가공된 복수의 로그 데이터를 데이터베이스(200)에 시간의 역순으로 저장되도록 할 수 있다. 이때, 프로세서(110)는 로그 발생 시간 및 로그 수신 시간 중 어느 하나를 기준으로 로그 데이터를 시간의 역순으로 저장할 수 있다.The
프로세서(110)는 로그레벨이 매칭된 복수의 로그 데이터를 시간의 역순으로 데이터베이스(200)에 저장할 수 있다.The
상술한 프로세서(110)의 상세 설명은 후술하는 도 2 내지 도 4를 통해 자세히 설명하기로 한다.A detailed description of the above-described
메모리(130)는 로그 데이터 관리 방법을 제공하기 위한 컴퓨터 프로그램을 저장할 수 있으며, 저장된 컴퓨터 프로그램은 프로세서(110)에 의해 판독되어 구동될 수 있다. 메모리(130)는 프로세서(110)가 생성하거나 결정한 임의의 형태의 정보 및 통신부(150)가 수신한 임의의 형태의 정보를 저장할 수 있다.The
메모리(130)는 로그 데이터 관리 서버(100)의 다양한 기능을 지원하는 데이터와, 프로세서(110)의 동작을 위한 프로그램을 저장할 수 있고, 입/출력되는 데이터들을 저장할 있고, 로그 데이터 관리 서버(100)에서 구동되는 다수의 응용 프로그램(application program 또는 애플리케이션(application)), 로그 데이터 관리 서버(100)의 동작을 위한 데이터들, 명령어들을 저장할 수 있다. 이러한 응용 프로그램 중 적어도 일부는, 무선 통신을 통해 외부 서버로부터 다운로드 될 수 있다. The
이러한, 메모리(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
통신부(150)는 외부 장치와 통신을 가능하게 하는 하나 이상의 구성 요소를 포함할 수 있으며, 예를 들어, 방송 수신 모듈, 유선통신 모듈, 무선통신 모듈, 근거리 통신 모듈, 위치정보 모듈 중 적어도 하나를 포함할 수 있다.The
도시하지 않았지만, 본 개시의 로그 데이터 관리 서버(100)는 출력부 및 입력부를 더 포함할 수도 있다. Although not shown, the log
출력부는 로그 데이터 가공 결과 등을 제공하기 위한 사용자 인터페이스(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
출력부는 액정 디스플레이(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
도 5를 참조하면, 프로세서(110)는 시간의 흐름에 따라 복수의 로그 데이터 L1, L2, L3 및 L4 등을 순차적으로 수신하여 메모리(130) 상에 오름차순(ASC)으로 저장할 수 있다.Referring to FIG. 5 , the
다음, 프로세서(110)는 역순 처리부(113)를 통해 복수의 로그 데이터를 시간의 역순으로 축적할 수 있다(1200). Next, the
이때, 프로세서(110)는 역순 처리부(113)를 통해 로그 발생 시간 및 로그 수신 시간 중 어느 하나를 기준으로 로그 데이터를 시간의 역순으로 저장할 수 있다.In this case, the
도 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
프로세서(110)는 역순 처리부(113)를 통해 수신한 로그 데이터를 사용자 단말기(400) 상에서의 로그 발생 시간 및 로더부(111)가 로그 데이터를 수신한 시간 중 어느 하나를 기준으로 로그 데이터를 시간의 역순으로 저장할 수 있다. 즉, 로그 데이터를 역순으로 저장하기 위한 시간은 로그 발생 시간및 로그 수신 시간일 수 있는 것이다. 이러한 사항은 운용자의 필요에 따라 사전에 설정될 수 있다.The
다음, 프로세서(110)는 데이터 처리부(115)를 통해 복수의 로그 데이터를 기 설정된 기준에 따라 가공할 수 있다(1300).Next, the
도 5 및 도 6을 참고하면, 프로세서(110)는 데이터 처리부(115)를 통해 복수의 로그 데이터 L1, L2, L3 및 L4를 LG1의 그룹으로 형성할 수 있다. 이러한 과정이 반복되어, 도 6과 같이, 프로세서(110)는 데이터 처리부(115)를 통해 LG1, LG2, …LGz 등을 생성할 수 있다.5 and 6 , the
다음, 프로세서(110)는 데이터 처리부(115)를 통해 가공된 복수의 로그 데이터를 데이터베이스(200)에 시간의 역순으로 저장되도록 할 수 있다(1400).Next, the
구체적으로, 프로세서(110)는 데이터 처리부(115)를 통해 로그 발생 시간 및 로그 수신 시간 중 어느 하나를 기준으로 한 시간의 역순으로 로그 데이터가 데이터베이스(200)에 저장되도록 할 수 있는 것이다. 상기 로그 데이터는 핫 데이터(hot data), 웜 데이터(warm data) 및 콜드 데이터(cold data)의 상태 중 어느 하나 일 수 있다. 이때, 시간의 우선 순위를 기준으로 핫 데이터 -> 웜 데이터 -> 콜드 데이터의 순서일 수 있고, 로그 데이터 관리 서버(100)는 로그 데이터 검색 시 핫 데이터의 로그 데이터가 가장 먼저 검색될 수 있도록 로그 데이터를 처리할 수 있는 것이다. 이후, 로그 데이터 관리 서버(100)는 웜 데이터 및 콜드 데이터 순서로 검색될 수 있도록 로그 데이터를 처리할 수 있다.Specifically, the
이를 위해, 복수의 로그 데이터 각각의 데이터베이스(200) 상에서의 물리 주소(physical address)는 가장 최근의 로그 데이터가 가장 먼저 검색될 수 있도록 할당될 수 있다. 이러한 로그 데이터의 물리 주소 할당은 프로세서(110)의 데이터 처리부(115) 또는 데이터베이스(200)에 의해서 수행될 수 있다. To this end, a physical address on the
도 6을 참고하면, 프로세서(110)는 데이터 처리부(115)를 통해 가장 최근의 로그 데이터인 LGz가 우선적으로 검색될 수 있도록 로그 데이터를 시간의 역순으로 데이터베이스(200)에 저장할 수 있다.Referring to FIG. 6 , the
즉, 서비스 서버(300)에서 로그 데이터 검색이 필요한 경우, 서비스 서버(300)는 가장 최근에 발생한 로그 데이터인 LGz 내 Lz부터 검색하게 되는 것이다.That is, when the
도 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
이때, 축적 조건은 기 설정된 축적시간이 도래하거나, 또는 기 설정된 수의 로그 데이터가 축적되었는지 여부를 포함할 수 있다. 즉, 축적 조건은 축적시간 및 로그 데이터의 수 중 적어도 하나를 포함할 수 있다.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
예를 들어, 도 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
다음, 프로세서(110)는 데이터 처리부(115)를 통해 적어도 하나 이상의 제1 로그 데이터 그룹을 제2 단위로 그룹지어 제2 로그 데이터 그룹을 생성할 수 있다(2300). 상기 제2 단위는 제1 단위 보다 큰 시간 또는 큰 수를 포함하는 기준일 수 있다. 예를 들어, 제1 단위가 3초인 경우, 제2 단위는 30초일 수 있다.Next, the
프로세서(110)는 데이터 처리부(115)를 통해 상술한 과정을 반복하여 대규모 단위의 역순 병합 파일을 생성할 수 있다. 예를 들어, 프로세서(110)는 데이터 처리부(115)를 통해 제1 단위-> 제2 단위-> …제N 단위의 역순 로그 데이터 그룹을 형성할 수 있는 것이다. 이때, 제2 단위는 제1 단위보다 기준치가 크고, 제N 단위는 이전 단위보다 기준치가 클 수 있다.The
도 7을 참고하면, 프로세서(110)는 데이터 처리부(115)를 통해 LG1 및 LG2를 병합하여 LG-A의 제2 로그 데이터 그룹으로 형성하고, LG3 및 LG4를 병합하여 LG-B의 제2 로그 데이터 그룹으로 형성할 수 있다. Referring to FIG. 7 , the
상술한 과정을 통해 가공된 제2 로그 데이터 그룹들은 가장 최근을 기준으로 복수의 로그 데이터의 집합으로 구성된 그룹이 가장 우선적으로 검색될 수 있도록 시간의 역순을 기준으로 데이터베이스(200)에 저장될 수 있다. 이때, 최근은 로그 데이터의 로그 발생시간이 가장 최근이거나 또는 로그 데이터의 로그 수신시간이 가장 최근인 것일 수 있다.The second log data groups processed through the above process may be stored in the
예를 들어, 도 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
한편, 도 8을 참고하면, 프로세서(110)는 데이터 처리부(115)를 통해 데이터베이스(200)에 기 설정된 단위로 병합(merge)된 복수의 로그 데이터를 저장하도록 제어할 수 있다. 이때, 기 설정된 단위는 시간 및 로그 데이터 수 중 적어도 하나를 포함할 수 있다. Meanwhile, referring to FIG. 8 , the
예를 들어, 기 설정된 단위는 초당(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
다른 한편, 로그 데이터에 대한 필터를 적용한 조회의 경우, 동시에 여러 테이블(파일)에 접근해서 조회를 수행하기 때문에, 조회 시간이 늘어날 수 있다.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
구체적으로, 프로세서(110)는 데이터 처리부(115)를 통해 시간에 따른 트래픽의 변화를 기준으로 로그 데이터를 구분하도록 분리 기준을 생성하거나, 또는 로그 데이터의 시간을 기준으로 구분하도록 분리 기준을 생성할 수 있다. 이때, 시간은 로그 데이터의 로그 발생 시간 및 로그 수신 시간 중 어느 하나일 수 있다. Specifically, the
상술한 시간에 따른 트래픽의 변화는 서비스 서버(300)가 서비스 제공 시 시간의 흐름에 따라 발생하는 트래픽 변화를 의미할 수 있다. 이때, 프로세서(110)는 데이터 처리부(115)를 통해 시간 흐름에 따른 트래픽량의 변화 곡선을 기 설정된 기준에 따라 구분하여, 분리 기준으로 설정할 수 있다. The aforementioned change in traffic over time may mean a change in traffic that occurs over time when the
예를 들어, 서비스 서버(300)가 티켓팅 서비스를 제공하는 경우, 로그인, 좌석선택 및 결제와 같은 서비스 절차를 진행하면서, 트래픽량의 변화가 발생할 수 있다. 프로세서(110)는 데이터 처리부(115)를 통해 특정 시간 구간에서 트래픽량이 최고인 시점, 트래픽량이 최하인 시점, 트래픽량의 상승 정도가 기준치 이상인 시점, 트래픽량의 하강 정도가 기준치 이상인 시점 및 이들의 조합 중 적어도 하나 이상을 포함하여 분리 기준으로 설정할 수 있다.For example, when the
다음, 도 2의 로그 데이터를 가공하는 단계(1300)에서, 프로세서(110)는 데이터 처리부(115)를 통해 축적된 복수의 로그 데이터를 분리 기준에 따라 구분하여 로그레벨을 매칭한 파티션 데이터 형태로 가공할 수 있다(3200). 일 예로, 로그레벨은 로그 데이터의 날짜 및 시각을 포함할 수 있다. 도 9와 같이, 로그레벨은 로그 데이터를 검색하기 위한 것일 수 있다.Next, in
다른 예로, 상기 로그레벨은 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
다음, 프로세서(110)는 데이터 처리부(115)를 통해 로그레벨을 서비스 서버(300)로 전송하여 공유할 수 있다(3400). 이후, 도 9에서 도시하는 바와 같이, 서비스 서버(300)는 특정 로그레벨에 부합하는 로그 데이터를 검색할 수 있다.Next, the
도 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
도 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
다음, 도 2의 로그 데이터를 가공하는 단계(1300)에서, 프로세서(110)는 데이터 처리부(115)를 통해 축적된 복수의 로그 데이터를 날짜 및 시각을 기초로 구분하여 로그레벨을 매칭한 파티션 데이터 형태로 가공할 수 있다(4200). 즉, 프로세서(110)는 복수의 로그 데이터를 시간 값으로 구분할 수 있는 것이다. 이때, 로그레벨은 로그 데이터의 날짜 및 시각을 포함할 수 있다. 상기 날짜 및 시각은 로그 발생 날짜 및 시각이거나, 또는 로그 수신 날짜 및 시각일 수 있다. Next, in
상기 로그 데이터의 날짜 및 시각을 결정하는 기준은 서비스 서버(300)와 사전에 공유되어, 서비스 서버(300)로부터 전송되는 특정 로그레벨 데이터의 조회 요청에 포함된 조회할 시간 범위 및 로그레벨의 기준과도 일치될 수 있다. 예를 들어, 프로세서(110)에서의 로그 데이터의 날짜 및 시각이 로그 발생 시간(날짜 및 시각 포함)인 경우, 서비스 서버(300)에서의 시간 범위 및 로그레벨 내 시간 역시 로그 발생 시간을 기준으로 한 것일 수 있다.The criterion for determining the date and time of the log data is shared with the
다음, 도 2의 로그 데이터를 데이터베이스에 저장하는 단계(1400)에서, 프로세서(110)는 데이터 처리부(115)를 통해 로그레벨이 매칭된 복수의 로그 데이터를 데이터베이스(200)에 시간의 역순으로 저장할 수 있다(4300).Next, in
로그 데이터 관리 서버(100)는 로그 데이터를 로그 발생 시간 및 로그 수신 시간 중 어느 하나를 기준으로 로그 데이터를 시간의 역순으로 저장할 수 있다.The log
이후, 도시하지 않았지만, 데이터베이스(200)는 서비스 서버(300)로부터의 특정 로그레벨 데이터의 조회 요청 내 시간 범위 및 로그 레벨에 매칭되는 로그 데이터를 검색 및 추출하여 서비스 서버(300)로 회신할 수 있다.Then, although not shown, the
한편, 전술한 본 개시에 따른 방법은, 하드웨어인 서버와 결합되어 실행되기 위해 프로그램(또는 애플리케이션)으로 구현되어 매체에 저장될 수 있다.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.
상기 로그레벨이 매칭된 상기 복수의 로그 데이터를 시간의 역순으로 저장하는 단계 이후에,
상기 장치가 상기 로그레벨을 서비스 서버로 전송하여 공유하는 단계;를 더 포함하는, 로그데이터 관리 방법.
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.
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.
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)
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 |
-
2022
- 2022-11-21 KR KR1020220156749A patent/KR102519006B1/en active IP Right Grant
Patent Citations (12)
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 |