KR20200083010A - 스마트팩토리 플랫폼을 위한 클러스터 구조의 인터페이스 미들웨어 시스템 - Google Patents

스마트팩토리 플랫폼을 위한 클러스터 구조의 인터페이스 미들웨어 시스템 Download PDF

Info

Publication number
KR20200083010A
KR20200083010A KR1020180174196A KR20180174196A KR20200083010A KR 20200083010 A KR20200083010 A KR 20200083010A KR 1020180174196 A KR1020180174196 A KR 1020180174196A KR 20180174196 A KR20180174196 A KR 20180174196A KR 20200083010 A KR20200083010 A KR 20200083010A
Authority
KR
South Korea
Prior art keywords
data
reception
receiving
processes
interface middleware
Prior art date
Application number
KR1020180174196A
Other languages
English (en)
Other versions
KR102216308B1 (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 KR1020180174196A priority Critical patent/KR102216308B1/ko
Publication of KR20200083010A publication Critical patent/KR20200083010A/ko
Application granted granted Critical
Publication of KR102216308B1 publication Critical patent/KR102216308B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4183Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by data acquisition, e.g. workpiece identification
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/408Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by data handling or data format, e.g. reading, buffering or conversion of data
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • G05B19/4144Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by using multiplexing for control system
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • G05B19/4148Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by using several processors for different functions, distributed (real-time) systems
    • 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Hardware Redundancy (AREA)

Abstract

복수개의 수신 프로세스를 프로세스 별로 이중화하여 데이터의 유실 없이 데이터를 수집할 수 있는 본 발명의 일 측면에 따른 스마트팩토리 플랫폼을 위한 클러스터링 구조의 인터페이스 미들웨어 시스템은 액티브(Active) 상태로 동작하고, 서로 다른 통신 프로토콜에 따라 데이터 수집장치로부터 수집 데이터를 획득하는 복수개의 제1 수신 프로세스를 포함하는 제1 인터페이스 미들웨어 서버; 액티브 상태로 동작하여 상기 제1 인터페이스 미들웨어 서버와 클러스터 구조를 형성하고, 상기 복수개의 제1 수신 프로세스와 동일한 복수개의 제2 프로세스를 포함하는 제2 인터페이스 미들웨어 서버; 및 마스터로 설정된 제1 수신 프로세스들 중 오류가 발생된 제1 수신 프로세스만을 선택적으로 슬레이브로 전환하고, 슬레이브로 설정된 제2 수신 프로세스들 중 상기 오류가 발생된 제1 수신 프로세스에 대응되는 제2 수신 프로세스만을 선택적으로 마스터로 전환하는 수신제어부를 포함하는 것을 특징으로 한다.

Description

스마트팩토리 플랫폼을 위한 클러스터 구조의 인터페이스 미들웨어 시스템{Interface Middleware System Having Cluster Architecture for Smart Factory Platform}
본 발명은 공장관리 시스템에 관한 것으로서, 보다 구체적으로는 스마트 팩토리 플랫폼에 관한 것이다
최근 센서기술들의 발달에 힘입어 공장의 각 설비들에 센서를 부착하고, 센서들에 의해 센싱된 센싱 데이터들을 이용하여 설비나 공장의 상황을 실시간으로 분석하는 공장관리시스템이 개발되고 있다.
이러한 공장관리시스템의 경우 센싱주기가 짧은 많은 센서들로 인해 대량의 수집 데이터가 생성될 뿐만 아니라, 대량의 수집 데이터들은 미리 정해진 순서에 따라 수집되어야 한다.
공장관리시스템은 대량의 수집 데이터를 효율적으로 수집하기 위해 복수개의 프로세스들을 이용하여 수집데이터를 수집하는 서버를 포함한다. 이와 같은 공장관리시스템의 경우, 복수개의 프로세서 중 일부 프로세스에 장애가 발생하는 경우 서버가 동작을 중지하여야 한다는 문제점이 있다.
또한, 서버의 동작이 중지되면 서버의 재기동 이전까지 데이터 수집기능이 수행되지 않기 때문에 많은 양의 데이터들이 유실될 수 있는 문제점이 발생하고, 수집데이터의 유실을 방지하기 위해 공장의 가동을 중지시키는 경우 경제적인 손실이 발생할 수 밖에 없다는 문제점이 있다.
본 발명은 상술한 문제점을 해결하기 위한 것으로서, 복수개의 수신 프로세스를 프로세스 별로 이중화하여 데이터의 유실 없이 데이터를 수집할 수 있는 스마트팩토리 플랫폼을 위한 클러스터 구조의 인터페이스 미들웨어 시스템을 제공하는 것을 그 기술적 특징으로 한다.
또한, 본 발명은 2개의 인터페이스 미들웨어 서버를 클러스터 구조로 형성하여 각 인터페이스 미들웨어 서버가 액티브(Active) 상태로 동작할 수 있는 스마트팩토리 플랫폼을 위한 클러스터링 구조의 인터페이스 미들웨어 시스템을 제공하는 것을 그 기술적 특징으로 한다.
상술한 목적을 달성하기 위한 본 발명의 일 측면에 따른 스마트팩토리 플랫폼을 위한 클러스터링 구조의 인터페이스 미들웨어 시스템은 액티브(Active) 상태로 동작하고, 서로 다른 통신 프로토콜에 따라 데이터 수집장치로부터 수집 데이터를 획득하는 복수개의 제1 수신 프로세스를 포함하는 제1 인터페이스 미들웨어 서버; 액티브 상태로 동작하여 상기 제1 인터페이스 미들웨어 서버와 클러스터 구조를 형성하고, 상기 복수개의 제1 수신 프로세스와 동일한 복수개의 제2 프로세스를 포함하는 제2 인터페이스 미들웨어 서버; 및 마스터로 설정된 제1 수신 프로세스들 중 오류가 발생된 제1 수신 프로세스만을 선택적으로 슬레이브로 전환하고, 슬레이브로 설정된 제2 수신 프로세스들 중 상기 오류가 발생된 제1 수신 프로세스에 대응되는 제2 수신 프로세스만을 선택적으로 마스터로 전환하는 수신제어부를 포함하는 것을 특징으로 한다.
본 발명에 따르면 각 인터페이스 미들웨어 서버에 포함된 복수개의 수신 프로세스를 프로세스 별로 이중화할 수 있기 때문에, 제1 인터페이스 미들웨어 서버에 포함된 복수개의 수신 프로세스 중 어느 하나에 오류가 발생하더라도 오류가 발생된 수신 프로세서만 제2 인터페이스 미들웨어 서버에서 동작시킬 수 있어 데이터의 유실이 발생하지 않게 되고, 이로 인해 수집데이터의 신뢰도가 향상되는 효과가 발생한다.
또한, 본 발명에 따르면 2개의 인터페이스 미들웨어 서버가 클러스터 구조로 형성되어 2개의 인터페이스 미들웨어 서버 모두가 액티브 상태로 동작할 수 있기 때문에, 미들웨어 시스템의 고가용성을 보장할 수 있을 뿐만 아니라 복수개의 프로세스들 중 어느 하나에 오류가 발생하더라도 서버 전체가 절체되는 것이 아니라 오류가 발생된 프로세스만 타 인터페이스 미들웨어 서버로 절체하면 되므로 서버단위의 절체동작이 요구되지 않아 시간지연이 발생되지 않는다는 효과가 있다.
도 1은 본 발명에 따른 스마트팩토리 아키텍처를 보여주는 도면이다.
도 2는 본 발명의 일 실시예에 따른 인터페이스 미들웨어 시스템의 구성을 보여주는 도면이다.
도 3은 본 발명의 일 실시예에 따른 수신제어부의 구성을 개략적으로 나타낸 도면이다.
도 4a 내지 4c는 본 발명의 일 실시예에 따른 수신제어부가 프로세스 별로 마스터 및 슬레이브를 설정하는 방법을 보여주는 도면이다.
도 5는 본 발명의 일실시예에 따른 접속제어부가 수신제어부에 의해 마스터 또는 슬레이브로 설정된 복수개의 서버 수신 프로세스로 수집데이터를 전송하는 것을 보여주는 도면이다.
도 6는 본 발명의 일 실시예에 따른 제1 전처리부의 구성을 나타내는 블록도이다.
본 명세서에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 정의하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다.
"포함하다" 또는 "가지다" 등의 용어는 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
"적어도 하나"의 용어는 하나 이상의 관련 항목으로부터 제시 가능한 모든 조합을 포함하는 것으로 이해되어야 한다. 예를 들어, "제1 항목, 제2 항목 및 제 3항목 중에서 적어도 하나"의 의미는 제1 항목, 제2 항목 또는 제3 항목 각각 뿐만 아니라 제1 항목, 제2 항목 및 제3 항목 중에서 2개 이상으로부터 제시될 수 있는 모든 항목의 조합을 의미한다.
이하, 첨부되는 도면을 참고하여 본 발명의 실시예들에 대해 상세히 설명한다.
도 1은 본 발명에 따른 스마트팩토리 아키텍처를 보여주는 도면이다.
도 1에 도시된 바와 같이, 본 발명에 따른 스마트팩토리 아키텍쳐는, 데이터 수집 장치(1), 스마트팩토리 플랫폼(1000), 및 어플리케이션 시스템(3)과 같은 계층으로 구성된다.
데이터 수집 장치(1)는 다양한 공정의 진행 과정에서 발생되는 데이터를 수집하고, 수집된 데이터를 스마트팩토리 플랫폼(1000)으로 전달한다. 일 실시예에 있어서, 데이터 수집 장치(1)는 다양한 공정의 진행 과정에서 발생되는 마이크로 데이터(Micro Data)를 수집할 수 있다. 여기서, 마이크로 데이터는 다양한 센서 등을 통해 수집된 데이터 그 자체로서 원시 데이터(Raw Data)를 의미한다. 이하에서는, 설명의 편의를 위해 마이크로 데이터를 수집 데이터로 표기하기로 한다.
데이터 수집 장치(1)는 수집 데이터를 수집하기 위한 다양한 계측기, 센서, 액츄에이터, 계측기를 포함하거나 센서, 액츄에이터 등에 의해 수집된 데이터를 통합하거나 제어하는 P/C, PLC(Programmable Logic Controller), 또는 DCS(Distributed Control System) 등을 포함한다.
일 예로, 데이터 수집장치(1)는 연속공정에서 발생되는 데이터를 수집할 수 있다. 연속공정이란 원재료를 이용하여 완제품을 생성하기 위한 복수개의 공정들이 연속적으로 수행되고, 각 공정의 산출물들이 서로 혼합되거나 특정 공정의 산출물의 상태가 변화하여 후속 공정으로 공급되는 방식의 공정을 의미한다. 철강공정이 이러한 연속공정의 대표적인 예에 해당한다. 철강공정은 제선공정, 제강공정, 연주공정, 및 압연공정 등과 같은 다양한 공정으로 구성되므로, 데이터 수집 장치(1)가 철강공정에 적용되는 경우, 제선공정, 제강공정, 연주공정, 및 압연공정 등과 같은 다양한 공정의 진행 과정에서 발생되는 수집 데이터를 수집한다.
스마트팩토리 플랫폼(1000)은 데이터 수집 장치(1)로부터 수신된 대용량의 수집 데이터를 실시간으로 가공하여, 각 수집 데이터가 획득된 설비 또는 공정의 이상유무를 실시간으로 판단한다. 또한, 스마트팩토리 플랫폼(1000)은 가공된 수집 데이터를 빅데이터 분석을 위해 빅데이터 저장부(미도시)에 저장하며, 저장된 데이터에 대한 조회 및 분석 서비스를 제공한다.
일 실시예에 있어서, 본 발명에 따른 스마트팩토리 플랫폼(1000)은 도 1에 도시된 바와 같이, 인터페이스 미들웨어 시스템(100), 분산병렬처리 시스템(200), 빅데이터 분석시스템(300)을 포함한다. 또한, 스마트팩토리 플랫폼(1000)은 서비스 시스템(400), 관리시스템(500), 및 보안시스템(500)을 더 포함할 수 있다.
인터페이스 미들웨어 시스템(100)은 데이터 수집 장치(1)로부터 전달되는 수집 데이터들을 수신한다. 구체적으로 인터페이스 미들웨어 시스템(100)은 Level 0 내지 Level 2의 이기종 장치들과 다양한 프로토콜을 통해 연결되기 위한 연결수단을 제공하고 데이터 수집 장치(1)에서 수집된 수집 데이터를 전처리 하여 수집 데이터를 표준화한다.
이하, 도 2를 참조하여 본 발명에 따른 인터페이스 미들웨어 시스템(100)에 대해 구체적으로 설명한다.
도 2는 본 발명의 일 실시예에 따른 인터페이스 미들웨어 시스템(100)의 구성을 보여주는 도면이다. 도 2에 도시된 바와 같이, 본 발명에 따른 인터페이스 미들웨어 시스템(100)은 제1 및 제2 인터페이스 미들웨어 서버(110a, 110b), 수신제어부(120), 및 큐 저장부(130)를 포함한다. 또한, 본 발명에 따른 인터페이스 미들웨어 시스템(100)은 접속제어부(125)를 더 포함할 수 있다.
제1 인터페이스 미들웨어 서버(110a) 및 제2 인터페이스 미들웨어 서버(110b)는 데이터 수집장치(1)로부터 수집 데이터를 획득하고, 획득된 수집 데이터를 전처리 한다. 일 실시예에 있어서, 제1 인터페이스 미들웨어 서버(110a) 및 제2 인터페이스 미들웨어 서버(110b)는 서로 클러스터 구조를 형성함으로써 액티브-액티브 상태로 동작하여 수집데이터를 획득하여 전처리할 수 있다.
특히, 본 발명에 따른 제1 인터페이스 미들웨어 서버(110a)는 서로 다른 통신 프로토콜에 따라 데이터 수집장치(1)로부터 수집데이터를 획득하는 복수개의 제1 수신 프로세스를 포함하고, 제2 인터페이스 미들웨어 서버(110a, 110b)는 복수개의 제1 수신 프로세스들이 각 수신 프로세스 별로 이중화되어 복수개의 제1 수신프로세스들과 동일한 복수개의 제2 수신 프로세스(210a)들을 포함한다.
이에 따라, 각 수신프로세스 별로 이중화되어 있는 제1 수신 프로세스(210a) 및 제2 수신 프로세스(210b)들 중 마스터로 설정되어 있는 수신 프로세스가 데이터 수집장치(1)로부터 수집데이터를 수집하게 되고 슬레이브로 설정되어 있는 수신 프로세스는 대기상태로 동작하게 된다.
특히, 본 발명에 따르면 제1 인터페이스 미들웨어 서버(110a)에 포함된 복수개의 제1 수신 프로세스(110a) 및 제2 인터페이스 미들웨어 서버(110a)에 포함된 복수개의 제2 수신 프로세스(110b)들이 수신 프로세스 별로 이중화되어 있기 때문에, 제1 인터페이스 미들웨어 서버(110a)에 포함된 복수개의 제1 수신 프로세스들(210a) 중 적어도 하나의 제1 수신 프로세스가 동작할 수 있고 제2 인터페이스 미들웨어 서버(110b)에 포함된 복수개의 제2 수신 프로세스들(210b) 중 적어도 하나의 제2 수신 프로세스도 동시에 동작할 수 있게 된다.
이에 따라, 본 발명에 따른 인터페이스 미들웨어 시스템(100)은 제1 인터페이스 미들웨어 서버(110a)도 액티브(Active)상태로 동작할 수 있고 제2 인터페이스 미들웨어 서버(110a)도 액티브 상태로 동작할 수 있는 클러스터 구조를 가지게 된다.
일례로, 제1 인터페이스 미들웨어 서버(110a)가 데이터 수집장치(1)로부터 a타입 수집 데이터를 수집하는 제1-a 수신프로세스와 b타입 수집 데이터를 수집하는 제1-b 수신 프로세스를 포함하고 제2 인터페이스 미들웨어 서버(110b)는 제1-a 수신프로세스가 이중화된 제2-a 수신프로세스와 제2-b 수신프로세스가 이중화된 제2-b 수신프로세스를 포함한다고 가정한다. 이러한 경우 제1-a 수신프로세스가 마스터로 동작하고 제1-b수신 프로세스는 슬레이브 동작하면 제1 인터페이스 미들웨서 서버(110a)는 마스터로 동작하는 제1-a 수신프로세스로 인해 액티브 상태로 동작하게 된다. 또한, 제1-a 수신프로세스가 마스터로 동작하고 제1-b수신 프로세스는 슬레이브 동작하기 때문에 2-a 수신프로세스는 슬레이브로 동작하고 제2-b수신 프로세스는 마스터로 동작하게 되므로 제2 인터페이스 미들웨서 서버(110b)는 마스터로 동작하는 제2-b 수신프로세스로 인해 액티브 상태로 동작하게 된다.
이와 같이 본 발명에서 인터페이스 미들웨어 시스템(100)을 클러스터 구조로 형성하는 이유는, 제1 및 제2 인터페이스 미들웨어 서버(110a, 110b)가 서버 단위에서 액티브-스탠바이 상태로 동작하게 되면, 액티브 상태로 동작하고 있는 인터페이스 미들웨어 서버에 포함된 복수개의 프로세스들 중 어느 하나의 프로세스의 동작이 중단되더라도 액티브 상태로 동작하고 있는 인터페이스 미들웨어 서버는 스탠바이 상태로 절체되고 스탠바이 상태로 동작하고 있는 인터페이스 미들웨어 서버가 마스터 상태로 절체되어야 하고, 이때 발생되는 절체시간 동안 수집데이터가 대량 유실될 수 있기 때문이다.
상술한 실시예에 있어서, 복수개의 제1 및 제2 수신 프로세스(210a, 210b)는 데이터 수집장치(1)에 직접 접속하여 데이터 수집장치(1)로부터 수집데이터를 독출하는 클라이언 수신 프로세스일 수 있다. 이러한 실시예에 따르는 경우, 복수개의 제1 및 제2 수신 프로세스(210a, 210b)는 각 프로세스 별로 서로 다른 통신 프로토콜을 가질 수 있다. 예컨대, 복수개의 제1 및 제2 수신 프로세스(210a, 210b)는 OPC 프로토콜에 따라 수집 데이터를 획득하는 OPC 클라이언트 수신 프로세스, FTP 프로토콜에 따라 수집 데이터를 획득하는 FTP 클라이언트 수신 프로세스일 수 있다.
다른 실시예에 있어서, 복수개의 제1 및 제2 수신 프로세스(210a, 210b)는 데이터 수집장치(1)의 접속을 허용함으로써 데이터 수집장치(1)로부터 수집 데이터를 수신하는 서버 클라이언트일 수 있다. 이러한 실시예에 따르는 경우, 복수개의 제1 및 제2 수신 프로세스(210a, 210b)는 각 프로세스 별로 서로 다른 통신 프로토콜을 가질 수 있다. 일 예로, 서버 수신 프로세스는 TCP 프로토콜에 따라 수집 데이터를 수신할 수 있는 TCP 서버 수신 프로세스일 수 있다,
수신제어부(120)는 서로 이중화된 제1 및 제2 수신프로세스(210a, 210b) 를 각 프로세스 별로 어느 하나의 수신프로세스를 마스터(Master) 상태로 설정하고, 다른 하나의 수신프로세스를 슬레이브(Slave) 상태로 설정한다. 이에 따라 수신제어부(120)에 의해 마스터 상태로 설정된 수신 프로세스는 수집 데이터를 획득하고, 슬레이브 상태로 설정된 수신 프로세스는 대기상태로 동작한다.
수신제어부(120)는 마스터로 설정된 복수개의 제1 수신 프로세스(210a)들 중 오류가 발생된 제1 수신 프로세스(210a)만을 선택적으로 슬레이브로 전환하고, 슬레이브로 설정된 복수개의 제2 수신 프로세스(210b)들 중 오류가 발생된 제1 수신 프로세스(210a)에 대응되는 제2 수신 프로세스(210b)만을 선택적으로 마스터로 전환한다.
본 발명에서 수신제어부(120)가 각 프로세스 별로 제1 및 제2 수신 프로세스(210a, 210b) 중 어느 하나를 마스터로 설정하고 다른 하나를 슬레이브로 설정하는 이유는, 본 발명의 경우 제1 및 제2 인터페이스 미들웨어 서버(110a, 110b)가 액티브-액티브 방식으로 구성되기 때문에 동일 수신프로세스가 서로 다른 서로 다른 서버에서 프로세스가 처리되는 경우 각 서버의 처리성능에 따라 프로세스의 처리속도가 달라질 수 있어, 수집 데이터를 순차적으로 수집할 수 없기 때문이다.
수신제어부(120)는 도 3에 도시된 바와 같이 n개의 수신제어모듈을 포함할 수 있다.
이하, 도 3를 참조하여 본 발명의 일 실시예에 따른 수신제어부(120)에 대해 보다 구체적으로 설명한다. 도 3은 본 발명의 일 실시예에 따른 수신제어부의 구성을 개략적으로 나타낸 도면이다.
도 3에 도시된 바와 같이 수신제어부(120)는 n개의 수신제어모듈을 포함하고, n개중 1개의 수신제어모듈은 리더수신제어모듈(310)이고, 리더수신제어모듈을 제외한 n-1개의 수신제어모듈은 팔로워수신제어모듈(320, 330)일 수 있다. 도 3에서는 3개의 수신제어모듈인 것으로 도시하였으나, 이는 설명의 편의를 위한 것으로 수신제어모듈은 2개 이하일 수 있고, 4개 이상일 수도 있다. 이하 설명의 편의를 위해 리더 수신제어모듈(310) 및 제1 및 제2 팔로워 수신제어모듈(320, 330)을 통칭할 때 수신제어모듈(310-330)이라 한다.
수신제어모듈(310-330)은 복수개의 제1 수신 프로세스(210a) 및 복수개의 제2 수신프로세스(210b)와 연결된다. 구체적으로, 제1 내지 제3 수신제어모듈(310-330)은 적어도 하나의 제1 수신프로세스 또는 적어도 하나의 제2 수신프로세스와 연결될 수 있다. 일례로, 도 3에 도시된 바와 같이 복수개의 제1 및 제2 수신프로세스(210a, 210b)가 서로 이중화된 프로세스별로 분산되어 각 수신제어모듈과 연결될 수 있다. 리더 수신제어모듈(310)이 서로 이중화된 제1-1 수신 프로세스 및 제2-1 수신 프로세스와 연결되고, 제1 팔로워 수신제어모듈(320)이 서로 이중화된 제1-2 수신프로세스 및 제2-1 수신 프로세스와 연결되고, 제2 팔로워 수신제어모듈(330)이 서로 이중화된 제1-3 수신프로세스 및 제2-3 수신프로세스와 서로 이중화된 제1-4 수신프로세스 및 제2-4 수신 프로세스와 연결될 수 있다. 일 실시예에 있어서 수신제어모듈(310-330)은 각 수신제어모듈의 부하량에 따라 복수개의 제1 및 제2 수신프로세스(210a, 210b)와 연결될 수도 있다.
수신제어모듈(310-330)은 제1 및 제2 수신프로세스(210a, 210b)로부터 주기적으로 핑(PING)을 수신하여 연결을 유지하고, 수신제어모듈(310-330)은 어느 하나의 수신제어모듈에서 제1 및 제2 수신프로세스(210a 210b)로부터 핑 수신이 실패되면 다른 수신제어모듈로 연결되게 한다.
수신제어모듈(310-330)은 각 수신제어모듈별로 연결된 제1 및 제2 수신프로세스(210a, 210b)를 각 프로세스 별로 각각 매칭시켜 네임스페이스(Name Space)에 등록할 수 있다. 즉, 수신제어모듈(310-330)은 제1 수신프로세스(210a) 및 제 1 수신프로세스와 동일한 제2 수신 프로세스를 서로 매칭시켜 네임스페이스에 등록할 수 있다.
수신제어모듈(310-330)은 자신에게 연결된 수신프로세스를 마스터 및 슬레이브로 설정한다.
수신제어모듈(310-330)은 각 수신제어모듈 별로 연결된 제1 및 제2 수신 프로세스(210a, 210b)의 장애여부를 판단한다. 이에 따라 수신제어모듈(310-330)은 서로 이중화된 제1 및 제2 수신 프로세스(210a, 210b) 중 마스터로 설정된 수신프로세스에 장애가 발생하면, 마스터로 설정된 수신 프로세스를 슬레이브로 재설정하고, 슬레이브로 설정된 수신 프로세스를 마스터로 재설정한다.
리더로 수신 제어모듈(310)은 제1 및 제2 팔로워 수신제어모듈(320,330)에 제1 및 제2 수신프로세스(210a, 210b)의 정보발생 이벤트를 전파하여 동기화한다. 구체적으로 팔로워 수신제어모듈(320,330) 중 어느 하나의 수신제어모듈이 자신과 연결된 수신프로세스로부터 정보발생 이벤트를 수신하고, 정보발생 이벤트를 리더 수신 제어모듈(310)로 전송하면, 리더 수신 제어모듈(310)은 이를 다른 수신제어모듈로 정보발생이벤트를 전파한다. 정보발생 이벤트는, 제1 또는 제2 수신 프로세스(210a, 210b)의 마스터 또는 슬레이브 설정상태, 각 수신프로세스의 장애발생여부, 네임스페이스의 등록정보 중 적어도 하나를 의미할 수 있다.
예컨대, 리더 수신제어모듈(310)은 각 수신제어모듈이 서로이중화된 제1 및 제2 수신 프로세스(210a, 210b)를 각 프로세스 별로 매칭시켜 네임스페이스에 등록하면 네임스페이스 등록정보를 모든 팔로워 수신제어모듈(320, 330)에게 전파할 수 있다.
본 발명에 따른 리더 수신제어모듈(310)이 팔로워 수신제어모듈(320, 330)로 수신프로세스의 이벤트를 전파하는 이유는, 수신제어모듈간에 수신프로세스에 대한 정보를 동기화를 시켜, 어느 하나의 수신제어모듈이 장애가 발생하더라도 다른 수신제어모듈로 수신프로세스를 제어할 수 있게 하기 위함이다.
일 실시예에 있어서, 리더 수신제어모듈(310)은 수신제어모듈(310-330)의 과반수이상의 승인을 받아 정보발생 이벤트를 전파할 수 있다.
본 발명에서 리더 수신제어모듈(310)이 과반수 이상의 승인을 받아 수신 프로세스의 이벤트를 전파하는 이유는, 복수개의 수신제어 모듈 중 어느 하나의 수신제어모듈이 장애가 발생하여 장애가 발생한 수신제어모듈이 리더 수신제어모듈(310)로부터 정보발생 이벤트를 전파받지 못하게 되는 것을 방지하기 위함이다.
일 실시예에 있어서, 리더 수신제어모듈(310)은 수신제어모듈(310-330) 중 먼저 기동된 수신제어모듈로 선정될 수 있다. 다른 실시예로, 수신제어모듈(310-330)이 과반수이상의 수신제어모듈의 승인을 받아 리더 수신제어모듈(310)을 선정할 수 있다. 리더 수신제어모듈(310)이 장애가 발생되면 리더 수신제어모듈(310)을 재선정할 수 있다.
이하, 도 4a 내지 4c을 참조하여 수신제어모듈이 마스터 및 슬레이브를 설정하는 것에 대해 예를 들어 설명한다. 도 4a 내지 4c에서는 설명의 편의를 위해 어느 하나의 수신제어모듈을 포함하는 수신제어부가 마스터/슬레이브를 설정하는 것으로 설명한다.
도 4a 내지 4c는 본 발명의 일 실시예에 따른 수신제어부가 프로세스 별로 마스터 및 슬레이브를 설정하는 방법을 보여주는 도면이다.
도 4a에 도시된 바와 같이, 제1 인터페이스 미들웨어 서버(110a)는 제1-a 클라이언트 수신 프로세스(415a) 및 제1-b 클라이언트 수신 프로세스(420a)를 포함하고, 제2 인터페이스 미들웨어 서버(110b)는 제1-a 클라이언트 수신 프로세스가 이중화된 제2-a클라이언트 프로세서(415b)와 제1-b클라이언트 수신 프로세스가 이중화된 제2-b클라이언트 수신 프로세스(420b)를 포함한다.
수신제어부(120)는 제1-a클라이언트 수신 프로세스(415a) 및 제2-a클라이언트 수신 프로세스(415b) 중 어느 하나를 마스터로 설정하고, 다른 하나는 슬레이브로 설정한다. 또한, 수신제어부(120)는 제1-b 클라이언트 수신 프로세스(420a) 및 제2-b 클라이언트 수신 프로세스(420b) 중 어느 하나를 마스터로 설정하고, 다른 하나는 슬레이브로 설정한다. 도 4a에서는 제1-a 클라이언트 수신 프로세스(415a) 및 2-b 클라이언트 수신 프로세스(415b)가 먼저 기동된 것으로 가정하여 제1-a 클라이언트 수신 프로세스(415a) 및 2-b 클라이언트 수신 프로세스(415b)가 마스터로 설정되고 제1-b 클라이언트 수신 프로세스(415b) 및 2-a 클라이언트 수신 프로세스(415a)가 슬레이브로 설정된 것으로 도시하였다.
이에 따라 제1-a 클라이언트 수신 프로세스(415a) 및 제2-b 클라이언트 수신 프로세스(420b)가 데이터 수집기능을 수행하게 됨으로써 제1 인터페이스 미들웨어 서버(110a) 및 제2 인터페이스 미들웨어 서버(110b)도 모두가 액티브 상태로 동작하는 클러스터 구조의 구현이 가능하게 된다.
한편, 제1-a 클라이언트 수신 프로세스(415a) 및 제2-b 클라이언트 수신 프로세스(415b)에 장애가 발생된 것으로 판단되면 수신제어부(120)는 도 3b에 도시된 바와 같이 제1-a 클라이언트 수신 프로세스(415a) 및 제2-b 클라이언트 수신 프로세스(415b)를 슬레이브로 절체시키고 제2-a 클라이언트 수신 프로세스(415a) 및 제1-b 클라이언트 수신 프로세스(415a)를 마스터로 절체시킨다. 이에 따라 제1-b 클라이언트 수신 프로세스(415a) 및 제2-a 클라이언트 수신 프로세스(420b)가 데이터 수집기능을 수행하게 됨으로써 제1 인터페이스 미들웨어 서버(110a) 및 제2 인터페이스 미들웨어 서버(110b)도 모두가 액티브 상태로 동작하는 클러스터 구조의 구현이 가능하게 된다.
다른 예로, 제1-a 클라이언트 수신 프로세스(415a)에 장애가 발생된 것으로 판단되면 수신제어부(120)는 도 4c에 도시된 바와 같이 제1-a 클라이언트 수신 프로세스(415a)를 슬레이브로 절체시키고 제2-a 클라이언트 수신 프로세스(415b)를 마스터로 절체시킨다. 이에 따라 제2-a 클라이언트 수신 프로세스(415b) 및 제2-b 클라이언트 수신 프로세스(420b)가 데이터 수집기능을 수행하게 됨으로써 본 발명은 제1 인터페이스 미들웨어 서버(110a)는 대기 상태로 동작하고 제2 인터페이스 미들웨어 서버(110b)는 액티브 상태로 동작하는 액티브-스탠바이 구조로 동작할 수 있다. 도 4c에는 도시하지 않았으나, 반대로 제1 인터페이스 미들웨어 서버(110a)가 액티브 상태로 동작하고, 제2 인터페이스 미들웨어 서버(110b)가 대기 상태로 동작할 수도 있다.
이와 같이 본 발명은 제1 및 제2 인터페이스 미들웨어 서버(110a, 110b) 중 하나의 인터페이스 미들웨어 서버에서 모든 수신 프로세스가 동작하더라도, 일반적인 액티브-스탠바이 방식과 달리 일부 수신 프로세스에 장애가 발생하면 인터페이스 미들웨어 서버 자체를 절체할 필요가 없고 장애가 발생된 수신 프로세스만이 수신제어부(120)에 의해 천이되기 때문에, 인터페이스 미들웨어 시스템(100)의 효율을 향상시킬 수 있는 효과가 있다.
상술한 실시예에 있어서는 수신프로세스가 클라이언트 수신 프로세스인 것으로 설명하였다. 하지만, 수신프로세스는 서버 수신 프로세스일 수도 있다. 상술한 실시예에서는 복수개의 제1 및 제2 수신프로세스(210a, 210b)가 클라이언트 수신 프로세스일때 수신제어부(120)가 각 수신 프로세스를 마스터 및 슬레이브를 설정하는 것으로 설명하였다. 다른 실시예에서는 복수개의 제1 및 제2 수신프로세스(210a, 210b)가 서버 수신 프로세스일 때 수신제어부(120)가 각 수신 프로세스별로 마스터 및 슬레이브를 설정할 수 있다. 또 다른 실시예에서는 복수개의 제1 및 제2 수신 프로세스(210a, 210b)가 클라이언트 수신 프로세스 및 서버 수신 프로세스일 때 수신제어부(120)가 각 수신 프로세스별로 마스터 및 슬레이브를 설정할 수 있다.
이러한 실시예에 따르는 경우, 시스템은 데이터접속장치를 마스터로 설정된 서버에 접속시키기 위해 도 2에 도시된 바와 같이 접속제어부(125)를 더 포함할 수 있다.
다시 도 2를 참조하면, 접속제어부(125)는 데이터수집장치(1)가 제1 및 제2 수신프로세스(210a, 210b)로 수집데이터를 전송할 수 있도록 데이터수집장치(1)와 제1 및 제2 수신 프로세스(210a, 210b)를 연결시킨다. 구체적으로 복수개의 제1 수신프로세스(210a)는 복수개의 제1 서버 수신 프로세스고 복수개의 제2 수신프로세스(210a)는 복수개의 제1 서버 수신 프로세스가 각 프로세스 별로 이중화된 복수개의 제2 서버 수신 프로세스일 때, 접속제어부는 제1 및 제2 서버 수신 프로세스가 수집데이터를 수신할 수 있도록 데이터수집장치(1)와 제1 및 제2 서버 수신 프로세스를 연결시킨다.
일 실시예에 있어서, 접속제어부(125)는 복수개의 제1 수신 프로세스(210a)들 중 수신제어부(120)에 의해 마스터(Master)로 설정된 제1 수신 프로세스 또는 복수개의 제2 수신 프로세스(210b)들 중 수신제어부(120)에 의해 마스터로 설정된 제2 수신 프로세스에 데이터수집장치(1)를 연결시킨다.
접속제어부(125)는 VIP(Virtual Internet Protocol)을 할당하여 데이터 수집장치(1)와 연결되어 데이터 수집장치(1)로부터 수집데이터를 수신하고, 접속제어부(125)는 제1 및 제2 서버 수신 프로세스로 접속하여 수집데이터를 전송한다.
일 실시예에 있어서 접속제어부(125)는 데이터 수집장치(1)로부터 전송받은 수집데이터를 각 프로세스별로 서로 이중화된 제1 및 제2 서버 수신 프로세스에 교번하여 전송할 수 있다. 예컨대, 접속제어부(125)가 데이터 수집장치(1)로부터 수집데이터를 수신하면 이를 제1 서버 수신 프로세스로 전송하고, 접속제어부(125)는 다시 데이터 수집장치(1)로부터 수집데이터를 수신하면 이를 제1 서버 수신 프로세스가 이중화된 제2 서버 수신 프로세스로 보낼 수 있다.
일 실시예에 있어서, 접속제어부(125)는 수신제어부(120)에 의해 마스터(Master)로 설정된 서버 수신 프로세스에 선택적으로 연결시킬 수 있다. 구체적으로 접속제어부(125)는 데이터수집장치(1)와 VIP를 통해 수집데이터를 수신하면, 접속제어부(125)는 마스터로 설정된 서버 수신 프로세스에 연결되어 마스터로 설정된 서버 수신 프로세스로 수집데이터를 전송할 수 있다. 이에 따라 마스터로 설정된 서버 수신 프로세스는 데이터수집장치(1)로부터 수집데이터를 수신할 수 있고, 슬레이브로 설정된 다른 서버 수신 프로세스는 데이터수집장치로(1)로부터 수집데이터를 수신할 수 없다.
이하, 도 5를 참조하여 수신제어부(120)에 의해 서로 이중화된 프로세스 별로 제1 및 제2 서버 수신 프로세스가 마스터 및 슬레이브를 설정되어 있을 때 접속제어부(125)가 수집데이터를 전송하는 것을 설명한다.
도 5는 본 발명의 일실시예에 따른 접속제어부(125)가 수신제어부(120)에 의해 마스터 또는 슬레이브로 설정된 복수개의 서버 수신 프로세스로 수집데이터를 전송하는 것을 보여주는 도면이다.
도 5에 도시된 바와 같이 제1 인터페이스 미들웨어 서버(110a)는 제1-a 서버 수신 프로세스(540a) 및 제1-b 서버 수신 프로세스(550a)를 포함하고, 제2 인터페이스 미들웨어 서버(110b)는 제1-a 서버 수신 프로세스(540a)가 이중화된 제2-a 서버 수신 프로세스(540b) 및 제1-b 서버 수신 프로세스(550a)가 이중화된 제2-b 서버 수신 프로세스(550b)를 포함한다.
수신제어부(120)에 의해 제1-a 서버 수신 프로세스(540a)가 마스터로 설정되고, 제2-a 서버 수신 프로세스(550b)가 슬레이브로 설정되면, 접속제어부(125)는 데이터 수집장치(1)로부터 수집데이터를 수신하여 마스터로 설정된 제1-a 서버 수신 프로세스(540a)로 전송한다.
또한, 수신제어부(120)에 의해 제1-b 서버 수신 프로세스(550a)가 슬레이브로 설정되고, 제2-b 서버 수신 프로세스(550b)가 마스터로 설정되면, 접속제어부(125)는 데이터 수집장치(1)로부터 수집데이터를 수신하여 마스터로 설정된 제2-b 서버 수신 프로세스(550b)로 전송한다.
도 5에서는 제1 및 제2 인터페이스에 각 2개의 서버 수신 프로세스가 있는 것으로 도시하였으나, 이는 하나의 예로써, 서버 수신 프로세스는 1개일 수도 있고, 3개 이상일 수도 있다.
다시 도2를 참조하면, 일 실시예에 있어서, 접속제어부(125)는 캡슐화된 수집데이터를 데이터 수집장치로부터 수신하여 이를 디캡슐화할 수 있다. 구체적으로 접속제어부(125)는 데이터수집장치(1)와의 사이에 터널을 형성하고, 접속제어부(125)는 터널을 통해 데이터 수집장치(1)로부터 캡슐화된 수집데이터를 수신하여, 캡슐화된 수집데이터를 디캡슐화한다. 접속제어부(125)는 디캡슐화된 수집데이터를 마스터로 동작하고 있는 제1 수신 프로세스(210a) 또는 마스터로 동작하고 있는 제2 수신프로세스(210b)로 전송하게 된다. 이때, 터널은 네트워크상에 보이지 않는 통로를 의미할 수 있다.
제1 및 제2 전처리부(220a)는 복수개의 제1 및 제2 수신 프로세스(210a)에 의해 획득된 수집데이터를 전처리하여 큐 저장부(130)에 저장한다. 구체적으로 제1 전처리부(220a)는 수집데이터를 파싱, 표준화 및 필터링을 수행한다. 제1 전처리부(220a) 및 제2 전처리부(220b)의 기능과 구성은 동일하므로 이하에서는 제1 전처리부(220a)의 기능을 중심으로 설명하기로 한다.
이하 도 6를 참조하여 제1 전처리부(220a)에 대해 설명한다. 도 6는 본 발명의 일 실시예에 따른 제1 전처리부의 구성을 나타내는 블록도이다.
제1 전처리부(220a)는 데이터 파싱부(610), 데이터 표준화부(620), 및 데이터 필터링부(630)를 포함한다.
데이터 파싱부(610)는 수집 데이터가 복수개의 항목 ID로 구성된 그룹 ID, 수집시간, 및 복수개의 측정값이 반복되는 구조를 가지는 경우, 수집 데이터를 그룹 ID별로 파싱하고, 그룹 ID에 포함된 복수개의 항목 ID와 복수개의 측정값을 각각 매칭시켜 하나의 항목 ID, 수집시간, 및 하나의 측정값으로 구성된 수집 데이터로 변환한다.
여기서, 항목 ID는 측정값의 속성을 식별하기 위한 것으로 연속공정 중 설비, 재료, 또는 제품의 어떤 속성을 측정한 것인지를 의미하는 값으로 온도나 습도 등을 의미한다. 그룹 ID는 특정 공장에서 위치 별 또는 각 공정 별로 몇 가지 항목을 그룹으로 편성한 대표값을 의미한다. 상술한 실시예에 있어서는 그룹 ID와 수집시간이 별개의 구분된 개념인 것으로 기재하였지만, 그룹 ID 자체에 수집시간이 포함되어 있을 수도 있다.
이러한 실시에 따르는 경우, 데이터 파싱부(610)는 수집 데이터 전문에 대한 메시지 레이아웃이 정의되어 있는 메시지 레이아웃 저장부(615)를 참조하여 수집 데이터를 파싱할 수 있다. 메시지 레이아웃 저장부(615)는 별도의 구성으로 제1 인터페이스 미들웨어 서버(110a) 또는 다른 장치에 포함될 수 있다. 그러나, 본 발명은 이에 한정되지 않으므로 데이터 파싱부(610) 내부에 메시지 레이아웃에 관한 정보가 포함되어 있을 수도 있다.
데이터 표준화부(620)는 데이터 파싱부(610)로부터 전달되는 하나의 항목 ID, 수집시간, 및 하나의 측정값으로 구성된 수집 데이터에 대해서, 미리 설정된 표준변환기준에 따라 항목 ID를 표준항목 ID로 변환하고 측정값의 단위 및 자리수를 통일시킴으로써 파싱된 데이터를 표준화한다.
데이터 표준화부(620)은 별도의 구성으로 제1 인터페이스 미들웨어 서버(110a) 또는 다른 장치에 포함된 표준 변환기준 저장부(625)를 참조하여, 항목 ID, 측정값의 단위 및 자리수를 표준화할 수 있으나, 본 발명은 이에 한정되지 않으므로 데이터 표준화부(620) 내부에 표준화를 위한 표준 변환기준에 관한 정보가 포함되어 있을 수 있다.
데이터 필터링부(630)은 미리 설정된 필터링 기준에 따라 데이터 표준화부(620)에서 표준화된 데이터를 큐 저장부(130)에 저장할 것인지 여부를 판단한다. 일례로, 수집 데이터의 종류에 따라 등급이 미리 설정되어 있고, 데이터 필터링부(630)은 상기 등급에 따라 큐 저장부(130)에 저장할 데이터 여부를 판단할 수 있다. 일 실시예에 있어서, 등급은 표준화된 데이터의 표준항목 ID를 기준으로 중요도에 따라 결정될 수 있으나 이에 한정되는 것은 아니다.
데이터 필터링부(630)는 큐 저장부(130)에 저장될 필요가 있는 데이터를 필터링하기 위한 기준이 저장된 필터링 기준 저장부(635)를 참조하여 표준화된 데이터를 필터링할 수 있다. 필터링 기준 저장부(635)는 별도의 구성으로 제1 인터페이스 미들웨어 서버(110a) 또는 다른 장치에 포함될 수 있다. 그러나, 본 발명은 이에 한정되지 않으므로 데이터 필터링부(630) 내부에 필터링 기준에 관한 정보가 저장되어 있을 수도 있다.
데이터 필터링부(630)는 필터링된 데이터를 큐 저장부(120)의 큐에 저장한다. 일 실시예에 있어서, 데이터 필터링부(630)는 필터링된 데이터를 그룹 ID 또는 표준항목 ID별로 큐 저장부(130)의 큐(131)에 저장할 수 있다.
제2 전처리부(220b)는 복수개의 제2 수신 프로세스(210b)에 의해 획득된 수집데이터를 전처리하여 큐 저장부(130)에 저장한다. 구체적으로 제2 전처리부(220b)는 수집데이터를 파싱, 표준화 및 필터링을 수행한다.
이하, 제2 전처리부(210b)는 제1 전처리부(210a)와 동일한 구성 및 기능을 가지고 있으므로 구체적인 설명은 생략한다
다시 도2를 참조하면, 큐 저장부(130)는 제1 및 제2 인터페이스 미들웨어 서버(110a, 110b)에서 전처리된 데이터를 실시간 처리 전에 임시로 보관하는 영역으로 큐(131)를 포함한다.
큐(131)는 제1 및 제2 인터페이스 미들웨어 서버(110a, 110b)에서 전처리된 데이터를 일정시간 동안 보관하기 위한 저장소로 데이터 유실 방지를 위해 메모리가 아닌 디스크 기반으로 데이터를 저장할 수 있다. 복수의 큐(131)에서 데이터를 저장하는 공간은 토픽(Topic)으로 구분될 수 있고, 동일 토픽 내의 파티션을 여러개 분리하여 병렬로 처리하는 것도 가능하다.
일 실시예에 있어서, 분산병렬처리시스템(200)이 큐 저장부(130)로부터 페치하는 데이터 그룹 별로 고유한 그룹 ID가 할당될 수 있고, 이 고유한 그룹 ID 별로 데이터 페치 주소가 관리될 수 있어, 데이터를 순차적으로 읽고 쓰는 큐 형태로 데이터가 저장 및 제공될 수 있다.
또한, 복수개의 큐 저장부(130)는 클러스터링 구조로 구현됨으로써, 1대의 큐 저장부(130)에 데이터가 저장되면 다른 큐 저장부(130)로 데이터가 복제되어 어느 큐 저장부(130)에 장애가 발생할 경우에도 다른 큐 저장부(130)를 참조하여 서비스를 지속으로 제공할 수 있다.
또한, 제1 및 제2 인터페이스 미들웨어 서버(110a, 110b)는 수신된 수집 데이터에 대한 표준화가 완료되면 복수개의 큐 저장부(130) 중 1대의 큐 저장부(130)를 선택하여 표준화된 데이터를 저장한다. 이 때, 데이터를 저장할 큐 저장부(130)를 선택하는 기준은 다양한 룰 중에서 선택될 수 있으며, 일례로 부하가 가장 낮은 큐 저장부(130)를 선택하거나, 순차적으로 선택하는 방식, 또는 데이터를 수집한 센서 별로 저장할 큐 저장부(130)를 사전에 미리 저장하여 선택하는 것이 가능하다.
다시 도 1을 참조하면, 분산병렬처리시스템(200)은 인터페이스 미들웨어 시스템(100)을 통해 표준화된 표준화 데이터에 공정 식별자를 매핑하고, 조업-설비-품질 등 영역간 데이터를 연계분석할 수 있도록 매핑 데이터를 정렬한다.
공정 식별자는 각 공정을 수행하는 설비의 설비 식별자 또는 해당 설비에 의해 가공되는 재료의 재료 식별자 중 적어도 하나를 포함할 수 있다. 이때, 분산병렬처리시스템(200)은 수집 데이터의 수집시간 및 수집 데이터를 수집한 센서의 속성 정보에 기초하여 수집 데이터가 발생한 설비의 설비 식별자를 추출할 수 있고, 각 공정에서 수행되는 작업 지시 정보에 기초하여 매핑 데이터에 매핑되어 있는 설비 식별자에 대응되는 설비에서 가공된 재료의 재료 식별자를 추출할 수 있다.
일 실시예에 있어서, 설비 식별자는 각 설비 별로 부여된 설비 번호일 수 있고, 재료 식별자는 각 재료 별로 부여되어 있는 재료번호일 수 있다.
한편, 분산병렬처리시스템(200)은 동일한 재료 식별자가 매핑되어 있는 매핑 데이터들을 수집 시간에 따라 순차적으로 정렬하고, 시간 순서에 따라 정렬된 매핑 데이터들을 동일한 재료 식별자에 대응되는 재료 상에서 해당 데이터가 수집된 위치를 기준으로 정렬할 수도 있다.
이와 같이, 본 발명의 실시예에 따른 분산병렬처리 시스템(200)은 표준화된 데이터에 설비 식별자 및 재료 식별자 중 적어도 하나를 포함하는 공정 식별자를 매핑하고, 매핑된 데이터들을 동일한 재료 식별자에 대응되는 재료 상에서 해당 데이터가 수집된 위치를 기준으로 정렬함으로써, 각 데이터 별로 어떠한 재료가 어떠한 설비를 통과하는 과정에서 수집된 데이터인지 확인할 수 있고, 이러한 데이터의 추적을 통해 각 공정들간의 연계분석이 가능하다.
빅데이터 분석 시스템(300)은 분산병렬처리시스템(200)에 의해 정렬된 데이터를 빅데이터 저장 공간에 저장한다. 또한, 빅데이터 분석 시스템(300)은 데이터 유실이 되지 않도록 관리하며 히스토리컬 데이터에 대한 조회 및 분석기능을 제공한다.
서비스 시스템(400)은 표준화된 처리 프로세스와 업무 기준을 서비스로 재활용하는 구조로, 비즈니스 노하우를 리포지터리(Repository)화하여 기능 단위로 정의된 서비스 간 연결을 통해 계획-실행-제어 간의 연계를 용이하게 하며, 재료나 제품에 대한 품질판정 모델 또는 이상 예측 모델을 포함하는 분석모델을 호출하고 실행하여 분석 결과를 진행한다.
분석모델은 모델 저장부(미도시)에 미리 저장되어 있으므로 서비스 시스템(400)은 분석모델에 대한 실행 호출 이벤트가 입력되면 분석모델에 필요한 데이터를 모델 저장부로부터 추출하여 그 결과를 제공한다.
즉, 서비스 시스템(400)은 분산병렬처리시스템(200)에 의해 처리된 정렬 데이터를 직접 수신하여 분석하거나, 정렬 데이터가 빅데이터 분석 시스템(300)에 저장된 경우 이를 참조하여 해당 데이터를 분석할 수 있다.
관리시스템(500)은 스마트팩토리 플랫폼(1000)에 속한 개별 구성에 대한 관리 및 UI/UX의 관리 데이터 수집을 위한 구성들에 대한 설정파일 관리, 각 구성의 개별 모니터링, 미리 설정된 설정값들 간의 연계정보 관리, 전체 시스템의 처리 성능 및 통합 모니터링 정보를 제공한다.
보안시스템(600)은 사용자에 대한 인증, 인가, 접근제어를 수행하며 데이터 자체에 대한 보안 및 전송 통로에 대한 보안을 관리한다.
어플리케이션 시스템(3)은 스마트팩토리 플랫폼(1000)을 기반으로 사용자에게 필요한 화면과 데이터를 가공하여 제공한다.
본 발명이 속하는 기술분야의 당업자는 상술한 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다.
그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
1: 데이터 수집장치 3: 어플리케이션부
1000: 스마트팩토리 플랫폼 100: 인터페이스 미들웨어 시스템.
110a: 제1 인터페이스 미들웨어 서버
110b: 제2 인터페이스 미들웨어 서버
120: 수신제어부 125: 접속제어부
130: 큐저장부 210a: 제1 수신 프로세스
210b: 제2 수신 프로세스 220a: 제1 전처리부
220b: 제2 전처리부

Claims (12)

  1. 액티브(Active) 상태로 동작하고, 서로 다른 통신 프로토콜에 따라 데이터 수집장치로부터 수집 데이터를 획득하는 복수개의 제1 수신 프로세스를 포함하는 제1 인터페이스 미들웨어 서버;
    액티브 상태로 동작하여 상기 제1 인터페이스 미들웨어 서버와 클러스터 구조를 형성하고, 상기 복수개의 제1 수신 프로세스와 동일한 복수개의 제2 프로세스를 포함하는 제2 인터페이스 미들웨어 서버; 및
    마스터로 설정된 제1 수신 프로세스들 중 오류가 발생된 제1 수신 프로세스만을 선택적으로 슬레이브로 전환하고, 슬레이브로 설정된 제2 수신 프로세스들 중 상기 오류가 발생된 제1 수신 프로세스에 대응되는 제2 수신 프로세스만을 선택적으로 마스터로 전환하는 수신제어부를 포함하는 것을 특징으로 하는 스마트팩토리 플랫폼을 위한 클러스터링 구조의 인터페이스 미들웨어 시스템.
  2. 제1항에 있어서,
    상기 복수개의 제1 및 제2 수신 프로세스는 상기 데이터 수집장치에 접속하여 상기 데이터 수집장치로부터 상기 수집 데이터를 독출하는 클라이언트 수신 프로세스인 것을 특징으로 하는 스마트팩토리 플랫폼을 위한 클러스터 구조의 인터페이스 미들웨어 시스템.
  3. 제1항에 있어서,
    상기 복수개의 제1 및 제2 수신 프로세스는 상기 데이터 수집장치의 접속을 허용하여 상기 데이터 수집장치로부터 상기 수집 데이터를 수신하는 서버 수신 프로세스인 것을 특징으로 하는 스마트팩토리 플랫폼을 위한 클러스터 구조의 인터페이스 미들웨어 시스템.
  4. 제1항에 있어서,
    상기 제1 및 제2 수신 프로세스가 서버 수신 프로세스인 경우, 상기 복수개의 제1 수신 프로세스들 중 마스터로 동작하고 있는 제1 수신 프로세스 또는 상기 복수개의 제2 수신 프로세스들 중 마스터로 동작하고 있는 제2 수신 프로세스에 상기 데이터 수집장치를 연결시키는 접속제어부를 더 포함하는 것을 특징으로 하는 스마트팩토리 플랫폼을 위한 클러스터링 구조의 인터페이스 미들웨어 시스템.
  5. 제4항에 있어서,
    상기 접속제어부는 VIP(Virtual Internet Protocol)를 통해 상기 데이터 수집장치와 연결되는 것을 특징으로 하는 인터페이스 미들웨어 시스템.
  6. 제4항에 있어서,
    상기 접속제어부는,
    상기 데이터 수집장치와의 사이에 터널을 형성하고, 상기 터널을 통해 상기 데이터 수집장치로부터 캡슐화된 수집 데이터를 수신하고, 캡슐화된 수집 데이터를 디캡슐화하여 마스터로 동작하고 있는 제1 수신 프로세스 또는 마스터로 동작하고 있는 제2 수신 프로세스에 전송하는 것을 특징으로 하는 스마트팩토리 플랫폼을 위한 클러스터링 구조의 인터페이스 미들웨어 시스템.
  7. 제1항에 있어서,
    상기 수신제어부는 상기 제1 수신 프로세스 및 상기 제1 수신 프로세스와 동일한 상기 제2 수신 프로세스를 서로 매칭시켜 네임스페이스(Name Space)에 등록하는 것을 특징으로 하는 스마트팩토리 플랫폼을 위한 클러스터링 구조의 인터페이스 미들웨어 시스템.
  8. 제1항에 있어서,
    상기 수신제어부는 서로 동일한 제1 수신 프로세스 및 제2 수신 프로세스 중 어느 하나를 마스터로 설정하고, 다른 하나를 슬레이브로 설정하는 n(n은 자연수)개의 수신제어모듈을 포함하고,
    상기 n개의 수신제어모듈은
    상기 제1 수신프로세스 또는 상기 제2 수신프로세스로부터 해당 수신 프로세스의 정보발생 이벤트를 수신하는 n-1개의 팔로워 수신제어모듈;
    상기 팔로워 수신제어모듈부터 상기 정보발생 이벤트가 수신되면 수신된 정보발생 이벤트를 타 팔로워 수신제어모듈로 전파하는 리더수신제어모듈을 포함하는 것을 특징으로 하는 스마트팩토리 플랫폼을 위한 클러스터링 구조의 인터페이스 미들웨어 시스템.
  9. 제8항에 있어서,
    상기 정보발생 이벤트는 제1 또는 제2 수신프로세스의 마스터 또는 슬레이브 설정상태, 장애발생여부, 및 네임 스페이스에 대한 등록상태 중 적어도 하나를 포함하는 것을 특징으로 하는 스마트팩토리 플랫폼을 위한 클러스터링 구조의 인터페이스 미들웨어 시스템.
  10. 제8항에 있어서,
    상기 리더 수신제어모듈은 전체 수신제어모듈 중 과반수 이상으로부터 정보발생 이벤트 전파에 대한 승인이 발생되면 상기 정보발생 이벤트를 전파하는 것을 특징으로 하는 스마트팩토리 플랫폼을 위한 클러스터링 구조의 인터페이스 미들웨어 시스템.
  11. 제8항에 있어서,
    상기 리더수신제어모듈은 상기 n개의 수신제어모듈 중 과반수 이상의 승인에 의해 선정되는 것을 특징으로 하는 스마트팩토리 플랫폼을 위한 클러스터링 구조의 인터페이스 미들웨어 시스템.
  12. 제1항에 있어서,
    상기 제1 및 제2 인터페이스 미들웨어 서버는,
    상기 수집 데이터에 포함된 측정값의 속성을 식별하기 위한 복수개의 항목 ID로 구성된 그룹 ID, 수집시간, 및 복수개의 측정값이 반복되어 배치되는 상기 수집 데이터를 상기 그룹 ID에 포함된 상기 복수개의 항목 ID와 상기 복수개의 측정값을 각각 매칭시켜 하나의 항목 ID, 수집시간, 및 하나의 측정값으로 구성된 수집 데이터로 변환하는 데이터 파싱부;
    상기 수집 데이터의 측정값의 단위 및 자리수를 통일시키거나, 상기 측정값의 속성을 나타내는 항목 ID를 표준항목 ID로 변환하여 상기 수집 데이터를 표준화하는 데이터 표준화부 및
    상기 수집 데이터의 중요도에 기초하여 저장이 필요한 수집 데이터를 큐 서버에 저장하는 데이터 필터링부 중 적어도 하나를 더 포함하는 것을 특징으로 하는 스마트팩토리 플랫폼을 위한 클러스터링된 인터페이스 미들웨어 시스템.


KR1020180174196A 2018-12-31 2018-12-31 스마트팩토리 플랫폼을 위한 클러스터링 구조의 인터페이스 미들웨어 시스템 KR102216308B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180174196A KR102216308B1 (ko) 2018-12-31 2018-12-31 스마트팩토리 플랫폼을 위한 클러스터링 구조의 인터페이스 미들웨어 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180174196A KR102216308B1 (ko) 2018-12-31 2018-12-31 스마트팩토리 플랫폼을 위한 클러스터링 구조의 인터페이스 미들웨어 시스템

Publications (2)

Publication Number Publication Date
KR20200083010A true KR20200083010A (ko) 2020-07-08
KR102216308B1 KR102216308B1 (ko) 2021-02-16

Family

ID=71600814

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180174196A KR102216308B1 (ko) 2018-12-31 2018-12-31 스마트팩토리 플랫폼을 위한 클러스터링 구조의 인터페이스 미들웨어 시스템

Country Status (1)

Country Link
KR (1) KR102216308B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160025995A (ko) * 2014-08-28 2016-03-09 네이버 주식회사 장애 내구성을 지닌 클러스터의 상태 감시 및 클러스터의 형상 변경을 위한 클러스터 관리 방법 및 데이터 저장 시스템
KR20180026303A (ko) * 2016-09-02 2018-03-12 주식회사 포스코아이씨티 연속공정용 데이터를 표준화하는 미들웨어 시스템
KR20180077948A (ko) * 2016-12-29 2018-07-09 주식회사 포스코아이씨티 스마트팩토리 플랫폼을 위한 인터페이스 미들웨어 시스템 및 그 동작방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160025995A (ko) * 2014-08-28 2016-03-09 네이버 주식회사 장애 내구성을 지닌 클러스터의 상태 감시 및 클러스터의 형상 변경을 위한 클러스터 관리 방법 및 데이터 저장 시스템
KR20180026303A (ko) * 2016-09-02 2018-03-12 주식회사 포스코아이씨티 연속공정용 데이터를 표준화하는 미들웨어 시스템
KR20180077948A (ko) * 2016-12-29 2018-07-09 주식회사 포스코아이씨티 스마트팩토리 플랫폼을 위한 인터페이스 미들웨어 시스템 및 그 동작방법

Also Published As

Publication number Publication date
KR102216308B1 (ko) 2021-02-16

Similar Documents

Publication Publication Date Title
CN112099948B (zh) 数字孪生制造单元协议标准化与工业大数据实时集成方法
CN102402395B (zh) 基于仲裁磁盘的高可用系统不间断运行方法
CN101252471B (zh) 一种分布式自动化测试系统及其方法
KR101951526B1 (ko) 스마트팩토리 플랫폼을 위한 인터페이스 미들웨어 시스템 및 그 동작방법
CN106126346A (zh) 一种大规模分布式数据采集系统及方法
KR102216311B1 (ko) Api 기반의 스마트팩토리 시스템
CN102880475A (zh) 计算机软件系统中基于云计算的实时事件处理系统及方法
CN102857363A (zh) 一种虚拟网络的自主管理系统和方法
JP2000222370A (ja) 電子制御システム
CN105391800B (zh) 基于“互联网+”医疗设备故障自检与修复系统
CN104678912A (zh) 由多个传感器构成的测量系统
CN101196901B (zh) 用于数据库查询的计算机系统和方法
CN109743344A (zh) 基于轨道交通的综合监控系统的事件存储方法及其设备
CN109284294A (zh) 采集数据的方法及装置、存储介质、处理器
CN113176948A (zh) 边缘网关、边缘计算系统及其配置方法
Fatima et al. Cyber physical systems and IoT: Architectural practices, interoperability, and transformation
CN106060125A (zh) 一种基于数据标签的分布式实时数据传输方法
CN103744365B (zh) 用于客房控制终端与上位机通讯的桥接模块及其方法
EP3611482B1 (en) Collaborative weighing and measuring system and metering system
CN1717659B (zh) 具有互联的集群系统及方法
KR102216308B1 (ko) 스마트팩토리 플랫폼을 위한 클러스터링 구조의 인터페이스 미들웨어 시스템
CN108334550A (zh) 一种基于人力资源管理系统的数据处理系统
CN109412970A (zh) 数据流转系统、数据流转方法、电子设备和存储介质
KR102312523B1 (ko) 대량의 데이터 수집을 위한 인터페이스 미들웨어 시스템
KR102453852B1 (ko) 센서 데이터 처리 시스템

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