KR20190074552A - 이종 데이터를 통합하기 위한 매쉬업 방법 및 그 장치 - Google Patents

이종 데이터를 통합하기 위한 매쉬업 방법 및 그 장치 Download PDF

Info

Publication number
KR20190074552A
KR20190074552A KR1020170175994A KR20170175994A KR20190074552A KR 20190074552 A KR20190074552 A KR 20190074552A KR 1020170175994 A KR1020170175994 A KR 1020170175994A KR 20170175994 A KR20170175994 A KR 20170175994A KR 20190074552 A KR20190074552 A KR 20190074552A
Authority
KR
South Korea
Prior art keywords
data
information
mapping
api
unit
Prior art date
Application number
KR1020170175994A
Other languages
English (en)
Other versions
KR102624680B1 (ko
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 KR1020170175994A priority Critical patent/KR102624680B1/ko
Publication of KR20190074552A publication Critical patent/KR20190074552A/ko
Application granted granted Critical
Publication of KR102624680B1 publication Critical patent/KR102624680B1/ko

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/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database

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)
  • Stored Programmes (AREA)

Abstract

본 발명은 이종 데이터를 통합하기 위한 매쉬업 장치에 관한 것으로, 병합할 제1 데이터와 제2 데이터를 선택하는 데이터 선택부; 상기 제1 데이터의 데이터 요소와 상기 제2 데이터의 데이터 요소를 매핑(mapping)하는 데이터요소 매핑부; 상기 제1 데이터의 데이터 요소에 대응하는 데이터 값과 상기 제2 데이터의 데이터 요소에 대응하는 데이터 값을 매핑하는 데이터값 매핑부; 및 상기 데이터 요소에 관한 제1 매핑 정보와 상기 데이터 값에 관한 제2 매핑 정보를 기반으로 상기 제1 데이터와 상기 제2 데이터를 병합하는 데이터 통합부를 포함한다.

Description

이종 데이터를 통합하기 위한 매쉬업 방법 및 그 장치{MASH-UP METHOD FOR INTEGRATING HETEROGENEOUS DATA AND APPARATUS THEREOF}
본 발명은 매쉬업 API 생성에 사용되는 매쉬업 방법에 관한 것으로, 보다 구체적으로는 다양한 이종 데이터를 통합할 때 발생하는 복잡성 문제를 해결하기 위한 매쉬업 방법에 관한 것이다.
매쉬업(Mash-up)은 다양한 형태의 컨텐츠 또는 서비스들을 결합하고 응용하여 새로운 컨텐츠 또는 서비스를 생성하는 것을 의미한다.
매쉬업 서비스는 웹 서비스 업체가 자신들의 데이터에 접근할 수 있도록 접근방법을 공개하는 것으로부터 비롯된다. 3rd Party 개발자는 웹 서비스 업체들이 공개한 API(Application Programming Interface)를 기반으로 독자적인 유저인터페이스나 콘텐츠를 융합하여 새로운 응용 서비스(즉, 매쉬업 API)를 개발할 수 있게 된다.
하지만, 실제 매쉬업을 위해 개발자는 모든 개별 시스템의 API 구성 및 데이터 수집 경로에 대한 지식을 가지고 있어야 하며, API 형태 외 Legacy 데이터의 경우에는 활용할 수 있는 방법이 제한적이었다. 이로 인해, 데이터 수집을 위해 개별 시스템에 일일이 접근하여 API 콜(call), 파싱(Parsing) 등을 수행하여 정보를 수집하고 스스로 매쉬업을 수행해야만 했다.
기존에는 단일 도메인의 데이터를 묶음 형태로 제공하고 있기 때문에 이종 도메인 간의 데이터를 사용하고자 하는 경우에는 각 도메인 별 데이터를 수집한 후 별도로 병합해야 했고, 단일 도메인 내에서도 필요한 데이터를 얻기 위해 파싱(parsing)하는 작업이 요구되었다. 또한, 기존에는 시스템 별로 서로 다른 프로토콜(가령, REST/JSON, REST/XML), 데이터 요소(temp, Temperature, T, Weather 등), 데이터 값(F, C) 등을 사용하여 데이터를 관리하고 API를 운영하기 때문에, 다양한 이종 데이터를 통합할 때 생기는 복잡성 문제를 해결할 필요가 있다.
본 발명은 전술한 문제 및 다른 문제를 해결하는 것을 목적으로 한다. 또 다른 목적은 개발자(또는 사용자)로부터 선택 받은 정보를 데이터 속성(API 방식, DB 방식)에 따라 통합하여 매쉬업 API를 생성하는 방법 및 그 장치를 제공함에 있다.
또 다른 목적은 병합할 데이터를 선택하고, 상기 선택된 데이터 간의 데이터 요소와 데이터 값을 매핑하여 이종 데이터를 통합하는 매쉬업 방법 및 그 장치를 제공함에 있다.
상기 또는 다른 목적을 달성하기 위해 본 발명의 일 측면에 따르면, 병합할 제1 데이터와 제2 데이터를 선택하는 데이터 선택부; 상기 제1 데이터의 데이터 요소(parameter)와 상기 제2 데이터의 데이터 요소를 매핑하는 데이터요소 매핑부; 상기 제1 데이터의 데이터 요소에 대응하는 데이터 값(value)과 상기 제2 데이터의 데이터 요소에 대응하는 데이터 값을 매핑하는 데이터값 매핑부; 및 상기 데이터 요소에 관한 제1 매핑 정보와 상기 데이터 값에 관한 제2 매핑 정보를 기반으로 상기 제1 데이터와 상기 제2 데이터를 병합하는 데이터 통합부를 포함하는 매쉬업 장치를 제공한다.
본 실시 예에서, 상기 제1 및 제2 데이터는 이종 데이터임을 특징으로 한다. 또한, 상기 데이터 선택부를 통해 선택되는 데이터는, API 콜을 수행하여 획득한 데이터이거나, 정보 요소 별로 접근하여 획득한 데이터임을 특징으로 한다.
좀 더 바람직하게는, 상기 매쉬업 장치는 제1 데이터와 제2 데이터를 테스트하여 각 데이터의 데이터 요소와 데이터 값을 확인하는 데이터 확인부를 더 포함하는 것을 특징으로 한다. 상기 데이터요소 매핑부는, 데이터 확인부에서 확인한 데이터 요소들에 관한 정보를 기반으로 서로 매핑할 데이터 요소를 결정하는 것을 특징으로 한다. 또한, 상기 데이터값 매핑부는, 제1 및 제2 데이터 중 적어도 하나의 데이터 값 범위를 지정하여 해당 조건을 만족하는 데이터만을 필터링하는 것을 특징으로 한다.
좀 더 바람직하게는, 상기 데이터 통합부는, 제1 데이터의 정보들과 제2 데이터의 정보들 중 필요한 정보만을 선택하여 제1 데이터와 제2 데이터를 병합하는 것을 특징으로 한다.
좀 더 바람직하게는, 상기 매쉬업 장치는 데이터 통합부를 통해 병합된 데이터를 단일 API 포맷으로 생성하는 데이터 등록부를 더 포함하는 것을 특징으로 한다. 상기 데이터 등록부는, 생성된 단일 API 포맷을 기반으로 매쉬업 API를 생성하는 것을 특징으로 한다.
본 발명의 다른 측면에 따르면, 병합할 제1 데이터와 제2 데이터를 선택하는 단계; 상기 제1 데이터의 데이터 요소(parameter)와 상기 제2 데이터의 데이터 요소를 매핑하는 단계; 상기 제1 데이터의 데이터 요소에 대응하는 데이터 값(value)과 상기 제2 데이터의 데이터 요소에 대응하는 데이터 값을 매핑하는 단계; 및 상기 데이터 요소에 관한 제1 매핑 정보와 상기 데이터 값에 관한 제2 매핑 정보를 기반으로 상기 제1 데이터와 상기 제2 데이터를 병합하는 단계를 포함하는 매쉬업 방법을 제공한다.
본 발명의 또 다른 측면에 따르면, 병합할 제1 데이터와 제2 데이터를 선택하는 과정; 상기 제1 데이터의 데이터 요소(parameter)와 상기 제2 데이터의 데이터 요소를 매핑하는 과정; 상기 제1 데이터의 데이터 요소에 대응하는 데이터 값(value)과 상기 제2 데이터의 데이터 요소에 대응하는 데이터 값을 매핑하는 과정; 및 상기 데이터 요소에 관한 제1 매핑 정보와 상기 데이터 값에 관한 제2 매핑 정보를 기반으로 상기 제1 데이터와 상기 제2 데이터를 병합하는 과정이 컴퓨터 상에서 수행되도록 하는 프로그램을 기록한 컴퓨터 판독 가능한 기록매체를 제공한다.
본 발명의 실시 예들에 따른 매쉬업 방법 및 그 장치의 효과에 대해 설명하면 다음과 같다.
본 발명의 실시 예들 중 적어도 하나에 의하면, API 뿐만 아니라 Legacy 데이터에 대한 검색 및 이용이 용이해지고, 이종 도메인 간에도 사용자의 필요에 따라 custom 매쉬업 API 생성이 가능하며, 매쉬업 API 생성을 위해 개발자가 개별 시스템에 일일이 접근하여 API 콜(Call), 파싱(Parsing) 등을 수행해야 하는 번거로움을 줄일 수 있다는 장점이 있다.
또한, 본 발명의 실시 예들 중 적어도 하나에 의하면, 각 데이터 간의 데이터 요소 및 데이터 값을 매핑하여 이종 데이터를 통합함으로써, 다양한 데이터를 통합할 때 생기는 복잡성 문제를 해결할 수 있고, 개발자로 하여금 매쉬업 API를 간편하게 생성할 수 있도록 하는 장점이 있다.
다만, 본 발명의 실시 예들에 따른 매쉬업 방법 및 그 장치가 달성할 수 있는 효과는 이상에서 언급한 것들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시 예에 따른 매쉬업 API 생성 시스템의 전체 구성도;
도 2는 본 발명의 일 실시 예에 따른 매쉬업 API 생성 장치의 블록 구성도;
도 3은 본 발명의 일 실시 예에 따른 매쉬업 API 생성 방법을 설명하는 도면;
도 4는 본 발명의 일 실시 예에 따른 매쉬업 장치의 블록 구성도;
도 5는 본 발명의 일 실시 예에 따른 매쉬업 장치의 동작을 예시하는 도면;
도 6은 본 발명의 일 실시 예에 따른 매쉬업 방법을 설명하는 순서도.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 즉, 본 발명에서 사용되는 '부'라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, '부'는 어떤 역할들을 수행한다. 그렇지만 '부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 '부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '부'들로 결합되거나 추가적인 구성요소들과 '부'들로 더 분리될 수 있다.
또한, 본 명세서에 개시된 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시 예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
본 발명은 개발자(또는 사용자)로부터 선택 받은 정보를 데이터 속성(API 방식, DB 방식)에 따라 통합하여 매쉬업 API를 생성하는 방안을 제안한다. 또한, 본 발명은 병합할 이종 데이터를 선택하고, 상기 선택된 데이터 간의 데이터 요소와 데이터 값을 매핑하여 이종 데이터를 통합하는 방안을 제안한다.
이하에서는, 본 발명의 다양한 실시 예들에 대하여, 도면을 참조하여 상세히 설명한다.
도 1은 본 발명의 일 실시 예에 따른 매쉬업 API 생성 시스템의 전체 구성도이다.
도 1을 참조하면, 본 발명에 따른 매쉬업 API 생성 시스템(100)은 매쉬업 API 생성 장치(110), 사물인터넷 시스템(네트워크 통신 기능을 포함한 센싱 또는 제어 시스템 또는 장치)(120), 사용자 단말(130) 및 통신 네트워크(140)을 포함하여 구성될 수 있다.
매쉬업 API 생성 장치(110)는 사물인터넷 시스템(120)으로부터 수신한 정보를 이용하여 데이터를 모델링하고 가시화(또는 시각화)하며, 개발자의 조회 및 검색에 의해 추출된 정보를 통합하여 매쉬업 API를 생성 및 저장하고, 해당 매쉬업 API를 관련 서비스 서버로 제공할 수 있다.
매쉬업 API 생성 장치(110)는 데이터 연산 처리, 데이터 송수신 등의 기능을 수행할 수 있고, 기능이 제한되어 있지 않으며 응용 프로그램을 통해 상당 부분 기능을 변경하거나 확장할 수 있는 전자 장치를 포함할 수 있다. 또한, 상기 매쉬업 API 생성 장치(110)는 하나의 물리적 서버로 구현될 수 있으나, 필요에 따라서는 복수의 물리적 서버로 구현하는 것도 가능하다.
사물인터넷 시스템(120)은 단말과의 네트워크 통신 기능을 구비하고, 센싱 또는 장치 제어 등의 기능을 수행하는 장치 및/또는 시스템을 의미한다. 상기 사물인터넷 시스템(120)은 본 발명에 따른 매쉬업 API 생성의 기초가 되는 개체 관계 다이어그램(ERD: Entity-Relationship Diagram), 데이터베이스 스키마 등의 정보를 매쉬업 API 생성 장치(110)로 전송할 수 있다.
사용자 단말(130)은, 개발자(또는 사용자)가 본 발명에 따른 매쉬업 API를 생성하기 위하여, 매쉬업 API 생성 장치(110)로 접속하여 사용자 명령을 입력하기 위한 장치로서 기능한다. 상기 사용자 단말(130)은 통신 단말기로서, 일반적으로 공급되는 PC 등의 고정형 단말기를 포함할 수 있고, 태블릿 PC, 랩톱(laptop), 스마트폰(smart phone), 개인 휴대용 정보 단말기(PDA: Personal Digital Assistant), 웨어러블 디바이스(Wearable Device) 등의 이동형 단말기를 포함할 수 있다.
통신 네트워크(140)는 매쉬업 API 생성 장치(110), 사물인터넷 시스템(120) 및 사용자 단말(130)간의 데이터 송수신을 매개할 수 있다. 즉, 매쉬업 API 생성 장치(110), 사물인터넷 시스템(120) 및 사용자 단말(130)은 통신 네트워크(140)를 통해 서로 연결될 수 있다.
통신 네트워크(140)는 유선 네트워크와 무선 네트워크를 포함할 수 있으며, 구체적으로, 근거리 네트워크(LAN: Local Area Network), 도시권 네트워크(MAN: Metropolitan Area Network), 광역 네트워크(WAN: Wide Area Network) 등 다양한 네트워크를 포함할 수 있다. 또한, 통신 네트워크(140)는 공지의 월드 와이드 웹(WWW: World Wide Web)을 포함할 수도 있다. 그러나, 본 발명에 따른 통신 네트워크는 상기 열거된 네트워크에 국한되지 않고, 공지의 무선 데이터 네트워크, 공지의 전화 네트워크, 공지의 유/무선 텔레비전 네트워크 중 적어도 하나를 포함할 수도 있다.
도 2는 본 발명의 일 실시 예에 따른 매쉬업 API 생성 장치의 블록 구성도이다.
도 2를 참조하면, 본 발명에 따른 매쉬업 API 생성 장치(110, 200)는 데이터 모델링부(210), 정보 처리부(220), API 생성부(230), API 서비스부(240)를 포함하여 구성될 수 있다. 여기서, 각 구성 요소들(210~240)은 통신 모듈 및 프로세서(processor)를 통해 구현될 수 있다.
데이터 모델링부(210)는 복수의 사물인터넷 시스템(120)으로부터 ERD(Entity-Relationship Diagram) 및 데이터베이스 스키마 등을 포함하는 API 형태의 정보 또는 Legacy IoT 데이터 등을 수신하고, 그에 기초하여 각 데이터 요소 간의 관계를 설정할 수 있다. 여기서, 데이터 요소는 각 데이터의 속성 또는 종류를 나타내는 파라미터(parameter) 정보이다. 상기 사물인터넷 시스템(120) 별로 서로 다른 데이터 요소(즉, 파라미터 정보)가 사용될 수 있다.
각 데이터 요소 간의 관계는, 동일한 상위 데이터 요소를 공유하는 하위 데이터 요소끼리의 연결, 사용자들이 종래에 선택하였던 이력 정보, 관리자에 의한 각 데이터 요소 간의 임의 설정 등에 근거할 수 있지만 반드시 이에 국한되지는 않는다.
정보 처리부(220)는 개발자로부터 수신한 검색 질의에 대응되는 데이터 요소 및 관계 정보를 추출할 수 있다. 또한, 정보 처리부(220)는 추출한 데이터 요소 및 관계 정보를 가시화(또는 시각화, ex. ERD 방식)하여 개발자에게 제공할 수 있다.
좀 더 구체적으로, 개발자가 찾고자 하는 데이터의 키워드, 뎁스(depth) 및 비교연산자를 포함하는 검색 질의를 입력하면, 정보 처리부(220)는 데이터 요소 간의 관계 정보에 기초하여, 해당 키워드에 대응되는 하나 이상의 데이터 요소를 추출하고, 추출한 데이터 요소를 중심으로 하여 상기 추출한 데이터 요소와 상기 뎁스(depth) 범위만큼의 인접 데이터 요소를 시각적으로 제공할 수 있다. 개발자는 정보 처리부(220)에서 시각적으로 제공하는 데이터 요소들 중 적어도 하나를 선택할 수 있다.
API 생성부(230)는 개발자로부터 선택 받은 데이터 요소 및 관계 정보 중 어느 하나 이상을 통합하여 매쉬업 API를 생성할 수 있다.
좀 더 구체적으로, API 생성부(230)는 개발자에 의해 선택된 정보가 API 방식인지 아니면 DB 방식인지 여부를 판단할 수 있다. 이는 개발자에 의해 선택된 정보가 API 방식 또는 DB 방식인지 여부에 따라 매쉬업 API를 생성하는 방법이 달라지기 때문이다.
개발자가 선택한 정보가 API 방식인 경우, API 생성부(230)는 API 콜(call)을 수행하여 정보(ex. JSON)를 획득하고, 상기 획득한 정보를 통합하여 매쉬업 API(ex. REST API)를 생성할 수 있다. 한편, 개발자가 선택한 정보가 DB 방식인 경우, API 생성부(230)는 각 선택 정보 요소에 따라 개별적으로 접근하여 정보를 획득하고, 상기 획득한 정보를 통합하여 매쉬업 API(ex. REST API)를 생성할 수 있다.
또한, 매쉬업 API와 관련된 서비스를 제공하는 서버나 개발자가 동일한 매쉬업 API 생성 절차를 반복할 필요 없이 기 생성된 매쉬업 API에 용이하게 접근할 수 있도록, API 생성부(230)는 생성된 매쉬업 API에 주소 및 데이터 접근 방법 등을 매칭하여 데이터베이스화할 수 있다.
API 생성부(230)는 'API 콜을 수행하여 획득한 정보' 및/또는 '정보 요소 별로 접근하여 획득한 정보'를 통합(또는 병합)하기 위한 매쉬업 장치(미도시)를 포함할 수 있다. 상기 매쉬업 장치에 대한 자세한 설명은 후술하도록 한다.
API 서비스부(240)는 매쉬업 API 관련 서비스 서버의 요청에 따라 매쉬업 API를 제공할 수 있다. 또한, API 서비스부(240)는 매쉬업 API의 콜 카운트(Call count) 관리, 사용자 제어, 사용량 통계 산출 등의 부차적 기능을 수행할 수도 있다.
이러한 매쉬업 API 생성 장치(110, 200)를 통하여 사용자의 필요에 따라 custom 매쉬업 API 생성이 가능하고, 매쉬업 API 생성을 위해 사용자가 개별 시스템에 일일이 접근하여 API 콜(Call), 파싱(Parsing) 등을 수행해야 하는 번거로움을 줄일 수 있다.
도 3은 본 발명의 일 실시 예에 따른 매쉬업 API 생성 방법을 설명하는 도면이다.
도 3을 참조하면, 본 발명에 따른 매쉬업 API 생성 장치(200)는 사물인터넷 시스템(120)으로부터 수신한 정보에 기초하여 데이터 요소와 각 데이터 요소 간의 관계 정보(점선)를 모델링할 수 있다(①).
매쉬업 API 생성 장치(200)는 Open API URL 정보를 개발자(또는 사용자)에게 제공할 수 있다. 개발자는 Open API URL 주소에 접속하여, 자신이 찾고자 하는 데이터의 키워드, 뎁스(depth) 및 비교연산자를 포함하는 검색 질의(②)를 하면, 상기 매쉬업 API 생성 장치(200)는 검색 질의에 대응하는 데이터 요소 및 관계 정보를 추출하여 개발자에게 제공할 수 있다(③).
매쉬업 API 생성 장치(200)는 개발자에게 제공된 정보 중 개발자의 선택 정보에 대하여 API 방식인지 DB 방식인지 여부를 판단할 수 있다. 개발자의 선택 정보가 API 방식인 경우, 매쉬업 API 생성 장치(200)는 API 콜(call)을 수행하여 정보(ex. JSON)를 획득하고, 상기 획득한 정보를 통합하여 매쉬업 API(ex. REST API)를 생성할 수 있다. 한편, 개발자의 선택 정보가 DB 방식인 경우, 매쉬업 API 생성 장치(200)는 각 선택 정보에 따라 개별적으로 접근하여 정보를 획득하고, 상기 획득한 정보를 통합하여 매쉬업 API(ex. REST API)를 생성할 수 있다(④).
매쉬업 API 생성 장치(200)는 'API 콜을 수행하여 획득한 정보' 또는 '정보 요소 별로 접근하여 획득한 정보'를 데이터 매핑(data mapping) 및 데이터 필터링(data filtering)하여 다양한 데이터를 통합(또는 병합)하기 위한 매쉬업 장치(310)를 포함할 수 있다.
매쉬업 API 생성 장치(200)는 생성된 매쉬업 API에 주소 및 데이터 접근 방법 등을 매칭하여 데이터베이스화할 수 있다. 또한, 매쉬업 API 생성 장치(200)는 매쉬업 API를 개발자 또는 관련 서비스 서버 등에 제공하기 위해 게이트웨이(gateway)에 등록할 수 있다(⑤).
도 4는 본 발명의 일 실시 예에 따른 매쉬업 장치의 블록 구성도이다.
도 4를 참조하면, 본 발명에 따른 매쉬업 장치(400)는 데이터 선택부(410), 데이터 확인부(420), 데이터요소 매핑부(430), 데이터값 매핑부(440), 데이터 통합부(450) 및 데이터 등록부(460)를 포함할 수 있다. 도 4에 도시된 구성요소들은 매쉬업 장치를 구현하는데 있어서 필수적인 것은 아니어서, 본 명세서상에서 설명되는 매쉬업 장치는 위에서 열거된 구성요소들보다 많거나 또는 적은 구성요소들을 가질 수 있다.
데이터 선택부(410)는 개발자 명령(또는 사용자 명령) 등에 따라 데이터를 검색하고, 상기 검색된 데이터 중에서 병합하고자 하는 제1 데이터와 제2 데이터를 선택할 수 있다. 여기서, 검색 및 선택의 대상이 되는 데이터는, 데이터의 속성(API 방식, DB 방식)에 따라 'API 콜을 수행하여 획득한 정보'이거나 '정보 요소 별로 접근하여 획득한 정보'일 수 있다.
한편, 다른 실시 예로, 데이터 선택부(410)는 개발자 편의를 위해 병합할 데이터를 추천하는 기능을 제공할 수 있다. 또한, 데이터 선택부(410)는 병합할 데이터를 자동으로 검색하여 선택하는 기능을 수행할 수도 있다.
데이터 확인부(420)는 데이터 선택부(410)에서 선택된 제1 및 제2 데이터를 테스트하여 정상적인 데이터인지를 확인할 수 있다. 즉, 데이터 확인부(420)는 제1 데이터와 제2 데이터가 API 방식 또는 DB 방식에 따라 정상적으로 입력되고 있는지를 확인할 수 있다.
또한, 데이터 확인부(420)는 데이터 선택부(410)에서 선택된 제1 및 제2 데이터를 테스트하여 각 데이터의 데이터 요소(parameter)와 데이터 값(value)을 확인할 수 있다. 여기서, 데이터 값은 각 데이터 요소에 대응하는(또는 할당된) 값(value)을 의미한다.
데이터요소 매핑부(또는 파라미터 매핑부, 430)는 데이터 확인부(420)에서 확인한 데이터 요소들에 관한 정보(즉, 파라미터 정보)를 기반으로 제1 데이터의 데이터 요소와 제2 데이터의 데이터 요소를 결정할 수 있다. 데이터요소 매핑부(430)는, 개발자 명령 등에 따라, 제1 데이터의 데이터 요소와 제2 데이터의 데이터 요소를 서로 연결(또는 매핑)할 수 있다.
한편, 다른 실시 예로, 데이터요소 매핑부(430)는 제1 데이터와 제2 데이터 간에 매핑할 데이터 요소를 추천하는 기능을 수행할 수 있다. 또한, 상기 데이터요소 매핑부(430)는 제1 및 제2 데이터의 데이터 요소를 자동으로 검출하여 매핑하는 기능을 수행할 수도 있다.
데이터값 매핑부(440)는, 개발자 명령 등에 따라, 제1 데이터의 데이터 요소에 대응하는 데이터 값과 제2 데이터의 데이터 요소에 대응하는 데이터 값을 각각 지정하고, 상기 지정된 데이터 값들을 서로 동일한 값으로 연결(또는 매핑)할 수 있다.
또한, 데이터값 매핑부(440)는, 개발자 명령 등에 따라, 제1 데이터와 제2 데이터 중 적어도 하나의 데이터 값의 범위를 지정하여 해당 조건을 만족하는 데이터만을 필터링할 수 있다.
한편, 다른 실시 예로, 데이터요소 매핑부(430)는 제1 데이터와 제2 데이터 간에 매핑할 데이터 값을 추천하는 기능을 수행할 수 있다. 또한, 데이터요소 매핑부(430)는 제1 및 제2 데이터의 데이터 값을 자동으로 검출하여 매핑하는 기능을 수행할 수도 있다.
데이터 통합부(450)는, 제1 및 제2 데이터의 데이터 요소에 관한 매핑 정보와 제1 및 제2 데이터의 데이터 값에 관한 매핑 정보를 기반으로 제1 데이터와 제2 데이터를 병합할 수 있다.
데이터 통합부(450)는, 개발자 명령 등에 따라, 제1 데이터의 정보들과 제2 데이터의 정보들 중 필요한 정보만을 선택하여 제1 데이터와 제2 데이터를 통합할 수 있다. 데이터 통합부(450)는 제1 및 제2 데이터에서 필요한 정보만을 통합함으로써 사용자 맞춤형 데이터 셋(data set)을 생성할 수 있다.
데이터 등록부(460)는 통합된 데이터를 단일 API 포맷인 JSON(JavaScript Object Notation) 형태로 생성하고, 상기 생성된 JSON을 기반으로 단일 규격의 매쉬업 API(ex. REST API)를 생성할 수 있다. 한편, 다른 실시 예로, 데이터 등록부(460)는 통합된 데이터를 단일 API 포맷인 XML(eXtensible Markup Language) 형태로 생성하고, 상기 생성된 XML을 기반으로 단일 규격의 매쉬업 API를 생성할 수도 있다.
데이터 등록부(460)는 제1 데이터와 제2 데이터가 성공적으로 통합되었는지를 테스트할 수 있다. 또한, 데이터 등록부(460)는 통합된 데이터에 API URL, API 이름, API 설명 등을 등록하여 매쉬업 API를 생성할 수 있다.
이상, 상술한 바와 같이, 본 발명에 따른 매쉬업 장치는 병합할 데이터를 선택하고, 상기 선택된 데이터 간의 데이터 요소와 데이터 값을 매핑하여 이종 데이터를 통합할 수 있다. 이를 통해, 매쉬업 장치는 다양한 데이터를 통합할 때 생기는 복잡성 문제를 해결할 수 있고, 개발자로 하여금 매쉬업 API를 간편하게 생성할 수 있도록 한다.
한편, 본 실시 예에서는, 두 개의 이종 데이터를 병합하는 것을 예시하고 있으나 이를 제한하지는 않으며, 셋 이상의 이종 데이터를 병합할 수 있음은 당업자에게 자명할 것이다.
도 5는 본 발명의 일 실시 예에 따른 매쉬업 장치의 동작을 예시하는 도면이다.
도 5를 참조하면, 본 발명에 따른 매쉬업 장치(400)는 이종 데이터를 병합하여 매쉬업 API를 생성할 수 있다.
데이터 선택부(410)는 데이터를 검색하여 병합하고자 하는 제1 데이터와 제2 데이터를 선택할 수 있다. 여기서, 제1 데이터는 '국내 날씨 데이터'이고, 제2 데이터는 '날씨 별 택시 운행 데이터'이며, 상기 제1 및 제2 데이터는 개별 API 콜을 수행하여 획득하는 데이터임을 가정하여 설명하도록 한다.
데이터 확인부(420)는 데이터 선택부(410)에서 선택된 제1 및 제2 데이터를 테스트하여 각 데이터의 데이터 요소(parameter)와 데이터 값(value)을 확인할 수 있다. 가령, 국내 날씨 데이터에서는 데이터 요소에 해당하는 날씨를 'WD'라고 부르고, 해당 데이터 요소에 대응하는 데이터 값(value)은 'SUNNY', 'CLOUDY' 등으로 표현하는 것을 테스트를 통해 확인할 수 있다. 또한, 날씨 별 택시 운행 데이터에서는 데이터 요소에 해당하는 날씨를 'Weather'라고 부르고, 해당 데이터 요소에 대응하는 데이터 값은 '1(맑은 날)', '2(흐린 날)' 등으로 표현하는 것을 테스트를 통해 확인할 수 있다.
데이터요소 매핑부(430)는 데이터 확인부(420)에서 확인한 데이터 요소들에 관한 정보(즉, 파라미터 정보)를 기반으로 서로 매핑할 제1 데이터의 데이터 요소와 제2 데이터의 데이터 요소를 결정할 수 있다. 예컨대, 제1 데이터와 제2 데이터는 모두 날씨 정보를 포함하고 있기 때문에, 날씨 정보를 기반으로 제1 데이터의 데이터 요소(ex. WD)와 제2 데이터의 데이터 요소(ex. WEATHER)를 결정할 수 있다.
데이터요소 매핑부(430)는 제1 데이터의 데이터 요소인 'WD' 항목과 제2 데이터의 데이터 요소인 'WEATHER' 항목을 서로 동일한 항목으로 연결(또는 매핑)할 수 있다.
데이터값 매핑부(440)는 제1 데이터의 데이터 요소인 'WD' 항목에 대응하는 데이터 값과 제2 데이터의 데이터 요소인 'WEATHER' 항목에 대응하는 데이터 값을 각각 지정하고, 상기 지정된 데이터 값들을 서로 동일한 값으로 연결할 수 있다. 가령, 데이터값 매핑부(440)는 제1 데이터의 데이터 값인 'SUNNY'와 제2 데이터의 데이터 값인 '1'을 각각 지정하여 서로 매핑할 수 있다. 또한, 데이터값 매핑부(440)는 제1 데이터의 데이터 값인 'CLOUDY'와 제2 데이터의 데이터 값인 '2'을 각각 지정하여 서로 매핑할 수 있다.
데이터값 매핑부(440)는 제1 데이터와 제2 데이터 중 적어도 하나의 데이터 값의 범위를 지정하여 해당 조건을 만족하는 데이터만을 필터링할 수 있다. 가령, 데이터값 매핑부(440)는 택시 운행 데이터의 택시 승차 건수(CNT_ON)가 5건 초과인 데이터만을 필터링할 수 있도록 택시 운행 데이터의 데이터 값 범위를 5보다 크게 지정할 수 있다(ex. CNT_ON > 5).
데이터 통합부(450)는 제1 데이터의 정보와 제2 데이터의 정보 중 필요한 정보만을 선택하여 국내 날씨 데이터와 날씨 별 택시 운행 데이터를 통합할 수 있다. 가령, 국내 날씨 데이터에서 온도 정보는 필요하지 않으므로 통합 데이터 항목에서 온도 정보를 제외할 수 있다.
데이터 등록부(460)는 국내 날씨 데이터와 날씨 별 택시 운행 데이터를 통합한 데이터를 단일 API 포맷(가령, JSON 또는 XML)으로 생성하고, 상기 생성된 API 포맷을 기반으로 단일 규격의 매쉬업 API를 생성할 수 있다.
도 6은 본 발명의 일 실시 예에 따른 매쉬업 방법을 설명하는 순서도이다.
도 6을 참조하면, 매쉬업 장치(400)는 데이터를 검색하고, 상기 검색된 데이터 중에서 병합할 제1 데이터와 제2 데이터를 선택할 수 있다(S610).
매쉬업 장치(400)는 제1 데이터와 제2 데이터를 테스트하여 각 데이터의 데이터 요소(parameter)와 데이터 값(value)을 확인할 수 있다(S620).
매쉬업 장치(400)는 제1 및 제2 데이터의 데이터 요소들에 관한 정보(파라미터 정보)를 기반으로 서로 매핑할 제1 데이터의 데이터 요소와 제2 데이터의 데이터 요소를 결정할 수 있다. 매쉬업 장치(400)는 상기 결정된 제1 데이터의 데이터 요소와 제2 데이터의 데이터 요소를 서로 매핑할 수 있다(S630).
매쉬업 장치(400)는 제1 데이터의 데이터 요소에 대응하는 데이터 값과 제2 데이터의 데이터 요소에 대응하는 데이터 값을 각각 지정하고, 상기 지정된 데이터 값들을 서로 동일한 값으로 매핑할 수 있다(S640). 또한, 매쉬업 장치(400)는 제1 데이터와 제2 데이터 중 적어도 하나의 데이터 값의 범위를 지정하여 해당 조건을 만족하는 데이터만을 필터링할 수 있다.
매쉬업 장치(400)는 제1 데이터의 정보들과 제2 데이터의 정보들 중 필요한 정보만을 선택하여 제1 데이터와 제2 데이터를 통합할 수 있다(S650).
매쉬업 장치(400)는 통합된 데이터를 단일 API 포맷으로 생성할 수 있다(S660). 여기서, 상기 단일 API 포맷은 JSON 또는 XML일 수 있으며 반드시 이에 제한되지는 않는다.
매쉬업 장치(400)는 단일 API 포맷을 기반으로 매쉬업 API를 생성할 수 있다(S670). 이때, 상기 매쉬업 장치(400)는 통합 데이터에 API URL, API 이름, API 설명 등을 등록하여 매쉬업 API를 생성할 수 있다.
전술한 본 발명은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다. 또한, 상기 컴퓨터는 단말기의 제어부(180)를 포함할 수도 있다. 따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.
400: 매쉬업 장치 410: 데이터 선택부
420: 데이터 확인부 430: 데이터요소 매핑부
440: 데이터값 매핑부 450: 데이터 통합부
460: 데이터 등록부

Claims (11)

  1. 병합할 제1 데이터와 제2 데이터를 선택하는 데이터 선택부;
    상기 제1 데이터의 데이터 요소(parameter)와 상기 제2 데이터의 데이터 요소를 매핑(mapping)하는 데이터요소 매핑부;
    상기 제1 데이터의 데이터 요소에 대응하는 데이터 값(value)과 상기 제2 데이터의 데이터 요소에 대응하는 데이터 값을 매핑하는 데이터값 매핑부; 및
    상기 데이터 요소에 관한 제1 매핑 정보와 상기 데이터 값에 관한 제2 매핑 정보를 기반으로 상기 제1 데이터와 상기 제2 데이터를 병합하는 데이터 통합부를 포함하는 매쉬업 장치.
  2. 제1항에 있어서,
    상기 제1 및 제2 데이터는 이종 데이터임을 특징으로 하는 매쉬업 장치.
  3. 제1항에 있어서,
    상기 데이터 선택부에서 선택되는 데이터는, API 콜(Application Programming Interface call)을 수행하여 획득한 데이터이거나, 정보 요소 별로 접근하여 획득한 데이터임을 특징으로 하는 매쉬업 장치.
  4. 제1항에 있어서,
    상기 제1 데이터와 상기 제2 데이터를 테스트하여 각 데이터의 데이터 요소와 데이터 값을 확인하는 데이터 확인부를 더 포함하는 매쉬업 장치.
  5. 제4항에 있어서,
    상기 데이터요소 매핑부는, 상기 데이터 확인부에서 확인한 데이터 요소들에 관한 정보를 기반으로 서로 매핑할 데이터 요소를 결정하는 것을 특징으로 하는 매쉬업 장치.
  6. 제1항에 있어서,
    상기 데이터값 매핑부는, 상기 제1 및 제2 데이터 중 적어도 하나의 데이터 값 범위를 지정하여 해당 조건을 만족하는 데이터만을 필터링하는 것을 특징으로 하는 매쉬업 장치.
  7. 제1항에 있어서,
    상기 데이터 통합부는, 상기 제1 데이터의 정보들과 상기 제2 데이터의 정보들 중 필요한 정보만을 선택하여 상기 제1 데이터와 상기 제2 데이터를 병합하는 것을 특징으로 하는 매쉬업 장치.
  8. 제1항에 있어서,
    상기 데이터 통합부에서 병합된 데이터를 단일 API 포맷으로 생성하는 데이터 등록부를 더 포함하는 매쉬업 장치.
  9. 제8항에 있어서,
    상기 데이터 등록부는, 상기 생성된 단일 API 포맷을 기반으로 매쉬업 API를 생성하는 것을 특징으로 하는 매쉬업 장치.
  10. 병합할 제1 데이터와 제2 데이터를 선택하는 단계;
    상기 제1 데이터의 데이터 요소(parameter)와 상기 제2 데이터의 데이터 요소를 매핑(mapping)하는 단계;
    상기 제1 데이터의 데이터 요소에 대응하는 데이터 값(value)과 상기 제2 데이터의 데이터 요소에 대응하는 데이터 값을 매핑하는 단계; 및
    상기 데이터 요소에 관한 제1 매핑 정보와 상기 데이터 값에 관한 제2 매핑 정보를 기반으로 상기 제1 데이터와 상기 제2 데이터를 병합하는 단계를 포함하는 매쉬업 방법.
  11. 청구항 제10항에 따른 방법이 컴퓨터 상에서 수행되도록 하는 프로그램을 기록한 컴퓨터 판독 가능한 기록매체.
KR1020170175994A 2017-12-20 2017-12-20 이종 데이터를 통합하기 위한 매쉬업 방법 및 그 장치 KR102624680B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170175994A KR102624680B1 (ko) 2017-12-20 2017-12-20 이종 데이터를 통합하기 위한 매쉬업 방법 및 그 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170175994A KR102624680B1 (ko) 2017-12-20 2017-12-20 이종 데이터를 통합하기 위한 매쉬업 방법 및 그 장치

Publications (2)

Publication Number Publication Date
KR20190074552A true KR20190074552A (ko) 2019-06-28
KR102624680B1 KR102624680B1 (ko) 2024-01-15

Family

ID=67066320

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170175994A KR102624680B1 (ko) 2017-12-20 2017-12-20 이종 데이터를 통합하기 위한 매쉬업 방법 및 그 장치

Country Status (1)

Country Link
KR (1) KR102624680B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022019745A1 (en) * 2020-07-24 2022-01-27 Mimos Berhad System and method for facilitating consolidation and analysis of time-based instances of data
KR102380518B1 (ko) * 2021-06-22 2022-04-01 한국과학기술정보연구원 이종 데이터 통합 서비스 방법 및 이종 데이터 통합 서비스 시스템

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015084142A1 (en) * 2013-12-03 2015-06-11 Mimos Berhad A system and method for data integration
JP2017041158A (ja) * 2015-08-21 2017-02-23 日本電信電話株式会社 Api変換テーブル生成装置、api変換テーブル生成方法、および、api変換テーブル生成プログラム
KR20170091820A (ko) * 2016-02-01 2017-08-10 주식회사 케이티 매쉬업 서비스 제공 방법 및 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015084142A1 (en) * 2013-12-03 2015-06-11 Mimos Berhad A system and method for data integration
JP2017041158A (ja) * 2015-08-21 2017-02-23 日本電信電話株式会社 Api変換テーブル生成装置、api変換テーブル生成方法、および、api変換テーブル生成プログラム
KR20170091820A (ko) * 2016-02-01 2017-08-10 주식회사 케이티 매쉬업 서비스 제공 방법 및 장치

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022019745A1 (en) * 2020-07-24 2022-01-27 Mimos Berhad System and method for facilitating consolidation and analysis of time-based instances of data
KR102380518B1 (ko) * 2021-06-22 2022-04-01 한국과학기술정보연구원 이종 데이터 통합 서비스 방법 및 이종 데이터 통합 서비스 시스템

Also Published As

Publication number Publication date
KR102624680B1 (ko) 2024-01-15

Similar Documents

Publication Publication Date Title
US11093556B2 (en) Restful operations for semantic IoT
US11606412B2 (en) Bidirectional mapping between applications and network content
US9832076B2 (en) Resource change management in machine to machine network
US20210029011A1 (en) Techniques for infrastructure analysis of internet-based activity
US11822597B2 (en) Geofence-based object identification in an extended reality environment
US11145123B1 (en) Generating extended reality overlays in an industrial environment
US9665649B2 (en) Contextual help article provider
US11630695B1 (en) Dynamic reassignment in a search and indexing system
KR101107319B1 (ko) 오픈 api 기반 웹포털 서비스 제공 방법 및 시스템
US11966384B2 (en) Generating external identifiers for data entities using a data catalog system
US20210357461A1 (en) Method, apparatus and storage medium for searching blockchain data
AU2017237089B2 (en) Technologies for auto discover and connect to a rest interface
US11681707B1 (en) Analytics query response transmission
CN103390018B (zh) 一种基于SDD的Web服务数据建模与搜索方法
CN114064690A (zh) 数据处理方法及装置
US11693710B1 (en) Workload pool hierarchy for a search and indexing system
JP2009037501A (ja) 情報検索装置、情報検索方法およびプログラム
US11461408B1 (en) Location-based object identification and data visualization
KR20190074552A (ko) 이종 데이터를 통합하기 위한 매쉬업 방법 및 그 장치
WO2020024899A1 (zh) 用于搜索区块链数据的方法、装置及存储介质
US9817891B1 (en) System, method, and computer program for creating metadata-based search queries
US8751946B2 (en) Enhanced display of properties for a program object
US11048760B1 (en) Techniques for placing content in and applying layers in an extended reality environment
US9998341B2 (en) Method of constructing data collector, server performing the same and storage medium for the same
KR20180007792A (ko) 클라우드 서비스 기반의 데이터 제공 장치 및 방법

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
GRNT Written decision to grant