KR102035706B1 - 신재생에너지의 발전량 데이터를 모니터링하는 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 변형 방법 및 신재생에너지의 발전량 데이터를 모니터링하기 위한 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 전송 시스템 - Google Patents

신재생에너지의 발전량 데이터를 모니터링하는 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 변형 방법 및 신재생에너지의 발전량 데이터를 모니터링하기 위한 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 전송 시스템 Download PDF

Info

Publication number
KR102035706B1
KR102035706B1 KR1020180000601A KR20180000601A KR102035706B1 KR 102035706 B1 KR102035706 B1 KR 102035706B1 KR 1020180000601 A KR1020180000601 A KR 1020180000601A KR 20180000601 A KR20180000601 A KR 20180000601A KR 102035706 B1 KR102035706 B1 KR 102035706B1
Authority
KR
South Korea
Prior art keywords
data
metamodel
packet
meta
key table
Prior art date
Application number
KR1020180000601A
Other languages
English (en)
Other versions
KR20190088112A (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 KR1020180000601A priority Critical patent/KR102035706B1/ko
Priority to US15/966,480 priority patent/US10742772B2/en
Publication of KR20190088112A publication Critical patent/KR20190088112A/ko
Application granted granted Critical
Publication of KR102035706B1 publication Critical patent/KR102035706B1/ko

Links

Images

Classifications

    • H04L67/2828
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • H04L67/5651Reducing the amount or size of exchanged application data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/84Mapping; Conversion
    • G06F16/86Mapping to a database
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0894Packet rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC
    • 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/23Updating
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S40/00Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S40/00Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
    • Y04S40/18Network protocols supporting networked applications, e.g. including control of end-device applications over a network

Abstract

본 발명은, 에너지 감지 데이터를 생성하는 단계; 클라이언트가 상기 에너지 감지데이터를 수신하여 이를 메타 모델과 메타 데이터를 포함하는 메타 모델 데이터로 변환하는 단계; 데이터베이스에 구비되는 키테이블 크리에이터를 통해 키테이블을 생성하여 상기 데이터베이스에 저장하는 단계; 상기 메타 모델 데이터를 분할 압축하여 패킷 메타 모델 데이터를 생성하는 단계; 상기 패킷 메타 모델 데이터를 사물인터넷 통신망을 통해 서버로 전송하는 단계;및 상기 서버가 상기 패킷 메타 모델 데이터를 파싱하여 상기 메타 모델 데이터를 출력하는 단계를 포함하고, 상기 메타 모델 데이터를 분할하여 패킷 메타 모델 데이터를 생성하는 단계는, 데이터 패킷 크리에이터가 상기 키테이블을 이용하여 상기 메타 모델 데이터를 분할하여 상기 패킷 메타 모델 데이터를 생성하는 단계를 포함하는, 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 변형 방법 및 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 전송 시스템에 관한 것이다.

Description

신재생에너지의 발전량 데이터를 모니터링하는 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 변형 방법 및 신재생에너지의 발전량 데이터를 모니터링하기 위한 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 전송 시스템{METHOD FOR TRANSFORMING DATA FOR LOW VOLUME TRANSMISSION OF META MODEL BASE PROTOCOL WHICH MONITORS POWER AMOUNT DATA OF NEW RECYCLE ENERGY, AND DATA TRANSMITTING SYSTEM FOR LOW VOLUME TRANSMISSION OF META MODEL BASE PROTOCOL WHICH MONITORS POWER AMOUNT DATA OF NEW RECYCLE ENERGY}
본 발명은, 신재생에너지의 발전량 데이터를 모니터링하는 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 변형 방법 및 신재생에너지의 발전량 데이터를 모니터링하기 위한 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 전송 시스템에 관한 것이다.
신재생에너지의 발전량 데이터를 모니터링하기 위해서는 각각 발전소 내 인버터, 접속함, 센서 장치와 통신하여 실시간 발전량 정보들을 확인할 수 있어야 한다. 각 인버터들의 정보를 수집한 클라이언트는 서버로 데이터를 전송한다. 이 때 각각의 인버터들은 모두 같은 인버터가 아니여서 다른 통신 방법을 사용해야 한다. 또한 클라이언트는 각각의 인버터 데이터를 수집해 통합 서버에게 전달한다. 이러한 이종의 데이터를 통합하기 위해서 메타 모델로 데이터를 전송해 보낸다.
수많은 인버터의 데이터들이 전송되는데 모두 메타 모델로 변환되어 로컬 서버에서 통합 서버로 전송된다. 이러한 메타 모델 데이터들은 각각의 인버터에서 10초에 한 번씩 생성되고, 웹에 접속되면 10초마다 데이터를 수신 받아 실시간 정보를 제공한다. 그러나 TCP/IP 전용회선이나 LTE 무선 통신망으로 모니터링하는 경우 월 2-3만원 정보의 비용이 발생하게 된다.
한편, IoT 망은 월 사용료가 200~2200원으로 상대적으로 가격이 저렴하다. 그러나 IoT 망의 전송속도가 상대적으로 느려서, 메타 모델 데이터를 전송함에 있어 많은 에러가 발생하게 되는 문제점이 있다.
본 발명은 이종의 데이터를 통합한 메타 모델 데이터가 손실되지 않으면서, 상대적으로 적은 용량과 전송속도를 가지는 사물인터넷 통신망 (IoT 통신망)을 사용하여 데이터 송수신이 가능하도록 하는, 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 변형 방법 및 그 시스템을 제공하기 위한 것이다.
상술한 과제를 해결하기 위하여 안출된 본 발명의 일실시예인 신재생에너지의 발전량 데이터를 모니터링하는 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 변형 방법은, 에너지 감지 데이터를 생성하는 단계; 클라이언트가 상기 에너지 감지데이터를 수신하여 이를 메타 모델과 메타 데이터를 포함하는 메타 모델 데이터로 변환하는 단계; 데이터베이스에 구비되는 키테이블 크리에이터를 통해 키테이블을 생성하여 상기 데이터베이스에 저장하는 단계; 상기 메타 모델 데이터를 분할 압축하여 패킷 메타 모델 데이터를 생성하는 단계; 상기 패킷 메타 모델 데이터를 사물인터넷 통신망을 통해 서버로 전송하는 단계;및 상기 서버가 상기 패킷 메타 모델 데이터를 파싱하여 상기 메타 모델 데이터를 출력하는 단계를 포함하고, 상기 메타 모델 데이터를 분할하여 패킷 메타 모델 데이터를 생성하는 단계는, 데이터 패킷 크리에이터가 상기 키테이블을 이용하여 상기 메타 모델 데이터를 분할하여 상기 패킷 메타 모델 데이터를 생성하는 단계를 포함할 수 있다.
여기서, 상기 사물 인터넷 통신망은, LoRa 망일 수 있다.
삭제
여기서, 상기 서버가 상기 패킷 메타 모델 데이터를 파싱하여 상기 메타 모델 데이터를 출력하는 단계는, 데이터 패킷 파서가 상기 키테이블을 이용하여 상기 패킷 메타 모델 데이터를 파싱하는 단계를 포함할 수 있다.
여기서, 상기 신재생에너지의 발전량 데이터를 모니터링하는 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 변형 방법은, 상기 사물 인터넷 통신망의 전송속도 정보를 획득하는 단계를 더 포함하고, 상기 메타 모델 데이터를 분할 압축하여 패킷 메타 모델 데이터를 생성하는 단계는, 상기 전송속도 정보에 기초하여 상기 패킷 메타 모델 데이터의 기준 크기를 정하는 단계; 및 상기 기준 크기에 기초하여 상기 메타 모델 데이터를 분할하는 단계를 포함할 수 있다.
여기서, 상기 데이터베이스에 구비되는 키테이블 크리에이터를 통해 키테이블을 생성하여 상기 데이터베이스에 저장하는 단계는, 상기 메타 모델의 속성 정보를 이용하여 상기 키테이블을 생성하는 단계를 포함할 수 있다.
여기서, 상기 키테이블은, 아이디 필드, 키필드, 클래스네임 필드, 네임 필드 프로퍼티 필드, 사이즈 필드, 페어런츠 필드 및 차이들 필드를 포함할 수 있다.
여기서, 상기 메타 모델 데이터를 분할 압축하여 패킷 메타 모델 데이터를 생성하는 단계는, 상기 키테이블에 인서트쿼리문을 이용하여 상기 메타 데이터를 입력시켜서, 상기 메타 모델 데이터를 압축하여, 압축 데이터를 생성하는 단계; 및 상기 압축 데이터를 분할하여 다수의 패킷 메타 모델 데이터를 생성하는 단계를 포함할 수 있다.
여기서, 상기 메타 모델의 속성 정보를 이용하여 상기 키테이블을 생성하는 단계는, 상기 메타 모델의 최상위 모델인 Epackage 정보를 로딩하는 단계; 상기 Epackage 정보와 종속관계가 있는 eClassifires를 확인하는 단계; 상기 eClassifires가 확인되면, 키를 저장한 후 EClass name 속성 정보를 상기 키에 저장하는 단계; 상기 EClass name 속성 정보 저장후 StructualFeature를 확인하는 단계; 상기 StructualFeature가 확인되면, EAttribute를 확인하는 단계; 상기 EAttribute가 확인되면, name 정보 및 타입 속성 정보를 property와 Size 필드에 저장하고, 상기 EAttribute가 확인되지 않으면, EReference로 판단하여, 이의 네임 속성 정보를 child 필드에 저장하는 단계; 및 상기 저장된 데이터를 기반으로 레코드를 입력하는 단계;를 포함할 수 있다.
여기서, 상기 메타 모델의 속성 정보를 이용하여 상기 키테이블을 생성하는 단계는, 페어런츠 필드에 이전 클래스네임 데이터를 저장하는 단계를 더 포함할 수 있다.
여기서, 상기 패킷 메타 모델 데이터는, 전체 데이터 구조를 나타내는 헤더 패킷과, 상기 메타 데이터를 나타내는 바디 패킷으로 구성되는 바디 패킷을 포함할 수 있다.
여기서, 상기 헤더 패킷은, 데이터 타입 정보와, 데이터 크기 정보를 포함하고, 상기 데이터 타입 정보는 라벨링 정보일 수 있다.
여기서, 상기 헤더 패킷은, 가변 크기 정보를 더 포함할 수 있다.
여기서, 상기 메타 모델 데이터를 분할 압축하여 패킷 메타 모델 데이터를 생성하는 단계는, 상기 메타 모델 데이터의 태그를 확인하여 태그가 없으면 상기 해더 패킷에 키데이터를 추가하는 단계; 상기 메타 모델 데이터의 속성 정보를 확인하여, 속성정보가 있으면, 속성 정보가 원시형(Primitive) 형인지를 확인하는 단계; 속성 정보가 원시형인 경우, 상기 헤더 패킷에 압축 데이터 바이트를 추가한 후, 상기 메타 데이터의 바디를 상기 데이터 패킷에 추가하는 단계를 포함할 수 있다.
여기서, 상기 메타 모델 데이터를 분할 압축하여 패킷 메타 모델 데이터를 생성하는 단계는, 상기 속성 정보가 원시형이 아닌 경우, 상기 헤더 패킷에 데이터 크기를 추가하고, 상기 데이터 패킷에 상기 메타 데이터의 바디를 상기 데이터 패킷에 추가하는 단계를 포함할 수 있다.
여기서, 상기 메타 모델 데이터를 분할 압축하여 패킷 메타 모델 데이터를 생성하는 단계는, 상기 메타 모델 데이터의 태그를 확인하고, 태그가 있으면, 상기 메타 모델 데이터를 분해하고, 분해된 데이터 패킷을 구분하기 위한 구분자를 추가하는 단계를 포함할 수 있다.
여기서, 상기 메타 데이터의 태그의 키가 있는 경우, 상기 메타 모델 데이터를 분해하고, 분해된 데이터 패킷을 구분하기 위한 구분자를 추가하는 단계는, 상기 사물인터넷 통신망의 최대 데이터 패킷 크기에 맞게 사기 메타 모델 데이터를 분해하는 단계를 포함할 수 있다.
여기서, 신재생에너지의 발전량 데이터를 모니터링하는 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 변형 방법은 에너지 감지 데이터를 생성하는 단계; 클라이언트가 상기 에너지 감지데이터를 수신하여 이를 메타 모델과 메타 데이터를 포함하는 메타 모델 데이터로 변환하는 단계; 상기 메타 모델 데이터를 분할 압축하여 패킷 메타 모델 데이터를 생성하는 단계; 상기 패킷 메타 모델 데이터를 사물인터넷 통신망을 통해 서버로 전송하는 단계; 및 상기 서버가 상기 패킷 메타 모델 데이터를 파싱하여 상기 메타 모델 데이터를 출력하는 단계를 포함하고, 상기 사물 인터넷 통신망이 복수의 서브 통신망으로 구성되고, 상기 패킷 메타 모델 데이터를 사물인터넷 통신망을 통해 서버로 전송되는 단계는, 상기 복수의 서브 통신망을 통해 분할된 복수의 상기 패킷 메타 모델 데이터가 각각 상기 서버로 전송되는 단계를 포함할 수 있다.
여기서, 상기 서버가 상기 패킷 메타 모델 데이터를 파싱하여 상기 메타 모델 데이터를 출력하는 단계는, 상기 패킷 메타 모델 데이터에 대하여, 상기 서브 통신망 아이디 정보 및 수신 시간 정보을 포함하는 파일명으로 저장하는 단계를 포함할 수 있다.
여기서, 상기 서버가 상기 패킷 메타 모델 데이터를 파싱하여 상기 메타 모델 데이터를 출력하는 단계는, 상기 수신된 상기 패킷 메타 모델 데이터를 누적 저장하는 단계를 포함할 수 있다.
여기서, 상기 서버가 상기 패킷 메타 모델 데이터를 파싱하여 상기 메타 모델 데이터를 출력하는 단계는, 상기 패킷 모델 데이터를 저장할 때마다 con 태그를 검사하는 단계; 상기 con 태그의 검사 결과에 따라, 상기 패킷 메타 모델 데이터가 상기 메타 모델 데이터의 마지막 데이터 내용을 가지고 있다고 판단되면, 그동안 누적된 패킷 메타 모델 데이터를 하나의 패킷으로 통합하여 통합 패킷 데이터를 생성하는 단계; 및 상기 통합 패킷 데이터를 데이터베이스에 구비되는 키테이블 크리에이터를 통해 생성되는 키테이블을 이용하여 상기 메타 모델 데이터로 복원하는 단계를 포함할 수 있다.
여기서, 상기 서버가 상기 패킷 메타 모델 데이터를 파싱하여 상기 메타 모델 데이터를 출력하는 단계는, 상기 패킷 메타 모델 데이터의 누적 저장 횟수를 카운팅하는 단계; 및 상기 누적 저장 획수와, 상기 패킷 모델 데이터의 헤더 패킷에 저장된 분할 패킷 수 정보와 비교하여 매칭되면, 누적 저장된 패킷 모델 데이터를 하나의 패킷으로 통합하여 통합 패킷 데이터를 생성하는 단계를 포함할 수 있다.
여기서, 신재생에너지의 발전량 데이터를 모니터링하는 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 변형 방법은 에너지 감지 데이터를 생성하는 단계; 클라이언트가 상기 에너지 감지데이터를 수신하여 이를 메타 모델과 메타 데이터를 포함하는 메타 모델 데이터로 변환하는 단계; 상기 메타 모델 데이터를 분할 압축하여 패킷 메타 모델 데이터를 생성하는 단계; 상기 패킷 메타 모델 데이터를 사물인터넷 통신망을 통해 서버로 전송하는 단계; 및 상기 서버가 상기 패킷 메타 모델 데이터를 파싱하여 상기 메타 모델 데이터를 출력하는 단계를 포함하고, 상기 에너지 감지 데이터를 생성하는 단계는,발전설비로부터 획득되는 오리지널 에너지 감지 데이터를 생성하는 단계, 상기 오리지널 에너지 감지 데이터는, 오리지널 메타 모델과, 오리지널 메타 모델 데이터를 포함함; 데이터베이스 생성기를 통해 상기 오리지널 메타 모델을 이용하여 데이터베이스를 생성하는 단계; 및 상기 오리지널 메타 모델 데이터를 데이터베이스 삽입기를 통해 상기 데이터베이스에 삽입하여 상기 에너지 감지 데이터를 생성하는 단계를 포함할 수 있다.
본 발명의 다른 실시예인 신재생에너지의 발전량 데이터를 모니터링하기 위한 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 전송 시스템은, 키테이블을 생성하는 키테이블 크리에이터 및 상기 키테이블을 저장하는 디비 메모리를 포함하는 데이터베이스; 신재생 에너지 생산 설비로부터 에너지 감지데이터를 수신하고, 이를 메타 모델과 메타데이터를 포함하는 메타 모델 데이터로 변환하고, 상기 키테이블을 이용하여 상기 메타 모델 데이터를 분할 압축하여 패킷 메타 모델 데이터를 생성하는 클라이언트; 및 상기 클레이언트로부터 패킷 메타 모델 데이터를 사물인터넷 통신망을 통해 수신하고 상기 패킷 메타 모델 데이터를 파싱하여 상기 메타 모델 데이터로 복원하여 출력하는 서버를 포함할 수 있다.
여기서, 상기 사물 인터넷 통신망은, LoRa 망일 수 있다.
여기서, 상기 클라이언트는, 상기 데이터베이스로부터 키테이블을 수신받고, 이를 이용하여 상기 메타 모델 데이터를 분할 압축하여 상기 패킷 메타 모델 데이터를 생성하는, 데이터 패킷 크리에이터를 포함할 수 있다.
여기서, 상기 서버는, 상기 데이터베이스로부터 키테이블을 수신받고, 이를 이용하여 상기 패킷 메타 모델 데이터를 파싱하여 복원하는 데이터 패킷 파서를 포함할 수 있다.
여기서, 상기 데이터베이스는, 상기 메타 모델 데이터를 이용하여 키테이블을 생성하는 키테이블 크리에이터를 포함할 수 있다.
상술한 구성을 가진 본 발명의 일실시예에 따르면, 상대적으로 적은 용량과 전송속도를 가지는 사물인터넷 통신망을 통해서도 충분히 실시간으로 대용량의 메타 모델 데이터를 전송할 수 있게 된다.
도 1은 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 전송 시스템을 설명하기 위한 블록 구성도.
도 2는 본 발명의 일실시예에 따른 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 변형 방법에 의해 생성되는 헤더 패킷을 예시하는 도면.
도 3은, 본 발명과 관련된 에너지 감지 데이터 중 발전 설비에서의 에너지 감지 데이터의 예를 나타내는 도면.
도 4는 본 발명과 관련된 에너지 감지 데이터 중 접속함에서의 에너지 감지 데이터의 예를 나타내는 도면.
도 5는, 본 발명의 일실시예에 따른 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 변형 방법에서의 저용량 전송을 위한 구조를 나타내는 도면.
도 6은 본 발명의 일실시예에 따른 메타 모델과 키테이블의 데이터간 관계를 예시하는 도면.
도 7은, 본 발명의 일실시예에 따라 키테이블에서 생성되는 레코드의 예를 나타내는 도면.
도 8은 본 발명의 일실시예에 따른 키테이블 크리에이터에서의 동작을 설명하기 위한 순서도.
도 9는 본 발명의 일실시예에 따라 메타 모델 기반의 인서트 쿼리문의 자동생성을 예시하는 도면.
도 10은 본 발명의 일실시예에 따른 키테이블의 구조를 예시하는 도면.
도 11은 본 발명의 일실시예에 따른 메타 모델 데이터, 키테이블, 헤더 패킷의 구성을 예시하는 도면.
도 12는, 본 발명의 일실시예에 따라 메타 모델 데이터를 기반으로 데이터 패킷을 구성하는 과정을 예시하는 도면.
도 13은 본 발명의 일실시예에 따른 데이터 패킷 분해 결과를 예시하는 도면.
도 14는 본 발명의 일실시예에 따른 패킷 크리에이터에서의 동작을 설명하기 위한 순서도.
도 15는 본 발명의 일실시예에 따라 추출된 실제 전송되는 패킷의 값을 갖는 Con 태그값을 예시하는 도면.
도 16은 본 발명의 일실시예에 따라 추출된 콘테그 값들을 하나의 데이터 패킷으로 통합하는 과정을 설명하는 예시도.
도 17은 본 발명의 일실시예에 따라 분할된 데이터 패킷에서 메타 데이터를 복원하는 과정을 예시하는 도면.
도 18은 본 발명의 일실시예에 따른 패킷 파서에서의 동작을 설명하기 위한 순서도.
이하, 본 발명의 일실시예인 신재생에너지의 발전량 데이터를 모니터링하는 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 변형 방법 및 신재생에너지의 발전량 데이터를 모니터링하기 위한 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 전송 시스템에 대하여 도면을 참조하여 보다 상세하게 설명한다. 본 명세서에서 사용된 용어들에 대한 정의 및 설명은 다음과 같다.
도 1은 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 전송 시스템을 설명하기 위한 블록 구성도이다. 도 1에 도시된 바와 같이, 본 발명의 일실시예인 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 전송 시스템은, 크게, 클라이언트(1), LoRA 장치(2: 로라 장치), IOT 기간망(3:LoRa 기간망), 그리고 서버(4)를 포함하여 구성될 수 있다.
신재생 에너지 발전 설비(5)에는 다양한 종류의 오리지널 에너지 감지 데이터를 생성할 수 있다. 동일 에너지 발전 설비, 예컨대, 도시된 바와 같은 태양광 발전 설비(5)에서도, 전지 모듈(51)에서의 감지데이터,접속함(52)에서의 감지 데이터, 인버터(53)에서의 감지 데이터가 생성될 수 있다. 이와 같은 오리지널 감지 데이터는, 클라이언트(1)로 전송된다. 이 오리지널 감지데이터는 오리지널 메타 모델과, 오리지널 메타 모델 데이터를 포함하며, 데이터베이스 생성기를 통해 상기 오리지널 메타 모델을 이용하여 데이터베이스를 생성하고, 상기 오리지널 메타 모델 데이터를 데이터베이스 삽입기를 통해 상기 데이터베이스에 삽입하여 후술하는 에너지 감지 데이터(통합된 형태의 메타 모델 데이터)를 생성함으로써, 다양한 종류의 오리지널 에너지 감지 데이터를 하나의 통합된 프로토콜 형태로 변환시켜서 클라이언트에 전송하게 된다. 이에 따라, 이종의 신재생 에너지 발전 설비가 추가되더라도 전체적인 시스템 개조 없이 간단하게 오리지널 에너지 감지 데이터를 에너지 감지데이터로 변환할 수 있어서, 경제성을 높일 수 있게 된다.
이와 같이 신재생 에너지 발전 설비중 하나로, 본 발명에서는 태양광 발전설비(5)를 도 1에서 예시하고 있다. 이와 같이 에너지 감지데이터가 발전 설비에서 생성되면, 이를 클라이언트(1)가 수신하게 된다. 에너지 감지 데이터로는, 접속함(52)에서의 다양한 전압, 전류 관련 데이터, 또는 인버터(53)에서의 전압 전류 관련 데이터가 될 수 있다.
클라이언트(1)에서는 상기 에너지 감지데이터를 수신하여 상술한 바와 같이 메타 모델 데이터와 메타 데이터를 포함하는 메타 모델 데이터로 변환하고, 메타 모델 데이터를 사물 인터넷 통신망의 통신속도를 고려하여 패킷 메타 모델 데이터로 분할하게 된다. 그리고 분할된 패킷 메타 모델 데이터는 다수의 로라 장치(2:사물 인터넷 통신 장치)를 통해 병렬로 IOT 기간망(3:사물인터넷 통신망)으로 전송되게 되고, 이 IOT 기간망(3)을 통해 통신 서버는 패킷 메타 모델 데이터를 수신하고, 서버(4)에서는 패킷 메타 모델 데이터를 파싱하고 통합하여서 다시 최초의 메타 모델 데이터 복원하게 된다.
여기서 IOT 사물인터넷 통신망으로서 LoRa망이 이용될 수 있는데 LoRa망은 저용량 통신을 지원한다. 이론적으로는 무선 수신율에 따라 최소 65byte에서 최대 242 byte를 지원하게 된다. 그런데, 기존의 태양광 발전에서 획득되는 에너지 감지 데이터는 약 1kbyte정도이므로, 이를 그대로 분할하는 경우, 최소 15개 이상으로 분할하여야 하고, 이와 같이 구성하게 되면, 1개의 감지데이터를 전송하는데 15*10초(데이터 한번 보낼때 걸리는 시간이 10초임) = 150초 정도 소모되는 문제가 발생한다.
이에 본원 발명에서는 원시 데이터인 에너지 감지 데이터 자체를 줄여서 전송 효율을 향상시키게 된다. 이점에 대해서는 뒤에서 상세하게 설명하도록 한다.
도 2는 본 발명의 일실시예에 따른 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 변형 방법에 의해 생성되는 헤더 패킷을 예시하는 도면이다. 데이터 용량을 최대한 줄이기 위해서는 기본 문자열로 보내는 정보를 바이트로 변환한다. 그리고 최소한의 바이트를 사용하여 용량을 줄인다.
데이터 패킷은 헤더와 바디 패킷으로 구성되는데, 헤더에는 기존에 보내고자하는 메타 모델 데이터의 구조 정보가 저장되고, 바디에는 실제 데이터값이 나누어져 전송된다. 그러므로, 헤더는 한번에 전송하고, 바디는 용량에 따라 n개로 나누어 전송되게 된다.
헤더 패킷은 데이터의 타입과 크기 정보가 저장된다. 즉, 도 2와 같이 연속적인 형태가 된다. 여기서 우리는 3가지 경우를 고려한다.
1. 하나의 타입에 하나의 크기 정보가 있는 경우(타입, 크기는 1byte로 제한) = 총 2byte
2. 하나의 타입에 여러 개의 크기 정보(N개)가 있는 경우 = 총 1+N byte
3. 하나의 타입에 크기가 없는 경우 = 총 1byte
그러므로 헤더는 먼저 데이터 타입이 오고 크기가 없거나 있거나 여러 개인 경우라는 것이다. 이렇게 크기의 개수가 가변적일 때는 일반적으로 데이터를 해석할 때 가변적인 데이터를 앞에 붙여줘야 한다. 우리는 이 정보를 줄이기 위해서 데이터의 스키마인 메타 모델의 정보를 활용해 헤더를 만들게 된다.
먼저 데이터 타입의 길이를 1byte로 한정하기 위해서 메타 모델의 정보에서 나타나는 데이터 타입들을 알파벳 순서대로 라벨링하게 된다. 예를 들어 도 3에 도시된 바와 같이, PlantDisplay라는 메타 모델이 있고 이에 상응하는 데이터가 있을 때, 기존 방식대로 보내게 되면 문자열로 PlantDisplay를 보내야하기 때문에 12byte를 사용해야 한다. 우리는 보내는 쪽이나 받는 쪽 모두 메타 모델 정보를 가지고 있기 때문에 데이터 타입들에 라벨링을 적용해 두면 이 PlantDisplay가 ‘a’로 표현될 수 있다. 알파벳 순서대로 라벨링 되기 때문에 PlantDisplay가 ‘a’로 표현되는 것은 메타 모델 데이터에서 첫 번째 모델이라는 것을 의미한다. PlantDisplay의 속성으로 current, days, yesterday, month_power, last_month_power, total 총 6개가 사용되었다. 기존에는 이 정보를 모두 보내야 하지만 메타 모델에서는 저장된 순서대로 데이터를 순서화해 속성의 이름정보를 보내지 않는다. 그리고 메타 모델에 정의된 EFloat, EDouble과 같이 크기가 가변적이지 않고 고정된 경우는 크기 정보도 보내지 않는다. 그러므로 이 예제에서 헤더를 보낼 때는 단지 ‘a’만 보내게 된다. ‘a’라는 알파벳 정보만 가지고 메타 모델을 참조해 원래의 데이터를 복구해 낼 수 있다. 이 과정을 위해서는 메타 모델의 정보와 알파벳 정보의 연결 관계를 미리 만들어 줄 필요가 있다. 이 연결 관계 데이터가 저장된 데이터베이스 테이블을 구성하는데 이것을 우리는 키테이블크리에이터(Key Table Creator)라고 부른다. 이에 대해서는 뒤에 보다 상세하게 설명하도록 한다.
한편, EString 타입, EDate 타입, Enum 타입 등에만 크기 정보를 보내게 된다. 도 4에는 접속함(JunctionBox)의 메타 모델데이터를 예시하고 있다. 도 4에 도시된 바와 같이 JunctionBox는 EString 타입을 가진다. 이런 경우에는 실제로 생성되는 데이터를 확인해 그 크기를 결정해야 한다. 도 4의 경우, JunctionBox를 ‘b’라고 라벨링 했을 때, 데이터의 크기를 확인하여 ‘b 12 12’ 라고 헤더를 만들게 된다. 첫 번째 데이터인 ‘num’의 데이터 타입은 ‘EInt’로 크기가 4byte로 고정되어 있기 때문에 크기 정보를 헤더에 기술하지 않고 두 번째와 세 번째 데이터의 데이터 타입이 ‘EString’으로 크기가 가변적이기 때문에 실제 데이터 "0;0;0;0;0;0;"의 크기를 byte로 계산해 헤더에 입력하게 된다.
바디에서 데이터를 보낼 과정에서 고정형 크기를 가지는 Primitive Type(EInt, EFloat, EDouble 등)은 적은 숫자를 보낼 때 데이터의 낭비를 초래한다. 예를 들어 EInt(4byte)로 정의된 경우 4byte로 고정되어 있기 때문에 0의 값이라도 0x00000000으로 4byte로 전송한다. 1인 경우에도 0x00000001으로 4byte를 무조건 사용해야한다. 1byte로 표현 가능하지만 3byte가 낭비된다. 그래서 헤더의 key 값과 크기 값 사이에 데이터의 값에 의해 사이즈를 가변할 수 있는 정보를 추가로 넣는다(가변 크기 정보). 이렇게 바디에 입력될 크기가 중요한 이유는 데이터 자체가 형식이 없는 바이너리 데이터이기 때문이다. 헤더의 크기 정보가 잘못되어 있으면 엉뚱한 값을 읽을 수 있다. 그러므로 헤더에는 데이터의 크기 정보를 잘 보관해야 한다.
또한, 아래의 표 1과 같이, 이 가변크기는 2bit를 가변 데이터 공간으로 사용한다. 이 공간의 사용은 메타 모델의 속성의 개수에 의해 결정된다. 앞의 plantdisplay와 같은 경우에는 속성이 6개로 6 x 2bit = 12bit (12/8 = 2byte(올림))으로 크기가 결정된다. 그리고 junctionbox는 속성이 1개로 1 x 2bit = 2/8 = 1byte(올림)이다.
즉, N(속성의 개수) x 2bit = M/8bit = T(올림) 으로 크기를 결정한다.
8 7 6 5 4 3 2 1
0 0 0 0 0 0 0 0
데이터값의 범위는 아래의 [표 2]와 같다. 보내려고 하는 바디 데이터에서 값을 읽어서 최종크기를 특정한다. 를 들어 0은 key의 2bit에 00의 값을 가지고 바디에서 읽을 때 1byte만 읽게 된다.
값의 범위 크기(byte) 키의 bit 표현
-128~127 1byte 00
-32,768~32,768 2byte 01
-2,147,483,638~2,147,483,638 4byte 10
그외 8byte 11
여기서 어떠한 구분도 없는 헤더 정보에서 타입, 가변크기, 크기를 구분하는 것이 중요한데, 이것은 메타 모델 정보를 테이블로 변환한 키테이블(Key Table)의 참조로 가능하다. 다음은 이것을 처리하기 위한 개략적인 알고리즘이다.
(1) 타입을 읽어 Key Table에서 Primitive Type의 속성(EInt, EFloat, EDouble 등)의 개수 P와 그 외의 속성 값(EString, EDate, Enum 등)의 개수 V를 가져온다.
(2) P를 2bit로 곱해서 가변크기 값을 알아낸다.
(3) 헤더에서 가변크기 만큼 byte를 읽어 낸다.
(4) V의 값 만큼의 byte를 읽어 낸다.
이렇게 처리하면 헤더에서 타입, 가변크기, 크기를 구분해 처리할 수 있게 된다.
바디는 보내고자 하는 모든 데이터를 헤더의 구조에 맞게 순서화한다. 그리고 보낼 수 있는 최대 패킷의 크기로 나눠서 보낸다. 예를 들어 보내고자 하는 데이터의 총 크기가, 즉 압축된 패킷 메타 모델 데이터의 크기가 400byte라 하고 최대 패킷의 크기가 65byte일 때 데이터 패킷의 순서를 기록하는 2byte를 뺀 63byte(즉, 분할된 패킷 메타 모델 데이터의 크기)로 나눈다. 여기서 최대 패킷의 크기는 사물 인터넷 통신망의 전송속도에 기초한다. 즉, 사물인터넷의 전송 속도 정보를 획득하면, 그 전송속도에 따라 패킷 메타 모델 데이터의 기준 크기를 나누게 되는 것이다.
400byte / 63byte = 6으로 나누어지고 나머지가 22 byte가 되어 총 7회로 나누어 보낸다. 순서를 기록하는 2byte를 제외하고 최대 패킷 크기인 63byte의 6개의 바디 패킷이 전송되고 마지막으로 22byte의 바디 패킷을 전송한다.
데이터를 보낼 때 최대 패킷의 크기에 맞게 분해된 패킷들의 순서를 확인하기 위해서 앞 1byte는 보내고자 하는 총 데이터 패킷의 개수, 두 번째 1byte는 현재 데이터 패킷의 순서를 입력하고 이 2개의 바이트를 제외한 63byte에 분해된 데이터들을 입력하여 총 7번 전송하게 된다.
[표 3]은 실제 보낼 때 사용되는 헤더와 바디 패킷의 예시이다. 헤더에 위 칸은 byte를 16진수로 표현한 것이고 아래 칸은 이것의 실제 의미이다. 첫 번째에는 데이터 타입을 의미하는 알파벳이 오고 두 번째에는 숫자가 올수도, 오지 않을 수도, 여러 개가 올 수도 있다. 이러한 내용은 단지 현재 보낸 헤더만으로 그 의미를 해석할 수 없고 키테이블 크리에이터(Key Table Creator)에서 만들어진 참조 테이블을 참고해야 한다. 그리고 바디는 헤더의 데이터 구조에 맞게 보내고자 하는 데이터를 구성하여 보내게 된다.
type Binary Data
헤더
6c 07 1c 07 61 68 6b 6a 65 67 66 40 40
l 7 28 7 a h k j e g f 64 64
바디 0x0601303031...(생략)...
0x0602000000...(생략)...
0x0603000000...(생략)...
0x060401303b...(생략)...
0x0605303b30...(생략)...
0x06063b303b
이러한 원리에 따른 본 발명에 따른 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 변형 방법을 도 5를 참조하여 설명하도록 한다.
도 5는, 본 발명의 일실시예에 따른 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 변형 방법에서의 저용량 전송을 위한 구조를 나타내는 도면이다. 도 5에 도시된 바와 같이, 본 발명에 따른 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 전송 시스템은 데이터베이스(6), 클라이언트(1) 그리고 서버(4)를 포함하여 구성된다.
데이터베이스(6)에는 도시된 바와 같이 키테이블 크리에이터(61)와 키테이블을 저장하는 데이터베이스인 DB 메모리(62)를 포함하여 구성될 수 있다. 데이터베이스(6)의 key Table Creator(61)는 메타 모델 데이터를 구성하는 모델들에 라벨링한 데이터와 각 데이터들의 크기를 저장하는 키테이블을 생성한다. 클라이언트(1)에 포함된 데이터 패킷 크리에이터(11:Data Packet Creator)는 데이터베이스(6)에서 생성된 Key Table를 수신한 후, 이를 참조하여 보내고자 하는 데이터(XMI형태의 메타 모델 데이터, 즉, 태양광 바)를 입력 받아 바이너리 형태로 데이터 크기가 축소된 패킷을 생성하고, 이 축소된 패킷을 사물인터넷 통신망의 전송속도를 기준으로 상기 패킷을 분할한 패킷 메타 데이터를 생성하고, 이 분할된 패킷 메타 데이터는 다수의 LoRa 장치(2)를 포함하는 LoRa 망(3)을 통해 순차적으로 서버에 전송된다. 분할된 패킷 메타 데이터를 수신한 서버(4)는 데이터 패킷 파서(41:Data Packet Parser)를 구비하며, 상기 데이터베이스(6)의 키테이블 크리에이터(61)에 의해 생성된 키테이블을 수신하며, 데이터 패킷 파서(41)는 상기 키테이블을 참조하여 패킷 메타 모델 데이터를 만들어낸 과정을 역으로 수행하여 클라이언트(1)가 보내고자 했던 원본 XMI 데이터를 복원하게 된다.
이하에서는, 도 6 내지 도 10을 참조하여 데이터베이스의 구성요소인 키테이이블 크리에이터의 동작에 대하여 보다 상세하게 설명하도록 한다.
도 6은 본 발명의 일실시예에 따른 메타 모델과 키테이블의 데이터간 관계를 예시하는 도면이고, 도 7은, 본 발명의 일실시예에 따라 키테이블에서 생성되는 레코드의 예를 나타내는 도면이며, 도 8은 본 발명의 일실시예에 따른 키테이블 크리에이터에서의 동작을 설명하기 위한 순서도이고, 도 9는 본 발명의 일실시예에 따라 메타 모델 기반의 인서트 쿼리문의 자동생성을 예시하는 도면이고, 도 10은 본 발명의 일실시예에 따른 키테이블의 구조를 예시하는 도면이다. 도 6에 도시된 바와 같이, 메타 모델에는 각각 데이터 타입의 이름(className, name), 라벨링(key) 정보와 데이터에 포함되는 속성들의 이름(property), 크기(size) 정보가 포함된다. 키테이블 크리에이이터(61:Key Table Creator)에서는 메타 모델로부터 각 데이터 타입의 이름(className, name), 라벨링(key) 정보와 데이터에 포함되는 속성들의 이름(property), 크기(size) 정보가 저장된 테이블을 생성한다. 또한, 메타 모델 구조를 확인하기 위해서 종속 관계를 나타내는 부모(parent)와 자식(child) 데이터를 저장한다. 다음은 메타 모델과 키테이블의 데이터 간의 관계를 나타낸다.
메타 모델에서 각 KeyEClass를 Table의 하나의 레코드로 저장한다. 도 6에서 도시된 바와 같이, EClass ‘Inverter’와 Key Table 데이터 간의 관계를 선으로 나타낸다. Key Table의 필드는 id, key, className, name, property, size, parent, child로 구분된다. id는 메타 모델 데이터와 관계없이 입력되는 레코드 순서대로 1부터 숫자를 입력하고 이 필드를 기본 키(Primary Key)로 설정한다. key 필드도 실제 데이터와 상관없이 레코드 순서대로 ‘a’,‘b’,‘c’..를 입력한다. 이 필드가 메타 모델 데이터 전송 시에 라벨링으로 사용된다. className은 메타 모델에서 EClass의 name 속성을 저장한다. name 필드는 메타 모델 데이터에서 EClass의 이름을 소문자로 사용하기 때문에 className 필드 값을 모두 소문자로 변환하여 저장한다. property에서는 현재 EClass에 포함되는 EAttribute의 name 속성을 저장한다. 여러 개의 EAttribute로 구성되기 때문에 각 name들은 ‘;’으로 구분한다. size 필드에는 각 EAttribute의 type 속성을 저장한다. property 필드와 마찬가지로 각 type들을 ‘;’으로 구분한다. parent 필드는 해당 EClass의 상위 클래스를 입력하고 child 필드에는 해당 EClass의 하위 클래스를 입력한다. 현재 메타 모델에서 EClass ‘Inverters’가 EReference로 EClass ‘Inverter’를 하위 클래스로 포함하고 있으므로 ‘Inverter’의 parent 필드에는 ‘inverters’를 입력하고 하위 클래스에는 EClass 'warning'을 EReference 속성으로 포함하기 때문에 child 필드에는 'warning' 을 입력한다. 이와 같은 과정을 통해 ‘Inverter’라는 EClass를 저장하면 도 7과 같은 레코드가 생성된다.
이와 같은 과정을 수행하는 키테이블 크리에이터의 동작은 도 8과 같다. 도 8에 도시된 바와 같이, 우선 키테이블 크리에이터는 키테이블을 저장하는 데이터베이스와 연동하고, 한편, 메타 모델을 로드한다(S11,S12). 그리고 메타 모델의 속성 정보를 이용하여 상기 키테이블을 생성하는데, 메타 모델의 최상위 모델인 Epackage 정보를 로딩하고, 상기 Epackage 정보와 종속관계가 있는 eClassifires를 확인하고, 상기 eClassifires가 확인되면, 키를 저장한 후 EClass name 속성 정보를 상기 키에 저장하고, 상기 EClass name 속성 정보 저장 후 StructualFeature를 확인하고, 상기 StructualFeature가 확인되면, EAttribute를 확인하며, 상기 EAttribute가 확인되면, name 정보 및 타입 속성 정보를 property와 Size 필드에 저장하고, 상기 EAttribute가 확인되지 않으면, EReference로 판단하여, 이것의 네임 속성 정보를 child 필드에 저장하고, 상기 저장된 데이터를 기반으로 레코드를 입력하게 된다(S13~S20).
다시 설명하면, 메타 모델의 제일 상위 모델인 EPackage를 로드하고 이와 종속 관계를 갖는 EClassifiers를 로드한다. EClassifiers는 여러 개의 EClass로 구성되므로 Iterator를 통해 각각의 EClass를 로드한다. 로드된 EClass의 name 속성을 저장한다. 이 값은 테이블에서 className 필드에 저장된다. EClass 또한 여러 개의 EAttribute와 EReference로 구성되므로 Iterator를 통해 각각을 로드하고 type을 구분한다. EAttribute인 경우 name과 type 속성을 저장한다. 이 값들은 테이블에서 property와 size 필드에 저장된다. EReference인 경우 name 속성을 저장한다. 이 값은 테이블에서 child 필드에 저장된다. 저장된 데이터들을 기반으로 레코드를 입력한다. 마지막으로 현재의 className 데이터를 다음 EClass에 전달하여 parent 필드에 저장한다. 이 과정에서 메타 모델을 기반으로 인서트 쿼리문(Insert query)을 자동으로 생성하게 되게 된다. 그 결과가 도 9와 같다. 전술한 바와 같이, 각각의 데이터를 기반으로 인서트 쿼리 문이 자동으로 생성된다. key 필드의 값은 메타 모델 데이터와 상관없이 알파벳 순서대로 입력되고 name 필드는 className 필드의 데이터를 모두 소문자로 변경하여 입력한다. 위와 같이 자동 생성된 Insert 쿼리 문을 통해서 그 결과로 생성된 Key 테이블의 구조 중 일부는 도 10과 같다. 여기서, "id"는 각 레코드를 구분하기 위한 기본키(Primary Key)로 사용되며, "key"는 XMI를 데이터 패킷으로 변환할 때, 태그 이름을 해당 알파벳으로 변환된 것이며, "className"는 실제 메타 모델 내에서 선언된 클래스의 이름이며, "name"은 XMI 파일 내에 선언되는 태그의 이름이며, "property"는 해당 태그에서 사용되는 속성 이름의 리스트이고, "size"는 해당 속성들의 byte크기를 나타내는 자료형의 리스트이며, "parent"는 해당 태그의 부모 태그이고, "child"는 해당 태그의 자식 태그들이다.
이하에서는, 클라이언트(1)에 포함되는 데이터 패킷 크리에이터(11)의 동작들에 대하여 도 11내지 도 14를 참조하여 설명하도록 한다.
도 11은 본 발명의 일실시예에 따른 메타 모델 데이터, 키테이블, 헤더 패킷의 구성을 예시하는 도면이고, 도 12는, 본 발명의 일실시예에 따라 메타 모델 데이터를 기반으로 데이터 패킷을 구성하는 과정을 예시하는 도면이며, 도 13은 본 발명의 일실시예에 따른 데이터 패킷 분해 결과를 예시하는 도면이고, 도 14는 본 발명의 일실시예에 따른 패킷 크리에이터에서의 동작을 설명하기 위한 순서도이다.
클라이언트(1)의 구성요소인 데이터 패킷 크리에이터(11:Data Packet Creator)는 데이터베이스(6)의 키테이블 크리에어터(61)에서 자동 생성한 키테이블을 참고하여 발전 설비에서 획득된 메타 모델 데이터를 압축 분할된 형태의 패킷 메타 모델 데이터를 생성한다. 상기 분할된 패킷 메타 모델 데이터는 하나의 데이터가 여러 개의 데이터 패킷으로 분해된 형태이므로, 전체 데이터의 구조를 나타내는 헤더 패킷과 실제 데이터를 나타내는 바디 패킷를 포함하여 구성될 수 있다. 그리고 바디 패킷의 순서를 구분하기 위해서 2byte는 전체 바디 패킷의 개수(1byte)와 현재 바디 패킷의 순서(1byte)를 나타내는 데이터로 사용한다. 도 11에서는, 실제 메타 모델 데이터, 키테이블, 헤더 패킷 간의 관계가 도시되어 있다. 도 11에서는 메타 모델 데이터를 기반으로 헤더 패킷을 구성하는 과정을 나타낸다. 메타 모델 데이터의 각 태그들을 로드하고 태그의 이름과 키테이블에 name 속성이 동일한 레코드를 조회한다. 해당 레코드의 key 값을 헤더에 입력하고 모든 property를 확인한다. Primitive Type의 경우, 데이터의 크기를 확인하여 바이트에 따라서 2 비트의 데이터를 헤더 패킷에 추가한다. 1바이트는 00, 2바이트는 01, 3바이트는 10, 4바이트는 11로 나타낸다. UnPrimitive Type의 경우, 실제 데이터의 길이를 확인하고 헤더 패킷에 추가한다. 첫 번째 태그인 ‘hsSolarEnergy’의 key 필드 ‘l’을 추가하고 해당 레코드에 property를 확인한다. 해당 레코드에는 property가 ‘plant_id’, ‘time’, ‘mode’ 세 가지가 있다. 이 세 개의 속성들은 모두 UnPrimitive Type이므로 실제 데이터의 크기를 메타 모델 데이터에서 확인한다. ‘plant_id’의 데이터는 7, ‘time’ 데이터는 28의 크기를 갖는다. ‘mode’는 데이터가 존재하지 않으므로 크기 확인이 필요하지 않다. 가변적인 데이터의 실제 크기인 7과 28을 입력한다. 다음 태그인 ‘plantdisplay’의 key 필드인 ‘a’를 추가하고 모든 property를 확인한다. 포함되는 모든 property가 Primitive Type 이므로 실제 데이터의 크기를 확인한다. current 속성은 float 형이므로 4바이트의 크기를 갖지만 실제 데이터의 범위가 작기 때문에 1바이트의 데이터로 축소할 수 있다. 따라서 1바이트를 의미하는 ‘00’ 비트가 헤더 패킷에 입력된다. 데이터 패킷은 헤더 패킷을 구성하는 과정에서 모든 속성들의 실제 데이터를 바이트 형태로 변환하여 구성한다. 도 12에서는 바이트 데이터를 조금 더 간략화 하여 나타내기 위해 16진수로 표현한 예가 도시되어 있다.
이렇게 구성된 전체 데이터 패킷은 LoRa망에서의 최대 패킷 크기에 맞게 분해하여 전송해야 한다. 최대 패킷은 LoRa망의 전송속도를 고려하여 65byte로 하는데, 분해된 바디 패킷들의 리스트를 구분하기 위해서 2byte는 전체 패킷의 개수와 현재 패킷의 순서를 저장한다. 2byte(헤더)를 제외한 63byte(바디)는 실제 데이터를 저장한다. 따라서 데이터 패킷을 분해하여 여러 개의 바디 패킷들로 구성하면 도 13과 같다. 도 13에서도 바이트 형태를 간략화하여 16진수로 나타낸다.
이와 같은 과정을 수행하는 데이터 패킷 크리에이터의 동작을 도 14를 통해 보다 상세하게 설명하도록 한다. 간단하게 설명하면, 패킷 크리에이터는 데이터베이스와 연동하여 메타 데이터를 로드한 후, 메타 모델 데이터의 태그를 확인하여 태그가 없으면 상기 해더 패킷에 키데이터를 추가하고, 상기 메타 모델 데이터를 분해하고, 분해된 데이터 패킷을 구분하기 위한 구분자를 추가한다(S21~S24). 상기 메타 모델 데이터의 속성 정보를 확인하여, 속성정보가 있으면, 속성 정보가 원시형(Primitive) 형인지를 확인한 후(S25~S26), 속성 정보가 원시형인 경우, 상기 헤더 패킷에 압축 데이터 바이트를 추가하고(S27), 속성정보가 비원시형인 경우, 상기 헤더 패킷에 데이터 크기를 추가하도록 동작한다(S28,S29). 보다 상세하게 설명하면, 클라이언트의 구성요소인 데이터 패킷 크리에이터는, 데이터베이스의 정보를 입력받아 연동하여 키테이블을 획득한다. 그리고 메타 모델 데이터를 입력받는다. 메타 모델 데이터의 태그들을 하나씩 로드하고 데이터베이스로부터 수신한 Key테이블에서 현재 태그의 key를 확인하여 그 값을 헤더 패킷에 추가한다. 태그에 포함되어 있는 모든 속성들을 하나씩 로드하여 Key 테이블에서 현재 속성의 자료형을 확인한다. 자료형이 Primitive Type인 경우는 실제 데이터를 압축한 데이터의 바이트를 헤더에 추가하고 UnPrimitive Type의 경우에는 실제 데이터의 크기를 헤더 패킷에 추가한다. 그 후에는 실제 데이터들을 바이트로 변환하여 데이터 패킷에 추가한다. 모든 태그들의 헤더 패킷과 데이터 패킷을 구성한 후 데이터 패킷을 LoRa망의 최대 데이터 패킷 크기에 맞게 분해한다. 분해된 데이터 패킷들을 구분하기 위해서 데이터 패킷의 처음 두 바이트는 모든 데이터 패킷의 개수를 입력하고 다음 두 바이트는 현재 데이터 패킷의 순번을 입력한 후 실제 데이터를 추가한다(S30).
이하에서는, 서버의 구성요소인 데이터 패킷 파서의 구성 및 동작에 대하여 도 15 내지 도 18을 참조하여 보다 상세하게 설명하도록 한다.
데이터 패킷 파서(41:Data Packet Parser)는 데이터 패킷 크리에이터(11: Data Packet Creator)가 보낸 데이터를 LoRa망을 통해 받는다. LoRa망은 전송받은 데이터를 특정 웹페이지에게 전달한다. 웹페이지는 각 LoRa 모듈 당 하나씩 다르게 배정된다. 예를 들어, A모듈로부터 전달받은 데이터를 http://***.com/A1.php 로 전달하도록 LoRa망에서 설정해놓으면, LoRa망은 전송받은 A모듈의 데이터를 http://***.com/A1.php에게 전달한다. 전달되는 데이터는 메타 모델 데이터인 XML 파일 데이터이다. XML 파일은 통합서버 내에 시간 별로 누적되어 저장된다. 파일명은 '[모듈ID_현재시간(초단위)].xml’으로 저장된다. XML 파일 내에는 전송날짜, LoRa모듈ID 등의 정보가 저장된다, LoRa모듈이 전송한 데이터는 con 태그 내에 저장된다. 즉, 복수의 서브 통신망으로 구성된 LoRa 망을 통해 패킷 메타 모델 데이터가 각각 서버로 전송되며, 이 서버는 각각의 패킷 메타 모델 데이터를 모듈 아이디와 수신 시간명으로 누적 저장하게 된다.
서버는 분할된 패킷 메타 모델 데이터인 XML 파일을 저장할 때마다 파일의 내용을 검사한다. 검사하는 내용은 파일 내 con 태그의 내용이다. 파일 내 con의 위치는 도 15과 같다. con 태그는 실제 전송되는 패킷의 내용이다.
저장된 XML 파일이 마지막 패킷 내용을 가지고 있다면, 도 16과 같이 이전에 저장된 모든 XML 파일을 읽어 들여 con 태그 내의 실제 데이터들을 하나의 패킷으로 통합한다. 즉 누적 저장된 패킷 모델 데이터를 하나의 패킷으로 통합하여 통합 패킷 데이터를 생성한다.
결합된 데이터 패킷은 도 17과 같은 과정을 거쳐 메타 데이터로 복원된다. 복원 과정은 세 가지의 단계를 거친다. 첫 번째로 데이터 패킷을 논리값으로 변환한다. 예를 들어, 16진수 ‘6C’를 ASCII로 변경하면, 알파벳 ‘l'이 된다. 6진수 ‘6C’를 ASCII로 변경하면, 알파벳 ‘l'이 된다. 16진수 '37'을 ASCII로 변경하면, 숫자 ‘7’이 된다. 이와 같은 방식으로 모든 데이터 패킷은 논리 값으로 변환된다.
두 번째로 변경된 논리값을 키테이블과 매치한다. 예를 들어, 'l 7 28'로 구성된 논리값에서 ‘l'은 ’hsSolarEnergy'를 의미하고, 다음의 ‘7’ 과 ‘28’은 plant_id 속성의 크기가 7byte String, time속성의 크기가 28byte String, mode 속성의 크기가 0byte String임을 의미한다. 매치 방법은 메타 모델 데이터를 기반으로 데이터 패킷을 구성하는 과정의 역순이다.
세 번째로 매치가 완료된 데이터를 복원한다. 복원된 데이터는 XML 형태를 가진다. 첫 번째 패킷에서 태그명과 태그의 속성 정보를 복원한다. 두 번째부터 마지막 패킷에서 속성들의 값을 복원한다.
이하에서는 도 18을 참조하여 서버의 구성요소인 데이터 패킷 파서의 동작을 상세하게 설명하도록 한다.
도 18에 도시된 바와 같이, 우선 Data Packet Parser는 앞서 언급한 웹페이지의 데이터 처리 과정을 진행한다. 즉, 사물 인터넷망을 통해 수신되는 분할된 패킷 모델 데이터의 헤더에 저장된 데이터를 판독하고, 이들 데이터를 로라 아이디(LoRa ID)와 수신 시간명으로 저장한후 패킷 모델 데이터를 로드하여 LoRa망이 전송하는 XML 파일을 계속 저장하고, XML 파일의 con 태그를 읽는다. 계속 con 태그 내에 저장된 데이터 판독하다가, con 태그가 없으면, 첫 번째 파일이 헤더 패킷이 아니라는 것을 확인하게 되며, 모든 파일이 정상인 경우, 로드된 파일들을 변수 v에 저장하게 된다(S31~S36).
con 태그가 있으면, 현재 읽은 파일이 몇번째 파일인지 체크하고, XML의 마지막 파일이 맞으면, 이전에 저장한 파일들을 한번에 읽어들이고 합쳐서 하나의 변수 v에 저장한다(S351~S354). 그 다음 기존의 XML파일들을 삭제한다(S37).
한편, 변수 v에 저장된 데이터의 생성이 완료되면, 변수 v로 저장된 데이터는 데이터베이스의 키테이블과 매치되어 원본 XMI 파일로 복구되고, 복구된 XMI 파일로 저장한다(S38~S40). 즉 데이터베이스로부터 키테이블을 로드한 후, 키테이블과 매치되어 원본 XMI 파일로 복구된다. 복구 과정은 실제 패킷을 만드는 과정의 역순으로 진행된다. 복구 과정에서 아스키 코드를 10진수로 변환하는 과정이 필요하다. con 태그는 모든 데이터를 16진수로 표시하고, 이를 아스키코드로 표시한다. 만약 LoRa 모듈이 1byte의 데이터 공간에 10을 넣어 전송했다면, con 태그를 읽으면 '0''A'라는 값이 읽힌다. 그렇기 때문에 우선 아스키코드를 16진수 데이터로 바꾸고, 16진수 데이터를 10진수로 변환하는 과정이 필요하다. 즉, 1byte 당 두 개의 문자열을 읽어들여 해석해야 한다. 만약 1byte의 데이터 공간에 'S'(=0x53)를 넣어 전송했다면, con 태그를 읽으면 ‘5’‘3’이라는 문자열을 읽게 된다.
상술한 구성을 가진 본 발명의 일실시예에 따르면, 상대적으로 적은 용량과 전송속도를 가지는 사물인터넷 통신망을 통해서도 충분히 실시간으로 대용량의 메타 모델 데이터를 전송할 수 있게 된다.
상기와 같이 설명된 신재생에너지의 발전량 데이터를 모니터링하는 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 변형 방법 및 신재생에너지의 발전량 데이터를 모니터링하기 위한 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 전송 시스템은 상기 설명된 실시 예들의 구성과 방법이 한정되어 적용될 수 있는 것이 아니라, 상기 실시 예들의 다양한 변형이 이루어질 수 있도록 각 실시 예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.

Claims (28)

  1. 에너지 감지 데이터를 생성하는 단계;
    클라이언트가 상기 에너지 감지데이터를 수신하여 이를 메타 모델과 메타 데이터를 포함하는 메타 모델 데이터로 변환하는 단계;
    데이터베이스에 구비되는 키테이블 크리에이터를 통해 키테이블을 생성하여 상기 데이터베이스에 저장하는 단계;
    상기 메타 모델 데이터를 분할 압축하여 패킷 메타 모델 데이터를 생성하는 단계;
    상기 패킷 메타 모델 데이터를 사물인터넷 통신망을 통해 서버로 전송하는 단계;및
    상기 서버가 상기 패킷 메타 모델 데이터를 파싱하여 상기 메타 모델 데이터를 출력하는 단계를 포함하고,
    상기 메타 모델 데이터를 분할하여 패킷 메타 모델 데이터를 생성하는 단계는,
    데이터 패킷 크리에이터가 상기 키테이블을 이용하여 상기 메타 모델 데이터를 분할하여 상기 패킷 메타 모델 데이터를 생성하는 단계를 포함하는, 신재생에너지의 발전량 데이터를 모니터링하는 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 변형 방법.
  2. 제 1 항에 있어서,
    상기 사물 인터넷 통신망은, LoRa 망인, 신재생에너지의 발전량 데이터를 모니터링하는 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 변형 방법.
  3. 삭제
  4. 제 1 항에 있어서,
    상기 서버가 상기 패킷 메타 모델 데이터를 파싱하여 상기 메타 모델 데이터를 출력하는 단계는,
    데이터 패킷 파서가 상기 키테이블을 이용하여 상기 패킷 메타 모델 데이터를 파싱하는 단계를 포함하는, 신재생에너지의 발전량 데이터를 모니터링하는 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 변형 방법.
  5. 제 1 항에 있어서,
    상기 사물 인터넷 통신망의 전송속도 정보를 획득하는 단계를 더 포함하고,
    상기 메타 모델 데이터를 분할 압축하여 패킷 메타 모델 데이터를 생성하는 단계는,
    상기 전송속도 정보에 기초하여 상기 패킷 메타 모델 데이터의 기준 크기를 정하는 단계; 및
    상기 기준 크기에 기초하여 상기 메타 모델 데이터를 분할하는 단계를 포함하는, 신재생에너지의 발전량 데이터를 모니터링하는 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 변형 방법.
  6. 제 1 항에 있어서,
    상기 데이터베이스에 구비되는 키테이블 크리에이터를 통해 키테이블을 생성하여 상기 데이터베이스에 저장하는 단계는,
    상기 메타 모델의 속성 정보를 이용하여 상기 키테이블을 생성하는 단계를 포함하는, 신재생에너지의 발전량 데이터를 모니터링하는 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 변형 방법.
  7. 제 6 항에 있어서,
    상기 키테이블은,
    아이디 필드, 키필드, 클래스네임 필드, 네임 필드 프로퍼티 필드, 사이즈 필드, 페어런츠 필드 및 차이들 필드를 포함하는, 신재생에너지의 발전량 데이터를 모니터링하는 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 변형 방법.
  8. 제 6 항에 있어서,
    상기 메타 모델 데이터를 분할 압축하여 패킷 메타 모델 데이터를 생성하는 단계는,
    상기 키테이블에 인서트쿼리문을 이용하여 상기 메타 데이터를 입력시켜서, 상기 메타 모델 데이터를 압축하여, 압축 데이터를 생성하는 단계;
    상기 압축 데이터를 분할하여 다수의 패킷 메타 모델 데이터를 생성하는 단계를 포함하는, 신재생에너지의 발전량 데이터를 모니터링하는 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 변형 방법.
  9. 제 7 항에 있어서,
    상기 메타 모델의 속성 정보를 이용하여 상기 키테이블을 생성하는 단계는,
    상기 메타 모델의 최상위 모델인 Epackage 정보를 로딩하는 단계;
    상기 Epackage 정보와 종속관계가 있는 eClassifires를 확인하는 단계;
    상기 eClassifires가 확인되면, 키를 저장한 후 EClass name 속성 정보를 상기 키에 저장하는 단계;
    상기 EClass name 속성 정보 저장후 StructualFeature를 확인하는 단계;
    상기 StructualFeature가 확인되면, EAttribute를 확인하는 단계;
    상기 EAttribute가 확인되면, name 정보 및 타입 속성 정보를 property와 Size 필드에 저장하고, 상기 EAttribute가 확인되지 않으면, EReference로 판단하여, 이의 네임 속성 정보를 child 필드에 저장하는 단계; 및
    상기 저장된 데이터를 기반으로 레코드를 입력하는 단계;를 포함하는, 신재생에너지의 발전량 데이터를 모니터링하는 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 변형 방법.
  10. 제 9 항에 있어서,
    상기 메타 모델의 속성 정보를 이용하여 상기 키테이블을 생성하는 단계는,
    페어런츠 필드에 이전 클래스네임 데이터를 저장하는 단계를 더 포함하는, 신재생에너지의 발전량 데이터를 모니터링하는 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 변형 방법.
  11. 제 1 항에 있어서
    상기 패킷 메타 모델 데이터는,
    전체 데이터 구조를 나타내는 헤더 패킷과, 상기 메타 데이터를 나타내는 바디 패킷으로 구성되는 바디 패킷을 포함하는, 신재생에너지의 발전량 데이터를 모니터링하는 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 변형 방법.
  12. 제 11 항에 있어서,
    상기 헤더 패킷은,
    데이터 타입 정보와, 데이터 크기 정보를 포함하고,
    상기 데이터 타입 정보는 라벨링 정보인, 신재생에너지의 발전량 데이터를 모니터링하는 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 변형 방법.
  13. 제 11 항에 있어서,
    상기 헤더 패킷은,
    가변 크기 정보를 더 포함하는, 신재생에너지의 발전량 데이터를 모니터링하는 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 변형 방법.
  14. 제 11 항에 있어서,
    상기 메타 모델 데이터를 분할 압축하여 패킷 메타 모델 데이터를 생성하는 단계는,
    상기 메타 모델 데이터의 태그를 확인하여 태그가 없으면 상기 헤더 패킷에 키데이터를 추가하는 단계;
    상기 메타 모델 데이터의 속성 정보를 확인하여, 속성정보가 있으면, 속성 정보가 원시형(Primitive) 형인지를 확인하는 단계; 및
    속성 정보가 원시형인 경우, 상기 헤더 패킷에 압축 데이터 바이트를 추가한 후, 상기 메타 데이터의 바디를 상기 데이터 패킷에 추가하는 단계를 포함하는, 신재생에너지의 발전량 데이터를 모니터링하는 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 변형 방법.
  15. 제 14 항에 있어서,
    상기 메타 모델 데이터를 분할 압축하여 패킷 메타 모델 데이터를 생성하는 단계는,
    상기 속성 정보가 원시형이 아닌 경우, 상기 헤더 패킷에 데이터 크기를 추가하고, 상기 데이터 패킷에 상기 메타 데이터의 바디를 상기 데이터 패킷에 추가하는 단계를 포함하는, 신재생에너지의 발전량 데이터를 모니터링하는 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 변형 방법.
  16. 제 14 항에 있어서,
    상기 메타 모델 데이터를 분할 압축하여 패킷 메타 모델 데이터를 생성하는 단계는,
    상기 메타 모델 데이터의 태그를 확인하고, 태그가 있으면, 상기 메타 모델 데이터를 분해하고, 분해된 데이터 패킷을 구분하기 위한 구분자를 추가하는 단계를 포함하는, 신재생에너지의 발전량 데이터를 모니터링하는 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 변형 방법.
  17. 제 16 항에 있어서,
    상기 메타 데이터의 태그의 키가 있는 경우, 상기 메타 모델 데이터를 분해하고, 분해된 데이터 패킷을 구분하기 위한 구분자를 추가하는 단계는,
    상기 사물인터넷 통신망의 최대 데이터 패킷 크기에 맞게 사기 메타 모델 데이터를 분해하는 단계를 포함하는, 신재생에너지의 발전량 데이터를 모니터링하는 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 변형 방법.
  18. 에너지 감지 데이터를 생성하는 단계;
    클라이언트가 상기 에너지 감지데이터를 수신하여 이를 메타 모델과 메타 데이터를 포함하는 메타 모델 데이터로 변환하는 단계;
    상기 메타 모델 데이터를 분할 압축하여 패킷 메타 모델 데이터를 생성하는 단계;
    상기 패킷 메타 모델 데이터를 사물인터넷 통신망을 통해 서버로 전송하는 단계; 및
    상기 서버가 상기 패킷 메타 모델 데이터를 파싱하여 상기 메타 모델 데이터를 출력하는 단계를 포함하고,
    상기 사물 인터넷 통신망이 복수의 서브 통신망으로 구성되고,
    상기 패킷 메타 모델 데이터를 사물인터넷 통신망을 통해 서버로 전송되는 단계는,
    상기 복수의 서브 통신망을 통해 분할된 복수의 상기 패킷 메타 모델 데이터가 각각 상기 서버로 전송되는 단계를 포함하는, 신재생에너지의 발전량 데이터를 모니터링하는 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 변형 방법.
  19. 제 18 항에 있어서,
    상기 서버가 상기 패킷 메타 모델 데이터를 파싱하여 상기 메타 모델 데이터를 출력하는 단계는,
    상기 패킷 메타 모델 데이터에 대하여, 상기 서브 통신망 아이디 정보 및 수신 시간 정보을 포함하는 파일명으로 저장하는 단계를 포함하는, 신재생에너지의 발전량 데이터를 모니터링하는 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 변형 방법.
  20. 제 19 항에 있어서,
    상기 서버가 상기 패킷 메타 모델 데이터를 파싱하여 상기 메타 모델 데이터를 출력하는 단계는,
    상기 수신된 상기 패킷 메타 모델 데이터를 누적 저장하는 단계를 포함하는, 신재생에너지의 발전량 데이터를 모니터링하는 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 변형 방법.
  21. 제 20 항에 있어서,
    상기 서버가 상기 패킷 메타 모델 데이터를 파싱하여 상기 메타 모델 데이터를 출력하는 단계는,
    상기 패킷 메타 모델 데이터를 저장할 때마다 con 태그를 검사하는 단계;
    상기 con 태그의 검사 결과에 따라, 상기 패킷 메타 모델 데이터가 상기 메타 모델 데이터의 마지막 데이터 내용을 가지고 있다고 판단되면, 그동안 누적된 패킷 메타 모델 데이터를 하나의 패킷으로 통합하여 통합 패킷 데이터를 생성하는 단계; 및
    상기 통합 패킷 데이터를 데이터베이스에 구비되는 키테이블 크리에이터를 통해 생성되는 키테이블을 이용하여 상기 메타 모델 데이터로 복원하는 단계를 포함하는, 신재생에너지의 발전량 데이터를 모니터링하는 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 변형 방법.
  22. 제 20 항에 있어서,
    상기 서버가 상기 패킷 메타 모델 데이터를 파싱하여 상기 메타 모델 데이터를 출력하는 단계는,
    상기 패킷 메타 모델 데이터의 누적 저장 횟수를 카운팅하는 단계;
    상기 누적 저장 획수와, 상기 패킷 메타 모델 데이터의 헤더 패킷에 저장된 분할 패킷 수 정보와 비교하여 매칭되면, 누적 저장된 패킷 메타 모델 데이터를 하나의 패킷으로 통합하여 통합 패킷 데이터를 생성하는 단계를 포함하는, 신재생에너지의 발전량 데이터를 모니터링하는 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 변형 방법.
  23. 에너지 감지 데이터를 생성하는 단계;
    클라이언트가 상기 에너지 감지데이터를 수신하여 이를 메타 모델과 메타 데이터를 포함하는 메타 모델 데이터로 변환하는 단계;
    상기 메타 모델 데이터를 분할 압축하여 패킷 메타 모델 데이터를 생성하는 단계;
    상기 패킷 메타 모델 데이터를 사물인터넷 통신망을 통해 서버로 전송하는 단계; 및
    상기 서버가 상기 패킷 메타 모델 데이터를 파싱하여 상기 메타 모델 데이터를 출력하는 단계를 포함하고,
    상기 에너지 감지 데이터를 생성하는 단계는,
    발전설비로부터 획득되는 오리지널 에너지 감지 데이터를 생성하는 단계, 상기 오리지널 에너지 감지 데이터는, 오리지널 메타 모델과, 오리지널 메타 모델 데이터를 포함함;
    데이터베이스 생성기를 통해 상기 오리지널 메타 모델을 이용하여 데이터베이스를 생성하는 단계; 및
    상기 오리지널 메타 모델 데이터를 데이터베이스 삽입기를 통해 상기 데이터베이스에 삽입하여 상기 에너지 감지 데이터를 생성하는 단계를 포함하는, 신재생에너지의 발전량 데이터를 모니터링하는 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 변형 방법.
  24. 키테이블을 생성하는 키테이블 크리에이터 및 상기 키테이블을 저장하는 디비 메모리를 포함하는 데이터베이스;
    신재생 에너지 생산 설비로부터 에너지 감지데이터를 수신하고, 이를 메타 모델과 메타데이터를 포함하는 메타 모델 데이터로 변환하고, 상기 키테이블을 이용하여 상기 메타 모델 데이터를 분할 압축하여 패킷 메타 모델 데이터를 생성하는 클라이언트; 및
    상기 클라이언트로부터 패킷 메타 모델 데이터를 사물인터넷 통신망을 통해 수신하고 상기 패킷 메타 모델 데이터를 파싱하여 상기 메타 모델 데이터로 복원하여 출력하는 서버를 포함하는, 신재생에너지의 발전량 데이터를 모니터링하기 위한 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 전송 시스템.
  25. 제 24 항에 있어서,
    상기 사물 인터넷 통신망은, LoRa 망인, 신재생에너지의 발전량 데이터를 모니터링하기 위한 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 전송 시스템.
  26. 제 24 항에 있어서,
    상기 클라이언트는, 상기 데이터베이스로부터 키테이블을 수신받고, 이를 이용하여 상기 메타 모델 데이터를 분할 압축하여 상기 패킷 메타 모델 데이터를 생성하는, 데이터 패킷 크리에이터를 포함하는, 신재생에너지의 발전량 데이터를 모니터링하기 위한 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 전송 시스템.

  27. 제 24 항에 있어서,
    상기 서버는,
    상기 데이터베이스로부터 키테이블을 수신받고, 이를 이용하여 상기 패킷 메타 모델 데이터를 파싱하여 복원하는 데이터 패킷 파서를 포함하는, 신재생에너지의 발전량 데이터를 모니터링하기 위한 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 전송 시스템.
  28. 제 24 항에 있어서,
    상기 데이터베이스는,
    상기 메타 모델 데이터를 이용하여 키테이블을 생성하는 키테이블 크리에이터를 포함하는, 신재생에너지의 발전량 데이터를 모니터링하기 위한 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 전송 시스템.
KR1020180000601A 2018-01-03 2018-01-03 신재생에너지의 발전량 데이터를 모니터링하는 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 변형 방법 및 신재생에너지의 발전량 데이터를 모니터링하기 위한 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 전송 시스템 KR102035706B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020180000601A KR102035706B1 (ko) 2018-01-03 2018-01-03 신재생에너지의 발전량 데이터를 모니터링하는 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 변형 방법 및 신재생에너지의 발전량 데이터를 모니터링하기 위한 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 전송 시스템
US15/966,480 US10742772B2 (en) 2018-01-03 2018-04-30 Method for transforming data for low volume transmission of meta model based protocol which monitors power amount data of new renewable energy, and system for transmitting data for low volume transmission of meta model based protocol which monitors power amount data of new renewable energy

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180000601A KR102035706B1 (ko) 2018-01-03 2018-01-03 신재생에너지의 발전량 데이터를 모니터링하는 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 변형 방법 및 신재생에너지의 발전량 데이터를 모니터링하기 위한 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 전송 시스템

Publications (2)

Publication Number Publication Date
KR20190088112A KR20190088112A (ko) 2019-07-26
KR102035706B1 true KR102035706B1 (ko) 2019-11-18

Family

ID=67058581

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180000601A KR102035706B1 (ko) 2018-01-03 2018-01-03 신재생에너지의 발전량 데이터를 모니터링하는 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 변형 방법 및 신재생에너지의 발전량 데이터를 모니터링하기 위한 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 전송 시스템

Country Status (2)

Country Link
US (1) US10742772B2 (ko)
KR (1) KR102035706B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110505209B (zh) * 2019-07-19 2020-12-11 视联动力信息技术股份有限公司 一种产品链框架的处理方法、系统、电子设备和存储介质
US11875261B2 (en) * 2020-10-16 2024-01-16 Ford Global Technologies, Llc Automated cross-node communication in distributed directed acyclic graph

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101998503B (zh) * 2009-08-12 2013-03-13 中国科学院沈阳自动化研究所 面向混合拓扑结构无线传感器网络的两级包聚合方法
KR101066610B1 (ko) * 2009-12-23 2011-09-21 주식회사 휴먼앤소프트웨어 Xml과 json 데이터의 압축 및 분할 전송시스템
US8238290B2 (en) * 2010-06-02 2012-08-07 Erik Ordentlich Compressing data in a wireless multi-hop network
EP2580899B1 (en) * 2010-06-11 2014-04-30 ABB Research LTD An energy efficient method for communication between a wireless sensor network and an industrial control system
WO2016118979A2 (en) * 2015-01-23 2016-07-28 C3, Inc. Systems, methods, and devices for an enterprise internet-of-things application development platform
KR101713625B1 (ko) * 2015-07-29 2017-03-08 조선대학교산학협력단 향토산업과 연관된 환경정보 데이터를 수집 및 분석하기 위한 시스템 및 그 방법
US10129227B2 (en) * 2015-12-23 2018-11-13 Mcafee, Llc Sensor data collection, protection, and value extraction
US10321210B2 (en) * 2016-07-19 2019-06-11 Hitachi, Ltd. Sensor system and method of collecting data
WO2018031026A1 (en) * 2016-08-12 2018-02-15 Intel Corporation Low power wide area internet protocol communication
EP3563521A1 (en) * 2016-12-30 2019-11-06 INTEL Corporation Service provision to iot devices
US10511696B2 (en) * 2017-05-17 2019-12-17 CodeShop, B.V. System and method for aggregation, archiving and compression of internet of things wireless sensor data
US10833923B2 (en) * 2017-10-26 2020-11-10 Skylo Technologies Inc. Dynamic multiple access for distributed device communication networks with scheduled and unscheduled transmissions

Also Published As

Publication number Publication date
US10742772B2 (en) 2020-08-11
KR20190088112A (ko) 2019-07-26
US20190208039A1 (en) 2019-07-04

Similar Documents

Publication Publication Date Title
Lelewer et al. Data compression
US9300764B2 (en) High efficiency binary encoding
US8015218B2 (en) Method for compressing/decompressing structure documents
EP1122655A2 (en) Data compression apparatus, database system, data communication system, data compression method, storage medium and program transmission apparatus
US8452093B2 (en) Efficient histogram storage
CN101178709A (zh) 日志记录系统和方法
CN109670081B (zh) 业务请求处理的方法及装置
KR102035706B1 (ko) 신재생에너지의 발전량 데이터를 모니터링하는 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 변형 방법 및 신재생에너지의 발전량 데이터를 모니터링하기 위한 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 전송 시스템
KR102087272B1 (ko) 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 변형 방법 및 메타 모델 기반 프로토콜의 저용량 전송을 위한 데이터 전송 시스템
US20070112810A1 (en) Method for compressing markup languages files, by replacing a long word with a shorter word
CN103294652A (zh) 一种数据转换方法及系统
US7530017B2 (en) Document transformation system
CN101997643B (zh) 一种电子文件封装的方法及系统
CN103646015B (zh) 发送、接收以及传输xml报文的方法和系统
CN104717082A (zh) 业务模型的适配方法及系统
CN113239039B (zh) 动态数据的存储方法、查询方法、管理方法及管理系统
Korman et al. Labeling schemes for weighted dynamic trees
US20050216896A1 (en) Data communication via tanslation map exchange
CN113076107A (zh) 一种通过有限状态机对日志进行自动采集融合的方法
US20050091405A1 (en) Method and system for using multiple data type representations to deliver data objects to components in a distributed system
CN113641352B (zh) 一种自动生成snmp代码的方法及系统
KR20030083904A (ko) Xml 문서의 구조정보 처리방법
KR20060033633A (ko) 단일테이블을 이용한 성능관리 데이터 처리장치 및 그 방법
CN115617348A (zh) 一种关系型时序数据处理方法、装置、设备及存储介质
CN117170908A (zh) 基于网络系统异构数据的数据交换方法、系统及装置

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