KR102216311B1 - Api 기반의 스마트팩토리 시스템 - Google Patents

Api 기반의 스마트팩토리 시스템 Download PDF

Info

Publication number
KR102216311B1
KR102216311B1 KR1020180174072A KR20180174072A KR102216311B1 KR 102216311 B1 KR102216311 B1 KR 102216311B1 KR 1020180174072 A KR1020180174072 A KR 1020180174072A KR 20180174072 A KR20180174072 A KR 20180174072A KR 102216311 B1 KR102216311 B1 KR 102216311B1
Authority
KR
South Korea
Prior art keywords
api
data
unit
requester
execution
Prior art date
Application number
KR1020180174072A
Other languages
English (en)
Other versions
KR20190100847A (ko
Inventor
양원모
고정규
신국남
Original Assignee
주식회사 포스코아이씨티
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 포스코아이씨티 filed Critical 주식회사 포스코아이씨티
Publication of KR20190100847A publication Critical patent/KR20190100847A/ko
Application granted granted Critical
Publication of KR102216311B1 publication Critical patent/KR102216311B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4183Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by data acquisition, e.g. workpiece identification
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • 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
    • G05B23/0218Electric 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/0221Preprocessing 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
    • 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)
  • General Factory Administration (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

API를 이용하여 리퀘스터를 스마트팩토리 플랫폼에 접속시킬 수 있는 본 발명의 일 측면에 따른 API 서비스 기반의 스마트팩토리 시스템은 데이터 수집장치로부터 수집된 수집데이터를 전처리하는 미들웨어 시스템; 상기 전처리된 수집데이터에 상기 수집데이터가 발생된 공정의 공정 식별자를 매핑하여 매핑 데이터를 생성하고, 생성된 매핑 데이터를 미리 정해진 기준에 따라 정렬하여 정렬 데이터를 생성하는 분산병렬처리시스템; 빅데이터 분석모델을 이용하여 상기 정렬데이터를 분석하는 빅데이터 분석 시스템; 및 상기 미들웨어 시스템, 상기 분산병렬처리시스템, 및 상기 빅데이터 분석 시스템 중 적어도 하나에 접속하기 위한 API(Application Programming Interface)를 실행하여 해당 시스템에 접속하고, 리퀘스터(Requester)로부터 수신된 이벤트에 대한 실행결과를 해당 시스템으로부터 획득하여 상기 리퀘스터로 제공하는 API 서버를 포함하는 것을 특징으로 한다.

Description

API 기반의 스마트팩토리 시스템{Smart Factory System Based on Application Programming Interface}
본 발명은 공장관리시스템에 관한 것으로서, 보다 구체적으로는 스마트팩토리에 관한 것이다.
원재료를 이용하여 완제품을 생성하기 위한 복수개의 공정들이 연속적으로 수행되고, 각 공정의 산출물들이 서로 혼합되거나 특정 공정의 산출물의 상태가 변화하여 후속 공정으로 공급되는 것과 같이, 각 공정들이 서로 관련되어 있는 생산 방식을 연속공정 생산방식이라 한다. 철강산업, 에너지산업, 제지산업, 또는 정유산업 등이 연속공정 생산방식이 적용되는 대표적인 산업들이다.
이러한 연속공정 생산방식이 적용되는 산업의 경우, 단일공정 생산방식이 적용되는 산업과 달리, 원재료 또는 중간재가 고속으로 이동하기 때문에 데이터 수집 주기가 짧고 데이터의 양이 많을 뿐만 아니라, 소음, 먼지, 수분 등이 많은 공장 환경에서 제품이 생산되기 때문에 계측이상이 자주 발생하고, 작업 방법에 따라 중간재들이 서로 혼합되거나 소재의 위치가 이동한다는 특성이 있다.
이에 따라, 연속공정 생산방식이 적용되는 산업의 경우 많은 데이터를 실시간으로 처리할 수 있고, 각 공정 별로 발생된 데이터들을 연계하여 처리할 수 있는 시스템이 요구된다.
하지만, 대한민국 공개특허공보 제10-2015-0033847호(발명의 명칭: 실시간 공장상황을 반영한 디지털 팩토리 생산능력 관리 시스템, 2015.04.02. 공개) 등에 개시되어 있는 일반적인 공장 데이터 처리 시스템(예컨대, 철강 데이터 처리 시스템)은 단일 공정에서 발생하는 데이터의 처리 및 분석을 위한 것이기 때문에, 연속 공정에서 발생하는 많은 데이터를 실시간으로 처리할 수 없을 뿐만 아니라, 각 공정별로 발생된 데이터들 간의 연관관계를 분석할 수 없다는 문제점이 있다.
또한, 기존의 공장데이터 처리 시스템의 경우 공장데이터 처리 시스템에 특정 명령을 전달하거나 수집 데이터를 조회하고자 하는 경우, 사용자는 공장데이터 처리 시스템에 특화된 전용 인터페이스를 통해 해당 공장데이터 처리시스템에 접속해야만 하기 때문에, 공장데이터 처리 시스템을 구성하는 서버, 네트워크 등과 같은 인프라 자원이나 공장데이터 처리 시스템에 적용된 솔루션이 변경되는 경우 공장데이터 처리 시스템에 접속하기 위한 소프트웨어를 모두 수정해야만 한다는 문제점이 있다.
본 발명은 상술한 문제점을 해결하기 위한 것으로서 API를 이용하여 리퀘스터를 스마트팩토리 플랫폼에 접속시킬 수 있는 API 기반의 스마트팩토리 시스템을 제공하는 것을 그 기술적 과제로 한다.
상술한 기술적 과제를 달성하기 위한 본 발명의 일 측면에 따른 API 서비스 기반의 스마트팩토리 시스템은 데이터 수집장치로부터 수집된 수집데이터를 전처리하는 미들웨어 시스템; 상기 전처리된 수집데이터에 상기 수집데이터가 발생된 공정의 공정 식별자를 매핑하여 매핑 데이터를 생성하고, 생성된 매핑 데이터를 미리 정해진 기준에 따라 정렬하여 정렬 데이터를 생성하는 분산병렬처리시스템; 빅데이터 분석모델을 이용하여 상기 정렬데이터를 분석하는 빅데이터 분석 시스템; 상기 미들웨어 시스템, 상기 분산병렬처리시스템, 및 상기 빅데이터 분석 시스템 중 적어도 하나에 접속하기 위한 API(Application Programming Interface)를 실행하여 해당 시스템에 접속하고, 리퀘스터(Requester)로부터 수신된 이벤트에 대한 실행결과를 해당 시스템으로부터 획득하여 상기 리퀘스터로 제공하는 API 서버; 및 상기 리퀘스터로부터 API의 식별정보 및 상기 이벤트가 포함된 API 실행요청이 수신되면 상기 API의 식별정보 및 상기 이벤트를 상기 API 서버로 전송하고, 상기 API 서버로부터 제공되는 상기 실행결과를 상기 리퀘스터로 제공하는 API 게이트웨이를 포함하고, 상기 API 서버는 상기 실행결과의 데이터 양이 미리 정해진 기준치를 초과하면 상기 실행결과를 상기 리퀘스터로 직접 전송하는 것을 특징으로 한다.
본 발명에 따르면, API를 통해 타겟 시스템에 접속할 수 있는 표준 인터페이스를 제공할 수 있어 타겟 시스템의 인프라 자원이나 솔루션이 변경되는 경우에도 해당 타겟 시스템에 접속하기 위한 앱이나 어플리케이션을 변경할 필요 없어 개발비용을 절감할 수 있다는 효과가 있다.
또한, 데이터 저장 및 활용 유형별로 API를 제공할 수 있어 인프라 자원에 대한 효율성을 제공할 수 있고 사용자에게 보다 빠른 서비스를 제공할 수 있다는 효과가 있다.
또한, 리퀘스터가 타겟 시스템에 직접 접근하지 않고, 타겟 시스템 별로 제공되는 API를 통해 타겟 시스템에 접근하여 이벤트에 대한 호출서비스 및 피드백 서비스를 제공받을 수 있기 때문에 타겟 시스템에 대한 리퀘스터의 접근 편의성을 향상시킬 수 있다는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 스마트팩토 아키텍쳐를 보여주는 도면이다.
도 2는 본 발명의 일 실시예에 따른 미들웨어 시스템의 구성을 보여주는 블록도이다.
도 3은 복수개의 프로세싱부 및 복수개의 큐 저장부를 포함하는 미들웨어 시스템의 구성을 보여주는 도면이다.
도 4는 본 발명의 일 실시예에 따른 분산병렬처리시스템의 구성을 구체적으로 보여주는 도면이다.
도 5는 복수개의 프로세싱부 및 복수개의 메모리부를 포함하는 분산병렬처리시스템의 구성을 보여주는 도면이다.
도 6은 데이터 매핑 및 정렬 작업의 분산병렬처리방법을 예시적으로 보여주는 개념도이다.
도 7은 3중화된 메모리부의 구성을 보여주는 도면이다.
도 8은 본 발명의 일 실시예에 따른 고속 빅데이터 분석 시스템의 구성을 구체적으로 보여주는 도면이다.
도 9는 도 8에 도시된 제1 또는 제2 빅데이터 저장부의 구성의 일 예를 보여주는 도면이다.
도 10은 본 발명의 일 실시예에 따른 API 서비스 제공 시스템의 구성을 구체적으로 보여주는 도면이다.
이하, 첨부되는 도면을 참고하여 본 발명의 실시예들에 대해 상세히 설명한다.
본 명세서에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다. 단수의 표현은 문맥상 명백하게 다르게 정의하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다.
"포함하다" 또는 "가지다" 등의 용어는 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
"적어도 하나"의 용어는 하나 이상의 관련 항목으로부터 제시 가능한 모든 조합을 포함하는 것으로 이해되어야 한다. 예를 들어, "제1 항목, 제2 항목 및 제 3항목 중에서 적어도 하나"의 의미는 제1 항목, 제2 항목 또는 제3 항목 각각 뿐만 아니라 제1 항목, 제2 항목 및 제3 항목 중에서 2개 이상으로부터 제시될 수 있는 모든 항목의 조합을 의미한다.
도 1은 본 발명의 일 실시예에 따른 스마트팩토리 아키텍쳐를 보여주는 도면이다.
도 1에 도시된 바와 같이, 본 발명에 따른 스마트팩토리 아키텍쳐(10)는 데이터 수집 시스템(1), 네트워크 시스템(2), 및 스마트팩토리 플랫폼(1000)을 포함한다.
데이터 수집 시스템(1)은 공정에서 발생되는 데이터를 수집한다. 일 실시예에 있어서, 데이터 수집 시스템(1)은 복수개의 공정들이 연속하여 수행되는 연속공정에서 발생되는 데이터를 수집할 수 있다. 연속공정이란 원재료를 이용하여 완제품을 생성하기 위한 복수개의 공정들이 연속적으로 수행되고, 각 공정의 산출물들이 서로 혼합되거나 특정 공정의 산출물의 상태가 변화하여 후속 공정으로 공급되는 방식의 공정을 의미한다. 철강공정이 이러한 연속공정의 대표적인 예에 해당한다. 이하에서는 설명의 편의를 위해, 데이터 수집 시스템(1)이 철강공정과 같은 연속공정에 적용되는 것으로 가정하여 설명하기로 한다.
철강공정은 제선공정, 제강공정, 연주공정, 및 압연공정 등과 같은 다양한 공정으로 구성되므로, 데이터 수집 시스템(1)은 제선공정, 제강공정, 연주공정, 및 압연공정 등과 같은 다양한 공정의 진행 과정에서 발생되는 마이크로 데이터(Micro Data)를 수집한다. 여기서, 마이크로 데이터는 다양한 센서 등을 통해 수집된 데이터 그 자체로서 원시 데이터(Raw Data)를 의미한다. 이하에서는, 설명의 편의를 위해 연속공정에서 수집된 마이크로 데이터를 수집 데이터로 표기하기로 한다.
데이터 수집 시스템(1)은 연속공정에서 발생된 데이터를 수집하기 위한 다양한 계측기, 센서, 액츄에이터 등을 포함한다. 데이터 수집 시스템(1)은 계측기, 센서, 액츄에이터 등에 의해 수집된 데이터를 통합하거나 제어하는 P/C, PLC(Programmable Logic Controller), DCS(Distributed Control System) 등을 더 포함할 수 있다.
네트워크 시스템(2)은 수집 데이터를 스마트팩토리 플랫폼(1000)으로 전달한다. 네트워크 시스템(2)은 네트워크 케이블, 게이트웨이, 라우터, 또는 무선 AP(Access Point) 등을 포함할 수 있다.
스마트팩토리 플랫폼(1000)은 네트워크 시스템(2)을 통해 수집 데이터를 수신한다. 스마트팩토리 플랫폼(1000)은 수집 데이터를 가공하고, 가공된 수집 데이터를 기초로 설비 또는 재료 등의 이상유무를 판단하며, 저장된 데이터에 대한 조회 및 분석 서비스를 제공한다.
일 실시예에 있어서, 본 발명에 따른 스마트팩토리 플랫폼(1000)은 도 1에 도시된 바와 같이, 미들웨어 시스템(100), 분산병렬처리 시스템(200), 고속 빅데이터 분석시스템(300), 및 API 서비스 제공 시스템(400)을 포함한다.
미들웨어 시스템(100)은 수집 데이터를 전처리 한다. 미들웨어 시스템(100)은 Level 0 내지 Level 2의 장치들과 연결된다. 이하, 도 2 및 도 3을 참조하여 본 발명에 따른 미들웨어 시스템(100)에 대해 보다 구체적으로 설명한다.
도 2는 본 발명의 일 실시예에 따른 미들웨어 시스템의 구성을 보여주는 블록도이고, 도 3은 복수개의 프로세싱부 및 복수개의 큐 저장부를 포함하는 미들웨어 시스템의 구성을 보여주는 도면이다.
도 2 및 도 3을 참조하여 보다 구체적으로 설명하면, 미들웨어 시스템(100)은 인터페이싱부(110) 및 큐 서버(120)를 포함한다. 또한, 미들웨어 시스템(100)은 미들웨어 관리부(130) 및 큐 관리부(140)를 더 포함할 수 있다,
인터페이싱부(110)는 수집 데이터의 연계처리를 위해 수집 데이터들을 전처리한다. 인터페이싱부(110)는 수집 데이터를 표준화함으로써 수집 데이터를 전처리할 수 있다. 이를 위해, 인터페이싱부(110)는 파싱유닛(112), 표준화유닛(113), 필터링유닛(114), 및 전송유닛(115) 중 적어도 하나의 유닛을 포함한다.
파싱유닛(112)은 수집 데이터를 파싱하여 파싱 데이터를 생성한다. 수집 데이터는 복수개의 항목 ID를 포함하는 그룹 ID, 수집시간, 및 복수개의 측정값이 반복되는 구조를 가질 수 있다. 이 때, 항목 ID는 측정된 속성을 식별하기 위한 것으로 설비, 재료, 또는 제품의 속성들 중 어떤 속성이 측정된 것인지를 나타내는 값으로 온도나 습도 등이 될 수 있다. 그룹 ID는 특정 공장에서 위치 별 또는 각 공정 별로 몇 가지 항목을 그룹으로 편성한 대표값이 될 수 있다. 그룹 ID 내에 수집시간이 포함될 수 있다.
파싱유닛(112)은 수집 데이터가 별도의 구분없이 그룹 ID, 수집시간, 및 복수개의 측정값이 반복되는 형태로 수신되는 경우, 수집 데이터의 연계처리를 위해, 수집 데이터를 미리 설정된 레이아웃에 기초하여 파싱한다.
파싱유닛(112)은 수집 데이터를 그룹 ID별로 파싱하고, 그룹 ID에 포함된 복수의 항목 ID와 복수의 측정값을 각각 매칭시켜 단일 항목 ID, 수집 시간, 및 단일 측정값을 갖는 형태의 파싱 데이터를 생성할 수 있다.
파싱유닛(112)은 수집 데이터 전문에 대한 메시지 레이아웃에 기초하여 수집 데이터를 파싱할 수 있다.
표준화유닛(113)은 파싱 데이터를 표준화하여 표준화 데이터를 생성한다. 표준화유닛(113)은 각각의 파싱 데이터에 대해서, 미리 설정된 표준변환기준에 따라 각 파싱 데이터에 포함되어 있는 항목 ID를 표준항목 ID로 변환하고 파싱 데이터에 포함되어 있는 측정값의 단위 및 자리수를 통일시킴으로써 파싱 데이터를 표준화할 수 있다. 이때, 미리 설정된 표준변환기준은 다양한 센서 등의 항목 ID별로 설정된 표준항목 ID와 각 표준항목 ID에 따른 기준 단위 및 자리수를 포함할 수 있다.
표준화유닛(113)은 측정된 속성이 동일한 데이터들이 동일한 항목 ID를 갖도록 각 파싱 데이터에 포함된 항목 ID를 표준항목 ID로 변경할 수 있다.
표준화유닛(113)은 파싱 데이터들 중 측정된 속성이 동일한 파싱 데이터들이 동일한 표준항목 ID를 갖도록 파싱 데이터를 전처리함으로써 연속공정에서 수집된 데이터들이 표준항목 ID에 기초하여 연계 처리될 수 있도록 한다.
필터링유닛(114)은 미리 설정된 필터링 기준에 따라 표준화 데이터들 중 큐 서버(120)에 저장할 표준화 데이터를 선택한다. 일례로, 표준화 데이터의 종류에 따라 등급이 미리 설정되어 있고, 필터링유닛(114)은 상기 등급에 따라 큐 서버(120)에 저장할 표준화 데이터를 선택할 수 있다. 일 실시예에 있어서, 등급은 표준화 데이터의 표준항목 ID를 기준으로 중요도에 따라 결정될 수 있다. 필터링유닛(114)은 선택된 표준화 데이터를 전송유닛(115)으로 전송한다.
전송유닛(115)은 필터링유닛(114)으로부터 제공되는 표준화 데이터를 큐 서버(120)에 저장한다. 전송유닛(115)은 표준화 데이터를 그룹 ID 또는 표준항목 ID별로 큐 서버(120)의 큐 저장부(121)에 저장할 수 있다.
전송유닛(115)은 복수개의 큐 저장부(121)의 부하를 고려하여 부하가 적은 큐 저장부(121)에 표준화 데이터를 저장할 수 있다. 다른 실시예에 있어서, 복수개의 큐 서버(120) 들 중 공장이나 공정 별로 표준화 데이터가 저장될 큐 서버(120)가 미리 설정되어 있는 경우, 전송유닛(115)은 표준화 데이터를 해당 표준화 데이터에 대해 설정되어 있는 큐 서버(120)에 저장한다.
전송유닛(115)은 인터페이싱부(110)의 동작모드에 따라 표준화 데이터의 저장 여부를 결정할 수 있다. 구체적으로, 전송유닛(115)은 인터페이싱부(110)의 동작모드가 정상모드인 경우 표준화 데이터를 주기적으로 큐 서버(120)에 저장하고, 인터페이싱부(110)의 동작모드가 대기모드인 경우 표준화 데이터의 저장을 중지할 수 있다. 이때, 인터페이싱부(110)의 동작모드는 복수개의 큐 서버(120) 중 정상 동작하는 큐 서버(120)의 개수에 기초하여 결정될 수 있다.
인터페이싱부(110)는 데이터 병합유닛(116)을 더 포함할 수 있다. 데이터 병합유닛(116)은 데이터 처리성능 향상을 위해 수집 데이터를 병합(Merge)하여 파싱유닛(112)으로 전달한다. 일 실시예에 있어서, 데이터 병합유닛(116)은 일정시간 간격(예: 0.1초, 1초, 1분 등)으로 수신되는 수집 데이터를 병합한다.
연속공정의 특성상 아주 짧은 주기(예: 5㎳ 내지 20㎳)로 수집 데이터가 파싱유닛(112)으로 전달될 수 있는데, 데이터 병합유닛(116)은 모니터링을 위해 필요한 수집 데이터는 병합하지 않고 파싱유닛(112)으로 바로 전달하고, 나머지 수집 데이터는 일정시간 간격으로 병합하여 파싱유닛(112)으로 전달할 수 있다.
이 때, 모니터링을 위해 필요한 수집 데이터인지 여부는 수집 데이터의 중요도에 따라 설정될 수 있다. 예컨대, 이상이 발생할 경우 즉각적인 조치가 필요한 설비나 재료로부터 수집된 수집 데이터는 모니터링을 위해 필요한 수집 데이터로 설정될 수 있다.
일 실시예에 있어서 미들웨어 시스템(100)은 인터페이싱부(110)의 동작모드를 관리하기 위해 미들웨어 관리부(130) 및 큐 관리부(140)를 더 포함할 수 있다.
미들웨어 관리부(130)는 동작 확인유닛(131)에서 큐 서버(120)의 정상 동작여부를 판단하고, 모드 관리유닛(132)에서 인터페이싱부(110)의 동작 모드를 결정한다.
이를 통해, 인터페이싱부(110)의 가용성을 높일 수 있고 큐 서버(120)의 장애시 능동적인 대응을 통해 인터페이싱부(110)의 2차 장애를 방지할 수 있다.
동작 확인유닛(131)은 복수개의 큐 서버(120)의 정상 동작 여부를 판단한다. 일 실시예에 있어서 동작 확인유닛(131)은 검사신호에 대한 응답에 기초하여 복수개의 큐 서버(120)가 정상 동작하는지 판단할 수 있다. 동작 확인유닛(131)은 검사신호에 대해 큐 서버(120)로부터 응답이 없거나 미리 약속된 형식의 응답이 수신되지 않는 경우 해당 큐 서버(120)가 정상 동작하지 않는 것으로 판단한다.
모드 관리유닛(132)은 복수개의 큐 서버(120)의 동작 상태에 기초하여 인터페이싱부(110)의 동작 모드를 결정한다. 모드 관리유닛(132)은 인터페이싱부(110)의 동작모드를 인터페이싱부(110)로 전달한다.
일 실시예에 있어서 모드 관리유닛(132)은 복수개의 큐 서버(120) 중에서 정상 동작하는 큐 서버(120)의 개수에 기초하여 인터페이싱부(110)의 동작모드를 결정할 수 있다. 구체적으로, 모드 관리유닛(132)은 데이터 수집 시스템(1)으로부터 수신되는 수집 데이터의 양과 정상 동작하는 큐 서버(120)의 개수를 비교하고, 수신되는 수집 데이터의 양이 정상 동작하는 큐 서버(120)의 용량을 초과하지 않는 경우 인터페이싱부(110)의 동작 모드를 정상 모드로 결정할 수 있다. 이 때, 수집 데이터의 양이란 실시간으로 수신되는 수집 데이터의 양 또는 주기적으로 수신되는 수집 데이터의 양에 대한 평균치를 의미할 수 있다.
일례로, 모드 관리유닛(132)은 아래의 표 1과 같이 인터페이싱부(110)의 동작 모드를 결정할 수 있다.
큐 저장부 개수 정상 동작하는 큐 저장부 개수 비정상 동작하는 큐 저장부 개수 동작모드
3 3 0 정상모드
3 2 1 주의모드
3 1 2 대기모드
3 0 3 대기모드
모드 관리유닛(132)에 의해 정상모드로 결정되면 인터페이싱부(110)는 복수개의 큐 서버(120) 중 미리 설정된 큐 서버(120)에 표준화 데이터를 저장한다. 모드 관리유닛(132)에 의해 주의모드로 결정되면 인터페이싱부(110)는 비정상 동작하는 큐 서버(120)를 제외한 나머지 큐 서버(120)에 표준화 데이터를 저장한다. 모드 관리유닛(132)에 의해 대기모드로 결정되면 인터페이싱부(110)는 수집 데이터 수신 및 표준화 데이터 저장을 중지한다.이때, 주의모드는 복수개의 큐 서버(120) 중 일부가 정상 동작하지 않지만, 나머지 큐 서버(120)를 통해 인터페이싱부(110)가 실시간으로 표준화 데이터를 저장할 수 있는 상황에서의 동작모드를 나타낸다. 모드 관리유닛(132)은 복수개의 큐 서버(120) 중 적어도 2개 이상의 큐 서버(120)가 정상 동작하는 경우에 동작모드를 주의모드로 결정할 수 있다.
큐 관리부(140)는 복수개의 큐 서버(120) 각각에 대응되도록 구비된다. 큐 관리부(140)는 각각의 큐 서버(120)에 대한 메타 데이터를 관리하고, 큐 서버(120)의 정상 동작 여부를 확인한다. 이를 위해 큐 관리부(140)는 메타 데이터 관리유닛(141)을 포함할 수 있다.
메타 데이터 관리유닛(141)은 대응되는 큐 서버(120)의 큐 저장부(121)에 대한 메타 데이터를 관리한다. 일례로, 메타 데이터 관리유닛(141)은 기본 사양정보, 접속 정보, 토픽 및 파티션과 같은 구성 정보 등의 메타 데이터를 관리하고, 메타 데이터에 기초하여 인터페이싱부(110)로 데이터를 저장할 토픽 및 파티션에 대한 정보를 제공할 수 있다.
복수개의 큐 서버(120) 중 일부가 정상 동작하지 않는 경우, 인터페이싱부(110)는 큐 서버(120)의 메타 데이터를 이용하여 저장 가능한 큐 서버(120)의 위치를 빠르게 찾아 파싱 데이터를 저장할 수 있다.
큐 서버(120)는 표준화 데이터를 실시간으로 처리하기 전에 임시로 보관한다. 이를 위해, 큐 서버(120)는 적어도 하나의 큐 저장부(121)를 포함한다.
큐 저장부(121)는 표준화 데이터를 일정시간 동안 보관하기 위한 저장부로 데이터 유실 방지를 위해 메모리가 아닌 디스크 기반으로 데이터를 저장할 수 있다. 큐 저장부(121)에서 데이터를 저장하는 공간은 토픽(Topic)으로 구분될 수 있고, 큐 저장부(121)는 동일 토픽 내의 파티션을 여러 개 분리하여 병렬로 처리하는 것도 가능하다.
일 실시예에 있어서 도 3에 도시된 바와 같이, 큐 서버(120)는 복수개로 구현되고, 복수개의 큐 서버(120)가 서로 클러스터링될 수 있다. 이러한 경우, 전송유닛(115)이 복수개의 큐 서버(120) 중 어느 하나의 큐 서버(120)에 파싱 데이터를 저장하면 나머지 큐 서버(120)에도 동일한 파싱 데이터가 저장된다.
일 실시예에 있어서, 큐 서버(120)에 저장되는 파싱 데이터는 분산병렬처리시스템(200)이 큐 서버(120)로부터 페치(Fetch)하는 데이터 그룹 별로 고유한 그룹 ID가 할당될 수 있다. 이에 따라, 고유한 그룹 ID 별로 데이터 페치 주소가 관리될 수 있어, 데이터를 순차적으로 읽고 쓰는 큐 형태로 데이터가 저장 및 제공될 수 있다.
이러한 실시예에 따르는 경우, 복수개의 인터페이싱부(110)는 데이터 수집 시스템(1)의 규모 및 공장의 물리적 위치 등에 따라 추가하는 형태로 확장될 수 있으며, 각각의 인터페이싱부(110)는 고가용성(High Availability; HA)을 위해 이중화 구조로 구현될 수 있다.
또한, 인터페이싱부(110)는 수집 데이터의 표준화가 완료되면 복수개의 큐 서버(120) 중 1대의 큐 서버(120)를 선택하여 표준화 데이터를 저장한다. 이 때, 표준화 데이터를 저장할 큐 서버(120)를 선택하는 기준은 다양한 룰 중에서 선택될 수 있으며, 일례로 부하가 가장 낮은 큐 서버(120)를 선택하거나, 순차적으로 선택하는 방식, 또는 수집 데이터를 수집한 센서 별로 저장할 큐 서버(120)를 사전에 미리 저장하여 선택하는 것이 가능하다.
또한, 도 3에 도시된 바와 같이 각 인터페이싱부(110)가 미들웨어 관리부(130)를 각각 포함할 수 있다. 각 미들웨어 관리부(130)는 복수개의 큐 저장부(120)의 정상 동작 여부를 판단하고 대응되는 인터페이싱부(110)의 동작 모드를 결정한다.
다시 도 1을 참조하면, 분산병렬처리시스템(200)은 미들웨어 시스템(100)에서 전달되는 표준화 데이터를 가공한다. 일 실시예에 있어서, 분산병렬처리시스템(200)은 표준화 데이터에 공정 식별자가 매핑된 매핑 데이터를 생성하고, 각 공정 별로 수집된 수집 데이터들의 연계 처리를 위해 각 공정에서의 매핑 데이터들을 미리 정해진 기준에 따라 정렬한다.
이하, 도 4 내지 도 7을 참조하여 본 발명에 따른 분산병렬처리시스템(200)의 구성에 대해 보다 구체적으로 설명한다.
도 4는 본 발명의 일 실시예에 따른 분산병렬처리시스템의 구성을 구체적으로 보여주는 도면이다. 도 4에 도시된 바와 같이 본 발명의 일 실시예에 따른 분산병렬처리시스템(200)은 프로세싱부(210) 및 메모리부(220)를 포함한다.
프로세싱부(210)는 표준화 데이터에 공정 식별자를 매핑하여 매핑 데이터를 생성하고, 조업-설비-품질 등 영역간 데이터를 연계분석할 수 있도록 매핑 데이터를 정렬한다. 또한, 프로세싱부(210)는 센서가 없어 데이터가 수집되지 않은 지점이나 수집 주기 중간에 발생한 누락 데이터를 예측한다.
이를 위해, 프로세싱부(210)는 페치(Fetch) 수행유닛(211), 공정매핑 수행유닛(213), 데이터 보정 수행유닛(215), 및 데이터 정렬 수행유닛(216) 중 적어도 하나의 유닛을 포함한다. 또한, 프로세싱부(210)는 설비 이상감지 수행유닛(217) 및 품질 이상감지 수행유닛(218)을 더 포함할 수 있다.
일 실시예에 있어서, 도 4에 도시된 복수개의 수행유닛(211~218)들은 프로세싱부(210)에 배포되어 각각의 기능을 구현하는 어플리케이션(Application)으로 구현될 수 있고, 이러한 어플리케이션들이 프로세싱부(210)에 작업 공간을 생성한 후 복수개의 쓰레드(Thread)를 생성함으로써 각 수행유닛(211~218) 별로 할당된 기능들을 수행하게 된다.
페치 수행유닛(211)은 미들웨어 시스템(100)의 큐 저장부(121)로부터 표준화 데이터를 독출하여 메모리부(220)에 저장한다. 페치 수행유닛(211)은 복수의 큐 저장부(121) 각각에 대해서 이전에 데이터를 조회한 위치 정보를 기억함으로써, 이전까지 읽어 들인 데이터의 다음 데이터를 읽어 들일 수 있다.
이때, 인터페이싱부(110)가 연속공정에서 수집된 수집 데이터들의 연계 처리를 위해 표준화 데이터를 그룹 ID 또는 표준항목 ID 별로 큐 저장부(121)에 저장한 경우, 페치 수행유닛(211)은 큐 저장부(121)에 저장된 표준화 데이터를 그룹 ID 또는 표준항목 ID 별로 독출한다.
공정매핑 수행유닛(213)은 페치 수행유닛(211)에 의해 독출된 표준화 데이터에 해당 표준화 데이터가 수집된 공정을 식별하기 위한 공정 식별자를 매핑하여 매핑 데이터를 생성한다.
일 실시예에 있어서, 공정매핑 수행유닛(213)은 각 공정을 수행하는 설비의 설비 식별자를 표준화 데이터에 매핑하여 제1 매핑 데이터를 생성하거나, 해당 설비에 의해 가공되는 재료의 재료 식별자를 표준화 데이터 또는 제1 매핑 데이터에 매핑하여 제2 매핑 데이터를 생성할 수 있다. 이를 위해, 매핑 수행유닛(213)은 설비매핑 수행유닛(213a) 및 재료매핑 수행유닛(213b)을 포함할 수 있다.
설비매핑 수행유닛(213a)은 표준화 데이터에 해당 표준화 데이터가 수집된 설비의 설비 식별자를 매핑하여 제1 매핑 데이터를 생성한다. 설비매핑 수행유닛(213a)은 해당 표준화 데이터가 수집된 수집시간이나 해당 표준화 데이터를 수집한 센서의 속성정보에 기초하여 해당 표준화 데이터에 매핑할 설비 식별자를 획득할 수 있다. 일 실시예에 있어서, 설비 식별자는 각 설비 별로 부여된 설비 번호일 수 있다.
재료매핑 수행유닛(213b)은 메모리부(220)에서 독출된 표준화 데이터 또는 설비매핑 수행유닛(213a)에 의해 생성된 제1 매핑 데이터에 해당 표준화 데이터가 수집된 설비에서 가공된 재료의 재료 식별자를 매핑하여 제2 매핑 데이터를 생성한다. 재료매핑 수행유닛(213b)은 각 공정에서 수행되는 작업 지시 정보에 기초하여 해당 표준화 데이터가 수집된 설비를 통해 생성되는 재료의 재료 식별자를 획득하고, 획득된 재료 식별자를 제1 매핑 데이터에 매핑한다.
일 실시예에 있어서, 재료 식별자는 각 재료 별로 부여되어 있는 재료번호일 수 있다.
데이터 보정 수행유닛(215)은 매핑 데이터 중 누락된 데이터를 추가하여 매핑 데이터를 보정한다. 데이터 보정 수행유닛(215)은 누락된 데이터가 수집되었어야 하는 영역과 가장 인접한 위치에서의 매핑 데이터 또는 누락이 발생된 시간과 가장 인접한 수집시간의 매핑 데이터를 이용하여 누락된 데이터를 보정할 수 있다.
일 실시예에 있어서, 데이터 보정 수행유닛(215)은 매핑 데이터의 보정을 위해, 매핑 데이터에 포함된 수집시간을 미리 정해진 수집주기에 일치시킬 수 있다. 예를 들어, 20ms의 수집주기로 연속공정 데이터가 저장되는 경우 데이터 보정 수행유닛(215)은 수집시간이 15시01분11초0005ms인 매핑 데이터의 수집시간을 15시01분11초0000ms로 보정하고, 수집시간이 15시01분11초0050ms인 매핑 데이터의 수집 시간을 15시01분11초0040ms로 보정할 수 있다.
데이터 정렬 수행유닛(216)은 매핑 데이터 또는 보정된 매핑 데이터를 각 공정의 데이터들 간의 연계처리를 위해 정렬한다.
데이터 정렬 수행유닛(216)은 연속공정에서 수집된 수집 데이터들간의 연계처리를 위해 동일한 재료 식별자가 매핑되어 있는 매핑 데이터들을 재료 단위로 시간 순서에 따라 정렬하여 제1 정렬 데이터를 생성한다.
데이터 정렬 수행유닛(216)은 제1 정렬 데이터들을 동일한 재료 식별자에 대응되는 재료 상에서 해당 데이터가 수집된 수집위치를 기준으로 정렬하여 제2 정렬 데이터를 생성한다.
이때, 수집위치는 재료의 길이, 재료의 이동속도, 및 수집 데이터의 수집주기 중 적어도 하나를 이용하여 결정될 수 있다. 예컨대, 데이터 정렬 수행유닛(216)은 재료의 이동속도와 수집주기를 곱한 값 및 재료의 전체 길이를 기준으로 재료 상에서 각 주기 별로 수집 데이터가 수집된 수집위치를 결정할 수 있다. 이에 따라, 데이터 정렬 수행유닛(216)은 제1 정렬 데이터를 재료 상에서 일 방향으로 소정의 위치에서 측정된 데이터로 정렬할 수 있다.
데이터 정렬 수행유닛(216)은 서로 다른 수집주기로 제1 공정 및 제2 공정으로부터 각각 수집된 수집 데이터의 연계 처리를 위해, 각 재료 상에서 미리 정해진 간격으로 설정된 기준점들과 제2 정렬 데이터의 수집위치 간의 거리를 기초로 각 기준점들에서의 측정값을 산출하고, 산출된 측정값을 기초로 각 기준점들에서의 기준 데이터를 생성한다.
데이터 정렬 수행유닛(216)은 제2 정렬 데이터 및 기준점들에서의 기준 데이터들을 재료 상에서 일 방향으로 순차적으로 정렬한다. 일 실시예에 있어서, 일 방향은 재료의 길이 방향, 재료의 폭 방향, 및 재료의 두께 방향 중 적어도 하나가 될 수 있다.
이하에서는 데이터 정렬 수행유닛(216)이 기준 데이터들을 재료 상에서 길이 방향으로 정렬하는 예를 구체적으로 설명한다.
제1 공정에서 가공된 제1 재료의 길이 방향으로 제1 기준점들이 소정 간격으로 설정되어 있고, 제2공정에서 가공된 제2 재료의 길이 방향으로 제2 기준점들이 소정의 간격으로 설정되어 있다. 이러한 경우, 제1 기준점들에서의 제1 기준 데이터에는 제1 재료에 대응되는 제1 재료 식별자가 매핑되어 있고, 제2 기준점들에서의 제2 기준 데이터들에는 제2 재료에 대응되는 제2 재료 식별자가 매핑되어 있다. 따라서, 각 재료 별로 재료 식별자가 매핑되어 있는 재료 가계도(미도시) 상에서 제1 재료 식별자 및 제2 재료 식별자에 기초하여 제1 기준 데이터들과 제2 기준 데이터들이 연계된다.
즉, 재료 가계도에는 각 재료 식별자가 트리 형태로 연결되어 있어, 이러한 재료 가계도를 참조함으로써 제1 공정 및 제2 공정을 순차적으로 통과하면서 생성되는 재료에게 할당된 재료 식별자를 통해 각 공정의 매핑 데이터들이 서로 연계될 수 있다.
데이터 정렬 수행유닛(216)은 상기와 같이 재료의 길이 방향으로 정렬된 제2 정렬 데이터 및 기준 데이터들을 메모리부(220)에 저장한다.
이와 같이, 프로세싱부(210)는 표준화 데이터에 설비 식별자 또는 재료 식별자와 같은 공정 식별자를 매핑하고, 매핑 데이터를 정렬함으로써 연속공정에서 수집된 수집 데이터들이 연계 처리될 수 있도록 한다.
설비이상감지 수행유닛(217)은 설비매핑 수행유닛(213a)로부터 제1 매핑 데이터를 전달받고, 미리 설정된 설비이상판단기준에 따라 설비이상여부를 판단한다. 판단결과, 특정 설비에 이상이 발생한 것으로 판단되면, 설비이상감지 수행유닛(217)은 메모리부(220)에 판단 결과를 저장한다.
품질이상감지 수행유닛(218)은 데이터 정렬 수행유닛(216)에 의해 정렬된 제2 정렬 데이터를 기초로 미리 설정된 품질이상판단기준에 따라 품질이상여부를 판단한다. 판단결과, 특정 재료의 품질에 이상이 발생한 것으로 판단되면, 품질이상감지 수행유닛(218)은 메모리부(220)에 판단 결과를 저장한다.
일 실시예에 있어서, 품질이상감지 수행유닛(218)은 제2 정렬 데이터의 평균 및 오차 예측 등의 작업을 통해 품질이상여부 판단식의 레퍼런스로 활용하기 위한 매크로(Macro) 데이터를 생성하고, 제2 정렬 데이터를 품질이상여부 판단식에 입력하여 그 결과에 따라 품질이상을 판단할 수 있다.
상술한 실시예에 있어서는 분산병렬처리시스템(200)이 하나의 프로세싱부(210) 및 하나의 메모리부(220)를 통해 표준화 데이터를 매핑 및 정렬하는 것으로 설명하였지만, 변형된 실시예에 있어서 분산병렬처리시스템(200)은 도 5에 도시된 바와 같이 복수개의 프로세싱부(210a, 210b, 210c) 및 복수개의 메모리부(220)를 이용하여 표준화 데이터를 매핑 및 정렬할 수도 있다.
이하, 도 4 및 도 5를 참조하여 변형된 실시예에 따른 분산병렬처리시스템에 대해 설명한다.
도 5는 복수개의 프로세싱부 및 복수개의 메모리부를 포함하는 분산병렬처리시스템의 구성을 개략적으로 보여주는 도면이다. 분산병렬처리시스템(200)은 복수개의 프로세싱부(210a, 210b, 210c), 복수개의 메모리부(220a, 220b, 220c), 및 수행유닛 배포부(230)를 포함한다.
복수개의 프로세싱부(210a, 210b, 210c)에는 표준화 데이터를 매핑 및 정렬하는 복수개의 수행유닛(211~218)들 중 하나 이상의 수행유닛(211~218)이 분산되어 배포된다. 복수개의 프로세싱부(210a, 210b, 210c)는 페치 수행유닛(211), 설비매핑 수행유닛(213a), 재료매핑 수행유닛(213b), 데이터 보정 수행유닛(215), 데이터 정렬 수행유닛(216), 설비이상감지 수행유닛(217), 및 품질이상감지 수행유닛(218) 중 적어도 하나의 수행유닛을 각각 분산하여 병렬처리하고, 최종 결과 데이터를 메모리부(220)에 저장함으로써, 미들웨어 시스템(100)으로부터 전달되는 표준화 데이터를 실시간으로 처리하게 된다.
일 실시예에 있어서, 복수개의 프로세싱부(210a, 210b, 210c)는 클러스터링 구조로 구성될 수 있다. 이와 같이, 복수개의 프로세싱부(210a, 210b, 210c)는 클러스터링 구조를 가지기 때문에 특정 프로세싱부에 장애가 발생하면 장애가 발생된 프로세싱부에서 실행중이던 수행유닛(211~218)을 다른 프로세싱부로 이동시킬 수 있어 가용성을 확보할 수 있게 된다.
복수개의 메모리부(220)에는 복수개의 프로세싱부(210a, 210b, 210c)에서 처리된 데이터가 저장된다. 일 실시예에 있어서, 처리 성능을 높이고 장애시 가용성을 보장하기 위해 복수개의 메모리부(220)는 전술한 큐 저장부(120)와 같이 클러스터링 구조를 가질 수 있다.
복수개의 메모리부(220)는 고가용성(High Availability; HA)을 위해 이중화 구조로 구비될 수 있다. 즉, 각각의 메모리부(220)는 마스터 인스턴스(M) 및 슬레이브 인스턴스(S)를 포함한다. 이러한 경우 제1 메모리부(220a)에 포함된 마스터 인스턴스(M)과 제2 메모리부(220b)에 포함된 슬레이브 인스턴스(S)가 한 쌍으로 동작하고, 제2 메모리부(220b)에 포함된 마스터 인스턴스(M)와 제1 메모리부(220a)에 포함된 슬레이브 인스턴스(S)가 한 쌍으로 동작할 수 있다.
슬레이브 인스턴스(S)에 기록된 정렬 데이터는 장애시 복구를 위해 각 데이터가 스크립터(Scripter) 형태의 파일로 백업될 수 있다. 이때, 스크립터 형태의 파일이란 데이터의 쓰기 또는 읽기와 관련된 커맨드가 해당 데이터와 함께 저장되어 있는 형태의 파일을 의미한다.
각 메모리부(220)의 마스터 인스턴스(M) 및 슬레이브 인스턴스(S)는 싱글 스레드(Rhread) 형태로 구성되고, 쓰기 및 읽기 별로 인스턴스 및 포트가 분리될 수 있다.
이하, 도 6을 참조하여 표준화 데이터의 매핑 및 정렬 작업을 분산병렬처리하는 방법을 예를 들어 설명한다.
도 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 매핑 데이터에 재료 식별자를 매핑시킨다.
제3 프로세싱부(210c)에는 데이터 보정 수행유닛(215) 및 데이터 정렬 수행유닛(216)이 배포되어 있기 때문에, 제3 프로세싱부(210c)는 데이터 보정 수행유닛(215)을 실행시켜 매핑 데이터 중 누락된 데이터를 보정하고, 데이터 정렬 수행유닛(216)을 수행하여 매핑 데이터 또는 보정된 매핑 데이터를 재료 단위로 정렬하여 제2 메모리부(220b)의 마스터 인스턴스(M)에 저장한다. 이때, 제1 메모리부(220a)의 슬레이브 인스턴스(S)에도 데이터가 저장된다.
상술한 실시예에 있어서는, 복수개의 메모리부(220)가 이중화 되어 구성됨으로써 제1 메모리부(220a)에 포함된 마스터 인스턴스(M)과 제2 메모리부(220b)에 포함된 슬레이브 인스턴스(S)가 한 쌍으로 동작하고, 제2 메모리부(220b)에 포함된 마스터 인스턴스(M)와 제1 메모리부(220a)에 포함된 슬레이브 인스턴스(S)가 한 쌍으로 동작하는 것으로 설명하였다.
하지만, 이러한 실시예에 따르는 경우, 마스터 인스턴스(M) 및 슬레이브 인스턴스(S)가 싱글 쓰레드로 구현되기 때문에, 제1 메모리부(220a)의 마스터 인스턴스(M)가 다운되는 경우 제1 메모리부(220)의 마스터 인스턴스(M)가 정상화될 때까지의 다운타임 동안, 제2 메모리부(220b)의 슬레이브 인스턴스(S)가 쓰기동작과 읽기동작을 모두 서비스 할 수 는 없다.
따라서, 변형된 실시예에 있어서, 메모리부(220)는 도 7에 도시된 바와 같이, 3중화 구조로 구현될 수 있다. 구체적으로, 변형된 실시예에 따른 메모리부(220) 각각은 마스터 인스턴스(M), 제1 슬레이브 인스턴스(S1), 및 제2 슬레이브 인스턴스(S2)를 포함한다.
제1 메모리부(220a)에 포함된 마스터 인스턴스(M)은 제2 및 제3 메모리부(220b, 220c)의 제1 슬레이브 인스턴스(S1)들과 한 쌍으로 동작한다. 이에 따라, 제1 메모리부(220a)에 포함된 마스터 인스턴스(M)에 데이터가 기입되면 제2 및 제3 메모리부(220b, 220c)의 제1 슬레이브 인스턴스(S1)들에도 데이터가 복제되어 저장된다.
또한, 제2 메모리부(220b)에 포함된 마스터 인스턴스(M)는 제1 메모리부(220a)에 포함된 제1 슬레이브 인스턴스(S1) 및 제3 메모리부(220c)에 포함된 제2 슬레이브 인스턴스(S2)들과 한 쌍으로 동작한다. 이에 따라, 제2 메모리부(220b)에 포함된 마스터 인스턴스(M)에 데이터가 기입되면 제1 메모리부(220a)에 포함된 제1 슬레이브 인스턴스(S1) 및 제3 메모리부(220c)에 포함된 제2 슬레이브 인스턴스(S2)들에도 데이터가 저장된다.
또한, 제3 메모리부(220c)에 포함된 마스터 인스턴스(M)는 제1 메모리부(220a) 및 제2 메모리부(220b)에 포함된 제2 슬레이브 인스턴스(S1)들과 한 쌍으로 동작한다. 이에 따라, 제3 메모리부(220c)에 포함된 마스터 인스턴스(M)에 데이터가 기입되면 제1 메모리부(220a) 및 제2 메모리부(220b)에 포함된 제2 슬레이브 인스턴스(S1)들에도 데이터가 복제되어 저장된다.
다시 도 5를 참조하면, 수행유닛 배포부(230)는 복수개의 수행유닛들(211~218)을 복수개의 프로세싱부(210a~210c)에 배포한다. 또한, 수행유닛 배포부(230)는 프로세싱부(210a~210c)에 배포된 수행유닛들(211~218)의 실행으로 인한 프로세싱부(210a~210c)의 부하량에 따라 복수개의 수행유닛들(211~218)을 프로세싱부(210a~210c)에 재배포할 수 있다.
구체적으로, 수행유닛 배포부(230)는 수행유닛 저장부(232), 배포순서 결정부(234), 및 배포 수행부(236)를 포함한다.
먼저, 수행유닛 저장부(232)에는 표준화 데이터의 매핑 및 정렬을 수행하기 위한 복수개의 수행유닛(211~218)이 저장된다.
배포순서 결정부(234)는 배포 수행부(236)에 의해 복수개의 수행유닛(211~218)들이 각 프로세싱부(210a~210c)에 배포된 이후, 프로세싱부(210a~210c)의 자원 사용 정보를 판단하여, 복수개의 프로세싱부(210a~210c)의 부하량이 조절될 수 있도록 복수개의 수행유닛(211~218)의 재배포를 위한 배포순서를 결정한다. 일 실시예에 있어서, 배포순서 결정부(234)는 복수개의 프로세싱부(210a~210c)의 부하량이 균등해지도록 복수개의 수행유닛(211~218)의 재배포를 위한 배포순서를 결정할 수 있다. 여기서, 배포순서 결정이란 각 수행유닛(211~218)이 배포될 프로세싱부(210a~210c)를 결정하는 것을 의미한다.
다른 실시예에 있어서, 배포순서 결정부(234)는 최초 배포된 수행유닛의 실행에 따른 시스템 자원의 평균값 및 시스템 자원의 이용 패턴 중 적어도 하나를 이용하여 복수개의 수행유닛(211~218)의 배포순서를 결정할 수 있다. 이러한 실시예에 따르는 경우, 시스템 자원은, 각 프로세싱부(210a~210c)의 CPU 사용율, 메모리 사용량, 네트워크 통신량, 및 디스크 입출력 처리량 중 적어도 하나를 포함할 수 있다.
배포 수행부(236)는 배포순서 결정부(234)에 결정된 배포순서에 따라 복수개의 수행유닛(211~218)들을 복수개의 프로세싱부(210a~210c)에 분산 배포한다.
구체적으로, 배포 수행부(236)는 수행유닛 저장부(232)에 저장되어 있는 복수개의 수행유닛(211~218)들을 임의로 프로세싱부(210a~210c)로 배포한다. 이후, 미리 정해진 휴지기가 되면 배포 수행부(236)는 각 프로세싱부(210a~210c)에 배포된 수행유닛(211~218)들을 회수하여 수행유닛 저장부(232)에 저장하고, 휴지기가 종료되면 수행유닛 저장부(232)에 저장되어 있는 복수개의 수행유닛(211~218)들을 배포순서 결정부(234)에 의해 결정된 배포순서에 따라 해당 프로세싱부(210a~210c)에 배포한다.
다시 도 1을 참조하면, 고속 빅데이터 분석 시스템(300)은 분산병렬처리시스템(200)에 의해 정렬된 정렬 데이터를 빅데이터 저장 공간에 저장한다. 특히, 본 발명에 따른 고속 빅데이터 분석 시스템(300)은 빅 데이터 저장 공간 내에서 정렬 데이터를 2개의 빅데이터 저장부에 구분하여 저장함으로써 빅데이터 분석 서비스가 실시간으로 제공될 수 있도록 한다.
이하, 도 8을 참조하여 본 발명에 따른 고속 빅데이터 분석 시스템(300)을 구체적으로 설명한다.
도 8은 본 발명의 일 실시예에 따른 고속 빅데이터 분석 시스템의 구성을 보여주는 블록도이다. 도 8에 도시된 바와 같이, 본 발명의 일 실시예에 따른 고속 빅데이터 분석 시스템(300)은 데이터 처리부(310), 빅데이터 저장부(320), 쿼리 처리부(330), 및 분석장치(340)를 포함한다.
데이터 처리부(310)는 정렬 데이터와 이상감지 결과를 분산 병렬 처리하는 것으로서, 완료이벤트 수신유닛(311), 정렬데이터 페치유닛(312), 메모리 큐(313), 데이터 저장유닛(314a), 파일생성유닛(314b), 이상감지 데이터 수신유닛(315), 및 메타데이터 생성유닛(316) 중 적어도 하나의 유닛을 포함하고, 빅데이터 저장부(320)는 데이터 처리부(310)에 의해 정렬 데이터가 저장되는 공간으로써 제1 빅데이터 저장부(322), 제2 빅데이터 저장부(324), 및 모델 저장부(326)를 포함한다.
완료이벤트 수신유닛(311)은 분산병렬처리시스템(200)의 메모리부(220)를 모니터링하여 완료 이벤트가 새롭게 저장되면 해당 완료 이벤트를 정렬데이터 페치유닛(312)으로 전달한다.
정렬데이터 페치유닛(312)은 완료이벤트 수신유닛(311)으로부터 완료 이벤트가 전달되면, 메모리부(220)에서 완료 이벤트에 해당하는 정렬 데이터를 조회하여 메모리 큐(313)에 저장한다. 일 실시예에 있어서, 정렬데이터 페치유닛(312)은 완료 이벤트에 포함된 키 정보를 이용해서 해당 완료 이벤트에 대응되는 데이터가 메모리부(220)의 어느 파티션 및 디렉토리에 저장되어 있는지 확인함으로써, 메모리부(220)에 저장된 데이터를 조회하여 메모리 큐(313)에 저장할 수 있다.
메모리 큐(313)는 정렬데이터 페치유닛(312)에 의해 독출된 정렬 데이터를 빅데이터 저장부(320)에 저장하기 전에 메모리 상에 임시로 보관한다.
데이터 저장유닛(314a)은 메모리 큐(313)에 저장된 정렬 데이터를 제1 빅데이터 저장부(322)에 테이블(Table)형태로 저장한다. 일 실시예에 있어서, 데이터 저장유닛(314a)은 메모리 큐(313)에 저장된 정렬 데이터를 변경하거나 수정하여 제1 빅데이터 저장부(322)에 저장할 수 있다. 또한, 데이터 저장유닛(314a)은 제1 빅데이터 저장부(322)에 저장된 정렬 데이터를 변경 또는 수정할 수도 있다.
파일생성유닛(314b)은 제1 빅데이터 저장부(322)에 저장된 정렬 데이터를 물리적인 형태의 파일로 생성하여 제2 빅데이터 저장부(324)에 저장한다. 일 실시예에 있어서, 파일생성유닛(314b)은 미리 정해진 이벤트가 발생되면 제1 빅데이터 저장부(322)에 저장된 정렬 데이터를 파일로 생성하여 제2 빅데이터 저장부(324)에 저장할 수 있다.
예컨대, 파일생성유닛(314b)은 제1 빅데이터 저장부(322)에 저장된 정렬 데이터들 중 미리 정해진 기간이 경과한 정렬 데이터를 파일로 생성하여 제2 빅데이터 저장부(324)에 저장할 수 있다. 다른 예로, 파일생성유닛(314b)은 제1 빅데이터 저장부(322)에 저장된 정렬 데이터들 중 수정 또는 변경이 완료되어 콜드 데이터(Cold Data)가 된 정렬 데이터를 파일로 생성하여 제2 빅데이터 저장부(324)에 저장할 수 있다.
한편, 파일생성유닛(314b)은 생성한 파일을 제2 빅데이터 저장부(324)에 저장할 때, 파일의 크기를 압축하거나 파일의 포맷을 변경하여 저장할 수도 있다.
일 실시예에 있어서, 파일생성유닛(314b)은 복수개의 파일생성유닛으로 구현될 수 있다. 이를 통해 복수개의 파일 생성유닛(314a~314n)이 파일생성 작업을 병렬적으로 처리할 수 있어 파일생성작업의 속도를 향상시킬 수 있다. 이러한 실시예에 따르는 경우 복수개의 파일생성유닛(314b)들은 서로 클러스터링되어 있을 수 있다.
상술한 실시예에 있어서, 데이터 저장유닛(314a)이 메모리 큐(313)에 저장된 모든 정렬 데이터를 제1 빅데이터 저장부(322)에 저장하고, 파일생성유닛(314b)은 제1 빅데이터 저장부(322)에 저장된 정렬 데이터를 파일형태로 제2 빅데이터 저장부(324)에 기록하는 것으로 설명하였다.
하지만, 변형된 실시예에 있어서 데이터 저장유닛(314a)은 메모리 큐(313)에 저장된 정렬 데이터들 중 테이블에 기록시 컬럼(Column)이나 로우(Row)의 개수가 기준치 미만인 정렬 데이터 또는 크기가 기준치 미만인 정렬 데이터를 선별하여 제1 빅데이터 저장부(322)에 저장하고, 컬럼이나 로우의 개수가 기준치 이상인 정렬 데이터 또는 크기가 기준치 이상인 정렬 데이터는 파일생성유닛(314b)이 파일 형태로 직접 생성하여 제2 빅데이터 저장부(324)에 저장할 수도 있다.
상술한 실시예에서 데이터 저장유닛(314a)이 메모리 큐(313)에 저장된 정렬 데이터들 중 컬럼이나 로우의 개수가 기준치 미만이거나 크기가 기준치 미만인 정렬 데이터만 제1 빅데이터 저장부(322)에 저장하는 이유는, 컬럼이나 로우의 개수가 기준치 이상이거나 크기가 기준치 이상인 정렬 데이터를 제1 빅데이터 저장부(322)에 테이블 형태로 기록하게 되면, 로딩에 많은 시간이 소요될 수 있어 실시간 빅데이터 서비스 제공이 어려울 수 있기 때문이다.
이상감지 데이터 수신유닛(315)은 분산병렬처리시스템(200)의 메모리부(220)를 모니터링하여 새로운 이상감지 결과가 저장되면 이를 메모리 큐(313)에 저장한다.
메타데이터 생성유닛(316)은 제1 빅데이터 저장소(322)에 포함된 테이블의 식별자, 테이블위 위치, 해당 테이블 내에서 각 정렬 데이터가 저장된 컬럼 및 로우에 대한 정보를 각 정렬 데이터 별로 매핑한 메타 데이터를 생성하여 저장한다.
이러한 경우, 파일생성유닛(314b)은 메타데이터 생성유닛(316)에 의해 생성된 메타 데이터를 기준으로 각 테이블에 기록된 데이터들 중 파일로 생성될 데이터를 결정할 수 있다.
또한, 메타데이터 생성유닛(316)은 파일생성유닛(314b)에 의해 생성된 파일의 위치, 파일명, 파일이 저장되는 블록 ID, 및 서버의 저장위치 등을 추가로 메타데이터에 기록한다. 예컨대, 메타데이터 생성유닛(316)은 파일생성유닛(314b)에 파일이 생성되면 파일의 위치와 파일명을 메타데이터에 기록하고, 해당 파일이 블록 사이즈보다 커서 5개의 블록으로 나누어 각기 다른 3대의 서버에 저장되는 경우, 15개의 블록 ID와 각 서버의 저장위치를 메타데이터에 추가로 저장한다.
제1 빅데이터 저장부(322)에는 메모리 큐(313)에 저장된 정렬 데이터들 중 적어도 일부가 데이터 생성유닛(314a)에 의해 테이블 형태로 저장된다. 즉, 데이터 생성유닛(314a)을 통해 메모리 큐(313)에 저장된 정렬 데이터들 중 적어도 일부가 제1 빅이터 저장부(322)에 포함된 각 테이블의 로우 및 컬럼에 기록된다.
이와 같이, 본 발명에 따른 고속 빅데이터 분석 시스템(300)이 정렬 데이터를 제1 빅데이터 저장부(322)에 테이블 형태로 저장하는 이유는 정렬 데이터를 파일로 저장하는 경우 해당 정렬 데이터의 실시간 열람이 불가능하기 때문이다. 구체적으로, 정렬 데이터가 파일형태로 저장되는 경우 정렬 데이터는 시간단위 또는 일단위로 저장되는데, 파일저장 작업이 종료(Close)될 때까지는 해당 파일에 접근할 수 없어 파일이 저장되는 시간 동안에는 정렬 데이터의 실시간 확인이 불가능하다.
더욱이, 정렬 데이터를 파일로 저장할 때 파일의 크기가 커 블록단위로 분할하여 파일을 저장하는 경우 파일저장위치를 테이블에 별도로 저장하여야 하므로, 데이터 열람을 위해서는 별도의 테이블 로딩이 요구되고 테이블 로딩에도 많은 시간이 소요되므로 데이터의 실시간 확인이 불가능해진다.
이에 따라, 본 발명에 따른 고속 빅데이터 분석 시스템(300)은 정렬 데이터를 1차적으로 제1 빅데이터 저장부(322)에 테이블 형태로 저장함으로써 정렬 데이터의 실시간 확인이 가능하도록 할 수 있다.
제2 빅데이터 저장부(324)에는 제1 빅데이터 저장부(322)에 저장된 정렬 데이터들 중 파일생성유닛(314b)에 의해 선별된 정렬 데이터들이 물리적인 파일형태로 저장된다.
상술한 실시예에 있어서, 제1 및 제2 빅데이터 저장부(322, 324)를 포함하는 빅데이터 저장부(320)는 분산파일시스템(Distributed File System) 기반으로 구현될 수 있다.
한편, 제1 및 제2 빅데이터 저장부(322, 324)는 각각 도 9에 도시된 바와 같이 마스터 노드(320a) 및 데이터 노드(320b)로 구성될 수 있다. 마스터 노드(320a)는 정렬 데이터가 기록된 테이블 또는 정렬 데이터들의 파일을 데이터 노드들(320b)에 저장하고, 데이터 노드(320b)에 저장된 테이블 또는 파일의 조회를 위한 작업(Job)을 생성 및 관리한다.
여기서, 작업(Job)이란 데이터 노드(320b)에 저장된 테이블 또는 파일을 조회하기 위해 쿼리 처리 장치(330)로부터 수신되는 쿼리를 처리하기 위한 단위를 의미한다.
특히, 마스터 모드(320a)는 데이터 노드(320b)에 저장된 데이터의 조회에 대한 작업(Job) 실행시 각 작업(Job)에 대한 분배 및 특정 파일의 데이터를 로딩할 때, 메타데이터 생성유닛(316)에 의해 생성된 메타데이터를 데이터의 위치 정보로 활용하게 된다.
데이터 노드(320b)에는 정렬 데이터들의 테이블 또는 파일이 저장된다. 데이터 노드(320b)는 복수개로 구현될 수 있다. 이러한 경우, 각 데이터 노드(320b)에 포함된 저장부에 테이블 또는 파일이 모두 저장된다.
다시 도 8을 참조하면, 모델 저장부(326)에는 빅데이터 분석을 위한 적어도 하나의 빅데이터 분석모델이 저장된다. 예컨대, 빅데이터 분석모델은 재료나 제품에 대한 품질을 판정하기 위해 필요한 품질판정모델과 이상예측 모델을 포함할 수 있다. 일 실시예에 있어서, 분석모델은 통계식으로 구성되거나 AI 모델로 구성될 수 있다.
쿼리 처리부(330)는 빅데이터 저장부(320)에 저장된 데이터를 조회하여 데이터를 리턴한다, 이를 위해, 쿼리 처리부(330)는 쿼리수신유닛(332), 쿼리실행유닛(336), 및 쿼리결과 전송유닛(338) 중 적어도 하나의 유닛을 포함한다. 쿼리 처리부(330)는 쿼리 스케줄링유닛(334)을 더 포함할 수 있다.
구체적으로, 쿼리수신유닛(332)은 사용자로부터 쿼리를 수신하고 수신된 쿼리구문을 해석한다.
쿼리실행유닛(336)은 쿼리 수신유닛(322)을 통해 수신된 쿼리를 빅 데이터 저장부(320)로 전달함으로써 쿼리가 실행되도록 하고, 빅 데이터 저장부(320)로부터 쿼리 실행 결과를 획득한다. 일 실시예에 있어서, 쿼리실행유닛(336) 쿼리실행시 메타데이터 생성유닛(316)에 의해 생성된 메타데이터를 이용하여 해당 쿼리가 빅 데이터 저장부(320) 중 제1 빅데이터 저장부(322)로 전달되어야 할 쿼리인지 제2 빅데이터 저장부(324)로 전달되어야 할 쿼리인지 여부를 결정할 수 있다.
쿼리결과 전송유닛(338)은 쿼리수행 결과 빅 데이터 저장부(320)로부터 획득되는 쿼리 실행결과를 해당 쿼리를 요청한 사용자에게 전달한다.
한편, 쿼리 스케줄링유닛(334)은 쿼리수신유닛(332)을 통해 수신된 쿼리가 복수개의 하부 쿼리들로 구성되어 있는 경우, 수신된 쿼리를 각 하부 쿼리로 분류하여 쿼리 실행유닛(336)으로 전달한다.
일 실시예에 있어서, 쿼리수신유닛(332)은 API 서비스 제공 시스템(400)을 통해 제공되는 API(Application Programming Interface)를 통해 쿼리를 수신할 수 있다. 구체적으로, 리퀘스터로부터 고속 빅데이터 분석 시스템(300)에 접속할 수 있는 API의 실행요청 및 특정 이벤트가 수신되면, API 서비스 제공 시스템(400)은 해당 API를 실행시킴으로써 해당 이벤트에 상응하는 쿼리를 생성하고, 생성된 쿼리를 쿼리수신유닛(332)으로 전송한다. 또한, API 서비스 제공 시스템(400)은 API를 통해 해당 쿼리에 대응되는 실행결과를 획득하여 리퀘스터에게 제공할 수 있다.
분석장치(340)는 리퀘스터(Requester)로부터 모델 저장부(326)에 저장된 적어도 하나의 빅데이터 분석모델 중 어느 하나의 실행이 요청되면, 실행요청된 빅데이터 분석모델을 실행시키고, 해당 빅데이터 분석모델의 실행을 통해 획득된 빅데이터 분석결과를 리퀘스터로 리턴한다.
이를 위해, 분석장치(340)는 도 8에 도시된 바와 같이, 분석모델 호출부(342), 분석모델 실행부(344), 및 분석결과 전송부(346)를 포함한다.
분석모델 호출부(342)는 리퀘스터로부터 분석모델 실행요청이 수신되면, 실행 요청된 빅데이터 분석모델의 모델 식별자(Identifier: ID)을 특정하고, 특정된 빅데이터 분석모델의 모델 식별자에 해당하는 분석모델을 모델 저장부(326)로부터 로딩함으로써 해당 빅데이터 분석모델을 호출한다.
분석모델 실행부(344)는 호출된 빅데이터 분석모델을 제1 빅데이터 저장부(322)에 저장된 정렬 데이터 및 제2 빅데이터 저장부(3340) 저장된 파일 중 적어도 하나를 이용하여 실행시킴으로써 빅데이터 분석결과를 획득한다.
일 예로 분석모델 호출부(342)를 통해 품질판정모델이 호출된 경우 품질판정은 실시간 분석이 요구되는 것이기 때문에 분석모델 실행부(344)는 제1 빅데이터 저장부(322)에 저장된 정렬 데이터를 이용하여 품질판정모델을 실행시킴으로써 품질판정에 대한 빅데이터 분석결과를 획득할 수 있다.
다른 예로, 분석모델 호출부(342)를 통해 이상예측모델이 호출된 경우 분석모델 실행부(344)는 제1 빅데이터 저장부(322)에 저장된 정렬 데이터 및 제2 빅데이터 저장부(324)에 저장된 파일을 모두 이용하여 이상예측모델을 실행시킴으로써 이상예측에 대한 빅데이터 분석결과를 획득할 수 있다.
분석결과 전송부(346)는 분석모델 실행부(344)에 의해 획득된 빅데이터 분석결과를 리퀘스터로 전송한다.
일 실시예에 있어서, 리퀘스터는 API 서비스 제공 시스템(400)을 통해 제공되는 API를 이용하여 분석장치(340)에 접속할 수 있다. 구체적으로, 리퀘스터로부터 분석장치(340)에 접속할 수 있는 API의 실행요청 및 특정 분석모델의 실행요청이 요청되면, API 서비스 제공 시스템(400)은 해당 API를 실행시킴으로써 분석모델 호출부(342)가 특정 분석모델을 호출할 수 있도록 한다. 또한, API 서비스 제공 시스템(400)은 API를 통해 분석결과 전송부(346)로부터 빅데이터 분셕결과를 획득하여 리퀘스터로 제공할 수 있다.
다시 도 1을 참조하면, API 서비스 제공 시스템(400)은 리퀘스터(Requester, 500)와 스마트팩토리 플랫폼(1000)을 구성하는 각 시스템(100, 200, 300)들간의 접속을 위한 API를 실행시킨다.
구체적으로, API 서비스 제공 시스템(400)은 리퀘스터(500)로부터 접속하기 원하는 타겟 시스템에 대응되는 API의 식별정보와 명령어를 포함하는 이벤트가 수신되면, 해당 API를 실행함으로써 해당 이벤트에 대한 실행결과를 리퀘스터(500)로 리턴한다.
본 발명에서 API 서비스 제공 시스템(400)을 통해 리퀘스터(500)와 각 시스템(100, 200, 300)간의 접속을 위한 API를 제공하는 이유는, API를 통해 표준적인 데이터 인터페이스를 제공함으로써 각 시스템(100, 200, 300)의 인프라 및 솔루션이 변경되더라도 그에 따른 별도의 소프트웨어를 개발할 필요가 없어 소프트웨어 개발 생산성을 향상시킬 수 있기 때문이다.
구체적으로, 리퀘스터(500)가 각 시스템(100, 200, 300)의 전용 인터페이스를 통해 각 시스템(100, 200, 300)에 직접 접속하는 경우 각 시스템(100, 200, 300)의 서버, 스토리지, 또는 네트워크 등과 같은 각종 인프라 자원 또는 적용 오픈소스나 라이브러리가 버전업 되면 리퀘스터(500)를 구성하는 소프트웨어의 변경이 요구될 수 밖에 없다.
하지만, 본 발명과 같이 리퀘스터(500)가 API를 통해 각 시스템(100, 200, 300)에 접속하는 경우 각 시스템(100, 200, 300)의 인프라 및 솔루션이 변경되더라도 리퀘스터(500)에 대한 소프트웨어의 변경은 요구되지 않기 때문에 각 시스템(100, 200, 300)의 인프라 및 솔루션 변경으로 인한 영향을 최소화할 수 있게 된다.
또한, 데이터 저장 및 활용 유형별로 API 서비스를 제공할 수 있어 인프라 자원에 대한 효율성을 제공할 수 있고 사용자에게 보다 빠른 서비스를 제공할 수 있게 된다.
또한, 각 시스템(100, 200, 300)으로부터 데이터를 획득하기 위해 리퀘스터(500)가 각 시스템(100, 200, 300)에 직접 접근하지 않고, 각 시스템(100, 200, 300)별로 제공되는 API를 통해 해당 시스템(100, 200, 300)에 접근하여 이벤트에 대한 호출서비스 및 피드백 서비스를 제공받을 수 있기 때문에, 리퀘스터(500)의 입장에서는 시스템 접근 편의성이 향상될 수 있다.
이하, 본 발명에 따른 API 서비스 제공 시스템(400)의 구성을 도 10을 참조하여 보다 구체적으로 설명한다.
도 10은 본 발명의 일 실시예에 따른 API 서비스 제공 시스템의 구성을 보여주는 블록도이다. 도 10에 도시된 바와 같이, 본 발명의 일 실시예에 따른 API 서비스 제공 시스템(400)은 API 인증부(411), API 게이트웨이(412), 및 API 서버(413)를 포함한다. 또한, 본 발명의 일 실시예에 따른 API 서비스 제공 시스템(400)은 API 관리부(414), 정책관리부(415), API 로깅부(416), 및 로그 데이터베이스(417) 중 적어도 하나를 더 포함할 수 있다.
먼저, API 인증부(411)는 리퀘스터(500)로부터 API 인증요청이 수신되면, 해당 리퀘스터가 해당 API를 사용할 권한이 있는지 여부를 인증한다. 일 실시예에 있어서, API 인증요청은 리퀘스터(500)의 식별정보 및 해당 리퀘스터(500)가 사용하고자 하는 API의 식별정보를 포함할 수 있다.
구체적으로, API 인증부(411)는 각 리퀘스터(500)가 사용할 수 있는 API 의 식별정보가 기록된 API 리스트를 참조하여 API 인증요청에 포함된 API를 해당 리퀘스터(500)가 사용할 수 있는지 여부를 확인한다. 확인 결과 해당 리퀘스터(500)가 해당 API를 사용할 수 있는 것으로 판단되면 해당 리퀘스터(500)가 정당한 리퀘스터인 것으로 인증하여 해당 리퀘스터(500)에게 토큰을 발행한다. 이때, 토큰은 일정기간 동안 해당 리퀘스터(500)가 해당 API를 이용할 권한이 있음을 인증해 주는 전자서명 역할을 수행한다.
일 실시예에 있어서, API 인증부(411)는 토큰 발급시 토큰 발급리스트 상에 각 토큰 별로 해당 토큰의 유효기간 및 이를 사용할 수 있는 리퀘스터(500)의 식별정보를 매핑하여 저장할 수 있다.
한편 API 인증부(411)는 API 게이트웨이(412)로부터 특정토큰이 유효한 토큰인지 여부에 대한 확인요청이 수신되면, 토큰 발급리스트 상에서 확인요청된 토큰의 유효기간을 확인함으로써 확인요청된 토큰이 유효한 토큰인지 여부를 확인한다. 확인결과, 토큰의 유효성 여부가 확인요청된 시간이 토큰 발급리스트 상에 기록된 유효기간 이내인 경우 API 인증부(411)는 해당 토큰이 유효한 것이라는 확인결과를 생성하여 API 게이트웨이(412)로 전송한다.
API 인증부(411)는 API 게이트웨이(412)로부터 특정토큰이 유효한 토큰인지 여부에 대한 확인요청이 수신되면 토큰 발급리스트 상에서 확인요청된 토큰의 유효기간뿐만 아니라 해당 토큰을 사용할 수 있는 리퀘스터(500)의 식별정보를 추가로 확인하여 해당 토큰이 유효한 토큰인지 여부를 확인할 수도 있다.
API 게이트웨이(412)는 리퀘스터(500)로부터 API 실행요청을 수신한다. API 실행요청에는 해당 리퀘스터(500)가 API 인증부(411)로부터 발급받은 토큰, 해당 리퀘스터(500)가 사용할 API의 식별정보, 및 해당 API를 이용하여 실행할 이벤트(또는 명령어)가 포함된다. 이때, 이벤트 또는 명령어는 API를 이용하여 각 시스템(100, 200, 300)에 대해 수행할 데이터 조회요청 또는 쿼리실행요청을 포함할 수 있다.
API 게이트웨이(412)는 리퀘스터(500)로부터 API 실행요청이 수신되면, API 실행요청에 포함된 토큰이 유효한 토큰인지 여부를 API 인증부(411)에게 확인요청한다. API 인증부(411)로부터 해당 토큰이 유효한 것이라는 확인결과가 수신되면, API 게이트웨이(412)는 API 실행요청에 포함된 API의 식별정보 및 이벤트를 API 서버(413)로 전송함으로써 API 서버(413)가 해당 API를 호출하여 해당 이벤트를 기초로 API를 실행시킬 수 있도록 한다.
또한 API 게이트웨이(412)는 해당 API의 실행에 따른 실행결과가 API 서버(413)로부터 수신되면, 수신된 실행결과를 리퀘스터(500)로 전달한다.
API 서버(413)는 API 게이트웨이(412)로부터 API의 식별정보 및 이벤트가 수신되면, API의 식별정보에 대응되는 API를 호출하여 실행시킴으로써 API 게이트웨이(412)를 통해 수신된 이벤트가 해당 API를 통해 수행될 수 있도록 한다.
예컨대, API 식별정보에 대응되는 API가 미들웨어 시스템(100)으로의 접속을 위한 API인 경우 API 서버(413)는 도 2에 도시된 바와 같이 미들웨어 시스템(100)으로의 접속을 위한 제1 API를 실행하여 미들웨어 시스템(100)의 큐 저장부(121)에 접속하고, 수신된 이벤트가 큐 저장부(121)에 기록되어 있는 표준화 데이터의 조회요청인 경우 해당 API를 통해 큐 저장부(121)에서 표준화 데이터를 조회함으로써 실행결과를 획득한다.
다른 예로, API 식별정보에 대응되는 API가 분산병렬처리시스템(200)의 메모리부(220)로의 접속을 위한 API인 경우 API 서버(413)는 도 4에 도시된 바와 같이 분산병렬처리시스템(200)의 메모리부(220)로의 접속을 위한 제2 API를 실행하여 분산병렬처리시스템(200)의 메모리부(220)에 접속하고, 수신된 이벤트가 메모리부(220)에 기록된 정렬 데이터의 조회요청인 경우 제2 API를 통해 메모리부(220)에 접속하여 메모리부(220)에서 정렬 데이터를 조회함으로써 실행결과를 획득한다.
또한, API 식별정보에 대응되는 API가 분산병렬처리시스템(200)의 페치수행유닛(211)으로의 접속을 위한 API인 경우 API 서버(413)는 도 4에 도시된 바와 같이 분산병렬처리시스템(200)의 페치수행유닛(211)으로의 접속을 위한 제3 API를 실행하여 분산병렬처리시스템(200)의 페치수행유닛(211)에 접속하고, 수신된 이벤트가 분산병렬처리시스템(200)의 페치수행유닛(211)에 대한 데이터 전달요청인 경우 제3 API를 통해 페치수행유닛(211)에 접속하여 해당 데이터를 페치수행유닛(211)으로 전달한다
한편, 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)에서 발생된 이벤트를 수신한다.
또 다른 예로, API 식별정보에 대응되는 API가 빅데이터 분석 시스템(300)의 쿼리처리부(330)로의 접속을 위한 API인 경우 API 서버(413)는 도 4에 도시된 바와 같이 분석 시스템(300)의 쿼리처리부(330)로의 접속을 위한 제5 API를 실행하여 분석 시스템(300)의 쿼리처리부(330)에 접속하고, 수신된 이벤트가 빅데이터 저장소(320)에 기록된 데이터 조회요청인 경우 해당 API의 실행을 통해 데이터 조회요청에 대한 쿼리를 생성하여 쿼리처리부(330)로 전송하고, 해당 쿼리의 실행으로 획득되는 데이터를 API를 통해 수신한다.
한편, API 식별정보에 대응되는 API가 빅데이터 분석 시스템(300)의 분석장치(340)로의 접속을 위한 API인 경우 API 서버(413)는 도 4에 도시된 바와 같이 분석 시스템(300)의 분석장치(340)로의 접속을 위한 제6 API를 실행하여 분석 시스템(300)의 분석장치(340)에 접속하고, 수신된 이벤트가 특정 분석모델의 실행요청인 경우 API 서버(413)는 제6 API의 실행을 통해 분석장치(340)가 특정 분석모델을 호출할 수 있도록 하고, 해당 분석모델의 실행에 따른 빅데이터 분석결과를 분석장치(340)로부터 수신한다.
API 서버(413)는 수신된 이벤트에 따른 API의 실행에 의해 획득된 실행결과를 API 게이트웨이(412)를 통해 리퀘스터(500)로 제공한다. 일 실시예에 있어서, API 서버(413)는 실행결과를 API 게이트웨이(412)를 경유하지 않고 직접 리퀘스터(500)로 전송할 수도 있다. 구체적으로, API 서버(413)는 실행결과의 데이터 양이 미리 정해진 기준치를 초과하는 경우 해당 실행결과를 직접 리퀘스터(500)로 전송할 수 있다.
API 관리부(414)는 API의 추가, 삭제, 또는 수정을 수행한다. 구체적으로, API 관리부(414)는 API에 대한 함수를 새로 정의함으로써 API를 추가할 수 있다. 또한, API 관리부(414)는 기존 API 함수를 수정하거나 또는 API를 삭제할 수도 있다. API에 대한 함수는 각 해당 API가 접속할 시스템(100, 200, 300)에 대한 정보, 해당 API를 이용하는 리퀘스터(500)에 대한 정보, 호출할 쿼리구문 또는 함수, 조건값, 전달할 데이터, 전달할 이벤트, 회신여부, 회신유형 등을 포함하는 파라미터로 구성될 수 있다.
정책관리부(415)는 각 리퀘스터(500) 별로 해당 리퀘스터(500)가 사용할 수 있는 API 식별정보들이 매핑되어 있는 API 리스트를 생성한다. API 리스트에는 각 리퀘스터(500)의 식별정보와 해당 리퀘스터(500)가 사용할 수 있는 API 식별 정보가 매핑되어 기록된다.
API 로깅부(416)는 API 게이트웨이(412) 또는 API 서버(413)를 통해 송수신되는 실행결과 및 이벤트를 로그 데이터베이스(417)에 기록한다. 이때, API 로깅부(416)는 실행결과 또는 이벤트의 송수신 시간을 해당 실행결과 또는 이벤트와 매핑시켜 로그 데이터베이스(417)에 기록한다.
다시 도 1을 참조하면, 리퀘스터(500)는 스마트팩토리 플랫폼(1000)에 이벤트를 전송하거나 스마트팩토리 플랫폼(1000)으로부터 데이터를 수신하는 다양한 형태의 시스템 또는 사용자를 포함한다.
일 실시예에 있어서, 리퀘스터(500)는 API 서비스 제공 시스템(400)에 의해 제공되는 API를 통해 스마트팩토리 플랫폼(1000)에 접속할 수 있다.
이러한 리퀘스터(500)는 앱(App), 어플리케이션((Application), 작업(Job), 또는 사용자(User)를 포함할 수 있다.
앱은 모바일에 설치되어 특화된 기능 또는 서비스를 담당하는 소프트웨어를 의미한다. 어플리케이션은 MES, SCM, ERP와 같은 레거시(Legacy) 시스템을 의미하는 것으로서 웹(Web) 화면을 통해 데이터 및 이벤트를 조회하거나 전송하거나 웹 화면이 없이 AP서버 형태로 실행되는 시스템을 의미한다.
작업은 API 서비스 호출을 위해 생성된 프로세스상의 작업을 의미하며, 하나의 작업은 또 다른 작업을 호출 할 수 있다.
사용자는 다양한 분석 툴 또는 BI 툴을 통해 직접 쿼리를 실행하거나 API를 호출하는 개발자 및 운영자를 의미하거나, 프로그램 개발을 위해 API를 호출하는 개발자 및 운영자 등 플랫폼 API서비스를 호출하는 사용자를 의미한다.
본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다.
그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (19)

  1. 데이터 수집장치로부터 수집된 수집데이터를 전처리하는 미들웨어 시스템;
    상기 전처리된 수집데이터에 상기 수집데이터가 발생된 공정의 공정 식별자를 매핑하여 매핑 데이터를 생성하고, 생성된 매핑 데이터를 미리 정해진 기준에 따라 정렬하여 정렬 데이터를 생성하는 분산병렬처리시스템;
    빅데이터 분석모델을 이용하여 상기 정렬 데이터를 분석하는 빅데이터 분석 시스템;
    상기 미들웨어 시스템, 상기 분산병렬처리시스템, 및 상기 빅데이터 분석 시스템 중 적어도 하나에 접속하기 위한 API(Application Programming Interface)를 실행하여 해당 시스템에 접속하고, 리퀘스터(Requester)로부터 수신된 이벤트에 대한 실행결과를 해당 시스템으로부터 획득하여 상기 리퀘스터로 제공하는 API 서버; 및
    상기 리퀘스터로부터 API의 식별정보 및 상기 이벤트가 포함된 API 실행요청이 수신되면 상기 API의 식별정보 및 상기 이벤트를 상기 API 서버로 전송하고, 상기 API 서버로부터 제공되는 상기 실행결과를 상기 리퀘스터로 제공하는 API 게이트웨이를 포함하고,
    상기 API 서버는 상기 실행결과의 데이터 양이 미리 정해진 기준치를 초과하면 상기 실행결과를 상기 리퀘스터로 직접 전송하는 것을 특징으로 하는 API 서비스 기반의 스마트팩토리 시스템.
  2. 제1항에 있어서,
    상기 미들웨어 시스템은 상기 전처리된 수집 데이터가 저장되는 큐 저장부를 포함하고,
    상기 API 서버는 상기 리퀘스터로부터 수신된 API 식별정보에 따라 제1 API를 실행하여 상기 큐 저장부에 접속하고, 상기 수신된 이벤트에 따라 상기 큐 저장부에 기록된 상기 전처리된 수집 데이터를 조회하여 상기 실행결과를 획득하는 API 서버를 포함하는 것을 특징으로 하는 API 서비스 기반의 스마트팩토리 시스템.
  3. 제1항에 있어서,
    상기 분산병렬처리시스템은 상기 정렬 데이터가 저장되는 메모리부를 포함하고,
    상기 API 서버는 상기 리퀘스터로부터 수신된 API 식별정보에 따라 제2 API를 실행하여 상기 메모리부에 접속하고, 상기 수신된 이벤트에 따라 상기 메모리부에 기록된 상기 정렬 데이터를 조회하여 상기 실행결과를 획득하는 것을 특징으로 하는 API 서비스 기반의 스마트팩토리 시스템.
  4. 제1항에 있어서,
    상기 분산병렬처리시스템은 상기 미들웨어 시스템으로부터 상기 전처리된 데이터를 독출하여 메모리부에 저장하는 페치 수행유닛을 더 포함하고,
    상기 API 서버는 상기 리퀘스터로부터 수신된 API 식별정보에 따라 제3 API를 실행하여 상기 페치 수행유닛에 접속하고, 상기 수신된 이벤트를 상기 페치 수행유닛으로 전달하는 것을 특징으로 하는 API 서비스 기반의 스마트팩토리 시스템.
  5. 제1항에 있어서,
    상기 분산병렬처리시스템은 상기 공정 식별자에 대응되는 설비의 이상여부를 판단하는 설비이상감지 수행유닛 또는 상기 공정 식별자에 대응되는 재료의 품질이상여부를 판단하는 품질이상 감지수행유닛을 포함하고,
    상기 API 서버는 상기 리퀘스터로부터 수신된 API 식별정보에 따라 제4 API를 실행하여 상기 설비이상감지 수행유닛 또는 상기 품질이상 감지수행유닛에 접속하고, 상기 설비이상감지 수행유닛 또는 상기 품질이상 감지수행유닛에서 발생되는 이벤트를 상기 실행결과로 획득하는 것을 특징으로 하는 API 서비스 기반의 스마트팩토리 시스템.
  6. 제1항에 있어서,
    상기 빅데이터 분석 시스템은 상기 정렬 데이터가 미리 정해진 형태로 저장된 빅데이터 저장부를 조회하여 조회결과를 리턴하는 쿼리처리부를 포함하고,
    상기 API 서버는 상기 리퀘스터로부터 수신된 API 식별정보에 따라 제5 API를 실행하여 상기 쿼리처리부에 접속하여 상기 수신된 이벤트에 따른 쿼리를 생성하여 상기 쿼리처리부로 전송하고, 상기 쿼리처리부로부터 해당 쿼리의 실행으로 획득되는 데이터를 상기 실행결과로 획득하는 것을 특징으로 하는 API 서비스 기반의 스마트팩토리 시스템.
  7. 제1항에 있어서,
    상기 빅데이터 분석 시스템은 상기 정렬 데이터를 상기 빅데이터 분석모델을 이용하여 분석하는 분석장치를 포함하고
    상기 API 서버는 상기 리퀘스터로부터 수신된 API 식별정보에 따라 제6 API를 실행하여 상기 분석장치에 접속하고, 상기 제6 API를 통해 상기 빅데이터 분석모델을 호출 및 실행시켜 산출된 빅데이터 분석결과를 상기 실행결과로 획득하는 것을 특징으로 하는 API 서비스 기반의 스마트팩토리 시스템.
  8. 삭제
  9. 삭제
  10. 제1항에 있어서,
    상기 리퀘스터로부터 상기 리퀘스터의 식별정보 및 상기 API의 식별정보가 포함된 API 인증요청이 수신되면 상기 리퀘스터가 상기 API를 사용할 권한이 있는지 여부를 인증하는 API 인증부를 더 포함하고,
    상기 API 서버는 상기 API 인증부에 의해 상기 리퀘스터가 상기 API를 사용할 권한이 있는 것으로 판단되면 상기 API를 실행시키는 것을 특징으로 하는 API 서비스 기반의 스마트팩토리 시스템.
  11. 제10항에 있어서,
    각 리퀘스터 별로 해당 리퀘스터가 사용할 수 있는 API의 식별정보가 기록된 API 리스트를 생성하는 정책관리부를 더 포함하고,
    상기 API 인증부는 상기 리퀘스터의 식별정보에 대응되는 API 리스트에 상기 API 인증요청에 포함된 API의 식별정보가 포함되어 있으면 상기 리퀘스터가 상기 API를 사용할 수 있는 것으로 판단하는 것을 특징으로 하는 API 서비스 기반의 스마트팩토리 시스템.
  12. 제10항에 있어서,
    상기 API 인증부는 상기 리퀘스터가 상기 API를 사용할 수 있는 것으로 판단되면 상기 리퀘스터에게 미리 정해진 유효기간 동안 상기 API를 사용할 수 있는 토큰을 발행하는 것을 특징으로 하는 API 서비스 기반의 스마트팩토리 시스템.
  13. 제10항에 있어서,
    상기 리퀘스터로부터 상기 API의 실행을 위한 토큰이 추가로 포함된 API 실행요청이 수신되면, 상기 API 인증부로 상기 API 실행요청에 포함된 상기 토큰이 유효한지 여부를 확인하는 API 게이트웨이를 더 포함하고,
    상기 API 게이트웨이는 상기 API 인증부에 의해 상기 토큰이 유효한 것으로 판단되면 상기 API 실행요청에 포함된 API 식별정보 및 이벤트를 상기 API 서버로 전송하는 것을 특징으로 하는 API 서비스 기반의 스마트팩토리 시스템.
  14. 제13항에 있어서,
    상기 API 인증부는 상기 API 게이트웨이로부터 상기 토큰이 유효한지 여부에 대한 확인요청이 수신되면, 상기 확인요청이 수신된 시점이 토큰발급 리스트 상에 기록된 상기 확인요청된 토큰의 유효기간 이내이면 상기 확인요청된 토큰이 유효한 것으로 판단하는 것을 특징으로 하는 API 서비스 기반의 스마트팩토리 시스템.
  15. 제1항에 있어서,
    상기 API에 대한 함수의 신규정의 또는 수정을 통해 상기 API를 추가, 삭제, 또는 수정하는 API 관리부를 더 포함하는 것을 특징으로 하는 API 서비스 기반의 스마트팩토리 시스템.
  16. 제15항에 있어서,
    상기 API에 대한 함수는 각 API가 접속할 시스템에 대한 정보, 해당 API를 사용하는 리퀘스터에 대한 정보, 호출할 쿼리구문 또는 함수, 조건값, 상기 이벤트, 전송대상이 되는 데이터, 회신여부, 및 회신유형 중 적어도 하나를 포함하는 파라미터로 구성되는 것을 특징으로 하는 API 서비스 기반의 스마트팩토리 시스템.
  17. 데이터 수집장치로부터 수집된 수집데이터를 전처리하는 미들웨어 시스템;
    상기 전처리된 수집데이터에 상기 수집데이터가 발생된 공정의 공정 식별자를 매핑하여 매핑 데이터를 생성하고, 생성된 매핑 데이터를 미리 정해진 기준에 따라 정렬하여 정렬 데이터를 생성하는 분산병렬처리시스템;
    빅데이터 분석모델을 이용하여 상기 정렬 데이터를 분석하는 빅데이터 분석 시스템; 및
    상기 미들웨어 시스템, 상기 분산병렬처리시스템, 및 상기 빅데이터 분석 시스템 중 적어도 하나에 접속하기 위한 API(Application Programming Interface)를 실행하여 해당 시스템에 접속하고, 리퀘스터(Requester)로부터 수신된 이벤트에 대한 실행결과를 해당 시스템으로부터 획득하여 상기 리퀘스터로 제공하는 API 서버를 포함하고,
    상기 빅데이터 분석 시스템은,
    상기 정렬 데이터가 복수개의 로우(Row) 및 컬럼(Column)을 갖는 테이블 형태로 저장되는 제1 빅데이터 저장부; 및
    상기 제1 빅데이터 저장부에 저장된 데이터 중 적어도 일부가 파일로 생성되어 저장되는 제2 빅데이터 저장부를 포함하는 것을 특징으로 하는 API 기반의 스마트팩토리 시스템.
  18. 제1항 또는 제17항에 있어서,
    상기 공정 식별자 매핑은 상기 공정을 수행하는 각 설비의 설비 식별자 매핑 및 상기 설비를 통해 가공된 재료의 재료 식별자 매핑 중 적어도 하나의 매핑인 것을 특징으로 하는 API 서비스 기반의 스마트팩토리 시스템.
  19. 제1항 또는 제17항에 있어서,
    상기 분산병렬처리시스템은 상기 매핑 데이터를 수집시간에 따라 정렬하는 시간정렬 및 상기 매핑 데이터를 상기 공정에서 가공된 재료 단위로 정렬하는 단위정렬 중 적어도 하나를 수행하는 것을 특징으로 하는 API 서비스 기반의 스마트팩토리 시스템.
KR1020180174072A 2018-02-08 2018-12-31 Api 기반의 스마트팩토리 시스템 KR102216311B1 (ko)

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
KR20190100847A KR20190100847A (ko) 2019-08-29
KR102216311B1 true KR102216311B1 (ko) 2021-02-17

Family

ID=67775758

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020180174051A KR102210972B1 (ko) 2018-02-08 2018-12-31 고속 빅데이터 분석을 수행하는 스마트팩토리 시스템
KR1020180174072A KR102216311B1 (ko) 2018-02-08 2018-12-31 Api 기반의 스마트팩토리 시스템

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020180174051A KR102210972B1 (ko) 2018-02-08 2018-12-31 고속 빅데이터 분석을 수행하는 스마트팩토리 시스템

Country Status (1)

Country Link
KR (2) KR102210972B1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102106373B1 (ko) 2019-11-11 2020-05-04 이민우 블록체인 연동형 스마트 팩토리 생산 관리 시스템
WO2021107180A1 (ko) * 2019-11-27 2021-06-03 위즈코어 주식회사 제조 빅테이터 기반의 머신러닝 장치 및 방법
KR102311784B1 (ko) * 2020-01-17 2021-10-12 경상국립대학교 산학협력단 Ai 기반 소성 가공 공정 정보 구축 방법
BR112022021913A2 (pt) * 2020-04-28 2022-12-13 Buckman Laboratories Int Inc Método implementado por computador para otimizar o fornecimento de um ou mais produtos para uma pluralidade de plantas industriais, sistema e sistema para otimizar o fornecimento de um ou mais produtos químicos para uma pluralidade de plantas industriais
KR102411291B1 (ko) * 2020-09-25 2022-06-27 (주)디엘정보기술 스마트공장 데이터 품질평가 방법
KR102509402B1 (ko) * 2020-12-09 2023-03-13 주식회사 에이앤에이 플랫폼 상의 이벤트 처리 방법
KR20220110943A (ko) 2021-02-01 2022-08-09 (주)한도씨앤에스 스마트 팩토리 구현을 위한 제어 및 관리 시스템
KR102436870B1 (ko) 2022-05-31 2022-08-26 주식회사 영일메카텍 스마트팩토리 구현을 위한 머신 통합모니터링 시스템
CN116881304B (zh) * 2023-07-25 2024-03-22 连云港电子口岸信息发展有限公司 基于分布式edi的api网关编排管理系统及方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101663580B1 (ko) * 2013-03-08 2016-10-07 심플렉스 인터넷 주식회사 전자상거래 추천 분석 시스템 및 추천 분석 방법
KR20150112357A (ko) * 2014-03-27 2015-10-07 (주)시엠아이코리아 센서 데이터 처리 시스템 및 방법
KR20170062244A (ko) * 2015-11-27 2017-06-07 주식회사 비디 Api 관리 장치
KR102089818B1 (ko) * 2015-12-31 2020-03-17 주식회사 포스코아이씨티 스마트 팩토리를 위한 실시간 빅데이터 처리 시스템

Also Published As

Publication number Publication date
KR20190100846A (ko) 2019-08-29
KR20190100847A (ko) 2019-08-29
KR102210972B1 (ko) 2021-02-02

Similar Documents

Publication Publication Date Title
KR102216311B1 (ko) Api 기반의 스마트팩토리 시스템
KR101892350B1 (ko) 연속공정용 대용량 데이터를 실시간으로 처리하기 위한 스마트팩토리 플랫폼
KR101892351B1 (ko) 스마트 팩토리를 위한 빅데이터 분석 시스템
CN102298365B (zh) 自动识别管理航天测控地面站设备变化的方法
KR101951526B1 (ko) 스마트팩토리 플랫폼을 위한 인터페이스 미들웨어 시스템 및 그 동작방법
CN107798460B (zh) 用于处理在连续工艺中获得的数据的智能工厂平台
CN105956029B (zh) 混合存储架构下的数据访问方法
DE102015101370A1 (de) Verwalten von Big-Data in Prozesssteuerungssystemen
KR101938946B1 (ko) 대량의 데이터 수집을 위한 인터페이스 미들웨어 시스템 및 인터페이스 미들웨어 시스템의 데이터 수집 방법
CN106383916B (zh) 基于工业设备预测性维护的数据处理方法
US20050154770A1 (en) Information system and data access method
CN112016828A (zh) 基于流式大数据的工业设备健康管理云平台架构
CN109308290B (zh) 一种基于cim的高效数据清洗转换方法
KR20180026596A (ko) 연속공정용 데이터를 실시간으로 처리하는 분산병렬 처리시스템
CN117172641A (zh) 基于区块链与数字孪生的生产物流管理平台及实现方法
KR101892352B1 (ko) 연속공정용 데이터를 표준화하는 미들웨어 시스템
KR101951527B1 (ko) 메모리 캐시 자동 관리를 위한 대용량 데이터 실시간 처리 시스템
KR102032680B1 (ko) 연속공정용 데이터를 실시간으로 처리하는 분산병렬 처리시스템
CN116483831A (zh) 一种分布式数据库推荐索引生成方法
KR102312523B1 (ko) 대량의 데이터 수집을 위한 인터페이스 미들웨어 시스템
CN112800064B (zh) 一种基于Confluent社区开源版的实时大数据应用开发方法及系统
US8295964B2 (en) Method for selecting equipment resources in a manufacturing process
KR102026301B1 (ko) 데이터 유실 방지 기능을 구비한 분산 병렬 처리 시스템 및 방법
CN110493326B (zh) 基于zookeeper管理集群配置文件的系统和方法
CN107612721B (zh) 运维数据的管理系统及方法、汇聚服务器及处理服务器

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