KR102164473B1 - 사물 인터넷 시스템에서의 데이터 공유 장치 및 데이터 공유 방법 - Google Patents

사물 인터넷 시스템에서의 데이터 공유 장치 및 데이터 공유 방법 Download PDF

Info

Publication number
KR102164473B1
KR102164473B1 KR1020150120229A KR20150120229A KR102164473B1 KR 102164473 B1 KR102164473 B1 KR 102164473B1 KR 1020150120229 A KR1020150120229 A KR 1020150120229A KR 20150120229 A KR20150120229 A KR 20150120229A KR 102164473 B1 KR102164473 B1 KR 102164473B1
Authority
KR
South Korea
Prior art keywords
data
response
individual
api
standard
Prior art date
Application number
KR1020150120229A
Other languages
English (en)
Other versions
KR20170024778A (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 KR1020150120229A priority Critical patent/KR102164473B1/ko
Publication of KR20170024778A publication Critical patent/KR20170024778A/ko
Application granted granted Critical
Publication of KR102164473B1 publication Critical patent/KR102164473B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0233Object-oriented techniques, for representation of network management data, e.g. common object request broker architecture [CORBA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/024Standardisation; Integration using relational databases for representation of network management data, e.g. managing via structured query language [SQL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities

Abstract

본 출원은 사용자 단말, 데이터 공유 장치 및 개별 데이터 플랫폼을 포함하는 사물 인터넷 시스템에서의 데이터 공유 방법에 관한 것으로서, 데이터 공유 장치가, 사용자 단말로부터 필요 데이터에 대한 요청을 표준 API(Application Program Interface) 형식으로 수신하는 데이터 요청 수신단계; 데이터 공유 장치가, 상기 표준 API를 파싱(parsing)하여 상기 표준 API에 포함된 표준 파라미터들을 추출하는 파싱단계; 데이터 공유 장치가, 기 설정된 변환규칙에 따라, 상기 추출된 표준 파라미터들을 대응하는 개별 데이터 플랫폼의 응답 파라미터로 변환하고, 상기 변환된 응답 파라미터를 이용하여 상기 개별 데이터 플랫폼에 대한 개별 API를 생성하는 개별 API 생성단계; 및 데이터 공유장치가, 상기 개별 API를 이용하여 상기 개별 데이터 플랫폼에게 응답 데이터를 요청하는 개별 API 호출단계를 포함할 수 있다.

Description

사물 인터넷 시스템에서의 데이터 공유 장치 및 데이터 공유 방법 {Data sharing apparatus and method for IoT system}
본 출원은 사물 인터넷 시스템에서의 데이터 공유 장치 및 데이터 공유 방법에 관한 것으로서, 특히 다양한 데이터 플랫폼 사이의 데이터 연동을 지원할 수 있는 사물 인터넷 시스템에서의 데이터 공유 장치 및 데이터 공유 방법에 관한 것이다.
사물 인터넷 시스템은 고유의 기능을 가지는 각 사물이 상호 연결된 망을 구축하여 통신하는 시스템이다. 이 시스템에서는 단일 식별 가능한 모든 종류의 사물이 소형화된 통신모듈을 내장하고 네트워크의 단말 노드로서 동작한다. 이 시스템은 로컬에서 작게는 수십개부터 많게는 수천만 개의 사물로 구축될 수 있다.
사물 인터넷 시스템을 구성하는 사물들은 고유 기능에 따라 자신 주변의 데이터 및 자신과 관련된 데이터를 수집한다. 예를들어 냉방기는 현재 온도와 목표 냉방 온도를 수집할 수 있고, 건물의 출입문은 몇 명의 사람이 지나갔는지 확인할 수 있다. 사물은 데이터를 끊임없이 생산하므로 방대한 양의 데이터가 시스템 내에서 처리된다. 이를 기반으로 사물 인터넷 시스템은 스마트 도시(smart city), 스마트 홈(smart home), 스마트 오피스(smart office), 헬스 케어(health care), 스마트 미터링(smart metering) 등의 다양한 응용 서비스를 제공할 수 있다.
다만, 각각의 사물들이 생성하는 데이터들은 서로 다른 형식과 파라미터를 사용하므로, 이를 활용하여 사물 인터넷 서비스 등을 개발하고자 하는 사용자는, 각각의 사물들이 제공하는 데이터의 형식 등에 대한 정보를 미리 알고 있을 필요가 있다. 그러나, 사용자가 모든 사물들의 데이터 형식 등에 대한 정보를 모두 아는 것은 불가능하며 비효율적인 점에서 문제점이 있다.
또한, 사용자가 여러 종류의 사물들로부터 데이터를 결합한 매쉽업 데이터 등을 활용하고자 하는 경우에 있어서, 서로 다른 사물들이 제공하는 데이터 사이의 연동이 지원되지 않으므로, 매쉬업 데이터 등을 활용한 다양한 사물 인터넷 서비스의 개발 등에 어려움이 있다.
본 출원은, 다양한 데이터 플랫폼 사이의 데이터 연동을 지원할 수 있는 사물 인터넷 시스템에서의 데이터 공유 장치 및 데이터 공유 방법을 제공하고자 한다.
본 발명의 일 실시예에 의한 사물 인터넷 시스템에서의 데이터 공유 방법은, 사용자 단말, 데이터 공유 장치 및 개별 데이터 플랫폼을 포함하는 사물 인터넷 시스템에서의 데이터 공유 방법에 관한 것으로서, 데이터 공유 장치가, 사용자 단말로부터 필요 데이터에 대한 요청을 표준 API(Application Program Interface) 형식으로 수신하는 데이터 요청 수신단계; 데이터 공유 장치가, 상기 표준 API를 파싱(parsing)하여 상기 표준 API에 포함된 표준 파라미터들을 추출하는 파싱단계; 데이터 공유 장치가, 기 설정된 변환규칙에 따라, 상기 추출된 표준 파라미터들을 대응하는 개별 데이터 플랫폼의 응답 파라미터로 변환하고, 상기 변환된 응답 파라미터를 이용하여 상기 개별 데이터 플랫폼에 대한 개별 API를 생성하는 개별 API 생성단계; 및 데이터 공유장치가, 상기 개별 API를 이용하여 상기 개별 데이터 플랫폼에게 응답 데이터를 요청하는 응답 데이터 요청단계를 포함할 수 있다.
여기서, 본 발명의 일 실시예에 의한 사물 인터넷 시스템에서의 데이터 공유 방법은, 데이터 공유 장치가 상기 사용자 단말에 대하여 사용자 인증을 요청하는 사용자 인증확인단계를 더 포함할 수 있다.
여기서 상기 개별 API 생성단계는, 상기 표준 파라미터에 대응하는 각각의 응답 파라미터가 기재된 매핑 테이블(mapping table)을 이용하여, 상기 표준 파라미터들을 상기 응답 파라미터로 변환할 수 있다.
여기서 상기 개별 API 생성단계는, 복수개의 개별 데이터 플랫폼에 대응하는 매핑 테이블을 각각 구비하고, 상기 추출한 표준 파라미터의 종류에 따라, 상기 복수개의 매핑 테이블 중에서 대응하는 매핑 테이블을 선택하여 상기 표준 파라미터를 응답 파라미터로 변환할 수 있다.
여기서 상기 데이터 요청 수신단계는, 데이터 공유 장치가, 복수개의 개별 데이터 플랫폼이 제공하는 각각의 응답 데이터를 결합한 형태의 매쉬업 데이터(mash-up data)에 대한 요청을, 상기 사용자 단말로부터 수신할 수 있다.
여기서, 본 발명의 일 실시예에 의한 사물 인터넷 시스템에서의 데이터 공유 방법은, 데이터 공유 장치가 상기 개별 데이터 플랫폼으로부터 상기 개별 API에 대응하는 응답 데이터를 수신하는 응답 데이터 수신단계; 데이터 공유 장치가 상기 응답 데이터를 파싱하여 각각의 응답 파라미터들을 추출하는 파싱단계; 데이터 공유 장치가 상기 응답 파라미터들을 기 설정된 재변환규칙에 따라 표준 파라미터로 변환하는 재변환단계; 및 데이터 공유 장치가 상기 변환된 표준 파라미터를 이용하여 상기 응답 데이터로부터 표준화된 형식의 필요 데이터를 생성하고, 상기 생성한 필요 데이터를 상기 사용자 단말에게 전송하는 데이터 제공단계를 더 포함할 수 있다.
여기서 상기 재변환단계는, 상기 매핑 테이블(mapping table)을 이용하여, 상기 응답 파라미터들을 상기 표준 파라미터로 변환할 수 있다.
여기서, 본 발명의 일 실시예에 의한 사물 인터넷 시스템에서의 데이터 공유 방법은, 데이터 공유 장치가, 각각의 개별 데이터 플랫폼들로부터 서로 다른 전송주기로 수신한 상기 응답 데이터들을, 상기 사용자 단말이 설정한 응답 주기에 맞게 조정하는 호 처리 단계를 더 포함할 수 있다.
여기서 상기 호 처리 단계는, 상기 응답주기 내에 수신한 상기 응답 데이터의 평균값, 초기값 또는 최후값 중 어느 하나를, 상기 개별 데이터 플랫폼의 응답 데이터로 설정하여 상기 응답주기마다 출력할 수 있다.
여기서 상기 데이터 제공 단계는, 상기 필요 데이터들은 JSON(JavaScript Object Notation) 형식으로 생성하여 전송할 수 있다.
여기서, 본 발명의 다른 실시예에 의한 사물 인터넷 시스템에서의 데이터 공유 방법은, 데이터 공유장치가 상기 개별 데이터 플랫폼으로부터 상기 개별 API에 대응하는 응답 데이터를 수신하는 응답 데이터 수신단계; 데이터 공유 장치가 상기 응답 데이터를 파싱하여 각각의 응답 파라미터 및 상기 응답 파라미터에 대응하는 응답값을 추출하는 파싱단계; 및 데이터 공유 장치가 상기 응답 파라미터와 상기 응답값을 상기 사용자 단말에 제공하여, 상기 사용자 단말이 기 설정된 재변환규칙에 따라 상기 필요 데이터를 생성하도록 하는 데이터 제공단계를 포함하는 것도 가능하다.
본 발명의 일 실시예에 의한 데이터 공유 장치는, 사용자 단말, 데이터 공유 장치 및 개별 데이터 플랫폼을 포함하는 사물 인터넷 시스템에 있어서, 사용자 단말로부터 필요 데이터에 대한 요청을 표준 API(Application Program Interface) 형식으로 수신하는 사용자 인터페이스부; 상기 표준 API를 파싱(parsing)하여 상기 표준 API에 포함된 표준 파라미터들을 추출하는 파싱부; 기 설정된 변환규칙에 따라, 상기 추출된 표준 파라미터들을 대응하는 개별 데이터 플랫폼의 응답 파라미터로 변환하고, 상기 변환된 응답 파라미터를 이용하여 상기 개별 데이터 플랫폼에 대한 개별 API를 생성하는 변환부; 및 상기 개별 API를 이용하여 상기 개별 데이터 플랫폼에게 응답 데이터를 요청하는 개별 API 호출부를 포함하는 데이터 공유 장치일 수 있다.
여기서 상기 변환부는, 상기 표준 파라미터에 대응하는 각각의 응답 파라미터가 기재된 매핑 테이블(mapping table)을 이용하여, 상기 표준 파라미터들을 상기 응답 파라미터로 변환할 수 있다.
여기서 상기 변환부는, 복수개의 개별 데이터 플랫폼에 대응하는 매핑 테이블을 각각 구비하고, 상기 추출한 표준 파라미터의 종류에 따라, 상기 복수개의 매핑 테이블 중에서 대응하는 매핑 테이블을 선택하여 상기 표준 파라미터를 응답 파라미터로 변환할 수 있다.
여기서 상기 사용자 인터페이스부는, 복수개의 개별 데이터 플랫폼이 제공하는 각각의 응답 데이터를 결합한 형태의 매쉬업 데이터(mash-up data)에 대한 요청을, 상기 사용자 단말로부터 수신할 수 있다.
여기서, 본 발명의 일 실시예에 의한 데이터 공유 장치는, 상기 파싱부는, 상기 개별 API에 대응하는 응답 데이터를 상기 개별 데이터 플랫폼으로부터 수신하면, 상기 응답 데이터를 파싱하여 각각의 응답 파라미터를 추출하고, 상기 변환부는, 상기 추출된 응답 파라미터들을 기 설정된 재변환규칙에 따라 표준 파라미터로 변환하여, 상기 응답데이터로부터 표준화된 형식의 필요 데이터를 생성하는 것일 수 있다.
여기서, 상기 변환부는, 상기 필요 데이터들은 JSON(JavaScript Object Notation) 형식으로 생성하고, 상기 사용자 인터페이스부는, 상기 생성한 JSON 형식의 필요 데이터를 상기 사용자 단말에게 전송하는 것일 수 있다.
여기서, 본 발명의 일 실시예에 의한 데이터 공유 장치는, 각각의 개별 데이터 플랫폼들이 서로 다른 전송주기로 상기 응답 데이터들을 전송하면, 상기 사용자 단말에 의해 설정된 응답 주기에 맞게 상기 응답 데이터들을 조정하는 호처리부를 더 포함할 수 있다.
여기서, 상기 호처리부는 상기 응답주기 내에 수신한 상기 응답 데이터의 평균값, 초기값 또는 최후값 중 어느 하나를, 상기 개별 데이터 플랫폼의 응답 데이터로 설정하여 상기 응답주기마다 출력할 수 있다.
여기서, 본 발명의 다른 실시예에 의한 데이터 공유 장치는, 상기 파싱부는, 상기 개별 API에 대응하는 응답 데이터를 상기 개별 데이터 플랫폼으로부터 수신하면, 상기 응답 데이터를 파싱하여 각각의 응답 파라미터 및 상기 응답 파라미터에 대응하는 응답값을 추출하고, 상기 변환부는, 상기 응답 파라미터와 상기 응답값을 상기 사용자 단말에 제공하여, 상기 사용자 단말이 기 설정된 재변환규칙에 따라 상기 필요 데이터를 생성하도록 하는 것일 수 있다.
덧붙여 상기한 과제의 해결수단은, 본 발명의 특징을 모두 열거한 것이 아니다. 본 발명의 다양한 특징과 그에 따른 장점과 효과는 아래의 구체적인 실시형태를 참조하여 보다 상세하게 이해될 수 있을 것이다.
본 발명의 일 실시예에 의한 사물 인터넷 시스템에서의 데이터 공유 장치 및 데이터 공유 방법에 의하면, 다양한 데이터 플랫폼 사이의 데이터 연동을 지원할 수 있다.
본 발명의 일 실시예에 의한 사물 인터넷 시스템에서의 데이터 공유 장치 및 데이터 공유 방법에 의하면, 데이터 공유장치가 등록된 개별 데이터 플랫폼에 대한 검색을 제공하므로, 사용자 단말은 자신이 필요로 하는 개별 데이터 플랫폼을 용이하게 찾을 수 있다.
본 발명의 일 실시예에 의한 사물 인터넷 시스템에서의 데이터 공유 장치 및 데이터 공유 방법에 의하면, 사용자는 표준 API 형식으로 데이터 공유 장치에 요청하여 필요 데이터를 수신할 수 있으며, 개별 데이터 플랫폼의 개별 API 등에 대한 정보가 요구되지 않는다.
본 발명의 일 실시예에 의한 사물 인터넷 시스템에서의 데이터 공유 장치 및 데이터 공유 방법에 의하면, 데이터 공유 장치가 서로 다른 개별 데이터 플랫폼 사이의 연동을 지원하므로, 사용자는 복수개의 개별 데이터 플랫폼이 제공하는 응답 데이터를 결합한 매쉬업 데이터를 용이하게 제공받을 수 있다.
본 발명의 일 실시예에 의한 사물 인터넷 시스템에서의 데이터 공유 장치 및 데이터 공유 방법에 의하면, 개별 데이터 플랫폼이 서로 다른 전송 주기로 응답 데이터를 전송하는 경우에도, 이를 취합하여 사용자가 요구하는 응답 주기에 맞출 수 있다.
도1은 본 발명의 일 실시예에 의한 사물 인터넷 시스템을 나타내는 개략도이다.
도2는 본 발명의 일 실시예에 의한 데이터 공유장치를 이용한 표준 API와 개별 API 사이의 변환을 나타내는 개략도이다.
도3은 본 발명의 일 실시예에 의한 사물 인터넷 시스템에서의 데이터 공유 방법을 나타내는 순서도이다.
이하, 첨부된 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 바람직한 실시예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시예를 상세하게 설명함에 있어, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다. 또한, 유사한 기능 및 작용을 하는 부분에 대해서는 도면 전체에 걸쳐 동일한 부호를 사용한다.
덧붙여, 명세서 전체에서, 어떤 부분이 다른 부분과 '연결'되어 있다고 할 때, 이는 '직접적으로 연결'되어 있는 경우뿐만 아니라, 그 중간에 다른 소자를 사이에 두고 '간접적으로 연결'되어 있는 경우도 포함한다. 또한, 어떤 구성요소를 '포함'한다는 것은, 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있다는 것을 의미한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
도1은 본 발명의 일 실시예에 의한 사물 인터넷 시스템을 개략도이다.
도1을 참조하면, 본 발명의 일 실시예에 의한 사물 인터넷 시스템에는 사용자 단말(10), 개별 데이터 플랫폼(20) 및 데이터 공유 장치(100)가 포함될 수 있다.
이하, 도1을 참조하여, 본 발명의 일 실시예에 의한 사물 인터넷 시스템을 설명한다.
사용자 단말(10)은, 유선 통신망 또는 무선 통신망 등을 이용하여 데이터 공유 장치(100) 등과 통신을 주고 받을 수 있는 단말일 수 있다. 사용자는 사용자 단말(10)을 이용하여 다양한 종류의 데이터들을 수집할 수 있으며, 이를 이용하여 새로운 데이터나 서비스 등을 제공하는 웹(web), 어플리케이션(application) 등을 개발할 수 있다. 여기서, 사용자 단말(10)은 사물 인터넷(Internet of Things)과 관련하여 다양한 개별 데이터 플랫폼(20)의 데이터들을 수집할 수 있으며, 수집한 데이터들을 활용하여 다양한 사물 인터넷 서비스의 개발 등을 수행할 수 있다. 사용자 단말(10)은 PC(Personal Computer), 워크스테이션(workstation), 스마트폰(smart phone), 태블릿 PC(tablet Personal Computer), 노트북 컴퓨터(Notebook Computer), PDA(Personal Digital Assistant) 등일 수 있으며, 실시예에 따라서는, 사물 인터넷 서비스 등의 개발을 위한 전용의 단말장치일 수 있다.
개별 데이터 플랫폼(20)은 사물 인터넷 등과 관련하여 직접 데이터를 생성하거나, 다양한 사물 등으로부터 수신한 데이터 등을 취합하여 제공하는 것일 수 있다. 예를들어, 개별 데이터 플랫폼(20)에는 건물 내의 출입여부 및 도어의 개폐 여부 등을 관리하는 출입관리시스템(21), 건물 내의 에너지 사용과 관련한 정보를 생성하는 건물에너지관리시스템(22), 날씨정보를 제공하는 기상청(23)을 비롯하여, 도로 교통 상황을 제공하는 한국도로공사, 다양한 지리정보 등을 제공하는 구글지도 등이 포함될 수 있다. 이외에도 사물로부터 수신한 다양한 종류의 데이터를 온라인 상으로 제공할 수 있는 것이면 어떠한 것도 상기 개별 데이터 플랫폼(20)에 해당할 수 있다.
다만, 각각의 개별 데이터 플랫폼(20)들이 제공하는 데이터나 지원하는 API(Application Program Interface)들은 서로 상이할 수 있다. 즉, 사용자가 개별 데이터 플랫폼(20)에 대하여 데이터의 제공을 요청하거나, 수신한 데이터들을 활용하기 위해서는, 각각의 개별 데이터 플랫폼(20)이 제공하는 데이터들의 형식이나 파라미터, 개별 데이터 플랫폼(20)이 지원하는 API 등에 대하여 개별적으로 모두 알고 있어야 하는 문제점이 있다. 또한, 서로 다른 개별 데이터 플랫폼(20)들이 제공하는 데이터를 매쉬업(mash-up)하여 활용하는 것이 용이하지 않으며, 사용자가 원하는 데이터를 제공하는 개별 데이터 플랫폼(20)을 찾기에도 어려움이 있다.
여기서, 도1에 도시한 바와 같이, 본 발명의 일 실시예에 의한 사물 인터넷 시스템은 데이터 공유 장치(100)를 구비하는 특징이 있으며, 상기 데이터 공유 장치(100)를 활용하면 상술한 문제점 등을 해결하는 것이 가능하다. 즉, 데이터 공유 장치(100)는 다양한 종류의 개별 데이터 플랫폼(20) 등과 연결될 수 있으며, 사용자는 사용자 단말(10)을 이용하여 데이터 공유 장치(100)에 접속한 후, 원하는 데이터의 종류를 검색하는 방식으로 원하는 데이터를 제공하는 개별 데이터 플랫폼(20)을 검색할 수 있다. 또한, 데이터 공유 장치(100)는, 사용자 단말(10)이 데이터 공유 장치(100)가 제공하는 표준 API 형식으로 데이터를 요청하면, 스스로 표준 API를 각각의 개별 데이터 플랫폼(20)에 대응하는 개별 API 형식으로 변환하여 API 호출을 수행할 수 있다. 따라서, 사용자는 개별 데이터 플랫폼(20)의 개별 API나 데이터 형식, 파라미터 등을 모르는 경우에도 용이하게 데이터 등을 제공받는 것이 가능하다. 나아가, 사용자 단말(10)이 복수개의 개별 데이터 플랫폼(20)이 제공하는 데이터들을 매쉬업한 형태의 매쉬업 데이터를 요청하는 경우에는, 데이터 공유 장치(100)가 해당하는 개별 데이터 플랫폼들에게 응답 데이터들을 요청하고, 이후 수신한 응답 데이터들을 결합하여 사용자가 요청한 매쉬업 데이터의 형태로 제공할 수 있다. 따라서, 사용자는 데이터 공유 장치(100)로부터 용이하게 매쉬업 데이터를 제공받는 것이 가능하다.
구체적으로, 본 발명의 일 실시예에 의한 데이터 공유 장치(100)는, 도1에 도시한 바와 같이, 사용자 인터페이스부(110), 파싱부(120), 변환부(130), 개별 API 호출부(140) 및 호처리부(150)를 포함할 수 있다.
먼저, 사용자 인터페이스부(110)는, 사용자 단말(10)로부터 필요 데이터에 대한 요청을 표준 API(Application Program Interface) 형식으로 수신할 수 있다. 여기서, 표준 API 형식은 데이터 공유 장치(100)에서 설정한 것으로서, 사용자 단말(10)에게 미리 배포한 것일 수 있다. 사용자 인터페이스부(110)가 사용자 단말(10)로부터 수신하는 표준 API는, 예를들어, 건물의 자동온도조절과 관련하여, "www.api.ide.kt.com/feeds/autotemp.json?ID=chungjin&floor=10&time=201506081230&interval=10m&count=&indoor_temp=&outdoor_temp="의 형태로 입력받을 수 있다. 즉, 사용자는 "2015년 6월 8일 12시30분부터 청진 빌딩 10층의 내부온도와 외부온도에 대한 정보와, 환기 등을 위한 도어 개폐횟수를 10분 간격으로 제공할 것"을 데이터 공유 장치(100)에게 요청할 수 있다. 여기서, 빌딩의 내부온도에 대한 정보는 건물에너지관리시스템(22), 외부온도는 기상청(23), 도어 개폐횟수는 출입관리시스템(21)에서 제공 가능하므로, 서로 다른 복수개의 개별 데이터 플랫폼(20)이 제공하는 응답데이터를 결합한 매쉬업 데이터를 요청하는 경우에 해당한다.
한편, 사용자 인터페이스부(110)는 사용자 단말(10)로부터 필요 데이터에 대한 요청을 수신하기 전에, 사용자 단말(10)에 대한 사용자 인증확인을 요청할 수 있다. 즉, 데이터 공유 장치(100)는 미리 회원가입 등을 통하여 등록된 사용자에 한하여 서비스를 제공할 수 있다. 여기서, 사용자 인증확인은 아이디(ID), 비밀번호 입력을 요청하는 방식으로 수행될 수 있다. 사용자 단말(10)은 다양한 종류의 필요 데이터를 사용자 인터페이스부(110)를 통하여 요청할 수 있으며, 복수개의 개별 데이터 플랫폼(20)들이 제공하는 각각의 응답 데이터를 결합한 형태인 매쉬업 데이터를 상기 필요 데이터로 요청하는 것도 가능하다.
파싱부(120)는, 사용자 단말(10)로부터 수신한 표준 API를 파싱(parsing)할 수 있으며, 파싱을 통하여 사용자 단말(10)이 전송한 표준 API에 포함된 표준 파라미터들을 추출할 수 있다. 표준 API의 형식 등은 데이터 공유 장치(100) 측에서 설정한 것이므로, 파싱부(120)는 기 설정된 파싱 규칙에 따라 표준 API를 파싱하여, 상기 표준 API 내에 포함된 표준 파라미터들을 용이하게 추출할 수 있다. 즉, 사용자가 입력한 "www.api.ide.kt.com/feeds/autotemp.json?ID=chungjin&floor=10&time=201506081230&interval=10m&count=&indoor_temp=&outdoor_temp="와 관련하여, 파싱부(120)는 베이스 URL(base URL)과 "ID", "floor", "time", "interval", "count", "indoor_temp", "outdoor_temp" 등을 표준파라미터를 추출할 수 있다.
변환부(130)는, 기 설정된 변환규칙에 따라, 상기 추출된 표준 파라미터들을 대응하는 개별 데이터 플랫폼(20)의 응답 파라미터로 변환할 수 있다. 예를들어, 표준파라미터에서 층수를 나타내는 "floor"는 출입관리시스템(21)의 응답 파라미터인 "floor"와 건물에너지관리시스템(22)의 응답 파라미터인 "F"로 변환할 수 있다. 또한, 표준파라미터에서 외부 온도를 나타내는 "outdoor_temp"는 기상청(23)의 응답 파라미터 "temp"로 변환하고, 표준파라미터에서 내부 온도를 나타내는 "indoor_temp"는 건물에너지관리시스템(22)의 응답파라미터 "temp"로 변환할 수 있다. 여기서, 각각의 표준파라미터를 각각의 개별 데이터 플랫폼(20)에서 사용되는 응답 파라미터로 변환하는 변환규칙은 미리 설정되어 있을 수 있으며, 이는 데이터 공유 장치(100)에 각각의 개별 데이터 플랫폼(20)을 등록할 때 설정할 수 있다. 즉, 개별 데이터 플랫폼(20)을 데이터 공유장치(100)에 등록할 때, 데이터 공유 장치(100)는 개별 데이터 플랫폼(20)의 개별 API와 메타정보 등을 수집, 관리할 수 있다. 이때, 데이터 공유 장치(100)는 수집한 개별 API와 메타정보 등을 이용하여 개별 데이터 플랫폼(20)이 제공하는 데이터에 해당하는 도메인(domain)을 파악할 수 있으며, 각각의 도메인에 대하여 미리 설정한 분류체계(Taxonomy)에 따라, 상기 개별 데이터 플랫폼(20)의 응답 파라미터와 표준 파라미터를 매핑(mapping) 할 수 있다. 이 경우, 표준 파라미터에 대응하는 각각의 응답 파라미터가 기재된 매핑 테이블(mapping table)을 생성할 수 있으며, 매핑 테이블은 각각의 개별 데이터 플랫폼(20)마다 생성될 수 있다. 따라서, 변환부(130)는 상기 매핑 테이블을 활용하여 표준 파라미터를 응답 파라미터로 변환할 수 있다.
여기서, 복수개의 개별 데이터 플랫폼(20)에 대응하는 매핑 테이블이 각각 구비되므로, 사용자 단말(10)이 매쉬업 데이터를 필요 데이터로 요청한 경우에는, 매쉬업을 위해 필요한 각각의 응답 데이터를 제공하는 개별 데이터 플랫폼(20)에 대응하는 매핑 테이블을 이용하여 상기 표준 파라미터를 변환할 수 있다. 예를들어, "2015년 6월 8일 12시30분부터 청진 빌딩 10층의 내부온도와 외부온도에 대한 정보와, 환기 등을 위한 도어 개폐횟수를 10분 간격으로 제공할 것"을 요청하는 "www.api.ide.kt.com/feeds/autotemp.json?ID=chungjin&floor=10&time=201506081230&interval=10m&count=&indoor_temp=&outdoor_temp="를 파싱하여 "ID", "floor", "time", "interval", "count", "indoor_temp", "outdoor_temp" 등의 표준파라미터를 추출한 경우에 있어서, "indoor_temp"는 실내 온도를 의미하는 것으로서 건물에너지관리시스템(22)으로부터 응답 데이터를 제공받을 수 있으므로, 건물에너지관리시스템(22)에 대응하는 매핑 테이블을 이용하여 표준파라미터를 응답 파라미터로 전부 변환할 수 있다. 또한, "outdoor_temp"는 실외 온도를 의미하는 것으로서 기상청(23)으로부터 응답 데이터를 제공받을 수 있으므로 기상청(23)에 대응하는 매핑 테이블을 이용하여 표준파라미터를 응답 파라미터로 전부 변환할 수 있다. 마찬가지로, "count"는 환기 등을 위한 도어 개폐횟수를 의미하는 것으로서 출입관리시스템(21)으로부터 응답 데이터를 제공받을 수 있으므로, 출입관리시스템(21)에 대응하는 매핑 테이블을 이용하여 표준파라미터를 응답파라미터로 전부 변환할 수 있다.
이후, 변환부(130)는 변환된 응답 파라미터를 이용하여 개별 데이터 플랫폼(20)에 대한 개별 API를 생성할 수 있다. 즉, 표준 API를 변환하여 각각의 개별 데이터 플랫폼(20)에서 활용가능한 개별 API를 생성할 수 있다. 예를들어, 출입관리시스템(21)에 대하여는, "https.chungjintower.kt.com /floorcounts.json?ID=cjtower&floor=10&counts=&time=201506081200&interval=10m"으로 생성하고, 건물에너지관리시스템(22)에 대하여는,"https.bems.kt.com/floortemp.json?bid=chungjin/F=10&temp=&time=201506081230&interval=1h"로 생성하고, 기상청(23)에 대하여는, "https.kweather.or.kr/dailylocal.json?local=종로구&temp=&time=201506081230&vinterval=1h"로 생성할 수 있다.
개별 API 호출부(140)에서는, 개별 API를 이용하여 개별 데이터 플랫폼(20)에게 응답 데이터를 요청할 수 있다. 즉, 생성한 개별 API으로 대응하는 개별 데이터 플랫폼(20)을 호출하여, 각각의 응답 데이터를 요청할 수 있다.
이후, 응답 데이터 요청에 대응하여, 개별 데이터 플랫폼(20)들이 응답데이터를 데이터 공유 장치(100)로 제공할 수 있다. 이때, 개별 API 호출부(140)가 각각의 개별 데이터 플랫폼(20)으로부터 응답데이터들을 수신할 수 있으며, 수신한 응답데이터들을 파싱부(120)로 제공할 수 있다.
파싱부(120)는, 수신한 응답 데이터를 파싱하여 각각의 응답 파라미터를 추출할 수 있다. 데이터 공유 장치(100)는 각각의 개별 데이터 플랫폼(20)의 등록시 수집한 개별 데이터 플랫폼(20)의 개별 API와 메타정보 등을 포함하고 있으므로, 이를 바탕으로 응답 데이터에 포함된 응답 파라미터들을 추출할 수 있다. 여기서, 응답데이터에는 응답 파라미터와 상기 응답 파라미터에 대응하는 각각의 응답값들이 포함되어 있을 수 있다. 따라서, 파싱부(120)는 응답 데이터를 파싱하여, 각각의 응답 파라미터와 이에 대응하는 응답값들을 추출할 수 있다. 예를들어, 출입관리시스템(21)이 전송하는 응답 데이터에서, 파싱부(120)는 응답 파라미터인 "ID", "floor", "time", "counts"등을 추출할 수 있으며, "ID"에 대응하는 응답값으로 "cjtower", "floor"에 대응하는 응답값으로 "floor10", "time"에 대응하는 응답값으로 "201506081210", "counts"에 대응하는 응답값으로 "132" 등을 추출할 수 있다. 또한, 건물에너지관리시스템(22)이 전송하는 응답 데이터에는, 응답 파라미터 "bid", "F", "time", "temp" 등이 포함될 수 있으며, "bid"에 대응하는 응답값 "chungjin", "F"에 대응하는 응답값 "10", "time"에 대응하는 응답값 "201506081200", "temp"에 대응하는 응답값 "25°" 등을 추출할 수 있다. 마찬가지로, 기상청(23)이 전송하는 응답 데이터에는, 응답 파라미터 "local"과 이에 대응하는 응답값 "종로구", 응답 파라미터 "time"과 이에 대응하는 응답값 "201506081200", 응답 파라미터 "temp"에 대응하는 응답값 "29°" 등이 포함될 수 있으며, 파싱부(120)는 이들을 각각 분리하여 추출할 수 있다.
이후, 변환부(130)는, 추출된 응답 파라미터들을 기 설정된 재변환규칙에 따라 표준 파라미터로 변환할 수 있으며, 상기 응답데이터로부터 표준화된 형식의 필요 데이터를 생성할 수 있다. 여기서, 변환부(130)는 표준 파라미터와 상기 표준 파라미터에 대응하는 응답 파라미터가 기재된 매핑 테이블을 활용할 수 있다. 즉, 매핑 테이블을 이용하여 응답 파라미터들을 표준 파라미터로 변환할 수 있으며, 변환된 표준 파라미터에 상기 응답값을 결합하여 표준화된 형식의 필요 데이터를 생성할 수 있다. 예를들어, 표준 파라미터가 "ID", "floor", "time", "interval", "count", "indoor_temp", "outdoor_temp"인 경우에 있어서, "ID": "chungjin", "floor": 10, "time": "201506081210", "count": 132, "indoor_temp": 25, "outdoor_temp": 29 등의 필요 데이터를 생성할 수 있다. 여기서, 변환부(130)는, 상기 필요 데이터들은 JSON(JavaScript Object Notation) 형식으로 생성할 수 있으므로, 상기 필요 데이터는 "ID=chungjin&floor=10&time=201506081210&interval=10m&count=132&indoor_temp=25&outdoor_temp=29"로 표시할 수 있다. 변환부(130)에서 생성한 JSON 형식의 필요 데이터는, 사용자 인터페이스부(110)가 사용자 단말(10)에게 전송할 수 있다.
한편, 실시예에 따라서는, 호처리부(150)의 구성을 더 포함할 수 있다. 호처리부(150)는 개별 API 호출부(140)로부터 각각의 개별 데이터 플랫폼(20)의 응답 데이터들을 수신할 수 있으며, 수신한 응답 데이터들을 취합하여 사용자 단말(10)이 설정한 응답주기마다 파싱부(120)로 제공할 수 있다. 즉, 각각의 개별 데이터 플랫폼(20)들이 응답 데이터를 전송하는 전송주기는 서로 상이할 수 있으므로, 호처리부(150)가 먼저 각각의 응답 데이터를 취합할 수 있다. 이후, 호처리부(150)는 수신한 응답 데이터들을 사용자 단말(10)이 요청하는 응답주기에 맞추어 파싱부(120)로 제공함으로써, 데이터 공유 장치(100)가 사용자 단말(10)이 설정한 응답주기에 맞추어 응답 데이터들을 처리하도록 할 수 있다. 예를들어, 사용자 단말(10)이 설정한 응답주기가 1시간이고 개별 데이터 플랫폼(20)이 전송하는 응답 데이터의 전송주기가 10분인 경우에는, 호처리부(150)는 1시간 동안 수신한 6개의 응답 데이터들의 평균값을 파싱부(120)로 1시간마다 제공할 수 있다. 또는, 호처리부(150)가 1시간을 단위로 최초로 수신한 응답 데이터 또는 최후로 수신한 응답 데이터를 파싱부(120)에 제공하는 실시예도 가능하다. 이외에도 다양한 방법으로 호처리부(150)는 수신한 응답 데이터들을 취합하여 파싱부(120) 등을 제공할 수 있다. 따라서, 호처리부(150)를 이용하여, 각각의 개별 데이터 플랫폼(20)들이 전송하는 서로 다른 전송주기의 응답 데이터들을, 사용자 단말(10)에 의해 설정된 응답 주기에 맞게 조정하는 것이 가능하다.
추가적으로, 본 발명의 일 실시예에 의한 데이터 공유장치(100)는, 수신한 응답데이터를 사용자 단말(10)에게 전송할 수 있으며, 사용자 단말(10)이 직접 응답데이터를 필요 데이터로 변환할 수 있다. 즉, 다수의 사용자 단말(10)들이 데이터 공유 장치(100)에 접속하여 각각 필요 데이터 등을 요청하는 경우에는, 데이터 공유 장치(100)에서 과부하가 걸릴 수 있으며, 처리속도도 느려질 수 있다. 이를 방지하기 위하여, 데이터 공유 장치(100)가 응답 데이터를 제공하면 각각의 사용자 단말(10) 측에서 이를 필요 데이터로 변환하도록 하여, 부하를 분산시키는 것이 가능하다.
구체적으로, 본 발명의 일 실시예에 의한 데이터 공유장치(100)의 파싱부(120)는 수신한 응답데이터를 파싱하여 응답 파라미터와 응답값을 추출할 수 있으며, 변환부(130)는 추출한 응답 파라미터 및 응답값과 함께 기 설정된 재변환규칙 등에 대한 정보를 사용자 단말(10)에게 제공할 수 있다. 따라서, 사용자 단말(10)은 수신한 응답 파라미터를 기 설정된 재변환규칙에 따라 표준 파라미터로 변환하고, 대응하는 응답값과 결합하는 방식으로 필요 데이터를 생성할 수 있다. 여기서, 데이터 공유장치(100)는 사용자 단말(10)에 대하여 매핑 테이블 또는 상기 매핑 테이블에 접속할 수 있는 URL 주소 등을 제공할 수 있으며, 사용자 단말(10)은 상기 매핑 테이블을 활용하여 응답 파라미터를 표준 파라미터로 변환할 수 있다.
도2는 본 발명의 일 실시예에 의한 데이터 공유장치(100)를 이용하여, 사용자단말(10)이 입력한 표준 API를 개별 API로 변환하는 예시를 나타내고 있다. 구체적으로, 사용자 단말(10)은 "https://api.ide.com/v2/feeds/gas.json?domain_state=&device_conn_stat="을 입력하여, "현재 밸브의 개폐여부와 접속상태"의 필요 데이터를 표준 API 형식으로 입력하였다. 데이터 공유 장치(100)는 파싱을 이용하여 "domain_state", "device_conn_stat"를 표준 파라미터로 추출할 수 있으며, 이후 각각의 표준 파라미터를 기 설정된 매핑 테이블을 활용하여 응답 파라미터로 변환할 수 있다. 여기서, 사용자 단말(10)이 요청하는 것은 가스의 공급과 관련된 것이므로, 한국가스공사에 대하여 응답 데이터를 요청할 수 있으며, 이를 위해 상기 표준 파라미터들을 한국가스공사의 응답 파라미터로 변환할 수 있다. 구체적으로, 한국가스공사에 대한 매핑 테이블(T1)를 활용하여 변환을 수행할 수 있으며, 매핑 테이블(T1)에 의하면, 표준 파라미터 "domain_state"에 대응하는 응답 파라미터는 "50992503"이고 "device_conn_stat"에 대응하는 응답 파라미터는 "82000001"이다. 따라서, 데이터 공유 장치(100)는 표준 파라미터를 응답 파라미터로 변환하여, 개별 API를 "https://kogas.or.kr/v2/feeds/gas.json?50992503=&82000001="로 변환할 수 있다.
이후, 한국가스공사는 데이터 공유 장치(100)가 전송한 개별 API에 대응하여, 다음과 같은 응답 데이터를 전송할 수 있다.
{
"id":121601
"feed":"https://kogas.or.kr/v2/feeds/gas.json",
"version":"1.0.0"
"50992503":"velve_open"
"82000001":"connection"
}
응답 데이터를 수신한 데이터 공유 장치(100)는 이를 파싱하여, 응용 파라미터 "id", "feed", "version", "50992503", "8200001"와, 응답값 "121601", "https://kogas.or.kr/v2/feeds/gas.json", "1.0.0", "velve_open", "connection"을 각각 추출할 수 있다. 이후, 다시 매핑 테이블을 이용하여, 응답 파라미터 "50992503", "8200001"를 표준 파라미터 "domain_state", "device_conn_stat"로 각각 변환한 후, 응답값과 결합하여 다음과 같dms 필요 데이터를 생성할 수 있다.
{
"id":121601
"feed":"https://api.ide.com/v2/feeds/gas.json",
"version":"1.0.0"
"domain_state":"velve_open"
"device_conn_stat":"connection"
}
도3은 본 발명의 일 실시예에 의한 사물 인터넷 시스템에서의 데이터 공유 방법을 나타내는 순서도이다.
도3을 참조하면, 본 발명의 일 실시예에 의한 사물 인터넷 시스템에서의 데이터 공유 방법은, 요청단계(S100) 및 응답단계(S200)를 포함할 수 있다. 여기서, 요청단계(S100)에는, 사용자 인증확인단계(S110), 데이터 요청 수신단계(120), 파싱단계(S130), 개별 API 생성단계(S140) 및 개별 API 호출단계(S150)가 포함될 수 있다. 또한, 응답단계(S200)에서는 응답 데이터 수신단계(S210), 호처리단계(S220), 파싱단계(S230), 재변환단계(S240) 및 데이터 제공단계(S250)를 포함할 수 있다.
이하, 도3을 참조하여 본 발명의 일 실시예에 의한 사물 인터넷 시스템에서의 데이터 공유 방법을 설명한다.
먼저, 요청단계(S100)에서는, 사용자 단말의 요청에 따라, 데이터 공유 장치가 각각의 개별 데이터 플랫폼으로 응답 데이터를 요청할 수 있다. 구체적으로, 요청단계(S100)에는, 사용자 인증확인단계(S110), 데이터 요청 수신단계(120), 파싱단계(S130), 개별 API 생성단계(S140) 및 개별 API 호출단계(S150)가 포함될 수 있다.
사용자 인증확인단계(S110)에서는, 데이터 공유 장치가 사용자 단말에 대하여 사용자 인증을 요청할 수 있다. 즉, 사용자 단말로부터 필요 데이터에 대한 요청을 수신하기 전에, 사용자 단말에 대한 사용자 인증확인을 요청할 수 있다. 따라서, 데이터 공유 장치는 미리 회원가입 등을 통하여 등록된 사용자에 한하여 서비스를 제공할 수 있으며, 사용자 인증확인은 아이디(ID), 비밀번호 입력을 요청하는 방식으로 수행될 수 있다.
데이터 요청 수신 단계(S120)에서는, 데이터 공유 장치가 사용자 단말로부터 필요 데이터에 대한 요청을 표준 API(Application Program Interface) 형식으로 수신할 수 있다. 여기서, 표준 API 형식은 데이터 공유 장치에서 설정한 것으로서, 사용자 단말에게 미리 배포된 것일 수 있다. 실시예에 따라서는, 복수개의 개별 데이터 플랫폼이 제공하는 각각의 응답 데이터를 결합한 형태의 매쉬업 데이터(mash-up data)에 대한 요청을 수신할 수도 있다.
파싱단계(S130)에서는, 데이터 공유 장치가 상기 표준 API를 파싱(parsing)하여 상기 표준 API에 포함된 표준 파라미터들을 추출할 수 있다. 표준 API의 형식 등은 데이터 공유 장치 측에서 설정한 것이므로, 기 설정된 파싱 규칙에 따라 표준 API를 파싱하면, 표준 파라미터들을 용이하게 추출할 수 있다.
개별 API 생성단계(S140)에서는, 데이터 공유 장치가 기 설정된 변환규칙에 따라, 상기 추출된 표준 파라미터들을 대응하는 개별 데이터 플랫폼의 응답 파라미터로 변환할 수 있다. 여기서, 각각의 표준파라미터를 각각의 개별 데이터 플랫폼에서 사용되는 응답 파라미터로 변환하는 변환규칙이 미리 설정될 수 있으며, 상기 변환규칙은 개별 데이터 플랫폼을 데이터 공유 장치에 등록할 때 설정될 수 있다. 즉, 개별 데이터 플랫폼이 데이터 공유장치에 등록할 때, 데이터 공유장치는 개별 데이터 플랫폼의 개별 API와 메타정보 등을 수집할 수 있으며, 이때 수집한 개별 API와 메타정보 등을 이용하면 개별 데이터 플랫폼이 제공하는 데이터에 해당하는 도메인(domain)을 파악할 수 있다. 따라서, 각각의 도메인에 대하여 미리 설정한 분류체계(Taxonomy)에 따라, 응답 파라미터와 표준 파라미터를 매핑(mapping) 할 수 있으며, 이를 바탕으로 표준 파라미터에 대응하는 각각의 응답 파라미터가 기재된 매핑 테이블(mapping table)을 미리 생성해둘 수 있다. 여기서, 매핑 테이블은 각각의 개별 데이터 플랫폼마다 생성될 수 있으며, 개별 API 생성단계(S140)에서는 상기 매핑 테이블을 활용하여 표준 파라미터를 응답 파라미터로 변환할 수 있다. 이후, 개별 API 생성단계(S140)에서는, 변환된 응답 파라미터를 이용하여 개별 데이터 플랫폼에 대한 개별 API를 생성할 수 있다. 즉, 표준 API를 변환하여 각각의 개별 데이터 플랫폼에서 활용가능한 개별 API를 생성할 수 있다.
개별 API 호출단계(S150)에서는, 데이터 공유장치가 개별 API를 이용하여 개별 데이터 플랫폼에게 응답 데이터를 요청할 수 있다. 즉, 생성한 개별 API으로 대응하는 개별 데이터 플랫폼을 호출하여, 각각의 응답 데이터를 요청할 수 있다.
한편, 응답단계(200)에서는 개별 데이터 플랫폼으로부터 응답 데이터를 수신할 수 있으며, 수신한 응답 데이터를 필수 데이터 형식으로 재변환하여 사용자 단말에게 제공할 수 있다. 구체적으로, 응답단계(S200)에는 응답 데이터 수신단계(S210), 호처리단계(S220), 파싱단계(S230), 재변환단계(S240) 및 데이터 제공단계(S250)가 포함될 수 있다.
응답 데이터 수신단계(S210)에서는, 데이터 공유 장치가 개별 데이터 플랫폼으로부터, 개별 API에 대응하는 응답 데이터를 수신할 수 있다. 여기서, 응답 데이터는 각각의 개별 데이터 플랫폼이 지원하는 개별 API의 형식으로 제공되므로, 표준 API 형식 등과는 상이할 수 있다. 또한, 개별 데이터 플랫폼이 제공하는 응답 데이터의 전송주기는 사용자 단말이 데이터 공유 장치에 요청한 응답주기와는 상이할 수 있다. 특히, 매쉬업 데이터 등과 같이, 복수개의 개별 데이터 플랫폼으로부터 응답 데이터를 수신하는 경우에는, 각각의 개별 데이터 플랫폼들이 제공하는 응답 데이터의 전송주기도 서로 상이할 수 있다. 따라서, 사용자 단말이 설정한 응답주기에 맞추어 필요 데이터를 사용자 단말에게 제공하기 위해서는, 각각의 개별 데이터 플랫폼이 제공하는 응답 데이터들을 취합하여 조정할 필요가 있다.
이를 위하여, 본 발명의 일 실시예에 의한 데이터 공유 방법은, 호처리단계(S220)를 포함할 수 있다. 호처리단계(S220)에서는, 개별 데이터 플랫폼이 제공하는 각각의 응답 데이터를 취합할 수 있으며, 취합한 응답 데이터들을 조정하여 사용자 단말이 요청하는 응답주기에 맞추어 파싱단계(S230) 등으로 진행하도록 할 수 있다. 구체적으로, 호처리단계(S220)에서는, 응답주기 내에 수신한 응답 데이터들의 평균값을 응답주기마다 응답 데이터로 출력하거나, 응답주기 내에 수신한 응답 데이터의 초기값 또는 최후값을 상기 개별 데이터 플랫폼의 응답 데이터로 설정하여 응답주기마다 출력할 수 있다. 예를들어, 사용자 단말이 설정한 응답주기가 1시간이고 개별 데이터 플랫폼이 전송하는 응답 데이터의 전송주기가 10분인 경우에는, 1시간 동안 수신한 6개의 응답 데이터들의 평균값을 1시간마다 응답 데이터로 출력할 수 있다. 또는, 1시간을 기준으로 최초로 수신한 응답 데이터를 1시간마다 출력하거나, 1시간을 기준으로 최후에 수신한 응답 데이터를 1시간마다 출력할 수 있다.
파싱단계(S230)에서는, 데이터 공유 장치가 상기 응답 데이터를 파싱하여 각각의 응답 파라미터들을 추출할 수 있다. 데이터 공유 장치는 각각의 개별 데이터 플랫폼의 등록시 수집한 개별 API와 메타정보 등을 포함하고 있으므로, 기 설정된 파싱 규칙을 이용하면, 응답 데이터에 포함된 응답 파라미터들을 추출할 수 있다. 여기서, 응답 데이터에는 응답 파라미터와 상기 응답 파라미터에 대응하는 각각의 응답값들이 포함되어 있을 수 있다. 따라서, 파싱단계(S230)에서는 입력되는 응답 데이터를 파싱하여, 각각의 응답 파라미터와 이에 대응하는 응답값들을 추출할 수 있다.
재변환단계(S240)에서는, 데이터 공유 장치가 상기 응답 파라미터들을 기 설정된 재변환규칙에 따라 표준 파라미터로 변환할 수 있다. 여기서, 재변환부단계(S240)는 표준 파라미터와 상기 표준 파라미터에 대응하는 응답 파라미터가 기재된 매핑 테이블을 활용할 수 있다. 즉, 매핑 테이블을 이용하여 응답 파라미터들을 표준 파라미터로 변환할 수 있으며, 변환된 표준 파라미터에 상기 응답값을 결합하여 표준화된 형식의 필요 데이터를 생성할 수 있다.
데이터 제공단계(S250)에서는, 데이터 공유 장치가 변환된 표준 파라미터를 이용하여 응답 데이터로부터 표준화된 형식의 필요 데이터를 생성할 수 있다. 이후, 생성한 필요 데이터는 사용자 단말에게 전송할 수 있으며, 상기 필요 데이터들은 JSON(JavaScript Object Notation) 형식으로 생성될 수 있다.
추가적으로, 본 발명의 일 실시예에 의한 데이터 공유 방법은, 수신한 응답데이터를 사용자 단말에게 전송하여, 사용자 단말이 직접 응답데이터를 필요 데이터로 변환하도록 할 수 있다. 즉, 다수의 사용자 단말들이 데이터 공유 장치에 접속하여 각각 필요 데이터 등을 요청하는 경우에는, 데이터 공유 장치에서 과부하가 걸릴 수 있으며, 처리속도도 느려질 수 있다. 이를 방지하기 위하여, 본 발명의 일 실시예에 의한 데이터 공유 방법은, 데이터 공유 장치가 응답 데이터를 제공하면 각각의 사용자 단말 측에서 이를 필요 데이터로 변환하도록 하여, 부하를 분산시킬 수 있다.
구체적으로, 본 발명의 일 실시예에 의한 데이터 공유 방법의 응답단계(S200)에서, 응답 데이터 수신단계(S210)는 개별 데이터 플랫폼으로부터 개별 API에 대응하는 응답 데이터를 수신하고, 파싱단계(S220)는 응답 데이터를 파싱하여 각각의 응답 파라미터 및 상기 응답 파라미터에 대응하는 응답값을 추출할 수 있다. 이후, 데이터 제공단계(S230)에서, 응답 파라미터와 응답값을 사용자 단말에 제공함으로써, 사용자 단말이 기 설정된 재변환규칙에 따라 필요 데이터를 생성하도록 할 수 있다. 즉, 사용자 단말은 수신한 응답 파라미터를 기 설정된 재변환규칙에 따라 표준 파라미터로 변환하고, 대응하는 응답값과 결합하는 방식으로 필요 데이터를 생성할 수 있다. 특히, 데이터 제공단계(S230)에서 데이터 공유장치는, 사용자 단말에게 매핑 테이블 또는 상기 매핑 테이블에 접속할 수 있는 URL 주소 등을 제공하여, 사용자 단말이 상기 매핑 테이블을 활용하여 응답 파라미터를 표준 파라미터로 변환하도록 할 수 있다.
본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다. 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 본 발명에 따른 구성요소를 치환, 변형 및 변경할 수 있다는 것이 명백할 것이다.
10: 사용자 단말 20: 개별 데이터 플랫폼
21: 출입관리시스템 22: 건물에너지관리시스템
23: 기상청 100: 데이터 공유장치
110: 사용자 인터페이스부 120: 파싱부
130: 변환부 140: 개별 API 호출부
150: 호처리부
S100: 요청단계 S110: 사용자 인증확인단계
S120: 데이터 요청수신단계 S130: 파싱단계
S140: 개별 API 생성단계 S150: 개별 API 호출단계
S200: 응답단계 S210: 응답 데이터 수신단계
S220: 호처리단계 S230: 파싱단계
S240: 재변환단계 S250: 데이터 제공단계

Claims (20)

  1. 사용자 단말, 데이터 공유 장치 및 개별 데이터 플랫폼을 포함하는 사물 인터넷 시스템에서의 데이터 공유 방법에 관한 것으로서,
    데이터 공유 장치가, 사용자 단말로부터 필요 데이터에 대한 요청을 표준 API(Application Program Interface) 형식으로 수신하는 데이터 요청 수신단계;
    데이터 공유 장치가, 상기 표준 API를 파싱(parsing)하여 상기 표준 API에 포함된 표준 파라미터들을 추출하는 파싱단계;
    데이터 공유 장치가, 기 설정된 변환규칙에 따라, 상기 추출된 표준 파라미터들을 대응하는 개별 데이터 플랫폼의 응답 파라미터로 변환하고, 상기 변환된 응답 파라미터를 이용하여 상기 개별 데이터 플랫폼에 대한 개별 API를 생성하는 개별 API 생성단계;
    데이터 공유장치가, 상기 개별 API를 이용하여 상기 개별 데이터 플랫폼에게 응답 데이터를 요청하는 개별 API 호출단계;
    데이터 공유 장치가, 상기 개별 데이터 플랫폼으로부터 상기 개별 API에 대응하는 응답 데이터를 수신하는 응답 데이터 수신단계;
    데이터 공유 장치가, 상기 응답 데이터를 파싱하여 각각의 응답 파라미터들 및 이에 대응하는 응답값을 추출하는 파싱단계;
    데이터 공유 장치가, 상기 응답 파라미터들을 기 설정된 재변환규칙에 따라 표준 파라미터로 변환하는 재변환단계; 및
    데이터 공유 장치가, 상기 변환된 표준 파라미터와 상기 응답값을 결합하여 상기 응답 데이터로부터 표준화된 형식의 필요 데이터를 생성하고, 상기 생성한 필요 데이터를 상기 사용자 단말에게 전송하는 데이터 제공단계를 포함하는 사물 인터넷 시스템에서의 데이터 공유 방법.
  2. 제1항에 있어서,
    데이터 공유 장치가, 상기 사용자 단말에 대하여 사용자 인증을 요청하는 사용자 인증확인단계를 더 포함하는 사물 인터넷 시스템에서의 데이터 공유 방법.
  3. 제1항에 있어서, 상기 개별 API 생성단계는
    상기 표준 파라미터에 대응하는 각각의 응답 파라미터가 기재된 매핑 테이블(mapping table)을 이용하여, 상기 표준 파라미터들을 상기 응답 파라미터로 변환하는 사물 인터넷 시스템에서의 데이터 공유 방법.
  4. 제3항에 있어서, 상기 개별 API 생성단계는
    복수개의 개별 데이터 플랫폼에 대응하는 매핑 테이블을 각각 구비하고, 상기 추출한 표준 파라미터의 종류에 따라, 상기 복수개의 매핑 테이블 중에서 대응하는 매핑 테이블을 선택하여 상기 표준 파라미터를 응답 파라미터로 변환하는 사물 인터넷 시스템에서의 데이터 공유 방법.
  5. 제1항에 있어서, 상기 데이터 요청 수신단계는
    데이터 공유 장치가, 복수개의 개별 데이터 플랫폼이 제공하는 각각의 응답 데이터를 결합한 형태의 매쉬업 데이터(mash-up data)에 대한 요청을, 상기 사용자 단말로부터 수신하는 사물 인터넷 시스템에서의 데이터 공유 방법.
  6. 삭제
  7. 제1항에 있어서, 상기 재변환단계는
    상기 표준 파라미터에 대응하는 각각의 응답 파라미터가 기재된 매핑 테이블(mapping table)을 이용하여, 상기 응답 파라미터들을 상기 표준 파라미터로 변환하는 사물 인터넷 시스템에서의 데이터 공유 방법.
  8. 제1항에 있어서,
    데이터 공유 장치가, 각각의 개별 데이터 플랫폼들로부터 서로 다른 전송주기로 수신한 상기 응답 데이터들을, 상기 사용자 단말이 설정한 응답 주기에 맞게 조정하는 호 처리 단계를 더 포함하는 사물 인터넷 시스템에서의 데이터 공유 방법.
  9. 제8항에 있어서, 상기 호 처리 단계는
    상기 응답주기 내에 수신한 상기 응답 데이터의 평균값, 초기값 또는 최후값 중 어느 하나를, 상기 개별 데이터 플랫폼의 응답 데이터로 설정하여 상기 응답주기마다 출력하는 사물 인터넷 시스템에서의 데이터 공유 방법.
  10. 제1항에 있어서, 상기 데이터 제공 단계는
    상기 필요 데이터들은 JSON(JavaScript Object Notation) 형식으로 생성하여 전송하는 사물 인터넷 시스템에서의 데이터 공유 방법.
  11. 사용자 단말, 데이터 공유 장치 및 개별 데이터 플랫폼을 포함하는 사물 인터넷 시스템에서의 데이터 공유 방법에 관한 것으로서,
    데이터 공유 장치가, 사용자 단말로부터 필요 데이터에 대한 요청을 표준 API(Application Program Interface) 형식으로 수신하는 데이터 요청 수신단계;
    데이터 공유 장치가, 상기 표준 API를 파싱(parsing)하여 상기 표준 API에 포함된 표준 파라미터들을 추출하는 파싱단계;
    데이터 공유 장치가, 기 설정된 변환규칙에 따라, 상기 추출된 표준 파라미터들을 대응하는 개별 데이터 플랫폼의 응답 파라미터로 변환하고, 상기 변환된 응답 파라미터를 이용하여 상기 개별 데이터 플랫폼에 대한 개별 API를 생성하는 개별 API 생성단계;
    데이터 공유장치가, 상기 개별 API를 이용하여 상기 개별 데이터 플랫폼에게 응답 데이터를 요청하는 개별 API 호출단계;
    데이터 공유장치가, 상기 개별 데이터 플랫폼으로부터 상기 개별 API에 대응하는 응답 데이터를 수신하는 응답 데이터 수신단계;
    데이터 공유 장치가, 상기 응답 데이터를 파싱하여 각각의 응답 파라미터 및 상기 응답 파라미터에 대응하는 응답값을 추출하는 파싱단계; 및
    데이터 공유 장치가, 상기 응답 파라미터와 상기 응답값을 상기 사용자 단말에 제공하여, 상기 사용자 단말이 기 설정된 재변환규칙에 따라 상기 응답 파라미터를 표준 파라미터로 변환하고 변환된 표준 파라미터와 상기 응답값을 결합하여 상기 필요 데이터를 생성하도록 하는 데이터 제공단계를 포함하는 사물 인터넷 시스템에서의 데이터 공유 방법.
  12. 사용자 단말, 데이터 공유 장치 및 개별 데이터 플랫폼을 포함하는 사물 인터넷 시스템에 있어서,
    사용자 단말로부터 필요 데이터에 대한 요청을 표준 API(Application Program Interface) 형식으로 수신하는 사용자 인터페이스부;
    상기 표준 API를 파싱(parsing)하여 상기 표준 API에 포함된 표준 파라미터들을 추출하는 파싱부;
    기 설정된 변환규칙에 따라, 상기 추출된 표준 파라미터들을 대응하는 개별 데이터 플랫폼의 응답 파라미터로 변환하고, 상기 변환된 응답 파라미터를 이용하여 상기 개별 데이터 플랫폼에 대한 개별 API를 생성하는 변환부; 및
    상기 개별 API를 이용하여 상기 개별 데이터 플랫폼에게 응답 데이터를 요청하는 개별 API 호출부를 포함하고,
    상기 파싱부는, 상기 개별 API에 대응하는 응답 데이터를 상기 개별 데이터 플랫폼으로부터 수신하면, 상기 응답 데이터를 파싱하여 각각의 응답 파라미터들 및 및 이에 대응하는 응답값을 추출하고,
    상기 변환부는, 상기 추출된 응답 파라미터들을 기 설정된 재변환규칙에 따라 표준 파라미터로 변환하고, 상기 변환된 표준 파라미터와 상기 응답값을 결합하여 상기 응답데이터로부터 표준화된 형식의 필요 데이터를 생성하는 데이터 공유 장치.
  13. 제12항에 있어서, 상기 변환부는
    상기 표준 파라미터에 대응하는 각각의 응답 파라미터가 기재된 매핑 테이블(mapping table)을 이용하여, 상기 표준 파라미터들을 상기 응답 파라미터로 변환하는 데이터 공유 장치.
  14. 제13항에 있어서, 상기 변환부는
    복수개의 개별 데이터 플랫폼에 대응하는 매핑 테이블을 각각 구비하고, 상기 추출한 표준 파라미터의 종류에 따라, 상기 복수개의 매핑 테이블 중에서 대응하는 매핑 테이블을 선택하여 상기 표준 파라미터를 응답 파라미터로 변환하는 데이터 공유 장치.
  15. 제12항에 있어서, 상기 사용자 인터페이스부는
    복수개의 개별 데이터 플랫폼이 제공하는 각각의 응답 데이터를 결합한 형태의 매쉬업 데이터(mash-up data)에 대한 요청을, 상기 사용자 단말로부터 수신하는 데이터 공유 장치.
  16. 삭제
  17. 제12항에 있어서,
    상기 변환부는, 상기 필요 데이터들은 JSON(JavaScript Object Notation) 형식으로 생성하고,
    상기 사용자 인터페이스부는, 상기 생성한 JSON 형식의 필요 데이터를 상기 사용자 단말에게 전송하는 데이터 공유 장치.
  18. 제12항에 있어서,
    각각의 개별 데이터 플랫폼들이 서로 다른 전송주기로 상기 응답 데이터들을 전송하면, 상기 사용자 단말에 의해 설정된 응답 주기에 맞게 상기 응답 데이터들을 조정하는 호처리부를 더 포함하는 데이터 공유 장치.
  19. 제18항에 있어서, 상기 호처리부는
    상기 응답주기 내에 수신한 상기 응답 데이터의 평균값, 초기값 또는 최후값 중 어느 하나를, 상기 개별 데이터 플랫폼의 응답 데이터로 설정하여 상기 응답주기마다 출력하는 데이터 공유 장치.
  20. 사용자 단말, 데이터 공유 장치 및 개별 데이터 플랫폼을 포함하는 사물 인터넷 시스템에 있어서,
    사용자 단말로부터 필요 데이터에 대한 요청을 표준 API(Application Program Interface) 형식으로 수신하는 사용자 인터페이스부;
    상기 표준 API를 파싱(parsing)하여 상기 표준 API에 포함된 표준 파라미터들을 추출하는 파싱부;
    기 설정된 변환규칙에 따라, 상기 추출된 표준 파라미터들을 대응하는 개별 데이터 플랫폼의 응답 파라미터로 변환하고, 상기 변환된 응답 파라미터를 이용하여 상기 개별 데이터 플랫폼에 대한 개별 API를 생성하는 변환부; 및
    상기 개별 API를 이용하여 상기 개별 데이터 플랫폼에게 응답 데이터를 요청하는 개별 API 호출부를 포함하고,
    상기 파싱부는, 상기 개별 API에 대응하는 응답 데이터를 상기 개별 데이터 플랫폼으로부터 수신하면, 상기 응답 데이터를 파싱하여 각각의 응답 파라미터 및 상기 응답 파라미터에 대응하는 응답값을 추출하고,
    상기 변환부는, 상기 응답 파라미터와 상기 응답값을 상기 사용자 단말에 제공하여, 상기 사용자 단말이 기 설정된 재변환규칙에 따라 상기 응답 파라미터를 표준 파라미터로 변환하고 변환된 표준 파라미터와 상기 응답값을 결합하여 상기 필요 데이터를 생성하도록 하는 데이터 공유 장치.
KR1020150120229A 2015-08-26 2015-08-26 사물 인터넷 시스템에서의 데이터 공유 장치 및 데이터 공유 방법 KR102164473B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150120229A KR102164473B1 (ko) 2015-08-26 2015-08-26 사물 인터넷 시스템에서의 데이터 공유 장치 및 데이터 공유 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150120229A KR102164473B1 (ko) 2015-08-26 2015-08-26 사물 인터넷 시스템에서의 데이터 공유 장치 및 데이터 공유 방법

Publications (2)

Publication Number Publication Date
KR20170024778A KR20170024778A (ko) 2017-03-08
KR102164473B1 true KR102164473B1 (ko) 2020-10-12

Family

ID=58404184

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150120229A KR102164473B1 (ko) 2015-08-26 2015-08-26 사물 인터넷 시스템에서의 데이터 공유 장치 및 데이터 공유 방법

Country Status (1)

Country Link
KR (1) KR102164473B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11316683B2 (en) * 2019-11-18 2022-04-26 Ciot Systems and methods for providing IoT security service using hardware security module

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116048517B (zh) * 2023-03-31 2023-08-01 杭州城市大数据运营有限公司 基于b/s架构应用系统的api接口生成方法、系统和装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5631879B2 (ja) * 2008-07-28 2014-11-26 ソニー株式会社 ネットワークサービスにアクセスするクライアントデバイス及び関連方法
KR101331854B1 (ko) * 2009-12-18 2013-11-21 한국전자통신연구원 오픈 api 통합 검색 및 매쉬업 블록 기반코드 생성 장치 및 그 방법
KR102075386B1 (ko) * 2013-11-28 2020-02-11 한국전자통신연구원 대용량 순차 수집 데이터 처리를 위한 프레임워크 제공장치 및 이의 데이터 처리방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11316683B2 (en) * 2019-11-18 2022-04-26 Ciot Systems and methods for providing IoT security service using hardware security module

Also Published As

Publication number Publication date
KR20170024778A (ko) 2017-03-08

Similar Documents

Publication Publication Date Title
Santos et al. A personal connected health system for the Internet of Things based on the Constrained Application Protocol
US11805166B2 (en) Enhanced M2M content management based on interest
CN104751030A (zh) 一种用户访问权限控制方法及装置
CN108023883B (zh) 一种设备授权管理方法及装置
CN105185085A (zh) 数据通信系统、方法及装置
WO2016065842A1 (zh) M2m群组及其通告资源创建、信息交互方法和存储介质
US20180097903A1 (en) Method and system for brokering between devices and network services
Stojmenovic et al. Inaugural issue of ‘cyber-physical systems’
KR102164473B1 (ko) 사물 인터넷 시스템에서의 데이터 공유 장치 및 데이터 공유 방법
Bellido-Outeirino et al. M2M home data interoperable management system based on MQTT
US11797458B2 (en) Terminal management device and terminal device
Munisamy et al. IoT Based Energy Management System (EMS) Using SOFAT Technique for Smart Grid Distribution System
KR101744104B1 (ko) 비콘을 이용한 위치기반 소셜네트워킹 방법
KR20150027437A (ko) 멀티스크린 소셜 네트워크 구축 방법 및 시스템
Hoefling et al. jOSEF: A Java-Based Open-Source Smart Meter Gateway Experimentation Framework
KR102000199B1 (ko) 사물 인터넷 플랫폼 서비스 제공 방법 및 서버장치
Teixeira et al. Data access mechanism to allow multiple level permissions in energy management solutions supported by IoT devices
KR20160036690A (ko) 다중 M2M/IoT 디바이스들과 연계된 M2M/IoT 디바이스를 취급하기 위한 멀티 링크 메카니즘
CN103347067B (zh) 一种远程控制重构方法及系统
CN103796342B (zh) 属性信息的显示系统和路由器
Dharaskar et al. A REVIEW ON FOG: A FUTURE SUPPORT FOR CLOUD COMPUTING
KR101939066B1 (ko) 전력설비 사물인터넷 인터페이싱 장치, 마이크로 그리드 미들웨어 시스템 및 컴퓨터 판독가능 기록 매체
US20140067952A1 (en) Server and method for providing collaboration service, and sociality management server
KR101557414B1 (ko) 이종 시스템간의 메시지 통신 중계장치 및 그 방법
US20190197596A1 (en) System, apparatus, and method for integrating a plurality of supplier systems

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant