KR102210972B1 - Smart Factory System for Performing High Speed Big Data Analysis - Google Patents
Smart Factory System for Performing High Speed Big Data Analysis Download PDFInfo
- Publication number
- KR102210972B1 KR102210972B1 KR1020180174051A KR20180174051A KR102210972B1 KR 102210972 B1 KR102210972 B1 KR 102210972B1 KR 1020180174051 A KR1020180174051 A KR 1020180174051A KR 20180174051 A KR20180174051 A KR 20180174051A KR 102210972 B1 KR102210972 B1 KR 102210972B1
- Authority
- KR
- South Korea
- Prior art keywords
- big data
- data
- unit
- data analysis
- alignment
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total 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], computer integrated manufacturing [CIM]
- G05B19/4183—Total 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], computer integrated manufacturing [CIM] characterised by data acquisition, e.g. workpiece identification
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B23/00—Testing or monitoring of control systems or parts thereof
- G05B23/02—Electric testing or monitoring
- G05B23/0205—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
- G05B23/0218—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
- G05B23/0221—Preprocessing measurements, e.g. data collection rate adjustment; Standardization of measurements; Time series or signal analysis, e.g. frequency analysis or wavelets; Trustworthiness of measurements; Indexes therefor; Measurements using easily measured parameters to estimate parameters difficult to measure; Virtual sensor creation; De-noising; Sensor fusion; Unconventional preprocessing inherently present in specific fault detection methods like PCA-based methods
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total 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)
- General Factory Administration (AREA)
- Testing And Monitoring For Control Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
실시간으로 빅데이터 분석 서비스를 제공할 수 있는 본 발명의 일 측면에 따른 고속 빅데이터 분석을 수행하는 스마트팩토리 시스템은, 데이터 수집장치로부터 수집된 수집데이터를 전처리하는 미들웨어 시스템; 상기 전처리된 수집데이터에 상기 수집데이터가 발생된 공정의 공정 식별자를 매핑하여 매핑 데이터를 생성하고, 생성된 매핑 데이터를 미리 정해진 기준에 따라 정렬하여 정렬 데이터를 생성하는 분산병렬처리시스템; 및 빅데이터 분석모델을 이용하여 상기 정렬데이터를 분석하는 고속 빅데이터 분석 시스템을 포함하고, 상기 고속 빅데이터 분석 시스템은, 상기 정렬 데이터가 인스턴스 내에 바이너리 형태로 저장되는 제1 빅데이터 저장부; 상기 제1 빅데이터 저장부에 저장된 정렬 데이터가 디스크 내에 파일로 저장되는 제2 빅데이터 저장부; 및 상기 제1 빅데이터 저장부에 저장된 정렬 데이터를 실시간성 빅데이터 분석모델을 이용하여 분석하고, 상기 제2 빅데이터 저장부에 저장된 정렬 데이터를 비실시간성 빅데이터 분석모델을 이용하여 분석하는 분석장치를 포함하는 것을 특징으로 한다.A smart factory system for performing high-speed big data analysis according to an aspect of the present invention capable of providing a big data analysis service in real time includes: a middleware system for preprocessing collected data collected from a data collection device; A distributed parallel processing system for generating mapping data by mapping a process identifier of a process in which the collected data is generated to the pre-processed collected data, and generating alignment data by aligning the generated mapping data according to a predetermined criterion; And a high-speed big data analysis system for analyzing the alignment data using a big data analysis model, wherein the high-speed big data analysis system includes: a first big data storage unit in which the alignment data is stored in an instance in a binary format; A second big data storage unit for storing the alignment data stored in the first big data storage unit as a file in the disk; And analyzing the alignment data stored in the first big data storage unit using a real-time big data analysis model, and analyzing the alignment data stored in the second big data storage unit using a non-real time big data analysis model. It characterized in that it comprises a device.
Description
본 발명은 공장관리시스템에 관한 것으로서, 보다 구체적으로는 스마트팩토리에 관한 것이다.The present invention relates to a factory management system, and more specifically, to a smart factory.
원재료를 이용하여 완제품을 생성하기 위한 복수개의 공정들이 연속적으로 수행되고, 각 공정의 산출물들이 서로 혼합되거나 특정 공정의 산출물의 상태가 변화하여 후속 공정으로 공급되는 것과 같이, 각 공정들이 서로 관련되어 있는 생산 방식을 연속공정 생산방식이라 한다. 철강산업, 에너지산업, 제지산업, 또는 정유산업 등이 연속공정 생산방식이 적용되는 대표적인 산업들이다.Each process is related to each other, such as 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 the subsequent process. The production method is called a continuous process production method. The steel industry, energy industry, paper industry, or oil refinery industry are representative industries to which the continuous process production method is applied.
이러한 연속공정 생산방식이 적용되는 산업의 경우, 단일공정 생산방식이 적용되는 산업과 달리, 원재료 또는 중간재가 고속으로 이동하기 때문에 데이터 수집 주기가 짧고 데이터의 양이 많을 뿐만 아니라, 소음, 먼지, 수분 등이 많은 공장 환경에서 제품이 생산되기 때문에 계측이상이 자주 발생하고, 작업 방법에 따라 중간재들이 서로 혼합되거나 소재의 위치가 이동한다는 특성이 있다.In the case of industries to which such a continuous process production method is applied, unlike industries to which a single process production method is applied, raw materials or intermediate materials move at high speed, so the data collection cycle is short and the amount of data is large, as well as noise, dust and moisture. Since products are produced in a factory environment with many lights, measurement errors often occur, and intermediate materials are mixed with each other or the location of materials is moved depending on the work method.
이에 따라, 연속공정 생산방식이 적용되는 산업의 경우 많은 데이터를 실시간으로 처리할 수 있고, 각 공정 별로 발생된 데이터들을 연계하여 처리할 수 있는 시스템이 요구된다.Accordingly, in the case of an industry to which a continuous process production method is applied, a system capable of processing a lot of data in real time and processing data generated by each process is required.
하지만, 대한민국 공개특허공보 제10-2015-0033847호(발명의 명칭: 실시간 공장상황을 반영한 디지털 팩토리 생산능력 관리 시스템, 2015.04.02. 공개) 등에 개시되어 있는 일반적인 공장 데이터 처리 시스템(예컨대, 철강 데이터 처리 시스템)은 단일 공정에서 발생하는 데이터의 처리 및 분석을 위한 것이기 때문에, 연속 공정에서 발생하는 많은 데이터를 실시간으로 처리할 수 없을 뿐만 아니라, 각 공정별로 발생된 데이터들 간의 연관관계를 분석할 수 없다는 문제점이 있다.However, a general factory data processing system disclosed in Korean Patent Application Publication No. 10-2015-0033847 (name of invention: digital factory capacity management system reflecting real-time factory conditions, published on April 2, 2015), etc. Since the processing system) is for processing and analyzing data generated in a single process, it cannot process a lot of data generated in a continuous process in real time, and it is also possible to analyze the relationship between the data generated by each process. There is no problem.
특히, 기존의 공장데이터 처리 시스템의 경우, 발생된 데이터들이 기록되고 있는 동안에는 기록작업이 종료될 때까지는 해당 데이터에 접근할 수가 없을 뿐만 아니라, 데이터의 기록작업이 종료된 이후라도 해당 데이터의 로딩에 많은 시간이 소요되므로, 재료나 제품의 품질판정 또는 이상예측 등과 같이 실시간 분석이 요구되는 분석작업을 수행할 수 없다는 문제점이 있다.In particular, in the case of the existing factory data processing system, while the generated data is being recorded, the data cannot be accessed until the recording operation is completed, and the data cannot be loaded even after the data recording operation is completed. Since it takes a lot of time, there is a problem in that it is not possible to perform an analysis task requiring real-time analysis such as quality determination or abnormality prediction of materials or products.
본 발명은 상술한 문제점을 해결하기 위한 것으로서, 실시간으로 빅데이터 분석 서비스를 제공할 수 있는 고속 빅데이터 분석을 수행하는 스마트팩토리 시스템을 제공하는 것을 그 기술적 과제로 한다.The present invention is to solve the above-described problem, and it is an object of the present invention to provide a smart factory system that performs high-speed big data analysis capable of providing a big data analysis service in real time.
또한, 본 발명은 API를 이용하여 리퀘스터를 고속 빅데이터 분석 시스템에 접속시킬 수 있는 고속 빅데이터 분석을 수행하는 스마트팩토리 시스템을 제공하는 것을 다른 기술적 과제로 한다.In addition, the present invention is another technical problem to provide a smart factory system that performs high-speed big data analysis capable of connecting a requester to a high-speed big data analysis system using an API.
상술한 목적을 달성하기 위한 본 발명의 일 측면에 따른 고속 빅데이터 분석을 수행하는 스마트팩토리 시스템은, 데이터 수집장치로부터 수집된 수집데이터를 전처리하는 미들웨어 시스템; 상기 전처리된 수집데이터에 상기 수집데이터가 발생된 공정의 공정 식별자를 매핑하여 매핑 데이터를 생성하고, 생성된 매핑 데이터를 미리 정해진 기준에 따라 정렬하여 정렬 데이터를 생성하는 분산병렬처리시스템; 및 빅데이터 분석모델을 이용하여 상기 정렬데이터를 분석하는 고속 빅데이터 분석 시스템을 포함하고, 상기 고속 빅데이터 분석 시스템은, 상기 정렬 데이터가 인스턴스 내에 바이너리 형태로 저장되는 제1 빅데이터 저장부; 상기 제1 빅데이터 저장부에 저장된 정렬 데이터가 디스크 내에 파일로 저장되는 제2 빅데이터 저장부; 미리 정해진 이벤트가 발생되면 상기 제1 빅데이터 저장부에 저장된 정렬 데이터를 상기 파일로 생성하여 상기 제2 빅데이터 저장부에 저장하는 파일생성유닛; 및 상기 제1 빅데이터 저장부에 저장된 정렬 데이터를 실시간성 빅데이터 분석모델을 이용하여 분석하고, 상기 제2 빅데이터 저장부에 저장된 정렬 데이터를 비실시간성 빅데이터 분석모델을 이용하여 분석하는 분석장치를 포함하는 것을 특징으로 한다.A smart factory system for performing high-speed big data analysis according to an aspect of the present invention for achieving the above object includes: a middleware system for preprocessing collected data collected from a data collection device; A distributed parallel processing system for generating mapping data by mapping a process identifier of a process in which the collected data is generated to the pre-processed collected data, and generating alignment data by aligning the generated mapping data according to a predetermined criterion; And a high-speed big data analysis system for analyzing the alignment data using a big data analysis model, wherein the high-speed big data analysis system includes: a first big data storage unit in which the alignment data is stored in an instance in a binary format; A second big data storage unit for storing the alignment data stored in the first big data storage unit as a file in the disk; A file generation unit generating the alignment data stored in the first big data storage unit as the file when a predetermined event occurs and storing the alignment data in the second big data storage unit; And analyzing the alignment data stored in the first big data storage unit using a real-time big data analysis model, and analyzing the alignment data stored in the second big data storage unit using a non-real time big data analysis model. It characterized in that it comprises a device.
본 발명에 따르면, 빅데이터 저장부를 빅데이터 분석을 위해 실시간으로 데이터를 제공하는 제1 빅데이터 저장부와 장기간의 대용량 데이터를 제공할 수 있는 제2 빅데이터 저장부로 구분하여 운영함으로써 실시간으로 빅데이터 분석 서비스를 제공할 수 있다는 효과가 있다.According to the present invention, the big data storage unit is divided into a first big data storage unit that provides data in real time for big data analysis and a second big data storage unit that can provide long-term large-capacity data, It has the effect of being able to provide analysis services.
또한, 본 발명에 따르면 API를 이용하여 고속 빅데이터 분석 시스템에 접근할 수 있어 고속 빅데이터 분석 시스템의 인프라나 솔루션에 변화가 발생하더라도 리퀘스터와 고속 빅데이터 분석 시스템을 접속시키는 소프트웨어를 변경할 필요 없어 개발비용을 절감할 수 있다는 효과가 있다. In addition, according to the present invention, it is possible to access the high-speed big data analysis system using the API, so even if there is a change in the infrastructure or solution of the high-speed big data analysis system, there is no need to change the software connecting the requester and the high-speed big data analysis system. It has the effect of reducing development cost.
도 1은 본 발명의 일 실시예에 따른 스마트팩토 아키텍쳐를 보여주는 도면이다.
도 2는 본 발명의 일 실시예에 따른 미들웨어 시스템의 구성을 보여주는 블록도이다.
도 3은 복수개의 프로세싱부 및 복수개의 큐 저장부를 포함하는 미들웨어 시스템의 구성을 보여주는 도면이다.
도 4는 본 발명의 일 실시예에 따른 분산병렬처리시스템의 구성을 구체적으로 보여주는 도면이다.
도 5는 복수개의 프로세싱부 및 복수개의 메모리부를 포함하는 분산병렬처리시스템의 구성을 보여주는 도면이다.
도 6은 데이터 매핑 및 정렬 작업의 분산병렬처리방법을 예시적으로 보여주는 개념도이다.
도 7은 3중화된 메모리부의 구성을 보여주는 도면이다.
도 8은 본 발명의 일 실시예에 따른 고속 빅데이터 분석 시스템의 구성을 구체적으로 보여주는 도면이다.
도 9는 도 8에 도시된 제1 또는 제2 빅데이터 저장부의 구성의 일 예를 보여주는 도면이다.
도 10은 본 발명의 일 실시예에 따른 API 서비스 제공 시스템의 구성을 구체적으로 보여주는 도면이다. 1 is a diagram showing a smart factor architecture according to an embodiment of the present invention.
2 is a block diagram showing the configuration of a middleware system according to an embodiment of the present invention.
3 is a diagram showing the configuration of a middleware system including a plurality of processing units and a plurality of queue storage units.
4 is a diagram showing in detail the configuration of a distributed parallel processing system according to an embodiment of the present invention.
5 is a diagram showing the configuration of a distributed parallel processing system including a plurality of processing units and a plurality of memory units.
6 is a conceptual diagram illustrating a method of distributed parallel processing of data mapping and sorting tasks by way of example.
7 is a diagram showing a configuration of a tripled memory unit.
8 is a diagram showing in detail the configuration of a high-speed big data analysis system according to an embodiment of the present invention.
9 is a diagram showing an example of a configuration of a first or second big data storage unit shown in FIG. 8.
10 is a diagram showing in detail the configuration of an API service providing 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.
본 명세서에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다. 단수의 표현은 문맥상 명백하게 다르게 정의하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다.The meaning of the terms described in this specification should be understood as follows. Singular expressions should be understood as including plural expressions unless clearly defined differently in context, and terms such as “first” and “second” are used to distinguish one element from other elements, The scope of rights should not be limited by these terms.
"포함하다" 또는 "가지다" 등의 용어는 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.It is to be understood that terms such as "comprise" or "have" do not preclude the presence or addition of one or more other features or numbers, steps, actions, components, parts, or combinations thereof.
"적어도 하나"의 용어는 하나 이상의 관련 항목으로부터 제시 가능한 모든 조합을 포함하는 것으로 이해되어야 한다. 예를 들어, "제1 항목, 제2 항목 및 제 3항목 중에서 적어도 하나"의 의미는 제1 항목, 제2 항목 또는 제3 항목 각각 뿐만 아니라 제1 항목, 제2 항목 및 제3 항목 중에서 2개 이상으로부터 제시될 수 있는 모든 항목의 조합을 의미한다.The term “at least one” is to be understood as including all possible combinations 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 2 among the first item, the second item, and the third item, as well as the first item, the second item, and the third item. It means a combination of all items that can be presented from more than one.
도 1은 본 발명의 일 실시예에 따른 스마트팩토리 아키텍쳐를 보여주는 도면이다.1 is a diagram showing a smart factory architecture according to an embodiment of the present invention.
도 1에 도시된 바와 같이, 본 발명에 따른 스마트팩토리 아키텍쳐(10)는 데이터 수집 시스템(1), 네트워크 시스템(2), 및 스마트팩토리 플랫폼(1000)을 포함한다.As shown in FIG. 1, the
데이터 수집 시스템(1)은 공정에서 발생되는 데이터를 수집한다. 일 실시예에 있어서, 데이터 수집 시스템(1)은 복수개의 공정들이 연속하여 수행되는 연속공정에서 발생되는 데이터를 수집할 수 있다. 연속공정이란 원재료를 이용하여 완제품을 생성하기 위한 복수개의 공정들이 연속적으로 수행되고, 각 공정의 산출물들이 서로 혼합되거나 특정 공정의 산출물의 상태가 변화하여 후속 공정으로 공급되는 방식의 공정을 의미한다. 철강공정이 이러한 연속공정의 대표적인 예에 해당한다. 이하에서는 설명의 편의를 위해, 데이터 수집 시스템(1)이 철강공정과 같은 연속공정에 적용되는 것으로 가정하여 설명하기로 한다.The
철강공정은 제선공정, 제강공정, 연주공정, 및 압연공정 등과 같은 다양한 공정으로 구성되므로, 데이터 수집 시스템(1)은 제선공정, 제강공정, 연주공정, 및 압연공정 등과 같은 다양한 공정의 진행 과정에서 발생되는 마이크로 데이터(Micro Data)를 수집한다. 여기서, 마이크로 데이터는 다양한 센서 등을 통해 수집된 데이터 그 자체로서 원시 데이터(Raw Data)를 의미한다. 이하에서는, 설명의 편의를 위해 연속공정에서 수집된 마이크로 데이터를 수집 데이터로 표기하기로 한다.Since the steel process consists of various processes such as the iron making process, the steel making process, the casting process, and the rolling process, the
데이터 수집 시스템(1)은 연속공정에서 발생된 데이터를 수집하기 위한 다양한 계측기, 센서, 액츄에이터 등을 포함한다. 데이터 수집 시스템(1)은 계측기, 센서, 액츄에이터 등에 의해 수집된 데이터를 통합하거나 제어하는 P/C, PLC(Programmable Logic Controller), DCS(Distributed Control System) 등을 더 포함할 수 있다.The
네트워크 시스템(2)은 수집 데이터를 스마트팩토리 플랫폼(1000)으로 전달한다. 네트워크 시스템(2)은 네트워크 케이블, 게이트웨이, 라우터, 또는 무선 AP(Access Point) 등을 포함할 수 있다.The
스마트팩토리 플랫폼(1000)은 네트워크 시스템(2)을 통해 수집 데이터를 수신한다. 스마트팩토리 플랫폼(1000)은 수집 데이터를 가공하고, 가공된 수집 데이터를 기초로 설비 또는 재료 등의 이상유무를 판단하며, 저장된 데이터에 대한 조회 및 분석 서비스를 제공한다. The
일 실시예에 있어서, 본 발명에 따른 스마트팩토리 플랫폼(1000)은 도 1에 도시된 바와 같이, 미들웨어 시스템(100), 분산병렬처리 시스템(200), 고속 빅데이터 분석시스템(300), 및 API 서비스 제공 시스템(400)을 포함한다.In one embodiment, the
미들웨어 시스템(100)은 수집 데이터를 전처리 한다. 미들웨어 시스템(100)은 Level 0 내지 Level 2의 장치들과 연결된다. 이하, 도 2 및 도 3을 참조하여 본 발명에 따른 미들웨어 시스템(100)에 대해 보다 구체적으로 설명한다.The
도 2는 본 발명의 일 실시예에 따른 미들웨어 시스템의 구성을 보여주는 블록도이고, 도 3은 복수개의 프로세싱부 및 복수개의 큐 저장부를 포함하는 미들웨어 시스템의 구성을 보여주는 도면이다.2 is a block diagram showing a configuration of a middleware system according to an embodiment of the present invention, and FIG. 3 is a diagram illustrating a configuration of a middleware system including a plurality of processing units and a plurality of queue storage units.
도 2 및 도 3을 참조하여 보다 구체적으로 설명하면, 미들웨어 시스템(100)은 인터페이싱부(110) 및 큐 서버(120)를 포함한다. 또한, 미들웨어 시스템(100)은 미들웨어 관리부(130) 및 큐 관리부(140)를 더 포함할 수 있다,In more detail with reference to FIGS. 2 and 3, the
인터페이싱부(110)는 수집 데이터의 연계처리를 위해 수집 데이터들을 전처리한다. 인터페이싱부(110)는 수집 데이터를 표준화함으로써 수집 데이터를 전처리할 수 있다. 이를 위해, 인터페이싱부(110)는 파싱유닛(112), 표준화유닛(113), 필터링유닛(114), 및 전송유닛(115) 중 적어도 하나의 유닛을 포함한다.The
파싱유닛(112)은 수집 데이터를 파싱하여 파싱 데이터를 생성한다. 수집 데이터는 복수개의 항목 ID를 포함하는 그룹 ID, 수집시간, 및 복수개의 측정값이 반복되는 구조를 가질 수 있다. 이 때, 항목 ID는 측정된 속성을 식별하기 위한 것으로 설비, 재료, 또는 제품의 속성들 중 어떤 속성이 측정된 것인지를 나타내는 값으로 온도나 습도 등이 될 수 있다. 그룹 ID는 특정 공장에서 위치 별 또는 각 공정 별로 몇 가지 항목을 그룹으로 편성한 대표값이 될 수 있다. 그룹 ID 내에 수집시간이 포함될 수 있다. The
파싱유닛(112)은 수집 데이터가 별도의 구분없이 그룹 ID, 수집시간, 및 복수개의 측정값이 반복되는 형태로 수신되는 경우, 수집 데이터의 연계처리를 위해, 수집 데이터를 미리 설정된 레이아웃에 기초하여 파싱한다.When the collected data is received in a form in which a group ID, a collection time, and a plurality of measured values are repeatedly received without a separate distinction, the
파싱유닛(112)은 수집 데이터를 그룹 ID별로 파싱하고, 그룹 ID에 포함된 복수의 항목 ID와 복수의 측정값을 각각 매칭시켜 단일 항목 ID, 수집 시간, 및 단일 측정값을 갖는 형태의 파싱 데이터를 생성할 수 있다.The
파싱유닛(112)은 수집 데이터 전문에 대한 메시지 레이아웃에 기초하여 수집 데이터를 파싱할 수 있다.The
표준화유닛(113)은 파싱 데이터를 표준화하여 표준화 데이터를 생성한다. 표준화유닛(113)은 각각의 파싱 데이터에 대해서, 미리 설정된 표준변환기준에 따라 각 파싱 데이터에 포함되어 있는 항목 ID를 표준항목 ID로 변환하고 파싱 데이터에 포함되어 있는 측정값의 단위 및 자리수를 통일시킴으로써 파싱 데이터를 표준화할 수 있다. 이때, 미리 설정된 표준변환기준은 다양한 센서 등의 항목 ID별로 설정된 표준항목 ID와 각 표준항목 ID에 따른 기준 단위 및 자리수를 포함할 수 있다.The
표준화유닛(113)은 측정된 속성이 동일한 데이터들이 동일한 항목 ID를 갖도록 각 파싱 데이터에 포함된 항목 ID를 표준항목 ID로 변경할 수 있다.The
표준화유닛(113)은 파싱 데이터들 중 측정된 속성이 동일한 파싱 데이터들이 동일한 표준항목 ID를 갖도록 파싱 데이터를 전처리함으로써 연속공정에서 수집된 데이터들이 표준항목 ID에 기초하여 연계 처리될 수 있도록 한다.The
필터링유닛(114)은 미리 설정된 필터링 기준에 따라 표준화 데이터들 중 큐 서버(120)에 저장할 표준화 데이터를 선택한다. 일례로, 표준화 데이터의 종류에 따라 등급이 미리 설정되어 있고, 필터링유닛(114)은 상기 등급에 따라 큐 서버(120)에 저장할 표준화 데이터를 선택할 수 있다. 일 실시예에 있어서, 등급은 표준화 데이터의 표준항목 ID를 기준으로 중요도에 따라 결정될 수 있다. 필터링유닛(114)은 선택된 표준화 데이터를 전송유닛(115)으로 전송한다. The
전송유닛(115)은 필터링유닛(114)으로부터 제공되는 표준화 데이터를 큐 서버(120)에 저장한다. 전송유닛(115)은 표준화 데이터를 그룹 ID 또는 표준항목 ID별로 큐 서버(120)의 큐 저장부(121)에 저장할 수 있다.The
전송유닛(115)은 복수개의 큐 저장부(121)의 부하를 고려하여 부하가 적은 큐 저장부(121)에 표준화 데이터를 저장할 수 있다. 다른 실시예에 있어서, 복수개의 큐 서버(120) 들 중 공장이나 공정 별로 표준화 데이터가 저장될 큐 서버(120)가 미리 설정되어 있는 경우, 전송유닛(115)은 표준화 데이터를 해당 표준화 데이터에 대해 설정되어 있는 큐 서버(120)에 저장한다.The
전송유닛(115)은 인터페이싱부(110)의 동작모드에 따라 표준화 데이터의 저장 여부를 결정할 수 있다. 구체적으로, 전송유닛(115)은 인터페이싱부(110)의 동작모드가 정상모드인 경우 표준화 데이터를 주기적으로 큐 서버(120)에 저장하고, 인터페이싱부(110)의 동작모드가 대기모드인 경우 표준화 데이터의 저장을 중지할 수 있다. 이때, 인터페이싱부(110)의 동작모드는 복수개의 큐 서버(120) 중 정상 동작하는 큐 서버(120)의 개수에 기초하여 결정될 수 있다.The
인터페이싱부(110)는 데이터 병합유닛(116)을 더 포함할 수 있다. 데이터 병합유닛(116)은 데이터 처리성능 향상을 위해 수집 데이터를 병합(Merge)하여 파싱유닛(112)으로 전달한다. 일 실시예에 있어서, 데이터 병합유닛(116)은 일정시간 간격(예: 0.1초, 1초, 1분 등)으로 수신되는 수집 데이터를 병합한다.The
연속공정의 특성상 아주 짧은 주기(예: 5㎳ 내지 20㎳)로 수집 데이터가 파싱유닛(112)으로 전달될 수 있는데, 데이터 병합유닛(116)은 모니터링을 위해 필요한 수집 데이터는 병합하지 않고 파싱유닛(112)으로 바로 전달하고, 나머지 수집 데이터는 일정시간 간격으로 병합하여 파싱유닛(112)으로 전달할 수 있다.Due to the nature of the continuous process, the collected data can be transferred to the
이 때, 모니터링을 위해 필요한 수집 데이터인지 여부는 수집 데이터의 중요도에 따라 설정될 수 있다. 예컨대, 이상이 발생할 경우 즉각적인 조치가 필요한 설비나 재료로부터 수집된 수집 데이터는 모니터링을 위해 필요한 수집 데이터로 설정될 수 있다.In this case, whether the data is collected data necessary for monitoring may be set according to the importance of the collected data. For example, when an abnormality occurs, collected data collected from facilities or materials that require immediate action may be set as collected data necessary for monitoring.
일 실시예에 있어서 미들웨어 시스템(100)은 인터페이싱부(110)의 동작모드를 관리하기 위해 미들웨어 관리부(130) 및 큐 관리부(140)를 더 포함할 수 있다.In one embodiment, the
미들웨어 관리부(130)는 동작 확인유닛(131)에서 큐 서버(120)의 정상 동작여부를 판단하고, 모드 관리유닛(132)에서 인터페이싱부(110)의 동작 모드를 결정한다.The
이를 통해, 인터페이싱부(110)의 가용성을 높일 수 있고 큐 서버(120)의 장애시 능동적인 대응을 통해 인터페이싱부(110)의 2차 장애를 방지할 수 있다.Through this, the availability of the
동작 확인유닛(131)은 복수개의 큐 서버(120)의 정상 동작 여부를 판단한다. 일 실시예에 있어서 동작 확인유닛(131)은 검사신호에 대한 응답에 기초하여 복수개의 큐 서버(120)가 정상 동작하는지 판단할 수 있다. 동작 확인유닛(131)은 검사신호에 대해 큐 서버(120)로부터 응답이 없거나 미리 약속된 형식의 응답이 수신되지 않는 경우 해당 큐 서버(120)가 정상 동작하지 않는 것으로 판단한다.The
모드 관리유닛(132)은 복수개의 큐 서버(120)의 동작 상태에 기초하여 인터페이싱부(110)의 동작 모드를 결정한다. 모드 관리유닛(132)은 인터페이싱부(110)의 동작모드를 인터페이싱부(110)로 전달한다.The
일 실시예에 있어서 모드 관리유닛(132)은 복수개의 큐 서버(120) 중에서 정상 동작하는 큐 서버(120)의 개수에 기초하여 인터페이싱부(110)의 동작모드를 결정할 수 있다. 구체적으로, 모드 관리유닛(132)은 데이터 수집 시스템(1)으로부터 수신되는 수집 데이터의 양과 정상 동작하는 큐 서버(120)의 개수를 비교하고, 수신되는 수집 데이터의 양이 정상 동작하는 큐 서버(120)의 용량을 초과하지 않는 경우 인터페이싱부(110)의 동작 모드를 정상 모드로 결정할 수 있다. 이 때, 수집 데이터의 양이란 실시간으로 수신되는 수집 데이터의 양 또는 주기적으로 수신되는 수집 데이터의 양에 대한 평균치를 의미할 수 있다.In one embodiment, the
일례로, 모드 관리유닛(132)은 아래의 표 1과 같이 인터페이싱부(110)의 동작 모드를 결정할 수 있다.For example, the
모드 관리유닛(132)에 의해 정상모드로 결정되면 인터페이싱부(110)는 복수개의 큐 서버(120) 중 미리 설정된 큐 서버(120)에 표준화 데이터를 저장한다. 모드 관리유닛(132)에 의해 주의모드로 결정되면 인터페이싱부(110)는 비정상 동작하는 큐 서버(120)를 제외한 나머지 큐 서버(120)에 표준화 데이터를 저장한다. 모드 관리유닛(132)에 의해 대기모드로 결정되면 인터페이싱부(110)는 수집 데이터 수신 및 표준화 데이터 저장을 중지한다.이때, 주의모드는 복수개의 큐 서버(120) 중 일부가 정상 동작하지 않지만, 나머지 큐 서버(120)를 통해 인터페이싱부(110)가 실시간으로 표준화 데이터를 저장할 수 있는 상황에서의 동작모드를 나타낸다. 모드 관리유닛(132)은 복수개의 큐 서버(120) 중 적어도 2개 이상의 큐 서버(120)가 정상 동작하는 경우에 동작모드를 주의모드로 결정할 수 있다.When the
큐 관리부(140)는 복수개의 큐 서버(120) 각각에 대응되도록 구비된다. 큐 관리부(140)는 각각의 큐 서버(120)에 대한 메타 데이터를 관리하고, 큐 서버(120)의 정상 동작 여부를 확인한다. 이를 위해 큐 관리부(140)는 메타 데이터 관리유닛(141)을 포함할 수 있다.The
메타 데이터 관리유닛(141)은 대응되는 큐 서버(120)의 큐 저장부(121)에 대한 메타 데이터를 관리한다. 일례로, 메타 데이터 관리유닛(141)은 기본 사양정보, 접속 정보, 토픽 및 파티션과 같은 구성 정보 등의 메타 데이터를 관리하고, 메타 데이터에 기초하여 인터페이싱부(110)로 데이터를 저장할 토픽 및 파티션에 대한 정보를 제공할 수 있다.The meta
복수개의 큐 서버(120) 중 일부가 정상 동작하지 않는 경우, 인터페이싱부(110)는 큐 서버(120)의 메타 데이터를 이용하여 저장 가능한 큐 서버(120)의 위치를 빠르게 찾아 파싱 데이터를 저장할 수 있다.When some of the plurality of
큐 서버(120)는 표준화 데이터를 실시간으로 처리하기 전에 임시로 보관한다. 이를 위해, 큐 서버(120)는 적어도 하나의 큐 저장부(121)를 포함한다.The
큐 저장부(121)는 표준화 데이터를 일정시간 동안 보관하기 위한 저장부로 데이터 유실 방지를 위해 메모리가 아닌 디스크 기반으로 데이터를 저장할 수 있다. 큐 저장부(121)에서 데이터를 저장하는 공간은 토픽(Topic)으로 구분될 수 있고, 큐 저장부(121)는 동일 토픽 내의 파티션을 여러 개 분리하여 병렬로 처리하는 것도 가능하다.The
일 실시예에 있어서 도 3에 도시된 바와 같이, 큐 서버(120)는 복수개로 구현되고, 복수개의 큐 서버(120)가 서로 클러스터링될 수 있다. 이러한 경우, 전송유닛(115)이 복수개의 큐 서버(120) 중 어느 하나의 큐 서버(120)에 파싱 데이터를 저장하면 나머지 큐 서버(120)에도 동일한 파싱 데이터가 저장된다.In one embodiment, as shown in FIG. 3, a plurality of
일 실시예에 있어서, 큐 서버(120)에 저장되는 파싱 데이터는 분산병렬처리시스템(200)이 큐 서버(120)로부터 페치(Fetch)하는 데이터 그룹 별로 고유한 그룹 ID가 할당될 수 있다. 이에 따라, 고유한 그룹 ID 별로 데이터 페치 주소가 관리될 수 있어, 데이터를 순차적으로 읽고 쓰는 큐 형태로 데이터가 저장 및 제공될 수 있다.In one embodiment, the parsed data stored in the
이러한 실시예에 따르는 경우, 복수개의 인터페이싱부(110)는 데이터 수집 시스템(1)의 규모 및 공장의 물리적 위치 등에 따라 추가하는 형태로 확장될 수 있으며, 각각의 인터페이싱부(110)는 고가용성(High Availability; HA)을 위해 이중화 구조로 구현될 수 있다.According to this embodiment, the plurality of interfacing
또한, 인터페이싱부(110)는 수집 데이터의 표준화가 완료되면 복수개의 큐 서버(120) 중 1대의 큐 서버(120)를 선택하여 표준화 데이터를 저장한다. 이 때, 표준화 데이터를 저장할 큐 서버(120)를 선택하는 기준은 다양한 룰 중에서 선택될 수 있으며, 일례로 부하가 가장 낮은 큐 서버(120)를 선택하거나, 순차적으로 선택하는 방식, 또는 수집 데이터를 수집한 센서 별로 저장할 큐 서버(120)를 사전에 미리 저장하여 선택하는 것이 가능하다.In addition, when standardization of the collected data is completed, the
또한, 도 3에 도시된 바와 같이 각 인터페이싱부(110)가 미들웨어 관리부(130)를 각각 포함할 수 있다. 각 미들웨어 관리부(130)는 복수개의 큐 저장부(120)의 정상 동작 여부를 판단하고 대응되는 인터페이싱부(110)의 동작 모드를 결정한다.In addition, as shown in FIG. 3, each interfacing
다시 도 1을 참조하면, 분산병렬처리시스템(200)은 미들웨어 시스템(100)에서 전달되는 표준화 데이터를 가공한다. 일 실시예에 있어서, 분산병렬처리시스템(200)은 표준화 데이터에 공정 식별자가 매핑된 매핑 데이터를 생성하고, 각 공정 별로 수집된 수집 데이터들의 연계 처리를 위해 각 공정에서의 매핑 데이터들을 미리 정해진 기준에 따라 정렬한다.Referring back to FIG. 1, the distributed
이하, 도 4 내지 도 7을 참조하여 본 발명에 따른 분산병렬처리시스템(200)의 구성에 대해 보다 구체적으로 설명한다.Hereinafter, the configuration of the distributed
도 4는 본 발명의 일 실시예에 따른 분산병렬처리시스템의 구성을 구체적으로 보여주는 도면이다. 도 4에 도시된 바와 같이 본 발명의 일 실시예에 따른 분산병렬처리시스템(200)은 프로세싱부(210) 및 메모리부(220)를 포함한다.4 is a diagram showing in detail the configuration of a distributed parallel processing system according to an embodiment of the present invention. As shown in FIG. 4, the distributed and
프로세싱부(210)는 표준화 데이터에 공정 식별자를 매핑하여 매핑 데이터를 생성하고, 조업-설비-품질 등 영역간 데이터를 연계분석할 수 있도록 매핑 데이터를 정렬한다. 또한, 프로세싱부(210)는 센서가 없어 데이터가 수집되지 않은 지점이나 수집 주기 중간에 발생한 누락 데이터를 예측한다.The
이를 위해, 프로세싱부(210)는 페치(Fetch) 수행유닛(211), 공정매핑 수행유닛(213), 데이터 보정 수행유닛(215), 및 데이터 정렬 수행유닛(216) 중 적어도 하나의 유닛을 포함한다. 또한, 프로세싱부(210)는 설비 이상감지 수행유닛(217) 및 품질 이상감지 수행유닛(218)을 더 포함할 수 있다.To this end, the
일 실시예에 있어서, 도 4에 도시된 복수개의 수행유닛(211~218)들은 프로세싱부(210)에 배포되어 각각의 기능을 구현하는 어플리케이션(Application)으로 구현될 수 있고, 이러한 어플리케이션들이 프로세싱부(210)에 작업 공간을 생성한 후 복수개의 쓰레드(Thread)를 생성함으로써 각 수행유닛(211~218) 별로 할당된 기능들을 수행하게 된다.In one embodiment, a plurality of
페치 수행유닛(211)은 미들웨어 시스템(100)의 큐 저장부(121)로부터 표준화 데이터를 독출하여 메모리부(220)에 저장한다. 페치 수행유닛(211)은 복수의 큐 저장부(121) 각각에 대해서 이전에 데이터를 조회한 위치 정보를 기억함으로써, 이전까지 읽어 들인 데이터의 다음 데이터를 읽어 들일 수 있다.The fetch
이때, 인터페이싱부(110)가 연속공정에서 수집된 수집 데이터들의 연계 처리를 위해 표준화 데이터를 그룹 ID 또는 표준항목 ID 별로 큐 저장부(121)에 저장한 경우, 페치 수행유닛(211)은 큐 저장부(121)에 저장된 표준화 데이터를 그룹 ID 또는 표준항목 ID 별로 독출한다.At this time, when the
공정매핑 수행유닛(213)은 페치 수행유닛(211)에 의해 독출된 표준화 데이터에 해당 표준화 데이터가 수집된 공정을 식별하기 위한 공정 식별자를 매핑하여 매핑 데이터를 생성한다.The process
일 실시예에 있어서, 공정매핑 수행유닛(213)은 각 공정을 수행하는 설비의 설비 식별자를 표준화 데이터에 매핑하여 제1 매핑 데이터를 생성하거나, 해당 설비에 의해 가공되는 재료의 재료 식별자를 표준화 데이터 또는 제1 매핑 데이터에 매핑하여 제2 매핑 데이터를 생성할 수 있다. 이를 위해, 매핑 수행유닛(213)은 설비매핑 수행유닛(213a) 및 재료매핑 수행유닛(213b)을 포함할 수 있다.In one embodiment, the process
설비매핑 수행유닛(213a)은 표준화 데이터에 해당 표준화 데이터가 수집된 설비의 설비 식별자를 매핑하여 제1 매핑 데이터를 생성한다. 설비매핑 수행유닛(213a)은 해당 표준화 데이터가 수집된 수집시간이나 해당 표준화 데이터를 수집한 센서의 속성정보에 기초하여 해당 표준화 데이터에 매핑할 설비 식별자를 획득할 수 있다. 일 실시예에 있어서, 설비 식별자는 각 설비 별로 부여된 설비 번호일 수 있다.The facility
재료매핑 수행유닛(213b)은 메모리부(220)에서 독출된 표준화 데이터 또는 설비매핑 수행유닛(213a)에 의해 생성된 제1 매핑 데이터에 해당 표준화 데이터가 수집된 설비에서 가공된 재료의 재료 식별자를 매핑하여 제2 매핑 데이터를 생성한다. 재료매핑 수행유닛(213b)은 각 공정에서 수행되는 작업 지시 정보에 기초하여 해당 표준화 데이터가 수집된 설비를 통해 생성되는 재료의 재료 식별자를 획득하고, 획득된 재료 식별자를 제1 매핑 데이터에 매핑한다.The
일 실시예에 있어서, 재료 식별자는 각 재료 별로 부여되어 있는 재료번호일 수 있다.In one embodiment, the material identifier may be a material number assigned to each material.
데이터 보정 수행유닛(215)은 매핑 데이터 중 누락된 데이터를 추가하여 매핑 데이터를 보정한다. 데이터 보정 수행유닛(215)은 누락된 데이터가 수집되었어야 하는 영역과 가장 인접한 위치에서의 매핑 데이터 또는 누락이 발생된 시간과 가장 인접한 수집시간의 매핑 데이터를 이용하여 누락된 데이터를 보정할 수 있다.The data
일 실시예에 있어서, 데이터 보정 수행유닛(215)은 매핑 데이터의 보정을 위해, 매핑 데이터에 포함된 수집시간을 미리 정해진 수집주기에 일치시킬 수 있다. 예를 들어, 20ms의 수집주기로 연속공정 데이터가 저장되는 경우 데이터 보정 수행유닛(215)은 수집시간이 15시01분11초0005ms인 매핑 데이터의 수집시간을 15시01분11초0000ms로 보정하고, 수집시간이 15시01분11초0050ms인 매핑 데이터의 수집 시간을 15시01분11초0040ms로 보정할 수 있다.In an embodiment, the data
데이터 정렬 수행유닛(216)은 매핑 데이터 또는 보정된 매핑 데이터를 각 공정의 데이터들 간의 연계처리를 위해 정렬한다.The
데이터 정렬 수행유닛(216)은 연속공정에서 수집된 수집 데이터들간의 연계처리를 위해 동일한 재료 식별자가 매핑되어 있는 매핑 데이터들을 재료 단위로 시간 순서에 따라 정렬하여 제1 정렬 데이터를 생성한다.The data
데이터 정렬 수행유닛(216)은 제1 정렬 데이터들을 동일한 재료 식별자에 대응되는 재료 상에서 해당 데이터가 수집된 수집위치를 기준으로 정렬하여 제2 정렬 데이터를 생성한다.The data
이때, 수집위치는 재료의 길이, 재료의 이동속도, 및 수집 데이터의 수집주기 중 적어도 하나를 이용하여 결정될 수 있다. 예컨대, 데이터 정렬 수행유닛(216)은 재료의 이동속도와 수집주기를 곱한 값 및 재료의 전체 길이를 기준으로 재료 상에서 각 주기 별로 수집 데이터가 수집된 수집위치를 결정할 수 있다. 이에 따라, 데이터 정렬 수행유닛(216)은 제1 정렬 데이터를 재료 상에서 일 방향으로 소정의 위치에서 측정된 데이터로 정렬할 수 있다.In this case, the collection position may be determined using at least one of the length of the material, the moving speed of the material, and the collection period of the collected data. For example, the
데이터 정렬 수행유닛(216)은 서로 다른 수집주기로 제1 공정 및 제2 공정으로부터 각각 수집된 수집 데이터의 연계 처리를 위해, 각 재료 상에서 미리 정해진 간격으로 설정된 기준점들과 제2 정렬 데이터의 수집위치 간의 거리를 기초로 각 기준점들에서의 측정값을 산출하고, 산출된 측정값을 기초로 각 기준점들에서의 기준 데이터를 생성한다.The data
데이터 정렬 수행유닛(216)은 제2 정렬 데이터 및 기준점들에서의 기준 데이터들을 재료 상에서 일 방향으로 순차적으로 정렬한다. 일 실시예에 있어서, 일 방향은 재료의 길이 방향, 재료의 폭 방향, 및 재료의 두께 방향 중 적어도 하나가 될 수 있다.The data
이하에서는 데이터 정렬 수행유닛(216)이 기준 데이터들을 재료 상에서 길이 방향으로 정렬하는 예를 구체적으로 설명한다.Hereinafter, an example in which the data
제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 process, and second reference points are set at predetermined intervals in the longitudinal direction of the second material processed in the second process. In this case, the first material identifier corresponding to the first material is mapped to the first reference data at the first reference points, and the second material identifier corresponding to the second material is mapped to the second reference data at the second reference points. The identifier is mapped. Accordingly, the first reference data and the second reference data are linked based on the first material identifier and the second material identifier on a material family tree (not shown) in which a material identifier is mapped for each material.
즉, 재료 가계도에는 각 재료 식별자가 트리 형태로 연결되어 있어, 이러한 재료 가계도를 참조함으로써 제1 공정 및 제2 공정을 순차적으로 통과하면서 생성되는 재료에게 할당된 재료 식별자를 통해 각 공정의 매핑 데이터들이 서로 연계될 수 있다.In other words, each material identifier is connected in a tree form in the material family tree, and mapping data of each process is displayed through the material identifier assigned to the material that is generated while sequentially passing through the first process and the second process by referring to this material family tree. They can be linked to each other.
데이터 정렬 수행유닛(216)은 상기와 같이 재료의 길이 방향으로 정렬된 제2 정렬 데이터 및 기준 데이터들을 메모리부(220)에 저장한다. The
이와 같이, 프로세싱부(210)는 표준화 데이터에 설비 식별자 또는 재료 식별자와 같은 공정 식별자를 매핑하고, 매핑 데이터를 정렬함으로써 연속공정에서 수집된 수집 데이터들이 연계 처리될 수 있도록 한다.In this way, the
설비이상감지 수행유닛(217)은 설비매핑 수행유닛(213a)로부터 제1 매핑 데이터를 전달받고, 미리 설정된 설비이상판단기준에 따라 설비이상여부를 판단한다. 판단결과, 특정 설비에 이상이 발생한 것으로 판단되면, 설비이상감지 수행유닛(217)은 메모리부(220)에 판단 결과를 저장한다.The facility abnormality
품질이상감지 수행유닛(218)은 데이터 정렬 수행유닛(216)에 의해 정렬된 제2 정렬 데이터를 기초로 미리 설정된 품질이상판단기준에 따라 품질이상여부를 판단한다. 판단결과, 특정 재료의 품질에 이상이 발생한 것으로 판단되면, 품질이상감지 수행유닛(218)은 메모리부(220)에 판단 결과를 저장한다.The quality abnormality
일 실시예에 있어서, 품질이상감지 수행유닛(218)은 제2 정렬 데이터의 평균 및 오차 예측 등의 작업을 통해 품질이상여부 판단식의 레퍼런스로 활용하기 위한 매크로(Macro) 데이터를 생성하고, 제2 정렬 데이터를 품질이상여부 판단식에 입력하여 그 결과에 따라 품질이상을 판단할 수 있다.In one embodiment, the quality abnormality
상술한 실시예에 있어서는 분산병렬처리시스템(200)이 하나의 프로세싱부(210) 및 하나의 메모리부(220)를 통해 표준화 데이터를 매핑 및 정렬하는 것으로 설명하였지만, 변형된 실시예에 있어서 분산병렬처리시스템(200)은 도 5에 도시된 바와 같이 복수개의 프로세싱부(210a, 210b, 210c) 및 복수개의 메모리부(220)를 이용하여 표준화 데이터를 매핑 및 정렬할 수도 있다.In the above-described embodiment, it has been described that the distributed
이하, 도 4 및 도 5를 참조하여 변형된 실시예에 따른 분산병렬처리시스템에 대해 설명한다.Hereinafter, a distributed parallel processing system according to a modified embodiment will be described with reference to FIGS. 4 and 5.
도 5는 복수개의 프로세싱부 및 복수개의 메모리부를 포함하는 분산병렬처리시스템의 구성을 개략적으로 보여주는 도면이다. 분산병렬처리시스템(200)은 복수개의 프로세싱부(210a, 210b, 210c), 복수개의 메모리부(220a, 220b, 220c), 및 수행유닛 배포부(230)를 포함한다.5 is a diagram schematically showing the configuration of a distributed parallel processing system including a plurality of processing units and a plurality of memory units. The distributed
복수개의 프로세싱부(210a, 210b, 210c)에는 표준화 데이터를 매핑 및 정렬하는 복수개의 수행유닛(211~218)들 중 하나 이상의 수행유닛(211~218)이 분산되어 배포된다. 복수개의 프로세싱부(210a, 210b, 210c)는 페치 수행유닛(211), 설비매핑 수행유닛(213a), 재료매핑 수행유닛(213b), 데이터 보정 수행유닛(215), 데이터 정렬 수행유닛(216), 설비이상감지 수행유닛(217), 및 품질이상감지 수행유닛(218) 중 적어도 하나의 수행유닛을 각각 분산하여 병렬처리하고, 최종 결과 데이터를 메모리부(220)에 저장함으로써, 미들웨어 시스템(100)으로부터 전달되는 표준화 데이터를 실시간으로 처리하게 된다.One or
일 실시예에 있어서, 복수개의 프로세싱부(210a, 210b, 210c)는 클러스터링 구조로 구성될 수 있다. 이와 같이, 복수개의 프로세싱부(210a, 210b, 210c)는 클러스터링 구조를 가지기 때문에 특정 프로세싱부에 장애가 발생하면 장애가 발생된 프로세싱부에서 실행중이던 수행유닛(211~218)을 다른 프로세싱부로 이동시킬 수 있어 가용성을 확보할 수 있게 된다.In an embodiment, the plurality of
복수개의 메모리부(220)에는 복수개의 프로세싱부(210a, 210b, 210c)에서 처리된 데이터가 저장된다. 일 실시예에 있어서, 처리 성능을 높이고 장애시 가용성을 보장하기 위해 복수개의 메모리부(220)는 전술한 큐 저장부(121)와 같이 클러스터링 구조를 가질 수 있다. Data processed by the plurality of
복수개의 메모리부(220)는 고가용성(High Availability; HA)을 위해 이중화 구조로 구비될 수 있다. 즉, 각각의 메모리부(220)는 마스터 인스턴스(M) 및 슬레이브 인스턴스(S)를 포함한다. 이러한 경우 제1 메모리부(220a)에 포함된 마스터 인스턴스(M)과 제2 메모리부(220b)에 포함된 슬레이브 인스턴스(S)가 한 쌍으로 동작하고, 제2 메모리부(220b)에 포함된 마스터 인스턴스(M)와 제1 메모리부(220a)에 포함된 슬레이브 인스턴스(S)가 한 쌍으로 동작할 수 있다.The plurality of
슬레이브 인스턴스(S)에 기록된 정렬 데이터는 장애시 복구를 위해 각 데이터가 스크립터(Scripter) 형태의 파일로 백업될 수 있다. 이때, 스크립터 형태의 파일이란 데이터의 쓰기 또는 읽기와 관련된 커맨드가 해당 데이터와 함께 저장되어 있는 형태의 파일을 의미한다. As for the alignment data recorded in the slave instance S, each data may be backed up as a scripter-type file for recovery in case of a failure. In this case, the scripter type file means a file in which commands related to writing or reading data are stored together with the data.
각 메모리부(220)의 마스터 인스턴스(M) 및 슬레이브 인스턴스(S)는 싱글 스레드(Rhread) 형태로 구성되고, 쓰기 및 읽기 별로 인스턴스 및 포트가 분리될 수 있다.The master instance M and the slave instance S of each
이하, 도 6을 참조하여 표준화 데이터의 매핑 및 정렬 작업을 분산병렬처리하는 방법을 예를 들어 설명한다.Hereinafter, a method of performing distributed parallel processing of standardized data mapping and alignment will be described with reference to FIG. 6 as an example.
도 6에 도시된 바와 같이, 제1 프로세싱부(210a)에 페치 수행유닛(211)이 배포되어 있기 때문에, 제1 프로세싱부(210a)는 페치 수행유닛(211)을 실행시킴으로써 페치 수행유닛(211)이 큐 저장부(121)에 접속하여 표준화 데이터를 페치하고, 페치 데이터를 제1 메모리부(220a)의 마스터 인스턴스(M)에 저장하도록 한다. 이때, 제2 메모리부(220b)의 슬레이브 인스턴스(S)에도 데이터가 복제되어 저장된다. 제2 프로세싱부(210b)에는 설비매핑 수행유닛(213a) 및 재료매핑 수행유닛(213b)이 배포되어 있기 때문에, 제2 프로세싱부(210b)는 설비매핑 수행유닛(213a)을 실행시켜 제2 메모리부(220b)의 슬레이브 인스턴스(S) 또는 제1 메모리부(220a)의 슬레이브 인스턴스(S)로부터 독출된 표준화 데이터에 설비 식별자를 매핑하고, 재료매핑 수행유닛(213b)을 실행시켜 표준화 데이터 또는 설비 식별자가 매핑된 제1 매핑 데이터에 재료 식별자를 매핑시킨다.As shown in FIG. 6, since the fetch
제3 프로세싱부(210c)에는 데이터 보정 수행유닛(215) 및 데이터 정렬 수행유닛(216)이 배포되어 있기 때문에, 제3 프로세싱부(210c)는 데이터 보정 수행유닛(215)을 실행시켜 매핑 데이터 중 누락된 데이터를 보정하고, 데이터 정렬 수행유닛(216)을 수행하여 매핑 데이터 또는 보정된 매핑 데이터를 재료 단위로 정렬하여 제2 메모리부(220b)의 마스터 인스턴스(M)에 저장한다. 이때, 제1 메모리부(220a)의 슬레이브 인스턴스(S)에도 데이터가 저장된다. Since the
상술한 실시예에 있어서는, 복수개의 메모리부(220)가 이중화 되어 구성됨으로써 제1 메모리부(220a)에 포함된 마스터 인스턴스(M)과 제2 메모리부(220b)에 포함된 슬레이브 인스턴스(S)가 한 쌍으로 동작하고, 제2 메모리부(220b)에 포함된 마스터 인스턴스(M)와 제1 메모리부(220a)에 포함된 슬레이브 인스턴스(S)가 한 쌍으로 동작하는 것으로 설명하였다.In the above-described embodiment, the plurality of
하지만, 이러한 실시예에 따르는 경우, 마스터 인스턴스(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
따라서, 변형된 실시예에 있어서, 메모리부(220)는 도 7에 도시된 바와 같이, 3중화 구조로 구현될 수 있다. 구체적으로, 변형된 실시예에 따른 메모리부(220) 각각은 마스터 인스턴스(M), 제1 슬레이브 인스턴스(S1), 및 제2 슬레이브 인스턴스(S2)를 포함한다.Accordingly, in a modified embodiment, the
제1 메모리부(220a)에 포함된 마스터 인스턴스(M)은 제2 및 제3 메모리부(220b, 220c)의 제1 슬레이브 인스턴스(S1)들과 한 쌍으로 동작한다. 이에 따라, 제1 메모리부(220a)에 포함된 마스터 인스턴스(M)에 데이터가 기입되면 제2 및 제3 메모리부(220b, 220c)의 제1 슬레이브 인스턴스(S1)들에도 데이터가 복제되어 저장된다.The master instance M included in the
또한, 제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
또한, 제3 메모리부(220c)에 포함된 마스터 인스턴스(M)는 제1 메모리부(220a) 및 제2 메모리부(220b)에 포함된 제2 슬레이브 인스턴스(S1)들과 한 쌍으로 동작한다. 이에 따라, 제3 메모리부(220c)에 포함된 마스터 인스턴스(M)에 데이터가 기입되면 제1 메모리부(220a) 및 제2 메모리부(220b)에 포함된 제2 슬레이브 인스턴스(S1)들에도 데이터가 복제되어 저장된다.Also, the master instance M included in the
다시 도 5를 참조하면, 수행유닛 배포부(230)는 복수개의 수행유닛들(211~218)을 복수개의 프로세싱부(210a~210c)에 배포한다. 또한, 수행유닛 배포부(230)는 프로세싱부(210a~210c)에 배포된 수행유닛들(211~218)의 실행으로 인한 프로세싱부(210a~210c)의 부하량에 따라 복수개의 수행유닛들(211~218)을 프로세싱부(210a~210c)에 재배포할 수 있다.Referring back to FIG. 5, the execution
구체적으로, 수행유닛 배포부(230)는 수행유닛 저장부(232), 배포순서 결정부(234), 및 배포 수행부(236)를 포함한다.Specifically, the performing
먼저, 수행유닛 저장부(232)에는 표준화 데이터의 매핑 및 정렬을 수행하기 위한 복수개의 수행유닛(211~218)이 저장된다.First, the execution
배포순서 결정부(234)는 배포 수행부(236)에 의해 복수개의 수행유닛(211~218)들이 각 프로세싱부(210a~210c)에 배포된 이후, 프로세싱부(210a~210c)의 자원 사용 정보를 판단하여, 복수개의 프로세싱부(210a~210c)의 부하량이 조절될 수 있도록 복수개의 수행유닛(211~218)의 재배포를 위한 배포순서를 결정한다. 일 실시예에 있어서, 배포순서 결정부(234)는 복수개의 프로세싱부(210a~210c)의 부하량이 균등해지도록 복수개의 수행유닛(211~218)의 재배포를 위한 배포순서를 결정할 수 있다. 여기서, 배포순서 결정이란 각 수행유닛(211~218)이 배포될 프로세싱부(210a~210c)를 결정하는 것을 의미한다.Distribution
다른 실시예에 있어서, 배포순서 결정부(234)는 최초 배포된 수행유닛의 실행에 따른 시스템 자원의 평균값 및 시스템 자원의 이용 패턴 중 적어도 하나를 이용하여 복수개의 수행유닛(211~218)의 배포순서를 결정할 수 있다. 이러한 실시예에 따르는 경우, 시스템 자원은, 각 프로세싱부(210a~210c)의 CPU 사용율, 메모리 사용량, 네트워크 통신량, 및 디스크 입출력 처리량 중 적어도 하나를 포함할 수 있다.In another embodiment, the distribution
배포 수행부(236)는 배포순서 결정부(234)에 결정된 배포순서에 따라 복수개의 수행유닛(211~218)들을 복수개의 프로세싱부(210a~210c)에 분산 배포한다.The
구체적으로, 배포 수행부(236)는 수행유닛 저장부(232)에 저장되어 있는 복수개의 수행유닛(211~218)들을 임의로 프로세싱부(210a~210c)로 배포한다. 이후, 미리 정해진 휴지기가 되면 배포 수행부(236)는 각 프로세싱부(210a~210c)에 배포된 수행유닛(211~218)들을 회수하여 수행유닛 저장부(232)에 저장하고, 휴지기가 종료되면 수행유닛 저장부(232)에 저장되어 있는 복수개의 수행유닛(211~218)들을 배포순서 결정부(234)에 의해 결정된 배포순서에 따라 해당 프로세싱부(210a~210c)에 배포한다.Specifically, the
다시 도 1을 참조하면, 고속 빅데이터 분석 시스템(300)은 분산병렬처리시스템(200)에 의해 정렬된 정렬 데이터를 빅데이터 저장 공간에 저장한다. 특히, 본 발명에 따른 고속 빅데이터 분석 시스템(300)은 빅 데이터 저장 공간 내에서 정렬 데이터를 2개의 빅데이터 저장부에 구분하여 저장함으로써 빅데이터 분석 서비스가 실시간으로 제공될 수 있도록 한다.Referring back to FIG. 1, the high-speed big
이하, 도 8을 참조하여 본 발명에 따른 고속 빅데이터 분석 시스템(300)을 구체적으로 설명한다.Hereinafter, a high-speed big
도 8은 본 발명의 일 실시예에 따른 고속 빅데이터 분석 시스템의 구성을 보여주는 블록도이다. 도 8에 도시된 바와 같이, 본 발명의 일 실시예에 따른 고속 빅데이터 분석 시스템(300)은 데이터 처리부(310), 빅데이터 저장부(320), 쿼리 처리부(330), 및 분석장치(340)를 포함한다.8 is a block diagram showing the configuration of a high-speed big data analysis system according to an embodiment of the present invention. As shown in FIG. 8, the high-speed big
데이터 처리부(310)는 정렬 데이터와 이상감지 결과를 분산 병렬 처리하는 것으로서, 완료이벤트 수신유닛(311), 정렬데이터 페치유닛(312), 메모리 큐(313), 데이터 저장유닛(314a), 파일생성유닛(314b), 이상감지 데이터 수신유닛(315), 및 메타데이터 생성유닛(316) 중 적어도 하나의 유닛을 포함하고, 빅데이터 저장부(320)는 데이터 처리부(310)에 의해 정렬 데이터가 저장되는 공간으로써 제1 빅데이터 저장부(322), 제2 빅데이터 저장부(324), 및 모델 저장부(326)를 포함한다.The
완료이벤트 수신유닛(311)은 분산병렬처리시스템(200)의 메모리부(220)를 모니터링하여 완료 이벤트가 새롭게 저장되면 해당 완료 이벤트를 정렬데이터 페치유닛(312)으로 전달한다.The completion
정렬데이터 페치유닛(312)은 완료이벤트 수신유닛(311)으로부터 완료 이벤트가 전달되면, 메모리부(220)에서 완료 이벤트에 해당하는 정렬 데이터를 조회하여 메모리 큐(313)에 저장한다. 일 실시예에 있어서, 정렬데이터 페치유닛(312)은 완료 이벤트에 포함된 키 정보를 이용해서 해당 완료 이벤트에 대응되는 데이터가 메모리부(220)의 어느 파티션 및 디렉토리에 저장되어 있는지 확인함으로써, 메모리부(220)에 저장된 데이터를 조회하여 메모리 큐(313)에 저장할 수 있다.When the completion event is transmitted from the completion
메모리 큐(313)는 정렬데이터 페치유닛(312)에 의해 독출된 정렬 데이터를 빅데이터 저장부(320)에 저장하기 전에 메모리 상에 임시로 보관한다.The
데이터 저장유닛(314a)은 메모리 큐(313)에 저장된 정렬 데이터를 제1 빅데이터 저장부(322)의 인스턴스(Instance) 내에 바이너리(Binary) 형태로 저장한다. 일 실시예에 있어서, 데이터 저장유닛(314a)은 메모리 큐(313)에 저장된 정렬 데이터를 변경하거나 수정하여 제1 빅데이터 저장부(322)에 저장할 수 있다. 또한, 데이터 저장유닛(314a)은 제1 빅데이터 저장부(322)에 저장된 정렬 데이터를 변경 또는 수정할 수도 있다.The
파일생성유닛(314b)은 제1 빅데이터 저장부(322)에 저장된 정렬 데이터를 물리적인 형태의 파일로 생성하여 제2 빅데이터 저장부(324)의 디스크(Disk) 내에 저장한다. 일 실시예에 있어서, 파일생성유닛(314b)은 미리 정해진 이벤트가 발생되면 제1 빅데이터 저장부(322)에 저장된 정렬 데이터를 파일로 생성하여 제2 빅데이터 저장부(324)에 저장할 수 있다.The
예컨대, 파일생성유닛(314b)은 제1 빅데이터 저장부(322)에 저장된 정렬 데이터들 중 미리 정해진 기간이 경과한 정렬 데이터를 파일로 생성하여 제2 빅데이터 저장부(324)에 저장할 수 있다. 다른 예로, 파일생성유닛(314b)은 제1 빅데이터 저장부(322)에 저장된 정렬 데이터들 중 수정 또는 변경이 완료되어 콜드 데이터(Cold Data)가 된 정렬 데이터를 파일로 생성하여 제2 빅데이터 저장부(324)에 저장할 수 있다.For example, the
한편, 파일생성유닛(314b)은 생성한 파일을 제2 빅데이터 저장부(324)에 저장할 때, 파일의 크기를 압축하거나 파일의 포맷을 변경하여 저장할 수도 있다.Meanwhile, when the
일 실시예에 있어서, 파일생성유닛(314b)은 복수개의 파일생성유닛으로 구현될 수 있다. 이를 통해 복수개의 파일 생성유닛(314a~314n)이 파일생성 작업을 병렬적으로 처리할 수 있어 파일생성작업의 속도를 향상시킬 수 있다. 이러한 실시예에 따르는 경우 복수개의 파일생성유닛(314b)들은 서로 클러스터링되어 있을 수 있다. In one embodiment, the
상술한 실시예에 있어서, 파일생성유닛(314b)은 정렬 데이터를 물리적인 형태의 파일로 저장시, 파일을 복수개의 블록 형태로 구분하여 저장할 수 있다. 이에 따라, 파일생성유닛(314b)은 각 블록들이 저장된 위치를 특정하기 위한 메타데이터를 생성하고, 생성된 메타 데이터를 이용하여 제2 빅데이터 저장소(324)에 저장된 파일들을 관리할 수 있다. 이때, 메타데이터 생성을 위해 파일생성유닛(314b)은 각 블록 별로 인덱스를 생성하여 할당하고, 메타 데이터 내에서 인덱스를 이용하여 각 블록들을 특정할 수 있다.In the above-described embodiment, when storing the alignment data as a physical file, the
상술한 실시예에 있어서, 데이터 저장유닛(314a)이 메모리 큐(313)에 저장된 모든 정렬 데이터를 제1 빅데이터 저장부(322)에 저장하고, 파일생성유닛(314b)은 제1 빅데이터 저장부(322)에 저장된 정렬 데이터를 파일형태로 제2 빅데이터 저장부(324)에 기록하는 것으로 설명하였다.In the above-described embodiment, the
하지만, 변형된 실시예에 있어서 데이터 저장유닛(314a)은 메모리 큐(313)에 저장된 정렬 데이터들 중 테이블에 기록시 컬럼(Column)이나 로우(Row)의 개수가 기준치 미만인 정렬 데이터 또는 크기가 기준치 미만인 정렬 데이터를 선별하여 제1 빅데이터 저장부(322)에 저장하고, 컬럼이나 로우의 개수가 기준치 이상인 정렬 데이터 또는 크기가 기준치 이상인 정렬 데이터는 파일생성유닛(314b)이 파일 형태로 직접 생성하여 제2 빅데이터 저장부(324)에 저장할 수도 있다.However, in a modified embodiment, the
상술한 실시예에서 데이터 저장유닛(314a)이 메모리 큐(313)에 저장된 정렬 데이터들 중 컬럼이나 로우의 개수가 기준치 미만이거나 크기가 기준치 미만인 정렬 데이터만 제1 빅데이터 저장부(322)에 저장하는 이유는, 컬럼이나 로우의 개수가 기준치 이상이거나 크기가 기준치 이상인 정렬 데이터를 제1 빅데이터 저장부(322)에 테이블 형태로 기록하게 되면, 로딩에 많은 시간이 소요될 수 있어 실시간 빅데이터 서비스 제공이 어려울 수 있기 때문이다.In the above-described embodiment, among the sorting data stored in the
이상감지 데이터 수신유닛(315)은 분산병렬처리시스템(200)의 메모리부(220)를 모니터링하여 새로운 이상감지 결과가 저장되면 이를 메모리 큐(313)에 저장한다.The abnormality detection
메타데이터 생성유닛(316)은 제1 빅데이터 저장소(322)에 포함된 테이블의 식별자, 테이블위 위치, 해당 테이블 내에서 각 정렬 데이터가 저장된 컬럼 및 로우에 대한 정보를 각 정렬 데이터 별로 매핑한 메타 데이터를 생성하여 저장한다.The
이러한 경우, 파일생성유닛(314b)은 메타데이터 생성유닛(316)에 의해 생성된 메타 데이터를 기준으로 각 테이블에 기록된 데이터들 중 파일로 생성될 데이터를 결정할 수 있다.In this case, the
또한, 메타데이터 생성유닛(316)은 파일생성유닛(314b)에 의해 생성된 파일의 위치, 파일명, 파일이 저장되는 블록 ID, 및 서버의 저장위치 등을 추가로 메타데이터에 기록한다. 예컨대, 메타데이터 생성유닛(316)은 파일생성유닛(314b)에 파일이 생성되면 파일의 위치와 파일명을 메타데이터에 기록하고, 해당 파일이 블록 사이즈보다 커서 5개의 블록으로 나누어 각기 다른 3대의 서버에 저장되는 경우, 15개의 블록 ID와 각 서버의 저장위치를 메타데이터에 추가로 저장한다.In addition, the
제1 빅데이터 저장부(322)에는 메모리 큐(313)에 저장된 정렬 데이터들 중 적어도 일부가 데이터 생성유닛(314a)에 의해 인스턴스 내에 바이너리 형태로 저장된다. 즉, 데이터 생성유닛(314a)을 통해 메모리 큐(313)에 저장된 정렬 데이터들 중 적어도 일부가 제1 빅이터 저장부(322)에 포함된 인스턴스 내에 바이너리 형태로 기록된다.In the first big
이와 같이, 본 발명에 따른 고속 빅데이터 분석 시스템(300)이 정렬 데이터를 제1 빅데이터 저장부(322)에 바이너리 형태로 저장하는 이유는 정렬 데이터를 파일로 저장하는 경우 해당 정렬 데이터의 실시간 열람이 불가능하기 때문이다. 구체적으로, 정렬 데이터가 파일형태로 저장되는 경우 정렬 데이터는 시간단위 또는 일단위로 저장되는데, 파일저장 작업이 종료(Close)될 때까지는 해당 파일에 접근할 수 없어 파일이 저장되는 시간 동안에는 정렬 데이터의 실시간 확인이 불가능하다.As described above, the reason that the high-speed big
더욱이, 정렬 데이터를 파일로 저장할 때 파일의 크기가 커 블록단위로 분할하여 파일을 저장하는 경우 파일저장위치를 별도의 메타데이터로 관리하여야 하는데, 이를 위해서는 블록 별로 인덱스를 할당해야할 뿐만 아니라, 데이터 열람을 위해서는 별도의 메타 데이터 및 인덱스의 로딩이 요구되고 메타 데이터 및 인덱스 로딩에도 많은 시간이 소요되므로 데이터의 실시간 확인이 불가능해진다.Moreover, when storing the sorted data as a file, when the file is divided into blocks and saved as the size of the file is large, the file storage location must be managed as separate metadata. To do this, indexes must be allocated for each block as well as data browsing. For this, it is necessary to load separate meta data and index, and because it takes a lot of time to load meta data and index, real-time confirmation of data becomes impossible.
이에 따라, 본 발명에 따른 고속 빅데이터 분석 시스템(300)은 정렬 데이터를 1차적으로 제1 빅데이터 저장부(322)의 인스턴스 내에 바이너리 형태로 저장함으로써 정렬 데이터의 실시간 확인이 가능하도록 할 수 있다.Accordingly, the high-speed big
제2 빅데이터 저장부(324)에는 제1 빅데이터 저장부(322)에 저장된 정렬 데이터들 중 파일생성유닛(314b)에 의해 선별된 정렬 데이터들이 물리적인 파일형태로 저장된다. The alignment data selected by the
상술한 실시예에 있어서, 제1 및 제2 빅데이터 저장부(322, 324)를 포함하는 빅데이터 저장부(320)는 분산파일시스템(Distributed File System) 기반으로 구현될 수 있다. In the above-described embodiment, the big
한편, 제1 및 제2 빅데이터 저장부(322, 324)는 각각 도 9에 도시된 바와 같이 마스터 노드(320a) 및 데이터 노드(320b)로 구성될 수 있다. 마스터 노드(320a)는 정렬 데이터가 기록된 테이블 또는 정렬 데이터들의 파일을 데이터 노드들(320b)에 저장하고, 데이터 노드(320b)에 저장된 테이블 또는 파일의 조회를 위한 작업(Job)을 생성 및 관리한다.Meanwhile, the first and second big
여기서, 작업(Job)이란 데이터 노드(320b)에 저장된 테이블 또는 파일을 조회하기 위해 쿼리 처리 장치(330)로부터 수신되는 쿼리를 처리하기 위한 단위를 의미한다. Here, a job refers to a unit for processing a query received from the
특히, 마스터 모드(320a)는 데이터 노드(320b)에 저장된 데이터의 조회에 대한 작업(Job) 실행시 각 작업(Job)에 대한 분배 및 특정 파일의 데이터를 로딩할 때, 메타데이터 생성유닛(316)에 의해 생성된 메타데이터를 데이터의 위치 정보로 활용하게 된다.In particular, the master mode (320a), when executing a job (Job) for querying of data stored in the data node (320b), distribution for each job (Job) and when loading data of a specific file, metadata generation unit (316) The metadata generated by) is used as the location information of the data.
데이터 노드(320b)에는 정렬 데이터들의 테이블 또는 파일이 저장된다. 데이터 노드(320b)는 복수개로 구현될 수 있다. 이러한 경우, 각 데이터 노드(320b)에 포함된 저장부에 테이블 또는 파일이 모두 저장된다. A table or file of sorting data is stored in the
다시 도 8을 참조하면, 모델 저장부(326)에는 빅데이터 분석을 위한 적어도 하나의 빅데이터 분석모델이 저장된다. 일 실시예에 있어서 빅데이터 분석모델은 실시간성 빅데이터 분석모델과 비실시간성 빅데이터 분석모델을 포함할 수 있다. 예컨대, 실시간성 빅데이터 분석모델은 재료나 제품에 대한 품질을 판정하기 위해 필요한 품질판정모델, 수집 데이터가 발생된 설비의 모니터링을 위한 설비모니터링 분석모델, 및 수집 데이터가 발생된 공정의 이상발생여부를 감지하기 위한 이상발생 감지모델 중 적어도 하나를 포함할 수 있고, 비실시간성 빅데이터 분석모델은 인공지능 학습모델 및 트렌드 분석 중 적어도 하나를 포함할 수 있다.Referring back to FIG. 8, at least one big data analysis model for big data analysis is stored in the
일 실시예에 있어서, 분석모델은 통계식으로 구성되거나 AI 모델로 구성될 수 있다.In one embodiment, the analysis model may be composed of a statistical formula or may be composed of an AI model.
쿼리 처리부(330)는 빅데이터 저장부(320)에 저장된 데이터를 조회하여 데이터를 리턴한다, 이를 위해, 쿼리 처리부(330)는 쿼리수신유닛(332), 쿼리실행유닛(336), 및 쿼리결과 전송유닛(338) 중 적어도 하나의 유닛을 포함한다. 쿼리 처리부(330)는 쿼리 스케줄링유닛(334)을 더 포함할 수 있다.The
구체적으로, 쿼리수신유닛(332)은 사용자로부터 쿼리를 수신하고 수신된 쿼리구문을 해석한다.Specifically, the
쿼리실행유닛(336)은 쿼리 수신유닛(322)을 통해 수신된 쿼리를 빅 데이터 저장부(320)로 전달함으로써 쿼리가 실행되도록 하고, 빅 데이터 저장부(320)로부터 쿼리 실행 결과를 획득한다. 일 실시예에 있어서, 쿼리실행유닛(336) 쿼리실행시 메타데이터 생성유닛(316)에 의해 생성된 메타데이터를 이용하여 해당 쿼리가 빅 데이터 저장부(320) 중 제1 빅데이터 저장부(322)로 전달되어야 할 쿼리인지 제2 빅데이터 저장부(324)로 전달되어야 할 쿼리인지 여부를 결정할 수 있다.The query execution unit 336 transmits the query received through the
쿼리결과 전송유닛(338)은 쿼리수행 결과 빅 데이터 저장부(320)로부터 획득되는 쿼리 실행결과를 해당 쿼리를 요청한 사용자에게 전달한다.The query result transmission unit 338 transmits the query execution result obtained from the query execution result big
한편, 쿼리 스케줄링유닛(334)은 쿼리수신유닛(332)을 통해 수신된 쿼리가 복수개의 하부 쿼리들로 구성되어 있는 경우, 수신된 쿼리를 각 하부 쿼리로 분류하여 쿼리 실행유닛(336)으로 전달한다.On the other hand, when the query received through the
일 실시예에 있어서, 쿼리수신유닛(332)은 API 서비스 제공 시스템(400)을 통해 제공되는 API(Application Programming Interface)를 통해 쿼리를 수신할 수 있다. 구체적으로, 리퀘스터로부터 고속 빅데이터 분석 시스템(300)에 접속할 수 있는 API의 실행요청 및 특정 이벤트가 수신되면, API 서비스 제공 시스템(400)은 해당 API를 실행시킴으로써 해당 이벤트에 상응하는 쿼리를 생성하고, 생성된 쿼리를 쿼리수신유닛(332)으로 전송한다. 또한, API 서비스 제공 시스템(400)은 API를 통해 해당 쿼리에 대응되는 실행결과를 획득하여 리퀘스터에게 제공할 수 있다.In an embodiment, the
분석장치(340)는 리퀘스터(Requester)로부터 모델 저장부(326)에 저장된 적어도 하나의 빅데이터 분석모델 중 어느 하나의 실행이 요청되면, 실행요청된 빅데이터 분석모델을 실행시키고, 해당 빅데이터 분석모델의 실행을 통해 획득된 빅데이터 분석결과를 리퀘스트로 리턴한다.When an execution of any one of the at least one big data analysis model stored in the
이를 위해, 분석장치(340)는 도 8에 도시된 바와 같이, 분석모델 호출부(342), 분석모델 실행부(344), 및 분석결과 전송부(346)를 포함한다.To this end, the
분석모델 호출부(342)는 리퀘스트로부터 분석모델 실행요청이 수신되면, 실행 요청된 빅데이터 분석모델의 모델 식별자(Identifier: ID)을 특정하고, 특정된 빅데이터 분석모델의 모델 식별자에 해당하는 분석모델을 모델 저장부(326)로부터 로딩함으로써 해당 빅데이터 분석모델을 호출한다.When the analysis model execution request is received from the request, the analysis
분석모델 실행부(344)는 호출된 빅데이터 분석모델을 제1 빅데이터 저장부(322)에 저장된 정렬 데이터 및 제2 빅데이터 저장부(3340) 저장된 파일 중 적어도 하나를 이용하여 실행시킴으로써 빅데이터 분석결과를 획득한다.The analysis
일 예로 분석모델 호출부(342)를 통해 품질판정모델, 설비모니터링 분석모델, 및 이상발생 감지모델과 같은 실시간성 빅데이터 분석모델이 호출된 경우 제1 빅데이터 저장부(322)에 저장된 정렬 데이터를 이용하여 해당 빅데이터 분석모델을 실행시킴으로써 실시간으로 빅데이터 분석이 실행될 수 있도록 한다.For example, when a real-time big data analysis model such as a quality determination model, a facility monitoring analysis model, and an abnormality detection model is called through the analysis
다른 예로, 분석모델 호출부(342)를 통해 인공지능 학습모델 및 트렌드 분석과 같은 비실시간성 빅데이터 분석모델이 호출된 경우 분석모델 실행부(344)는 제2 빅데이터 저장부(324)에 저장된 파일을 이용하여 해당 빅데이터 분석모델을 실행시킴으로써 비실시간성 빅데이터 분석이 수행될 수 있도록 한다. 이때, 트렌드 분석의 경우 정확도를 향상시키기 위해 분석모델 실행부(344)는 제1 빅데이터 저장부(322)에 저장된 정렬 데이터를 추가로 이용할 수도 있다.As another example, when a non-real-time big data analysis model such as an artificial intelligence learning model and trend analysis is called through the analysis
분석결과 전송부(346)는 분석모델 실행부(344)에 의해 획득된 빅데이터 분석결과를 리퀘스트로 전송한다.The analysis
일 실시예에 있어서, 리퀘스터는 API 서비스 제공 시스템(400)을 통해 제공되는 API를 이용하여 분석장치(340)에 접속할 수 있다. 구체적으로, 리퀘스터로부터 분석장치(340)에 접속할 수 있는 API의 실행요청 및 특정 분석모델의 실행요청이 요청되면, API 서비스 제공 시스템(400)은 해당 API를 실행시킴으로써 분석모델 호출부(342)가 특정 분석모델을 호출할 수 있도록 한다. 또한, API 서비스 제공 시스템(400)은 API를 통해 분석결과 전송부(346)로부터 빅데이터 분셕결과를 획득하여 리퀘스터로 제공할 수 있다.In an embodiment, the requester may access the
다시 도 1을 참조하면, API 서비스 제공 시스템(400)은 리퀘스터(Requester, 500)와 스마트팩토리 플랫폼(1000)을 구성하는 각 시스템(100, 200, 300)들간의 접속을 위한 API를 실행시킨다.Referring back to FIG. 1, the API
구체적으로, API 서비스 제공 시스템(400)은 리퀘스터(500)로부터 접속하기 원하는 타겟 시스템에 대응되는 API의 식별정보와 명령어를 포함하는 이벤트가 수신되면, 해당 API를 실행함으로써 해당 이벤트에 대한 실행결과를 리퀘스터(500)로 리턴한다.Specifically, when an event including identification information and a command of an API corresponding to a target system to be accessed from the
본 발명에서 API 서비스 제공 시스템(400)을 통해 리퀘스터(500)와 각 시스템(100, 200, 300)간의 접속을 위한 API를 제공하는 이유는, API를 통해 표준적인 데이터 인터페이스를 제공함으로써 각 시스템(100, 200, 300)의 인프라 및 솔루션이 변경되더라도 그에 따른 별도의 소프트웨어를 개발할 필요가 없어 소프트웨어 개발 생산성을 향상시킬 수 있기 때문이다.In the present invention, the reason for providing an API for connection between the requester 500 and each
구체적으로, 리퀘스터(500)가 각 시스템(100, 200, 300)의 전용 인터페이스를 통해 각 시스템(100, 200, 300)에 직접 접속하는 경우 각 시스템(100, 200, 300)의 서버, 스토리지, 또는 네트워크 등과 같은 각종 인프라 자원 또는 적용 오픈소스나 라이브러리가 버전업 되면 리퀘스트(500)를 구성하는 소프트웨어의 변경이 요구될 수 밖에 없다.Specifically, when the requester 500 directly connects to each
하지만, 본 발명과 같이 리퀘스터(500)가 API를 통해 각 시스템(100, 200, 300)에 접속하는 경우 각 시스템(100, 200, 300)의 인프라 및 솔루션이 변경되더라도 리퀘스터(500)에 대한 소프트웨어의 변경은 요구되지 않기 때문에 각 시스템(100, 200, 300)의 인프라 및 솔루션 변경으로 인한 영향을 최소화할 수 있게 된다.However, as in the present invention, when the requester 500 accesses each
또한, 데이터 저장 및 활용 유형별로 API 서비스를 제공할 수 있어 인프라 자원에 대한 효율성을 제공할 수 있고 사용자에게 보다 빠른 서비스를 제공할 수 있게 된다.In addition, API services can be provided for each data storage and utilization type, so that efficiency for infrastructure resources can be provided, and faster services can be provided to users.
또한, 각 시스템(100, 200, 300)으로부터 데이터를 획득하기 위해 리퀘스터(500)가 각 시스템(100, 200, 300)에 직접 접근하지 않고, 각 시스템(100, 200, 300)별로 제공되는 API를 통해 해당 시스템(100, 200, 300)에 접근하여 이벤트에 대한 호출서비스 및 피드백 서비스를 제공받을 수 있기 때문에, 리퀘스터(500)의 입장에서는 시스템 접근 편의성이 향상될 수 있다.In addition, in order to obtain data from each system (100, 200, 300), the
이하, 본 발명에 따른 API 서비스 제공 시스템(400)의 구성을 도 10을 참조하여 보다 구체적으로 설명한다.Hereinafter, the configuration of the API
도 10은 본 발명의 일 실시예에 따른 API 서비스 제공 시스템의 구성을 보여주는 블록도이다. 도 10에 도시된 바와 같이, 본 발명의 일 실시예에 따른 API 서비스 제공 시스템(400)은 API 인증부(411), API 게이트웨이(412), 및 API 서버(413)를 포함한다. 또한, 본 발명의 일 실시예에 따른 API 서비스 제공 시스템(400)은 API 관리부(414), 정책관리부(415), API 로깅부(416), 및 로그 데이터베이스(417) 중 적어도 하나를 더 포함할 수 있다.10 is a block diagram showing the configuration of an API service providing system according to an embodiment of the present invention. As shown in FIG. 10, the API
먼저, API 인증부(411)는 리퀘스터(500)로부터 API 사용요청이 수신되면, 해당 리퀘스터가 해당 API를 사용할 권한이 있는지 여부를 인증한다. 일 실시예에 있어서, API 사용요청은 리퀘스터(500)의 식별정보 및 해당 리퀘스터(500)가 사용하고자 하는 API의 식별정보를 포함할 수 있다.First, when an API use request is received from the
구체적으로, API 인증부(411)는 각 리퀘스터(500)가 사용할 수 있는 API 의 식별정보가 기록된 API 리스트를 참조하여 API 사용요청에 포함된 API를 해당 리퀘스트(500)가 사용할 수 있는지 여부를 확인한다. 확인 결과 해당 리퀘스트(500)가 해당 API를 사용할 수 있는 것으로 판단되면 해당 리퀘스터(500)가 정당한 리퀘스트인 것으로 인증하여 해당 리퀘스터(500)에게 토큰을 발행한다. 이때, 토큰은 일정기간 동안 해당 리퀘스트(500)가 해당 API를 이용할 권한이 있음을 인증해 주는 전자서명 역할을 수행한다.Specifically, the
일 실시예에 있어서, API 인증부(411)는 토큰 발급시 토큰 발급리스트 상에 각 토큰 별로 해당 토큰의 유효기간 및 이를 사용할 수 있는 리퀘스터(500)의 식별정보를 매핑하여 저장할 수 있다.In an embodiment, the
한편 API 인증부(411)는 API 게이트웨이(412)로부터 특정토큰이 유효한 토큰인지 여부에 대한 확인요청이 수신되면, 토큰 발급리스트 상에서 확인요청된 토큰의 유효기간을 확인함으로써 확인요청된 토큰이 유효한 토큰인지 여부를 확인한다. 확인결과, 토큰의 유효성 여부가 확인요청된 시간이 토큰 발급리스트 상에 기록된 유효기간 이내인 경우 API 인증부(411)는 해당 토큰이 유효한 것이라는 확인결과를 생성하여 API 게이트웨이(412)로 전송한다.On the other hand, when the
API 인증부(411)는 API 게이트웨이(412)로부터 특정토큰이 유효한 토큰인지 여부에 대한 확인요청이 수신되면 토큰 발급리스트 상에서 확인요청된 토큰의 유효기간뿐만 아니라 해당 토큰을 사용할 수 있는 리퀘스터(500)의 식별정보를 추가로 확인하여 해당 토큰이 유효한 토큰인지 여부를 확인할 수도 있다.When the
API 게이트웨이(412)는 리퀘스트(500)로부터 API 실행요청을 수신한다. API 실행요청에는 해당 리퀘스터(500)가 API 인증부(411)로부터 발급받은 토큰, 해당 리퀘스터(500)가 사용할 API의 식별정보, 및 해당 API를 이용하여 실행할 이벤트(또는 명령어)가 포함된다. 이때, 이벤트 또는 명령어는 API를 이용하여 각 시스템(100, 200, 300)에 대해 수행할 데이터 조회요청 또는 쿼리실행요청을 포함할 수 있다.The
API 게이트웨이(412)는 리퀘스터(500)로부터 API 실행요청이 수신되면, API 실행요청에 포함된 토큰이 유효한 토큰인지 여부를 API 인증부(411)에게 확인요청한다. API 인증부(411)로부터 해당 토큰이 유효한 것이라는 확인결과가 수신되면, API 게이트웨이(412)는 API 실행요청에 포함된 API의 식별정보 및 이벤트를 API 서버(413)로 전송함으로써 API 서버(413)가 해당 API를 호출하여 해당 이벤트를 기초로 API를 실행시킬 수 있도록 한다.When an API execution request is received from the
또한 API 게이트웨이(412)는 해당 API의 실행에 따른 실행결과가 API 서버(413)로부터 수신되면, 수신된 실행결과를 리퀘스터(500)로 전달한다.In addition, when the execution result according to the execution of the API is received from the
API 서버(413)는 API 게이트웨이(412)로부터 API의 식별정보 및 이벤트가 수신되면, API의 식별정보에 대응되는 API를 호출하여 실행시킴으로써 API 게이트웨이(412)를 통해 수신된 이벤트가 해당 API를 통해 수행될 수 있도록 한다.When the
예컨대, API 식별정보에 대응되는 API가 미들웨어 시스템(100)으로의 접속을 위한 API인 경우 API 서버(413)는 도 2에 도시된 바와 같이 미들웨어 시스템(100)으로의 접속을 위한 제1 API를 실행하여 미들웨어 시스템(100)의 큐 저장부(121)에 접속하고, 수신된 이벤트가 큐 저장부(121)에 기록되어 있는 표준화 데이터의 조회요청인 경우 해당 API를 통해 큐 저장부(121)에서 표준화 데이터를 조회함으로써 실행결과를 획득한다.For example, if the API corresponding to the API identification information is an API for accessing the
다른 예로, API 식별정보에 대응되는 API가 분산병렬처리시스템(200)의 메모리부(220)로의 접속을 위한 API인 경우 API 서버(413)는 도 4에 도시된 바와 같이 분산병렬처리시스템(200)의 메모리부(220)로의 접속을 위한 제2 API를 실행하여 분산병렬처리시스템(200)의 메모리부(220)에 접속하고, 수신된 이벤트가 메모리부(220)에 기록된 정렬 데이터의 조회요청인 경우 제2 API를 통해 메모리부(220)에 접속하여 메모리부(220)에서 정렬 데이터를 조회함으로써 실행결과를 획득한다.As another example, when the API corresponding to the API identification information is an API for accessing the
또한, API 식별정보에 대응되는 API가 분산병렬처리시스템(200)의 페치수행유닛(211)으로의 접속을 위한 API인 경우 API 서버(413)는 도 4에 도시된 바와 같이 분산병렬처리시스템(200)의 페치수행유닛(211)으로의 접속을 위한 제3 API를 실행하여 분산병렬처리시스템(200)의 페치수행유닛(211)에 접속하고, 수신된 이벤트가 분산병렬처리시스템(200)의 페치수행유닛(211)에 대한 데이터 전달요청인 경우 제3 API를 통해 페치수행유닛(211)에 접속하여 해당 데이터를 페치수행유닛(211)으로 전달한다In addition, when the API corresponding to the API identification information is an API for accessing the fetching
한편, API 식별정보에 대응되는 API가 분산병렬처리시스템(200)의 설비이상 감지 수행유닛(217) 또는 품질이상 감지 수행유닛(218)으로의 접속을 위한 API인 경우 API 서버(413)는 도 4에 도시된 바와 같이 분산병렬처리시스템(200)의 설비이상 감지 수행유닛(217) 또는 품질이상 감지 수행유닛(218)으로의 접속을 위한 제4 API를 실행하여 분산병렬처리시스템(200)의 설비이상 감지 수행유닛(217) 또는 품질이상 감지 수행유닛(218)에 접속하고, 수신된 이벤트가 분산병렬처리시스템(200)의 설비이상 감지 수행유닛(217) 또는 품질이상 감지 수행유닛(218)으로부터의 이벤트 수신인 경우 제4 API를 통해 설비이상 감지 수행유닛(217) 또는 품질이상 감지 수행유닛(218)에 접속하여 설비이상 감지 수행유닛(217) 또는 품질이상 감지 수행유닛(218)에서 발생된 이벤트를 수신한다.On the other hand, when the API corresponding to the API identification information is an API for accessing the facility abnormality
또 다른 예로, API 식별정보에 대응되는 API가 빅데이터 분석 시스템(300)의 쿼리처리부(330)로의 접속을 위한 API인 경우 API 서버(413)는 도 4에 도시된 바와 같이 분석 시스템(300)의 쿼리처리부(330)로의 접속을 위한 제5 API를 실행하여 분석 시스템(300)의 쿼리처리부(330)에 접속하고, 수신된 이벤트가 빅데이터 저장소(320)에 기록된 데이터 조회요청인 경우 해당 API의 실행을 통해 데이터 조회요청에 대한 쿼리를 생성하여 쿼리처리부(330)로 전송하고, 해당 쿼리의 실행으로 획득되는 데이터를 API를 통해 수신한다.As another example, when the API corresponding to the API identification information is an API for accessing the
한편, API 식별정보에 대응되는 API가 빅데이터 분석 시스템(300)의 분석장치(340)로의 접속을 위한 API인 경우 API 서버(413)는 도 4에 도시된 바와 같이 분석 시스템(300)의 분석장치(340)로의 접속을 위한 제6 API를 실행하여 분석 시스템(300)의 분석장치(340)에 접속하고, 수신된 이벤트가 특정 분석모델의 실행요청인 경우 API 서버(413)는 제6 API의 실행을 통해 분석장치(340)가 특정 분석모델을 호출할 수 있도록 하고, 해당 분석모델의 실행에 따른 빅데이터 분석결과를 분석장치(340)로부터 수신한다.On the other hand, when the API corresponding to the API identification information is an API for accessing the
API 서버(413)는 수신된 이벤트에 따른 API의 실행에 의해 획득된 실행결과를 API 게이트웨이(412)를 통해 리퀘스터(500)로 제공한다. 일 실시예에 있어서, API 서버(413)는 실행결과를 API 게이트웨이(412)를 경유하지 않고 직접 리퀘스터(500)로 전송할 수도 있다. 구체적으로, API 서버(413)는 실행결과의 데이터 양이 미리 정해진 기준치를 초과하는 경우 해당 실행결과를 직접 리퀘스터(500)로 전송할 수 있다.The
API 관리부(414)는 API의 추가, 삭제, 또는 수정을 수행한다. 구체적으로, API 관리부(414)는 API에 대한 함수를 새로 정의함으로써 API를 추가할 수 있다. 또한, API 관리부(414)는 기존 API 함수를 수정하거나 또는 API를 삭제할 수도 있다. API에 대한 함수는 각 해당 API가 접속할 시스템(100, 200, 300)에 대한 정보, 해당 API를 이용하는 리퀘스터(500)에 대한 정보, 호출할 쿼리구문 또는 함수, 조건값, 전달할 데이터, 전달할 이벤트, 회신여부, 회신유형 등을 포함하는 파라미터로 구성될 수 있다.The
정책관리부(415)는 각 리퀘스터(500) 별로 해당 리퀘스터(500)가 사용할 수 있는 API 식별정보들이 매핑되어 있는 API 리스트를 생성한다. API 리스트에는 각 리퀘스터(500)의 식별정보와 해당 리퀘스터(500)가 사용할 수 있는 API 식별 정보가 매핑되어 기록된다. The
API 로깅부(416)는 API 게이트웨이(412) 또는 API 서버(413)를 통해 송수신되는 실행결과 및 이벤트를 로그 데이터베이스(417)에 기록한다. 이때, API 로깅부(416)는 실행결과 또는 이벤트의 송수신 시간을 해당 실행결과 또는 이벤트와 매핑시켜 로그 데이터베이스(417)에 기록한다.The
다시 도 1을 참조하면, 리퀘스터(500)는 스마트팩토리 플랫폼(1000)에 이벤트를 전송하거나 스마트팩토리 플랫폼(1000)으로부터 데이터를 수신하는 다양한 형태의 시스템 또는 사용자를 포함한다.Referring back to FIG. 1, the
일 실시예에 있어서, 리퀘스터(500)는 API 서비스 제공 시스템(400)에 의해 제공되는 API를 통해 스마트팩토리 플랫폼(1000)에 접속할 수 있다.In one embodiment, the
이러한 리퀘스터(500)는 앱(App), 어플리케이션((Application), 작업(Job), 또는 사용자(User)를 포함할 수 있다.The
앱은 모바일에 설치되어 특화된 기능 또는 서비스를 담당하는 소프트웨어를 의미한다. 어플리케이션은 MES, SCM, ERP와 같은 레거시(Legacy) 시스템을 의미하는 것으로서 웹(Web) 화면을 통해 데이터 및 이벤트를 조회하거나 전송하거나 웹 화면이 없이 AP서버 형태로 실행되는 시스템을 의미한다. An app refers to software that is installed on the mobile and is in charge of specialized functions or services. An application refers to a legacy system such as MES, SCM, and ERP, and refers to a system that searches or transmits data and events through a web screen, or runs in the form of an AP server without a web screen.
작업은 API 서비스 호출을 위해 생성된 프로세스상의 작업을 의미하며, 하나의 작업은 또 다른 작업을 호출 할 수 있다.Task refers to a task in a process created to call an API service, and one task can call another task.
사용자는 다양한 분석 툴 또는 BI 툴을 통해 직접 쿼리를 실행하거나 API를 호출하는 개발자 및 운영자를 의미하거나, 프로그램 개발을 위해 API를 호출하는 개발자 및 운영자 등 플랫폼 API서비스를 호출하는 사용자를 의미한다.Users refer to developers and operators who directly execute queries or call APIs through various analysis tools or BI tools, or users who call platform API services such as developers and operators who call APIs for program development.
본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다.Those of ordinary skill in the art to which the present invention pertains will be able to understand that the above-described present invention can be implemented in other specific forms without changing the technical spirit or essential features thereof.
그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.Therefore, it should be understood that the embodiments described above are illustrative in all respects and not limiting. The scope of the present invention is indicated by the claims to be described later rather than the detailed description, and all changes or modified forms derived from the meaning and scope of the claims and their equivalent concepts should be interpreted as being included in the scope of the present invention. do.
Claims (17)
상기 전처리된 수집데이터에 상기 수집데이터가 발생된 공정의 공정 식별자를 매핑하여 매핑 데이터를 생성하고, 생성된 매핑 데이터를 미리 정해진 기준에 따라 정렬하여 정렬 데이터를 생성하는 분산병렬처리시스템; 및
빅데이터 분석모델을 이용하여 상기 정렬 데이터를 분석하는 고속 빅데이터 분석 시스템을 포함하고,
상기 고속 빅데이터 분석 시스템은,
상기 정렬 데이터가 인스턴스 내에 바이너리 형태로 저장되는 제1 빅데이터 저장부;
상기 제1 빅데이터 저장부에 저장된 정렬 데이터가 디스크 내에 파일로 저장되는 제2 빅데이터 저장부;
미리 정해진 이벤트가 발생되면 상기 제1 빅데이터 저장부에 저장된 정렬 데이터를 상기 파일로 생성하여 상기 제2 빅데이터 저장부에 저장하는 파일생성유닛; 및
상기 제1 빅데이터 저장부에 저장된 정렬 데이터를 실시간성 빅데이터 분석모델을 이용하여 분석하고, 상기 제2 빅데이터 저장부에 저장된 정렬 데이터를 비실시간성 빅데이터 분석모델을 이용하여 분석하는 분석장치를 포함하는 것을 특징으로 하는 고속 빅데이터 분석을 수행하는 스마트팩토리 시스템.A middleware system that pre-processes the collected data collected from the data collection device;
A distributed parallel processing system for generating mapping data by mapping a process identifier of a process in which the collected data is generated to the pre-processed collected data, and generating alignment data by aligning the generated mapping data according to a predetermined criterion; And
Including a high-speed big data analysis system for analyzing the alignment data using a big data analysis model,
The high-speed big data analysis system,
A first big data storage unit in which the alignment data is stored in an instance in a binary format;
A second big data storage unit for storing the alignment data stored in the first big data storage unit as a file in the disk;
A file generation unit generating the alignment data stored in the first big data storage unit as the file when a predetermined event occurs and storing the alignment data in the second big data storage unit; And
An analysis device that analyzes the alignment data stored in the first big data storage unit using a real-time big data analysis model, and analyzes the alignment data stored in the second big data storage unit using a non-real-time big data analysis model Smart factory system for performing high-speed big data analysis comprising a.
상기 실시간성 빅데이터 분석모델은 재료 또는 제품에 대한 품질판정을 위한 품질판정모델, 상기 수집 데이터가 발생된 설비의 모니터링을 위한 설비모니터링 분석모델, 및 상기 수집 데이터가 발생된 공정의 이상발생여부를 감지하기 위한 이상발생 감지모델 중 적어도 하나를 포함하는 것을 특징으로 하는 고속 빅데이터 분석을 수행하는 스마트팩토리 시스템.The method of claim 1,
The real-time big data analysis model includes a quality determination model for quality determination of materials or products, a facility monitoring analysis model for monitoring facilities in which the collected data is generated, and whether or not an abnormality occurs in the process in which the collected data is generated. Smart factory system for performing high-speed big data analysis, characterized in that it comprises at least one of the abnormal occurrence detection models for detection.
상기 비실시간성 빅데이터 분석모델은 인공지능 학습모델 및 트렌드 분석 중 적어도 하나를 포함하는 것을 특징으로 하는 고속 빅데이터 분석을 수행하는 스마트팩토리 시스템.The method of claim 1,
The non-real-time big data analysis model is a smart factory system for performing high-speed big data analysis, characterized in that it includes at least one of an artificial intelligence learning model and a trend analysis.
상기 미리 정해진 이벤트는, 미리 정해진 기간이 경과하거나 상기 정렬 데이터의 변경이 완료되어 상기 정렬 데이터가 확정되는 것인 것을 특징으로 하는 고속 빅데이터 분석을 수행하는 스마트팩토리 시스템.The method of claim 1,
The predetermined event is a smart factory system for performing high-speed big data analysis, characterized in that the alignment data is determined after a predetermined period has elapsed or a change of the alignment data is completed.
상기 고속 빅데이터 분석 시스템은
상기 분산병렬처리시스템의 메모리부로부터 상기 정렬 데이터를 독출하는 정렬데이터 페치유닛;
상기 독출된 정렬 데이터를 상기 제1 빅데이터 저장부의 상기 인스턴스에 기록하는 데이터 저장부를 더 포함하는 것을 특징으로 하는 고속 빅데이터 분석을 수행하는 스마트팩토리 시스템;The method of claim 1,
The high-speed big data analysis system
An alignment data fetch unit reading the alignment data from a memory unit of the distributed parallel processing system;
A smart factory system for performing high-speed big data analysis, further comprising a data storage unit for recording the read alignment data in the instance of the first big data storage unit;
상기 파일생성유닛은 상기 메모리부에 저장된 정렬 데이터들 중 미리 정해진 크기를 초과하는 정렬 데이터를 상기 파일로 직접 생성하여 상기 제2 빅데이터 저장부에 저장하는 것을 특징으로 하는 고속 빅데이터 분석을 수행하는 스마트팩토리 시스템.The method of claim 6,
The file generation unit performs high-speed big data analysis, characterized in that the alignment data exceeding a predetermined size among the alignment data stored in the memory unit is directly generated as the file and stored in the second big data storage unit. Smart factory system.
상기 고속 빅데이터 분석 시스템은 적어도 하나의 빅데이터 분석모델이 저장된 모델저장부를 더 포함하고,
상기 분석장치는 리퀘스터(Requester)의 요청에 따라 상기 적어도 하나의 빅데이터 분석모델 중 어느 하나에 대한 실행요청이 수신되면 상기 실행요청된 빅데이터 분석모델을 실행시켜 빅데이터 분석결과를 획득하고, 획득된 빅데이터 분석결과를 상기 리퀘스터로 리턴하고,
상기 빅데이터 분석모델 중 어느 하나에 대한 실행요청은 상기 리퀘스터와 상기 고속 빅데이터 분석 시스템간의 접속을 위한 API(Application Programming Interface)를 통해 수신되고, 상기 빅데이터 분석결과는 상기 API 를 통해 상기 리퀘스터로 제공되는 것을 특징으로 하는 고속 빅데이터 분석을 수행하는 스마트팩토리 시스템.The method of claim 1,
The high-speed big data analysis system further includes a model storage unit storing at least one big data analysis model,
When an execution request for any one of the at least one big data analysis model is received in response to a request from a requester, the analysis device executes the requested big data analysis model to obtain a big data analysis result, Return the obtained big data analysis result to the requester,
An execution request for any one of the big data analysis models is received through an application programming interface (API) for connection between the requester and the high-speed big data analysis system, and the big data analysis result is received through the API. A smart factory system that performs high-speed big data analysis, characterized in that it is provided as a tester.
상기 분석장치는,
상기 실행요청된 빅데이터 분석모델을 상기 모델저장부로부터 로딩함으로써 해당 빅데이터 분석모델을 호출하는 분석모델 호출부;
상기 호출된 빅데이터 분석모델을 실행시켜 상기 빅데이터 분석결과를 획득하는 분석모델 실행부; 및
상기 분석모델 실행부에 의해 획득된 상기 빅데이터 분석결과를 상기 리퀘스터로 전송하는 분석결과 전송부를 더 포함하는 것을 특징으로 하는 고속 빅데이터 분석을 수행하는 스마트팩토리 시스템.The method of claim 8,
The analysis device,
An analysis model calling unit for calling a corresponding big data analysis model by loading the requested big data analysis model from the model storage unit;
An analysis model execution unit that executes the called big data analysis model to obtain the big data analysis result; And
A smart factory system for performing high-speed big data analysis, further comprising: an analysis result transmission unit for transmitting the analysis result of the big data obtained by the analysis model execution unit to the requester.
상기 분석모델 실행부는 상기 실행요청된 빅데이터 분석모델이 재료 또는 제품에 대한 품질판정을 위한 품질판정모델, 상기 수집 데이터가 발생된 설비의 모니터링을 위한 설비모니터링 분석모델, 및 상기 수집 데이터가 발생된 공정의 이상발생여부를 감지하기 위한 이상발생 감지모델 중 적어도 하나를 포함하는 실시간성 빅데이터 분석모델인 경우 상기 제1 빅데이터 저장부에 저장된 정렬 데이터를 이용하여 해당 분석모델을 실행시켜 상기 빅데이터 분석결과를 획득하는 것을 특징으로 하는 고속 빅데이터 분석을 수행하는 스마트팩토리 시스템.The method of claim 9,
In the analysis model execution unit, the big data analysis model requested to be executed is a quality determination model for quality determination of materials or products, a facility monitoring analysis model for monitoring the facility in which the collected data is generated, and the collected data are generated. In the case of a real-time big data analysis model including at least one of an abnormality detection model for detecting whether an abnormality occurs in a process, the big data is executed by executing the corresponding analysis model using the alignment data stored in the first big data storage A smart factory system that performs high-speed big data analysis, characterized in that acquiring analysis results.
상기 분석모델 실행부는 상기 실행요청된 빅데이터 분석모델이 인공지능 학습모델 및 트렌드 분석 중 적어도 하나를 비실시간성 빅데이터 분석모델인 경우 상기 제2 빅데이터 저장부에 저장된 파일을 이용하여 해당 분석모델을 실행시켜 상기 빅데이터 분석결과를 획득하는 것을 특징으로 하는 고속 빅데이터 분석을 수행하는 스마트팩토리 시스템.The method of claim 9,
The analysis model execution unit uses a file stored in the second big data storage unit when the requested big data analysis model is a non-real-time big data analysis model for at least one of an artificial intelligence learning model and a trend analysis. Smart factory system for performing high-speed big data analysis, characterized in that to obtain the big data analysis result by executing.
상기 고속 빅데이터 분석 시스템은,
상기 분산병렬처리시스템의 메모리부를 모니터링하여 상기 정렬 데이터의 저장완료를 나타내는 완료 이벤트를 수신하는 완료이벤트 수신유닛; 및,
상기 완료이벤트 수신유닛으로부터 상기 완료 이벤트가 전달되면 상기 메모리부를 조회하여 상기 완료 이벤트에 대응되는 상기 정렬데이터를 획득하는 정렬데이터 페치유닛을 더 포함하는 것을 특징으로 하는 고속 빅데이터 분석을 수행하는 스마트팩토리 시스템.The method of claim 1,
The high-speed big data analysis system,
A completion event receiving unit for monitoring a memory unit of the distributed parallel processing system to receive a completion event indicating completion of storing the alignment data; And,
When the completion event is transmitted from the completion event receiving unit, a smart factory for performing high-speed big data analysis, further comprising an alignment data fetching unit for inquiring the memory unit to obtain the alignment data corresponding to the completion event. system.
상기 정렬데이터 페치유닛은 상기 완료 이벤트에 포함된 키 정보를 이용해서 해당 완료 이벤트에 대응되는 정렬 데이터가 저장된 메모리부의 파티션 정보 및 디렉토리 정보를 획득하고, 획득된 파티션 정보 및 디렉토리 정보를 참조하여 상기 메모리부에서 상기 정렬데이터를 획득하는 것을 특징으로 하는 고속 빅데이터 분석을 수행하는 스마트팩토리 시스템.The method of claim 12,
The alignment data fetch unit acquires partition information and directory information of a memory unit in which alignment data corresponding to a corresponding completion event is stored using key information included in the completion event, and refers to the obtained partition information and directory information to the memory. A smart factory system that performs high-speed big data analysis, characterized in that the unit acquires the alignment data.
상기 고속 빅데이터 분석 시스템은 외부로부터 입력되는 쿼리를 실행하여 상기 쿼리에 대한 실행결과를 리턴하는 쿼리 처리부를 더 포함하는 것을 특징으로 하는 고속 빅데이터 분석을 수행하는 스마트팩토리 시스템.The method of claim 1,
The high-speed big data analysis system further comprises a query processing unit that executes a query input from an external source and returns an execution result for the query.
상기 쿼리는 리퀘스터와 상기 고속 빅데이터 분석 시스템간의 접속을 위한 API를 통해 생성되고, 상기 쿼리에 대한 실행결과는 상기 API 를 통해 상기 리퀘스터로 제공되는 것을 특징으로 하는 고속 빅데이터 분석을 수행하는 스마트팩토리 시스템.The method of claim 14,
The query is generated through an API for connection between the requester and the high-speed big data analysis system, and the execution result of the query is provided to the requester through the API. Smart factory system.
상기 공정 식별자 매핑은 상기 수집 데이터가 발생된 설비의 설비 식별자 매핑 및 상기 설비를 통해 가공된 재료의 재료 식별자 매핑 중 적어도 하나를 포함하는 것을 특징으로 하는 고속 빅데이터 분석을 수행하는 스마트팩토리 시스템.The method of claim 1,
The process identifier mapping includes at least one of a facility identifier mapping of a facility in which the collected data is generated and a material identifier mapping of a material processed through the facility. A smart factory system for performing high-speed big data analysis.
상기 정렬데이터는 상기 공정 식별자가 매핑된 매핑 데이터들을 수집 시간 순서 및 재료 단위 중 적어도 하나에 따라 정렬하여 생성되는 것을 특징으로 하는 고속 빅데이터 분석을 수행하는 스마트팩토리 시스템.
The method of claim 1,
The alignment data is generated by arranging mapping data to which the process identifier is mapped according to at least one of a collection time sequence and a material unit.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20180015650 | 2018-02-08 | ||
KR1020180015650 | 2018-02-08 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190100846A KR20190100846A (en) | 2019-08-29 |
KR102210972B1 true KR102210972B1 (en) | 2021-02-02 |
Family
ID=67775758
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180174051A KR102210972B1 (en) | 2018-02-08 | 2018-12-31 | Smart Factory System for Performing High Speed Big Data Analysis |
KR1020180174072A KR102216311B1 (en) | 2018-02-08 | 2018-12-31 | Smart Factory System Based on Application Programming Interface |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180174072A KR102216311B1 (en) | 2018-02-08 | 2018-12-31 | Smart Factory System Based on Application Programming Interface |
Country Status (1)
Country | Link |
---|---|
KR (2) | KR102210972B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220110943A (en) | 2021-02-01 | 2022-08-09 | (주)한도씨앤에스 | Control and management system for realizing smart factory |
KR102436870B1 (en) | 2022-05-31 | 2022-08-26 | 주식회사 영일메카텍 | Machine Integrated Monitoring System for Smart Factory Implementation |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102106373B1 (en) | 2019-11-11 | 2020-05-04 | 이민우 | Manufacturing execution system for smart factory based on blockchain interworking |
WO2021107180A1 (en) * | 2019-11-27 | 2021-06-03 | 위즈코어 주식회사 | Manufacturing big data-based machine learning apparatus and method |
KR102311784B1 (en) * | 2020-01-17 | 2021-10-12 | 경상국립대학교 산학협력단 | Building Method of Plastic Working Process Information Based on AI |
WO2021222436A1 (en) * | 2020-04-28 | 2021-11-04 | Buckman Laboratories International, Inc. | Contextual modeling and proactive inventory management system and method for industrial plants |
KR102411291B1 (en) * | 2020-09-25 | 2022-06-27 | (주)디엘정보기술 | Method of evaluating quality of smart factory data |
KR102509402B1 (en) * | 2020-12-09 | 2023-03-13 | 주식회사 에이앤에이 | A method for processing the event on the platform |
CN116881304B (en) * | 2023-07-25 | 2024-03-22 | 连云港电子口岸信息发展有限公司 | API gateway arrangement management system and method based on distributed EDI |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101663580B1 (en) * | 2013-03-08 | 2016-10-07 | 심플렉스 인터넷 주식회사 | Electronic commerce recommendation and analysis sysmem, and recommendation and analysis sysmem method |
KR20150112357A (en) * | 2014-03-27 | 2015-10-07 | (주)시엠아이코리아 | Sensor data processing system and method thereof |
KR20170062244A (en) * | 2015-11-27 | 2017-06-07 | 주식회사 비디 | Api managing apparatus |
KR102089818B1 (en) * | 2015-12-31 | 2020-03-17 | 주식회사 포스코아이씨티 | System for processing big data in a realtime |
-
2018
- 2018-12-31 KR KR1020180174051A patent/KR102210972B1/en active IP Right Grant
- 2018-12-31 KR KR1020180174072A patent/KR102216311B1/en active IP Right Grant
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220110943A (en) | 2021-02-01 | 2022-08-09 | (주)한도씨앤에스 | Control and management system for realizing smart factory |
KR102436870B1 (en) | 2022-05-31 | 2022-08-26 | 주식회사 영일메카텍 | Machine Integrated Monitoring System for Smart Factory Implementation |
Also Published As
Publication number | Publication date |
---|---|
KR102216311B1 (en) | 2021-02-17 |
KR20190100847A (en) | 2019-08-29 |
KR20190100846A (en) | 2019-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102210972B1 (en) | Smart Factory System for Performing High Speed Big Data Analysis | |
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 | |
CN107798460B (en) | Intelligent factory platform for processing data obtained in a continuous process | |
CN102298365B (en) | Method for automatically identifying and managing spaceflight measurement and control earth station device change | |
KR101951526B1 (en) | Interface Middleware System for Smart Factory Platform and Method for Operating The Same | |
US20090089325A1 (en) | Targeted resource allocation | |
CN106383916B (en) | Data processing method based on predictive maintenance of industrial equipment | |
KR101938946B1 (en) | Interface Middleware System for Collecting Mass Data and Method for Collecting Data of Interface Middleware System | |
CN112016828B (en) | Industrial equipment health management cloud platform architecture based on streaming big data | |
CN104392297A (en) | Method and system for realizing non-business process irregularity detection in large data environment | |
CN109308290B (en) | Efficient data cleaning and converting method based on CIM | |
KR20180026596A (en) | Distributed Parallel Processing System for Processing Data Of Continuous Process In Rea Time | |
CN116842055A (en) | System and method for integrated processing of internet of things data batch flow | |
US5729736A (en) | Access analysis method and system in parallel data base system | |
CN117172641A (en) | Production logistics management platform based on block chain and digital twin and implementation method | |
KR101892352B1 (en) | Middleware system for standardizing data of continuous process | |
KR101951527B1 (en) | Real time processing system of mass data for managing memory cache automatically | |
KR102032680B1 (en) | Distributed Parallel Processing System for Processing Data Of Continuous Process In Real Time | |
CN116483831A (en) | Recommendation index generation method for distributed database | |
KR102312523B1 (en) | Interface Middleware System for Collecting Mass Data | |
CN112311679B (en) | State detection method, state detection device, electronic equipment and readable storage medium | |
CA2485159A1 (en) | Comparison of processing protocols | |
CN112689804B (en) | Method for integrating data of assets of a technical installation into a platform, digital platform and computer program product | |
Martino et al. | Benchmarking management techniques for massive IIoT time series in a fog architecture |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |