KR102289192B1 - 사본 처리 방법 및 노드, 저장 시스템, 서버, 판독 가능 저장 매체 - Google Patents

사본 처리 방법 및 노드, 저장 시스템, 서버, 판독 가능 저장 매체 Download PDF

Info

Publication number
KR102289192B1
KR102289192B1 KR1020200016815A KR20200016815A KR102289192B1 KR 102289192 B1 KR102289192 B1 KR 102289192B1 KR 1020200016815 A KR1020200016815 A KR 1020200016815A KR 20200016815 A KR20200016815 A KR 20200016815A KR 102289192 B1 KR102289192 B1 KR 102289192B1
Authority
KR
South Korea
Prior art keywords
copy
node
processed
group
configuration information
Prior art date
Application number
KR1020200016815A
Other languages
English (en)
Other versions
KR20200127122A (ko
Inventor
젱리 이
펭페이 젱
신싱 왕
Original Assignee
베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. filed Critical 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디.
Publication of KR20200127122A publication Critical patent/KR20200127122A/ko
Application granted granted Critical
Publication of KR102289192B1 publication Critical patent/KR102289192B1/ko

Links

Images

Classifications

    • 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/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • 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/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1748De-duplication implemented within the file system, e.g. based on file segments
    • 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/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • 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/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • G06F16/183Provision of network file services by network file servers, e.g. by using NFS, CIFS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Hardware Redundancy (AREA)

Abstract

본 개시는 Raft 프로토콜에 따른 사본 처리 방법을 제공하는바, 이는, 각 복사 그룹에 대응되는 처리할 노드에 대하여, 당해 처리할 노드에 대응되는 소거할 사본을 결정하는 단계 - 당해 복사 그룹은 제1 노드와 적어도 하나의 제2 노드를 포함함 - ; 각 복사 그룹에 대응되는 처리할 노드에 대하여, 당해 처리할 노드에 대응되는 복사 그룹의 사본 구성 정보를 획득하는 단계 - 사본 구성 정보는 당해 복사 그룹의 제1 노드에 저장된 마스터 사본과 당해 복사 그룹의 적어도 하나의 제2 노드에 저장된 슬레이브 사본을 포함함 - ; 및 각 복사 그룹에 대응되는 처리할 노드에 대하여, 당해 처리할 노드에 대응되는 사본 구성 정보에 당해 처리할 노드에 대응되는 소거할 사본이 포함되는지 여부를 판단하여, 그렇다면 당해 처리할 노드에 대응되는 소거할 사본을 유지하고 그렇지 않다면 당해 처리할 노드에 대응되는 소거할 사본을 삭제하는 단계; 를 포함한다. 본 개시는 사본 처리 노드, 분산 저장 시스템, 서버 및 컴퓨터 판독 가능 저장 매체를 더 제공한다.

Description

사본 처리 방법 및 노드, 저장 시스템, 서버, 판독 가능 저장 매체{COPY PROCESSING METHOD AND NODE, STORAGE SYSTEM, SERVER, AND READABLE MEDIUM}
본 개시의 실시예는 통신 분야에 관한 것으로, 특히 Raft 프로토콜에 따른 사본 처리 방법 및 사본 처리 노드, 분산 저장 시스템, 서버, 컴퓨터 판독 가능 저장 매체에 관한 것이다.
정크 소거는 분산 블록 저장 시스템 설계의 중요한 내용으로서, 전통적인 정크 소거 방법은, 통상적으로, 데이터 저장 노드(BlockServer)가 메타데이터 서버(Master)에 당해 데이터 저장 노드에 어떠한 사본(Replica)이 포함되는지 여부를 질의한 후, 이러한 사본 정보에 따라 Master에는 없고 BlockServer에는 있는 사본을 소거한다. 이렇게 단순히 Master를 신임하는 구현 방법에는 일정한 문제가 존재하는바, 예를 들어 Master의 소프트웨어에는 Bug가 있기 마련이고 자기 디스크에는 고장이 나타나기도 하고 Master의 메타데이터는 파괴될 수도 있으며, 이러한 상황은 모두 Master의 사본 메타데이터에 착오가 나타나게 함으로써 Master에 저장된 사본 메타데이터가 BlockServer의 사본 정보와 일치되지 않게 할 수 있는데, 이는 BlockServer가 로컬 사본 데이터를 잘못 삭제하게 한다. 최후로 당해 데이터 저장 노드가 속하는 복사 그룹에 남은 사본 수가 전체 사본 수의 절반보다 작게되는 경우, 복사 그룹은 사용 불가능하게 되고 심지어는 데이터 소실이 초래된다.
본 개시의 실시예는 Raft 프로토콜에 따른 사본 처리 방법 및 사본 처리 노드, 분산 저장 시스템, 서버, 컴퓨터 판독 가능 저장 매체를 제공한다.
제1 측면으로, 본 개시의 실시예는 Raft 프로토콜에 따른 사본 처리 방법을 제공하는바, 당해 사본 처리 방법은,
각 복사 그룹에 대응되는 처리할 노드에 대하여, 당해 처리할 노드에 대응되는 소거할 사본을 결정하는 단계 - 당해 복사 그룹은 마스터 사본을 저장하기 위한 제1 노드와 슬레이브 사본을 저장하기 위한 적어도 하나의 제2 노드를 포함함 - ;
각 복사 그룹에 대응되는 처리할 노드에 대하여, 당해 처리할 노드에 대응되는 복사 그룹의 사본 구성 정보를 획득하는 단계 - 상기 사본 구성 정보는 당해 복사 그룹의 제1 노드에 저장된 마스터 사본과 당해 복사 그룹의 적어도 하나의 제2 노드에 저장된 슬레이브 사본을 포함함 - ; 및
각 복사 그룹에 대응되는 처리할 노드에 대하여, 당해 처리할 노드에 대응되는 사본 구성 정보에 당해 처리할 노드에 대응되는 소거할 사본이 포함되는지 여부를 판단하여, 그렇다면 당해 처리할 노드에 대응되는 소거할 사본을 유지하고 그렇지 않다면 당해 처리할 노드에 대응되는 소거할 사본을 삭제하는 단계; 를 포함한다.
일부 실시예에서, 상기 각 복사 그룹에 대응되는 처리할 노드에 대하여, 당해 처리할 노드에 대응되는 소거할 사본을 결정하는 단계는,
각 복사 그룹에 대응되는 처리할 노드에 대하여, 메타데이터 서버에 당해 처리할 노드의 제1 사본 리스트에 대한 획득 요청을 송신하는 단계;
각 복사 그룹에 대응되는 처리할 노드에 대하여, 당해 처리할 노드의 제1 사본 리스트에 대한 획득 요청에 따라 상기 메타데이터 서버에 의해 리턴 된 제1 사본 리스트를 수신하는 단계; 및
각 복사 그룹에 대응되는 처리할 노드에 대하여, 당해 처리할 노드에 저장된 제2 사본 리스트 내의 사본과 상기 제1 사본 리스트의 사본에 따라 당해 처리할 노드에 대응되는 소거할 사본을 결정하는 단계 - 당해 처리할 노드에 대응되는 소거할 사본은 상기 제2 사본 리스트에는 있으나 상기 제1 사본 리스트에는 없는 사본임 - ; 를 포함한다.
일부 실시예에서, 상기 각 복사 그룹에 대응되는 처리할 노드에 대하여, 당해 처리할 노드에 대응되는 복사 그룹의 사본 구성 정보를 획득하는 단계는,
각 복사 그룹에 대응되는 처리할 노드에 대하여, 결정된, 당해 처리할 노드에 대응되는 소거할 사본에 따라, 당해 복사 그룹의 제1 노드에 사본 구성 정보 획득 요청을 송신하여 당해 복사 그룹의 제1 노드가 상기 사본 구성 정보 획득 요청에 따라 상기 사본 구성 정보를 리턴하도록 하는 단계; 를 포함한다.
일부 실시예에서, 상기 사본 구성 정보 획득 요청은 빈(empty) 로그를 포함하고, 각 복사 그룹에 대응되는 처리할 노드에 대하여, 당해 복사 그룹의 제1 노드가 상기 사본 구성 정보 획득 요청에 따라 상기 사본 구성 정보를 리턴하는 단계는,
당해 복사 그룹의 제1 노드가 상기 빈 로그를 당해 복사 그룹의 적어도 하나의 제2 노드에 송신하는 단계; 및
당해 복사 그룹의 제1 노드에 적어도 미리 설정된 수량의 동기화 빈 로그 확인 정보가 수신되는 경우, 당해 복사 그룹의 제1 노드가 상기 사본 구성 정보를 리턴하는 단계 - 상기 미리 설정된 수량은 당해 복사 그룹의 제1 노드와 제2 노드의 전체 수량의 절반보다 크거나 같은 수량임 - ; 를 포함한다.
제2 측면으로, 본 개시의 실시예는 사본 처리 노드를 제공하는바, 상기 사본 처리 노드는
각 복사 그룹에 대응되는 처리할 노드에 대하여, 당해 처리할 노드에 대응되는 소거할 사본을 결정하는 결정 모듈 - 당해 복사 그룹은 마스터 사본을 저장하기 위한 제1 노드와 슬레이브 사본을 저장하기 위한 적어도 하나의 제2 노드를 포함함 - ;
각 복사 그룹에 대응되는 처리할 노드에 대하여, 당해 처리할 노드에 대응되는 복사 그룹의 사본 구성 정보를 획득하는 획득 모듈 - 상기 사본 구성 정보는 당해 복사 그룹의 제1 노드에 저장된 마스터 사본과 당해 복사 그룹의 적어도 하나의 제2 노드에 저장된 슬레이브 사본을 포함함 - ;
각 복사 그룹에 대응되는 처리할 노드에 대하여, 당해 처리할 노드에 대응되는 사본 구성 정보에 당해 처리할 노드에 대응되는 소거할 사본이 포함되는지 여부를 판단하는 판단 모듈; 및
각 복사 그룹에 대응되는 처리할 노드에 대하여, 당해 처리할 노드에 대응되는 사본 구성 정보에 당해 처리할 노드에 대응되는 소거할 사본이 포함된다고 판단 모듈에 의해 판단되는 경우, 당해 처리할 노드에 대응되는 소거할 사본을 유지하고; 각 복사 그룹에 대응되는 처리할 노드에 대하여, 당해 처리할 노드에 대응되는 사본 구성 정보에 당해 처리할 노드에 대응되는 소거할 사본이 포함되지 않는다고 판단 모듈에 의해 판단되는 경우, 당해 처리할 노드에 대응되는 소거할 사본을 삭제하는 소거 모듈; 을 포함한다.
일부 실시예에서, 상기 결정 모듈은 구체적으로, 각 복사 그룹에 대응되는 처리할 노드에 대하여, 메타데이터 서버에 당해 처리할 노드의 제1 사본 리스트에 대한 획득 요청을 송신하고; 각 복사 그룹에 대응되는 처리할 노드에 대하여, 당해 처리할 노드의 제1 사본 리스트에 대한 획득 요청에 따라 상기 메타데이터 서버에 의해 리턴 된 제1 사본 리스트를 수신하고; 각 복사 그룹에 대응되는 처리할 노드에 대하여, 당해 처리할 노드에 저장된 제2 사본 리스트 내의 사본과 상기 제1 사본 리스트의 사본에 따라 당해 처리할 노드에 대응되는 소거할 사본을 결정한다. 당해 처리할 노드에 대응되는 소거할 사본은 상기 제2 사본 리스트에는 있으나 상기 제1 사본 리스트에는 없는 사본이다.
일부 실시예에서, 상기 획득 모듈은 구체적으로, 각 복사 그룹에 대응되는 처리할 노드에 대하여, 결정된, 당해 처리할 노드에 대응되는 소거할 사본에 따라, 당해 복사 그룹의 제1 노드에 사본 구성 정보 획득 요청을 송신하여 당해 복사 그룹의 제1 노드가 상기 사본 구성 정보 획득 요청에 따라 상기 사본 구성 정보를 리턴하도록 한다.
일부 실시예에서, 상기 사본 구성 정보 획득 요청은 빈 로그를 포함하고, 상기 획득 모듈은 또한,
당해 복사 그룹의 제1 노드가 상기 빈 로그를 당해 복사 그룹의 적어도 하나의 제2 노드에 송신하고;
당해 복사 그룹의 제1 노드에 적어도 미리 설정된 수량의 동기화 빈 로그 확인 정보가 수신되는 경우, 당해 복사 그룹의 제1 노드가 상기 사본 구성 정보를 상기 획득 모듈에 리턴하도록 구성된다. 상기 미리 설정된 수량은 당해 복사 그룹의 제1 노드와 제2 노드의 전체 수량의 절반보다 크거나 같은 수량이다.
제3 측면으로, 본 개시의 실시예는 분산 저장 시스템을 제공하는바, 당해 분산 저장 시스템은 메타데이터 서버, 적어도 하나의 복사 그룹 및 사본 처리 노드를 포함하고, 각 상기 복사 그룹은 마스터 사본을 저장하기 위한 제1 노드와 슬레이브 사본을 저장하기 위한 적어도 하나의 제2 노드를 포함하며;
각 복사 그룹에 대응되는 처리할 노드에 대하여, 정크 소거가 트리거링된 후 상기 사본 처리 노드는,
당해 처리할 노드에 대응되는 소거할 사본을 결정하는 단계;
당해 처리할 노드에 대응되는 복사 그룹의 사본 구성 정보를 획득하는 단계 - 상기 사본 구성 정보는 당해 복사 그룹의 제1 노드에 저장된 마스터 사본과 당해 복사 그룹의 적어도 하나의 제2 노드에 저장된 슬레이브 사본을 포함함 - ; 및
당해 처리할 노드에 대응되는 사본 구성 정보에 당해 처리할 노드에 대응되는 소거할 사본이 포함되는지 여부를 판단하여, 그렇다면 당해 처리할 노드에 대응되는 소거할 사본을 유지하고 그렇지 않다면 당해 처리할 노드에 대응되는 소거할 사본을 삭제하는 단계; 를 수행한다.
일부 실시예에서, 상기 사본 처리 노드는 구체적으로, 메타데이터 서버에 당해 처리할 노드의 제1 사본 리스트에 대한 획득 요청을 송신하고; 당해 처리할 노드의 제1 사본 리스트에 대한 획득 요청에 따라 상기 메타데이터 서버에 의해 리턴 된 제1 사본 리스트를 수신하고; 및 당해 처리할 노드에 저장되는 제2 사본 리스트 내의 사본과 상기 제1 사본 리스트의 사본에 따라 당해 처리할 노드에 대응되는 소거할 사본을 결정한다. 당해 처리할 노드에 대응되는 소거할 사본은 상기 제2 사본 리스트에는 있으나 상기 제1 사본 리스트에는 없는 사본이다.
일부 실시예에서, 상기 사본 처리 노드는 구체적으로, 결정된, 당해 처리할 노드에 대응되는 소거할 사본에 따라, 당해 처리할 노드에 대응되는 복사 그룹의 제1 노드에 사본 구성 정보 획득 요청을 송신하고;
당해 처리할 노드에 대응되는 복사 그룹의 제1 노드는 상기 사본 구성 정보 획득 요청에 따라 상기 사본 구성 정보를 사본 처리 노드에 리턴한다.
일부 실시예에서, 상기 사본 구성 정보 획득 요청은 빈 로그를 포함하고, 당해 처리할 노드에 대응되는 복사 그룹의 제1 노드는 구체적으로,
상기 빈 로그를 당해 복사 그룹의 적어도 하나의 제2 노드에 송신하고;
적어도 미리 설정된 수량의 동기화 빈 로그 확인 정보가 수신되는 경우, 상기 사본 구성 정보를 상기 사본 처리 노드에 리턴한다. 상기 미리 설정된 수량은 당해 복사 그룹의 제1 노드와 제2 노드의 전체 수량의 절반보다 크거나 같은 수량이다.
일부 실시예에서, 상기 분산 저장 시스템은 분산 일관성(Raft) 프로토콜에 따른 분산 저장 시스템이다.
일부 실시예에서, 각 복사 그룹에 대응되는 처리할 노드에 대하여, 상기 사본 처리 노드는 당해 처리할 노드이다.
제4 측면으로, 본 개시의 실시예는 서버를 제공하는바, 당해 서버는
하나 또는 복수의 프로세서; 및
하나 또는 복수의 프로그램이 저장되어 있는 저장 장치; 를 포함하고,
상기 하나 또는 복수의 프로그램이 상기 하나 또는 복수의 프로세서에 의해 실행될 경우, 상기 하나 또는 복수의 프로세서가 상술한 사본 처리 방법을 구현한다.
제5 측면으로, 본 개시의 실시예는 컴퓨터 프로그램이 저장되어 있는 컴퓨터 판독 가능 저장 매체를 제공하는바, 상기 프로그램이 실행되는 경우 상술한 사본 처리 방법이 구현된다.
본 개시의 실시예에 의해 제공되는 Raft 프로토콜에 따른 사본 처리 방법 및 사본 처리 노드, 분산 저장 시스템, 서버, 컴퓨터 판독 가능 저장 매체에 따르면, 복사 그룹의 데이터 안전을 보장하면서 소거할 사본(정크)을 소거하므로 메타데이터 서버를 맹신함으로 인해 사본이 잘못 삭제되는 현상을 효과적으로 회피하고 이로써 복사 그룹이 사용 불가능하게 되는 현상과 데이터 소실 현상이 발생하는 것을 효과적으로 방지한다.
첨부 도면은 본 개시의 실시예에 대한 더 나아간 이해를 제공하기 위한 것으로, 명세서의 일부분을 구성하며 본 개시의 실시예와 더불어 본 개시를 해석하기 위한 것인바, 본 개시를 한정하지 않는다. 첨부 도면을 참조하여 상세한 예시적 실시예를 설명하는 것은, 상술한 및 기타의 특징과 이점이 당업자에게 더욱 자명해지도록 하는바, 첨부 도면에서
도1은 본 개시의 실시예에 의해 제공되는 Raft 프로토콜에 따른 사본 처리 방법의 흐름도이다.
도2는 본 개시의 실시예의 단계11의 구체적인 구현 방식의 흐름도이다.
도3은 본 개시의 실시예의 단계12의 구체적인 구현 방식의 흐름도이다.
도4는 본 개시의 실시예에 의해 제공되는 사본 처리 방법의 응용 개략도이다.
도5는 본 개시의 실시예에 의해 제공되는 사본 처리 노드의 개략적인 구조도이다.
도6은 본 개시의 실시예에 의해 제공되는 분산 저장 시스템의 개략적인 구조도이다.
도7은 본 개시의 실시예에 의해 제공되는 다른 분산 저장 시스템의 개략적인 구조도이다.
당업자한테 본 개시의 기술안을 더 잘 이해시키기 위하여, 아래, 첨부도면을 결부하여 본 개시에 의해 제공되는 Raft 프로토콜에 따른 사본 처리 방법 및 사본 처리 노드, 분산 저장 시스템, 서버, 컴퓨터 판독 가능 저장 매체에 대해 상세히 설명하고자 한다.
아래, 첨부 도면을 결부하여 예시적인 실시예에 대하여 더 충분하게 설명하고자 하는데, 상기 예시적인 실시예는 다양한 형식으로 구현 가능한바, 본 명세서에 기술되는 실시예에 한정되는 것으로 해석되어서는 안된다. 반대로, 이러한 실시예를 제공하는 목적은 본 개시를 투철하고 완전하도록 하려는 데 있고 당업자한테 본 개시의 범위를 충분히 이해시키려는 데 있다.
본 명세서에서 사용한 바와 같이, 용어 '및/또는'은 하나 또는 복수의 관련 열거 조목의 임의의 그리고 모든 조합을 포함한다.
본 명세서에서 사용되는 용어는 단지 특정된 실시예를 설명하기 위한 것으로, 본 개시를 한정하려는 것이 아니다. 본 명세서에서 사용한 바와 같이, 단수 형식인 '하나' 및 '당해'는 별도로 명확한 지적이 있지 않은 한, 복수 형식도 포함한다. 본 명세서에서 용어 '포함한다' 및/또는 '...로 제조된다'가 사용되는 경우, 이는 상기 특징, 전일체, 단계, 조작, 소자 및/또는 컴포넌트가 존재함을 가리키는 것이나, 하나 또는 복수의 기타의 특징, 전일체, 단계, 조작, 소자, 컴포넌트 및/또는 이들의 그룹이 존재하거나 추가되는 것을 배제하지 않는다는 것을 또한 이해하여야 한다.
본 명세서의 실시예는 본 개시의 이상적인 개략도를 빌어, 그리고 평면도 및/또는 단면도를 참조하여 설명한다. 따라서, 제조 기술 및/또는 마진에 따라 예시적인 도면에 대해 수정할 수 있다. 그러므로 실시예는 첨부 도면에 도시한 실시예에 한정되는 것이 아니고 제조 공정에 따라 초래되는 구성에 대한 수정을 포함한다. 때문에, 첨부 도면에 예시로서 도시한 영역은 예시적인 속성을 가지며, 도면에 도시한 영역의 형상은 소자 영역의 구체 형상을 예시로서 도시하지만 한정하려는 목적은 아니다.
별도의 한정이 있지 않은 한, 본 명세서에 사용되는 모든 용어(기술 용어 및 과학 용어를 포함함)의 함의는 당업자가 통상적으로 이해하는 함의와 동일하다. 예를 들면, 상용 사전에서 한정하는 용어는 관련 기술에서의 및 본 개시의 배경에서의 함의와 일치한 함의를 가지는 것으로 해석되어야 하고, 명세서에 명확한 한정이 있지 않은 한, 이상화된 또는 과도하게 형식적인 함의를 가지는 것으로 해석되어서는 안된다는 것을 또한 이해하여야 한다.
도1은 본 개시의 실시예에 의해 제공되는 Raft 프로토콜에 따른 사본 처리 방법의 흐름도이고, 도1에 도시한 바와 같이, 당해 사본 처리 방법은 다음과 같은 단계를 포함한다.
단계11: 각 복사 그룹에 대응되는 처리할 노드에 대하여, 사본 처리 노드가, 당해 처리할 노드에 대응되는 소거할 사본을 결정한다. 당해 복사 그룹은 마스터 사본을 저장하는 제1 노드와 슬레이브 사본을 저장하는 적어도 하나의 제2 노드를 포함한다.
분산 일관성 프로토콜, 즉 Raft 프로토콜에 따른 분산 저장 시스템에서, 분산 저장 시스템은 통상적으로 적어도 하나의 복사 그룹(Raft Replica Group)을 포함하고, 각 복사 그룹은 데이터를 저장하는 마스터 사본의 마스터 프로세스를 포함하고 데이터를 저장하는 적어도 하나의 슬레이브 사본의 슬레이브 프로세스를 더 포함하는바, 이로써 데이터를 백업한다. 마스터 프로세스는 Leader로 지칭되고 슬레이브 프로세스는 Follower로 지칭된다. 본 개시의 실시예에서는, 마스터 프로세스를 제1 노드로 지칭하고 슬레이브 프로세스를 제2 노드로 지칭한다. 본 개시의 실시예의 제1 노드, 제2 노드는 데이터 저장 노드(BlockServer)로 총칭될 수도 있다.
본 개시의 실시예에서, 각 복사 그룹 내의 각 제2 노드에 대하여, 저장 정책에 따라 당해 제2 노드가 메타데이터 서버(Master)에 의해 당해 복사 그룹으로부터 킥아웃(kick out)된 후, 당해 제2 노드는 처리할 노드로 된다.
본 개시의 실시예에서, 단계11에서, 각 복사 그룹에 대응되는 처리할 노드에 대하여, 사본 처리 노드가, 당해 처리할 노드에 대응되는 소거할 사본을 결정한다. 본 개시의 실시예에서, 각 복사 그룹에 대응되는 처리할 노드에 대하여, 사본 처리 노드는 당해 처리할 노드, 즉, 저장 정책에 따라 이미 복사 그룹으로부터 킥아웃된 제2 노드이다. 일부 실시예에서, 사본 처리 노드는 복사 그룹에 대응되는 처리할 노드 내의 소거할 사본을 처리하는 장치, 기기, 서버 또는 시스템 등일 수도 있다.
일부 실시예에서, 각 복사 그룹에 대응되는 처리할 노드에 대하여, 사본 처리 노드가 당해 처리할 노드인 경우, 정크 소거가 트리거링된 후, 각 복사 그룹에 대응되는 처리할 노드에 대하여, 단계11에서, 당해 처리할 노드(사본 처리 노드)는 우선 당해 처리할 노드(사본 처리 노드)내의 소거할 사본을 결정한 후, 후속의 단계를 수행함으로써 당해 처리할 노드(사본 처리 노드)내의 소거할 사본(Replica)을 처리한다.
일부 실시예에서, 각 복사 그룹에 대응되는 처리할 노드에 대하여, 사본 처리 노드가 복사 그룹에 대응되는 처리할 노드 내의 소거할 사본을 처리하는 장치, 기기 또는 시스템인 경우, 정크 소거가 트리거링된 후, 각 복사 그룹에 대응되는 처리할 노드에 대하여, 당해 사본 처리 노드는 우선 당해 처리할 노드 내의 소거할 사본을 결정한 후, 후속의 단계를 수행함으로써 당해 처리할 노드 내의 소거할 사본(Replica)을 처리한다.
도2는 본 개시의 실시예의 단계11의 구체적인 구현 방식의 흐름도이고, 일부 실시예에서, 도2에 도시한 바와 같이, 단계11은 단계11A 내지 단계11C를 포함한다.
단계11A: 각 복사 그룹에 대응되는 처리할 노드에 대하여, 사본 처리 노드가 메타데이터 서버에 당해 처리할 노드의 제1 사본 리스트에 대한 획득 요청을 송신한다.
분산 저장 시스템에서, 분산 저장 시스템은 메타데이터 서버(Master)를 더 포함하고, 메타데이터 서버는 당해 분산 저장 시스템의 모든 메타데이터를 저장하는바, 각 복사 그룹의 각 제1 노드의 모든 사본 메타데이터(사본 리스트)와 각 제2 노드의 모든 사본 메타데이터(사본 리스트)가 포함된다. 각 복사 그룹 내의 각 제2 노드에 대하여, 저장 정책에 따라 당해 제2 노드는 메타데이터 서버에 의해 당해 복사 그룹으로부터 킥아웃된 후 처리할 노드로 되고, 메타데이터 서버에는 여전히 당해 제2 노드(처리할 노드)의 사본 리스트(제1 사본 리스트)가 저장되어 있다.
본 개시의 실시예에서, 단계11A에서, 각 복사 그룹에 대응되는 처리할 노드에 대하여, 사본 처리 노드가 메타데이터 서버에 당해 처리할 노드의 제1 사본 리스트에 대한 획득 요청을 송신한다.
일부 실시예에서, 각 복사 그룹에 대응되는 처리할 노드에 대하여, 당해 사본 처리 노드는 당해 처리할 노드이고, 정크 소거가 트리거링된 후, 각 복사 그룹에 대응되는 처리할 노드에 대하여, 단계11A에서, 당해 처리할 노드(사본 처리 노드)가 메타데이터 서버에 본 노드 내의 제1 사본 리스트를 질의하는바, 제1 사본 리스트는 메타데이터 서버에 저장된 당해 처리할 노드(사본 처리 노드)의 사본 리스트이다.
일부 실시예에서, 각 복사 그룹에 대응되는 처리할 노드에 대하여, 당해 사본 처리 노드는 복사 그룹에 대응되는 처리할 노드 내의 소거할 사본을 처리하는 장치, 기기 또는 시스템이고, 정크 소거가 트리거링된 후, 각 복사 그룹에 대응되는 처리할 노드에 대하여, 단계11A에서, 당해 사본 처리 노드가 메타데이터 서버에 당해 처리할 노드 내의 제1 사본 리스트를 질의하는바, 제1 사본 리스트는 메타데이터 서버에 저장된 당해 처리할 노드의 사본 리스트이다.
단계11B, 각 복사 그룹에 대응되는 처리할 노드에 대하여, 사본 처리 노드가, 당해 처리할 노드의 제1 사본 리스트에 대한 획득 요청에 따라 메타데이터 서버에 의해 리턴 된 제1 사본 리스트를 수신한다.
본 개시의 실시예에서, 단계11B에서, 각 복사 그룹에 대응되는 처리할 노드에 대하여, 사본 처리 노드가, 당해 처리할 노드의 제1 사본 리스트에 대한 획득 요청에 따라 메타데이터 서버에 의해 리턴 된 제1 사본 리스트를 수신한다. 일부 실시예에서, 제1 사본 리스트는 적어도 하나의 사본을 포함하고; 일부 실시예에서, 제1 사본 리스트의 사본의 수량은 0이다. 제1 사본 리스트의 사본의 수량은 구체적으로 실제 상황에 따라 결정되는바, 본 개시의 실시예는 이에 대해 한정하지 않는다.
일부 실시예에서, 각 복사 그룹에 대응되는 처리할 노드에 대하여, 당해 사본 처리 노드는 당해 처리할 노드이고, 정크 소거가 트리거링된 후, 각 복사 그룹에 대응되는 처리할 노드에 대하여, 단계11B에서, 당해 처리할 노드(사본 처리 노드)가, 당해 처리할 노드의 제1 사본 리스트에 대한 획득 요청에 따라 메타데이터 서버에 의해 리턴 된 제1 사본 리스트를 수신한다.
일부 실시예에서, 당해 사본 처리 노드는 복사 그룹에 대응되는 처리할 노드 내의 소거할 사본을 처리하는 장치, 기기 또는 시스템이고, 정크 소거가 트리거링된 후, 각 복사 그룹에 대응되는 처리할 노드에 대하여, 단계11B에서, 당해 사본 처리 노드가, 당해 처리할 노드의 제1 사본 리스트에 대한 획득 요청에 따라 메타데이터 서버에 의해 리턴 된 제1 사본 리스트를 수신한다.
단계11C: 각 복사 그룹에 대응되는 처리할 노드에 대하여, 당해 처리할 노드에 저장된 제2 사본 리스트의 사본 및 획득된, 제1 사본 리스트의 사본에 따라, 당해 처리할 노드에 대응되는 소거할 사본을 결정한다.
본 개시의 실시예에서, 단계11C에서, 각 복사 그룹에 대응되는 처리할 노드에 대하여, 사본 처리 노드가 당해 처리할 노드에 저장된 제2 사본 리스트 내의 사본과 제1 사본 리스트의 사본에 따라, 당해 처리할 노드에 대응되는 소거할 사본을 결정한다. 여기서, 당해 처리할 노드에 대응되는 소거할 사본은 상기 제2 사본 리스트에는 있으나 상기 제1 사본 리스트에는 없는 사본이다.
일부 실시예에서, 각 복사 그룹에 대응되는 처리할 노드에 대하여, 당해 사본 처리 노드는 당해 처리할 노드이고, 정크 소거가 트리거링된 후, 각 복사 그룹에 대응되는 처리할 노드에 대하여, 단계11C에서, 당해 처리할 노드(사본 처리 노드)가 미리 저장된 제2 사본 리스트 내의 사본과 메타데이터 서버로부터 획득된 제1 사본 리스트의 사본에 따라, 당해 처리할 노드(사본 처리 노드)내의 소거할 사본을 결정한다. 다시 말해, 당해 처리할 노드(사본 처리 노드)가 자체에 저장된 제2 사본 리스트의 사본을 획득된, 메타데이터 서버에 저장되는 당해 처리할 노드(사본 처리 노드)의 제1 사본 리스트 내의 사본과 비교하여 제2 사본 리스트에는 있으나 제1 사본 리스트에는 없는 사본을 결정하고 제2 사본 리스트에는 있으나 제1 사본 리스트에는 없는 사본을 소거할 사본으로 결정한다.
일부 실시예에서, 당해 사본 처리 노드는 복사 그룹에 대응되는 처리할 노드 내의 소거할 사본을 처리하는 장치, 기기 또는 시스템이고, 정크 소거가 트리거링된 후, 각 복사 그룹에 대응되는 처리할 노드에 대하여, 단계11C에서, 당해 사본 처리 노드는, 메타데이터 서버에 저장된 당해 처리할 노드의 제1 사본 리스트를 획득한 후, 당해 처리할 노드에 저장된 제2 사본 리스트도 획득하고, 그리고나서 당해 처리할 노드에 저장된 제2 사본 리스트 내의 사본과 메타데이터 서버에 저장된 당해 처리할 노드의 제1 사본 리스트의 사본에 따라 소거할 사본을 결정한다.
예를 들어, 제1 사본 리스트가 {S2, S3, ..., Sn}이고 여기서 Sn는 사본을 표시하며 제2 사본 리스트가 {S1, S2, S3, ..., Sn}라면, 비교로 알 수 있는바, S1은 제2 사본 리스트에는 있으나 제1 사본 리스트에는 없는 사본으로, 즉 S1은 소거할 사본이다.
단계12: 각 복사 그룹에 대응되는 처리할 노드에 대하여, 사본 처리 노드가, 당해 처리할 노드에 대응되는 복사 그룹의 사본 구성 정보를 획득한다.
본 개시의 실시예에서, 단계12에서, 각 복사 그룹에 대응되는 처리할 노드에 대하여, 사본 처리 노드가, 당해 처리할 노드에 대응되는 복사 그룹의 사본 구성 정보를 획득한다. 여기서, 당해 사본 구성 정보는 당해 복사 그룹의 제1 노드에 저장된 마스터 사본과 당해 복사 그룹의 적어도 하나의 제2 노드에 저장된 슬레이브 사본을 포함한다. 설명하고자 하는 바는, 본 개시의 실시예에서, 각 복사 그룹에 대하여, 당해 복사 그룹의 제1 노드와 각 제2 노드에는 모두 당해 복사 그룹의 사본 구성 정보가 저장되어 있다.
일부 실시예에서, 각 복사 그룹에 대응되는 처리할 노드에 대하여, 당해 사본 처리 노드는 당해 처리할 노드이고, 정크 소거가 트리거링된 후, 각 복사 그룹에 대응되는 처리할 노드에 대하여, 단계12에서, 당해 처리할 노드(사본 처리 노드)가, 처리할 노드(사본 처리 노드)에 대응되는 복사 그룹의 사본 구성 정보를 획득한다.
일부 실시예에서, 당해 사본 처리 노드는 복사 그룹에 대응되는 처리할 노드 내의 소거할 사본을 처리하는 장치, 기기 또는 시스템이고, 정크 소거가 트리거링된 후, 각 복사 그룹에 대응되는 처리할 노드에 대하여, 단계12에서, 당해 사본 처리 노드가, 당해 처리할 노드에 대응되는 복사 그룹의 사본 구성 정보를 획득한다.
도3은 본 개시의 실시예의 단계12의 구체적인 구현 방식의 흐름도이고, 일부 실시예에서, 도3에 도시한 바와 같이, 단계12는 다음과 같은 단계를 포함한다.
단계12A, 각 복사 그룹에 대응되는 처리할 노드에 대하여, 사본 처리 노드가, 결정된, 당해 처리할 노드에 대응되는 소거할 사본에 따라, 당해 복사 그룹의 제1 노드에 사본 구성 정보 획득 요청을 송신한다.
단계12B, 각 복사 그룹에 대응되는 처리할 노드에 대하여, 사본 처리 노드가, 사본 구성 정보 획득 요청에 따라 당해 처리할 노드에 대응되는 복사 그룹의 제1 노드에 의해 리턴된 사본 구성 정보를 수신한다.
일부 실시예에서, 각 복사 그룹에 대응되는 처리할 노드에 대하여, 당해 사본 처리 노드는 당해 처리할 노드이고, 정크 소거가 트리거링된 후, 각 복사 그룹에 대응되는 처리할 노드에 대하여, 단계12A에서, 당해 처리할 노드(사본 처리 노드)는 결정된 소거할 사본에 따라 대응되는 복사 그룹의 제1 노드에 사본 구성 정보 획득 요청을 송신하고, 단계12B에서, 당해 처리할 노드(사본 처리 노드)가, 사본 구성 정보 획득 요청에 따라 당해 대응되는 복사 그룹의 제1 노드에 의해 리턴 된 사본 구성 정보를 수신한다.
일부 실시예에서, 당해 사본 처리 노드는 복사 그룹에 대응되는 처리할 노드 내의 소거할 사본을 처리하는 장치, 기기 또는 시스템이고, 정크 소거가 트리거링된 후, 각 복사 그룹에 대응되는 처리할 노드에 대하여, 단계12A에서, 당해 사본 처리 노드가, 결정된, 당해 처리할 노드 내의 소거할 사본에 따라, 당해 처리할 노드를 통해 당해 처리할 노드에 대응되는 복사 그룹의 제1 노드에 사본 구성 정보 획득 요청을 송신하고, 단계12B에서, 당해 사본 처리 노드가, 사본 구성 정보 획득 요청에 따라 당해 처리할 노드에 대응되는 복사 그룹의 제1 노드에 의해 리턴 된 사본 구성 정보를 수신한다.
일부 실시예에서, 사본 구성 정보 획득 요청은 빈 로그를 포함하고, 단계12B 이전에 단계12A1 내지 단계12A3가 더 포함되는바, 즉, 각 복사 그룹에 대응되는 처리할 노드에 대하여, 당해 처리할 노드에 대응되는 복사 그룹의 제1 노드가 사본 구성 정보 획득 요청에 따라 사본 구성 정보를 리턴하는 단계는 다음과 같은 단계를 포함한다.
단계12A1: 당해 복사 그룹의 제1 노드가 빈 로그를 당해 복사 그룹의 적어도 하나의 제2 노드에 송신한다.
단계12A1에서, 각 복사 그룹에 대응되는 처리할 노드에 대하여, 사본 처리 노드에 의해 송신된 사본 구성 정보 획득 요청이 당해 처리할 노드에 대응되는 복사 그룹의 제1 노드에 수신된 후, 사본 구성 정보 획득 요청중의 빈 로그를 당해 복사 그룹의 적어도 하나의 제2 노드에 동기식으로 송신하는바, 여기서, 빈 로그는 Raft 빈 로그이다.
단계12A2: 당해 복사 그룹의 제1 노드에 적어도 미리 설정된 수량의 동기화 빈 로그 확인 정보가 수신되는 경우, 당해 복사 그룹의 제1 노드가 사본 구성 정보를 사본 처리 노드에 리턴한다.
단계12A2에서, 각 복사 그룹에 대응되는 처리할 노드에 대하여, 당해 복사 그룹의 적어도 하나의 제2 노드에 빈 로그가 수신되면, 빈 로그가 수신된 각 제2 노드는 각각 당해 복사 그룹의 제1 노드에 동기화 빈 로그 확인 정보를 리턴하고, 당해 복사 그룹의 제1 노드에 제2 노드에 의해 리턴 된 적어도 미리 설정된 수량의 동기화 빈 로그 확인 정보가 수신되는 경우, 이는 대다수의 제2 노드가 당해 빈 로그를 수신하였다는 것을 설명하고 당해 복사 그룹이 정상임을 설명하므로, 당해 복사 그룹의 제1 노드는 사본 처리 노드에 당해 복사 그룹의 사본 구성 정보를 리턴할 수 있다.
각 복사 그룹에 대응되는 처리할 노드에 대하여, 당해 복사 그룹의 제1 노드에 빈 로그를 기록하면 당해 복사 그룹의 제1 노드가 빈 로그를 당해 복사 그룹 내의 각 제2 노드에 동기화하는바, 당해 복사 그룹 내의 제1 노드와 제2 노드에 제출될 수 있는 빈 로그의 수량이 미리 설정된 수량보다 크거나 같다고 판단되는 경우, 이는 당해 복사 그룹이 정상임을 설명하는 바, 즉, 빈 로그를 기록하는 방식으로 복사 그룹이 정상인지 여부를 검출한다. 따라서, 당해 복사 그룹의 제1 노드는 당해 복사 그룹 내의 대다수(적어도 미리 설정된 수량) 동기화 빈 로그 확인 정보가 수신되면 사본 구성 정보를 사본 처리 노드에 리턴한다.
단계12A2에서, 각 복사 그룹에 있어서, 상기 미리 설정된 수량은 당해 복사 그룹의 제1 노드와 제2 노드의 전체 수량의 절반보다 크거나 같은 수량인바, 상술한 '적어도 미리 설정된 수량'은 미리 설정된 수량보다 크거나 같은 수량을 가리킨다는 점은 어렵지 않게 이해할 수 있다.
설명하고자 하는 바는, 각 복사 그룹에 있어서, 당해 복사 그룹의 제1 노드에 빈 로그가 수신된 후, 당해 제1 노드는 동기화 빈 로그 확인 정보를 생성하고, 당해 복사 그룹의 각 제2 노드에 빈 로그가 수신된 후, 당해 복사 그룹의 각 제2 노드도 동기화 빈 로그 확인 정보를 생성한다. 당해 복사 그룹의 제1 노드에 적어도 미리 설정된 수량의 동기화 빈 로그 확인 정보가 수신되는 경우(당해 제1 노드가 이미 동기화 빈 로그 확인 정보를 생성한 경우, 당해 적어도 미리 설정된 수량의 동기화 빈 로그 확인 정보에는 당해 제1 노드에 의해 생성되는 동기화 빈 로그 확인 정보가 포함됨), 사본 구성 정보를 사본 처리 노드에 리턴한다.
단계13: 각 복사 그룹에 대응되는 처리할 노드에 대하여, 사본 처리 노드가, 당해 처리할 노드에 대응되는 사본 구성 정보에 당해 처리할 노드에 대응되는 소거할 사본이 포함되는지 여부를 판단하여, 그렇다면 당해 처리할 노드에 대응되는 소거할 사본을 유지하고 그렇지 않다면 당해 처리할 노드에 대응되는 소거할 사본을 삭제한다.
일부 실시예에서, 각 복사 그룹에 대응되는 처리할 노드에 대하여, 당해 사본 처리 노드는 당해 처리할 노드이고, 정크 소거가 트리거링된 후, 각 복사 그룹에 대응되는 처리할 노드에 대하여, 단계13에서, 당해 처리할 노드(사본 처리 노드)가, 당해 처리할 노드(사본 처리 노드)에 대응되는 복사 그룹의 사본 구성 정보에 당해 처리할 노드(사본 처리 노드)내의 소거할 사본이 포함되는지 여부를 판단하여, 그렇다면 당해 처리할 노드(사본 처리 노드)는 당해 처리할 노드(사본 처리 노드)내의 소거할 사본을 유지하고 그렇지 않다면 당해 처리할 노드(사본 처리 노드)내의 소거할 사본을 삭제한다.
일부 실시예에서, 당해 사본 처리 노드는 복사 그룹에 대응되는 처리할 노드 내의 소거할 사본을 처리하는 장치, 기기 또는 시스템이고, 정크 소거가 트리거링된 후, 각 복사 그룹에 대응되는 처리할 노드에 대하여, 단계13에서, 당해 사본 처리 노드가, 당해 처리할 노드에 대응되는 복사 그룹의 사본 구성 정보에 당해 처리할 노드 내의 소거할 사본이 포함되는지 여부를 판단하여, 그렇다면 당해 사본 처리 노드는 당해 처리할 노드 내의 소거할 사본을 유지하고 그렇지 않다면 당해 처리할 노드 내의 소거할 사본을 삭제한다.
도4는 본 개시의 실시예에 의해 제공되는 사본 처리 방법의 응용 개략도이고, 도4는 Raft 프로토콜에 따른 분산 저장 시스템에 하나의 복사 그룹이 포함되는 상황을 도시하는 것으로, 도4에 도시한 바와 같이, 분산 저장 시스템은 메타데이터 서버(A), 복사 그룹(B) 및 사본 처리 노드를 포함하고, 여기서, 복사 그룹(B)은 제1 노드(2), 제2 노드(1), 제2 노드(3) 및 제2 노드(4)를 포함하며, 제2 노드(1)에 위치하는 사본이 저장 정책에 따라 복사 그룹(B)으로부터 킥아웃되어 당해 제2 노드(1)가 처리할 노드(1)로 된다. 도4는 사본 처리 노드가 복사 그룹(B)에 대응되는 처리할 노드(1)인 상황을 도시하는바, 사본 처리 노드가 복사 그룹(B)에 대응되는 처리할 노드(1)인 경우를 예로 들면, 정크 소거가 트리거링된 후, 처리할 노드(1)가 우선 메타데이터 서버(A)에 메타데이터 서버(A)에 저장된 본 노드(처리할 노드(1))에 대응되는 제1 사본 리스트를 질의하고; 처리할 노드(1)는 제1 사본 리스트를 수신한 후, 자체에 저장된 제2 사본 리스트의 사본을 제1 사본 리스트 내의 사본과 비교하여, 노드(처리할 노드(1))내의 소거할 사본을 결정하고; 다음, 대응되는 복사 그룹(B)의 제1 노드(2)에 하나의 빈 로그를 기록하고; 제1 노드(2)가 빈 로그를 제2 노드(3) 및 제2 노드(4)에 동기식으로 송신하고; 제2 노드(3)가 제1 노드(2)에 동기화 빈 로그 확인 정보를 리턴하고 제2 노드(4)가 제1 노드(2)에 동기화 빈 로그 확인 정보를 리턴하며; 다음, 제1 노드(2)가 처리할 노드(1)에 복사 그룹(B)의 사본 구성 정보를 리턴하고; 처리할 노드(1)가 사본 구성 정보에 소거할 사본이 포함되는지 여부를 판단하여, 포함된다면 당해 소거할 사본을 삭제하지 않고 그렇지 않다면 당해 소거할 사본을 삭제한다.
본 개시의 실시예에 의해 제공되는 사본 처리 방법에서, 분산 저장 시스템 내의 복사 그룹에 대응되는 처리할 노드 내의 소거할 사본이 결정된 후, 소거할 사본을 바로 삭제하지 않고, 당해 처리할 노드에 대응되는 복사 그룹의 사본 구성 정보를 획득하고 당해 사본 구성 정보에 소거할 사본이 포함되는지 여부를 판단하는바, 그렇다면, 이는 당해 소거할 사본이 삭제되는 경우에 복사 그룹의 데이터 안전이 파괴된다는 것을 설명하므로 당해 처리할 노드 내의 소거할 사본을 유지하고, 그렇지 않다면, 이는 당해 처리할 노드 내의 소거할 사본이 안전하게 삭제될 수 있다는 것을 설명하므로 당해 처리할 노드 내의 소거할 사본을 삭제한다.
본 개시의 실시예에 의해 제공되는 사본 처리 방법에 따르면, 복사 그룹의 데이터 안전을 보장하면서 소거할 사본(정크)을 소거하므로 메타데이터 서버를 맹신함으로 인해 사본이 잘못 삭제되는 현상을 효과적으로 회피하고 이로써 복사 그룹이 사용 불가능하게 되는 현상과 데이터 소실 현상이 발생하는 것을 효과적으로 방지한다.
도5는 본 개시의 실시예에 의해 제공되는 사본 처리 노드의 개략적인 구조도이고, 도5에 도시한 바와 같이, 당해 사본 처리 노드는 상술한 사본 처리 방법을 구현하는 것으로, 당해 사본 처리 노드는 결정 모듈(21), 획득 모듈(22), 판단 모듈(23) 및 소거 모듈(24)을 포함한다.
결정 모듈(21)은, 각 복사 그룹에 대응되는 처리할 노드에 대하여, 당해 처리할 노드에 대응되는 소거할 사본을 결정한다. 당해 복사 그룹은 마스터 사본을 저장하는 제1 노드와 슬레이브 사본을 저장하는 적어도 하나의 제2 노드를 포함한다.
획득 모듈(22)은, 각 복사 그룹에 대응되는 처리할 노드에 대하여, 당해 처리할 노드에 대응되는 복사 그룹의 사본 구성 정보를 획득한다. 상기 사본 구성 정보는 당해 복사 그룹의 제1 노드에 저장된 마스터 사본과 당해 복사 그룹의 적어도 하나의 제2 노드에 저장된 슬레이브 사본을 포함한다.
판단 모듈(23)은, 각 복사 그룹에 대응되는 처리할 노드에 대하여, 당해 처리할 노드에 대응되는 사본 구성 정보에 당해 처리할 노드에 대응되는 소거할 사본이 포함되는지 여부를 판단한다.
소거 모듈(24)은, 각 복사 그룹에 대응되는 처리할 노드에 대하여, 당해 처리할 노드에 대응되는 사본 구성 정보에 당해 처리할 노드에 대응되는 소거할 사본이 포함된다고 판단 모듈(23)에 의해 판단되는 경우, 당해 처리할 노드에 대응되는 소거할 사본을 유지하고; 각 복사 그룹에 대응되는 처리할 노드에 대하여, 판단 모듈(23)에 의해 당해 처리할 노드에 대응되는 사본 구성 정보에 당해 처리할 노드에 대응되는 소거할 사본이 포함되지 않는다고 판단 모듈(23)에 의해 판단되는 경우, 당해 처리할 노드에 대응되는 소거할 사본을 삭제한다.
일부 실시예에서, 결정 모듈(21)은 구체적으로, 각 복사 그룹에 대응되는 처리할 노드에 대하여, 메타데이터 서버에 당해 처리할 노드의 제1 사본 리스트에 대한 획득 요청을 송신하고; 각 복사 그룹에 대응되는 처리할 노드에 대하여, 당해 처리할 노드의 제1 사본 리스트에 대한 획득 요청에 따라 상기 메타데이터 서버에 의해 리턴 된 제1 사본 리스트를 수신하고; 각 복사 그룹에 대응되는 처리할 노드에 대하여, 당해 처리할 노드에 저장된 제2 사본 리스트 내의 사본과 상기 제1 사본 리스트의 사본에 따라 당해 처리할 노드에 대응되는 소거할 사본을 결정한다. 당해 처리할 노드에 대응되는 소거할 사본은 상기 제2 사본 리스트에는 있으나 상기 제1 사본 리스트에는 없는 사본이다.
일부 실시예에서, 획득 모듈(22)은 구체적으로, 각 복사 그룹에 대응되는 처리할 노드에 대하여, 결정딘, 당해 처리할 노드에 대응되는 소거할 사본에 따라, 당해 복사 그룹의 제1 노드에 사본 구성 정보 획득 요청을 송신하여 당해 복사 그룹의 제1 노드가 상기 사본 구성 정보 획득 요청에 따라 상기 사본 구성 정보를 리턴하도록 한다.
일부 실시예에서, 사본 구성 정보 획득 요청은 빈 로그를 포함하고, 획득 모듈(22)은 또한, 당해 복사 그룹의 제1 노드가 상기 빈 로그를 당해 복사 그룹의 적어도 하나의 제2 노드에 송신하고; 당해 복사 그룹의 제1 노드에 적어도 미리 설정된 수량의 동기화 빈 로그 확인 정보가 수신되는 경우, 당해 복사 그룹의 제1 노드가 상기 획득 모듈(22)에 상기 사본 구성 정보를 리턴하도록 구성된다.
본 개시의 실시예에서, 각 복사 그룹 내의 각 제2 노드에 대하여, 저장 정책에 따라 당해 제2 노드가 당해 복사 그룹으로부터 킥아웃되어 처리할 노드로 된다.
본 개시의 실시예에서, 각 복사 그룹에 대응되는 처리할 노드에 대하여, 당해 사본 처리 노드는 당해 처리할 노드일 수 있다. 일부 실시예에서, 당해 사본 처리 노드는 복사 그룹에 대응되는 처리할 노드 내의 소거할 사본을 처리하는 장치, 기기, 서버 또는 시스템 등일 수도 있다.
또한, 본 개시의 실시예에 의해 제공되는 사본 처리 노드는 구체적으로, 상술한 사본 처리 방법을 구현하는바, 구체적으로는 상술한 사본 처리 방법에 대한 설명을 참조할 수 있으므로 이에 대한 상세한 설명은 생략하기로 한다.
도6은 본 개시의 실시예에 의해 제공되는 분산 저장 시스템의 개략적인 구조도이고, 도6에 도시한 바와 같이, 당해 분산 저장 시스템은 상술한 사본 처리 방법을 구현하는 것으로, 당해 분산 저장 시스템은 메타데이터 서버(31), 적어도 하나의 복사 그룹(32), 처리할 노드(323) 및 사본 처리 노드(33)를 포함하고, 각 복사 그룹(32)은 마스터 사본을 저장하는 제1 노드(321)와 슬레이브 사본을 저장하는 적어도 하나의 제2 노드(322)를 포함한다.
각 복사 그룹(32)에 대응되는 처리할 노드(323)에 대하여, 정크 소거가 트리거링된 후, 당해 사본 처리 노드(33)는 다음과 같은 단계41 내지 단계43을 수행한다.
단계41: 당해 처리할 노드에 대응되는 소거할 사본을 결정한다.
단계42: 당해 처리할 노드에 대응되는 복사 그룹의 사본 구성 정보를 획득한다. 상기 사본 구성 정보는 당해 복사 그룹의 제1 노드에 저장된 마스터 사본과 당해 복사 그룹의 적어도 하나의 제2 노드에 저장된 슬레이브 사본을 포함한다.
단계43, 당해 처리할 노드에 대응되는 사본 구성 정보에 당해 처리할 노드에 대응되는 소거할 사본이 포함되는지 여부를 판단하여, 그렇다면 당해 처리할 노드에 대응되는 소거할 사본을 유지하고 그렇지 않다면 당해 처리할 노드에 대응되는 소거할 사본을 삭제한다.
일부 실시예에서, 사본 처리 노드(33)는 구체적으로, 메타데이터 서버(31)에 당해 처리할 노드(323)의 제1 사본 리스트에 대한 획득 요청을 송신하고; 당해 처리할 노드의 제1 사본 리스트에 대한 획득 요청에 따라 상기 메타데이터 서버(31)에 의해 리턴 된 제1 사본 리스트를 수신하고; 당해 처리할 노드(323)에 저장된 제2 사본 리스트 내의 사본과 상기 제1 사본 리스트의 사본에 따라 당해 처리할 노드(323)에 대응되는 소거할 사본을 결정한다. 당해 처리할 노드(323)에 대응되는 소거할 사본은 상기 제2 사본 리스트에는 있으나 상기 제1 사본 리스트에는 없는 사본이다.
일부 실시예에서, 사본 처리 노드(33)는 구체적으로, 결정된, 당해 처리할 노드(323)에 대응되는 소거할 사본에 따라, 당해 처리할 노드(323)에 대응되는 복사 그룹(32)의 제1 노드(321)에 사본 구성 정보 획득 요청을 송신하고; 당해 처리할 노드(323)에 대응되는 복사 그룹(32)의 제1 노드(321)는 상기 사본 구성 정보 획득 요청에 따라 사본 처리 노드(33)에 상기 사본 구성 정보를 리턴한다.
일부 실시예에서, 사본 구성 정보 획득 요청은 빈 로그를 포함하고, 각 복사 그룹에 대응되는 처리할 노드(323)에 대하여, 당해 처리할 노드(323)에 대응되는 복사 그룹(32)의 제1 노드(321)는 구체적으로, 상기 빈 로그를 당해 복사 그룹(32)의 적어도 하나의 제2 노드(322)에 송신하고; 적어도 미리 설정된 수량의 동기화 빈 로그 확인 정보가 수신되는 경우, 상기 사본 구성 정보를 상기 사본 처리 노드(33)에 리턴한다.
본 개시의 실시예에서, 분산 저장 시스템은 분산 일관성(Raft) 프로토콜에 따른 분산 저장 시스템이다.
도7은 본 개시의 실시예에 의해 제공되는 다른 분산 저장 시스템의 개략적인 구조도이고, 일부 실시예에서, 도7에 도시한 바와 같이, 각 복사 그룹(32)에 대응되는 처리할 노드(323)에 대하여, 사본 처리 노드(33)는 당해 처리할 노드(323)이다.
설명하고자 하는 바는, 도6과 도7은 모두, 하나의 복사 그룹이고 당해 복사 그룹은 복수의 제2 노드를 포함하는 상황을 도시한다.
또한, 본 개시의 실시예에 의해 제공되는 분산 저장 시스템에서, 정크 소거가 트리거링된 후, 사본 처리 노드는 상술한 사본 처리 방법을 구현하는바, 구체적으로는 상술한 사본 처리 방법에 대한 설명을 참조할 수 있으므로 이에 대한 상세한 설명은 생략하기로 한다.
본 개시의 실시예는 서버를 더 제공하는바, 당해 서버는 하나 또는 복수의 프로세서; 및 하나 또는 복수의 프로그램이 저장되어 있는 저장 장치; 를 포함하고, 상술한 하나 또는 복수의 프로그램이 상술한 하나 또는 복수의 프로세서에 의해 실행될 경우, 상술한 하나 또는 복수의 프로세서가 상술한 사본 처리 방법을 구현한다.
본 개시의 실시예는 컴퓨터 프로그램이 저장되어 있는 컴퓨터 판독 가능 저장 매체를 더 제공하는바, 당해 컴퓨터 프로그램이 실행되는 경우, 상술한 사본 처리 방법이 구현된다.
당업자라면, 본 명세서에 개시되는 방법에서 전체 또는 일부의 단계, 시스템, 장치 중의 기능 모듈/유닛은 소프트웨어, 펌웨어, 하드웨어 및 이들의 적당한 조합으로 구현될 수 있음을 이해할 수 있다. 하드웨어의 구현 방식에서, 위의 설명에서 언급된 기능 모듈/유닛 사이의 구획은 반드시 물리적인 컴포넌트의 구획에 대응되는 것은 아닌바; 예를 들어, 하나의 물리적인 컴포넌트가 복수의 기능을 구비할 수도 있고 하나의 기능 또는 단계가 몇개의 물리적인 컴포넌트의 협동으로 수행될 수도 있다. 일부 물리적인 컴포넌트 또는 모든 물리적인 컴포넌트는 프로세서, 예를 들면 중앙 처리 장치, 디지털 신호 프로세서 또는 마이크로프로세서에 의하여 실행되는 소프트웨어로 구현될 수도 있고 하드웨어로 구현될 수도 있고 집적회로, 예를 들면 주문형 집적회로(Application Specific Integrated Circuit)로 구현될 수도 있다. 이러한 소프트웨어는 컴퓨터 판독가능 저장 매체에 분포될 수 있고, 컴퓨터 판독가능 저장 매체는 컴퓨터 저장 매체(또는 비임시성 매체)와 통신 매체(또는 임시성 매체)를 포함할 수 있다. 예를 들면, 당업자에게 공지된 용어 컴퓨터 저장 매체는, 정보(예를 들어 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터)를 저장하는 임의의 방법 또는 기술에서 구현되는 휘발성인 및 비휘발성인, 제거 가능한 및 제거 불가능한 매체를 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 기타의 메모리 기술; CD-ROM, 디지털 다기능 디스크(DVD) 또는 기타의 광디스크 저장; 자기 카트리지, 자기 테이프, 자기 디스크 저장 또는 기타의 자기 저장 장치; 또는 원하는 정보를 저장하고 컴퓨터에 의하여 액세스 가능한 임의의 다른 매체를 포함하나 이에 한정되지 않는다. 또한, 당업자에게 공지된 바로는, 통신 매체는 통상적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 예를 들어 반송파나 기타 전송 매커니즘 부류의 변조 데이터 신호 중의 기타 데이터를 포함하고, 또한, 임의의 정보 전달 매체를 포함할 수 있다.
본 명세서에는 이미 예시적인 실시예가 개시되었고 또 비록 구체적인 용어가 적용되었지만 이러한 것은 단지 일반적 설명의 함의로 사용되는 것으로, 그러하게 해석되어야 하며 한정을 위한 목적이 아니다. 일부 실시예에 있어서, 별도의 명확한 지적이 있지 않은 한, 특정 실시예에 결부되어 설명되는 특징, 특성 및/또는 요소는 단독 사용이 가능하다는 것은 당업자에게 자명한 바이다, 따라서, 당업자라면, 첨부되는 특허청구범위에 명시되는 본 개시의 범위를 벗어나지 않는 전제하에 여러 가지 형식상의 및 디테일적인 변경이 가능하다는 것을 이해할 수 있다.

Claims (16)

  1. Raft 프로토콜에 따른 사본 처리 방법에 있어서,
    결정 모듈이, 각 복사 그룹에 대응되는 처리할 노드에 대하여, 당해 처리할 노드에 대응되는 소거할 사본을 결정하는 단계;
    획득 모듈이, 각 복사 그룹에 대응되는 처리할 노드에 대하여, 당해 처리할 노드에 대응되는 복사 그룹의 사본 구성 정보를 획득하는 단계; 및
    상기 획득 모듈이, 각 복사 그룹에 대응되는 처리할 노드에 대하여, 당해 처리할 노드에 대응되는 사본 구성 정보에 당해 처리할 노드에 대응되는 소거할 사본이 포함되는지 여부를 판단하여, 그렇다면 소거 모듈이 당해 처리할 노드에 대응되는 소거할 사본을 유지하고, 그렇지 않다면 상기 소거 모듈이 당해 처리할 노드에 대응되는 소거할 사본을 삭제하는 단계; 를 포함하는,
    것을 특징으로 하는 사본 처리 방법.
  2. 제1항에 있어서,
    상기 각 복사 그룹에 대응되는 처리할 노드에 대하여, 당해 처리할 노드에 대응되는 소거할 사본을 결정하는 단계는,
    상기 결정 모듈이, 각 복사 그룹에 대응되는 처리할 노드에 대하여, 메타데이터 서버에 당해 처리할 노드의 제1 사본 리스트에 대한 획득 요청을 송신하는 단계;
    상기 결정 모듈이, 각 복사 그룹에 대응되는 처리할 노드에 대하여, 당해 처리할 노드의 제1 사본 리스트에 대한 획득 요청에 따라 상기 메타데이터 서버에 의해 리턴 된 제1 사본 리스트를 수신하는 단계; 및
    상기 결정 모듈이, 각 복사 그룹에 대응되는 처리할 노드에 대하여, 당해 처리할 노드에 저장된 제2 사본 리스트 내의 사본과 상기 제1 사본 리스트 내의 사본에 따라, 당해 처리할 노드에 대응되는 소거할 사본을 결정하는 단계; 를 포함하고,
    상기 결정 모듈이, 당해 처리할 노드에 대응되는 소거할 사본은 상기 제2 사본 리스트에는 있으나 상기 제1 사본 리스트에는 없는 사본인,
    것을 특징으로 하는 사본 처리 방법.
  3. 제1항에 있어서,
    당해 복사 그룹은 마스터 사본을 저장하기 위한 제1 노드와 슬레이브 사본을 저장하기 위한 적어도 하나의 제2 노드를 포함하고,
    상기 각 복사 그룹에 대응되는 처리할 노드에 대하여, 당해 처리할 노드에 대응되는 복사 그룹의 사본 구성 정보를 획득하는 단계는,
    상기 획득 모듈이, 각 복사 그룹에 대응되는 처리할 노드에 대하여, 결정된, 당해 처리할 노드에 대응되는 소거할 사본에 따라, 당해 복사 그룹의 제1 노드에 사본 구성 정보 획득 요청을 송신하여, 당해 복사 그룹의 제1 노드가 상기 사본 구성 정보 획득 요청에 따라 상기 사본 구성 정보를 리턴하도록 하는 단계를 포함하는,
    것을 특징으로 하는 사본 처리 방법.
  4. 제3항에 있어서,
    상기 사본 구성 정보 획득 요청은 빈 로그 정보를 포함하고,
    각 복사 그룹에 대응되는 처리할 노드에 대하여, 당해 복사 그룹의 제1 노드가 상기 사본 구성 정보 획득 요청에 따라 상기 사본 구성 정보를 리턴하는 단계는,
    당해 복사 그룹의 제1 노드가 상기 빈 로그 정보를 당해 복사 그룹의 적어도 하나의 제2 노드에 송신하는 단계; 및
    당해 복사 그룹의 제1 노드에 적어도 미리 설정된 수량의 동기화 빈 로그 정보가 수신되는 경우, 당해 복사 그룹의 제1 노드가 상기 사본 구성 정보를 리턴하는 단계; 를 포함하고,
    상기 미리 설정된 수량은 당해 복사 그룹의 제1 노드와 제2 노드의 전체 수량의 절반보다 크거나 같은 수량인,
    것을 특징으로 하는 사본 처리 방법.
  5. 사본 처리 노드에 있어서,
    각 복사 그룹에 대응되는 처리할 노드에 대하여, 당해 처리할 노드에 대응되는 소거할 사본을 결정하는 결정 모듈;
    각 복사 그룹에 대응되는 처리할 노드에 대하여, 당해 처리할 노드에 대응되는 복사 그룹의 사본 구성 정보를 획득하는 획득 모듈;
    각 복사 그룹에 대응되는 처리할 노드에 대하여, 당해 처리할 노드에 대응되는 사본 구성 정보에 당해 처리할 노드에 대응되는 소거할 사본이 포함되는지 여부를 판단하는 판단 모듈; 및
    각 복사 그룹에 대응되는 처리할 노드에 대하여, 당해 처리할 노드에 대응되는 사본 구성 정보에 당해 처리할 노드에 대응되는 소거할 사본이 포함된다고 판단 모듈에 의해 판단되는 경우, 당해 처리할 노드에 대응되는 소거할 사본을 유지하고; 각 복사 그룹에 대응되는 처리할 노드에 대하여, 당해 처리할 노드에 대응되는 사본 구성 정보에 당해 처리할 노드에 대응되는 소거할 사본이 포함되지 않는다고 판단 모듈에 의해 판단되는 경우, 당해 처리할 노드에 대응되는 소거할 사본을 삭제하는 소거 모듈; 을 포함하는,
    것을 특징으로 하는 사본 처리 노드.
  6. 제5항에 있어서,
    상기 결정 모듈은,
    각 복사 그룹에 대응되는 처리할 노드에 대하여, 메타데이터 서버에 당해 처리할 노드의 제1 사본 리스트에 대한 획득 요청을 송신하고;
    각 복사 그룹에 대응되는 처리할 노드에 대하여, 당해 처리할 노드의 제1 사본 리스트에 대한 획득 요청에 따라 상기 메타데이터 서버에 의해 리턴 된 제1 사본 리스트를 수신하고;
    각 복사 그룹에 대응되는 처리할 노드에 대하여, 당해 처리할 노드에 저장된 제2 사본 리스트 내의 사본과 상기 제1 사본 리스트 내의 사본에 따라, 당해 처리할 노드에 대응되는 소거할 사본을 결정하고,
    당해 처리할 노드에 대응되는 소거할 사본은 상기 제2 사본 리스트에는 있으나 상기 제1 사본 리스트에는 없는 사본인,
    것을 특징으로 하는 사본 처리 노드.
  7. 제5항에 있어서,
    당해 복사 그룹은 마스터 사본을 저장하기 위한 제1 노드와 슬레이브 사본을 저장하기 위한 적어도 하나의 제2 노드를 포함하고,
    상기 획득 모듈은,
    각 복사 그룹에 대응되는 처리할 노드에 대하여, 결정된, 당해 처리할 노드에 대응되는 소거할 사본에 따라, 당해 복사 그룹의 제1 노드에 사본 구성 정보 획득 요청을 송신하여, 당해 복사 그룹의 제1 노드가 상기 사본 구성 정보 획득 요청에 따라 상기 사본 구성 정보를 리턴하도록 하는,
    것을 특징으로 하는 사본 처리 노드.
  8. 제7항에 있어서,
    상기 사본 구성 정보 획득 요청은 빈 로그를 포함하고,
    상기 획득 모듈은 또한,
    당해 복사 그룹의 제1 노드가 상기 빈 로그를 당해 복사 그룹의 적어도 하나의 제2 노드에 송신하고;
    당해 복사 그룹의 제1 노드에 적어도 미리 설정된 수량의 동기화 빈 로그 확인 정보가 수신되는 경우, 당해 복사 그룹의 제1 노드가 상기 사본 구성 정보를 상기 획득 모듈에 리턴하도록 구성되고,
    상기 미리 설정된 수량은 당해 복사 그룹의 제1 노드와 제2 노드의 전체 수량의 절반보다 크거나 같은 수량인,
    것을 특징으로 하는 사본 처리 노드.
  9. 분산 저장 시스템에 있어서,
    메타데이터 서버, 적어도 하나의 복사 그룹 및 사본 처리 노드를 포함하고, 각 상기 복사 그룹은 마스터 사본을 저장하기 위한 제1 노드와 슬레이브 사본을 저장하기 위한 적어도 하나의 제2 노드를 포함하며;
    각 복사 그룹에 대응되는 처리할 노드에 대하여, 정크 소거가 트리거링된 후 상기 사본 처리 노드는,
    당해 처리할 노드에 대응되는 소거할 사본을 결정하는 단계;
    당해 처리할 노드에 대응되는 복사 그룹의 사본 구성 정보를 획득하는 단계 - 상기 사본 구성 정보는 당해 복사 그룹의 제1 노드에 저장된 마스터 사본과 당해 복사 그룹의 적어도 하나의 제2 노드에 저장된 슬레이브 사본을 포함함 - ; 및
    당해 처리할 노드에 대응되는 사본 구성 정보에 당해 처리할 노드에 대응되는 소거할 사본이 포함되는지 여부를 판단하여, 그렇다면 당해 처리할 노드에 대응되는 소거할 사본을 유지하고, 그렇지 않다면 당해 처리할 노드에 대응되는 소거할 사본을 삭제하는 단계; 를 수행하는,
    것을 특징으로 하는 분산 저장 시스템.
  10. 제9항에 있어서,
    상기 사본 처리 노드는,
    메타데이터 서버에 당해 처리할 노드의 제1 사본 리스트에 대한 획득 요청을 송신하고;
    당해 처리할 노드의 제1 사본 리스트에 대한 획득 요청에 따라 상기 메타데이터 서버에 의해 리턴 된 제1 사본 리스트를 수신하고;
    당해 처리할 노드에 저장된 제2 사본 리스트 내의 사본과 상기 제1 사본 리스트 내의 사본에 따라 당해 처리할 노드에 대응되는 소거할 사본을 결정하고,
    당해 처리할 노드에 대응되는 소거할 사본은 상기 제2 사본 리스트에는 있으나 상기 제1 사본 리스트에는 없는 사본인,
    것을 특징으로 하는 분산 저장 시스템.
  11. 제9항에 있어서,
    상기 사본 처리 노드는,
    결정된, 당해 처리할 노드에 대응되는 소거할 사본에 따라, 당해 처리할 노드에 대응되는 복사 그룹의 제1 노드에 사본 구성 정보 획득 요청을 송신하고;
    당해 처리할 노드에 대응되는 복사 그룹의 제1 노드는,
    상기 사본 구성 정보 획득 요청에 따라 상기 사본 구성 정보를 사본 처리 노드에 리턴하는,
    것을 특징으로 하는 분산 저장 시스템.
  12. 제11항에 있어서,
    상기 사본 구성 정보 획득 요청은 빈 로그 정보를 포함하고,
    당해 처리할 노드에 대응되는 복사 그룹의 제1 노드는,
    상기 빈 로그 정보를 당해 복사 그룹의 적어도 하나의 제2 노드에 송신하고;
    적어도 미리 설정된 수량의 동기화 빈 로그 정보가 수신되는 경우, 상기 사본 구성 정보를 상기 사본 처리 노드에 리턴하고,
    상기 미리 설정된 수량은 당해 복사 그룹의 제1 노드와 제2 노드의 전체 수량의 절반보다 크거나 같은 수량인,
    것을 특징으로 하는 분산 저장 시스템.
  13. 제9항 내지 제12항 중 어느 한 항에 있어서,
    상기 분산 저장 시스템은 분산 일관성(Raft) 프로토콜에 따른 분산 저장 시스템인,
    것을 특징으로 하는 분산 저장 시스템.
  14. 제9항 내지 제12항 중 어느 한 항에 있어서,
    각 복사 그룹에 대응되는 처리할 노드에 대하여, 상기 사본 처리 노드가 당해 처리할 노드인,
    것을 특징으로 하는 분산 저장 시스템.
  15. 서버에 있어서,
    하나 또는 복수의 프로세서; 및
    하나 또는 복수의 프로그램이 저장되어 있는 저장 장치; 를 포함하고,
    상기 하나 또는 복수의 프로그램이 상기 하나 또는 복수의 프로세서에 의해 실행될 경우, 상기 하나 또는 복수의 프로세서가 제1항 내지 제4항 중 어느 한 항의 사본 처리 방법을 구현하는,
    것을 특징으로 하는 서버.
  16. 컴퓨터 프로그램이 저장되어 있는 컴퓨터 판독 가능 저장 매체에 있어서,
    상기 프로그램이 실행되는 경우, 제1항 내지 제4항 중 어느 한 항의 사본 처리 방법이 구현되는,
    것을 특징으로 하는 컴퓨터 판독 가능 저장 매체.
KR1020200016815A 2019-04-30 2020-02-12 사본 처리 방법 및 노드, 저장 시스템, 서버, 판독 가능 저장 매체 KR102289192B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910363193.X 2019-04-30
CN201910363193.XA CN110096237B (zh) 2019-04-30 2019-04-30 副本处理方法及节点、存储系统、服务器、可读介质

Publications (2)

Publication Number Publication Date
KR20200127122A KR20200127122A (ko) 2020-11-10
KR102289192B1 true KR102289192B1 (ko) 2021-08-12

Family

ID=67446681

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200016815A KR102289192B1 (ko) 2019-04-30 2020-02-12 사본 처리 방법 및 노드, 저장 시스템, 서버, 판독 가능 저장 매체

Country Status (4)

Country Link
US (1) US11119688B2 (ko)
JP (1) JP6940645B2 (ko)
KR (1) KR102289192B1 (ko)
CN (1) CN110096237B (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112749178A (zh) * 2019-10-31 2021-05-04 华为技术有限公司 一种保证数据一致性的方法及相关设备
CN113656501B (zh) * 2021-08-18 2024-01-12 北京百度网讯科技有限公司 一种数据读取方法、装置、设备以及存储介质
CN113806316B (zh) * 2021-09-15 2022-06-21 星环众志科技(北京)有限公司 一种文件同步方法、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001318921A (ja) * 2000-05-10 2001-11-16 Misawa Homes Co Ltd データベースシステム及び端末装置
JP2005157165A (ja) * 2003-11-28 2005-06-16 Xing Inc コンテンツ配信システム
JP2012503260A (ja) 2008-09-22 2012-02-02 クゥアルコム・インコーポレイテッド 通信ネットワーク内のメディアコンテンツリストのバージョンを調整する方法および機器
KR101592860B1 (ko) 2015-01-23 2016-02-12 경북대학교 산학협력단 사물인터넷 기기를 이용한 분산형 데이터 저장 시스템 및 그 운영방법

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11086898B2 (en) * 2013-03-13 2021-08-10 Amazon Technologies, Inc. Token-based admission control for replicated writes
US9135164B2 (en) * 2013-03-15 2015-09-15 Virident Systems Inc. Synchronous mirroring in non-volatile memory systems
US9396202B1 (en) * 2013-12-27 2016-07-19 Google Inc. Weakly synchronized garbage collection and compaction for aggregated, replicated object stores
US10884869B2 (en) * 2015-04-16 2021-01-05 Nuodb, Inc. Backup and restore in a distributed database utilizing consistent database snapshots
US9836366B2 (en) * 2015-10-27 2017-12-05 Netapp, Inc. Third vote consensus in a cluster using shared storage devices
CN105550229B (zh) * 2015-12-07 2019-05-03 北京奇虎科技有限公司 分布式存储系统数据修复的方法和装置
US10229009B2 (en) * 2015-12-16 2019-03-12 Netapp, Inc. Optimized file system layout for distributed consensus protocol
US10180812B2 (en) * 2016-06-16 2019-01-15 Sap Se Consensus protocol enhancements for supporting flexible durability options
US10402115B2 (en) * 2016-11-29 2019-09-03 Sap, Se State machine abstraction for log-based consensus protocols
US10416905B2 (en) * 2017-02-09 2019-09-17 Hewlett Packard Enterprise Development Lp Modifying membership of replication groups via journal operations
CN108415986B (zh) * 2018-02-11 2020-10-30 杭州朗和科技有限公司 一种数据处理方法、装置、系统、介质和计算设备
CN109347655B (zh) * 2018-09-11 2022-03-01 上海天旦网络科技发展有限公司 基于网络数据的故障恢复系统和方法及存储介质
CN112889033A (zh) * 2018-10-15 2021-06-01 Netapp股份有限公司 提高具有变化的数据冗余方案的系统中的可用存储空间

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001318921A (ja) * 2000-05-10 2001-11-16 Misawa Homes Co Ltd データベースシステム及び端末装置
JP2005157165A (ja) * 2003-11-28 2005-06-16 Xing Inc コンテンツ配信システム
JP2012503260A (ja) 2008-09-22 2012-02-02 クゥアルコム・インコーポレイテッド 通信ネットワーク内のメディアコンテンツリストのバージョンを調整する方法および機器
KR101592860B1 (ko) 2015-01-23 2016-02-12 경북대학교 산학협력단 사물인터넷 기기를 이용한 분산형 데이터 저장 시스템 및 그 운영방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Abraham I 외 1인."The blockchain consensus layer and BFT".Bulletin of EATCS.2017.10.31.12;3(123).

Also Published As

Publication number Publication date
JP6940645B2 (ja) 2021-09-29
KR20200127122A (ko) 2020-11-10
CN110096237B (zh) 2022-02-08
JP2020184325A (ja) 2020-11-12
US20200348849A1 (en) 2020-11-05
CN110096237A (zh) 2019-08-06
US11119688B2 (en) 2021-09-14

Similar Documents

Publication Publication Date Title
KR102289192B1 (ko) 사본 처리 방법 및 노드, 저장 시스템, 서버, 판독 가능 저장 매체
US9645892B1 (en) Recording file events in change logs while incrementally backing up file systems
US10567542B2 (en) Method for state based snapshot difference with restart capability
US9235606B1 (en) Simplified database/log backup and restore
US8965840B2 (en) Automatic synchronization conflict resolution
US10013312B2 (en) Method and system for a safe archiving of data
US11233874B2 (en) Ordinary write in distributed system maintaining data storage integrity
US8214377B2 (en) Method, system, and program for managing groups of objects when there are different group types
CN110008041B (zh) 一种消息处理方法及装置
US20210072903A1 (en) Future write in distributed system maintaining data storage integrity
US20130282952A1 (en) Storage system, storage medium, and cache control method
JP2018049635A (ja) トランザクション処理方法および装置
US10929338B2 (en) Maintaining access control lists in non-identity-preserving replicated data repositories
WO2017087015A1 (en) Count of metadata operations
US20110137866A1 (en) Method for generating backup script
US9380109B2 (en) Resource synchronization control method, device, and system
CN108829813A (zh) 一种基于分布式存储系统的文件快照方法及系统
US8577840B2 (en) Replication of data sets
CN112905694B (zh) 数据同步方法、装置、服务器及存储介质
CN106354830B (zh) 一种数据库集群节点间数据同步的方法及装置
US10318207B1 (en) Apparatus and methods for inter-version replication checking
US9152637B1 (en) Just-in time formatting of file system metadata
US10853188B2 (en) System and method for data retention in a decentralized system
US8055629B2 (en) Transitioning an archived file to write-once-read-many
CN118535638A (zh) 一种数据处理方法、装置及计算设备

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant