KR20220054255A - 메타데이터 스냅샷 방법 및 장치 - Google Patents

메타데이터 스냅샷 방법 및 장치 Download PDF

Info

Publication number
KR20220054255A
KR20220054255A KR1020220045496A KR20220045496A KR20220054255A KR 20220054255 A KR20220054255 A KR 20220054255A KR 1020220045496 A KR1020220045496 A KR 1020220045496A KR 20220045496 A KR20220045496 A KR 20220045496A KR 20220054255 A KR20220054255 A KR 20220054255A
Authority
KR
South Korea
Prior art keywords
metadata
snapshot
binary search
search tree
time
Prior art date
Application number
KR1020220045496A
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 베이징 바이두 넷컴 사이언스 테크놀로지 컴퍼니 리미티드
Publication of KR20220054255A publication Critical patent/KR20220054255A/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/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • 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/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2308Concurrency control
    • G06F16/2315Optimistic concurrency control
    • G06F16/2329Optimistic concurrency control using versioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/235Update request formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/273Asynchronous replication or reconciliation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/80Database-specific techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 클라우드 컴퓨팅 기술 분야에 관한 것으로, 특히 클라우드 저장 기술 분야에 관한 메타데이터 스냅샷 방법 및 장치를 제공한다. 구체적인 구현 수단은, 현재 스냅샷 시각에 도달한 것에 응답하여, 이전의 스냅샷 시각에서 데이터베이스 중 이진 탐색 트리의 제1 기본 버전 번호를 기반으로, 현재 스냅샷 시각의 제2 기본 버전 번호를 생성하고; 현재 스냅샷 시각에서 다음 스냅샷 시각까지의 과정에서 데이터베이스 중의 메타데이터가 업데이트될 때마다 업데이트된 메타데이터에 기반하여 이진 탐색 트리를 업데이트하며, 매번 업데이트된 이진 탐색 트리에 대한 업데이트 버전 번호를 생성하고; 다음 스냅샷 시각에 도달한 것에 응답하여, 현재 스냅샷 시각과 다음 스냅샷 시각 사이에 생성된 모든 버전 번호에 대응되는 이진 탐색 트리에 대해 스냅샷 동작을 수행하여 스냅샷 정보를 생성하는 것이다. 본 출원은 다중 버전 동시성 제어 방식을 사용하여 데이터를 수정하는 동시에 이전 버전의 데이터에 영향을 미치지 않으면서 데이터의 정확성 및 일관성을 보장하여 스냅샷 데이터의 획득이 빠르고 효과적이도록 한다.

Description

메타데이터 스냅샷 방법 및 장치{SNAPSHOT METHOD AND DEVICE OF METADATA}
본 발명은 클라우드 컴퓨팅 기술 분야에 관한 것으로, 특히 클라우드 저장 기술 분야에 관한 것이며, 구체적으로 메타데이터 스냅샷 방법 및 장치에 관한 것이다.
관련 기술에서, 데이터베이스 메타데이터의 관리 노드에 대해 스냅샷을 수행할 경우, 일반적으로 상태 데이터를 메모리에 저장하고 직접 읽기-쓰기-잠금을 추가하여 데이터를 복사한 후 비동기식 데이터에서 지속적으로 스냅샷 파일을 생성하는 방법을 사용하였지만, 이러한 방법은 스냅샷 데이터 양이 많을 경우 쉽게 메모리 블로킹을 초래하며 메모리 데이터 복사 시간을 연장시킨다.
본 발명은 메타데이터 스냅샷 방법, 장치, 기기 및 저장 매체를 제공한다.
본 발명의 일 양태에 따르면, 현재 스냅샷 시각에 도달한 것에 응답하여, 이전의 스냅샷 시각에서 데이터베이스 중 이진 탐색 트리의 제1 기본 버전 번호를 기반으로, 상기 현재 스냅샷 시각의 제2 기본 버전 번호를 생성하고; 상기 현재 스냅샷 시각에서 다음 스냅샷 시각까지의 과정에서 상기 데이터베이스 중의 메타데이터가 업데이트될 때마다 상기 업데이트된 메타데이터에 기반하여 상기 이진 탐색 트리를 업데이트하며, 상기 제2 기본 버전 번호에 따라 매번 업데이트된 상기 이진 탐색 트리에 대한 업데이트 버전 번호를 생성하고; 상기 다음 스냅샷 시각에 도달한 것에 응답하여, 상기 현재 스냅샷 시각과 상기 다음 스냅샷 시각 사이에 생성된 모든 버전 번호에 대응되는 이진 탐색 트리에 대해 스냅샷 동작을 수행하여 상기 현재 스냅샷 시각에 대응되는 스냅샷 정보를 생성하는, 메타데이터 스냅샷 방법을 제공한다.
본 출원에서 제공된 메타데이터 스냅샷 방법은 다중 버전 동시성 제어의 이진 탐색 트리 방식을 사용하여 데이터를 수정하는 동시에 이전 버전의 데이터에 영향을 미치지 않으면서 데이터의 정확성 및 일관성을 보장할 수 있어 사용자의 인지 없이 스냅샷 데이터를 빠르고 효과적으로 획득할 수 있도록 한다.
본 발명의 다른 양태에 따르면, 현재 스냅샷 시각에 도달한 것에 응답하여, 이전의 스냅샷 시각에서 데이터베이스 중 이진 탐색 트리의 제1 기본 버전 번호를 기반으로, 상기 현재 스냅샷 시각의 제2 기본 버전 번호를 생성하는 획득 모듈; 상기 현재 스냅샷 시각에서 다음 스냅샷 시각까지의 과정에서 상기 데이터베이스 중의 메타데이터가 업데이트될 때마다 상기 업데이트된 메타데이터에 기반하여 상기 이진 탐색 트리를 업데이트하고, 상기 제2 기본 버전 번호에 따라 매번 업데이트된 상기 이진 탐색 트리에 대한 업데이트 버전 번호를 생성하는 업데이트 모듈; 및 상기 다음 스냅샷 시각에 도달한 것에 응답하여, 상기 현재 스냅샷 시각과 상기 다음 스냅샷 시각 사이에 생성된 모든 버전 번호에 대응되는 이진 탐색 트리에 대해 스냅샷 동작을 수행하여 상기 현재 스냅샷 시각에 대응되는 스냅샷 정보를 생성하는 동작 모듈; 을 포함하는 메타데이터 스냅샷 장치를 제공한다.
본 출원에서 제공된 메타데이터 스냅샷 장치는 다중 버전 동시성 제어의 이진 탐색 트리 방식을 사용하여 데이터를 수정하는 동시에 이전 버전의 데이터에 영향을 미치지 않으면서 데이터의 정확성 및 일관성을 보장할 수 있어 사용자의 인지 없이 스냅샷 데이터를 빠르고 효과적으로 획득할 수 있도록 한다.
본 발명의 다른 양태에 따르면, 적어도 하나의 프로세서; 및 상기 적어도 하나의 프로세서와 통신 연결되는 메모리; 를 포함하고, 상기 메모리에는 상기 적어도 하나의 프로세서에 의해 실행 가능한 명령이 저장되며, 상기 명령이 상기 적어도 하나의 프로세서에 의해 실행될 경우, 상기 적어도 하나의 프로세서가 상기 메타데이터 스냅샷 방법을 구현하는 전자 기기를 제공한다.
본 발명의 다른 양태에 따르면, 컴퓨터 프로그램이 저장된 비일시적 컴퓨터 판독 가능 저장 매체를 제공하되, 여기서 상기 컴퓨터 프로그램 중의 명령이 실행될 경우, 상기 메타데이터 스냅샷 방법이 구현된다.
본 발명의 다른 양태에 따르면, 컴퓨터 판독 가능 저장 매체에 저장된 컴퓨터 프로그램을 제공하되, 상기 컴퓨터 프로그램 중의 명력이 실행될 경우, 상기 메타데이터 스냅샷 방법이 구현된다.
본 부분에서 설명된 내용은 본 발명의 실시예의 핵심 또는 중요한 특징을 식별하기 위한 것이 아니며, 본 발명의 범위를 한정하려는 것도 아님을 이해해야 할 것이다. 본 출원의 다른 특징은 아래 명세서에 의해 쉽게 이해될 것이다.
도면은 본 해결수단을 더 잘 이해하기 위한 것으로, 본 발명에 대해 한정하는 것으로 구성되지 않는다.
도 1은 본 발명의 예시적인 일 실시예에 따른 메타데이터 스냅샷 방법의 모식도이다.
도 2(a)는 본 발명의 예시적인 일 실시예에 따른 현재 스냅샷 시각의 제2 기본 버전 번호가 V2인 모식도이다.
도 2(b)는 본 발명의 예시적인 일 실시예에 따른 현재 스냅샷 시각의 버전 번호가 V2-1인 모식도이다.
도 3은 본 발명의 예시적인 일 실시예에 따른 매번 업데이트된 이진 탐색 트리에 대한 업데이트 버전 번호를 생성하는 모식도이다.
도 4는 본 발명의 예시적인 일 실시예에 따른 타깃 스냅샷 정보에 따라 메타데이터를 복원하는 모식도이다.
도 5는 본 발명의 예시적인 일 실시예에 따른 업데이트된 메타데이터에 기반하여 이진 탐색 트리를 업데이트하는 모식도이다.
도 6은 본 발명의 예시적인 일 실시예에 따른 메타데이터 스냅샷 방법의 모식도이다.
도 7은 본 발명의 예시적인 일 실시예에 따른 메타데이터 스냅샷 장치의 모식도이다.
도 8은 본 발명의 예시적인 일 실시예에 따른 전자 기기의 모식도이다.
아래 도면을 결부하여 본 발명의 예시적 실시예를 설명하되, 여기에는 이해를 돕기 위한 본 발명의 실시예의 다양한 세부사항들이 포함되지만, 이들은 단지 예시적인 것으로 간주되어야 한다. 따라서, 본 기술분야의 통상의 기술자는 본 발명의 범위 및 정신을 벗어나지 않으면서 여기서 설명된 실시예에 대해 다양한 변형 및 수정을 진행할 수 있음을 이해해야 할 것이다. 마찬가지로, 명확 및 간략을 위해, 아래의 설명에서 공지 기능 및 구조에 대한 설명을 생략한다.
클라우드 컴퓨팅(cloud computing)은 분산 컴퓨팅의 일종으로, 거대한 데이터 컴퓨팅 처리 프로그램을 네트워크 "클라우드"를 통해 수많은 작은 프로그램으로 분해한 다음 복수의 서버로 구성된 시스템을 통해 이러한 작은 프로그램을 처리하고 분석하여 그 결과를 사용자에게 반환하는 것이다.
클라우드 스토리지는 온라인 스토리지(Cloud storage)의 모드로, 즉 일반적으로 전용 서버가 아닌 제3자가 호스팅하는 여러 가상 서버에 데이터를 저장하는 것이다.
도 1은 본 출원의 실시예에서 제공된 메타데이터 스냅샷 방법의 예시적인 실시형태이며, 도 1에 도시된 바와 같이, 상기 메타데이터 스냅샷 방법은 단계 S101 내지 단계 S103을 포함한다.
단계 S101에서, 현재 스냅샷 시각에 도달한 것에 응답하여, 이전의 스냅샷 시각에서 데이터베이스 중 이진 탐색 트리의 제1 기본 버전 번호를 기반으로, 현재 스냅샷 시각의 제2 기본 버전 번호를 생성한다.
본 출원의 실시예에서, 다중 버전 동시성 제어(Multi-Version Concurrency Control, MVCC)를 지원하는 이진 탐색 트리(Binary Search Tree)를 사용하여 메타데이터를 저장한다. 여기서 MVCC는 다중 버전 동시성 제어 방법으로, 일반적으로 데이터베이스 관리 시스템에서 데이터베이스에 대한 동시 액세스를 구현하고 프로그래밍 언어로 트랜잭션 메모리를 구현하는 것이다. 이진 탐색 트리는 연결 리스트 데이터 구조로 나타낼 수 있는 이진 트리로 구성되며, 여기서 각각의 노드는 일반적으로 데이터 콘텐츠와 자식 또는 부모를 지향하는 포인터 속성을 포함하는 객체이다. 자식 노드 또는 부모 노드가 존재하지 않는 경우, 이의 포인터 속성 값은 null이다.
이전의 스냅샷 시각에서 데이터베이스 중 이진 탐색 트리의 버전 번호를 제1 기본 버전 번호로 사용하고, 스냅샷 시각에 도달한 경우, 이전의 스냅샷 시각에서 데이터베이스 중 이진 탐색 트리의 제1 기본 버전 번호에 기반하여 현재 스냅샷 시각의 제2 기본 버전 번호를 생성한다. 예를 들어, 이전의 스냅샷 시각에서 데이터베이스 중 이진 탐색 트리의 제1 기본 버전 번호가 V1로 표기되면, 현재 스냅샷 시각의 제2 기본 버전 번호는 V2로 표기된다.
선택 가능하게, 스냅샷 도달 시각은 사전에 설정된 타이밍이거나 수동으로 시작된 스냅샷 시각일 수 있다.
단계 S102에서, 현재 스냅샷 시각에서 다음 스냅샷 시각까지의 과정에서 데이터베이스 중의 메타데이터가 업데이트될 때마다 업데이트된 메타데이터에 기반하여 이진 탐색 트리를 업데이트하고, 제2 기본 버전 번호에 따라 매번 업데이트된 이진 탐색 트리에 대한 업데이트 버전 번호를 생성한다.
본 출원의 실시예에서, 이진 탐색 트리의 노드는 메타데이터이다. 중간 데이터, 중계 데이터라고도 하는 메타데이터는 데이터를 설명하는 데이터이며, 주로 데이터 속성을 설명하는 정보로, 저장 위치 표시, 이력 데이터, 리소스 검색 및 파일 기록과 같은 기능을 지원하기 위한 것이다.
현재 스냅샷 시각에서 다음 스냅샷 시각까지의 시간 범위 내에서, 데이터베이스 중의 메타데이터가 업데이트되면 업데이트된 메타데이터에 기반하여 이진 탐색 트리가 업데이트된다. 선택 가능하게, 업데이트는 메타데이터 추가, 메타데이터 수정 및 메타데이터 삭제 등일 수 있다.
매번 이진 탐색 트리가 업데이트된 후, 대응되게 현재 스냅샷 시각의 제2 기본 버전 번호에 따라 이진 탐색 트리에 대응되는 버전 번호도 업데이트된다. 예를 들어, 도 2는 현재 스냅샷 시각의 제2 기본 버전 번호가 V2인 모식도이며, 도 2(a)에 도시된 바와 같이, 이진 탐색 트리는 1, 2, 3, 4, 5, 8, 총 6개의 노드가 있고, 현재 스냅샷 시각에서 다음 스냅샷 시각까지의 시간 범위 내에서, 데이터베이스 중 노드5 중의 메타데이터가 수정되면 이진 탐색 트리가 업데이트되고 수정된 노드는 노드6으로 표시되며, 업데이트 후의 이진 탐색 트리는 도 2(b)에 도시된 바와 같고 업데이트 후의 이진 탐색 트리는 V2-1로 표기되며; 현재 스냅샷 시각에서 다음 스냅샷 시각까지의 시간 범위 내에서, 데이터베이스에서 하나의 메타데이터가 수정되면 이진 탐색 트리가 업데이트되며 업데이트 후의 이진 탐색 트리는 V2-2로 표기된다.
유사하게, 현재 스냅샷 시각의 제2 기본 버전 번호가 V3이고 현재 스냅샷 시각에서 다음 스냅샷 시각까지의 시간 범위 내에서, 데이터베이스에 하나의 메타데이터가 추가되면 이진 탐색 트리는 업데이트되며, 업데이트 후의 이진 탐색 트리는 V3-1로 표기되고; 현재 스냅샷 시각에서 다음 스냅샷 시각까지의 시간 범위 내에서, 데이터베이스에서 하나의 메타데이터가 수정되면 이진 탐색 트리가 업데이트되며 업데이트 후의 이진 탐색 트리는 V3-2로 표기된다.
단계 S103에서, 다음 스냅샷 시각에 도달한 것에 응답하여, 현재 스냅샷 시각과 다음 스냅샷 시각 사이에 생성된 모든 버전 번호에 대응되는 이진 탐색 트리에 대해 스냅샷 동작을 수행하여 현재 스냅샷 시각에 대응되는 스냅샷 정보를 생성한다.
예를 들어, 현재 스냅샷 시각의 제2 기본 버전 번호가 V2이면 다음 스냅샷 시각에 대응되는 기본 버전 번호는 V3이고, 다음 스냅샷 시각에 도달하면 현재 스냅샷 시각과 다음 스냅샷 시각 사이에 생성된 모든 버전 번호에 대응되는 이진 탐색 트리에 대해 스냅샷 동작을 수행하여, 즉 V2, V2-1, V2-2...V2-N에 대해 스냅샷 동작을 수행하여 현재 스냅샷 시각에 대응되는 스냅샷 정보를 생성한다.
유사하게, 현재 스냅샷 시각의 제2 기본 버전 번호가 V3이면 이의 다음 스냅샷 시각에 대응되는 기본 버전 번호는 V4이고, 다음 스냅샷 시각에 도달하면 현재 스냅샷 시각과 다음 스냅샷 시각 사이에 생성된 모든 버전 번호에 대응되는 이진 탐색 트리에 대해 스냅샷 동작을 수행하여, 즉 V3, V3-1, V3-2...V3-N에 대해 스냅샷 동작을 수행하여 현재 스냅샷 시각에 대응되는 스냅샷 정보를 생성한다.
여기서, 스냅샷 정보에는 레플리카 그룹의 메타데이터 정보, 레플리카의 메타데이터 정보, 트랜잭션의 메타데이터 정보와 같은 많은 메타데이터 정보가 포함된다. 데이터베이스에 오류가 발생한 경우, 스냅샷 정보 내에 포함된 이러한 메타데이터 정보에 따라 해당 시점의 데이터베이스 상태를 복원할 수 있다.
본 출원의 실시예는 메타데이터 스냅샷 방법을 제공하며, 현재 스냅샷 시각에 도달한 것에 응답하여, 이전의 스냅샷 시각에서 데이터베이스 중 이진 탐색 트리의 제1 기본 버전 번호를 기반으로, 현재 스냅샷 시각의 제2 기본 버전 번호를 생성하고; 현재 스냅샷 시각에서 다음 스냅샷 시각까지의 과정에서 데이터베이스 중의 메타데이터가 업데이트될 때마다 업데이트된 메타데이터에 기반하여 이진 탐색 트리를 업데이트하며, 제2 기본 버전 번호에 따라 매번 업데이트된 이진 탐색 트리에 대한 업데이트 버전 번호를 생성하고; 다음 스냅샷 시각에 도달한 것에 응답하여, 현재 스냅샷 시각과 다음 스냅샷 시각 사이에 생성된 모든 버전 번호에 대응되는 이진 탐색 트리에 대해 스냅샷 동작을 수행하여 현재 스냅샷 시각에 대응되는 스냅샷 정보를 생성한다. 본 출원은 다중 버전 동시성 제어의 이진 탐색 트리 방식을 사용하여 데이터를 수정하는 동시에 이전 버전의 데이터에 영향을 미치지 않으면서 데이터의 정확성 및 일관성을 보장할 수 있어 사용자의 인지 없이 스냅샷 데이터를 빠르고 효과적으로 획득할 수 있도록 한다.
도 3은 본 출원의 실시예에서 제공된 메타데이터 스냅샷 방법의 예시적인 실시형태이며, 도 3에 도시된 바와 같이, 상기 실시예 기반의 기초상에서, 제2 기본 버전 번호에 따라 매번 업데이트된 이진 탐색 트리에 대한 업데이트 버전 번호를 생성하는 단계는 단계 S301 내지 단계 S302를 포함한다.
단계 S301에서, 매번 메타데이터를 업데이트한 후, 현재 스냅샷 시각과 다음 스냅샷 시각 사이의 현재 업데이트 횟수를 획득한다.
데이터베이스 중의 메타데이터가 업데이트될 때마다, 현재 스냅샷 시각과 다음 스냅샷 시각 사이의 현재 업데이트 횟수를 획득한다. 예를 들어, 현재 스냅샷 시각에서 메타데이터가 한번의 추가 이력이 있으면 이는 첫 번째 업데이트이고; 메타데이터가 또 한번의 수정 이력이 있으면 이는 두 번째 업데이트이며; 메타데이터가 또 한번의 삭제 이력이 있으면 이는 세 번째 업데이트이고 이와 같이 유추된다.
단계 S302에서, 제2 기본 버전 번호 및 현재 업데이트 횟수에 따라 업데이트 후의 이진 탐색 트리의 업데이트 버전 번호를 생성한다.
제2 기본 버전 번호 및 현재 업데이트 횟수에 따라 업데이트 후의 이진 탐색 트리의 업데이트 버전 번호를 생성한다. 예를 들어, 현재 스냅샷 시각에 대응되는 제2 기본 버전 번호가 V2이고 현재 업데이트 횟수가 세 번째 업데이트이면 업데이트 후의 이진 탐색 트리의 업데이트 버전 번호는 V2-3으로 표기될 수 있으며; 현재 업데이트 횟수가 N 번째 업데이트이면 업데이트 후의 이진 탐색 트리의 업데이트 버전 번호는 V2-N으로 표기될 수 있다.
유사하게, 현재 스냅샷 시각에 대응되는 제2 기본 버전 번호가 V3이고 현재 업데이트 횟수가 세 번째 업데이트이면 업데이트 후의 이진 탐색 트리의 업데이트 버전 번호는 V3-3으로 표기될 수 있으며; 현재 업데이트 횟수가 N 번째 업데이트이면 업데이트 후의 이진 탐색 트리의 업데이트 버전 번호는 V3-N으로 표기될 수 있다.
본 출원의 실시예는 제2 기본 버전 번호에 따라 매번 업데이트된 이진 탐색 트리에 대한 업데이트 버전 번호를 생성하여, 업데이트될 때마다 생성된 버전 번호가 순서대로 배열되도록 함으로써 후속의 스냅샷 획득 시 스냅샷 데이터를 빠르고 효과적으로 획득하는데 편이하도록 한다.
도 4는 본 출원의 실시예에서 제공된 메타데이터 스냅샷 방법의 예시적인 실시형태이며, 도 4에 도시된 바와 같이, 상기 실시예 기반의 기초상에서, 현재 스냅샷 시각의 스냅샷 정보를 생성하는 단계 이후에 단계 S401 내지 단계 S403을 더 포함한다.
단계 S401에서, 데이터베이스에 오류가 발생한 것에 응답하여 데이터베이스를 복원해야 하는 타깃 버전 번호를 획득한다.
현재 스냅샷 시각의 스냅샷 정보를 생성한 이후 데이터베이스에 오류가 발생하면 데이터베이스를 복원해야 하는 타깃 버전 번호를 획득한다. 예를 들어, 데이터베이스가 버전 번호 V2-3에서 오류가 발생하면 이를 복원해야 하는 타깃 버전 번호는 버전 번호 V2-3이다.
단계 S402에서, 타깃 버전 번호를 인덱스로 사용하여 데이터베이스의 후보 스냅샷 정보로부터 타깃 버전 번호와 매칭되는 타깃 스냅샷 정보를 인덱싱한다.
데이터베이스에서 획득한 모든 스냅샷 정보를 후보 스냅샷 정보로 사용하고 버전 번호를 인덱스로 사용하여, 데이터베이스의 후보 스냅샷 정보로부터 타깃 버전 번호와 매칭되는 후보 스냅샷 정보를 타깃 스냅샷 정보로서 인덱싱한다. 계속하여 상기 복원해야 하는 타깃 버전 번호, 즉 버전 번호 V2-3을 예로 들면, 버전 번호 V2-3을 인덱스로 사용하여 데이터베이스의 후보 스냅샷 정보로부터 타깃 버전 번호와 매칭되는 후보 스냅샷 정보, 즉 V2, V2-1, V2-2, V2-3...V2-N을 타깃 스냅샷 정보로서 인덱싱한다.
단계 S403에서, 타깃 스냅샷 정보에 따라 메타데이터를 복원한다.
상기 획득한 타깃 스냅샷 정보에 따라 타깃 버전 번호에 대응되는 메타데이터에 대한 메타데이터 복원을 수행한다.
선택 가능하게, 메모리 절약을 위해, 현재 스냅샷 시각에 대응되는 스냅샷 정보를 생성한 이후에, 현재 스냅샷 시각과 다음 스냅샷 시각 사이에 생성된 업데이트 버전 번호에 대응되는 이진 탐색 트리를 삭제하고, 생성된 스냅샷 정보만 보류할 수 있다. 예를 들어, 상기 V2, V2-1, V2-2...V2-N에 대해 스냅샷 동작을 수행하여 현재 스냅샷 시각에 대응되는 스냅샷 정보를 생성한 후 V2, V2-1, V2-2...V2-N에 대응되는 이진 탐색 트리를 삭제할 수 있다.
본 출원의 실시예는 데이터베이스에 오류가 발생할 경우 타깃 버전 번호에 따라 스냅샷 정보를 인덱싱하여 메타데이터를 복원할 수 있어 메타데이터에 대한 복원 효율을 향상시키고 메타데이터에 대한 복원 시간을 단축시킨다.
도 5는 본 출원의 실시예에서 제공된 메타데이터 스냅샷 방법의 예시적인 실시형태이며, 도 5에 도시된 바와 같이, 상기 실시예 기반의 기초상에서, 업데이트된 메타데이터에 기반하여 이진 탐색 트리를 업데이트하는 단계는 하기와 같은 단계를 포함한다.
단계 S501에서, 현재 스냅샷 시각에서 다음 스냅샷 시각까지의 과정에서 데이터베이스 중의 업데이트된 메타데이터를 획득한다.
현재 스냅샷 시각에서 다음 스냅샷 시각까지의 시간 범위 내에서, 데이터베이스 중의 메타데이터가 업데이트되면 데이터베이스 중의 업데이트된 메타데이터가 획득된다.
단계 S502에서, 메타데이터가 새로 추가된 메타데이터인 것에 응답하여, 새로 추가된 메타데이터를 하나의 노드로서 이진 탐색 트리에 업데이트한다.
메타데이터가 새로 추가되면 새로 추가된 메타데이터의 키 값에 따라 이진 탐색 트리에서 새로 추가된 메타데이터의 분기 방향을 결정하고, 분기 방향에 따라, 새로 추가된 메타데이터를 하나의 노드로서 이진 탐색 트리에 업데이트한다.
단계 S503에서, 메타데이터가 수정된 메타데이터인 것에 응답하여, 이진 탐색 트리로부터 수정된 메타데이터에 대응되는 제1 노드를 결정하고 제1 노드의 매핑 콘텐츠를 업데이트한다.
기존의 메타데이터가 수정되면 이진 탐색 트리로부터 수정된 메타데이터에 대응되는 노드를 제1 노드로서 결정하고, 수정된 메타데이터에 따라 제1 노드의 매핑 콘텐츠를 업데이트한다.
단계 S504에서, 메타데이터가 삭제된 메타데이터인 것에 응답하여, 이진 탐색 트리로부터 삭제된 메타데이터에 대응되는 제2 노드를 결정하고 이진 탐색 트리에서 제2 노드를 삭제한다.
기존의 메타데이터가 삭제되면 이진 탐색 트리로부터 삭제된 메타데이터에 대응되는 노드를 제2 노드로서 결정하고, 이진 탐색 트리에서 제2 노드를 삭제한다.
본 출원의 실시예는 메타데이터에 대한 추가, 수정, 삭제 3가지 경우를 예로 들어, 각각 이진 탐색 트리를 업데이트함으로써 이진 탐색 트리가 메타데이터의 변화를 더 잘 반영하고 보다 더 유연하며 정확할 수 있도록 한다.
도 6은 본 출원의 실시예에서 제공된 메타데이터 스냅샷 방법의 예시적인 실시형태의 전체 모식도이고, 도 6에 도시된 바와 같이, 상기 메타데이터 스냅샷 방법은 단계 S601 내지 단계 S611을 포함한다.
단계 S601에서, 현재 스냅샷 시각에 도달한 것에 응답하여, 이전의 스냅샷 시각에서 데이터베이스 중 이진 탐색 트리의 제1 기본 버전 번호를 기반으로, 현재 스냅샷 시각의 제2 기본 버전 번호를 생성한다.
단계 S602에서, 현재 스냅샷 시각에서 다음 스냅샷 시각까지의 과정에서 데이터베이스 중의 업데이트된 메타데이터를 획득한다.
단계 S603에서, 메타데이터가 새로 추가된 메타데이터인 것에 응답하여, 새로 추가된 메타데이터를 하나의 노드로서 이진 탐색 트리에 업데이트한다.
단계 S604에서, 메타데이터가 수정된 메타데이터인 것에 응답하여, 이진 탐색 트리로부터 수정된 메타데이터에 대응되는 제1 노드를 결정하고 제1 노드의 매핑 콘텐츠를 업데이트한다.
단계 S605에서, 메타데이터가 삭제된 메타데이터인 것에 응답하여, 이진 탐색 트리로부터 삭제된 메타데이터에 대응되는 제2 노드를 결정하고 이진 탐색 트리에서 제2 노드를 삭제한다.
단계 S603 내지 단계 S605에 관하여, 상기 실시예에서 이미 구체적으로 소개하였으며 여기서 더이상 반복 서술하지 않는다.
단계 S606에서, 매번 메타데이터를 업데이트한 후, 현재 스냅샷 시각과 다음 스냅샷 시각 사이의 현재 업데이트 횟수를 획득한다.
단계 S607에서, 제2 기본 버전 번호 및 현재 업데이트 횟수에 따라 업데이트 후의 이진 탐색 트리의 업데이트 버전 번호를 생성한다.
단계 S608에서, 다음 스냅샷 시각에 도달한 것에 응답하여, 현재 스냅샷 시각과 다음 스냅샷 시각 사이에 생성된 모든 버전 번호에 대응되는 이진 탐색 트리에 대해 스냅샷 동작을 수행하여 현재 스냅샷 시각에 대응되는 스냅샷 정보를 생성한다.
단계 S609에서, 데이터베이스에 오류가 발생한 것에 응답하여 데이터베이스를 복원해야 하는 타깃 버전 번호를 획득한다.
단계 S610에서, 타깃 버전 번호를 인덱스로 사용하여 데이터베이스의 후보 스냅샷 정보로부터 타깃 버전 번호와 매칭되는 타깃 스냅샷 정보를 인덱싱한다.
단계 S611에서, 타깃 스냅샷 정보에 따라 메타데이터를 복원한다.
단계 S606 내지 단계 S611에 관하여, 상기 실시예에서 이미 구체적으로 소개하였으며 여기서 더이상 반복 서술하지 않는다.
본 출원의 실시예는 메타데이터 스냅샷 방법을 제공하며, 현재 스냅샷 시각에 도달한 것에 응답하여, 이전의 스냅샷 시각에서 데이터베이스 중 이진 탐색 트리의 제1 기본 버전 번호를 기반으로, 현재 스냅샷 시각의 제2 기본 버전 번호를 생성하고; 현재 스냅샷 시각에서 다음 스냅샷 시각까지의 과정에서 데이터베이스 중의 메타데이터가 업데이트될 때마다 업데이트된 메타데이터에 기반하여 이진 탐색 트리를 업데이트하며, 제2 기본 버전 번호에 따라 매번 업데이트된 이진 탐색 트리에 대한 업데이트 버전 번호를 생성하고; 다음 스냅샷 시각에 도달한 것에 응답하여, 현재 스냅샷 시각과 다음 스냅샷 시각 사이에 생성된 모든 버전 번호에 대응되는 이진 탐색 트리에 대해 스냅샷 동작을 수행하여 현재 스냅샷 시각에 대응되는 스냅샷 정보를 생성한다. 본 출원은 다중 버전 동시성 제어의 이진 탐색 트리 방식을 사용하여 데이터를 수정하는 동시에 이전 버전의 데이터에 영향을 미치지 않으면서 데이터의 정확성 및 일관성을 보장할 수 있어 사용자의 인지 없이 스냅샷 데이터를 빠르고 효과적으로 획득할 수 있도록 한다.
도 7은 본 출원의 실시예에서 제공된 메타데이터 스냅샷 장치의 모식도이고, 도 7에 도시된 바와 같이 상기 메타데이터 스냅샷 장치(700)는 획득 모듈(701), 업데이트 모듈(702) 및 동작 모듈(703)을 포함한다.
획득 모듈(701)은 현재 스냅샷 시각에 도달한 것에 응답하여, 이전의 스냅샷 시각에서 데이터베이스 중 이진 탐색 트리의 제1 기본 버전 번호를 기반으로, 현재 스냅샷 시각의 제2 기본 버전 번호를 생성한다.
업데이트 모듈(702)은 현재 스냅샷 시각에서 다음 스냅샷 시각까지의 과정에서 데이터베이스 중의 메타데이터가 업데이트될 때마다 업데이트된 메타데이터에 기반하여 이진 탐색 트리를 업데이트하고, 제2 기본 버전 번호에 따라 매번 업데이트된 이진 탐색 트리에 대한 업데이트 버전 번호를 생성한다.
동작 모듈(703)은 다음 스냅샷 시각에 도달한 것에 응답하여, 현재 스냅샷 시각과 다음 스냅샷 시각 사이에 생성된 모든 버전 번호에 대응되는 이진 탐색 트리에 대해 스냅샷 동작을 수행하여 현재 스냅샷 시각에 대응되는 스냅샷 정보를 생성한다.
또한, 업데이트 모듈(702)은 또한, 매번 메타데이터를 업데이트한 후, 현재 스냅샷 시각과 다음 스냅샷 시각 사이의 현재 업데이트 횟수를 획득하고; 제2 기본 버전 번호 및 현재 업데이트 횟수에 따라 업데이트 후의 이진 탐색 트리의 업데이트 버전 번호를 생성한다.
또한, 동작 모듈(703)은 또한, 현재 스냅샷 시각과 다음 스냅샷 시각 사이에 생성된 업데이트 버전 번호에 대응되는 이진 탐색 트리를 삭제한다.
또한, 동작 모듈(703)은 또한, 데이터베이스에 오류가 발생한 것에 응답하여 데이터베이스를 복원해야 하는 타깃 버전 번호를 획득하고; 타깃 버전 번호를 인덱스로 사용하여 데이터베이스의 후보 스냅샷 정보로부터 타깃 버전 번호와 매칭되는 타깃 스냅샷 정보를 인덱싱하며; 타깃 스냅샷 정보에 따라 메타데이터를 복원한다.
또한, 업데이트 모듈(702)은 또한, 메타데이터가 새로 추가된 메타데이터인 것에 응답하여, 새로 추가된 메타데이터를 하나의 노드로서 이진 탐색 트리에 업데이트하고; 메타데이터가 수정된 메타데이터인 것에 응답하여, 이진 탐색 트리로부터 수정된 메타데이터에 대응되는 제1 노드를 결정하고 제1 노드의 매핑 콘텐츠를 업데이트하며; 메타데이터가 삭제된 메타데이터인 것에 응답하여, 이진 탐색 트리로부터 삭제된 메타데이터에 대응되는 제2 노드를 결정하고 이진 탐색 트리에서 제2 노드를 삭제한다.
또한, 업데이트 모듈(702)은 또한, 새로 추가된 메타데이터의 키 값에 따라 이진 탐색 트리에서 새로 추가된 메타데이터의 분기 방향을 결정하고, 분기 방향에 따라 이진 탐색 트리에 업데이트한다.
본 발명의 실시예에 따르면, 본 발명은 전자 기기, 판독 가능 저장 매체 및 컴퓨터 프로그램을 더 제공한다.
도 8은 본 발명의 실시예를 구현하기 위한 예시적 전자 기기(800)의 예시적 블록도를 도시한다. 전자 기기는 랩톱 컴퓨터, 데스크톱 컴퓨터, 워크 스테이션, 개인용 정보 단말기, 서버, 블레이드 서버, 메인프레임 컴퓨터, 및 다른 적합한 컴퓨터와 같은 다양한 형태의 디지털 컴퓨터를 나타내기 위한 것이다. 전자 기기는 개인용 디지털 처리, 셀룰러 폰, 스마트 폰, 웨어러블 기기, 및 다른 유사한 컴퓨팅 장치와 같은 다양한 형태의 모바일 장치를 나타낼 수도 있다. 본문에 표시된 부재, 이들의 연결 및 관계, 및 이들의 기능은 단지 예시적인 것으로서, 본문에서 설명되거나 및/또는 요구되는 본 발명의 구현을 한정하려는 의도가 아니다.
도 8에 도시된 바와 같이, 기기(800)는 판독 전용 메모리(ROM)(802)에 저장된 컴퓨터 프로그램 또는 저장 유닛(808)으로부터 랜덤 액세스 메모리(RAM)(803)로 로딩된 컴퓨터 프로그램에 따라, 다양하고 적절한 동작 및 처리를 수행할 수 있는 컴퓨팅 유닛(801)을 포함한다. RAM(803)에는 또한 기기(800)의 동작에 필요한 다양한 프로그램 및 데이터가 저장된다. 컴퓨팅 유닛(801), ROM(802) 및 RAM(803)은 버스(804)를 통해 서로 연결된다. 입력/출력(I/O) 인터페이스(805)도 버스(804)에 연결된다.
키보드, 마우스와 같은 입력 유닛(806); 다양한 타입의 디스플레이 장치, 스피커와 같은 출력 유닛(807); 자기 디스크, 광 디스크와 같은 저장 유닛(808); 및 네트워크 카드, 모뎀, 무선 통신 트랜시버와 같은 통신 유닛(809)을 포함하는 기기(800) 중 복수의 부재는 I/O 인터페이스(805)에 연결된다. 통신 유닛(809)은 인터넷과 같은 컴퓨터 네트워크 및/또는 다양한 통신 네트워크를 통해 다른 기기와 정보/데이터를 교환하도록 허용한다.
컴퓨팅 유닛(801)은 처리 및 컴퓨팅 기능을 갖는 다양한 일반 및/또는 전용 처리 컴포넌트일 수 있다. 컴퓨팅 유닛(801)의 일부 예시는 중앙 처리 유닛(CPU), 그래픽 처리 유닛(GPU), 다양한 전용 인공 지능(AI) 컴퓨팅 칩, 기계 학습 모델 알고리즘을 실행하는 다양한 컴퓨팅 유닛, 디지털 신호 프로세서(DSP), 및 임의의 적절한 프로세서, 컨트롤러, 마이크로 컨트롤러 등을 포함하지만 이에 한정되지 않는다. 컴퓨팅 유닛(801)은 메타데이터 스냅샷 방법과 같이 상기에서 설명된 각 방법 및 처리를 수행한다. 예를 들어, 일부 실시예에서, 상기 메타데이터 스냅샷 방법은 저장 유닛(808)과 같은 기계 판독 가능 매체에 유형적으로 포함되는 컴퓨터 소프트웨어 프로그램으로 구현될 수 있다. 일부 실시예에서, 컴퓨터 프로그램의 일부 또는 전부는 ROM(802) 및/또는 통신 유닛(809)을 통해 기기(800)에 로드되거나 및/또는 설치될 수 있다. 컴퓨터 프로그램이 RAM(803)에 로드되어 컴퓨팅 유닛(801)에 의해 실행될 경우, 상술한 메타데이터 스냅샷 방법의 하나 이상의 단계를 수행할 수 있다. 대안적으로, 다른 실시예에서, 컴퓨팅 유닛(801)은 다른 임의의 적절한 방식(예를 들어, 펌웨어에 의함)을 통해 메타데이터 스냅샷 방법을 수행하도록 구성될 수 있다.
본문에서 이상 설명된 시스템 및 기술의 다양한 실시형태는 디지털 전자 회로 시스템, 집적 회로 시스템, 필드 프로그램 가능 게이트 어레이(FPGA), 주문형 집적 회로(ASIC), 특정 용도 표준 제품(ASSP), 시스템 온 칩(SOC), 복합 프로그램 가능 논리 소자(CPLD), 컴퓨터 하드웨어, 펌웨어, 소프트웨어, 및/또는 이들의 조합에서 구현될 수 있다. 이러한 다양한 실시형태는 하나 이상의 컴퓨터 프로그램에서의 구현을 포함할 수 있고, 상기 하나 이상의 컴퓨터 프로그램은 적어도 하나의 프로그램 가능 프로세서를 포함하는 프로그램 가능 시스템에서 실행되거나 및/또는 해석될 수 있으며, 상기 프로그램 가능 프로세서는 전용 또는 범용 프로그램 가능 프로세서일 수 있고, 저장 시스템, 적어도 하나의 입력 장치, 및 적어도 하나의 출력 장치로부터 데이터 및 명령을 수신할 수 있으며, 데이터 및 명령을 상기 저장 시스템, 상기 적어도 하나의 입력 장치 및 상기 적어도 하나의 출력 장치에 전송할 수 있다.
본 발명의 방법을 실시하기 위한 프로그램 코드는 하나 이상의 프로그래밍 언어의 임의의 조합으로 작성될 수 있다. 이러한 프로그램 코드는 일반 컴퓨터, 전용 컴퓨터 또는 다른 프로그램 가능 데이터 처리 장치의 프로세서 또는 컨트롤러에 제공되어, 프로그램 코드가 프로세서 또는 컨트롤러에 의해 실행될 경우 흐름도 및/또는 블록도에 규정된 기능/동작이 구현될 수 있도록 한다. 프로그램 코드는 완전히 기계에서 실행되거나, 부분적으로 기계에서 실행되거나, 독립형 소프트웨어 패키지로서 부분적으로 기계에서 실행되거나 부분적으로 원격 기계에서 실행되거나, 또는 완전히 원격 기계 또는 서버에서 실행될 수 있다.
본 발명의 컨텍스트에서, 기계 판독 가능 매체는 명령 실행 시스템, 장치 또는 기기에 의해 사용되거나 또는 명령 실행 시스템, 장치 또는 기기와 결합하여 사용하기 위한 프로그램을 포함하거나 저장할 수 있는 유형 매체일 수 있다. 기계 판독 가능 매체는 기계 판독 가능 신호 매체 또는 기계 판독 가능 저장 매체일 수 있다. 기계 판독 가능 매체는 전자, 자기, 광학, 전자기, 적외선 또는 반도체 시스템, 장치 또는 기기, 또는 상기 내용의 임의의 적절한 조합을 포함할 수 있지만 이에 한정되지 않는다. 기계 판독 가능 저장 매체의 보다 구체적인 예시는 하나 이상의 와이어에 기반한 전기 연결, 휴대용 컴퓨터 디스크, 하드 디스크, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 소거 가능 프로그램 가능 판독 전용 메모리(EPROM) 또는 플래시 메모리, 광섬유, 휴대용 컴팩트 디스크 판독 전용 메모리(CD-ROM), 광학 저장 기기, 자기 저장 기기 또는 상술한 내용의 임의의 적절한 조합을 포함한다.
사용자와의 인터랙션을 제공하기 위해, 컴퓨터에서 여기에 설명된 시스템 및 기술을 구현할 수 있고, 상기 컴퓨터는 사용자에게 정보를 디스플레이하기 위한 디스플레이 장치(예를 들어, 음극선관(CRT) 또는 액정 표시 장치(LCD) 모니터); 및 키보드 및 포인팅 장치(예를 들어, 마우스 또는 트랙 볼)를 구비하며, 사용자는 상기 키보드 및 상기 포인팅 장치를 통해 컴퓨터에 입력을 제공한다. 다른 타입의 장치는 또한 사용자와의 인터랙션을 제공할 수 있는데, 예를 들어, 사용자에게 제공된 피드백은 임의의 형태의 센서 피드백(예를 들어, 시각적 피드백, 청각적 피드백 또는 촉각적 피드백)일 수 있고; 임의의 형태(소리 입력, 음성 입력, 또는 촉각 입력)로 사용자로부터의 입력을 수신할 수 있다.
여기서 설명된 시스템 및 기술은 백엔드 부재를 포함하는 컴퓨팅 시스템(예를 들어, 데이터 서버로 사용됨), 또는 미들웨어 부재를 포함하는 컴퓨팅 시스템(예를 들어, 애플리케이션 서버), 또는 프론트 엔드 부재를 포함하는 컴퓨팅 시스템(예를 들어, 그래픽 사용자 인터페이스 또는 네트워크 브라우저를 구비하는 사용자 컴퓨터인 바, 사용자는 상기 그래픽 사용자 인터페이스 또는 상기 네트워크 브라우저를 통해 여기서 설명된 시스템 및 기술의 실시형태와 인터랙션할 수 있음), 또는 이러한 백엔드 부재, 미들웨어 부재, 또는 프론트 엔드 부재의 임의의 조합을 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 임의의 형태 또는 매체의 디지털 데이터 통신(예를 들어, 통신 네트워크)을 통해 시스템의 부재를 서로 연결시킬 수 있다. 통신 네트워크의 예는, 근거리 통신망(LAN), 광역망(WAN), 인터넷을 포함한다.
컴퓨터 시스템은 클라이언트 및 서버를 포함할 수 있다. 클라이언트 및 서버는 일반적으로 서로 멀리 떨어져 있고, 일반적으로 통신 네트워크를 통해 서로 인터랙션한다. 대응되는 컴퓨터에서 실행되고 또한 서로 클라이언트-서버 관계를 가지는 컴퓨터 프로그램을 통해 클라이언트 및 서버의 관계를 생성한다. 서버는 클라우드 서버일 수 있고, 분산 시스템 서버일 수도 있거나 또는 블록체인과 결합된 서버일 수 있다.
위에서 설명된 다양한 형태의 프로세스를 사용하여 단계를 재배열, 추가 또는 삭제할 수 있음을 이해해야 한다. 예를 들어, 본 발명에 기재된 각 단계는 병렬로, 순차적으로, 또는 상이한 순서로 수행될 수 있으며, 본 발명에 개시된 기술적 해결수단이 이루고자 하는 결과를 구현할 수 있는 한, 본문은 여기서 한정되지 않는다.
본 발명의 기술적 해결수단에서, 관련된 사용자 개인정보의 수집, 저장, 사용, 가공, 전송, 제공 및 개시 등 처리는 모두 관련 법규의 규정에 부합되고 공서양속에 위배되지 않는다.
상기 구체적인 실시형태는 본 발명의 보호 범위를 한정하지 않는다. 본 기술분야의 통상의 기술자는, 설계 요구 및 다른 요소에 따라 다양한 수정, 조합, 서브 조합 및 대체를 진행할 수 있음을 이해해야 한다. 본 발명의 정신 및 원칙 내에서 이루어진 임의의 수정, 등가 교체 및 개선 등은 모두 본 발명의 보호 범위 내에 포함되어야 한다.

Claims (15)

  1. 메타데이터 스냅샷 방법에 있어서,
    현재 스냅샷 시각에 도달한 것에 응답하여, 이전의 스냅샷 시각에서 데이터베이스 중 이진 탐색 트리의 제1 기본 버전 번호를 기반으로, 상기 현재 스냅샷 시각의 제2 기본 버전 번호를 생성하는 단계;
    상기 현재 스냅샷 시각에서 다음 스냅샷 시각까지의 과정에서, 상기 데이터베이스 중의 메타데이터가 업데이트될 때마다 상기 업데이트된 메타데이터에 기반하여 상기 이진 탐색 트리를 업데이트하고, 상기 제2 기본 버전 번호에 따라 매번 업데이트된 상기 이진 탐색 트리에 대한 업데이트 버전 번호를 생성하는 단계; 및
    상기 다음 스냅샷 시각에 도달한 것에 응답하여, 상기 현재 스냅샷 시각과 상기 다음 스냅샷 시각 사이에 생성된 모든 버전 번호에 대응되는 이진 탐색 트리에 대해 스냅샷 동작을 수행하여 상기 현재 스냅샷 시각에 대응되는 스냅샷 정보를 생성하는 단계; 를 포함하는,
    것을 특징으로 하는 메타데이터 스냅샷 방법.
  2. 제1항에 있어서,
    상기 제2 기본 버전 번호에 따라 매번 업데이트된 상기 이진 탐색 트리에 대한 업데이트 버전 번호를 생성하는 단계는,
    매번 메타데이터를 업데이트한 후, 상기 현재 스냅샷 시각과 상기 다음 스냅샷 시각 사이의 현재 업데이트 횟수를 획득하는 단계; 및
    상기 제2 기본 버전 번호 및 상기 현재 업데이트 횟수에 따라 업데이트 후의 상기 이진 탐색 트리의 업데이트 버전 번호를 생성하는 단계; 를 포함하는,
    것을 특징으로 하는 메타데이터 스냅샷 방법.
  3. 제1항에 있어서,
    상기 현재 스냅샷 시각의 스냅샷 정보를 생성하는 단계 이후에,
    상기 현재 스냅샷 시각과 상기 다음 스냅샷 시각 사이에 생성된 상기 업데이트 버전 번호에 대응되는 이진 탐색 트리를 삭제하는 단계를 더 포함하는,
    것을 특징으로 하는 메타데이터 스냅샷 방법.
  4. 제1항에 있어서,
    상기 현재 스냅샷 시각의 스냅샷 정보를 생성하는 단계 이후에,
    상기 데이터베이스에 오류가 발생한 것에 응답하여 상기 데이터베이스를 복원해야 하는 타깃 버전 번호를 획득하는 단계;
    상기 타깃 버전 번호를 인덱스로 사용하여 상기 데이터베이스의 후보 스냅샷 정보로부터 상기 타깃 버전 번호와 매칭되는 타깃 스냅샷 정보를 인덱싱하는 단계; 및
    상기 타깃 스냅샷 정보에 따라 메타데이터를 복원하는 단계; 를 더 포함하는,
    것을 특징으로 하는 메타데이터 스냅샷 방법.
  5. 제1항에 있어서,
    상기 업데이트된 메타데이터에 기반하여 상기 이진 탐색 트리를 업데이트하는 단계는,
    상기 메타데이터가 새로 추가된 메타데이터인 것에 응답하여, 상기 새로 추가된 메타데이터를 하나의 노드로서 상기 이진 탐색 트리에 업데이트하는 단계;
    상기 메타데이터가 수정된 메타데이터인 것에 응답하여, 상기 이진 탐색 트리로부터 상기 수정된 메타데이터에 대응되는 제1 노드를 결정하고 상기 제1 노드의 매핑 콘텐츠를 업데이트하는 단계; 및
    상기 메타데이터가 삭제된 메타데이터인 것에 응답하여, 상기 이진 탐색 트리로부터 상기 삭제된 메타데이터에 대응되는 제2 노드를 결정하고 상기 이진 탐색 트리에서 상기 제2 노드를 삭제하는 단계; 를 포함하는,
    것을 특징으로 하는 메타데이터 스냅샷 방법.
  6. 제5항에 있어서,
    상기 새로 추가된 메타데이터를 하나의 노드로서 상기 이진 탐색 트리에 업데이트는 단계는,
    상기 새로 추가된 메타데이터의 키 값에 따라 상기 이진 탐색 트리에서 상기 새로 추가된 메타데이터의 분기 방향을 결정하고, 상기 분기 방향에 따라 상기 이진 탐색 트리에 업데이트하는 단계를 포함하는,
    것을 특징으로 하는 메타데이터 스냅샷 방법.
  7. 메타데이터 스냅샷 장치에 있어서,
    현재 스냅샷 시각에 도달한 것에 응답하여, 이전의 스냅샷 시각에서 데이터베이스 중 이진 탐색 트리의 제1 기본 버전 번호를 기반으로, 상기 현재 스냅샷 시각의 제2 기본 버전 번호를 생성하는 획득 모듈;
    상기 현재 스냅샷 시각에서 다음 스냅샷 시각까지의 과정에서 상기 데이터베이스 중의 메타데이터가 업데이트될 때마다 상기 업데이트된 메타데이터에 기반하여 상기 이진 탐색 트리를 업데이트하고, 상기 제2 기본 버전 번호에 따라 매번 업데이트된 상기 이진 탐색 트리에 대한 업데이트 버전 번호를 생성하는 업데이트 모듈; 및
    상기 다음 스냅샷 시각에 도달한 것에 응답하여, 상기 현재 스냅샷 시각과 상기 다음 스냅샷 시각 사이에 생성된 모든 버전 번호에 대응되는 이진 탐색 트리에 대해 스냅샷 동작을 수행하여 상기 현재 스냅샷 시각에 대응되는 스냅샷 정보를 생성하는 동작 모듈; 을 포함하는,
    것을 특징으로 하는 메타데이터 스냅샷 장치.
  8. 제7항에 있어서,
    상기 업데이트 모듈은 또한,
    매번 메타데이터를 업데이트한 후, 상기 현재 스냅샷 시각과 상기 다음 스냅샷 시각 사이의 현재 업데이트 횟수를 획득하고;
    상기 제2 기본 버전 번호 및 상기 현재 업데이트 횟수에 따라 업데이트 후의 상기 이진 탐색 트리의 업데이트 버전 번호를 생성하는,
    것을 특징으로 하는 메타데이터 스냅샷 장치.
  9. 제7항에 있어서,
    상기 동작 모듈은 또한,
    상기 현재 스냅샷 시각과 상기 다음 스냅샷 시각 사이에 생성된 상기 업데이트 버전 번호에 대응되는 이진 탐색 트리를 삭제하는,
    것을 특징으로 하는 메타데이터 스냅샷 장치.
  10. 제7항 내지 제9항 중 어느 한 항에 있어서,
    상기 동작 모듈은 또한,
    상기 데이터베이스에 오류가 발생한 것에 응답하여 상기 데이터베이스를 복원해야 하는 타깃 버전 번호를 획득하고;
    상기 타깃 버전 번호를 인덱스로 사용하여 상기 데이터베이스의 후보 스냅샷 정보로부터 상기 타깃 버전 번호와 매칭되는 타깃 스냅샷 정보를 인덱싱하며;
    상기 타깃 스냅샷 정보에 따라 메타데이터를 복원하는,
    것을 특징으로 하는 메타데이터 스냅샷 장치.
  11. 제7항 내지 제9항 중 어느 한 항에 있어서,
    상기 업데이트 모듈은 또한,
    상기 메타데이터가 새로 추가된 메타데이터인 것에 응답하여, 상기 새로 추가된 메타데이터를 하나의 노드로서 상기 이진 탐색 트리에 업데이트하고;
    상기 메타데이터가 수정된 메타데이터인 것에 응답하여, 상기 이진 탐색 트리로부터 상기 수정된 메타데이터에 대응되는 제1 노드를 결정하고 상기 제1 노드의 매핑 콘텐츠를 업데이트하며;
    상기 메타데이터가 삭제된 메타데이터인 것에 응답하여, 상기 이진 탐색 트리로부터 상기 삭제된 메타데이터에 대응되는 제2 노드를 결정하고 상기 이진 탐색 트리에서 상기 제2 노드를 삭제하는,
    것을 특징으로 하는 메타데이터 스냅샷 장치.
  12. 제11항에 있어서,
    상기 업데이트 모듈은 또한,
    상기 새로 추가된 메타데이터의 키 값에 따라 상기 이진 탐색 트리에서 상기 새로 추가된 메타데이터의 분기 방향을 결정하고, 상기 분기 방향에 따라 상기 이진 탐색 트리에 업데이트하는,
    것을 특징으로 하는 메타데이터 스냅샷 장치.
  13. 전자 기기에 있어서,
    적어도 하나의 프로세서; 및
    상기 적어도 하나의 프로세서와 통신 연결되는 메모리; 를 포함하고,
    상기 메모리에는 상기 적어도 하나의 프로세서에 의해 실행 가능한 명령이 저장되며, 상기 명령이 상기 적어도 하나의 프로세서에 의해 실행될 경우, 상기 적어도 하나의 프로세서가 제1항 내지 제6항 중 어느 한 항에 따른 메타데이터 스냅샷 방법을 구현하는,
    것을 특징으로 하는 전자 기기.
  14. 컴퓨터 프로그램이 저장된 비일시적 컴퓨터 판독 가능 저장 매체에 있어서,
    상기 컴퓨터 프로그램 중의 명령이 실행될 경우, 제1항 내지 제6항 중 어느 한 항에 따른 메타데이터 스냅샷 방법이 구현되는,
    것을 특징으로 하는 컴퓨터 프로그램이 저장된 비일시적 컴퓨터 판독 가능 저장 매체.
  15. 컴퓨터 판독 가능 저장 매체에 저장된 컴퓨터 프로그램에 있어서,
    상기 컴퓨터 프로그램 중의 명력이 실행될 경우, 제1항 내지 제6항 중 어느 한 항에 따른 메타데이터 스냅샷 방법이 구현되는,
    것을 특징으로 하는 컴퓨터 판독 가능 저장 매체에 저장된 컴퓨터 프로그램.
KR1020220045496A 2021-09-23 2022-04-13 메타데이터 스냅샷 방법 및 장치 KR20220054255A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202111114341.8A CN113868273B (zh) 2021-09-23 2021-09-23 元数据的快照方法及其装置
CN202111114341.8 2021-09-23

Publications (1)

Publication Number Publication Date
KR20220054255A true KR20220054255A (ko) 2022-05-02

Family

ID=78993536

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220045496A KR20220054255A (ko) 2021-09-23 2022-04-13 메타데이터 스냅샷 방법 및 장치

Country Status (5)

Country Link
US (1) US20230012642A1 (ko)
EP (1) EP4145298A1 (ko)
JP (1) JP2022141980A (ko)
KR (1) KR20220054255A (ko)
CN (1) CN113868273B (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115016988B (zh) * 2022-08-08 2022-10-21 四川大学 基于二叉树日志的cdp备份恢复方法、系统及存储介质
CN117130980B (zh) * 2023-10-24 2024-02-27 杭州优云科技有限公司 一种虚拟机快照管理方法及装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08106473A (ja) * 1994-10-06 1996-04-23 Fujitsu Ltd データベース管理システム
CN101777016B (zh) * 2010-02-08 2012-04-25 北京同有飞骥科技股份有限公司 一种连续数据保护系统的快照存储和数据恢复方法
US9817835B2 (en) * 2013-03-12 2017-11-14 Tintri Inc. Efficient data synchronization for storage containers
CN103268270B (zh) * 2013-05-10 2016-04-13 曙光信息产业(北京)有限公司 快照的管理方法和装置
CN104933133B (zh) * 2015-06-12 2018-09-07 中国科学院计算技术研究所 分布式文件系统中的元数据快照存储和访问方法
US11157517B2 (en) * 2016-04-18 2021-10-26 Amazon Technologies, Inc. Versioned hierarchical data structures in a distributed data store
CN111427966B (zh) * 2020-06-10 2020-09-22 腾讯科技(深圳)有限公司 数据库事务处理方法、装置及服务器
CN111782587A (zh) * 2020-06-30 2020-10-16 北京三快在线科技有限公司 快照信息记录方法、装置、设备及存储介质
CN112685433B (zh) * 2021-01-07 2022-08-05 网易(杭州)网络有限公司 元数据更新方法、装置、电子设备及计算机可读存储介质
CN112765129A (zh) * 2021-01-11 2021-05-07 上海上讯信息技术股份有限公司 一种实现数据库数据版本管理的方法与设备

Also Published As

Publication number Publication date
US20230012642A1 (en) 2023-01-19
EP4145298A1 (en) 2023-03-08
CN113868273A (zh) 2021-12-31
JP2022141980A (ja) 2022-09-29
CN113868273B (zh) 2022-10-04

Similar Documents

Publication Publication Date Title
JP2022141957A (ja) メタデータのスナップショット方法及びそのスナップ装置
US10311077B2 (en) Database table conversion
EP4145298A1 (en) Method and apparatus for snapshotting metadata
KR20170044718A (ko) 공유 폴더 및 파일의 동기화
US20180307567A1 (en) Performing a closure merge operation
US10657115B2 (en) Methods and apparatuses for improved data modeling using a relational database management system
CN113391767B (zh) 数据一致性的校验方法、装置、电子设备及可读存储介质
US10705832B2 (en) Efficient storage and analysis of source code modification history data
US20210216212A1 (en) Method and apparatus for processing data
US20230014427A1 (en) Global secondary index method for distributed database, electronic device and storage medium
CN113190517B (zh) 数据集成方法、装置、电子设备和计算机可读介质
US20210365406A1 (en) Method and apparatus for processing snapshot, device, medium and product
KR20210037628A (ko) 코드 재사용 처리 방법, 장치, 전자 기기, 컴퓨터 판독 가능 저장 매체 및 컴퓨터 프로그램
CN113127357A (zh) 单元测试方法、装置、设备、存储介质及程序产品
US20180144016A1 (en) Graphical user interface with consistent redundant models
US10956386B2 (en) Methods and apparatuses for automated performance tuning of a data modeling platform
EP4209900A1 (en) Method and apparatus for updating cloud platform
CN114417070A (zh) 数据权限的收敛方法、装置、设备以及存储介质
CN115454971A (zh) 数据迁移方法、装置、电子设备及存储介质
US11651030B2 (en) Delta-based conflict-free replicated data type arrays using dot stores that map dots to dot stores
CN113760860B (zh) 一种数据读取方法和装置
US20210286680A1 (en) Method, electronic device and computer program product for storage management
US11582302B2 (en) System and method for offline-first application development
EP4131017A2 (en) Distributed data storage
CN115146082A (zh) 词条编辑方法、装置、电子设备及存储介质