KR101879853B1 - A digital map service system for managing spatial data using indexing of digital map service information and memory rearrangement being performed by log file information - Google Patents

A digital map service system for managing spatial data using indexing of digital map service information and memory rearrangement being performed by log file information Download PDF

Info

Publication number
KR101879853B1
KR101879853B1 KR1020120158226A KR20120158226A KR101879853B1 KR 101879853 B1 KR101879853 B1 KR 101879853B1 KR 1020120158226 A KR1020120158226 A KR 1020120158226A KR 20120158226 A KR20120158226 A KR 20120158226A KR 101879853 B1 KR101879853 B1 KR 101879853B1
Authority
KR
South Korea
Prior art keywords
information
module
index
spatial data
node
Prior art date
Application number
KR1020120158226A
Other languages
Korean (ko)
Other versions
KR20140036931A (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 KR1020120158226A priority Critical patent/KR101879853B1/en
Publication of KR20140036931A publication Critical patent/KR20140036931A/en
Application granted granted Critical
Publication of KR101879853B1 publication Critical patent/KR101879853B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0817Cache consistency protocols using directory methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/26Government or public services

Landscapes

  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Engineering & Computer Science (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Economics (AREA)
  • Educational Administration (AREA)
  • Development Economics (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은, 수치지도서비스를 제공하기 위한 공간 데이터를 관리하는 시스템에 있어서, 사용자로부터 특정된 수치지도서비스에 대한 요청 정보를 수신하는 통신 모듈; 상기 통신 모듈로부터 수신된 요청 정보를 지역 정보, 레이어 정보 및 디렉토리 코드 정보를 포함하는 인덱스 정보들에 의해 구분하고, 구분된 각각의 상기 인덱스 정보들이 그에 대응되는 메모리 내의 테이블 정보에 포함되어 있는지 여부를 확인하는 제어 모듈; 상기 확인 결과, 상기 인덱스 정보들이 상기 테이블 정보 내에 포함되어 있는 경우에는 상기 인덱스 정보들을 이용하여 공간 데이터를 필터링하고, 상기 인덱스 정보들이 상기 테이블 정보 내에 포함되어 있지 않은 경우에는 인덱스 정보들을 새로이 생성하여 그에 대응되는 메모리 내의 테이블 정보에 업데이트한 후, 상기 업데이트된 테이블 정보에 기초하여 공간 데이터를 필터링하는 필터링 모듈; 상기 통신 모듈로부터 수신된 요청 정보를 로그 파일에 업데이트하는 로그 분석 모듈; 상기 로그 파일에 기록된 요청 횟수 정보에 기초하여 메모리를 재배열하되, 상기 메모리는 지역 인덱스 저장 모듈, 공간 레이어 인덱스 저장 모듈 및 코드 저장 모듈을 포함하고, 상기 지역 정보, 상기 레이어 정보 및 상기 디렉토리 코드 정보는 각각 상기 지역 인덱스 저장 모듈, 상기 공간 레이어 인덱스 저장 모듈 및 상기 코드 저장 모듈에 대응되는 메모리 재배열 모듈; 및 상기 메모리 재배열 모듈을 통해 재배열된 메모리로부터 상기 테이블 정보에 대응되는 공간 데이터를 읽어들여 병렬 처리 연산을 수행하는 병렬 처리 모듈; 및 상기 공간 데이터가 상기 공간 데이터 관리 시스템에서 처리 가능한 형식으로 변환하는 공간 데이터 변환 모듈을 포함하되, 상기 공간 데이터 변환 모듈은 공간 인덱스로 R-tree를 사용하며, 상기 공간 인덱스에서 다른 노드를 참조하는 포인터의 위치는 수학식 "Node_address = Node_n * Node_s" (여기서, Node_address는 노드의 파일 상 위치를 나타내고, Node_n은 노드의 번호를 나타내며, Node_s는 노드의 크기를 나타냄) 에 의해 계산되는 것을 특징으로 하는 수치지도 서비스 시스템을 제공한다.The present invention provides a system for managing spatial data for providing a digital map service, comprising: a communication module for receiving request information for a digital map service specified by a user; The request information received from the communication module is divided into index information including area information, layer information and directory code information, and whether or not each of the divided index information is included in table information in the memory corresponding thereto A control module to identify; If it is determined that the index information is included in the table information, the spatial information is filtered using the index information. If the index information is not included in the table information, index information is newly generated A filtering module for updating the table information in the corresponding memory and then filtering spatial data based on the updated table information; A log analysis module for updating the request information received from the communication module to a log file; Wherein the memory comprises a local index storage module, a spatial layer index storage module, and a code storage module, wherein the memory stores the local information, the layer information, and the directory code Information is a memory rearrangement module corresponding to the local index storage module, the spatial layer index storage module and the code storage module, respectively; And a parallel processing module that reads spatial data corresponding to the table information from a memory rearranged through the memory rearrangement module and performs parallel processing operations; And a spatial data conversion module for converting the spatial data into a format that can be processed by the spatial data management system, wherein the spatial data conversion module uses an R-tree as a spatial index and refers to another node in the spatial index The position of the pointer is calculated by the expression "Node_address = Node_n * Node_s" (where Node_address represents the file position of the node, Node_n represents the number of the node, and Node_s represents the size of the node) Provides a digital map service system.

Description

수치지도서비스정보의 인덱싱과 로그파일정보에 의한 메모리 재배열을 이용하여 공간 데이터를 관리하는 수치지도 서비스 시스템{A DIGITAL MAP SERVICE SYSTEM FOR MANAGING SPATIAL DATA USING INDEXING OF DIGITAL MAP SERVICE INFORMATION AND MEMORY REARRANGEMENT BEING PERFORMED BY LOG FILE INFORMATION}TECHNICAL FIELD [0001] The present invention relates to a digital map service system for managing spatial data using indexing of digital map service information and memory rearrangement by log file information. LOG FILE INFORMATION}

본 발명은 수치지도서비스정보의 인덱싱과 로그파일정보에 의한 메모리 재배열을 이용하여 공간 데이터를 관리하는 수치지도 서비스 시스템에 관한 것이다.The present invention relates to a digital map service system for managing spatial data using indexing of digital map service information and memory reordering based on log file information.

종래의 디지털 수치지도 제작 시 사용되었던 캐쉬 서버는 사용자들이 과거에 사용했던 데이터들의 정보를 메모리에 저장하고 있다가 이들 데이터에 대한 요구들이 다시 발생하면 바로바로 만족시켜주는 역할을 했다. 그러나 사용자가 늘어나고 요구하는 데이터의 형식이 다양화될수록 메모리에 누적되는 데이터 양이 증가되고 그로 인해 응답에 반응하는 속도는 느려지게 되었다. The cache server, which was used in the previous digital digital map production, stores the information of the data that the users used in the past in the memory, and fulfills the demands of these data immediately when they occur again. However, as the number of users increases and the type of data required varies, the amount of data accumulated in the memory increases and the response time to the response becomes slower.

이러한 공간 데이터는 상용 RDBMS(Relation Data Base Management System)를 기반으로 저장 및 관리되어 서비스되고 있기 때문에 지도 데이터 요청시 적게는 수십 번에서 많게는 수백 번 이상의 데이터 베이스 트랜잭션이 발생되어 결과적으로 많은 시간을 소요하게 된다. 지도 서비스에서는 이렇게 생성되는 부하의 분산을 위해 사용자가 많으면 많을수록 고사양의 시스템을 필요로 하게 되며 이는 자연스럽게 고가의 비용 지출로 이어지고 있다. 이를 위해 지도 이미지를 미리 제작한 후 서비스하는 방법이 사용되었으나, 이러한 방법도 지도 데이터 변경시 수일 이상의 변경 기간이 필요하며, 기존에 제작된 지도 데이터만을 제공하기 때문에 사용자의 요청에 따라 원하는 지도 이미지를 제공할 수 없다는 문제점이 있다. 또한, 대부분의 공간데이터 관리 및 서비스에 사용되는 DBMS를 이용하는 방법의 경우 일반적으로 지도 서비스에만 독립적으로 사용되는 것이 아니라 타 서비스에도 공동으로 이용되기 때문에 하나의 서비스에 문제가 발생하게 되면 나머지 서비스에도 영향을 미칠 수 있게 된다.Since the spatial data is stored and managed based on a commercial RDBMS (Relational Data Base Management System), when the map data is requested, fewer than a few hundreds to several hundreds of database transactions are generated, resulting in a long time do. In order to distribute the load generated by the map service, the more users there are, the more expensive the system becomes, which is naturally expensive. For this purpose, a map image is produced in advance and a service method is used. However, this method also requires a modification period of several days or more when changing the map data, and since only the previously prepared map data is provided, There is a problem that it can not be provided. Also, most of the methods using DBMS used for spatial data management and service are generally used not only for map service but also for other services. Therefore, when a problem occurs in one service, .

상술한 바와 같은 문제점을 해결하기 위해 본 발명은 공간 데이터에 대한 메모리 관리를 통해 보다 효율적이고 신속한 수치지도 서비스를 제공하기 위한 방법 및 시스템을 제공한다.In order to solve the above problems, the present invention provides a method and system for providing a more efficient and quick digital map service through memory management for spatial data.

또한, 본 발명은 사용자 요청 정보에 따른 로그 파일 분석을 통해 보다 신속하게 수치지도 서비스를 제공하기 위한 방법 및 시스템을 제공한다. The present invention also provides a method and system for providing a digital map service more quickly through log file analysis according to user request information.

또한, 본 발명은 사용자 요청 정보를 특징별 인덱스 정보로 관리함으로써 보다 효율적이고 신속한 수치지도 서비스를 제공하기 위한 방법 및 시스템을 제공한다.Also, the present invention provides a method and system for providing a more efficient and quick digital map service by managing user request information as index information for each feature.

또한, 본 발명은 사용자 요청 정보의 특징별 인덱스 정보에 기초한 공간 데이터 필터링을 통해 보다 효율적이고 신속한 수치지도 서비스를 제공하기 위한 방법 및 시스템을 제공한다.The present invention also provides a method and system for providing a more efficient and rapid digital map service through spatial data filtering based on index information for each feature of user requested information.

상기 목적을 달성하기 위하여 본 발명은, 수치지도서비스를 제공하기 위한 공간 데이터를 관리하는 시스템에 있어서, 사용자로부터 특정된 수치지도서비스에 대한 요청 정보를 수신하는 통신 모듈; 상기 통신 모듈로부터 수신된 요청 정보를 지역 정보, 레이어 정보 및 디렉토리 코드 정보를 포함하는 인덱스 정보들에 의해 구분하고, 구분된 각각의 상기 인덱스 정보들이 그에 대응되는 메모리 내의 테이블 정보에 포함되어 있는지 여부를 확인하는 제어 모듈; 상기 확인 결과, 상기 인덱스 정보들이 상기 테이블 정보 내에 포함되어 있는 경우에는 상기 인덱스 정보들을 이용하여 공간 데이터를 필터링하고, 상기 인덱스 정보들이 상기 테이블 정보 내에 포함되어 있지 않은 경우에는 인덱스 정보들을 새로이 생성하여 그에 대응되는 메모리 내의 테이블 정보에 업데이트한 후, 상기 업데이트된 테이블 정보에 기초하여 공간 데이터를 필터링하는 필터링 모듈; 상기 통신 모듈로부터 수신된 요청 정보를 로그 파일에 업데이트하는 로그 분석 모듈; 상기 로그 파일에 기록된 요청 횟수 정보에 기초하여 메모리를 재배열하되, 상기 메모리는 지역 인덱스 저장 모듈, 공간 레이어 인덱스 저장 모듈 및 코드 저장 모듈을 포함하고, 상기 지역 정보, 상기 레이어 정보 및 상기 디렉토리 코드 정보는 각각 상기 지역 인덱스 저장 모듈, 상기 공간 레이어 인덱스 저장 모듈 및 상기 코드 저장 모듈에 대응되는 메모리 재배열 모듈; 및 상기 메모리 재배열 모듈을 통해 재배열된 메모리로부터 상기 테이블 정보에 대응되는 공간 데이터를 읽어들여 병렬 처리 연산을 수행하는 병렬 처리 모듈; 및 상기 공간 데이터가 상기 공간 데이터 관리 시스템에서 처리 가능한 형식으로 변환하는 공간 데이터 변환 모듈을 포함하되, 상기 공간 데이터 변환 모듈은 공간 인덱스로 R-tree를 사용하며, 상기 공간 인덱스에서 다른 노드를 참조하는 포인터의 위치는 수학식 "Node_address = Node_n * Node_s" (여기서, Node_address는 노드의 파일 상 위치를 나타내고, Node_n은 노드의 번호를 나타내며, Node_s는 노드의 크기를 나타냄) 에 의해 계산되는 것을 특징으로 하는 수치지도 서비스 시스템을 제공한다.According to an aspect of the present invention, there is provided a system for managing spatial data for providing a digital map service, the system comprising: a communication module for receiving request information for a digital map service specified by a user; The request information received from the communication module is divided into index information including area information, layer information and directory code information, and whether or not each of the divided index information is included in table information in the memory corresponding thereto A control module to identify; If it is determined that the index information is included in the table information, the spatial information is filtered using the index information. If the index information is not included in the table information, index information is newly generated A filtering module for updating the table information in the corresponding memory and then filtering spatial data based on the updated table information; A log analysis module for updating the request information received from the communication module to a log file; Wherein the memory comprises a local index storage module, a spatial layer index storage module, and a code storage module, wherein the memory stores the local information, the layer information, and the directory code Information is a memory rearrangement module corresponding to the local index storage module, the spatial layer index storage module and the code storage module, respectively; And a parallel processing module that reads spatial data corresponding to the table information from a memory rearranged through the memory rearrangement module and performs parallel processing operations; And a spatial data conversion module for converting the spatial data into a format that can be processed by the spatial data management system, wherein the spatial data conversion module uses an R-tree as a spatial index and refers to another node in the spatial index The position of the pointer is calculated by the expression "Node_address = Node_n * Node_s" (where Node_address represents the file position of the node, Node_n represents the number of the node, and Node_s represents the size of the node) Provides a digital map service system.

또한, 본 발명에서, 상기 메모리 재배열 모듈은, 요청 횟수가 많은 공간 데이터의 경우 상대적으로 낮은 인덱스를 할당함으로써 메모리를 재배열하는 것을 특징으로 한다.In the present invention, the memory rearrangement module rearranges the memory by allocating a relatively low index in the case of spatial data having a large number of requests.

또한, 본 발명에서, 상기 병렬 처리 모듈은, Map 함수를 통해 상기 공간 데이터를 처리하기 편한 형태의 키/값(key/value) 쌍으로 구성된 중간 결과 데이터를 생성하고, Reduce 함수를 통해 상기 중간 결과 데이터로부터 키/값(key/value) 쌍으로 구성된 최종 데이터를 획득하는 것을 특징으로 한다.Also, in the present invention, the parallel processing module generates intermediate result data composed of key / value pairs that are easy to process the spatial data through the Map function, and generates intermediate result data through the Reduce function And obtains final data composed of key / value pairs from the data.

또한, 본 발명에서, 상기 지역 정보는 시, 도, 구, 군, 읍, 면, 동을 포함하는 행정구역명을 나타내고, 상기 레이어 정보는 건물 레이어, 도로 레이어, 산림 레이어, 하천 레이어를 나타내며, 상기 디렉토리 코드 정보는 병원, 아파트, 관공서, 학교에 대한 코드 정보를 나타내는 것을 특징으로 한다.Also, in the present invention, the area information may include a city, a province, a district, a county, a town, an area, and a dong, and the layer information may indicate a building layer, a road layer, a forest layer, The directory code information is characterized by representing code information for a hospital, an apartment, a government office, and a school.

본 발명은 공간 데이터에 대한 효율적인 메모리 관리를 통해 보다 신속한 수치지도 서비스를 제공하기 위한 방법 및 시스템을 제공한다.The present invention provides a method and system for providing a more rapid digital map service through efficient memory management for spatial data.

또한, 본 발명은 빈번한 요청 데이터에 대해 낮은 인덱스를 할당함으로써 보다 효율적으로 메모리를 관리할 수 있다.In addition, the present invention can more efficiently manage memory by allocating a low index to frequent requested data.

또한, 본 발명은 사용자 요청 정보를 특징별 인덱스 정보로 관리함으로써 사용자에게 보다 상세한 지도 서비스를 제공할 수 있으며, 나아가 신속한 수치지도 서비스도 제공할 수 있다.In addition, the present invention manages user request information as index information for each feature, thereby providing more detailed map service to the user, and also providing a quick digital map service.

또한, 본 발명은 사용자 요청 정보의 특징별 인덱스 정보에 기초한 공간 데이터 필터링을 수행함으로써 보다 효율적이고 신속한 수치지도 서비스를 제공할 수 있다.In addition, the present invention can provide a more efficient and quick digital map service by performing spatial data filtering based on index information for each feature of user request information.

또한, 본 발명은 사용자 요청 정보에 대응되는 공간 데이터에 대해 병렬 처리를 수행함으로써 보다 신속한 수치지도 서비스를 제공할 수 있다.In addition, the present invention can provide a faster digital map service by performing parallel processing on spatial data corresponding to user request information.

도 1은 본 발명이 적용되는 일실시예로, 공간 데이터 관리 시스템(1)의 개략적인 블록도를 나타낸다.
도 2는 본 발명이 적용되는 일실시예로서, 데이터 베이스(200)의 개략적인 내부 블록도를 나타낸다.
도 3은 본 발명이 적용되는 일실시예로, 로그 정보 분석을 통해 메모리 재배열을 수행하는 메모리의 개략적인 내부 블록도이다.
도 4는 본 발명이 적용되는 일실시예로서, 데이터 프로세싱 모듈(400)의 개략적인 내부 블록도를 나타낸다.
도 5는 본 발명이 적용되는 일실시예로서, 공간 데이터 형식으로 변환된 데이터 구조의 일부를 나타낸다.
도 6은 본 발명이 적용되는 일실시예로서, 공간 데이터를 관리하는 방법의 흐름도를 나타낸다.
1 shows a schematic block diagram of a spatial data management system 1 according to an embodiment to which the present invention is applied.
FIG. 2 is a schematic internal block diagram of a database 200 according to an embodiment of the present invention.
FIG. 3 is a schematic internal block diagram of a memory for performing memory rearrangement through analysis of log information according to an embodiment of the present invention. Referring to FIG.
FIG. 4 illustrates a schematic internal block diagram of a data processing module 400, in accordance with an embodiment of the present invention.
FIG. 5 shows a part of a data structure converted into a spatial data format according to an embodiment to which the present invention is applied.
6 is a flowchart of a method of managing spatial data according to an embodiment to which the present invention is applied.

이하, 첨부된 도면을 참조하면서 본 발명의 일실시예와 관련된 공간 데이터 관리 방법 및 시스템에 대해 설명하기로 한다.
Hereinafter, a spatial data management method and system according to an embodiment of the present invention will be described with reference to the accompanying drawings.

도 1은 본 발명이 적용되는 일실시예로, 공간 데이터 관리 시스템(1)의 개략적인 블록도를 나타낸다.1 shows a schematic block diagram of a spatial data management system 1 according to an embodiment to which the present invention is applied.

상기 공간 데이터 관리 시스템(1)은 크게 공간 데이터 관리부(10), 공간 데이터 관리부(10) 및 외부 데이터 베이스부(30)를 포함할 수 있다.
The spatial data management system 1 may include a spatial data management unit 10, a spatial data management unit 10, and an external database unit 30.

상기 사용자 단말부(20)는 공간 데이터 서비스를 받을 수 있을 수 있는 단말기로, 예를 들어, 수치 도화 장치, 퍼스널 컴퓨터, 네비게이션, 스마트폰 등을 포함할 수 있다. 상기 사용자 단말부(20)는 n개 이상의 단말을 포함할 수 있다.The user terminal unit 20 may be a terminal capable of receiving spatial data services, for example, a numerical value drawing apparatus, a personal computer, a navigation system, a smart phone, or the like. The user terminal unit 20 may include n or more terminals.

상기 공간 데이터 관리부(10)는 상기 사용자 단말부(20)로부터 사용자가 원하는 공간 데이터 서비스에 대한 요청 정보를 수신하여 그에 대응되는 공간 데이터 서비스를 출력할 수 있다. 이때 필요한 공간 데이터는 내부 데이터 베이스부(30)로부터 획득될 수 있고, 또는 외부 데이터 베이스부(30)로부터 획득될 수도 있다.The spatial data management unit 10 receives request information on a desired spatial data service from the user terminal unit 20 and outputs the corresponding spatial data service. The spatial data required at this time may be acquired from the internal database unit 30 or may be acquired from the external database unit 30. [

상기 외부 데이터 베이스부(30)는 상기 공간 데이터 관리부(10)로부터 특정 공간 데이터에 대한 요청을 받은 경우 데이터 베이스 내에서 해당 공간 데이터의 존재 여부를 서치하고, 별도의 인증 절차를 거친 뒤 해당 공간 데이터를 상기 공간 데이터 관리부(10)에 전송할 수 있다. 상기 외부 데이터 베이스부(30)는 n개 이상 기관의 데이터 베이스를 포함할 수 있으며, 예를 들어 각 지역의 정부행정기관(도청,시청,구청 등), 공간 데이터 서비스 제공업체 등을 포함할 수 있다.
When receiving a request for specific spatial data from the spatial data management unit 10, the external database unit 30 searches for a presence or absence of the corresponding spatial data in the database, performs a separate authentication process, To the spatial data management unit (10). The external database unit 30 may include a database of n or more organs, and may include, for example, a local government administration agency (eavesdropping, city hall, ward office, etc.) and a spatial data service provider have.

상기 공간 데이터 관리부(10)는 통신 모듈(100), 데이터 프로세싱 모듈(400), 데이터 베이스(200), 제어 모듈, 디스플레이 모듈을 포함할 수 있다.The spatial data management unit 10 may include a communication module 100, a data processing module 400, a database 200, a control module, and a display module.

통신 모듈(100)은 사용자 단말로부터 공간 데이터 서비스에 대한 요청 정보를 수신하여 데이터 프로세싱 모듈(400), 제어 모듈(300) 또는 데이터 베이스(200)로 전송한다. 그리고, 수신된 요청 정보가 외부 데이터 베이스의 정보를 필요로 하는 경우, 외부 데이터 베이스부(30)에 해당 요청 정보를 전송하며, 외부 데이터 베이스부(30)로부터 요청 정보에 대응되는 공간 데이터를 수신할 수 있다. 상기 통신 모듈(100)은 상기 사용자 단말부(20)와 상기 공간 데이터 관리부(10) 사이, 상기 외부 데이터 베이스부(30)와 상기 공간 데이터 관리부(10) 사이의 통신을 관리하며, 이러한 통신 모듈(100)은 LAN(local area network), WLAN(wireless LAN), Wibro(wireless broadband), Wimax(world interoperability for microwave access), HSDPA(high speed downlink packet access) 및 그 밖의 다양한 통신 규격을 지원할 수 있다.
The communication module 100 receives request information for a spatial data service from a user terminal and transmits the request information to the data processing module 400, the control module 300, or the database 200. When the received request information requires the information of the external database, the request information is transmitted to the external database unit 30, and the spatial data corresponding to the request information is received from the external database unit 30 can do. The communication module 100 manages communication between the user terminal unit 20 and the spatial data management unit 10 and between the external database unit 30 and the spatial data management unit 10, The base station 100 may support a variety of communication standards such as a local area network (LAN), a wireless LAN (WLAN), a wireless broadband (Wibro), a world interoperability for microwave access (Wimax), a high speed downlink packet access (HSDPA) .

데이터 프로세싱 모듈(400)은 상기 통신 모듈(100)로부터 공간 데이터 서비스에 대한 요청 정보를 수신한 경우 공간 데이터 서비스를 보다 효율적으로 제공하기 위하여 입력 데이터를 처리할 수 있다. The data processing module 400 may process the input data to more efficiently provide the spatial data service when receiving the request information for the spatial data service from the communication module 100. [

본 발명이 적용되는 일실시예로, 상기 데이터 프로세싱 모듈(400)은 병렬 처리 방식을 통해서 데이터 처리를 수행할 수 있다. 상기 병렬 처리를 위해 입력된 데이터는 복수의 블록으로 분할될 수 있다. 분할된 데이터는 인덱스 정보와 함께 저장될 수 있다.In one embodiment of the present invention, the data processing module 400 may perform data processing through a parallel processing method. The data input for the parallel processing can be divided into a plurality of blocks. The divided data can be stored together with the index information.

그리고, 상기 데이터 프로세싱 모듈(400)은 사용자 단말로부터 전송된 공간 데이터 서비스 요청 정보를 인덱스 정보를 이용하여 필터링을 수행할 수 있으며, 이를 통해 사용자 요청 정보와 관련된 특정 데이터만을 선별해낼 수 있다. 또한, 내부 또는 외부 데이터 베이스에 공간 데이터를 요청하기 위해 상기 인덱스 정보를 이용할 수도 있다. 이에 대한 구체적인 실시예들은 도 3에서 상세히 설명하도록 한다.
The data processing module 400 may perform spatial filtering of the spatial data service request information transmitted from the user terminal using the index information, thereby selecting only specific data related to the user request information. The index information may also be used to request spatial data to an internal or external database. Specific embodiments thereof will be described in detail with reference to FIG.

데이터 베이스(200)는 공간 데이터 및 공간 데이터를 효율적으로 활용하기 위한 부가 데이터를 포함하며, 메모리와 메모리 제어 모듈로 구성된다. 상기 부가 데이터는 보다 신속한 공간 데이터 서비스를 제공하기 위해 필요한 데이터를 나타내며, 예를 들어, 공간 레이어 인덱스 정보 및 코드 정보를 포함할 수 있다.The database 200 includes additional data for efficiently utilizing spatial data and spatial data, and is composed of a memory and a memory control module. The additional data represents data necessary for providing a faster spatial data service, and may include, for example, spatial layer index information and code information.

본 발명이 적용되는 일실시예로서, 상기 데이터 베이스(200)는 로그 분석을 통해 메모리를 재배열함으로써 보다 신속한 공간 데이터 서비스를 제공할 수 있다.In an embodiment to which the present invention is applied, the database 200 can provide spatial data service more quickly by rearranging memories through log analysis.

예를 들어, 수신된 요청 정보가 빈번하게 요청되는 공간 데이터인지 로그 분석을 통해 판단하고, 그에 따라 공간 데이터를 다른 방식으로 처리할 수 있다. 수신된 요청 정보가 빈번하게 요청되는 공간 데이터인 경우에는 상기 공간 데이터를 레이어 단위로 메모리에 캐싱하고 자동으로 업데이트를 수행할 수 있다. 반면, 빈번하게 요청되는 공간 데이터가 아닌 경우에는 해당 공간 데이터를 메모리에서 삭제하거나, 기존에 요청된 적이 없는 공간 데이터인 경우에는 해당 공간 데이터를 테이블 정보에 업데이트하고 그에 대응되는 코드를 생성하여 저장할 수 있다. For example, it is possible to determine through the log analysis whether the received request information is frequently requested spatial data, and to process the spatial data in a different manner accordingly. If the received request information is frequently requested spatial data, the spatial data may be cached in a memory unit and automatically updated. On the other hand, if the data is not the frequently requested spatial data, the corresponding spatial data is deleted from the memory, or if the spatial data is not previously requested, the corresponding spatial data is updated to the table information and a corresponding code is generated and stored have.

제어 모듈(300)은 통신 모듈(100), 데이터 프로세싱 모듈(400), 데이터 베이스(200) 및 디스플레이 모듈에서 수행하는 기능을 유기적으로 제어할 수 있다.The control module 300 can organically control the functions performed by the communication module 100, the data processing module 400, the database 200, and the display module.

디스플레이 모듈은 상기 제어 모듈(300)로부터 공간 데이터를 출력하라는 신호를 수신한 경우 디스플레이할 수 있으며, 본 발명이 적용되는 공간 데이터 관리부(10)가 디스플레이 모듈을 반드시 포함해야 하는 것은 아니다.
The display module can display a signal when it receives a signal to output spatial data from the control module 300, and the spatial data management unit 10 to which the present invention is applied does not necessarily include the display module.

도 2는 본 발명이 적용되는 일실시예로서, 데이터 베이스(200)의 개략적인 내부 블록도를 나타낸다. FIG. 2 is a schematic internal block diagram of a database 200 according to an embodiment of the present invention.

본 발명이 적용되는 데이터 베이스(200)는 메모리(210)와 메모리 제어 모듈(220)로 구성될 수 있으며, 상기 메모리(210)는 지역 인덱스 저장 모듈(211), 공간 레이어 인덱스 저장 모듈(212), 코드 저장 모듈(213) 및 공간 데이터 저장 모듈(214)을 포함하고, 상기 메모리 제어 모듈(220)은 로그 분석 모듈(221) 및 메모리 재배열 모듈(222)을 포함한다.
The database 200 to which the present invention is applied may be constituted by a memory 210 and a memory control module 220. The memory 210 includes a local index storage module 211, a spatial layer index storage module 212, A code storage module 213 and a spatial data storage module 214. The memory control module 220 includes a log analysis module 221 and a memory rearrangement module 222. [

사용자로부터 요청되는 공간 데이터 서비스는 다양한 형태의 질의로 요청될 수 있다. 따라서 이러한 다양한 형태의 질의에 효과적으로 대응하기 위해서, 본 발명이 적용되는 공간 데이터 관리부(10)는 사용자로부터 요청된 질의를 그 특성별로 분류하여 분석할 수 있다. 예를 들어, 요청된 질의는 지역 정보, 레이어 정보 및 디렉토리 코드 정보 중 복수개 이상으로 구성될 수 있다. 지역 정보는 시, 도, 구, 군, 읍, 면, 동 등을 포함할 수 있고, 레이어 정보는 건물 레이어, 도로 레이어, 산림 레이어, 하천 레이어 등을 포함할 수 있고, 디렉토리 코드 정보는 상기 레이어 정보에 따라 별도의 코드 정보를 할당할 수 있다. 예를 들어, 건물 레이어의 경우 1차 디렉토리 코드 정보로 관공서, 병원, 학교, 아파트 등에 대한 코드 정보를 할당할 수 있고, 2차 디렉토리 코드 정보는 상기 1차 디렉토리 코드 정보에 따라 하위의 코드 정보가 할당될 수 있다. 예를 들어, 관공서의 경우 도청, 시청, 구청, 동사무소 등에 대해 별도의 하위 코드 정보가 할당될 수 있고, 병원의 경우 1차 병원, 2차 병원, 3차 병원 등에 별도의 하위 코드 정보가 할당될 수 있으며, 학교의 경우에는 유치원, 초등학교, 고등학교, 대학교 등에 대해 별도의 하위 코드 정보가 할당될 수 있다.A spatial data service requested by a user can be requested in various types of queries. Therefore, in order to effectively cope with these various types of queries, the spatial data management unit 10 to which the present invention is applied can classify and analyze the query requested by the user according to their characteristics. For example, the requested query may be composed of a plurality of pieces of local information, layer information, and directory code information. The layer information may include a building layer, a road layer, a forest layer, a river layer, and the like. The directory code information may include a layer, a layer, Separate code information can be assigned according to the information. For example, in the case of a building layer, code information for a government office, a hospital, a school, an apartment, and the like can be assigned with primary directory code information, and secondary directory code information includes subordinate code information Can be assigned. For example, in the case of a public office, separate sub code information may be allocated to the eavesdropping, the city hall, the ward office, the government office, etc. In the case of the hospital, separate sub code information is allocated to the primary hospital, the secondary hospital, In the case of a school, separate sub code information may be allocated to a kindergarten, an elementary school, a high school, a university, and the like.

이처럼, 상기 데이터 베이스(200)는 사용자로부터 요청된 질의를 지역 정보, 레이어 정보 및 디렉토리 코드 정보로 구분하여, 지역 정보는 지역 인덱스 저장 모듈(211)에 저장하고, 레이어 정보는 공간 레이어 인덱스 저장 모듈(212)에 저장하고, 디렉토리 코드 정보는 코드 저장 모듈(213)에 저장할 수 있다. 그리고, 사용자로부터 새로운 공간 데이터 정보가 입력될 경우에는 새로운 레이어 정보와 새로운 디렉토리 코드 정보를 생성하여 상기 공간 레이어 인덱스 저장 모듈(212)과 상기 코드 저장 모듈(213)에 각각 업데이트할 수 있다. In this way, the database 200 divides the query requested by the user into the local information, the layer information, and the directory code information, stores the local information in the local index storage module 211, (212), and the directory code information may be stored in the code storage module (213). When new spatial data information is input from the user, new layer information and new directory code information may be generated and updated to the spatial layer index storage module 212 and the code storage module 213, respectively.

예를 들어, 사용자로부터 "서울시 강남구 소재의 2차 병원" 지도 서비스를 요청받은 경우, 본 발명이 적용되는 데이터 베이스(200)는 입력된 질의를 지역 정보, 레이어 정보 및 디렉토리 코드 정보로 구분하여 각각 지역 인덱스 저장 모듈(211), 공간 레이어 인덱스 저장 모듈(212) 및 코드 저장 모듈(213)에 저장된 테이블 정보와 비교하여 각 정보의 인덱스와 코드 정보를 확인할 수 있다. 예를 들어, 지역 정보는 "서울시 강남구"에 대한 인덱스가 할당될 수 있고, 레이어 정보는 "건물 레이어"에 대한 인덱스가 할당될 수 있으며, "건물 레이어"에 대한 1차 디렉토리 코드 정보는 "병원", 2차 디렉토리 코드 정보는 "2차 병원"에 대한 코드 정보가 할당될 수 있다. For example, when a user requests a map service of "secondary hospital in Gangnam-gu, Seoul", the database 200 to which the present invention is applied divides the inputted query into area information, layer information and directory code information The index information and the code information of each information can be checked by comparing the table information stored in the local index storage module 211, the spatial layer index storage module 212 and the code storage module 213 with each other. For example, the local information may be assigned an index for "Seoul Gangnam-gu", the layer information may be assigned an index for "building layer", the primary directory code information for "building layer" Quot; and the secondary directory code information may be assigned code information for "secondary hospital ".

이렇게 할당된 코드 정보를 이용하여 공간 데이터 저장 모듈(214), 또는 외부 데이터 베이스부(30)에 지도 데이터를 요청함으로써 그에 대응되는 지도 데이터를 수신할 수 있게 된다. 이처럼 사용자로부터 입력되는 지도 데이터 요청 정보를 지역 정보, 레이어 정보 및 디렉토리 코드 정보로 구분함으로써 방대한 양의 공간 데이터를 효율적으로 관리할 수 있으며, 보다 신속한 공간 데이터 서비스를 제공할 수 있게 된다.
The map data corresponding to the map data can be received by requesting the map data to the spatial data storage module 214 or the external database unit 30 using the code information thus allocated. By dividing the map data request information input by the user into the local information, the layer information, and the directory code information, it is possible to efficiently manage a large amount of spatial data, and to provide a faster spatial data service.

메모리 제어 모듈(220)은 로그 분석을 통해 메모리를 재배열함으로써 보다 신속한 공간 데이터 서비스를 제공할 수 있다. 상기 메모리 제어 모듈(220)은 로그 분석 모듈(221) 및 메모리 재배열 모듈(222)을 포함한다.The memory control module 220 can provide faster spatial data services by rearranging the memory through log analysis. The memory control module 220 includes a log analysis module 221 and a memory reordering module 222.

로그 분석 모듈(221)은 수신된 요청 정보가 빈번하게 요청되는 공간 데이터인지 로그 분석을 통해 판단하고, 그에 따라 공간 데이터를 다른 방식으로 처리할 수 있다. 수신된 요청 정보가 빈번하게 요청되는 공간 데이터인 경우에는 상기 공간 데이터를 레이어 단위로 메모리에 캐싱하고 자동으로 업데이트를 수행할 수 있다. 반면, 빈번하게 요청되는 공간 데이터가 아닌 경우에는 해당 공간 데이터를 메모리에서 삭제하거나, 기존에 요청된 적이 없는 공간 데이터인 경우에는 해당 공간 데이터를 테이블 정보에 업데이트하고 그에 대응되는 코드를 생성하여 저장할 수 있다. The log analysis module 221 determines the received request information through the log analysis, which is frequently requested spatial data, and can process the spatial data in a different manner accordingly. If the received request information is frequently requested spatial data, the spatial data may be cached in a memory unit and automatically updated. On the other hand, if the data is not the frequently requested spatial data, the corresponding spatial data is deleted from the memory, or if the spatial data is not previously requested, the corresponding spatial data is updated to the table information and a corresponding code is generated and stored have.

메모리 재배열 모듈(222)은 상기 로그 분석 모듈(221)의 분석 결과로부터 사용자의 요청 횟수를 산정하여 요청 횟수가 많은 지역 정보, 레이어 정보 및 디렉토리 코드 정보에 낮은 인덱스를 할당함으로써 메모리를 재배열할 수 있다. 이처럼 로그 정보 분석을 통해 사용자의 요청 횟수를 산정하여 내림차순으로 코드의 저장 순서를 주기적으로 업데이트으로써 메모리를 효율적으로 관리할 수 있게 된다. 이러한 업데이트는 분 단위 또는 시간 단위로 수행될 수 있다.The memory rearrangement module 222 rearranges the memory by allocating a low index to the area information, the layer information, and the directory code information having a large number of requests by calculating the number of times of the user's request from the analysis result of the log analysis module 221 . By analyzing the log information, it is possible to efficiently manage the memory by periodically updating the code storage order by calculating the number of requests of the user. Such updates can be performed in minutes or hours.

도 2에서 상기 메모리 제어 모듈(220)은 편의상 상기 데이터 베이스(200) 내에 도시하였으나, 상기 메모리 제어 모듈(220)은 공간 데이터 관리부(10)의 제어 모듈(300)에 포함될 수 있다.
2, the memory control module 220 may be included in the control module 300 of the spatial data management unit 10, although the memory control module 220 is shown in the database 200 for convenience.

도 3은 본 발명이 적용되는 다른 일실시예로, 로그 정보 분석을 통해 메모리 재배열을 수행하는 메모리의 개략적인 내부 블록도이다.FIG. 3 is a schematic block diagram of a memory for performing memory rearrangement through log information analysis according to another embodiment of the present invention.

공간 데이터 관리부(10)는 사용자의 공간 데이터 서비스에 대한 요청 상황이 기록된 로그 정보를 분석하여 메모리의 데이터를 재배열함으로써 보다 신속한 공간 데이터 서비스를 제공할 수 있다.The spatial data management unit 10 can provide a faster spatial data service by analyzing the log information in which the request status for the user's spatial data service is recorded and rearranging the data in the memory.

예를 들어, 도 3을 살펴보면, 상기 지역 인덱스 저장 모듈(211)은 공간 데이터 서비스에 대한 요청 내용 중 지역 정보에 대한 데이터를 순서대로 저장하고, 로그 정보 분석을 통해 사용자의 요청 횟수를 산정하여 요청 횟수가 많은 지역 정보에 상대적으로 낮은 인덱스를 할당할 수 있다. 상기 도 3에서 지역 인덱스 저장 모듈(211)의 경우, 로그 정보 분석 결과, 서울 지역에 대한 지도 서비스 요청은 3회, 부산 지역에 대한 지도 서비스 요청은 2회, 대전 지역에 대한 지도 서비스 요청은 1회인 경우를 나타낸다. For example, referring to FIG. 3, the local index storage module 211 sequentially stores data on the local information among the requests for the spatial data service, calculates the number of requests of the user through log information analysis, A relatively low index can be assigned to the area information having a large number of times. In the case of the local index storage module 211 in FIG. 3, as a result of the log information analysis, the map service request for the Seoul area is 3 times, the map service request for the Busan area is 2 times, the map service request for the Daejeon area is 1 .

마찬가지로, 상기 공간 레이어 인덱스 저장 모듈(212)의 경우에도 로그 정보 분석을 통해 사용자의 요청 횟수를 산정하여 요청 횟수가 많은 레이어 정보에 상대적으로 낮은 인덱스를 할당할 수 있다. 상기 도 3에서 공간 레이어 인덱스 저장 모듈의 경우, 로그 정보 분석 결과, 건물 레이어에 대한 지도 서비스 요청은 3회, 도로 레이어에 대한 지도 서비스 요청은 2회, 산림 레이어에 대한 지도 서비스 요청은 1회인 경우를 나타낸다. 그리고, 상기 코드 저장 모듈(213)의 경우에도 로그 정보 분석을 통해 사용자의 요청 횟수를 산정하여 내림차순으로 코드의 저장 순서를 주기적으로 업데이트 할 수 있다. 이러한 업데이트는 분 단위 또는 시간 단위로 로그 파일 정보를 분석함으로써 가능할 수 있다.Similarly, in the case of the spatial layer index storage module 212, it is possible to allocate a relatively low index to the layer information having a large number of requests by calculating the number of requests of the user through log information analysis. In the case of the spatial layer index storage module in FIG. 3, the log information analysis result shows that the map service request for the building layer is 3 times, the map service request for the road layer is 2 times, and the map service request for the forest layer is 1 time . Also, in the case of the code storage module 213, it is possible to periodically update the code storage order in descending order by calculating the number of requests of the user through log information analysis. Such an update may be possible by analyzing log file information in minutes or hours.

또한, 사용자의 지도 데이터 요청 상황이 기록된 로그 정보를 분 단위 또는 시간 단위로 분석한 후 설정된 메모리 활용에 따라 자동으로 메모리에 새로 업데이트 할 것인지 또는 삭제할 것인지를 자동으로 판단할 수도 있다.
Also, after analyzing the log information in which the user's request status of the map data is recorded in minutes or in units of time, it can automatically determine whether to update or delete the memory automatically according to the memory utilization set.

도 4 및 도 5는 본 발명이 적용되는 일실시예들로서, 도 4는 데이터 프로세싱 모듈(400)의 개략적인 내부 블록도를 나타내고, 도 5는 공간 데이터 형식으로 변환된 데이터 구조의 일부를 나타낸다. 4 and 5 show one embodiment in which the present invention is applied. FIG. 4 shows a schematic internal block diagram of the data processing module 400, and FIG. 5 shows a part of a data structure converted into a spatial data format.

본 발명이 적용되는 데이터 프로세싱 모듈(400)은 필터링 모듈(410), 병렬처리 모듈(420) 및 제어 모듈(430)를 포함하며, 상기 제어 모듈(430)은 공간 데이터 변환 모듈(431)과 공간 데이터 관리 모듈(432)를 포함한다.The data processing module 400 to which the present invention is applied includes a filtering module 410, a parallel processing module 420 and a control module 430. The control module 430 includes a spatial data conversion module 431, Data management module 432.

도면에 표시된 구성요소 모두가 필수구성요소인 것은 아니며, 상기 데이터 프로세싱 모듈(400)은 도시된 구성요소보다 많은 구성요소를 포함할 수 있으며, 그보다 적은 구성요소로도 상기 데이터 프로세싱 모듈(400)이 구성될 수 있다.
Not all of the components shown in the figures are required, and the data processing module 400 may include more components than the illustrated components, and with fewer components, the data processing module 400 Lt; / RTI >

제어 모듈(430)은 데이터 베이스(200) 내에 사용자 단말로부터 전송된 공간 데이터 서비스 요청 정보에 대한 인덱스 정보가 존재하는지 여부를 확인할 수 있다. 상기 인덱스 정보란, 상기 도 2에서 설명한 상기 공간 데이터 서비스 요청 정보로부터 구분된 지역 정보, 레이어 정보 및 디렉토리 코드 정보 중 어느 하나를 의미할 수 있다. 상기 인덱스 정보가 존재하는 경우, 제어 모듈(430)은 상기 필터링 모듈(410)로 하여금 상기 인덱스 정보에 대응되는 공간 데이터를 선별하도록 할 수 있다. 반면, 상기 인덱스 정보가 존재하지 않는 경우에는, 상기 제어 모듈(430)은 공간 데이터 관리 모듈(432)을 통해 새로운 인덱스 정보를 생성할 수 있다. 생성된 인덱스 정보는 상기 데이터 베이스(200)의 해당 저장 모듈에 저장될 수 있다. 도 4에서는 상기 제어 모듈(430)은 편의상 상기 데이터 프로세싱 모듈(400) 내에 도시하였으나, 상기 제어 모듈(430)은 공간 데이터 관리부(10)의 제어 모듈(300)에 포함될 수 있다.
The control module 430 can check whether or not there is index information on the spatial data service request information transmitted from the user terminal in the database 200. [ The index information may be any one of local information, layer information, and directory code information separated from the spatial data service request information described with reference to FIG. If the index information exists, the control module 430 may allow the filtering module 410 to select spatial data corresponding to the index information. On the other hand, if the index information does not exist, the control module 430 may generate new index information through the spatial data management module 432. The generated index information may be stored in a corresponding storage module of the database 200. 4, the control module 430 is shown in the data processing module 400 for the sake of convenience, but the control module 430 may be included in the control module 300 of the spatial data management unit 10. [

공간 데이터 변환 모듈(431)은 상기 데이터 베이스(200)로부터 공간 데이터를 읽어서 공간 데이터 관리부(10)에서 관리할 수 있는 공간 데이터 형식으로 변환할 수 있다. 이 경우, 상기 공간 데이터 변환 모듈(431)은 공간 인덱스로 R-tree를 사용할 수 있으며, 특징 정보를 삽입할 때 R-tree 노드 구조를 구성할 수 있다. 이처럼 미리 공간 데이터 형식으로 변환시켜 놓음으로써 공간 데이터 서비스의 기동 시간을 미리 단축시킬 수 있게 된다.The spatial data conversion module 431 can read spatial data from the database 200 and convert the spatial data into a spatial data format that can be managed by the spatial data management unit 10. [ In this case, the spatial data conversion module 431 can use an R-tree as a spatial index, and construct an R-tree node structure when inserting feature information. In this way, it is possible to reduce the startup time of the spatial data service in advance by preliminarily converting the data into the spatial data format.

이러한 변환 과정은 특징 타입 단위로 처리될 수 있고, 변환된 결과는 도 5의 데이터 파일 구조와 같으며 특징 타입마다 하나의 파일로 저장할 수 있다. 특징 타입 헤더는 기하구조 타입 정보, 전체 공간 데이터 크기 정보, 전체 특징 개수 정보를 포함할 수 있다. 기하구조 타입 정보는 기하구조의 타입을 유형화한 정보를 나타내고, 전체 공간 데이터 크기 정보는 전체 공간 데이터의 크기를 나타내며, 전체 특징 개수 정보는 데이터 파일 구조에 포함되는 전체 특징의 개수를 나타낸다. 특징 헤더는 GML(Geography Markup Language) 부분에서 해당 특징이 위치하고 있는 상대적인 위치 정보 및 특징 꼭지점 정보를 포함할 수 있다.This conversion process can be processed in the feature type unit, and the converted result is the same as the data file structure in Fig. 5 and can be stored as one file for each feature type. The feature type header may include geometry type information, total spatial data size information, and total feature number information. The geometry type information represents information typified by the type of geometry, the total spatial data size information represents the total spatial data size, and the total feature number information represents the total number of features included in the data file structure. The feature header may include relative position information and feature vertex information in which the feature is located in the GML (Geography Markup Language) portion.

공간 인덱스 파일에서 다른 노드를 참조하는 포인터는 아래 수학식 1에 의해 파일 상의 위치를 계산할 수 있으며, A pointer referring to another node in the spatial index file can calculate the position on the file by Equation (1) below,

Figure 112012109682025-pat00001
Figure 112012109682025-pat00001

여기서, Nodeaddress는 노드의 파일 상의 위치를 나타내고, Noden은 노드의 번호를 나타내며, Nodes는 노드의 크기를 나타낸다.Here, the node address indicates the position of the node on the file, Node n indicates the node number, and Node s indicates the size of the node.

메모리 할당 이후에도 아래 수학식 2에 의해 노드의 위치를 계산할 수 있다.After the memory allocation, the position of the node can be calculated by Equation (2) below.

Figure 112012109682025-pat00002
Figure 112012109682025-pat00002

여기서, Nodeaddress는 노드의 파일 상의 위치를 나타내고, SpatialIndexinitial는 공간 인덱스 파일의 시작 주소를 나타내고, Noden은 노드의 번호를 나타내며, Nodes는 노드의 크기를 나타낸다.
Here, the node address represents the position on the file of the node, SpatialIndex initial represents the start address of the spatial index file, Node n represents the node number, and Node s represents the node size.

공간 데이터 관리 모듈(432)은 공간 데이터 변환 모듈(431)로부터 변환된 공간 데이터 및 공간 인덱스를 수신한다. 사용자로부터 수치 지도 서비스에 대한 요청 정보를 받게 될 경우 요청 정보와 매칭되는 특징 타입을 선택하고, 선택된 특징 타입과 관련된 공간 데이터 및 공간 인덱스를 수신한다. 상기 공간 데이터 관리부(10)는 기 변환된 공간 데이터 파일과 공간 인덱스 파일을 획득하고, 특징 타입마다 필요한 메모리의 크기를 산정할 수 있다. 특징 타입별 메모리 크기가 산정된 후, 상기 공간 데이터 관리부(10)는 상기 메모리 크기만큼의 메모리를 상기 공간 데이터 파일과 상기 공간 인덱스 파일에 할당할 수 있다. 이 경우, 상기 특징 타입별로 대응되는 메모리에 저장된 상기 공간 데이터 파일 및 상기 공간 인덱스 파일의 상대적인 주소는 0부터 시작되는 것을 특징으로 하며, 이를 통해 메모리는 별도의 변환 과정 없이 서비스를 제공할 수 있다.The spatial data management module 432 receives spatial data and spatial indexes from the spatial data conversion module 431. When request information for a digital map service is received from a user, a feature type matching with the request information is selected, and spatial data and a spatial index related to the selected feature type are received. The spatial data management unit 10 may acquire the previously converted spatial data file and the spatial index file, and calculate the required memory size for each feature type. After the memory size for each feature type is calculated, the spatial data management unit 10 can allocate the memory size of the memory size to the spatial data file and the spatial index file. In this case, a relative address of the spatial data file and the spatial index file stored in the memory corresponding to the feature type is set to 0, so that the memory can provide a service without a separate conversion process.

또한, 상기 공간 데이터 관리 모듈(432)은 R-tree 노드 구조를 기반으로 공간 데이터를 검색할 수 있으며, 리프 노드에서 특징을 참조하는 포인터는 공간 데이터 파일에서의 특징 번호를 활용할 수 있다. 이때, 메모리 접근을 위해 특징의 상대 주소를 이용하여 특징의 위치를 계산할 수 있다.
In addition, the spatial data management module 432 can search for spatial data based on the R-tree node structure, and the pointer referring to the feature in the leaf node can utilize the feature number in the spatial data file. At this time, the position of the feature can be calculated using the relative address of the feature for the memory access.

필터링 모듈(410)은 상기 제어 모듈(430)로부터 확인된 인덱스 정보를 이용하여 필터링을 수행할 수 있으며, 이를 통해 사용자 요청 정보와 관련된 특정 공간 데이터만을 선별해낼 수 있다. 또한, 내부 또는 외부 데이터 베이스에 공간 데이터를 요청하기 위해 상기 인덱스 정보를 이용할 수도 있다.The filtering module 410 can perform filtering using the index information confirmed from the control module 430, thereby selecting only specific spatial data related to the user request information. The index information may also be used to request spatial data to an internal or external database.

병렬처리 모듈(420)은 상기 필터링 모듈(410)을 통해 필터링된 특정 공간 데이터를 병렬처리 방식에 의해 분산 처리할 수 있다. 상기 분산 처리되는 공간 데이터는 상기 공간 데이터 관리 모듈(432)의 인덱스 정보 확인 결과에 따라 달라질 수 있다. 예를 들어, 인덱스 정보를 이용하여 그에 대응되는 특정 공간 데이터만을 선별한 경우에는 상기 특정 공간 데이터가 병렬처리 대상 데이터가 될 수 있고, 이를 통해 데이터를 선별적으로 처리할 수 있는 장점이 있다. 그러나, 인덱스 정보가 존재하지 않는 경우에는, 새로운 인덱스 정보를 생성하기 위해 상기 데이터 베이스(200)로부터 공간 데이터를 최소한 한번 읽게 된다. 그리고, 상기 병렬처리 모듈(420)은 처리 대상 데이터의 중간 키(key) 및 값(value) 데이터를 생성하고, 상기 중간 키(key) 및 상기 값(value) 데이터로부터 최종 키(key), 값(value) 데이터를 획득할 수 있다.
The parallel processing module 420 may process the specific spatial data filtered through the filtering module 410 by a parallel processing method. The spatial data to be distributed may be varied according to the index information of the spatial data management module 432. For example, when the specific spatial data corresponding to the specific spatial data is selected by using the index information, the specific spatial data can be the data to be parallel-processed, and the data can be selectively processed. However, if there is no index information, the spatial data is read from the database 200 at least once to generate new index information. The parallel processing module 420 generates intermediate key and value data of the data to be processed and generates a final key from the intermediate key and the value data, (value) data.

도 6은 본 발명이 적용되는 일실시예로서, 공간 데이터를 관리하는 방법의 흐름도를 나타낸다.6 is a flowchart of a method of managing spatial data according to an embodiment to which the present invention is applied.

본 발명이 적용되는 공간 데이터 관리 시스템은 사용자 단말부로부터 수치 지도 서비스에 대한 요청 정보를 수신한다(S610).The spatial data management system to which the present invention is applied receives request information about the digital map service from the user terminal unit (S610).

상기 수신된 요청 정보는 지역 정보, 레이어 정보 및 디렉토리 코드 정보로 구분되어(S620), 각각의 정보가 그에 대응되는 메모리 내의 테이블 정보에 포함되어 있는지 비교 검색을 수행한다(S630). 예를 들어, 지역 정보가 지역 인덱스 저장 모듈(211)의 테이블 정보에 포함되어 있는지 확인하고, 레이어 정보는 공간 레이어 인덱스 저장 모듈(212)의 테이블 정보에 포함되어 있는지 확인하며, 디렉토리 코드 정보는 코드 저장 모듈(213)의 테이블 정보에 포함되어 있는지 확인한다.The received request information is divided into area information, layer information, and directory code information (S620), and a comparison search is performed to see if each piece of information is included in the table information in the corresponding memory (S630). For example, it is confirmed whether the local information is included in the table information of the local index storage module 211, and whether the layer information is included in the table information of the spatial layer index storage module 212. The directory code information includes code And is included in the table information of the storage module 213.

상기 확인 결과 테이블 정보에 인덱스 정보가 포함되어 있는 경우, 상기 인덱스 정보를 이용하여 공간 데이터를 필터링함으로써 데이터 처리할 대상을 선별한다(S640). 반면, 상기 확인 결과 테이블 정보에 인덱스 정보가 포함되어 있지 않은 경우에는, 인덱스 정보를 새로 생성하여 해당 저장 모듈의 테이블 정보에 업데이트한다(S650). 그리고, 업데이트된 테이블 정보에 기초하여 다시 데이터 처리할 대상을 선별하게 된다(S660).If it is determined that the index information is included in the table information, the target of data processing is selected by filtering the spatial data using the index information at operation S640. If it is determined that the index information is not included in the table information, the index information is newly generated and updated with the table information of the corresponding storage module (S650). Then, based on the updated table information, an object to be subjected to data processing is selected again (S660).

한편, 데이터 베이스(200)는 사용자 단말부로부터 수신된 수치 지도 서비스에 대한 요청 정보를 로그 파일에 업데이트하고(S670), 그 요청 횟수에 기초하여 각 저장 모듈 별로 메모리를 재배열한다(S680). Meanwhile, the database 200 updates the request information about the digital map service received from the user terminal unit to the log file (S670), and rearranges the memory for each storage module based on the number of requests (S680).

상기 업데이트된 테이블 정보에 대응되는 공간 데이터를 상기 재배열된 메모리로부터 읽어들여 병렬처리를 수행함으로써 보다 신속한 공간 데이터 서비스를 제공할 수 있다(S690).
The spatial data corresponding to the updated table information is read from the rearranged memory and parallel processing is performed, thereby providing a faster spatial data service (S690).

이상, 전술한 본 발명의 바람직한 실시예는, 예시의 목적을 위해 개시된 것으로, 당업자라면 이하 첨부된 특허청구범위에 개시된 본 발명의 기술적 사상과 그 기술적 범위 내에서, 다양한 다른 실시예들을 개량, 변경, 대체 또는 부가 등이 가능할 것이다.It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit or scope of the invention as defined by the appended claims. , Substitution or addition, or the like.

** 도면의 주요 부분에 대한 부호의 설명 **
10: 공간데이터관리부 20: 사용자단말부
30: 외부데이터베이스부 100: 통신 모듈
200: 데이터 베이스 210: 메모리
211: 지역 인덱스 저장 모듈 212: 공간 레이어 인덱스 저장 모듈
213: 코드 저장 모듈 214: 공간 데이터 저장 모듈
220: 메모리 제어 모듈
221: 로그 분석 모듈 222: 메모리 재배열 모듈
300: 제어 모듈 400: 데이터 프로세싱 모듈
410: 필터링 모듈 420: 병렬 처리 모듈
430: 제어 모듈 431: 공간 데이터 변환 모듈
432: 공간 데이터 관리 모듈
DESCRIPTION OF REFERENCE NUMERALS
10: Spatial data management unit 20:
30: external database unit 100: communication module
200: database 210: memory
211: local index storage module 212: spatial layer index storage module
213: code storage module 214: spatial data storage module
220: Memory control module
221: log analysis module 222: memory rearrangement module
300: control module 400: data processing module
410: Filtering module 420: Parallel processing module
430: control module 431: spatial data conversion module
432: Spatial Data Management Module

Claims (4)

수치지도서비스정보의 인덱싱과 로그파일정보에 의한 메모리 재배열을 이용하여 공간 데이터를 관리하는 수치지도 서비스 시스템에 있어서,
사용자로부터 특정된 수치지도서비스에 대한 요청 정보를 수신하는 통신 모듈;
상기 통신 모듈로부터 수신된 요청 정보를 지역 정보, 레이어 정보 및 디렉토리 코드 정보를 포함하는 인덱스 정보들에 의해 구분하고, 구분된 각각의 상기 인덱스 정보들이 그에 대응되는 메모리 내의 테이블 정보에 포함되어 있는지 여부를 확인하는 제어 모듈;
상기 확인 결과, 상기 인덱스 정보들이 상기 테이블 정보 내에 포함되어 있는 경우에는 상기 인덱스 정보들을 이용하여 공간 데이터를 필터링하고, 상기 인덱스 정보들이 상기 테이블 정보 내에 포함되어 있지 않은 경우에는 인덱스 정보들을 새로이 생성하여 그에 대응되는 메모리 내의 테이블 정보에 업데이트한 후, 상기 업데이트된 테이블 정보에 기초하여 공간 데이터를 필터링하는 필터링 모듈;
상기 통신 모듈로부터 수신된 요청 정보를 로그 파일에 업데이트하는 로그 분석 모듈;
상기 로그 파일에 기록된 요청 횟수 정보에 기초하여 메모리를 재배열하되, 상기 메모리는 지역 인덱스 저장 모듈, 공간 레이어 인덱스 저장 모듈 및 코드 저장 모듈을 포함하고, 상기 지역 정보, 상기 레이어 정보 및 상기 디렉토리 코드 정보는 각각 상기 지역 인덱스 저장 모듈, 상기 공간 레이어 인덱스 저장 모듈 및 상기 코드 저장 모듈에 대응되는 메모리 재배열 모듈;
상기 메모리 재배열 모듈을 통해 재배열된 메모리로부터 상기 테이블 정보에 대응되는 공간 데이터를 읽어들여 병렬 처리 연산을 수행하는 병렬 처리 모듈; 및
상기 공간 데이터가 상기 공간 데이터 관리 시스템에서 처리 가능한 형식으로 변환하는 공간 데이터 변환 모듈을 포함하되,
상기 공간 데이터 변환 모듈은 공간 인덱스로 R-tree를 사용하며, 상기 공간 인덱스에서 다른 노드를 참조하는 포인터의 위치는 수학식 "Node_address = Node_n * Node_s" (여기서, Node_address는 노드의 파일 상 위치를 나타내고, Node_n은 노드의 번호를 나타내며, Node_s는 노드의 크기를 나타냄) 에 의해 계산되는 것을 특징으로 하는 수치지도 서비스 시스템.
A digital map service system for managing spatial data using indexing of digital map service information and memory reordering based on log file information,
A communication module for receiving request information for a digital map service specified by a user;
The request information received from the communication module is divided into index information including area information, layer information and directory code information, and whether or not each of the divided index information is included in table information in the memory corresponding thereto A control module to identify;
If it is determined that the index information is included in the table information, the spatial information is filtered using the index information. If the index information is not included in the table information, index information is newly generated A filtering module for updating the table information in the corresponding memory and then filtering spatial data based on the updated table information;
A log analysis module for updating the request information received from the communication module to a log file;
Wherein the memory comprises a local index storage module, a spatial layer index storage module, and a code storage module, wherein the memory stores the local information, the layer information, and the directory code Information is a memory rearrangement module corresponding to the local index storage module, the spatial layer index storage module and the code storage module, respectively;
A parallel processing module that reads spatial data corresponding to the table information from a memory rearranged through the memory rearrangement module and performs parallel processing operations; And
And a spatial data conversion module for converting the spatial data into a format that can be processed by the spatial data management system,
The spatial data conversion module uses an R-tree as a spatial index, and the position of a pointer referring to another node in the spatial index is expressed by the expression "Node_address = Node_n * Node_s & , Node_n represents the number of the node, and Node_s represents the size of the node).
삭제delete 삭제delete 삭제delete
KR1020120158226A 2012-12-31 2012-12-31 A digital map service system for managing spatial data using indexing of digital map service information and memory rearrangement being performed by log file information KR101879853B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120158226A KR101879853B1 (en) 2012-12-31 2012-12-31 A digital map service system for managing spatial data using indexing of digital map service information and memory rearrangement being performed by log file information

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120158226A KR101879853B1 (en) 2012-12-31 2012-12-31 A digital map service system for managing spatial data using indexing of digital map service information and memory rearrangement being performed by log file information

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020120103359A Division KR101304856B1 (en) 2012-09-18 2012-09-18 A method and system for managing spatial data to enhance a speed of digital map service

Publications (2)

Publication Number Publication Date
KR20140036931A KR20140036931A (en) 2014-03-26
KR101879853B1 true KR101879853B1 (en) 2018-07-19

Family

ID=50646077

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120158226A KR101879853B1 (en) 2012-12-31 2012-12-31 A digital map service system for managing spatial data using indexing of digital map service information and memory rearrangement being performed by log file information

Country Status (1)

Country Link
KR (1) KR101879853B1 (en)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
우재남, 'u-City 기반 서비스를 위한 공간데이터 통합 효율성 분석,' 한세대학교대학원 박사학위논문, 2010. *

Also Published As

Publication number Publication date
KR20140036931A (en) 2014-03-26

Similar Documents

Publication Publication Date Title
US11550826B2 (en) Method and system for generating a geocode trie and facilitating reverse geocode lookups
CN107239531B (en) Implementation method for expanding WMS service of GeoServer releasing custom tiles
CN107704527B (en) Data storage method, device and storage medium
US11681927B2 (en) Analyzing geotemporal proximity of entities through a knowledge graph
US8140495B2 (en) Asynchronous database index maintenance
CN110168529B (en) Data storage method, device and storage medium
US9158803B2 (en) Incremental schema consistency validation on geographic features
KR102068788B1 (en) Server for offering service targetting user and service offering method thereof
Ruan et al. Cloudtp: A cloud-based flexible trajectory preprocessing framework
CN102968428B (en) For the method and system extracted by the efficient data of remote application
CN102819586A (en) Uniform Resource Locator (URL) classifying method and equipment based on cache
CN112699151B (en) Data processing method, device, equipment and medium
CN110659283A (en) Data label processing method and device, computer equipment and storage medium
KR101304856B1 (en) A method and system for managing spatial data to enhance a speed of digital map service
CN109325089A (en) A kind of non-pointing object querying method, device, terminal device and storage medium
CN104408084A (en) Method and device for screening big data
CN112699640A (en) Geocoding method and system based on PostgreSQL
KR101879853B1 (en) A digital map service system for managing spatial data using indexing of digital map service information and memory rearrangement being performed by log file information
Jiang et al. MOIST: a scalable and parallel moving object indexer with school tracking
CN116126973A (en) Meteorological lattice data management method and device
US20200005163A1 (en) Inference-use knowledge generation apparatus, inference-use knowledge generation method, and computer-readable recording medium
CN104301182A (en) Method and device for inquiring slow website access abnormal information
KR101773910B1 (en) Location based big data system
CN105354310B (en) Map tile storage layout optimization method based on MapReduce
US11281791B2 (en) Streaming media distribution management

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right