KR101024897B1 - 리눅스를 기반으로 하는 네트워크 하드 디스크 복사 시스템및 그 방법 - Google Patents

리눅스를 기반으로 하는 네트워크 하드 디스크 복사 시스템및 그 방법 Download PDF

Info

Publication number
KR101024897B1
KR101024897B1 KR1020080131908A KR20080131908A KR101024897B1 KR 101024897 B1 KR101024897 B1 KR 101024897B1 KR 1020080131908 A KR1020080131908 A KR 1020080131908A KR 20080131908 A KR20080131908 A KR 20080131908A KR 101024897 B1 KR101024897 B1 KR 101024897B1
Authority
KR
South Korea
Prior art keywords
sub
main
pcs
group
response message
Prior art date
Application number
KR1020080131908A
Other languages
English (en)
Other versions
KR20100073278A (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 KR1020080131908A priority Critical patent/KR101024897B1/ko
Publication of KR20100073278A publication Critical patent/KR20100073278A/ko
Application granted granted Critical
Publication of KR101024897B1 publication Critical patent/KR101024897B1/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/1458Management of the backup or restore process
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's

Abstract

본 발명은 메인 PC에 저장된 데이터를 하나 이상의 서브 PC들에 백업하는 시스템에 있어서, 하나 이상의 서브 PC 그리고 체크 패리티를 생성하여 모든 서브 PC에 전달하고, 상기 서브 PC들로부터 체크 패리티에 대한 응답메세지를 전송받으며, 상기 응답메세지가 도착하는 시간을 체크하여 기준시간 내에 응답메세지를 전송한 서브 PC들을 제1그룹으로 판단하고, 제1그룹의 서브 PC에 메인 PC의 저장 데이터가 복사되도록 처리하는 메인 PC를 포함한다. 그리고 상기 메인 PC의 저장 데이터가 복사된 제1그룹의 서브 PC는, 상기 응답메세지를 기준시간 내에 전송하지 못한 서브 PC에 메인 PC의 저장 데이터를 복사한다. 본 발명에 의하면, 메인 PC가 다수개의 서브 PC에 특정 데이터 복제시, 낭비되는 시간이나 소실되는 데이터를 최소할 수 있는 장점이 있다.
리눅스, 네트워크, 복사, 백업, PC, 패리티

Description

리눅스를 기반으로 하는 네트워크 하드 디스크 복사 시스템 및 그 방법{.}
본 발명은 리눅스를 기반으로 하는 네트워크 하드 디스크 복사 시스템에 관한 것으로, 보다 상세하게는 네트워크로 연결되어 있는 메인 PC가 다수개의 서브 PC에 저장데이터를 백업하는 경우, 낭비되는 시간이나 소실되는 데이터를 최소할 수 있는 리눅스를 기반으로 하는 네트워크 하드 디스크 복사 시스템 및 그 방법에 관한 것이다.
본 발명은 리눅스를 기반으로 하는 네트워크 하드 디스크 복사 시스템 및 그 방법에 관한 것이다.
종래에는 네트워크에 연결된 다수의 하드 디스크를 복사하기 위하여 별도의 하드웨어적인 장비를 메인 PC에 장착하거나 특수한 랜카드를 이용하여 복사를 실행하여 왔다.
또한, 순수 소프트웨어적으로만 운영되는 기술이라 할지라도 그 이용방법에 있어서 윈도우를 기반으로 하고 있어 복사 속도가 매우 느리거나 매우 복잡한 연결 구조를 가지고 있다.
대표적인 일 예로, 노턴 고스트가 있는데 이는 메인 PC를 세팅하고, 메인 PC의 이미지를 생성 한 뒤, 캐스트 서버를 설정한 다음 보관된 이미지를 이용하여 캐스트 서버로 전송함으로써, 복사가 이루어졌다.
이러한 종래 기술은 네트워크 상황에 상관없이 멀티캐스트 방식으로 무조건 연결된 클라이언트에게 전송하기 때문에 네트워크 상에 문제가 있거나 부하가 걸리는 PC가 있으면 전체적인 속도 저하를 갖게 되는 문제점이 있다. 상술한 바와 같은 경우, 50대의 클라이언트가 메인 PC와 연결되어 있고 하나의 클라이언트의 성능에 이상이 있는 경우, 전체 디스크를 복사하거나 전송하는데 걸리는 시간이 기하급수적으로 늘어나는 폐단이 존재하는 것이다.
따라서 본 발명은 상기와 같은 종래의 문제점을 해결하기 위하여 안출된 것으로, 본 발명의 목적은 메인 PC에 저장된 저장 데이터를 하나 이상의 서브 PC들에 백업함에 있어서, 메인 PC가 서브 PC들의 데이터 전송속도를 미리 판단하고, 데이터 전송속도가 미리 설정된 기준속도에 미치지 못하는 서브 PC들을 제거한 뒤 제1그룹을 생성하고 그 제1그룹의 서브 PC에 메인 PC의 저장 데이터가 복사되도록 처리하며, 메인 PC의 저장 데이터가 복사된 제1그룹의 서브 PC가 메인 PC의 저장데이터가 복사되지 않은 서브 PC에 메인 PC의 저장 데이터가 복사되도록 처리함으로써 백업 처리 속도를 증가시키는 리눅스를 기반으로 하는 네트워크 하드 디스크 복사 시스템 및 그 방법을 제공하는 데에 있다.
또한, 본 발명의 다른 목적은 메인 PC가 리눅스 운영체제를 채택함으로써, 네트워크상의 연결된 다수개의 PC의 디스크 내용에 상관없이 1:N의 하드 복사를 할 수 있는 리눅스를 기반으로 하는 네트워크 하드 디스크 복사 시스템 및 그 방법을 제공하는 데에 있다.
상기한 바와 같은 목적을 달성하기 위한 본 발명의 특징에 따르면, 본 발명은 메인 PC에 저장된 데이터를 하나 이상의 서브 PC들에 백업하는 시스템에 있어서, 하나 이상의 서브 PC; 및 체크 패리티를 생성하여 모든 서브 PC에 전달하고, 서브 PC들로부터 체크 패리티에 대한 응답메세지를 전송받으며, 상기 응답메세지가 도착하는 시간을 체크하여 기준시간 내에 응답메세지를 전송한 서브 PC들을 제1그룹으로 판단하고, 제1그룹의 서브 PC에 메인 PC의 저장 데이터를 복사하는 메인 PC;를 포함하고, 상기 메인 PC의 저장 데이터가 복사된 제1그룹의 서브 PC는, 상기 응답메세지를 기준시간 내에 전송하지 못한 서브 PC에 메인 PC의 저장 데이터를 복사함을 특징으로 하고, 상기 응답메세지를 기준 시간 내에 전송하지 못한 서브 PC들은 응답메세지의 도착시간에 따라 둘 이상의 그룹으로 분리되고, 상기 응답메세지의 도착시간이 빠를수록 상위 그룹으로 분리되며, 그 분리된 그룹정보는 각각의 서브 PC에 전송되는 것을 특징으로 하고, 상기 메인 PC가 제1그룹의 서브 PC들에 메인 PC의 저장데이터를 복사하고, 상기 메인 PC와 상기 저장데이터의 복사가 끝난 서브 PC들은 자신보다 하위그룹의 서브 PC에 메인 PC의 저장데이터를 복사하되 복사 대기 중인 서브 PC들 중 상위그룹의 서브 PC부터 순차적으로 복사하는 것을 특징으로 하고, 상기 메인 PC는, 상기 응답메세지를 기준시간 내에 전송한 서브 PC들을 제1그룹의 서브 PC로 판단하고, 상기 응답메세지를 제2설정시간 내에 전송한 서브 PC들을 제2그룹의 서브 PC로 판단하며, 상기 응답메세지를 제3설정시간 내에 전송한 서브 PC들을 제3그룹의 서브 PC로 판단하고, 상기 응답메세지를 제4설정시간 내에 전송한 서브 PC들을 제4그룹의 서브 PC로 판단하며, 상기 응답메세지를 제5설정시간 내에 전송한 서브 PC들을 제5그룹의 서브 PC로 판단하고, 상기 응답메세지를 제6설정시간 내에 전송한 서브 PC들을 제6그룹의 서브 PC로 판단하며, 상기 응답메세지를 제7설정시간 내에 전송한 서브 PC들을 제7그룹의 서브 PC로 판단하는 것을 특징으로 하고, 상기 기준시간은 제2설정시간보다 작은 값이고, 상기 제2설정시간은 제3설정시간보다 작은 값이며, 상기 제3설정시간은 제4설정시간보다 작은 값이고, 상기 제4설정시간은 제5설정시간보다 작은 값이며, 상기 제5설정시간은 제6설정시간보다 작은 값이고, 상기 제6설정시간은 제7설정시간보다 작은 값임을 특징으로 하고, 상기 체크 패리티는, 응답메세지의 정상반환 또는 비정상반환 여부가 기록되기 위한 플래그 비트; 각 서브 PC의 식별정보가 기록되는 패리티 비트; 및 테스트용 저장 데이터가 기록되는 저장 비트;를 포함하고, 상기 체크 패리티를 수신한 서브 PC가 보내는 상기 응답 메세지는, 수신된 체크 패리티의 플래그 비트에, 비정상반환인 경우 0이 기록되고 정상반환인 경우 1이 기록되는 것을 특징으로 하고, 상기 메인 PC와 상기 하나 이상의 서브 PC는 리눅스(Linux) 운영체제를 채택함을 특징으로 한다.
상기한 바와 같은 목적을 달성하기 위한 본 발명의 다른 특징에 따르면, 본 발명은 메인 PC에 저장된 데이터를 하나 이상의 서브 PC들에 백업하는 방법에 있어서, (A)메인 PC가 체크 패리티를 생성하여 서브 PC에 전송하는 단계; (B)메인 PC가 서브 PC로부터 상기 체크 패리티에 대한 응답메세지를 전송받고 응답메세지의 도착시간을 체크하는 단계; (C)상기 (B)단계의 응답메세지 도착시간을 이용하여, 기준시간 내에 응답메세지를 전송한 서브 PC를 추출하여 제1그룹으로 판단하는 단계; (D)메인 PC가 상기 제1그룹에 속하는 서브 PC들에게 메인 PC의 저장데이터를 복사하는 단계; (E) 상기 (B)단계의 응답메세지 도착시간을 이용하여, 상기 응답메세지를 기준 시간 내에 전송하지 못한 서브 PC들은 응답메세지의 도착시간에 따라 둘 이상의 그룹으로 분리하고, 상기 응답메세지의 도착시간이 빠를수록 상위 그룹으로 분리하며, 그 분리된 그룹정보는 각각의 서브 PC에 전송하는 단계; 및 (F) 메인 PC와 상기 (D)단계에서 메인 PC 저장데이터의 복사가 끝난 서브 PC들이 자신보다 하위그룹의 서브 PC에 메인 PC의 저장데이터를 복사하되 복사 대기 중인 서브 PC들 중 상위그룹의 서브 PC부터 순차적으로 복사하는 단계;를 포함하고, 상기 (E)단계는, 상기 메인 PC가 응답메세지를 제2설정시간 내에 전송한 서브 PC들을 제2그룹의 서브 PC로 판단하는 단계; 상기 메인 PC가 응답메세지를 제3설정시간 내에 전송한 서브 PC들을 제3그룹의 서브 PC로 판단하는 단계; 상기 메인 PC가 응답메세지를 제4설정시간 내에 전송한 서브 PC들을 제4그룹의 서브 PC로 판단하는 단계; 상기 메인 PC가 응답메세지를 제5설정시간 내에 전송한 서브 PC들을 제5그룹의 서브 PC로 판단하는 단계; 상기 메인 PC가 응답메세지를 제6설정시간 내에 전송한 서브 PC들을 제6그룹의 서브 PC로 판단하는 단계; 및 상기 메인 PC가 응답메세지를 제7설정시간 내에 전송한 서브 PC들을 제7그룹의 서브 PC로 판단하는 단계;를 포함하고, 상기 기준시간은 제2설정시간보다 작은 값이고, 상기 제2설정시간은 제3설정시간보다 작은 값이며, 상기 제3설정시간은 제4설정시간보다 작은 값이고, 상기 제4설정시간은 제5설정시간보다 작은 값이며, 상기 제5설정시간은 제6설정시간보다 작은 값이고, 상기 제6설정시간은 제7설정시간보다 작은 값임을 특징으로 하고, 상기 체크 패리티는, 응답메세지의 정상반환 또는 비정상반환 여부가 기록되기 위한 플래그 비트; 각 서브 PC의 식별정보가 기록되는 패리티 비트; 및 테스트용 저장 데이터가 기록되는 저장 비트;를 포함하고, 상기 체크 패리티를 수신한 서브 PC가 보내는 상기 응답 메세지는, 수신된 체크 패리티의 플래그 비트에, 비정상반환인 경우 0이 기록되고 정상반환인 경우 1이 기록되는 것을 특징으로 하고, 상기 메인 PC와 상기 하나 이상의 서브 PC는 리눅스(Linux)운영체제를 채택함을 특징으로 한다.
위에서 설명한 바와 같은 본 발명에 따르면, 본 발명은 메인 PC에 저장된 데이터를 하나 이상의 서브 PC들에 백업함에 있어서, 메인 PC가 서브 PC들의 데이터 전송속도를 미리 판단하고, 데이터 전송속도가 미리 설정된 기준속도에 미치지 못하는 서브 PC들을 제거한 뒤 제1그룹을 생성하고 그 제1그룹의 서브 PC에 메인 PC 의 저장 데이터가 복사되도록 처리하고, 메인 PC의 저장 데이터가 복사된 제1그룹의 서브 PC가 메인 PC의 저장데이터가 복사되지 않은 서브 PC에 메인 PC의 저장 데이터가 복사되도록 처리함으로써 백업 처리 속도를 증가시키는 리눅스를 기반으로 하는 네트워크 하드 디스크 복사 시스템 및 그 방법을 제공할 수 있다.
또한, 본 발명은 메인 PC가 리눅스 운영체제를 채택함으로써, 네트워크상의 연결된 다수개의 PC의 디스크 내용에 상관없이 1:N의 하드 복사를 할 수 있는 리눅스를 기반으로 하는 네트워크 하드 디스크 복사 시스템 및 그 방법을 제공할 수 있다.
이하에서는 상기한 바와 같은 본 발명에 의한 리눅스를 기반으로 하는 네트워크 하드 디스크 복사 시스템의 바람직한 실시예를 첨부된 도면을 참고로 하여 상세하게 설명한다.
도 1에는 본 발명의 바람직한 실시예에 의한 리눅스를 기반으로 하는 네트워크 하드 디스크 복사 시스템의 내부구성을 도시한 블럭도가 도시되어 있다.
도 1에 도시된 바와 같이, 본 발명은 네트워크로 연결된 메인 PC(100)와 하나 이상의 서브 PC(200)를 포함한다.
메인 PC(100)는 체크 패리티를 생성하여 모든 서브 PC(200)에 전달하고, 상기 서브 PC(200)들로부터 체크 패리티에 대한 응답메세지를 전송받으며, 상기 응답메세지가 도착하는 시간을 체크하여 기준시간 내에 응답메세지를 전송한 서브 PC(200)들을 제1그룹으로 판단하고, 제1그룹의 서브 PC(200)에 메인 PC(100)의 저장 데이터가 복사되도록 처리한다.
이때 상기 체크 패리티는, 응답메세지의 정상반환 또는 비정상반환 여부가 기록되기 위한 플래그 비트와 각 서브 PC의 식별정보가 기록되는 패리티 비트 그리고 테스트용 저장 데이터가 기록되는 저장 비트를 포함하고, 상기 체크 패리티를 수신한 서브 PC가 보내는 상기 응답 메세지는, 수신된 체크 패리티의 플래그 비트에, 비정상반환인 경우 0이 기록되고 정상반환인 경우 1이 기록되는 것이 바람직하다.
보다 구체적으로 설명하자면, 체크 패리티는 총 32비트로 구성되고, 플레그비트 영역은 1비트이고, 패리비 비트 영역은 15비트이며, 테스트용 저장 데이터 영역은 16비트이다.
한편, 서브 PC(200)들은 메인 PC(100)에 응답메세지를 보내는 시간별로 그룹핑 될 수 있다. 이때, 상기 메인 PC(100)의 저장 데이터가 복사된 제1그룹의 서브 PC(200)는, 상기 응답메세지를 기준시간 내에 전송하지 못한 서브 PC(200)에 메인 PC(100)의 저장 데이터가 복사되도록 처리한다.
즉, 메인 PC(100)는 해당 네트워크 상에 데이터를 복사시킬 때 가장 네트워크 효율이 좋은 PC들을(예컨대; 본 실시예에서는 제1그룹의 서브 PC들) 기준으로 하여 1차전송을 하고, 이 전송된 데이터를 복사받은 PC(예컨대; 본 실시예에서는 제1그룹의 서브 PC들)가 다시 메인 PC가 되어 2차 전송을 하는 다차원 전송을 하는 것이다.
한편, 상기 응답메세지를 기준 시간 내에 전송하지 못한 서브 PC들은 둘 이상의 그룹으로 분리될 수도 있다.
이때, 상기 메인 PC(100)는, 상기 응답메세지를 기준시간 내에 전송한 서브 PC들을 제1그룹의 서브 PC로 판단하고, 상기 응답메세지를 제2설정시간 내에 전송한 서브 PC들을 제2그룹의 서브 PC로 판단하며, 상기 응답메세지를 제3설정시간 내에 전송한 서브 PC들을 제3그룹의 서브 PC로 판단하고, 상기 응답메세지를 제4설정시간 내에 전송한 서브 PC들을 제4그룹의 서브 PC로 판단하며, 상기 응답메세지를 제5설정시간 내에 전송한 서브 PC들을 제5그룹의 서브 PC로 판단하고, 상기 응답메세지를 제6설정시간 내에 전송한 서브 PC들을 제6그룹의 서브 PC로 판단하며, 상기 응답메세지를 제7설정시간 내에 전송한 서브 PC들을 제7그룹의 서브 PC로 판단하고, 상기 서브 PC들의 그룹정보를 각각의 서브 PC에 전송한다.
이때, 상기 기준시간은 제2설정시간보다 작은 값이고, 상기 제2설정시간은 제3설정시간보다 작은 값이며, 상기 제3설정시간은 제4설정시간보다 작은 값이고,상기 제4설정시간은 제5설정시간보다 작은 값이며, 상기 제5설정시간은 제6설정시간보다 작은 값이고, 상기 제6설정시간은 제7설정시간보다 작은 값이다.
그리고 메인 PC(100)가 제1그룹의 서브 PC들에 메인 PC의 저장데이터가 복사되도록 처리하고, 상기 메인 PC 및 상기 저장데이터의 복사가 끝난 서브 PC들은 자신보다 하위그룹의 서브 PC에 메인 PC의 저장데이터가 복사되도록 처리하되 복사 대기 중인 서브 PC들 중 상위그룹의 서브 PC부터 순차적으로 복사가 되도록 처리한다.
설명의 이해를 돕고자 1대의 메인 PC(100)와 10대의 서브 PC(200)가 있는것을 일 예로 들어 설명하기로 한다. 그리고 메인 PC(100)가 0.3초 내에 응답메세지를 보내는 서브 PC를 제1그룹으로 설정하고, 0.5초 내에 응답메세지를 보내는 서브 PC를 제2그룹으로 설정하며, 0.7초내에 응답메세지를 보내는 서브 PC를 제 3그룹으로 설정하는 것을 일 예로 들어 설명하기로 한다.
메인 PC(100)는 네트워크로 연결되어 있는 10대의 서브 PC(200)에 체크 패리티를 생성하여 전송한다. 이때, 상기 체크 패리티를 전송받은 10대의 서브 PC(200)는 체크 패리티에 대한 응답메세지를 메인 PC(100)에 전송한다.
메인 PC(100)는 서브 PC(200)들로부터 전송된 응답메세지의 도착시간을 검색한다. 검색결과, PC1, PC2, PC3 3대의 서브 PC가 0.3초 내에 응답메세지를 보냈고, PC4, PC5, PC6, PC7이 0.5초 내에 응답메세지를 보냈으며, PC8, PC9, PC10이 0.7초내에 응답메세지를 전송했다.
그러면, 메인 PC(100)는 PC1, PC2, PC3 3대의 서브 PC를 제1그룹으로 판단하고, PC4, PC5, PC6, PC7 4대의 서브 PC를 제2그룹으로 판단하며, PC8, PC9, PC10 3대의 서브 PC를 제3그룹으로 판단한다. 그리고 이 그룹정보를 각각의 서브 PC(본 일 예에서, PC1 내지 PC10)에게 전송한다.
이후, 메인 PC(100)는 제1그룹의 서브 PC(본 일 예에서, PC1, PC2, PC3)에 메인 PC의 저장데이터가 복사되도록 처리한다. 소정 시간이 흐른 뒤, 메인 PC(100)에 의해 복사가 끝난 제1그룹의 서브 PC(본 일 예에서, PC1, PC2, PC3) 및 메인 PC(100)는 자신보다 하위그룹(본 일예에서, 제2그룹, 제3그룹)의 서브 PC에 메인 PC의 저장데이터가 복사되도록 처리한다.
이때, 복사 대기 중인 서브 PC들 중 상위그룹의 서브 PC부터 순차적으로 복사가 되도록 처리한다. 즉, 복사가 끝난 제1그룹의 서브 PC(본 일 예에서, PC1, PC2, PC3) 및 메인 PC(100)는 자신의 하위그룹인 제2그룹 내지 제3그룹의 서브 PC에 저장데이터의 복사를 실행할 수 있지만, 대기 중인 서브 PC들 중 상위 그룹인 제2그룹 먼저 복사를 실행하는 것이다.
그러면, 메인 PC(100)와 복사가 끝난 제1그룹의 서브 PC(본 일 예에서, PC1, PC2, PC3)가 제 2그룹의 서브 PC(본 일 예에서, PC4, PC5, PC6, PC7)에 저장데이터의 복사를 실행한다.
이후, 먼저 저장데이터의 복사작업을 완료한 PC가 복사 대기중인 서브 PC(본 일 예에서, PC8, PC9, PC10)에 저장데이터가 복사한다.
예를 들어, 메인 PC(100)와 PC1, PC3이 복사작업이 끝나면, 메인 PC(100)와 PC1 및 PC3은 각각 복사 대기중인 제3그룹의 PC8, PC9, PC10에 저장데이터를 복사한다.
상술한 바에 따르면, 네트워크 상의 부하나 데이터 손실 또는 속도 저하가 발생할 때 이를 빠르게 파악하여 대응할 수 있는 방법으로 기존의 전송방식인 멀티캐스트나 브로드캐스트 방식에 비해 안전하고 빠르게 데이터 복사를 진행할 수 있는 장점이 있다. 또한, 네트워크 상에서 데이터 전송시 나타날 수 있는 데이터 간섭에 의한 손실을 최소화 하고자 해당 네트워크 상의 데이터 손실율을 분석할 수 있는 장점이 있다.
이때, 상기 메인 PC(100)와 상기 하나 이상의 서브 PC(200)는 리눅스(Linux)운영체제를 채택하는 것이 바람직하다.
이하에서는 본 발명에 따른 리눅스를 기반으로 하는 네트워크 하드 디스크 복사 시스템의 동작과정을 도면을 참조하여 상세하게 설명하기로 한다.
도 2에는 본 발명의 바람직한 실시예에 의한 리눅스를 기반으로 하는 네트워크 하드 디스크 복사 시스템의 동작과정을 도시한 순서도가 도시되어 있고, 도 3에는 도 2의 S180의 상세 동작과정을 도시한 순서도가 도시되어 있다.
도 2를 참조하면, 우선, 동일한 허브 또는 스위치로 연결된 네트워크 환경에서 리눅스 코어를 탑제한 메인 PC(100)가 부팅을 하고, 이 부팅된 메인 PC(100)는 서브 PC(200)가 접속하기를 대기한다. 이때, 하나 이상의 서브 PC(200)는 PXE 또는 자체 제공되는 부팅용 CD롬을 이용하여 부팅한다. 그러면, 메인 PC(100)가 부팅된 하나 이상의 서브 PC(200)를 감지하고, 이후 메인 PC(100)와 하나 이상의 서브 PC(200)가 통신을 시작한다(단계 S100).
그러면 메인 PC(100)는 하나 이상의 서브 PC(200)에 복사하고자 하는 저장데이터의 각종 옵션(예컨대;디스크 간의 복사, 파티션별 복사, 미리 제작해 놓은 이미지를 통한 복사 등)을 체크하고, 데이터 전송 준비단계에 진입한다(단계 S110).
이후, 메인 PC(100)는 체크 패리티를 생성하여 하나 이상의 서브 PC(200)에 지속적으로 전송한다. 이때, 체크 패리티는, 응답메세지의 정상반환 또는 비정상반환 여부가 기록되기 위한 플래그 비트와 각 서브 PC의 식별정보가 기록되는 패리티 비트 그리고 테스트용 저장 데이터가 기록되는 저장 비트를 포함한다(단계 S120).
그리고 메인 PC(100)가 하나 이상의 서브 PC(200)들로부터 상기 체크 패리티에 대한 응답메세지를 전송받고 응답메세지의 도착시간을 체크한다(단계 S140).
이때 메인 PC(100)는 단계 S140에서 획득한 응답메세지 도착시간을 이용하여, 기준시간 내에 응답메세지를 전송한 서브 PC를 추출하여 제1그룹으로 판단한다(단계 S160). 이때, 응답 메세지에는, 수신된 체크 패리티의 플래그 비트에, 비정상반환인 경우 0이 기록되고 정상반환인 경우 1이 기록되는 것이 바람직하다.
이후, 메인 PC(100)가 상기 제1그룹에 속하는 서브 PC들에게 메인 PC의 저장데이터가 복사한다(단계 S170). 그리고 단계 S170 의해 메인 PC(100)의 저장 데이터가 제1그룹의 서브 PC에 복사되면, 제1그룹의 서브 PC가 상기 응답메세지를 기준시간 내에 전송하지 못한 서브 PC에 메인 PC의 저장 데이터를 복사한다.
즉, 메인 PC(100)는 메인 PC(100)와 하나 이상의 서브 PC(200)들간에 체크 패리티 및 응답메세지를 송수신하면서, 특정 서브 PC(200)의 수신율이 미리 설정된 기준치 이하로 떨어지면(예컨대; 여기서 수신율은 응답메세지의 도착시간으로 판단할 수 있음), 그 서브 PC(200)를 백업 작업대상에서 제외하고, 이후 작업이 완료된 다른 서브 PC(200)에 의해 작업이 중단된 시점부터 데이터 전송을 재개할 수 있는 것이다.
한편, 단계 S150의 판단단계에 의해 상기 응답메세지를 기준 시간 내에 전송하지 못한 서브 PC들은 둘 이상의 그룹으로 분리될 수도 있다(단계 S180).
도 3을 참조하여, 단계 S180을 구체적으로 설명하자면, 메인 PC(100)가 응답 메세지를 기준시간 내에 전송한 서브 PC들을 제1그룹의 서브 PC로 판단하고, 상기 메인 PC(100)가 응답메세지를 제2설정시간 내에 전송한 서브 PC들을 제2그룹의 서브 PC로 판단하며(단계 S181, 단계 S182), 상기 메인 PC(100)가 응답메세지를 제3설정시간 내에 전송한 서브 PC들을 제3그룹의 서브 PC로 판단하고(단계 S184, 단계 S185), 상기 메인 PC가 응답메세지를 제4설정시간 내에 전송한 서브 PC들을 제4그룹의 서브 PC로 판단하며(단계 S187, 단계 S188), 상기 메인 PC(100)가 응답메세지를 제5설정시간 내에 전송한 서브 PC들을 제5그룹의 서브 PC로 판단하고(단계 S190, 단계 S191), 상기 메인 PC(100)가 응답메세지를 제6설정시간 내에 전송한 서브 PC들을 제6그룹의 서브 PC로 판단하며(단계 S193, 단계 S194), 상기 메인 PC가 응답메세지를 제7설정시간 내에 전송한 서브 PC들을 제7그룹의 서브 PC로 판단하고(단계 S196, 단계 S197), 메인 PC(100)가 서브 PC들의 그룹정보를 각각의 서브 PC에 전송한다.
이때, 상기 기준시간은 제2설정시간보다 작은 값이고, 상기 제2설정시간은 제3설정시간보다 작은 값이며, 상기 제3설정시간은 제4설정시간보다 작은 값이고, 상기 제4설정시간은 제5설정시간보다 작은 값이며, 상기 제5설정시간은 제6설정시간보다 작은 값이고, 상기 제6설정시간은 제7설정시간보다 작은 값이다.
한편, 상기 메인 PC가 상기 그룹정보에 기초하여, 제1그룹의 서브 PC에 메인 PC의 저장데이터가 복사되도록 처리하고, 이후, 메인 PC와 복사가 끝난 상기 제 1그룹의 서브 PC가 상기 그룹정보에 기초하여, 제 2그룹 내지 제 7그룹의 서브 PC에 메인 PC의 저장데이터가 복사되도록 처리한다. 이때, 복사 대기 중인 서브 PC들 중 상위그룹의 서브 PC부터 순차적으로 복사가 이루어지도록 하는 것이 바람직하다.
그리고 메인 PC 그리고 복사가 끝난 제1그룹 및 제2그룹의 서브 PC가 상기 그룹정보에 기초하여, 제 3그룹 내지 제 7그룹의 서브 PC에 메인 PC의 저장데이터가 복사되도록 처리한다(단계 S183). 마찬가지로 복사 대기 중인 서브 PC들 중 상위그룹의 서브 PC부터 순차적으로 복사가 이루어지도록 하는 것이 바람직하다.
또한, 메인 PC 그리고 복사가 끝난 제1그룹, 제2그룹, 제3그룹의 서브 PC가 상기 그룹정보에 기초하여, 제 4그룹 내지 제 7그룹의 서브 PC에 메인 PC의 저장데이터가 복사되도록 처리한다(단계 S186). 마찬가지로 복사 대기 중인 서브 PC들 중 상위그룹의 서브 PC부터 순차적으로 복사가 이루어지도록 하는 것이 바람직하다.
이후, 메인 PC 그리고 복사가 끝난 제1그룹, 제2그룹, 제3그룹, 제4그룹의 서브 PC가 상기 그룹정보에 기초하여, 제 5그룹 내지 제 7그룹의 서브 PC에 메인 PC의 저장데이터가 복사되도록 처리한다(단계 S189). 마찬가지로 복사 대기 중인 서브 PC들 중 상위그룹의 서브 PC부터 순차적으로 복사가 이루어지도록 하는 것이 바람직하다.
그리고 메인 PC 그리고 복사가 끝난 제1그룹, 제2그룹, 제3그룹, 제4그룹, 제5그룹의 서브 PC가 상기 그룹정보에 기초하여, 제 6그룹 또는 제 7그룹의 서브 PC에 메인 PC의 저장데이터가 복사되도록 처리한다(단계 S192). 상위그룹의 서브 PC부터 순차적으로 복사가 이루어지도록 하는 것이 바람직하다.
마지막으로 그리고 메인 PC 그리고 복사가 끝난 제1그룹, 제2그룹, 제3그룹, 제4그룹, 제5그룹, 제6그룹의 서브 PC가 상기 그룹정보에 기초하여, 제 7그룹의 서 브 PC에 메인 PC의 저장데이터가 복사되도록 처리한다(단계 S195).
상술한 방식에 의하여 네트워크 상에 데이터 복사를 실행하는 경우, 낭비되는 시간이나 소실되는 데이터를 최소화할 수 있는 장점이 있다.
[표 1]에는 저장데이터 복사시, 본원발명과 기존의 제품(고스트, 리본캅 Max)과의 기능 비교표가 도시되어 있다. [표 1]은 복사속도는 P4이고, 50대의 실습실의 200G하드 중 10G 실사용 기준의 데이터 전송을 일 예로 든것이다.
본원발명 고스트 리본캅 Max
Base OS Linux Windows/Dos Windows/Dos
솔루션 구성 S/W S/W H/W
MBR 디스크 복사 지원 미지원 미지원
복사속도 8분 20분 1시간 30분
환경설정방식 간단(거의 없음) 환경설정시간필요 HW장착필요
SPEED TEST 지원 미지원 미지원
복사실패비율 매우 낮음 보통 높음
[표 1]에 나타난 바와 같이, 본원 발명은 메인 PC와 하나 이상의 서버 PC간 접속방식이 리눅스 코어를 사용하기 때문에 모든 형식의 랜카드를 별도의 설정 없이도 지원이 가능하며, 타사의 유사제품군(고스트, 리본캅 Max)와 비교하였을 경우, 낭비되는 시간이 적고 소실되는 데이터를 최소화 할 수 있는 장점이 있다.
본 발명의 권리는 위에서 설명된 실시예에 한정되지 않고 청구범위에 기재된바에 의해 정의되며, 본 발명의 분야에서 통상의 지식을 가진 자가 청구범위에 기재된 권리범위 내에서 다양한 변형과 개작을 할 수 있다는 것은 자명하다.
도 1은 본 발명의 바람직한 실시예에 의한 리눅스를 기반으로 하는 네트워크 하드 디스크 복사 시스템의 내부구성을 도시한 블럭도.
도 2는 본 발명의 바람직한 실시예에 의한 리눅스를 기반으로 하는 네트워크 하드 디스크 복사 시스템의 동작과정을 도시한 순서도.
도 3은 도 2의 S180의 상세 동작과정을 도시한 순서도.
* 도면의 주요 부분에 대한 부호의 설명 *
100 : 메인 PC 200 : 서브 PC

Claims (14)

  1. 메인 PC에 저장된 데이터를 하나 이상의 서브 PC들에 백업하는 시스템에 있어서,
    하나 이상의 서브 PC; 및
    체크 패리티를 생성하여 모든 서브 PC에 전달하고, 서브 PC들로부터 체크 패리티에 대한 응답메세지를 전송받으며, 상기 응답메세지가 도착하는 시간을 체크하여 기준시간 내에 응답메세지를 전송한 서브 PC들을 제1그룹으로 판단하고, 제1그룹의 서브 PC에 메인 PC의 저장 데이터를 복사하는 메인 PC;를 포함하고,
    상기 메인 PC의 저장 데이터가 복사된 제1그룹의 서브 PC는, 상기 응답메세지를 기준시간 내에 전송하지 못한 서브 PC에 메인 PC의 저장 데이터를 복사함을 특징으로 하고,
    상기 응답메세지를 기준 시간 내에 전송하지 못한 서브 PC들은 응답메세지의 도착시간에 따라 둘 이상의 그룹으로 분리되고, 상기 응답메세지의 도착시간이 빠를수록 상위 그룹으로 분리되며, 그 분리된 그룹정보는 각각의 서브 PC에 전송되는 것을 특징으로 하고,
    상기 메인 PC가 제1그룹의 서브 PC들에 메인 PC의 저장데이터를 복사하고, 상기 메인 PC와 상기 저장데이터의 복사가 끝난 서브 PC들은 자신보다 하위그룹의 서브 PC에 메인 PC의 저장데이터를 복사하되 복사 대기 중인 서브 PC들 중 상위그룹의 서브 PC부터 순차적으로 복사하는 것을 특징으로 하고,
    상기 메인 PC는,
    상기 응답메세지를 기준시간 내에 전송한 서브 PC들을 제1그룹의 서브 PC로 판단하고,
    상기 응답메세지를 제2설정시간 내에 전송한 서브 PC들을 제2그룹의 서브 PC로 판단하며,
    상기 응답메세지를 제3설정시간 내에 전송한 서브 PC들을 제3그룹의 서브 PC로 판단하고,
    상기 응답메세지를 제4설정시간 내에 전송한 서브 PC들을 제4그룹의 서브 PC로 판단하며,
    상기 응답메세지를 제5설정시간 내에 전송한 서브 PC들을 제5그룹의 서브 PC로 판단하고,
    상기 응답메세지를 제6설정시간 내에 전송한 서브 PC들을 제6그룹의 서브 PC로 판단하며,
    상기 응답메세지를 제7설정시간 내에 전송한 서브 PC들을 제7그룹의 서브 PC로 판단하는 것을 특징으로 하고,
    상기 기준시간은 제2설정시간보다 작은 값이고,
    상기 제2설정시간은 제3설정시간보다 작은 값이며,
    상기 제3설정시간은 제4설정시간보다 작은 값이고,
    상기 제4설정시간은 제5설정시간보다 작은 값이며,
    상기 제5설정시간은 제6설정시간보다 작은 값이고,
    상기 제6설정시간은 제7설정시간보다 작은 값임을 특징으로 하고,
    상기 체크 패리티는,
    응답메세지의 정상반환 또는 비정상반환 여부가 기록되기 위한 플래그 비트;
    각 서브 PC의 식별정보가 기록되는 패리티 비트; 및
    테스트용 저장 데이터가 기록되는 저장 비트;를 포함하고,
    상기 체크 패리티를 수신한 서브 PC가 보내는 상기 응답 메세지는, 수신된 체크 패리티의 플래그 비트에, 비정상반환인 경우 0이 기록되고 정상반환인 경우 1이 기록되는 것을 특징으로 하고,
    상기 메인 PC와 상기 하나 이상의 서브 PC는 리눅스(Linux)운영체제를 채택함을 특징으로 하는 리눅스를 기반으로 하는 네트워크 하드 디스크 복사 시스템.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 메인 PC에 저장된 데이터를 하나 이상의 서브 PC들에 백업하는 방법에 있어서,
    (A)메인 PC가 체크 패리티를 생성하여 서브 PC에 전송하는 단계;
    (B)메인 PC가 서브 PC로부터 상기 체크 패리티에 대한 응답메세지를 전송받고 응답메세지의 도착시간을 체크하는 단계;
    (C)상기 (B)단계의 응답메세지 도착시간을 이용하여, 기준시간 내에 응답메세지를 전송한 서브 PC를 추출하여 제1그룹으로 판단하는 단계;
    (D)메인 PC가 상기 제1그룹에 속하는 서브 PC들에게 메인 PC의 저장데이터를 복사하는 단계;
    (E) 상기 (B)단계의 응답메세지 도착시간을 이용하여, 상기 응답메세지를 기준 시간 내에 전송하지 못한 서브 PC들은 응답메세지의 도착시간에 따라 둘 이상의 그룹으로 분리하고, 상기 응답메세지의 도착시간이 빠를수록 상위 그룹으로 분리하며, 그 분리된 그룹정보는 각각의 서브 PC에 전송하는 단계; 및
    (F) 메인 PC와 상기 (D)단계에서 메인 PC 저장데이터의 복사가 끝난 서브 PC들이 자신보다 하위그룹의 서브 PC에 메인 PC의 저장데이터를 복사하되 복사 대기 중인 서브 PC들 중 상위그룹의 서브 PC부터 순차적으로 복사하는 단계;를 포함하고,
    상기 (E)단계는,
    상기 메인 PC가 응답메세지를 제2설정시간 내에 전송한 서브 PC들을 제2그룹의 서브 PC로 판단하는 단계;
    상기 메인 PC가 응답메세지를 제3설정시간 내에 전송한 서브 PC들을 제3그룹의 서브 PC로 판단하는 단계;
    상기 메인 PC가 응답메세지를 제4설정시간 내에 전송한 서브 PC들을 제4그룹의 서브 PC로 판단하는 단계;
    상기 메인 PC가 응답메세지를 제5설정시간 내에 전송한 서브 PC들을 제5그룹의 서브 PC로 판단하는 단계;
    상기 메인 PC가 응답메세지를 제6설정시간 내에 전송한 서브 PC들을 제6그룹의 서브 PC로 판단하는 단계; 및
    상기 메인 PC가 응답메세지를 제7설정시간 내에 전송한 서브 PC들을 제7그룹의 서브 PC로 판단하는 단계;를 포함하고,
    상기 기준시간은 제2설정시간보다 작은 값이고,
    상기 제2설정시간은 제3설정시간보다 작은 값이며,
    상기 제3설정시간은 제4설정시간보다 작은 값이고,
    상기 제4설정시간은 제5설정시간보다 작은 값이며,
    상기 제5설정시간은 제6설정시간보다 작은 값이고,
    상기 제6설정시간은 제7설정시간보다 작은 값임을 특징으로 하고,
    상기 체크 패리티는,
    응답메세지의 정상반환 또는 비정상반환 여부가 기록되기 위한 플래그 비트;
    각 서브 PC의 식별정보가 기록되는 패리티 비트; 및
    테스트용 저장 데이터가 기록되는 저장 비트;를 포함하고,
    상기 체크 패리티를 수신한 서브 PC가 보내는 상기 응답 메세지는, 수신된 체크 패리티의 플래그 비트에, 비정상반환인 경우 0이 기록되고 정상반환인 경우 1이 기록되는 것을 특징으로 하고,
    상기 메인 PC와 상기 하나 이상의 서브 PC는 리눅스(Linux)운영체제를 채택함을 특징으로 하는 리눅스를 기반으로 하는 네트워크 하드 디스크 복사 시스템의 복사 방법.
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
KR1020080131908A 2008-12-23 2008-12-23 리눅스를 기반으로 하는 네트워크 하드 디스크 복사 시스템및 그 방법 KR101024897B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080131908A KR101024897B1 (ko) 2008-12-23 2008-12-23 리눅스를 기반으로 하는 네트워크 하드 디스크 복사 시스템및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080131908A KR101024897B1 (ko) 2008-12-23 2008-12-23 리눅스를 기반으로 하는 네트워크 하드 디스크 복사 시스템및 그 방법

Publications (2)

Publication Number Publication Date
KR20100073278A KR20100073278A (ko) 2010-07-01
KR101024897B1 true KR101024897B1 (ko) 2011-03-31

Family

ID=42636259

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080131908A KR101024897B1 (ko) 2008-12-23 2008-12-23 리눅스를 기반으로 하는 네트워크 하드 디스크 복사 시스템및 그 방법

Country Status (1)

Country Link
KR (1) KR101024897B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020016198A (ko) * 2000-08-24 2002-03-04 강창민 네트워크로 연결된 복수의 사용자 단말장치간의 공유를통한 분산처리시스템 및 시스템의 형성방법
KR20020022933A (ko) * 2000-09-21 2002-03-28 박봉규 다수의 클라이언트를 계층구조로 접속하여 피라미드확산방식으로 데이터를 전송하는 방법 및 이를 위한 장치
KR20040088438A (ko) * 2004-09-17 2004-10-16 심영보 관리대상 컴퓨터에 대한 소프트웨어 다중배포 방법
KR20070120704A (ko) * 2006-06-20 2007-12-26 최승일 리눅스 코어를 이용한 네트워크 간 디스크 복사 프로그램넷 캐스트

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020016198A (ko) * 2000-08-24 2002-03-04 강창민 네트워크로 연결된 복수의 사용자 단말장치간의 공유를통한 분산처리시스템 및 시스템의 형성방법
KR20020022933A (ko) * 2000-09-21 2002-03-28 박봉규 다수의 클라이언트를 계층구조로 접속하여 피라미드확산방식으로 데이터를 전송하는 방법 및 이를 위한 장치
KR20040088438A (ko) * 2004-09-17 2004-10-16 심영보 관리대상 컴퓨터에 대한 소프트웨어 다중배포 방법
KR20070120704A (ko) * 2006-06-20 2007-12-26 최승일 리눅스 코어를 이용한 네트워크 간 디스크 복사 프로그램넷 캐스트

Also Published As

Publication number Publication date
KR20100073278A (ko) 2010-07-01

Similar Documents

Publication Publication Date Title
US10895996B2 (en) Data synchronization method, system, and apparatus using a work log for synchronizing data greater than a threshold value
CN1893370B (zh) 用于服务器群集恢复和维护的方法和系统
EP1543420B1 (en) Consistent message ordering for semi-active and passive replication
US7818408B1 (en) Automated virtual interface failover in a mass storage cluster
US20220245101A1 (en) Data migration method and apparatus
US8117169B2 (en) Performing scheduled backups of a backup node associated with a plurality of agent nodes
US6760859B1 (en) Fault tolerant local area network connectivity
US7373545B2 (en) Fault tolerant computer system
CN103780615B (zh) 一种在多个服务器间客户端会话数据共享方法
US7644305B2 (en) Quorum establishment based on a vote from a voting device
CN100369413C (zh) 代理响应设备及用于代理响应设备的方法
US6594776B1 (en) Mechanism to clear MAC address from Ethernet switch address table to enable network link fail-over across two network segments
US8051321B2 (en) Cluster system and node switching method
US20030149812A1 (en) Coordinating persistent status information with multiple file servers
US5210871A (en) Interprocessor communication for a fault-tolerant, mixed redundancy distributed information processing system
WO2003005194A3 (en) Method for ensuring operation during node failures and network partitions in a clustered message passing server
KR20040015223A (ko) 클러스터형 컴퓨터 시스템의 자원 작용 수행 방법,클러스터형 컴퓨터 시스템 및 그의 수행을 위한 컴퓨터프로그램
EP2224341B1 (en) Node system, server switching method, server device, and data transfer method
CN104202385A (zh) 一种分布式文件系统的数据备份及更新方法
CN107357800A (zh) 一种数据库高可用零丢失解决方法
US7003645B2 (en) Use of a storage medium as a communications network for liveness determination in a high-availability cluster
CA2167632A1 (en) Apparatus and method for efficient transfer of data and events between processes and between processes and drivers in a parallel, fault tolerant message based operating system
KR101024897B1 (ko) 리눅스를 기반으로 하는 네트워크 하드 디스크 복사 시스템및 그 방법
US5343480A (en) System for detecting loss of message
KR100925495B1 (ko) 다수의 클라이언트를 관리하는 네트워크 하드 디스크 복사 시스템

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
FPAY Annual fee payment

Payment date: 20140107

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150608

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160630

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190919

Year of fee payment: 9