KR101739825B1 - 데이터 처리 시스템 및 이에 적용되는 컴퓨터로 읽을 수 있는 기록매체 - Google Patents

데이터 처리 시스템 및 이에 적용되는 컴퓨터로 읽을 수 있는 기록매체 Download PDF

Info

Publication number
KR101739825B1
KR101739825B1 KR1020150182588A KR20150182588A KR101739825B1 KR 101739825 B1 KR101739825 B1 KR 101739825B1 KR 1020150182588 A KR1020150182588 A KR 1020150182588A KR 20150182588 A KR20150182588 A KR 20150182588A KR 101739825 B1 KR101739825 B1 KR 101739825B1
Authority
KR
South Korea
Prior art keywords
application server
key value
message
memory unit
server
Prior art date
Application number
KR1020150182588A
Other languages
English (en)
Inventor
이방원
Original Assignee
(주)넥스톰
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)넥스톰 filed Critical (주)넥스톰
Priority to KR1020150182588A priority Critical patent/KR101739825B1/ko
Application granted granted Critical
Publication of KR101739825B1 publication Critical patent/KR101739825B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Retry When Errors Occur (AREA)

Abstract

데이터 처리 시스템 및 이에 적용되는 컴퓨터로 읽을 수 있는 기록매체가 제공된다. 본 데이터 처리 시스템은 특정 장비로부터 수신된 장비 관련 메시지를 특정 키값을 이용하여 압축하고 특정 키값 및 압축된 메시지를 메모리부에 저장하며, 메모리부로부터 특정 키값을 수신하여 저장하는 애플리케이션 서버를 포함할 수 있게 되어, 애플리케이션 서버의 아웃오브메모리 에러 발생 가능성을 줄이고, 애플리케이션 서버에 장애가 발생되더라도 데이터 유실을 최소화할 수 있게 된다.

Description

데이터 처리 시스템 및 이에 적용되는 컴퓨터로 읽을 수 있는 기록매체 {Data processing system and computer readable recording medium applying the same}
본 발명은 데이터 처리 시스템 및 이에 적용되는 컴퓨터로 읽을 수 있는 기록매체에 관한 것으로, 더욱 상세하게는 인 메모리 데이터 그리드를 이용한 데이터 처리 시스템 및 이에 적용되는 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.
반도체 등의 하이테크 기술분야에서는 고품질, 고효율, 고정밀에 대한 요구 사항이 점차 증대되고 있다. 따라서, 데이터 수신 트래픽 증가 등으로 인한 데이터 유실을 대비하기 기술의 중요성이 증가되고 있다.
반도체 공장 등에는 반도체 제조공정 장비의 데이터를 수신하여 처리하는 애플리케이션 서버(Application Server)가 구동된다. 애플리케이션 서버는 반도체 공정 데이터를 수신받아 이를 처리하는 비즈니스 로직이 구동되고 있다.
장비 단에서는 특정 시점에 Recipe ID, Lot ID 등 공정에 중요한 컨텍스트 데이터(Context Data)가 발생되고, 애플리케이션 서버는 특정 시점에 전달되는 컨텍스트 데이터를 메모리에 저장하여 향후 처리되는 로직에서 메모리에 저장된 컨텍스트 데이터를 사용한다
하지만, 애플리케이션 서버에 과도하게 메시지가 유입되거나, 비즈니스 로직 처리 중 딜레이(Delay)가 발생될 경우, 애플리케이션 서버는 내부 메모리가 증가되어 아웃오브메모리(OOM : Out Of Memory) 에러가 발생될 수 있다.
아웃오브메모리가 발생된 애플리케이션 서버는 멈추게(Hang) 된다. 따라서, 이 경우 애플리케이션 서버는 수신되는 메시지 처리를 하지 못하게 되고 이로 인한 데이터 유실이 발생된다.
이와 같이, 애플리케이션 서버가 비정상적으로 종료될 경우, 애플리케이션 서버에 수신된 장비 관련 메시지는 유실되며, 기 수신된 컨텍스트 데이터도 유실된다. 또한, 스탠바이(Standby)로 구동되던 애플리케이션 서버가 액티브(Active) 상태로 전환될 때까지 장비에서 발생되는 메시지는 모두 유실된다. 또한 애플리케이션 서버에 스탠바이 프래임워크(Standby Framework)를 불필요하게 띄워 놓아야 ㅎ하기 때문에 시스템 리소스의 효율성이 저하된다.
이에 따라, 애플리케이션 서버의 아웃오브메모리 에러 발생 가능성을 줄이고 데이터 유실을 최소화하기 위한 방안의 모색이 요청된다.
본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은, 특정 장비로부터 수신된 장비 관련 메시지를 특정 키값을 이용하여 압축하고 특정 키값 및 압축된 메시지를 메모리부에 저장하며, 메모리부로부터 특정 키값을 수신하여 저장하는 애플리케이션 서버를 포함하는 데이터 처리 시스템 및 이에 적용되는 컴퓨터로 읽을 수 있는 기록매체를 제공함에 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른, 데이터 처리 시스템은 특정 장비로부터 장비 관련 메시지를 수신하고, 수신된 메시지를 특정 키값을 이용하여 압축하며, 상기 특정 키값 및 압축된 메시지를 전달하는 메시지 디스패치부; 상기 특정 키값 및 압축된 메시지를 수신하여 저장하는 메모리부; 및 상기 메모리부에 상기 특정 키값 및 압축된 메시지가 수신되면, 상기 메모리부로부터 상기 특정 키값을 수신하여 저장하는 애플리케이션 서버;를 포함한다.
그리고, 상기 애플리케이션 서버는, 상기 메모리부로부터 수신된 복수 개의 키값들을 저장하고 있는 저장부; 및 상기 저장부에 저장된 키값들 중 적어도 하나의 키값에 대응되는 압축된 메시지를 상기 메모리부로부터 수신하고, 상기 수신된 압축된 메시지를 상기 키값을 이용하여 압축을 해제하여 처리하는 데이터 처리부;를 포함할 수도 있다.
또한, 상기 데이터 처리부는, 상기 압축된 메시지의 처리가 완료되면, 처리가 완료된 상기 키값 및 상기 압축된 메시지를 상기 메모리부에서 삭제할 수도 있다.
그리고, 상기 애플리케이션 서버는, 상기 메모리부로부터 상기 특정 키값을 수신하고, 수신된 상기 특정 키값을 상기 저장부에 저장하는 데이터 수신부;를 더 포함할 수도 있다.
또한, 상기 메모리부는, 상기 특정 키값 및 압축된 메시지가 수신되면, 상기 애플리케이션 서버로 이벤트를 발생시켜 전송하고, 상기 애플리케이션 서버는, 상기 이벤트가 수신되면, 상기 메모리부로부터 상기 특정 키값을 수신하여 저장할 수도 있다.
그리고, 상기 애플리케이션 서버는, 제1 애플리케이션 서버 및 제2 애플리케이션 서버를 포함하고, 상기 제1 애플리케이션 서버와 상기 제2 애플리케이션 서버는 감시 프로세스를 이용하여 상호 간의 동작 상태를 감지할 수도 있다.
또한, 상기 제1 애플리케이션 서버 및 상기 제2 애플리케이션 서버는 모두 액티브 모드로 동작할 수도 있다.
그리고, 상기 메모리부는, 상기 특정 키값 및 압축된 메시지가 수신되면, 상기 이벤트를 상기 제1 애플리케이션 서버 및 상기 제2 애플리케이션 서버 중 기설정된 서버에 전송하고, 만약 기설정된 서버가 상기 이벤트를 수신할 수 없는 상태인 경우는 상기 제1 애플리케이션 서버 및 상기 제2 애플리케이션 서버 중 기설정된 서버 이외의 서버에 전송할 수도 있다.
또한, 상기 메모리부는, 복수개의 서버로 구성된 인 메모리 데이터 그리드(IMDG : In Memory Data Grid)일 수도 있다.
한편, 본 발명의 일 실시예에 따른, 컴퓨터로 읽을 수 있는 기록매체는, 상술된 데이터 처리 시스템의 기능을 구현하는 컴퓨터 프로그램이 수록된다.
본 발명의 다양한 실시예에 따르면, 특정 장비로부터 수신된 장비 관련 메시지를 특정 키값을 이용하여 압축하고 특정 키값 및 압축된 메시지를 메모리부에 저장하며, 메모리부로부터 특정 키값을 수신하여 저장하는 애플리케이션 서버를 포함하는 데이터 처리 시스템 및 이에 적용되는 컴퓨터로 읽을 수 있는 기록매체를 제공할 수 있게 되어, 애플리케이션 서버의 아웃오브메모리 에러 발생 가능성을 줄이고, 애플리케이션 서버에 장애가 발생되더라도 데이터 유실을 최소화할 수 있게 된다.
도 1은 본 발명의 일 실시예에 따른, 데이터 처리 시스템의 구조를 도시한 블록도,
도 2는 본 발명의 일 실시예에 따른, 애플리케이션 서버의 구조를 도시한 블록도,
도 3은 본 발명의 일 실시예에 따른, 데이터 처리의 상세 과정이 도시된 도면이다.
이하에서는 도면을 참조하여 본 발명을 보다 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른, 데이터 처리 시스템(100)의 구조를 도시한 블록도이다. 도 1에 도시된 바와 같이, 데이터 처리 시스템(100)은 제1 애플리케이션 서버(110), 제2 애플리케이션 서버(115), 워치독(watch dog)(120), 메모리부(130), 제1 메시지 디스패치부(140), 제2 메시지 디스패치부(145), 제1 EAP(Equipment Application Program)(150), 제2 EAP(155), 제1 장비(160) 및 제2 장비(165)를 포함한다. 한편, 도 1에서는 애플리케이션 서버, 메시지 디스패치부, EAP 및 장비가 각각 2개씩 있는 것으로 도시되어 있으나, 이는 일 예일 뿐이며 이들의 갯수에는 제한이 없다.
제1 장비(160) 및 제2 장비(165)는 반도체 제조 공정 등에 이용되는 장비들을 나타내지만, 이에 한정되지는 않는다. 제1 장비(160) 및 제2 장비(165)는 트레이스 데이터(trace data) 및 이벤트 데이터(event data)를 포함하는 메시지를 생성하고 각각 제1 EAP(150) 및 제2 EAP(155)를 이용하여 생성된 데이터 메시지들을 각각 제1 메시지 디스패치부(140) 및 제2 메시지 디스패치부(145)로 전달한다.
여기에서, 트레이스 데이터(trace data)는 장비에서 주기적으로 발생되는 데이터로 장비의 상태나 장비에서 측정되는 측정값 등을 포함하는 데이터이다. 예를 들어, 트레이스 데이터(100)는 1초에 1건씩 n개의 파라미터를 포함할 수도 있다. 트레이스 데이터는 장비에서 세팅에 따라 주기적으로 발생될 수도 있다.
또한, 이벤트 데이터(event data)는 장비에서 특정 시점에만 발생되는 데이터로, 장비에서 발생되는 불규칙적인 데이터나 에러 정보 등을 포함하는 데이터이다. 이벤트 데이터는 이벤트와 관련된 정보를 포함하고 있는 Lot ID, Recipe ID 등의 컨텍스트 데이터(context data)를 포함한다.
이와 같이, 장비는 트레이스 데이터 및 이벤트 데이터를 포함하는 메시지를 발생시키게 된다.
제1 EAP(150) 및 제2 EAP(155)는 제1 장비(160) 및 제2 장비(165)에서 발생된 데이터 메시지를 제1 메시지 디스패치부(140) 및 제2 메시지 디스패치부(145)로 전송하게 된다. EAP는 장비를 자동화하기 위한 프로그램으로, 장비에서 발생된 메시지를 자동으로 전송하게 해주는 기능을 수행한다.
제1 메시지 디스패치부(message dispatch)(140) 및 제2 메시지 디스패치부(145)는 제1 장비(160) 및 제2 장비(165)로부터 장비 관련 데이터 메시지를 수신하고, 수신된 메시지를 특정 키(key)값을 이용하여 압축하며, 특정 키값 및 압축된 메시지를 메모리부(130)로 전달한다. 메시지 디스패치부(140,145)는 메시지를 일정 순서에 따라 차례대로 디스패치(dispatch)한다. 여기에서, 디스패치란 메시지의 처리를 위해 작업 또는 태스크에 시간을 할당하는 것을 말한다.
이 때, 제1 메시지 디스패치부(message dispatch)(140) 및 제2 메시지 디스패치부(145)는 메시지와 관련된 장비 정보 및 영역 정보를 기준으로 키값을 생성한다. 따라서, 키값은 장비별로 메시지 별로 유일한 값을 가지게 된다. 구체적으로, 키값은 임의의 값이 아니라, 영역(AREA), 장비 명을 기준으로 생성되는 장비별 컨텍스트(Context) 항목별로 유일한 값이 된다. 예를 들어, 키값이 ETCH_EQP01_LOTID이면 그 키값은 Etch 영역의 Eqp01의 LOTID의 메시지임을 나타낸다.
메시지 디스패치부(140,145)는 메모리부(130)에 메시지를 전송하는 순간 시리얼라이즈/디시리얼라이즈(Serialize / De-serialize)라는 작업을 수행하게 된다. 하지만, 시리얼라이즈/디시리얼라이즈는 비용이 큰 작업이고, 데이터의 크기에 직접적인 영향이 있다. 일반적으로 시리얼라이즈가 비용이 크다고 하는 것은, 오브젝트를 네트웍을 통해 송수신하기 위해서는 오브젝트를 바이너리 형태로 변환하고, 변환한 바이너리를 다시 오브젝트로 변환하는 작업이 필요하며, 이러한 작업을 진행하는 데는 순수한 스트링을 처리하는 것보다 많은 시간과 CPU의 소모를 발생시키는 것을 나타낸다. 즉, 시리얼라이즈가 비용이 크다는 것이라 함은, 메시지 송수신에 비해서 오브젝트에 대한 시리얼라이즈/디시리얼라이즈가 보다 많은 처리 시간과 CPU를 사용한다는 것을 의미합니다. 고속/대용량 데이터 처리에 있어서는 미묘한 성능의 저하도 전체적인 성능에 심각한 영향을 미치게 된다. 메시지 디스패치부(140,145)는 이와 같은 시리얼라이즈/디시리얼라이즈의 비용을 줄이기 위해서 수신된 메시지를 압축하여 메모리부(130)로 전송하게 되는 것이다.
메모리부(130)는 제1 메시지 디스패치부(140) 및 제2 메시지 디스패치부(145)로부터 수신된 키값 및 압축된 메시지를 저장한다. 구체적으로, 메모리부(130)는 다양한 장비들에서 발생된 메시지를 키값과 그 키값으로 압축된 메시지 형태로 저장하게 된다. 또한, 메모리(130)는 다양한 키값 및 압축 메시지를 장비별 파라미터 맵을 이용하여 체계적으로 저장하게 된다.
메모리부(130)는 복수개의 서버로 구성된 인 메모리 데이터 그리드(IMDG : In Memory Data Grid)로 구성될 수 있다. 인메모리 데이터 그리드는 메인메모리에 데이터를 저장한다는 점에서 MMDB(Main Memory Data Base)와 동일하지만 전혀 다른 아키텍쳐를 가지고 있다. 인 메모리 데이터 그리드는 데이터가 분산되어 여러 서버에 저장되고, 각 서버는 활성화된 상태로 운영되며, 데이터 모델은 주로 직렬화된객체 지향이면서 비관계형이고, 필요여부에 따라 종종 서버를 증감할 수 있으며, 테이블과 같은 전통적인 데이터베이스와는 다른 형태를 가진다는 특징이 있다. 즉, 인 메모리 데이터 그리드는 메인 메모리에 데이터를 저장하기 위해 고안되었으며 확장성을 보장하며 객체를 바로 저장할 수 있게 된다.
제1 애플리케이션 서버(110) 및 제2 애플리케이션 서버(115)는 메모리부(130)에 특정 키값 및 압축된 메시지가 수신되면, 메모리부(130)로부터 특정 키값을 수신하여 저장한다. 이와 같이, 제1 애플리케이션 서버(110) 및 제2 애플리케이션 서버(115)는 제1 장비(160) 및 제2 장비(165)에서 발생된 메시지를 그대로 저장하지 않고, 일단 그에 대응되는 키값 만을 저장하게 되는 것이다. 그리고, 제1 애플리케이션 서버(110)와 제2 애플리케이션 서버(115)는 처리가 필요한 메시지가 있을 경우, 해당 키값을 이용하여 메모리부(130)로부터 키값에 대응되는 압축된 메시지를 수신하고, 수신된 압축된 메시지를 키값을 이용하여 압축을 해제하여 처리하게 된다.
또한, 제1 애플리케이션 서버(110) 및 제2 애플리케이션 서버(115)는 모두 액티브 모드로 동작한다. 그리고, 제1 애플리케이션 서버(110) 및 제2 애플리케이션 서버(115)는 워치독(120)과 같은 감시 프로세스를 이용하여 상호간의 동작 상태를 감지하게 된다.
이를 통해, 제1 애플리케이션 서버(110) 및 제2 애플리케이션 서버(115)는 어느 한 서버에 장애가 발생하더라도 다른 서버가 커버해줄 수 있게 된다. 또한, 제1 애플리케이션 서버(110) 및 제2 애플리케이션 서버(115)는 장애가 발생되더라도 관련 메시지는 메모리부(130)에 그대로 저장되어 있기 때문에 메시지의 유실이 발생하지 않게 된다.
제1 애플리케이션 서버(110) 및 제2 애플리케이션 서버(115)의 구조에 대해서는 도 2를 참고하여 상세히 설명한다. 도 2는 본 발명의 일 실시예에 따른, 애플리케이션 서버의 구조를 도시한 블록도이다. 제1 애플리케이션 서버(110) 및 제2 애플리케이션 서버(115)는 구조가 유사하며 도 2는 제1 애플리케이션 서버(110)를 기반으로 설명한다.
도 2에 도시된 바와 같이, 제1 애플리케이션 서버(110)는 데이터 수신부(210), 저장부(220), 및 데이터 처리부(230)를 포함한다.
데이터 수신부(210)는 메모리부(130)로부터 특정 키값을 수신하고, 수신된 특정 키값을 저장부(220)에 저장한다.
저장부(220)는 메모리부(130)로부터 수신된 복수 개의 키값들을 저장하고 있다.
데이터 처리부(230)는 저장부(220)에 저장된 키값들 중 적어도 하나의 키값에 대응되는 압축된 메시지를 메모리부(130)로부터 수신하고, 수신된 압축된 메시지를 상기 키값을 이용하여 압축을 해제하여 처리하게 된다. 즉, 데이터 처리부(230)는 처리 대상인 메시지의 처리를 위해 대응되는 키값을 선택하고, 그 키값을 이용하여 메모리부(130)로부터 대응되는 압축 메시지를 수신하여 처리하게 된다.
제1 애플리이션 서버(110)의 동작에 대해서는 도 3을 참고하여 설명한다. 도 3은 본 발명의 일 실시예에 따른, 데이터 처리의 상세 과정이 도시된 도면이다.
일단, 메모리부(130)는 특정 키값 및 압축된 메시지가 수신되면, 애플리케이션 서버로 이벤트를 발생시켜 전송(invoke)한다.
이 때, 애플리케이션 서버에 장애가 발생된 경우, 메모리부(130)는 애플리케이션 서버가 재시작될때까지 대기하고, 애플리케이션 서버의 재시작이 완료되면 발생된 이벤트를 전송할 수 있다. 이 경우에도, 메시지는 메모리부(130)에 저장되어 있기 때문에, 애플리케이션 서버에 장애가 발생되더라도 메시지의 유실은 발생되지 않는다.
또한, 메모리부(130)는 특정 키값 및 압축된 메시지가 수신되면, 이벤트를 제1 애플리케이션 서버(110) 및 제2 애플리케이션 서버(115) 중 기설정된 서버에 전송하고, 만약 기설정된 서버가 이벤트를 수신할 수 없는 상태인 경우는 제1 애플리케이션 서버(110) 및 제2 애플리케이션 서버(115) 중 기설정된 서버 이외의 서버에 전송할 수도 있다. 즉, 애플리케이션 서버에 장애가 발생된 경우, 메모리부(130)는 다른 애플리케이션 서버로 발생된 이벤트를 전송하고, 그 다른 애플리케이션 서버는 메모리부(130)로부터 키값을 수신하여 저장하게 되는 것이다.
이를 통해 제1 애플리케이션 서버(110) 및 제2 애플리케이션 서버(115) 중 하나의 서버가 장애가 나더라도 다른 서버가 커버를 할 수 있게 되는 것이다.
제1 애플리케이션 서버(110)의 데이터 수신부(210)는 이벤트가 수신되면 메모리부(130)로부터 특정 키값을 수신하며, 수신된 특정 키값을 저장부(220)에 저장하게 된다.
데이터 처리부(230)는 저장부(220)에 저장된 키값들 중 적어도 하나의 키값에 대응되는 압축된 메시지를 메모리부(130)로부터 수신하고, 수신된 압축된 메시지를 상기 키값을 이용하여 압축을 해제하여 처리하게 된다. 이 때, 데이터 처리부(230)는 멀티 쓰레드(multi thread)를 이용하여 동시에 여러 메시지를 압축 해제 및 처리할 수도 있게 된다.
이와 같은 과정을 통해, 제1 애플리케이션 서버(110)는 메시지에 대응되는 키값만을 수신 및 저장하고, 키값을 이용하여 메시지를 처리할 수 있게 된다. 이를 통해, 제1 애플리케이션 서버(110)는 수신단에서 키값만을 수신하고, 실제 데이터를 처리하는 단에서 처리할 키값을 이용하여 메시지를 가져오게 되므로, 애플리케이션 서버에서 처리 대기중인 것은 키값만이고, 만일 해당 애플리케이션이 장애로 종료되더라도, 처리 안된 키값에 해당하는 메시지는 메모리부(130)에 존재하게 된다. 이에 따라, 데이터 처리 시스템(100)은 애플리케이션 서버가 다운되더라도 중요한 메시지는 유실되지 않게 할 수 있게 되며, 인 메모리 데이터 그리드를 이용함으로써 처리 속도도 향상시킬 수 있게 된다.
한편, 본 실시예에 따른 데이터 처리 시스템의 기능 및 방법을 수행하게 하는 컴퓨터 프로그램을 수록한 컴퓨터로 읽을 수 있는 기록매체에도 본 발명의 기술적 사상이 적용될 수 있음은 물론이다. 또한, 본 발명의 다양한 실시예에 따른 기술적 사상은 컴퓨터로 읽을 수 있는 기록매체에 기록된 컴퓨터로 읽을 수 있는 프로그래밍 언어 코드 형태로 구현될 수도 있다. 컴퓨터로 읽을 수 있는 기록매체는 컴퓨터에 의해 읽을 수 있고 데이터를 저장할 수 있는 어떤 데이터 저장 장치이더라도 가능하다. 예를 들어, 컴퓨터로 읽을 수 있는 기록매체는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광디스크, 하드 디스크 드라이브, 플래시 메모리, 솔리드 스테이트 디스크(SSD) 등이 될 수 있음은 물론이다. 또한, 컴퓨터로 읽을 수 있는 기록매체에 저장된 컴퓨터로 읽을 수 있는 코드 또는 프로그램은 컴퓨터간에 연결된 네트워크를 통해 전송될 수도 있다.
또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
100 : 데이터 처리 시스템
110 : 제1 애플리케이션 서버
115 : 제2 애플리케이션 서버
120 : 워치독
130 : 메모리부
140 : 제1 메시지 디스패치부
145 : 제2 메시지 디스패치부
150 : 제1 EAP
155 : 제2 EAP
160 : 제1 장비
165 : 제2 장비
210 : 데이터 수신부
220 : 저장부
230 : 데이터 처리부

Claims (10)

  1. 특정 장비로부터 장비 관련 메시지를 수신하고, 수신된 메시지를 특정 키값을 이용하여 압축하며, 상기 특정 키값 및 압축된 메시지를 전달하는 메시지 디스패치부;
    상기 특정 키값 및 압축된 메시지를 수신하여 저장하는 메모리부; 및
    상기 메모리부에 상기 특정 키값 및 압축된 메시지가 수신되면, 상기 메모리부로부터 상기 특정 키값을 수신하여 저장하는 애플리케이션 서버;를 포함하고,
    상기 메모리부는,
    상기 특정 키값 및 압축된 메시지가 수신되면, 상기 애플리케이션 서버로 이벤트를 발생시켜 전송하고,
    상기 애플리케이션 서버는,
    상기 이벤트가 수신되면, 상기 메모리부로부터 상기 특정 키값을 수신하여 저장하고,
    상기 애플리케이션 서버는,
    제1 애플리케이션 서버 및 제2 애플리케이션 서버를 포함하고,
    상기 제1 애플리케이션 서버와 상기 제2 애플리케이션 서버는 감시 프로세스를 이용하여 상호 간의 동작 상태를 감지하고,
    상기 메모리부는,
    상기 특정 키값 및 압축된 메시지가 수신되면, 상기 이벤트를 상기 제1 애플리케이션 서버 및 상기 제2 애플리케이션 서버 중 기설정된 서버에 전송하고, 만약 기설정된 서버가 상기 이벤트를 수신할 수 없는 상태인 경우는 상기 제1 애플리케이션 서버 및 상기 제2 애플리케이션 서버 중 기설정된 서버 이외의 서버에 전송하고,
    상기 메모리부는,
    상기 기설정된 서버에 장애가 발생되어 상기 기설정된 서버로의 이벤트 전송 속도가 상기 기설정된 서버 이외의 서버로의 이벤트 전송 속도보다 느린 것으로 판단되면, 이벤트 전송 속도를 향상시키기 위해 상기 이벤트를 상기 기설정된 서버 이외의 서버로 전송하고,
    상기 애플리케이션 서버는,
    상기 메모리부로부터 수신된 복수 개의 키값들을 저장하고 있는 저장부; 및
    상기 저장부에 저장된 키값들 중 적어도 하나의 키값에 대응되는 압축된 메시지를 상기 메모리부로부터 수신하고, 상기 수신된 압축된 메시지를 상기 키값을 이용하여 압축을 해제하여 처리하는 데이터 처리부;를 포함하고,
    상기 애플리케이션 서버는,
    처리 대상 메시지의 키값을 선택하여 상기 선택된 키값에 대응되는 압축된 메시지를 상기 메모리부로부터 수신함으로써, 상기 기설정된 서버에 장애가 발생되더라도, 처리 되지 않은 메시지를 상기 기설정된 서버 이외의 서버가 수신하도록 마련되는 것을 특징으로 하는 데이터 처리 시스템.
  2. 삭제
  3. 청구항 1에 있어서,
    상기 데이터 처리부는,
    상기 압축된 메시지의 처리가 완료되면, 처리가 완료된 상기 키값 및 상기 압축된 메시지를 상기 메모리부에서 삭제하는 것을 특징으로 하는 데이터 처리 시스템.
  4. 청구항 1에 있어서,
    상기 애플리케이션 서버는,
    상기 메모리부로부터 상기 특정 키값을 수신하고, 수신된 상기 특정 키값을 상기 저장부에 저장하는 데이터 수신부;를 더 포함하는 것을 특징으로 하는 데이터 처리 시스템.
  5. 삭제
  6. 삭제
  7. 청구항 1에 있어서,
    상기 제1 애플리케이션 서버 및 상기 제2 애플리케이션 서버는 모두 액티브 모드로 동작하는 것을 특징으로 하는 데이터 처리 시스템.
  8. 청구항 1에 있어서,
    상기 메모리부는,
    상기 특정 키값 및 압축된 메시지가 수신되면, 상기 이벤트를 상기 제1 애플리케이션 서버 및 상기 제2 애플리케이션 서버 중 기설정된 서버에 전송하고, 만약 기설정된 서버가 상기 이벤트를 수신할 수 없는 상태인 경우는 상기 제1 애플리케이션 서버 및 상기 제2 애플리케이션 서버 중 기설정된 서버 이외의 서버에 전송하는 것을 특징으로 하는 데이터 처리 시스템.
  9. 청구항 1에 있어서,
    상기 메모리부는,
    복수개의 서버로 구성된 인 메모리 데이터 그리드(IMDG : In Memory Data Grid)인 것을 특징으로 하는 데이터 처리 시스템.
  10. 청구항 1, 청구항 3, 청구항 4 및 청구항 7 내지 청구항 9 중 어느 한 항에 기재된 데이터 처리 시스템의 기능을 구현하는 컴퓨터 프로그램이 수록된 컴퓨터로 읽을 수 있는 기록매체.
KR1020150182588A 2015-12-21 2015-12-21 데이터 처리 시스템 및 이에 적용되는 컴퓨터로 읽을 수 있는 기록매체 KR101739825B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150182588A KR101739825B1 (ko) 2015-12-21 2015-12-21 데이터 처리 시스템 및 이에 적용되는 컴퓨터로 읽을 수 있는 기록매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150182588A KR101739825B1 (ko) 2015-12-21 2015-12-21 데이터 처리 시스템 및 이에 적용되는 컴퓨터로 읽을 수 있는 기록매체

Publications (1)

Publication Number Publication Date
KR101739825B1 true KR101739825B1 (ko) 2017-05-25

Family

ID=59050696

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150182588A KR101739825B1 (ko) 2015-12-21 2015-12-21 데이터 처리 시스템 및 이에 적용되는 컴퓨터로 읽을 수 있는 기록매체

Country Status (1)

Country Link
KR (1) KR101739825B1 (ko)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"사물인터넷 환경에서의 이름 기반 패킷 헤더 압축 기술", 한국통신학회 학술대회 논문집(2015.11.)*

Similar Documents

Publication Publication Date Title
US20160371122A1 (en) File processing workflow management
CN104166589A (zh) 一种心跳包的处理方法和装置
CN111274052A (zh) 数据分发方法、服务器及计算机可读存储介质
CN111897633A (zh) 一种任务处理的方法和装置
AU2014305966B2 (en) Managing data feeds
CN110659124A (zh) 一种消息处理方法和装置
CN111917814B (zh) 数据发布、订阅方法、装置、设备、系统及可读存储介质
CN114237510B (zh) 数据处理方法、装置、电子设备及存储介质
CN107317742B (zh) 消息处理方法及系统、计算机系统、计算机可读存储介质
CN109788251B (zh) 视频处理方法、装置及存储介质
CN103685363A (zh) 一种高效可靠的多任务处理方法及系统
KR101739825B1 (ko) 데이터 처리 시스템 및 이에 적용되는 컴퓨터로 읽을 수 있는 기록매체
CN111767126A (zh) 分布式批量处理的系统和方法
CN112969198A (zh) 数据传输方法、终端及存储介质
CN112199432A (zh) 一种基于分布式的高性能数据etl装置及控制方法
KR101739829B1 (ko) 데이터 처리방법 및 이에 적용되는 컴퓨터로 읽을 수 있는 기록매체
CN115982133A (zh) 数据处理方法及装置
CN106407264A (zh) 一种高可用性和强一致性的数据库集群系统及其命令处理方法
CN105162837A (zh) 海量数据存储环境下提升i/o吞吐率的方法及系统
CN115510036A (zh) 数据迁移方法、装置、设备以及存储介质
CN114003602A (zh) 电网监测数据处理系统
US11381642B2 (en) Distributed storage system suitable for sensor data
CN114387124A (zh) 一种核电工业互联网平台的时序数据存储方法
CN108805741B (zh) 一种电能质量数据的融合方法、装置及系统
CN108718285B (zh) 云计算集群的流量控制方法、装置及服务器

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant