KR101529270B1 - Method of managing database using search-engine and system thereof - Google Patents

Method of managing database using search-engine and system thereof Download PDF

Info

Publication number
KR101529270B1
KR101529270B1 KR1020130075949A KR20130075949A KR101529270B1 KR 101529270 B1 KR101529270 B1 KR 101529270B1 KR 1020130075949 A KR1020130075949 A KR 1020130075949A KR 20130075949 A KR20130075949 A KR 20130075949A KR 101529270 B1 KR101529270 B1 KR 101529270B1
Authority
KR
South Korea
Prior art keywords
query
data
user terminal
order
unit
Prior art date
Application number
KR1020130075949A
Other languages
Korean (ko)
Other versions
KR20150002295A (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 KR1020130075949A priority Critical patent/KR101529270B1/en
Publication of KR20150002295A publication Critical patent/KR20150002295A/en
Application granted granted Critical
Publication of KR101529270B1 publication Critical patent/KR101529270B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

검색 엔진을 이용한 데이터베이스 관리방법 및 그 시스템이 개시된다. 데이터관리 서버는 쿼리순서를 나타내는 순서정보와 함께 쿼리를 저장한 후, 사용자 단말로부터 쿼리순서를 나타내는 순서정보를 포함하는 쿼리를 수신하면, 그 쿼리의 순서정보를 기초로, 사용자 단말의 쿼리 수신 이전에 적어도 하나 이상의 다른 사용자 단말로부터 수신한 쿼리를 검색하여 쿼리 요청한 사용자 단말로 전송한다.A database management method using a search engine and a system thereof are disclosed. The data management server stores the query together with the order information indicating the order of the query, and upon receipt of the query including the order information indicating the order of the query from the user terminal, Searches for a query received from at least one other user terminal, and transmits the query to the user terminal that has requested the query.

Description

검색 엔진을 이용한 데이터베이스 관리방법 및 그 시스템{Method of managing database using search-engine and system thereof}TECHNICAL FIELD [0001] The present invention relates to a database management method using a search engine,

본 발명은 검색 엔진을 이용한 데이터베이스 관리 방법 및 그 시스템에 관한 것이다.The present invention relates to a database management method using a search engine and a system thereof.

관계형 데이터베이스 관리 시스템(RDBMS, Relational Data Base Management System)은 새로운 항목을 추가하거나 기존 항목의 변경이나 삭제가 발생하는 경우에 RDBMS의 데이터 구조를 변경해야 하며, 데이터 구조를 변경하는 경우 시스템의 상당부분의 수정이 불가피하고 그에 따른 테스트와 검증 비용이 뒤따른다. The relational database management system (RDBMS) needs to change the data structure of the RDBMS when adding new items or changing or deleting existing items, and when changing the data structure, Modifications are inevitable, followed by testing and verification costs.

특허공개번호 제2009-0113499호Patent Publication No. 2009-0113499 특허공개번호 제2009-0054424호Patent Publication No. 2009-0054424

본 발명이 이루고자 하는 기술적 과제는, 데이터 구조 변경에 많은 비용과 시간이 소요되는 RDBMS 등의 단점을 극복하고자 일반 파일 시스템을 이용하는 저장소에 단순히 데이터를 저장한 후 검색 엔진을 통해 데이터를 관리하는 방법 및 그 시스템을 제공하는 데 있다.SUMMARY OF THE INVENTION The present invention provides a method of managing data through a search engine after storing data in a storage using a general file system in order to overcome the drawbacks of an RDBMS, It is in providing the system.

상기의 기술적 과제를 달성하기 위한, 본 발명에 따른 데이터관리서버의 일 예는, 쿼리순서를 나타내는 순서정보와 함께 쿼리를 저장하는 쿼리저장부; 제1 사용자 단말로부터 쿼리순서를 나타내는 순서정보를 포함하는 쿼리를 수신하는 쿼리수신부; 상기 쿼리수신부가 수신한 쿼리의 순서정보를 기초로, 상기 제1 사용자 단말의 쿼리 수신 이전에 적어도 하나 이상의 제2 사용자 단말로부터 수신한 쿼리를 상기 쿼리저장부에서 검색하는 쿼리검색부; 및 상기 쿼리검색부가 검색한 쿼리를 상기 제1 사용자 단말로 전송하는 쿼리전송부;를 포함한다.According to an aspect of the present invention, there is provided a data management server comprising: a query storage unit for storing a query together with order information indicating a query order; A query receiver for receiving a query including order information indicating a query order from a first user terminal; A query retrieval unit for retrieving, from the query storage unit, a query received from at least one second user terminal before receiving the query of the first user terminal based on the order information of the query received by the query receiver; And a query transmission unit transmitting the query retrieved by the query retrieval unit to the first user terminal.

상기의 기술적 과제를 달성하기 위한, 본 발명에 따른 사용자 단말의 일 예는, 데이터를 저장하는 데이터저장부; 상기 데이터를 검색하는 검색엔진; 쿼리순서를 나타내는 순서정보를 포함한 쿼리를 생성하여 상기 데이터 관리 서버로 전송하는 쿼리전송부; 상기 데이터관리서버로부터, 상기 쿼리의 전송 이전에 다른 사용자 단말이 상기 데이터관리서버에 전송했던 적어도 하나 이상의 쿼리를 수신하는 쿼리목록수신부; 및 상기 쿼리순서를 나타내는 순서정보를, 상기 쿼리목록수신부가 수신한 적어도 하나 이상의 쿼리에 포함된 순서정보를 기초로 갱신하는 순서정보갱신부;를 포함한다.According to an aspect of the present invention, there is provided a user terminal comprising: a data storage unit for storing data; A search engine for retrieving the data; A query transmission unit for generating a query including order information indicating a query order and transmitting the generated query to the data management server; A query list receiving unit receiving at least one query transmitted from the data management server to the data management server by another user terminal before transmission of the query; And an order information updating unit for updating the order information indicating the query order based on order information included in at least one or more queries received by the query list receiving unit.

상기의 기술적 과제를 달성하기 위한, 본 발명에 따른 데이터 관리 방법의 일 예는, 적어도 하나 이상의 사용자 단말과 유무선 통신을 통해 연결된 데이터 관리 서버의 데이터 관리 방법에 있어서, 적어도 하나 이상의 사용자 단말로부터, 쿼리순서를 나타내는 순서정보를 포함하는 쿼리를 수신하는 단계; 상기 수신한 쿼리의 순서정보를 기초로, 상기 데이터 관리 서버에 저장된 쿼리들 중 상기 사용자 단말의 쿼리 수신 이전에 다른 사용자 단말로부터 수신된 쿼리를 검색하는 단계; 및 상기 검색된 쿼리를 상기 사용자 단말로 전송하는 단계;를 포함한다.According to another aspect of the present invention, there is provided a data management method for a data management server connected to at least one user terminal through wired / wireless communication, Receiving a query including sequence information indicating a sequence; Retrieving a query received from another user terminal before receiving a query from the user terminal, among queries stored in the data management server, based on the order information of the received query; And transmitting the retrieved query to the user terminal.

본 발명에 따르면, 데이터를 일반 파일 시스템 등을 통해 단순히 저장만 하면 되므로 데이터 항목의 추가나 변경, 삭제 등에 따른 추가적인 비용이나 시간이 소요되지 않는다.According to the present invention, since data can be simply stored through a general file system or the like, no additional cost or time is required for adding, changing, or deleting a data item.

도 1은 본 발명에 따른 검색엔진을 이용한 데이터베이스 관리를 위한 전체 시스템의 개략적인 구조를 도시한 도면,
도 2는 본 발명에 따른 서버의 구체적인 구성의 일 예를 도시한 도면,
도 3은 본 발명에 따른 사용자 단말의 구체적인 구성의 일 예를 도시한 도면,
도 4는 본 발명에 따른 검색엔진을 이용한 데이터베이스 관리 방법 중 조회 쿼리의 처리 방법의 일 예를 도시한 도면,
도 5는 본 발명에 따른 검색엔진을 이용한 데이터베이스의 관리 방법 중 쿼리목록을 요청하는 쿼리의 처리 방법의 일 예를 도시한 도면,
도 6은 본 발명에 따른 검색엔진을 이용한 데이터베이스의 관리 방법 중 데이터 변경 등의 쿼리 처리 방법의 일 예를 도시한 도면, 그리고,
도 7은 본 발명에 따른 검색엔진을 이용한 데이터베이스의 관리 방법 중 데이터 컬럼 추가나 삭제에 대한 쿼리 처리 방법의 일 예를 도시한 도면이다.
FIG. 1 illustrates a schematic structure of an overall system for database management using a search engine according to the present invention.
2 is a diagram showing an example of a specific configuration of a server according to the present invention;
3 is a diagram illustrating an example of a specific configuration of a user terminal according to the present invention;
4 is a diagram illustrating an example of a method of processing an inquiry query in a database management method using a search engine according to the present invention;
5 is a diagram illustrating an example of a query processing method for requesting a query list among the database management methods using a search engine according to the present invention;
FIG. 6 is a diagram illustrating an example of a query processing method for data change among the database management methods using a search engine according to the present invention, and FIG.
FIG. 7 is a diagram illustrating an example of a query processing method for adding or deleting data columns in a database management method using a search engine according to the present invention.

이하에서, 첨부된 도면들을 참조하여 본 발명에 따른 검색엔진을 이용한 데이터베이스 관리 방법 및 그 시스템에 대해 상세히 살펴본다.Hereinafter, a database management method using a search engine and a system thereof according to the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명에 따른 검색엔진을 이용한 데이터베이스 관리를 위한 전체 시스템의 개략적인 구조를 도시한 도면이다.FIG. 1 is a diagram showing a schematic structure of an overall system for database management using a search engine according to the present invention.

도 1을 참조하면, 데이터베이스 관리 시스템은 서버(100)와 적어도 하나 이상의 사용자 단말(120,130)로 구성되며, 서버(100)와 사용자 단말(120,130)은 유무선 통신망(110)을 통해 연결된다. 서버(100)는 데이터를 저장하는 데이터저장부(102) 및 데이터관리 프로세스(104)를 포함하고, 각 사용자 단말(120,130)은 검색엔진(122) 및 데이터저장부(124)를 포함한다.1, the database management system includes a server 100 and at least one user terminal 120, 130, and the server 100 and the user terminals 120, 130 are connected through a wired / wireless communication network 110. The server 100 includes a data storage unit 102 for storing data and a data management process 104. Each of the user terminals 120 and 130 includes a search engine 122 and a data storage unit 124. [

서버(100) 및 사용자 단말(120)의 데이터 저장부(102,124)는 RDBMS 등과 같은 데이터베이스 시스템을 이용하지 않고 종래의 일반적인 파일 시스템을 통해 데이터를 저장한다. The data storage units 102 and 124 of the server 100 and the user terminal 120 store data through a conventional general file system without using a database system such as an RDBMS.

서버(100)의 데이터관리 프로세서(104)는 사용자 단말(120,130)로부터 쿼리를 수신하면 순차적인 쿼리 순서정보를 생성한 후 그 순서정보화 함께 쿼리를 기록 관리하고, 데이터저장부(102)에 저장된 데이터에 대해 쿼리를 수행한다. 서버(100)의 보다 구체적인 구성은 도 2를 참조하여 살펴본다.Upon receipt of the query from the user terminal 120 or 130, the data management processor 104 of the server 100 generates sequential query sequence information, records the query together with the sequence information, records the data stored in the data storage unit 102, To perform the query. A more specific configuration of the server 100 will be described with reference to FIG.

사용자 단말(120,130)의 검색엔진(122)은 사용자 단말의 로컬 데이터 저장부(124)에 저장된 데이터를 색인화하고 검색한다. 따라서 데이터는 종래의 복잡하고 비싼 데이터베이스의 데이터 구조를 통해 관리될 필요없이 데이터의 추가나 삭제시에 검색엔진(122)에 의해 색인화하여 검색될 수 있다. 검색엔진(122)의 일 예로 루씬(lucene) 검색엔진 등이 이용될 수 있다. 사용자 단말(120)의 보다 구체적인 구성은 도 3을 참조하여 살펴본다.The search engine 122 of the user terminal 120, 130 indexes and retrieves the data stored in the local data store 124 of the user terminal. Thus, the data can be indexed and retrieved by the search engine 122 at the time of adding or deleting data without having to be managed through the data structure of the conventional complex and expensive database. As an example of the search engine 122, a lucene search engine or the like may be used. A more specific configuration of the user terminal 120 will be described with reference to FIG.

도 2는 본 발명에 따른 서버의 구체적인 구성의 일 예를 도시한 도면이다.2 is a diagram showing an example of a specific configuration of a server according to the present invention.

도 2를 참조하면, 서버(100)는 쿼리수신부(200), 쿼리저장부(210), 쿼리검색부(220), 쿼리수행부(230), 데이터저장부(240) 및 데이터전송부(250)를 포함한다.2, the server 100 includes a query receiving unit 200, a query storing unit 210, a query searching unit 220, a query performing unit 230, a data storing unit 240, and a data transmitting unit 250 ).

쿼리수신부(200)는 적어도 하나 이상의 사용자 단말로부터 쿼리를 수신한다. 쿼리는 데이터의 조회, 추가, 변경, 삭제 또는 데이터의 새로운 컬럼의 추가나 삭제 등의 요청을 포함한다. 이와 더불어 쿼리는 쿼리순서를 나타내는 순서정보를 더 포함한다. 순서정보는 순서를 나타낼 수 있는 정보이면 되므로 일반적으로 숫자 형태이나 반드시 이에 한정되는 것은 아니며 알파벳이거나 숫자와 알파벳의 조합된 형태 등 다양한 형태로 표현될 수 있다. The query receiving unit 200 receives a query from at least one or more user terminals. The query includes requests to query, add, change, delete data, or add or delete new columns of data. In addition, the query further includes order information indicating the order of the queries. Since the order information may be information that can represent a sequence, it may be expressed in various forms, such as an alphabet or a combination of numbers and alphabets.

쿼리저장부(210)는 적어도 하나 이상의 사용자 단말로부터 쿼리를 수신하면 쿼리 순서정보를 생성하여 그 순서정보와 함께 쿼리를 저장하고 관리한다. 예를 들어, 쿼리저장부는 사용자 단말로부터 쿼리를 수신하는 순서에 따라 1번부터 순차적으로 순서정보를 생성하여 순서정보와 함께 수신한 쿼리를 저장한다.The query storage unit 210 generates query sequence information when receiving a query from at least one or more user terminals, and stores and manages the query together with the sequence information. For example, the query storage unit sequentially generates the order information from the first to the last according to the order of receiving the query from the user terminal, and stores the received query together with the order information.

쿼리검색부(220)는 쿼리수신부(200)가 수신한 쿼리에 포함된 순서정보를 기초로 사용자 단말의 쿼리 수신 이전에 다른 사용자 단말로부터 수신한 적어도 하나 이상의 쿼리를 쿼리저장부(210)에서 검색한다. 예를 들어, 쿼리저장부(210)에 1번부터 20번까지 순서정보를 가진 쿼리가 저장되어 있고 쿼리수신부(200)가 수신한 쿼리에 포함된 순서정보가 '10'인 경우에, 쿼리검색부(220)는 10 이상의 순서정보를 가진 쿼리 목록을 쿼리저장부(210)에서 검색한다.The query retrieving unit 220 retrieves at least one query received from another user terminal before receiving a query of the user terminal from the query storage unit 210 based on the order information included in the query received by the query receiving unit 200 do. For example, when the query having the order information from 1 to 20 is stored in the query storage unit 210 and the order information included in the query received by the query receiving unit 200 is '10' The search unit 220 searches the query storage unit 210 for a query list having at least 10 order information.

쿼리수행부(230)는 사용자 단말로부터 수신한 쿼리(데이터 조회, 추가, 변경, 삭제, 컬럼 추가 등)를 수행한다.The query execution unit 230 performs a query (data inquiry, addition, change, deletion, column addition, etc.) received from the user terminal.

데이터저장부(240)는 일반 파일 시스템을 통해 데이터를 단순히 저장하고 있으므로, 쿼리수행부(230)에 의해 데이터의 변경, 추가, 삭제 등이 수행될 때 이를 위한 별도의 데이터 구조의 변경이나 시스템 테스트 등은 필요하지 않다.Since the data storage unit 240 simply stores the data through the general file system, when data change, addition, deletion, etc. are performed by the query execution unit 230, a separate data structure change or a system test Etc. are not necessary.

데이터전송부(250)는 쿼리검색부(220)에 의해 검색된 쿼리 목록 또는 쿼리의 수행 결과를 사용자 단말로 전송한다. 사용자 단말의 쿼리가 조회인 경우에, 데이터전송부(250)는 데이터저장부(240)에 저장된 전체 데이터를 쿼리 수행 결과로서 사용자 단말에게 전송한다.The data transmitting unit 250 transmits the query list retrieved by the query retrieving unit 220 or the query execution result to the user terminal. When the query of the user terminal is a query, the data transfer unit 250 transmits the entire data stored in the data storage unit 240 to the user terminal as a query execution result.

도 3은 본 발명에 따른 사용자 단말의 구체적인 구성의 일 예를 도시한 도면이다.3 is a diagram illustrating an example of a specific configuration of a user terminal according to the present invention.

도 3을 참조하면, 사용자 단말(120)은 쿼리전송부(300), 쿼리목록수신부(310), 쿼리수행부(320), 순서정보갱신부(330), 검색엔진(340) 및 데이터저장부(350)를 포함한다.3, the user terminal 120 includes a query transmission unit 300, a query list reception unit 310, a query execution unit 320, a sequence information update unit 330, a search engine 340, (350).

쿼리전송부(300)는 사용자의 데이터 조회, 변경, 삭제 등의 요청에 따른 쿼리를 생성하여 서버로 전송한다. 이때 쿼리는 순서를 나타내는 순서정보를 포함한다. The query transmission unit 300 generates a query according to a request of a user to inquire, change, or delete data, and transmits the query to the server. At this time, the query includes the order information indicating the order.

쿼리목록수신부(310)는 쿼리전송부(300)에 의해 전송된 쿼리에 포함된 순서정보를 기초로, 쿼리전송부(300)의 쿼리 전송 전에 다른 사용자 단말이 서버에 전송한 쿼리들의 목록을 서버로부터 수신한다. 예를 들어, 순서정보가 번호로 표현되는 경우, 쿼리목록수신부(310)는 쿼리전송부(300)가 전송한 쿼리에 포함된 번호 이상의 번호를 가진 쿼리 목록을 서버로부터 수신한다.The query list receiving unit 310 receives a list of queries transmitted from the other user terminals to the server before the query transmission of the query transmitting unit 300 based on the order information included in the query transmitted by the query transmitting unit 300, Lt; / RTI > For example, when the order information is represented by a number, the query list receiving unit 310 receives from the server a query list having a number greater than or equal to the number included in the query transmitted by the query transmitting unit 300.

쿼리수행부(320)는 수신한 쿼리목록의 쿼리를 로컬 데이터저장부(350)에 저장된 데이터에 대해 직접 수행한다. 또한 쿼리수행부(320)는 쿼리전송부(300)를 통해 전송한 쿼리도 직접 수행한다. 다시 말하면, 사용자 단말(120)은 데이터저장부(350)에 초기에 데이터가 저장된 이후에는 직접 로컬의 데이터저장부(350)에 대해 쿼리를 수행하고 그 결과를 확인한다. 다만 이전에 다른 사용자 단말에 의한 데이터 변경이나 삭제 등이 수행될 수 있으므로, 이를 반영하기 위하여 쿼리목록수신부(310)를 통해 쿼리 목록을 수신하여 수행한다.The query execution unit 320 directly performs a query of the received query list on the data stored in the local data storage unit 350. In addition, the query execution unit 320 directly executes the query transmitted through the query transmission unit 300. In other words, after the data is initially stored in the data storage unit 350, the user terminal 120 queries the local data storage unit 350 and confirms the result. However, since data modification or deletion by another user terminal may be performed previously, a query list is received and executed through the query list receiving unit 310 to reflect this.

순서정보갱신부(330)는 쿼리목록수신부(310)에 의해 수신된 쿼리목록을 기초로 순서정보를 갱신한다. 순서정보갱신부(330)는 쿼리목록수신부(310)에 의해 수신된 쿼리목록의 순서정보를 기초로 자신의 순서정보를 갱신한다. 만약 서버로부터 수신할 다른 사용자 단말의 쿼리 목록이 없다면 순서정보갱신부(330)는 자신의 이전 순서정보를 증가시켜 갱신한다. 예를 들어, 서버로부터 수신한 쿼리목록의 마지막 순서정보의 값이 '10'이라면, 순서정보갱신부(330)는 자신의 순서정보를 '11'로 갱신한다.The order information updating unit 330 updates the order information based on the query list received by the query list receiving unit 310. The order information updating unit 330 updates its order information based on the order information of the query list received by the query list receiving unit 310. [ If there is no query list of another user terminal to be received from the server, the order information updating unit 330 increases and updates its previous order information. For example, if the value of the last order information of the query list received from the server is '10', the order information updating unit 330 updates its order information to '11'.

검색엔진(340)은 데이터저장부(350)에 저장된 데이터를 색인화하고 사용자의 검색 요청에 따른 검색을 수행한 후 그 결과를 사용자에게 되돌려준다. 검색엔진(340)은 데이터저장부(350)에 처음 데이터가 저장될 때 그 데이터 전부에 대해 색인화를 수행하며, 그 후 데이터의 추가, 변경, 삭제 등의 쿼리의 수행이 있는 경우에는 해당 쿼리의 수행에 따른 색인정보를 갱신한다. The search engine 340 indexes the data stored in the data storage unit 350, performs a search according to the user's search request, and returns the result to the user. The search engine 340 indexes all of the data when the data is initially stored in the data storage unit 350 and thereafter performs a query such as addition, And updates the index information according to the performance.

도 4는 본 발명에 따른 검색엔진을 이용한 데이터베이스 관리 방법 중 조회 쿼리의 처리 방법의 일 예를 도시한 도면이다.4 is a diagram illustrating an example of a method of processing an inquiry query in a database management method using a search engine according to the present invention.

도 4를 참조하면, 사용자 단말(120)은 사용자의 조회 요청이 있는 경우에, 조회 요청을 포함하는 쿼리를 생성한다. 사용자 단말(120)이 서버에 최초 접속하는 경우라면 사용자 단말(120)은 최초를 나타내는 순서정보를 포함하거나 순서정보를 포함하지 않은 쿼리를 생성할 수 있다(S400). 최초 접속이 아닌 경우라면, 사용자 단말(120)은 현재 사용자 단말에 저장된 순서정보를 포함한 쿼리를 생성한다. Referring to FIG. 4, the user terminal 120 generates a query including a query request when there is a query request of the user. If the user terminal 120 accesses the server for the first time, the user terminal 120 may generate a query that includes the order information indicating the first order or does not include the order information (S400). If it is not the initial connection, the user terminal 120 generates a query including the order information stored in the current user terminal.

사용자 단말(120)은 생성한 쿼리를 서버(100)에 전송한다(S410). The user terminal 120 transmits the generated query to the server 100 (S410).

서버(100)는 수신한 쿼리에 포함된 순서정보보다 큰 순서정보의 쿼리가 존재하는지 파악한다(S420). 그리고 서버(100)는 데이터저장부(102)에 저장된 전체 데이터와 함께 쿼리목록의 순서정보 중 가장 마지막 값, 즉 가장 큰 순서정보를 사용자 단말로 전송한다(S430).The server 100 determines whether there is a query of order information larger than the order information included in the received query (S420). In addition, the server 100 transmits the latest value of the order information of the query list together with the entire data stored in the data storage unit 102 to the user terminal (S430).

예를 들어, 서버(100)에 '1' 부터 '10'까지의 순서정보를 가진 쿼리가 존재하고, 사용자 단말(120)로부터 '5'의 순서정보를 가진 쿼리를 수신한 경우, 서버(100)는 가장 큰 '10'의 순서정보를 사용자 단말(120)로 전송한다. For example, when a query having order information of '1' to '10' exists in the server 100 and a query having the order information of '5' is received from the user terminal 120, Transmits the order information of the largest '10' to the user terminal 120.

사용자 단말(120)은 서버(100)로부터 수신한 전체 데이터를 로컬 데이터저장부(124)에 저장하고, 저장되는 전체 데이터에 대해 색인화를 수행한다(S400). 그리고 사용자 단말(120)은 서버(100)로부터 수신한 순서정보를 기초로 자신의 순서정보를 갱신한다. 앞의 예와 같이, 서버(100)로부터 '10'의 순서정보를 수신한 경우, 사용자 단말(120)은 자신의 순서정보를 '11'로 갱신하고 이후 쿼리 생성시 '11'을 포함한 쿼리를 전송하여 서버로 전송한다.The user terminal 120 stores the entire data received from the server 100 in the local data storage unit 124 and indexes the entire data to be stored (S400). The user terminal 120 updates its order information based on the order information received from the server 100. When the order information of '10' is received from the server 100, the user terminal 120 updates its order information to '11' and generates a query including '11' And transmits it to the server.

도 5는 본 발명에 따른 검색엔진을 이용한 데이터베이스의 관리 방법 중 쿼리목록을 요청하는 쿼리의 처리 방법의 일 예를 도시한 도면이다. 5 is a diagram illustrating an example of a query processing method for requesting a query list among the database management methods using a search engine according to the present invention.

도 5를 참조하면, 사용자 단말(120)은 순서정보를 포함한 쿼리목록 요청의 쿼리를 생성하여 서버로 전송한다(S500, S510). 서버는 수신한 쿼리에 포함된 순서정보보다 큰 순서정보를 가진 쿼리 목록을 파악하여 사용자 단말로 전송한다(S520, S530). Referring to FIG. 5, the user terminal 120 generates a query of a query list request including order information and transmits the query to the server (S500, S510). The server obtains the query list having the order information larger than the order information included in the received query, and transmits the query list to the user terminal (S520, S530).

예를 들어, 사용자 단말(120)의 쿼리에 포함된 순서정보가 '5'이고, 서버(100)에 1부터 10까지의 순서정보와 맵핑된 쿼리가 저장되어 있는 경우에, 서버(100)는 사용자 단말(120)로부터 수신한 쿼리의 순서정보 '5' 이상의 쿼리 목록을 파악하여 사용자 단말(120)로 전송한다.For example, when the order information included in the query of the user terminal 120 is '5' and a query mapped to the order information from 1 to 10 is stored in the server 100, the server 100 Acquires the query list of the query order information '5' received from the user terminal 120, and transmits the query list to the user terminal 120.

사용자 단말(120)은 수신한 쿼리 목록의 쿼리들을 수행한다(S540). 그리고 사용자 단말은 쿼리 수행에 따라 변경되는 데이터의 색인을 갱신한다(S550). The user terminal 120 performs queries of the received query list (S540). The user terminal updates the index of the changed data according to the query execution (S550).

사용자 단말(120)은 쿼리 목록에 포함된 가장 큰 순서정보를 기초로 쿼리 순서정보를 갱신한다(S560). 예를 들어, 6~10의 순서정보를 가진 쿼리목록을 수신한 경우, 사용자 단말(120)은 자신의 순서정보를 11로 갱신한다.The user terminal 120 updates the query order information based on the largest order information included in the query list (S560). For example, when receiving the query list having the order information of 6 to 10, the user terminal 120 updates its order information to 11.

도 4 및 도 5의 쿼리는 서버에 저장된 데이터의 실질적인 변경을 요구하지 않으므로, 서버에 해당 쿼리를 저장하고 관리하지 않아도 된다. 물론 서버는 도 4 및 도 5의 쿼리를 순서정보와 함께 저장하고 관리할 수도 있다. The queries of FIGS. 4 and 5 do not require a substantial change of the data stored in the server, so that it is not necessary to store and manage the query in the server. Of course, the server may also store and manage the queries of FIGS. 4 and 5 along with the order information.

서버(100)는 다수의 사용자 단말과 연결되어 다양한 쿼리를 수신하여 수행하므로, 각각의 사용자 단말은 데이터 변경, 추가, 삭제 등을 수행하기 전에 다른 사용자 단말에 의해 서버(100)의 데이터 변경 등이 있었는지 확인하여 사용자 단말(120)의 로컬에 저장된 데이터에 이를 반영할 필요가 있다. 따라서 아래에서 살필 도 6의 데이터 변경 등의 쿼리 수행 전에, 도 5의 방법을 자동으로 또는 사용자의 선택에 의해 수행하여 사용자 단말의 데이터와 서버에 저장된 데이터를 일치시키는 것이 바람직하다.Since the server 100 is connected to a plurality of user terminals to receive and execute various queries, each user terminal may change the data of the server 100 by another user terminal before performing data change, addition, deletion, It is necessary to check the data stored locally in the user terminal 120 to reflect this. Therefore, it is preferable that the method of FIG. 5 is performed automatically or by user's selection before the execution of the query such as the change of data of FIG. 6 below to match the data of the user terminal with the data stored in the server.

도 6은 본 발명에 따른 검색엔진을 이용한 데이터베이스의 관리 방법 중 데이터 변경 등의 쿼리 처리 방법의 일 예를 도시한 도면이다. FIG. 6 is a diagram illustrating an example of a query processing method such as data change among the database management methods using the search engine according to the present invention.

도 6을 참조하면, 사용자 단말(120)은 사용자 요청에 따라 데이터의 변경, 추가 또는 삭제를 위한 쿼리를 생성하여 서버(100)에 전송한다(S600, S610). Referring to FIG. 6, the user terminal 120 generates a query for changing, adding, or deleting data according to a user request and transmits the query to the server 100 (S600, S610).

서버(100)는 수신한 쿼리를 자체에서 순차적으로 증가하는 순서정보와 함께 저장한다(S620). 예를 들어, 서버에 1부터 10까지 순서정보를 가진 쿼리가 저장되어 있는 경우, 서버는 사용자 단말로부터 수신한 데이터 변경 등의 쿼리를 순서정보 11과 함께 저장한다. The server 100 stores the received query together with the order information that sequentially increases in itself (S620). For example, if the server has stored a query having order information from 1 to 10, the server stores a query such as a data change received from the user terminal together with the order information 11.

서버(100)는 사용자 단말(120)로부터 수신한 쿼리를 수행한 후 그 결과를 사용자 단말(120)에 전송한다(S630). The server 100 performs a query received from the user terminal 120 and transmits the query to the user terminal 120 (S630).

사용자 단말(120)은 서버(100)로부터 쿼리 수행 성공의 결과를 수신하면, 데이터의 변경, 추가 또는 삭제 등 서버(100)에 전송했던 쿼리의 내용을 수행하고(S640), 색인을 갱신한다(S650). 예를 들어, 사용자 단말(120)은 새롭게 추가되는 데이터에 대한 색인을 추가하거나 삭제되는 데이터에 대한 색인을 삭제한다.Upon receiving the result of the query execution from the server 100, the user terminal 120 performs the contents of the query transmitted to the server 100 such as changing, adding, or deleting data (S640), and updates the index S650). For example, the user terminal 120 may add an index to newly added data or delete an index for data to be deleted.

그리고 사용자 단말(120)은 순서정보를 갱신한다(S660). 예를 들어, 서버(100)에 저장된 가장 최근의 순서정보가 '11'인 경우, 사용자 단말(120)은 서버(100)로부터 순서정보 '11'에 대한 정보를 수신하여, 자신의 순서정보를 '12'로 갱신할 수 있다. Then, the user terminal 120 updates the order information (S660). For example, when the latest order information stored in the server 100 is '11', the user terminal 120 receives information on the order information '11' from the server 100, Can be updated to '12'.

도 7은 본 발명에 따른 검색엔진을 이용한 데이터베이스의 관리 방법 중 데이터 컬럼 추가나 삭제에 대한 쿼리 처리 방법의 일 예를 도시한 도면이다. FIG. 7 is a diagram illustrating an example of a query processing method for adding or deleting data columns in a database management method using a search engine according to the present invention.

도 7을 참조하면, 사용자 단말(120)은 사용자의 요청에 따라 컬럼 추가나 삭제 등에 대한 쿼리를 생성하여 서버(100)로 전송한다(S700,S705). 서버는 순서정보를 생성하여 수신한 쿼리와 함께 저장한다(S710). 그리고, 서버(100)는 쿼리의 요청에 따라 데이터 컬럼을 추가하거나 데이터 컬럼을 삭제한 후 그 수행 결과를 사용자 단말(120)로 전송한다(S715)Referring to FIG. 7, the user terminal 120 generates a query for column addition or deletion according to a user's request and transmits the query to the server 100 (S700, S705). The server generates the order information and stores it together with the received query (S710). Then, the server 100 adds a data column or deletes a data column according to a query request, and transmits the result of the deletion to the user terminal 120 (S715)

사용자 단말(120)은 색인을 초기화한 후 (S720), 쿼리 순서정보를 갱신하고(S725), 서버(100)에 전체 데이터의 조회 쿼리를 전송한다(S730). 사용자 단말(120)은 서버(100)로부터 전체 데이터를 수신하여 저장한 후 전체 데이터에 대해 색인화를 수행하고(S740), 쿼리 순서정보를 다시 갱신한다(S745). After initializing the index (S720), the user terminal 120 updates the query order information (S725) and transmits the inquiry query of the entire data to the server 100 (S730). The user terminal 120 receives and stores the entire data from the server 100, performs indexing on the entire data (S740), and updates the query order information again (S745).

본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광데이터 저장장치 등이 있다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.The present invention can also be embodied as computer-readable codes on a computer-readable recording medium. A computer-readable recording medium includes all kinds of recording apparatuses in which data that can be read by a computer system is stored. Examples of the computer-readable recording medium include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, and the like. The computer-readable recording medium may also be distributed over a networked computer system so that computer readable code can be stored and executed in a distributed manner.

이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.The present invention has been described with reference to the preferred embodiments. It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. Therefore, the disclosed embodiments should be considered in an illustrative rather than a restrictive sense. The scope of the present invention is defined by the appended claims rather than by the foregoing description, and all differences within the scope of equivalents thereof should be construed as being included in the present invention.

Claims (10)

쿼리순서를 나타내는 제1 순서를 생성하여 쿼리와 맵핑하여 저장하는 쿼리저장부;
제1 사용자 단말로부터 쿼리순서를 나타내는 제2 순서를 포함하는 쿼리를 수신하는 쿼리수신부;
상기 쿼리수신부가 수신한 쿼리의 제2 순서를 기초로, 상기 제1 사용자 단말의 쿼리 수신 이전에 적어도 하나 이상의 제2 사용자 단말로부터 수신한 쿼리를 상기 쿼리저장부에서 검색하는 쿼리검색부; 및
상기 쿼리검색부가 검색한 쿼리를 상기 제1 사용자 단말로 전송하는 쿼리전송부;를 포함하는 것을 특징으로 하는 데이터관리서버.
A query storage unit for generating a first order indicating a query order and mapping and storing the first order;
A query receiver for receiving a query from a first user terminal, the query including a second order indicating a query order;
A query retrieval unit for retrieving, from the query storage unit, a query received from at least one second user terminal before receiving a query from the first user terminal, based on a second order of queries received by the query receiver; And
And a query transmitting unit transmitting the query retrieved by the query retrieving unit to the first user terminal.
제 1항에 있어서,
상기 제1 순서는 순차적으로 증가하는 번호로 구성되고,
상기 쿼리검색부는 상기 쿼리수신부가 수신한 쿼리에 포함된 제2 순서 이상의 크기를 가진 제1 순서와 맵핑된 쿼리를 상기 쿼리저장부에서 검색하는 것을 특징으로 하는 데이터관리서버.
The method according to claim 1,
Wherein the first order comprises sequentially increasing numbers,
Wherein the query searching unit searches the query storage unit for a query mapped to a first order having a size larger than a second order included in the query received by the query receiving unit.
제 1항에 있어서,
데이터를 저장하는 데이터저장부; 및
데이터 조회의 쿼리에 대해 상기 데이터 저장부에 저장된 전체 데이터를 상기 제1 사용자 단말로 전송하는 쿼리수행부;를 더 포함하는 것을 특징으로 하는 데이터관리서버.
The method according to claim 1,
A data storage unit for storing data; And
And a query execution unit for transmitting all data stored in the data storage unit to the first user terminal in response to a query of data query.
데이터를 저장하는 데이터저장부;
상기 데이터를 검색하는 검색엔진;
쿼리순서를 나타내는 제1 순서를 포함한 쿼리를 생성하여 데이터관리서버로 전송하는 쿼리전송부;
상기 데이터관리서버로부터, 상기 쿼리의 전송 이전에 다른 사용자 단말이 상기 데이터관리서버에 전송했던 적어도 하나 이상의 쿼리를 수신하는 쿼리목록수신부; 및
상기 제1 순서를, 상기 쿼리목록수신부가 수신한 적어도 하나 이상의 쿼리에 포함된 제2 순서를 기초로 갱신하는 순서정보갱신부;를 포함하는 것을 특징으로 하는 사용자 단말.
A data storage unit for storing data;
A search engine for retrieving the data;
A query transmission unit for generating a query including a first order indicating a query order and transmitting the generated query to the data management server;
A query list receiving unit receiving at least one query transmitted from the data management server to the data management server by another user terminal before transmission of the query; And
And an order information updating unit for updating the first order based on a second order included in at least one or more queries received by the query list receiving unit.
제 4항에 있어서,
상기 데이터에 대해, 상기 쿼리목록수신부가 수신한 적어도 하나 이상의 쿼리와 상기 쿼리전송부가 전송한 쿼리를 수행하는 쿼리수행부;를 더 포함하는 것을 특징으로 하는 사용자 단말.
5. The method of claim 4,
And a query execution unit for executing at least one query received by the query list receiving unit and a query transmitted by the query transmitting unit with respect to the data.
제 5항에 있어서,
상기 쿼리전송부는 데이터 조회의 쿼리를 상기 데이터관리서버에 전송하고,
상기 쿼리목록수신부는 상기 데이터관리서버에 저장된 전체 데이터를 함께 수신하여 상기 데이터저장부에 저장하는 것을 특징으로 하는 사용자 단말.
6. The method of claim 5,
Wherein the query transmitting unit transmits a query of data inquiry to the data management server,
Wherein the query list receiving unit receives the entire data stored in the data management server together and stores the received data in the data storage unit.
적어도 하나 이상의 사용자 단말과 유무선 통신을 통해 연결된 데이터 관리 서버의 데이터 관리 방법에 있어서,
적어도 하나 이상의 사용자 단말로부터, 쿼리순서를 나타내는 제1 순서를 포함하는 쿼리를 수신하는 단계;
상기 수신한 쿼리의 제1 순서를 기초로, 상기 데이터 관리 서버에 저장된 쿼리들 중 상기 사용자 단말의 쿼리 수신 이전에 다른 사용자 단말로부터 수신된 쿼리를 검색하는 단계; 및
상기 검색된 쿼리를 상기 사용자 단말로 전송하는 단계;를 포함하는 것을 특징으로 하는 데이터 관리 방법.
A data management method of a data management server connected to at least one user terminal through wired / wireless communication,
Receiving, from at least one user terminal, a query including a first order indicating a query order;
Retrieving a query received from another user terminal before receiving a query of the user terminal among queries stored in the data management server based on a first order of the received query; And
And transmitting the retrieved query to the user terminal.
제 7항에 있어서,
상기 쿼리가 데이터 조회인 경우, 상기 데이터관리서버에 저장된 데이터 전부를 상기 사용자 단말로 전송하는 단계;를 더 포함하는 것을 특징으로 하는 데이터 관리 방법.
8. The method of claim 7,
If the query is a data inquiry, transmitting all data stored in the data management server to the user terminal.
제 7항에 있어서,
상기 쿼리를 검색하는 단계는, 순차적으로 증가하는 제2 순서와 맵핑하여 저장된 쿼리 중 상기 수신한 쿼리에 포함된 제1 순서 이상의 크기를 가진 제2 순서와 맵핑된 쿼리를 검색하는 단계를 포함하는 것을 특징으로 하는 데이터 관리 방법.
8. The method of claim 7,
The step of searching for the query includes searching for a mapped query with a second order having a size greater than or equal to a first order included in the received query among mapped queries stored in a second order that sequentially increases Characterized in that the data management method comprises:
제 7항에 있어서,
상기 사용자 단말은 자체에 저장하고 있는 데이터에 대해, 상기 데이터 관리 서버로부터 수신한 쿼리와 상기 데이터 관리 서버에 전송한 쿼리를 수행하고, 상기 데이터의 색인을 갱신하고, 쿼리의 순서를 갱신하는 단계;를 더 포함하는 것을 특징으로 하는 데이터 관리 방법.
8. The method of claim 7,
Performing a query received from the data management server and a query transmitted to the data management server, updating an index of the data, and updating a query order with respect to data stored in the user terminal; Further comprising the steps of:
KR1020130075949A 2013-06-28 2013-06-28 Method of managing database using search-engine and system thereof KR101529270B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130075949A KR101529270B1 (en) 2013-06-28 2013-06-28 Method of managing database using search-engine and system thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130075949A KR101529270B1 (en) 2013-06-28 2013-06-28 Method of managing database using search-engine and system thereof

Publications (2)

Publication Number Publication Date
KR20150002295A KR20150002295A (en) 2015-01-07
KR101529270B1 true KR101529270B1 (en) 2015-06-29

Family

ID=52475750

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130075949A KR101529270B1 (en) 2013-06-28 2013-06-28 Method of managing database using search-engine and system thereof

Country Status (1)

Country Link
KR (1) KR101529270B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102507837B1 (en) * 2017-11-14 2023-03-07 주식회사 케이티 Method and Apparatus for Quality Management of Data

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000047631A (en) * 1998-12-01 2000-07-25 포만 제프리 엘 Database having table for storing queries
KR20040046259A (en) * 2002-11-26 2004-06-05 한국전자통신연구원 The method for generating memory resident object-relational schema/query by using UML
US20080140620A1 (en) * 2006-12-08 2008-06-12 Michael Bender Method for altering database views dependent on rules
KR20090054424A (en) * 2006-06-26 2009-05-29 데이탈레그로, 인코포레이티드 Workload manager for relational database management systems

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000047631A (en) * 1998-12-01 2000-07-25 포만 제프리 엘 Database having table for storing queries
KR20040046259A (en) * 2002-11-26 2004-06-05 한국전자통신연구원 The method for generating memory resident object-relational schema/query by using UML
KR20090054424A (en) * 2006-06-26 2009-05-29 데이탈레그로, 인코포레이티드 Workload manager for relational database management systems
US20080140620A1 (en) * 2006-12-08 2008-06-12 Michael Bender Method for altering database views dependent on rules

Also Published As

Publication number Publication date
KR20150002295A (en) 2015-01-07

Similar Documents

Publication Publication Date Title
US9767108B2 (en) Retrieval device, method for controlling retrieval device, and recording medium
JP4997950B2 (en) Network management system, network management program, and network management method
US9830345B1 (en) Content-addressable data storage
CN103077199B (en) A kind of file resource Search and Orientation method and device
US8126997B2 (en) Hot data management method based on hit counter
CN102262650B (en) The data base of link
US8429156B2 (en) Spatial attribute ranking value index
US9430539B2 (en) Universal data storage system that maintains data across one or more specialized data stores
CN101867607A (en) Distributed data access method, device and system
JP2013535749A (en) Method for aggressive information push notification and server therefor
KR101083563B1 (en) Method and System for Managing Database
WO2012149884A1 (en) File system, and method and device for retrieving, writing, modifying or deleting file
CN105209858B (en) The uncertainty of business location's data disappears qi and matching
JP5504595B2 (en) Information processing apparatus, information search system, information processing method, and program
RU2632414C2 (en) Method of hierarchical data structure forming, method of data search using hierarchical data structure, server and permanent machine-readable media
US9692847B2 (en) Content distribution method and content distribution server
CN111046041A (en) Data processing method and device, storage medium and processor
US7627547B2 (en) Processing path-based database operations
CN117435776A (en) Metadata storage and query method, device, computer equipment and storage medium
KR101529270B1 (en) Method of managing database using search-engine and system thereof
US9390136B2 (en) System and method of identifying relevance of electronic content to location or place
US8495025B2 (en) Foldering by stable query
JP2011170461A (en) Information accumulation retrieval method and information accumulation retrieval program
CN103646034A (en) Web search engine system and search method based content credibility
JP2011170791A (en) Information recording device, information recording method and program

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180528

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190326

Year of fee payment: 5