KR102032680B1 - Distributed Parallel Processing System for Processing Data Of Continuous Process In Real Time - Google Patents

Distributed Parallel Processing System for Processing Data Of Continuous Process In Real Time Download PDF

Info

Publication number
KR102032680B1
KR102032680B1 KR1020190040965A KR20190040965A KR102032680B1 KR 102032680 B1 KR102032680 B1 KR 102032680B1 KR 1020190040965 A KR1020190040965 A KR 1020190040965A KR 20190040965 A KR20190040965 A KR 20190040965A KR 102032680 B1 KR102032680 B1 KR 102032680B1
Authority
KR
South Korea
Prior art keywords
data
mapping
real
unit
time
Prior art date
Application number
KR1020190040965A
Other languages
Korean (ko)
Other versions
KR20190040162A (en
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 KR1020190040965A priority Critical patent/KR102032680B1/en
Publication of KR20190040162A publication Critical patent/KR20190040162A/en
Application granted granted Critical
Publication of KR102032680B1 publication Critical patent/KR102032680B1/en

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]
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23217Parallel processing
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/32Operator till task planning
    • G05B2219/32407Real time processing of data
    • 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)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • General Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

연속공정에서 발생된 대용량의 데이터를 실시간으로 처리할 수 있는 본 발명의 일 측면에 따른 연속공정용 데이터를 실시간으로 처리하는 분산병렬 처리시스템은, 복수의 공정이 연결되는 연속공정에서 발생된 데이터를 처리하기 위한 연속공정용 데이터를 실시간으로 처리하는 분산병렬 처리시스템에 있어서, 상기 연속공정으로부터 수집된 수집 데이터에 상기 수집 데이터가 발생된 공정의 공정 식별자를 매핑하고, 서로 다른 공정에서 수집된 수집 데이터간의 연계 처리를 위해 상기 매핑된 매핑 데이터를 정렬하는 적어도 하나의 실시간 프로세싱부; 및 상기 정렬 데이터가 분산 저장되는 복수개의 메모리부를 포함하는 것을 특징으로 한다.The distributed parallel processing system that processes data for continuous processes in real time according to an aspect of the present invention capable of processing large amounts of data generated in a continuous process in real time, the data generated in a continuous process in which a plurality of processes are connected. In a distributed parallel processing system that processes continuous process data for processing in real time, the process identifier of a process in which the collection data is generated is mapped to the collection data collected from the continuous process, and the collection data collected in different processes At least one real-time processing unit for arranging the mapped mapping data for linkage processing between the at least one; And a plurality of memory units in which the alignment data are distributed and stored.

Figure R1020190040965
Figure R1020190040965

Description

연속공정용 데이터를 실시간으로 처리하는 분산병렬 처리시스템{Distributed Parallel Processing System for Processing Data Of Continuous Process In Real Time}Distributed Parallel Processing System for Processing Data of Continuous Process In Real Time}

본 발명은 공장 데이터 처리에 관한 것으로서, 보다 구체적으로는 연속공정용 대용량 데이터의 실시간 처리에 관한 것이다.The present invention relates to factory data processing, and more particularly to real-time processing of large data for continuous processing.

원재료를 이용하여 완제품을 생성하기 위한 복수개의 공정들이 연속적으로 수행되고, 각 공정의 산출물들이 서로 혼합되거나 특정 공정의 산출물의 상태가 변화하여 후속 공정으로 공급되는 것과 같이, 각 공정들이 서로 관련되어 있는 생산 방식을 연속공정 생산방식이라 한다. 철강산업, 에너지산업, 제지산업, 또는 정유산업 등이 연속공정 생산 방식이 적용되는 대표적인 산업들이다.Each process is related to each other such that a plurality of processes for producing a finished product using raw materials are performed in succession, and the outputs of each process are mixed with each other or the state of the output of a specific process is supplied to a subsequent process. The production method is called continuous process production method. The steel industry, energy industry, paper industry, or refinery industry are typical industries to which continuous process production is applied.

예컨대, 철강산업은 제선공정, 제강공정, 연주공정 및 압연공정 등과 같은 복수개의 공정으로 이루어진다. 제선공정은 쇳물(용선)을 생산하는 공정으로서, 철광석을 고로에 넣고 원료탄이 타면서 나오는 열에 의해 철광석을 녹인다. 제강공정은 쇳물에서 불순물을 제거하는 공정으로, 전로 속에 고철과 용선을 함께 넣은 후 산소를 불어 넣어 불순물을 제거한다. 연주공정은 액체상태의 철이 고체가 되는 공정으로, 불순물이 제거된 용강을 주형(mold)에 주입하고 연속 주조기를 통과하면서 냉각, 응고되어 슬래브, 블룸, 또는 빌릿 등과 같은 중간 소재로 만들어진다. 압연공정은 철을 강판이나 선재로 만드는 공정으로, 연주공정에서 생산된 슬래브, 블룸, 또는 빌릿을 롤(Roll) 사이로 통과시켜 늘리거나 얇게 만들어 강판을 생산한다.For example, the steel industry consists of a plurality of processes, such as a steel making process, a steel making process, a playing process, and a rolling process. The iron making process is a process of producing molten iron (melting iron). Iron ore is put into a blast furnace and the iron ore is melted by the heat from burning raw coal. The steelmaking process removes impurities from the molten water. The iron and molten iron are put together in the converter and blown with oxygen to remove impurities. The regeneration process is a process in which iron in a liquid state becomes a solid, and molten steel without impurities is injected into a mold and then cooled and solidified while passing through a continuous casting machine to be made of an intermediate material such as slab, bloom, or billet. The rolling process is a process of making iron from steel sheets or wire rods, and slabs, blooms, or billets produced in the casting process are passed between rolls to produce steel sheets by stretching or thinning them.

이러한 연속공정 생산방식이 적용되는 산업의 경우, 단일공정 생산방식이 적용되는 산업과 달리, 원재료 또는 중간재가 고속으로 이동하기 때문에 데이터 수집주기가 짧고 데이터의 양이 많을 뿐만 아니라, 소음, 먼지, 수분 등이 많은 공장 환경에서 제품이 생산되기 때문에 계측이상이 자주 발생하고, 작업 방법에 따라 중간재들이 서로 혼합되거나 소재의 위치가 이동한다는 특성이 있다.In the case of the continuous process production method, unlike the industry in which the single process production method is applied, since the raw materials or intermediate materials move at a high speed, the data collection cycle is short and the data volume is large, and noise, dust, moisture Since products are produced in many factory environments, there are frequent measurement errors, and intermediate materials are mixed with each other or the location of materials moves depending on the method of work.

이에 따라, 연속공정이 생산방식이 적용되는 산업의 경우 대용량의 데이터를 실시간으로 처리할 수 있고, 각 공정 별로 발생된 데이터들 간의 연관관계를 분석할 수 있는 시스템이 요구된다.Accordingly, in an industry in which a continuous process is applied to a production method, a system capable of processing a large amount of data in real time and analyzing an association between data generated by each process is required.

하지만, 대한민국 공개특허공보 제10-2015-0033847호(발명의 명칭: 실시간 공장상황을 반영한 디지털 팩토리 생산능력 관리 시스템, 2015.04.02. 공개) 등에 개시되어 있는 일반적인 공장 데이터 처리 시스템(예컨대, 철강 데이터 처리 시스템)은 단일 공정에서 발생하는 데이터의 처리 및 분석을 위한 것이기 때문에, 연속 공정에서 발생하는 대용량의 데이터를 실시간으로 처리할 수 없을 뿐만 아니라, 각 공정별로 발생된 데이터들 간의 연관관계를 분석할 수 없다는 문제점이 있다.However, the general factory data processing system disclosed in the Republic of Korea Patent Publication No. 10-2015-0033847 (name of the invention: digital factory capacity management system reflecting real-time factory status, published on April 2, 2015) (for example, steel data Since the processing system is for processing and analyzing data generated in a single process, it is not possible to process large amounts of data generated in a continuous process in real time, and also to analyze correlations among data generated by each process. There is a problem that can not be.

본 발명은 상술한 문제점을 해결하기 위한 것으로서, 연속공정에서 발생된 대용량의 데이터를 실시간으로 처리할 수 있는 연속공정용 데이터를 실시간으로 처리하는 분산병렬 처리시스템을 제공하는 것을 그 기술적 특징으로 한다.The present invention is to solve the above problems, it is characterized in that it provides a distributed parallel processing system for processing in real time the data for the continuous process that can process a large amount of data generated in the continuous process in real time.

또한, 본 발명은 데이터의 실시간 처리를 위한 실시간 프로세싱부의 부하를 균등하게 조절할 수 있는 연속공정용 데이터를 실시간으로 처리하는 분산병렬 처리시스템을 제공하는 것을 다른 기술적 특징으로 한다.In another aspect, the present invention is to provide a distributed parallel processing system for processing data for continuous processing in real time that can equally adjust the load of the real-time processing unit for the real-time processing of data.

또한, 본 발명은 처리된 데이터가 저장되는 메모리부의 가용성을 향상시킬 수 있는 연속공정용 데이터를 실시간으로 처리하는 분산병렬 처리시스템을 제공하는 것을 또 다른 기술적 특징으로 한다.In addition, another technical feature of the present invention is to provide a distributed parallel processing system that processes data for continuous processing in real time, which can improve the availability of a memory unit in which processed data is stored.

상기 목적을 달성하기 위해서, 본 발명의 일 측면에 따른 연속공정용 데이터를 실시간으로 처리하는 분산병렬 처리시스템은, 복수의 공정이 연결되는 연속공정에서 발생된 데이터를 처리하기 위한 연속공정용 데이터를 실시간으로 처리하는 분산병렬 처리시스템에 있어서, 상기 연속공정으로부터 수집된 수집 데이터에 상기 수집 데이터가 발생된 공정의 공정 식별자를 매핑하고, 서로 다른 공정에서 수집된 수집 데이터간의 연계 처리를 위해 상기 매핑된 매핑 데이터를 정렬하는 적어도 하나의 실시간 프로세싱부; 및 상기 정렬 데이터가 분산 저장되는 복수개의 메모리부를 포함하는 것을 특징으로 한다.In order to achieve the above object, the distributed parallel processing system for processing data for continuous processing in accordance with an aspect of the present invention in real time, the continuous process data for processing data generated in the continuous process is connected to a plurality of processes In the distributed parallel processing system for processing in real time, the process identifier of the process in which the collection data is generated to the collected data collected from the continuous process, and the mapped for the cooperative process between the collected data collected in different processes At least one real-time processing unit to align the mapping data; And a plurality of memory units in which the alignment data are distributed and stored.

본 발명에 따르면, 연속공정에서 발생된 대용량의 데이터를 실시간으로 처리할 수 있다는 효과가 있다.According to the present invention, there is an effect that can process a large amount of data generated in a continuous process in real time.

또한, 본 발명에 따르면 각 실시간 프로세싱부에 배포된 수행모듈의 실행으로 인한 시스템 자원 사용 정보를 기초로 각 실시간 프로세싱부에 배포될 수행모듈들을 결정함으로써, 모든 실시간 프로세싱부의 부하가 균등해지도록 할 수 있어 시스템 처리 성능을 향상시킬 수 있다는 효과가 있다.In addition, according to the present invention, by determining the execution modules to be distributed to each real-time processing unit based on the system resource usage information resulting from the execution of the execution module distributed to each real-time processing unit, it is possible to equalize the load of all the real-time processing unit. There is an effect that can improve the system processing performance.

또한, 본 발명에 따르면 메모리부를 1개의 마스터 인스턴스 및 2개의 슬레이브 인스턴스로 3중화하여 구성함으로써, 마스터 인스턴스가 다운되더라도 2개의 슬레이브 인스턴스 중 어느 하나가 마스터로 절체되어 마스터-슬레이브 2중화 구조로의 동작이 가능하여 메모리부의 가용성을 극대화시킬 수 있다는 효과가 있다.In addition, according to the present invention, by configuring the memory unit tripled into one master instance and two slave instances, even if the master instance is down, any one of the two slave instances is transferred to the master to operate as a master-slave redundant structure. This is possible to maximize the availability of the memory unit.

도 1은 본 발명의 일 실시예에 따른 연속공정용 데이터를 실시간으로 처리하는 분산병렬처리시스템을 포함하는 스마트팩토리 아키텍처를 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 인터페이스 시스템의 구성을 보여주는 블록도이다.
도 3은 복수개의 인터페이스 프로세싱부 및 복수개의 큐 저장부를 포함하는 인터페이스 시스템의 구성을 보여주는 도면이다.
도 4는 본 발명의 일 실시예에 따른 분산병렬처리시스템의 구성을 구체적으로 나타내는 도면이다.
도 5는 복수개의 실시간 프로세싱부 및 복수개의 메모리부를 포함하는 분산병렬처리시스템의 구성을 보여주는 도면이다.
도 6은 데이터 매핑 및 정렬 작업의 분산병렬처리방법을 예시적으로 보여주는 개념도이다.
도 7은 3중화된 메모리부의 구성을 보여주는 도면이다.
도 8은 본 발명의 실시예에 따른 빅데이터 분석 시스템의 구성을 구체적으로 나타내는 도면이다.
1 is a diagram illustrating a smart factory architecture including a distributed parallel processing system for processing data for continuous processing in real time according to an embodiment of the present invention.
2 is a block diagram illustrating a configuration of an interface system according to an embodiment of the present invention.
3 is a diagram illustrating a configuration of an interface system including a plurality of interface processing units and a plurality of queue storage units.
4 is a view showing in detail the configuration of a distributed parallel processing system according to an embodiment of the present invention.
5 is a diagram illustrating a configuration of a distributed parallel processing system including a plurality of real-time processing units and a plurality of memory units.
6 is a conceptual diagram illustrating a distributed parallel processing method of data mapping and sorting by way of example.
7 is a diagram illustrating a configuration of a tripled memory unit.
8 is a view showing in detail the configuration of a big data analysis system according to an embodiment of the present invention.

이하, 첨부되는 도면을 참고하여 본 발명의 실시예들에 대해 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

본 명세서에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.The meaning of the terms described herein will be understood as follows.

단수의 표현은 문맥상 명백하게 다르게 정의하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다.Singular expressions should be understood to include plural expressions unless the context clearly indicates otherwise, and the terms “first”, “second”, etc. are used to distinguish one component from another. The scope of the rights shall not be limited by these terms.

"포함하다" 또는 "가지다" 등의 용어는 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.It is to be understood that the term "comprises" or "having" does not preclude the existence or addition of one or more other features or numbers, steps, operations, components, parts or combinations thereof.

"적어도 하나"의 용어는 하나 이상의 관련 항목으로부터 제시 가능한 모든 조합을 포함하는 것으로 이해되어야 한다. 예를 들어, "제1 항목, 제2 항목 및 제 3항목 중에서 적어도 하나"의 의미는 제1 항목, 제2 항목 또는 제3 항목 각각 뿐만 아니라 제1 항목, 제2 항목 및 제3 항목 중에서 2개 이상으로부터 제시될 수 있는 모든 항목의 조합을 의미한다.The term "at least one" should be understood to include all combinations which can be presented from one or more related items. For example, the meaning of "at least one of the first item, the second item, and the third item" means not only the first item, the second item, or the third item, but also two of the first item, the second item, and the third item, respectively. A combination of all items that can be presented from more than one.

도 1은 본 발명의 일 실시예에 따른 연속공정용 데이터를 실시간으로 처리하는 분산병렬처리시스템을 포함하는 스마트팩토리 아키텍처를 보여주는 도면이다.1 is a diagram illustrating a smart factory architecture including a distributed parallel processing system for processing data for continuous processing in real time according to an embodiment of the present invention.

도 1에 도시된 바와 같이, 본 발명에 따른 스마트팩토리 아키텍쳐는, 데이터 수집 장치(1), 네트워크(2), 스마트팩토리 플랫폼(1000), 및 어플리케이션 시스템(3)과 같은 계층으로 구성된다.As shown in FIG. 1, the smart factory architecture according to the present invention is composed of layers such as a data collection device 1, a network 2, a smart factory platform 1000, and an application system 3.

데이터 수집 장치(1)는 연속공정에서 발생되는 데이터를 수집한다. 일 실시예에 있어서, 연속공정이란 원재료를 이용하여 완제품을 생성하기 위한 복수개의 공정들이 연속적으로 수행되고, 각 공정의 산출물들이 서로 혼합되거나 특정 공정의 산출물의 상태가 변화하여 후속 공정으로 공급되는 방식의 공정을 의미한다. 철강공정이 이러한 연속공정의 대표적인 예에 해당한다. 이하에서는 설명의 편의를 위해, 연속공정이 철강공정인 것으로 가정하여 설명하기로 한다.The data collection device 1 collects data generated in a continuous process. In one embodiment, a continuous process is a method in which a plurality of processes for producing a finished product using raw materials are continuously performed, and the outputs of each process are mixed with each other or the state of the output of a specific process is changed and supplied to a subsequent process. Means the process of. The steel process is a representative example of such a continuous process. Hereinafter, for convenience of description, it will be described on the assumption that the continuous process is a steel process.

철강공정은 제선공정, 제강공정, 연주공정, 및 압연공정 등과 같은 다양한 공정으로 구성되므로, 데이터 수집 장치(10)는 제선공정, 제강공정, 연주공정, 및 압연공정 등과 같은 다양한 공정의 진행 과정에서 발생되는 마이크로 데이터(Micro Data)를 수집한다. 여기서, 마이크로 데이터는 다양한 센서 등을 통해 수집된 데이터 그 자체로서 원시 데이터(Raw Data)를 의미한다. 이하에서는, 설명의 편의를 위해 마이크로 데이터를 수집 데이터로 표기하기로 한다.Since the steel process is composed of various processes such as a steel making process, a steel making process, a playing process, and a rolling process, the data collection device 10 is in the course of various processes such as a steel making process, a steel making process, a playing process, and a rolling process. Collect micro data generated. Here, the micro data means raw data as raw data itself collected through various sensors. Hereinafter, for convenience of description, micro data will be referred to as collected data.

이를 위해, 데이터 수집 장치(1)는 마이크로 데이터를 수집하기 위한 다양한 계측기, 센서, 액츄에이터 등을 포함한다. 데이터 수집 장치(1)는 계측기, 센서, 액츄에이터 등에 의해 수집된 데이터를 통합하거나 제어하는 P/C, PLC(Programmable Logic Controller), DCS(Distributed Control System) 등을 더 포함할 수 있다.To this end, the data collection device 1 includes various instruments, sensors, actuators and the like for collecting micro data. The data collection device 1 may further include a P / C, a programmable logic controller (PLC), a distributed control system (DCS), and the like, which integrate or control data collected by a measuring instrument, a sensor, an actuator, and the like.

네트워크(2)는 데이터 수집 장치(1)에서 수집된 대용량의 데이터를 스마트팩토리 플랫폼(1000)으로 전달한다. 일 실시예에 있어서, 본 발명에 따른 네트워크(2)는 네트워크 케이블, 게이트웨이, 라우터, 또는 무선 AP(Access Point) 등을 포함할 수 있으나 이에 한정되는 것은 아니다.The network 2 delivers a large amount of data collected by the data collection device 1 to the smart factory platform 1000. In one embodiment, the network 2 according to the present invention may include, but is not limited to, a network cable, a gateway, a router, or a wireless access point (AP).

스마트팩토리 플랫폼(1000)은 데이터 수집 장치(1)에서 수집된 대용량의 마이크로 데이터를 네트워크(2)를 통해 수신한다. 스마트팩토리 플랫폼(1000)은 수신된 대용량의 마이크로 데이터를 실시간으로 가공한다. 또한, 스마트팩토리 플랫폼(100)은 가공된 마이크로 데이터를 기초로 설비 또는 재료 등의 이상유무를 실시간으로 판단할 뿐만 아니라 빅데이터 분석을 위해 가공된 마이크로 데이터를 빅데이터 저장부(미도시)에 저장하며, 저장된 데이터에 대한 조회 및 분석 서비스를 제공한다.The smart factory platform 1000 receives a large amount of micro data collected by the data collection device 1 through the network 2. The smart factory platform 1000 processes the received large amount of micro data in real time. In addition, the smart factory platform 100 not only determines in real time the presence of abnormalities such as equipment or materials based on the processed micro data, but also stores the processed micro data in the big data storage unit (not shown) for big data analysis. It provides search and analysis service for stored data.

일 실시예에 있어서, 본 발명에 따른 스마트팩토리 플랫폼(100)은 도 1에 도시된 바와 같이, 인터페이스 시스템(100), 분산병렬처리 시스템(200), 빅데이터 분석시스템(300)을 포함한다. 또한, 스마트팩토리 플랫폼(1000)은 서비스 시스템(400), 관리시스템(500), 및 보안시스템(500)을 더 포함할 수 있다.In one embodiment, the smart factory platform 100 according to the present invention, as shown in Figure 1, the interface system 100, distributed parallel processing system 200, big data analysis system 300. In addition, the smart factory platform 1000 may further include a service system 400, a management system 500, and a security system 500.

인터페이스 시스템(100)은 Level 0 내지 Level 2의 이기종 장치들과 다양한 프로토콜을 통해 연결되기 위한 연결 수단을 제공하고 데이터 수집 장치(1)에서 수집된 마이크로 데이터를 전처리 하여 마이크로 데이터를 표준화한다.The interface system 100 provides a connection means for connecting with heterogeneous devices of Level 0 to Level 2 through various protocols and normalizes the micro data by preprocessing the micro data collected by the data collection device 1.

이하, 도 2를 참조하여 본 발명에 따른 인터페이스 시스템(100)에 대해 구체적으로 설명한다.Hereinafter, the interface system 100 according to the present invention will be described in detail with reference to FIG. 2.

도 2는 본 발명의 일 실시예에 따른 인터페이스 시스템(100)의 구성을 보여주는 도면이다. 도 2에 도시된 바와 같이, 본 발명에 따른 인터페이스 시스템(100)은 인터페이스 프로세싱부(110) 및 큐 저장부(120)를 포함한다.2 is a diagram illustrating a configuration of an interface system 100 according to an embodiment of the present invention. As shown in FIG. 2, the interface system 100 according to the present invention includes an interface processing unit 110 and a queue storage unit 120.

인터페이스 프로세싱부(110)는 연속공정으로부터 수집된 수집 데이터의 연계처리를 위해, 수집된 데이터들을 전처리한다. 일 실시예에 있어서, 인터페이스 프로세싱부(110)는 수집된 데이터를 표준화함으로써 수집된 데이터를 전처리할 수 있다. 이를 위해, 인터페이스 프로세싱부(110)는 도 2에 도시된 바와 같이, 수신유닛(111), 파싱유닛(112), 표준화유닛(113), 필터링유닛(114), 및 전송유닛(115)를 포함한다.The interface processing unit 110 preprocesses the collected data for linkage processing of the collected data collected from the continuous process. In one embodiment, the interface processing unit 110 may preprocess the collected data by standardizing the collected data. To this end, the interface processing unit 110 includes a receiving unit 111, a parsing unit 112, a standardization unit 113, a filtering unit 114, and a transmission unit 115, as shown in FIG. do.

수신유닛(111)은 데이터 수집 장치(1)에 포함된 센서들에 의해 수집된 수집 데이터를 수신한다. 일 실시예에 있어서, 수신유닛(110)은 하나 이상의 통신 방식을 이용하여 수집 데이터를 수신할 수 있다. 일례로, 수신유닛(111)은 iBA, OPC(OLE for Process control), TCP/IP 등과 같은 다양한 통신방식을 이용할 수 있다. 즉, 데이터 수집 장치(1)에 포함된 센서 등의 종류에 따라서 네트워크(2)를 구성하는 각각의 게이트웨이 등에서 이용하는 통신방식이 다양할 수 있으므로, 본 발명의 실시예에 따른 수신유닛(111)은 다양한 네트워크(2)와 통신할 수 있는 모든 통신방식을 지원한다.The receiving unit 111 receives the collection data collected by the sensors included in the data collection device 1. In one embodiment, the receiving unit 110 may receive the collected data using one or more communication schemes. For example, the receiving unit 111 may use various communication methods such as iBA, OLE for Process Control (TCP), and the like. That is, since the communication method used by each gateway constituting the network 2 may vary according to the type of sensor or the like included in the data collection device 1, the receiving unit 111 according to the embodiment of the present invention It supports all communication methods that can communicate with various networks (2).

파싱유닛(112)은 수신유닛(111)을 통해 수신된 수집 데이터를 파싱한다.The parsing unit 112 parses the collected data received through the receiving unit 111.

구체적으로 데이터 수집 장치(1)에서 수집된 수집 데이터는 복수의 항목 ID를 포함하는 그룹 ID, 수집 시간, 및 복수의 측정값이 반복되는 구조를 가질 수 있다. 이 때, 항목 ID는 측정한 속성을 식별하기 위한 것으로 연속 공정 중 설비, 재료, 또는 제품의 어떤 속성을 측정한 것인지를 의미하는 값으로 온도나 습도 등이 될 수 있다. 그룹 ID는 특정 공장에서 위치 별 또는 각 공정 별로 몇 가지 항목을 그룹으로 편성한 대표값이 될 수 있다. 다만, 본 발명의 실시예에서 데이터 구조는 이에 한정되지 않으므로 그룹 ID 자체에 수집된 시간이 포함되어 있을 수도 있다.In more detail, the collected data collected by the data collection device 1 may have a structure in which a group ID including a plurality of item IDs, a collection time, and a plurality of measured values are repeated. In this case, the item ID is used to identify the measured property and indicates a property of a facility, a material, or a product during the continuous process, and may be a temperature or humidity. The group ID may be a representative value of grouping several items by location or by each process in a specific factory. However, in the embodiment of the present invention, since the data structure is not limited thereto, the collected time may be included in the group ID itself.

이와 같이, 수집 데이터가 별도의 구분없이 그룹 ID, 수집 시간, 및 복수의 측정값이 반복되는 형태로 구성되어 있는 경우, 분산병렬처리 시스템(200)이 표준화되어 있지 않은 그룹 ID, 항목 ID, 및 복수의 측정값을 해석하는 과정이 별도로 필요하기 때문에, 설비의 이상 또는 제품의 품질 이상 등의 실시간 분석이 어렵게 될 수 있다.As described above, when the collected data is configured in such a manner that a group ID, a collection time, and a plurality of measured values are repeated without any distinction, the distributed parallel processing system 200 does not have a standardized group ID, item ID, and Since a process of interpreting a plurality of measured values is required separately, real-time analysis of an abnormality of a facility or an abnormality of a product may be difficult.

따라서, 파싱유닛(112)은 연속공정으로부터 수집된 수집 데이터의 연계 처리를 위해, 수집된 데이터를 미리 설정된 레이아웃에 기초하여 의미있는 단위로 파싱한다.Accordingly, the parsing unit 112 parses the collected data into meaningful units based on a preset layout for the cooperative processing of the collected data collected from the continuous process.

일 실시예에 있어서, 파싱유닛(112)은 수집 데이터를 그룹 ID별로 파싱하고, 그룹 ID에 포함된 복수의 항목 ID와 복수의 측정값을 각각 매칭시켜 단일 항목 ID, 수집 시간, 및 단일 측정값을 갖는 형태의 데이터로 각각 변환할 수 있다.In one embodiment, the parsing unit 112 parses the collected data for each group ID, and matches a plurality of item IDs and a plurality of measurement values included in the group ID, respectively, to determine a single item ID, collection time, and a single measurement value. Each can be converted into data having the form

이러한 실시에 따르는 경우, 파싱유닛(112)은 수집 데이터 전문에 대한 메시지 레이아웃이 정의되어 있는 메시지 레이아웃 저장부(117)를 참조하여 수집 데이터를 파싱할 수 있다. 메시지 레이아웃 저장부(117)는 별도의 구성으로 인터페이스 프로세싱부(110) 또는 다른 장치에 포함될 수 있다. 그러나, 본 발명은 이에 한정되지 않으므로 파싱유닛(112) 내부에 메시지 레이아웃에 관한 정보가 포함되어 있을 수도 있다.According to this embodiment, the parsing unit 112 may parse the collected data with reference to the message layout storage 117 in which the message layout for the collected data text is defined. The message layout storage unit 117 may be included in the interface processing unit 110 or another device in a separate configuration. However, since the present invention is not limited thereto, the parsing unit 112 may include information regarding the message layout.

표준화유닛(113)은 파싱유닛(112)에 의해 파싱된 수집 데이터를 표준화한다. 일 실시예에 있어서, 표준화유닛(113)은 파싱유닛(112)으로부터 전달되는 단일 항목 ID, 수집된 시간, 및 단일 측정값을 갖는 각각의 수집 데이터에 대해서, 미리 설정된 표준변환기준에 따라 항목 ID를 표준항목 ID로 변환하고 측정값의 단위 및 자리수를 통일시킴으로써 파싱된 데이터를 표준화할 수 있다.The standardization unit 113 normalizes the collected data parsed by the parsing unit 112. In one embodiment, the standardization unit 113, for each of the collected data having a single item ID, the collected time, and a single measurement value delivered from the parsing unit 112, item ID according to a preset standard conversion criteria Parsed data can be standardized by converting to a standard ID ID and unifying the units and digits of the measurement.

구체적으로, 데이터 수집 장치(1)에 포함된 각각의 센서 또는 액츄에이터 등은 동일한 속성을 측정하더라도 이들이 생산된 업체나 이들이 포함된 공장의 특성에 따라 서로 다른 항목 ID를 가질 수 있다. 이와 같이 서로 다른 항목 ID를 기준으로 파싱된 데이터가 그대로 분산병렬처리시스템(200)으로 전달될 경우, 표준화되어 있지 않은 항목 ID 및 복수의 측정값을 해석하는 과정이 별도로 필요하기 때문에, 설비의 이상 또는 제품의 품질 이상 등을 모니터링하는 분산병렬처리시스템(200)의 성능이 저하될 수 있다. 따라서, 본 발명의 실시예에 따른 표준화유닛(113)은 동일한 속성을 측정한 데이터가 동일한 항목 ID를 갖도록 각 수집 데이터에 포함된 항목 ID를 표준항목 ID로 변경할 수 있다.Specifically, each sensor or actuator included in the data collection device 1 may have different item IDs according to the characteristics of the company in which they are produced or the factory in which they are included even if they measure the same property. As such, when data parsed based on different item IDs are transferred to the distributed parallel processing system 200 as they are, the process of interpreting non-standardized item IDs and a plurality of measured values is required separately. Alternatively, the performance of the distributed parallel processing system 200 for monitoring an abnormality of a product or the like may be deteriorated. Therefore, the standardization unit 113 according to the embodiment of the present invention may change the item ID included in each collection data into the standard item ID so that the data measuring the same property have the same item ID.

이와 같이, 표준화유닛(113)은 서로 동일한 속성을 측정한 측정값에 대해서는 동일한 표준항목 ID를 갖도록 수집 데이터를 전처리함으로써, 각각의 표준항목 ID에 기초하여 연속공정으로부터 수집된 수집 데이터가 연계 처리될 수 있도록 한다.In this way, the standardization unit 113 preprocesses the collection data to have the same standard item ID with respect to the measured values measuring the same attributes, so that the collected data collected from the continuous process based on each standard item ID may be cooperatively processed. To help.

또한, 데이터 수집 장치(1)를 통해 수집된 수집 데이터에 포함된 측정값의 형식은 센서나 액츄에이터와 같은 데이터 수집 장치(1)의 종류에 따라 상이할 수 있다. 그 결과, 연속공정으로부터 각각 수집된 서로 다른 형식의 수집 데이터의 연계 처리를 위해서는 각 디바이스의 종류에 따라 데이터의 단위 및 길이를 환산하는 과정을 추가로 수행해야 하기 때문에 연속공정으로부터 수집되는 대용량의 데이터를 실시간으로 연계 처리하는 것이 불가능하다. 따라서, 본 발명의 실시예에 따른 표준화유닛(113)은 분산병렬처리시스템(200)이 실시간으로 대용량의 데이터를 처리할 수 있도록 수집 데이터를 표준화한다.In addition, the format of the measurement value included in the collected data collected through the data collection device 1 may be different depending on the type of data collection device 1 such as a sensor or an actuator. As a result, a large amount of data collected from the continuous process is required for the process of converting the unit and the length of the data according to the type of each device in order to process the collected data of different formats collected from the continuous process. It is impossible to link the data in real time. Therefore, the standardization unit 113 according to the embodiment of the present invention standardizes the collected data so that the distributed parallel processing system 200 can process a large amount of data in real time.

표준화유닛(113)은 별도의 구성으로 인터페이스 프로세싱부(110) 또는 다른 장치에 포함된 표준 변환기준 저장부(118)를 참조하여, 항목 ID, 측정값의 단위 및 자리수를 표준화할 수 있으나, 본 발명은 이에 한정되지 않으므로 표준화유닛(113) 내부에 표준화를 위한 표준 변환기준에 관한 정보가 포함되어 있을 수 있다.The standardization unit 113 may standardize the item ID, the unit of measure and the number of digits by referring to the standard conversion reference storage unit 118 included in the interface processing unit 110 or another device in a separate configuration. Since the present invention is not limited thereto, the standardization unit 113 may include information on standard conversion criteria for standardization.

필터링유닛(114)은 미리 설정된 필터링 기준에 따라 표준화유닛(113)에서 표준화된 데이터를 큐 저장부(120)에 저장할 것인지 여부를 판단한다. 일례로, 수집된 수집 데이터의 종류에 따라 등급이 미리 설정되어 있고, 필터링유닛(114)은 상기 등급에 따라 큐 저장부(120)에 저장할 데이터 여부를 판단할 수 있다. 일 실시예에 있어서, 등급은 표준화된 데이터의 표준항목 ID를 기준으로 중요도에 따라 결정될 수 있으나 이에 한정되는 것은 아니다.The filtering unit 114 determines whether to store the data normalized by the standardization unit 113 in the queue storage unit 120 according to a preset filtering criterion. For example, the grade is set in advance according to the collected type of collected data, and the filtering unit 114 may determine whether to store the data in the queue storage unit 120 according to the grade. In one embodiment, the grade may be determined based on the importance based on the standard item ID of the standardized data, but is not limited thereto.

필터링유닛(114)은 큐 저장부(120)에 저장될 필요가 있는 데이터를 필터링하기 위한 기준이 저장된 필터링 기준 저장부(119)를 참조하여 표준화된 데이터를 필터링할 수 있다. 필터링 기준 저장부(119)는 별도의 구성으로 인터페이스 프로세싱부(110) 또는 다른 장치에 포함될 수 있다. 그러나, 본 발명은 이에 한정되지 않으므로 필터링유닛(114) 내부에 필터링 기준에 관한 정보가 저장되어 있을 수도 있다.The filtering unit 114 may filter the standardized data with reference to the filtering criteria storage unit 119 in which the criteria for filtering the data that need to be stored in the queue storage unit 120 are stored. The filtering criteria storage unit 119 may be included in the interface processing unit 110 or another device in a separate configuration. However, since the present invention is not limited thereto, the information about the filtering criteria may be stored in the filtering unit 114.

전송유닛(115)은 필터링유닛(114)을 통해 필터링된 데이터를 큐 저장부(120)의 큐에 저장한다. 일 실시예에 있어서, 전송유닛(115)는 필터링된 데이터를 그룹 ID 또는 표준항목 ID별로 큐 저장부(120)의 큐(121)에 저장할 수 있다. The transmission unit 115 stores the data filtered through the filtering unit 114 in the queue of the queue storage unit 120. In one embodiment, the transmission unit 115 may store the filtered data in the queue 121 of the queue storage unit 120 for each group ID or standard item ID.

즉, 본 발명의 실시예에서는 서로 다른 형식을 갖는 각 공정 별 수집 데이터를 파싱 및 표준화하여 일정한 형식으로 변환하는 한편, 표준화된 데이터를 그룹 ID 또는 표준항목 ID 별로 저장하여 그룹 ID 또는 표준항목 ID 별로 데이터 확인이 가능하므로 연속공정으로부터 수집된 수집 데이터가 실시간으로 연계 처리될 수 있다.That is, in the exemplary embodiment of the present invention, the collected data for each process having different formats are parsed and standardized and converted into a predetermined format, while the standardized data is stored for each group ID or standard item ID and stored for each group ID or standard item ID. Data can be checked, so collected data collected from continuous processes can be linked in real time.

일 실시예에 있어서, 큐 저장부(120)는 복수개로 구성될 수 있다. 이러한 실시예에 따르는 경우, 전송유닛(115)이 복수개의 큐 저장부(120) 중 어느 하나의 큐 저장부(120)에 전처리된 수집 데이터를 저장하면 나머지 큐 저장부(120)에도 동일 데이터가 복제되어 저장된다. 이때, 전송유닛(115)은 복수의 큐 저장부(121)의 부하를 고려하여 부하가 적은 큐 저장부(121)에 수집 데이터를 저장할 수 있다.In one embodiment, the queue storage unit 120 may be configured in plurality. According to this embodiment, if the transmission unit 115 stores the preprocessed collection data in any one of the plurality of queue storage unit 120 storage unit 120, the same data is also stored in the remaining queue storage unit 120 Duplicated and stored. In this case, the transfer unit 115 may store the collected data in the queue storage unit 121 having a low load in consideration of the load of the plurality of queue storage units 121.

또한, 전송유닛(115)은 복수개의 큐 저장부(120)의 동작모드에 따라 수집 데이터의 저장 여부를 결정할 수 있다. 구체적으로, 전송유닛(115)은 복수개의 큐 저장부(120)의 동작모드가 대기모드인 경우 데이터의 저장을 중지할 수 있다. 이때, 복수개의 큐 저장부(120)의 동작모드는 복수개의 큐 저장부(120) 중 정상 동작하는 큐 저장부(120)의 개수에 기초하여 결정될 수 있다.In addition, the transmission unit 115 may determine whether to store the collected data according to the operation mode of the plurality of queue storage unit 120. In detail, the transmission unit 115 may stop storing data when the operation mode of the plurality of queue storage units 120 is a standby mode. In this case, an operation mode of the plurality of queue storage units 120 may be determined based on the number of the queue storage units 120 operating normally among the plurality of queue storage units 120.

한편, 복수개의 큐 저장부(120)의 동작 모드가 대기 모드인 경우, 수신유닛(111)도 수집 데이터의 수신을 중지하게 된다. 즉, 큐 저장부(120)가 비정상적으로 동작하여 수집 데이터의 저장이 실시간으로 수행되지 않음에도 불구하고, 수신유닛(111)이 데이터 수집 장치(1)로부터 계속해서 수집 데이터를 수신할 경우 큐 저장부(120)의 장애로 인해 인터페이스 프로세싱부(110)의 수집 데이터 처리 동작에도 장애가 발생하게 된다.On the other hand, when the operation mode of the plurality of queue storage unit 120 is the standby mode, the receiving unit 111 also stops receiving the collection data. That is, although the queue storage unit 120 operates abnormally and the collection data is not stored in real time, when the receiving unit 111 continuously receives the collection data from the data collection device 1, the queue is stored. Due to the failure of the unit 120, the collection data processing operation of the interface processing unit 110 also occurs.

따라서, 본 발명의 실시예에서 인터페이스 프로세싱부(110)는 큐 저장부(120)의 동작 모드가 대기 모드인 경우, 수집 데이터의 수신 및 저장을 중지함으로써 장애 발생을 방지하고, 큐 저장부(120)가 정상 동작하면 다시 수집 데이터의 수신 및 저장을 수행할 수 있다.Therefore, in the embodiment of the present invention, when the operation mode of the queue storage unit 120 is the standby mode, the interface processing unit 110 stops the reception and storage of the collected data to prevent the occurrence of a failure, and the queue storage unit 120 If) is normal, you can receive and store the collected data again.

본 발명의 실시예에 따른 인터페이스 프로세싱부(110)는 수집 데이터 병합유닛(116), 메시지 레이아웃 저장부(117), 표준변환기준 저장부(118), 및 필터링 기준 저장부(119) 중 적어도 하나를 더 포함할 수 있다.The interface processing unit 110 according to an embodiment of the present invention may include at least one of the collection data merging unit 116, the message layout storage unit 117, the standard conversion criteria storage unit 118, and the filtering criteria storage unit 119. It may further include.

수집 데이터 병합유닛(116)은 연속 공정에서의 처리 성능 향상을 위해 수집 데이터를 병합(Merge)하여 파싱유닛(112)으로 전달한다. 일 실시예에 있어서, 수집 데이터 병합유닛(116)은 일정시간 간격(예: 0.1초, 1초, 1분 등)으로 수신유닛(111)을 통해 수신되는 수집 데이터를 병합한다. 즉, 연속 공정의 특성상 아주 짧은 주기(예: 5㎳ 내지 20㎳)로 수집 데이터가 파싱유닛(112)으로 전달될 수 있는데, 이러한 짧은 주기로 파싱유닛(112)이 데이터를 연속해서 파싱하는 것은 전체 시스템의 실시간 처리 성능을 악화시킬 수 있다.The collected data merging unit 116 merges the collected data and delivers the collected data to the parsing unit 112 in order to improve processing performance in a continuous process. In one embodiment, the collection data merging unit 116 merges the collection data received through the receiving unit 111 at a predetermined time interval (for example, 0.1 seconds, 1 second, 1 minute, etc.). That is, due to the nature of the continuous process, the collected data may be delivered to the parsing unit 112 in a very short period (for example, 5 ms to 20 ms). In this short cycle, the parsing unit 112 continuously parses the data. It can worsen the system's real-time processing performance.

따라서, 수집 데이터 병합유닛(116)은 실시간 모니터링을 위해 필요한 수집 데이터는 병합하지 않고 파싱유닛(112)로 바로 전달하고, 나머지 수집 데이터는 일정시간 간격으로 병합하여 파일 형태로 생성한 후 파싱유닛(112)으로 전달할 수 있다. 이 때, 실시간 모니터링을 위해 필요한 수집 데이터인지 여부는 수집 데이터의 중요도에 따라 설정될 수 있으며, 일례로 이상이 발생할 경우 즉각적인 조치가 필요한 설비 또는 재료로부터 수집되는 수집 데이터를 실시간 모니터링을 위해 필요한 수집 데이터로 설정할 수 있다.Therefore, the collection data merging unit 116 is transferred directly to the parsing unit 112 without merging the collection data necessary for real-time monitoring, and the remaining collection data are merged at a predetermined time interval to generate a file form and then parsed unit ( 112). At this time, whether or not the collection data required for real-time monitoring may be set according to the importance of the collected data, for example, the collection data required for real-time monitoring of the collection data collected from the facility or material that needs immediate action in case of abnormality Can be set to

메시지 레이아웃 저장부(117)에는 수집 데이터 전문에 대한 레이아웃을 정의한 데이터가 저장되어 있으며, 파싱유닛(112)은 메시지 레이아웃 저장부(117)를 참조하여 바이너리 형태 또는 별도의 데이터 전송 기준으로 전달되는 수집 데이터를 해석하는 근거로 이용할 수 있다.The message layout storage unit 117 stores data defining a layout for the entire collection data, and the parsing unit 112 refers to the message layout storage unit 117 for collection to be transmitted in binary form or as a separate data transmission standard. It can be used as a basis for interpreting data.

표준변환기준 저장부(118)에는 데이터 수집 장치(1)를 구성하는 다양한 센서 등의 항목 ID를 표준화한 표준항목 ID와, 각 표준항목 ID에 따른 기준 단위와 자리수가 저장되어 있다. 즉, 다양한 센서로부터 대용량의 수집 데이터가 수집될 때부터 미리 표준화된 항목 ID와 통일된 단위와 자리수를 갖는 수집 데이터가 수집되는 것이 바람직하지만, 각 공정의 특성에 따라 각 센서에서 수집되는 마이크로 데이터의 특성이 상이할 수 있으므로 본 발명의 실시예에서는 향후 분석에 효율적으로 활용하기 위해 사전에 다양한 센서 등의 항목 ID를 표준화한 표준항목 ID와, 각 표준항목 ID에 따른 기준 단위와 자리수가 저장해 둔다.The standard conversion criterion storage unit 118 stores standard item IDs that standardize item IDs of various sensors constituting the data collection device 1, and reference units and digits corresponding to each standard item ID. That is, it is preferable that the collection data having the unit and the number of units standardized to the item ID and the standardized item ID are collected from the time when a large amount of the collection data is collected from the various sensors, but according to the characteristics of each process, Since the characteristics may be different, the embodiment of the present invention stores standard item IDs in which item IDs of various sensors and the like are standardized in advance, and reference units and digits according to each standard item ID, in order to effectively utilize them in future analysis.

이러한 실시예에 따르는 경우, 상술한 표준화유닛(113)은 표준변환기준 저장부(118)를 참조하여 파싱된 데이터의 항목 ID를 표준항목 ID로 변경하고, 단위 및 자리수를 통일시킬 수 있다.According to such an embodiment, the above-described standardization unit 113 may change the item ID of the parsed data into the standard item ID by referring to the standard conversion criterion storage unit 118 and unify the unit and the number of digits.

필터링 기준 저장부(119)에는 표준화된 데이터 중 큐 저장부(120)에 저장될 필요가 있는 데이터를 필터링하기 위한 기준이 저장되어 있으며, 상술한 필터링유닛(114)은 필터링 기준 저장부(119)를 참조하여 표준화된 데이터 중 큐 저장부(120)에 저장할 데이터를 필터링할 수 있다.The filtering criteria storage unit 119 stores criteria for filtering data that needs to be stored in the queue storage unit 120 among the standardized data, and the above-described filtering unit 114 stores the filtering criteria storage unit 119. The data to be stored in the queue storage unit 120 may be filtered among standardized data.

큐 저장부(120)는 인터페이스 프로세싱부(110)에서 전처리된 데이터를 실시간 처리 전에 임시로 보관하는 영역으로 큐(121)를 포함한다.The queue storage unit 120 includes a queue 121 as an area for temporarily storing data preprocessed by the interface processing unit 110 before real-time processing.

큐(121)는 인터페이스 프로세싱부(110)에서 전처리된 데이터를 일정시간 동안 보관하기 위한 저장소로 데이터 유실 방지를 위해 메모리가 아닌 디스크 기반으로 데이터를 저장할 수 있다. 복수의 큐(121)에서 데이터를 저장하는 공간은 토픽(Topic)으로 구분될 수 있고, 동일 토픽 내의 파티션을 여러개 분리하여 병렬로 처리하는 것도 가능하다.The queue 121 is a storage for storing data preprocessed by the interface processing unit 110 for a predetermined time, and may store data based on a disk rather than a memory to prevent data loss. Spaces for storing data in the plurality of queues 121 may be divided into topics, and multiple partitions within the same topic may be separated and processed in parallel.

일 실시예에 있어서, 분산병렬처리시스템(200)이 큐 저장부(120)로부터 페치하는 데이터 그룹 별로 고유한 그룹 ID가 할당될 수 있고, 이 고유한 그룹 ID 별로 데이터 페치 주소가 관리될 수 있어, 데이터를 순차적으로 읽고 쓰는 큐 형태로 데이터가 저장 및 제공될 수 있다.In one embodiment, a unique group ID may be assigned to each data group that the distributed parallel processing system 200 fetches from the queue storage unit 120, and a data fetch address may be managed for each unique group ID. The data may be stored and provided in the form of a queue that reads and writes data sequentially.

상술한 실시예에서는 하나의 인터페이스 프로세싱부(110) 및 하나의 큐 저장부(120)를 통해 수집 데이터를 전처리하는 것으로 설명하였지만, 변형된 실시예에 있어서는, 도 3에 도시된 바와 같이 복수개의 인터페이스 프로세싱부(110) 및 복수개의 큐 저장부(120)를 통해 수집 데이터를 전처리할 수도 있다.Although the above-described embodiment has been described as preprocessing the collection data through one interface processing unit 110 and one queue storage unit 120, in the modified embodiment, as shown in FIG. The collected data may be preprocessed through the processing unit 110 and the plurality of queue storage units 120.

이러한 실시예에 따르는 경우, 복수개의 인터페이스 프로세싱부(110)는 데이터 수집 장치(1)의 규모 및 공장의 물리적 위치 등에 따라 추가하는 형태로 확장될 수 있으며, 각각의 인터페이스 프로세싱부(110)는 고가용성(High Availability; HA)을 위해 이중화 구조로 구현될 수 있다.According to this embodiment, the plurality of interface processing unit 110 may be extended in the form of adding according to the size of the data acquisition device 1 and the physical location of the factory, each interface processing unit 110 It may be implemented in a redundant structure for high availability (HA).

즉, 각각의 인터페이스 프로세싱부(110)는 운영 서버 및 백업 서버로 구비되어 평상시 운영 서버가 동작하다가 운영 서버에 장애가 발생할 경우 자동으로 백업 서버가 활성화됨으로써, 전술한 인터페이스 프로세싱부(110)의 동작이 중단되지 않고 연속적으로 수행될 수 있다.That is, each of the interface processing unit 110 is provided with an operation server and a backup server, the operation of the operating server in normal operation, when the failure of the operation server automatically activates the backup server, the operation of the interface processing unit 110 described above It can be performed continuously without interruption.

또한, 복수개의 큐 저장부(120)는 클러스터링 구조로 구현됨으로써, 1대의 큐 저장부(120)에 데이터가 저장되면 다른 큐 저장부(120)로 데이터가 복제되어 어느 큐 저장부(120)에 장애가 발생할 경우에도 다른 큐 저장부(120)를 참조하여 서비스를 지속으로 제공할 수 있다. In addition, since the plurality of queue storage units 120 are implemented in a clustering structure, when data is stored in one queue storage unit 120, the data is replicated to another queue storage unit 120 to any queue storage unit 120. Even when a failure occurs, the service can be continuously provided with reference to another queue storage unit 120.

또한, 인터페이스 프로세싱부(110)는 수집된 수집 데이터에 대한 표준화가 완료되면 복수개의 큐 저장부(120) 중1대의 큐 저장부(120)를 선택하여 표준화된 데이터를 저장한다. 이 때, 데이터를 저장할 큐 저장부(120)를 선택하는 기준은 다양한 룰 중에서 선택될 수 있으며, 일례로 부하가 가장 낮은 큐 저장부(120)를 선택하거나, 순차적으로 선택하는 방식, 또는 데이터를 수집한 센서 별로 저장할 큐 저장부(120)를 사전에 미리 저장하여 선택하는 것이 가능하다.In addition, the interface processing unit 110 selects one queue storage unit 120 among the plurality of queue storage units 120 and stores the normalized data when standardization of the collected collected data is completed. In this case, a criterion for selecting the queue storage unit 120 to store data may be selected from various rules. For example, the queue storage unit 120 having the lowest load may be selected, or a method of sequentially selecting the data or data may be selected. It is possible to previously store and select the queue storage unit 120 to be stored for each sensor collected in advance.

다시 도 1을 참조하면, 분산병렬처리시스템(200)은 인터페이스 장치(100)에서 표준화된 표준화 데이터에 공정 식별자를 매핑하고, 각 공정 별로 수집된 수집 데이터들의 연계 처리를 위해 각 공정에서의 매핑 데이터들을 정렬한다. 이하, 본 발명에 따른 분산병렬처리시스템(200)을 도 4를 참조하여 보다 구체적으로 설명한다.Referring back to FIG. 1, the distributed parallel processing system 200 maps process identifiers to standardized data standardized by the interface apparatus 100, and maps data of each process for cooperative processing of collected data collected for each process. Sort them. Hereinafter, the distributed parallel processing system 200 according to the present invention will be described in more detail with reference to FIG. 4.

도 4는 본 발명의 일 실시예에 따른 분산병렬처리시스템(200)의 구성을 보여주는 도면이다. 도 4에 도시된 바와 같이, 본 발명에 따른 분산병렬처리시스템(200)은 실시간 프로세싱부(210) 및 메모리부(220)를 포함한다.4 is a diagram illustrating a configuration of a distributed parallel processing system 200 according to an embodiment of the present invention. As shown in FIG. 4, the distributed parallel processing system 200 according to the present invention includes a real time processing unit 210 and a memory unit 220.

실시간 프로세싱부(210)는 인터페이스 시스템(100)에 의해 표준화된 데이터에 공정 식별자를 매핑하여 매핑 데이터를 생성하고, 조업-설비-품질 등 영역간 데이터를 연계분석할 수 있도록 매핑 데이터를 정렬한다. The real-time processing unit 210 generates mapping data by mapping process identifiers to data standardized by the interface system 100, and arranges mapping data so that linkage analysis of data such as operation, equipment, and quality may be performed.

이를 위해, 본 발명에 따른 실시간 프로세싱부(210)는 도 4에 도시된 바와 같이, 페치(fetch) 수행모듈(211), 로딩 수행모듈(212), 공정매핑 수행모듈(213), 데이터 보정 수행모듈(215), 및 데이터 정렬 수행모듈(216)을 포함한다. 또한, 실시간 프로세싱부(210)는 설비 이상감지 수행모듈(217) 및 품질 이상감지 수행모듈(218)을 더 포함할 수 있다.To this end, the real-time processing unit 210 according to the present invention, as shown in Figure 4, the fetch execution module 211, the loading execution module 212, the process mapping execution module 213, performing data correction Module 215 and data sorting module 216. In addition, the real-time processing unit 210 may further include a facility abnormality detection execution module 217 and the quality abnormality detection execution module 218.

일 실시예에 있어서, 도 4에 도시된 복수개의 수행모듈(211~218)들은 실시간 프로세싱부(210)에 배포되어 각각의 기능을 구현하는 어플리케이션(Application)으로 구현될 수 있고, 이러한 어플리케이션들이 실시간 프로세싱부(210)에 작업 공간을 생성한 후 복수개의 쓰레드(Thread)를 생성함으로써 각 수행모듈(211~218) 별로 할당된 기능들을 수행하게 된다.In one embodiment, the plurality of execution modules 211 ˜ 218 illustrated in FIG. 4 may be distributed to the real time processing unit 210 and implemented as an application for implementing each function, and these applications may be implemented in real time. After creating a work space in the processing unit 210 to create a plurality of threads (Thread) to perform the functions assigned to each execution module (211 ~ 218).

이하, 복수개의 수행모듈(211~218) 각각의 기능에 대해 구체적으로 설명한다.Hereinafter, functions of each of the plurality of execution modules 211 to 218 will be described in detail.

페치 수행모듈(211)은 인터페이스 시스템(100)의 큐(121)로부터 표준화된 데이터를 독출하여 메모리부(220)의 수집데이터 저장부(221)에 저장한다. 일 실시예에 있어서, 페치 수행모듈(211)은 큐 저장부(120)에 포함된 복수의 큐(121) 각각에 대해서 이전에 데이터를 조회한 위치 정보를 기억함으로써, 이전까지 읽어 들인 데이터의 다음 데이터를 읽어 들일 수 있다.The fetch performing module 211 reads standardized data from the queue 121 of the interface system 100 and stores the standardized data in the collected data storage unit 221 of the memory unit 220. According to an exemplary embodiment, the fetch performing module 211 stores location information that previously inquired data for each of the plurality of queues 121 included in the queue storage unit 120, thereby storing the next data read before. Can read data

이때, 인터페이스부(110)는 연속공정으로부터 수집된 수집 데이터의 연계 처리를 위해 표준화된 수집 데이터를 그룹 ID 또는 표준항목 ID 별로 큐(121)에 저장하므로, 페치 수행모듈(211)은 큐(121)에 저장된 표준화된 데이터를 그룹 ID 또는 표준항목 ID 별로 독출할 수 있다.At this time, the interface unit 110 stores the standardized collection data in the queue 121 for each group ID or standard item ID for the cooperative processing of the collected data collected from the continuous process, the fetch performing module 211 is the queue 121 Standardized data stored in) can be read by group ID or standard item ID.

로딩 수행모듈(212)은 수집데이터 저장부(221)에 저장된 데이터를 로딩하여 공정매핑 수행모듈(213)으로 전달한다.The loading execution module 212 loads the data stored in the collection data storage unit 221 and transmits the data to the process mapping execution module 213.

공정매핑 수행모듈(213)은 로딩 수행모듈(212)로부터 전달받은 표준화된 데이터에 해당 데이터가 수행된 공정을 식별하기 위한 공정 식별자를 매핑하고, 매핑 데이터를 데이터 보정 수행모듈(215)로 전달한다.The process mapping performing module 213 maps a process identifier for identifying a process in which the data is performed to standardized data received from the loading performing module 212, and transfers the mapping data to the data correction performing module 215. .

일 실시예에 있어서, 공정매핑 수행모듈(213)은 각 공정을 수행하는 설비의 설비 식별자 또는 해당 설비에 의해 가공되는 재료의 재료 식별자 중 적어도 하나를 공정 식별자로써 표준화된 데이터에 매핑할 수 있다. 이를 위해, 매핑 수행모듈(213)은 설비매핑 수행모듈(213a) 및 재료매핑 수행모듈(213b)을 포함할 수 있다.In one embodiment, the process mapping performing module 213 may map at least one of a facility identifier of a facility performing each process or a material identifier of a material processed by the facility to standardized data as a process identifier. To this end, the mapping performing module 213 may include a facility mapping performing module 213a and a material mapping performing module 213b.

설비매핑 수행모듈(213a)은 로딩 수행모듈(212)에 의해 로딩된 표준화된 데이터에 해당 데이터가 수집된 설비 식별자를 매핑한다. 일 실시예에 있어서, 설비 식별자는 각 설비 별로 부여된 설비 번호일 수 있다.The facility mapping performing module 213a maps the facility identifier from which the data is collected to the standardized data loaded by the loading performing module 212. In one embodiment, the facility identifier may be a facility number assigned to each facility.

일 실시예에 있어서 설비매핑 수행모듈(213a)은 수집 데이터의 수집 시간 및 수집 데이터를 수집한 센서의 속성 정보에 기초하여 수집 데이터가 발생한 설비의 설비 식별자를 추출할 수 있다. 이 때, 센서의 속성 정보는 측정한 속성을 식별하기 위한 정보로서 전술한 바와 같이 표준항목 ID를 포함할 수 있으나, 본 발명은 이에 한정되지 않는다.In an embodiment, the facility mapping performing module 213a may extract the facility identifier of the facility in which the collection data is generated based on the collection time of the collection data and the attribute information of the sensor that collected the collection data. In this case, the attribute information of the sensor may include the standard item ID as described above as information for identifying the measured attribute, but the present invention is not limited thereto.

즉, 전술한 바와 같이, 인터페이스 장치(100)에 의해 표준화된 데이터는 표준항목 ID, 수집된 시간, 및 표준화된 단위와 자리수를 갖는 단일 측정값을 포함하는데, 각 설비에 의해 수행되는 작업 별로 동작하는 시간이 정해져 있으므로 설비매핑 수행모듈(213a)은 수집 데이터의 수집 시간 정보에 기초하여 해당 시간에 동작한 설비를 확인할 수 있다. 또한, 센서의 속성 정보에는 해당 센서가 측정한 설비의 설비 식별자 정보가 포함되어 있으므로, 설비매핑 수행모듈(213a)은 특정 시간에 특정한 표준항목 ID를 갖는 센서가 측정한 설비의 설비 식별자를 추출할 수 있다.That is, as described above, the data standardized by the interface device 100 includes a standard item ID, a collected time, and a single measurement value having standardized units and digits, which are operated for each operation performed by each facility. Since the time is determined, the facility mapping performing module 213a may check the equipment operated at the corresponding time based on the collection time information of the collected data. In addition, since the attribute information of the sensor includes equipment identifier information of the equipment measured by the corresponding sensor, the equipment mapping performing module 213a extracts the equipment identifier of the equipment measured by the sensor having a specific standard item ID at a specific time. Can be.

그 결과, 설비 식별자가 매핑된 매핑 결과 데이터는 표준항목 ID, 수집된 시간, 설비 식별자 및 단일 측정값을 포함하게 된다.As a result, the mapping result data to which the equipment identifier is mapped includes the standard item ID, the collected time, the equipment identifier, and a single measurement value.

재료매핑 수행모듈(213b)은 설비 식별자가 매핑된 매핑 데이터에 해당 설비 식별자에 대응되는 설비를 통해 가공된 재료의 재료 식별자를 매핑한다. 일 실시예에 있어서, 재료 식별자는 각 재료 별로 부여되어 있는 재료번호일 수 있다. 상술한 실시예에 있어서 재료매핑 수행모듈(213b)은 설비 식별자가 매핑되어 있는 매핑 데이터에 재료 식별자를 매핑하는 것으로 설명하였지만, 설 변형된 실시예에 있어서 설비 식별자는 센서에 의해 수집된 데이터에 미리 포함되어 있을 수 있으므로, 재료매핑 수행모듈(213b)은 로딩 수행모듈(212)로부터 전달된 표준화된 데이터에 재료 식별자를 매핑할 수도 있다.The material mapping performing module 213b maps the material identifier of the material processed through the facility corresponding to the facility identifier to mapping data to which the facility identifier is mapped. In one embodiment, the material identifier may be a material number assigned to each material. In the above-described embodiment, the material mapping module 213b has been described as mapping the material identifier to mapping data to which the equipment identifier is mapped. However, in the modified embodiment, the equipment identifier is pre-set to the data collected by the sensor. Since it may be included, the material mapping performing module 213b may map a material identifier to standardized data transmitted from the loading performing module 212.

재료매핑 수행모듈(213b)은 각 공정에서 수행되는 작업 지시 정보에 기초하여 매핑 데이터에 매핑되어 있는 설비 식별자에 대응되는 설비에서 가공된 재료의 재료 식별자를 추출할 수 있다.The material mapping performing module 213b may extract the material identifier of the material processed in the facility corresponding to the facility identifier mapped to the mapping data based on the work instruction information performed in each process.

예컨대, 제1공정의 제1 설비를 통해 제1 재료 식별자가 부여되어 있는 제1재료가 생성되는 경우 재료매핑 수행모듈(213b)은 제1 설비의 설비 식별자가 매핑되어 있는 매핑 데이터에 제1 재료 식별자를 추가로 매핑한다. 또한, 제2공정을 수행하는 제2 설비를 통해 제2 재료 식별자가 부여되어 있는 제2재료가 생성되는 경우, 재료매핑 수행모듈(213b)은 제2 설비의 설비 식별자가 매핑되어 있는 매핑 데이터에 제2 재료 식별자를 추가로 매핑한다.For example, when the first material to which the first material identifier is assigned is generated through the first facility of the first process, the material mapping module 213b may use the first material to map data to which the facility identifier of the first facility is mapped. Map additional identifiers. In addition, when the second material to which the second material identifier is assigned is generated through the second facility that performs the second process, the material mapping performing module 213b may be configured to map data to which the facility identifier of the second facility is mapped. Further map the second material identifier.

설비매핑 수행모듈(213a)에 의해 설비 식별자가 매핑된 데이터는 표준항목 ID, 수집시간, 설비 식별자, 및 표준화된 단위와 자리수를 갖는 단일 측정값을 포함하므로, 재료매핑 수행모듈(213b)에서 출력되는 매핑 데이터는 표준항목 ID, 수집된 시간, 설비 식별자, 재료 식별자, 및 단일 측정값을 포함하게 된다.The data to which the equipment identifier is mapped by the equipment mapping performing module 213a includes a standard item ID, a collection time, a equipment identifier, and a single measured value having standardized units and digits, and thus is output from the material mapping performing module 213b. The mapping data to be included will include a standard item ID, time collected, equipment identifier, material identifier, and a single measurement.

이와 같이, 본 발명의 실시예에 따른 분산병렬처리 시스템(200)은 표준화된 데이터에 설비 식별자 및 재료 식별자 중 적어도 하나를 포함하는 공정 식별자를 매핑함으로써, 각 데이터 별로 어떠한 재료가 어떠한 설비를 통과하는 과정에서 수집된 데이터인지 확인할 수 있고, 이러한 데이터의 추적을 통해 각 공정들간의 연계분석이 가능하다.As described above, the distributed parallel processing system 200 according to an embodiment of the present invention maps a process identifier including at least one of a facility identifier and a material identifier to standardized data, thereby allowing any material to pass through any facility for each data. It is possible to check whether the data collected in the process, and through the tracking of this data can be linked analysis between each process.

또한, 인터페이스 시스템(100)을 통해 수집 데이터가 표준화되기 때문에 분산병렬처리 시스템(200)은 정형화된 구조를 갖는 표준화된 데이터에 설비 식별자와 재료 식별자를 매핑할 수 있으므로 시간 지연 없이 대용량의 데이터를 실시간으로 처리할 수 있다.In addition, since the collected data is standardized through the interface system 100, the distributed parallel processing system 200 may map a facility identifier and a material identifier to standardized data having a standardized structure, thereby real-time large amount of data without time delay. Can be processed as

한편, 데이터 수집 장치(1)를 통해 수집된 수집 데이터는 설비가 재료를 가공하고 있는 상태에서 수집된 데이터인 부하 데이터 및 설비가 재료를 가공하고 있지 않는 상태에서 수집된 데이터인 무부하 데이터를 포함할 수 있다.Meanwhile, the collection data collected through the data collection device 1 may include load data, which is data collected while the facility is processing materials, and no load data, which is data collected while the facility is not processing materials. Can be.

무부하 데이터의 경우, 설비 식별자가 매핑된 수집 데이터에 추가로 매핑할 재료 식별자가 없으므로, 재료매핑 수행유닛(213b)은 설비 식별자가 매핑된 매핑 데이터를 바로 정렬 데이터 저장부(222)에 저장할 수 있다. 이러한 경우 부하 데이터와 무부하 데이터는 정렬 데이터 저장부(222)에서 분리되어 저장될 수 있다.In the case of no-load data, since there is no material identifier to additionally map to the collection data to which the facility identifier is mapped, the material mapping performing unit 213b may store the mapping data to which the facility identifier is mapped directly in the alignment data storage unit 222. . In this case, the load data and the no-load data may be stored separately in the alignment data storage unit 222.

데이터 보정 수행모듈(215)은 공정 식별자가 매핑된 매핑 데이터 중 누락된 데이터가 있는 경우 누락된 데이터를 추가하여 매핑 데이터를 보정한다. 일 실시예에 있어서, 데이터 보정 수행모듈(215)은 매핑 데이터의 보정을 위해, 매핑 데이터에 포함된 수집 시간을 미리 정해진 수집 주기에 일치시킬 수 있다. 즉, 데이터 수집 장치(1)를 통해 미리 정해진 수집 주기로 수집 데이터가 발생해야 하는데 그렇지 않은 경우가 있을 수 있으므로, 데이터 보정 수행모듈(215)은 각 매핑 데이터의 수집 시간을 수집 주기에 일치시킨다. The data correction performing module 215 corrects the mapping data by adding the missing data when there is missing data among the mapping data to which the process identifier is mapped. In one embodiment, the data correction performing module 215 may match a collection time included in the mapping data to a predetermined collection period in order to correct the mapping data. That is, since the collected data should be generated at a predetermined collection period through the data collection device 1, there may be a case in which the data is not corrected. Therefore, the data correction performing module 215 matches the collection time of each mapping data to the collection period.

예를 들어, 수집 주기를 20ms로 수집 데이터를 저장하는 경우 데이터 수집 장치(1)는 20ms 마다 수집 데이터를 발생시켜야 하므로, 데이터 보정 수행모듈(215)은 수집시간이 15시01분11초0005ms인 매핑 데이터의 수집시간을 15시01분11초0000ms로 변경하고, 수집시간이 15시01분11초0050ms인 매핑 데이터의 수집 시간을 15시01분11초0040ms로 변경할 수 있다.For example, when storing the collection data with a collection period of 20 ms, since the data collection device 1 should generate the collection data every 20 ms, the data correction performing module 215 has a collection time of 15:01:11 seconds 0005 ms. The collection time of mapping data may be changed to 15:01:11 seconds 0000 ms, and the collection time of mapping data having a collection time of 15:01:11 seconds 0050 ms may be changed to 15:01:11 seconds 0040 ms.

그리고, 이와 같이 수집 주기가 20ms인 경우 20ms로 수집 데이터가 전달되어야 하는데, 일부 수집 데이터가 누락된 경우 각각의 수집 데이터들이 수집된 수집 주기가 20ms 보다 길게 된다. 따라서, 데이터 보정 수행모듈(215)은 누락이 발생한 데이터가 수집되었어야 하는 영역과 가장 인접한 위치에서의 매핑 데이터 또는 누락이 발생한 시간과 인접한 수집 시간의 매핑 데이터를 이용하여 누락된 데이터를 보정한다.In this case, when the collection period is 20 ms, the collection data should be delivered in 20 ms. When some collection data is missing, the collection period in which each collection data is collected is longer than 20 ms. Accordingly, the data correction performing module 215 corrects the missing data by using mapping data at a position closest to the area where the data where the missing data should have been collected or mapping data at a collection time adjacent to the time when the missing data occurs.

데이터 정렬 수행모듈(216)은 데이터 보정 수행모듈(215)에 의해 보정된 매핑 데이터 또는 공정 식별자가 매핑된 매핑 데이터를 각 공정의 데이터들 간의 연계처리를 위해 정렬한다.The data sorting performing module 216 sorts the mapping data corrected by the data correcting performing module 215 or mapping data to which the process identifier is mapped for linkage processing between data of each process.

일 실시예에 있어서, 데이터 정렬 수행모듈(216)은 동일한 재료 식별자가 매핑되어 있는 매핑 데이터들을 수집 시간에 따라 순차적으로 정렬한다. 즉, 데이터 정렬 수행모듈(216)은 연속공정에서 수집된 수집 데이터 간의 연계처리를 위해 매핑 데이터를 동일한 재료 식별자를 갖는 재료 단위로 시간 순서에 따라 정렬할 수 있다.In one embodiment, the data sorting performing module 216 sequentially sorts mapping data mapped with the same material identifier according to a collection time. That is, the data sorting performing module 216 may sort the mapping data in the order of materials in units of materials having the same material identifier for linkage processing between collected data collected in a continuous process.

데이터 정렬 수행모듈(216)은 시간 순서에 따라 정렬된 매핑 데이터들을 동일한 재료 식별자에 대응되는 재료 상에서 해당 데이터가 수집된 위치를 기준으로 정렬한다.The data sorting performing module 216 sorts the mapping data arranged in chronological order based on the location at which the data is collected on the material corresponding to the same material identifier.

매핑 데이터들의 정렬을 위해, 데이터 정렬 수행모듈(216)은 재료의 길이, 재료의 이동 속도, 및 수집 데이터의 수집 주기 중 적어도 하나를 이용하여 상기 재료 상에서 상기 시간에 따라 정렬된 수집 데이터의 수집 위치를 결정할 수 있다. 예컨대, 데이터 정렬 수행 모듈(216)은 재료의 이동 속도와 수집 데이터의 수집 주기를 곱한 값 및 재료의 전체 길이를 기준으로 재료 상에서 각 주기 별로 수집 데이터가 수집된 수집 위치를 결정할 수 있다. 이에 따라, 시간에 따라 정렬된 매핑 데이터는 재료 상에서 일 방향으로 소정의 위치에서 측정된 데이터로 각각 정렬될 수 있다.For sorting the mapping data, the data sorting performing module 216 collects the collection position of the collection data arranged over time on the material using at least one of the length of the material, the moving speed of the material, and the collection period of the collection data. Can be determined. For example, the data sorting performing module 216 may determine a collection position at which collection data is collected for each cycle on the material based on a product of a moving speed of the material and a collection cycle of the collection data and the total length of the material. Accordingly, mapping data arranged over time may be aligned with data measured at predetermined positions in one direction on the material.

데이터 정렬 수행모듈(216)은 서로 다른 수집 주기로 제1 공정 및 제2공정으로부터 각각 수집된 수집 데이터의 연계 처리를 위해, 각 재료 상에서 미리 정해진 간격으로 설정된 기준점들과 각 매핑 데이터의 수집 위치 간의 거리를 기초로 각 기준점들에서의 측정값을 산출하고, 산출된 측정값을 기초로 각 기준점들에서의 기준 데이터를 생성한다.The data sorting performing module 216 may perform a distance between reference points set at predetermined intervals on each material and a collection position of each mapping data for linkage processing of the collected data collected from the first process and the second process at different collection cycles, respectively. A measurement value at each reference point is calculated on the basis of, and reference data at each reference point is generated based on the calculated measurement value.

데이터 정렬 수행모듈(216)은 시간에 따라 정렬된 수집 데이터 및 기준점들에서의 기준 데이터들을 재료 상에서 일 방향으로 순차적으로 정렬한다. 데이터 정렬 수행모듈(216)은 정렬된 데이터를 메모리부(220)의 정렬데이터 저장부(222)에 저장한다. 일 실시예에 있어서, 일 방향은 재료의 길이 방향, 재료의 폭 방향, 및 재료의 두께 방향 중 적어도 하나가 될 수 있으나, 본 발명은 이에 한정되지 않는다.The data sorting performing module 216 sequentially sorts the collected data arranged in time and the reference data at the reference points in one direction on the material. The data sorting performing module 216 stores the sorted data in the sorting data storage unit 222 of the memory unit 220. In one embodiment, the one direction may be at least one of the longitudinal direction of the material, the width direction of the material, and the thickness direction of the material, but the present invention is not limited thereto.

제1공정 및 제2공정에서는 서로 다른 수집 주기로 각각의 수집 데이터가 수집되고 제1공정을 통과하는 재료의 길이, 폭, 또는 두께가 제2공정을 통과하는 재료의 길이, 폭 또는 두께와 서로 다를 수 있기 때문에, 각 공정 상에서 재료의 특정 영역에서 측정되는 측정값의 전후 관계 변화를 연계하여 관리하기 어려울 수 있다. 따라서, 본 발명에서는 제1 공정 및 제2공정으로부터 수집된 수집 데이터들간의 연계 처리를 위해, 각 공정에서 가공된 재료 상에서 설정된 복수개의 기준점에서의 측정값을 산출하고, 각 재료 별 기준점에서의 측정값을 이용하여 각 공정들간의 매핑 데이터들을 연계하여 관리한다.In the first process and the second process, each collection data is collected at different collection cycles, and the length, width, or thickness of the material passing through the first process is different from the length, width, or thickness of the material passing through the second process. As such, it may be difficult to manage the association of the cross-sectional changes of the measured values measured in a particular region of the material in each process. Therefore, in the present invention, for the cooperative processing between the collected data collected from the first process and the second process, the measurement value at a plurality of reference points set on the material processed in each process is calculated, and the measurement at the reference point for each material The value is used to manage the mapping data between the processes.

이하에서는 데이터 정렬 수행 모듈(216)이 기준 데이터들을 재료 상에서 길이 방향으로 정렬하는 예를 구체적으로 설명한다.Hereinafter, an example in which the data sorting module 216 aligns the reference data in the longitudinal direction on the material will be described in detail.

제1공정에서 가공된 제1 재료의 길이 방향으로 제1 기준점들이 소정 간격으로 설정되어 있고, 제2공정에서 가공된 제2 재료의 길이 방향으로 제2 기준점들이 소정의 간격으로 설정되어 있다. 이러한 경우, 제1 기준점들에서의 제1 기준 데이터에는 제1 재료에 대응되는 제1 재료 식별자가 매핑되어 있고, 제2 기준점들에서의 제2기준 데이터들에는 제2 재료에 대응되는 제2 재료 식별자가 매핑되어 있다. 따라서, 각 재료 별로 재료 식별자가 매핑되어 있는 재료 가계도(미도시) 상에서 제1재료 식별자 및 제2 식별자에 기초하여 제1 기준 데이터들과 제2 기준 데이터들이 연계된다.First reference points are set at predetermined intervals in the longitudinal direction of the first material processed in the first step, and second reference points are set at predetermined intervals in the longitudinal direction of the second material processed in the second step. In this case, a first material identifier corresponding to the first material is mapped to the first reference data at the first reference points, and a second material corresponding to the second material is mapped to the second reference data at the second reference points. Identifiers are mapped. Accordingly, the first reference data and the second reference data are linked based on the first material identifier and the second identifier on a material family tree (not shown) in which material identifiers are mapped for each material.

즉, 재료 가계도에는 각 재료 시겹라작 트리 형태로 연결되어 있어, 이러한 재료 가계도를 참조함으로써 제1공정 및 제2공정을 순차적으로 통과하면서 생성되는 재료에게 할당된 재료 식별자를 통해 각 공정의 매핑 데이터들이 서로 연계될 수 있다.That is, the material family tree is connected in the form of each material layer tree, and the mapping data of each process is assigned through the material identifier assigned to the material generated by sequentially passing the first process and the second process by referring to the material family tree. Can be linked to each other.

데이터 정렬 수행모듈(216)은 상기와 같이 재료의 길이 방향으로 정렬된 매핑 데이터 및 기준 데이터들을 메모리부(220)의 정렬데이터 저장부(222)에 저장한다. The data sorting performing module 216 stores the mapping data and the reference data arranged in the longitudinal direction of the material in the alignment data storage unit 222 of the memory unit 220 as described above.

일례로, 데이터 정렬 수행모듈(216)은 재료 가계도에 기초하여 서로 연계되는 재료 식별자를 갖는 정렬 데이터들을 정렬데이터 저장부(222)의 동일한 공간에 저장할 수 있다. 이를 통해, 수집 데이터를 연계 처리할 때 동일한 저장 공간에서 간단하게 연계된 수집 데이터들을 함께 이용할 수 있게 된다.In one example, the data sorting performing module 216 may store the sorting data having material identifiers associated with each other based on the material family tree in the same space of the sorting data storage 222. As a result, when the collected data are linked, the linked collected data can be easily used in the same storage space.

또한, 데이터 정렬 수행모듈(216)은 매핑 데이터를 시간에 따라 정렬한 제1정렬 데이터, 매핑 데이터를 수집 위치를 기준으로 정렬한 제2정렬 데이터, 및 기준점들에서의 기준 데이터들을 정렬데이터 저장부(222)에 분리하여 저장할 수 있다.In addition, the data sorting performing module 216 may sort the first sorting data in which the mapping data is sorted according to time, the second sorting data in which the mapping data is sorted based on the collection position, and the reference data at the reference points. 222 can be stored separately.

즉, 데이터 정렬 수행모듈(216)은 제1 정렬 데이터, 제2 정렬 데이터, 및 기준 데이터들을 별도의 저장 장소에 각각 저장함으로써, 실제 측정된 값에 해당하는 제1정렬 데이터와 제2정렬 데이터를 시간 및 수집 위치를 기준으로 별도로 이용하도록 하고, 실제 데이터를 바탕으로 산출된 가상의 값에 해당하는 기준 데이터를 별도로 이용하도록 할 수 있으나, 본 발명은 이에 한정되지 않는다.That is, the data sorting performing module 216 stores the first sorting data, the second sorting data, and the reference data in separate storage locations, respectively, so that the first sorting data and the second sorting data corresponding to the actually measured values are stored. The reference data corresponding to a virtual value calculated based on actual data may be separately used based on time and a collection position, but the present invention is not limited thereto.

또한, 데이터 정렬 수행모듈(216)은 정렬 결과를 대용량 빅 데이터 분석 시스템(300)에서 이용할 수 있도록 정렬 완료를 알리는 이벤트를 완료이벤트 저장부(223)에 저장한다.In addition, the data sorting performing module 216 stores the event indicating the completion of the sorting in the complete event storage unit 223 so that the sorting result can be used in the large-capacity big data analysis system 300.

이와 같이, 실시간 프로세싱부(210)는 수집 데이터에 설비 식별자 또는 재료 식별자와 같은 공정 식별자를 매핑하고, 매핑 데이터를 정렬함으로써 수집 데이터가 연계 처리될 수 있도록 한다.As such, the real-time processing unit 210 maps process identifiers, such as equipment identifiers or material identifiers, to the collected data, and arranges the mapping data so that the collected data can be cooperatively processed.

설비이상감지 수행모듈(217)은 설비매핑 수행모듈(213a)로부터 설비 식별자가 매핑된 데이터를 전달받고, 미리 설정된 설비이상판단기준에 따라 설비이상여부를 판단한다. 판단결과, 특정 설비에 이상이 발생한 것으로 판단되면, 설비이상감지 수행모듈(217)은 메모리부(220)의 이상감지결과 저장부(224)에 판단 결과를 저장한다.The facility abnormality detection performing module 217 receives data mapped with the facility identifier from the facility mapping performing module 213a and determines whether there is a facility abnormality according to a preset facility abnormality criterion. If it is determined that an abnormality has occurred in a specific facility, the facility abnormality detection performing module 217 stores the determination result in the abnormality detection result storage unit 224 of the memory unit 220.

이 때, 설비의 이상여부를 판단하기 위한 설비이상판단기준의 일례로 수집된 수집 데이터가 소정의 기준값을 벗어난 형태로 소정의 시간 동안 지속되는 경우 설비에 이상이 발생한 것으로 판단하도록 설정될 수 있으나, 본 발명은 이에 한정되지 않는다.At this time, if the collected data collected as an example of the facility abnormality determination criteria for determining whether or not the equipment abnormality lasts for a predetermined time out of a predetermined reference value, it may be set to determine that the abnormality in the equipment. The present invention is not limited to this.

품질이상감지 수행모듈(218)은 정렬 데이터 저장부(222)로부터 정렬 데이터를 로딩하고, 정렬 데이터를 기초로 미리 설정된 품질이상판단기준에 따라 품질이상여부를 판단한다. 판단결과, 특정 재료의 품질에 이상이 발생한 것으로 판단되면, 품질이상감지 수행모듈(218)은 메모리부(220)의 이상감지결과 저장부(224)에 판단 결과를 저장한다.The quality abnormality detection performing module 218 loads the alignment data from the alignment data storage unit 222 and determines whether there is a quality abnormality according to a preset quality abnormality determination criterion based on the alignment data. If it is determined that an abnormality has occurred in the quality of the specific material, the quality abnormality detection performing module 218 stores the determination result in the abnormality detection result storage unit 224 of the memory unit 220.

일 실시예에 있어서, 품질이상감지 수행모듈(218)은 수집 데이터의 평균 및 오차 예측 등의 작업을 통해 품질이상여부 판단식의 레퍼런스로 활용하기 위한 매크로 데이터를 생성하고, 수집 데이터를 품질이상여부 판단식에 입력하여 그 결과에 따라 품질이상을 판단할 수 있다.In one embodiment, the quality abnormality detection performing module 218 generates macro data to be used as a reference of the quality abnormality determination equation through operations such as average and error prediction of the collected data, and whether the collected data is abnormal or not. Input to the judgment formula can determine the quality abnormality according to the result.

이와 같이, 본 발명에 따른 분산병렬처리시스템(200)은 각 공정들간의 연계분석을 위해 표준화 데이터를 재료 단위로 정렬하는 한편, 수집 데이터 또는 정렬 데이터를 바탕으로 실시간으로 설비 또는 재료의 품질에 이상이 발생하는지 모니터링함으로써, 설비 고장을 미리 예측할 수 있다.As described above, the distributed parallel processing system 200 according to the present invention sorts the standardized data by material unit for linkage analysis between the processes, and is ideal for the quality of equipment or materials in real time based on collected data or sorted data. By monitoring whether this occurs, it is possible to predict the failure of the equipment in advance.

한편, 실시간 프로세싱부(210)는 설비정보 저장부(219a), 작업지시정보 저장부(219b), 센서속성정보 저장부(219c), 및 품질판정모델 저장부(219d)를 더 포함할 수 있다.The real time processing unit 210 may further include a facility information storage unit 219a, a work instruction information storage unit 219b, a sensor attribute information storage unit 219c, and a quality determination model storage unit 219d. .

설비정보 저장부(219a)에는 설비가 어느 공장, 어느 공정의 어느 위치에 존재하는지에 대한 정보, 설비에 대한 정비이력 정보, 데이터에 매핑할 설비정보와 각 설비 별로 설비의 이상여부를 판단하기 위한 설비이상판단기준이 저장되어 있다.The facility information storage unit 219a includes information on which factories and which processes are located at which locations, maintenance history information about the facility, facility information to be mapped to data, and facilities for determining whether there is an abnormality of each facility. Equipment failure judgment criteria are stored.

작업지시정보 저장부(219b)에는 MES(Manufacturing Execution System) 시스템의 작업에 대한 지시정보 및 해당 작업으로 특정 설비에서 발생하는 재료 식별자 정보, 해당 작업 수행에 대한 품질지표, 및 데이터에 매핑할 재료정보와 각 재료 별로 재료의 품질이상여부를 판단하기 위한 품질이상판단기준이 저장되어 있다.The work instruction information storage unit 219b includes instruction information on the work of the Manufacturing Execution System (MES) system, material identifier information generated in a specific facility as the work, quality indicators for performing the work, and material information to be mapped to data. And quality judgment criteria for determining whether the quality of the material is abnormal for each material is stored.

센서속성정보 저장부(219c)에는 센서에서 수집되는 데이터의 종류, 단위, 수집주기, 해당 설비 식별자, 공장/공정 등의 정보가 저장되며, 특히 설비 또는 재료를 측정하는 센서의 항목 ID가 저장되어 있다. The sensor attribute information storage unit 219c stores information such as the type, unit, collection cycle, corresponding equipment identifier, and factory / process of data collected from the sensor, and in particular, the item ID of the sensor measuring the equipment or material is stored. have.

품질판정모델 저장부(219d)에는 설비이상판단기준 및 품질이상판단기준이 미리 저장되어 있으므로, 품질이상감지 수행모듈(218)은 품질판정모델 저장부(219d)를 참조하여 품질이상을 판단할 수 있다.Since the quality determination model storage unit 219d stores the equipment abnormality determination criteria and the quality abnormality determination criteria in advance, the quality abnormality detection performing module 218 may determine the quality abnormality with reference to the quality determination model storage unit 219d. have.

메모리부(220)는 실시간 프로세싱부(210)에서 생성되는 다양한 데이터를 저장하되, 구체적으로 수집데이터 저장부(221), 정렬데이터 저장부(222), 완료이벤트 저장부(223), 및 이상감지결과 저장부(224)를 포함한다.The memory unit 220 stores various data generated by the real-time processing unit 210, specifically, the collected data storage unit 221, the alignment data storage unit 222, the completion event storage unit 223, and the abnormality detection unit. Result storage unit 224.

수집데이터 저장부(221)에는 페치 수행모듈(211)를 통해 큐(121)에서 독출한 표준화된 데이터 즉, 매핑, 보정, 및 정렬이 이루어지기 이전의 표준화된 데이터가 표준항목 ID 별로 저장되고, 로딩 수행모듈(212)은 수집데이터 저장부(221)로부터 표준화된 데이터를 로딩하여 설비매핑 수행모듈(213a)로 전달한다.The collected data storage unit 221 stores the standardized data read from the queue 121 through the fetch performing module 211, that is, the standardized data before mapping, correction, and sorting is performed for each standard item ID. The loading execution module 212 loads standardized data from the collection data storage unit 221 and transfers the standardized data to the facility mapping execution module 213a.

정렬데이터 저장부(222)에는 설비 또는 재료의 품질을 판정할 수 있도록 설비매핑 수행모듈(213a) 및 재료매핑 수행모듈(213b)에 의해 설비 식별자 및 재료 식별자 중 적어도 하나가 매핑된 매핑 데이터가 재료 단위로 정렬된 상태로 저장된다. 일 실시예에 있어서, 정렬데이터 저장부(222)에는 설비 식별자와 재료 식별자가 모두 매핑된 부하 데이터 및 설비 식별자만이 매핑된 무부하 데이터가 별도로 저장될 수 있다.The alignment data storage unit 222 includes mapping data in which at least one of the equipment identifier and the material identifier are mapped by the equipment mapping performing module 213a and the material mapping performing module 213b so as to determine the quality of the equipment or material. Stored in a sorted state. In an embodiment, the alignment data storage unit 222 may separately store load data to which both the equipment identifier and the material identifier are mapped and no-load data to which only the equipment identifier is mapped.

완료이벤트 저장부(223)에는 수집주기에 따라 정렬되고 누락된 데이터가 보정된 데이터가 정렬데이터 저장부(222)에 저장되면, 정렬 결과를 빅데이터 분석 시스템(300)에서 이용할 수 있도록 정렬 완료를 알리는 이벤트가 저장된다. 따라서, 빅데이터 분석 시스템(300)은 완료이벤트 저장부(223)를 모니터링하여 새로운 완료 이벤트가 발생하면 정렬데이터 저장부(222)로부터 정렬 데이터를 추출하여 이용하게 된다.Completion event storage unit 223 is stored according to the collection cycle and the data that is missing the correction data is stored in the alignment data storage unit 222, the sorting result is completed to use in the big data analysis system 300 Informing events are stored. Accordingly, the big data analysis system 300 monitors the completion event storage unit 223 and extracts the alignment data from the alignment data storage unit 222 when a new completion event occurs.

구체적으로, 완료 이벤트에는 해당 이벤트 전송시간, 데이터 수집시간, 정렬데이터 저장부(222)에서 데이터를 읽기 위한 키 정보, 이벤트를 저장하기 위한 파티션 및 디렉토리 정보 등이 포함된다. 따라서, 빅데이터 분석 시스템(300)은 완료이벤트 저장부(223)에서 새로운 완료 이벤트가 획득되면, 해당 완료 이벤트에 포함된 키 정보를 이용해서 해당 완료 이벤트에 대응되는 데이터가 정렬데이터 저장부(222)의 어느 파티션 및 디렉토리에 저장되어 있는지 확인하는 방식으로 새롭게 정렬된 데이터를 획득할 수 있다.Specifically, the completion event includes a corresponding event transmission time, data collection time, key information for reading data from the alignment data storage unit 222, partition and directory information for storing an event, and the like. Therefore, when a new completion event is acquired in the completion event storage unit 223, the big data analysis system 300 uses the key information included in the completion event to display data corresponding to the completion event in the alignment data storage unit 222. Newly sorted data can be obtained by checking which partitions and directories are stored in).

이상감지결과 저장부(224)에는 설비이상감지 수행모듈(217)에서 감지된 특정 설비의 이상감지결과, 및 품질이상감지 수행모듈(218)에서 감지된 특정 재료의 품질 이상감지결과가 저장된다.The abnormality detection result storage unit 224 stores the abnormality detection result of the specific facility detected by the facility abnormality detection execution module 217 and the quality abnormality detection result of the specific material detected by the quality abnormality detection execution module 218.

따라서, 본 발명에 따르는 경우 사용자는 스마트팩토리 플랫폼(1000)의 외부에 구축된 별도의 이상감지 모니터링 시스템(미도시)을 통해 이상감지결과 저장부(224)에 접근함으로써 스마트팩토리 플랫폼(1000)의 특정 설비나 특정 재료의 품질에 이상이 발생했는지 확인할 수 있다.Therefore, in the case of the present invention, the user accesses the abnormality detection result storage unit 224 through a separate abnormality monitoring system (not shown) built outside the smart factory platform 1000 of the smart factory platform 1000. You can check whether there is an abnormality in the quality of a particular plant or material.

다만, 본 발명은 이에 한정되지 않고 특정 설비 또는 특정 재료의 품질에서 이상이 발생한 경우 그 결과를 이상감지 모니터링 시스템으로 직접 전송함으로써 사용자가 이상을 바로 확인하도록 하는 것도 가능하다.However, the present invention is not limited thereto, and when an abnormality occurs in the quality of a specific facility or a specific material, the user may directly check the abnormality by directly transmitting the result to the abnormality detection monitoring system.

상술한 실시예에 있어서는 분산병렬처리시스템(200)이 하나의 실시간 프로세싱부(210) 및 하나의 메모리부(220)를 통해 표준화된 데이터를 매핑 및 정렬하는 것으로 설명하였지만, 변형된 실시예에 있어서 분산병렬처리시스템(200)은 도 4 및 도 5에 도시된 바와 같이 복수개의 실시간 프로세싱부(210a, 210b, 210c) 및 복수개의 메모리부(220)를 이용하여 표준화된 데이터를 매핑 및 정렬할 수도 있다.In the above-described embodiment, the distributed parallel processing system 200 has been described as mapping and sorting normalized data through one real-time processing unit 210 and one memory unit 220. However, in the modified embodiment, The distributed parallel processing system 200 may map and sort the standardized data using the plurality of real-time processing units 210a, 210b, and 210c and the plurality of memory units 220 as illustrated in FIGS. 4 and 5. have.

이하, 도 4 및 도 5를 참조하여 변형된 실시예에 따른 분산병렬처리시스템에 대해 설명한다.Hereinafter, a distributed parallel processing system according to a modified embodiment will be described with reference to FIGS. 4 and 5.

도 5는 복수개의 실시간 프로세싱부 및 복수개의 메모리부를 포함하는 분산병렬처리시스템의 구성을 개략적으로 보여주는 도면이다.5 is a diagram schematically illustrating a configuration of a distributed parallel processing system including a plurality of real-time processing units and a plurality of memory units.

도 5에 도시된 바와 같이, 분산병렬처리시스템(200)은 복수개의 실시간 프로세싱부(210a, 210b, 210c), 복수개의 메모리부(220a, 220b, 220c), 및 수행모듈 배포부(230)를 포함한다.As shown in FIG. 5, the distributed parallel processing system 200 includes a plurality of real-time processing units 210a, 210b, and 210c, a plurality of memory units 220a, 220b, and 220c, and a performing module distribution unit 230. Include.

복수개의 실시간 프로세싱부(210a, 210b, 210c)에는 표준화된 데이터를 매핑 및 정렬하는 복수개의 수행모듈(211~218)들 중 하나 이상의 수행모듈(211~218)이 분산되어 배포된다. 이와 같이, 본 발명은 복수개의 실시간 프로세싱부(210a, 210b, 210c)가 자신에게 배포된 수행모듈(211~218)을 각각 실행시킴으로써 표준화된 데이터의 매핑 및 정렬작업을 복수개의 실시간 프로세싱부(210a, 210b, 210c)를 통해 분산 병렬 처리할 수 있어, 단일의 실시간 프로세싱부에서 모든 수행모듈(211~218)이 수행됨에 따른 과부하를 방지할 수 있다.One or more execution modules 211 to 218 of the plurality of execution modules 211 to 218 for mapping and sorting standardized data are distributed to the plurality of real time processing units 210a, 210b, and 210c. As described above, the present invention executes the mapping and sorting of the standardized data by executing the execution modules 211 to 218 distributed to them by the plurality of real time processing units 210a, 210b, and 210c, respectively. The distributed parallel processing may be performed through 210b and 210c to prevent overload as all the execution modules 211 to 218 are performed in a single real-time processing unit.

즉, 복수의 실시간 프로세싱부(210a, 210b, 210c, 210d)는 페치 수행모듈(211), 로딩 수행모듈(212), 설비매핑 수행모듈(213a), 재료매핑 수행모듈(213b), 데이터 보정 수행모듈(215), 데이터 정렬 수행모듈(216), 설비이상감지 수행모듈(217), 및 품질이상감지 수행모듈(218) 중 적어도 하나의 수행모듈을 각각 분산하여 병렬처리하고, 최종 결과 데이터를 메모리부(220)에 저장함으로써, 인터페이스 시스템(100)으로부터 전달되는 대용량의 데이터를 실시간으로 처리하게 된다.That is, the plurality of real-time processing units 210a, 210b, 210c, and 210d may perform the fetch execution module 211, the loading execution module 212, the facility mapping execution module 213a, the material mapping execution module 213b, and data correction. At least one of the module 215, the data sorting performing module 216, the facility abnormality detecting performing module 217, and the quality abnormality detecting performing module 218 are distributed and processed in parallel, and the final result data is stored in memory. By storing in the unit 220, a large amount of data transmitted from the interface system 100 is processed in real time.

이러한 경우 하나의 실시간 프로세싱부(210a, 210b, 210c)에 동일한 기능을 수행하는 수행모듈(211~218)이 복수개 배포될 수도 있다. 예컨대, 하나의 실시간 프로세싱부(210a, 210b, 210c)에 설비매핑 수행모듈(213a)이 복수개 배치될 수도 있다.In this case, a plurality of execution modules 211 to 218 performing the same function may be distributed to one real-time processing unit 210a, 210b, 210c. For example, a plurality of facility mapping performing modules 213a may be disposed in one real-time processing unit 210a, 210b, or 210c.

일 실시예에 있어서, 복수개의 실시간 프로세싱부(210a, 210b, 210c)는 클러스터링 구조로 구성될 수 있다. 이와 같이, 복수개의 실시간 프로세싱부(210a, 210b, 210c)는 클러스터링 구조를 가지기 때문에 특정 실시간 프로세싱부에 장애가 발생하면 장애가 발생된 실시간 프로세싱부에서 실행중이던 수행모듈(211~218)을 다른 실시간 프로세싱부로 이동시킬 수 있어 가용성을 확보할 수 있게 된다.In one embodiment, the plurality of real-time processing unit 210a, 210b, 210c may be configured in a clustering structure. As described above, since the plurality of real-time processing units 210a, 210b, and 210c have a clustering structure, when a failure occurs in a specific real-time processing unit, the execution modules 211 to 218 that are running in the real-time processing unit that has failed are transferred to another real-time processing unit. It can be moved to ensure availability.

도 5에서는 분산병렬처리시스템(200)이 3개의 실시간 프로세싱부(210a, 210b, 210c)를 포함하는 것으로 도시하였지만, 데이터 처리 성능에 따라 실시간 프로세싱부는 추가로 증설될 수 있다.In FIG. 5, the distributed parallel processing system 200 includes three real-time processing units 210a, 210b, and 210c, but the real-time processing unit may be additionally expanded according to data processing performance.

복수개의 메모리부(220)에는 복수개의 실시간 프로세싱부(210a, 210b, 210c)에서 처리된 데이터가 저장된다. 일 실시예에 있어서, 처리 성능을 높이고 장애시 가용성을 보장하기 위해 복수개의 메모리부(220)는 전술한 큐 저장부(120)와 같이 클러스터링 구조를 가질 수 있다. The plurality of memory units 220 stores data processed by the plurality of real-time processing units 210a, 210b, and 210c. In an embodiment, in order to increase processing performance and to ensure availability in the event of a failure, the plurality of memory units 220 may have a clustering structure like the above-described queue storage unit 120.

즉, 1대의 메모리부(220)에 데이터가 저장되면 다른 메모리부(220)에도 데이터가 복제되어 저장되므로, 특정 메모리부(220)에 장애가 발생하더라도 다른 메모리부(220)를 통해 서비스가 지속적으로 제공될 수 있다. That is, when data is stored in one memory unit 220, the data is duplicated and stored in the other memory unit 220, so that even if a failure occurs in a specific memory unit 220, the service is continuously provided through the other memory unit 220. Can be provided.

일 실시예에 있어서, 복수개의 메모리부(220)는 고가용성(High Availability; HA)을 위해 이중화 구조로 구비될 수 있다. 즉, 각각의 메모리부(220)는 마스터 인스턴스(M) 및 슬레이브 인스턴스(S)를 포함한다. 이러한 경우 제1 메모리부(220a)에 포함된 마스터 인스턴스(M)과 제2 메모리부(220b)에 포함된 슬레이브 인스턴스(S)가 한 쌍으로 동작하고, 제2 메모리부(220b)에 포함된 마스터 인스턴스(M)와 제1 메모리부(220a)에 포함된 슬레이브 인스턴스(S)가 한 쌍으로 동작하게 된다.In an embodiment, the plurality of memory units 220 may be provided in a redundant structure for high availability (HA). That is, each memory unit 220 includes a master instance (M) and a slave instance (S). In this case, the master instance M included in the first memory unit 220a and the slave instance S included in the second memory unit 220b operate as a pair and are included in the second memory unit 220b. The master instance M and the slave instance S included in the first memory unit 220a operate in pairs.

이러한 경우, 제1 메모리부(220a)의 마스터 인스턴스(M)에 정렬 데이터가 저장되면 제2 메모리부(220b)의 슬레이브 인스턴스(S)에도 정렬 데이터가 복제되어 저장되고, 제2 메모리부(220b)의 마스터 인스턴스(M)에 정렬 데이터가 저장되면 제1 메모리부(220a)의 슬레이브 인스턴스(S)에도 정렬 데이터가 복제되어 저장된다.In this case, when the alignment data is stored in the master instance M of the first memory unit 220a, the alignment data is duplicated and stored in the slave instance S of the second memory unit 220b, and the second memory unit 220b is stored. When the alignment data is stored in the master instance (M), the alignment data is duplicated and stored in the slave instance S of the first memory unit 220a.

일 실시예에 있어서, 슬레이브 인스턴스(S)에 기록된 정렬 데이터는 장애시 복구를 위해 각 데이터가 스크립터(Scripter) 형태의 파일로 백업될 수 있다. 이때, 스크립터 형태의 파일이란 데이터의 쓰기 또는 읽기와 관련된 커맨드가 해당 데이터와 함께 저장되어 있는 형태의 파일을 의미한다. In one embodiment, the sorted data recorded in the slave instance (S) may be backed up to a file in the form of a scripter (Scripter) for recovering in case of failure. In this case, the script file refers to a file in which a command related to writing or reading data is stored together with the corresponding data.

한편, 제1 메모리부(220a)에 포함된 마스터 인스턴스(M)가 동작하다가 장애가 발생하는 경우 자동으로 제2 메모리부(220a)에 포함된 슬레이브 인스턴스(S)가 활성화됨으로써 전술한 실시간 프로세싱부(210)의 다양한 기능이 중단되지 않고 연속적으로 구현될 수 있다.Meanwhile, when the master instance M included in the first memory unit 220a operates and a failure occurs, the slave instance S included in the second memory unit 220a is automatically activated, thereby realizing the aforementioned real-time processing unit ( Various functions of 210 may be continuously implemented without interruption.

일 실시예에 있어서, 각 메모리부(220)의 마스터 인스턴스(M) 및 슬레이브 인스턴스(S)는 싱글 스레드(Rhread) 형태로 구성되고, 쓰기 및 읽기 별로 인스턴스 및 포트가 분리되어 있다.In one embodiment, the master instance (M) and the slave instance (S) of each memory unit 220 is configured in a single thread (Rhread) form, the instance and port are separated for each write and read.

한편, 각 메모리부(220)에 포함된 마스터 인스턴스(M) 및 슬레이브 인스턴스(S)는 전술한 수집데이터 저장부(221), 정렬데이터 저장부(222), 완료이벤트 저장부(223) 및 이상감지결과 저장부(224)를 각각 포함하여 구성될 수 있다.On the other hand, the master instance (M) and the slave instance (S) included in each memory unit 220 is the above-described collection data storage unit 221, alignment data storage unit 222, completion event storage unit 223 and the above Each of the sensing result storage units 224 may be configured.

이하, 도 6을 참조하여 표준화된 데이터의 매핑 및 정렬 작업을 분산병렬처리하는 방법을 예를 들어 설명한다.Hereinafter, referring to FIG. 6, a method of distributed parallel processing for mapping and sorting of standardized data will be described as an example.

도 6에 도시된 바와 같이, 제1 실시간 프로세싱부(210a)에 페치 수행모듈(211)이 배포되어 있기 때문에, 제1 실시간 프로세싱부(210a)는 페치 수행모듈(211)을 실행시킴으로써 페치 수행모듈(211)이 큐(121)에 접속하여 표준화된 데이터를 페치하고, 페치 데이터를 제1 메모리부(220a)의 마스터 인스턴스(M)에 저장하도록 한다. 이때, 제2 메모리부(220b)의 슬레이브 인스턴스(S)에도 데이터가 복제되어 저장된다. 상술한 실시예에 있어서는, 제1 메모리부(220a)의 마스터 인스턴스(M)에 데이터가 저장되는 것으로 설명하였지만 제2 메모리부(220b)의 마스터 인스턴스(M)에 데이터가 저장될 수도 있을 것이다. 이러한 경우 제1 메모리부(220a)의 슬레이브 인스턴스(S)에 데이터가 복제되어 저장된다.As shown in FIG. 6, since the fetch performing module 211 is distributed to the first real time processing unit 210a, the first real time processing unit 210a executes the fetch performing module 211 to execute the fetch performing module. 211 accesses the queue 121 to fetch standardized data and stores the fetched data in the master instance M of the first memory unit 220a. At this time, data is also copied and stored in the slave instance S of the second memory unit 220b. In the above-described embodiment, it has been described that data is stored in the master instance M of the first memory unit 220a. However, data may be stored in the master instance M of the second memory unit 220b. In this case, data is copied and stored in the slave instance S of the first memory unit 220a.

제2 실시간 프로세싱부(210b)에는 로딩 수행모듈(212), 설비매핑 수행모듈(213a), 및 재료매핑 수행모듈(213b)이 배포되어 있기 때문에, 제2 실시간 프로세싱부(210b)는 로딩 수행모듈(212)을 실행시킴으로써 로딩 수행모듈(212)이 제2 메모리부(220b)의 슬레이브 인스턴스(S) 또는 제1 메모리부(220a)의 슬레이브 인스턴스(S)로부터 데이터를 독출한다. Since the loading execution module 212, the facility mapping execution module 213a, and the material mapping execution module 213b are distributed in the second real time processing unit 210b, the second real time processing unit 210b may be the loading execution module. By executing 212, the loading execution module 212 reads data from the slave instance S of the second memory unit 220b or the slave instance S of the first memory unit 220a.

그리고, 제2 실시간 프로세싱부(210b)는 설비매핑 수행모듈(213a)을 실행시킴으로써 제2 메모리부(220b)의 슬레이브 인스턴스(S) 또는 제1 메모리부(220a)의 슬레이브 인스턴스(S)로부터 독출된 데이터에 설비 식별자를 매핑하고, 재료매핑 수행모듈(213b)을 실행시킴으로써 설비 식별자가 매핑된 데이터에 재료 식별자를 매핑시킨다.The second real-time processing unit 210b reads from the slave instance S of the second memory unit 220b or the slave instance S of the first memory unit 220a by executing the facility mapping performing module 213a. The equipment identifier is mapped to the data, and the material mapping function module 213b is executed to map the material identifier to the data to which the equipment identifier is mapped.

제3 실시간 프로세싱부(210c)에는 데이터 보정 수행모듈(215) 및 데이터 정렬 수행모듈(216)이 배포되어 있기 때문에, 제3 실시간 프로세싱부(210c)는 데이터 보정 수행모듈(215)을 실행시킴으로써 매핑 데이터 중 누락된 데이터를 보정하고, 데이터 정렬 수행모듈(216)을 수행함으로써 보정된 매핑 데이터를 재료 단위로 정렬하여 제2 메모리부(220b)의 마스터 인스턴스(M)에 저장한다. 이때, 제1 메모리부(220a)의 슬레이브 인스턴스(S)에도 데이터가 복제되어 저장된다. 상술한 설명에서는, 제2 메모리부(220b)의 마스터 인스턴스(M)에 정렬 데이터가 저장되는 것으로 설명하였지만 제1 메모리부(220a)의 마스터 인스턴스(M)에 정렬 데이터가 저장될 수도 있을 것이다. 이러한 경우 제2 메모리부(220b)의 슬레이브 인스턴스(S)에 데이터가 복제되어 저장된다.Since the data correction performing module 215 and the data alignment performing module 216 are distributed in the third real time processing unit 210c, the third real time processing unit 210c performs the mapping by executing the data correction performing module 215. By correcting the missing data among the data, and performing the data sorting module 216, the corrected mapping data is sorted by material unit and stored in the master instance M of the second memory unit 220b. At this time, data is also copied and stored in the slave instance S of the first memory unit 220a. In the above description, the alignment data is described as being stored in the master instance M of the second memory unit 220b. However, the alignment data may be stored in the master instance M of the first memory unit 220a. In this case, data is copied and stored in the slave instance S of the second memory unit 220b.

상술한 실시예에 있어서는, 복수개의 메모리부(220)가 이중화 되어 구성됨으로써 제1 메모리부(220a)에 포함된 마스터 인스턴스(M)과 제2 메모리부(220b)에 포함된 슬레이브 인스턴스(S)가 한 쌍으로 동작하고, 제2 메모리부(220b)에 포함된 마스터 인스턴스(M)와 제1 메모리부(220a)에 포함된 슬레이브 인스턴스(S)가 한 쌍으로 동작하는 것으로 설명하였다.In the above-described embodiment, the plurality of memory units 220 are configured in a redundant manner so that the master instance M included in the first memory unit 220a and the slave instance S included in the second memory unit 220b are included. Has been described as a pair, and the master instance M included in the second memory unit 220b and the slave instance S included in the first memory unit 220a operate as a pair.

하지만, 이러한 실시예에 따르는 경우, 마스터 인스턴스(M) 및 슬레이브 인스턴스(S)가 싱글 쓰레드로 구현되기 때문에, 제1 메모리부(220a)의 마스터 인스턴스(M)가 다운되는 경우 제1 메모리부(220)의 마스터 인스턴스(M)가 정상화될 때까지의 다운타임 동안, 제2 메모리부(220b)의 슬레이브 인스턴스(S)가 쓰기동작과 읽기동작을 모두 서비스 할 수 는 없다는 한계가 있다.However, according to this embodiment, since the master instance M and the slave instance S are implemented as a single thread, when the master instance M of the first memory unit 220a is down, the first memory unit ( During the down time until the master instance M of the controller 220 is normalized, there is a limitation that the slave instance S of the second memory unit 220b cannot service both the write operation and the read operation.

따라서, 변형된 실시예에 있어서, 메모리부(220)는 도 7에 도시된 바와 같이, 3중화 구조로 구현될 수 있다. 구체적으로, 변형된 실시예에 따른 메모리부(220) 각각은 마스터 인스턴스(M), 제1 슬레이브 인스턴스(S1), 및 제2 슬레이브 인스턴스(S2)를 포함한다.Therefore, in the modified embodiment, the memory unit 220 may be implemented in a triple structure as shown in FIG. 7. Specifically, each of the memory units 220 according to the modified embodiment includes a master instance M, a first slave instance S1, and a second slave instance S2.

이러한 경우, 제1 메모리부(220a)에 포함된 마스터 인스턴스(M)은 제2 및 제3 메모리부(220b, 220c)의 제1 슬레이브 인스턴스(S1)들과 한 쌍으로 동작한다. 이에 따라, 제1 메모리부(220a)에 포함된 마스터 인스턴스(M)에 데이터가 기입되면 제2 및 제3 메모리부(220b, 220c)의 제1 슬레이브 인스턴스(S1)들에도 데이터가 복제되어 저장된다.In this case, the master instance M included in the first memory unit 220a operates in pairs with the first slave instances S1 of the second and third memory units 220b and 220c. Accordingly, when data is written in the master instance M included in the first memory unit 220a, the data is copied and stored in the first slave instances S1 of the second and third memory units 220b and 220c. do.

또한, 제2 메모리부(220b)에 포함된 마스터 인스턴스(M)는 제1 메모리부(220a)에 포함된 제1 슬레이브 인스턴스(S1) 및 제3 메모리부(220c)에 포함된 제2 슬레이브 인스턴스(S2)들과 한 쌍으로 동작한다. 이에 따라, 제2 메모리부(220b)에 포함된 마스터 인스턴스(M)에 데이터가 기입되면 제1 메모리부(220a)에 포함된 제1 슬레이브 인스턴스(S1) 및 제3 메모리부(220c)에 포함된 제2 슬레이브 인스턴스(S2)들에도 데이터가 복제되어 저장된다.In addition, the master instance M included in the second memory unit 220b includes the first slave instance S1 included in the first memory unit 220a and the second slave instance included in the third memory unit 220c. It works in pairs with (S2). Accordingly, when data is written to the master instance M included in the second memory unit 220b, the data is included in the first slave instance S1 and the third memory unit 220c included in the first memory unit 220a. Data is also replicated and stored in the second slave instances S2.

또한, 제3 메모리부(220c)에 포함된 마스터 인스턴스(M)는 제1 메모리부(220a) 및 제2 메모리부(220b)에 포함된 제2 슬레이브 인스턴스(S1)들과 한 쌍으로 동작한다. 이에 따라, 제3 메모리부(220c)에 포함된 마스터 인스턴스(M)에 데이터가 기입되면 제1 메모리부(220a) 및 제2 메모리부(220b)에 포함된 제2 슬레이브 인스턴스(S1)들에도 데이터가 복제되어 저장된다.In addition, the master instance M included in the third memory unit 220c operates in pairs with the second slave instances S1 included in the first memory unit 220a and the second memory unit 220b. . Accordingly, when data is written in the master instance M included in the third memory unit 220c, the data is also written to the second slave instances S1 included in the first memory unit 220a and the second memory unit 220b. Data is duplicated and stored.

다시 도 5를 참조하면, 수행모듈 배포부(230)는 복수개의 수행모듈들(211~218)을 복수개의 실시간 프로세싱부(210a~210c)에 배포한다. 또한, 수행모듈 배포부(230)는 실시간 프로세싱부(210a~210c)에 배포된 수행모듈들(211~218)의 실행으로 인한 실시간 프로세싱부(210a~210c)의 부하량에 따라 복수개의 수행모듈들(211~218)을 실시간 프로세싱부(210a~210c)에 재배포한다.Referring back to FIG. 5, the execution module distribution unit 230 distributes the plurality of execution modules 211 to 218 to the plurality of real time processing units 210a to 210c. In addition, the execution module distribution unit 230 includes a plurality of execution modules according to the load of the real time processing units 210a to 210c due to the execution of the execution modules 211 to 218 distributed to the real time processing units 210a to 210c. Redistribution (211 ~ 218) to the real-time processing unit (210a ~ 210c).

구체적으로, 수행모듈 배포부(230)는 수행모듈 저장소(232), 배포순서 결정부(234), 및 배포 수행부(236)를 포함한다.In detail, the execution module distribution unit 230 includes a execution module storage 232, a distribution order determining unit 234, and a distribution execution unit 236.

먼저, 수행모듈 저장소(232)에는 표준화된 데이터의 매핑 및 정렬을 수행하기 위한 복수개의 수행모듈(211~218)이 저장된다.First, the execution module storage 232 stores a plurality of execution modules 211 to 218 for performing mapping and sorting of standardized data.

배포순서 결정부(234)는 배포 수행부(236)에 의해 복수개의 수행모듈(211~218)들이 각 실시간 프로세싱부(210a~210c)에 초기 배포된 이후, 실시간 프로세싱부(210a~210c)의 자원 사용 정보를 기초로 수행모듈(211~218)들의 재배포를 위한 순서를 결정한다.The distribution order determiner 234 is configured to distribute the plurality of execution modules 211 to 218 to each of the real time processing units 210a to 210c by the distribution execution unit 236, and then to the real time processing units 210a to 210c. The order for redistribution of the execution modules 211 to 218 is determined based on the resource usage information.

동일한 개수의 수행모듈(211~2180)들이 각 실시간 프로세싱부(210a~210c)에 배포되더라도 각 수행모듈(211~218) 마다 자원 사용율이 상이하기 때문에, 자원 사용율이 큰 수행모듈(211~218)이 많이 배포된 실시간 프로세싱부(210a~210c)는 자원 사용율이 낮은 수행모듈(211~218)이 많이 배포된 실시간 프로세싱부(210a~210c)에 비해 부하가 가중될 수 밖에 없으므로, 분산병렬처리스템(200)의 성능이 저하된다.Even though the same number of execution modules 211 to 2180 are distributed to each of the real-time processing units 210a to 210c, since the resource utilization rate is different for each execution module 211 to 218, the execution module 211 to 218 having a high resource usage rate is performed. Since the distributed real-time processing units 210a to 210c have a heavy load compared to the distributed real-time processing units 210a to 210c in which the resource utilization rate low performing modules 211 to 218 are distributed, distributed parallel processing systems. The performance of 200 is degraded.

따라서, 본 발명에 따른 배포순서 결정부(234)는 최초 배포된 수행모듈(211~2180)들의 실행에 의한 실시간 프로세싱부(210a~210c)의 자원 사용 정보를 판단하여, 복수개의 실시간 프로세싱부(210a~210c)의 부하량이 조절될 수 있도록 복수개의 수행모듈(211~218)의 재배포를 위한 배포순서를 결정한다. 일 실시예에 있어서, 배포순서 결정부(234)는 복수개의 실시간 프로세싱부(210a~210c)의 부하량이 균등해지도록 복수개의 수행모듈(211~218)의 재배포를 위한 배포순서를 결정할 수 있다. 여기서, 배포순서 결정이란 각 수행모듈(211~218)이 배포될 실시간 프로세싱부(210a~210c)를 결정하는 것을 의미한다. 이때, 각 실시간 프로세싱부(210a~210c)로 배포될 수행모듈(211~218)들의 개수는 동일하게 설정될 수 있다.Therefore, the distribution order determining unit 234 according to the present invention determines the resource usage information of the real-time processing unit (210a ~ 210c) by the execution of the execution module (211 ~ 2180) initially distributed, a plurality of real-time processing unit ( The distribution order for redistribution of the plurality of performance modules 211 to 218 may be determined so that the load of 210a to 210c may be adjusted. In one embodiment, the distribution order determiner 234 may determine the distribution order for redistribution of the plurality of execution modules 211 to 218 so that the load of the plurality of real-time processing units 210a to 210c is equalized. Here, the distribution order determination means determining the real-time processing units 210a to 210c to which each performing module 211 to 218 is distributed. At this time, the number of execution modules 211 to 218 to be distributed to each of the real-time processing units 210a to 210c may be equally set.

일 실시예에 있어서, 배포순서 결정부(234)는 최초 배포된 수행모듈의 실행에 따른 시스템 자원의 평균값 및 시스템 자원의 이용 패턴 중 적어도 하나를 이용하여 복수개의 수행모듈(211~218)의 배포순서를 결정한다. 이러한 실시예에 따르는 경우, 시스템 자원은, 각 실시간 프로세싱부(210a~210c)의 CPU 사용율, 메모리 사용량, 네트워크 통신량, 및 디스크 입출력 처리량 중 적어도 하나를 포함할 수 있다.According to an embodiment, the distribution order determiner 234 distributes the plurality of execution modules 211 to 218 using at least one of an average value of system resources and a usage pattern of system resources according to execution of the performance module. Determine the order. According to such an embodiment, the system resource may include at least one of CPU utilization rate, memory usage amount, network communication amount, and disk input / output throughput of each real-time processing unit 210a to 210c.

배포 수행부(236)는 배포순서 결정부(234)에 결정된 배포순서에 따라 복수개의 수행모듈(211~218)들을 복수개의 실시간 프로세싱부(210a~210c)에 분산 배포한다.The distribution execution unit 236 distributes and distributes the plurality of execution modules 211 to 218 to the plurality of real time processing units 210a to 210c according to the distribution order determined by the distribution order determiner 234.

구체적으로, 배포 수행부(236)는 최초에는 수행모듈 저장소(232)에 저장되어 있는 복수개의 수행모듈(211~218)들을 임의로 실시간 프로세싱부(210a~210c)로 배포한다. 이후, 미리 정해진 휴지기가 되면 배포 수행부(236)는 각 실시간 프로세싱부(210a~210c)에 배포된 수행모듈(211~218)들을 회수하여 수행모듈 저장소(232)에 저장하고, 휴지기가 종료되면 수행모듈 저장소(232)에 저장되어 있는 복수개의 수행모듈(211~218)들을 배포순서 결정부(234)에 의해 결정된 배포순서에 따라 해당 실시간 프로세싱부(210a~210c)에 배포한다.Specifically, the distribution execution unit 236 initially distributes the plurality of execution modules 211 to 218 stored in the execution module storage 232 to the real time processing units 210a to 210c arbitrarily. Subsequently, when the predetermined pause period, the distribution execution unit 236 collects the execution modules 211 to 218 distributed to each of the real-time processing units 210a to 210c and stores them in the execution module storage 232. The plurality of execution modules 211 to 218 stored in the execution module storage 232 are distributed to the corresponding real-time processing units 210a to 210c according to the distribution order determined by the distribution order determining unit 234.

이와 같이, 본 발명은 수행모듈 배포부(230)에 의해 복수개의 수행모듈(211~218)을 실시간 프로세싱부(210a~210c)에 효율적으로 배포할 수 있어 실시간 프로세싱부(210a~210c)들 간의 부하를 균형있게 조절할 수 있고, 이로 인해 분산병렬처리시스템(200)의 전체 성능을 향상시킬 수 있다.As described above, the present invention can efficiently distribute the plurality of execution modules 211 to 218 to the real time processing units 210a to 210c by the execution module distribution unit 230, and between the real time processing units 210a to 210c. It is possible to balance the load, thereby improving the overall performance of the distributed parallel processing system 200.

다시 도 2를 참조하면, 빅데이터 분석 시스템(300)은 분산병렬처리시스템(200)에 의해 정렬된 데이터를 빅데이터 저장 공간에 저장한다. 또한, 빅데이터 분석 시스템(300)은 데이터 유실이 되지 않도록 관리하며 히스토리컬 데이터에 대한 조회 기능을 제공한다. 이하, 도 8을 참조하여 본 발명에 따른 빅데이터 분석 시스템(300)을 구체적으로 설명한다.Referring back to FIG. 2, the big data analysis system 300 stores the data arranged by the distributed parallel processing system 200 in the big data storage space. In addition, the big data analysis system 300 manages to prevent data loss and provides an inquiry function for historical data. Hereinafter, the big data analysis system 300 according to the present invention will be described in detail with reference to FIG. 8.

도 8은 도 2에 도시된 빅데이터 분석 시스템의 구성을 보여주는 블록도이다.8 is a block diagram showing the configuration of the big data analysis system shown in FIG.

도 8에 도시된 바와 같이 빅데이터 분석 시스템(300)은 대용량 데이터 처리부(310), 빅데이터 저장부(320), 및 쿼리 처리부(330)를 포함한다.As shown in FIG. 8, the big data analysis system 300 includes a large data processor 310, a big data storage 320, and a query processor 330.

대용량 데이터 처리부(310)는 정렬 데이터와 이상감지 결과를 분산 병렬 처리하는 것으로서, 완료이벤트 수신유닛(311), 정렬데이터 페치유닛(312), 메모리 큐(313), 파일생성유닛(314), 및 이상감지 데이터 수신유닛(315)을 포함한다.The large-capacity data processing unit 310 distributes and parallelizes the alignment data and the abnormality detection result, and includes a completion event receiving unit 311, an alignment data fetch unit 312, a memory queue 313, a file generation unit 314, and An abnormality detection data receiving unit 315 is included.

완료이벤트 수신유닛(311)은 분산병렬처리시스템(200)에 포함된 완료이벤트 저장부(223)를 모니터링하여 완료 이벤트가 새롭게 저장되면 해당 완료 이벤트를 정렬데이터 페치유닛(312)으로 전달한다.The completion event receiving unit 311 monitors the completion event storage unit 223 included in the distributed parallel processing system 200 and transmits the completion event to the sort data fetch unit 312 when the completion event is newly stored.

정렬데이터 페치유닛(312)은 완료이벤트 수신유닛(311)으로부터 완료 이벤트가 전달되면, 정렬데이터 저장부(222)로부터 완료 이벤트에 해당하는 정렬 데이터를 조회하여 메모리 큐(313)에 저장한다. 일 실시예에 있어서, 정렬데이터 페치유닛(312)은 완료 이벤트에 포함된 키 정보를 이용해서 해당 완료 이벤트에 대응되는 데이터가 정렬데이터 저장부(222)의 어느 파티션 및 디렉토리에 저장되어 있는지 확인함으로써, 정렬데이터 저장부(222)에 저장된 데이터를 조회하여 메모리 큐(313)에 저장할 수 있다.When the completion event is transmitted from the completion event receiving unit 311, the alignment data fetch unit 312 inquires the alignment data corresponding to the completion event from the alignment data storage unit 222 and stores the alignment data in the memory queue 313. In one embodiment, the alignment data fetch unit 312 checks in which partition and directory of the alignment data storage unit 222 the data corresponding to the completion event is stored using key information included in the completion event. The data stored in the alignment data storage unit 222 may be inquired and stored in the memory queue 313.

메모리 큐(313)는 데이터를 빅데이터 저장부(320)에 저장하기 전에 메모리 상에 임시로 데이터를 보관한다. 일 실시예에 있어서, 데이터 양이 많지 않고 유실 방지가 필요한 경우 메모리 큐(313)를 파일 기반으로 구현할 수도 있다.The memory queue 313 temporarily stores the data in the memory before storing the data in the big data storage 320. In one embodiment, when the amount of data is not large and loss prevention is required, the memory queue 313 may be implemented on a file basis.

파일생성유닛(314)은 메모리 큐(313)에 저장된 데이터를 물리적인 파일로 생성하여 빅데이터 저장부(320)에 저장한다. 일 실시예에 있어서, 파일생성유닛(314)은 파일을 빅데이터 저장부(320)에 저장할 때, 파일포맷을 변경하거나 압축할 수 있다.The file generation unit 314 generates data stored in the memory queue 313 as a physical file and stores the data in the big data storage unit 320. In an embodiment, the file generation unit 314 may change or compress the file format when storing the file in the big data storage unit 320.

이상감지 데이터 수신유닛(315)은 분산병렬처리시스템(200)에 포함된 이상감지결과 저장부(224)를 모니터링하여 새로운 이상감지 결과가 저장되면 이를 메모리 큐(313)에 저장한다.The abnormality detection data receiving unit 315 monitors the abnormality detection result storage unit 224 included in the distributed parallel processing system 200 and stores the new abnormality detection result in the memory queue 313.

빅데이터 저장부(320)는 파일 생성유닛(314)에 의해 생성된 파일을 저장한다. 일 실시예에 있어서, 빅데이터 저장부(320)는 분산파일시스템(Distributed File System) 기반으로 구현될 수 있다. 예컨대, 빅데이터 저장부(320)는 하둡(Hadoop) 기반의 분산 파일 시스템으로 구현될 수 있다.The big data storage unit 320 stores the file generated by the file generation unit 314. In one embodiment, the big data storage 320 may be implemented based on a distributed file system. For example, the big data storage 320 may be implemented as a Hadoop based distributed file system.

이러한 실시예에 따르는 경우, 빅데이터 저장부(320)는 마스터 노드(320a) 및 데이터 노드(320b)로 구성된다. 마스터 노드(320a)는 대용량 데이터 처리 장치(300)에 의해 생성된 많은 양의 파일을 데이터 노드들(320b)에 저장하고, 데이터 노드(320b)에 저장된 데이터들의 조회를 위한 작업(Job)을 생성 및 관리하며, 메타 데이터(Metadata)를 관리한다.According to this embodiment, the big data storage 320 is composed of a master node 320a and a data node 320b. The master node 320a stores a large amount of files generated by the mass data processing apparatus 300 in the data nodes 320b and generates a job for querying the data stored in the data node 320b. And manages and manages metadata.

여기서, 작업(Job)이란 데이터 노드(320b)에 저장된 데이터를 조회하기 위해 쿼리 처리부(330)로부터 수신되는 쿼리를 처리하기 위한 단위를 의미한다. 예를 들어, 데이터 노드(320b)에 기록된 1개의 테이블에 대해 데이터를 조회하는 쿼리가 실행된 경우, 해당 테이블의 데이터를 조회한 결과 대상이 되는 데이터 노드(320b)가 10개 선택되면, 10개의 데이터 노드(320b)에 대해 각 데이터 노드(320b) 별로 데이터를 조회하여 가져오는 작업(Job)과 데이터 노드(320b) 별로 획득된 데이터를 통합하는 작업(Job)이 실행되게 된다. Here, the job Job refers to a unit for processing a query received from the query processing unit 330 to inquire data stored in the data node 320b. For example, when a query for querying data is executed for one table recorded in the data node 320b, if ten data nodes 320b are selected as the result of querying the data of the table, 10 The job Job which retrieves and retrieves data for each of the data nodes 320b and the job Job that integrates the data obtained for each data node 320b are executed with respect to the data nodes 320b.

메타 데이터(Metadata)에는 데이터 노드(320b)에 저장되는 파일의 위치, 파일명, 파일이 저장되는 블록 ID, 및 서버의 저장위치 등이 포함된다. 예컨대, 파일 생성유닛(314)에 파일이 생성되면 파일의 위치와 파일명이 메타데이터에 저장되고, 해당 파일이 블록 사이즈보다 커서 5개의 블록으로 나누어 각기 다른 3대의 서버에 저장되는 경우, 15개의 블록 ID와 각 서버의 저장위치가 메타데이터에 추가로 저장되게 된다.Metadata includes a location of a file stored in the data node 320b, a file name, a block ID where the file is stored, a storage location of the server, and the like. For example, if a file is generated in the file generating unit 314, the file's location and file name are stored in metadata, and if the file is larger than the block size and divided into five blocks, the file is stored in three different servers. The ID and storage location of each server will be stored in addition to the metadata.

이러한 메타 데이터는 데이터 노드(320b)에 저장된 데이터의 조회에 대한 작업(Job) 실행시 각 작업(Job)에 대한 분배 및 특정 파일의 데이터를 로딩할 때, 데이터의 위치 정보로 활용된다.Such metadata is used as location information of data when distributing each job and loading data of a specific file when executing a job for inquiry of data stored in the data node 320b.

데이터 노드(320b)에는 대용량 데이터 처리 장치(300)에 의해 생성된 많은 양의 파일이 저장된다. 일 실시예에 있어서, 데이터 노드(320b)는 복수개로 구현될 수 있고, 각각의 데이터 노드(320b)는 히스토리컬 데이터 저장부(322) 및 모델 저장부(324)를 포함한다. The data node 320b stores a large amount of files generated by the mass data processing apparatus 300. In one embodiment, a plurality of data nodes 320b may be implemented, and each data node 320b includes a historical data storage 322 and a model storage 324.

각 데이터 노드(320b)에 포함된 히스토리컬 데이터 저장부(322)에는 파일 생성유닛(314)에 의해 생성된 파일뿐만 아니라 데이터 수집 장치(1)에 의해 실시간으로 수집된 대용량의 수집 데이터가 모두 저장된다. 일 실시예에 있어서, 파일 생성유닛(314)에 의해 생성된 파일은 별도의 관계형 데이터베이스(Relational DataBase; RDB)에 저장될 수도 있다.The historical data storage unit 322 included in each data node 320b stores not only the file generated by the file generating unit 314 but also a large amount of collected data collected in real time by the data collecting device 1. do. In one embodiment, the file generated by the file generation unit 314 may be stored in a separate relational database (RDB).

모델 저장부(324)에는 서비스 시스템(400)을 통해 재료나 제품에 대한 품질을 판정하기 위해 필요한 품질판정 모델과 이상예측 모델이 저장되어 있다.The model storage unit 324 stores a quality judgment model and an abnormality prediction model necessary for determining the quality of a material or a product through the service system 400.

쿼리 처리부(330)는 빅데이터 저장소(320)에 저장된 데이터를 조회하여 데이터를 리턴해주는 구성으로, 쿼리수신유닛(332), 쿼리실행유닛(336), 및 쿼리결과전송유닛(338)을 포함한다. 쿼리 처리부(330)는 쿼리 스케줄링유닛(334)을 더 포함할 수 있다.The query processing unit 330 is configured to query the data stored in the big data storage 320 and return data. The query processing unit 330 includes a query receiving unit 332, a query execution unit 336, and a query result transmission unit 338. . The query processor 330 may further include a query scheduling unit 334.

구체적으로, 쿼리수신유닛(332)은 사용자로부터 쿼리를 수신하고 수신된 쿼리구문을 해석한다.Specifically, the query receiving unit 332 receives a query from the user and interprets the received query syntax.

쿼리실행유닛(336)은 쿼리 수신유닛(322)을 통해 수신된 쿼리를 빅 데이터 저장소(320)로 전달함으로써 쿼리가 실행되도록 하고, 빅 데이터 저장소(320)로부터 쿼리 실행 결과를 획득한다.The query execution unit 336 transmits the query received through the query receiving unit 322 to the big data store 320 to execute the query, and obtains a query execution result from the big data store 320.

쿼리결과전송유닛(338)은 쿼리수행 결과 빅 데이터 저장소(320)로부터 획득되는 데이터를 해당 쿼리를 요청한 사용자에게 전달한다.The query result transmission unit 338 delivers the data obtained from the query execution result big data store 320 to the user who requested the query.

한편, 쿼리 스케줄링유닛(334)은 쿼리수신유닛(332)을 통해 수신된 쿼리가 복수개의 하부 쿼리들로 구성되어 있는 경우, 수신된 쿼리를 각 하부 쿼리로 분류하여 쿼리 실행유닛(336)으로 전달한다.Meanwhile, when the query received through the query receiving unit 332 includes a plurality of subqueries, the query scheduling unit 334 classifies the received query into subqueries and delivers the received query to the query execution unit 336. do.

다시 도 1을 참조하면, 서비스 시스템(400)은 표준화된 처리 프로세스와 업무 기준을 서비스로 재활용하는 구조로, 비즈니스 노하우를 리포지터리(Repository)화하여 기능 단위로 정의된 서비스 간 연결을 통해 계획-실행-제어 간의 연계를 용이하게 하며, 재료나 제품에 대한 품질판정 모델 또는 이상 예측 모델을 포함하는 분석모델을 호출하고 실행하여 분석 결과를 진행한다. Referring back to FIG. 1, the service system 400 is a structure in which standardized processing processes and business standards are recycled as services, and plans-execution is performed through connection between services defined as functional units by repositories of business know-how. -Facilitate the linkage between controls and invoke analysis models that include quality judgment models or anomaly prediction models for materials or products, and proceed with the analysis results.

분석모델은 도 8에 도시된 모델 저장부(324)에 미리 저장되어 있으므로 서비스 시스템(400)은 분석모델에 대한 실행 호출 이벤트가 입력되면 분석모델에 필요한 데이터를 모델 저장부(324)로부터 추출하여 그 결과를 제공한다.Since the analysis model is previously stored in the model storage unit 324 illustrated in FIG. 8, when the execution call event for the analysis model is input, the service system 400 extracts data necessary for the analysis model from the model storage unit 324. Provide results.

즉, 서비스 시스템(400)은 분산병렬처리시스템(200)에 의해 처리된 정렬 데이터를 직접 수신하여 분석하거나, 정렬 데이터가 빅데이터 분석 시스템(300)의 빅데이터 저장부(320)에 저장된 경우 빅데이터 저장부(320)를 참조하여 해당 데이터를 분석할 수 있다.That is, the service system 400 directly receives and analyzes the alignment data processed by the distributed parallel processing system 200, or when the alignment data is stored in the big data storage 320 of the big data analysis system 300, The data may be analyzed with reference to the data storage 320.

관리시스템(500)은 스마트팩토리 플랫폼(1000)에 속한 개별 구성에 대한 관리 및 UI/UX의 관리 데이터 수집을 위한 구성들에 대한 설정파일 관리, 각 구성의 개별 모니터링, 미리 설정된 설정값들 간의 연계정보 관리, 전체 시스템의 처리 성능 및 통합 모니터링 정보를 제공한다.The management system 500 manages configuration files for management of individual configurations belonging to the smart factory platform 1000 and collection of management data of UI / UX, individually monitors each configuration, and links between preset settings. Provides information management, overall system processing performance and integrated monitoring information.

보안시스템(600)은 사용자에 대한 인증, 인가, 접근제어를 수행하며 데이터 자체에 대한 보안 및 전송 통로에 대한 보안을 관리한다.Security system 600 performs authentication, authorization, access control for the user and manages the security of the data itself and the security of the transmission path.

어플리케이션 시스템(3)은 스마트팩토리 플랫폼(1000)을 기반으로 사용자에게 필요한 화면과 데이터를 가공하여 제공한다.The application system 3 processes and provides screens and data necessary for the user based on the smart factory platform 1000.

본 발명이 속하는 기술분야의 당업자는 상술한 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다.Those skilled in the art to which the present invention pertains will understand that the above-described present invention can be implemented in other specific forms without changing the technical spirit or essential features.

그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.Therefore, it is to be understood that the embodiments described above are exemplary in all respects and not restrictive. The scope of the present invention is shown by the following claims rather than the detailed description, and all changes or modifications derived from the meaning and scope of the claims and their equivalent concepts should be construed as being included in the scope of the present invention. do.

1: 데이터 수집 장치 2: 네트워크
3: 어플리케이션 시스템 1000: 스마트팩토리 플랫폼
100: 인터페이스 시스템 200: 분산병렬처리시스템
210: 실시간 프로세싱부 220: 메모리부
230: 수행모듈 배포부 300: 빅데이터 분석 시스템
1: data acquisition device 2: network
3: Application System 1000: Smart Factory Platform
100: interface system 200: distributed parallel processing system
210: real time processing unit 220: memory unit
230: performance module distribution unit 300: big data analysis system

Claims (24)

복수의 공정이 연결되는 연속공정에서 발생된 데이터를 처리하기 위한 연속공정용 데이터를 실시간으로 처리하는 분산병렬 처리시스템에 있어서,
상기 연속공정으로부터 수집된 수집 데이터의 추적을 위해 상기 수집 데이터가 발생된 공정의 공정 식별자를 매핑하고, 서로 다른 공정에서 수집된 수집 데이터간의 연계 처리를 위해 상기 매핑된 매핑 데이터를 정렬하는 복수개의 실시간 프로세싱부;
상기 정렬된 매핑 데이터가 분산 저장되는 복수개의 메모리부; 및
각 실시간 프로세싱부의 부하량에 따라 상기 공정 식별자 매핑 및 상기 매핑 데이터 정렬을 상기 복수개의 실시간 프로세싱부에서 분산 수행시키는 수행모듈 배포부를 포함하고,
상기 복수개의 실시간 프로세싱부는 매핑데이터들을 상기 공정에서 가공된 재료 단위로 정렬하는 단위정렬을 수행하는 데이터 정렬 수행모듈을 포함하고,
상기 데이터 정렬 수행모듈은 상기 공정에서 가공된 재료의 길이, 상기 재료의 이동 속도, 및 상기 수집 데이터의 수집 주기 중 적어도 하나를 이용하여 상기 수집 데이터가 수집된 수집 위치를 결정하고, 상기 수집 위치를 기준으로 상기 매핑 데이터를 단위정렬하는 것을 특징으로 하는 연속공정용 데이터를 실시간으로 처리하는 분산병렬 처리시스템.
In a distributed parallel processing system that processes data for continuous processes in real time for processing data generated in a continuous process in which a plurality of processes are connected,
A plurality of real-time mapping the process identifier of the process in which the collection data is generated for tracking the collected data collected from the continuous process, and sorting the mapped mapping data for linkage processing between the collected data collected in different processes A processing unit;
A plurality of memory units in which the sorted mapping data are distributed and stored; And
And a performing module distribution unit configured to distribute the process identifier mapping and the mapping data in the plurality of real time processing units according to the load of each real time processing unit.
The plurality of real-time processing unit includes a data alignment performing module for performing a unit alignment to align the mapping data by the material unit processed in the process,
The data sorting performing module may determine a collection position at which the collection data is collected using at least one of a length of the material processed in the process, a moving speed of the material, and a collection period of the collection data, and determine the collection position. Distributed parallel processing system for real-time processing the data for the continuous process, characterized in that the mapping data is arranged in a unit.
제1항에 있어서,
상기 공정 식별자 매핑은 상기 공정을 수행하는 각 설비의 설비 식별자 매핑 및 상기 설비를 통해 가공된 재료의 재료 식별자 매핑 중 적어도 하나의 매핑인 것을 특징으로 하는 연속공정용 데이터를 실시간으로 처리하는 분산병렬 처리시스템.
The method of claim 1,
The process identifier mapping is a distributed parallel process for real-time processing of continuous process data, characterized in that at least one mapping between the equipment identifier mapping of each equipment performing the process and the material identifier mapping of the material processed through the equipment. system.
제1항에 있어서,
상기 수행모듈 배포부는,
상기 각 실시간 프로세싱부에 배포된 수행모듈의 실행에 따른 시스템 자원의 평균값 및 시스템 자원의 이용 패턴 중 적어도 하나를 이용하여 상기 각 실시간 프로세싱부의 부하량이 조절도록 상기 공정 식별자 매핑 및 상기 매핑 데이터 정렬을 분산시키는 것을 특징으로 하는 연속공정용 데이터를 실시간으로 처리하는 분산병렬 처리시스템.
The method of claim 1,
The performing module distribution unit,
Distributing the process identifier mapping and the mapping data arrangement to adjust the load of each real-time processing unit by using at least one of an average value of system resources and a usage pattern of system resources according to execution of the execution module distributed to each real-time processing unit. A distributed parallel processing system that processes data for continuous processes in real time.
제3항에 있어서,
상기 시스템 자원은, 상기 각 실시간 프로세싱부의 CPU 사용율, 메모리 사용량, 네트워크 통신량, 및 디스크 입출력 처리량 중 적어도 하나를 포함하는 것을 특징으로 하는 연속공정용 데이터를 실시간으로 처리하는 분산병렬 처리시스템.
The method of claim 3,
The system resource may include at least one of CPU usage, memory usage, network communication amount, and disk input / output throughput of each real-time processing unit.
제2항에 있어서,
상기 복수개의 실시간 프로세싱부는 상기 설비 식별자를 상기 수집 데이터에 매핑하는 설비매핑 수행모듈 및 상기 설비 식별자가 매핑된 데이터에 재료 식별자를 매핑하는 재료매핑 수행모듈을 포함하는 것을 특징으로 하는 연속공정용 데이터를 실시간으로 처리하는 분산병렬 처리시스템.
The method of claim 2,
The plurality of real-time processing unit includes a facility mapping module for mapping the equipment identifier to the collection data and a material mapping module for mapping the material identifier to the data mapped to the equipment identifier; Distributed parallel processing system that processes in real time.
제5항에 있어서,
상기 설비매핑 수행모듈은 상기 수집 데이터가 수집된 시간 및 상기 수집 데이터를 수집한 센서의 속성 정보에 기초하여 추출된 상기 설비 식별자를 상기 수집 데이터에 매핑하는 것을 특징으로 연속공정용 데이터를 실시간으로 처리하는 분산병렬 처리시스템.
The method of claim 5,
The facility mapping performing module processes the continuous process data in real time, wherein the facility mapping function maps the extracted facility identifier to the collected data based on a time when the collected data is collected and attribute information of a sensor that collects the collected data. Distributed parallel processing system.
제5항에 있어서,
상기 재료매핑 수행모듈은 각 공정 별 작업 지시 정보에 기초하여 추출된 상기 재료 식별자를 상기 수집 데이터에 매핑하는 것을 특징으로 하는 연속공정용 데이터를 실시간으로 처리하는 분산병렬 처리시스템.
The method of claim 5,
The material mapping performing module is a distributed parallel processing system for real-time processing the continuous process data, characterized in that for mapping the material identifier extracted based on the work instruction information for each process to the collection data.
삭제delete 제1항에 있어서,
상기 데이터 정렬 수행모듈은 상기 매핑 데이터들 중 동일한 재료 식별자가 매핑되어 있는 매핑 데이터들을 수집 시간에 따라 순차적으로 정렬하는 시간 정렬을 추가로 수행하는 것을 특징으로 하는 연속공정용 데이터를 실시간으로 처리하는 분산병렬 처리시스템.
The method of claim 1,
The data sorting performing module further performs time sorting to sequentially sort mapping data mapped to the same material identifier among the mapping data according to a collection time. Parallel processing system.
삭제delete 삭제delete 복수의 공정이 연결되는 연속공정에서 발생된 데이터를 처리하기 위한 연속공정용 데이터를 실시간으로 처리하는 분산병렬 처리시스템에 있어서,
상기 연속공정으로부터 수집된 수집 데이터의 추적을 위해 상기 수집 데이터가 발생된 공정의 공정 식별자를 매핑하고, 서로 다른 공정에서 수집된 수집 데이터간의 연계 처리를 위해 상기 매핑된 매핑 데이터를 정렬하는 복수개의 실시간 프로세싱부;
상기 정렬된 매핑 데이터가 분산 저장되는 복수개의 메모리부; 및
각 실시간 프로세싱부의 부하량에 따라 상기 공정 식별자 매핑 및 상기 매핑 데이터 정렬을 상기 복수개의 실시간 프로세싱부에서 분산 수행시키는 수행모듈 배포부를 포함하고,
상기 복수개의 실시간 프로세싱부는 매핑 데이터들을 상기 공정에서 가공된 재료 단위로 정렬하는 단위정렬을 수행하는 데이터 정렬 수행모듈을 포함하고,
상기 데이터 정렬 수행모듈은
상기 매핑 데이터 및 기준 데이터들을 상기 공정에서 가공된 재료 상에서 일 방향으로 단위정렬하고,
상기 기준 데이터들은 상기 수집 데이터의 수집 위치 및 상기 재료의 기준점을 기초로 결정되는 것을 특징으로 하는 연속공정용 데이터를 실시간으로 처리하는 분산병렬 처리시스템.
In a distributed parallel processing system that processes data for continuous processes in real time for processing data generated in a continuous process in which a plurality of processes are connected,
A plurality of real-time mapping the process identifier of the process in which the collection data is generated for tracking the collected data collected from the continuous process, and sorting the mapped mapping data for linkage processing between the collected data collected in different processes A processing unit;
A plurality of memory units in which the sorted mapping data are distributed and stored; And
And a performing module distribution unit configured to distribute the process identifier mapping and the mapping data in the plurality of real time processing units according to the load of each real time processing unit.
The plurality of real-time processing unit includes a data alignment performing module for performing a unit alignment to align the mapping data by the material unit processed in the process,
The data sorting performing module
Unit-align the mapping data and the reference data in one direction on the material processed in the process,
The reference data are distributed and parallel processing system for real-time processing the data for the continuous process, characterized in that determined based on the collection point of the collection data and the reference point of the material.
복수의 공정이 연결되는 연속공정에서 발생된 데이터를 처리하기 위한 연속공정용 데이터를 실시간으로 처리하는 분산병렬 처리시스템에 있어서,
상기 연속공정으로부터 수집된 수집 데이터의 추적을 위해 상기 수집 데이터가 발생된 공정의 공정 식별자를 매핑하고, 서로 다른 공정에서 수집된 수집 데이터간의 연계 처리를 위해 상기 매핑된 매핑 데이터를 정렬하는 복수개의 실시간 프로세싱부;
상기 정렬된 매핑 데이터가 분산 저장되는 복수개의 메모리부; 및
각 실시간 프로세싱부의 부하량에 따라 상기 공정 식별자 매핑 및 상기 매핑 데이터 정렬을 상기 복수개의 실시간 프로세싱부에서 분산 수행시키는 수행모듈 배포부를 포함하고
상기 복수개의 실시간 프로세싱부는 매핑 데이터들을 상기 공정에서 가공된 재료 단위로 정렬하는 단위정렬을 수행하는 데이터 정렬 수행모듈을 포함하고,
상기 데이터 정렬 수행모듈은,
상기 공정에서 가공된 재료의 길이, 상기 재료의 이동 속도, 및 상기 수집 데이터의 수집 주기 중 적어도 하나를 이용하여 상기 수집 데이터가 수집된 수집 위치를 결정하고, 상기 재료 상에서 미리 정해진 간격으로 설정된 기준점들과 상기 각 수집 위치간의 거리를 기초로 산출된 상기 각 기준점들에서의 기준 데이터를 기준으로 상기 매핑 데이터를 단위정렬하는 것을 특징으로 하는 연속공정용 데이터를 실시간으로 처리하는 분산병렬 처리시스템.
In a distributed parallel processing system that processes data for continuous processes in real time for processing data generated in a continuous process in which a plurality of processes are connected,
A plurality of real-time mapping the process identifier of the process in which the collection data is generated for tracking the collected data collected from the continuous process, and sorting the mapped mapping data for linkage processing between the collected data collected in different processes A processing unit;
A plurality of memory units in which the sorted mapping data are distributed and stored; And
And a performing module distribution unit configured to distribute the process identifier mapping and the mapping data in the plurality of real-time processing units according to the load of each real-time processing unit.
The plurality of real-time processing unit includes a data alignment performing module for performing a unit alignment to align the mapping data by the material unit processed in the process,
The data sorting performing module,
At least one of a length of a material processed in the process, a moving speed of the material, and a collection period of the collection data is used to determine a collection position at which the collection data is collected and set reference points set at predetermined intervals on the material. And aligning the mapping data on the basis of the reference data at the respective reference points calculated based on the distance between the respective collection positions.
제2항에 있어서,
상기 복수개의 실시간 프로세싱부는 수집 데이터의 누락이 발생되면, 누락된 수집 데이터를 생성하는 데이터 보정 수행모듈을 포함하는 것을 특징으로 하는 연속공정용 데이터를 실시간으로 처리하는 분산병렬 처리시스템.
The method of claim 2,
The plurality of real-time processing unit is a distributed parallel processing system for real-time processing the data for the continuous process, characterized in that it comprises a data correction performing module for generating missing collection data, if the collection data is missing.
제14항에 있어서,
상기 데이터 보정 수행 모듈은, 특정 영역의 수집 데이터가 누락되면 상기 누락이 발생된 영역에 가장 인접한 전방 영역의 수집 데이터 또는 후방 영역의 수집 데이터를 상기 누락이 발생된 공간의 수집 데이터로 생성하는 것을 특징으로 하는 연속공정용 데이터를 실시간으로 처리하는 분산병렬 처리시스템.
The method of claim 14,
The data correction performing module, when the collection data of a specific region is missing, generates the collection data of the front region or the rear region closest to the region where the omission occurred as the collection data of the space where the omission occurred. Distributed parallel processing system that processes data for continuous processes in real time.
제14항에 있어서,
상기 데이터 보정 수행 모듈은, 특정 시점의 수집 데이터가 누락되면 상기 누락이 발생된 시점의 직전 또는 직후 시점의 수집 데이터를 상기 누락이 발생된 시점의 수집 데이터로 생성하는 것을 특징으로 하는 연속공정용 데이터를 실시간으로 처리하는 분산병렬 처리시스템.
The method of claim 14,
The data correction performing module, when the collection data of a specific time point is missing, continuous process data, characterized in that the collection data of the time point immediately before or immediately after the omission occurs as the collection data of the time when the omission occurs Distributed parallel processing system that processes in real time.
제12항에 있어서,
상기 매핑 데이터를 시간에 따라 정렬한 시간정렬 데이터, 상기 기준점들에서의 기준 데이터들, 및 상기 매핑 데이터를 상기 재료의 일 방향으로 순차적으로 정렬한 단위정렬 데이터는 상기 복수개의 메모리부에 분리 저장되는 것을 특징으로 하는 하는 연속공정용 데이터를 실시간으로 처리하는 분산병렬 처리시스템.
The method of claim 12,
The time alignment data in which the mapping data is aligned in time, the reference data at the reference points, and the unit alignment data in which the mapping data are sequentially arranged in one direction of the material are separately stored in the plurality of memory units. Distributed parallel processing system for processing data for continuous processing in real time, characterized in that.
복수의 공정이 연결되는 연속공정에서 발생된 데이터를 처리하기 위한 연속공정용 데이터를 실시간으로 처리하는 분산병렬 처리시스템에 있어서,
상기 연속공정으로부터 수집된 수집 데이터의 추적을 위해 상기 수집 데이터가 발생된 공정의 공정 식별자를 매핑하고, 서로 다른 공정에서 수집된 수집 데이터간의 연계 처리를 위해 상기 매핑된 매핑 데이터를 정렬하는 복수개의 실시간 프로세싱부;
상기 정렬된 매핑 데이터가 분산 저장되는 복수개의 메모리부; 및
각 실시간 프로세싱부의 부하량에 따라 상기 공정 식별자 매핑 및 상기 매핑 데이터 정렬을 상기 복수개의 실시간 프로세싱부에서 분산 수행시키는 수행모듈 배포부를 포함하고
상기 복수개의 실시간 프로세싱부는 상기 매핑 데이터 및 기준 데이터들을 상기 공정에서 가공된 재료 상에서 일 방향으로 정렬하고,
상기 기준데이터들은 상기 수집 데이터의 수집 위치 및 상기 재료의 기준점을 기초로 결정되며,
상기 재료 상에서의 일 방향은, 상기 재료의 길이 방향, 상기 재료의 폭 방향, 및 상기 재료의 두께 방향 중 적어도 하나인 것을 특징으로 하는 하는 연속공정용 데이터를 실시간으로 처리하는 분산병렬 처리시스템.
In a distributed parallel processing system that processes data for continuous processes in real time for processing data generated in a continuous process in which a plurality of processes are connected,
A plurality of real-time mapping the process identifier of the process in which the collection data is generated for tracking the collected data collected from the continuous process, and sorting the mapped mapping data for linkage processing between the collected data collected in different processes A processing unit;
A plurality of memory units in which the sorted mapping data are distributed and stored; And
And a performing module distribution unit configured to distribute the process identifier mapping and the mapping data in the plurality of real-time processing units according to the load of each real-time processing unit.
The plurality of real-time processing unit aligns the mapping data and the reference data in one direction on the material processed in the process,
The reference data are determined based on the collection position of the collection data and the reference point of the material,
One direction on the material is at least one of the longitudinal direction of the material, the width direction of the material, and the thickness direction of the material, distributed parallel processing system for processing data for the continuous process in real time.
제12항에 있어서,
제1공정에서 가공된 재료에 대한 제1기준 데이터 및 제2공정에서 가공된 재료에 대한 제2기준 데이터는, 상기 제1기준 데이터에 포함된 제1재료 식별자 및 상기 제2기준 데이터에 포함된 제2재료 식별자에 기초하여 연계되는 것을 특징으로 하는 하는 연속공정용 데이터를 실시간으로 처리하는 분산병렬 처리시스템.
The method of claim 12,
The first reference data for the material processed in the first step and the second reference data for the material processed in the second step are included in the first material identifier and the second reference data included in the first reference data. A distributed parallel processing system for processing data for continuous processing in real time, characterized in that associated with the second material identifier.
제2항에 있어서,
상기 복수개의 실시간 프로세싱부는 상기 설비 식별자에 따라 미리 설정된 설비이상 판단기준과 상기 설비 식별자가 매핑된 매핑 데이터에 포함된 측정값을 비교하여 상기 설비의 이상여부를 판단하는 설비이상 감지 수행모듈을 포함하고, 상기 설비의 이상여부 판단은 상기 복수개의 실시간 프로세싱부에서 분산 수행되는 것을 특징으로 하는 연속공정용 데이터를 실시간으로 처리하는 분산병렬 처리시스템.
The method of claim 2,
The plurality of real-time processing unit includes a facility abnormality detection performing module for determining whether or not abnormality of the facility by comparing a predetermined value of the facility failure determination criteria according to the facility identifier and the measurement value included in the mapping data mapped to the facility identifier; Determination of abnormality of the facility is distributed and parallel processing system for real-time processing of the continuous process data, characterized in that the plurality of real-time processing unit is distributed.
제2항에 있어서,
상기 복수개의 실시간 프로세싱부는 상기 재료 식별자에 따라 미리 설정된 품질이상 판단기준과 상기 재료 식별자가 매핑된 매핑 데이터를 비교하여 재료의 품질이상여부를 판단하는 품질이상 감지 수행모듈을 포함하고, 상기 재료의 품질이상여부 판단은 상기 복수개의 실시간 프로세싱부에서 분산 수행되는 것을 특징으로 하는 연속공정용 데이터를 실시간으로 처리하는 분산병렬 처리시스템.
The method of claim 2,
The plurality of real-time processing unit includes a quality abnormality detection performing module for determining whether or not the quality abnormality of the material by comparing the quality abnormality determination criteria set in accordance with the material identifier and the mapping data mapped to the material identifier, the quality of the material Determination of abnormality is a distributed parallel processing system for processing data for continuous processing in real time, characterized in that the plurality of real-time processing is distributed in a real time.
복수의 공정이 연결되는 연속공정에서 발생된 데이터를 처리하기 위한 연속공정용 데이터를 실시간으로 처리하는 분산병렬 처리시스템에 있어서,
상기 연속공정으로부터 수집된 수집 데이터의 추적을 위해 상기 수집 데이터가 발생된 공정의 공정 식별자를 매핑하고, 서로 다른 공정에서 수집된 수집 데이터간의 연계 처리를 위해 상기 매핑된 매핑 데이터를 정렬하는 복수개의 실시간 프로세싱부;
상기 정렬된 매핑 데이터가 분산 저장되는 복수개의 메모리부; 및
각 실시간 프로세싱부의 부하량에 따라 상기 공정 식별자 매핑 및 상기 매핑 데이터 정렬을 상기 복수개의 실시간 프로세싱부에서 분산 수행시키는 수행모듈 배포부를 포함하고,
상기 복수개의 메모리부는, 마스터 인스턴스 및 슬레이브 인스턴스를 포함하는 제1 메모리부 및 제2 메모리부를 포함하고,
상기 제1 메모리부의 마스터 인스턴스에 상기 정렬된 매핑 데이터가 저장되면 동일한 데이터가 상기 제2 메모리부의 슬레이브 인스턴스에도 복제되고, 상기 제2 메모리부의 마스터 인스턴스에 상기 정렬된 매핑 데이터가 저장되면 동일한 데이터가 상기 제1 메모리부의 슬레이브 인스턴스에 복제되며,
각 메모리부의 마스터 인스턴스에 오류가 발생되면 나머지 메모리부의 슬레이브 인스턴스들 중 어느 하나가 마스터 인스턴스로 동작하는 것을 특징으로 하는 연속공정용 데이터를 실시간으로 처리하는 분산병렬 처리시스템.
In a distributed parallel processing system that processes data for continuous processes in real time for processing data generated in a continuous process in which a plurality of processes are connected,
A plurality of real-time mapping the process identifier of the process in which the collection data is generated for tracking the collected data collected from the continuous process, and sorting the mapped mapping data for linkage processing between the collected data collected in different processes A processing unit;
A plurality of memory units in which the sorted mapping data are distributed and stored; And
And a performing module distribution unit configured to distribute the process identifier mapping and the mapping data in the plurality of real time processing units according to the load of each real time processing unit.
The plurality of memory units include a first memory unit and a second memory unit including a master instance and a slave instance,
If the sorted mapping data is stored in the master instance of the first memory unit, the same data is replicated to the slave instance of the second memory unit. If the sorted mapping data is stored in the master instance of the second memory unit, the same data is stored. Is replicated to the slave instance of the first memory unit,
If an error occurs in the master instance of each memory unit, one of the slave instances of the remaining memory unit is a distributed parallel processing system for processing data for the continuous process in real time characterized in that it operates as a master instance.
복수의 공정이 연결되는 연속공정에서 발생된 데이터를 처리하기 위한 연속공정용 데이터를 실시간으로 처리하는 분산병렬 처리시스템에 있어서,
상기 연속공정으로부터 수집된 수집 데이터의 추적을 위해 상기 수집 데이터가 발생된 공정의 공정 식별자를 매핑하고, 서로 다른 공정에서 수집된 수집 데이터간의 연계 처리를 위해 상기 매핑된 매핑 데이터를 정렬하는 복수개의 실시간 프로세싱부;
상기 정렬된 매핑 데이터가 분산 저장되는 복수개의 메모리부; 및
각 실시간 프로세싱부의 부하량에 따라 상기 공정 식별자 매핑 및 상기 매핑 데이터 정렬을 상기 복수개의 실시간 프로세싱부에서 분산 수행시키는 수행모듈 배포부를 포함하고,
상기 복수개의 메모리부는, 마스터 인스턴스, 제1 슬레이브 인스턴스, 및 제2 슬레이브 인스턴스를 포함하는 제1 메모리부, 제2 메모리부, 및 제3메모리부를 포함하고,
상기 제1 메모리부의 마스터 인스턴스에 상기 정렬된 매핑 데이터가 저장되면 동일한 데이터가 상기 제2 메모리부 및 제3 메모리부의 제1 슬레이브 인스턴스에도 복제되고, 상기 제2 메모리부의 마스터 인스턴스에 상기 정렬된 매핑 데이터가 저장되면 동일한 데이터가 상기 제1 메모리부의 제1 슬레이브 인스턴스 및 제3 메모리부의 제2 슬레이브 인스턴스에도 복제되며, 상기 제3 메모리부의 마스터 인스턴스에 상기 정렬된 매핑 데이터가 저장되면 동일한 데이터가 상기 제1 메모리부의 제2 슬레이브 인스턴스 및 제2 메모리부의 제2 슬레이브 인스턴스에도 복제되고,
각 메모리부의 마스터 인스턴스에 오류가 발생되면 나머지 메모리부의 슬레이브 인스턴스들 중 어느 하나가 마스터 인스턴스로 동작하는 것을 특징으로 하는 연속공정용 데이터를 실시간으로 처리하는 분산병렬 처리시스템.
In a distributed parallel processing system that processes data for continuous processes in real time for processing data generated in a continuous process in which a plurality of processes are connected,
A plurality of real-time for mapping the process identifier of the process in which the collection data is generated for tracking the collected data collected from the continuous process, and sorting the mapped mapping data for linkage processing between the collected data collected in different processes A processing unit;
A plurality of memory units in which the sorted mapping data are distributed and stored; And
And a performing module distribution unit configured to distribute the process identifier mapping and the mapping data in the plurality of real time processing units according to the load of each real time processing unit.
The plurality of memory units includes a first memory unit, a second memory unit, and a third memory unit including a master instance, a first slave instance, and a second slave instance.
When the sorted mapping data is stored in the master instance of the first memory unit, the same data is copied to the first slave instance of the second memory unit and the third memory unit, and the mapped data arranged in the master instance of the second memory unit. Is stored, the same data is duplicated in the first slave instance of the first memory unit and the second slave instance of the third memory unit, and the same data is stored in the first instance of the third memory unit. Also replicated to the second slave instance of the memory portion and the second slave instance of the second memory portion,
If an error occurs in the master instance of each memory unit, one of the slave instances of the remaining memory unit is a distributed parallel processing system for processing data for the continuous process in real time characterized in that it operates as a master instance.
제23항에 있어서,
상기 마스터 인스턴스, 상기 제1 슬레이브 인스턴스, 및 상기 제2 슬레이브 인스턴스는 단일 쓰레드(Single Thread) 형태로 구성되고,
상기 복수개의 메모리부는 클러스터링되어 있는 것을 특징으로 하는 연속공정용 데이터를 실시간으로 처리하는 분산병렬 처리시스템.
The method of claim 23, wherein
The master instance, the first slave instance, and the second slave instance are configured in the form of a single thread,
And a plurality of memory units are clustered. The distributed parallel processing system for processing data for a continuous process in real time.
KR1020190040965A 2019-04-08 2019-04-08 Distributed Parallel Processing System for Processing Data Of Continuous Process In Real Time KR102032680B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190040965A KR102032680B1 (en) 2019-04-08 2019-04-08 Distributed Parallel Processing System for Processing Data Of Continuous Process In Real Time

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190040965A KR102032680B1 (en) 2019-04-08 2019-04-08 Distributed Parallel Processing System for Processing Data Of Continuous Process In Real Time

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020160113151A Division KR20180026596A (en) 2016-09-01 2016-09-02 Distributed Parallel Processing System for Processing Data Of Continuous Process In Rea Time

Publications (2)

Publication Number Publication Date
KR20190040162A KR20190040162A (en) 2019-04-17
KR102032680B1 true KR102032680B1 (en) 2019-10-15

Family

ID=66281524

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190040965A KR102032680B1 (en) 2019-04-08 2019-04-08 Distributed Parallel Processing System for Processing Data Of Continuous Process In Real Time

Country Status (1)

Country Link
KR (1) KR102032680B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102298938B1 (en) * 2019-12-26 2021-09-08 주식회사 코아시스템 Wiress i/o transceiver terminal device for plc

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002049603A (en) * 2000-08-03 2002-02-15 Toshiba Corp Method and apparatus for dynamic load distribution
KR100468509B1 (en) * 2004-05-12 2005-01-29 (주)씨아이엠씨스 Multi In-Put To Ethernet Converter

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101698997B1 (en) * 2014-02-24 2017-01-24 주식회사 노매드커넥션 System and method for integrated energy management
KR20150112357A (en) * 2014-03-27 2015-10-07 (주)시엠아이코리아 Sensor data processing system and method thereof

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002049603A (en) * 2000-08-03 2002-02-15 Toshiba Corp Method and apparatus for dynamic load distribution
KR100468509B1 (en) * 2004-05-12 2005-01-29 (주)씨아이엠씨스 Multi In-Put To Ethernet Converter

Also Published As

Publication number Publication date
KR20190040162A (en) 2019-04-17

Similar Documents

Publication Publication Date Title
KR101892350B1 (en) Smart factory flatform for processing mass data of continuous process in a real time
KR101892351B1 (en) Big Data Analysis System for Smart Factory
KR102210972B1 (en) Smart Factory System for Performing High Speed Big Data Analysis
KR101951526B1 (en) Interface Middleware System for Smart Factory Platform and Method for Operating The Same
US11079728B2 (en) Smart factory platform for processing data obtained in continuous process
KR101938946B1 (en) Interface Middleware System for Collecting Mass Data and Method for Collecting Data of Interface Middleware System
CN103595416B (en) Compress creation data stream and with the system and method for various criterion filtered compressed data
KR20180026596A (en) Distributed Parallel Processing System for Processing Data Of Continuous Process In Rea Time
US20110166912A1 (en) Plant analysis system
US20120116827A1 (en) Plant analyzing system
KR102032680B1 (en) Distributed Parallel Processing System for Processing Data Of Continuous Process In Real Time
Huang et al. Part family grouping method for reconfigurable manufacturing system considering process time and capacity demand
CN114429249B (en) Method, system, equipment and storage medium for predicting service life of steel pipe bundle production equipment
KR101888637B1 (en) Analysis methodology and platform architecture system for big data based on manufacturing specialized algorithm template
KR101892352B1 (en) Middleware system for standardizing data of continuous process
Lieber et al. Sustainable interlinked manufacturing processes through real-time quality prediction
JP2002236511A (en) System and method for production control
CN101963804A (en) Management-control integrated flexible assembly line for mechanical products
KR101951527B1 (en) Real time processing system of mass data for managing memory cache automatically
KR102312523B1 (en) Interface Middleware System for Collecting Mass Data
Jharko Critical information infrastructure objects: operator support systems
KR20220057146A (en) ON-DEVICE HIGH-SPEED EVENT COMPLEX ANALYSIS AND SYNCHRONIZATION METHOD OF IoT TIME SERIES DATA APPLICABLE TO SMART FACTORY AND SYSTEM THAT PERFORMS IT
Fernandes et al. Predictive maintenance in the metallurgical industry: data analysis and feature selection
JP2009163726A (en) Quality control system and quality control method
KR20210086175A (en) Data preprocessing system

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant