KR100515890B1 - 효율적인 데이터베이스 복구방법 - Google Patents

효율적인 데이터베이스 복구방법 Download PDF

Info

Publication number
KR100515890B1
KR100515890B1 KR1020050018797A KR20050018797A KR100515890B1 KR 100515890 B1 KR100515890 B1 KR 100515890B1 KR 1020050018797 A KR1020050018797 A KR 1020050018797A KR 20050018797 A KR20050018797 A KR 20050018797A KR 100515890 B1 KR100515890 B1 KR 100515890B1
Authority
KR
South Korea
Prior art keywords
database
page
pages
transaction
recovery
Prior art date
Application number
KR1020050018797A
Other languages
English (en)
Inventor
백상엽
윤종은
Original Assignee
주식회사 퓨전소프트
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 퓨전소프트 filed Critical 주식회사 퓨전소프트
Priority to KR1020050018797A priority Critical patent/KR100515890B1/ko
Application granted granted Critical
Publication of KR100515890B1 publication Critical patent/KR100515890B1/ko
Priority to US11/367,455 priority patent/US20060200500A1/en

Links

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/1474Saving, restoring, recovering or retrying in transactions
    • CCHEMISTRY; METALLURGY
    • C10PETROLEUM, GAS OR COKE INDUSTRIES; TECHNICAL GASES CONTAINING CARBON MONOXIDE; FUELS; LUBRICANTS; PEAT
    • C10LFUELS NOT OTHERWISE PROVIDED FOR; NATURAL GAS; SYNTHETIC NATURAL GAS OBTAINED BY PROCESSES NOT COVERED BY SUBCLASSES C10G, C10K; LIQUEFIED PETROLEUM GAS; ADDING MATERIALS TO FUELS OR FIRES TO REDUCE SMOKE OR UNDESIRABLE DEPOSITS OR TO FACILITATE SOOT REMOVAL; FIRELIGHTERS
    • C10L5/00Solid fuels
    • C10L5/40Solid fuels essentially based on materials of non-mineral origin
    • C10L5/44Solid fuels essentially based on materials of non-mineral origin on vegetable substances
    • CCHEMISTRY; METALLURGY
    • C10PETROLEUM, GAS OR COKE INDUSTRIES; TECHNICAL GASES CONTAINING CARBON MONOXIDE; FUELS; LUBRICANTS; PEAT
    • C10LFUELS NOT OTHERWISE PROVIDED FOR; NATURAL GAS; SYNTHETIC NATURAL GAS OBTAINED BY PROCESSES NOT COVERED BY SUBCLASSES C10G, C10K; LIQUEFIED PETROLEUM GAS; ADDING MATERIALS TO FUELS OR FIRES TO REDUCE SMOKE OR UNDESIRABLE DEPOSITS OR TO FACILITATE SOOT REMOVAL; FIRELIGHTERS
    • C10L5/00Solid fuels
    • C10L5/02Solid fuels such as briquettes consisting mainly of carbonaceous materials of mineral or non-mineral origin
    • C10L5/34Other details of the shaped fuels, e.g. briquettes
    • C10L5/36Shape
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • CCHEMISTRY; METALLURGY
    • C10PETROLEUM, GAS OR COKE INDUSTRIES; TECHNICAL GASES CONTAINING CARBON MONOXIDE; FUELS; LUBRICANTS; PEAT
    • C10LFUELS NOT OTHERWISE PROVIDED FOR; NATURAL GAS; SYNTHETIC NATURAL GAS OBTAINED BY PROCESSES NOT COVERED BY SUBCLASSES C10G, C10K; LIQUEFIED PETROLEUM GAS; ADDING MATERIALS TO FUELS OR FIRES TO REDUCE SMOKE OR UNDESIRABLE DEPOSITS OR TO FACILITATE SOOT REMOVAL; FIRELIGHTERS
    • C10L2290/00Fuel preparation or upgrading, processes or apparatus therefore, comprising specific process steps or apparatus units
    • C10L2290/24Mixing, stirring of fuel components
    • CCHEMISTRY; METALLURGY
    • C10PETROLEUM, GAS OR COKE INDUSTRIES; TECHNICAL GASES CONTAINING CARBON MONOXIDE; FUELS; LUBRICANTS; PEAT
    • C10LFUELS NOT OTHERWISE PROVIDED FOR; NATURAL GAS; SYNTHETIC NATURAL GAS OBTAINED BY PROCESSES NOT COVERED BY SUBCLASSES C10G, C10K; LIQUEFIED PETROLEUM GAS; ADDING MATERIALS TO FUELS OR FIRES TO REDUCE SMOKE OR UNDESIRABLE DEPOSITS OR TO FACILITATE SOOT REMOVAL; FIRELIGHTERS
    • C10L2290/00Fuel preparation or upgrading, processes or apparatus therefore, comprising specific process steps or apparatus units
    • C10L2290/32Molding or moulds
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02EREDUCTION OF GREENHOUSE GAS [GHG] EMISSIONS, RELATED TO ENERGY GENERATION, TRANSMISSION OR DISTRIBUTION
    • Y02E50/00Technologies for the production of fuel of non-fossil origin
    • Y02E50/10Biofuels, e.g. bio-diesel
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02EREDUCTION OF GREENHOUSE GAS [GHG] EMISSIONS, RELATED TO ENERGY GENERATION, TRANSMISSION OR DISTRIBUTION
    • Y02E50/00Technologies for the production of fuel of non-fossil origin
    • Y02E50/30Fuel from waste, e.g. synthetic alcohol or diesel

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Chemical & Material Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Organic Chemistry (AREA)
  • Oil, Petroleum & Natural Gas (AREA)
  • Geology (AREA)
  • Geochemistry & Mineralogy (AREA)
  • General Life Sciences & Earth Sciences (AREA)
  • Environmental & Geological Engineering (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

플래쉬 메모리를 저장매체로 채용한 이동통신단말기에 적용할 수 있는 효율적인 데이터베이스 복구방법이 개시된다. 플래쉬 메모리 내에 데이터베이스(DB) 저장영역과 DB 복구영역을 별도로 마련된다. DB 저장영역의 변경대상 페이지들의 이미지를 순차적으로 읽어와서 메모리버퍼에 저장하고, 그 변경 전 페이지의 원본 이미지를 순차적인 일련번호를 부여하여 DB 복구영역에 백업시켜 둔다. 그런 다음, 메모리버퍼에 있는 페이지들의 이미지를 트랜잭션에 따라 변경한다. 이런 일련의 작업을 변경대상 페이지 전체에 대하여 수행한다. 그 후, DB 저장영역의 각 변경대상 페이지를 메모리버퍼에 있는 변경 후의 해당 페이지로 갱신한다. 이 갱신이 성공적으로 수행되지 못한 채 이동통신단말기가 비정상적으로 종료되었으면, 그것의 재 부팅 시에 DB 복구영역에 있는 마지막 페이지의 일련번호와 그 DB 복구영역에 저장되어 있는 페이지들의 총 개수가 일치하는 지를 확인하고, 일치하는 경우에 DB 복구영역에 저장된 수정 전 페이지의 원본 이미지로 DB 저장영역의 해당 페이지를 복구한다.

Description

효율적인 데이터베이스 복구방법{Method of efficiently recovering database}
본 발명은 데이터베이스 관리시스템을 채용한 컴퓨팅 장치에서의 데이터베이스 복구방법에 관한 것으로서, 보다 상세하게는 플래쉬 메모리를 저장수단으로 채용하는 이동통신 단말기에 설치된 데이터베이스 관리시스템에 적용할 수 있는 효율적인 데이터베이스 복구방법에 관한 것이다.
최근 멀티미디어와 네트워크 분야의 발달로 임베디드 시스템은 멀티미디어 정보를 처리하고 네트워크에 접속하는 기능들을 포함하면서 그 구조가 더욱 복잡해지고 있다. 예전처럼 단순한 시스템에서는 순차적인 설계로도 처리 가능하였으나 시스템이 복잡해지면서 기존 방법과는 다른 새로운 방법이 필요하게 되었다. 처리해야 할 작업이 많아지면서 복잡해진 시스템을 위해 멀티태스킹(multi-tasking) 기능이 필요하게 되어 컴퓨터 시스템에서만 사용되는 운영체제(Operating System: OS)가 임베디드 시스템에서도 필요하게 되었다. 더욱이, 대부분의 임베디드 시스템에는 '실시간 처리' 특성을 만족시킬 것이 요구되었고, 그에 따라 실시간 운영체제(Real-Time Operating System: RTOS)가 등장하게 되었다.
RTOS는 그것이 적용된 시스템의 내/외부에서 어떤 이벤트가 발생했을 때, 그 이벤트의 발생 시간과 그 이벤트의 처리를 시작 할 때까지의 지연 시간이 미리 제시된 시간을 넘지 않도록 해주는 운영체제이다. RTOS를 채용한 시스템(실시간 시스템)은 이벤트 발생과 처리가 실시간으로 이루어지는 시스템으로서, 주어진 시간 내에 어떠한 작업을 반드시 처리하는 특징을 갖는다. 예컨대 이동통신단말기, 스마트폰, 피디에이(PDA), 무선인터넷단말기, 카 네비게이션 시스템 등과 같은 휴대용 통신기기를 비롯해 판매, 영업, 재고 관리 등 특정목적 휴대단말기 또한 일반적으로 다른 임베디드 시스템들과 마찬가지로 RTOS를 사용하는 실시간 시스템이다.
한편, 이동통신단말기 등을 비롯한 위에서 언급한 여러 휴대용 통신기기는 계속적으로 진보하여 기능이 더욱 고도화되고 복잡해지는 방향으로 나아가고 있다. 휴대용 통신기기는 예컨대 디지털 카메라와 휴대폰의 융합, MP3 플레이어와 휴대폰의 융합, TV 수신기능의 휴대폰으로의 도입 등과 같은 이종 기기간의 융합을 통해 끊임없이 변화와 진보를 거듭하고 있다. 이러한 휴대용 통신기기는 관리하고 처리하는 정보의 량도 많아지게 되고 정보처리의 작업내용도 보다 복잡화, 다양화, 고도화 된다. 이에 따라 정보의 보다 효율적인 관리와 처리 등을 위해 하드웨어와 소프트웨어 양 측면에서 성능 개선을 위한 수단들이 도입될 필요가 있으며, 그러한 것의 일 예로서 데이터베이스 시스템의 도입이 고려될 수 있다.
그런데 아직까지는 이동통신단말기에 데이터베이스 시스템이 도입되어 상용화된 예는 찾아볼 수 없다. 기존의 이동통신단말기의 경우 예컨대 폰북(phone book) 등은 자료구조를 활용한 파일시스템을 이용하고 구현되고 있다. 그렇지만 이동통신단말기의 진화 추세와 속도에 비추어볼 때 데이터베이스 시스템이 이동통신단말기에 도입되는 것은 시간문제로 볼 수 있을 것이다.
일반적으로 데이터베이스 시스템은 쿼리를 처리함에 있어서 다양한 실패로부터 완전한 복구를 수행하기 위하여 로그기반(Log-based) 회복방법, 쉐도우 페이징(Shadow paging) 기법 등을 사용한다. 이동통신 단말기는 수행속도의 제약을 크게 받는다. 사용자의 작업 요청에 대한 응답이 어떤 제한된 시간 안에는 이루어져야 한다. 따라서 이동통신 단말기에 탑재된 데이터베이스의 복구는 그 수행이 간단한 세도우 페이징 기법을 사용하는 것이 적합하고 효과적일 수 있다.
데이터 무결성 보장을 위해, 데이터베이스 시스템은 저장 공간을 복구용 데이터를 저장하는 복구영역과 실제로 처리된 결과를 저장하는 저장영역으로 구분하여 운영한다. 이동통신 단말기의 비정상적인 종료로 인하여 데이터 무결성이 결여되었을 경우 데이터베이스의 복구영역에 저장된 데이터로 데이터베이스 저장영역의 데이터를 복구하게 된다. 데이터베이스의 복구영역에 데이터를 저장하는 방법은 예컨대 로그우선 출력(Write-Ahead Log: WAL) 프로토콜을 통해 보장된다. WAL 프로토콜이란 완료되지 않은 트랜잭션의 변경 내용이 데이터베이스 저장영역에 저장될 경우 부작용을 제거하기 위하여 변경되지 않은 원래의 이미지를 먼저 데이터베이스 복구영역에 저장하고 변경된 페이지의 이미지를 데이터베이스 저장영역에 저장되도록 해준다.
통상 이동통신 단말기에서 사용하는 플래쉬 파일시스템은 특정 파일에 덮어쓰기를 하는 도중에 발생하는 문제, 예컨대 정전(Power Loss), 폰 리셋( Phone reset)에 대비한 어떤 특별한 방법도 사용하지 않는다. 설사 하나의 파일의 변경에 대한 복구 방법이 구현되어 있더라도 데이터베이스의 트랜잭션이 여러 파일의 변경을 요하는 경우에는 여러 파일을 한꺼번에 복구할 수는 없다. 이것은수정 중인 데이터를 유실할 수 있다는 의미이다.
쉐도우 페이징 기법을 이용하여 데이터베이스 저장영역의 데이터를 복구하는 기존의 방법은, 도 1a에 도시된 것과 같이, 데이터베이스 저장영역(10)과는 별도로 마련된 데이터베이스 복구영역(20)에 헤더(Header) 정보를 두고, 문제 발생 시 그 헤더 정보를 확인하여 복구여부를 결정하는 방법을 사용한다. 그런데 이 방법은 플래쉬 파일시스템에서 단일 파일을 복구를 지원하지 않을 경우에는 복구 영역의 헤더 파일 갱신 중 문제가 발생하여 헤더 파일이 삭제되었을 경우 복구를 완료할 수 없다는 문제점을 가진다.
이러한 문제를 해결하기 위하여, 도 1b에 도시된 것과 같이, 데이터베이스 저장영역(30)의 데이터크기만큼의 플래쉬 메모리 공간을 추가로 확보하여 또 다른 데이터베이스 저장영역(40)을 마련하여 저장영역의 이중체계를 갖추고, 이들 두 저장영역(30, 40) 중 어느 하나를 유효한 데이터로 사용하는 방법이 있을 수 있다. 그러나 이 방법은 저장영역을 충분히 확보해야 한다는 점에서 제한된 메모리 공간을 효율적으로 사용하여야 하는 이동통신단말기에서는 채택하기가 어려운 단점이 있다.
본 발명은 상기한 종래의 문제점을 해결하기 위해 안출된 것으로서, 각 복구파일마다 복구 시 필요한 정보를 함께 저장하여 전원 공급 중단과 같은 원인으로 인해 트랜잭션 수행 중에 컴퓨팅 장치가 비정상적으로 종료함에 따라 파일 중 일부가 유실되더라도 변경 전의 상태로 복구를 성공적으로 완료할 수 있도록 해주는 데이터베이스 복구방법을 제공하는 것을 목적으로 한다.
또한 본 발명은 플래쉬 메모리를 저장매체로 채용하여 데이터베이스를 다수의 보다 작은 사이즈의 파일들로 나누어서 입/출력을 하는 이동통신단말기 환경에 적합하도록 메모리 공간을 적게 차지하면서도 신속하고 효율적으로 데이터베이스 복구를 지원해주는 데이터베이스 복구방법을 제공하는 목적으로 한다.
상기와 같은 목적을 달성하기 위한 본 발명의 일 측면에 따르면, 데이터 저장수단 내에 데이터베이스 저장영역과 데이터베이스 복구영역을 각각 별도로 마련하고, 관리대상인 데이터베이스를 다수의 보다 작은 사이즈의 페이지 단위로 구분하여 상기 데이터 저장수단에 대한 입/출력을 수행하는 데이터베이스 관리시스템을 갖춘 컴퓨팅 장치에서, 상기 데이터베이스 관리시스템이 하나의 트랜잭션을 처리하는 과정에서 실패가 발생한 경우 상기 데이터베이스를 복구하는 방법이 개시된다.
본 발명에 따른 데이터베이스 복구방법은 이동통신단말기에 적용될 수 있다. 이 경우, 상기 데이터 저장수단으로서 채용될 수 있는 바람직한 저장매체로는 플래쉬 메모리가 될 수 있다.
이 데이터베이스 복구 방법은, 상기 데이터베이스 저장영역에 있는 상기 데이터베이스의 페이지들 중에서 상기 트랜잭션을 수행하기 위해 변경하여야 할 페이지들의 이미지를 순차적으로 읽어와서 메모리버퍼에 저장하고, 그 변경 전 페이지의 원본 이미지를 일련번호를 부여하여 상기 데이터베이스 복구영역에 백업시켜 둔 다음, 상기 메모리버퍼에 있는 페이지들의 이미지를 상기 트랜잭션에 따라 변경하는 일련의 작업을, 상기 트랜잭션에 따라 변경해야 할 페이지 전체에 대하여 수행하는 제1 단계; 상기 데이터베이스 저장영역에 저장되어 있는 변경대상인 각 페이지의 이미지를 상기 메모리버퍼에서 변경처리 된 해당 페이지의 이미지로 갱신하는 제2단계; 상기 제2 단계의 갱신이 성공적으로 수행되지 못한 채 상기 컴퓨팅 장치가 비정상적으로 종료되었으면, 재 부팅 시에 상기 데이터베이스 복구영역에 저장되어 있는 마지막 페이지의 일련번호와 그 데이터베이스 복구영역에 저장되어 있는 페이지들의 총 개수가 일치하는 지를 확인하여 그러한 경우에 상기 데이터베이스 복구영역에 저장된 수정 전 페이지의 원본 이미지로 상기 데이터베이스 저장영역의 해당 페이지를 복구하는 제3단계를 구비하는 것을 특징으로 한다.
상기 제3단계는 구체적으로 다음과 같은 단계들을 포함한다.
(a) 상기 컴퓨팅 장치가 재 부팅될 때, 상기 데이터베이스 복구영역을 읽어서 데이터가 존재하는 지 여부를 확인하는 단계
(b) 상기 단계 (a)에서 읽혀진 상기 데이터베이스 복구영역에 저장되어 있는 페이지들의 총 개수와 상기 마지막 페이지의 일련번호를 비교하는 단계
(c) 상기 단계 (b)에서 비교한 두 정보 값이 같을 경우에는 상기 데이터베이스 복구영역에 저장된 수정 전 페이지의 원본 이미지로 상기 데이터베이스 저장영역의 해당 페이지를 복구하고, 두 정보 값이 다를 경우에는 상기 데이터베이스 복구영역에 저장되어 있는 페이지를 모두 삭제하는 단계.
상기 데이터베이스 복구방법에 있어서, 상기 데이터베이스 복구영역에 백업되는 페이지들에게 부여되는 일련번호는, 하나의 트랜잭션을 수행되는 동안 상기 트랜잭션에 따라 변경해야 할 전체 페이지들에 대하여 1번부터 차례로 1씩 증가시키면서 순차적으로 부여되고, 그 트랜잭션의 수행이 완료되면 리셋 시키는 방식으로 부여된다.
한편, 데이터베이스에 대한 트랜잭션을 수행하면서 변경된 내용들로 인해 데이터베이스의 사이즈가 늘어날 수가 있는데, 그 경우에도 완전한 복구를 보장해줄 필요가 있다. 이를 위해, 상기 제1단계에서 상기 데이터베이스 복구영역에 변경 전 페이지의 원본 이미지를 해당 일련번호와 함께 백업할 때, 당해 트랜잭션의 시작 전 데이터베이스의 전체 사이즈도 추가적으로 함께 저장하는 것이 바람직하다. 이렇게 하는 경우, 상기 트랜잭션을 수행하면서 변경된 내용들로 인해 추가되는 페이지가 있으면, 상기 트랜잭션 수행 전의 데이터베이스 사이즈보다 큰 페이지 번호를 가지는 페이지들을 삭제한다. 이와 동시에, 상기 트랜잭션 내의 다른 변경 내용들에 관한 복구는 상기 데이터베이스 복구영역에 백업되어 있는 변경 전 페이지의 원본 이미지를 사용하여 수행한다. 이에 의해 변경으로 인한 페이지의 증가가 있는 경우라도 완전한 복구를 보장해줄 수 있다.
이하에서는 첨부한 도면을 참조하여 본 발명을 데이터베이스 관리시스템을 채용한 이동통신단말기와 같은 컴퓨팅 장치에 적용한 경우를 예로 하여 보다 구체적으로 설명하기로 한다.
이동통신 단말기는 저장매체로 플래쉬 메모리를 주로 사용하고 있다. 그러므로 이동통신 단말기에 탑재되는 데이터베이스 관리시스템은 플래쉬 메모리에 데이터를 저장하게 된다. 이동통신 단말기의 데이터베이스에서 동작 (Operation) 시간 중 대부분의 시간을 차지하는 것은 플래쉬 메모리로부터 데이터를 읽고 저장하는 과정이다. 플래쉬 메모리에 기록된 파일의 내용 중 일부를 수정하기 위해서는 플래쉬 메모리라는 매체의 특성으로 인하여, 그 일부 데이터만 따로 읽거나 쓸 수는 없고 기록된 파일의 전체 내용을 읽어서 수정할 사항을 반영한 다음 다시 그 변경된 파일의 전체 내용을 플래쉬 메모리에 기록하는 과정을 거쳐야 한다. 이 과정은 기록하는 데이터의 크기가 크면 클수록 읽고 다시 기록하는 데 소요되는 시간을 훨씬 더 많이 필요로 한다. 나아가, 실제 변경은 일부 데이터에 국한되더라도 파일단위로 데이터가 옮겨지므로 메모리의 공간 활용도가 나빠진다.
플래쉬 메모리를 기반으로 동작하는 데이터베이스 관리시스템은 효율적인 입/출력을 위하여 하나의 큰 덩어리의 데이터베이스 파일구조를 사이즈가 작은 (예컨대, 2kb, 4kb 등과 같은 작은 사이즈의) 파일 단위로 나누어 플래쉬 메모리에 대한 입/출력을 수행하고, 비정상적인 종료로 인한 데이터베이스의 복구 시에도 파일 단위의 복구를 지원하는 방법이 이용된다. 이는 플래쉬 메모리의 위와 같은 입/출력(I/O) 특성에서 비롯되는 것이다. 이때 각 파일마다 데이터베이스 사이즈 정보를 추가하여 복구 시 이용한다.
이처럼 본 발명은 큰 사이즈의 하나의 데이터베이스 파일구조를 잘게 나누어서 다수의 사이즈가 작은 페이지 단위로 구분하여 플래쉬 메모리에 저장하는 데이터 저장방법을 채용하는 경우를 전제로 한 데이터베이스 복구방법이다.
도 2를 참조하면, 본 발명은 플래쉬 메모리(200)를 데이터베이스 관리시스템(100)의 저장수단으로 활용함에 있어서, 플래쉬 메모리(200) 내에 데이터베이스 저장영역(210)과 데이터베이스 복구영역(220)을 별도로 마련한다. 이 점에서는 기존의 방법과 비슷하다. 즉, 기존의 방법은 하나의 데이터베이스 파일구조를 여러 개의 조각으로 잘게 나누어 저장할 경우 별도의 복구용 파일정보를 데이터베이스 복구영역에 저장해야 하고, 복구를 위해 그 복구용 파일정보를 따로 분석해야 한다. 하지만, 본 발명은 데이터베이스 복구영역(220)에 복구를 위한 헤더 정보를 별도로 저장하여 활용하는 방식을 따르지는 않는다. 데이터베이스 복구영역(220)은 도 3에 도시된 바와 같이 본 발명이 제안하는 파일구조에 따라 데이터 복구에 필요한 정보를 저장한다.
플래쉬 메모리(200)에서의 하나의 파일은 데이터베이스 내에서 하나의 페이지에 대응된다. 그러므로 이하에서는 '파일'과 '페이지'를 동일한 의미의 용어로서 혼용한다.
도 3을 참조하면, 본 발명은 데이터베이스 저장영역(210)에 저장되어 있는 특정 페이지를 변경하기 전에, 그 페이지의 변경 전 원본 이미지를 그 페이지의 일련번호와 함께 데이터베이스 복구영역(220)에 저장하는 방식을 채용한다. 여기서, 일련번호는 데이터베이스 복구영역에 저장된 백업(Backup) 데이터 중 해당 페이지의 번호를 가리킨다. 이 일련번호는, 하나의 트랜잭션을 수행되는 동안 그 트랜잭션에 따라 변경해야 할 전체 페이지들에 대하여 1번부터 차례로 1씩 증가시키면서 순차적으로 부여된다. 그리고 그 트랜잭션의 수행이 완료되면 리셋 시킨다. 그러므로 데이터베이스 복구영역에 저장된 백업 페이지들의 일부 또는 전부를 삭제 하지 않았다면, 그 백업 페이지들의 전체 개수와 맨 마지막 백업 페이지의 일련번호는 항상 같은 값을 가진다.
이 정보는 이동통신 단말기(데이터베이스 관리시스템(100))의 비정상적인 종료 후 재 부팅 시 데이터베이스의 복구를 수행할 것인지 여부를 결정하는 데 이용된다. 나아가, 데이터베이스 복구영역(220)에 복구용으로 백업하는 파일은, 일련번호와 원본 이미지 외에도, 트랜잭션 시작 전 데이터베이스의 총 사이즈 정보를 더 포함하는 것이 바람직하다. 데이터베이스의 총 사이즈 정보의 활용방안은 후술하기로 한다.
도 4를 참조하면, 트랜잭션 시작 전에 데이터베이스 저장영역(210)에 저장된 원래의 데이터베이스는 세 개의 페이지(P1, P2, P3)로 구분되어 저장된 경우를 가정한다. 이 데이터베이스에 대하여 어떤 트랜잭션을 수행해야 하는 상황이 생겼을 때, 변경 대상이 되는 페이지가 P1, P2라고 가정하자. 이 두 페이지의 내용을 변경하기 위해, 우선 데이터베이스 저장영역(210)에서 첫 번째 변경대상 페이지 P1을 읽어서 메모리 버퍼(230)에 올린다(S1). 페이지 P1의 수정 전 원본이미지를 데이터베이스 복구영역(220)에 저장한다(S2). 그런 다음, 메모리 버퍼(230)에 있는 그 페이지 P1의 내용을 수행해야 할 트랜잭션의 내용에 따라 변경한다(S3). 또 다른 변경대상 페이지(P2)에 대해서도 페이지 P1에 대하여 행하였던 것과 같은 동작을 반복한다(S4, S5, S6). 그런 다음, 트랜잭션의 완료(Commit) 시점에 메모리 버퍼(230)에 저장되어 있는 변경된 페이지 P1'와 P2' 의 내용을 데이터베이스 저장영역(210)에 저장한다(S7). 이 저장 동작이 성공적으로 수행된 경우에는 데이터베이스 복구영역(220)에 저장되어 있는 두 백업 페이지를 삭제한다(S8, S9). 이 경우는 복구 작업의 필요성은 없고, 이로써 트랜잭션의 수행을 성공적으로 완료한 것이 된다.
그러나 이와 같은 일련의 동작을 수행하는 과정 중에서, 전원공급의 중단 등과 같은 원인으로 인해 이동통신단말기가 정상적으로 종료하지 못한 경우에는 변경이 성공적으로 이루어지지 못하였거나 변경된 페이지의 저장이 성공적으로 수행되지 못하는 등의 문제가 발생한다. 이 경우, 데이터베이스 복구영역(220)에 저장된 데이터 즉, 변경 대상인 페이지의 원본 이미지(P1, P2 )를 이용하여 데이터베이스 저장영역(210)을 복구한다(S10). 본 발명은, 이동통신단말기가 비정상적으로 종료 후 그것이 다시 부팅 되었을 때, 데이터베이스 복구영역(220)에 저장되어 있는 페이지(즉, 파일)의 총 개수와 데이터베이스 복구영역(220)의 맨 마지막 페이지(즉, 파일)의 일련번호를 비교하여 복구 실행 여부를 결정한다. 데이터베이스에 대한 트랜잭션의 수행이 정상적으로 종료될 경우, 데이터베이스 복구영역(220)의 데이터는 모두 삭제되고, 수행 중 정전 등의 문제 발생으로 트랜잭션 수행이 정상적으로 종료되지 못하였을 경우에는 이동통신단말기의 다음 부팅 시 도 5와 같은 복구과정을 거친다.
도 5에 도시된 본 발명이 제안하는 데이터베이스의 데이터복구 방법에 따르면, 이동통신단말기가 재 부팅 되는 과정의 적절한 시점에, 우선 데이터베이스 복구영역(220)의 데이터를 읽어 그 데이터베이스 복구영역(220)에 백업된 데이터(페이지)가 존재하는지 여부를 확인한다(S22, S24).
데이터베이스 복구영역(220)에 백업된 페이지의 삭제(S8, S9)는 메모리버퍼(230)에 있는 변경된 페이지를 데이터베이스 저장영역(210)에 정상적으로 반영한 다음에 이루어지는 동작이다. 그러므로 데이터베이스 복구영역(220)에 백업 페이지가 전혀 존재하지 않는다는 것은, 데이터베이스 저장영역(210)에 있는 변경 전의 페이지 이미지들(P1, P2)이 트랜잭션 수행과정에서 변경된 페이지들(P1', P2')로 모두 정상적으로 교체되었음을 의미한다. 즉, 그 트랜잭션은 정상적으로 수행되었음을 의미한다. 따라서 별도로 더 수행할 동작은 없다.
이와 달리, 데이터베이스 복구영역(220)에 백업 페이지가 존재하는 것은 전원 공급의 중단 등과 같은 원인에 의해 그 트랜잭션은 비정상적으로 종료되었음을 의미한다. 이 경우에는 복구 절차의 수행이 필요하다. 데이터베이스 복구를 위해, 데이터베이스 복구영역(220)에 저장되어 있는 페이지(즉, 파일)의 총 개수와 맨 마지막 페이지의 일련번호가 동일한 값을 갖는지를 비교한다(S26).
S26 단계에서 비교한 두 정보 값이 같을 경우에는 데이터베이스 복구영역(220)에 저장되어 있는 백업 페이지로 데이터베이스 저장영역(210)에 저장되어 있는 대응 페이지를 교체한다(S28). 비정상적인 종료 상태에서, 변경 전 페이지들의 원본 이미지가 데이터베이스 복구영역(220)에 온전히 그대로 존재하므로, 데이터베이스 저장영역(210)의 데이터를 변경 전의 상태로 회복시키기 위함이다.
S26 단계에서 비교한 상기 두 정보 값이 다를 경우에는 데이터베이스 복구영역(220)의 백업 페이지를 모두 삭제한다(S30). 데이터베이스 복구영역(220)의 백업 페이지를 모두 삭제하는 것은 데이터베이스의 변경내용이 데이터베이스 저장영역(210)에 정상적으로 반영된 후 데이터베이스 복구영역(220)의 백업 페이지를 삭제하는 과정에서 문제가 발생한 것으로 볼 수 있기 때문이다.
다시 도 4를 참조하면, 데이터베이스 저장영역(210)의 위와 같은 복구 절차는 구체적으로 다음과 같은 몇 가지 경우로 나누어 살펴볼 수 있다.
(1) 단계 S1을 수행한 이후에 비정상적 종료가 발생한 경우:
비정상적 종료 후 다음 부팅 시, 데이터베이스 복구영역(220)을 확인하더라도(S22), 이 경우에는 데이터베이스 복구영역(220)에 백업 페이지가 존재하지 않으므로 복구절차의 수행이 불필요하다.
(2) 단계 S2 ~ S6을 수행한 이후에 비정상적 종료가 발생한 경우:
비정상적 종료 후 다음 부팅 시, 데이터베이스 복구영역(220)을 확인하면(S22) 백업 페이지가 존재할 것이다. 이 경우에는 데이터베이스 복구영역(220)에 있는 마지막 페이지의 일련번호와 데이터베이스 복구영역(220)에 있는 페이지의 총 개수를 비교한다(S26). 이 비교 결과 양 정보 값은 서로 동일하므로, S28 단계에 따른 롤백(Rollback)을 수행함으로써 데이터베이스 파일이 변경 전의 상태로 복구된다.
(3) 단계 S7 이후에 비정상적 종료가 발생한 경우:
비정상적 종료 후 다음 부팅 시, 데이터베이스 복구영역(220)을 확인하면(S22) 그 영역에는 백업 페이지가 존재할 것이다. 이 경우, 데이터베이스 복구영역(220)에 있는 마지막 페이지(즉, 파일)의 일련번호와 데이터베이스 복구영역(220)에 있는 페이지의 총 개수를 비교하면 같은 값을 가지는 것으로 확인 될 것이다. 따라서 S28 단계에 따른 롤백(Rollback)을 수행함으로써 데이터베이스 저장영역(210)의 데이터베이스 파일이 변경 전의 상태로 복구된다. S7 단계가 수행되었다면 트랜잭션이 완료되었을 수도 있지만, 과연 그 트랜잭션이 성공적으로 완료되었는지를 확인할 수는 없기 때문에 즉, 리부팅 후에는 메모리 버퍼가 클리어 되었으므로 변경되어야 할 모든 페이지들이 데이터베이스 저장영역(210)에 제대로 반영되었는지 확인할 수 없기 때문에, 데이터베이스 복구영역(220)의 삭제가 이루어지는 단계(S8)까지의 모든 동작은 미완료 된 것으로 보고 복구를 시도하는 것이 보다 안전한 방법이다.
(4) 단계 S8 이후에 비정상적 종료가 발생한 경우:
데이터베이스 백업영역(220)에는 하나의 백업 페이지(P1)만 삭제되고 나머지 하나의 백업 페이지(P2)는 남아 있다. 그러므로 비정상적 종료 후 다음 부팅하면, S26 단계에서 데이터베이스 복구영역(220)에 있는 맨 마지막 페이지의 일련번호(도 4에서는 '2'임)와 데이터베이스 복구영역(220)에 있는 백업 페이지의 총 개수(도 4에서는 '1'임)를 비교하게 되는데, 양 정보 값은 같지 않으므로 데이터베이스 복구영역(220)의 잔존하는 백업 페이지를 모두 삭제한다(S30).
(5) 단계 S9 이후에 비정상적 종료가 발생한 경우:
다음 부팅 시 데이터베이스 복구영역(220)을 확인하면(S24) 이 경우에는 데이터베이스 복구영역에 파일이 존재하지 않으므로 복구 수행이 불필요하다.
한편, 위에서 데이터베이스 복구영역(220)에 복구용으로 백업된 파일은 일련번호와 원본 이미지 외에도, 트랜잭션 시작 전 데이터베이스의 총 사이즈 정보를 더 포함할 수 있다고 언급한 바 있다. 데이터베이스의 총 사이즈 정보를 더 저장하는 이유는 다음과 같다. 경우에 따라서는 트랜잭션을 수행하면서 변경된 내용들로 인해 데이터베이스의 사이즈가 늘어날 수가 있다. 예컨대 하나의 페이지 P2가 변경에 의해 두개의 페이지 P2'와 P2'로 늘어난 경우를 가정한다면, 이때 추가되는 페이지들은 기존에 존재하던 페이지들보다 큰 페이지 번호를 가지게 된다. 만약 이 과정에서 오류가 발생하여 복구가 수행되어야 한다면, 추가된 페이지들은 원래의 이미지가 없다. 이 경우 복구는 저장되어 있는 "트랜잭션 시작 전 데이터베이스 사이즈"를 이용하여 원래의 데이터베이스 사이즈로 회복시켜주는 방식으로 이루어진다. 추가된 페이지의 원본 이미지가 없으므로 "트랜잭션 수행 전 데이터베이스 사이즈"보다 큰 페이지 번호를 가지는 페이지들을 삭제하면 변경 전의 '원래의 데이터베이스 사이즈'로 돌아갈 수 있다. 같은 트랜잭션 내의 다른 변경사항들은 데이터베이스 복구영역(220)에 저장된 원본 이미지를 사용하여 복구를 수행한다. 이러한 과정을 거치면 데이터베이스 저장영역(210)에 있는 데이터베이스는 변경 전의 상태로 완전하게 복구가 이루어진다.
이상에서는 플래쉬 메모리를 저장매체로 채용한 이동통신단말기를 예로 하여 본 발명을 설명하였다. 이는 본 발명의 바람직한 실시예에 불과하고, 해당 기술분야의 숙련된 당업자는 하기의 특허청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있다. 예컨대, 본 발명은 이동통신단말기에만 적용될 수 있는 것은 아니고, 플래쉬 메모리를 저장매체로 활용하고 데이터베이스 관리시스템을 채용한 임베디드 시스템을 채용하는 여러 가지 컴퓨팅 장치들에 널리 적용될 수 있다. 따라서 특허청구범위의 등가적인 의미나 범위에 속하는 모든 변화들은 전부 본 발명의 권리범위안에 속함을 밝혀둔다.
본 발명에 따른 데이터베이스 복구방법은 이동통신 단말기의 플래쉬 파일 시스템을 사용하는 데이터베이스에서 정전과 같은 비정상 종료 시에도 복구영역에 저장되어 있는 백업 페이지의 총 개수와 일련번호의 비교라는 간단한 작업을 통해 데이터베이스의 완전한 복구를 보장할 수 있다. 즉, 복구에 필요한 정보로서 백업 파일의 일련번호와 필요시 변경 전 데이터베이스 전체 사이즈 정보 정도만 추가적으로 더 확보해두면 완전한 복구를 보장할 수 있다. 그러므로 복구를 위한 메모리 공간을 적게 필요로 하고, 신속한 복구가 가능하다.
또한, 또한, 종래의 복구방법은 복구영역에 저장된 데이터 중에서 헤더정보의 데이터가 없어지면 복구가 전혀 불가능한데 비해, 본 발명의 복구방법은 헤더정보를 별도 파일로 기록하지 않고도 각 백업 페이지에 복구에 필요한 정보를 함께 저장하는 방식을 취하므로서 특정 백업 페이지가 손상되더라도 마지막 백업 페이지의 일련번호 정보만으로 완벽하게 복구가 가능하며 아울러 파일의 쓰기비용을 줄여 수행속도를 향상시킨다.
도 1a와 1b는 데이터베이스에 관한 기존의 데이터 복구방법을 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 이동통신 단말기에 설치된 데이터베이스 시스템의 데이터 복구방법이 채용하는 플래쉬 메모리(flash memory)의 영역 활용방안을 설명하기 위한 도면이다.
도 3은 변경할 페이지를 데이터베이스 복구영역에 백업함에 있어서 그 백업 페이지의 파일 구조를 나타낸다.
도 4는 데이터베이스 복구영역에 복구용 페이지를 저장하여 복구에 활용하는 과정을 보여준다.
도 5는 데이터베이스 복구 시의 처리절차를 도시한 흐름도이다.
*도면의 주요부분에 대한 부호의 설명*
100: 데이터베이스 관리시스템
200: 플래쉬 메모리
210: 데이터베이스 저장영역
220: 데이터베이스 복구영역
230: 메모리 버퍼

Claims (7)

  1. 데이터 저장수단 내에 데이터베이스 저장영역과 데이터베이스 복구영역을 각각 별도로 마련하고, 관리대상인 데이터베이스를 다수의 보다 작은 사이즈의 페이지 단위로 구분하여 상기 데이터 저장수단에 대한 입/출력을 수행하는 데이터베이스 관리시스템을 갖춘 컴퓨팅 장치에서, 상기 데이터베이스 관리시스템이 하나의 트랜잭션을 처리하는 과정에서 실패가 발생한 경우 상기 데이터베이스를 복구하는 방법에 있어서,
    상기 데이터베이스 저장영역에 있는 상기 데이터베이스의 페이지들 중에서 상기 트랜잭션을 수행하기 위해 변경하여야 할 페이지들의 이미지를 순차적으로 읽어와서 메모리버퍼에 저장하고, 그 변경 전 페이지의 원본 이미지를 일련번호를 부여하여 상기 데이터베이스 복구영역에 백업시켜 둔 다음, 상기 메모리버퍼에 있는 페이지들의 이미지를 상기 트랜잭션에 따라 변경하는 일련의 작업을, 상기 트랜잭션에 따라 변경해야 할 페이지 전체에 대하여 수행하는 제1 단계;
    상기 데이터베이스 저장영역에 저장되어 있는 변경대상인 각 페이지의 이미지를 상기 메모리버퍼에서 변경처리 된 해당 페이지의 이미지로 갱신하는 제2단계;
    상기 제2 단계의 갱신이 성공적으로 수행되지 못한 채 상기 컴퓨팅 장치가 비정상적으로 종료되었으면, 재 부팅 시에 상기 데이터베이스 복구영역에 저장되어 있는 마지막 페이지의 일련번호와 그 데이터베이스 복구영역에 저장되어 있는 페이지들의 총 개수가 일치하는 지를 확인하여 그러한 경우에 상기 데이터베이스 복구영역에 저장된 수정 전 페이지의 원본 이미지로 상기 데이터베이스 저장영역의 해당 페이지를 복구하는 제3단계를 구비하는 것을 특징으로 하는 데이터베이스 복구방법.
  2. 제 1항에 있어서, 상기 제3단계는,
    (a) 상기 컴퓨팅 장치가 재 부팅될 때, 상기 데이터베이스 복구영역을 읽어서 데이터가 존재하는 지 여부를 확인하는 단계;
    (b) 상기 단계 (a)에서 읽혀진 상기 데이터베이스 복구영역에 저장되어 있는 페이지들의 총 개수와 상기 마지막 페이지의 일련번호를 비교하는 단계;
    (c) 상기 단계 (b)에서 비교한 두 정보 값이 같을 경우에는 상기 데이터베이스 복구영역에 저장된 수정 전 페이지의 원본 이미지로 상기 데이터베이스 저장영역의 해당 페이지를 복구하고, 두 정보 값이 다를 경우에는 상기 데이터베이스 복구영역에 저장되어 있는 페이지를 모두 삭제하는 단계를 구비하는 것을 특징으로 하는 데이터베이스 복구방법.
  3. 제 1항에 있어서, 상기 데이터베이스 복구영역에 백업되는 페이지들에게 부여되는 상기 일련번호는, 하나의 트랜잭션을 수행되는 동안 상기 트랜잭션에 따라 변경해야 할 전체 페이지들에 대하여 1번부터 차례로 1씩 증가시키면서 순차적으로 부여되고, 그 트랜잭션의 수행이 완료되면 리셋 시키는 방식으로 부여되는 것을 특징으로 하는 데이터베이스 복구방법.
  4. 제 1항에 있어서, 상기 데이터 저장수단으로서 플래쉬메모리를 사용하는 것을 특징으로 하는 데이터베이스 복구방법.
  5. 제 1항에 있어서, 상기 컴퓨팅 장치는 이동통신단말기인 것을 특징으로 하는 데이터베이스 복구방법.
  6. 제 1항에 있어서, 상기 제1단계에서 상기 데이터베이스 복구영역에 변경 전 페이지의 원본 이미지를 해당 일련번호와 함께 백업할 때, 당해 트랜잭션의 시작 전 데이터베이스의 전체 사이즈도 추가적으로 함께 저장하는 것을 특징으로 하는 데이터베이스 복구방법.
  7. 제 6항에 있어서, 상기 트랜잭션을 수행하면서 변경된 내용들로 인해 추가되는 페이지가 있으면, 상기 복구는 상기 트랜잭션 수행 전의 데이터베이스 사이즈보다 큰 페이지 번호를 가지는 페이지들을 삭제함과 동시에, 상기 트랜잭션 내의 다른 변경 내용들에 관한 복구는 상기 데이터베이스 복구영역에 백업되어 있는 변경 전 페이지의 원본 이미지를 사용하여 수행하는 단계를 더 구비하는 것을 특징으로 하는 데이터베이스 복구방법.
KR1020050018797A 2005-03-07 2005-03-07 효율적인 데이터베이스 복구방법 KR100515890B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020050018797A KR100515890B1 (ko) 2005-03-07 2005-03-07 효율적인 데이터베이스 복구방법
US11/367,455 US20060200500A1 (en) 2005-03-07 2006-03-06 Method of efficiently recovering database

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050018797A KR100515890B1 (ko) 2005-03-07 2005-03-07 효율적인 데이터베이스 복구방법

Publications (1)

Publication Number Publication Date
KR100515890B1 true KR100515890B1 (ko) 2005-09-20

Family

ID=36945293

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050018797A KR100515890B1 (ko) 2005-03-07 2005-03-07 효율적인 데이터베이스 복구방법

Country Status (2)

Country Link
US (1) US20060200500A1 (ko)
KR (1) KR100515890B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101286020B1 (ko) * 2012-02-01 2013-07-19 주식회사 이노와이어리스 계측기의 메뉴 설정값 복원 장치 및 방법
WO2013126046A1 (en) * 2012-02-21 2013-08-29 Hewlett-Packard Development Company, L.P. Maintaining system firmware images remotely using a distribute file system protocol
KR101365704B1 (ko) 2012-03-30 2014-02-24 유비벨록스(주) 플래시 기반 메모리를 관리하기 위한 방법

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101473344B1 (ko) * 2007-08-24 2014-12-17 삼성전자 주식회사 플래시 메모리를 스토리지로 사용하는 장치 및 그 동작방법
US7917472B2 (en) * 2008-11-03 2011-03-29 Mats Stefan Persson Method, system and computer-readable media for backing up information contained in a database
US8793288B2 (en) * 2009-12-16 2014-07-29 Sap Ag Online access to database snapshots
CN102768632B (zh) * 2011-05-03 2015-01-28 厦门市美亚柏科信息股份有限公司 恢复移动终端数据的方法和装置
EP2709022A1 (en) * 2012-09-14 2014-03-19 Harman Becker Automotive Systems GmbH Method and devices for updating a database of a navigation device
US9015404B2 (en) * 2012-09-28 2015-04-21 Intel Corporation Persistent log operations for non-volatile memory
US10296418B2 (en) 2016-01-19 2019-05-21 Microsoft Technology Licensing, Llc Versioned records management using restart era
US9952931B2 (en) 2016-01-19 2018-04-24 Microsoft Technology Licensing, Llc Versioned records management using restart era
US10331522B2 (en) * 2017-03-17 2019-06-25 International Business Machines Corporation Event failure management
US11537476B2 (en) * 2020-03-25 2022-12-27 Sap Se Database management system backup and recovery management

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5043871A (en) * 1986-03-26 1991-08-27 Hitachi, Ltd. Method and apparatus for database update/recovery
JPH0373037A (ja) * 1989-05-26 1991-03-28 Hitachi Ltd データベース障害回復方法
US5193162A (en) * 1989-11-06 1993-03-09 Unisys Corporation Cache memory with data compaction for use in the audit trail of a data processing system having record locking capabilities
US5530855A (en) * 1992-10-13 1996-06-25 International Business Machines Corporation Replicating a database by the sequential application of hierarchically sorted log records
FI100215B (fi) * 1995-03-17 1997-10-15 Nokia Telecommunications Oy Matkaviestijärjestelmän tilaajatietojen päivittäminen
JPH10333948A (ja) * 1997-04-01 1998-12-18 Kokusai Zunou Sangyo Kk 仮想データベース空間システムおよびデータベースプログラムを記録したコンピュータ読み取り可能な記録媒体
US6415373B1 (en) * 1997-12-24 2002-07-02 Avid Technology, Inc. Computer system and process for transferring multiple high bandwidth streams of data between multiple storage units and multiple applications in a scalable and reliable manner
US6269431B1 (en) * 1998-08-13 2001-07-31 Emc Corporation Virtual storage and block level direct access of secondary storage for recovery of backup data
US6631478B1 (en) * 1999-06-18 2003-10-07 Cisco Technology, Inc. Technique for implementing high performance stable storage hierarchy in a computer network
US7305421B2 (en) * 2001-07-16 2007-12-04 Sap Ag Parallelized redo-only logging and recovery for highly available main memory database systems

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101286020B1 (ko) * 2012-02-01 2013-07-19 주식회사 이노와이어리스 계측기의 메뉴 설정값 복원 장치 및 방법
WO2013126046A1 (en) * 2012-02-21 2013-08-29 Hewlett-Packard Development Company, L.P. Maintaining system firmware images remotely using a distribute file system protocol
US9930112B2 (en) 2012-02-21 2018-03-27 Hewlett Packard Enterprise Development Lp Maintaining system firmware images remotely using a distribute file system protocol
KR101365704B1 (ko) 2012-03-30 2014-02-24 유비벨록스(주) 플래시 기반 메모리를 관리하기 위한 방법

Also Published As

Publication number Publication date
US20060200500A1 (en) 2006-09-07

Similar Documents

Publication Publication Date Title
KR100515890B1 (ko) 효율적인 데이터베이스 복구방법
US11550675B2 (en) Remote data replication method and system
US10936441B2 (en) Write-ahead style logging in a persistent memory device
US9183236B2 (en) Low level object version tracking using non-volatile memory write generations
EP1769343B1 (en) Method and system for in-place updating content stored in a storage device
EP3036634B1 (en) Disconnected operation for systems utilizing cloud storage
EP3179359B1 (en) Data sending method, data receiving method, and storage device
CN1230747C (zh) 用于备份和恢复计算机数据的方法和装置
US7860836B1 (en) Method and apparatus to recover data in a continuous data protection environment using a journal
US7395278B2 (en) Transaction consistent copy-on-write database
CN109542682B (zh) 一种数据备份方法、装置、设备和存储介质
US11221927B2 (en) Method for the implementation of a high performance, high resiliency and high availability dual controller storage system
KR102262409B1 (ko) 비휘발성 메모리 기반 파일 시스템 및 이를 이용한 데이터 갱신 방법
CN104166605A (zh) 基于增量数据文件的数据备份方法及系统
CN103049539A (zh) 一种文件系统中文件数据的存储方法及其装置
WO2023206968A1 (zh) 一种数据存储方法、系统及计算机可读存储介质
CN109086078A (zh) 安卓系统升级方法、装置、服务器及移动终端
WO2020060620A1 (en) Storage segment server covered cache
US8595271B1 (en) Systems and methods for performing file system checks
KR102049417B1 (ko) Nvdimm을 이용한 인-메모리 데이터베이스 기반의 데이터 저장 및 복원 방법
US11226875B2 (en) System halt event recovery
US20230315881A1 (en) Universal platform for data protection
US11755425B1 (en) Methods and systems for synchronous distributed data backup and metadata aggregation
US20210232421A1 (en) Implementing erasure coding with persistent memory
US20220129198A1 (en) Data updates for controllers

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated 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: 20080829

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee