[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR102145440B1 - 스마트팩토리를 위한 고속 데이터 처리 장치 및 그 방법 - Google Patents

스마트팩토리를 위한 고속 데이터 처리 장치 및 그 방법 Download PDF

Info

Publication number
KR102145440B1
KR102145440B1 KR1020180069563A KR20180069563A KR102145440B1 KR 102145440 B1 KR102145440 B1 KR 102145440B1 KR 1020180069563 A KR1020180069563 A KR 1020180069563A KR 20180069563 A KR20180069563 A KR 20180069563A KR 102145440 B1 KR102145440 B1 KR 102145440B1
Authority
KR
South Korea
Prior art keywords
empty space
entry
sensor data
data
hash function
Prior art date
Application number
KR1020180069563A
Other languages
English (en)
Other versions
KR20190142534A (ko
Inventor
김의혁
박상호
홍태경
Original Assignee
주식회사 한화
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 한화 filed Critical 주식회사 한화
Priority to KR1020180069563A priority Critical patent/KR102145440B1/ko
Publication of KR20190142534A publication Critical patent/KR20190142534A/ko
Application granted granted Critical
Publication of KR102145440B1 publication Critical patent/KR102145440B1/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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 스마트팩토리를 위한 고속 데이터 처리 장치 및 그 방법에 관한 것으로, 연속적인 공정에서 구비되는 설비의 속성을 주기적으로 감지하는 센서 데이터를 수신하는 데이터 수신부, 해시함수를 이용하여 제1 테이블 및 제2 테이블의 엔트리를 산출하고, 산출된 엔트리를 검색하여 빈 공간의 유무를 파악한 후 산출된 엔트리에 수신된 센서 데이터를 삽입한 후 메모리에 쓰기 연산을 수행하여 저장하는 데이터 저장부 및 메모리에 저장된 센서 데이터를 해시함수를 이용하는 읽기 연산을 수행하여 분석하는 데이터 분석부를 포함한다.

Description

스마트팩토리를 위한 고속 데이터 처리 장치 및 그 방법{APPARATUS AND METHOD FOR PROCESSING HIGH SPEED DATA FOR A SMART FACTORY}
본 발명은 스마트팩토리를 위한 고속 데이터 처리 장치 및 그 방법에 관한 것으로, 보다 자세하게는 다수개의 센서 데이터를 하나의 메모리에 실시간 쓰기 및 읽기가 가능하도록 하는 스마트팩토리를 위한 고속 데이터 처리 장치 및 그 방법에 관한 것이다.
원재료를 이용하여 완제품을 생성하기 위한 복수개의 공정들이 연속적으로 수행되고, 각 공정의 산출물들이 서로 혼합되거나 특정 공정의 산출물의 상태가 변화하여 후속 공정으로 공급되는 것과 같이, 각 공정들이 서로 관련되어 있는 생산 방식을 연속공정 생산방식이라 한다.
이러한 연속공정 생산방식이 적용되는 산업의 경우, 단일공정 생산방식이 적용되는 산업과 달리, 원재료 또는 중간재가 고속으로 이동하기 때문에 센서 데이터의 수집주기가 짧고 센서 데이터의 양이 많을 뿐만 아니라, 소음, 먼지, 수분 등이 많은 공장 환경에서 제품이 생산되기 때문에 계측이상이 자주 발생하고, 작업 방법에 따라 중간재들이 서로 혼합되거나 소재의 위치가 이동한다는 특성이 있다.
즉, 연속공정 생산방식이 적용되는 산업의 경우, 단일공정에서 발생한 센서 데이터의 분석만으로는 설비 고장이나 제품 불량 등의 원인을 파악하는 것이 어렵기 때문에, 제품의 생산에 필요한 모든 연속공정에 관한 센서 데이터를 누락없이 수집할 수 있어야 한다.
이에 따라, 연속공정 생산방식이 적용되는 산업에 있어서 누락없이 대용량의 센서 데이터를 실시간으로 처리할 수 있는 기술이 요구되고 있다.
종래 기술은 연속적인 공정의 수많은 데이터를 빠짐없이 저장하기 위해 하나의 할당된 메모리 공간이 아닌 복수의 메모리를 사용해야 하므로 많은 구축비용을 필요로 한다. 즉, 데이터 수집 서버 및 대용량 서버 메모리가 필요하며 광 트랜스시버 및 광케이블을 필요로 한다.
그리고 종래 기술은 저장 시 데이터 손실을 줄이기 위해 여러 개의 메모리를 사용한다. 이는 하나의 메모리만 사용되어 IDLE상태의 하드웨어가 발생할 수 있으며 비효율적인 하드웨어 운영을 하게 된다는 문제점이 있다.
이와 관련하여, 한국공개특허 제10-2004-0056077호는 "실시간 데이터 고속 수집 및 저장방법"에 관하여 개시하고 있다.
본 발명은 상기와 같은 문제점을 해결하기 위해 발명된 것으로서, 제1 테이블 및 제 2 테이블을 사용하되, 제1 테이블은 해시함수를 통해 캐시 라인에 맞춰 키/값 쌍(Key/value pair)을 삽입하는 데이터 구조로 이루어지는 스마트팩토리를 위한 고속 데이터 처리 장치 및 그 방법을 제공하는데 그 목적이 있다.
또한, 본 발명은 해시함수를 이용하여 제1 테이블 및 제2 테이블의 엔트리를 산출하고, 산출된 엔트리를 검색하여 빈 공간의 유무를 파악한 후 산출된 엔트리에 수신된 센서 데이터를 삽입한 후 메모리에 쓰기 연산을 수행하여 저장하는 스마트팩토리를 위한 고속 데이터 처리 장치 및 그 방법을 제공하는데 그 목적이 있다.
상기의 목적을 달성하기 위한 본 발명에 따른 스마트팩토리를 위한 고속 데이터 처리 장치는 연속적인 공정에서 구비되는 설비의 속성을 주기적으로 감지하는 센서 데이터를 수신하는 데이터 수신부; 해시함수를 이용하여 제1 테이블 및 제2 테이블의 엔트리를 산출하고, 산출된 엔트리를 검색하여 빈 공간의 유무를 파악한 후 산출된 엔트리에 수신된 센서 데이터를 삽입한 후 메모리에 쓰기 연산을 수행하여 저장하는 데이터 저장부; 및 메모리에 저장된 센서 데이터를 해시함수를 이용하는 읽기 연산을 수행하여 분석하는 데이터 분석부;를 포함한다.
또한, 상기 데이터 수신부는 유도탄 조립 공정에 사용되는 온도 감지, 습도 감지, 정전기 감지 및 모터 상태 정보 중 적어도 어느 하나를 포함하는 센서 데이터를 수신하는 것을 특징으로 한다.
또한, 상기 데이터 저장부는 제1 테이블 및 제2 테이블을 사용하여 저장하되, 제1 테이블은 해시함수를 통해 캐시 라인에 맞춰 키/값 쌍(Key/value pair)을 삽입하는 데이터 구조로 이루어지는 것을 특징으로 한다.
또한, 상기 데이터 저장부는, 해시함수를 이용하여 제1 테이블의 엔트리를 산출하는 제1 엔트리 산출부; 산출된 제1 테이블의 엔트리를 검색하여 빈 공간의 유무를 파악하는 제1 공간 파악부; 및 파악 결과, 빈 공간이 있는 것으로 파악되면 산출된 제1 테이블의 엔트리에 센서 데이터를 삽입하여 해당 빈 공간에 저장하는 제1 엔트리 삽입부;를 포함하는 것을 특징으로 한다.
또한, 상기 데이터 저장부는, 파악 결과, 빈 공간이 없는 것으로 파악되면 해시함수를 이용하여 제2 테이블의 엔트리를 산출하는 제2 엔트리 산출부; 산출된 제2 테이블의 엔트리를 검색하여 빈 공간의 유무를 파악하는 제2 공간 파악부; 파악 결과, 빈 공간이 있는 것으로 파악되면 산출된 제2 테이블의 엔트리에 센서 데이터 값을 삽입하여 해당 빈 공간에 저장하는 제2 엔트리 삽입부; 및 파악 결과, 빈 공간이 없는 것으로 파악되면 순차검색으로 제2 테이블의 엔트리를 검색하여 빈 공간을 파악하고, 산출된 제2 테이블의 엔트리에 센서 데이터를 삽입하여 파악된 빈 공간에 저장하는 제3 엔트리 삽입부;를 포함하는 것을 특징으로 한다.
또한, 상기 데이터 분석부는 해시함수를 이용하여 메모리에 저장된 센서 데이터를 검색하고, 검색된 센서 데이터를 토대로 연속적인 공정에서 구비되는 설비의 이상 유무를 판단하는 것을 특징으로 한다.
상기의 목적을 달성하기 위한 본 발명에 따른 스마트팩토리를 위한 고속 데이터 처리 방법은 데이터 수신부에 의해, 연속적인 공정에서 구비되는 설비의 속성을 주기적으로 감지하는 센서 데이터를 수신하는 단계; 데이터 저장부에 의해, 해시함수를 이용하여 제1 테이블 및 제2 테이블의 엔트리를 산출하고, 산출된 엔트리를 검색하여 빈 공간의 유무를 파악한 후 산출된 엔트리에 수신된 센서 데이터를 삽입한 후 메모리에 쓰기 연산을 수행하여 저장하는 단계; 및 데이터 분석부에 의해, 메모리에 저장된 센서 데이터를 해시함수를 이용하는 읽기 연산을 수행하여 분석하는 단계;를 포함한다.
또한, 연속적인 공정에서 구비되는 설비의 속성을 주기적으로 감지하는 센서 데이터를 수신하는 단계는, 유도탄 조립 공정에 사용되는 온도 감지, 습도 감지, 정전기 감지 및 모터 상태 정보 중 적어도 어느 하나를 포함하는 센서 데이터를 수신하는 것을 특징으로 한다.
또한, 해시함수를 이용하여 제1 테이블 및 제2 테이블의 엔트리를 산출하고, 산출된 엔트리를 검색하여 빈 공간의 유무를 파악한 후 산출된 엔트리에 수신된 센서 데이터를 삽입한 후 메모리에 쓰기 연산을 수행하여 저장하는 단계에서, 제1 테이블 및 제2 테이블을 사용하여 저장하되, 제1 테이블은 해시함수를 통해 캐시 라인에 맞춰 키/값 쌍(Key/value pair)을 삽입하는 데이터 구조로 이루어지는 것을 특징으로 한다.
또한, 해시함수를 이용하여 제1 테이블 및 제2 테이블의 엔트리를 산출하고, 산출된 엔트리를 검색하여 빈 공간의 유무를 파악한 후 산출된 엔트리에 수신된 센서 데이터를 삽입한 후 메모리에 쓰기 연산을 수행하여 저장하는 단계는, 해시함수를 이용하여 제1 테이블의 엔트리를 산출하는 단계; 산출된 제1 테이블의 엔트리를 검색하여 빈 공간의 유무를 파악하는 단계; 및 파악 결과, 빈 공간이 있는 것으로 파악되면 산출된 제1 테이블의 엔트리에 센서 데이터를 삽입하여 해당 빈 공간에 저장하는 단계;를 포함하는 것을 특징으로 한다.
또한, 파악 결과, 빈 공간이 있는 것으로 파악되면 산출된 제1 테이블의 엔트리에 센서 데이터를 삽입하여 해당 빈 공간에 저장하는 단계 이후에, 파악 결과, 빈 공간이 없는 것으로 파악되면 해시함수를 이용하여 제2 테이블의 엔트리를 산출하는 단계; 산출된 제2 테이블의 엔트리를 검색하여 빈 공간의 유무를 파악하는 단계; 파악 결과, 빈 공간이 있는 것으로 파악되면 산출된 제2 테이블의 엔트리에 센서 데이터 값을 삽입하여 해당 빈 공간에 저장하는 단계; 및 파악 결과, 빈 공간이 없는 것으로 파악되면 순차검색으로 제2 테이블의 엔트리를 검색하여 빈 공간을 파악하고, 산출된 제2 테이블의 엔트리에 센서 데이터를 삽입하여 파악된 빈 공간에 저장하는 단계;를 포함하는 것을 특징으로 한다.
또한, 메모리에 저장된 센서 데이터를 해시함수를 이용하는 읽기 연산을 수행하여 분석하는 단계는, 해시함수를 이용하여 메모리에 저장된 센서 데이터를 검색하고, 검색된 센서 데이터를 토대로 연속적인 공정에서 구비되는 설비의 이상 유무를 판단하는 것을 특징으로 한다.
상기의 목적을 달성하기 위한 본 발명에 따른 스마트팩토리를 위한 고속 데이터 처리 장치 및 그 방법은 제1 테이블 및 제 2 테이블을 사용하되, 제1 테이블은 해시함수를 통해 캐시 라인에 맞춰 키/값 쌍(Key/value pair)을 삽입하는 데이터 구조로 이루어짐으로써, 캐시 사용을 극대화시키는 효과가 있다.
또한, 본 발명은 해시함수를 이용하여 제1 테이블 및 제2 테이블의 엔트리를 산출하고, 산출된 엔트리를 검색하여 빈 공간의 유무를 파악한 후 산출된 엔트리에 수신된 센서 데이터를 삽입한 후 메모리에 저장하는 쓰기 연산을 수행함으로써, 여러 데이터를 동시에 처리하기 위해 사용하는 락(LOCK)을 사용하지 않아 오버헤드 없이 빠른 데이터 처리를 가능하게 하는 효과가 있다.
이를 토대로, 본 발명은 용량이 제한된 유도무기나 내장무기체계에 쉽게 적용이 가능하다.
도 1은 본 발명에 따른 스마트팩토리를 위한 고속 데이터 처리 장치의 구성을 설명하기 위한 도면이다.
도 2는 본 발명에 따른 스마트팩토리를 위한 고속 데이터 처리 장치에 채용되는 데이터 저장부의 세부 구성을 설명하기 위한 도면이다.
도 3은 도 2의 데이터 저장부에서 제1 테이블 및 제2 테이블의 데이터 구조를 설명하기 위한 도면이다.
도 4는 본 발명에 따른 스마트팩토리를 위한 고속 데이터 처리 방법의 순서를 설명하기 위한 도면이다.
도 5 및 도 6은 본 발명에 따른 스마트팩토리를 위한 고속 데이터 처리 방법에서 적용되는 쓰기 연산 및 읽기 연산의 알고리즘을 설명하기 위한 도면이다.
도 7은 본 발명에 따른 스마트팩토리를 위한 고속 데이터 처리 방법에서 해시함수를 이용하여 제1 테이블 및 제2 테이블의 엔트리를 산출하고, 산출된 엔트리를 검색하여 빈 공간의 유무를 파악한 후 산출된 엔트리에 수신된 센서 데이터를 삽입한 후 메모리에 쓰기 연산을 수행하여 저장하는 단계를 설명하기 위한 순서도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.
그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 이하, 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명에 따른 스마트팩토리를 위한 고속 데이터 처리 장치의 구성을 설명하기 위한 도면이다.
도 1을 참조하여 설명하면, 본 발명에 따른 스마트팩토리를 위한 고속 데이터 처리 장치(100)는 크게 데이터 수신부(110), 데이터 저장부(120) 및 데이터 분석부(130)를 포함한다.
데이터 수신부(110)는 연속적인 공정에서 구비되는 설비의 속성을 주기적으로 감지하는 센서 데이터를 수신한다.
데이터 수신부(110)는 유도탄 조립 공정에 사용되는 온도 감지, 습도 감지, 정전기 감지 및 모터 상태 정보 중 적어도 어느 하나를 포함하는 센서 데이터를 PLC(Programmable Logic Controller)로부터 유선상으로 수신한다.
데이터 저장부(120)는 해시함수를 이용하여 제1 테이블 및 제2 테이블의 엔트리를 산출하고, 산출된 엔트리를 검색하여 빈 공간의 유무를 파악한 후 산출된 엔트리에 수신된 센서 데이터를 삽입한 후 메모리에 쓰기 연산을 수행하여 저장한다.
한편, 데이터 저장부(120)는 멀티코어를 사용하여 메모리의 데이터저장연산과 HDD의 저장 연산을 진행한다. HDD의 저장연산은 단순 저장연산이므로 하나의 코어가 메모리의 데이터를 HDD에 계속 저장하는 단순한 작업만 한다.
데이터 분석부(130)는 메모리에 저장된 센서 데이터를 해시함수를 이용하는 읽기 연산을 수행하여 분석한다.
데이터 분석부(130)는 해시함수를 이용하여 O(1)을 만족하므로 메모리에 저장된 센서 데이터를 검색하고, 검색된 센서 데이터를 토대로 연속적인 공정에서 구비되는 설비의 이상 유무를 판단한다.
도 2는 본 발명에 따른 스마트팩토리를 위한 고속 데이터 처리 장치에 채용되는 데이터 저장부의 세부 구성을 설명하기 위한 도면이고, 도 3은 도 2의 데이터 저장부에서 제1 테이블 및 제2 테이블의 데이터 구조를 설명하기 위한 도면이다.
도 2를 참조하여 설명하면, 본 발명에 따른 데이터 저장부(120)는 해시함수를 이용하여 제1 테이블 및 제2 테이블의 엔트리를 산출하고, 산출된 엔트리를 검색하여 빈 공간의 유무를 파악한 후 산출된 엔트리에 수신된 센서 데이터를 삽입한 후 메모리에 쓰기 연산을 수행하여 저장한다. 여기서, 데이터 저장부(120)는 제1 테이블 및 제2 테이블을 사용하여 저장하되, 제1 테이블은 도 3에 도시된 바와 같이 해시함수를 통해 캐시 라인에 맞춰 키/값 쌍(Key/value pair)을 삽입하는 데이터 구조로 이루어진다. 즉, 제1 테이블은 데이터사이즈가 64 bytes라면 각 8 bytes의 key value가 4개가 삽입 가능하다. 그래서 캐시사이즈만큼 할당하여 CPU 캐시사용을 극대화하며 최대 4번의 캐시 미스가 적어질 수 있다. 또한, 제1 테이블에 데이터가 삽입될 수 없다면 제2 테이블에 해시함수를 이용하여 삽입한다. 이때, 중복되는 데이터가 있다면 순차적 연산으로 삽입/검색을 수행한다.
이를 위해, 데이터 저장부(120)는 제1 엔트리 산출부(121), 제1 공간 파악부(122), 제1 엔트리 삽입부(123), 제2 엔트리 산출부(124), 제2 공간 파악부(125), 제2 엔트리 삽입부(126) 및 제3 엔트리 삽입부(127)를 포함한다.
제1 엔트리 산출부(121)는 해시함수를 이용하여 제1 테이블의 엔트리를 산출한다.
제1 공간 파악부(122)는 산출된 제1 테이블의 엔트리를 검색하여 빈 공간의 유무를 파악한다. 제1 공간 파악부(122)는 캐시라인 만큼 엔트리를 검색하여 값이 없는 빈 공간을 파악한다.
제1 엔트리 삽입부(123)는 파악 결과, 빈 공간이 있는 것으로 파악되면 산출된 제1 테이블의 엔트리에 센서 데이터를 삽입하여 해당 빈 공간에 저장한다.
제2 엔트리 산출부(124)는 파악 결과, 빈 공간이 없는 것으로 파악되면 해시함수를 이용하여 제2 테이블의 엔트리를 산출한다.
제2 공간 파악부(125)는 산출된 제2 테이블의 엔트리를 검색하여 빈 공간의 유무를 파악한다. 제2 공간 파악부(125)는 캐시라인 만큼 엔트리를 검색하여 값이 없는 빈 공간을 파악한다.
제2 엔트리 삽입부(126)는 파악 결과, 빈 공간이 있는 것으로 파악되면 산출된 제2 테이블의 엔트리에 센서 데이터 값을 삽입하여 해당 빈 공간에 저장한다.
제3 엔트리 삽입부(127)는 파악 결과, 빈 공간이 없는 것으로 파악되면 순차검색으로 제2 테이블의 엔트리를 검색하여 빈 공간을 파악하고, 산출된 제2 테이블의 엔트리에 센서 데이터를 삽입하여 파악된 빈 공간에 저장한다.
도 4는 본 발명에 따른 스마트팩토리를 위한 고속 데이터 처리 방법의 순서를 설명하기 위한 도면이고, 도 5 및 도 6은 본 발명에 따른 스마트팩토리를 위한 고속 데이터 처리 방법에서 적용되는 쓰기 연산 및 읽기 연산의 알고리즘을 설명하기 위한 도면이다.
도 4를 참조하여 설명하면, 본 발명에 따른 스마트팩토리를 위한 고속 데이터 처리 방법은 앞서 설명한 스마트팩토리를 위한 고속 데이터 처리 장치를 이용하는 것으로, 이하 중복되는 설명은 생략하기로 한다.
먼저, 연속적인 공정에서 구비되는 설비의 속성을 주기적으로 감지하는 센서 데이터를 수신한다(S100).
S100 단계는 유도탄 조립 공정에 사용되는 온도 감지, 습도 감지, 정전기 감지 및 모터 상태 정보 중 적어도 어느 하나를 포함하는 센서 데이터를 PLC로부터 유선상으로 수신한다.
다음, 해시함수를 이용하여 제1 테이블 및 제2 테이블의 엔트리를 산출하고, 산출된 엔트리를 검색하여 빈 공간의 유무를 파악한 후 산출된 엔트리에 수신된 센서 데이터를 삽입한 후 메모리에 쓰기 연산을 수행하여 저장하며(S110), 쓰기 연산은 도 5와 같은 알고리즘을 이용한다.
마지막으로, 메모리에 저장된 센서 데이터를 해시함수를 이용하는 읽기 연산을 수행하여 분석한다(S120).
S120 단계는 데이터 분석부는 해시함수를 이용하여 O(1)을 만족하므로 메모리에 저장된 센서 데이터를 검색하고, 검색된 센서 데이터를 토대로 연속적인 공정에서 구비되는 설비의 이상 유무를 판단하며, 읽기 연산은 도 6과 같은 알고리즘을 이용한다.
도 7은 본 발명에 따른 스마트팩토리를 위한 고속 데이터 처리 방법에서 해시함수를 이용하여 제1 테이블 및 제2 테이블의 엔트리를 산출하고, 산출된 엔트리를 검색하여 빈 공간의 유무를 파악한 후 산출된 엔트리에 수신된 센서 데이터를 삽입한 후 메모리에 쓰기 연산을 수행하여 저장하는 단계를 설명하기 위한 순서도이다.
도 7을 참조하여 설명하면, 먼저 해시함수를 이용하여 제1 테이블의 엔트리를 산출한다(S200).
다음, 산출된 제1 테이블의 엔트리를 검색하여 빈 공간의 유무를 파악한다(S210). S210 단계는 캐시라인 만큼 엔트리를 검색하여 값이 없는 빈 공간을 파악한다.
다음, 파악 결과, 빈 공간이 있는 것으로 파악되면 산출된 제1 테이블의 엔트리에 센서 데이터를 삽입하여 해당 빈 공간에 저장한다(S220).
한편, 파악 결과, 빈 공간이 없는 것으로 파악되면 해시함수를 이용하여 제2 테이블의 엔트리를 산출한다(S230).
다음, 산출된 제2 테이블의 엔트리를 검색하여 빈 공간의 유무를 파악한다(S240). S240 단계는 캐시라인 만큼 엔트리를 검색하여 값이 없는 빈 공간을 파악한다.
다음, 파악 결과, 공간이 있는 것으로 파악되면 산출된 제2 테이블의 엔트리에 센서 데이터 값을 삽입하여 해당 빈 공간에 저장한다(S250).
한편, 파악 결과, 빈 공간이 없는 것으로 파악되면 순차검색으로 제2 테이블의 엔트리를 검색하여 빈 공간을 파악하고, 산출된 제2 테이블의 엔트리에 센서 데이터를 삽입하여 파악된 빈 공간에 저장한다(S260).
이와 같이, 본 발명에 따른 스마트팩토리를 위한 고속 데이터 처리 장치 및 그 방법은 2개의 연산이 동시에 하나의 데이터에 쓰기연산이 실행되면 오직 한 개의 데이터만 인접한 데이터끼리 삽입되게 되며, 읽기 연산에서도 인접한 데이터에 데이터가 저장되어 CPU의 캐시사용이 극대화 된다. 이때, 캐시는 산술연산장치에서 데이터를 가져오기 위해 메모리를 참조하기 전 캐시저장부분을 먼저 살펴보고 원하는 데이터가 없다면 메모리를 참조하게 된다. 한번 메모리를 참조할 때 인접한 데이터도 캐시라인 만큼 같이 가져오기 때문에 인접한 데이터로 저장하는 방식 그리고 캐시사이즈만큼 데이터를 할당하는 방식이 메모리 참조 없는 빠른 연산을 위해 중요하다. 따라서, 본 발명은 캐시라인 만큼 할당한 데이터구조를 사용하여 하드웨어 캐시사용을 극대화 하였고 IDLE상태의 메모리 사용이 없다.
그리고 본 발명은 락 프리(lock-free)방법을 사용하여 성능저하를 줄였으며 캐시라인을 극대화하는 데이터구조와 삽입/검색 연산을 효율화하는 데이터구조를 사용하여 성능을 극대화하였다. 이때, 락 프리방법은 락이 필요없는 방식으로 하드웨어 레벨의 CompareAndSwap방식으로 만약 2개의 쓰레드가 하나의 데이터에 삽입시 오직 한 개의 데이터만 Compareandwap 알고리즘을 통해 삽입되도록 한다.
이상 본 명세서에서 설명한 기능적 동작과 본 주제에 관한 실시형태들은 본 명세서에서 개시한 구조들 및 그들의 구조적인 등가물을 포함하여 디지털 전자 회로나 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어에서 혹은 이들 중 하나 이상이 조합에서 구현 가능하다.
본 명세서에서 기술하는 주제의 실시형태는 하나 이상이 컴퓨터 프로그램 제품, 다시 말해 데이터 처리 장치에 의한 실행을 위하여 혹은 그 동작을 제어하기 위하여 유형의 프로그램 매체 상에 인코딩되는 컴퓨터 프로그램 명령에 관한 하나 이상이 모듈로서 구현될 수 있다. 유형의 프로그램 매체는 전파형 신호이거나 컴퓨터로 판독 가능한 매체일 수 있다. 전파형 신호는 컴퓨터에 의한 실행을 위하여 적절한 수신기 장치로 전송하기 위한 정보를 인코딩하기 위하여 생성되는 예컨대 기계가 생성한 전기적, 광학적 혹은 전자기 신호와 같은 인공적으로 생성된 신호이다. 컴퓨터로 판독 가능한 매체는 기계로 판독 가능한 저장장치, 기계로 판독 가능한 저장 기판, 메모리 장치, 기계로 판독 가능한 전파형 신호에 영향을 미치는 물질의 조합 혹은 이들 중 하나 이상이 조합일 수 있다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 어플리케이션, 스크립트 혹은 코드로도 알려져 있음)은 컴파일되거나 해석된 언어나 선험적 혹은 절차적 언어를 포함하는 프로그래밍 언어의 어떠한 형태로도 작성될 수 있으며, 독립형 프로그램이나 모듈, 컴포넌트, 서브루틴 혹은 컴퓨터 환경에서 사용하기에 적합한 다른 유닛을 포함하여 어떠한 형태로도 전개될 수 있다.
컴퓨터 프로그램은 파일 장치의 파일에 반드시 대응하는 것은 아니다. 프로그램은 요청된 프로그램에 제공되는 단일 파일 내에, 혹은 다중의 상호 작용하는 파일(예컨대, 하나 이상이 모듈, 하위 프로그램 혹은 코드의 일부를 저장하는 파일) 내에, 혹은 다른 프로그램이나 데이터를 보유하는 파일의 일부(예컨대, 마크업 언어 문서 내에 저장되는 하나 이상이 스크립트) 내에 저장될 수 있다.
컴퓨터 프로그램은 하나의 사이트에 위치하거나 복수의 사이트에 걸쳐서 분산되어 통신 네트워크에 의해 상호 접속된 다중 컴퓨터나 하나의 컴퓨터 상에서 실행되도록 전개될 수 있다.
부가적으로, 본 특허문헌에서 기술하는 논리 흐름과 구조적인 블록도는 개시된 구조적인 수단의 지원을 받는 대응하는 기능과 단계의 지원을 받는 대응하는 행위 및/또는 특정한 방법을 기술하는 것으로, 대응하는 소프트웨어 구조와 알고리즘과 그 등가물을 구축하는 데에도 사용 가능하다.
본 명세서에서 기술하는 프로세스와 논리 흐름은 입력 데이터 상에서 동작하고 출력을 생성함으로써 기능을 수행하기 위하여 하나 이상이 컴퓨터 프로그램을 실행하는 하나 이상이 프로그래머블 프로세서에 의하여 수행 가능하다.
컴퓨터 프로그램의 실행에 적합한 프로세서는, 예컨대 범용 및 특수 목적의 마이크로프로세서 양자 및 어떤 종류의 디지털 컴퓨터의 어떠한 하나 이상이 프로세서라도 포함한다. 일반적으로, 프로세서는 읽기 전용 메모리나 랜덤 액세스 메모리 혹은 양자로부터 명령어와 데이터를 수신할 것이다.
컴퓨터의 핵심적인 요소는 명령어와 데이터를 저장하기 위한 하나 이상이 메모리 장치 및 명령을 수행하기 위한 프로세서이다. 또한, 컴퓨터는 일반적으로 예컨대 자기, 자기 광학 디스크나 광학 디스크와 같은 데이터를 저장하기 위한 하나 이상이 대량 저장 장치로부터 데이터를 수신하거나 그것으로 데이터를 전송하거나 혹은 그러한 동작 둘 다를 수행하기 위하여 동작가능 하도록 결합되거나 이를 포함할 것이다. 그러나, 컴퓨터는 그러한 장치를 가질 필요가 없다.
본 기술한 설명은 본 발명의 최상의 모드를 제시하고 있으며, 본 발명을 설명하기 위하여, 그리고 당업자가 본 발명을 제작 및 이용할 수 있도록 하기 위한 예를 제공하고 있다. 이렇게 작성된 명세서는 그 제시된 구체적인 용어에 본 발명을 제한하는 것이 아니다.
따라서, 상술한 예를 참조하여 본 발명을 상세하게 설명하였지만, 당업자라면 본 발명의 범위를 벗어나지 않으면서도 본 예들에 대한 개조, 변경 및 변형을 가할 수 있다. 요컨대 본 발명이 의도하는 효과를 달성하기 위해 도면에 도시된 모든 기능 블록을 별도로 포함하거나 도면에 도시된 모든 순서를 도시된 순서 그대로 따라야만 하는 것은 아니며, 그렇지 않더라도 얼마든지 청구항에 기재된 본 발명의 기술적 범위에 속할 수 있음에 주의한다.
100 : 스마트팩토리를 위한 고속 데이터 처리 장치
110 : 데이터 수신부
120 : 데이터 저장부
121 : 제1 엔트리 산출부
122 : 제1 공간 파악부
123 : 제1 엔트리 삽입부
124 : 제2 엔트리 산출부
125 : 제2 공간 파악부
126 : 제2 엔트리 삽입부
127 : 제3 엔트리 삽입부
130 : 데이터 분석부

Claims (12)

  1. 연속적인 공정에서 구비되는 설비의 속성을 주기적으로 감지하는 센서 데이터를 수신하는 데이터 수신부;
    해시함수를 이용하여 제1 테이블 및 제2 테이블의 엔트리를 산출하고, 산출된 엔트리를 검색하여 빈 공간의 유무를 파악한 후 산출된 엔트리에 수신된 센서 데이터를 삽입한 후 메모리에 쓰기 연산을 수행하여 저장하는 데이터 저장부; 및
    메모리에 저장된 센서 데이터를 해시함수를 이용하는 읽기 연산을 수행하여 분석하는 데이터 분석부;를 포함하고,
    상기 데이터 저장부는,
    해시함수를 이용하여 제1 테이블의 엔트리를 산출하는 제1 엔트리 산출부;
    산출된 제1 테이블의 엔트리를 검색하여 빈 공간의 유무를 파악하는 제1 공간 파악부; 및
    파악 결과, 빈 공간이 있는 것으로 파악되면 산출된 제1 테이블의 엔트리에 센서 데이터를 삽입하여 해당 빈 공간에 저장하는 제1 엔트리 삽입부;
    를 포함하는 것을 특징으로 하는 스마트팩토리를 위한 고속 데이터 처리 장치.
  2. 제1항에 있어서,
    상기 데이터 수신부는 유도탄 조립 공정에 사용되는 온도 감지, 습도 감지, 정전기 감지 및 모터 상태 정보 중 적어도 어느 하나를 포함하는 센서 데이터를 수신하는 것을 특징으로 하는 스마트팩토리를 위한 고속 데이터 처리 장치.
  3. 제1항에 있어서,
    상기 데이터 저장부는 제1 테이블 및 제2 테이블을 사용하여 저장하되, 제1 테이블은 해시함수를 통해 캐시 라인에 맞춰 키/값 쌍(Key/value pair)을 삽입하는 데이터 구조로 이루어지는 것을 특징으로 하는 스마트팩토리를 위한 고속 데이터 처리 장치.
  4. 삭제
  5. 제1항에 있어서,
    상기 데이터 저장부는,
    파악 결과, 빈 공간이 없는 것으로 파악되면 해시함수를 이용하여 제2 테이블의 엔트리를 산출하는 제2 엔트리 산출부;
    산출된 제2 테이블의 엔트리를 검색하여 빈 공간의 유무를 파악하는 제2 공간 파악부;
    파악 결과, 빈 공간이 있는 것으로 파악되면 산출된 제2 테이블의 엔트리에 센서 데이터 값을 삽입하여 해당 빈 공간에 저장하는 제2 엔트리 삽입부; 및
    파악 결과, 빈 공간이 없는 것으로 파악되면 순차검색으로 제2 테이블의 엔트리를 검색하여 빈 공간을 파악하고, 산출된 제2 테이블의 엔트리에 센서 데이터를 삽입하여 파악된 빈 공간에 저장하는 제3 엔트리 삽입부;
    를 포함하는 것을 특징으로 하는 스마트팩토리를 위한 고속 데이터 처리 장치.
  6. 제1항에 있어서,
    상기 데이터 분석부는 해시함수를 이용하여 메모리에 저장된 센서 데이터를 검색하고, 검색된 센서 데이터를 토대로 연속적인 공정에서 구비되는 설비의 이상 유무를 판단하는 것을 특징으로 하는 스마트팩토리를 위한 고속 데이터 처리 장치.
  7. 데이터 수신부에 의해, 연속적인 공정에서 구비되는 설비의 속성을 주기적으로 감지하는 센서 데이터를 수신하는 단계;
    데이터 저장부에 의해, 해시함수를 이용하여 제1 테이블 및 제2 테이블의 엔트리를 산출하고, 산출된 엔트리를 검색하여 빈 공간의 유무를 파악한 후 산출된 엔트리에 수신된 센서 데이터를 삽입한 후 메모리에 쓰기 연산을 수행하여 저장하는 단계; 및
    데이터 분석부에 의해, 메모리에 저장된 센서 데이터를 해시함수를 이용하는 읽기 연산을 수행하여 분석하는 단계;를 포함하며,
    해시함수를 이용하여 제1 테이블 및 제2 테이블의 엔트리를 산출하고, 산출된 엔트리를 검색하여 빈 공간의 유무를 파악한 후 산출된 엔트리에 수신된 센서 데이터를 삽입한 후 메모리에 쓰기 연산을 수행하여 저장하는 단계는,
    해시함수를 이용하여 제1 테이블의 엔트리를 산출하는 단계;
    산출된 제1 테이블의 엔트리를 검색하여 빈 공간의 유무를 파악하는 단계; 및
    파악 결과, 빈 공간이 있는 것으로 파악되면 산출된 제1 테이블의 엔트리에 센서 데이터를 삽입하여 해당 빈 공간에 저장하는 단계;
    를 포함하는 것을 특징으로 하는 스마트팩토리를 위한 고속 데이터 처리 방법.
  8. 제7항에 있어서,
    연속적인 공정에서 구비되는 설비의 속성을 주기적으로 감지하는 센서 데이터를 수신하는 단계는,
    유도탄 조립 공정에 사용되는 온도 감지, 습도 감지, 정전기 감지 및 모터 상태 정보 중 적어도 어느 하나를 포함하는 센서 데이터를 수신하는 것을 특징으로 하는 스마트팩토리를 위한 고속 데이터 처리 방법.
  9. 제7항에 있어서,
    해시함수를 이용하여 제1 테이블 및 제2 테이블의 엔트리를 산출하고, 산출된 엔트리를 검색하여 빈 공간의 유무를 파악한 후 산출된 엔트리에 수신된 센서 데이터를 삽입한 후 메모리에 쓰기 연산을 수행하여 저장하는 단계에서,
    제1 테이블 및 제2 테이블을 사용하여 저장하되, 제1 테이블은 해시함수를 통해 캐시 라인에 맞춰 키/값 쌍(Key/value pair)을 삽입하는 데이터 구조로 이루어지는 것을 특징으로 하는 스마트팩토리를 위한 고속 데이터 처리 방법.
  10. 삭제
  11. 제7항에 있어서,
    파악 결과, 빈 공간이 있는 것으로 파악되면 산출된 제1 테이블의 엔트리에 센서 데이터를 삽입하여 해당 빈 공간에 저장하는 단계 이후에,
    파악 결과, 빈 공간이 없는 것으로 파악되면 해시함수를 이용하여 제2 테이블의 엔트리를 산출하는 단계;
    산출된 제2 테이블의 엔트리를 검색하여 빈 공간의 유무를 파악하는 단계;
    파악 결과, 빈 공간이 있는 것으로 파악되면 산출된 제2 테이블의 엔트리에 센서 데이터 값을 삽입하여 해당 빈 공간에 저장하는 단계; 및
    파악 결과, 빈 공간이 없는 것으로 파악되면 순차검색으로 제2 테이블의 엔트리를 검색하여 빈 공간을 파악하고, 산출된 제2 테이블의 엔트리에 센서 데이터를 삽입하여 파악된 빈 공간에 저장하는 단계;
    를 포함하는 것을 특징으로 하는 스마트팩토리를 위한 고속 데이터 처리 방법.
  12. 제7항에 있어서,
    메모리에 저장된 센서 데이터를 해시함수를 이용하는 읽기 연산을 수행하여 분석하는 단계는,
    해시함수를 이용하여 메모리에 저장된 센서 데이터를 검색하고, 검색된 센서 데이터를 토대로 연속적인 공정에서 구비되는 설비의 이상 유무를 판단하는 것을 특징으로 하는 스마트팩토리를 위한 고속 데이터 처리 방법.
KR1020180069563A 2018-06-18 2018-06-18 스마트팩토리를 위한 고속 데이터 처리 장치 및 그 방법 KR102145440B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180069563A KR102145440B1 (ko) 2018-06-18 2018-06-18 스마트팩토리를 위한 고속 데이터 처리 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180069563A KR102145440B1 (ko) 2018-06-18 2018-06-18 스마트팩토리를 위한 고속 데이터 처리 장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20190142534A KR20190142534A (ko) 2019-12-27
KR102145440B1 true KR102145440B1 (ko) 2020-08-18

Family

ID=69062624

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180069563A KR102145440B1 (ko) 2018-06-18 2018-06-18 스마트팩토리를 위한 고속 데이터 처리 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR102145440B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150350278A1 (en) * 2013-01-19 2015-12-03 Trondert Oü Secure streaming method in a numerically controlled manufacturing system, and a secure numerically controlled manufacturing system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101892350B1 (ko) * 2016-09-01 2018-08-27 주식회사 포스코아이씨티 연속공정용 대용량 데이터를 실시간으로 처리하기 위한 스마트팩토리 플랫폼

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150350278A1 (en) * 2013-01-19 2015-12-03 Trondert Oü Secure streaming method in a numerically controlled manufacturing system, and a secure numerically controlled manufacturing system

Also Published As

Publication number Publication date
KR20190142534A (ko) 2019-12-27

Similar Documents

Publication Publication Date Title
CN111310910A (zh) 一种计算装置及方法
JP5425541B2 (ja) マルチプロセッサ・システム上でデータ・セットを区分化およびソートするための方法および装置
US7840759B2 (en) Shared cache eviction
JP7405773B2 (ja) マルチコア相互接続のレベル2キャッシュへのアクセスを検証する方法
CN111208933B (zh) 数据访问的方法、装置、设备和存储介质
US11520589B2 (en) Data structure-aware prefetching method and device on graphics processing unit
US10481912B2 (en) Variable branch target buffer (BTB) line size for compression
CN101645034B (zh) 用于检测数据存取违例的方法和装置
CN109983445A (zh) 具有不等量值跨距的预提取机制
US20140379995A1 (en) Semiconductor device for controlling prefetch operation
CN103729342A (zh) 文件比对方法及装置
CN111813517B (zh) 任务队列的分配方法、装置、计算机设备及介质
CN107193498B (zh) 一种对数据进行去重复处理的方法及装置
Sun et al. GraphMP: An efficient semi-external-memory big graph processing system on a single machine
KR102145440B1 (ko) 스마트팩토리를 위한 고속 데이터 처리 장치 및 그 방법
KR102674397B1 (ko) 명령을 실행하기 위한 방법, 장치, 기기 및 컴퓨터 판독 가능 저장 매체
US7480768B2 (en) Apparatus, systems and methods to reduce access to shared data storage
Gurung et al. Simultaneous solving of batched linear programs on a GPU
CN114518900A (zh) 一种应用于多核处理器的指令处理方法和多核处理器
US7447884B2 (en) Multi-table branch prediction circuit for predicting a branch's target address based on the branch's delay slot instruction address
CN107169313A (zh) Dna数据文件的读取方法及计算机可读存储介质
JP5206385B2 (ja) バウンダリ実行制御システム、バウンダリ実行制御方法、及びバウンダリ実行制御プログラム
KR102471553B1 (ko) 컴퓨팅 기기에 의해 수행되는 방법, 장치, 기기 및 컴퓨터 판독가능 저장 매체
KR102161742B1 (ko) 피드백 경로를 포함하는 파이프 라인 시스템 및 그 동작방법
CN108228801B (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