KR20210035636A - 서버 - Google Patents

서버 Download PDF

Info

Publication number
KR20210035636A
KR20210035636A KR1020190117681A KR20190117681A KR20210035636A KR 20210035636 A KR20210035636 A KR 20210035636A KR 1020190117681 A KR1020190117681 A KR 1020190117681A KR 20190117681 A KR20190117681 A KR 20190117681A KR 20210035636 A KR20210035636 A KR 20210035636A
Authority
KR
South Korea
Prior art keywords
file
data
collection
wagon
history
Prior art date
Application number
KR1020190117681A
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 KR1020190117681A priority Critical patent/KR20210035636A/ko
Priority to US17/031,773 priority patent/US11526402B2/en
Publication of KR20210035636A publication Critical patent/KR20210035636A/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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/113Details of archiving
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • G06F11/1482Generic software techniques for error detection or fault masking by means of middleware or OS functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/82Solving problems relating to consistency
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 서버에 관한 것이다. 본 발명의 실시예에 따른 서버는, 외부 서버로부터의 수집 파일 리스트를 수신하는 개더러(gatherer)와, 개더러로부터의 수집 파일 리스트에 기초하여, 외부 서버로부터 데이터를 수집하는 적어도 하나의 왜건(wagon)과, 전송 이력 또는 파일 수집 이력을 저장하는 히스토리안 파일(historian file)과, 왜건에서 수집된 데이터를 저장하는 목적 폴더를 포함하고, 왜건은, 데이터 수집에서 장애가 발생하는 경우, 장애가 발생된 파일에 대해 다시 데이터를 수집한다. 이에 의해, 장애 발생시, 신속하게 데이터를 다시 수집할 수 있게 된다.

Description

서버{Server}
본 발명은 서버에 관한 것이며, 더욱 상세하게는 장애 발생시, 신속하게 데이터를 다시 수집할 수 있는 서버에 관한 것이다.
대용량의 빅데이터 수집시 데이터 유실 문제와 데이터 중복 문제가 발생하고 있다.
빅데이터를 위한 하둡 에코 시스템(Hadoop Eco System) 중 수집기로써 자주 사용되는 오픈 소스 솔루션(Open Source Solution)으로는 플룸(Flume)과 나이파이(NiFi)가 있다.
이러한 솔루션은, 수많은 데이터를 수집할 때 발생하는 문제를 방지하기 위해, 내부적으로 유실이 발생하더라도 속도를 빠르게 하기 위한 메모리 버퍼(Memory buffer)와, 중복이 발생하더라도 안정성 확보를 위한 파일 버퍼(File buffer)를 사용하여 데이터를 처리한다. 하지만 시스템 장애가 발생하는 경우에는 데이터의 유실이 발생하게 된다.
본 발명의 목적은, 장애 발생시, 신속하게 데이터를 다시 수집할 수 있는 서버를 제공함에 있다.
본 발명의 다른 목적은, 데이터 중복 수집시, 데이터 저장 전에, 중복 여부를 판단할 수 있는 서버를 제공함에 있다.
상기 목적을 달성하기 위한 본 발명의 실시예에 따른 서버는, 외부 서버로부터의 수집 파일 리스트를 수신하는 개더러(gatherer)와, 개더러로부터의 수집 파일 리스트에 기초하여, 외부 서버로부터 데이터를 수집하는 적어도 하나의 왜건(wagon)과, 전송 이력 또는 파일 수집 이력을 저장하는 히스토리안 파일(historian file)과, 왜건에서 수집된 데이터를 저장하는 목적 폴더를 포함하고, 왜건은, 데이터 수집에서 장애가 발생하는 경우, 장애가 발생된 파일에 대해 다시 데이터를 수집한다.
한편, 왜건은, 데이터 수집에서 장애가 발생하는 경우, 롤백(rollback) 상태로 변경되며, 롤백 상태에 따라, 장애가 발생된 파일에 대해 다시 데이터를 수집할 수 있다.
한편, 히스토리안 파일은, 데이터 수집에서 장애가 발생하여, 왜건이 롤백 상태인 경우, 파일 수집 이력을 삭제할 수 있다.
한편, 데이터 수집 중, 시스템 킬 신호(system kill signal)가 수신되는 경우, 왜건은, 종료(DIED) 상태가 되며, 왜건이 다시 실행되는 경우, 왜건이 롤백 상태로 변경되어, 롤백 상태에 따라, 데이터 수집 중 장애가 발생된 파일에 대해 다시 데이터를 수집할 수 있다.
한편, 데이터 수집 중, 시스템 킬 신호(system kill signal)가 수신되는 경우, 왜건과 개더러가 종료된다.
한편, 히스토리안 파일은, 시스템 킬 신호에 의해, 왜건이 종료된 이후, 왜건이 롤백 상태인 경우, 파일 수집 이력을 삭제할 수 있다.
한편, 왜건은, 히스토리안 파일의 파일 수집 이력을 확인하고, 파일 수집 이력이 없는 경우, 수집되는 데이터를 목적 폴더에 저장되도록 제어할 수 있다.
한편, 서버는, 히스토리안 파일의 파일 수집 이력을 확인하고, 파일 수집 이력이 없는 경우, 수집되는 데이터를 임시로 저장하는 임시 폴더를 더 포함하고, 임시 폴더는, 파일 수집 종료시, 임시 폴더의 파일을 목적 폴더로 이동시킬 수 있다.
한편, 히스토리안 파일은, 임시 폴더에서 목적 폴더로 파일 이동 완료시, 정상 수집 완료에 따른 파일 수집 이력을 저장할 수 있다.
한편, 왜건은, 외부 서버로부터 데이터를 병렬로 수집할 수 있다.
상기 목적을 달성하기 위한 본 발명의 다른 실시예에 따른 서버는, 외부 서버로부터의 데이터를 수신하는 통신부와, 외부 서버로부터 수집 파일 리스트를 수신하고, 수집 파일 리스트에 기초하여, 외부 서버로부터 데이터를 수집하는 프로세서와, 전송 이력 또는 파일 수집 이력을 저장하는 메모리를 포함하고, 프로세서는, 데이터 수집에서 장애가 발생하는 경우, 장애가 발생된 파일에 대해 다시 데이터를 수집한다.
한편, 프로세서는, 데이터 수집에서 장애가 발생하는 경우, 롤백(rollback) 상태로 변경되며, 롤백 상태에 따라, 장애가 발생된 파일에 대해 다시 데이터를 수집할 수 있다.
한편, 프로세서는, 데이터 수집에서 장애가 발생하여, 롤백 상태인 경우, 파일 수집 이력을 삭제할 수 있다.
한편, 프로세서는, 데이터 수집 중, 시스템 킬 신호(system kill signal)가 수신되는 경우, 데이터 수집을 중단하며, 데이터 수집을 다시 시작하는 경우, 데이터 수집 중 장애가 발생된 파일에 대해 다시 데이터를 수집할 수 있다.
한편, 프로세서는, 시스템 킬 신호에 의해, 데이터 수집을 중단하는 경우, 파일 수집 이력을 삭제할 수 있다.
한편, 메모리는, 프로세서에서 수집된 데이터를 저장하는 목적 폴더를 포함하며, 프로세서는, 메모리의 파일 수집 이력을 확인하고, 파일 수집 이력이 없는 경우, 수집되는 데이터를 목적 폴더에 저장되도록 제어할 수 있다.
한편, 메모리는, 수집되는 데이터를 임시로 저장하는 임시 폴더를 더 포함하고, 임시 폴더는, 파일 수집 종료시, 임시 폴더의 파일을 목적 폴더로 이동시킬 수 있다.
한편, 프로세서는, 임시 폴더에서 목적 폴더로 파일 이동 완료시, 정상 수집 완료에 따른 파일 수집 이력을 저장하도록 제어할 수 있다.
본 발명의 실시예에 따른 서버는, 외부 서버로부터의 수집 파일 리스트를 수신하는 개더러(gatherer)와, 개더러로부터의 수집 파일 리스트에 기초하여, 외부 서버로부터 데이터를 수집하는 적어도 하나의 왜건(wagon)과, 전송 이력 또는 파일 수집 이력을 저장하는 히스토리안 파일(historian file)과, 왜건에서 수집된 데이터를 저장하는 목적 폴더를 포함하고, 왜건은, 데이터 수집에서 장애가 발생하는 경우, 장애가 발생된 파일에 대해 다시 데이터를 수집한다. 이에 따라, 장애 발생시, 신속하게 데이터를 다시 수집할 수 있게 된다. 특히, 데이터 저장 전에, 왜건을 통해, 장애가 발생된 파일에 대해 다시 데이터를 수집함으로써, 신속하게 데이터를 다시 수집할 수 있게 된다. 또한, 데이터 중복 수집시, 데이터 저장 전에, 중복 여부를 판단할 수 있게 된다.
한편, 왜건은, 데이터 수집에서 장애가 발생하는 경우, 롤백(rollback) 상태로 변경되며, 롤백 상태에 따라, 장애가 발생된 파일에 대해 다시 데이터를 수집할 수 있다. 이에 따라, 장애 발생시, 신속하게 데이터를 다시 수집할 수 있게 된다.
한편, 히스토리안 파일은, 데이터 수집에서 장애가 발생하여, 왜건이 롤백 상태인 경우, 파일 수집 이력을 삭제할 수 있다. 이에 따라, 장애 발생시, 신속하게 데이터를 다시 수집할 수 있게 된다.
한편, 데이터 수집 중, 시스템 킬 신호(system kill signal)가 수신되는 경우, 왜건은, 종료(DIED) 상태가 되며, 왜건이 다시 실행되는 경우, 왜건이 롤백 상태로 변경되어, 롤백 상태에 따라, 데이터 수집 중 장애가 발생된 파일에 대해 다시 데이터를 수집할 수 있다. 이에 따라, 장애 발생시, 신속하게 데이터를 다시 수집할 수 있게 된다.
한편, 데이터 수집 중, 시스템 킬 신호(system kill signal)가 수신되는 경우, 왜건과 개더러가 종료된다. 이에 따라, 데이터 수집을 중단하고, 그 이후, 신속하게 데이터를 다시 수집할 수 있게 된다.
한편, 히스토리안 파일은, 시스템 킬 신호에 의해, 왜건이 종료된 이후, 왜건이 롤백 상태인 경우, 파일 수집 이력을 삭제할 수 있다. 이에 따라, 데이터 수집을 중단하고, 그 이후, 신속하게 데이터를 다시 수집할 수 있게 된다.
한편, 왜건은, 히스토리안 파일의 파일 수집 이력을 확인하고, 파일 수집 이력이 없는 경우, 수집되는 데이터를 목적 폴더에 저장되도록 제어할 수 있다. 이에 따라, 데이터 저장 전에, 중복 여부를 판단하고, 중복이 아닌 경우, 수집 데이터를 저장할 수 있게 된다.
한편, 서버는, 히스토리안 파일의 파일 수집 이력을 확인하고, 파일 수집 이력이 없는 경우, 수집되는 데이터를 임시로 저장하는 임시 폴더를 더 포함하고, 임시 폴더는, 파일 수집 종료시, 임시 폴더의 파일을 목적 폴더로 이동시킬 수 있다. 이에 따라, 데이터 저장 전에, 중복 여부를 판단하고, 중복이 아닌 경우, 수집 데이터를 저장할 수 있게 된다.
한편, 히스토리안 파일은, 임시 폴더에서 목적 폴더로 파일 이동 완료시, 정상 수집 완료에 따른 파일 수집 이력을 저장할 수 있다. 이에 따라, 중복 데이터의 수집을 방지할 수 있게 된다.
한편, 왜건은, 외부 서버로부터 데이터를 병렬로 수집할 수 있다. 이에 따라, 신속하게 데이터를 수집할 수 있게 된다.
한편, 본 발명의 다른 실시예에 따른 서버는, 외부 서버로부터의 데이터를 수신하는 통신부와, 외부 서버로부터 수집 파일 리스트를 수신하고, 수집 파일 리스트에 기초하여, 외부 서버로부터 데이터를 수집하는 프로세서와, 전송 이력 또는 파일 수집 이력을 저장하는 메모리를 포함하고, 프로세서는, 데이터 수집에서 장애가 발생하는 경우, 장애가 발생된 파일에 대해 다시 데이터를 수집한다. 이에 따라, 장애 발생시, 신속하게 데이터를 다시 수집할 수 있게 된다. 특히, 데이터 저장 전에, 장애가 발생된 파일에 대해 다시 데이터를 수집함으로써, 신속하게 데이터를 다시 수집할 수 있게 된다. 또한, 데이터 중복 수집시, 데이터 저장 전에, 중복 여부를 판단할 수 있게 된다.
한편, 프로세서는, 데이터 수집에서 장애가 발생하는 경우, 롤백(rollback) 상태로 변경되며, 롤백 상태에 따라, 장애가 발생된 파일에 대해 다시 데이터를 수집할 수 있다. 이에 따라, 장애 발생시, 신속하게 데이터를 다시 수집할 수 있게 된다.
한편, 프로세서는, 데이터 수집에서 장애가 발생하여, 롤백 상태인 경우, 파일 수집 이력을 삭제할 수 있다. 이에 따라, 장애 발생시, 신속하게 데이터를 다시 수집할 수 있게 된다.
한편, 프로세서는, 데이터 수집 중, 시스템 킬 신호(system kill signal)가 수신되는 경우, 데이터 수집을 중단하며, 데이터 수집을 다시 시작하는 경우, 데이터 수집 중 장애가 발생된 파일에 대해 다시 데이터를 수집할 수 있다. 이에 따라, 장애 발생시, 신속하게 데이터를 다시 수집할 수 있게 된다.
한편, 프로세서는, 시스템 킬 신호에 의해, 데이터 수집을 중단하는 경우, 파일 수집 이력을 삭제할 수 있다. 이에 따라, 데이터 수집을 중단하고, 그 이후, 신속하게 데이터를 다시 수집할 수 있게 된다.
한편, 메모리는, 프로세서에서 수집된 데이터를 저장하는 목적 폴더를 포함하며, 프로세서는, 메모리의 파일 수집 이력을 확인하고, 파일 수집 이력이 없는 경우, 수집되는 데이터를 목적 폴더에 저장되도록 제어할 수 있다. 이에 따라, 데이터 저장 전에, 중복 여부를 판단하고, 중복이 아닌 경우, 수집 데이터를 저장할 수 있게 된다.
한편, 메모리는, 수집되는 데이터를 임시로 저장하는 임시 폴더를 더 포함하고, 임시 폴더는, 파일 수집 종료시, 임시 폴더의 파일을 목적 폴더로 이동시킬 수 있다. 이에 따라, 데이터 저장 전에, 중복 여부를 판단하고, 중복이 아닌 경우, 수집 데이터를 저장할 수 있게 된다.
한편, 프로세서는, 임시 폴더에서 목적 폴더로 파일 이동 완료시, 정상 수집 완료에 따른 파일 수집 이력을 저장하도록 제어할 수 있다. 이에 따라, 중복 데이터의 수집을 방지할 수 있게 된다.
도 1은 본 발명의 일 실시예에 따른 빅데이터 수집 시스템을 도시한 도면이다.
도 2는 도 1의 서버의 간략한 내부 블록도이다.
도 3은 본 발명의 실시예에 따른 서버의 블록도의 일예이다.
도 4 내지 도 10은 도 3의 서버의 동작 설명에 참조되는 도면이다.
이하에서는 도면을 참조하여 본 발명을 보다 상세하게 설명한다.
이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 단순히 본 명세서 작성의 용이함만이 고려되어 부여되는 것으로서, 그 자체로 특별히 중요한 의미 또는 역할을 부여하는 것은 아니다. 따라서, 상기 "모듈" 및 "부"는 서로 혼용되어 사용될 수도 있다.
도 1은 본 발명의 일 실시예에 따른 빅데이터 수집 시스템을 도시한 도면이다.
도면을 참조하면, 도 1의 빅데이터 수집 시스템(10)은, 복수의 서버(SV1,SV2,SV3)와, 복수의 서버(SV1,SV2,SV3)로부터 네트워크(90)를 통해, 데이터를 수집하는 서버(100)를 포함할 수 있다.
이때, 서버(100)는, 빅데이터를 수집할 수 있다.
한편, 복수의 서버(SV1,SV2,SV3)는, 각각 제1 외부 서버(SV1), 제2 외부 서버(SV2), 제3 외부 서버(SV3)로 구분될 수 있다.
한편, 본 발명의 실시예에 따른 서버(100)는, 데이터 수집 중 장애 발생시, 신속하게 데이터를 다시 수집할 수 있다.
또한, 본 발명의 실시예에 따른 서버(100)는, 데이터 중복 수집시, 데이터 저장 전에, 중복 여부를 판단할 수 있다.
이를 위해, 본 발명의 실시예에 따른 서버(100)는, 외부 서버(SV1)로부터의 데이터를 수신하는 통신부(135)와, 외부 서버(SV1)로부터 수집 파일 리스트를 수신하고, 수집 파일 리스트에 기초하여, 외부 서버(SV1)로부터 데이터를 수집하는 프로세서(170)와, 전송 이력 또는 파일 수집 이력을 저장하는 메모리(140)를 포함할 수 있다.
한편, 본 발명의 실시예에 따른 서버(100) 내의 프로세서(170)는, 데이터 수집에서 장애가 발생하는 경우, 장애가 발생된 파일에 대해 다시 데이터를 수집한다. 이에 따라, 장애 발생시, 신속하게 데이터를 다시 수집할 수 있게 된다. 특히, 데이터 저장 전에, 장애가 발생된 파일에 대해 다시 데이터를 수집함으로써, 신속하게 데이터를 다시 수집할 수 있게 된다. 또한, 데이터 중복 수집시, 데이터 저장 전에, 중복 여부를 판단할 수 있게 된다.
한편, 서버(100)는, 데이터 수집에서 장애가 발생하는 경우, 롤백(rollback) 상태로 변경되며, 롤백 상태에 따라, 장애가 발생된 파일에 대해 다시 데이터를 수집할 수 있다. 이에 따라, 장애 발생시, 신속하게 데이터를 다시 수집할 수 있게 된다.
한편, 서버(100)는, 데이터 수집에서 장애가 발생하여, 롤백 상태인 경우, 파일 수집 이력을 삭제할 수 있다. 이에 따라, 장애 발생시, 신속하게 데이터를 다시 수집할 수 있게 된다.
한편, 서버(100)는, 데이터 수집 중, 시스템 킬 신호(system kill signal)가 수신되는 경우, 데이터 수집을 중단하며, 데이터 수집을 다시 시작하는 경우, 데이터 수집 중 장애가 발생된 파일에 대해 다시 데이터를 수집할 수 있다. 이에 따라, 장애 발생시, 신속하게 데이터를 다시 수집할 수 있게 된다.
한편, 서버(100)는, 시스템 킬 신호에 의해, 데이터 수집을 중단하는 경우, 파일 수집 이력을 삭제할 수 있다. 이에 따라, 데이터 수집을 중단하고, 그 이후, 신속하게 데이터를 다시 수집할 수 있게 된다.
도 2는 도 1의 서버의 간략한 내부 블록도이다.
도면을 참조하면, 서버(100)는, 통신부(135), 프로세서(170), 메모리(140)를 구비할 수 있다.
통신부(135)는, 외부 네트워크(90)로부터 데이터를 수신하거나 데이터를 전송할 수 있다.
예를 들어, 통신부(135) 제1 외부 서버(SV1), 제2 외부 서버(SV2), 제3 외부 서버(SV3) 등으로부터 데이터를 수신할 수 있다. 특히, 빅 데이터를 수신할 수 있다.
메모리(140)는, 서버(100) 동작에 필요한 데이터를 저장할 수 있다.
예를 들어, 메모리(140)는, 전송 이력 또는 파일 수집 이력을 저장할 수 있다.
한편, 메모리(140)는 프로세서(170)에서 수집된 데이터를 저장하는 목적 폴더를 포함할 수 있다.
또한, 메모리(140)는, 수집되는 데이터를 임시로 저장하는 임시 폴더(TF)를 더 포함할 수 있다.
한편, 임시 폴더(TF)는, 파일 수집 종료시, 임시 폴더(TF)의 파일을 목적 폴더(FF)로 이동시킬 수 있다. 이에 따라, 데이터 저장 전에, 중복 여부를 판단하고, 중복이 아닌 경우, 수집 데이터를 저장할 수 있게 된다.
한편, 프로세서(170)는, 서버(100)의 전반적인 동작 제어를 수행할 수 있다.
한편, 프로세서(170)는, 외부 서버(SV1)로부터 수집 파일 리스트를 수신하고, 수집 파일 리스트에 기초하여, 외부 서버(SV1)로부터 데이터를 수집할 수 있다.
한편, 프로세서(170)는, 데이터 수집에서 장애가 발생하는 경우, 장애가 발생된 파일에 대해 다시 데이터를 수집할 수 있다. 이에 따라, 장애 발생시, 신속하게 데이터를 다시 수집할 수 있게 된다. 특히, 데이터 저장 전에, 장애가 발생된 파일에 대해 다시 데이터를 수집함으로써, 신속하게 데이터를 다시 수집할 수 있게 된다. 또한, 데이터 중복 수집시, 데이터 저장 전에, 중복 여부를 판단할 수 있게 된다.
한편, 프로세서(170)는, 데이터 수집에서 장애가 발생하는 경우, 롤백(rollback) 상태로 변경되며, 롤백 상태에 따라, 장애가 발생된 파일에 대해 다시 데이터를 수집할 수 있다. 이에 따라, 장애 발생시, 신속하게 데이터를 다시 수집할 수 있게 된다.
한편, 프로세서(170)는, 데이터 수집에서 장애가 발생하여, 롤백 상태인 경우, 파일 수집 이력을 삭제할 수 있다. 이에 따라, 장애 발생시, 신속하게 데이터를 다시 수집할 수 있게 된다.
한편, 프로세서(170)는, 데이터 수집 중, 시스템 킬 신호(system kill signal)가 수신되는 경우, 데이터 수집을 중단하며, 데이터 수집을 다시 시작하는 경우, 데이터 수집 중 장애가 발생된 파일에 대해 다시 데이터를 수집할 수 있다. 이에 따라, 장애 발생시, 신속하게 데이터를 다시 수집할 수 있게 된다.
한편, 프로세서(170)는, 시스템 킬 신호에 의해, 데이터 수집을 중단하는 경우, 파일 수집 이력을 삭제할 수 있다. 이에 따라, 데이터 수집을 중단하고, 그 이후, 신속하게 데이터를 다시 수집할 수 있게 된다.
한편, 프로세서(170)는, 메모리(140)의 파일 수집 이력을 확인하고, 파일 수집 이력이 없는 경우, 수집되는 데이터를 목적 폴더(FF)에 저장되도록 제어할 수 있다. 이에 따라, 데이터 저장 전에, 중복 여부를 판단하고, 중복이 아닌 경우, 수집 데이터를 저장할 수 있게 된다.
한편, 프로세서(170)는, 임시 폴더(TF)에서 목적 폴더(FF)로 파일 이동 완료시, 정상 수집 완료에 따른 파일 수집 이력을 저장하도록 제어할 수 있다. 이에 따라, 중복 데이터의 수집을 방지할 수 있게 된다.
도 3은 본 발명의 실시예에 따른 서버의 블록도의 일예이다.
도면을 참조하면, 본 발명의 실시예에 따른 서버(100)는, 외부 서버(SV1)로부터의 수집 파일 리스트를 수신하는 개더러(gatherer)(GAT)와, 개더러(GAT)부터의 수집 파일 리스트에 기초하여, 외부 서버(SV1)로부터 데이터를 수집하는 적어도 하나의 왜건(wagon)(WA)과, 전송 이력 또는 파일 수집 이력을 저장하는 히스토리안 파일(historian file)(HSF)과, 왜건(WA)에서 수집된 데이터를 저장하는 목적 폴더(FF)를 포함할 수 있다.
한편, 본 발명의 실시예에 따른 서버(100)는, 히스토리안 파일(HSF)의 파일 수집 이력을 확인하고, 파일 수집 이력이 없는 경우, 수집되는 데이터를 임시로 저장하는 임시 폴더(TF)를 더 포함할 수 있다.
도면에서의, 개더러((GAT), 왜건(WA)은, 도 2의 프로세서(170) 내에 구비될 수 있다.
한편, 도면에서의 히스토리안 파일(HSF), 임시 폴더(TF), 목적 폴더(FF)는 도 2의 메모리(140) 내에 구비될 수 있다.
개더러(GAT)는, 외부 서버(SV1)로부터의 수집 파일 리스트를 수신한다(FL1).
왜건((WA)은, 개더러(GAT)로부터 수집 파일 리스트를 수신한다(FL2).
다음, 왜건((WA)은, 히스토리안 파일(HSF)에 저장된 전송 이력 또는 파일 수집 이력으로부터, 수신된 수집 파일 리스트의 수집 이력을 확인한다(FL3).
수집 이력이 존재하는 경우(FL4), 왜건((WA)은, 수집 이력이 존재하는 데이터의 데이터 수집을 스킵(skip)하고, 다음 파일로 넘어간다(FL5).
한편, 왜건((WA)은, 수신되는 다음 데이터 파일에 대해, 히스토리안 파일(HSF)을 이용하여, 수집 이력을 확인한다(FL6).
수집 이력이 존재하지 않는 경우(FL7), 왜건((WA)은, 다음 파일 데이터 수집하며, 수집된 다음 파일 데이터를 임시 폴더에 저장한다(FL8).
다음, 임시 폴더(TF)는, 파일 수집 종료시, 임시 폴더(TF)의 파일을 목적 폴더(FF)로 이동시킨다(FL9).
다음, 히스토리안 파일(HSF)은, 임시 폴더(TF)에서 목적 폴더(FF)로 파일 이동 완료시, 정상 수집 완료에 따른 파일 수집 이력을 저장할 수 있다(FL10). 이에 따라, 중복 데이터의 수집을 방지할 수 있게 된다.
본 발명에서는, 중복 데이터의 수집 방지 및, 장애가 발생된 파일에 대한 신속한 재수집을 위해, Transaction 보장 개념을 이용한다.
이에 따라, 본 발명의 실시예에 따른 서버(100)는, 데이터 수집부터 최종 데이터를 목적지에 옮기는 것까지의 과정에서 문제가 생기는 경우, 롤백(rollback)을 수행하여 데이터의 유실과 데이터의 중복이 발생하지 않도록 한다.
한편, 본 발명의 실시예에 따른 서버(100)는, 빅데이터를 저장하고 있는 파일들을 빠르게 동시 다발적으로 수집할 수 있도록 병렬로 개더러(GAT)를 실행시킬 수 있다.
이때, 수집 리스트는 단일화하는 것이 바람직하다. 이러한 수집 리스트 단일화에 따라, 중복 데이터 및 데이터 유실이 발생하지 않도록 내역 관리가 가능해진다. 또한, 수집한 데이터의 기록 완료 전까지의 임시 폴더(TF)를 통해, 수집 목록을 롤백(rollback)하여 수집의 무결성을 보장할 수 있게 된다.
한편, 왜건(WA)은, 데이터 수집에서 장애가 발생하는 경우, 장애가 발생된 파일에 대해 다시 데이터를 수집한다. 이에 따라, 장애 발생시, 신속하게 데이터를 다시 수집할 수 있게 된다. 특히, 데이터 저장 전에, 왜건(WA)을 통해, 장애가 발생된 파일에 대해 다시 데이터를 수집함으로써, 신속하게 데이터를 다시 수집할 수 있게 된다. 또한, 데이터 중복 수집시, 데이터 저장 전에, 중복 여부를 판단할 수 있게 된다.
한편, 왜건(WA)은, 데이터 수집에서 장애가 발생하는 경우, 롤백(rollback) 상태로 변경되며, 롤백 상태에 따라, 장애가 발생된 파일에 대해 다시 데이터를 수집할 수 있다. 이에 따라, 장애 발생시, 신속하게 데이터를 다시 수집할 수 있게 된다.
한편, 히스토리안 파일(HSF)은, 데이터 수집에서 장애가 발생하여, 왜건(WA)이 롤백 상태인 경우, 파일 수집 이력을 삭제할 수 있다. 이에 따라, 장애 발생시, 신속하게 데이터를 다시 수집할 수 있게 된다.
한편, 데이터 수집 중, 시스템 킬 신호(system kill signal)가 수신되는 경우, 왜건(WA)은, 종료(DIED) 상태가 되며, 왜건(WA)이 다시 실행되는 경우, 왜건(WA)이 롤백 상태로 변경되어, 롤백 상태에 따라, 데이터 수집 중 장애가 발생된 파일에 대해 다시 데이터를 수집할 수 있다. 이에 따라, 장애 발생시, 신속하게 데이터를 다시 수집할 수 있게 된다.
한편, 데이터 수집 중, 시스템 킬 신호(system kill signal)가 수신되는 경우, 왜건(WA)과 개더러(GAT)가 종료된다. 이에 따라, 데이터 수집을 중단하고, 그 이후, 신속하게 데이터를 다시 수집할 수 있게 된다.
한편, 히스토리안 파일(HSF)은, 시스템 킬 신호에 의해, 왜건(WA)이 종료된 이후, 왜건(WA)이 롤백 상태인 경우, 파일 수집 이력을 삭제할 수 있다. 이에 따라, 데이터 수집을 중단하고, 그 이후, 신속하게 데이터를 다시 수집할 수 있게 된다.
한편, 왜건(WA)은, 히스토리안 파일(HSF)의 파일 수집 이력을 확인하고, 파일 수집 이력이 없는 경우, 수집되는 데이터를 목적 폴더(FF)에 저장되도록 제어할 수 있다. 이에 따라, 데이터 저장 전에, 중복 여부를 판단하고, 중복이 아닌 경우, 수집 데이터를 저장할 수 있게 된다.
한편, 왜건(WA)은, 외부 서버(SV1)로부터 데이터를 병렬로 수집할 수 있다. 이에 따라, 신속하게 데이터를 수집할 수 있게 된다.
도 4는 수집 리스트(405)와 히스토리안 파일(410)을 예시하는 도면이다.
수집 리스트(405)는, 도면과 같이, 'TLD_SEARCH01_190617032230.csv'와, 'TLD_SEARCH01_190617032450.csv'로 예시될 수 있다.
히스토리안 파일(410)은, 도면과 같이, 'TLD_SEARCH01_190617032210.csv, done', 'TLD_SEARCH01_190617032230.csv, done', 'TLD_SEARCH01_190617032450.csv, done'(409)과 같이 예시될 수 있다.
이때, 'TLD_SEARCH01_190617032450.csv, done'(409)은, 데이터 수집 완료 시에 형성되는 것으로 한다.
수집 리스트(405) 중 'TLD_SEARCH01_190617032230.csv'는, 히스토리안 파일(410) 내의 'TLD_SEARCH01_190617032230.csv, done'에 대응하므로, 수집 이력이 존재하는 것으로 판단될 수 있다.
수집 리스트(405) 중 'TLD_SEARCH01_190617032450.csv'는, 히스토리안 파일(410) 내의 'TLD_SEARCH01_190617032210.csv, done', 'TLD_SEARCH01_190617032230.csv, done' 의 어디에도 대응하지 않으므로, 수집 이력이 존재하지 않는 것으로 판단될 수 있다.
이에 따라, 'TLD_SEARCH가01_190617032450.csv'와 관련한 데이터가 수신되어, 임시 폴더(TF)에 저장되었다 목적 폴더(FF)에 이동될 수 있다.
그리고, 목적 폴더(FF)로 데이터 저장 완료시, 히스토리안 파일(410) 내에, 'TLD_SEARCH01_190617032450.csv, done'(409)가 형성되게 된다.
도 5는 본 발명의 실시예에 따른 서버(100)의 동작 방법의 일예를 도시한 순서도이다.
도면을 참조하면, 개더러(GAT)가 실행되면(S506), 수집 설정 정보를 로드(Load)하고(S507), 외부 서버(SV1)에서 수집할 파일 목록을 가져온다(S509).
개더러(GAT)에는 병렬로 데이터를 빠르게 수집하기 위해 실제 데이터를 수집해오는 여러 개의 왜건((WA)들이 존재할 수 있다.
왜건((WA)의 상태는 레디(READY), 액티브(ACTIVE), 종료(DIED), 롤백(rollback) 총 4개의 상태로 존재할 수 있다.
왜건((WA)의 상태가 정상인 경우(S510), 즉, 레디(READY) 상태인 경우, 수집 대상이 되는 파일이 중복으로 수집되는 것을 방지하기 위해, 히스토리안 파일(HSF)에 전송 이력 또는 파일 수집 이력이 존재하는지 확인한다(S511).
전송 이력 또는 파일 수집 이력이 존재하지 않는다면, 히스토리안 파일(HSF)에, '파일명, 레디(READY)' 형태로 기록하고(S511), 왜건((WA)의 상태 또한 액티브(ACTIVE)(수집중) 상태로 변경할 수 있다(S513).
한편, 수집된 파일은 임시 보관 역할을 하는 로컬 폴더(temp)(TF)에 임의의 확장자(.ing)로 변경하여 수집될 수 있다. 이는 수집 시점에 발생하는 문제들(System Kill, Server Down 등)로 인한 데이터 유실을 방지하기 위함이다.
한편, 파일 수집이 끝나면, 파일을 원래 파일 확장자로 돌려놓은 후, 임시 폴더(TF)에서 파일을 전송하며(S515), 이에 따라 임시 폴더(TF)에서 목적 폴더(FF)로 파일을 이동시킨다(S516).
파일을 정상적으로 수집 완료했다는 이력으로 히스토리안 파일(HSF)에, '파일명, done' 형태로 기록하고(S517), 왜건((WA)의 상태도 레디(READY)로 변경한 후(S519), 다음 파일을 수집하기 위해 수집 초기 부분으로 돌아간다.
만약, 제510 단계((S510)에서, 왜건((WA)의 상태가 레디(READY) 상태가 아니라면, 이전 전송에서 장애가 있었다고 판단하고 롤백(rollback)을 진행한다.
롤백(rollback)은 먼저 왜건((WA)의 상태를 롤백(rollback)으로 변경하고(S522), 해당 파일을 삭제하고(S524), 해당 파일의 히스토리안 파일(HSF) 이력을 삭제한 후(S526), 왜건((WA) 상태를 레디(READY)로 변경한다(S528).
이를 통해 왜건((WA)이 문제가 발생한 파일에 대해서 다시 전송이 이루어질 수 있게 되고, 데이터 수집의 무결성을 보장할 수 있게 된다.
한편, 수집 중 시스템 킬 신호(System Kill Signal)가 발생하는 경우(S525), 왜건((WA)의 상태는 종료(DIED) 상태가 된다(S529).
그리고, 왜건((WA)이 종료되며(S532), 개더러(GAT)가 종료된다(S534).
그 이후, 다시 왜건((WA)을 실행시켰을 때 롤백(rollback)을 통해 정상적인 상태로 되돌릴 수 있게 된다.
도 6은 본 발명과 관련된 서버(100)의 동작 방법을 도시한 순서도이다.
도면을 참조하면, 플룸 에이전트(flume agent)가 실행되면(S606), 소스(예를 들어, 외부 서버(SV1))에서 이벤트를 수집하고(S607), 채널이 메모리 채널인지 여부를 판단한다(S609).
채널이 메모리 채널인 경우, 트랜잭션을 시작하고(S611), 소스(예를 들어, 외부 서버(SV1))에서 채널로 이벤트를 전송한다(S612).
그리고, 이벤트를 메모리 리스트에 보관한다(S614).
이때, 시스템 킬 신호(system kill signal)가 발생하는 지 여부를 판단하고(S615), 발생하는 경우, 메모리를 유실한다(S616). 즉, 메모리 내의 데이터가 지워진다.
한편, 시스템 킬 신호(system kill signal)가 발생하지 않는 경우, 트랜잭션 커밋(commit)을 수행하고(S617), 이벤트를 이벤트큐(event queue)에 보관하고(S619), 트랜잭션을 시작한다(S620).
다음, 싱크(sink)인 서버(100)는 이벤트큐(event queue)에 보관된 이벤트를 꺼내 리스트에 보관한다(S621).
그리고, 서버(100)는 롤백할 상황인지 여부를 판단하고(S622), 롤백할 상황인 경우, 리스트에 있는 이벤트를 다시 이벤트큐(event queue)에 보관한다(S623).
한편, 롤백할 상황이 아닌 경우, 트랜잭션 커밋(commit)을 수행하고(S624), 리스트를 비운다(S625).
그리고, 목적지에 이벤트를 전송하며(S628), 플룸 에이전트(flume agent)를 종료한다(S630).
한편, 제609 단계(S609)에서 채널이, 메모리 채널이 아닌 경우, 파일 채널로 판단한다(S632).
그리고, 트랜잭션을 시작하고(S631), 소스(예를 들어, 외부 서버(SV1))에서 채널로 이벤트를 전송한다(S635).
그리고, 이벤트를 로컬 리스트에 보관하고, 파일 오프셋 정보를 메모리 리스트에 보관한다(S636).
이때, 시스템 킬 신호(system kill signal)가 발생하는 지 여부를 판단하고(S638), 발생하는 경우, 메모리를 유실한다(S639). 즉, 메모리 내의 데이터가 지워진다.
한편, 시스템 킬 신호(system kill signal)가 발생하지 않는 경우, 트랜잭션 커밋(commit)을 수행하고(S640), 파일 오프셋 정보를 이벤트큐(event queue)에 보관하고(S641), 트랜잭션을 시작한다(S642).
다음, 싱크(sink)인 서버(100)는 이벤트큐(event queue)에 보관된 파일 오프셋 정보를 꺼내 로컬 디스크에서 이벤트를 가져온다(S643). 그리고, 파일 오프셋 정보를 태이크 리스트(take list)에 보관한다(S645).
그리고, 서버(100)는 롤백할 상황인지 여부를 판단하고(S647), 롤백할 상황인 경우, 리스트에 있는 파일 오프셋 정보를 다시 이벤트큐(event queue)에 보관한다(S6483).
한편, 롤백할 상황이 아닌 경우, 트랜잭션 커밋(commit)을 수행하고(S649), 리스트를 비운다(S650).
그리고, 목적지에 이벤트를 전송하며(S628), 플룸 에이전트(flume agent)를 종료한다(S630).
제614 단계(S614) 내지 제616 단계(S616)의 경우, 시스템 킬 신호(system kill signal)에 의해, 메모리 상에 보관된 데이터, 특히 이벤트가 유실되는 문제가 발생한다.
또한, 제636 단계(S636) 내지 제639 단계(S639)의 경우, 시스템 킬 신호(system kill signal)에 의해, 메모리 상에 보관된 데이터, 특히 오프셋 정보가 유실되는 문제가 발생한다.
이에, 본 발명에서는, 도 1 내지 도 5에서 설명한 바와 같이, 수집된 파일은 임시 보관 역할을 하는 로컬 폴더(temp)(TF)에 임의의 확장자(.ing)로 변경하여 수집될 수 있다. 이에 따라, 시스템 킬 신호(system kill signal), 시스템 다운 등이 발생하더라도, 데이터 유실을 방지할 수 있게 된다.
한편, 파일 수집이 끝나면, 파일을 원래 파일 확장자로 돌려놓은 후, 임시 폴더(TF)에서 파일을 전송하며, 이에 따라 임시 폴더(TF)에서 목적 폴더(FF)로 파일을 이동시킨다.
도 7은 원본 데이터(702)와 수집 데이터(704)를 예시한다.
도면을 참조하면, 원본 데이터(702)의 하이라이트 영역(702)과, 수집 데이터(704)의 하이라이트 영역(706)에, 일부 중복 데이터가 발생한 것이 예시된다.
본 발명에서는, 이러한 중복 데이터 발생을 방지하기 위해, 전송 이력 또는 파일 수집 이력을 저장하는 히스토리안 파일(historian file)(HSF)을 이용한다. 이에 따라, 데이터 중복 수집시, 데이터 저장 전에, 중복 여부를 판단할 수 있게 된다.
도 8은 시스템 에러가 발생한 것을 예시한다.
도면을 참조하면, 서버(100) 내의 히스토리안 파일(HSF) 내에, 'TLD_SEARCH01_190617032240.csv'가 저장되고, 임시 폴더(TF) 내에 'TLD_SEARCH01_190617032240.csv.ing'가 저장되고, 개더러(GAT) 상태가 액티브 상태에서, 시스템 에러가 발생하는 경우, 히스토리안 파일(HSF) 내에, 'TLD_SEARCH01_190617032240.csv'가 삭제되고, 임시 폴더(TF) 내에 'TLD_SEARCH01_190617032240.csv.ing'가 삭제되고, 개더러(GAT) 상태가, 종료(DIED) 상태가 되며, 그 이후, 롤백 상태로 변경되는 것을 예시한다.
이러한 롤백 상태에 따라, 데이터 수집 중 장애가 발생된 파일에 대해 다시 데이터를 수집할 수 있게 된다.
도 9는 롤백 설명에 참조되는 도면이다.
도면을 참조하면, 개더러(GAT)는, 외부의 서버(SV1)로 수집 파일 리스트를 요청하고(SFL1), 외부의 서버(SV1)로부터 수집 파일 리스트를 수신한다(SFL2).
그리고, 개더러(GAT)는, 왜건(WA)을 실행한다(SFL3).
왜건(WA)은, 상태를 레디 상태로 하고(SFL4), 파일을 수집한다(SFL5).
그리고, 왜건(WA)은, 히스토리안 파일(HSF)에 수집된 파일에 대해, 전송 이력 또는 파일 수집 이력이 있는 지 여부를 확인한다(SFL6).
왜건(WA)은, 이력이 있는 경우(SFL7), 다음 파일을 수집한다(SFL8).
왜건(WA)은, 다음 파일에 대해 전송 이력 또는 파일 수집 이력이 있는 지 여부를 확인한다(SFL9).
이력이 없는 경우(SF10), 왜건(WA)은, 상태를 액티브 상태로 변환한다(SFL11).
그리고, 왜건(WA)은, 파일 데이터를 수집한다(SFL12).
이때 로컬 시스템(LS)로부터 시스템 킬 신호(system kill signal)가 수신되는 경우(SFL13), , 개더러(GAT)는, 왜건(WA)으로 정지 명령을 전송한다(SFL14).
왜건(WA)은, 수신되는 정지 명령에 따라, 상태를 롤백 상태로 변환한다(SFL15).
그리고, 왜건(WA)은, 히스토리안 파일(HSF)에 수집된 파일에 대해, 전송 이력 또는 파일 수집 이력이 있는 지 여부를 확인하고(SFL16), 히스토리안 파일 (HSF)은 전송 이력 또는 파일 수집 이력을 삭제한다(SFL17).
왜건(WA)은, 수집된 파일을 삭제한다(SFL18). 그리고, 상태를 종료(DIED) 상태로 변환한다(SFL19).
도 10은 도 6 등의 플룸 에이전트를 설명하는 도면이다.
도면을 참조하면, 외부 서버(SV1)과 목적지(FS) 사이의 데이터 전송을 위해, 플룸 에이전트(FA)가 동작할 수 있다.
플룸 에이전트(FA)는, 소스(SR), 채널CH), 싱크(SI)를 포함할 수 있다.
플룸(flume)은, 데이터 수집을 위한 오픈 소스 프로젝트로 다양한 로그 데이터 수집 및 모니터링이 가능하다.
플룸 이벤트(flume event)는, 플룸(flume) 전송 데이터의 기본 단위이다.
플룸 에이전트(flume agent)(FA)는, 독립적인 플룸 프로세스일 수 있다.
소스(SR)는, 플룸(flume source)로서, event를 수집하여 channel에 전달하는 모듈일 수 있다.
채널CH)은, 플룸 채널(flume channel)로서, 소스(SR)와 싱크(SI) 간의 버퍼 구간을 의미할 수 있다.
싱크(SI)는, 플룸 싱크(flume sink)로서, 수집된 로그/이벤트를 목적지에 전달하는 모듈일 수 있다.
본 발명의 실시예에 따른 서버는 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해어져서는 안될 것이다.

Claims (18)

  1. 외부 서버로부터의 수집 파일 리스트를 수신하는 개더러(gatherer);
    상기 개더러로부터의 상기 수집 파일 리스트에 기초하여, 상기 외부 서버로부터 데이터를 수집하는 적어도 하나의 왜건(wagon);
    전송 이력 또는 파일 수집 이력을 저장하는 히스토리안 파일(historian file);
    상기 왜건에서 수집된 데이터를 저장하는 목적 폴더;를 포함하고,
    상기 왜건은,
    데이터 수집에서 장애가 발생하는 경우, 장애가 발생된 파일에 대해 다시 데이터를 수집하는 것을 특징으로 하는 서버.
  2. 제1항에 있어서,
    상기 왜건은,
    데이터 수집에서 장애가 발생하는 경우, 롤백(rollback) 상태로 변경되며, 상기 롤백 상태에 따라, 장애가 발생된 파일에 대해 다시 데이터를 수집하는 것을 특징으로 하는 서버.
  3. 제2항에 있어서,
    상기 히스토리안 파일은,
    데이터 수집에서 장애가 발생하여, 상기 왜건이 상기 롤백 상태인 경우, 파일 수집 이력을 삭제하는 것을 특징으로 하는 서버.
  4. 제1항에 있어서,
    상기 데이터 수집 중, 시스템 킬 신호(system kill signal)가 수신되는 경우, 상기 왜건은, 종료(DIED) 상태가 되며, 상기 왜건이 다시 실행되는 경우, 상기 왜건이 롤백 상태로 변경되어, 상기 롤백 상태에 따라, 상기 데이터 수집 중 장애가 발생된 파일에 대해 다시 데이터를 수집하는 것을 특징으로 하는 서버.
  5. 제4항에 있어서,
    상기 데이터 수집 중, 시스템 킬 신호(system kill signal)가 수신되는 경우, 상기 왜건과 상기 개더러가 종료되는 것을 특징으로 하는 서버.
  6. 제4항에 있어서,
    상기 히스토리안 파일은,
    상기 시스템 킬 신호에 의해, 상기 왜건이 종료된 이후, 상기 왜건이 상기 롤백 상태인 경우, 파일 수집 이력을 삭제하는 것을 특징으로 하는 서버.
  7. 제1항에 있어서,
    상기 왜건은,
    상기 히스토리안 파일의 파일 수집 이력을 확인하고, 파일 수집 이력이 없는 경우, 수집되는 데이터를 상기 목적 폴더에 저장되도록 제어하는 것을 특징으로 하는 서버.
  8. 제1항에 있어서,
    상기 히스토리안 파일의 파일 수집 이력을 확인하고, 파일 수집 이력이 없는 경우, 수집되는 데이터를 임시로 저장하는 임시 폴더;를 더 포함하고,
    상기 임시 폴더는, 파일 수집 종료시, 상기 임시 폴더의 파일을 상기 목적 폴더로 이동시키는 것을 특징으로 하는 서버.
  9. 제8항에 있어서,
    상기 히스토리안 파일은,
    상기 임시 폴더에서 상기 목적 폴더로 파일 이동 완료시, 정상 수집 완료에 따른 파일 수집 이력을 저장하는 것을 특징으로 하는 서버.
  10. 제1항에 있어서,
    상기 왜건은,
    상기 외부 서버로부터 데이터를 병렬로 수집하는 것을 특징으로 하는 서버.
  11. 외부 서버로부터의 데이터를 수신하는 통신부;
    상기 외부 서버로부터 수집 파일 리스트를 수신하고, 상기 수집 파일 리스트에 기초하여, 상기 외부 서버로부터 데이터를 수집하는 프로세서;
    전송 이력 또는 파일 수집 이력을 저장하는 메모리;를 포함하고,
    상기 프로세서는,
    데이터 수집에서 장애가 발생하는 경우, 장애가 발생된 파일에 대해 다시 데이터를 수집하는 것을 특징으로 하는 서버.
  12. 제11항에 있어서,
    상기 프로세서는,
    데이터 수집에서 장애가 발생하는 경우, 롤백(rollback) 상태로 변경되며, 상기 롤백 상태에 따라, 장애가 발생된 파일에 대해 다시 데이터를 수집하는 것을 특징으로 하는 서버.
  13. 제12항에 있어서,
    상기 프로세서는,
    데이터 수집에서 장애가 발생하여, 상기 롤백 상태인 경우, 파일 수집 이력을 삭제하는 것을 특징으로 하는 서버.
  14. 제11항에 있어서,
    상기 프로세서는,
    상기 데이터 수집 중, 시스템 킬 신호(system kill signal)가 수신되는 경우, 데이터 수집을 중단하며, 상기 데이터 수집을 다시 시작하는 경우, 상기 데이터 수집 중 장애가 발생된 파일에 대해 다시 데이터를 수집하는 것을 특징으로 하는 서버.
  15. 제14항에 있어서,
    상기 프로세서는,
    상기 시스템 킬 신호에 의해, 상기 데이터 수집을 중단하는 경우, 상기 파일 수집 이력을 삭제하는 것을 특징으로 하는 서버.
  16. 제11항에 있어서,
    상기 메모리는,
    상기 프로세서에서 수집된 데이터를 저장하는 목적 폴더를 포함하며,
    상기 프로세서는,
    상기 메모리의 파일 수집 이력을 확인하고, 파일 수집 이력이 없는 경우, 수집되는 데이터를 상기 목적 폴더에 저장되도록 제어하는 것을 특징으로 하는 서버.
  17. 제16항에 있어서,
    상기 메모리는,
    수집되는 데이터를 임시로 저장하는 임시 폴더를 더 포함하고,
    상기 임시 폴더는, 파일 수집 종료시, 상기 임시 폴더의 파일을 상기 목적 폴더로 이동시키는 것을 특징으로 하는 서버.
  18. 제17항에 있어서,
    상기 프로세서는,
    상기 임시 폴더에서 상기 목적 폴더로 파일 이동 완료시, 정상 수집 완료에 따른 파일 수집 이력을 저장하도록 제어하는 것을 특징으로 하는 서버.


KR1020190117681A 2019-09-24 2019-09-24 서버 KR20210035636A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190117681A KR20210035636A (ko) 2019-09-24 2019-09-24 서버
US17/031,773 US11526402B2 (en) 2019-09-24 2020-09-24 Server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190117681A KR20210035636A (ko) 2019-09-24 2019-09-24 서버

Publications (1)

Publication Number Publication Date
KR20210035636A true KR20210035636A (ko) 2021-04-01

Family

ID=75441460

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190117681A KR20210035636A (ko) 2019-09-24 2019-09-24 서버

Country Status (2)

Country Link
US (1) US11526402B2 (ko)
KR (1) KR20210035636A (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12032456B1 (en) * 2023-01-25 2024-07-09 Dell Products L.P. Retention lock leveraging in a backup computing system

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6049892C1 (en) * 1997-02-24 2002-06-04 Ethos Software Corp Process and apparatus for downloading data from a server computer to a client computer
US7707273B2 (en) * 2006-09-11 2010-04-27 Apple Inc. Management and prioritization of media item downloading
US7913115B1 (en) * 2008-04-30 2011-03-22 Netapp, Inc. Core file transfer
US9471436B2 (en) * 2013-04-23 2016-10-18 Facebook, Inc. Use of incremental checkpoints to restore user data stream processes
US11481362B2 (en) * 2017-11-13 2022-10-25 Cisco Technology, Inc. Using persistent memory to enable restartability of bulk load transactions in cloud databases

Also Published As

Publication number Publication date
US11526402B2 (en) 2022-12-13
US20210149768A1 (en) 2021-05-20

Similar Documents

Publication Publication Date Title
US8145605B2 (en) NAS system and remote copy method
JP4452533B2 (ja) システムおよび記憶装置システム
US8977826B1 (en) Extent commands in replication
EP3806424A1 (en) File system data access method and file system
US7225371B2 (en) Method and apparatus for storing and retrieving multiple point-in-time consistent data sets
JP4301849B2 (ja) 情報処理方法及びその実施システム並びにその処理プログラム並びにディザスタリカバリ方法およびシステム並びにその処理を実施する記憶装置およびその制御処理方法
US9639592B1 (en) Dynamically switching between synchronous and asynchronous replication
US6934877B2 (en) Data backup/recovery system
US20110238625A1 (en) Information processing system and method of acquiring backup in an information processing system
JP5049618B2 (ja) ディザスタリカバリシステムおよび方法
US9910592B2 (en) System and method for replicating data stored on non-volatile storage media using a volatile memory as a memory buffer
US7136977B2 (en) Backup acquisition method and disk array apparatus
US11233874B2 (en) Ordinary write in distributed system maintaining data storage integrity
JP2006011848A (ja) レプリケーションシステム、装置、方法、およびプログラム
US20080172423A1 (en) Hsm control program, hsm control apparatus, and hsm control method
JPH04299748A (ja) ファイルの管理方法及び装置
JP2007128335A (ja) レプリケーション調停装置と方法並びにプログラム
US10929052B2 (en) Snapshot space reduction method and apparatus
KR20210035636A (ko) 서버
US20090248760A1 (en) Backup method of computer system
US20100088287A1 (en) Information system, method and recording medium having program recorded thereon relating to collectively registered data
CN109491617B (zh) 数据储存转发方法、电子设备、存储介质
EP0881569A2 (en) File system and file management method which realize distributed replication in system having shared type raid
US20140082280A1 (en) Storage apparatus and control method
CN118677953A (zh) 基于双机房双活的数据处理方法、装置、计算机设备和介质

Legal Events

Date Code Title Description
A201 Request for examination