+

KR20140012377A - Method of forming index file, method of searching data and system for managing data using dictionary index file, recoding medium - Google Patents

Method of forming index file, method of searching data and system for managing data using dictionary index file, recoding medium Download PDF

Info

Publication number
KR20140012377A
KR20140012377A KR1020120079063A KR20120079063A KR20140012377A KR 20140012377 A KR20140012377 A KR 20140012377A KR 1020120079063 A KR1020120079063 A KR 1020120079063A KR 20120079063 A KR20120079063 A KR 20120079063A KR 20140012377 A KR20140012377 A KR 20140012377A
Authority
KR
South Korea
Prior art keywords
data
file
index
index file
key
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
KR1020120079063A
Other languages
Korean (ko)
Other versions
KR101358793B1 (en
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 KR1020120079063A priority Critical patent/KR101358793B1/en
Publication of KR20140012377A publication Critical patent/KR20140012377A/en
Application granted granted Critical
Publication of KR101358793B1 publication Critical patent/KR101358793B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/242Dictionaries

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 사전 인덱스 파일에 있는 데이터 엔트리의 갯수를 적게 함으로써 1차 인덱스 파일 및 데이터 파일의 검색 횟수를 대폭 감소시켜 검색하고자 하는 데이터의 검색시간을 단축할 수 있는 효과가 있다. 이를 위해 특히, 복수의 필드에 각 필드값들이 채워진 데이터를 수집되는 순서에 따라 테이블 형태로 정렬하면서, 정렬된 상기 데이터에 데이터 주소값을 부가하여 저장하는 데이터 파일 생성단계; 복수의 필드 중 선택된 어느 하나의 필드인 키(Key)에 대해 동일한 키값을 갖는 그룹별로 정렬하면서, 정렬되는 순서에 따라 키값들에 인덱스 주소값을 부가하여 저장하는 1차 인덱스 파일 생성단계; 및 1차 인덱스 파일의 키값들을 각 키값별로 유니크(unique)하게 정렬하면서, 인덱스 주소값의 범위를 부가하여 저장하는 사전(dictionary) 인덱스 파일 생성단계;를 포함하는 것을 특징으로 하는 인덱스 파일 생성방법이 개시된다.According to the present invention, the number of data entries in the dictionary index file is reduced, which greatly reduces the number of searches of the primary index file and the data file, thereby shortening the search time of the data to be searched. To this end, in particular, a data file generation step of adding data address values to the sorted data and storing the data in which the field values are filled in the plurality of fields in a table form according to the collection order; A primary index file generation step of sorting by a group having the same key value with respect to a key (Key), which is one of a plurality of fields, and adding and storing index address values to the key values according to the sorting order; And a dictionary index file generating step of adding and storing a range of index address values while uniquely aligning key values of the primary index file by each key value. Is initiated.

Figure P1020120079063
Figure P1020120079063

Description

인덱스 파일 생성방법, 사전 인덱스 파일을 이용한 데이터 검색 방법 및 데이터 관리 시스템, 기록매체{Method of forming index file, Method of searching data and System for managing data using dictionary index file, Recoding medium}Method of forming index file, method of searching data and system for managing data using dictionary index file, Recoding medium}

본 발명은 인덱스 파일 생성방법, 사전 인덱스 파일을 이용한 데이터 검색 방법 및 데이터 관리 시스템, 기록매체에 관한 것이다. 보다 상세하게는 사전 인덱스 파일을 이용하여 데이터를 빠르게 검색할 수 있는 인덱스 파일 생성방법, 사전 인덱스 파일을 이용한 데이터 검색 방법 및 데이터 관리 시스템, 기록매체에 관한 것이다.
The present invention relates to an index file generation method, a data retrieval method using a dictionary index file, a data management system, and a recording medium. More specifically, the present invention relates to an index file generation method for quickly searching data using a dictionary index file, a data retrieval method using a dictionary index file, a data management system, and a recording medium.

데이터 검색방법의 종류로는 i) 테이블에 저장되어 있는 데이터의 처음부터 마지막까지를 한 행씩 읽어서 원하는 데이터를 검색하는 방법(full table scan), ii) 테이블에 있는 특정 컬럼에 대해 인덱스를 만든 후 데이터를 검색시 이용하는 방법(index scan), iii) 0과 1의 값으로 인덱스를 구성하여 검색하는 방법(bitmap index scan), iv) 2개 이상의 조인된 테이블을 같은 블록 구조에 저장시키는 방법(index cluster scan), v) 해시 알고리즘을 이용해서 대용량 테이블에서 하나의 행을 검색할 때 매우 효과적인 방법(hash cluster scan) 등이 있다.Types of data retrieval include: i) reading the data from the beginning to the end of the data stored in the table one by one (full table scan), ii) creating an index for a specific column in the table, and then Method for index search (index scan), iii) a method of constructing an index with values of 0 and 1 (bitmap index scan), iv) a method of storing two or more joined tables in the same block structure (index cluster) scan), v) A very effective way to retrieve a row from a large table using a hash algorithm (hash cluster scan).

한편, 인덱스를 이용한 검색방법과 관련된 종래기술로 최적화된 인덱스 검색 방법 및 장치(공개번호 10-2008-0046905)가 있다. 종래기술은 소정의 인덱스에서 제1 키 값에 대응하는 제1 필드를 검색하는 단계와 소정의 검색 요청이 입력되는 경우 검색된 제1 필드를 기준으로 하여 인덱스에서 검색 요청에 대응하는 레벨의 제2 필드를 검색하는 단계 및 검색된 제2 필드에 대응하는 식별자를 추출하는 단계를 포함하여 구성되고 있다. 종래기술은 동일 인덱스를 이용하여 제1 키 값에 대응하는 제1 필드 및 제2 필드를 검색하여 식별자를 추출하고 컨텐츠의 메타 데이터 또는 컨텐츠를 제공하는 기술에 대한 것이다. On the other hand, there is a conventional index search method and apparatus related to the search method using the index (Publication No. 10-2008-0046905). The prior art searches for a first field corresponding to a first key value at a predetermined index, and a second field at a level corresponding to a search request at an index based on the searched first field when a predetermined search request is input. And extracting an identifier corresponding to the searched second field. The prior art relates to a technique of extracting an identifier by searching for a first field and a second field corresponding to a first key value using the same index, and providing metadata or content of the content.

인덱스는 데이터의 검색 속도 개선을 위해 테이블 로우(row)를 동일한 경로로 식별가능하도록 별도로 구조화한 데이터 객체를 말한다. 대량의 데이터에서는 인덱스가 있어야만 데이터를 빠른 시간에 검색할 수가 있다. 데이터 검색에 인덱스를 이용하는 경우에는 검색의 속도를 향상시킬 수 있는 장점이 있고, 시스템의 부하가 줄어들면서 결국 시스템의 전체 성능이 향상되는 장점이 있는 반면에, 인덱스를 생성하는 데 시간이 많이 소요될 수 있으며, 인덱스가 데이터베이스 공간을 차지해서 추가적인 공간이 필요해지는 단점이 있을 수 있다.An index refers to a data object that is structured separately so that table rows can be identified by the same path to improve data retrieval speed. For large amounts of data, an index can be used to retrieve the data quickly. Using indexes for data retrieval has the advantage of speeding up retrieval, reducing the load on the system and ultimately improving the overall performance of the system, while creating indexes can be time consuming. In addition, the index may take up database space and additional space may be required.

축적된 데이터의 갯수가 수없이 많은 경우, 사용자가 검색하고자 하는 키값과 관련된 데이터를 찾기 위해서 컴퓨터는 각 데이터가 저장되어 있는 주소(또는 위치)를 일일이 들어가 봐야 하므로 검색결과를 얻는데 시간 지연이 생길 수 밖에 없다. 아울러, 컴퓨터가 특정 키값과 관련된 데이터를 검색할 때 데이터 파일의 시작점부터 순차적으로 검색하지 않는 경우(즉, 데이터 파일의 중간에서부터 검색하는 경우)에, 컴퓨터는 검색시작 지점의 포워드 방향(forward)으로 검색을 진행하므로 백워드(backward) 방향으로의 검색을 진행하게 하는 것은 상당한 어려움이 따른다. 만약, 백워드 방향에 있는 데이터들에 대해 검색을 하려면 컴퓨터로 하여금 백워드 방향에 있는 데이터의 임의의 지점부터 포워드 방향으로 다시 검색을 진행시켜야 하는 번거로움이 있다.
If the accumulated data count is numerous, the computer may have to enter the address (or location) where each data is stored in order to find the data related to the key value that the user wants to search. There may be a delay in obtaining the search result. There is nothing else. In addition, if the computer does not search sequentially from the beginning of the data file (i.e. from the middle of the data file) when searching for data related to a particular key value, the computer may forward in the forward direction of the search start point. Since the search proceeds, it becomes a considerable difficulty to make the search in the backward direction. If the search for the data in the backward direction is cumbersome, the computer has to perform the search in the forward direction again from any point of the data in the backward direction.

본 발명은 상기와 같은 문제점을 해결하기 위해 창출된 것으로서, 본 발명의 제 1목적은 컴퓨터 등이 모든 데이터 파일을 검색하지 않더라도 사전 인덱스 파일을 거쳐 특정 키값과 관련된 데이터의 위치만을 검색함으로써 데이터의 검색시간을 단축할 수 있는 인덱스 파일 생성방법, 사전 인덱스 파일을 이용한 데이터 검색 방법 및 데이터 관리 시스템, 기록매체를 제공하는 데 있다.The present invention was created to solve the above problems, and the first object of the present invention is to search for data by searching only the location of data related to a specific key value through a dictionary index file, even if a computer or the like does not search all data files. The present invention provides an index file generation method, a data retrieval method using a dictionary index file, a data management system, and a recording medium that can reduce time.

또한, 제 2목적은 사전 인덱스 파일의 크기를 작게 함으로써 사전 인덱스 파일 자체를 메모리로 관리할 수 있는 인덱스 파일 생성방법, 사전 인덱스 파일을 이용한 데이터 검색 방법 및 데이터 관리 시스템, 기록매체를 제공하는 데 있다.
In addition, a second object of the present invention is to provide an index file generation method capable of managing the dictionary index file itself in memory by reducing the size of the dictionary index file, a data retrieval method using a dictionary index file, a data management system, and a recording medium. .

상기와 같은 본 발명의 목적은 복수의 필드에 각 필드값들이 채워진 데이터를 수집되는 순서에 따라 테이블 형태로 정렬하면서, 정렬된 데이터에 데이터 주소값을 부가하여 저장하는 데이터 파일 생성단계; 복수의 필드 중 선택된 어느 하나의 필드인 키(Key)에 대해 동일한 키값을 갖는 그룹별로 정렬하면서, 정렬되는 순서에 따라 키값들에 인덱스 주소값을 부가하여 저장하는 1차 인덱스 파일 생성단계; 및 1차 인덱스 파일의 키값들을 각 키값별로 유니크(unique)하게 정렬하면서, 인덱스 주소값의 범위를 부가하여 저장하는 사전(dictionary) 인덱스 파일 생성단계;를 포함하는 것을 특징으로 하는 인덱스 파일 생성방법을 제공함으로써 달성될 있다.An object of the present invention as described above is a data file generation step of adding data address values to the sorted data and storing the sorted data in a table form according to the order in which the field values are filled in the plurality of fields; A primary index file generation step of sorting by a group having the same key value with respect to a key (Key), which is one of a plurality of fields, and adding and storing index address values to the key values according to the sorting order; And a dictionary index file generation step of adding and storing a range of index address values while uniquely sorting key values of the primary index file for each key value. By providing.

또한, 1차 인덱스 파일 생성단계에서, 1차 인덱스 파일에는 키값들과 함께 데이터 주소값이 함께 정렬되는 것을 특징으로 할 수 있다.In addition, in the primary index file generation step, the primary index file may be arranged such that data address values are arranged together with key values.

또한, 사전 인덱스 파일 생성단계에서, 사전 인덱스 파일의 각 키값에는 사전 인덱스 주소값이 부가되어 저장되는 것을 특징으로 할 수 있다.Further, in the dictionary index file generation step, a dictionary index address value may be added to and stored in each key value of the dictionary index file.

그리고, 인덱스 파일의 생성방법은, 추가적으로 수집된 데이터가 있는 경우, 데이터 파일, 1차 인덱스 파일 및 사전 인덱스 파일을 업데이트하면서, 데이터 파일의 데이터 주소값, 1차 인덱스 파일의 인덱스 주소값 및 사전 인덱스 파일의 인덱스 주소값의 범위를 수정하여 저장하는 것을 특징으로 할 수 있다.And, if there is additional data collected, the index file generation method updates the data file, the primary index file and the dictionary index file, while the data address value of the data file, the index address value of the primary index file, and the dictionary index. The range of index address values of the file may be modified and stored.

한편, 본 발명의 목적은 상기 생성된 인덱스 파일 중 사전 인덱스 파일을 검색하여 검색하고자 하는 키값의 인덱스 주소값 범위에 대한 정보를 획득하는 인덱스 주소값 범위 획득단계; 획득된 인덱스 주소값 범위에 포함되는 인덱스 주소값을 1차 인덱스 파일에서 검색하여 인덱스 주소값에 대응되는 데이터 주소값에 대한 정보를 획득하는 데이터 주소값 획득단계; 및 획득된 데이터 주소값을 데이터 파일에서 검색하여 데이터 주소값에 해당되는 데이터를 얻는 데이터 획득단계;를 포함하는 것을 특징으로 하는 사전 인덱스 파일을 이용한 데이터 검색방법을 제공함으로써 달성될 수 있다.Meanwhile, an object of the present invention provides an index address value range obtaining step of obtaining information on an index address value range of a key value to be searched by searching a dictionary index file among the generated index files; A data address value obtaining step of obtaining information on a data address value corresponding to the index address value by searching the index address value included in the obtained index address value range in the primary index file; And a data acquiring step of obtaining the data corresponding to the data address value by searching the obtained data address value in the data file.

또한, 인덱스 주소값 범위 획득단계는, 인덱스 주소값의 범위를 바탕으로 검색하고자 하는 키값을 포함하는 데이터 갯수를 산출하여 전체 데이터 갯수와 비교한 후, 1차 인덱스 파일을 거쳐 데이터 파일을 검색할지 또는 데이터 파일을 바로 검색할지를 결정하는 검색경로 결정단계;를 더 포함하는 것을 특징으로 할 수 있다.In the obtaining of the index address range, the number of data including the key value to be searched is calculated based on the range of index address values, compared with the total number of data, and then the data file is searched through the primary index file. And a search path determining step of determining whether to search the data file immediately.

그리고, 검색경로 결정단계는, 전체 데이터 갯수에 대한 키값을 포함하는 데이터 갯수의 비율이 미리 설정된 수(數)보다 작은 경우에 1차 인덱스 파일을 거쳐 데이터 파일을 검색하도록 결정하는 것을 특징으로 할 수 있다.The determining of the search path may include determining to search the data file via the primary index file when the ratio of the number of data including the key value to the total number of data is smaller than the preset number. have.

한편, 본 발명의 목적은 다른 카테고리로서, 복수의 필드에 각 필드값들이 채워진 데이터를 수집되는 순서에 따라 테이블 형태로 정렬하면서 정렬된 데이터에 데이터 주소값을 부가하여 데이터 파일을 생성하고, 복수의 필드 중 선택된 어느 하나의 필드인 키(Key)에 대해 동일한 키값을 갖는 그룹별로 정렬하면서 정렬되는 순서에 따라 키값들에 인덱스 주소값을 부가하여 1차 인덱스 파일을 생성하고, 1차 인덱스 파일의 키값들을 각 키값별로 유니크(unique)하게 정렬하면서 인덱스 주소값의 범위를 부가하여 사전 인덱스 파일을 생성하는 데이터 수집엔진; 사전 인덱스 파일을 검색하여 검색하고자 하는 키값의 인덱스 주소값 범위에 대한 정보를 획득하고, 획득된 인덱스 주소값 범위에 포함되는 인덱스 주소값을 1차 인덱스 파일에서 검색하여 인덱스 주소값에 대응되는 데이터 주소값에 대한 정보를 획득하고, 획득된 데이터 주소값을 데이터 파일에서 검색하여 데이터 주소값에 해당되는 데이터를 얻는 데이터 검색엔진; 및 데이터 파일, 1차 인덱스 파일 및 사전 인덱스 파일을 저장하는 데이터베이스부;를 포함하는 것을 특징으로 하는 사전 인덱스 파일을 이용한 데이터 관리 시스템을 제공함으로써 달성될 수 있다.Meanwhile, an object of the present invention is to create a data file by adding a data address value to the sorted data while sorting in a table form according to the collection order of data in which the field values are filled in a plurality of fields. The primary index file is created by adding index address values to the key values according to the sorting order by sorting by group having the same key value for any one selected field among the fields, and the key value of the primary index file. A data collection engine generating a dictionary index file by adding a range of index address values while uniquely arranging them by each key value; Search the dictionary index file to obtain information about the range of index address values of the key values to be searched, and search the index address values included in the obtained index address value ranges in the primary index file to correspond to the index address values. A data retrieval engine for acquiring information on the value and retrieving the acquired data address value from the data file to obtain data corresponding to the data address value; And a database unit for storing a data file, a primary index file, and a dictionary index file, which can be achieved by providing a data management system using a dictionary index file.

또한, 데이터 관리 시스템은, 데이터 수집엔진이 데이터 파일, 1차 인덱스 파일 및 사전 인덱스 파일을 생성하여 제1데이터베이스부 또는 제2데이터베이스부에 저장하도록 데이터 수집엔진을 제어하고, 데이터 검색엔진이 사전 인덱스 파일을 바탕으로 데이터 파일을 검색하도록 데이터 검색엔진을 제어하는 제어부;를 더 포함하는 것을 특징으로 할 수 있다.In addition, the data management system controls the data collection engine so that the data collection engine generates the data file, the primary index file, and the dictionary index file and stores the data file in the first database unit or the second database unit, and the data search engine pre-indexes the data collection engine. And a controller configured to control a data search engine to search for a data file based on the file.

또한, 데이터베이스부는, 데이터 파일 및 1차 인덱스 파일을 저장하고 있는 제1데이터베이스부; 및 사전 인덱스 파일을 저장하고 있는 제2데이터베이스부;를 포함하는 것을 특징으로 할 수 있다.The database unit may further include a first database unit which stores a data file and a primary index file; And a second database unit storing the dictionary index file.

그리고, 데이터 검색엔진은, 인덱스 주소값의 범위를 바탕으로 검색하고자 하는 키값을 포함하는 데이터 갯수를 산출하여 전체 데이터 갯수와 비교한 후, 1차 인덱스 파일을 거쳐 데이터 파일을 검색할지 또는 데이터 파일을 바로 검색할지를 결정하고, 전체 데이터 갯수에 대한 키값을 포함하는 데이터 갯수의 비율이 미리 설정된 수(數)보다 작은 경우에 1차 인덱스 파일을 거쳐 데이터 파일을 검색하도록 결정하는 것을 특징으로 할 수 있다.Then, the data search engine calculates the number of data including the key value to be searched based on the range of index address values and compares it with the total number of data, and then searches the data file via the primary index file or not. It may be characterized in that it is determined whether to search immediately, and if the ratio of the number of data including the key value to the total number of data is smaller than the preset number, the data file is searched through the primary index file.

한편, 본 발명의 목적은 상기 1차 인덱스 파일 및 상기 사전 인덱스 파일을 생성하고 검색할 수 있는 프로그램이 기록된 컴퓨터로 판독 가능한 기록매체를 제공함으로써 달성될 수 있다.
Meanwhile, an object of the present invention can be achieved by providing a computer-readable recording medium having recorded thereon a program capable of generating and searching the primary index file and the dictionary index file.

본 발명은 사전 인덱스 파일에 있는 데이터 엔트리의 갯수를 적게 함으로써 1차 인덱스 파일 및 데이터 파일의 검색 횟수를 대폭 감소시켜 검색하고자 하는 키 값과 관련된 데이터의 검색시간을 단축시킬 수 있는 효과가 있다.According to the present invention, the number of data entries in the dictionary index file is reduced, which greatly reduces the number of searches of the primary index file and the data file, thereby shortening the search time of data related to the key value to be searched.

또한, 사전 인덱스 파일의 검색만으로 키값과 관련된 데이터의 갯수를 확인가능하게 하여 데이터의 검색 경로를 결정할 수 있게 함으로써 데이터의 검색시간을 단축할 수 있는 효과가 있다.In addition, since the number of data related to the key value can be confirmed only by searching the dictionary index file, the search path of the data can be determined, thereby reducing the search time of the data.

그리고, 사전 인덱스 파일의 용량을 감소시켜 사전 인덱스 파일을 메모리로 관리할 수 있는 효과가 있다.
In addition, it is possible to manage the dictionary index file in memory by reducing the capacity of the dictionary index file.

도 1은 본 발명인 인덱스 파일 생성방법에 의해 생성가능한 인덱스 파일의 종류를 개략적으로 나타낸 도면,
도 2는 본 발명인 인덱스 파일 생성방법을 설명하기 위한 도면,
도 3은 본 발명인 인덱스 파일 생성방법에서 추가 데이터가 삽입되는 과정을 설명하기 위한 도면,
도 4는 본 발명인 사전 인덱스 파일을 이용한 데이터 검색 방법을 설명하기 위한 도면,
도 5는 본 발명인 사전 인덱스 파일을 이용한 데이터 관리 시스템의 구성도이다.
1 is a view schematically showing the types of index files that can be generated by the method of generating an index file according to the present invention;
2 is a view for explaining a method for generating an index file according to the present invention;
3 is a view for explaining a process of inserting additional data in the index file generation method of the present invention;
4 is a view for explaining a data retrieval method using the inventor index file;
5 is a block diagram of a data management system using the dictionary index file of the present invention.

이하, 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 도면들 중 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 참조번호들 및 부호들로 나타내고 있음에 유의해야 한다. 또한, 하기에서 본 발명을 설명함에 있어, 관련된 공지기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.
Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. It should be noted that the same components of the drawings are denoted by the same reference numerals and signs as possible even if they are shown on different drawings. In the following description of the present invention, detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear.

한편, 본 발명에서 데이터 파일, 1차 인덱스 파일 및 사전 인덱스 파일의 생성에 이용되는 데이터는 복수의 필드로 구성되어 테이블 형태로 작성될 수 있는 모든 데이터가 해당될 수 있다. 구체적으로는, 로그 파일의 작성에 이용되는 로그 데이터가 대표적일 수 있으며, 그 밖에 고객 정보를 담고 있는 데이터(이름, 전화번호, 주소, 이메일 주소, 근무처, 직급 등의 필드 포함), 회사 내부 임직원들에 대한 정보를 담고 있는 데이터(이름, 부처, 직급, 주소, 연락처, 급여 등의 필드 포함), 도서관이나 서점 등이 보유한 책에 대한 정보를 담고 있는 데이터(저자, 발행년도, 분류코드, 출판사, 등의 필드 포함) 등의 다양한 데이터들이 해당될 수 있다. 그러나, 아래에서는 설명의 편의를 위해 컴퓨터 등의 로그 데이터를 구체적인 예로 들면서 설명하기로 한다. Meanwhile, in the present invention, the data used for generating the data file, the primary index file, and the dictionary index file may correspond to all data that can be created in a table form with a plurality of fields. Specifically, log data used to create a log file may be representative, other data containing customer information (including fields such as name, phone number, address, email address, place of work, position, etc.), and employees of the company Data (including fields such as name, department, position, address, contact, salary, etc.), and data containing information about books held by the library or bookstore (author, year of publication, classification code, publisher). Various data, such as fields, and the like, may be used. However, the following description will be given taking log data such as a computer as a specific example for convenience of description.

또한, 본 발명에서 용어 키(Key)는 데이터를 구성하는 복수의 필드 중 1차 인덱스 파일이나 사전 인덱스 파일을 작성하기 위해 선택된 특정 필드를 의미하고, 키값은 키에 대한 구체적인 데이터값을 의미한다.
In addition, in the present invention, the term Key refers to a specific field selected to create a primary index file or a dictionary index file among a plurality of fields constituting data, and the key value refers to a specific data value for the key.

<인덱스 파일 생성방법><How to create index file>

도 1은 본 발명인 인덱스 파일 생성방법에 의해 생성가능한 인덱스 파일의 종류를 로그 데이터를 예로 들면서 설명하기 위한 도면이다. 도 1의 상단에 도시되어 있는 로그 데이터의 로그 형식은 시간, 소스 IP(Source IP), 타켓 IP(Target IP), 소스 포트(Source port), 타켓 포트(Target port), 액션(Action) 및 규칙 번호(Rule No) 등의 다양한 필드로 구성되어 있다. 또한, 도 1의 우측 하단에 있는 표는 로그 데이터의 로그 형식에 맞추어 임의적으로 구성된 데이터 파일이고, 액션은 허용 또는 부인의 로그 정보를 나타내지만, 도 1에서는 허용(Allow)만이 나타내어지고 있다. 본 발명인 인덱스 파일 생성방법에서는 로그 데이터의 각 필드를 바탕으로 다양한 1차 인덱스 파일, 사전 인덱스 파일이 생성될 수 있음을 알 수 있다. 1 is a diagram for explaining the types of index files that can be generated by the method of generating an index file according to the present invention, taking log data as an example. The log format of the log data shown at the top of FIG. 1 is time, source IP, target IP, source port, target port, action, and rule. It consists of various fields such as number (Rule No). In addition, the table at the lower right of FIG. 1 is a data file arbitrarily configured in accordance with the log format of log data, and the action shows log information of allow or disallow, but only Allow is shown in FIG. In the index file generating method of the present invention, it can be seen that various primary index files and dictionary index files can be generated based on each field of log data.

예를 들어, 도 1에 도시된 바와 같이, 로그 데이터에서 소스 IP 필드만을 추출하여 1차 인덱스 파일 및 사전 인덱스 파일 쌍을 생성하거나(인덱스 #1), 타켓 IP 필드만을 추출하여 1차 인덱스 파일 및 사전 인덱스 파일 쌍을 생성하거나(인덱스 #2), 소스 포트만을 추출하여 1차 인덱스 파일 및 사전 인덱스 파일 쌍을 생성하거나(인덱스 #3) 또는 타켓 포트만을 추출하여 1차 인덱스 파일 및 사전 인덱스 파일 쌍을 생성할 수 있다(인덱스 #4). 도 2는 본 발명인 인덱스 파일 생성방법을 설명하기 위한 도면이다. 이하에서는 도 2를 참조하여 인덱스 파일 생성방법에 대해 상세히 설명하되, 로그 데이터를 구체적인 예시로 하여 설명한다. 한편, 도 2에서는 설명의 편의를 위해 로그 데이터의 필드에 포함되어 있는 필드값들을 aaa, 1111, abcd, 가나다라 등의 한글이나, 영문, 숫자 등으로 간략히 표시하여 나타내었다.
For example, as shown in FIG. 1, only the source IP field is extracted from log data to generate a primary index file and a dictionary index file pair (index # 1), or only a target IP field is extracted to extract a primary index file and Create a primary index file pair (index # 2), extract only the source port to create a primary index file and a dictionary index file pair (index # 3), or extract only the target port to create a primary index file and a dictionary index file pair. Can be generated (index # 4). 2 is a view for explaining a method for generating an index file according to the present invention. Hereinafter, a method of generating an index file will be described in detail with reference to FIG. 2, and log data will be described with specific examples. In FIG. 2, for convenience of description, field values included in fields of log data are briefly displayed in Korean, English, numbers, etc., such as aaa, 1111, abcd, and Kanada.

1. 데이터 파일 생성단계(1. Data file creation step ( S110S110 ))

데이터 파일 생성단계(S110)는 데이터 수집엔진(100)이 복수의 필드에 각 필드값들이 채워진 데이터를 수집되는 순서에 따라 테이블 형태로 정렬하면서, 정렬된 데이터에 데이터 주소값을 부가하여 저장하는 단계를 말한다. 도 2에서는 데이터 파일로 로그 파일을 예로 들어 나타내었다. 즉, 로그파일에는 시간, 소스 IP, 타켓 IP, 소스 포트, 타켓 포트, 액션(허용 또는 거부의 로그 정보) 및 규칙 번호 등의 필드가 포함되어 있다. The data file generating step (S110) is a step in which the data collection engine 100 adds and stores a data address value to the sorted data while sorting the data in which each field value is filled in a plurality of fields in a table form. Say. 2 shows a log file as an example of a data file. That is, the log file includes fields such as time, source IP, target IP, source port, target port, action (log information of allow or deny) and rule number.

예를 들어, 도 2에서의 데이터 파일이 10억 개의 로그 데이터를 포함하고 로그 데이터의 A를 소스 IP 필드라고 가정했을 때, A에 포함되어 있는 각 필드값들(aaa, aab, aaa, aab, aaa, aab....)에 각각 대응되는 데이터 주소값들(0, 50, 100, 150, 200, 250....)이 데이터 수집엔진(100)에 의해 부가되어 데이터 파일이 생성된다. 이때 로그 데이터는 수집되는 순서에 의해 정렬되면서 데이터 파일이 생성된다.
For example, assuming that the data file in FIG. 2 contains 1 billion log data and A of the log data is the source IP field, each field value included in A (aaa, aab, aaa, aab, Data address values (0, 50, 100, 150, 200, 250, ...) corresponding to aaa, aab ...., respectively, are added by the data collection engine 100 to generate a data file. At this time, the log data is sorted according to the collection order, and a data file is created.

2. 1차 인덱스 파일 생성단계(2. Create the primary index file ( S120S120 ))

1차 인덱스 파일 생성단계(S120)는 데이터 수집엔진(100)이 데이터 파일 생성단계(S110)에서 생성된 데이터 파일을 바탕으로 1차 인덱스 파일을 생성하는 단계이다. 구체적으로, 데이터 파일에 포함되어 있는 복수의 필드 중 선택된 어느 하나의 필드인 키(Key)에 대해 동일한 키값을 갖는 그룹별로 정렬하면서, 정렬되는 순서에 따라 키값들에 인덱스 주소값을 부가하여 1차 인덱스 파일을 생성하는 단계이다. 즉, 1차 인덱스 파일에는 키값들과 함께 데이터 주소값이 함께 정렬된다. The primary index file generation step S120 is a step in which the data collection engine 100 generates a primary index file based on the data file generated in the data file generation step S110. Specifically, by sorting by group having the same key value for a key, which is one selected from among a plurality of fields included in the data file, by adding an index address value to the key values according to the sorting order, Creating an index file. That is, data address values are sorted together with key values in the primary index file.

로그 데이터를 구체적 예로 한 도 2를 참조하면, 1차 인덱스 파일 생성단계(S120)에서는 데이터 파일 생성단계(S110)에서 생성된 데이터 파일을 바탕으로 A에 포함되어 있는 각 키값들을 B에서와 같이 동일한 키값을 갖는 그룹별로 정렬하여 1차 인덱스 파일을 생성한다. 이때, 1차 인덱스 파일을 생성하면서 각 키(Key) 값들에 대해 인덱스 주소값을 부가한다. 즉, B에 포함된 키값 aaa에 대해서는 0 ~ 70까지의 인덱스 주소값이, 키값 aab에 대해서는 80 ~ 140까지의 인덱스 주소값이, 키값 aac에 대해서는 150 ~ 180까지의 인덱스 주소값이 부가되었다.
Referring to FIG. 2 as a specific example of log data, in the primary index file generation step S120, each key value included in A is the same as in B based on the data file generated in the data file generation step S110. The primary index file is created by sorting by group having key values. At this time, an index address value is added to each key value while generating a primary index file. That is, an index address value of 0 to 70 is added to the key value aaa included in B, an index address value of 80 to 140 is added to the key value aab, and an index address value of 150 to 180 is added to the key value aac.

3. 사전 인덱스 파일 생성단계(3. Pre-index file creation step ( S130S130 ))

사전 인덱스 파일 생성단계(S130)는 데이터 수집엔진(100)이 1차 인덱스 파일 생성단계(S120)에서 생성된 1차 인덱스 파일을 바탕으로 1차 인덱스 파일의 키값들을 각 키값별로 유니크(unique)하게 정렬하면서, 인덱스 주소값의 범위를 부가하여 사전 인덱스 파일을 생성하는 단계이다. 즉, 사전 인덱스 파일 생성단계(S130)에서는 1차 인덱스 파일 생성단계(S120)에서 생성된 1차 인덱스 파일을 바탕으로 중복되는 키(Key)값에 대한 인덱스 주소값의 범위를 부가하여 사전 인덱스 파일을 생성한다. 한편, 사전 인덱스 파일의 각 키값에는 사전 인덱스 주소값이 부가되어 저장된다.In the pre-index file generation step S130, the data collection engine 100 uniquely sets the key values of the primary index file for each key value based on the primary index file generated in the primary index file generation step S120. Creating a dictionary index file by adding a range of index address values while sorting. That is, in the pre-index file generation step (S130), a dictionary index file is added by adding a range of index address values for duplicate key values based on the primary index file generated in the primary index file generation step (S120). Create Meanwhile, a dictionary index address value is added and stored in each key value of the dictionary index file.

로그 데이터를 구체적 예로 한 도 2를 참조하면, 사전 인덱스 파일 생성단계(S130)에서는 1차 인덱스 파일을 바탕으로 사전 인덱스 파일을 생성한다. 사전 인덱스 파일은 각 키값(aaa, aab, aac....)을 유니크(ubique)하게 하나씩 포함하며, 1차 인덱스 파일에서 중복되는 각 키값(aaa, aab, aac....)에 대한 주소값의 범위를 포함한다. 여기서, 각 키(Key)값에 대한 주소값의 범위는 시작(From) 인덱스 주소값(C)과 마지막(To) 인덱스 주소값(D)으로 나타내어진다. 즉, 유니크한 키값 aaa에 대해서는 시작 인덱스 주소값이 0이고 마지막 인덱스 주소값이 70으로, 유니크한 키값 aab에 대해서는 시작 인덱스 주소값이 80이고 마지막 인덱스 주소값이 140으로, 또 다른 유니크한 키값 aac에 대해서는 시작 인덱스 주소값이 150이고 마지막 인덱스 주소값이 180으로 부가되어 저장된다.
Referring to FIG. 2, which uses log data as an example, the dictionary index file generation step (S130) generates a dictionary index file based on the primary index file. The dictionary index file contains one uniquely each key value (aaa, aab, aac ....) and an address for each duplicate key value (aaa, aab, aac ....) in the primary index file. Contains a range of values. Here, the range of address values for each key value is represented by a From index address value C and a To index address value D. That is, for the unique key value aaa, the starting index address value is 0 and the last index address value is 70, for the unique key value aab, the starting index address value is 80, the last index address value is 140, and another unique key value aac For, the starting index address value is 150 and the last index address value is added as 180 and stored.

4. 추가 데이터 삽입단계(4. Insert additional data ( S140S140 ))

도 3은 본 발명인 인덱스 파일 생성방법에서 추가 데이터가 삽입되는 과정을 로그 데이터를 구체적인 예시로 하여 설명하기 위한 도면이다. 추가 데이터 삽입단계(S140)는 추가적으로 수집된 데이터가 있는 경우, 데이터 수집엔진(100)이 데이터 파일, 1차 인덱스 파일 및 사전 인덱스 파일을 업데이트하면서, 데이터 파일의 데이터 주소값, 1차 인덱스 파일의 인덱스 주소값 및 사전 인덱스 파일의 인덱스 주소값의 범위를 수정하여 저장하는 단계를 말한다.3 is a diagram illustrating a process of inserting additional data in a method of generating an index file according to the present invention with specific examples of log data. Additional data insertion step (S140) is, if there is additionally collected data, while the data collection engine 100 updates the data file, the primary index file and the dictionary index file, the data address value of the data file, primary index file The step of modifying and storing the range of the index address value and the index address value of the dictionary index file.

로그 데이터를 구체적 예로 한 도 3을 참조하면, 데이터 주소값이 950으로 부가된 데이터가 데이터 파일의 마지막 부분에 추가된 경우(①), 데이터 파일의 필드(A)에 포함된 키값 aab를 1차 인덱스 파일의 정렬된 키값 aab의 맨 마지막 부분에 삽입되면서 인덱스 주소값이 수정된 1차 인덱스 파일이 저장되게 된다(②). 또한, 데이터 주소값이 950인 키값 aab가 1차 인덱스 파일에 삽입되면서, 키값 aab의 인덱스 주소값의 범위가 80 ~ 150으로 수정되고, 키값 aac의 인덱스 주소값의 범위가 160 ~ 190으로 수정되었다. 한편, 사전 인덱스 파일에도 1차 인덱스 파일의 수정내용인 키값 aab 및 키값 aac의 인덱스 주소값의 범위가 그대로 반영되어 저장되게 된다(③).
Referring to FIG. 3 using log data as an example, when data having a data address value of 950 is added at the end of the data file (1), the key value aab included in the field A of the data file is primary. The primary index file in which the index address value is modified is inserted into the last part of the sorted key value aab of the index file (②). In addition, as the key value aab having a data address value of 950 was inserted into the primary index file, the range of the index address value of the key value aab was modified to 80 to 150, and the range of the index address value of the key value aac was modified to 160 to 190. . Meanwhile, the range of the index address values of the key value aab and the key value aac, which are modifications of the primary index file, is also reflected and stored in the dictionary index file (③).

<데이터 검색 방법><Data retrieval method>

도 4는 본 발명인 사전 인덱스 파일을 이용한 데이터 검색 방법을 설명하기 위한 도면이다. 본 발명인 사전 인덱스 파일을 이용한 데이터 검색 방법은 아래와 같은 절차에 의해 이루어진다.
4 is a view for explaining a data retrieval method using the dictionary index file of the present invention. The data retrieval method using the inventor's dictionary index file is performed by the following procedure.

1. 인덱스 주소값 범위 획득단계(1. Obtaining an index address range S210S210 ))

인덱스 주소값 범위 획득단계(S210)는 데이터 검색엔진(200)이 사전 인덱스 파일을 검색하여 검색하고자 하는 키값의 인덱스 주소값 범위에 대한 정보를 획득하는 단계를 말한다. 한편, 인덱스 주소값 범위 획득단계(S210)는 인덱스 주소값의 범위를 바탕으로 검색하고자 하는 키값을 포함하는 데이터 갯수를 산출하여 전체 데이터 갯수와 비교한 후, 1차 인덱스 파일을 거쳐 데이터 파일을 검색할지 또는 데이터 파일을 바로 검색할지를 결정하는 검색경로 결정단계(S215)를 더 포함할 수 있다. 여기서, 전체 데이터 갯수에 대한 키값을 포함하는 데이터 갯수의 비율이 미리 설정된 수(數)보다 작은 경우에 1차 인덱스 파일을 거쳐 데이터 파일을 검색하도록 설정할 수 있다. 예를 들어, 전체 데이터 갯수에 대한 키값을 포함하는 데이터 갯수의 비율이 0.5보다 작은 경우에 1차 인덱스 파일을 거쳐 데이터 파일을 검색하도록 설정할 수 있으며, 이와는 달리 0.3이나 0.4 또는 그 밖의 수로 다양하게 설정될 수 있다. The index address value range obtaining step (S210) refers to a step in which the data search engine 200 acquires information on an index address value range of a key value to be searched by searching a dictionary index file. Meanwhile, in the step of obtaining the index address range (S210), the number of data including the key value to be searched is calculated based on the range of the index address value, compared with the total number of data, and then the data file is searched through the primary index file. The method may further include a search path determining step S215 for determining whether or not to search for a data file immediately. Here, when the ratio of the number of data including the key value to the total number of data is smaller than the preset number, the data file may be searched through the primary index file. For example, if the ratio of the number of data including the key value to the total number of data is less than 0.5, the data file can be searched through the primary index file, but differently set to 0.3, 0.4, or other numbers. Can be.

로그 데이터를 구체적 예로 한 도 4를 참조하면, 키값 aab에 대한 데이터를 얻고자 하는 경우, 사전 인덱스 파일을 통해 키값 aab에 대한 인덱스 주소값의 범위인 80 ~ 150을 획득한다(①). 여기서, 키값 aab를 포함하는 데이터가 데이터 파일에 몇개 존재하는지를 일정한 수식에 의해 파악할 수 있으며, 구체적으로 (150-80)/10+1=8이라는 수식을 통해 키값 aab를 포함하는 데이터가 데이터 파일에 8개 존재한다는 사실을 확인할 수 있다. 만약, 전체 데이터 갯수가 10억 개라고 가정하고 전체 데이터 갯수에 대한 키값을 포함하는 데이터 갯수의 비율이 0.5보다 작은 경우에 1차 인덱스 파일을 거쳐 데이터 파일을 검색하도록 설정되어 있다면, 전체 데이터 갯수 10억 개에 대한 키값 aab를 포함하는 데이터의 갯수 8의 비율이 0.5보다 훨씬 작은 작으므로 데이터 검색엔진(200)은 사전 인덱스 파일 및 1차 인덱스 파일을 거쳐 데이터 파일에서 키값 aab를 포함하는 데이터를 검색하게 된다.
Referring to FIG. 4 using log data as an example, when data for key value aab is to be obtained, a range of index addresses 80 to 150 for key value aab is obtained through the dictionary index file (①). Here, it is possible to determine how many pieces of data including the key value aab exist in the data file by using a formula, and specifically, the data including the key value aab is stored in the data file through the formula (150-80) / 10 + 1 = 8. You can see that there are eight. If the total number of data is 1 billion and the ratio of the number of data including the key value to the total number of data is less than 0.5, if the data file is searched through the primary index file, the total number of data 10 Since the ratio of the number 8 of the data containing the key value aab to one billion is much smaller than 0.5, the data search engine 200 searches the data including the key value aab from the data file via the dictionary index file and the primary index file. Done.

2. 데이터 2. Data 주소값Address value 획득단계( Acquisition stage ( S220S220 ))

데이터 주소값 획득단계(S210)는 데이터 검색엔진(200)이 인덱스 주소값 범위 획득단계(S210)에서 획득된 인덱스 주소값 범위에 포함되는 인덱스 주소값을 1차 인덱스 파일에서 검색하여 인덱스 주소값에 대응되는 데이터 주소값에 대한 정보를 획득하는 단계를 말한다. In the data address value obtaining step (S210), the data search engine 200 searches for an index address value included in the index address value range obtained in the index address value range obtaining step (S210) from the primary index file and applies the index address value. Acquiring information on a corresponding data address value.

로그 데이터를 구체적 예로 한 도 4를 참조하면, 검색경로 결정단계(S215)를통해 1차 인덱스 파일을 거쳐 데이터 파일을 검색하는 경우, 1차 인덱스 파일 검색을 통해 검색하고자 하는 키값 aab에 대한 인덱스 주소값의 범위가 80 ~ 150인 것을 알아내고, 키값 aab에 대한 데이터 주소값들(50, 150, 250, 350, 450, 550, 650, 950)을 획득한다(②).
Referring to FIG. 4 using log data as an example, when searching a data file through a primary index file through a search path determining step (S215), an index address of a key value aab to be searched through a primary index file search The range of values is found to be 80 to 150, and data address values 50, 150, 250, 350, 450, 550, 650 and 950 for the key value aab are obtained (2).

3. 데이터 획득단계(3. Data Acquisition Step ( S230S230 ))

원시로그 데이터 추출단계(S230)는 데이터 검색엔진(200)이 데이터 주소값 획득단계(S220)를 통해 알아낸 데이터 주소값을 데이터 파일에서 검색하여 데이터 주소값에 해당되는 데이터를 얻는 단계를 말한다. The raw log data extraction step (S230) refers to a step in which the data search engine 200 obtains data corresponding to the data address value by searching the data address value found through the data address value acquisition step S220 in a data file.

로그 데이터를 구체적 예로 한 도 4를 참조하면, 키값 aab에 대한 데이터 주소값들이 50, 150, 250, 350, 450, 550, 650, 950인 것에 대해서만 데이터 파일에서 검색을 수행하여 그 데이터 주소값에 해당되는 데이터를 얻는다(③).
Referring to FIG. 4 using log data as an example, a search is performed on a data file only for data address values of key values aab of 50, 150, 250, 350, 450, 550, 650, and 950. Obtain the corresponding data (③).

<데이터 관리 시스템><Data Management System>

도 5는 본 발명인 사전 인덱스 파일을 이용한 데이터 관리 시스템(이하, '데이터 관리 시스템'이라 함)의 구성도이다. 도 5에 도시된 바와 같이, 본 발명인 사전 인덱스 파일을 이용한 데이터 관리 시스템은 데이터 수집엔진(100), 데이터 검색엔진(200), 제1데이터베이스부(310)와 제2데이터베이스부(320)를 포함하는 데이터베이스부(300) 및 제어부(400)를 포함하여 구성된다. 데이터 수집엔진(100)이 인덱스 파일을 생성하고, 데이터 검색엔진(200)이 데이터를 검색하는 방법에 대해서는 상기에서 이미 살펴보았으므로, 이와 중복되는 내용을 그 상세한 설명을 생략한다.
5 is a block diagram of a data management system (hereinafter, referred to as a data management system) using the inventor's dictionary index file. As shown in FIG. 5, the data management system using the dictionary index file according to the present invention includes a data collection engine 100, a data search engine 200, a first database unit 310, and a second database unit 320. It is configured to include a database unit 300 and the control unit 400. Since the data collection engine 100 generates the index file and the data search engine 200 searches for the data, it has already been described above, and thus the detailed description thereof will be omitted.

데이터 수집엔진(100)은 복수의 필드에 각 필드값들이 채워진 데이터를 수집되는 순서에 따라 테이블 형태로 정렬하면서 정렬된 데이터에 데이터 주소값을 부가하여 데이터 파일을 생성한다. 또한, 복수의 필드 중 선택된 어느 하나의 필드인 키(Key)에 대해 동일한 키값을 갖는 그룹별로 정렬하면서 정렬되는 순서에 따라 키값들에 인덱스 주소값을 부가하여 1차 인덱스 파일을 생성한다. 그리고, 1차 인덱스 파일의 키값들을 각 키값별로 유니크(unique)하게 정렬하면서 인덱스 주소값의 범위를 부가하여 사전 인덱스 파일을 생성한다. 이때, 데이터 수집엔진(100)은 보안장치나 서버들로부터 데이터를 수집하여 1차 인덱스 파일 및 사전 인덱스 파일을 생성한다.
The data collection engine 100 generates a data file by adding data address values to the sorted data while sorting the data in which the field values are filled in the plurality of fields in a table form according to the collection order. In addition, a primary index file is generated by adding index address values to key values in a sorted order by sorting groups having the same key value with respect to a key, which is a selected field among a plurality of fields. The dictionary index file is generated by adding a range of index address values while uniquely sorting key values of the primary index file for each key value. At this time, the data collection engine 100 collects data from security devices or servers to generate a primary index file and a dictionary index file.

데이터 검색엔진(200)은 사전 인덱스 파일을 검색하여 검색하고자 하는 키값의 인덱스 주소값 범위에 대한 정보를 획득한다. 그리고, 획득된 인덱스 주소값 범위에 포함되는 인덱스 주소값을 1차 인덱스 파일에서 검색하여 인덱스 주소값에 대응되는 데이터 주소값에 대한 정보를 획득한다. 이후, 획득된 데이터 주소값을 데이터 파일에서 검색하여 데이터 주소값에 해당되는 데이터를 얻는다. 한편, 데이터 검색엔진(200)은 인덱스 주소값의 범위를 바탕으로 검색하고자 하는 키값을 포함하는 데이터 갯수를 산출하여 전체 데이터 갯수와 비교한 후, 1차 인덱스 파일을 거쳐 데이터 파일을 검색할지 또는 데이터 파일을 바로 검색할지를 결정할 수 있으며, 이때 전체 데이터 갯수에 대한 키값을 포함하는 데이터 갯수의 비율이 미리 설정된 수(數)보다 작은 경우에 1차 인덱스 파일을 거쳐 데이터 파일을 검색하도록 설정할 수도 있다.
The data search engine 200 searches for a dictionary index file and obtains information on an index address value range of a key value to be searched. The index address value included in the obtained index address value range is searched in the primary index file to obtain information on the data address value corresponding to the index address value. Thereafter, the obtained data address value is searched in the data file to obtain data corresponding to the data address value. On the other hand, the data search engine 200 calculates the number of data including the key value to be searched based on the range of the index address value and compares it with the total number of data, and then searches the data file via the primary index file or data. It is possible to determine whether to search the file immediately. In this case, the data file may be searched through the primary index file when the ratio of the number of data including the key value to the total number of data is smaller than the preset number.

데이터 수집엔진(100)에 의해 생성된 데이터 파일, 1차 인덱스 파일 및 사전 인덱스 파일은 데이터베이스부(300)에 저장된다. 구체적으로, 데이터 수집엔진(100)에 의해 생성된 데이터 파일 및 1차 인덱스 파일은 제1데이터베이스부(310)에 저장되고, 데이터 수집엔진(100)에 의해 생성된 사전 인덱스 파일은 제2데이터베이스부(320)에 저장된다.
The data file, the primary index file, and the dictionary index file generated by the data collection engine 100 are stored in the database unit 300. Specifically, the data file generated by the data collection engine 100 and the primary index file are stored in the first database unit 310, and the dictionary index file generated by the data collection engine 100 is the second database unit. Stored at 320.

한편, 데이터 관리 시스템은 데이터 수집엔진(100)이 데이터 파일, 1차 인덱스 파일 및 사전 인덱스 파일을 생성하여 제1데이터베이스부(310) 또는 제2데이터베이스부(320)에 저장하도록 데이터 수집엔진(100)을 제어하고, 데이터 검색엔진(200)이 사전 인덱스 파일을 바탕으로 데이터 파일을 검색하도록 데이터 검색엔진(200)을 제어하는 제어부(400)를 더 포함할 수 있다.
In the meantime, the data management system 100 generates a data file, a primary index file, and a dictionary index file so that the data collection engine 100 stores the data file in the first database unit 310 or the second database unit 320. ), And the controller 400 may control the data search engine 200 to search the data file based on the dictionary index file.

또한, 데이터 관리 시스템은 사용자가 검색하고자 하는 특정 키값을 입력할 있는 입력부(미도시)를 더 포함할 수 있으며, 키보드, 마우스, 터치스크린 등 다양한 수단이 입력부로 사용될 수 있다. 입력부를 통해 검색하고자 하는 특정 키값의 입력은 각 필드를 바탕으로 작성된 인덱스 번호 중 어느 하나를 선택하고, 선택된 인덱스 번호의 사전 인덱스 파일에 있는 키값을 선택하는 것에 이루어질 수 있다. 예를 들어, 인덱스 #1, 인덱스 #2, 인덱스 #3, 인덱스 #4 중에서 인덱스 #1을 선택한 경우, 인덱스 #1의 사전 인덱스 파일에 있는 키값들(예를 들어, aaa, aab, aac) 중에서 하나를 선택하여 검색하고자 하는 키값를 입력할 수 있다. 한편, 인덱스 번호가 선택된 후에 사용자가 검색하고자 하는 키값을 직접 입력하는 방법에 의해 검색하고자 하는 키값을 선택할 수도 있다.
In addition, the data management system may further include an input unit (not shown) for inputting a specific key value to be searched by the user, and various means such as a keyboard, a mouse, and a touch screen may be used as the input unit. The input of a specific key value to be searched through the input unit may be performed by selecting any one of the index numbers created based on each field, and selecting a key value in the dictionary index file of the selected index number. For example, if index # 1 is selected from index # 1, index # 2, index # 3, and index # 4, then among the key values in the dictionary index file of index # 1 (for example, aaa, aab, aac) You can select one and enter the key value you want to search. On the other hand, after the index number is selected, the user may select a key value to be searched by directly inputting a key value to be searched.

아울러, 데이터 관리 시스템은 데이터 검색엔진(200)이 검색한 데이터 내용을 출력할 수 있는 디스플레이부(미도시)를 더 포함할 수 있다. 이러한, 디스플레이부에는 터치 방식의 입력이 가능한 기능이 부가되어 입력부로서의 역할도 수행할 수도 있다.
In addition, the data management system may further include a display unit (not shown) capable of outputting data contents searched by the data search engine 200. Such a display unit may be added with a function capable of inputting a touch type to perform a role as an input unit.

이상에서 본 발명에 대한 기술 사상을 첨부 도면과 함께 서술하였지만, 이는 본 발명의 가장 양호한 일 실시예를 예시적으로 설명한 것이지 본 발명을 한정하는 것은 아니다. 또한, 이 기술 분야의 통상의 지식을 가진 자이면 누구나 본 발명의 기술 사상의 범주를 이탈하지 않는 범위 내에서 다양한 변형 및 모방이 가능함은 명백한 사실이다.
While the present invention has been described in connection with what is presently considered to be the most practical and preferred embodiment, it is to be understood that the invention is not limited to the disclosed embodiments. Further, it is obvious that various modifications and variations can be made without departing from the scope of the technical idea of the present invention by anyone having ordinary skill in the art.

100 : 데이터 수집엔진
200 : 데이터 검색엔진
300 : 데이터베이스부
310 : 제1데이터베이스부
320 : 제2데이터베이스부
400 : 제어부
100: data collection engine
200: data search engine
300: database unit
310: first database portion
320: second database unit
400:

Claims (12)

복수의 필드에 각 필드값들이 채워진 데이터를 수집되는 순서에 따라 테이블 형태로 정렬하면서, 정렬된 상기 데이터에 데이터 주소값을 부가하여 저장하는 데이터 파일 생성단계;
상기 복수의 필드 중 선택된 어느 하나의 필드인 키(Key)에 대해 동일한 키값을 갖는 그룹별로 정렬하면서, 정렬되는 순서에 따라 상기 키값들에 인덱스 주소값을 부가하여 저장하는 1차 인덱스 파일 생성단계; 및
상기 1차 인덱스 파일의 상기 키값들을 각 키값별로 유니크(unique)하게 정렬하면서, 상기 인덱스 주소값의 범위를 부가하여 저장하는 사전(dictionary) 인덱스 파일 생성단계;를 포함하는 것을 특징으로 하는 인덱스 파일 생성방법.
A data file generation step of adding data address values to the sorted data and storing the data in which the field values are filled in the plurality of fields in a table form according to the collection order;
A primary index file generation step of adding index address values to and storing the key values according to the sorting order while sorting by group having the same key value with respect to a key which is one of the plurality of fields; And
A dictionary index file generation step of adding and storing a range of the index address value while uniquely sorting the key values of the primary index file for each key value. Way.
제 1항에 있어서,
상기 1차 인덱스 파일 생성단계에서,
상기 1차 인덱스 파일에는 상기 키값들과 함께 상기 데이터 주소값이 함께 정렬되는 것을 특징으로 하는 인덱스 파일 생성방법.
The method of claim 1,
In the primary index file generation step,
And the data address values are arranged together with the key values in the primary index file.
제 1항에 있어서,
상기 사전 인덱스 파일 생성단계에서,
상기 사전 인덱스 파일의 각 키값에는 사전 인덱스 주소값이 부가되어 저장되는 것을 특징으로 하는 인덱스 파일 생성방법.
The method of claim 1,
In the dictionary index file generation step,
And a dictionary index address value is added to each key value of the dictionary index file.
제 1항에 있어서,
상기 인덱스 파일의 생성방법은,
추가적으로 수집된 데이터가 있는 경우, 상기 데이터 파일, 상기 1차 인덱스 파일 및 상기 사전 인덱스 파일을 업데이트하면서, 상기 데이터 파일의 상기 데이터 주소값, 상기 1차 인덱스 파일의 인덱스 주소값 및 상기 사전 인덱스 파일의 인덱스 주소값의 범위를 수정하여 저장하는 것을 특징으로 하는 인덱스 파일 생성방법.
The method of claim 1,
The method of generating the index file,
If there is additionally collected data, updating the data file, the primary index file and the dictionary index file, the data address value of the data file, the index address value of the primary index file and the dictionary index file An index file generation method comprising modifying and storing a range of index address values.
제 1항 내지 제 4항 중 어느 한 항에 의해 생성된 인덱스 파일 중 사전 인덱스 파일을 검색하여 검색하고자 하는 키값의 인덱스 주소값 범위에 대한 정보를 획득하는 인덱스 주소값 범위 획득단계;
상기 획득된 인덱스 주소값 범위에 포함되는 상기 인덱스 주소값을 1차 인덱스 파일에서 검색하여 상기 인덱스 주소값에 대응되는 데이터 주소값에 대한 정보를 획득하는 데이터 주소값 획득단계; 및
상기 획득된 데이터 주소값을 데이터 파일에서 검색하여 상기 데이터 주소값에 해당되는 데이터를 얻는 데이터 획득단계;를 포함하는 것을 특징으로 하는 사전 인덱스 파일을 이용한 데이터 검색방법.
An index address value range obtaining step of obtaining information on an index address value range of a key value to be searched by searching a dictionary index file among the index files generated by any one of claims 1 to 4;
A data address value obtaining step of obtaining information on a data address value corresponding to the index address value by searching the index address value included in the obtained index address value range in a primary index file; And
And a data acquiring step of retrieving the acquired data address value from a data file to obtain data corresponding to the data address value.
제 5항에 있어서,
상기 인덱스 주소값 범위 획득단계는,
상기 인덱스 주소값의 범위를 바탕으로 검색하고자 하는 키값을 포함하는 데이터 갯수를 산출하여 전체 데이터 갯수와 비교한 후, 상기 1차 인덱스 파일을 거쳐 상기 데이터 파일을 검색할지 또는 상기 데이터 파일을 바로 검색할지를 결정하는 검색경로 결정단계;를 더 포함하는 것을 특징으로 하는 사전 인덱스 파일을 이용한 데이터 검색방법.
6. The method of claim 5,
The index address value range obtaining step,
After calculating the number of data including the key value to be searched based on the range of the index address value and comparing it with the total number of data, whether to search the data file or the data file directly through the primary index file And a search path determining step of determining.
제 6항에 있어서,
상기 검색경로 결정단계는,
상기 전체 데이터 갯수에 대한 상기 키값을 포함하는 데이터 갯수의 비율이 미리 설정된 수(數)보다 작은 경우에 상기 1차 인덱스 파일을 거쳐 상기 데이터 파일을 검색하도록 결정하는 것을 특징으로 하는 사전 인덱스 파일을 이용한 데이터 검색방법.
The method according to claim 6,
The search path determination step,
If the ratio of the number of data including the key value to the total number of data is less than a predetermined number, it is determined to search the data file via the primary index file, characterized in that How to retrieve data.
복수의 필드에 각 필드값들이 채워진 데이터를 수집되는 순서에 따라 테이블 형태로 정렬하면서 정렬된 상기 데이터에 데이터 주소값을 부가하여 데이터 파일을 생성하고, 상기 복수의 필드 중 선택된 어느 하나의 필드인 키(Key)에 대해 동일한 키값을 갖는 그룹별로 정렬하면서 정렬되는 순서에 따라 상기 키값들에 인덱스 주소값을 부가하여 1차 인덱스 파일을 생성하고, 상기 1차 인덱스 파일의 상기 키값들을 각 키값별로 유니크(unique)하게 정렬하면서 상기 인덱스 주소값의 범위를 부가하여 사전 인덱스 파일을 생성하는 데이터 수집엔진;
상기 사전 인덱스 파일을 검색하여 검색하고자 하는 키값의 인덱스 주소값 범위에 대한 정보를 획득하고, 상기 획득된 인덱스 주소값 범위에 포함되는 상기 인덱스 주소값을 1차 인덱스 파일에서 검색하여 상기 인덱스 주소값에 대응되는 데이터 주소값에 대한 정보를 획득하고, 상기 획득된 데이터 주소값을 데이터 파일에서 검색하여 상기 데이터 주소값에 해당되는 데이터를 얻는 데이터 검색엔진; 및
상기 데이터 파일, 상기 1차 인덱스 파일 및 상기 사전 인덱스 파일을 저장하는 데이터베이스부;를 포함하는 것을 특징으로 하는 사전 인덱스 파일을 이용한 데이터 관리 시스템.
A data file is created by adding data address values to the sorted data while sorting the data in which the field values are filled in the plurality of fields in a table form according to the collection order, and a key which is any one selected from the plurality of fields. The primary index file is created by adding index address values to the key values according to the sorting order by sorting the groups having the same key value with respect to (Key), and uniquely storing the key values of the primary index file for each key value. a data collection engine generating a dictionary index file by adding the range of the index address values while sorting uniquely;
Search the dictionary index file to obtain information about an index address value range of a key value to be searched, and search the index address value included in the obtained index address value range in a primary index file to provide the index address value. A data search engine that obtains information on a corresponding data address value, and retrieves the obtained data address value from a data file to obtain data corresponding to the data address value; And
And a database unit for storing the data file, the primary index file and the dictionary index file.
제 8항에 있어서,
상기 데이터 관리 시스템은,
상기 데이터 수집엔진이 상기 데이터 파일, 상기 1차 인덱스 파일 및 상기 사전 인덱스 파일을 생성하여 상기 제1데이터베이스부 또는 상기 제2데이터베이스부에 저장하도록 상기 데이터 수집엔진을 제어하고,
상기 데이터 검색엔진이 상기 사전 인덱스 파일을 바탕으로 상기 데이터 파일을 검색하도록 상기 데이터 검색엔진을 제어하는 제어부;를 더 포함하는 것을 특징으로 하는 사전 인덱스 파일을 이용한 데이터 관리 시스템.
The method of claim 8,
The data management system comprises:
Control the data collection engine to generate the data file, the primary index file, and the dictionary index file and store the data file in the first database unit or the second database unit;
And a control unit which controls the data search engine to allow the data search engine to search the data file based on the dictionary index file.
제 8항에 있어서,
상기 데이터베이스부는,
상기 데이터 파일 및 상기 1차 인덱스 파일을 저장하고 있는 제1데이터베이스부; 및
상기 사전 인덱스 파일을 저장하고 있는 제2데이터베이스부;를 포함하는 것을 특징으로 하는 사전 인덱스 파일을 이용한 데이터 관리 시스템.
The method of claim 8,
The database unit,
A first database unit for storing the data file and the primary index file; And
And a second database unit for storing the dictionary index file.
제 8항에 있어서,
상기 데이터 검색엔진은,
상기 인덱스 주소값의 범위를 바탕으로 검색하고자 하는 키값을 포함하는 데이터 갯수를 산출하여 전체 데이터 갯수와 비교한 후, 상기 1차 인덱스 파일을 거쳐 상기 데이터 파일을 검색할지 또는 상기 데이터 파일을 바로 검색할지를 결정하고,
상기 전체 데이터 갯수에 대한 상기 키값을 포함하는 데이터 갯수의 비율이 미리 설정된 수(數)보다 작은 경우에 상기 1차 인덱스 파일을 거쳐 상기 데이터 파일을 검색하도록 결정하는 것을 특징으로 하는 사전 인덱스 파일을 이용한 데이터 관리 시스템.
The method of claim 8,
The data search engine,
After calculating the number of data including the key value to be searched based on the range of the index address value and comparing it with the total number of data, whether to search the data file or the data file directly through the primary index file Decide,
If the ratio of the number of data including the key value to the total number of data is less than a predetermined number, it is determined to search the data file via the primary index file, characterized in that Data management system.
제 1항 내지 제 7항 중 어느 한 항의 상기 1차 인덱스 파일 및 상기 사전 인덱스 파일을 생성하고 검색할 수 있는 프로그램이 기록된 컴퓨터로 판독 가능한 기록매체.A computer-readable recording medium having recorded thereon a program capable of generating and retrieving the primary index file and the dictionary index file according to any one of claims 1 to 7.
KR1020120079063A 2012-07-20 2012-07-20 Method of forming index file, Method of searching data and System for managing data using dictionary index file, Recoding medium Active KR101358793B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120079063A KR101358793B1 (en) 2012-07-20 2012-07-20 Method of forming index file, Method of searching data and System for managing data using dictionary index file, Recoding medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120079063A KR101358793B1 (en) 2012-07-20 2012-07-20 Method of forming index file, Method of searching data and System for managing data using dictionary index file, Recoding medium

Publications (2)

Publication Number Publication Date
KR20140012377A true KR20140012377A (en) 2014-02-03
KR101358793B1 KR101358793B1 (en) 2014-02-10

Family

ID=50263306

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120079063A Active KR101358793B1 (en) 2012-07-20 2012-07-20 Method of forming index file, Method of searching data and System for managing data using dictionary index file, Recoding medium

Country Status (1)

Country Link
KR (1) KR101358793B1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101628097B1 (en) * 2014-12-31 2016-06-09 주식회사 시큐아이 System and method for managing database
CN106326429A (en) * 2016-08-25 2017-01-11 武汉光谷信息技术股份有限公司 Hbase second-level query scheme based on solr
CN104820693B (en) * 2015-04-28 2018-07-24 广东小天才科技有限公司 Data searching method and device
CN110471888A (en) * 2018-05-09 2019-11-19 株式会社日立制作所 A kind of method, apparatus of automatic data collection, medium, equipment and system
CN111241108A (en) * 2020-01-16 2020-06-05 北京百度网讯科技有限公司 Indexing method, device, electronic device and medium based on key-value pair KV system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2812357B2 (en) * 1995-03-08 1998-10-22 日本電気株式会社 Database search system
JP3318834B2 (en) * 1999-07-30 2002-08-26 三菱電機株式会社 Data file system and data retrieval method
KR100509952B1 (en) 2003-03-10 2005-08-25 한국인포서비스 주식회사 Telephone number search system and method with group database
KR20110066344A (en) * 2009-12-11 2011-06-17 한국전자통신연구원 Multiple Indexing Device and Method for Large-scale Evidence Images in Digital Forensic System

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101628097B1 (en) * 2014-12-31 2016-06-09 주식회사 시큐아이 System and method for managing database
CN104820693B (en) * 2015-04-28 2018-07-24 广东小天才科技有限公司 Data searching method and device
CN106326429A (en) * 2016-08-25 2017-01-11 武汉光谷信息技术股份有限公司 Hbase second-level query scheme based on solr
CN110471888A (en) * 2018-05-09 2019-11-19 株式会社日立制作所 A kind of method, apparatus of automatic data collection, medium, equipment and system
CN111241108A (en) * 2020-01-16 2020-06-05 北京百度网讯科技有限公司 Indexing method, device, electronic device and medium based on key-value pair KV system
CN111241108B (en) * 2020-01-16 2023-12-26 北京百度网讯科技有限公司 Key value based indexing method and device for KV system, electronic equipment and medium

Also Published As

Publication number Publication date
KR101358793B1 (en) 2014-02-10

Similar Documents

Publication Publication Date Title
US9448999B2 (en) Method and device to detect similar documents
KR101972645B1 (en) Clustering storage method and device
US12271689B2 (en) Text duplicate checking method, electronic device and computer-readable storage medium
KR100930455B1 (en) Method and system for generating search collection by query
CN103390020A (en) Method and system for storing data in database
KR101549220B1 (en) Method and System for Managing Database, and Tree Structure for Database
CN101488147B (en) Apparatus, system, and method for information search
KR101358793B1 (en) Method of forming index file, Method of searching data and System for managing data using dictionary index file, Recoding medium
CN105589894B (en) Document index establishing method and device and document retrieval method and device
KR101892067B1 (en) Method for storing and searching of text logdata based relational database
CN102831224B (en) Generation method and device are suggested in a kind of method for building up in data directory library, search
CN106021357B (en) Based on distributed big data paging query method and system
US7783589B2 (en) Inverted index processing
CN107729518A (en) The text searching method and device of a kind of relevant database
JP4491480B2 (en) Index construction method, document retrieval apparatus, and index construction program
US20160004749A1 (en) Search system and search method
KR20140031269A (en) Method and device for determining font
KR101363335B1 (en) Apparatus and method for generating document categorization model
KR101375684B1 (en) Method and system for managing dna sequence data
KR101127795B1 (en) Method and system for searching by proximity of index term
CN111737267A (en) HBase-based index system and query acceleration method
KR101820017B1 (en) Database clustering apparatus and method
KR102013839B1 (en) Method and System for Managing Database, and Tree Structure for Database
JP5595957B2 (en) Access log processing system and method, program, and access log storage / retrieval device
JP6764973B1 (en) Related word dictionary creation system, related word dictionary creation method and related word dictionary creation program

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20120720

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

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20131231

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20140128

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20140128

End annual number: 3

Start annual number: 1

PG1501 Laying open of application
PG1601 Publication of registration
FPAY Annual fee payment

Payment date: 20170110

Year of fee payment: 4

PR1001 Payment of annual fee

Payment date: 20170110

Start annual number: 4

End annual number: 4

FPAY Annual fee payment

Payment date: 20180111

Year of fee payment: 5

PR1001 Payment of annual fee

Payment date: 20180111

Start annual number: 5

End annual number: 5

FPAY Annual fee payment

Payment date: 20190110

Year of fee payment: 6

PR1001 Payment of annual fee

Payment date: 20190110

Start annual number: 6

End annual number: 6

PR1001 Payment of annual fee

Payment date: 20210111

Start annual number: 8

End annual number: 8

PR1001 Payment of annual fee

Payment date: 20220110

Start annual number: 9

End annual number: 9

PR1001 Payment of annual fee

Payment date: 20230110

Start annual number: 10

End annual number: 10

PR1001 Payment of annual fee

Payment date: 20240110

Start annual number: 11

End annual number: 11

PR1001 Payment of annual fee

Payment date: 20250110

Start annual number: 12

End annual number: 12

点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载