KR101707649B1 - 중앙 집중식 데이터 송수신 장치 및 그 방법 - Google Patents
중앙 집중식 데이터 송수신 장치 및 그 방법 Download PDFInfo
- Publication number
- KR101707649B1 KR101707649B1 KR1020150135581A KR20150135581A KR101707649B1 KR 101707649 B1 KR101707649 B1 KR 101707649B1 KR 1020150135581 A KR1020150135581 A KR 1020150135581A KR 20150135581 A KR20150135581 A KR 20150135581A KR 101707649 B1 KR101707649 B1 KR 101707649B1
- Authority
- KR
- South Korea
- Prior art keywords
- serialization
- data
- serialized
- agent unit
- programming language
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/06—Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
-
- G06F17/2247—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/03—Protocol definition or specification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
Abstract
중앙 집중식 데이터 송수신 장치 및 그 방법이 개시된다. 중앙 집중식 데이터 송수신 장치는 제1 장비에 대한 데이터를 제1 직렬화 객체를 통해 직렬화 메시지로 생성하여 전송하는 제1 에이전트부와 제2 장비에 대한 데이터를 제2 직렬화 객체를 통해 직렬화 메시지로 생성하여 전송하는 제2 에이전트부, 그리고 제1 에인전트부 및 제2 에이전트부로부터 수신한 직렬화 메시지를 역직렬화 객체를 통해 역직렬화하여 데이터를 파악하는 미들웨어부를 포함한다.
Description
본 발명은 복수의 장비에 대한 계측 등을 수행하는 공장 자동화 시스템 등에 적용할 수 있는 중앙 집중식 데이터 송수신 장치 및 그 방법에 관한 것이다.
공장 자동화 시스템은 많은 종류의 장비들의 관리 및 제어를 위한 데이터의 송수신이 필요하다. 그러나 각 공장 장비마다 계측 또는 제어를 위한 데이터 포맷이 서로 상이할 뿐만 아니라 각 장비의 계측 또는 제어를 위한 제어 프로그램의 작성 언어도 서로 상이하다.
따라서 공장 자동화 시스템에서 중앙서버는 각 장비에 대해 서로 다른 프로토콜을 통해 데이터를 송수신하여야 하는 불편함이 따른다. 이를 해결하기 위한 방법으로 종래 XML(eXtensible Markup Language)을 이용하여 문자열 방식으로 각 장비와 데이터를 송수신하는 방법이 있다. 그러나 XML은 송수신되는 데이터의 크기가 클 뿐만 아니라 XML 파싱 과정에서 데이터 손실이 발생할 수 있다.
본 발명이 이루고자 하는 기술적 과제는, 서로 다른 프로토콜을 가진 복수의 장비를 포함하는 공장 자동화 시스템 등에서 각 장비의 메시지를 직렬화하여 객체 지향의 통신을 수행할 수 있도록 하는 중앙 집중식 데이터 송수신 장치 및 그 방법을 제공하는 데 있다.
상기의 기술적 과제를 달성하기 위한, 본 발명에 따른 중앙 집중식 데이터 송수신 장치의 일 예는, 제1 장비에 대한 데이터를 제1 직렬화 객체를 통해 직렬화 메시지로 생성하여 전송하는 제1 에이전트부; 제2 장비에 대한 데이터를 제2 직렬화 객체를 통해 직렬화 메시지로 생성하여 전송하는 제2 에이전트부; 및 상기 제1 에인전트부 및 상기 제2 에이전트부로부터 수신한 직렬화 메시지를 역직렬화 객체를 통해 역직렬화하여 데이터를 파악하는 미들웨어부;를 포함한다.
상기의 기술적 과제를 달성하기 위한, 본 발명에 따른 중앙 집중식 데이터 송수신 방법의 일 예는, 각 장비에 구현된 에이전트부는, 장비에 대한 데이터를 직렬화 객체의 바디 객체를 통해 직렬화한 바디 직렬화 데이터를 생성하는 단계; 상기 바디 직렬화 데이터의 압축 또는 암호화 여부를 결정하는 단계; 상기 압축 또는 암호화 여부를 포함하는 정보를 포함하는 헤더 데이터를 상기 직렬화 객체의 헤더 객체를 통해 직렬화한 헤더 직렬화 데이터를 생성하는 단계; 및 상기 헤더 직렬화 데이터 및 상기 바디 직렬화 데이터를 포함하는 직렬화 메시지를 전송하는 단계;를 포함한다.
본 발명에 따르면, 직렬화 객체를 이용하여 구조화된 데이터를 직렬화하여 직접 전송하므로 별도의 파싱 과정을 수행할 필요가 없어 파싱 과정 등에서 발생할 수 있는 데이터 손실을 예방할 수 있다. 또한 객체 지향의 통신을 위한 직렬화 객체를 각 장비의 프로그래밍 언어에 맞게 자동으로 생성할 수 있어, 서로 다른 프로그래밍 언어로 구현된 복수의 장비를 포함하는 공장 자동화 시스템에 효과적으로 적용할 수 있다.
도 1은 본 발명에 따른 중앙 집중식 데이터 송수신을 위한 전체 시스템의 개략적인 구조를 도시한 도면,
도 2는 본 발명에 따른 직렬화 객체의 생성 방법의 일 예를 도시한 도면,
도 3은 본 발명에 따른 직렬화 데이터 구조의 일 예를 도시한 도면,
도 4 내지 도 7은 본 발명에 따라, 직렬화 데이터 구조를 각 프로그래밍 언어의 직렬화 객체로 생성한 일 예를 도시한 도면,
도 8은 본 발명에 따른 직렬화 객체 생성 방법의 일 예를 도시한 흐름도,
도 9는 본 발명에 따른 직렬화 객체 생성 방법의 다른 일 예를 도시한 흐름도,
도 10은 본 발명에 따른 직렬화 객체를 이용한 데이터 송신 방법의 일 예를 도시한 도면,
도 11은 본 발명에 따른 직렬화 객체를 이용한 직렬화한 메시지를 수신하는 방법의 일 예를 도시한 도면, 그리고,
도 12는 본 발명에 따른 직렬화 송수신 과정의 일 예를 도시한 도면이다.
도 2는 본 발명에 따른 직렬화 객체의 생성 방법의 일 예를 도시한 도면,
도 3은 본 발명에 따른 직렬화 데이터 구조의 일 예를 도시한 도면,
도 4 내지 도 7은 본 발명에 따라, 직렬화 데이터 구조를 각 프로그래밍 언어의 직렬화 객체로 생성한 일 예를 도시한 도면,
도 8은 본 발명에 따른 직렬화 객체 생성 방법의 일 예를 도시한 흐름도,
도 9는 본 발명에 따른 직렬화 객체 생성 방법의 다른 일 예를 도시한 흐름도,
도 10은 본 발명에 따른 직렬화 객체를 이용한 데이터 송신 방법의 일 예를 도시한 도면,
도 11은 본 발명에 따른 직렬화 객체를 이용한 직렬화한 메시지를 수신하는 방법의 일 예를 도시한 도면, 그리고,
도 12는 본 발명에 따른 직렬화 송수신 과정의 일 예를 도시한 도면이다.
이하에서, 첨부된 도면들을 참조하여 본 발명에 따른 중앙 집중식 데이터 송수신 장치 및 그 방법에 대해 상세히 설명한다.
도 1은 본 발명에 따른 중앙 집중식 데이터 송수신을 위한 전체 시스템의 개략적인 구조를 도시한 도면이다.
도 1을 참조하면, 중앙 집중식 송수신 시스템은 미들웨어부(100), 객체생성부(110), 각 장비(130,132,134)에 구현된 각 에이전트부(120,122,124) 및 서버(140)를 포함한다.
미들웨어부(100)를 중심으로 복수의 에이전트부(120,122,124)가 존재하며, 각 에이전트부(120,122,124)는 미들웨어부(100)와 데이터를 송수신한다. 즉, 각 에이전트부(120,122,124)가 전송한 데이터는 미들웨어부(100)에 집중되며, 미들웨어부(100)는 각 에이전트부(120,122,124)로부터 수신한 데이터를 수신하여 서버(140) 등에 제공하거나 서버(140)로부터 각종 제어 명령을 전달받아 해당하는 에이전트부(120,122,124)에 전달한다.
에이전트부(120,122,124)는 각 장비(130,132,134)마다 구현되어 있으며, 각 장비의 계측정보나 제어정보 등을 포함하는 데이터를 미들웨어부(100)와 송수신한다. 그러나 장비의 종류가 다양하므로 장비별 에이전트부(120,122,124)가 계측하거나 수집하는 정보의 종류가 서로 상이할 수가 있다. 또한 동일한 종류의 장비라고 하여도 에이전트부(120,122,124)를 구현한 프로그래밍 언어에 따라 에이전트부(120)가 생성하는 데이터 구조가 서로 상이할 수 있다. 예를 들어, 제1 장비(130)의 제1 에이전트부(120)가 자바(Java) 계열 언어로 구현되고, 제2 장비(132)의 제2 에이전트부(122)가 C 계열 언어로 구현된 경우에, 제1 에이전트부(120)는 프리미티브 변수(primitive variable)를 구성하는 엔디안(endian)으로 빅 엔디안(Big Endian)을 사용하고, 제2 에이전트부(122)는 리틀 엔디안(little Endian)을 사용한다.
따라서 미들웨어부(100)는 정보의 수집 종류가 일치하지 않거나 서로 다른 프로그래밍 언어로 구현된 복수의 에이전트부(120,122,124)와 데이터를 송수신하기 위해서, 각 에이전트부(120,122,124)가 어떠한 데이터 구조를 사용하는지 미리 파악하고 있어야 한다. 그러나 공장 자동화 시스템 등과 같이 매우 많은 종류의 장비가 존재하는 경우에 에이전트들(120,122,124)의 데이터 구조를 일일이 파악하여 미들웨어부(100)에 등록하는 것은 많은 시간과 노력이 소요된다. 그렇다고 각 장비에 구현된 에이전트들(120,122,124)을 일일이 하나의 데이터 구조로 통일화시키는 것 또한 에이전트 그 자체를 다시 작성하여야 하므로 바람직하지 않다.
따라서 본 실시 예는, 미들웨어부(100)와 각 에이전트부(120,122,124) 사이에 데이터 송수신을 위한 직렬화 데이터 구조를 정의하고, 그 직렬화 데이터 구조를 각 에이전트부(120,122,124)를 구성하는 프로그램 언어에 적합한 직렬화 객체로 자동 생성하여 각 에이전트(120,122,124)에 할당하는 객체 생성부(110)를 포함한다.
본 실시 예는 설명의 편의를 위하여 객체 생성부(110)와 미들웨어부(100)를 별개의 구성으로 도시하였으나, 반드시 이에 한정되는 것은 아니며 객체 생성부(110)가 미들웨어부(100)의 일부로 구현될 수도 있다. 미들웨어부(100) 또한 서버(140)의 일부 구성으로 구현될 수도 있다.
도 2는 본 발명에 따른 직렬화 객체의 생성 방법의 일 예를 도시한 도면이다.
도 2를 참조하면, 객체 생성부(110)는 복수의 맵핑 라이브러리(210,212,214)를 이용하여 직렬화 데이터 구조(200)로부터 복수의 직렬화 객체(220,222,224)를 생성한다. 직렬화 데이터 구조(200)는 C 계열 언어 등과 같은 종래의 다양한 프로그램밍 언어로 작성될 수 있다. 다른 예로, 직렬화 데이터 구조(200)는 종래 프로그래밍 언어가 아니라 데이터 구조를 정의할 수 있는 다양한 형태의 문법 체계를 새롭게 정의하여 사용할 수 있다. 직렬화 데이터 구조(200)의 일 예는 도 4 내지 도 7에 도시되어 있다.
맵핑 라이브러리(210,212,214)는 서로 다른 프로그램 언어 사이의 대응관계를 정의한 라이브러리이다. 본 실시 예는 서로 다른 다양한 언어별 대응관계를 정의한 맵핑 라이브러리가 미리 정의되어 있다고 가정한다. 예를 들어, 제1 맵핑 라이브러리(210)는 제1 프로그래밍 언어(예를 들어, C 계열 언어)와 제2 프로그래밍 언어(예를 들어, 자바 계열 언어) 사이의 맵핑관계를 정의하고 있으며, 객체 생성부(110)는 제1 프로그래밍 언어로 정의된 직렬화 데이터 구조(200)를 제1 맵핑 라이브러리(210)를 통해 제2 프로그래밍 언어의 직렬화 객체(220)로 변환할 수 있다.
도 1을 참조하여 다시 설명하면, 장비1(130)의 에이전트부(120)가 C 계열 언어로 구현되어있고, 장비2(132)의 에이전트부(122)가 Java 계열 언어로 구현되어 있다면, 객체 생성부(110)는 직렬화 데이터 구조(200)로부터 C 계열 언어 및 자바 계열 언어의 각 직렬화 객체를 자동으로 생성하여 각 장비의 에이전트부(120,122)에게 할당한다.
객체 생성부(110)에 의해 생성된 각 프로그래밍 언어에 적합한 직렬화 객체는 미들웨어부(100)에서 인식 가능한 하나의 엔디안으로 통일된다. 예를 들어, 자바 계열 언어는 빅 엔디안을 사용하지만, 미들웨어부(100)가 리틀 엔디안을 사용하는 경우, 객체 생성부(110)에 의해 생성된 자바 계열 언어의 직렬화 객체는 리틀 엔디안으로 생성될 수 있다.
본 실시 예는 맵핑 라이브러리(210,212,214)를 이용하는 경우를 도시하고 있으나, 다른 예로 종래의 다양한 언어 변환 프로그램을 이용하여 제1 프로그래밍 언어로 작성된 직렬화 데이터 구조(200)를 원하는 제2 프로그래밍 언어의 직렬화 객체로 변환할 수 있다.
도 3은 본 발명에 따른 직렬화 데이터 구조의 일 예를 도시한 도면이다.
도 3을 참조하면, 직렬화 데이터 구조를 포함한 프로토콜 파일(300)은 헤더(302)와 바디(304)로 구성된다. 객체 생성부(110)는 직렬화 데이터 구조가 정의된 프로토콜 파일로부터 각 언어별 직렬화 객체(310,312,314)를 생성한다. 각 언어별 직렬화 객체(310,312,314)는 직렬화 데이터 구조의 헤더(302) 및 바디(304)에 각각 대응되는 헤더 객체와 바디 객체로 구성된다.
헤더(302)는 직렬화 데이터 구조의 바디(304)에 포함되는 데이터 타입과 바디(304)의 압축 또는 암호화 여부를 나타내는 정보를 포함한다. 바디(304)는 헤더(302)에 정의된 데이터 타입의 조합으로 정의된 데이터 구조에 따라 데이터를 포함한다.
예를 들어, 객체 생성부(110)는 도 4 및 도 5와 같이, 직렬화 데이터 구조의 헤더를 각각 자바 계열 언어 및 C 계열 언어의 헤더 객체로 변환하고, 직렬화 데이터 구조의 바디를 도 6 및 도 7과 같이 각각 자바 계열 언어 및 C 계열 언어의 바디 객체로 변환할 수 있다.
도 8은 본 발명에 따른 직렬화 객체 생성 방법의 일 예를 도시한 흐름도이다.
도 8을 참조하면, 객체 생성부는 직렬화 데이터 구조가 정의된 프로토콜 파일을 입력받는다(S800). 사용자는 다양한 프로그램 언어 작성 툴이나, 일반적인 문서 편집 툴 등을 이용하여, 헤더와 바디로 구성되는 직렬화 데이터 구조를 정의하여 프로토콜 파일로 저장할 수 있다.
객체 생성부는 정의된 직렬화 데이터 구조를 다양한 맵핑 라이브러리를 이용하여 원하는 언어의 직렬화 객체로 생성한다(S810). 그리고 객체 생성부는 직렬화 객체를 해당 에이전트에게 배포한다(S820).
예를 들어, 도 1에서 장비1(130)의 에이전트부(120)가 C 계열 언어로 구현되고, 장비2(132)의 에이전트부(122)가 자바 계열 언어로 구현되어 있는 경우에, 객체 생성부(110)는 C 계열 언어의 직렬화 객체를 장비1(130)의 에이전트부(120)에게 배포하고, 자바 계열 언어의 직렬화 객체를 장비2(132)의 에이전트부(122)에게 배포한다.
이때, 실시 예에 따라 객체 생성부(110)는 각 장비의 에이전트부(120,122,124)를 구현한 언어 정보를 각 에이전트부(120,122,124) 또는 사용자로부터 입력받은 후 각 에이전트부(120,122,124)에 맞는 직렬화 객체를 생성하여 전송할 수 있다. 또 다른 예로, 사용자가 객체 생성부(110)에서 생성된 직렬화 객체를 각 장비의 에이전트(120,122,124)에 직접 입력할 수도 있다. 또 다른 예로, 객체 생성부(110)는 복수의 언어에 대한 직렬화 객체를 연결된 모든 에이전트부(120,122,124)에 전송하고, 각 에이전트부(120,122,124)는 수신한 복수의 직렬화 객체 중 자신에게 맞는 직렬화 객체를 선택하여 사용할 수 있다.
객체 생성부(110)는 필요에 따라 미들웨어부(100)를 위한 역직렬화 객체를 생성할 수 있다. 예를 들어, 미들웨어부(100)에서 사용하는 프로그래밍 언어와 직렬화 데이터 구조를 정의한 프로그래밍 언어가 동일한 경우에, 미들웨어부(100)는 직렬화 데이터 구조를 그대로 역직렬화 객체로 사용할 수 있다. 그러나 직렬화 데이터 구조를 정의한 프로그래밍 언어와 미들웨어부(100)의 프로그래밍 언어가 상이한 경우에, 객체 생성부(110)는 맵핑 라이브러리를 이용하여 미들웨어부(100)의 프로그래밍 언어에 맞는 역직렬화 객체를 생성할 수 있다.
본 실시 예는, 객체 생성부(110)가 서로 다른 언어의 직렬화 객체를 직접 생성하여 각 에이전트에 전송하는 경우를 제시하고 있으나, 직렬화 객체의 생성은 객체 생성부(110)가 아닌 각 에이전트(120,122,124)에서 수행될 수 있으며, 이는 도 9에서 설명한다.
도 9는 본 발명에 따른 직렬화 객체 생성 방법의 다른 일 예를 도시한 흐름도이다.
도 9를 참조하면, 객체 생성부는 직렬화 데이터 구조를 포함하는 프로토콜 파일을 각 에이전트부에 배포한다(S900,S910). 각 장비에 구현된 에이전트부는 프로토콜 파일을 수신하면, 맵핑 라이브러리를 이용하여 프로토콜 파일에 포함된 직렬화 데이터 구조로부터 자신에 맞는 언어의 직렬화 객체를 생성한다(S920).
도 10은 본 발명에 따른 직렬화 객체를 이용한 데이터 송신 방법의 일 예를 도시한 도면이다.
도 10을 참조하면, 각 장비의 에이전트부는 각 장비의 계측정보 등을 포함하는 데이터를 수집한다(S1000). 에이전트부는 수집한 데이터를 직렬화 객체의 바디 객체를 이용하여 바이트 단위로 변화하여 직렬화한 바디 직렬화 데이터를 생성한다(S1010). 에이전트부는 바디 직렬화 데이터를 실시 예에 따라 암호화 또는 압축을 수행하거나 수행하지 않을 수 있다(S1020).
에이전트부는 바디 직렬화 데이터에 대한 암호화 여부 또는 압축 여부에 대한 정보를 포함하는 헤더 정보를 직렬화 객체의 헤더 객체를 이용하여 직렬화한 헤더 직렬화 데이터를 생성한다(1030). 그리고 에이전트부는 헤더 직렬화 데이터 및 바디 직렬화 데이터를 포함하는 직렬화 메시지를 미들웨어부로 전송한다(S1070).
에이전트부는 직렬화 객체를 통해 데이터를 바이트 단위로 직렬화하여 전송하므로 데이터 구조를 정의하기 위한 별도의 정보를 함께 전송하지 않아도 되며, 미들웨어부는 직렬화 객체 대응되는 역직렬화 객체를 통해 수신한 직렬화 데이터를 단순히 역직렬화하여 데이터를 파악하므로 별도의 파싱 과정 등을 수행할 필요가 없다. 다시 말해, 각 에이전트부는 객체 단위로 데이터를 스트림할 뿐 해당 객체의 구조에 대한 정보를 전송하지 않아도 된다.
도 11은 본 발명에 따른 직렬화 객체를 이용한 직렬화한 메시지를 수신하는 방법의 일 예를 도시한 도면이다.
도 11을 참조하면, 미들웨어부는 복수의 에이전트로부터 직렬화 메시지를 수신한다(S1100). 미들웨어부는 역직렬화 객체를 이용하여 수신한 직렬화 데이터를 역직렬화한다. 구체적으로, 미들웨어부는 먼저 직렬화 메시지의 헤더 직렬화 데이터를 먼저 역직렬화한다(S1110). 미들웨어부는 역직렬화를 통해 획득한 헤더 정보를 기초로 바디 직렬화 데이터가 압축 또는 암호화되었는지 확인하여, 필요에 따라 바디 직렬화 데이터의 압축 해제 또는 복호화의 과정을 수행한다(S1130). 그리고 미들웨어부는 암호 또는 복호화된 바디 직렬화 데이터를 역직렬화하여(S1140), 에이전트부가 전송한 데이터를 파악한다(S1150).
도 12는 본 발명에 따른 직렬화 송수신 과정의 일 예를 도시한 도면이다.
도 12를 참조하면, 미들웨어부가 각 장비의 정보 a,b를 각 장비의 에이전트로부터 수신하고자 하는 경우에, 객체 생성부는 정보 a,b에 대한 직렬화 데이터 구조를 각 장비의 에이전트의 언어에 적합한 직렬화 객체를 생성하여 에이전트부에 할당한다.
예를 들어, 본 실시 예의 경우 직렬화 객체(1210) 및 역직렬화 객체(1220)는 정보 a,b를 각각 3바이트(1212,1222) 및 5 바이트(1214,1224)의 데이터 구조로 정의하고 있다고 가정한다. 이 경우, 장비에서 수집가능한 정보(1200)가 a,b,c,d,e라고 하면, 장비의 에이전트는 데이터 구조가 정의된 직렬화 객체(1210)를 통해 정보 a,b 만을 포함하는 직렬화 메시지(1230)를 생성하여 전송한다. 직렬화 메시지는 바이트 단위의 데이터일 뿐 그 자체로 특정 데이터 구조를 나타내지는 않는다. 미들웨어부는 직렬화 메시지를 역직렬화 객체(1220)를 통해 읽어 정보 a,b를 용이하게 파악할 수 있다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광데이터 저장장치 등이 있다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
Claims (7)
- 제1 장비에 대한 데이터를 제2 프로그래밍 언어로 작성된 제1 직렬화 객체를 통해 직렬화 메시지로 생성하여 전송하는 제1 에이전트부;
제2 장비에 대한 데이터를 제3 프로그래밍 언어로 작성된 제2 직렬화 객체를 통해 직렬화 메시지로 생성하여 전송하는 제2 에이전트부; 및
상기 제1 에이전트부 및 상기 제2 에이전트부로부터 수신한 각 직렬화 메시지를 역직렬화 객체를 통해 역직렬화하여 데이터를 파악하는 미들웨어부;를 포함하고,
상기 제2 프로그래밍 언어 및 상기 제3 프로그래밍 언어는 서로 상이하고,
상기 제1 직렬화 객체 및 상기 제2 직렬화 객체는 동일한 직렬화 데이터 구조로 정의되고,
상기 미들웨어부에서, 상기 제1 에이전트로부터 수신한 직렬화 메시지의 역직렬화에 사용되는 역직렬화 객체와 상기 제2 에이전트로부터 수신한 직렬화 메시지의 역직렬화에 사용되는 역직렬화 객체는 동일하고,
상기 직렬화 메시지는 바이트 단위의 데이터이며 데이터 구조에 관한 정보를 포함하지 아니하고,
상기 미들웨어부는 상기 제1 에이전트부 및 상기 제2 에이전트부에서 상기 직렬화 데이터 구조를 포함하는 프로토콜 파일을 전송하여 상기 제1 에이전트부 및 상기 제2 에이전트부가 각각 직접 상기 프로토콜 파일을 이용하여 상기 제1 직렬화 객체 및 상기 제2 직렬화 객체를 생성할 수 있도록 하거나, 상기 프로토콜 파일을 기초로 직접 생성한 상기 제1 직렬화 객체 및 상기 제2 직렬화 객체를 상기 제1 에이전트부 및 상기 제2 에이전트부에게 각각 전송하는 것을 특징으로 하는 중앙 집중식 데이터 송수신 장치. - 삭제
- 제 1항에 있어서,
서로 다른 프로그래밍 언어 사이의 맵핑관계를 정의한 맵핑라이브러리를 이용하여, 제1 프로그래밍 언어로 작성된 직렬화 데이터 구조로부터 상기 제1 에이전트부에서 사용되는 상기 제2 프로그래밍 언어의 제1 직렬화 객체 및 상기 제2 에이전트부에서 사용되는 상기 제3 프로그래밍 언어의 제2 직렬화 객체를 각각 생성하는 객체생성부;를 더 포함하는 것을 특징으로 하는 중앙 집중식 데이터 송수신 장치. - 제 1항에 있어서,
상기 제1 에이전트부는, 제1 프로그래밍 언어로 작성된 직렬화 데이터 구조를 포함하는 프로토콜 파일을 입력받고, 상기 제1 프로그래밍 언어와 상기 제1 에이전트부에서 사용되는 제2 프로그래밍 언어의 맵핑관계가 정의된 제1 맵핑라이브러리를 이용하여 상기 프로토콜 파일로부터 제1 직렬화 객체를 생성하고,
상기 제2 에이전트부는, 상기 프로토콜 파일을 입력받고, 상기 제1 프로그래밍 언어와 상기 제2 에이전트부에서 사용되는 제3 프로그래밍 언어의 맵핑관계가 정의된 제2 맵핑라이브러리를 이용하여 상기 프로토콜 파일로부터 제2 직렬화 객체를 생성하는 것을 특징으로 하는 중앙 집중식 데이터 송수신 장치. - 제 1항에 있어서,
상기 제1 직렬화 객체 또는 상기 제2 직렬화 객체는 데이터 타입을 정의한 헤더 객체 및 상기 데이터 타입의 조합으로 데이터 구조를 정의한 바디(body) 객체로 구성되고,
상기 제1 에이전트부 또는 상기 제2 에이전트부는 헤더 객체 및 바디 객체를 통해 각각 직렬화한 헤더 직렬화 데이터 및 바디 직렬화 데이터, 그리고 상기 바디 직렬화 데이터의 압축 또는 암호화 적용 여부 정보를 포함하는 직렬화 메시지를 생성하여 전송하는 것을 특징으로 하는 중앙 집중식 데이터 송수신 장치. - 삭제
- 삭제
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150135581A KR101707649B1 (ko) | 2015-09-24 | 2015-09-24 | 중앙 집중식 데이터 송수신 장치 및 그 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150135581A KR101707649B1 (ko) | 2015-09-24 | 2015-09-24 | 중앙 집중식 데이터 송수신 장치 및 그 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101707649B1 true KR101707649B1 (ko) | 2017-02-20 |
Family
ID=58265092
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150135581A KR101707649B1 (ko) | 2015-09-24 | 2015-09-24 | 중앙 집중식 데이터 송수신 장치 및 그 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101707649B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107508910A (zh) * | 2017-09-20 | 2017-12-22 | 郑州云海信息技术有限公司 | 一种管理存储设备的方法及Middleware层 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010050408A (ko) * | 1999-09-30 | 2001-06-15 | 야스카와 히데아키 | 프로그램 객체들의 버전-적응가능한 직렬화 및 탈직렬화 |
KR20090007614A (ko) * | 2006-04-27 | 2009-01-19 | 퀄컴 인코포레이티드 | 포터블 객체 직렬화 |
KR20100001434A (ko) | 2008-06-27 | 2010-01-06 | 호서대학교 산학협력단 | 산업장비의 통합 감시를 위한 메시지 변환 장치 |
KR20150059699A (ko) * | 2013-11-22 | 2015-06-02 | 주식회사 케이티 | 소프트웨어 정의 네트워크에서의 제어 메시지 처리 방법 및 장치 |
-
2015
- 2015-09-24 KR KR1020150135581A patent/KR101707649B1/ko active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010050408A (ko) * | 1999-09-30 | 2001-06-15 | 야스카와 히데아키 | 프로그램 객체들의 버전-적응가능한 직렬화 및 탈직렬화 |
KR20090007614A (ko) * | 2006-04-27 | 2009-01-19 | 퀄컴 인코포레이티드 | 포터블 객체 직렬화 |
KR20100001434A (ko) | 2008-06-27 | 2010-01-06 | 호서대학교 산학협력단 | 산업장비의 통합 감시를 위한 메시지 변환 장치 |
KR20150059699A (ko) * | 2013-11-22 | 2015-06-02 | 주식회사 케이티 | 소프트웨어 정의 네트워크에서의 제어 메시지 처리 방법 및 장치 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107508910A (zh) * | 2017-09-20 | 2017-12-22 | 郑州云海信息技术有限公司 | 一种管理存储设备的方法及Middleware层 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109308224B (zh) | 跨平台数据通信、跨平台数据处理的方法、装置及系统 | |
US10467321B2 (en) | Systems and methods for dynamic C# serialization | |
CN100418056C (zh) | 生成方法的系统与方法 | |
CN107943950B (zh) | 一种区块链中数据智能合约生成的方法及系统 | |
KR101027299B1 (ko) | 웹 서비스 통신의 히스토리 구동 최적화를 위한 시스템 및방법 | |
CN113778545A (zh) | 一种数据处理方法、装置、设备和存储介质 | |
CN113467972A (zh) | 通信接口构造方法、装置以及计算机设备、存储介质 | |
US20110295987A1 (en) | Translation of technology-agnostic management commands into multiple management protocols | |
CN114331416A (zh) | 数据处理的方法、装置、电子设备及存储介质 | |
KR102208867B1 (ko) | 이종 디바이스 유형들을 위한 피어-투-피어 분산 컴퓨팅 시스템 | |
KR101707649B1 (ko) | 중앙 집중식 데이터 송수신 장치 및 그 방법 | |
CN112732731B (zh) | 业务数据的消费方法、装置、电子设备和可读存储介质 | |
CN116775392A (zh) | 一种芯片通信的测试方法、装置、电子设备及存储介质 | |
US20200162410A1 (en) | Management of messaging in heterogeneous iot / iiot messaging environments | |
CN105959263B (zh) | 基于json的机构养老数据交互方法及系统 | |
US20090089747A1 (en) | Method and system for managing configuration information | |
Rix et al. | Transformation between XML and CBOR for network load reduction | |
KR20050031954A (ko) | 데이터 객체 전송시스템 및 수신방법 | |
US20240354611A1 (en) | Heterogeneous representation of parametrized quantum circuits | |
CN118092982B (zh) | 一种云原生应用的多集群运维方法、设备及介质 | |
CN116470968B (zh) | 一种面向航天科学系统通讯功能的地面测试方法及装置 | |
KR100754870B1 (ko) | 에스시에이 어댑터 및 이의 운용방법 | |
US8024375B2 (en) | Method and apparatus for processing messages | |
US10567317B2 (en) | Method for generating a dataset defining a message for a constrained application | |
KR100367090B1 (ko) | 에스디엘의 시그널 수신에 의한 전이의 분할방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AMND | Amendment | ||
X091 | Application refused [patent] | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20200210 Year of fee payment: 4 |