KR102036314B1 - Spatial web object retrieval system based on distributed processing and spatial web object retrieval method in using same - Google Patents

Spatial web object retrieval system based on distributed processing and spatial web object retrieval method in using same Download PDF

Info

Publication number
KR102036314B1
KR102036314B1 KR1020170184381A KR20170184381A KR102036314B1 KR 102036314 B1 KR102036314 B1 KR 102036314B1 KR 1020170184381 A KR1020170184381 A KR 1020170184381A KR 20170184381 A KR20170184381 A KR 20170184381A KR 102036314 B1 KR102036314 B1 KR 102036314B1
Authority
KR
South Korea
Prior art keywords
spatial
web object
information
spatial web
memory
Prior art date
Application number
KR1020170184381A
Other languages
Korean (ko)
Other versions
KR20190081670A (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 KR1020170184381A priority Critical patent/KR102036314B1/en
Publication of KR20190081670A publication Critical patent/KR20190081670A/en
Application granted granted Critical
Publication of KR102036314B1 publication Critical patent/KR102036314B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9537Spatial or temporal dependent retrieval, e.g. spatiotemporal queries

Landscapes

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

Abstract

본 발명은 분산 처리 기반 공간 웹 객체 검색 시스템에 관한 것으로, 본 발명은 외부 저장장치에 저장된 데이터를 메모리 상에서 사용되는 인 메모리 데이터로 변경하는 인 메모리 분산 처리부; 상기 인 메모리 분산 처리부에서 변경된 인 메모리 데이터에 공간 정보와 단어 정보를 각각 포함시켜 공간 웹 객체를 생성하는 공간 웹 객체 생성부; 및 상기 공간 웹 객체 생성부에서 생성된 공간 웹 객체에 특정 공간 정보와 단어 정보에 대한 질의를 수행하여 해당 공간 정보와 단어 정보가 포함된 공간 웹 객체를 검색하는 공간 웹 객체 질의부;를 포함하는 것을 특징으로 한다.The present invention relates to a distributed processing based spatial web object search system. The present invention provides an in-memory distributed processing unit for changing data stored in an external storage device into in-memory data used on a memory; A spatial web object generating unit generating spatial web objects by including spatial information and word information in the in-memory data changed by the in-memory distribution processor; And a spatial web object query unit which searches a spatial web object including corresponding spatial information and word information by querying the spatial web object generated by the spatial web object generator for specific spatial information and word information. It is characterized by.

Description

분산 처리 기반 공간 웹 객체 검색 시스템 및 이를 이용한 분산 처리 기반 공간 웹 객체 검색 방법{SPATIAL WEB OBJECT RETRIEVAL SYSTEM BASED ON DISTRIBUTED PROCESSING AND SPATIAL WEB OBJECT RETRIEVAL METHOD IN USING SAME}Distributed Web-based object search system and distributed Web-based object search method using this method {SPATIAL WEB OBJECT RETRIEVAL SYSTEM BASED ON DISTRIBUTED PROCESSING AND SPATIAL WEB OBJECT RETRIEVAL METHOD IN USING SAME}

본 발명의 실시예는 분산 처리 기반 공간 웹 객체 검색 시스템 및 방법에 관한 것이다.Embodiments of the present invention relate to distributed processing based spatial web object retrieval systems and methods.

공간 웹 객체는 GPS 좌표나, 지역이름, 우편번호 등, 지역에 대한 정보를 확인할 수 있는 정보를 포함하고 있는 문서를 말한다. 최근 스마트폰과 같은 모바일 장치의 발달로 인하여 이러한 공간 웹 객체가 기하급수적으로 생성되고, 또한 공간 웹 객체를 검색하는 서비스들의 사용량이 증가하고 있다.A spatial web object is a document that contains information that can identify information about a region, such as GPS coordinates, region name, and postal code. Recently, due to the development of mobile devices such as smart phones, such spatial web objects are created exponentially, and the usage of services for searching spatial web objects is increasing.

공간 웹 객체는 위치 정보와 문서의 단어 정보를 모두 갖고 있기 때문에, 이러한 공간 웹 객체를 검색하기 위해서는 단어 정보나 위치 정보를 이용하여 1차 검색을 하고, 검색된 결과에 위치 정보나 단어 정보를 재이용하여 2차 검색을 해야 정확한 결과를 찾을 수 있다.Since the spatial web object has both the location information and the word information of the document, to search for the spatial web object, the first search is performed using the word information or the location information, and the location information or the word information is reused in the search results. You need to do a second search to find the exact result.

따라서, 종래의 공간만을 검색하는 공간 검색 기법이나, 단어만을 검색하는 단어 검색 기법, 또는 공간 인덱스의 각 노드에 단어에 대한 정보를 위한 단어 인덱스를 추가하거나, 단어 인덱스의 각 노드에 공간 정보를 위한 공간 인덱스를 추가하는 하이브리드 인덱스 형태의 검색 기법은 공간 웹 객체를 검색하기 위한 효율적인 방법이라 할 수 없다.Therefore, a conventional spatial search technique for searching only a space, a word search technique for searching only words, or a word index for information about a word is added to each node of a spatial index, or a spatial information for each node of a word index is searched for. Hybrid index type search technique that adds spatial index is not an efficient way to search spatial web objects.

따라서, 본 출원인은 기존의 공간 웹 객체 검색 방법을 대용량의 데이터 분석에 적합하도록 분산처리 환경 기반에 적용함으로써 공간 웹 객체의 검색에 있어서 우수한 성능을 보여줄 수 있는 시스템을 발명하였다.Accordingly, the present inventors have invented a system that can show excellent performance in the search of spatial web objects by applying the existing spatial web object retrieval method to a distributed processing environment based to be suitable for analyzing a large amount of data.

대한민국 공개특허공보 제10-2009-0072619호(2009.07.02.)Republic of Korea Patent Publication No. 10-2009-0072619 (2009.07.02.)

본 발명은 공간 분할을 이용하여 분산처리 시스템을 효율적으로 이용하고, 분할된 공간에 대한 검색의 효율성을 높일 수 있는 분산 처리 기반 공간 웹 객체 검색 시스템 및 이를 이용한 분산 처리 기반 공간 웹 객체 검색 방법을 제공하는데 그 목적이 있다.The present invention provides a distributed processing-based spatial web object retrieval system and a distributed processing-based spatial web object retrieval method that can efficiently use a distributed processing system by using spatial partitioning and improve the efficiency of searching for the divided space. Its purpose is to.

또한, 본 발명은 데이터의 검색을 위하여 공간 정보와 단어 정보를 같이 사용하여 인덱스를 구축하는 QP-tree를 적용함으로써 공간 웹 객체의 검색에 있어서 우수한 성능을 보여줄 수 있는 분산 처리 기반 공간 웹 객체 검색 시스템 및 이를 이용한 분산 처리 기반 공간 웹 객체 검색 방법을 제공하는데 그 목적이 있다.In addition, the present invention is a distributed processing-based spatial web object retrieval system that can show an excellent performance in the search of spatial web objects by applying a QP-tree that builds an index using both spatial information and word information for data retrieval And a distributed processing-based spatial web object retrieval method using the same.

상기한 바와 같은 목적을 달성하기 위한 본 발명에 따른 분산 처리 기반 공간 웹 객체 검색 시스템은 외부 저장장치에 저장된 데이터를 메모리 상에서 사용되는 인 메모리 데이터로 변경하는 인 메모리 분산 처리부; 상기 인 메모리 분산 처리부에서 변경된 인 메모리 데이터에 공간 정보와 단어 정보를 각각 포함시켜 공간 웹 객체를 생성하는 공간 웹 객체 생성부; 및 상기 공간 웹 객체 생성부에서 생성된 공간 웹 객체에 특정 공간 정보와 단어 정보에 대한 질의를 수행하여 해당 공간 정보와 단어 정보가 포함된 공간 웹 객체를 검색하는 공간 웹 객체 질의부;를 포함하는 것을 특징으로 한다.In accordance with another aspect of the present invention, there is provided a distributed processing-based spatial web object searching system, including: an in-memory distributed processing unit for changing data stored in an external storage device into in-memory data used on a memory; A spatial web object generating unit generating spatial web objects by including spatial information and word information in the in-memory data changed by the in-memory distribution processor; And a spatial web object query unit which searches a spatial web object including corresponding spatial information and word information by querying the spatial web object generated by the spatial web object generator for specific spatial information and word information. It is characterized by.

또한, 상기 인 메모리 분산 처리부는, 상기 외부 저장장치에 저장된 데이터를 상기 인 메모리 데이터인 탄력적 분산 데이터 집합인 알디디(Resilient Distributed Dataset,RDD)로 변경할 수 있다.The in-memory distribution processor may change data stored in the external storage device into an RDD which is an elastic distributed data set that is the in-memory data.

또한, 상기 공간 웹 객체 생성부는, 상기 인 메모리 분산 처리부에서 생성된 알디디인 텍스트 데이터에 공간 정보와 단어 정보를 각각 포함시켜 공간 웹 객체의 집합인 공간 웹 알디디를 생성하는 공간웹알디디(SpatialWebRDD) 모듈; 상기 공간 웹 알디디를 공간 분할 알고리즘을 이용하여 공간 분할을 하고 분할된 각각의 공간을 하나의 파티션으로 구축한 그리드 알디디를 생성하는 그리드알디디(GriddedRDD) 모듈; 및 상기 그리드 알디디의 각 파티션에 포함된 공간 웹 객체의 검색을 위한 인덱스를 구축한 인덱스 알디디를 생성하는 인덱스알디디(IndexedRDD) 모듈;을 포함할 수 있다.The spatial web object generating unit may include spatial information and word information, respectively, in the text data generated by the in-memory distribution processor to generate spatial web aldi, which is a set of spatial web objects. ) module; A Gridded RD module for generating a grid RD by dividing the spatial web Aldi using a space dividing algorithm and constructing each divided space into one partition; And an IndexedRDD module for generating an Indexeddid for building an index for searching for a spatial web object included in each partition of the Griddidi.

또한, 상기 그리드알디디(GriddedRDD) 모듈은, 상기 공간 웹 알디디를 공간 분할 알고리즘인 STR 알고리즘 또는 BSP 알고리즘을 이용하여 공간 분할을 수행할 수 있다.In addition, the GridDRD module may perform spatial partitioning on the spatial web Aldi using a STR algorithm or a BSP algorithm, which is a spatial partitioning algorithm.

또한, 상기 인덱스알디디(IndexedRDD) 모듈은, 상기 공간 웹 객체의 인덱스로 QP-tree를 사용할 수 있다.In addition, the IndexedRDD module may use a QP-tree as an index of the spatial web object.

또한, 상기 공간 웹 객체 질의부는, 상기 공간 정보와 단어 정보를 입력받아 해당 공간 범위 안에 있는 공간 웹 객체 중 해당 단어를 모두 포함하는 문서를 검색하는 불 레인지 질의(Boolean Range Query) 모듈; 및 공간 정보와 단어 정보를 입력받아 해당 공간 위치에서 해당 단어를 모두 포함하는 가장 근접한 공간 웹 객체 K개를 검색하는 불 탑 케이 질의(Boolean Top-k Query) 모듈;을 포함할 수 있다.The spatial web object query unit may include: a Boolean Range Query module that receives the spatial information and the word information and searches for a document including all of the corresponding words among the spatial web objects within the corresponding spatial range; And a Boolean Top-k Query module that receives the spatial information and the word information and searches the K spatial web objects closest to each other containing the corresponding words at the corresponding spatial location.

또한, 본 발명에 따른 분산 처리 기반 공간 웹 객체 검색 방법은 인 메모리 분산 처리부가 외부 저장장치에 저장된 데이터를 메모리 상에서 사용되는 인 메모리 데이터로 변경하는 인 메모리 분산 처리 단계; 공간 웹 객체 생성부가 인 메모리 분산 처리부에서 변경된 인 메모리 데이터에 공간 정보와 단어 정보를 각각 포함시켜 공간 웹 객체를 생성하는 공간 웹 객체 생성 단계; 및 공간 웹 객체 질의부가 공간 웹 객체 생성부에서 생성된 공간 웹 객체에 특정 공간 정보와 단어 정보에 대한 질의를 수행하여 해당 공간 정보와 단어 정보가 포함된 공간 웹 객체를 검색하는 공간 웹 객체 질의 단계;를 포함할 수 있다.In addition, the distributed processing-based spatial web object search method according to the present invention includes an in-memory distribution processing step of the in-memory distribution processing unit to change the data stored in the external storage to the in-memory data used on the memory; A spatial web object generation step of generating a spatial web object by including spatial information and word information in the in-memory data changed by the in-memory distributed processing unit; And a spatial web object querying step, wherein the spatial web object querying unit searches a spatial web object generated by the spatial web object generating unit for specific spatial information and word information and searches for a spatial web object including the spatial information and word information. It can include;

또한, 상기 인 메모리 분산 처리 단계는, 상기 인 메모리 분산 처리부가 외부 저장장치에 저장된 데이터를 인 메모리 데이터인 탄력적 분산 데이터 집합인 알디디(RDD)로 변경할 수 있다.The in-memory distribution processing may include changing the data stored in the external memory to an RDD which is an elastic distributed data set that is in-memory data.

또한, 상기 공간 웹 객체 생성 단계는, 공간웹알디디(SpatialWebRDD) 모듈이 상기 인 메모리 분산 처리부에서 생성된 알디디인 텍스트 데이터에 공간 정보와 단어 정보를 각각 포함시켜 공간 웹 객체의 집합인 공간 웹 알디디를 생성하는 공간웹알디디 생성 공정; 그리드알디디(GriddedRDD) 모듈이 상기 공간 웹 알디디를 공간 분할 알고리즘을 이용하여 공간 분할을 하고 분할된 각각의 공간을 하나의 파티션으로 구축한 그리드 알디디를 생성하는 그리드알디디 생성 공정; 및 인덱스알디디(IndexedRDD) 모듈이 상기 그리드 알디디의 각 파티션에 포함된 공간 웹 객체의 검색을 위한 인덱스를 구축한 인덱스 알디디를 생성하는 인덱스알디디 생성 공정;을 포함할 수 있다.In the generating of the spatial web object, the spatial web RD module includes the spatial information and the word information in the text data, which is the Aldi, generated by the in-memory distribution processing unit, respectively. A spatial web CD generating step of generating a CD; A grid caddy generation step of generating a grid aldi (GriddedRDD) module by dividing the spatial web aldi by a space partitioning algorithm and constructing a partitioned individual space into one partition; And an IndexeddiD process of generating an Indexeddid by which an IndexedDid module constructs an index for searching for a spatial web object included in each partition of the griddiddy.

아울러, 상기 공간 웹 객체 질의 단계는, 불 레인지 질의(Boolean Range Query) 모듈이 공간 정보와 단어 정보를 입력받아 해당 공간 범위 안에 있는 공간 웹 객체 중 해당 단어를 모두 포함하는 문서를 검색하는 불 레인지 질의 공정; 및 불 탑 케이 질의(Boolean Top-k Query) 모듈이 공간 정보와 단어 정보를 입력받아 해당 공간 위치에서 해당 단어를 모두 포함하는 가장 근접한 공간 웹 객체 K개를 검색하는 불 탑 케이 질의 공정;을 포함할 수 있다.In addition, the spatial web object querying step, a Boolean Range Query module receives the spatial information and the word information, the range query for searching for documents containing all the words of the spatial web object in the corresponding spatial range fair; And a Boolean Top-K Query module receiving the spatial information and the word information and searching for the K closest spatial web objects containing all of the words at the corresponding spatial location. can do.

상기한 바와 같이 본 발명에 따른 분산 처리 기반 공간 웹 객체 검색 시스템 및 이를 이용한 분산 처리 기반 공간 웹 객체 검색 방법에 의하면, 공간 분할을 이용하여 분산처리 시스템을 효율적으로 이용하고, 분할된 공간에 대한 검색의 효율성을 높일 수 있는 효과가 있다.As described above, according to the distributed processing-based spatial web object search system and the distributed processing-based spatial web object search method using the same, the distributed processing system is efficiently used by using spatial partitioning, and the partitioned space is searched. There is an effect to increase the efficiency of.

또한, 본 발명은 데이터의 검색을 위하여 공간 정보와 단어 정보를 같이 사용하여 인덱스를 구축하는 QP-tree를 적용함으로써 공간 웹 객체의 검색에 있어서 우수한 성능을 보여줄 수 있는 효과가 있다.In addition, the present invention has an effect that can show excellent performance in the search of the spatial web object by applying the QP-tree to build the index by using both the spatial information and the word information for the data search.

도 1은 본 발명의 일 실시예에 따른 분산 처리 기반 공간 웹 객체 검색 시스템의 구성도이다.
도 2는 본 발명에 따른 공간 웹 객체 생성부의 구성도이다.
도 3은 본 발명에 따른 그리드알디디(GriddedRDD) 모듈의 그리드알디디 생성 알고리즘을 나타내는 도이다.
도 4는 본 발명에 따른 인덱스알디디(IndexedRDD) 모듈의 인덱스알디디 생성 알고리즘을 나타내는 도이다.
도 5는 본 발명에 따른 공간 웹 객체 질의부의 구성도이다.
도 6은 본 발명에 따른 불 레인지 질의(Boolean Range Query) 모듈의 질의 수행 알고리즘을 나타내는 도이다.
도 7은 본 발명의 일 실시예에 따른 분산 처리 기반 공간 웹 객체 검색 방법의 블록도이다.
도 8은 본 발명에 따른 공간 웹 객체 생성 단계의 블록도이다.
도 9는 본 발명에 따른 공간 웹 객체 질의 단계의 블록도이다.
도 10은 불 레인지 질의(Boolean Range Query) 성능 비교를 나타내는 도이다.
도 11은 데이터 양에 의한 질의 성능 비교를 나타내는 도이다.
도 12는 불 탑 케이 질의(Boolean Top-k Query) 성능 비교를 나타내는 도이다.
1 is a block diagram of a distributed processing-based spatial web object search system according to an embodiment of the present invention.
2 is a block diagram of a spatial web object generating unit according to the present invention.
FIG. 3 is a diagram illustrating a GridDID generation algorithm of the GridDRD module according to the present invention.
FIG. 4 is a diagram illustrating an index aldehyde generating algorithm of the IndexedRDD module according to the present invention.
5 is a block diagram of a spatial web object query unit according to the present invention.
6 is a diagram illustrating a query performing algorithm of a Boolean Range Query module according to the present invention.
7 is a block diagram of a distributed processing-based spatial web object search method according to an embodiment of the present invention.
8 is a block diagram of a step of creating a spatial web object according to the present invention.
9 is a block diagram of a spatial web object query step in accordance with the present invention.
10 illustrates a comparison of Boolean Range Query performance.
11 is a diagram illustrating a comparison of query performance by data amount.
12 shows a comparison of Boolean Top-k Query performance.

이하, 첨부된 도면을 참조하여 본 발명의 실시 예를 상세히 설명한다. 우선, 도면들 중 동일한 구성요소 또는 부품들은 가능한 한 동일한 참조부호를 나타내고 있음에 유의해야 한다. 본 발명을 설명함에 있어서 관련된 공지기능 혹은 구성에 대한 구체적인 설명은 본 발명의 요지를 모호하게 하지 않기 위해 생략한다.Hereinafter, with reference to the accompanying drawings will be described an embodiment of the present invention; First, it should be noted that the same components or parts in the drawings represent the same reference numerals as much as possible. In describing the present invention, detailed descriptions of related well-known functions or configurations are omitted in order not to obscure the gist of the present invention.

도 1은 본 발명의 일 실시예에 따른 분산 처리 기반 공간 웹 객체 검색 시스템의 구성도이다.1 is a block diagram of a distributed processing-based spatial web object search system according to an embodiment of the present invention.

본 발명에 따른 분산 처리 기반 공간 웹 객체 검색 시스템은 도 1에 도시된 바와 같이, 인 메모리 분산 처리부(100), 공간 웹 객체 생성부(200) 및 공간 웹 객체 질의부(300)을 포함한다.As shown in FIG. 1, the distributed processing based spatial web object search system according to the present invention includes an in-memory distributed processing unit 100, a spatial web object generating unit 200, and a spatial web object querying unit 300.

상기 인 메모리 분산 처리부(100)는 외부 저장장치에 저장된 데이터를 메모리 상에서 사용되는 인 메모리(In-memory) 데이터로 변경할 수 있다.The in-memory distribution processor 100 may change the data stored in the external storage device into in-memory data used on the memory.

상기 인 메모리 분산 처리부(100)는 하둡(High-Availability Distributed Object-Oriented Platform,Hadoop)이나 로컬디스크로 이루어지는 외부 저장장치에 저장된 데이터를 인 메모리 기반의 분산처리 시스템, 즉, Spark에서 사용가능한 인 메모리 데이터 형식인 탄력적 분산 데이터 집합, 다시 말해서 알디디(Resilient Distributed Dataset,RDD)로 변경할 수 있다.The in-memory distributed processing unit 100 may store data stored in an external storage device including a high-availability distributed object-oriented platform (Hadoop) or a local disk, an in-memory-based distributed processing system, that is, an in-memory usable in Spark. You can change the data type to an elastic distributed dataset, or Resilient Distributed Dataset (RDD).

구체적으로, 상기 인 메모리 분산 처리부(100)는 해당 데이터를 raw알디디(rawRDD)로 변경할 수 있고, 이러한 raw알디디(rawRDD)는 한 줄에 공간 웹 객체의 원시 데이터 하나를 저장할 수 있다.In detail, the in-memory distributed processing unit 100 may change the corresponding data into a raw RDD, and the raw RDD may store one raw data of a spatial web object in one line.

상기 공간 웹 객체 생성부(200)는 상기 인 메모리 분산 처리부에서 변경된 인 메모리 데이터에 공간 정보와 단어 정보를 각각 포함시켜 공간 웹 객체를 생성할 수 있다.The spatial web object generator 200 may generate spatial web objects by including spatial information and word information in the in-memory data changed by the in-memory distribution processor.

도 2는 본 발명에 따른 공간 웹 객체 생성부의 구성도이다.2 is a block diagram of a spatial web object generating unit according to the present invention.

구체적으로, 상기 공간 웹 객체 생성부(200)는 도 2에 도시된 바와 같이, 공간웹알디디(SpatialWebRDD) 모듈(210), 그리드알디디(GriddedRDD) 모듈(220) 및 인덱스알디디(IndexedRDD) 모듈(230)을 포함할 수 있다.Specifically, as shown in FIG. 2, the spatial web object generating unit 200 includes a spatial web RD module 210, a grid RDD module 220, and an index RDD module. 230 may be included.

상기 공간웹알디디(SpatialWebRDD) 모듈(210)은 상기 인 메모리 분산 처리부에서 생성된 알디디인 텍스트 데이터에 공간 정보와 단어 정보를 각각 포함시켜 공간 웹 객체의 집합인 공간 웹 알디디를 생성할 수 있다.The spatial web RDD module 210 may generate spatial web aldi as a set of spatial web objects by including spatial information and word information in text data generated by the in-memory distributed processor, respectively. .

상기 그리드알디디(GriddedRDD) 모듈(220)은 상기 공간 웹 알디디를 공간 분할 알고리즘을 이용하여 공간 분할을 하고 분할된 각각의 공간을 하나의 파티션으로 구축한 그리드 알디디를 생성할 수 있다.The gridded RDD module 220 may divide the space web Aldi using a space dividing algorithm and generate grid dividing each divided space into one partition.

상기 그리드알디디(GriddedRDD) 모듈(220)은 전체 데이터의 공간 영역을 전역 그리드로 분할하고 하나의 그리드에 속하는 데이터를 하나의 파티션에 할당하여 검색의 효율성을 높일 수 있다.The GridDRD module 220 may increase the efficiency of searching by dividing a spatial area of the entire data into a global grid and allocating data belonging to one grid to one partition.

구체적으로, 그리드알디디(GriddedRDD) 모듈(220)은 전체 영역을 공간 분할 알고리즘인 STR 알고리즘 또는 BSP 알고리즘을 이용하여 공간 분할을 수행할 수 있고, 이후 분할된 각 영역에 속하는 데이터를 <gridid, spatialwebobject> 형태로 분류할 수 있으며, 이후, 데이터를 gridid별로 그룹을 만들고 그룹별로 파티션을 재구성할 수 있다.Specifically, the GriddedRDD module 220 may perform spatial partitioning of the entire area using the STR algorithm or the BSP algorithm, which is a spatial partitioning algorithm, and then divides data belonging to each partitioned area into <gridid, spatialwebobject. >, You can sort data by gridid, and then reorganize partitions by group.

도 3은 본 발명에 따른 그리드알디디(GriddedRDD) 모듈의 그리드알디디 생성 알고리즘을 나타내는 도이다.FIG. 3 is a diagram illustrating a GridDID generation algorithm of the GridDRD module according to the present invention.

상기 그리드알디디(GriddedRDD) 모듈(220)은 도 3에 도시된 바와 같은 알고리즘을 이용하여 그리드알디디를 생성할 수 있다.The gridded RD module 220 may generate a grid CD using an algorithm as shown in FIG. 3.

구체적으로, 상기 그리드알디디(GriddedRDD) 모듈(220)은 spark.textFile함수를 통하여 원시 파일인 텍스트 파일을 원시RDD 파일인 rawRDD로 생성할 수 있다.Specifically, the GriddedRD module 220 may generate a text file, which is a raw file, as a rawRDD file, through a spark.textFile function.

이후, 생성된 rawRDD는 Spark의 함수인 map함수를 통해 공간 웹 객체를 저장하는 RDD인 swoRDD로 변형시킬 수 있고, 또한 genGrids 함수를 통해 grid분할 작업을 수행할 수 있는데, 여기서, genGrids 함수는 RDD와 분할 알고리즘의 종류, 샘플 비율 σ, 파티션 수 β를 입력받은 후, 입력된 RDD를 분할 알고리즘을 적용하여 공간으로 분할하고, 분할된 그리드의 집합을 ArrayList형태로 리턴해줄 수 있다.After that, the generated rawRDD can be transformed into swoRDD, which is an RDD that stores spatial web objects through the map function, which is a function of Spark, and grid division can be performed through the genGrids function. After receiving the type of partition algorithm, the sample rate σ, and the number of partitions β, the input RDD is divided into spaces by applying a partitioning algorithm, and the set of partitioned grids can be returned in the form of an ArrayList.

한편, 그리드 분할이 완료되면, swoRDD에 mapToPair함수를 이용하여 griddedRDD를 생성할 수 있는데, 이러한 mapToPair 함수는 RDD에 있는 데이터를 하나의 쌍으로 이루어진 데이터로 변경해주는 함수로 RDD안에 있는 swo(공간 웹 객체) 객체 하나를 가져와 girds에 있는 grid와의 포함 관계를 판단하여 swo의 공간 위치가 grid의 영역에 포함이 되면, 해당 swo를 <gridid, swo> 형태의 tuple로 만들어 주고, 이러한 <gridid, swo> 형태의 RDD인 griddedRDD에 넣어줄 수 있다.On the other hand, when grid division is completed, griddedRDD can be created by using mapToPair function in swoRDD. This mapToPair function converts data in RDD into a pair of data. ) Take a single object and judge the inclusion relationship with the grid in girds. When the spatial location of swo is included in the grid area, make the swo a tuple of <gridid, swo> type, and <gridid, swo> type. It can be put in griddedRDD which is the RDD of.

즉, mapToPair 함수를 거치면 griddedRDD는 공간 웹 객체 하나당 그리드 아이디 하나씩 쌍으로 이루어진 rdd로 구성이 되고, 또한 griddedRDD의 데이터 크기는 원시 데이터보다 증가해 있기 때문에 파티션을 재분할할 필요가 있다.In other words, after the mapToPair function, griddedRDD is composed of rdd, which is a pair of grid IDs per spatial web object, and since the data size of griddedRDD is larger than the raw data, it is necessary to repartition the partition.

따라서, 그리드의 개수 만큼의 파티션을 만들기 위하여 partitionBy함수를 실행할 수 있고, 파티션의 개수가 변경이 되면 griddedRDD에 groupByKey함수를 실행하여 grid별로 그룹을 만들어 groupRDD를 생성할 수 있는데, 이때 생성된 RDD는 데이터의 쌍을 저장할 수 있는 PairRDD로 <gridid, set of swo>로 이루어질 수 있다.Therefore, partitionBy can be executed to create as many partitions as the number of grids. If the number of partitions is changed, groupByKey can be run on griddedRDD to create groups for each grid to create groupRDD. PairRDD, which can store pairs of, may consist of <gridid, set of swo>.

상기 인덱스알디디(IndexedRDD) 모듈(230)은 상기 그리드 알디디의 각 파티션에 포함된 공간 웹 객체의 검색을 위한 인덱스를 구축한 인덱스 알디디를 생성할 수 있다.The IndexedRDD module 230 may generate an Indexeddid that constructs an index for searching for a spatial web object included in each partition of the Griddidi.

구체적으로, 상기 인덱스알디디(IndexedRDD) 모듈(230)은 하나의 파티션에 하나의 Index를 구축할 수 있고, 또한, 상기 공간 웹 객체의 인덱스로 QP-tree를 사용할 수 있는데, 이러한 QP-tree는 전체 데이터를 공간 웹 객체의 공간 정보를 이용하여 Quad-tree로 만들고, Quad-tree의 말단노드에는 해당 노드에 속해 있는 단어 정보들의 빠른 검색을 위한 Patricia-trie로 구성될 수 있다.Specifically, the IndexedRDD module 230 may build one index in one partition, and may also use a QP-tree as an index of the spatial web object. The entire data is formed into a quad-tree using spatial information of the spatial web object, and the end node of the quad-tree may be configured as a Patricia-trie for quick retrieval of word information belonging to the node.

도 4는 본 발명에 따른 인덱스알디디(IndexedRDD) 모듈의 인덱스알디디 생성 알고리즘을 나타내는 도이다.FIG. 4 is a diagram illustrating an index aldehyde generating algorithm of the IndexedRDD module according to the present invention.

상기 인덱스알디디(IndexedRDD) 모듈(230)은 도 4에 도시된 바와 같은 알고리즘을 이용하여 인덱스알디디를 생성할 수 있다.The IndexedRDD module 230 may generate an Indexeddid using an algorithm as shown in FIG. 4.

구체적으로, mapPartitions 함수는 griddedRDD 단계에서 생성된 groupRDD의 각 파티션마다 실행이 되는데, 해당 함수가 실행되면 현재 파티션의 공간 영역 정보(MBR)를 가져와 index, 즉 QP-tree를 생성할 수 있다.In detail, the mapPartitions function is executed for each partition of the groupRDD generated in the griddedRDD step. When the function is executed, the mapPartitions function may generate the index, that is, the QP-tree, by taking the spatial area information (MBR) of the current partition.

이후, 현재 파티션에 있는 공간 웹 객체들을 하나씩 가져와 index에 삽입하여 인덱스를 구축할 수 있는데, tuple._1() 함수는 현재 튜플의 첫 번째 값을 가져오는 함수이다.Then, you can build an index by taking the spatial web objects in the current partition and inserting them into index. The tuple._1 () function gets the first value of the current tuple.

이후, 인덱스의 구축이 완료되면 결과값에 <gridid, index> 형태의 데이터로 결과리스트에 넣어줄 수 있고, mapPartitions 함수가 종료되면 indexedRDD는 그리드 아이디와 인덱스의 데이터 쌍을 갖는 RDD가 되고, 추후 질의에 사용할 때 빠른 처리를 위하여 메모리에 저장하는 역할을 하는 persist함수를 실행할 수 있다. After index construction is completed, <gridid, index> data can be put in the result list as the result value.When the mapPartitions function is finished, indexedRDD becomes RDD with data pairs of grid ID and index. You can run the persist function, which is used to store things in memory for faster processing.

상기 공간 웹 객체 질의부(300)는 상기 공간 웹 객체 생성부에서 생성된 공간 웹 객체에 특정 공간 정보와 단어 정보에 대한 질의를 수행하여 해당 공간 정보와 단어 정보가 포함된 공간 웹 객체를 검색할 수 있다.The spatial web object query unit 300 searches a spatial web object including the corresponding spatial information and the word information by performing a query on the spatial web object generated by the spatial web object generating unit for specific spatial information and word information. Can be.

도 5는 본 발명에 따른 공간 웹 객체 질의부의 구성도이다.5 is a block diagram of a spatial web object query unit according to the present invention.

구체적으로, 상기 공간 웹 객체 질의부(300)는 도 5에 도시된 바와 같이, 불 레인지 질의(Boolean Range Query) 모듈(310) 및 불 탑 케이 질의(Boolean Top-k Query) 모듈(320)을 포함할 수 있다.In detail, as illustrated in FIG. 5, the spatial web object query unit 300 performs a Boolean Range Query module 310 and a Boolean Top-k Query module 320. It may include.

상기 불 레인지 질의(Boolean Range Query) 모듈(310)은 공간 정보와 단어 정보를 입력받아 해당 공간 범위 안에 있는 공간 웹 객체 중 해당 단어를 모두 포함하는 문서를 검색할 수 있다.The Boolean Range Query module 310 may receive spatial information and word information and search for a document including all of the corresponding words among the spatial web objects within the corresponding spatial range.

구체적으로, 상기 불 레인지 질의(Boolean Range Query) 모듈(310)은 사용자가 공간 정보(위치 정보)와 단어 정보를 입력하면 각 RDD는 입력된 공간 정보를 이용하여 자신이 가지고 있는 인덱스(QP-tree)에 공간 정보를 이용한 질의를 수행할 수 있다.Specifically, when the user inputs spatial information (location information) and word information, the Boolean Range Query module 310 has an index (QP-tree) that each RDD has using the input spatial information. ) Can be used to query the spatial information.

이후, 질의를 수행하면 root의 MBR을 이용하여 해당 RDD가 질의에 해당하는지 확인이 가능하기 때문에 질의에 해당하지 않는 RDD라면 더 이상 검색을 실행하지 않고 다음 RDD를 불러올 수 있고, 질의에 해당하는 RDD일 경우, 질의의 공간 정보를 이용하여 QP-tree에서 검색을 수행할 수 있다.After that, when the query is executed, it is possible to check whether the RDD corresponds to the query by using the MBR of the root. Therefore, if the RDD does not correspond to the query, the next RDD can be fetched without executing a further search and the RDD corresponding to the query. In this case, the search may be performed in the QP-tree using spatial information of the query.

QP-tree에 의해서 말단노드까지 검색하면, 말단 노드에 포함되어 있는 Patricia-trie에서 사용자가 입력한 단어를 포함하는 객체를 검색하여 결과로 리턴할 수 있다.If you search the terminal node by QP-tree, you can search for the object containing the word entered by the user in Patricia-trie included in the terminal node and return it as a result.

도 6은 본 발명에 따른 불 레인지 질의(Boolean Range Query) 모듈의 질의 수행 알고리즘을 나타내는 도이다.6 is a diagram illustrating a query performing algorithm of a Boolean Range Query module according to the present invention.

즉, 상기 불 레인지 질의(Boolean Range Query) 모듈(310)은 도 6에 도시된 바와 같이, 먼저 인덱스로 구성된 indexedRDD를 입력받아, indexedRDD에 사용자가 입력한 정보(위치, 범위, 단어)를 사용하여 각 파티션에 있는 인덱스에 질의를 수행할 수 있고, 질의 수행의 결과는 최종 결과인 result 리스트에 저장하고 결과로 리턴해주며, 각 파티션에서 수행된 결과는 master에 집계될 수 있다.That is, as shown in FIG. 6, the Boolean Range Query module 310 first receives an indexedRDD configured as an index, and uses information (position, range, and words) input by the user to the indexedRDD. A query can be performed on the indexes in each partition, and the result of the query execution is stored in the result list, which is the final result, and returned as a result. The results performed in each partition can be aggregated in master.

상기 불 탑 케이 질의(Boolean Top-k Query) 모듈(320)은 공간 정보와 단어 정보를 입력받아 해당 공간 위치에서 해당 단어를 모두 포함하는 가장 근접한 공간 웹 객체 K개를 검색할 수 있다.The Boolean Top-k Query module 320 may receive spatial information and word information, and search for the nearest spatial web object K including all of the words at the corresponding spatial location.

구체적으로, 상기 불 탑 케이 질의(Boolean Top-k Query) 모듈(320)은 사용자가 공간 정보(위치 정보)와 단어 정보를 입력하면 입력된 정보를 이용하여 각 RDD마다 BkQ 질의를 수행하는데, 이러한 불 탑 케이 질의(Boolean Top-k Query) 모듈(320)은 RDD에 있는 각 Index에서 우선순위 큐를 이용하여 k개의 객체를 검색하고, 검색된 결과는 master에게 결과로 넘길 수 있으며, Master는 각 파티션에서 얻어진 k*파티션의 수 만큼의 임시 결과에서 다시 우선순위 큐를 이용하여 최우선순위를 갖는 K개의 검색 결과를 찾아낼 수 있다.Specifically, when the user inputs spatial information (location information) and word information, the Boolean Top-k Query module 320 performs a BkQ query for each RDD using the input information. The Boolean Top-k Query module 320 retrieves k objects using a priority queue from each index in the RDD, and the searched results can be passed to the master as a result. From the number of temporary results obtained from k * partitions, the priority queue can be used again to find the K search results with the highest priority.

이하, 본 발명에 따른 분산 처리 기반 공간 웹 객체 검색 방법을 설명한다.Hereinafter, a distributed processing based spatial web object searching method according to the present invention will be described.

도 7은 본 발명의 일 실시예에 따른 분산 처리 기반 공간 웹 객체 검색 방법의 블록도이다.7 is a block diagram of a distributed processing-based spatial web object search method according to an embodiment of the present invention.

본 발명에 따른 분산 처리 기반 공간 웹 객체 검색 방법은 도 7에 도시된 바와 같이, 인 메모리 분산 처리 단계(S10), 공간 웹 객체 생성 단계(S20) 및 공간 웹 객체 질의 단계(S30)를 포함한다.As illustrated in FIG. 7, the distributed processing-based spatial web object search method includes an in-memory distributed processing step S10, a spatial web object generation step S20, and a spatial web object query step S30. .

상기 인 메모리 분산 처리 단계(S10)는 인 메모리 분산 처리부(100)가 외부 저장장치에 저장된 데이터를 메모리 상에서 사용되는 인 메모리 데이터로 변경하는 단계이다.The in-memory distribution processing step S10 is a step in which the in-memory distribution processing unit 100 changes the data stored in the external storage device into in-memory data used on the memory.

구체적으로, 상기 인 메모리 분산 처리 단계(S10)에서는 상기 인 메모리 분산 처리부(100)가 외부 저장장치에 저장된 데이터를 인 메모리 데이터인 탄력적 분산 데이터 집합인 알디디(RDD)로 변경할 수 있다.In detail, in the in-memory distributed processing step S10, the in-memory distributed processing unit 100 may change data stored in an external storage device into an RDD, which is an elastic distributed data set that is in-memory data.

상기 공간 웹 객체 생성 단계(S20)는 공간 웹 객체 생성부(200)가 인 메모리 분산 처리부에서 변경된 인 메모리 데이터에 공간 정보와 단어 정보를 각각 포함시켜 공간 웹 객체를 생성하는 단계이다.The spatial web object generation step (S20) is a step in which the spatial web object generation unit 200 includes spatial information and word information in the in-memory data changed by the in-memory distribution processing unit to generate the spatial web object, respectively.

도 8은 본 발명에 따른 공간 웹 객체 생성 단계의 블록도이다.8 is a block diagram of a step of creating a spatial web object according to the present invention.

구체적으로, 상기 공간 웹 객체 생성 단계(S20)는 도 8에 도시된 바와 같이, 공간웹알디디 생성 공정(S21), 그리드알디디 생성 공정(S22) 및 인덱스알디디 생성 공정(S23)을 포함할 수 있다.Specifically, as shown in FIG. 8, the spatial web object generating step (S20) may include a spatial web CD generating process (S21), a grid CD generating process (S22), and an index CD generating process (S23). Can be.

상기 공간웹알디디 생성 공정(S21)은 공간웹알디디(SpatialWebRDD) 모듈(210)이 상기 인 메모리 분산 처리부에서 생성된 알디디인 텍스트 데이터에 공간 정보와 단어 정보를 각각 포함시켜 공간 웹 객체의 집합인 공간 웹 알디디를 생성하는 공정이다.The spatial web CD generating step (S21) is a spatial web RD module 210 is a set of spatial web objects by including the spatial information and word information, respectively, in the text data generated by the in-memory distributed processing unit Aldi The process of creating a space web Aldi.

상기 그리드알디디 생성 공정(S22)은 그리드알디디(GriddedRDD) 모듈(220)이 상기 공간 웹 알디디를 공간 분할 알고리즘을 이용하여 공간 분할을 하고 분할된 각각의 공간을 하나의 파티션으로 구축한 그리드 알디디를 생성하는 공정이다.Grid grid generation step (S22) is a grid grid (RDID) module (220) grid partition the space Web Aldi using a space partitioning algorithm and each partitioned space to build a grid It is a process to produce an Aldi.

구체적으로, 상기 그리드알디디 생성 공정(S22)에서는 공간 웹 알디디를 공간 분할 알고리즘인 STR 알고리즘 또는 BSP 알고리즘을 이용하여 공간 분할을 수행할 수 있다.Specifically, in the grid CD generation process (S22), the spatial web CD may be spatially partitioned using the STR algorithm or the BSP algorithm, which is a spatial partitioning algorithm.

상기 인덱스알디디 생성 공정(S23)은 인덱스알디디(IndexedRDD) 모듈(230)이 상기 그리드 알디디의 각 파티션에 포함된 공간 웹 객체의 검색을 위한 인덱스를 구축한 인덱스 알디디를 생성하는 공정이다.In the index eddie generating step (S23), the indexed eddy module 230 generates an indexed eddy that constructs an index for searching for a spatial web object included in each partition of the grid aldi. .

구체적으로, 상기 인덱스알디디 생성 공정(S23)에서는 상기 공간 웹 객체의 인덱스로 QP-tree를 사용할 수 있다.In detail, in the step S23 of generating an index aldehyde, a QP-tree may be used as an index of the spatial web object.

상기 공간 웹 객체 질의 단계(S30)는 공간 웹 객체 질의부(300)가 공간 웹 객체 생성부에서 생성된 공간 웹 객체에 특정 공간 정보와 단어 정보에 대한 질의를 수행하여 해당 공간 정보와 단어 정보가 포함된 공간 웹 객체를 검색하는 단계이다.The spatial web object querying step (S30), the spatial web object query unit 300 queries the spatial web object generated by the spatial web object generating unit for specific spatial information and word information so that the corresponding spatial information and word information are stored. Searching for the included spatial web object.

도 9는 본 발명에 따른 공간 웹 객체 질의 단계의 블록도이다.9 is a block diagram of a spatial web object query step in accordance with the present invention.

구체적으로, 상기 공간 웹 객체 질의 단계(S30)는 도 9에 도시된 바와 같이, 불 레인지 질의 공정(S31) 및 불 탑 케이 질의 공정(S32)을 포함할 수 있다.In detail, as illustrated in FIG. 9, the spatial web object querying step S30 may include a range querying process S31 and a pyramid kay querying process S32.

상기 불 레인지 질의 공정(S31)은 불 레인지 질의(Boolean Range Query) 모듈(310)이 공간 정보와 단어 정보를 입력받아 해당 공간 범위 안에 있는 공간 웹 객체 중 해당 단어를 모두 포함하는 문서를 검색하는 공정이다.In the Boolean range query step S31, a Boolean Range Query module 310 receives a spatial information and word information and searches for a document including all of the words among the spatial web objects within the corresponding spatial range. to be.

상기 불 탑 케이 질의 공정(S32)은 불 탑 케이 질의(Boolean Top-k Query) 모듈(320)이 공간 정보와 단어 정보를 입력받아 해당 공간 위치에서 해당 단어를 모두 포함하는 가장 근접한 공간 웹 객체 K개를 검색하는 공정이다.In step S32, the Boolean Top-K Query module 320 receives the spatial information and the word information, and includes the nearest spatial web object K including all the words at the corresponding spatial location. The process of searching for dogs.

이하, 본 발명에 따른 분산 처리 기반 공간 웹 객체 검색 시스템을 이용한 공간 웹 객체 검색 방법의 성능 실험예를 설명한다.Hereinafter, an example of the performance experiment of the spatial web object search method using the distributed processing-based spatial web object search system according to the present invention will be described.

본 실험에서는 실제 Twitter 데이터를 사용하였고, 데이터의 양은 3000만개로 약 5GB의 저장 공간을 필요로 했으며, 실험에 사용된 장치는 마스터 1대, 워커 6대로 구성하였다.In this experiment, the actual Twitter data was used, and the amount of data was 30 million, which required about 5GB of storage space, and the device used for the experiment consisted of one master and six workers.

마스터는 인텔 제온 e5540(4코어)에 12GB의 램을 탑재하였고, 워커는 각 인텔 i5 3570(4코어)에 16GB의 램을 탑재하였다. 실제 Spark에서는 각 워커마다 램을 12GB씩 사용하여 전체 24코어 72GB의 램을 탑재하고 있는 시스템을 이용하였다.The Master has 12GB of RAM in the Intel Xeon e5540 (4 cores), and the Walker has 16GB of RAM in each Intel i5 3570 (4 cores). In fact, Spark used a system with 12GB of RAM per worker, with a total of 24 cores and 72GB of RAM.

실험 데이터는 500만, 1000만, 1500만, 2500만개로 데이터를 각각 만들어 실험에 이용하였고, 또한 본 실험에서는 검색 성능의 비교를 위해 종래의 공간 정보만을 이용하는 인덱스인 R-tree를 사용하는 방법(공간 기법)과, 본 발명의 공간 정보와 단어 정보를 모두 이용하는 인덱스인 QP-tree를 사용하는 방법(공간+단어 기법)으로 실험하였다.Experimental data were used in the experiment by making 5 million, 10 million, 15 million, and 25 million data, respectively. Also, in this experiment, a method using R-tree, which is an index using only conventional spatial information, for comparison of search performance ( Spatial technique) and QP-tree, which is an index that uses both spatial and word information of the present invention, (spatial + word technique).

<불 레인지 질의(BRQ) 성능 비교><BRQ performance comparison>

본 실험에서는 공간 웹 객체 질의 중 하나인 BRQ 질의의 성능을 비교하였다. 실험에 사용되는 파라미터인 point 정보는 전체 데이터 중 랜덤하게 추출하여 사용하였고, 단어 정보는 전체 단어를 스캔하여 빈도수가 가장 높은 단어, 중간 정도의 빈도수를 갖는 단어, 가장 낮은 빈도수를 갖는 단어를 각각 이용하여 10번씩 반복 하여 질의를 수행하고 질의 수행 시간의 평균을 계산하였다.In this experiment, we compared the performance of BRQ query, one of spatial web object queries. The point information, which is a parameter used in the experiment, was randomly extracted from the entire data, and the word information was scanned using the whole word, the word with the highest frequency, the word with the medium frequency, and the word with the lowest frequency, respectively. The query was repeated 10 times and the average of query execution time was calculated.

실험에 사용된 데이터는 2500만개 데이터를 이용하였고, 검색 범위는 전체 범위의 0.001%, 0.01%, 0.1%, 1%, 10%로 10배씩 증가하여 검색 성능을 측정하였다. The data used in the experiment was 25 million data, and the search range was increased by 10 times to 0.001%, 0.01%, 0.1%, 1%, and 10% of the entire range to measure the search performance.

도 10은 불 레인지 질의(Boolean Range Query) 성능 비교를 나타내는 도이다.10 illustrates a comparison of Boolean Range Query performance.

실험 결과, 도 10에 도시된 바와 같이, 본 발명과 같이 공간+단어를 이용하는 방법이 종래의 공간만을 이용하는 방법보다 훨씬 좋은 성능을 보여주는 것을 확인할 수 있다.As a result of the experiment, as shown in Figure 10, it can be seen that the method using the space + words as shown in the present invention shows a much better performance than the method using the conventional space only.

이는 공간 기법은 공간을 이용하여 데이터를 검색한 후 다시 단어를 추가로 검색하기 때문으로, 1차 검색결과(공간검색)의 결과를 이용하여 2차 검색을 수행하는 시간이 오래 걸리지만, 공간+단어 기법은 indexedRDD에 있는 인덱스에서 공간과 단어를 같이 검색할 수 있기 때문에 공간의 크기에 구애받지 않고 거의 일정한 수준의 검색 성능을 보여줄 수 있다. This is because the spatial technique uses space to search for data and then search for additional words, so it takes a long time to perform the secondary search using the results of the primary search result (spatial search). Since the word technique can search for spaces and words in the index in indexedRDD, it can show almost constant search performance regardless of space size.

<데이터 양에 의한 질의 성능 비교><Query Performance Comparison by Data Volume>

본 실험에서는 BRQ 질의를 데이터의 양을 변경하며 질의 수행 시간을 확인하였고. 데이터는 1000만, 1500만, 2000만, 2500만개로 변경하며 실험을 하였으며, 실험에 사용된 검색 범위는 전체 데이터의 0.1%를 사용하였다.In this experiment, we confirmed the query execution time by changing the amount of data in the BRQ query. The data was changed to 10 million, 15 million, 20 million and 25 million, and the search range used in the experiment used 0.1% of the total data.

도 11은 데이터 양에 의한 질의 성능 비교를 나타내는 도이다.11 is a diagram illustrating query performance comparison by data amount.

실험 결과, 도 11에 도시된 바와 같이, 본 발명에 따른 공간+단어 기법은 데이터의 크기에 따른 검색 시간의 변화가 거의 없는 반면, 종래의 공간 기법은 데이터의 크기가 늘어날수록 검색시간이 오래 걸렸다.As a result of the experiment, as shown in FIG. 11, the spatial + word scheme according to the present invention has almost no change in search time according to the size of the data, whereas the conventional spatial technique takes a longer search time as the size of the data increases. .

이는 공간 기법은 데이터의 크기가 늘어난다면, 같은 범위의 데이터가 양이 늘어나고, 양이 늘어남에 따라 검색해야 할 객체가 늘어나며 이는 곧 검색해야 할 단어에 대한 데이터가 늘어나기 때문이다.This is because the spatial technique increases the size of the data, increases the amount of data in the same range, and increases the amount of objects to be searched, which increases the data for the words to be searched.

이에 반해, 공간+단어 기법에서는 데이터의 양이 증가하여도 같은 노드에 있는 단어 정보에 대한 인덱스가 구축이 되어 있으므로, 검색 시간의 변화가 거의 없다.On the other hand, in the space + word technique, even if the amount of data increases, since the index for the word information in the same node is constructed, the search time is hardly changed.

<불 탑 케이 질의(BkQ) 성능 비교><BkQ Performance Comparison>

본 실험에서는 공간 웹 객체 질의 중 하나인 BkQ 질의의 성능을 비교하였다. 실험에 사용된 데이터는 2500만개의 Twitter데이터이고, 질의를 하는 위치는 전체 데이터 중 랜덤하게 추출을 하였으며, 질의에 사용된 단어는 전체 단어 중, 가장 빈도수가 높은 단어순으로 하였다. 또한 K 값은 10, 20, 30, 40, 50으로 10씩 증가하면서 질의 수행 능력을 실험하였다.In this experiment, we compared the performance of BkQ queries, one of spatial web object queries. The data used in the experiment were 25 million Twitter data, and the location of the query was randomly extracted from all the data. Also, the K value was increased by 10, 20, 30, 40, and 50, and the performance of the query was tested.

도 12는 불 탑 케이 질의(Boolean Top-k Query) 성능 비교를 나타내는 도이다.12 shows a comparison of Boolean Top-k Query performance.

실험 결과, 도 11에 도시된 바와 같이, 종래의 공간 기법은 350ms 근처에서 비슷한 성능을 보였고, 본 발명에 따른 공간+단어 기법은 100ms에서 비슷한 성능을 보였다.As a result of the experiment, as shown in FIG. 11, the conventional spatial technique showed similar performance in the vicinity of 350 ms, and the spatial + word technique according to the present invention showed similar performance in 100 ms.

이는 공간 기법은 데이터를 하나의 파티션에 속해있는 R-tree에서 검색 후, 검색된 데이터에서 단어 검색을 추가해야 하는 시간이 걸리지만, 공간+단어 기법은 하나의 파티션에 있는 인덱스(QP-tree)에서 검색을 할 때, 단어까지 포함된 정보를 검색할 수 있기 때문에 수행 시간이 더 적게 걸릴 수 있다.This means that the spatial technique takes time to retrieve the data from the R-tree belonging to one partition, and then adds a word search from the retrieved data, while the spatial + word technique uses the index from one partition (QP-tree). When you do a search, you can search for information that includes words, which can take less time.

상기한 바와 같이 본 발명에 따르면, 공간 분할을 이용하여 분산처리 시스템을 효율적으로 이용하고, 분할된 공간에 대한 검색의 효율성을 높일 수 있으며, 데이터의 검색을 위하여 공간 정보와 단어 정보를 같이 사용하여 인덱스를 구축하는 QP-tree를 적용함으로써 공간 웹 객체의 검색에 있어서 우수한 성능을 보여줄 수 있다.As described above, according to the present invention, it is possible to efficiently use a distributed processing system by using spatial partitioning, to improve the efficiency of searching for partitioned space, and to use spatial information and word information together to search data. By applying the QP-tree to build indexes, we can show excellent performance in searching spatial web objects.

이상과 같이 본 발명에 따른 분산 처리 기반 공간 웹 객체 검색 시스템 및 이를 이용한 분산 처리 기반 공간 웹 객체 검색 방법을 예시한 도면을 참조로 하여 설명하였으나, 본 명세서에 개시된 실시예와 도면에 의해 본 발명이 한정되는 것은 아니며, 본 발명의 기술사상 범위 내에서 당업자에 의해 다양한 변형이 이루어질 수 있음은 물론이다.As described above with reference to the drawings illustrating a distributed processing-based spatial web object search system and a distributed processing-based spatial web object search method according to the present invention, the present invention by the embodiments and drawings disclosed herein Of course, various modifications may be made by those skilled in the art within the scope of the technical idea of the present invention.

100:인 메모리 분산 처리부
200:공간 웹 객체 생성부
210:공간웹알디디(SpatialWebRDD) 모듈
220:그리드알디디(GriddedRDD) 모듈
230:인덱스알디디(IndexedRDD) 모듈
300:공간 웹 객체 질의부
310:불 레인지 질의(Boolean Range Query) 모듈
320:불 탑 케이 질의(Boolean Top-k Query) 모듈
S10:인 메모리 분산 처리 단계
S20:공간 웹 객체 생성 단계
S21:공간웹알디디 생성 공정
S22:그리드알디디 생성 공정
S23:인덱스알디디 생성 공정
S30:공간 웹 객체 질의 단계
S31:불 레인지 질의 공정
S32:불 탑 케이 질의 공정
100: in-memory distribution processing unit
200: spatial web object generation unit
210: SpatialWebRDD module
220: GriddedRDD module
230: IndexedRDD module
300: spatial web object query unit
310: Boolean Range Query Module
320: Boolean Top-k Query Module
S10: In-Memory Distributed Processing Steps
S20: Creating a Spatial Web Object
S21: Spatial Web CD Creation Process
S22: Grid Aldi production process
S23: Index Aldi generation process
S30: Spatial Web Object Query Step
S31: Poor quality process
S32: Firetop Cayman's Process

Claims (10)

외부 저장장치에 저장된 데이터를 메모리 상에서 사용되는 인 메모리 데이터로 변경하는 인 메모리 분산 처리부;
상기 인 메모리 분산 처리부에서 변경된 인 메모리 데이터에 공간 정보와 단어 정보를 각각 포함시켜 공간 웹 객체를 생성하는 공간 웹 객체 생성부; 및
상기 공간 웹 객체 생성부에서 생성된 공간 웹 객체에 특정 공간 정보와 단어 정보에 대한 질의를 수행하여 해당 공간 정보와 단어 정보가 포함된 공간 웹 객체를 검색하는 공간 웹 객체 질의부;를 포함하고,
상기 공간 웹 객체 생성부에서 생성되는 상기 공간 웹 객체는 지역에 대한 정보를 확인할 수 있는 정보를 포함하는 문서이며,
상기 공간 웹 객체 생성부는,
상기 인 메모리 분산 처리부에서 생성된 알디디인 텍스트 데이터에 공간 정보와 단어 정보를 각각 포함시켜 공간 웹 객체의 집합인 공간 웹 알디디를 생성하는 공간웹알디디(SpatialWebRDD) 모듈;
상기 공간 웹 알디디를 공간 분할 알고리즘을 이용하여 공간 분할을 하고 분할된 각각의 공간을 하나의 파티션으로 구축한 그리드 알디디를 생성하는 그리드알디디(GriddedRDD) 모듈; 및
상기 그리드 알디디의 각 파티션에 포함된 공간 웹 객체의 검색을 위한 인덱스를 구축한 인덱스 알디디를 생성하는 인덱스알디디(IndexedRDD) 모듈;을 포함하고,
상기 인덱스알디디(IndexedRDD) 모듈은 상기 공간 웹 객체의 인덱스로 QP-tree를 사용하며,
상기 QP-tree는 전체 데이터를 공간 웹 객체의 공간 정보를 이용하여 Quad-tree로 만들고, Quad-tree의 말단노드에는 해당 노드에 속해 있는 단어 정보들의 빠른 검색을 위한 Patricia-trie로 구성된 것을 특징으로 하는 분산 처리 기반 공간 웹 객체 검색 시스템.
An in-memory distribution processor for changing data stored in the external storage device into in-memory data used on the memory;
A spatial web object generating unit generating spatial web objects by including spatial information and word information in the in-memory data changed by the in-memory distribution processor; And
And a spatial web object query unit which searches a spatial web object including corresponding spatial information and word information by querying the spatial web object generated by the spatial web object generator for specific spatial information and word information.
The spatial web object generated by the spatial web object generator is a document including information for confirming information about a region.
The spatial web object generation unit,
A Spatial WebRDD module for generating a spatial Web RDI that is a set of spatial web objects by including spatial information and word information in the Aldyin text data generated by the in-memory distributed processor;
A Gridded RD module for generating a grid RD by dividing the spatial web Aldi using a space dividing algorithm and constructing each divided space into one partition; And
And an IndexedRDD module for generating an indexed Aldi for building an index for searching for a spatial web object included in each partition of the grid Aldi.
The IndexedRDD module uses a QP-tree as an index of the spatial web object.
The QP-tree is a quad-tree using the spatial information of the spatial web object, and the end node of the quad-tree consists of a Patricia-trie for quick retrieval of word information belonging to the node. Distributed web based object retrieval system based on distributed processing.
제 1항에 있어서,
상기 인 메모리 분산 처리부는,
상기 외부 저장장치에 저장된 데이터를 상기 인 메모리 데이터인 탄력적 분산 데이터 집합인 알디디(Resilient Distributed Dataset,RDD)로 변경하는 것을 특징으로 하는 분산 처리 기반 공간 웹 객체 검색 시스템.
The method of claim 1,
The in memory distribution processing unit,
The distributed processing-based spatial web object retrieval system according to claim 1, wherein the data stored in the external storage device is changed into a resilient distributed dataset (RDD), which is an in-memory data.
삭제delete 제 1항에 있어서,
상기 그리드알디디(GriddedRDD) 모듈은,
상기 공간 웹 알디디를 공간 분할 알고리즘인 STR 알고리즘 또는 BSP 알고리즘을 이용하여 공간 분할을 수행하는 것을 특징으로 하는 분산 처리 기반 공간 웹 객체 검색 시스템.
The method of claim 1,
The Gridded RD module,
Distributed spatial processing based spatial web object retrieval system, characterized in that for performing the spatial partitioning using the STR algorithm or BSP algorithm, which is a spatial partitioning algorithm.
삭제delete 제 1항에 있어서,
상기 공간 웹 객체 질의부는,
상기 공간 정보와 단어 정보를 입력받아 해당 공간 범위 안에 있는 공간 웹 객체 중 해당 단어를 모두 포함하는 문서를 검색하는 불 레인지 질의(Boolean Range Query) 모듈; 및
공간 정보와 단어 정보를 입력받아 해당 공간 위치에서 해당 단어를 모두 포함하는 가장 근접한 공간 웹 객체 K개를 검색하는 불 탑 케이 질의(Boolean Top-k Query) 모듈;을 포함하는 것을 특징으로 하는 분산 처리 기반 공간 웹 객체 검색 시스템.
The method of claim 1,
The spatial web object query unit,
A Boolean Range Query module for receiving the spatial information and the word information and searching for a document including all of the corresponding words among the spatial web objects within the corresponding spatial range; And
A Boolean Top-k Query module for receiving the spatial information and the word information and searching the K nearest spatial web objects containing all of the words in the corresponding spatial location. Based spatial web object retrieval system.
제 1항, 제 2항, 제 4항 및 제 6항 중 어느 한 항에 따른 분산 처리 기반 공간 웹 객체 검색 시스템을 이용한 분산 처리 기반 공간 웹 객체 검색 방법에 있어서,
인 메모리 분산 처리부가 외부 저장장치에 저장된 데이터를 메모리 상에서 사용되는 인 메모리 데이터로 변경하는 인 메모리 분산 처리 단계;
공간 웹 객체 생성부가 인 메모리 분산 처리부에서 변경된 인 메모리 데이터에 공간 정보와 단어 정보를 각각 포함시켜 공간 웹 객체를 생성하는 공간 웹 객체 생성 단계; 및
공간 웹 객체 질의부가 공간 웹 객체 생성부에서 생성된 공간 웹 객체에 특정 공간 정보와 단어 정보에 대한 질의를 수행하여 해당 공간 정보와 단어 정보가 포함된 공간 웹 객체를 검색하는 공간 웹 객체 질의 단계;를 포함하는 것을 특징으로 하는 분산 처리 기반 공간 웹 객체 검색 방법.
A distributed processing based spatial web object searching method using a distributed processing based spatial web object searching system according to any one of claims 1, 2, 4 and 6,
An in memory distribution processing step of changing, by the in memory distribution processing unit, data stored in the external storage device into in memory data used on the memory;
A spatial web object generation step of generating a spatial web object by including spatial information and word information in the in-memory data changed by the in-memory distributed processing unit; And
A spatial web object query step of searching for a spatial web object including the spatial information and the word information by performing a query on the spatial web object generated by the spatial web object generating unit by the spatial web object generating unit for specific spatial information and word information; Distributed processing-based spatial web object search method comprising a.
제 7항에 있어서,
상기 인 메모리 분산 처리 단계는,
상기 인 메모리 분산 처리부가 외부 저장장치에 저장된 데이터를 인 메모리 데이터인 탄력적 분산 데이터 집합인 알디디(RDD)로 변경하는 것을 특징으로 하는 분산 처리 기반 공간 웹 객체 검색 방법.
The method of claim 7, wherein
The in memory distribution processing step,
The distributed memory-based spatial web object retrieval method according to claim 1, wherein the in-memory distributed processing unit changes data stored in an external storage device into an RDD which is an elastic distributed data set that is in-memory data.
제 8항에 있어서,
상기 공간 웹 객체 생성 단계는,
공간웹알디디(SpatialWebRDD) 모듈이 상기 인 메모리 분산 처리부에서 생성된 알디디인 텍스트 데이터에 공간 정보와 단어 정보를 각각 포함시켜 공간 웹 객체의 집합인 공간 웹 알디디를 생성하는 공간웹알디디 생성 공정;
그리드알디디(GriddedRDD) 모듈이 상기 공간 웹 알디디를 공간 분할 알고리즘을 이용하여 공간 분할을 하고 분할된 각각의 공간을 하나의 파티션으로 구축한 그리드 알디디를 생성하는 그리드알디디 생성 공정; 및
인덱스알디디(IndexedRDD) 모듈이 상기 그리드 알디디의 각 파티션에 포함된 공간 웹 객체의 검색을 위한 인덱스를 구축한 인덱스 알디디를 생성하는 인덱스알디디 생성 공정;을 포함하는 것을 특징으로 하는 분산 처리 기반 공간 웹 객체 검색 방법.
The method of claim 8,
The spatial web object creation step,
A spatial web eddy generating step of generating a spatial web aldi as a set of spatial web objects by including spatial information and word information in the text data generated by the in-memory distributed processing unit;
A grid caddy generation step of generating a grid aldi (GriddedRDD) module by dividing the spatial web aldi by a space partitioning algorithm and constructing a partitioned individual space into one partition; And
An indexeddidi generating step of generating an indexeddid by which an indexeddid module constructs an index for searching a spatial web object included in each partition of the griddidi; How to retrieve based spatial web objects.
제 9항에 있어서,
상기 공간 웹 객체 질의 단계는,
불 레인지 질의(Boolean Range Query) 모듈이 공간 정보와 단어 정보를 입력받아 해당 공간 범위 안에 있는 공간 웹 객체 중 해당 단어를 모두 포함하는 문서를 검색하는 불 레인지 질의 공정; 및
불 탑 케이 질의(Boolean Top-k Query) 모듈이 공간 정보와 단어 정보를 입력받아 해당 공간 위치에서 해당 단어를 모두 포함하는 가장 근접한 공간 웹 객체 K개를 검색하는 불 탑 케이 질의 공정;을 포함하는 것을 특징으로 하는 분산 처리 기반 공간 웹 객체 검색 방법.
The method of claim 9,
The spatial web object query step,
A Boolean range query step of receiving, by a Boolean Range Query module, spatial information and word information and searching for a document including all of the corresponding words among spatial web objects within the spatial range; And
The Boolean Top-K Query module receives the spatial information and the word information, and searches the K- Nearest Spatial Web object containing all the words at the spatial location. Distributed processing based spatial web object search method, characterized in that.
KR1020170184381A 2017-12-29 2017-12-29 Spatial web object retrieval system based on distributed processing and spatial web object retrieval method in using same KR102036314B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170184381A KR102036314B1 (en) 2017-12-29 2017-12-29 Spatial web object retrieval system based on distributed processing and spatial web object retrieval method in using same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170184381A KR102036314B1 (en) 2017-12-29 2017-12-29 Spatial web object retrieval system based on distributed processing and spatial web object retrieval method in using same

Publications (2)

Publication Number Publication Date
KR20190081670A KR20190081670A (en) 2019-07-09
KR102036314B1 true KR102036314B1 (en) 2019-10-25

Family

ID=67261241

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170184381A KR102036314B1 (en) 2017-12-29 2017-12-29 Spatial web object retrieval system based on distributed processing and spatial web object retrieval method in using same

Country Status (1)

Country Link
KR (1) KR102036314B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010048172A1 (en) 2008-10-20 2010-04-29 Cascaad Srl Social graph based recommender
KR101794883B1 (en) * 2016-12-23 2017-11-09 주식회사 포스웨이브 Method for generating and storing high speed diatributed index of massive spatial data in data-distributed processing
KR101811468B1 (en) * 2010-06-03 2017-12-21 톰슨 라이센싱 Semantic enrichment by exploiting top-k processing

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101303658B1 (en) 2007-12-28 2013-09-04 삼성전자주식회사 Method and system for searching web at spatio-temporal domain
KR101009149B1 (en) * 2008-05-26 2011-01-18 엔에이치엔비즈니스플랫폼 주식회사 Distributed file system and method for operating file using owner-based file grouping
KR101830504B1 (en) * 2016-05-18 2018-02-20 전자부품연구원 In-Memory DB Connection Support Type Scheduling Method and System for Real-Time Big Data Analysis in Distributed Computing Environment

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010048172A1 (en) 2008-10-20 2010-04-29 Cascaad Srl Social graph based recommender
KR101811468B1 (en) * 2010-06-03 2017-12-21 톰슨 라이센싱 Semantic enrichment by exploiting top-k processing
KR101794883B1 (en) * 2016-12-23 2017-11-09 주식회사 포스웨이브 Method for generating and storing high speed diatributed index of massive spatial data in data-distributed processing

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
http://web.cs.wpi.edu/~matt/courses/cs563/talks/bsp/bsp.html

Also Published As

Publication number Publication date
KR20190081670A (en) 2019-07-09

Similar Documents

Publication Publication Date Title
CN107038207B (en) Data query method, data processing method and device
CN106484875B (en) MOLAP-based data processing method and device
WO2015096582A1 (en) Index creation method, querying method, apparatus and device for spatial-temporal data
CN106528787B (en) query method and device based on multidimensional analysis of mass data
CN107391554B (en) Efficient distributed locality sensitive hashing method
Cao et al. Keyword-aware optimal route search
CN100418092C (en) Grid and T-tree index method for rapid positioning in main memory database
US10068033B2 (en) Graph data query method and apparatus
CN108549696B (en) Time series data similarity query method based on memory calculation
Whitman et al. Distributed spatial and spatio-temporal join on apache spark
CN112765405B (en) Method and system for clustering and inquiring spatial data search results
CN103678293A (en) Data storage method and device
CN111221813B (en) Database index and processing method, device and equipment for database query
CN105488176A (en) Data processing method and device
CN105447064B (en) Electronic map data making and using method and device
CN107451204B (en) Data query method, device and equipment
CN110069523A (en) A kind of data query method, apparatus and inquiry system
CN105138527A (en) Data classification regression method and data classification regression device
KR102036314B1 (en) Spatial web object retrieval system based on distributed processing and spatial web object retrieval method in using same
CN109947702A (en) Index structuring method and device, electronic equipment
CN108121807B (en) Method for realizing multi-dimensional Index structure OBF-Index in Hadoop environment
CN114385555A (en) Data query method, device, equipment and storage medium
CN104714983A (en) Generating method and device for distributed indexes
CN106202412A (en) Data retrieval method and device
Bachiega et al. An architecture for cost optimization in the processing of big geospatial data in public cloud providers

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right