KR20210086218A - 대량의 데이터 수집을 위한 인터페이스 미들웨어 시스템 - Google Patents

대량의 데이터 수집을 위한 인터페이스 미들웨어 시스템 Download PDF

Info

Publication number
KR20210086218A
KR20210086218A KR1020190180009A KR20190180009A KR20210086218A KR 20210086218 A KR20210086218 A KR 20210086218A KR 1020190180009 A KR1020190180009 A KR 1020190180009A KR 20190180009 A KR20190180009 A KR 20190180009A KR 20210086218 A KR20210086218 A KR 20210086218A
Authority
KR
South Korea
Prior art keywords
data
middleware
container
unit
middleware container
Prior art date
Application number
KR1020190180009A
Other languages
English (en)
Other versions
KR102312523B1 (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 KR1020190180009A priority Critical patent/KR102312523B1/ko
Publication of KR20210086218A publication Critical patent/KR20210086218A/ko
Application granted granted Critical
Publication of KR102312523B1 publication Critical patent/KR102312523B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3024Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • General Factory Administration (AREA)

Abstract

본 발명의 일 측면에 따른 대량의 데이터 수집을 위한 미들웨어 시스템은, 데이터 수집장치에 의해 수집된 수집 데이터를 수신하는 데이터 수신부; 상기 데이터 수신부로부터 수신된 수집 데이터를 실시간 데이터 및 이벤트 데이터 중 하나로 결정하고, 이벤트 데이터이면, 제1 경로로 상기 이벤트 데이터를 전송하고, 실시간 데이터이면, 상기 제1 경로와 다른 제2 경로로 상기 실시간 데이터를 전송하는 마스터부; 데이터 처리를 위한 미들웨어 컨테이너를 포함하는 복수의 노드들; 상기 복수의 노드들 중 하나에 제1 미들웨어 컨테이너를 생성하고, 상기 생성된 제1 미들웨어 컨테이너에서 상기 이벤트 데이터를 처리하는 이벤트 처리부; 및 상기 복수의 노드들 중 하나에 포함된 제2 미들웨어 컨테이너에서 상기 실시간 데이터를 처리하는 실시간 처리부를 포함한다.

Description

대량의 데이터 수집을 위한 인터페이스 미들웨어 시스템{Interface Middleware System for Collecting Mass Data}
본 발명은 공장관리 시스템에 관한 것으로서, 보다 구체적으로는 스마트 팩토리 플랫폼에 관한 것이다.
공장에서 발생되는 다양한 이벤트를 자동으로 관리함으로써 공장의 생산효율을 향상시키기 위해 공장관리 시스템이 이용되고 있다.
공장관리 시스템의 대표적인 예가 대한민국 공개특허공보 제10-2015-0033847호(발명의 명칭: 실시간 공장상황을 반영한 디지털 팩토리 생산능력 관리 시스템, 2015.04.02. 공개, 이하 선행문헌이라 함)에 개시되어 있다.
특히, 최근에는 센서기술들의 발달에 힘입어 공장의 각 설비들에 센서를 부착하고, 센서들에 의해 센싱된 센싱 데이터들을 이용하여 설비나 공장의 상황을 실시간으로 분석하는 기술이 개발되고 있다. 이러한 기술의 경우, 많은 센서들이 설치될 뿐만 아니라 각 센서들의 센싱주기 또한 짧아 대량의 수집 데이터가 생성된다는 특징이 있다. 이에 따라, 각 센서들로부터 각 센서들이 생성한 수집 데이터를 누락 없이 수신할 수 있어야만 정확한 분석을 수행할 수 있다.
하지만, 선행문헌을 비롯한 대부분의 공장 관리 시스템은 데이터 수집주기가 짧고 데이터의 양이 많은 공장환경에는 그대로 적용할 수 없어, 짧은 주기로 발생하는 대량의 수집 데이터를 수신할 수 없거나, 수신할 수 있다 하더라도 방대한 양의 수집 데이터로 인해 수집 데이터 정합성 판단에 많은 시간이 소요될 수 있다는 문제점이 있다.
공장 관리 시스템은 대량의 데이터를 수집하기 위하여 별도의 미들웨어 장치를 포함할 수 있다. 이때, 미들웨어 장치는 각 공장마다 배치되며, 서로 다른 프로토콜을 지원하는 다양한 종류의 센서들과 통신하게 위하여 각 센서들이 지원하는 프로토콜의 유형에 따라 별도로 구비해야 한다. 더 나아가, 시스템 다운과 같은 예상하지 못한 상황이 발생할 때, 하나의 미들웨어 장치가 동작하지 않더라도 다른 미들웨어 장치에서 연속하여 데이터 수집이 가능하도록 하여, 데이터 유실이 발생하는 것을 방지할 필요가 있다.
이러한 기존의 공장 관리 시스템은 미들웨어 장치를 신규 또는 추가로 구축하는데 많은 비용이 필요하고, 데이터 발생량에 따라 자원 조절이 불가능하여 자원의 낭비가 발생할 수 있다.
본 발명은 상술한 문제점을 해결하기 위한 것으로서, 대량의 수집 데이터를 실시간 처리할 수 있는 대량의 데이터 수집을 위한 인터페이스 미들웨어 시스템을 제공하는 것을 기술적 과제로 한다.
또한, 본 발명은 미들웨어 장치의 구축 비용을 감소시킬 수 있는 대량의 데이터 수집을 위한 인터페이스 미들웨어 시스템을 제공하는 것을 다른 기술적 과제로 한다.
또한, 본 발명은 시스템 자원을 효율적으로 사용할 수 있는 대량의 데이터 수집을 위한 인터페이스 미들웨어 시스템을 제공하는 것을 또 다른 기술적 과제로 한다.
상기 목적을 달성하기 위한 본 발명의 일 측면에 따른 대량의 데이터 수집을 위한 미들웨어 시스템은 데이터 수집장치에 의해 수집된 수집 데이터를 수신하는 데이터 수신부; 데이터 수신부로부터 수신된 수집 데이터를 실시간 데이터 및 이벤트 데이터 중 하나로 결정하고, 이벤트 데이터이면, 제1 경로로 이벤트 데이터를 전송하고, 실시간 데이터이면, 제1 경로와 다른 제2 경로로 실시간 데이터를 전송하는 마스터부; 데이터 처리를 위한 미들웨어 컨테이너를 포함하는 복수의 노드들; 복수의 노드들 중 하나에 제1 미들웨어 컨테이너를 생성하고, 생성된 제1 미들웨어 컨테이너에서 이벤트 데이터를 처리하는 이벤트 처리부; 및 복수의 노드들 중 하나에 포함된 제2 미들웨어 컨테이너에서 실시간 데이터를 처리하는 실시간 처리부를 포함한다.
본 발명에 따르면, 이벤트의 수집 데이터가 발생할 때 미들웨어 컨테이너를 생성하고, 이벤트의 수집 데이터에 대한 처리가 완료되면, 해당 미들웨어 컨테이너를 삭제할 수 있다. 이에 따라, 본 발명은 이벤트의 수집 데이터를 처리하기 위한 미들웨어 컨테이너가 불필요하게 자원을 점유하는 것을 방지할 수 있다. 본 발명은 자원을 효율적으로 사용할 수 있다.
또한, 본 발명에 따르며, 실시간의 수집 데이터를 미리 생성된 미들웨어 컨테이너를 이용하여 데이터를 처리할 수 있다. 이에 따라, 본 발명은 빠른 주기로 발생하여 발생 빈도가 높은 실시간의 수집 데이터를 빠르게 처리할 수 있다.
또한, 본 발명에 따르면, 복수의 미들웨어 컨테이너 생성 이미지들을 관리하고, 노드에 미들웨어 컨테이너 생성 이미지를 가져와서 실행만 하면, 미들웨어 컨테이너가 생성될 수 있다. 이에 따라, 본 발명은 재설치 없이 간편하게 원하는 시점에 미들웨어 컨테이너를 생성 및 배포할 수 있다.
또한, 본 발명에 따르면, 데이터 양 및 발생 빈도에 따라 미들웨어 확장이 가능하다. 이에 따라, 본 발명은 데이터가 급격하게 증가하더라도, 데이터 처리가 중단되거나 데이터가 유실되지 않고 빠른 데이터 처리가 가능할 수 있다.
또한, 본 발명에 따르면, 데이터 양 및 발생 빈도에 따라 미들웨어 축소가 가능하다. 이에 따라, 본 발명은 불필요하게 자원이 낭비되는 것을 방지할 수 있다.
도 1은 본 발명의 일 실시예에 따른 스마트 팩토리 아키텍처를 보여주는 도면이다.
도 2는 본 발명의 일 실시예에 따른 대량의 데이터 수집을 위한 인터페이스 미들웨어 시스템의 구성을 보여주는 도면이다.
도 3은 도 2의 미들웨어부의 구성을 보여주는 블록도이다.
도 4는 도 3의 미들웨어 컨테이너에 포함된 전치리부의 구성을 보여주는 블록도이다.
도 5는 도 2의 로깅 관리부의 구성을 보여주는 블록도이다.
도 6은 본 발명의 일 실시예에 따른 인터페이스 미들웨어 시스템의 동작방법을 보여주는 플로우차트이다.
이하, 첨부되는 도면을 참고하여 본 발명의 실시예들에 대해 상세히 설명한다.
본 명세서에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 정의하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다.
"포함하다" 또는 "가지다" 등의 용어는 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
"적어도 하나"의 용어는 하나 이상의 관련 항목으로부터 제시 가능한 모든 조합을 포함하는 것으로 이해되어야 한다. 예를 들어, "제1 항목, 제2 항목 및 제 3항목 중에서 적어도 하나"의 의미는 제1 항목, 제2 항목 또는 제3 항목 각각 뿐만 아니라 제1 항목, 제2 항목 및 제3 항목 중에서 2개 이상으로부터 제시될 수 있는 모든 항목의 조합을 의미한다.
도 1은 본 발명에 따른 스마트 팩토리 아키텍처를 보여주는 도면이다.
도 1에 도시된 바와 같이, 본 발명에 따른 스마트 팩토리 아키텍쳐는, 데이터 수집 장치(1), 네트워크(2), 스마트 팩토리 플랫폼(1000), 및 어플리케이션 시스템(3)과 같은 계층으로 구성된다.
데이터 수집 장치(1)는 다양한 공정의 진행 과정에서 발생되는 데이터를 수집한다. 일 실시예에 있어서, 데이터 수집 장치(1)는 다양한 공정의 진행 과정에서 발생되는 마이크로 데이터(Micro Data)를 수집할 수 있다. 여기서, 마이크로 데이터는 다양한 센서 등을 통해 수집된 데이터 그 자체로서 원시 데이터(Raw Data)를 의미한다. 이하에서는, 설명의 편의를 위해 마이크로 데이터를 수집 데이터로 표기하기로 한다.
데이터 수집 장치(1)는 마이크로 데이터를 수집하기 위한 다양한 계측기, 센서, 액츄에이터 등을 포함한다. 데이터 수집 장치(1)는 계측기, 센서, 액츄에이터 등에 의해 수집된 데이터를 통합하거나 제어하는 P/C, PLC(Programmable Logic Controller), DCS(Distributed Control System) 등을 더 포함할 수 있다.
일 예로, 데이터 수집장치(1)는 연속공정에서 발생되는 데이터를 수집할 수 있다. 연속공정이란 원재료를 이용하여 완제품을 생성하기 위한 복수개의 공정들이 연속적으로 수행되고, 각 공정의 산출물들이 서로 혼합되거나 특정 공정의 산출물의 상태가 변화하여 후속 공정으로 공급되는 방식의 공정을 의미한다. 철강공정이 이러한 연속공정의 대표적인 예에 해당한다. 철강공정은 제선공정, 제강공정, 연주공정, 및 압연공정 등과 같은 다양한 공정으로 구성되므로, 데이터 수집 장치(1)가 철강공정에 적용되는 경우, 제선공정, 제강공정, 연주공정, 및 압연공정 등과 같은 다양한 공정의 진행 과정에서 발생되는 마이크로 데이터(Micro Data)를 수집한다.
네트워크(2)는 데이터 수집 장치(1)에서 수집된 대용량의 데이터를 스마트 팩토리 플랫폼(1000)으로 전달한다. 일 실시예에 있어서, 본 발명에 따른 네트워크(2)는 데이터 수집 장치(1)에 포함된 센서 등의 종류에 따라서 다양한 통신방식을 지원하는 데이터 송신부(22)들을 포함할 수 있다. 예컨대, 데이터 송신부(22)들은 센서 등의 종류에 따라 iBA, OPC(OLE for Process control), TCP/IP 등과 같은 다양한 통신방식을 지원한다.
스마트 팩토리 플랫폼(1000)은 데이터 수집 장치(1)에서 수집된 대용량의 마이크로 데이터를 네트워크(2)를 통해 수신한다. 스마트 팩토리 플랫폼(1000)은 수신된 대용량의 마이크로 데이터를 실시간으로 가공한다. 또한, 스마트 팩토리 플랫폼(1000)은 가공된 마이크로 데이터를 기초로 설비 또는 재료 등의 이상 유무를 실시간으로 판단한다. 또한, 스마트 팩토리 플랫폼(1000)은 빅데이터 분석을 위해 가공된 마이크로 데이터를 빅데이터 저장부(미도시)에 저장하며, 저장된 데이터에 대한 조회 및 분석 서비스를 제공한다.
일 실시예에 있어서, 본 발명에 따른 스마트 팩토리 플랫폼(1000)은 도 1에 도시된 바와 같이, 인터페이스 미들웨어 시스템(100), 분산병렬처리 시스템(200), 빅데이터 분석시스템(300)을 포함한다. 또한, 스마트 팩토리 플랫폼(1000)은 서비스 시스템(400), 관리시스템(500), 및 보안시스템(500)을 더 포함할 수 있다.
인터페이스 미들웨어 시스템(100)은 네트워크(2)를 통해 데이터 수집 장치(1)로부터 전달되는 수집 데이터들이 정상적으로 수신되는지 여부를 모니터링한다. 또한, 본 발명에 따른 인터페이스 미들웨어 시스템(100)은 Level 0 내지 Level 2의 이기종 장치들과 다양한 프로토콜을 통해 연결되기 위한 연결수단을 제공하고 데이터 수집 장치(1)에서 수집된 수집 데이터를 전처리 하여 수집 데이터를 표준화한다.
이하, 도 2를 참조하여 본 발명에 따른 인터페이스 미들웨어 시스템(100)에 대해 구체적으로 설명한다.
도 2는 본 발명의 일 실시예에 따른 인터페이스 미들웨어 시스템(100)의 구성을 보여주는 도면이다. 도 2에 도시된 바와 같이, 본 발명에 따른 인터페이스 미들웨어 시스템(100)은 프로세싱부(110) 및 큐 저장부(120)를 포함한다.
프로세싱부(110)는 데이터 수신부(111), 미들웨어부(112) 및 로깅 관리부(113)를 포함할 수 있다. 데이터 수신부(111)은 네트워크(2)에 포함된 데이터 송신부(22)들로부터 수집 데이터를 수신한다. 이때, 수신된 수집 데이터는 실시간 데이터 및 이벤트 데이터를 포함할 수 있다. 실시간 데이터는 주기적으로 발생하는 데이터로서 고정된 필드에 저장된 데이터를 의미할 수 있다. 이벤트 데이터는 비주기적으로 발생하는 데이터로서 고정된 필드에 저장되지 않은 데이터를 의미할 수 있다.
일 실시예에 있어서, 데이터 수신부(111)은 데이터 송신부(22)가 지원하는 다양한 통신 프로토콜을 지원하기 위해 복수개의 데이터 수신부(111)들로 구성될 수 있다.
일례로, 데이터 수신부(111)은 iBA를 지원하는 데이터 수신부(111), OPC(OLE for Process control)를 지원하는 데이터 수신부(111), TCP/IP를 지원하는 데이터 수신부(111) 또는 FTP(File Transfer Protocol)을 지원하는 데이터 수신부(111) 등을 포함할 수 있다. 이와 같이 본 발명에 따른 데이터 수신부(111)은 다양한 네트워크(2)와 통신할 수 있는 모든 통신방식을 지원한다.
일 실시예에 있어서, 데이터 수신부(111)은 대용량의 수집 데이터를 효과적으로 수신하기 위해 데이터 송신부(22)와의 사이에서 설정된 데이터 송수신 인터페이스 별로 정해진 데이터 수신 단위로 수집 데이터를 수신할 수 있다. 이때, 데이터 송수신 인터페이스는 데이터 수신부(111)이 수집 데이터를 수신하는 수신 단위를 의미하는 것으로서, 1개의 수집 데이터를 소정 시간 단위로 수신하는 타입의 데이터 송수신 인터페이스, 복수개의 수집 데이터를 하나의 파일 형태로 소정 시간 단위로 수신하는 타입의 데이터 송수신 인터페이스를 포함할 수 있다.
데이터 수신부(111)은 데이터 송수신 인터페이스 별로 정해진 수신 단위에 따라 수집 데이터가 수신될 때마다 수신로그를 생성할 수 있다. 일 실시에에 있어서, 데이터 수신부(111)은 수집 데이터의 수신 단위 별로 수집 데이터의 수신에 대한 수신로그를 생성할 수 있다.
한편, 데이터 수신부(111)은 데이터 송신부(22)과의 통신이 수행될 때마다 통신상태에 대한 통신정보를 로그형태로 생성할 수 있다.
일 실시예에 있어서, 통신정보는 통신소스(Source), 통신포트(Port), 목적지 정보, 통신방식(TCP/IP, OPC, FTP, EAI 등), 통신시간, 트랜스미션 리턴 코드(정상코드 또는 에러코드), 데이터 송수신 인터페이스 ID, 데이터 통신 인터페이스 타입, 또는 에러 메시지 등을 포함할 수 있다.
미들웨어부(112)는 수집 데이터들간의 연계처리를 위해, 수집 데이터들을 전처리한다. 일 실시예에 있어서, 미들웨어부(112)는 수집 데이터를 표준화함으로써 수집 데이터를 전처리할 수 있다. 이때, 미들웨어부(112)는 수집 데이터의 유형에 따라 실시간 데이터 처리 또는 이벤트 데이터 처리를 수행할 수 있다.
이하에서는 도 3을 참조하여 미들웨어부(112)에 대하여 구체적으로 설명하도록 한다.
도 3은 도 2의 미들웨어부의 구성을 보여주는 블록도이고, 도 4는 도 3의 미들웨어 컨테이너에 포함된 전치리부의 구성을 보여주는 블록도이다.
도 3 및 도 4를 참조하면, 미들웨어부(112)는 마스터부(140), 노드 서비스부(141), 이벤트 처리부(142), 실시간 처리부(143), 메타정보 저장소(150), 이미지 저장소(160), 복수의 노드들(node) 및 전처리부(190)를 포함할 수 있다.
마스터부(140)는 데이터 수신부(111)을 통해 수신된 수집 데이터의 유형을 판단하고, 수집 데이터의 유형에 따라 실시간 데이터 처리 또는 이벤트 데이터 처리를 수행한다. 수집 데이터는 실시간 데이터 및 이벤트 데이터를 포함할 수 있다. 실시간 데이터는 주기적으로 발생하는 데이터로서, 실시간 처리를 요하는 데이터를 의미할 수 있다. 이벤트 데이터는 비주기적으로 발생하는 데이터로서, 반드시 실시간 처리가 필요한 것이 아닌 데이터를 의미할 수 있다.
마스터부(140)실시간 데이터 또는 이벤트 데이터 처리에 앞서, 본 발명의 일 실시예에 따른 미들웨어 시스템(100)은 초기화를 수행할 수 있다. 마스터부(140)는 관리자로부터 미들웨어 컨테이너 생성 명령이 입력되면, 초기화를 수행할 수 있다. 구체적으로, 마스터부(140)는 복수의 노드들(node) 중 하나를 초기 미들웨어 컨테이너를 생성하기 위한 노드로 결정할 수 있다.
이때, 마스터부(140)는 메타 정보 저장소(150)에 저장된 메타 정보를 이용하여 복수의 노드들(node) 중 하나를 선택할 수 있다.
일 실시예에 있어서, 마스터부(140)는 메타 정보 저장소(150)에 저장된 메타 정보를 이용하여 복수의 노드들(node) 중 부하가 가장 적은 노드를 선택할 수 있다.
다른 일 실시예에 있어서, 마스터부(140)는 메타 정보 저장소(150)에 저장된 메타 정보를 이용하여 복수의 노드들(node) 중 부하가 임계값 미만인 적어도 하나의 노드를 추출하고, 추출된 적어도 하나의 노드 중 하나를 선택할 수 있다.
다음, 마스터부(140)는 선택된 노드(node)의 에이전트에 미들웨어 컨테이너 생성 명령을 전달할 수 있다. 해당 노드(node)의 에이전트는 미들웨어 컨테이너 생성 명령이 입력되면, 이미지 저장소(160)에 저장된 복수의 미들웨어 컨테이너 생성 이미지들(160a) 중 하나를 가져와서 실행할 수 있다. 이에 따라, 해당 노드(node)에는 새로운 초기 미들웨어 컨테이너가 생성될 수 있다. 미들웨어 컨테이너의 생성이 완료되면, 해당 노드(node)의 에이전트는 메타 정보 저장소(150)에 생성된 미들웨어 컨테이너의 메타 정보를 저장할 수 있다.
이때, 해당 노드(node)의 에이전트는 마스터부(140)로부터 입력된 미들웨어 컨테이너 생성 명령에 따라 복수개의 미들웨어 컨테이너들을 생성할 수 있다. 해당 노드(node)의 에이전트는 복수의 통신방식들 각각에 대응되는 복수개의 미들웨어 컨테이너들을 생성할 수 있다. 예컨대, 복수개의 미들웨어 컨테이너들은 OPC를 지원하는OPC 미들웨어 컨테이너, TCP/IP를 지원하는 TCP/IP 미들웨어 컨테이너 및 FTP를 지원하는 FTP 미들웨어 컨테이너를 포함할 수 있다.
마스터부(140)는 수집 데이터가 전달되면 수집 데이터의 유형을 실시간 데이터 및 이벤트 데이터 중 하나로 결정할 수 있다. 수집 데이터가 이벤트 데이터인 경우, 마스터부(140)는 제1 경로로 이벤트 데이터를 전송할 수 있다. 한편, 수집 데이터가 실시간 데이터인 경우, 마스터부(140)는 상기 제1 경로와 다른 제2 경로로 실시간 데이터를 전송할 수 있다. 상기 제1 경로는 마스터부(140)와 이벤트 처리부(142)를 연결할 수 있다. 구체적으로, 제1 경로는 마스터부(140)와 이벤트 처리부(142)에 의하여 이벤트 데이터를 처리하는 제1 미들웨어 컨테이너(172)를 연결할 수 있다. 상기 제2 경로는 마스터부(140), 노드 서비스부(141), 실시간 처리부(143)를 연결할 수 있다. 구체적으로, 제2 경로는 마스터부(140), 노드 서비스부(141), 실시간 처리부(143)에 의하여 실시간 데이터를 처리하는 제2 미들웨어 컨테이너(174)를 연결할 수 있다.
구체적으로, 마스터부(140)는 수집 데이터가 이벤트 데이터인 경우, 이벤트 처리부(142)에 제1 미들웨어 컨테이너 생성 명령을 전달할 수 있다. 한편, 마스터부(140)는 수집 데이터가 실시간 데이터인 경우, 실시간 데이터에 포함된 노드 식별 정보, 예컨대, 노드 포트 정보를 노드 서비스부(141)에 전달할 수 있다.
노드 서비스부(141)는 노드 식별 정보가 전달되면, 노드 식별 정보와 대응되는 노드(node2)에 포함된 제2 미들웨어 컨테이너(174)를 제2 경로에 연결할 수 있다. 노드 서비스부(141)는 통신방식을 기초로 노드(node)에 포함된 복수의 제2 미들웨어 컨테이너들(174) 중 하나를 선택할 수 있다.
예컨대, 실시간 데이터는 제2 노드(node2)에 대응되는 노드 식별 정보를 포함하고, OPC 방식으로 수신될 수 있다. 노드 서비스부(141)는 제2 노드(node2)에 포함된 복수의 제2 미들웨어 컨테이너들(174) 중 제2 OPC 미들웨어 컨테이너(174a)를 제2 경로에 연결할 수 있다.
다음, 이벤트 처리부(142)는 수집 데이터가 이벤트 데이터이면, 이벤트 데이터 처리를 수행할 수 있다. 구체적으로, 먼저, 이벤트 처리부(142)는 복수의 노드들(node) 중 하나를 새로운 제1 미들웨어 컨테이너를 생성하기 위한 노드로 결정할 수 있다. 여기서, 제1 미들웨어 컨테이너는 이벤트 데이터 처리시 생성된 미들웨어 컨테이너를 나타낼 수 있다.
이때, 이벤트 처리부(142)는 메타 정보 저장소(150)에 저장된 메타 정보를 이용하여 복수의 노드들(node) 중 하나를 선택할 수 있다.
일 실시예에 있어서, 이벤트 처리부(142)는 메타 정보 저장소(150)에 저장된 메타 정보를 이용하여 복수의 노드들(node) 중 부하가 가장 적은 노드를 선택할 수 있다.
다른 일 실시예에 있어서, 이벤트 처리부(142)는 메타 정보 저장소(150)에 저장된 메타 정보를 이용하여 복수의 노드들(node) 중 부하가 미리 설정한 값 미만인 적어도 하나의 노드를 추출하고, 추출된 적어도 하나의 노드 중 하나를 선택할 수 있다.
다음, 이벤트 처리부(142)는 선택된 노드(node1)의 에이전트(171)에 제1 미들웨어 컨테이너 생성 명령을 전달할 수 있다. 해당 노드(node1)의 에이전트(171)는 제1 미들웨어 컨테이너 생성 명령이 입력되면, 이미지 저장소(160)에 저장된 복수의 미들웨어 컨테이너 생성 이미지들(160a) 중 하나를 가져와서 실행할 수 있다. 이에 따라, 해당 노드(node1)에는 새로운 제1 미들웨어 컨테이너(172)가 생성될 수 있다. 제1 미들웨어 컨테이너(172)의 생성이 완료되면, 해당 노드(node1)의 에이전트(171)는 메타 정보 저장소(150)에 생성된 제1 미들웨어 컨테이너(172)의 메타 정보를 저장할 수 있다.
이때, 해당 노드(node1)의 에이전트(171)는 수집 데이터의 통신방식에 대응되는 미들웨어 컨테이너 생성 이미지(160a)를 가져올 수 있다. 예컨대, 수집 데이터의 통신방식이 OPC 인 경우, 해당 노드(node)의 에이전트(171)는 OPC 미들웨어 컨테이너 생성 이미지(160a)를 가져와서 실행함으로써, 제1 OPC 미들웨어 컨테이너(172)를 생성할 수 있다.
다음, 이벤트 처리부(142)는 제1 미들웨어 컨테이너(172)의 생성이 완료되면, 마스터부(140)로부터 이벤트 데이터를 전달받을 수 있다. 이벤트 처리부(142)는 생성된 제1 미들웨어 컨테이너(172)에서 이벤트 데이터를 처리할 수 있다. 이벤트 처리부(142)는 생성된 제1 미들웨어 컨테이너(172)가 포함된 노드(node1)의 에이전트(171)에 데이터 처리 명령과 함께 이벤트 데이터를 전달할 수 있다. 제1 미들웨어 컨테이너(172)는 이벤트 데이터를 전처리하고, 전처리된 데이터를 큐 저장부(120)에 저장한다. 이를 위하여, 제1 미들웨어 컨테이너(172)는 전처리부(190)를 포함할 수 있다. 전처리부(190)에 대한 구체적인 설명은 후술하도록 한다.
다음, 이벤트 처리부(142)는 전처리된 데이터가 큐 저장부(120)에 저장되면, 해당 노드(node1)의 에이전트(171)에 제1 미들웨어 컨테이너 삭제 명령을 전달할 수 있다. 해당 노드(node1)의 에이전트(171)는 제1 미들웨어 컨테이너 삭제 명령이 입력되면 제1 미들웨어 컨테이너(172)를 제거하고, 미들웨어 컨테이너 생성 이미지(160a)를 삭제할 수 있다. 그리고, 해당 노드(node1)의 에이전트(171)는 메타 정보 저장소(150)에 삭제된 제1 미들웨어 컨테이너(172)의 메타 정보를 업데이트할 수 있다.
본 발명의 일 실시예에 따른 스마트 팩토리 플랫폼(1000)은 이벤트 데이터가 발생할 때 미들웨어 컨테이너를 생성할 수 있다. 이벤트 데이터는 일시적으로 발생하는 것이며, 평상시에 발생할 가능성이 매우 낮다. 이벤트 데이터를 처리하기 위한 미들웨어 컨테이너를 평상시에도 유지시킨다면, 이벤트 데이터를 처리하기 위한 미들웨어 컨테이너가 불필요하게 자원을 점유하게 되어 자원의 낭비가 발생할 수 있다.
본 발명의 일 실시예에 따른 스마트 팩토리 플랫폼(1000)은 이벤트 데이터가 발생할 때만 이벤트 데이터를 처리하기 위한 미들웨어 컨테이너를 생성하고, 이벤트 데이터를 처리가 완료되면, 생성했던 미들웨어 컨테이너를 삭제할 수 있다. 이에 따라, 본 발명의 일 실시예에 따른 스마트 팩토리 플랫폼(1000)은 이벤트 데이터를 처리하기 위한 미들웨어 컨테이너가 불필요하게 자원을 점유하는 것을 방지할 수 있다. 결과적으로, 본 발명의 일 실시예에 따른 스마트 팩토리 플랫폼(1000)은 자원을 효율적으로 사용할 수 있다.
한편, 종래의 플랫폼은 미들웨어를 구축하는 데 많은 시간과 비용이 발생하였으며, 신규 미들웨어 설치시 오류가 발생하는 경우, 기존 미들웨어로 롤백을 하는 과정에서 발생하는 시간과 비용으로 인하여 낭비가 발생하는 문제가 있다.
본 발명의 일 실시예에 따른 스마트 팩토리 플랫폼(1000)은 이미지 저장소(160)에 저장된 복수의 미들웨어 컨테이너 생성 이미지들(160a)을 관리할 수 있다. 본 발명의 일 실시예에 따른 스마트 팩토리 플랫폼(1000)은 노드(node)에 미들웨어 컨테이너 생성 이미지(160a)를 가져와서 실행만 하면, 미들웨어 컨테이너가 생성될 수 있다. 즉, 본 발명의 일 실시예에 따른 스마트 팩토리 플랫폼(1000)은 재설치 없이 간편하게 원하는 시점에 미들웨어 컨테이너를 생성 및 배포할 수 있다..
실시간 처리부(143)은 수집 데이터가 실시간 데이터이면, 실시간 데이터 처리를 수행할 수 있다. 구체적으로, 실시간 처리부(143)는 노드 서비스부(141)에 의하여 제2 미들웨어 컨테이너(174)가 제2 경로에 연결되면, 마스터부(140)로부터 실시간 데이터를 전달받을 수 있다. 실시간 처리부(143)는 노드 식별 정보에 대응되는 노드(node2)에 포함된 제2 미들웨어 컨테이너(174)에 실시간 데이터를 전달할 수 있다. 여기서, 제2 미들웨어 컨테이너는 실시간 데이터 처리시 노드(node2)에 이미 포함되어 있는 미들웨어 컨테이너를 나타내며, 초기에 마스터부(140)에 의하여 생성된 적어도 하나의 미들웨어 컨테이너 중 하나일 수 있다.
한편, 제2 미들웨어 컨테이너(174)는 복수개를 포함할 수 있다. 복수의 제2 미들웨어 컨테이너들(174) 각각은 복수의 통신방식들에 대응될 수 있다. 일 예로, 제2 미들웨어 컨테이너(174)는 OPC를 지원하는 제2 OPC 미들웨어 컨테이너(174a), TCP/IP를 지원하는 제2 TCP/IP 미들웨어 컨테이너(174b) 및 FTP를 지원하는 제2 FTP 미들웨어 컨테이너(174c)를 포함할 수 있다.
본 발명의 일 실시예에 따른 스마트 팩토리 플랫폼(1000)은 실시간 데이터를 처리하기 위한 미들웨어 컨테이너를 미리 생성할 수 있다. 이에 따라, 본 발명의 일 실시예에 따른 스마트 팩토리 플랫폼(1000)은 주기적으로 발생하는 실시간 데이터를 빠르게 처리할 수 있다.
다음, 실시간 처리부(143)는 선택된 제2 미들웨어 컨테이너(174)에서 실시간 데이터에 대한 처리를 할 수 있다. 실시간 처리부(143)는 선택된 제2 미들웨어 컨테이너(174)가 포함된 노드(node2)의 에이전트(173)에 데이터 처리 명령과 함께 실시간 데이터를 전달할 수 있다. 제2 미들웨어 컨테이너(174)는 실시간 데이터를 전처리하고, 전처리된 데이터를 큐 저장부(120)에 저장한다. 이를 위하여, 제2 미들웨어 컨테이너(174)는 전처리부(190)를 포함할 수 있다.
전처리부(190)는 파싱 유닛(191), 표준화 유닛(192), 필터링 유닛(193) 및 전송 유닛(194)을 포함할 수 있다.
파싱 유닛(191)은 데이터 수신부(111)을 통해 수신된 수집 데이터를 파싱한다. 구체적으로, 파싱 유닛(191)은 연속공정으로부터 수집된 수집 데이터의 연계 처리를 위해, 수집 데이터를 미리 설정된 레이아웃에 기초하여 의미있는 단위로 파싱한다.
일 실시예에 있어서, 파싱 유닛(191)은 수집 데이터가 복수개의 항목 ID로 구성된 그룹 ID, 수집시간, 및 복수개의 측정값이 반복되는 구조를 가지는 경우, 수집 데이터를 그룹 ID별로 파싱하고, 그룹 ID에 포함된 복수개의 항목 ID와 복수개의 측정값을 각각 매칭시켜 하나의 항목 ID, 수집시간, 및 하나의 측정값으로 구성된 수집 데이터로 변환한다.
여기서, 항목 ID는 측정값의 속성을 식별하기 위한 것으로 연속공정 중 설비, 재료, 또는 제품의 어떤 속성을 측정한 것인지를 의미하는 값으로 온도나 습도 등을 의미한다. 그룹 ID는 특정 공장에서 위치 별 또는 각 공정 별로 몇 가지 항목을 그룹으로 편성한 대표값을 의미한다. 상술한 실시예에 있어서는 그룹 ID와 수집시간이 별개의 구분된 개념인 것으로 기재하였지만, 그룹 ID 자체에 수집시간이 포함되어 있을 수도 있다.
본 발명에서 파싱 유닛(191)이 수집 데이터를 파싱하는 이유는, 분산병렬처리 시스템(200)이 표준화되어 있지 않은 그룹 ID, 항목 ID, 및 복수개의 측정값을 해석하는 과정이 별도로 필요하기 때문에, 설비의 이상 또는 제품의 품질 이상 등의 실시간 분석이 어려울 수 있기 때문이다.
이러한 실시에 따르는 경우, 파싱 유닛(191)은 수집 데이터 전문에 대한 메시지 레이아웃이 정의되어 있는 메시지 레이아웃 저장부(117)를 참조하여 수집 데이터를 파싱할 수 있다. 메시지 레이아웃 저장부(117)는 별도의 구성으로 프로세싱부(110) 또는 다른 장치에 포함될 수 있다. 그러나, 본 발명은 이에 한정되지 않으므로 파싱 유닛(191) 내부에 메시지 레이아웃에 관한 정보가 포함되어 있을 수도 있다.
표준화 유닛(192)은 파싱 유닛(191)에 의해 파싱된 수집 데이터를 표준화한다. 일 실시예에 있어서, 표준화 유닛(192)은 파싱 유닛(191)으로부터 전달되는 하나의 항목 ID, 수집시간, 및 하나의 측정값으로 구성된 수집 데이터에 대해서, 미리 설정된 표준변환기준에 따라 항목 ID를 표준항목 ID로 변환하고 측정값의 단위 및 자리수를 통일시킴으로써 파싱된 데이터를 표준화한다.
구체적으로, 데이터 수집 장치(1)에 포함된 각각의 센서 또는 액츄에이터 등은 동일한 속성을 측정하더라도 이들이 생산된 업체나 이들이 포함된 공장의 특성에 따라 서로 다른 항목 ID를 가질 수 있다. 이와 같이 서로 다른 항목 ID를 기준으로 파싱된 데이터가 그대로 분산병렬처리시스템(200)으로 전달될 경우, 표준화되어 있지 않은 항목 ID 및 복수개의 측정값을 해석하는 과정이 별도로 필요하기 때문에, 분산병렬처리시스템(200)의 성능이 저하될 수 있다. 따라서, 본 발명의 실시예에 따른 표준화 유닛(192)은 동일한 속성을 측정한 데이터가 동일한 항목 ID를 갖도록 각 수집 데이터에 포함된 항목 ID를 표준항목 ID로 변경할 수 있다.
이와 같이, 표준화 유닛(192)은 서로 동일한 속성을 측정한 측정값에 대해서는 동일한 표준항목 ID를 갖도록 수집 데이터를 전처리함으로써, 각각의 표준항목 ID에 기초하여 연속공정으로부터 수집된 수집 데이터가 연계 처리될 수 있도록 한다.
또한, 수집 데이터에 포함된 측정값의 형식은 센서나 액츄에이터와 같은 데이터 수집 장치(1)의 종류에 따라 상이할 수 있다. 그 결과, 연속공정으로부터 각각 수집된 서로 다른 형식의 수집 데이터의 연계 처리를 위해서는 데이터 수집 장치(1)의 종류에 따라 데이터의 단위 및 길이를 환산하는 과정을 추가로 수행해야 하기 때문에 연속공정으로부터 수집되는 대용량의 데이터를 실시간으로 연계 처리하는 것이 불가능하다. 따라서, 본 발명의 실시예에 따른 표준화 유닛(192)은 분산병렬처리시스템(200)이 실시간으로 대용량의 데이터를 처리할 수 있도록 수집 데이터를 표준화한다.
표준화 유닛(192)은 별도의 구성으로 프로세싱부(110) 또는 다른 장치에 포함된 표준 변환기준 저장부(118)를 참조하여, 항목 ID, 측정값의 단위 및 자리수를 표준화할 수 있으나, 본 발명은 이에 한정되지 않으므로 표준화 유닛(192) 내부에 표준화를 위한 표준 변환기준에 관한 정보가 포함되어 있을 수 있다.
필터링 유닛(193)은 미리 설정된 필터링 기준에 따라 표준화 유닛(192)에서 표준화된 데이터를 큐 저장부(120)에 저장할 것인지 여부를 판단한다. 일례로, 수집 데이터의 종류에 따라 등급이 미리 설정되어 있고, 필터링 유닛(193)은 상기 등급에 따라 큐 저장부(120)에 저장할 데이터 여부를 판단할 수 있다. 일 실시예에 있어서, 등급은 표준화된 데이터의 표준항목 ID를 기준으로 중요도에 따라 결정될 수 있으나 이에 한정되는 것은 아니다.
필터링 유닛(193)은 큐 저장부(120)에 저장될 필요가 있는 데이터를 필터링하기 위한 기준이 저장된 필터링 기준 저장부(119)를 참조하여 표준화된 데이터를 필터링할 수 있다. 필터링 기준 저장부(119)는 별도의 구성으로 프로세싱부(110) 또는 다른 장치에 포함될 수 있다. 그러나, 본 발명은 이에 한정되지 않으므로 필터링 유닛(193) 내부에 필터링 기준에 관한 정보가 저장되어 있을 수도 있다.
전송 유닛(194)은 필터링 유닛(193)을 통해 필터링된 데이터를 큐 저장부(120)의 큐에 저장한다. 일 실시예에 있어서, 전송 유닛(194)는 필터링된 데이터를 그룹 ID 또는 표준항목 ID별로 큐 저장부(120)의 큐(121)에 저장할 수 있다.
즉, 본 발명의 실시예에서는 서로 다른 형식을 갖는 각 공정 별 수집 데이터를 파싱 및 표준화하여 일정한 형식으로 변환하는 한편, 표준화된 데이터를 그룹 ID 또는 표준항목 ID 별로 저장하여 그룹 ID 또는 표준항목 ID 별로 데이터 확인이 가능하므로 연속공정으로부터 수집된 수집 데이터가 실시간으로 연계 처리될 수 있다.
일 실시예에 있어서, 큐 저장부(120)는 복수개로 구성될 수 있다. 이러한 실시예에 따르는 경우, 전송 유닛(194)이 복수개의 큐 저장부(120) 중 어느 하나의 큐 저장부(120)에 전처리된 수집 데이터를 저장하면 나머지 큐 저장부(120)에도 동일 데이터가 복제되어 저장된다. 이때, 전송 유닛(194)은 복수의 큐 저장부(121)의 부하를 고려하여 부하가 적은 큐 저장부(121)에 수집 데이터를 저장할 수 있다.
도 3에서는 하나의 마스터부(140)를 통해 데이터가 처리되는 것으로 설명하였지만, 이에 한정되지 않는다. 다른 실시예에 있어서, 마스터부(140)는 복수개로 이루어질 수 있다. 이러한 경우, 미들웨어부(112)는 로드 밸런스부(130)를 더 포함할 수 있다.
로드 밸런스부(130)는 복수의 마스터들(140)에 부하를 고루 분담시킬 수 있다. 로드 밸런스부(130)는 복수의 마스터들(140) 각각의 부하를 모니터링할 수 있다. 로드 밸런스부(130)는 수집 데이터가 수신되면, 복수의 마스터들(140)들 중 부하가 적은 마스터부(140)를 선택하여 수신된 수집 데이터를 전달할 수 있다.
일 실시예에 있어서, 로드 밸런스부(130)는 복수의 마스터들(140)들 중 부하가 가장 적은 마스터부(140)에 수집 데이터를 전달할 수 있다.
복수의 노드들(node) 각각은 에이전트(171, 172) 및 미들웨어 컨테이너(172, 174)를 포함한다. 미들웨어 컨테이너(172, 174)는 데이터 처리를 위한 디스크를 포함하고, 복수의 미들웨어 컨테이너들(172, 174)의 디스크는 오브젝트 스토리지(Object Storage)에 저장한다. 복수의 노드들(node) 각각은 에이전트(171, 173)를 통해 마스터부(140)와 통신할 수 있다.
이미지 저장소(160)는 복수의 미들웨어 컨테이너 생성 이미지들(160a)을 저장할 수 있다. 복수의 미들웨어 컨테이너 생성 이미지들(160a)은 복수의 통신방식들에 대응될 수 있다. 예컨대, 복수의 미들웨어 컨테이너 생성 이미지들(160a)은 OPC 미들웨어 컨테이너 생성 이미지, TCP/IP 미들웨어 컨테이너 생성 이미지, 및 FTP 미들웨어 컨테이너 생성 이미지를 포함할 수 있다.
본 발명의 일 실시예에 따른 미들웨어부(112)는 스케일러(180)를 더 포함할 수 있다.
스케일러(180)는 데이터양 및 발생 빈도를 고려하여 제1 미들웨어 컨테이너를 생성 또는 삭제할 수 있다. 구체적으로, 스케일러(180)는 이벤트 데이터 처리시 제1 미들웨어 컨테이너(172)를 모니터링 할 수 있다. 스케일러(180)는 제1 미들웨어 컨테이너(172)의 CPU 사용률 및 메모리 사용률을 모니터링할 수 있다.
스케일러(180)는 제1 미들웨어 컨테이너(172)의 CPU 사용률 및 메모리 사용률 중 적어도 하나가 미리 설정된 제1 임계값을 초과하면, 제1 미들웨어 컨테이너(172)를 추가로 생성할 수 있다. 이때, 스케일러(180)는 제1 미들웨어 컨테이너(172)이 포함된 노드(node1)의 에이전트(171)에 제1 미들웨어 컨테이너 생성 명령을 전달할 수 있다.
일 예로, 스케일러(180)는 제1 미들웨어 컨테이너(172)의 CPU 사용률 및 메모리 사용률 중 적어도 하나가 90%을 초과하면, 제1 미들웨어 컨테이너(172)이 포함된 노드(node1)의 에이전트(171)에 제1 미들웨어 컨테이너 생성 명령을 전달할 수 있다.
노드(node1)의 에이전트(171)는 제1 미들웨어 컨테이너 생성 명령이 입력되면, 현재 이벤트 데이터를 처리하는 제1 미들웨어 컨테이너(172)와 동일한 제1 미들웨어 컨테이너(172)를 추가로 생성할 수 있다. 일 예로, 노드(node1)의 에이전트(171)는 현재 이벤트 데이터를 처리하는 제1 미들웨어 컨테이너(172)를 복제하여 새로운 제1 미들웨어 컨테이너(172)를 생성할 수 있다.
본 발명의 일 실시예에 따른 스마트 팩토리 플랫폼(1000)은 데이터 양에 따라 미들웨어 확장이 가능하다. 이에 따라, 본 발명의 일 실시예에 따른 스마트 팩토리 플랫폼(1000)은 데이터가 급격하게 증가하더라도, 데이터 처리가 중단되거나 데이터가 유실되는 것을 방지할 수 있다.
한편, 스케일러(180)는 복수의 제1 미들웨어 컨테이너들(172)의 CPU 사용률 및 메모리 사용률 중 적어도 하나가 미리 설정된 제2 임계값 미만이면, 복수의 제1 미들웨어 컨테이너들(172) 중 일부를 삭제할 수 있다. 여기서, 상기 제2 임계값은 상기 제1 임계값과 동일할 수 있으나, 반드시 이에 한정되지는 않는다. 상기 제2 임계값은 상기 제1 임계값 보다 작을 수도 있다.
스케일러(180)는 복수의 제1 미들웨어 컨테이너들(172)이 포함된 노드(node1)의 에이전트(171)에 제1 미들웨어 컨테이너 삭제 명령을 전달할 수 있다.
일 예로, 스케일러(180)는 복수의 제1 미들웨어 컨테이너들(172)의 CPU 사용률 및 메모리 사용률 중 적어도 하나가 90% 미만이면, 복수의 제1 미들웨어 컨테이너들(172)이 포함된 노드(node1)의 에이전트(171)에 제1 미들웨어 컨테이너 삭제 명령을 전달할 수 있다.
노드(node1)의 에이전트(171)는 제1 미들웨어 컨테이너 삭제 명령이 입력되면, 현재 이벤트 데이터를 처리하는 복수의 제1 미들웨어 컨테이너들(172) 중 적어도 하나를 삭제할 수 있다.
본 발명의 일 실시예에 따른 스마트 팩토리 플랫폼(1000)은 데이터 양에 따라 미들웨어 축소가 가능하다. 이에 따라, 본 발명의 일 실시예에 따른 스마트 팩토리 플랫폼(1000)은 데이터가 급격하게 감소하면 미들웨어 컨테이너를 삭제함으로써, 불필요하게 자원이 낭비되는 것을 방지할 수 있다.
또한, 스케일러(180)는 데이터양 및 발생 빈도를 고려하여 제2 미들웨어 컨테이너를 생성 또는 삭제할 수 있다. 구체적으로, 스케일러(180)는 실시간 데이터 처리시 제2 미들웨어 컨테이너(174)를 모니터링 할 수 있다. 스케일러(180)는 제2 미들웨어 컨테이너(174)의 CPU 사용률 및 메모리 사용률을 모니터링할 수 있다.
스케일러(180)는 제2 미들웨어 컨테이너(174)의 CPU 사용률 및 메모리 사용률 중 적어도 하나가 미리 설정된 제3 임계값을 초과하면, 제2 미들웨어 컨테이너(174)를 추가로 생성할 수 있다. 여기서, 상기 제3 임계값은 상기 제1 임계값 보다 작을 수 있다. 실시간 데이터는 이벤트 데이터 보다 발생 빈도가 높으며, 짧은 주기로 발생하기 때문이다.
스케일러(180)는 제2 미들웨어 컨테이너(174)이 포함된 노드(node2)의 에이전트(173)에 제2 미들웨어 컨테이너 생성 명령을 전달할 수 있다.
일 예로, 스케일러(180)는 제2 미들웨어 컨테이너(174)의 CPU 사용률 및 메모리 사용률 중 적어도 하나가 60%을 초과하면, 제2 미들웨어 컨테이너(174)이 포함된 노드(node2)의 에이전트(173)에 제2 미들웨어 컨테이너 생성 명령을 전달할 수 있다.
노드(node2)의 에이전트(173)는 제2 미들웨어 컨테이너 생성 명령이 입력되면, 현재 실시간 데이터를 처리하는 제2 미들웨어 컨테이너(174)와 동일한 제2 미들웨어 컨테이너(174)를 추가로 생성할 수 있다. 일 예로, 노드(node2)의 에이전트(173)는 현재 실시간 데이터를 처리하는 제2 미들웨어 컨테이너(174)를 복제하여 새로운 제2 미들웨어 컨테이너(174)를 생성할 수 있다.
본 발명의 일 실시예에 따른 스마트 팩토리 플랫폼(1000)은 데이터 양에 따라 미들웨어 확장이 가능하다. 이에 따라, 본 발명의 일 실시예에 따른 스마트 팩토리 플랫폼(1000)은 데이터가 급격하게 증가하더라도, 데이터 처리가 중단되지 않을 수 있다.
한편, 스케일러(180)는 복수의 제2 미들웨어 컨테이너들(174)의 CPU 사용률 및 메모리 사용률 중 적어도 하나가 미리 설정된 제4 임계값 미만이면, 복수의 제2 미들웨어 컨테이너들(174) 중 일부를 삭제할 수 있다. 여기서, 상기 제4 임계값은 상기 제3 임계값과 동일할 수 있으나, 반드시 이에 한정되지는 않는다. 상기 제4 임계값은 상기 제3 임계값 보다 작을 수도 있다.
스케일러(180)는 복수의 제2 미들웨어 컨테이너들(174)이 포함된 노드(node2)의 에이전트(173)에 제2 미들웨어 컨테이너 삭제 명령을 전달할 수 있다.
일 예로, 스케일러(180)는 복수의 제2 미들웨어 컨테이너들(174)의 CPU 사용률 및 메모리 사용률 중 적어도 하나가 60% 미만이면, 복수의 제2 미들웨어 컨테이너들(174)이 포함된 노드(node2)의 에이전트(173)에 제2 미들웨어 컨테이너 삭제 명령을 전달할 수 있다.
노드(node2)의 에이전트(173)는 제2 미들웨어 컨테이너 삭제 명령이 입력되면, 현재 실시간 데이터를 처리하는 복수의 제2 미들웨어 컨테이너들(174) 중 적어도 하나를 삭제할 수 있다.
본 발명의 일 실시예에 따른 스마트 팩토리 플랫폼(1000)은 데이터 양에 따라 미들웨어 축소가 가능하다. 이에 따라, 본 발명의 일 실시예에 따른 스마트 팩토리 플랫폼(1000)은 데이터가 급격하게 감소하면 미들웨어 컨테이너를 삭제함으로써, 불필요하게 자원이 낭비되는 것을 방지할 수 있다.
다시 도 2를 참조하면, 로깅 관리부(113)는 수집 데이터가 정상적으로 수신되는지 여부를 모니터링하고, 수집 데이터가 정상적으로 수신되지 않는 경우 이를 사용자에게 통지한다.
이하에서는 도 5를 참조하여 로깅 관리부(113)에 대하여 구체적으로 설명하도록 한다.
도 5는 도 2의 로깅 관리부의 구성을 보여주는 블록도이다.
도 5를 참조하면, 로깅 관리부(113)는 통신상태 검증유닛(210), 통신정보 저장소(215), 로그 저장소(220), 모니터링 유닛(225), 및 알람발생유닛(230)을 포함한다.
통신상태 검증유닛(210)은 데이터 수신부(111)으로부터 통신정보를 수신하여 통신정보 저장소(215)에 기록한다. 또한, 통신상태 검증유닛(210)은 통신정보 저장소(215)에 기록된 통신정보를 기초로 데이터 수신부(111)과 데이터 송신부(22) 간의 통신상태를 검증한다. 즉, 통신상태 검증유닛(210)은 데이터 수신부(111)과 데이터 송신부(22) 사이에서 정상적으로 통신이 수행되고 있는지 여부를 검증한다.
일 실시예에 있어서, 통신상태 검증유닛(210)은 데이터 수신부(111)으로부터 데이터 수신부(111)의 통신정보를 수신하고, 데이터 수신부(111)의 통신정보를 기초로 데이터 수신부(111)의 통신상태를 검증할 수 있다. 이때, 통신정보는 데이터 수신부(111)의 최종통신시간을 포함한다.
구체적으로, 통신상태 검증유닛(210)은 데이터 수신부(111)으로부터 데이터 수신부(111)의 통신정보가 수신되면, 통신정보에 기록된 데이터 수신부(111)의 최종통신시간인 제1 통신시간과 최종통신시간 직전의 통신시간인 제2 통신시간을 기초로 통신상태가 정상적인지 여부를 검증한다.
일 실시예에 있어서, 통신상태 검증유닛(210)은 제1 통신시간과 제2 통신시간의 차이가 기준시간을 초과하는 경우 통신상태에 이상이 발생된 것으로 판단할 수 있다.
이와 같이 본 발명은 통신상태 검증유닛(210)이 데이터 수신부(111)의 통신기록만을 기초로 데이터 수신부(111)과 데이터 송신부(22)간의 통신상태를 검증할 수 있기 때문에 데이터 수신부(111)들의 통신상태를 확인하기 위한 핑테스트(Ping Test)와 같은 불필요한 통신을 감소시킬 수 있고, 이로 인해 통신상태 검증으로 인해 발생될 수 있는 부하증가를 최소화할 수 있다.
또한, 본 발명은 데이터 수신부(111)들이 지원하는 통신 프로토콜에 관계없이 모든 데이터 수신부(111)들의 통신상태를 모두 동일한 방식으로 점검할 수 있어, 데이터 수신부(111)의 통신상태 검증을 위한 비용을 최소화할 수 있다.
로그 저장소(220)는 데이터 수신부(111)에 의해 생성된 수신로그가 기록된다. 일 실시예에 있어서, 로그 저장소(220)에 기록되는 수신로그는 데이터 송수신 인터페이스의 ID, 데이터 수신부(111)이 지원하는 프로토콜 타입, 수집 데이터를 송신한 데이터 송신부(22)의 식별자, 및 데이터 수신부(111)의 식별자, 및 수집 데이터의 수신시간을 포함한다.
이때, 수신로그는 데이터 송수신 인터페이스 별로 생성되기 때문에 로그 저장소(220)에는 각 수집 데이터의 수신로그가 데이터 송수신 인터페이스 별로 저장된다.
모니터링 유닛(225)은 로그 저장소(220)에 저장된 수신로그 상에서 수집 데이터의 수신시간을 기초로 수집 데이터의 정상 수신여부를 모니터링한다.
일 예로, 모니터링 유닛(225)은 수신로그 상에서 동일한 데이터 송수신 인터페이스 ID를 갖는 수집 데이터의 제1 수신시간과 제1 수신시간 직전의 수신시간인 제2 수신시간 간의 차이가 기준시간을 초과하면 수집 데이터가 누락된 것으로 판단할 수 있다.
다른 예로, 모니터링 유닛(225)은 데이터 송수신 인터페이스 ID를 갖는 수집 데이터의 제1 수신시간과 제2 수신시간 간의 차이가 미리 정해진 수집 데이터의 수신 주기의 n배를 초과하면 수집 데이터가 누락된 것으로 판단할 수 있다.
이와 같이, 본 발명은 수집 데이터가 수신되는 수신단위 별로 생성되는 수신로그를 기초로 수집 데이터의 정상 수신여부를 판단할 수 있으므로, 데이터 수집에 부하를 주지 않으면서도 대량의 수집 데이터의 정상 수신 여부를 빠르게 판단할 수 있다.
알람발생 유닛(230)은 통신상태 검증유닛(210)에 의해 데이터 수신부(111)의 통신상태에 이상이 있는 것으로 판단되거나, 모니터링 유닛(225)에 의해 수집 데이터에 누락이 발생된 것으로 판단되면 알람을 생성하여 사용자에게 통지한다.
다시 도 2를 참조하면, 큐 저장부(120)는 프로세싱부(110)에서 전처리된 데이터를 실시간 처리 전에 임시로 보관하는 영역으로 큐(121)를 포함한다.
큐(121)는 프로세싱부(110)에서 전처리된 데이터를 일정시간 동안 보관하기 위한 저장소로 데이터 유실 방지를 위해 메모리가 아닌 디스크 기반으로 데이터를 저장할 수 있다. 복수의 큐(121)에서 데이터를 저장하는 공간은 토픽(Topic)으로 구분될 수 있고, 동일 토픽 내의 파티션을 여러개 분리하여 병렬로 처리하는 것도 가능하다.
일 실시예에 있어서, 분산병렬처리시스템(200)이 큐 저장부(120)로부터 페치하는 데이터 그룹 별로 고유한 그룹 ID가 할당될 수 있고, 이 고유한 그룹 ID 별로 데이터 페치 주소가 관리될 수 있어, 데이터를 순차적으로 읽고 쓰는 큐 형태로 데이터가 저장 및 제공될 수 있다.
상술한 실시예에서는 하나의 프로세싱부(110) 및 하나의 큐 저장부(120)를 통해 수집 데이터를 전처리하는 것으로 설명하였지만, 변형된 실시예에 있어서는, 복수개의 프로세싱부(110) 및 복수개의 큐 저장부(120)를 통해 수집 데이터를 전처리할 수도 있다.
이러한 실시예에 따르는 경우, 복수개의 프로세싱부(110)는 데이터 수집 장치(1)의 규모 및 공장의 물리적 위치 등에 따라 추가하는 형태로 확장될 수 있으며, 각각의 프로세싱부(110)는 고가용성(High Availability; HA)을 위해 이중화 구조로 구현될 수 있다.
즉, 각각의 프로세싱부(110)는 운영 서버 및 백업 서버로 구비되어 평상시 운영 서버가 동작하다가 운영 서버에 장애가 발생할 경우 자동으로 백업 서버가 활성화됨으로써, 전술한 프로세싱부(110)의 동작이 중단되지 않고 연속적으로 수행될 수 있다.
또한, 복수개의 큐 저장부(120)는 클러스터링 구조로 구현됨으로써, 1대의 큐 저장부(120)에 데이터가 저장되면 다른 큐 저장부(120)로 데이터가 복제되어 어느 큐 저장부(120)에 장애가 발생할 경우에도 다른 큐 저장부(120)를 참조하여 서비스를 지속으로 제공할 수 있다.
또한, 프로세싱부(110)는 수신된 수집 데이터에 대한 표준화가 완료되면 복수개의 큐 저장부(120) 중1대의 큐 저장부(120)를 선택하여 표준화된 데이터를 저장한다. 이 때, 데이터를 저장할 큐 저장부(120)를 선택하는 기준은 다양한 룰 중에서 선택될 수 있으며, 일례로 부하가 가장 낮은 큐 저장부(120)를 선택하거나, 순차적으로 선택하는 방식, 또는 데이터를 수집한 센서 별로 저장할 큐 저장부(120)를 사전에 미리 저장하여 선택하는 것이 가능하다.
본 발명의 실시예에 따른 프로세싱부(110)는 메시지 레이아웃 저장부(117), 표준변환기준 저장부(118), 및 필터링 기준 저장부(119) 중 적어도 하나를 더 포함할 수 있다.
메시지 레이아웃 저장부(117)에는 수집 데이터 전문에 대한 레이아웃을 정의한 데이터가 저장되어 있으며, 파싱 유닛(191)은 메시지 레이아웃 저장부(117)를 참조하여 바이너리 형태 또는 별도의 데이터 전송 기준으로 전달되는 수집 데이터를 해석하는 근거로 이용할 수 있다.
표준변환기준 저장부(118)에는 데이터 수집 장치(1)를 구성하는 다양한 센서 등의 항목 ID를 표준화한 표준항목 ID와, 각 표준항목 ID에 따른 기준 단위와 자리수가 저장되어 있다. 즉, 다양한 센서로부터 대용량의 수집 데이터가 수집될 때부터 미리 표준화된 항목 ID와 통일된 단위와 자리수를 갖는 수집 데이터가 수집되는 것이 바람직하지만, 각 공정의 특성에 따라 각 센서에서 수집되는 마이크로 데이터의 특성이 상이할 수 있으므로 본 발명의 실시예에서는 향후 분석에 효율적으로 활용하기 위해 사전에 다양한 센서 등의 항목 ID를 표준화한 표준항목 ID와, 각 표준항목 ID에 따른 기준 단위와 자리수가 저장해 둔다.
이러한 실시예에 따르는 경우, 상술한 표준화 유닛(192)은 표준변환기준 저장부(118)를 참조하여 파싱된 데이터의 항목 ID를 표준항목 ID로 변경하고, 단위 및 자리수를 통일시킬 수 있다.
필터링 기준 저장부(119)에는 표준화된 데이터 중 큐 저장부(120)에 저장될 필요가 있는 데이터를 필터링하기 위한 기준이 저장되어 있으며, 상술한 필터링 유닛(193)은 필터링 기준 저장부(119)를 참조하여 표준화된 데이터 중 큐 저장부(120)에 저장할 데이터를 필터링할 수 있다.
다시 도 1을 참조하면, 분산병렬처리시스템(200)은 인터페이스 미들웨어 시스템(100)을 통해 표준화된 표준화 데이터에 공정 식별자를 매핑하고, 조업-설비-품질 등 영역간 데이터를 연계분석할 수 있도록 매핑 데이터를 정렬한다.
공정 식별자는 각 공정을 수행하는 설비의 설비 식별자 또는 해당 설비에 의해 가공되는 재료의 재료 식별자 중 적어도 하나를 포함할 수 있다. 이때, 분산병렬처리시스템(200)은 수집 데이터의 수집시간 및 수집 데이터를 수집한 센서의 속성 정보에 기초하여 수집 데이터가 발생한 설비의 설비 식별자를 추출할 수 있고, 각 공정에서 수행되는 작업 지시 정보에 기초하여 매핑 데이터에 매핑되어 있는 설비 식별자에 대응되는 설비에서 가공된 재료의 재료 식별자를 추출할 수 있다.
일 실시예에 있어서, 설비 식별자는 각 설비 별로 부여된 설비 번호일 수 있고, 재료 식별자는 각 재료 별로 부여되어 있는 재료번호일 수 있다.
한편, 분산병렬처리시스템(200)은 동일한 재료 식별자가 매핑되어 있는 매핑 데이터들을 수집 시간에 따라 순차적으로 정렬하고, 시간 순서에 따라 정렬된 매핑 데이터들을 동일한 재료 식별자에 대응되는 재료 상에서 해당 데이터가 수집된 위치를 기준으로 정렬할 수도 있다.
이와 같이, 본 발명의 실시예에 따른 분산병렬처리 시스템(200)은 표준화된 데이터에 설비 식별자 및 재료 식별자 중 적어도 하나를 포함하는 공정 식별자를 매핑하고, 매핑된 데이터들을 동일한 재료 식별자에 대응되는 재료 상에서 해당 데이터가 수집된 위치를 기준으로 정렬함으로써, 각 데이터 별로 어떠한 재료가 어떠한 설비를 통과하는 과정에서 수집된 데이터인지 확인할 수 있고, 이러한 데이터의 추적을 통해 각 공정들간의 연계분석이 가능하다.
빅데이터 분석 시스템(300)은 분산병렬처리시스템(200)에 의해 정렬된 데이터를 빅데이터 저장 공간에 저장한다. 또한, 빅데이터 분석 시스템(300)은 데이터 유실이 되지 않도록 관리하며 히스토리컬 데이터에 대한 조회 및 분석기능을 제공한다.
서비스 시스템(400)은 표준화된 처리 프로세스와 업무 기준을 서비스로 재활용하는 구조로, 비즈니스 노하우를 리포지터리(Repository)화하여 기능 단위로 정의된 서비스 간 연결을 통해 계획-실행-제어 간의 연계를 용이하게 하며, 재료나 제품에 대한 품질판정 모델 또는 이상 예측 모델을 포함하는 분석모델을 호출하고 실행하여 분석 결과를 진행한다.
분석모델은 모델 저장부(미도시)에 미리 저장되어 있으므로 서비스 시스템(400)은 분석모델에 대한 실행 호출 이벤트가 입력되면 분석모델에 필요한 데이터를 모델 저장부로부터 추출하여 그 결과를 제공한다.
즉, 서비스 시스템(400)은 분산병렬처리시스템(200)에 의해 처리된 정렬 데이터를 직접 수신하여 분석하거나, 정렬 데이터가 빅데이터 분석 시스템(300)에 저장된 경우 이를 참조하여 해당 데이터를 분석할 수 있다.
관리시스템(500)은 스마트 팩토리 플랫폼(1000)에 속한 개별 구성에 대한 관리 및 UI/UX의 관리 데이터 수집을 위한 구성들에 대한 설정파일 관리, 각 구성의 개별 모니터링, 미리 설정된 설정값들 간의 연계정보 관리, 전체 시스템의 처리 성능 및 통합 모니터링 정보를 제공한다.
보안시스템(600)은 사용자에 대한 인증, 인가, 접근제어를 수행하며 데이터 자체에 대한 보안 및 전송 통로에 대한 보안을 관리한다.
어플리케이션 시스템(3)은 스마트 팩토리 플랫폼(1000)을 기반으로 사용자에게 필요한 화면과 데이터를 가공하여 제공한다.
이하, 도 6을 참조하여 본 발명에 따른 스마트 팩토리 플랫폼을 위한 인터페이스 미들웨어 시스템의 동작방법에 대해 설명한다.
도 6은 본 발명의 일 실시예에 따른 인터페이스 미들웨어 시스템의 동작방법을 보여주는 플로우차트이다. 도 6에 도시된 스마트 팩토리 플랫폼을 위한 인터페이스 미들웨어 시스템의 동작방법은 도 2에 도시된 인터페이스 미들웨어 시스템(100)의 의해 수행될 수 있다.
먼저, 인터페이스 미들웨어 시스템(100)은 초기화를 수행한다(S601).
인터페이스 미들웨어 시스템(100)은 관리자로부터 미들웨어 컨테이너 생성 명령이 입력되면, 복수의 노드들 중 하나를 미들웨어 컨테이너를 생성하기 위한 노드로 결정할 수 있다. 일 실시예에 있어서, 인터페이스 미들웨어 시스템(100)은 메타 정보 저장소에 저장된 메타 정보를 이용하여 복수의 노드들 중 부하가 가장 적은 노드를 선택할 수 있다.
그리고, 인터페이스 미들웨어 시스템(100)은 선택된 노드의 에이전트에 미들웨어 컨테이너 생성 명령을 보낼 수 있다. 해당 노드의 에이전트는 미들웨어 컨테이너 생성 명령이 입력되면, 이미지 저장소에 저장된 복수의 미들웨어 컨테이너 생성 이미지들 중 하나를 가져와서 실행할 수 있다. 이에 따라, 해당 노드에는 미들웨어 컨테이너가 생성될 수 있다. 미들웨어 컨테이너의 생성이 완료되면, 해당 노드의 에이전트는 메타 정보 저장소에 생성된 미들웨어 컨테이너의 메타 정보를 저장할 수 있다.
이때, 해당 노드의 에이전트는 미들웨어 컨테이너 생성 명령에 따라 복수개의 미들웨어 컨테이너들을 생성할 수 있다. 구체적으로, 해당 노드의 에이전트는 복수의 통신방식들 각각에 대응되는 복수개의 미들웨어 컨테이너들을 생성할 수 있다. 예컨대, 해당 노드의 에이전트는 OPC를 지원하는OPC 미들웨어 컨테이너, TCP/IP를 지원하는 TCP/IP 미들웨어 컨테이너, 및 FTP를 지원하는 FTP 미들웨어 컨테이너를 생성할 수 있다.
다음, 인터페이스 미들웨어 시스템(100)은 데이터 수집 장치에 의해 수집된 수집 데이터를 데이터 송수신 인터페이스 별로 정해진 수신 단위에 따라 수신한다(S602).
본 발명에 따른 인터페이스 미들웨어 시스템(100)의 데이터 수신부는 대용량의 수집 데이터를 효과적으로 수신하기 위해 데이터 송신부와의 사이에서 설정된 데이터 송수신 인터페이스 별로 정해진 데이터 수신 단위로 수집 데이터를 수신한다. 이때, 데이터 송수신 인터페이스는 데이터 수신부가 수집 데이터를 수신하는 수신 단위를 의미하는 것으로서, 1개의 수집 데이터를 소정 시간 단위로 수신하는 타입의 데이터 송수신 인터페이스, 복수개의 수집 데이터를 1개의 파일 형태로 소정 시간 단위로 수신하는 타입의 데이터 송수신 인터페이스를 포함할 수 있다.
다음, 인터페이스 미들웨어 시스템(100)은 수신된 수집 데이터의 유형을 판단한다(S603). 수집 데이터가 이벤트 데이터이면, 우선, 제1 미들웨어 컨테이너를 생성하기 위한 노드를 결정한다(S604).
인터페이스 미들웨어 시스템(100)은 복수의 노드들 중 하나를 새로운 제1 미들웨어 컨테이너를 생성하기 위한 노드로 결정할 수 있다. 여기서, 제1 미들웨어 컨테이너는 이벤트 데이터 처리시 생성된 미들웨어 컨테이너를 나타낼 수 있다.
이때, 인터페이스 미들웨어 시스템(100)은 메타 정보 저장소에 저장된 메타 정보를 이용하여 복수의 노드들 중 하나를 선택할 수 있다.
일 실시예에 있어서, 인터페이스 미들웨어 시스템(100)은 메타 정보 저장소에 저장된 메타 정보를 이용하여 복수의 노드들 중 부하가 가장 적은 노드를 선택할 수 있다.
이후, 인터페이스 미들웨어 시스템(100)은 선택된 노드의 에이전트에 제1 미들웨어 컨테이너를 생성한다(S605).
인터페이스 미들웨어 시스템(100)은 제1 미들웨어 컨테이너 생성 명령을 보낼 수 있다. 해당 노드의 에이전트는 제1 미들웨어 컨테이너 생성 명령이 입력되면, 이미지 저장소에 저장된 복수의 미들웨어 컨테이너 생성 이미지들 중 하나를 가져와서 저장할 수 있다. 그리고, 해당 노드의 에이전트는 저장된 미들웨어 컨테이너 생성 이미지를 실행하여 제1 미들웨어 컨테이너를 생성할 수 있다. 제1 미들웨어 컨테이너의 생성이 완료되면, 해당 노드의 에이전트는 메타 정보 저장소에 생성된 제1 미들웨어 컨테이너의 메타 정보를 저장할 수 있다.
이때, 해당 노드의 에이전트는 수집 데이터의 통신방식에 대응되는 미들웨어 컨테이너 생성 이미지를 가져올 수 있다. 예컨대, 수집 데이터의 통신방식이 OPC 인 경우, 해당 노드의 에이전트는 OPC 미들웨어 컨테이너 생성 이미지를 가져와서 저장할 수 있다. 해당 노드의 에이전트는 OPC 미들웨어 컨테이너 생성 이미지를 실행하여 제1 OPC 미들웨어 컨테이너를 생성할 수 있다.
이후, 인터페이스 미들웨어 시스템(100)은 제1 미들웨어 컨테이너의 생성이 완료되면, 생성된 제1 미들웨어 컨테이너에서 이벤트 데이터를 전처리한다(S606). 이후, 인터페이스 미들웨어 시스템(100)은 전처리된 데이터를 큐 저장부에 저장한다(S607).
이후, 인터페이스 미들웨어 시스템(100)은 전처리된 데이터가 큐 저장부에 저장되면, 제1 미들웨어 컨테이너를 삭제한다(S608).
인터페이스 미들웨어 시스템(100)은 해당 노드의 에이전트에 제1 미들웨어 컨테이너 삭제 명령을 보낼 수 있다. 해당 노드의 에이전트는 제1 미들웨어 컨테이너 삭제 명령이 입력되면 제1 미들웨어 컨테이너를 제거하고, 미들웨어 컨테이너 생성 이미지를 삭제할 수 있다. 그리고, 해당 노드의 에이전트는 메타 정보 저장소에 삭제된 제1 미들웨어 컨테이너의 메타 정보를 업데이트할 수 있다.
다음, 인터페이스 미들웨어 시스템(100)은 수집 데이터가 실시간 데이터이면, 우선, 실시간 데이터에 포함된 노드 식별 정보를 제2 미들웨어 컨테이너의 식별 정보와 연결한다(S609).
인터페이스 미들웨어 시스템(100)은 실시간 데이터에 포함된 노드 식별 정보, 예컨대, 노드 포트 정보를 확인할 수 있다. 그리고, 인터페이스 미들웨어 시스템(100)은 노드 식별 정보에 대응되는 노드에 포함된 제2 미들웨어 컨테이너의 식별 정보, 예컨대, IP 및 Port로 노드 식별 정보를 연결할 수 있다.
이후, 인터페이스 미들웨어 시스템(100)은 노드 식별 정보에 대응되는 노드에 포함된 제2 미들웨어 컨테이너에서 실시간 데이터를 전처리하고, 전처리된 데이터를 큐 저장부에 저장한다(S610 및 S611).
본 발명이 속하는 기술분야의 당업자는 상술한 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다.
그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100: 인터페이스 미들웨어 시스템 110: 프로세싱부
111: 데이터 수신부 112: 미들웨어부
113: 로깅 관리부 120: 큐 서버
141: 초기화부 142: 이벤트 처리부
143: 실시간 처리부 150: 메타 정보 저장소
160: 이미지 저장소
180: 스케일러 190: 전처리부
191: 파싱 유닛 192: 표준화유닛
193: 필터링유닛 194: 전송유닛
210: 통신상태 검증유닛 215: 통신정보 저장소
220: 로그정보 저장소 225: 모니터링유닛
230: 알람발생유닛

Claims (14)

  1. 데이터 수집장치에 의해 수집된 수집 데이터를 수신하는 데이터 수신부;
    상기 데이터 수신부로부터 수신된 수집 데이터를 실시간 데이터 및 이벤트 데이터 중 하나로 결정하고, 이벤트 데이터이면, 제1 경로로 상기 이벤트 데이터를 전송하고, 실시간 데이터이면, 상기 제1 경로와 다른 제2 경로로 상기 실시간 데이터를 전송하는 마스터부;
    데이터 처리를 위한 미들웨어 컨테이너를 포함하는 복수의 노드들;
    상기 복수의 노드들 중 하나에 제1 미들웨어 컨테이너를 생성하고, 상기 생성된 제1 미들웨어 컨테이너에서 상기 이벤트 데이터를 처리하는 이벤트 처리부; 및
    상기 복수의 노드들 중 하나에 포함된 제2 미들웨어 컨테이너에서 상기 실시간 데이터를 처리하는 실시간 처리부를 포함하는, 대량의 데이터 수집을 위한 미들웨어 시스템.
  2. 제1항에 있어서,
    상기 실시간 데이터는 상기 복수의 노드들을 식별하기 위한 노드 식별 정보를 포함하는, 대량의 데이터 수집을 위한 미들웨어 시스템.
  3. 제1항에 있어서,
    상기 제2 경로에 구비되고, 노드 식별 정보와 대응되는 노드에 포함된 제2 미들웨어 컨테이너를 상기 제2 경로에 연결하는 노드 서비스부를 더 포함하는, 대량의 데이터 수집을 위한 미들웨어 시스템.
  4. 제1항에 있어서,
    상기 이벤트 처리부는,
    상기 이벤트 데이터에 대한 처리가 완료되면, 상기 생성된 제1 미들웨어 컨테이너를 삭제하는, 대량의 데이터 수집을 위한 미들웨어 시스템.
  5. 제1항에 있어서,
    상기 이벤트 처리부는,
    상기 복수의 노드들 중 부하가 가장 적은 노드에 상기 이벤트 데이터를 처리하기 위한 제1 미들웨어 컨테이너를 생성하고, 상기 생성된 제1 미들웨어 컨테이너에 상기 이벤트 데이터를 전달하는, 대량의 데이터 수집을 위한 미들웨어 시스템.
  6. 제1항에 있어서,
    상기 제1 미들웨어 컨테이너 및 상기 제2 미들웨어 컨테이너의 CPU 사용률 및 메모리 사용률을 모니터링하는 스케일러를 더 포함하는, 대량의 데이터 수집을 위한 미들웨어 시스템.
  7. 제6항에 있어서,
    상기 스케일러는,
    상기 제1 미들웨어 컨테이너의 CPU 사용률 및 메모리 사용률 중 적어도 하나가 제1 임계값을 초과하면, 상기 제1 미들웨어 컨테이너가 포함된 노드에 새로운 제1 미들웨어 컨테이너를 생성하는, 대량의 데이터 수집을 위한 미들웨어 시스템.
  8. 제7항에 있어서,
    상기 스케일러는,
    상기 제1 미들웨어 컨테이너가 복수개이고, 상기 이벤트 데이터에 대한 처리가 완료되면, 상기 복수의 제1 미들웨어 컨테이너들을 삭제하는, 대량의 데이터 수집을 위한 미들웨어 시스템.
  9. 제6항에 있어서,
    상기 스케일러는,
    상기 제2 미들웨어 컨테이너의 CPU 사용률 및 메모리 사용률 중 적어도 하나가 상기 제1 임계값 보다 작은 제2 임계값을 초과하면, 상기 제2 미들웨어 컨테이너가 포함된 노드에 새로운 제2 미들웨어 컨테이너를 생성하는, 대량의 데이터 수집을 위한 미들웨어 시스템.
  10. 제9항에 있어서,
    상기 스케일러는 상기 제2 미들웨어 컨테이너를 복제하여 새로운 제2 미들웨어 컨테이너를 생성하는, 대량의 데이터 수집을 위한 미들웨어 시스템.
  11. 제5항에 있어서,
    상기 스케일러는,
    상기 제2 미들웨어 컨테이너가 복수개이고, 상기 복수의 제2 미들웨어 컨테이너들의 CPU 사용률 및 메모리 사용률 중 적어도 하나가 제3 임계값 미만이면, 상기 복수의 제2 미들웨어 컨테이너들 중 하나를 삭제하는, 대량의 데이터 수집을 위한 미들웨어 시스템.
  12. 제1항에 있어서,
    미들웨어 컨테이너 생성 명령이 입력되면, 상기 복수의 노드들 중 하나에 적어도 하나의 초기 미들웨어 컨테이너들을 생성하는 초기화부를 더 포함하는, 대량의 데이터 수집을 위한 미들웨어 시스템.
  13. 제12항에 있어서,
    상기 적어도 하나의 초기 미들웨어 컨테이너들은 OPC를 지원하는OPC 미들웨어 컨테이너, TCP/IP를 지원하는 TCP/IP 미들웨어 컨테이너 및 및 FTP를 지원하는 FTP 미들웨어 컨테이너 중 적어도 하나를 포함하는, 대량의 데이터 수집을 위한 미들웨어 시스템.
  14. 제1항에 있어서,
    복수의 미들웨어 컨테이너 생성 이미지들을 포함하는 이미지 저장소를 더 포함하고,
    상기 제1 미들웨어 컨테이너는 상기 이미지 저장소에 저장된 복수의 미들웨어 컨테이너 생성 이미지들 중 하나를 노드에서 실행하여 생성되는, 대량의 데이터 수집을 위한 미들웨어 시스템.
KR1020190180009A 2019-12-31 2019-12-31 대량의 데이터 수집을 위한 인터페이스 미들웨어 시스템 KR102312523B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190180009A KR102312523B1 (ko) 2019-12-31 2019-12-31 대량의 데이터 수집을 위한 인터페이스 미들웨어 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190180009A KR102312523B1 (ko) 2019-12-31 2019-12-31 대량의 데이터 수집을 위한 인터페이스 미들웨어 시스템

Publications (2)

Publication Number Publication Date
KR20210086218A true KR20210086218A (ko) 2021-07-08
KR102312523B1 KR102312523B1 (ko) 2021-10-13

Family

ID=76894128

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190180009A KR102312523B1 (ko) 2019-12-31 2019-12-31 대량의 데이터 수집을 위한 인터페이스 미들웨어 시스템

Country Status (1)

Country Link
KR (1) KR102312523B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117495313A (zh) * 2023-12-29 2024-02-02 山东星维九州安全技术有限公司 一种平台系统资产汇聚管理方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130130060A (ko) * 2011-03-07 2013-11-29 케이비에이2, 인코포레이티드 이벤트 또는 지리적 위치에 있는 이미지 제공자들로부터의 분석 데이터 수집을 위한 시스템 및 방법
KR20170090050A (ko) * 2016-01-28 2017-08-07 호서대학교 산학협력단 제조업 설비 생산 정보 모니터링 시스템
WO2019028269A2 (en) * 2017-08-02 2019-02-07 Strong Force Iot Portfolio 2016, Llc METHODS AND SYSTEMS FOR DETECTION IN AN INDUSTRIAL ENVIRONMENT OF COLLECTING INTERNET DATA FROM OBJECTS WITH LARGE DATA SETS

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130130060A (ko) * 2011-03-07 2013-11-29 케이비에이2, 인코포레이티드 이벤트 또는 지리적 위치에 있는 이미지 제공자들로부터의 분석 데이터 수집을 위한 시스템 및 방법
KR20170090050A (ko) * 2016-01-28 2017-08-07 호서대학교 산학협력단 제조업 설비 생산 정보 모니터링 시스템
WO2019028269A2 (en) * 2017-08-02 2019-02-07 Strong Force Iot Portfolio 2016, Llc METHODS AND SYSTEMS FOR DETECTION IN AN INDUSTRIAL ENVIRONMENT OF COLLECTING INTERNET DATA FROM OBJECTS WITH LARGE DATA SETS

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
- David Von Leon et al., "A Lightweight Container Middleware for Edge Cloud Architectures" (2019)* *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117495313A (zh) * 2023-12-29 2024-02-02 山东星维九州安全技术有限公司 一种平台系统资产汇聚管理方法
CN117495313B (zh) * 2023-12-29 2024-04-26 山东星维九州安全技术有限公司 一种平台系统资产汇聚管理方法

Also Published As

Publication number Publication date
KR102312523B1 (ko) 2021-10-13

Similar Documents

Publication Publication Date Title
KR101951526B1 (ko) 스마트팩토리 플랫폼을 위한 인터페이스 미들웨어 시스템 및 그 동작방법
US20220263730A1 (en) Network management device and method for discovering and managing network connected databases
CN102298365B (zh) 自动识别管理航天测控地面站设备变化的方法
KR102216311B1 (ko) Api 기반의 스마트팩토리 시스템
US8726084B2 (en) Methods and systems for distributed diagnostic reasoning
KR101892350B1 (ko) 연속공정용 대용량 데이터를 실시간으로 처리하기 위한 스마트팩토리 플랫폼
KR101938946B1 (ko) 대량의 데이터 수집을 위한 인터페이스 미들웨어 시스템 및 인터페이스 미들웨어 시스템의 데이터 수집 방법
US20210026864A1 (en) Data format preparing device, edge server, and data format preparing method
CN104635686A (zh) 目标资源分配
CN109460307B (zh) 基于日志埋点的微服务调用跟踪方法及其系统
US10466686B2 (en) System and method for automatic configuration of a data collection system and schedule for control system monitoring
US10091066B2 (en) Integration method and system
JP5268589B2 (ja) 情報処理装置及び情報処理装置の運用方法
KR102312523B1 (ko) 대량의 데이터 수집을 위한 인터페이스 미들웨어 시스템
KR20180026596A (ko) 연속공정용 데이터를 실시간으로 처리하는 분산병렬 처리시스템
CN108173711B (zh) 企业内部系统数据交换监控方法
CN101681362B (zh) 存储优化方法
US20220253033A1 (en) Method and System for Implementing Event Rules for Maintenance Relevant Events in a Plurality of Machines
KR101951527B1 (ko) 메모리 캐시 자동 관리를 위한 대용량 데이터 실시간 처리 시스템
EP3582034A1 (en) Method and apparatus, in the field of automation technology, of updating processing data
US7739420B2 (en) Communication error information output method, communication error information output device and recording medium therefor
CN113010375B (zh) 设备告警方法及相关设备
CN106991560B (zh) 用于资产健康监测装置的内部通信
US11709480B2 (en) System and method for automatic data classification for use with data collection system and process control system
CN115687036A (zh) 日志采集方法、装置及日志系统

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