KR101770271B1 - Field-Indexing Method for Message - Google Patents
Field-Indexing Method for Message Download PDFInfo
- Publication number
- KR101770271B1 KR101770271B1 KR1020150113619A KR20150113619A KR101770271B1 KR 101770271 B1 KR101770271 B1 KR 101770271B1 KR 1020150113619 A KR1020150113619 A KR 1020150113619A KR 20150113619 A KR20150113619 A KR 20150113619A KR 101770271 B1 KR101770271 B1 KR 101770271B1
- Authority
- KR
- South Korea
- Prior art keywords
- query
- indexing
- field
- message
- present
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 28
- 238000007796 conventional method Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
Images
Classifications
-
- G06F17/30613—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- G06F17/30616—
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명은 컴퓨터가 수행하는 메시지 인덱싱 방법에 관한 것으로서, 메시지에 대해서 쿼리 토크나이저 모듈을 실행시키는 제1 단계와, 상기 제1 단계에서 토크나이징된 정보에 대해서 인덱싱을 수행하는 제2 단계를 포함한다The present invention relates to a message indexing method performed by a computer, and includes a first step of executing a query tokenizer module for a message, and a second step of performing indexing on the tokenized information in the first step do
Description
본 발명은 메시지의 필드 인덱싱 방법에 관한 것으로서 좀 더 구체적으로는 부하가 적고 고속의 검색이 가능하도록 하는 인덱싱 방법에 관한 것이다.Field of the Invention The present invention relates to a method of indexing a field of a message, and more particularly, to an indexing method capable of performing a low-speed and high-speed search.
인터넷이 발달하고 인터넷 등을 이용한 온라인 서비스가 확산될수록 온라인상에서 서비스를 제공하는 서버의 동작 과정에서 발생하는 작업 내력 예를 들어 웹 로그, 방화벽 로그, 거래 로그 등의 데이터의 양이 방대해지고 있다. 일반적으로 로그에는 복수 개의 로그 라인이 기록되며, 각 로그라인에는 방문자의 접속 인터넷 프로토콜(IP), 방문 시간 정보, 방문 웹 페이지 정보, 방문 상태 등이 기록될 수 있다.As the Internet develops and the online service using the Internet spreads, the amount of data such as a work history, for example, a web log, a firewall log, and a transaction log, generated in the operation process of a server that provides a service on- Generally, a plurality of log lines are recorded in the log. In each log line, a visitor's access internet protocol (IP), visit time information, visit web page information, visit status, and the like can be recorded.
이러한 로그의 분석을 위해서 특정 단어나 문자열을 검색해야 하는 경우가 많은데 로그 데이터의 관리 내지 검색을 위한 인덱싱 과정의 중요성이 대두되고 있다.In order to analyze such logs, it is often necessary to search for specific words or strings, and the importance of indexing process for management or retrieval of log data is emerging.
본 출원 발명의 발명자가 특허권자로서 보유하고 있는 특허 제1112568호에는 방대한 데이터의 효율적인 검색을 위한 로그 인덱싱 방법이 개시되어 있다. 이 특허에 개시된 방법에 의하면 로그를 데이터베이스화하는 정규화 과정없이 인덱싱을 통해서 신뢰성 있고 빠른 로그 검색이 가능하게 된다. 이 특허의 내용 전체는 본 명세서의 일부로서 본 명세서에 반영되며 본 명세서에서 명시적인 언급이 없더라도 본 발명의 설명을 위해서 사용될 수 있다. 그러나 이 특허의 내용이 본 발명의 권리범위를 제한하는 것으로 이용되어서는 아니되며, 본 발명의 이해를 돕기 위한 용도로만 이용되어야 한다.Patent No. 1112568, which the inventor of the present invention holds as a patentee, discloses a log indexing method for efficient retrieval of vast amounts of data. According to the method disclosed in this patent, it is possible to perform reliable and quick log search through indexing without a normalization process of converting the log into a database. The entire contents of this patent are hereby incorporated herein by reference and may be used for the purposes of illustration of the present invention without any explicit reference herein. However, the contents of this patent should not be construed as limiting the scope of the present invention and should be used only for the purpose of helping understanding of the present invention.
본 발명은 전술한 특허의 로그 인덱싱 방법보다 더 빠르고 부하가 적은 인덱싱 방법을 제공하는 것을 목적으로 한다.It is an object of the present invention to provide an indexing method that is quicker and less burdensome than the log indexing method of the above-mentioned patent.
본 발명은 컴퓨터가 수행하는 메시지 인덱싱 방법에 관한 것으로서, 메시지에 대해서 쿼리 토크나이저 모듈을 실행시키는 제1 단계와, 상기 제1 단계에서 토크나이징된 정보에 대해서 인덱싱을 수행하는 제2 단계를 포함한다.The present invention relates to a message indexing method performed by a computer, and includes a first step of executing a query tokenizer module for a message, and a second step of performing indexing on the tokenized information in the first step do.
상기 제1 단계에서 상기 쿼리 토크나이저 모듈을 실행할 때의 쿼리는 메시지의 일부 필드를 지정하는 구문을 포함하고, 상기 제2 단계는 상기 지정된 일부 필드에 대해서만 수행되는 단계인 것이 바람직하다.Preferably, the query when executing the query tokenizer module in the first step includes a syntax for designating some fields of the message, and the second step is performed only for the specified certain fields.
상기 제1 단계에서 상기 쿼리 토크나이저 모듈을 실행할 때의 쿼리는 메시지의 지정된 필드의 필드 타입을 정의하는 구문도 포함하는 것이 바람직하다.The query when executing the query tokenizer module in the first step preferably also includes a syntax defining a field type of a specified field of a message.
본 발명에 의하면, 고속 인덱싱이 가능해지며, 입력/출력 부하가 감소하며, 검색에 있어서도 범위 및 대소 비교가 빠르게 수행될 수 있는 효과가 제공된다.According to the present invention, high-speed indexing is possible, input / output load is reduced, and range and magnitude comparison can be performed quickly in search.
도 1은 본 발명에 의한 인덱싱 방법의 흐름도.
도 2는 본 발명에 의한 인덱싱 방법에 의해 인덱싱된 데이터의 검색 방법의 흐름도.1 is a flowchart of an indexing method according to the present invention;
2 is a flowchart of a method of searching for indexed data by the indexing method according to the present invention.
이하에서는 첨부 도면을 참조하여 본 발명에 대해서 자세하게 설명한다. 본 발명에 의한 인덱싱 방법은 컴퓨터에 의해서 수행되며, 본 명세서에서 컴퓨터라 함은 전자적 연산을 수행하고 프로그램에 의해 작동 가능한 전자 기기를 망라하는 것으로 정의된다. 예를 들어, 개인용 컴퓨터(PC) 뿐만 아니라 서버 컴퓨터 또는 본 발며에 의한 데이터 처리에 적합하다면 모바일 기기 등도 포함될 수 있다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings. The indexing method according to the present invention is performed by a computer, and in this specification, a computer is defined as performing an electronic operation and covering an electronic device operable by a program. For example, it may include a personal computer (PC) as well as a server computer or a mobile device if it is suitable for data processing by the present invention.
도 1에는 본 발명에 의한 인덱싱 방법의 흐름도가 도시되어 있다. 먼저 인덱싱할 원본 데이터를 삽입한다(100). 원본 데이터의 종류는 웹 로그 데이터, 방화벽 로그 데이터, 금융거래 로그 데이터 등이 될 수 있으며, 본 발명에 의한 인덱싱 방법이 적용 가능한 데이터라면 그 종류를 불문하고 모두 포함될 수 있으며, 본 명세서에서는 "메시지"라는 용어로도 혼용되어 사용된다.FIG. 1 shows a flowchart of the indexing method according to the present invention. First, the original data to be indexed is inserted (100). The type of the original data may be Web log data, firewall log data, financial transaction log data, and the like. Any type of data applicable to the indexing method according to the present invention may be included, Is used interchangeably.
원본 데이터가 삽입되면 원본 데이터(메시지)에 대해서 쿼리 토크나이저 모듈이 실행된다(110). 쿼리 토크나이저 모듈은 종래의 토크나이저와 달리 쿼리에 기반을 두어 토크나이징을 하는, 범용의 하드웨어와 그 기능을 수행하는 소프트웨어의 논리적 결합으로서 정의된다.When the original data is inserted, the query tokenizer module is executed for the original data (message) (110). The query tokenizer module is defined as a logical combination of general purpose hardware and software that performs its functions, based on a query based on a query, unlike a conventional tokenizer.
쿼리 토크나이저 모듈의 실행에 의해서 쿼리에 기반하여 원본 데이터 중 일부 필드가 지정되어 토크나이징될 수 있다.Execution of the query tokenizer module allows some fields of the original data to be specified and torque-ned based on the query.
토크나이저 모듈의 실행에 의해서 토큰 및 토큰 메타 정보가 추출된다(120). 토큰 메타 정보로는 필드명, 필드 타입(int, string, long, ip) 등이 있을 수 있다.The token and token meta information is extracted 120 by the execution of the tokenizer module. The token meta information may include a field name, a field type (int, string, long, ip).
다음으로 이렇게 토크나이징된 정보에 대해서 인덱싱하여 인덱스를 생성한다(130). 구체적인 인덱싱 방법으로는 여러가지가 있으며, 예를 들어 전술한 본 발명자의 특허에 개시되어 있는 인덱싱 방법을 적용할 수 있다. 그러나 본 발명에 의한 쿼리 토크나이저 모듈의 실행에 의해서 토크나이징된 후의 데이터에 대해서 인덱싱하는 구체적인 방법에 본 발명의 권리범위가 제한되는 것은 아니며, 공개되어 있는 다양한 인덱싱 방법이 적용될 수 있다.Next, an index is created by indexing the torque-based information (130). There are various specific indexing methods, for example, the indexing method disclosed in the above-mentioned patent of the present inventor can be applied. However, the scope of the present invention is not limited to the specific method of indexing the data after torque-aging by the execution of the query tokenizer module according to the present invention, and various publicly available indexing methods can be applied.
이와 같이 쿼리 토크나이저 모듈을 실행시켜서 원하는 필드에 대해서 필드 타입을 지정해서 인덱싱을 하게 되면 종래의 인덱싱 방법에 비해서 고속으로 인덱싱을 수행할 수 있는 장점이 있다. 본 발명에 의한 인덱싱 방법에 따르면, 데이터의 특정 (원하는) 필드 예를 들어, 포트 정보, 파일 크기, 파일 이름 등에 대해서만 인덱싱을 하기 때문에 불필요한 필드까지 전체를 인덱싱하는 종래의 인덱싱 방법에 비해서 I/O가 감소하여 매우 빠른 검색이 가능해진다. 또한, 쿼리 토크나이저 모듈의 실행에 의해서 인덱싱 전에 필드의 타입을 지정할 수 있기 때문에 문자열 형태로 인덱싱하는 종래의 방법에 비하여 적은 용량으로 인덱싱을 할 수 있어, 검색시 I/O 부하가 감소하여 소요 시간이 감소한다. 예를 들어 IP 주소를 문자열로 저장하면 최대 15바이트가 되지만, 필드 타입을 ip 타입으로 저장하면 4바이트로 감소하여, 데이터를 읽는데 소요되는 시간이 줄어든다. 또한, 인덱싱 후에 필드 타입에 대한 정보(string, int, ip)가 있기 때문에 해당 타입에 맞는 연산을 수행할 수 있게 된다. 따라서 범위를 검색하거나 대소 비교를 할 때에 매우 유용하며, 또한 기존의 문자열에 대한 OR 조건식 대신 해당 타입에 맞는 연산을 직접 수행하여 고속으로 범위 검색이 가능해진다.When the query tokenizer module is executed and the field type is designated for a desired field, the indexing can be performed at a higher speed than the conventional indexing method. According to the indexing method of the present invention, since indexing is performed only on a specific (desired) field of data, for example, port information, a file size, a file name and the like, compared with the conventional indexing method of indexing an entire field up to an unnecessary field, Is reduced, so that a very fast search is possible. In addition, since the type of field can be specified before indexing by execution of the query tokenizer module, the indexing can be performed with a smaller capacity than the conventional method of indexing in the form of a string, and the I / O load during retrieval decreases, . For example, storing an IP address as a string can be up to 15 bytes, but if the field type is stored as an ip type, it is reduced to 4 bytes, which reduces the time required to read the data. In addition, since there is information on the field type (string, int, ip) after indexing, it is possible to perform an operation corresponding to the type. Therefore, it is very useful when searching for a range or comparing small and large. Also, it is possible to perform range search at high speed by directly performing an operation corresponding to a corresponding type instead of an OR conditional expression for an existing string.
도 2에는 본 발명에 의한 인덱싱 방법에 의해 인덱싱되어 있는 정보를 검색하는 흐름도가 도시되어 있다.FIG. 2 is a flowchart for searching information indexed by the indexing method according to the present invention.
먼저 세그먼트의 헤더를 참조하여 검색 기간의 해당 여부를 확인하고 필드 엔트리를 참조하여, 검색하려는 해당 필드의 존재 여부를 확인한다(200). 다음으로 표현식에 해당하는 포스팅 그룹(해당 토큰이 포함되는 로그 식별정보 목록)을 추출한다(210). 그리고 포스팅에 대해서 불린(Boolean) 연산을 수행한다(220). 예를 들어 다수 검색어를 검색할 때에 수행되는 것이 바람직하다.First, the header of the segment is referred to, and it is confirmed whether or not the search period is applicable, and the existence of the corresponding field to be searched is checked by referring to the field entry (200). Next, a posting group (a log identification information list including the token) corresponding to the expression is extracted (210). Then, a Boolean operation is performed on the posting (220). For example, when searching for a plurality of search words.
최종적으로 검색된 로그 식별정보(로그 ID) 목록에 기초하여 원본 로그를 추출한다(230).And extracts the original log based on the list of the log identification information (log ID) searched for (230).
이상 첨부 도면을 참고하여 본 발명에 대해서 설명하였지만 본 발명의 권리범위는 후술하는 특허청구범위에 의해 결정되며 전술한 실시예 및/또는 도면에 제한되는 것으로 해석되어서는 아니된다. 그리고 특허청구범위에 기재된 발명의, 당업자에게 자명한 개량, 변경 및 수정도 본 발명의 권리범위에 포함된다는 점이 명백하게 이해되어야 한다.While the present invention has been described with reference to the accompanying drawings, it is to be understood that the scope of the present invention is defined by the claims that follow, and should not be construed as limited to the above-described embodiments and / or drawings. It is to be expressly understood that improvements, changes and modifications that are obvious to those skilled in the art are also within the scope of the present invention as set forth in the claims.
Claims (3)
메시지에 대해서 쿼리 토크나이저 모듈을 실행시키는 제1 단계와,
상기 제1 단계에서 토크나이징된 정보에 대해서 인덱싱을 수행하는 제2 단계를 포함하며,
상기 제1 단계는, 쿼리 토크나이저 모듈이 쿼리에 기반을 두어 메시지를 토크나이징하는 단계이며, 쿼리는 메시지의 지정된 필드의 필드 타입을 정의하는 구문을 포함하는,
메시지 인덱싱 방법.
A message indexing method performed by a computer,
A first step of executing a query tokenizer module for the message,
And a second step of performing indexing on the torque-aged information in the first step,
Wherein the first step is a step of the query tokenizer module torque-based on a query based on a query, the query including a statement defining a field type of a specified field of a message,
How to index messages.
상기 제1 단계에서 상기 쿼리 토크나이저 모듈을 실행할 때의 쿼리는 메시지의 일부 필드를 지정하는 구문을 포함하고,
상기 제2 단계는 상기 지정된 일부 필드에 대해서만 수행되는 단계인,
메시지 인덱싱 방법.
The method according to claim 1,
Wherein the query when executing the query tokenizer module in the first step includes a syntax for specifying a field of a message,
Wherein the second step is performed only for the designated partial field,
How to index messages.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150113619A KR101770271B1 (en) | 2015-08-12 | 2015-08-12 | Field-Indexing Method for Message |
PCT/KR2016/006781 WO2017026647A1 (en) | 2015-08-12 | 2016-06-24 | Field indexing method for message |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150113619A KR101770271B1 (en) | 2015-08-12 | 2015-08-12 | Field-Indexing Method for Message |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170088290A Division KR101921123B1 (en) | 2017-07-12 | 2017-07-12 | Field-Indexing Method for Message |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170019603A KR20170019603A (en) | 2017-02-22 |
KR101770271B1 true KR101770271B1 (en) | 2017-08-22 |
Family
ID=57984373
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150113619A KR101770271B1 (en) | 2015-08-12 | 2015-08-12 | Field-Indexing Method for Message |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR101770271B1 (en) |
WO (1) | WO2017026647A1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140136513A1 (en) * | 2012-11-15 | 2014-05-15 | Ecole polytechnique fédérale de Lausanne (EPFL) | Query management system and engine allowing for efficient query execution on raw details |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AUPR645701A0 (en) * | 2001-07-18 | 2001-08-09 | Tralee Investments Ltd | Database adapter |
US7152056B2 (en) * | 2002-04-19 | 2006-12-19 | Dow Jones Reuters Business Interactive, Llc | Apparatus and method for generating data useful in indexing and searching |
US9047326B2 (en) * | 2012-10-12 | 2015-06-02 | A9.Com, Inc. | Index configuration for searchable data in network |
US10387491B2 (en) * | 2013-07-16 | 2019-08-20 | Semantic Technologies Pty Ltd | Ontology index for content mapping |
-
2015
- 2015-08-12 KR KR1020150113619A patent/KR101770271B1/en active IP Right Grant
-
2016
- 2016-06-24 WO PCT/KR2016/006781 patent/WO2017026647A1/en active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140136513A1 (en) * | 2012-11-15 | 2014-05-15 | Ecole polytechnique fédérale de Lausanne (EPFL) | Query management system and engine allowing for efficient query execution on raw details |
Also Published As
Publication number | Publication date |
---|---|
WO2017026647A1 (en) | 2017-02-16 |
KR20170019603A (en) | 2017-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9811321B1 (en) | Script compilation | |
US10754628B2 (en) | Extracting web API endpoint data from source code to identify potential security threats | |
CN111008348A (en) | Anti-crawler method, terminal, server and computer readable storage medium | |
US20200089674A1 (en) | Executing conditions with negation operators in analytical databases | |
CN102915344B (en) | SQL (structured query language) statement processing method and device | |
US10678789B2 (en) | Batch data query method and apparatus | |
US20160019266A1 (en) | Query generating method and query generating device | |
US20120166412A1 (en) | Super-clustering for efficient information extraction | |
US9026612B2 (en) | Generating a custom parameter rule based on a comparison of a run-time value to a request URL | |
CN109947759A (en) | A data index establishment method, index retrieval method and device | |
WO2023236257A1 (en) | Document search platform, search method and apparatus, electronic device, and storage medium | |
CN111368227A (en) | URL processing method and device | |
CN108959294B (en) | Method and device for accessing search engine | |
CN103914479A (en) | Resource request matching method and device | |
CN110674383B (en) | Public opinion query method, device and equipment | |
KR101921123B1 (en) | Field-Indexing Method for Message | |
US10262056B2 (en) | Method and system for performing search queries using and building a block-level index | |
KR101770271B1 (en) | Field-Indexing Method for Message | |
CN104361121B (en) | A kind of batch analytic method of WEB reporting systems formula | |
CN110968763A (en) | Data processing method and device | |
CN117520112A (en) | Method, device, equipment and storage medium for efficiency analysis processing of computing task | |
US10915594B2 (en) | Associating documents with application programming interfaces | |
CN112256268A (en) | Method, system and equipment for analyzing nested file in WORD | |
US20130332437A1 (en) | Indexing and retrieval of structured documents | |
CN117009319B (en) | Database operation method, system and storage medium based on large language model |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20150812 |
|
PA0201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20161020 Patent event code: PE09021S01D |
|
AMND | Amendment | ||
PG1501 | Laying open of application | ||
E601 | Decision to refuse application | ||
PE0601 | Decision on rejection of patent |
Patent event date: 20170621 Comment text: Decision to Refuse Application Patent event code: PE06012S01D Patent event date: 20161020 Comment text: Notification of reason for refusal Patent event code: PE06011S01I |
|
AMND | Amendment | ||
PA0107 | Divisional application |
Comment text: Divisional Application of Patent Patent event date: 20170712 Patent event code: PA01071R01D |
|
PX0901 | Re-examination |
Patent event code: PX09011S01I Patent event date: 20170621 Comment text: Decision to Refuse Application Patent event code: PX09012R01I Patent event date: 20170220 Comment text: Amendment to Specification, etc. |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20170816 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20170816 End annual number: 3 Start annual number: 1 |
|
PX0701 | Decision of registration after re-examination |
Patent event date: 20170816 Comment text: Decision to Grant Registration Patent event code: PX07013S01D Patent event date: 20170712 Comment text: Amendment to Specification, etc. Patent event code: PX07012R01I Patent event date: 20170621 Comment text: Decision to Refuse Application Patent event code: PX07011S01I Patent event date: 20170220 Comment text: Amendment to Specification, etc. Patent event code: PX07012R01I |
|
X701 | Decision to grant (after re-examination) | ||
PG1601 | Publication of registration | ||
PR1001 | Payment of annual fee |
Payment date: 20200715 Start annual number: 4 End annual number: 4 |
|
PR1001 | Payment of annual fee |
Payment date: 20210604 Start annual number: 5 End annual number: 5 |
|
PR1001 | Payment of annual fee |
Payment date: 20220608 Start annual number: 6 End annual number: 6 |
|
PR1001 | Payment of annual fee |
Payment date: 20230704 Start annual number: 7 End annual number: 7 |
|
PR1001 | Payment of annual fee |
Payment date: 20240604 Start annual number: 8 End annual number: 8 |