KR20210069240A - 오픈소스 기반의 공간정보 처리 서비스를 제공하는 방법 및 이러한 방법을 실행시키기 위한 명령어들이 저장된 컴퓨터 판독 가능한 저장 매체 - Google Patents

오픈소스 기반의 공간정보 처리 서비스를 제공하는 방법 및 이러한 방법을 실행시키기 위한 명령어들이 저장된 컴퓨터 판독 가능한 저장 매체 Download PDF

Info

Publication number
KR20210069240A
KR20210069240A KR1020190158772A KR20190158772A KR20210069240A KR 20210069240 A KR20210069240 A KR 20210069240A KR 1020190158772 A KR1020190158772 A KR 1020190158772A KR 20190158772 A KR20190158772 A KR 20190158772A KR 20210069240 A KR20210069240 A KR 20210069240A
Authority
KR
South Korea
Prior art keywords
spatial information
spatial
extracting
processor
open source
Prior art date
Application number
KR1020190158772A
Other languages
English (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 KR1020190158772A priority Critical patent/KR20210069240A/ko
Publication of KR20210069240A publication Critical patent/KR20210069240A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 오픈소스를 기반으로 사용자에게 공간 분석이 가능한 환경을 제공하기 위한 방법, 그리고 이러한 방법을 실행시키기 위한 명령어들이 저장된 컴퓨터 판독 가능한 저장 매체에 관한 것이다.

Description

오픈소스 기반의 공간정보 처리 서비스를 제공하는 방법 및 이러한 방법을 실행시키기 위한 명령어들이 저장된 컴퓨터 판독 가능한 저장 매체{METHOD FOR PROVIDING SERVICE FOR PROCESSING GEO SPATIAL INFORMATION BASED ON OPEN SOURCE, AND A COMPUTER READABLE STORAGE MEDIUM}
본 발명은 오픈소스를 기반으로 사용자에게 공간 분석이 가능한 환경을 제공하기 위한 방법, 그리고 이러한 방법을 실행시키기 위한 명령어들이 저장된 컴퓨터 판독 가능한 저장 매체에 관한 것이다.
오픈소스란 소스코드를 인터넷 등을 통해 무상으로 공개하여 누구나 그 소프트웨어를 개량하고, 이를 재배포 할 수 있게 한 것을 이른다. 최근에는 다양한 기능을 할 수 있는 다양한 종류의 오픈소스들이 공개되어 많은 개발자들이 이를 활용한 또 다른 파생 소프트웨어를 재생산하고 있으며, 이렇게 오픈소스를 활용한 응용의 확장은 앞으로도 지속적으로 이어질 것으로 기대된다.
아파치 니피(Apache NiFi) 역시 오픈소스의 한 종류로, 아파치 니피는 시스템 간 데이터 전달을 효율적으로 처리, 관리, 또는 모니터링 할 수 있는 환경을 사용자에게 제공하고 있다.
그러나 한편, 아파치 니피가 사용자로 하여금 시스템 간 데이터 전달 과정을 쉽게 관리할 수 있도록 여러 가지 기능을 제공하고 있는 데에 비하여, 아파치 니피는 공간정보를 처리할 수 있는 기능을 제공하고 있지 않아 공간정보 처리와 관련된 시스템을 개발하고자 하는 사용자들로서는 큰 불편함을 느끼고 있는 실정이다.
본 발명은 이와 같은 문제점에 착안하여 도출된 것으로, 이상에서 살핀 기술적 문제점을 해소시킬 수 있음은 물론, 본 기술분야에서 통상의 지식을 가진 자가 용이하게 발명할 수 없는 추가적인 기술요소들을 제공하기 위해 발명되었다.
대한민국 공개특허공보 제10-2018-0100893호(2018.09.12.)
본 발명은 종래 제공되고 있는 오픈소스를 활용하여 공간정보 처리가 더 가능하도록 하는 것을 목적으로 한다.
특히, 본 발명은 아파치 니피가 제공할 수 없었던 공간정보 추출, 공간정보 변환 단계 수행이 가능하도록 별도의 프로세서를 삽입함으로써 공간정보 처리가 가능하도록 하는 것을 목적으로 한다.
또한, 본 발명은 공간정보를 추출할 때에 공간정보 유형에 따라 별개의 프로세서가 제공될 수 있게 함으로써, 사용자가 필요에 따라 선택적으로 활용할 수 있게 하는 것을 목적으로 한다.
또한, 본 발명은 공간정보를 변환할 때에 사용자로 하여금 필요에 따라 변환만 수행할 수 있는 프로세서, 또는 변환과 내보내기를 동시에 수행할 수 있는 프로세서를 선택적으로 활용할 수 있게 하는 것을 목적으로 한다.
한편, 본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
위와 같은 문제점을 해결하기 위하여, 본 발명에 따른 공간정보 처리 서비스를 제공하는 방법은, (a) 공간정보를 추출하는 단계; (b) 공간정보를 변환하는 단계; 및 (c) 공간정보를 적재하는 단계;를 포함하되, 상기 공간정보를 적재하는 단계는 오픈소스에 포함된 명령어들에 의하여 실행되고, 상기 공간정보를 추출하는 단계 및 공간정보를 변환하는 단계는 상기 오픈소스에 포함되어 있지 않은 새롭게 생성된 명령어들에 의하여 실행되는 것을 특징으로 할 수 있다.
또한, 상기 방법에 있어서 상기 오픈소스는 아파치 니피(Apache NiFi)인 것을 특징으로 할 수 있다.
또한, 상기 방법에 있어서 상기 공간정보를 추출하는 단계는, 소프트웨어로 구현된 공간정보 추출 프로세서에 의하여 실행되는 것을 특징으로 할 수 있다.
또한, 상기 방법에 있어서 상기 공간정보 추출 프로세서는, 공간정보 유형이 배치(batch)형인 공간정보를 추출하기 위한 배치 기반 공간정보 추출 프로세서; 또는 공간정보 유형이 스트림(stream)형인 공간정보를 추출하기 위한 스트림 기반 공간정보 추출 프로세서;를 포함하는 것을 특징으로 할 수 있다.
또한 상기 방법에 있어서 상기 배치 기반 공간정보 추출 프로세서는, shp포맷, csv포맷, json포맷 또는 txt포맷의 공간 파일로부터 공간정보를 추출하는 것을 특징으로 할 수 있다.
또한, 상기 방법에 있어서 상기 스트림 기반 공간정보 추출 프로세서는, 스트림으로 공간정보를 제공하는 생성자에게 공간정보에 대한 접근정보를 수신하고, 상기 접근정보를 참조하여 공간정보를 추출하는 것을 특징으로 할 수 있다.
또한, 상기 방법에 있어서 상기 공간정보를 변환하는 단계는, 소프트웨어로 구현된 공간정보 변환 프로세서에 의하여 실행되는 것을 특징으로 할 수 있다.
또한 상기 방법에 있어서 상기 공간정보 변환 프로세서는, 공간 레코드 내 컬럼 정보를 변환하는 것을 특징으로 할 수 있다.
또한 상기 방법에 있어서 상기 공간정보 변환 프로세서는, 공간 레코드 내 컬럼 정보를 변환 후 내보내는 것을 더 특징으로 할 수 있다.
한편, 본 발명의 또 다른 실시예에 따른 공간정보 처리 서비스를 제공하는 방법을 수행하기 위한 명령어들이 저장된 컴퓨터 판독 가능한 저장 매체에 있어서, 상기 공간정보 처리 서비스를 제공하는 방법은, (a) 공간정보를 추출하는 단계; (b) 공간정보를 변환하는 단계; 및 (c) 공간정보를 적재하는 단계; 를 포함하되, 상기 공간정보를 적재하는 단계는 오픈소스에 포함된 명령어들에 의하여 실행되고, 상기 공간정보를 추출하는 단계 및 공간정보를 변환하는 단계는 상기 오픈소스에 포함되어 있지 않은 새롭게 생성된 명령어들에 의하여 실행되는 것을 특징으로 할 수 있다.
본 발명에 따르면 사용자가 오픈소스인 아파치 니피를 기반으로 공간정보를 처리할 수 있게 되는 효과가 있다.
또한 본 발명에 따르면 여러 개의 프로세서들이 제공될 수 있으므로 사용자가 필요에 따라 원하는 프로세서를 선택적으로 활용하고, 이를 통해 더 자유롭게 공간정보 처리 시스템을 구축할 수 있게 하는 효과가 있다.
한편, 본 발명에 의한 효과는 이상에서 언급한 것들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명을 개략적으로 이해하기 위한 개념도이다.
도 2는 아파치 니피의 개요를 도시한 것이다.
도 3은 본 발명에 따른 방법을 순서에 따라 도시한 것이다.
도 4는 공간정보 유형이 배치(batch)형인 공간정보를 추출하기 위한 프로세서들을 도시한 것이다.
도 5는 공간정보 유형이 스트림(stream)형인 공간정보를 추출하기 위한 프로세서를 도시한 것이다.
도 6은 공간정보를 변환하기 위한 프로세서들을 도시한 것이다.
도 7은 공간정보를 변환한 위 내보내기 위한 프로세서들을 도시한 것이다.
본 발명의 목적과 기술적 구성 및 그에 따른 작용 효과에 관한 자세한 사항은 본 발명의 명세서에 첨부된 도면에 의거한 이하의 상세한 설명에 의해 보다 명확하게 이해될 것이다. 첨부된 도면을 참조하여 본 발명에 따른 실시예를 상세하게 설명한다.
본 명세서에서 개시되는 실시예들은 본 발명의 범위를 한정하는 것으로 해석되거나 이용되지 않아야 할 것이다. 이 분야의 통상의 기술자에게 본 명세서의 실시예를 포함한 설명은 다양한 응용을 갖는다는 것이 당연하다. 따라서, 본 발명의 상세한 설명에 기재된 임의의 실시예들은 본 발명을 보다 잘 설명하기 위한 예시적인 것이며 본 발명의 범위가 실시예들로 한정되는 것을 의도하지 않는다.
도면에 표시되고 아래에 설명되는 기능 블록들은 가능한 구현의 예들일 뿐이다. 다른 구현들에서는 상세한 설명의 사상 및 범위를 벗어나지 않는 범위에서 다른 기능 블록들이 사용될 수 있다. 또한, 본 발명의 하나 이상의 기능 블록이 개별 블록들로 표시되지만, 본 발명의 기능 블록들 중 하나 이상은 동일 기능을 실행하는 다양한 하드웨어 및 소프트웨어 구성들의 조합일 수 있다.
또한, 어떤 구성요소들을 포함한다는 표현은 “개방형”의 표현으로서 해당 구성요소들이 존재하는 것을 단순히 지칭할 뿐이며, 추가적인 구성요소들을 배제하는 것으로 이해되어서는 안 된다.
나아가 어떤 구성요소가 다른 구성요소에 “연결되어” 있다거나 “접속되어” 있다고 언급될 때에는, 그 다른 구성요소에 직접적으로 연결 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 한다.
먼저 도 1과 도 2는 본 발명에 따른 공간정보 처리 서비스가 제공되기 위하여 필요한 환경을 개략적으로 설명하기 위한 것이며, 또한 본 발명이 구현하고자 하는 특징을 설명하기 위한 것이다.
먼저 본 발명에 따른 공간정보 처리 서비스가 제공되기 위해서는 아파치 니피(Apache NiFi)라는 오픈소스 플랫폼이 전제적으로 필요하다. 아파치 니피란, 시스템 간의 데이터 전달을 효율적으로 처리, 관리, 모니터링하기 위한 시스템이자 오픈소스 플랫폼으로 이해될 수 있다. 아파치 니피는 데이터 플로우(Data Flow)를 쉽게 개발할 수 있고 시스템 간의 데이터 이동과 내용을 볼 수 있는 기능과 UI를 제공하는 점, 실시간 데이터 전송에 필요한 기능들을 제공하는 점, 강력한 자원과 권한 관리를 통해 멀티테넌시(Multi-tenant, 여러 조직이 자원을 공유해서 사용)를 지원하는 점, 데이터가 어느 시스템으로부터 왔는지 추적할 수 있는 점, 여러 NiFi 시스템 간 통신을 지원하는 점 등 여러 장점들을 가지는 오픈소스 플랫폼이며, 이러한 특징들 때문에 복잡한 시스템 간의 데이터 이동에 아파치 니피가 많이 활용되고 있다.
도 2에는 아파치 니피의 개요 내지 아키텍처가 도시되어 있다. 아파치 니피는 UI를 웹 서비스를 통해 제공하고, 개발자는 이를 이용하여 데이터 플로우를 개발, 제어, 모니터링 할 수 있는데, 아파치 니피는 기본적으로 플로우 컨트롤러(200)라는 모듈이 하나 이상의 프로세서들의 스케쥴링을 관리함으로써 동작할 수 있다. 이 때 프로세서는 사용자가 원하는 기능을 수행할 수 있는 하나의 모듈로 이해될 수 있으며, 궁극적으로는 다수의 명령어들 집합으로 이루어진 하나의 소프트웨어 모듈로 이해될 수 있다. 상기 프로세서는 플로우 파일을 생성하는 역살을 하며, 이 때 플로우 파일 내에는 속성정보 및 데이터가 포함되어 있다. 아파치 니피에서는 복수 개의 미리 생성된 프로세서(201)들을 제공하고 있으며, 이 외에 사용자가 직접 생성한 프로세서(203)를 사용할 수 있도록 개발자 환경도 제공하고 있다. 한편, 아파치 니피가 실행되는 환경에는 플로우 파일 리파지토리(210; Flow File Repository), 컨텐츠 리파지토리(220; Content Repository), 및 프로비넌스 리파지토리(230; Provenance Repository)가 더 포함될 수 있는데, 이 중 플로우 파일 리파지토리는 Write-Ahead-Log로 FlowFile의 상태와 속성값들을 저장하는 곳이고, 컨텐츠 리파지토리는 플로우 파일의 데이터, 즉 컨텐츠(Content)가 저장되는 곳이고, 프로비넌스 리파지토리는 데이터의 처리 단계별로 플로우 파일의 변화(원천) 데이터를 보관하는 곳으로, 각 데이터는 인덱스로 검색될 수 있다. 이상 도 2를 참조하여 아파치 니피의 개요에 대해 살펴보았다.
한편, 본 발명은 기본적으로 위 아파치 니피라는 오픈소스 플랫폼을 활용하여 공간정보를 처리할 수 있는 시스템을 제공하고자 하는 것을 목적으로 하는데, 아파치 니피에서는 자체적으로 기 생성되어 있는 복수 개의 프로세서들을 제공하고 있음에도 불구하고, 여기에는 공간정보를 처리할 수 있는 프로세서들은 포함되어 있지 않기에, 본 발명에서는 공간정보 처리가 가능한 프로세서들, 더 정확하게는 공간정보를 추출하거나 변환할 수 있는 프로세서들을 추가적으로 생성시켜 활용 가능하게 하는 것을 제안하고자 한다. 즉, 기존 아파치 니피에서 제공되는 100여 종의 프로세서들 중 공간분석을 위한 프로세서는 존재하지 않으며, 공간정보 내 공간객체를 국제 표준인 OGC Simple Feature 객체로 변환해 주는 프로세서 역시 존재하지 않고, 나아가 아파치 니피에서 제공되는 추출용 프로세서 중에는 마이크로소프트 사의 CSV 포맷이나 국제 표준 전송 프로토콜 중 하나인 JSON인 경우 일반 텍스트 형태로 추출 이 가능한 것들이 존재하지만, 이들 프로세서들은 공간 분석 기능은 배제된 프로세서들에 불과한 것들이어서 여전히 공간정보 처리에는 효용이 없다.
도 1을 참조할 때에, 도 1의 상단에는 기존 아파치 니피가 제공하던 프로세서들에 본 발명을 실행시키는 데에 필요한 프로세서들이 새롭게 추가될 수 있음이 도면으로 표현되어 있으며, 도 1의 하단에서는 본 발명에서 구현하고자 하는 아파치 니피 상에서 공간정보가 입력된 후 일련의 처리 과정을 거쳐 결과정보가 출력되는 모습이 개념적으로 도시되어 있다. 즉, 본 발명은 도 1의 하단에서와 같이 공간정보 처리가 가능한 아파치 니피를 구현함으로써 공간정보를 다루고자 하는 사용자들에게 편의성을 제공하는 것을 하나의 목적으로 한다. 참고로, 구현된 아파치 니피는 임의의 서버(100), 구체적으로는 중앙처리유닛 및 메모리를 갖춘 컴퓨팅 장치 상에서 실행될 수 있는데, 중앙처리유닛은 컨트롤러(controller), 마이크로 컨트롤러(microcontroller), 마이크로 프로세서(microprocessor), 마이크로 컴퓨터(microcomputer) 등으로도 불릴 수 있다. 또한 중앙처리유닛은 하드웨어(hardware) 또는 펌웨어(firmware), 소프트웨어, 또는 이들의 결합에 의해 구현될 수 있는데, 하드웨어를 이용하여 구현하는 경우에는 ASIC(application specific integrated circuit) 또는 DSP(digital signal processor), DSPD(digital signal processing device), PLD(programmable logic device), FPGA(field programmable gate array) 등으로, 펌웨어나 소프트웨어를 이용하여 구현하는 경우에는 위와 같은 기능 또는 동작들을 수행하는 모듈, 절차 또는 함수 등을 포함하도록 펌웨어나 소프트웨어가 구성될 수 있다. 또한, 메모리는 ROM(Read Only Memory), RAM(Random Access Memory), EPROM(Erasable Programmable Read Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), 플래쉬(flash) 메모리, SRAM(Static RAM), HDD(Hard Disk Drive), SSD(Solid State Drive) 등으로 구현될 수 있다.
도 3은 본 발명에 따른 오픈소스 기반의 공간정보 처리 서비스를 제공하는 방법을 순서에 따라 도시한 것이다. 도 3을 참조할 때, 공간정보 처리 서비스를 제공하는 방법은 크게 공간정보를 추출하는 단계(S101), 공간정보를 변환하는 단계(S102), 그리고 공간정보를 적재하는 단계(S103)로 이루어질 수 있으며, 이 중 공간정보를 추출하는 단계 및 공간정보를 변환하는 단계는 기존 오픈소스에 포함되어 있지 않은 새로 생성된 명령어들에 의해 실행, 더 정확하게는 새롭게 생성된 프로세서 또는 프로세서들에 의해 실행되는 것을 특징으로 하며, 공간정보를 적재하는 단계는 기존 오픈소스에 포함된 명령어, 즉 기존에 존재하던 프로세서에 의해 실행되는 것을 특징으로 할 수 있다.
먼저 공간정보를 추출하는 단계에서 사용 가능한 프로세서에 관하여 살펴볼 때, 본 발명에서는 5가지 종류의 공간정보 추출 프로세서들을 제안하며, 이 중 4개는 공간정보 유형이 배치(batch)형인 공간정보를 추출하기 위한 것, 나머지 1개는 공간정보 유형이 스트림(stream)형인 공간정보를 추출하기 위한 것이다.
도 4에는 공간정보 추출 프로세서들 중 특히 공간정보 유형이 배치(batch)형인 공간정보를 추출하기 위한 프로세서들이 도시되어 있다. 예를 들어, shapefile로부터 공간정보를 추출하기 위한 공간정보 추출 프로세서(importShpFromLocal), 마이크로소프트 사의 CSV파일로부터 공간정보를 추출하기 위한 공간정보 추출 프로세서(importCsvFromLocal), 개방형 표준 포맷인 JSON 파일로부터 공간정보를 추출하기 위한 공간정보 추출 프로세서(importJsonFromLocal), 일반 TXT파일로부터 공간정보를 추출하기 위한 공간정보 추출 프로세서(importTxtFromLocal)가 배치형 공간정보를 추출하기 위한 프로세서들로 구현될 수 있다. 도 4에는 shp, csv, json, txt 파일들이 각각의 대응되는 공간정보 추출 프로세서들에 의해 처리되어 공간정보가 추출되고, 추출된 공간정보가 공간정보 분석 프로세서(300)로 입력되는 모습이 도시되어 있다. 또한, 공간정보 분석 프로세서(300)에 의해 처리된 공간정보는 기존 아파치 니피가 제공하는 기능, 더 정확하게는 프로세서에 의하여 임의 스토리지에 적재될 수 있다.
도 5에는 공간정보 추출 프로세서들 중 특히 공간정보 유형이 스트림(stream)형인 공간정보를 추출하기 위한 프로세서가 도시되어 있다. 본 상세한 설명에서 언급되는 스트림형 공간정보란 네트워크 상에서 수집될 수 있는 공간 데이터를 의미하는 것으로 이해되며, 예를 들어 다양한 종류의 소셜 네트워크 서비스, 포털 사이트의 실시간 미디어 네트워크 등과 같이 실시간으로 생성되고 전달될 수 있는 네트워크 상의 소스로부터 파생될 수 있는 공간 데이터를 의미하는 것으로 이해될 수 있다. 또한, 본 상세한 설명에서 언급되는 스트림 기반의 공간 데이터에는 비단 소셜 네트워크 서비스뿐만 아니라, 네트워크를 통해 연결되어 있는 다양한 종류의 공간 센서에 의해 생성된 데이터가 포함될 수도 있다. 본원 상세한 설명에서 언급되는 공간센서란, 일반적으로 위치 정보를 포함한 여타의 데이터를 생성할 수 있는 센싱 디바이스를 일컫는 것으로 이해된다. 예를 들어, 기상 센서는 공간 센서의 한 종류인 데, 기상 센서는 특정 위치에 설치되어 해당 위치에서의 온도, 습도, 조도 등의 기상 정보를 관제 서버로 전달할 수 있다. 본원에서 언급되는 공간센서는 이와 같이 위치 정보 및 그 외의 데이터를 생성하여 다른 장치로 전달할 수 있는 장치로 이해된다. 도 5를 참조할 때, 본 발명에서는 공간정보 유형이 스트림(stream)형인 공간정보를 추출하기 위한 것으로 GetSpatialSensor 프로세서가 제공될 수 있으며, 당해 프로세서는, 예를 들어 소셜 네트워크 서비스로부터 수집된 json 포맷의 파일로부터, 또는 공간센서로부터 수집된 csv, txt, json 포맷의 파일들로부터 공간정보를 추출한 뒤 이를 공간정보 분석 프로세서(300) 측으로 제공할 수 있다. 공간정보 분석 프로세서(300)에서의 처리 이후에는 기존 아파치 니피가 보유하고 있는 적재 프로세서(400)를 통하여 임의의 스토리지(500)에 저장될 수 있다.
다음으로 공간정보를 변환하는 단계에서 사용 가능한 프로세서에 대해 살펴볼 때, 본 발명에서는 6가지 종류의 공간정보 변환 프로세서들을 제안하며, 이 중 3개는 공간 레코드 내 컬럼 정보를 변환하기 위한 것, 그리고 나머지 3개는 다른 포맷의 공간정보로 변환 후 내보내기 위한 것이다.
도 6에는 공간정보 변환 프로세서들 중 특히 공간 레코드 내 컬럼 정보를 변환하기 위한 프로세서들이 도시되어 있다. 이러한 프로세서들에는, 예를 들어 공간 레코드 내 공간정보의 좌표계를 변환하는 프로세서(204a, ConvCoordinate), 일반 공간정보 포맷을 내부 공간정보 포맷으로 변환하는 프로세서(204b, ConvMarmotRecord), 기존 공간 레코드 정보를 새로운 공간 레코드로 변환하는 프로세서(204c; CreateNewSpatialRecord)가 포함될 수 있다. 도 6에는 shp, csv, json, txt 파일들이 공간정보 추출 프로세서(203)에 의해 처리되어 공간정보가 추출되고, 추출된 공간정보들이 각각 대응되는 공간정보 변환 프로세서(204)들에 의해 변환된 후 기존 아파치 니피가 제공하는 프로세서(400), 더 정확하게는 적재 기능을 하는 프로세서 의하여 임의 스토리지에 적재되는 실시예가 도시되어 있다.
도 7에는 공간정보 변환 프로세서들 중 특히 공간정보를 변환하고 내보내기까지의 과정을 수행시키기 위한 프로세서들이 도시되어 있다. 이러한 프로세서들에는, 예를 들어 추출된 공간정보를 shapefile로 로컬 스토리지에 저장할 수 있는 프로세서(204d; ExportShpRecord), 추출된 공간정보를 csv파일 형태로 로컬 스토리지에 저장할 수 있는 프로세서(204e; ExportCsvRecord), 추출된 공간정보를 일반 텍스트 형태로 로컬 스토리지에 저장할 수 있는 프로세서(204f; ExportTxtRecord)가 포함될 수 있다. 도 7에는 shp, csv, json, txt 파일들이 공간정보 추출 프로세서(203)에 의해 처리되어 공간정보가 추출되고, 추출된 공간정보들이 각각 대응되는 공간정보 변환 프로세서(204)들에 의해 변환된 후 기존 아파치 니피가 제공하는 프로세서(400), 더 정확하게는 적재 기능을 하는 프로세서 의하여 임의 스토리지(500)에 적재되는 실시예가 도시되어 있다. 참고로, 위 공간정보 변환 프로세서들 중 csv, txt파일 형태로 변환하여 로컬 스토리지에 저장할 수 있는 프로세서들(204e, 204f)은 기존 아파치 니피에서 제공되던 파일 내보내기용 프로세서, 더 구체적으로는 csv, txt파일을 외부 스토리지로 내보내는 데에 활용하였던 프로세서를 기반으로 재구성된 것임을 이해한다.
이상 본 발명에 따른 오픈소스 기반의 공간정보 처리 서비스를 제공하는 방법, 그리고 이러한 방법을 실행시키기 위한 명령어들이 저장된 컴퓨터 판독 가능한 기록매체에 대해 살펴보았다. 한편, 본 발명은 상술한 특정의 실시예 및 응용예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 구별되어 이해되어서는 안 될 것이다.
특히, 본 명세서에 첨부된 도면에 도시된 블록도와 순서도에 포함된 본 발명의 기술적 특징을 실행하는 구성들은 상기 구성들 사이의 논리적인 경계를 의미한다. 그러나 소프트웨어나 하드웨어의 실시 예에 따르면, 도시된 구성들과 그 기능들은 독립형 소프트웨어 모듈, 모놀리식 소프트웨어 구조, 코드, 서비스 및 이들을 조합한 형태로 실행되며, 저장된 프로그램 코드, 명령어 등을 실행할 수 있는 프로세서를 구비한 컴퓨터에서 실행 가능한 매체에 저장되어 그 기능들이 구현될 수 있으므로 이러한 모든 실시 예 역시 본 발명의 권리범위 내에 속하는 것으로 보아야 할 것이다.
따라서, 첨부된 도면과 그에 대한 기술은 본 발명의 기술적 특징을 설명하기는 하나, 이러한 기술적 특징을 구현하기 위한 소프트웨어의 특정 배열이 분명하게 언급되지 않는 한, 단순히 추론되어서는 안 된다. 즉, 이상에서 기술한 다양한 실시 예들이 존재할 수 있으며, 그러한 실시 예들이 본 발명과 동일한 기술적 특징을 보유하면서 일부 변형될 수 있으므로, 이 역시 본 발명의 권리범위 내에 속하는 것으로 보아야 할 것이다.
또한, 순서도의 경우 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 가장 바람직한 결과를 얻기 위하여 도시된 것으로서, 도시된 특정한 순서나 순차적인 순서대로 그러한 동작들을 반드시 실행되어야 한다거나 모든 도시된 동작들이 반드시 실행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티 태스킹과 병렬 프로세싱이 유리할 수 있다. 아울러, 이상에서 기술한 실시형태의 다양한 시스템 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 시스템들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징될 수 있다는 점을 이해하여야 한다.
이와 같이, 본 명세서는 그 제시된 구체적인 용어에 의해 본 발명을 제한하려는 의도가 아니다. 따라서, 이상에서 기술한 실시 예를 참조하여 본 발명을 상세하게 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 본 발명의 범위를 벗어나지 않으면서도 본 실시 예들에 대한 개조, 변경 및 변형을 가할 수 있다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 권리범위에 포함되는 것으로 해석되어야 한다.
서버 100
플로우 컨트롤러 200
기존 프로세서 201
공간정보 추출 프로세서 203
공간정보 변환 프로세서 204
플로우 파일 리파지토리 210
컨텐츠 리파지토리 220
프로비넌스 리파지토리 230
공간정보 분석 프로세서 300
기존 적재 프로세서 400
스토리지 500

Claims (10)

  1. 공간정보 처리 서비스를 제공하는 방법에 있어서,
    (a) 공간정보를 추출하는 단계;
    (b) 공간정보를 변환하는 단계; 및
    (c) 공간정보를 적재하는 단계;
    를 포함하되,
    상기 공간정보를 적재하는 단계는 오픈소스에 포함된 명령어들에 의하여 실행되고,
    상기 공간정보를 추출하는 단계 및 공간정보를 변환하는 단계는 상기 오픈소스에 포함되어 있지 않은 새롭게 생성된 명령어들에 의하여 실행되는 것을 특징으로 하는,
    공간정보 처리 서비스를 제공하는 방법.
  2. 제1항에 있어서,
    상기 오픈소스는 아파치 니피(Apache NiFi)인 것을 특징으로 하는,
    공간정보 처리 서비스를 제공하는 방법.
  3. 제2항에 있어서,
    상기 공간정보를 추출하는 단계는,
    소프트웨어로 구현된 공간정보 추출 프로세서에 의하여 실행되는 것을 특징으로 하는,
    공간정보 처리 서비스를 제공하는 방법.
  4. 제3항에 있어서,
    상기 공간정보 추출 프로세서는,
    공간정보 유형이 배치(batch)형인 공간정보를 추출하기 위한 배치 기반 공간정보 추출 프로세서; 또는
    공간정보 유형이 스트림(stream)형인 공간정보를 추출하기 위한 스트림 기반 공간정보 추출 프로세서;
    를 포함하는 것을 특징으로 하는,
    공간정보 처리 서비스를 제공하는 방법.
  5. 제4항에 있어서,
    상기 배치 기반 공간정보 추출 프로세서는, shp포맷, csv포맷, json포맷 또는 txt포맷의 공간 파일로부터 공간정보를 추출하는 것을 특징으로 하는,
    공간정보 처리 서비스를 제공하는 방법.
  6. 제4항에 있어서,
    상기 스트림 기반 공간정보 추출 프로세서는,
    스트림으로 공간정보를 제공하는 생성자에게 공간정보에 대한 접근정보를 수신하고, 상기 접근정보를 참조하여 공간정보를 추출하는 것을 특징으로 하는,
    공간정보 처리 서비스를 제공하는 방법.
  7. 제4항에 있어서,
    상기 공간정보를 변환하는 단계는,
    소프트웨어로 구현된 공간정보 변환 프로세서에 의하여 실행되는 것을 특징으로 하는,
    공간정보 처리 서비스를 제공하는 방법.
  8. 제7항에 있어서,
    상기 공간정보 변환 프로세서는,
    공간 레코드 내 컬럼 정보를 변환하는 것을 특징으로 하는,
    공간정보 처리 서비스를 제공하는 방법.
  9. 제8항에 있어서,
    상기 공간정보 변환 프로세서는,
    공간 레코드 내 컬럼 정보를 변환 후 내보내는 것을 더 특징으로 하는,
    공간정보 처리 서비스를 제공하는 방법.
  10. 공간정보 처리 서비스를 제공하는 방법을 수행하기 위한 명령어들이 저장된 컴퓨터 판독 가능한 저장 매체에 있어서,
    상기 공간정보 처리 서비스를 제공하는 방법은,
    (a) 공간정보를 추출하는 단계;
    (b) 공간정보를 변환하는 단계; 및
    (c) 공간정보를 적재하는 단계;
    를 포함하되,
    상기 공간정보를 적재하는 단계는 오픈소스에 포함된 명령어들에 의하여 실행되고,
    상기 공간정보를 추출하는 단계 및 공간정보를 변환하는 단계는 상기 오픈소스에 포함되어 있지 않은 새롭게 생성된 명령어들에 의하여 실행되는 것을 특징으로 하는,
    컴퓨터 판독 가능한 저장 매체.

KR1020190158772A 2019-12-03 2019-12-03 오픈소스 기반의 공간정보 처리 서비스를 제공하는 방법 및 이러한 방법을 실행시키기 위한 명령어들이 저장된 컴퓨터 판독 가능한 저장 매체 KR20210069240A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190158772A KR20210069240A (ko) 2019-12-03 2019-12-03 오픈소스 기반의 공간정보 처리 서비스를 제공하는 방법 및 이러한 방법을 실행시키기 위한 명령어들이 저장된 컴퓨터 판독 가능한 저장 매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190158772A KR20210069240A (ko) 2019-12-03 2019-12-03 오픈소스 기반의 공간정보 처리 서비스를 제공하는 방법 및 이러한 방법을 실행시키기 위한 명령어들이 저장된 컴퓨터 판독 가능한 저장 매체

Publications (1)

Publication Number Publication Date
KR20210069240A true KR20210069240A (ko) 2021-06-11

Family

ID=76376697

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190158772A KR20210069240A (ko) 2019-12-03 2019-12-03 오픈소스 기반의 공간정보 처리 서비스를 제공하는 방법 및 이러한 방법을 실행시키기 위한 명령어들이 저장된 컴퓨터 판독 가능한 저장 매체

Country Status (1)

Country Link
KR (1) KR20210069240A (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180100893A (ko) 2017-03-02 2018-09-12 고려대학교 산학협력단 아파치 카프카를 활용한 대규모 영상 실시간 처리 시스템 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180100893A (ko) 2017-03-02 2018-09-12 고려대학교 산학협력단 아파치 카프카를 활용한 대규모 영상 실시간 처리 시스템 및 방법

Similar Documents

Publication Publication Date Title
US11086917B2 (en) Design-time information based on run-time artifacts in transient cloud-based distributed computing clusters
US10528585B2 (en) ETL tool interface for remote mainframes
US10095699B2 (en) Computer-readable recording medium, execution control method, and information processing apparatus
US9652368B2 (en) Using linked data to determine package quality
CN110888720A (zh) 任务处理方法、装置、计算机设备及存储介质
US11200218B2 (en) Providing consistent data masking using causal ordering
AU2017327824B2 (en) Data integration job conversion
US20110106516A1 (en) Automated derivation, design and execution of industry-specific information environment
US8577848B2 (en) Converting two-tier resource mapping to one-tier resource mapping
Akhtar Big Data Architect’s Handbook: A guide to building proficiency in tools and systems used by leading big data experts
US10334028B2 (en) Apparatus and method for processing data
US10102029B2 (en) Extending a map-reduce framework to improve efficiency of multi-cycle map-reduce jobs
US20170061318A1 (en) Scalable streaming decision tree learning
Suleykin et al. Implementing big data processing workflows using open source technologies
US10803030B2 (en) Asynchronous SQL execution tool for zero downtime and migration to HANA
KR20210069240A (ko) 오픈소스 기반의 공간정보 처리 서비스를 제공하는 방법 및 이러한 방법을 실행시키기 위한 명령어들이 저장된 컴퓨터 판독 가능한 저장 매체
Hanif et al. Binarypig: Scalable static binary analysis over hadoop
US11610151B2 (en) Distribution system, data management apparatus, data management method, and computer-readable recording medium
KR20160074193A (ko) 조인 연산을 위한 매핑 방법 및 리듀싱 방법,및 그 방법들을 이용한 장치들
US9405512B2 (en) Rejuvenation of legacy code into resources-oriented architectures
US10102122B2 (en) Personal computing device for editing mainframe data
Mehboob et al. Analysis of issues and trends in Big Data Platforms
KR20200130763A (ko) 파스 기반의 빅데이터 수집 서비스 브로커를 포함한 빅데이터 수집 장치 및 그것의 빅데이터 수집 방법
Paltto Integrating a smart city data warehouse efficiently with a cloud infrastructure
Mey et al. Euro-Par 2013: Parallel Processing Workshops: BigDataCloud, DIHC, FedICI, HeteroPar, HiBB, LSDVE, MHPC, OMHI, PADABS, PROPER, Resilience, ROME, and UCHPC 2013, Aachen, Germany, August 26-27, 2013. Revised Selected Papers

Legal Events

Date Code Title Description
E601 Decision to refuse application