CN1230747C - 用于备份和恢复计算机数据的方法和装置 - Google Patents

用于备份和恢复计算机数据的方法和装置 Download PDF

Info

Publication number
CN1230747C
CN1230747C CNB01821116XA CN01821116A CN1230747C CN 1230747 C CN1230747 C CN 1230747C CN B01821116X A CNB01821116X A CN B01821116XA CN 01821116 A CN01821116 A CN 01821116A CN 1230747 C CN1230747 C CN 1230747C
Authority
CN
China
Prior art keywords
data
data block
storage
mass
reserve storage
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Lifetime
Application number
CNB01821116XA
Other languages
English (en)
Other versions
CN1483164A (zh
Inventor
理查德·S·奥赫拉恩
迈克尔·R·奥赫拉恩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
EMC Inc
Original Assignee
EMC Inc
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 EMC Inc filed Critical EMC Inc
Publication of CN1483164A publication Critical patent/CN1483164A/zh
Application granted granted Critical
Publication of CN1230747C publication Critical patent/CN1230747C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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/16Error detection or correction of the data by redundancy in hardware
    • 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
    • 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
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/835Timestamp
    • 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability
    • 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99955Archiving or backup

Abstract

将一个大容量存储设备12,其中包括一个存储其上相应的数据块20,恢复到一个先前时刻所处的状态,来最小化由于数据块20损坏或丢失所造成的数据损失。在完成一个镜像或备份拷贝后,响应一个写请求而将被修改的数据块40,在修改之前,存储在一个保留存储器14中。存储在该保留存储器14中的该数据块40带有时间戳,以标明该数据块40被修改的时间顺序。如果数据损坏,将保留存储器14中的数据块40按相反的时间顺序应用到该已损坏的数据20中,直到获得一个没有损坏的数据集。利用这种方式,可以重建比完全镜像或备份拷贝更新的数据。

Description

用于备份和恢复计算机数据的方法和装置
发明背景
发明领域
本发明涉及备份和恢复计算机数据。特别涉及当恢复由中断所导致的计算机数据损失时,最小化计算机数据损失的系统和方法。
现有技术
随着个人计算机的出现,全球商业在执行日常商业活动中都依赖于计算机数据。但是,在计算机处理的过程中,可能发生大量的意外,如自然灾害、恐怖活动、或者更平常的事件,如计算机硬件和/或/软件故障。这些故障通常导致计算机数据损坏、不可靠,甚至丢失。数据损坏或数据丢失,如客户名单、金融交易,商业文档,商务交易等等,导致了大量的时间与/或金钱投资的损失,对商业造成严重破坏。
计算机数据的丢失或损坏在全球电子商务领域破坏性特别大。互联网允许世界上的每个人进行电子化交易,从而带来电子化订单连续不断的储入。但是,这些订单的所有拷贝都是电子化的,因此,电子计算机数据的损坏或丢失可以导致由这些丢失订单所带来的商业损失。由于意识到可靠计算机数据的商业价值,商业人士寻求保护他们数据以及重建被损坏、不可靠或被丢失数据的方法。传统的数据保护和重建方法包括建立该计算机数据的一个备份拷贝。尽管在一张软盘上保存一个个人文件的备份拷贝是一个简单的步骤,但随着数据量的增加,创建一个备份拷贝变得更加困难。
可能建立一个计算机数据的大容量备份拷贝的最简单的办法是,从一个大容量存储系统复制数据到一个数据设备,如一个或多个磁带。这种方法通过牺牲对数据的即时存储来存储大量的计算机数据。磁带可以存储在本地或远端,当大容量存储系统出现问题时,数据将从磁带中复制到大容量存储系统。
虽然使用数据设备来保护数据丢失具有相对简单和低廉的优点,但它也有严重的局限性。一个这样的制约是在创建备份拷贝时以及在重建数据时,禁止用户读取该计算机数据的时间长度。用户读取的禁止,一般是用来保证在这一过程中没有改变数据。因为不希望出现用户不无法存取数据的情况,就很少创建备份拷贝,从而导致备份拷贝中的计算机数据陈旧。类似的是,将计算机数据从一个磁带上复制到一个大容量存储系统里会非常耗时,因为该计算机数据是基于文件对文件模式传输。当大容量数据存储设备位于远距离,且不能通过一个网络访问时,这种耗时更多。这种冗长的重建时间导致计算机不可访问的时间增长,并使商务成本增加时间和金钱的数额。
传统方法的另一局限是备份拷贝表示的数据是之前某个时刻的,这意味着备份拷贝在源数据随后发生变化后没有更新。建立数据备份为在源数据发生损坏或丢失时恢复大部分计算机数据提供保证。这使得数据损失仅局限于最近一次备份拷贝后对源数据所做的改变。但是,在某些商业领域,如果计算机数据不是最新的,那么该数据就是陈旧的、不可靠的,甚至是无效的。在费率和信息急剧变化的金融领域,这尤其麻烦。因此,当计算机数据损失或丢失时,依赖于频繁变化的信息的商业,将面临丢失其所有有价值的计算机数据的危险。
因此,本发明阐述了该技术领域里的一种改进,以提供一种用于备份计算机数据的系统和方法,其可以最小化由于计算机故障或数据损坏所造成的计算机数据丢失量。本发明还阐述了该技术领域里的另一种改进,以提供一种不需要终止用户访问该大容量存储系统就可以备份数据的系统。
发明内容
本发明涉及备份和恢复计算机数据的系统和方法。当计算机数据发生损坏或丢失时,本发明能以一种增量的方法方式来恢复数据。特别是当数据损坏或丢失时,该数据能向越来越旧的状态增量地倒推,直到获得一个有效的数据集。通过此方法,数据可以到恢复到一个比该数据的完全镜像或其存档拷贝更新的状态。因此,进行大量数据的完全镜像或存档操作的频率可以降低,且不存在丢失最近完全镜像或存档操作后所作数据修改的危险。
根据本发明,一个大容量存储设备在时刻T0存储多个数据块。在T0时刻,可对存储在大容量存储设备中的数据进行镜像备份,以便在必要时,可方便地恢复T0时刻的数据。通常获得数据镜像拷贝是一个耗费时间和资源的过程,最好发生频率相对较低。为了保存从创建镜像拷贝之后到导致数据丢失的潜在事件之前修改的数据,在T0时刻之后将被覆盖的数据块被保存在一个保留存储器中。特别是,如果在T0后,一个特定的数据块作为一个写操作的部分需被覆盖,在大容量存储器中替换源数据块之前,该源数据块的一个拷贝被存储在保留存储器中。另外,存储在保留存储器中的该数据块需要加上时间戳或其他的标记,以标明写操作的发生时间,或者标明写操作在相关所有写操作中按时间先后顺序排列所处的位置。
T0时刻后,随着写操作的成功执行,需被覆盖的原始数据块被依次存储在保留存储器中并加上了相应的时间戳。因此,在T0后被覆盖或修改的数据块被存储在保留存储器中,且在大容量存储器中被覆盖的数据块里的时间或次序是特定的。
当大容量存储单元设备中的某数据块损坏或丢失时,存储在保留存储器中的这些数据块就可用来增量恢复或重建一个正确的数据集,而不需要将数据完全恢复到T0时刻的数据。例如,如果无效或损坏的数据在T0时刻之后被写到该大容量存储设备中的某些数据块里,则如上所述,原始、有效的数据块将被存储在一个保留存储器中。利用表示在大容量存储设备中存储在一个保留存储器里的数据块被覆盖的先后顺序的时间戳,保留存储器里的这些数据块可以写入该大容量存储设备中的当前数据。在该保留存储器中的一个或多个数据块按一个相反的先后顺序写回到该大容量存储设备后,在该大容量存储设备里,可以最终获得一个有效的数据集。因此,利用存储在该保留存储器中的数据块可以重建数据,且不要求将数据完全恢复到T0时刻的数据。
需要注意的是,根据本发明,对存储在该大容量存储设备里的所有数据进行完全镜像或存档操作的频率可以比没有利用本发明时所需要的频率低。利用存储在保留存储器中的数据块可以将损坏数据恢复到一个比最近完全镜像数据拷贝更新的状态。另需注意的是,在保留存储器中存储一系列已覆盖数据块显然比执行该大容量存储器数据的完全镜像操作具有更低的资源密集度(resource intensive)。另外,响应写操作、存储在保留存储器中的数据可以是一个相对于一个完整文件有良好粒度(granularity)的数据块。例如,在大容量存储设备中响应写操作、存储在保留存储器里的数据可以是该大容量存储设备中一个扇区、或是一个部分或片断。按照本方法,在一个保留存储器中存储数据可以避免响应写操作而复制整个文件,且允许数据可以独立于该数据的任何文件结构存储。本发明的其他特征和优点将在后面详细阐明,其中部分内容可以从该说明中显而易见,或者可以通过本发明的实践而了解。可以通过在附带权利要求中指出的方法和组合来了解和获得本发明的特征和优点。本发明的这些和其他特征通过后面的说明及附带的权利要求将更加清楚,或者也可通过在下文中介绍的本发明的应用来了解。
附图简述
为了获得上述方法和本发明的其他优点和特征,一个如上所述的本发明的更具体描述将通过参考一个在附图中解释的具体的实施例来提供。应理解,这些图仅仅描述本发明的典型实施例,并不意味着限制本发明的范围,本发明将利用如下附图来详细描述和解释本发明:
图1是表示带有相连大容量存储设备和保留存储器、可以实现本发明的计算机系统框图。
图2是图1中计算机系统的框图,显示在T0时刻存储在大容量存储设备中的数据。
图3说明一系列写操作,其中被覆盖的数据块被存储在一个保留存储器。
图4说明一个操作,其中在大容量存储设备中的数据在一个数据损坏的情况下被增量恢复。
图5说明一个虚拟设备的操作,该操作显示在一个大容量存储设备中包括一个数据之前状态的拷贝。
图6说明一个表示实现本发明相宜的操作环境的计算机系统。
优选实施例详述
本发明涉及计算机数据的备份与恢复。具体而言,本发明能够恢复已损坏数据,而不需要将该数据完全恢复到最近的完全镜像数据拷贝。在创建该数据的一个镜像拷贝后,将要被覆盖的数据块被存储在一个保留存储器中。这些数据块都关联一个时间戳或标志时间的信息,或者是这些数据块被覆盖或在该大容量存储设备中原始数据被覆盖的先后顺序的信息。一般而言,术语“时间戳”指任何用来表示存储在保留存储器中数据块的先后顺序或时间的信息当发生数据损坏时,保留存储器中的数据块可以用来将在该大容量存储设备中该数据当前的损坏拷贝增量修复为一个有效数据集。图1解释一个可以用来实现本发明的计算机系统。图1中的计算机系统包括一个计算机10,一个大容量存储器12,一个保留存储器14以及一个I/O设备16。计算机10可以是管理、生成、存储及其他数据处理的任一计算机或其他处理设备。例如,计算机10可以是一台传统的个人电脑,一台服务器,特定用途的计算机等等类似的设备。后文将讲解的图6中详细介绍了一个可以应用本发明的计算机实例。
大容量存储设备12和计算机10相连,用于存储从计算机10中获得的数据。一般而言,大容量存储器12是一个可写的、稳定的大容量存储设备。具体而言,大容量存储器12可以是连接在传统个人计算机上的硬盘,或任何其他用于存储从计算机10上所获得数据的存储设备。
保留存储器14是一个和计算机10相连的物理或逻辑设备,用以保存在大容量存储器12中将被覆盖的数据块。保留存储器14可以是一易失性存储设备,例如随机存储器(RAM),或其他任何用于存储大容量存储器12中将被覆盖数据块的设备。尽管在图1中保留存储器被表示成一个独立的设备,但该保留存储器可以是大容量存储器12的一部分。
如图1所示,计算机10还可包括一个允许用户操作由计算机10处理且存储在该大容量存储器12中的数据输入/输出(I/O)设备16。另外,典型的计算机10包括由该大容量存储设备12来满足的数据存储要求的应用或软件。但是一般而言,本发明可以充分扩展应用于任何带软、硬件的计算机10,只要其中包含一个用于存储数据的大容量存储器12和一个用于存储覆盖数据块的保留存储器14。
图2表示了图1中的计算机系统处于T0时刻,此时大容量设备12包括一个存储给定数据的数据块集。在图2示例中,为便于说明,大容量存储器12显示为包含五个数据块,分别定义为数据块A、B、C、D、E。假设在T0时刻已建立并存储了大容量存储器中的所有数据的镜像或其他形式的备份拷贝。可以通过任何方式产生在T0时刻获得的数据的镜像或备份拷贝,包括传统的方式。
根据大容量存储器12中数据的特性,获得时刻T0包括逻辑一致的数据的镜像或备份拷贝是有益的。当存储在大容量设备12中的数据表示处理时,其中为了获得一个有效或有用的数据集,每个处理都要求多个写操作或要求其他多个I/O操作,这尤为重要。当一个处理中的所有必需的操作或所需的一系列I/O操作未全部完成,数据就是逻辑上不一致的。因此,根据大容量存储器12中的数据的特性,T0时刻数据的镜像或备份拷贝必须是逻辑上一致的数据。
在T0时刻获得的该数据镜像或备份拷贝,使得T0时刻大容量存储设备12上的数据块A、B、C、D、E可以通过存取该数据的镜像或备份拷贝来重建。但如上所述,完全镜像或备份操作会耗费较多的时间与带宽,因此这种操作需要以较低频率进行。如上所述,且在后面还会更详细的介绍,本发明利用保留存储器14来存储数据块,使得大容量存储设备12中的数据可以在不需要将数据完全恢复到T0时刻,通过一个相反的先后顺序增量恢复。尽管大容量存储设备12中数据的定期镜像或备份拷贝通常是有利的,但本发明可以仅依靠存储在保留存储器14中的数据而不需要定期的镜像或备份拷贝。
为了描述时刻T0之后数据是如何存储在保留存储器中的,图3表示在大容量存储设备中的一个数据块集的一个特定实例与应用其上的多个写操作。如图3所示,在时刻T0保存在大容量存储器中的数据块20表示为(A,B,C,D,E)。在时刻T1.0,图2中的计算机10发出一个写请求,借此用数据块30A1来覆盖已存在的数据块A,并形成一个新的数据块集20a(A1,B,C,D,E)。一般而言,响应此写请求之后,在用新的数据块来覆盖该大容量存储设备中的数据块之前,现存的数据块被存储在保留存储器里,并带上一个时间戳。
在这个例子里,在T1.0时刻,数据块A被写入到该保留存储器中,并如40a所示,带有一个表示T1.0时刻的时间戳。因此,尽管在大容量存储器中数据块A被覆盖,但数据块A已被存储在该保留存储器中,以备将来某个时间用于重建被损坏的数据。
在T1.1时刻,数据块30b(D1)被存储到大容量存储设备中,从而形成新的数据块集20b(A1,B,C,D1,E)数据集。在此写操作之前,将要被覆盖的数据块D存储在该保留存储器中,并如40b所示,带有一个表示T1.1时刻的时间戳。在T1.2时刻,发生一个数据损坏事件,导致数据块30c(Dx)被写入存储在该大容量存储设备中的数据。如本例中所使用的,下标“x”和“y”表示损坏的数据。可能有多种原因导致数据损坏,如数据输入问题、软件问题、硬件问题,等等。T1.2时刻的数据损坏事件导致新的数据块集20c(A1,B,C,Dx,E)。在写操作之前,将被覆盖的数据块D1被存储在保留存储器中,并如40c所示,带有一个表示T1.2时刻的时间戳。
在T1.3时刻,数据块30d(B1)被写入存储在大容量存储器中的数据,并形成新的数据集20d(A1,B1,C,Dx,E)。在写操作之前,将被覆盖的数据块B被存储在该保留存储器,并如40d所示,带有一个表示T1.3时刻的时间戳。
最后,在T1.4时刻,发生另一次数据损坏事件,导致数据块30e(Dy)被写入存储在大容量存储器中的数据。T1.4时刻的数据损坏事件形成了新的数据块集20e(A1,B1,C,Dy,E)。在写操作之前,将被覆盖的数据块Dx存储在该保留存储器,并如40e所示,带上一个表示T1.4时刻的时间戳。
因此,在T1.4时刻,在大容量存储器中现存的数据块集20e是(A1,B1,C,Dy,E)。如上所述,数据块Dy表示损坏的数据,它可能使大容量存储器中所有数据块都失效。在T1.4时刻,保留存储器中存储了数据块集合(A,D,D1,B,Dx),及相应的时间戳(T1.0,T1.1,T1.2,T1.3,T1.4)。
因为在T0时刻之后发生了数据损坏事件,所以可以通过存取T0时刻创建的所有数据的任何镜像或备份拷贝完全恢复到在该大容量存储器中存在过的数据来获得一个数据的有效集。但是,完全恢复到T0时刻的数据将导致丢失在T0后写入该大容量存储设备的所有数据。因此,根据本发明,存储在保留存储器中的数据块被用来以一个相反的先后顺序增量恢复该大容量存储设备中的数据到一个如图4所示的有效、无损坏的数据状态。图4中的保留存储器在T2时刻包括在T1.4时刻时刻存储在保留存储器中的数据块集和相应的时间戳。依此类推,图4中的大容量存储器在时刻T2包括图3中T1.4时刻的数据块集20e(A1,B1,C,Dy,E)。
在图4所示的数据恢复操作,开始于当前的可能损坏数据块集20e和存储在保留存储器中的数据块集40e。时间戳T1.0-T1.4用来以相反的先后顺序重建在大容量存储设备中之前存在的数据。因此,在保留存储器(Dx)中最近的存储数据块被写入T2时刻存在的数据集以回滚该大容量存储设备中的数据集到T3时刻的状态,产生一个数据块集(A1,B1,C,Dx,E)。
需要注意的是,图4中说明的这种回滚该大容量存储设备中数据的操作可以利用存储在该大容量存储设备的数据集或该数据集的拷贝来执行。
回滚到T1.3时刻之后,通过计算机或手动,根据数据块Dx被损坏来确定T1.3时刻的数据集20d依表示损坏的数据。因为数据块依然有损坏,则利用该保留存储器中带时间戳T1.3的数据块B来进一步回滚该大容量存储设备中的数据到T1.2时刻的状态。因此,产生表示T1.2时刻时大容量存储器中存储的数据块集20c(A1,B,C,Dx,E)。因为数据块集20c也包含损坏的数据块Dx,所以可以确定该数据块表示损坏数据。相应的,继续按照相反的先后顺序写入在该大容量存储设备中的数据来将数据进一步回滚到T1.1时刻的状态。其中,带有时间戳T1.2的数据块D1被写入到大容量存储器中,产生大容量存储设备T1.1时刻的数据块集20b(A1,B,C,D1,E)。
此时,可确定数据集数据集20b(A1,B,C,D1,E)是一个有效且未损坏的数据集。因此,该保留存储器中的数据块被用于按相反的先后顺序来增量恢复该大容量存储设备中的数据,直至获得一个有效的数据集。必须指出,此时数据块20b(A1,B,C,D1,E)包含特定数据(例如A1和D1),这些特定数据本不应包括在已将数据完全还原到T0时刻所镜像或备份的拷贝数据的被恢复数据中。而且恢复这种更新的数据块并不需要在T0之后再做完全数据镜像或备份。
如前所述,恢复数据的操作一般包括以相反的顺序应用该保留存储器中的数据块到该大容量存储设备中数据块的现存拷贝上,直到这些数据块表示有效、没有损失的数据。
由此可见,当写操作数量较多或者较频繁时,保留存储器中的数据块数目会快速上升。因此,在实践中,要在数据完全镜像或备份操作频率与保留存储器中存储数据块数目之间折衷。在一个实施例中,完全镜像或备份操作的频率由保留存储器被填满或到达某一存储量的频率决定。换言之,当保留存储器中的数据量到达保留存储器的容量上限时,就对大容量存储器进行完全镜像或备份操作。同时丢弃保留存储器中所有的数据,因为大容量存储器中最新的数据的完全镜像或备份已创建起来,所以不需要保留存储器中的数据。
虽然本发明已经描述一种在数据损坏事件发生时,按相反先后顺序来增量恢复损坏数据的方法,但本发明还有其他的用途。例如,可以根据其他原因而用保留存储器中的数据块将大容量存储器中的数据恢复到之前某个状态。实际上,很多场合中用户会希望获得大容量存储器中之前某时刻存储的数据。
在另一个实施例中,将保存在保留存储器中的数据和一些有选择的时间点上的数据的镜像或备份相结合,以用于将数据恢复到建立镜像或备份之前的某个状态。如上图4中所述,在保留存储器中存储的,比大容量存储器中被覆盖的数据更早的数据块可以用来将大容量存储器的状态增量式地恢复。所以,如果在保留存储器中存储了一系列在时间上比大容量存储器数据的完全数据镜像或备份副本还早的数据块,就可以用保留存储器中的这一系列数据块将数据的镜像或备份考本的状态增量式地恢复到所需时刻的状态。
通过保留存储器中的已覆盖数据块,本发明可用来创建一个虚拟的大容量存储器(“虚拟设备”),从而允许访问大容量存储器中以前保存的数据。图5中的虚拟设备50,从访问虚拟设备的用户或应用,即数据访问程序60的角度来看,虚拟设备就如保存了过去保存过的数据一般。例如,可以通过操作系统及其文件系统来访问虚拟设备,这时虚拟设备就如安装在图1的计算机10上的另一个硬盘。
图5中说明了一种利用虚拟设备50来存取在过去某个时间点存在的数据的方法例子,该方法利了用图3和图4中所描述的数据集。在图5的例子中,图4中已说明可通过使用保留存储器14中的数据块40e,把大容量存储器12中的数据块20e回滚到T1.1时刻所处的状态,以获得有效未损坏的数据块集。
当利用虚拟设备50访问数据时,数据访问程序60向虚拟设备50发送一个读取请求70,而不是向大容量存储器12或保留存储器14的相应地址发送请求。在例子中,用读请求访问在造成损坏数据块Dx和Dy的数据损坏事件发生之前的大容量存储器12中最新的数据。如前所述,在受损数据块Dx写入之前存在一个正确的数据块集合,此集合是可以获得的。换言之,就在发生数据损坏的时刻T1.2之前的时刻T1.1,就可以获得其正确的数据集合。
在接收到读数据的请求后,因所请求读取的数据存在于先前的、未损坏的状态中,虚拟设备将确定满足读请求的数据是从大容量存储器12中还是从保留存储器14中获得。如果读请求被指向保留存储器中数据损坏事件发生时刻或之后(也即T1.2时刻或之后)的某个无损坏版本的数据块,则用访问到的所述的数据块中最旧的一个来响应读请求。例如,如果数据访问程序60要求访问“D”位置上最新的正确的数据,则用保留存储器中T1.2时刻或之后最旧的未损坏数据块来响应读取请求。在接到读“D”数据块的请求之后,虚拟设备就访问图5中用阴影标示的数据块D1。与此类似,在处理读取“B”数据块的请求时,则访问保留存储器(14)中如图五中阴影标示的数据块B。
但是,如果读取请求要读取的数据块在保留存储器中没有保存相应的、数据损坏时刻或之后(即T1.2时刻或之后)的未损坏的数据块的备份,则需要根据读取请求访问大容量存储器12中的相应数据块。例如,读“A”、“C”、“E”位置数据块的读请求就会访问到大容量存储器12中如图五中阴影标示的A1、C和E数据块。按上述方法,数据访问程序60就可以通过虚拟设备来访问之前某时刻存储过的全部数据块集,例如上述例子,就是(A1,B,C,D1,E)数据块集。其中由虚拟设备确定读取哪个数据块,以及是从大容量存储器12还是从保留存储器14读取数据块。因此,数据访问程序60就可以在不需要知道大容量存储器12、保留存储器14及它们上面存储的数据细节的条件下,仅通过简单的向虚拟设备50发送读请求就可获得数据,就如虚拟设备中保存了以往的数据集一般。
在一个实施例中,也可以通过图5所示的方式来重建一个以往的数据集。具体而言,即可以按如上所述方法,通过虚拟设备读取到以往某时刻的未损坏的数据块集。这样数据访问程序60就获得了一个以往某时刻的无损坏的数据,以做他用。
本发明的实施例可以包括一个包含多个部件的特殊用途或一般用途的计算机,这将在下文中详述。本发明领域内的实施例可能包含用来存储或携带计算机可执行指令或数据结构的计算机可读媒介。这种计算机可读媒介可以是任何一般用途计算机或特殊用途计算机可访问的媒介。试举几例,但并不局限于此,上述的计算机可读媒介可以是RAM(随机访问存储器)、ROM(只读存储器)、EEPROM(电可擦只读存储器)、CD-ROM(只读光盘)或者其他的光盘存储器、磁盘存储器及其他磁存储器,或者其他任何可以用于存放和携带计算机可执行指令形式的特定程序代码装置或可被一般用途计算机或者特殊用途计算机访问的数据结构的媒介。
当通过网络或其他通讯连接(如如有线、无线或有线无线的结合)给计算机发送或提供信息时,计算机把该连接也视为一个计算机可读媒介。也即任何上述的通讯连接都被称为计算机可读媒介。如果系统中包含上述连接方式的结合体,则结合体也应被视为计算机可读媒介。而计算机可执行指令则由比如指令和数据组成,它可以使一般用途计算机、特殊用途计算机或特殊用途处理器完成一个或多个函数。
图6及后文将对可以运用本发明的适合的计算环境做一个简单的、一般性的介绍。尽管不是必须的,但本发明可以表示成一般的计算机可执行命令形式,如程序模块形式,并由网络环境中的计算机调用。一般而言,程序模块包括完成特殊任务或实现特定抽象数据类型的例程、程序、对象、组件和数据结构等等。下文将介绍计算机可执行指令及其相关的数据结构,以及本文所披露发明的执行步骤例程的程序模块示例。并用一个可执行命令的特定序列来表示实现本发明上述功能步骤的特定操作。
本领域一般技术人员可理解本发明在包含了各种计算机系统配置,如个人计算机、手提设备、移动电话、个人数字助理(“PDAs”)、多处理器系统、基于微处理器的或用户可编程的电子设备、网络PCs、小型计算机、大型计算机等等类似图1所例示系统的网络计算机环境下实施。本发明也可应用在分布式计算环境中,即本地的处理设备和远端的处理设备通过通讯网络(有线的,或无线的,或有线无线相结合的)相连并共同完成各种任务的环境。
如图6所示,一个实现本发明的系统包括了一个以计算机120表示的一般用途的计算设备,该设备包括一个处理单元121,一个系统存储器122,一个将各系统部件,包括系统存储器122和处理单元121相连的系统总线123。图6中所示的计算机120及其相关部件是图1中的计算机10的详细说明。系统总线123可以是任意一种总线体系结构,其中包括存储器总线或存储控制器、外围总线和局部总线。系统存储器可以包括只读存储器(“ROM”)124和随机访问存储器(“RAM”)125。ROM124中可以有基本输入/输出系统(“BIOS”)126,其中包含了用于如在启动时计算机120内各部件间传送信息的例程。
计算机120还可以包括一个硬盘驱动器127用于从硬盘139上读写数据,一个硬盘驱动器128用于从可移动硬盘129读写数据,一个光盘驱动器130用于从可移动光盘131,比如CD-ROM或其他光媒介上读写数据。硬盘驱动器127、磁盘驱动器128和光盘驱动器130分别由硬盘驱动器接口132、磁盘驱动器接口133和光盘驱动器接口134连接到系统总线123上。这些驱动器及其相连的计算机可读媒介为计算机120用于稳定地存储计算机的可执行指令、数据结构、程序模块及其他数据。尽管本文所举的示例系统中采用的是硬盘139,可移动软盘129和可移动光盘131,但也可以采用其他类型的用于存储数据的计算机可读媒介,包括磁带机、闪存卡、通用数字盘、贝努里(Bernoulli)编码磁带盒、RAM、ROM等等。
程序代码装置包含了存放在硬盘139、光盘131、ROM124或RAM125上的一个或多个程序模块,其由一个操作系统135、一个或多个应用程序136、其他程序模块137及程序数据138组成。用户可以通过键盘140、定点设备142或其他输入设备(未图示)比如话筒、游戏杆、游戏柄、碟形卫星天线、扫描仪等等之类的设备来将命令和信息输入计算机120。上述这些输入设备通常都通过连在系统总线123上的一个串行接口146连接到处理单元121。当然,它们也可通过其他接口连接到计算机,比如说并行接口、游戏端口或通用串行总线(“USB”)。监视器147或其他显示设备通过一个接口,比如说视频适配器148,连接到系统总线123上。除了显示器,个人计算机通常还包括其他输出设备(未图示),例如扬声器和打印机。
计算机120可以利用连接到一个或多个远程计算机的逻辑连接,如图6中的远端计算机149a和149b,工作在一个网络环境中。远端计算机149a和149b可以分别是其他的个人计算机,或服务器、路由器、网络PC、同级(peer)设备及其他常见的网络节点设备。远端计算机149a和149b可以包含计算机120所包含的部分或所有部件,尽管在图6中它们分别只包含了内存存储器150a和150b及其相关的应用程序136a和136b。图6中举例显示的逻辑连接方式有局域网(LAN)151和广域网(WAN)152,但实际中并不限于此两种。上述的网络环境在办公室网络、企业计算机网络、企业内部互联网及国际互联网中很常见。
在局域网环境中,计算机120通过一个网络接口适配器153或类似的适配器连接到局域网151。在广域网环境中,计算机可能要包括一个调制解调器154,一个无线链路或其他的设备以连接上广域网152,如国际互联网。内置式或外置式的调制解调器154通过一个串行接口146连接到系统总线123。在网络环境中,关于计算机120的程序模块,或其中部分模块可以存放在远端的内存存储器上。显示的本网络连接只是示范性的,其他获得广域网连接的方法也可使用。
本发明亦可用其他形式来说明,且并不违背它的本质特性。上述的实施例从各方面来考虑仅仅是说明性的,并不严谨。所以,本发明的范围将通过后面附带的权利要求书来表述,而非以上说明。所有在等同于权利要求书的方法和范围中出现的修改,都将包含在它们的范围里。

Claims (20)

1.在包含有存储多个数据块的大容量存储设备的计算机系统中,一种在允许访问大容量存储设备先前状态的同时更新数据块的方法,包括以下操作:
对所述多个数据块中的每一个,接收写请求以用新数据块覆盖大容量存储器中的所述数据块;
对所述多个数据块中的每一个,在执行所述写操作之前,将现有数据块的拷贝保存到与所述计算机系统相关的一个保留存储器中并将保留存储器中的该数据块拷贝与一个时间戳关联,使得在保留存储器中形成一个数据块序列,该数据块序列使得所述大容量存储设备上的数据以相反的先后顺序增量地恢复;及
对所述多个数据块中的每一个,执行写操作,使得新的数据块覆盖大容量存储器中的所述数据块。
2.如权利要求1中所述的方法,其特征在于所述保留存储器包括一个易失性的存储设备。
3.如权利要求1中所述的方法,其特征在于所述保留存储器包括大容量存储器的一部分。
4.如权利要求1中所述的方法,还包括在执行接收写请求前创建该大容量存储设备中多个数据块的一个备份拷贝的操作。
5.如权利要求6中所述的方法,其特征在于当所述多个数据块是逻辑上一致的数据时才创建这些数据的备份拷贝。
6.如权利要求1中所述的方法,还包括利用存储在所述保留存储器中的现有数据块备份,将大容量存储器中存储的所述多个数据块恢复到先前所处的状态的操作。
7.如权利要求1中所述的方法,还包括响应一个或多个要覆盖现有数据块的写请求而将一个现有数据块序列存储到保留存储器中,并将该序列的每一个现有数据块与一个时间戳关联的操作。
8.如权利要求7中所述的方法,还包括利用所述保留存储器中存储的所述数据块序列将大容量存储器中的多个数据块恢复到先前状态的操作。
9.如权利要求8中所述的方法,还包括在大容量存储器中遭受数据损坏事件,其中执行恢复所述多个数据块的操作以获得无损坏数据。
10.如权利要求8中所述的方法,其特征在于恢复数据操作包括按照相反的先后顺序用保留存储器中存储的现有数据块序列来施加给大容量存储器中存储的所述多个数据块的最新版本。
11.如权利要求9中所述的方法,其特征在于,恢复所述大容量存储器中多个数据块以获得无损坏数据的操作,其中恢复数据的操作中还包括确定是否已获得无损坏数据的操作。
12.如权利要求1中所述的方法,还包括在计算机系统中建立虚拟设备的操作,该虚拟设备就如含有存储在该大容量存储器中的之前某时刻状态下存在的多个数据块一般。
13.如权利要求12中所述的方法,还包括如下操作:
虚拟设备接收读取某特定数据块的请求;
响应该读请求;
若保留存储器中存在之前某时刻及其后时间存入保留存储器中的,所需读取数据块的无损坏拷贝,则用保留存储器中这些无损坏数据块版本中最旧的数据块来处理读取请求;
若保留存储器中不包含所述的之前某时刻及其后时间的所需读取数据块的无损坏数据块拷贝,则用大容量存储器中保存的所被请求的数据块的一个数据块版本来处理读取请求。
14.如权利要求1中所述的方法,其特征在于恢复操作一直持续到所述大容量存储设备上获得一个有效的数据集。
15.如权利要求1中所述的方法,其特征在于所述序列的第一存储数据块与所述序列的第二存储数据块时间戳不同。
16.一个提供访问之前某时刻的数据块的计算机系统,包括:
一个保存多个响应写请求而将被覆盖的数据块的大容量存储器;
一个在大容量存储器中某数据块响应写请求而将被覆盖之前,接收并存储该数据块的拷贝,并在每一个所述拷贝上加上相应时间戳的保留存储器,其中所述数据块的副本使得所述大容量存储设备上的所述多个数据块以相反的先后顺序增量地恢复;
一个可以用来访问大容量存储器中的当前版本数据块及保留存储器中数据块拷贝的虚拟设备,其特征在于该虚拟设备在响应访问之前某时刻的某特定数据块数据的读取请求后,确定是应从大容量存储器中读取特定数据块的当前版本还是从保留存储器中读取特定数据块的一个拷贝。
17.如权利要求16中所述的计算机系统,其特征在于所述保留存储器包括大容量存储器的一部分。
18.如权利要求16中所述的计算机系统,其特征在于所述虚拟设备从数据访问程序的角度来看,就如保存了之前某时刻大容量存储器中的数据一般。
19.如权利要求16中所述的计算机系统,其特征在于所述虚拟设备在响应读取请求,并执行如下操作:
若保留存储器中保存了在之前某时刻及其后时间存入到保留存储器中的特定数据块的无损坏版本,则用保留存储器中特定数据块的这些数据块版本中最旧的一个数据块来处理读取请求;
若保留存储器中没保存所述的之前某时刻及其后时间存入到保留存储器中的特定数据块的无损坏版本,则用大容量存储器中特定数据块的一个数据块版本处理读取请求。
20.如权利要求17中所述的计算机系统,还包括在接收写请求之前建立数据块备份拷贝的方法。
CNB01821116XA 2000-12-21 2001-12-21 用于备份和恢复计算机数据的方法和装置 Expired - Lifetime CN1230747C (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US25749900P 2000-12-21 2000-12-21
US60/257,499 2000-12-21
US10/029,189 2001-12-20
US10/029,189 US6871271B2 (en) 2000-12-21 2001-12-20 Incrementally restoring a mass storage device to a prior state

Publications (2)

Publication Number Publication Date
CN1483164A CN1483164A (zh) 2004-03-17
CN1230747C true CN1230747C (zh) 2005-12-07

Family

ID=26704648

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB01821116XA Expired - Lifetime CN1230747C (zh) 2000-12-21 2001-12-21 用于备份和恢复计算机数据的方法和装置

Country Status (7)

Country Link
US (1) US6871271B2 (zh)
EP (1) EP1344134A4 (zh)
JP (1) JP2004518216A (zh)
KR (1) KR100608274B1 (zh)
CN (1) CN1230747C (zh)
CA (1) CA2432794A1 (zh)
WO (1) WO2002059749A1 (zh)

Families Citing this family (138)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6886160B1 (en) * 2000-11-29 2005-04-26 Hyung Sup Lee Distribution of mainframe data in the PC environment
US7149787B1 (en) * 2001-06-07 2006-12-12 Emc Corporation Apparatus and method for mirroring and restoring data
US7761449B2 (en) * 2001-08-09 2010-07-20 Hewlett-Packard Development Company, L.P. Self-disentangling data storage technique
US7346623B2 (en) 2001-09-28 2008-03-18 Commvault Systems, Inc. System and method for generating and managing quick recovery volumes
US7778958B2 (en) * 2002-04-11 2010-08-17 Quantum Corporation Recovery of data on a primary data volume
AU2003279847A1 (en) * 2002-10-07 2004-05-04 Commvault Systems, Inc. System and method for managing stored data
US7284149B1 (en) * 2002-10-16 2007-10-16 Ken Scott Fisher Intermittent connection protection for external computer devices
JP2004171206A (ja) * 2002-11-19 2004-06-17 Hitachi Ltd ストレージシステム
US7613773B2 (en) * 2002-12-31 2009-11-03 Rensselaer Polytechnic Institute Asynchronous network audio/visual collaboration system
US7769722B1 (en) 2006-12-08 2010-08-03 Emc Corporation Replication and restoration of multiple data storage object types in a data network
JP2004334434A (ja) 2003-05-06 2004-11-25 Hitachi Ltd 双方向コピー制御機能を有する記憶装置システム
US7567991B2 (en) * 2003-06-25 2009-07-28 Emc Corporation Replication of snapshot using a file system copy differential
US7117326B2 (en) * 2003-06-26 2006-10-03 Intel Corporation Tracking modifications to a memory
US7028156B1 (en) 2003-07-01 2006-04-11 Veritas Operating Corporation Use of read data tracking and caching to recover from data corruption
US7028139B1 (en) 2003-07-03 2006-04-11 Veritas Operating Corporation Application-assisted recovery from data corruption in parity RAID storage using successive re-reads
US7024527B1 (en) 2003-07-18 2006-04-04 Veritas Operating Corporation Data restore mechanism
US8856927B1 (en) 2003-07-22 2014-10-07 Acronis International Gmbh System and method for using snapshots for rootkit detection
US7047380B2 (en) * 2003-07-22 2006-05-16 Acronis Inc. System and method for using file system snapshots for online data backup
US8238696B2 (en) 2003-08-21 2012-08-07 Microsoft Corporation Systems and methods for the implementation of a digital images schema for organizing units of information manageable by a hardware/software interface system
US8166101B2 (en) 2003-08-21 2012-04-24 Microsoft Corporation Systems and methods for the implementation of a synchronization schemas for units of information manageable by a hardware/software interface system
US7836337B1 (en) * 2003-09-12 2010-11-16 Wavelink Corporation Method and system for restoration of a mobile device to its state prior to loss of standard memory
US7991748B2 (en) * 2003-09-23 2011-08-02 Symantec Corporation Virtual data store creation and use
US7287133B2 (en) 2004-08-24 2007-10-23 Symantec Operating Corporation Systems and methods for providing a modification history for a location within a data store
US7827362B2 (en) * 2004-08-24 2010-11-02 Symantec Corporation Systems, apparatus, and methods for processing I/O requests
US7577806B2 (en) * 2003-09-23 2009-08-18 Symantec Operating Corporation Systems and methods for time dependent data storage and recovery
US7725760B2 (en) * 2003-09-23 2010-05-25 Symantec Operating Corporation Data storage system
US7577807B2 (en) * 2003-09-23 2009-08-18 Symantec Operating Corporation Methods and devices for restoring a portion of a data store
US7409587B2 (en) * 2004-08-24 2008-08-05 Symantec Operating Corporation Recovering from storage transaction failures using checkpoints
US7730222B2 (en) 2004-08-24 2010-06-01 Symantec Operating System Processing storage-related I/O requests using binary tree data structures
US7904428B2 (en) * 2003-09-23 2011-03-08 Symantec Corporation Methods and apparatus for recording write requests directed to a data store
CA2548542C (en) * 2003-11-13 2011-08-09 Commvault Systems, Inc. System and method for performing a snapshot and for restoring data
WO2005050385A2 (en) 2003-11-13 2005-06-02 Commvault Systems, Inc. System and method for performing integrated storage operations
US20050149554A1 (en) * 2003-12-29 2005-07-07 Chong Fay Jr. One-way data mirror using write logging
US20050166022A1 (en) * 2004-01-28 2005-07-28 Hitachi, Ltd. Method and apparatus for copying and backup in storage systems
CN100455031C (zh) * 2004-02-09 2009-01-21 深圳创维-Rgb电子有限公司 一种对存储器数据进行随机处理的装置和方法
US7433899B2 (en) * 2004-03-01 2008-10-07 International Business Machines Corporation Apparatus, system, and method for managing multiple copy versions
JP2005301497A (ja) * 2004-04-08 2005-10-27 Hitachi Ltd ストレージ管理装置、リストア方法及びそのプログラム
US7143120B2 (en) * 2004-05-03 2006-11-28 Microsoft Corporation Systems and methods for automated maintenance and repair of database and file systems
US7644239B2 (en) 2004-05-03 2010-01-05 Microsoft Corporation Non-volatile memory cache performance improvement
US20060004890A1 (en) * 2004-06-10 2006-01-05 International Business Machines Corporation Methods and systems for providing directory services for file systems
US7831782B1 (en) * 2004-06-30 2010-11-09 Symantec Operating Corporation Roll-back log to provide data consistency
US7739464B1 (en) 2004-06-30 2010-06-15 Symantec Operating Corporation Consistent backups of data using a roll-back log
US8010759B1 (en) * 2004-06-30 2011-08-30 Symantec Operating Corporation Extent redirect
US7620785B1 (en) * 2004-06-30 2009-11-17 Symantec Operating Corporation Using roll-forward and roll-backward logs to restore a data volume
JP4477950B2 (ja) * 2004-07-07 2010-06-09 株式会社日立製作所 リモートコピーシステム及び記憶装置システム
JP2008507777A (ja) * 2004-07-23 2008-03-13 イーエムシー コーポレイション データレプリカのリモート記憶
US7577804B2 (en) * 2004-10-06 2009-08-18 International Business Machines Corporation Detecting data integrity
US7490197B2 (en) 2004-10-21 2009-02-10 Microsoft Corporation Using external memory devices to improve system performance
US8959299B2 (en) 2004-11-15 2015-02-17 Commvault Systems, Inc. Using a snapshot as a data source
CN100349127C (zh) * 2004-12-03 2007-11-14 华为技术有限公司 嵌入式系统数据备份装置及方法
US8060683B2 (en) * 2004-12-17 2011-11-15 International Business Machines Corporation System, method and program to preserve a cache of a virtual machine
US7987158B2 (en) * 2005-02-09 2011-07-26 International Business Machines Corporation Method, system and article of manufacture for metadata replication and restoration
US7928591B2 (en) * 2005-02-11 2011-04-19 Wintec Industries, Inc. Apparatus and method for predetermined component placement to a target platform
US7877787B2 (en) * 2005-02-14 2011-01-25 Nokia Corporation Method and apparatus for optimal transfer of data in a wireless communications system
US9009114B1 (en) * 2005-10-31 2015-04-14 Symantec Operating Corporation Version mapped incremental backups
US7756834B2 (en) * 2005-11-03 2010-07-13 I365 Inc. Malware and spyware attack recovery system and method
US7765187B2 (en) * 2005-11-29 2010-07-27 Emc Corporation Replication of a consistency group of data storage objects from servers in a data network
US7904425B2 (en) * 2005-12-13 2011-03-08 International Business Machines Corporation Generating backup sets to a specific point in time
US7627775B2 (en) * 2005-12-13 2009-12-01 International Business Machines Corporation Managing failures in mirrored systems
US8914557B2 (en) 2005-12-16 2014-12-16 Microsoft Corporation Optimizing write and wear performance for a memory
US8661216B2 (en) 2005-12-19 2014-02-25 Commvault Systems, Inc. Systems and methods for migrating components in a hierarchical storage network
US7962709B2 (en) * 2005-12-19 2011-06-14 Commvault Systems, Inc. Network redirector systems and methods for performing data replication
US7651593B2 (en) 2005-12-19 2010-01-26 Commvault Systems, Inc. Systems and methods for performing data replication
AU2006331932B2 (en) 2005-12-19 2012-09-06 Commvault Systems, Inc. Systems and methods for performing data replication
US7617262B2 (en) 2005-12-19 2009-11-10 Commvault Systems, Inc. Systems and methods for monitoring application data in a data replication system
US7636743B2 (en) 2005-12-19 2009-12-22 Commvault Systems, Inc. Pathname translation in a data replication system
US7606844B2 (en) 2005-12-19 2009-10-20 Commvault Systems, Inc. System and method for performing replication copy storage operations
US7823007B2 (en) * 2006-02-17 2010-10-26 International Business Machines Corporation Apparatus, system, and method for switching a volume address association in a point-in-time copy relationship
US8495037B1 (en) * 2006-02-21 2013-07-23 Symantec Operating Corporation Efficient isolation of backup versions of data objects affected by malicious software
US20070208918A1 (en) * 2006-03-01 2007-09-06 Kenneth Harbin Method and apparatus for providing virtual machine backup
US8726242B2 (en) 2006-07-27 2014-05-13 Commvault Systems, Inc. Systems and methods for continuous data replication
US8244695B2 (en) * 2006-09-01 2012-08-14 International Business Machines Corporation Validating stored copies of data images to load into memory
US9411976B2 (en) * 2006-12-01 2016-08-09 Maidsafe Foundation Communication system and method
US8706833B1 (en) 2006-12-08 2014-04-22 Emc Corporation Data storage server having common replication architecture for multiple storage object types
US7793148B2 (en) * 2007-01-12 2010-09-07 International Business Machines Corporation Using virtual copies in a failover and failback environment
US9597019B2 (en) * 2007-02-09 2017-03-21 Lifescan, Inc. Method of ensuring date and time on a test meter is accurate
US8290808B2 (en) * 2007-03-09 2012-10-16 Commvault Systems, Inc. System and method for automating customer-validated statement of work for a data storage environment
US8631203B2 (en) * 2007-12-10 2014-01-14 Microsoft Corporation Management of external memory functioning as virtual cache
US8032707B2 (en) 2008-09-15 2011-10-04 Microsoft Corporation Managing cache data and metadata
US9032151B2 (en) 2008-09-15 2015-05-12 Microsoft Technology Licensing, Llc Method and system for ensuring reliability of cache data and metadata subsequent to a reboot
US7953774B2 (en) 2008-09-19 2011-05-31 Microsoft Corporation Aggregation of write traffic to a data store
US8732417B1 (en) * 2008-10-15 2014-05-20 Symantec Corporation Techniques for creating snapshots of a target system
US8527720B2 (en) * 2008-12-03 2013-09-03 Lsi Corporation Methods of capturing and naming dynamic storage tiering configurations to support data pre-staging
US9495382B2 (en) * 2008-12-10 2016-11-15 Commvault Systems, Inc. Systems and methods for performing discrete data replication
US8204859B2 (en) 2008-12-10 2012-06-19 Commvault Systems, Inc. Systems and methods for managing replicated database data
US8135748B2 (en) * 2009-04-10 2012-03-13 PHD Virtual Technologies Virtual machine data replication
US8996826B2 (en) * 2009-04-28 2015-03-31 Symantec Corporation Techniques for system recovery using change tracking
US8918606B1 (en) * 2009-05-01 2014-12-23 Symantec Corporation Techniques for providing incremental backups
US8667246B2 (en) 2009-05-13 2014-03-04 Hewlett-Packard Development Company, L.P. System for virtual disks version control
US8719767B2 (en) 2011-03-31 2014-05-06 Commvault Systems, Inc. Utilizing snapshots to provide builds to developer computing devices
US9092500B2 (en) 2009-09-03 2015-07-28 Commvault Systems, Inc. Utilizing snapshots for access to databases and other applications
US8595191B2 (en) * 2009-12-31 2013-11-26 Commvault Systems, Inc. Systems and methods for performing data management operations using snapshots
US8433682B2 (en) 2009-12-31 2013-04-30 Commvault Systems, Inc. Systems and methods for analyzing snapshots
CN101835067A (zh) * 2009-12-29 2010-09-15 中兴通讯股份有限公司 Ason自动备份方法、还原方法及装置
US8341457B2 (en) * 2010-03-11 2012-12-25 Lsi Corporation System and method for optimizing redundancy restoration in distributed data layout environments
US8504517B2 (en) 2010-03-29 2013-08-06 Commvault Systems, Inc. Systems and methods for selective data replication
US8504515B2 (en) 2010-03-30 2013-08-06 Commvault Systems, Inc. Stubbing systems and methods in a data replication environment
US8352422B2 (en) 2010-03-30 2013-01-08 Commvault Systems, Inc. Data restore systems and methods in a replication environment
US8725698B2 (en) 2010-03-30 2014-05-13 Commvault Systems, Inc. Stub file prioritization in a data replication system
US20110252208A1 (en) * 2010-04-12 2011-10-13 Microsoft Corporation Express-full backup of a cluster shared virtual machine
US8489656B2 (en) 2010-05-28 2013-07-16 Commvault Systems, Inc. Systems and methods for performing data replication
US20120066676A1 (en) * 2010-09-09 2012-03-15 Yao Zu Dong Disabling circuitry from initiating modification, at least in part, of state-associated information
US8666944B2 (en) * 2010-09-29 2014-03-04 Symantec Corporation Method and system of performing a granular restore of a database from a differential backup
JP5762016B2 (ja) * 2011-01-28 2015-08-12 キヤノン株式会社 情報処理装置、制御方法、及びプログラム
US8589019B2 (en) 2011-05-13 2013-11-19 Qualcomm Incorporated Systems and methods for vehicle monitoring with processing interruption tolerance
CN102799598A (zh) * 2011-05-25 2012-11-28 英业达股份有限公司 重复数据删除的数据复原方法
CN102890679B (zh) * 2011-07-20 2017-05-31 中兴通讯股份有限公司 一种数据版本的处理方法及系统
CN102411523B (zh) * 2011-11-30 2014-08-20 广东威创视讯科技股份有限公司 文件备份存储方法、装置及其文件系统备份方法
US9767676B2 (en) * 2012-01-11 2017-09-19 Honeywell International Inc. Security system storage of persistent data
US9298715B2 (en) 2012-03-07 2016-03-29 Commvault Systems, Inc. Data storage system utilizing proxy device for storage operations
US9471578B2 (en) 2012-03-07 2016-10-18 Commvault Systems, Inc. Data storage system utilizing proxy device for storage operations
US9342537B2 (en) 2012-04-23 2016-05-17 Commvault Systems, Inc. Integrated snapshot interface for a data storage system
JP5991211B2 (ja) * 2012-05-25 2016-09-14 富士通株式会社 シミュレーション方法、およびシミュレーションプログラム
CN103514063B (zh) * 2012-06-21 2017-02-01 浙江大华技术股份有限公司 一种flash数据处理方法以及装置
CN103713914A (zh) * 2012-09-29 2014-04-09 鸿富锦精密工业(深圳)有限公司 数据更新系统及方法
US9262435B2 (en) 2013-01-11 2016-02-16 Commvault Systems, Inc. Location-based data synchronization management
US9886346B2 (en) 2013-01-11 2018-02-06 Commvault Systems, Inc. Single snapshot for multiple agents
US20140250077A1 (en) * 2013-03-01 2014-09-04 Storagecraft Technology Corporation Deduplication vault storage seeding
KR20150081810A (ko) * 2014-01-07 2015-07-15 한국전자통신연구원 데이터 저장장치에 대한 다중 스냅샷 관리 방법 및 장치
US9639426B2 (en) 2014-01-24 2017-05-02 Commvault Systems, Inc. Single snapshot for multiple applications
US9632874B2 (en) 2014-01-24 2017-04-25 Commvault Systems, Inc. Database application backup in single snapshot for multiple applications
US9753812B2 (en) 2014-01-24 2017-09-05 Commvault Systems, Inc. Generating mapping information for single snapshot for multiple applications
US9495251B2 (en) 2014-01-24 2016-11-15 Commvault Systems, Inc. Snapshot readiness checking and reporting
US10042716B2 (en) 2014-09-03 2018-08-07 Commvault Systems, Inc. Consolidated processing of storage-array commands using a forwarder media agent in conjunction with a snapshot-control media agent
US9774672B2 (en) 2014-09-03 2017-09-26 Commvault Systems, Inc. Consolidated processing of storage-array commands by a snapshot-control media agent
US9648105B2 (en) 2014-11-14 2017-05-09 Commvault Systems, Inc. Unified snapshot storage management, using an enhanced storage manager and enhanced media agents
US9448731B2 (en) 2014-11-14 2016-09-20 Commvault Systems, Inc. Unified snapshot storage management
US10311150B2 (en) 2015-04-10 2019-06-04 Commvault Systems, Inc. Using a Unix-based file system to manage and serve clones to windows-based computing clients
US10503753B2 (en) 2016-03-10 2019-12-10 Commvault Systems, Inc. Snapshot replication operations based on incremental block change tracking
CN106776120A (zh) * 2016-11-24 2017-05-31 珠海市魅族科技有限公司 数据恢复的方法及装置
CN109144772B (zh) * 2017-06-15 2021-03-30 北京京东尚科信息技术有限公司 备份数据库数据的方法和装置
US10776197B1 (en) * 2017-06-27 2020-09-15 EMC IP Holding Company LLC Detect and triage data integrity issue for virtual machine
US10740022B2 (en) 2018-02-14 2020-08-11 Commvault Systems, Inc. Block-level live browsing and private writable backup copies using an ISCSI server
US11042318B2 (en) 2019-07-29 2021-06-22 Commvault Systems, Inc. Block-level data replication
US20230244569A1 (en) * 2022-01-28 2023-08-03 Pure Storage, Inc. Recover Corrupted Data Through Speculative Bitflip And Cross-Validation
US11809285B2 (en) 2022-02-09 2023-11-07 Commvault Systems, Inc. Protecting a management database of a data storage management system to meet a recovery point objective (RPO)
US11656955B1 (en) 2022-03-23 2023-05-23 Bank Of America Corporation Database table valuation
US11797393B2 (en) 2022-03-23 2023-10-24 Bank Of America Corporation Table prioritization for data copy in a multi-environment setup

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4467421A (en) 1979-10-18 1984-08-21 Storage Technology Corporation Virtual storage system and method
JP2718031B2 (ja) 1987-07-17 1998-02-25 株式会社日立製作所 履歴情報取得方法
US5038278A (en) 1988-04-01 1991-08-06 Digital Equipment Corporation Cache with at least two fill rates
US5175849A (en) 1988-07-28 1992-12-29 Amdahl Corporation Capturing data of a database system
US5089958A (en) 1989-01-23 1992-02-18 Vortex Systems, Inc. Fault tolerant computer backup system
GB8915875D0 (en) 1989-07-11 1989-08-31 Intelligence Quotient United K A method of operating a data processing system
US5163148A (en) 1989-08-11 1992-11-10 Digital Equipment Corporation File backup system for producing a backup copy of a file which may be updated during backup
US5201044A (en) 1990-04-16 1993-04-06 International Business Machines Corporation Data processing method for file status recovery includes providing a log file of atomic transactions that may span both volatile and non volatile memory
US5157663A (en) 1990-09-24 1992-10-20 Novell, Inc. Fault tolerant computer system
US5426747A (en) 1991-03-22 1995-06-20 Object Design, Inc. Method and apparatus for virtual memory mapping and transaction management in an object-oriented database system
US5408642A (en) 1991-05-24 1995-04-18 Symantec Corporation Method for recovery of a computer program infected by a computer virus
US5414850A (en) 1991-08-23 1995-05-09 Stac Electronics, Inc. System for transparently compressing data files in a computer system
US5325519A (en) * 1991-10-18 1994-06-28 Texas Microsystems, Inc. Fault tolerant computer with archival rollback capabilities
US5410667A (en) 1992-04-17 1995-04-25 Storage Technology Corporation Data record copy system for a disk drive array data storage subsystem
US5263154A (en) 1992-04-20 1993-11-16 International Business Machines Corporation Method and system for incremental time zero backup copying of data
US5241670A (en) 1992-04-20 1993-08-31 International Business Machines Corporation Method and system for automated backup copy ordering in a time zero backup copy session
US5241668A (en) 1992-04-20 1993-08-31 International Business Machines Corporation Method and system for automated termination and resumption in a time zero backup copy process
US5379412A (en) 1992-04-20 1995-01-03 International Business Machines Corporation Method and system for dynamic allocation of buffer storage space during backup copying
US5448718A (en) 1992-04-20 1995-09-05 International Business Machines Corporation Method and system for time zero backup session security
US5379398A (en) 1992-04-20 1995-01-03 International Business Machines Corporation Method and system for concurrent access during backup copying of data
US5241669A (en) 1992-04-20 1993-08-31 International Business Machines Corporation Method and system for sidefile status polling in a time zero backup copy process
JPH0827754B2 (ja) 1992-05-21 1996-03-21 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュータシステムにおけるファイル管理方法及びファイル管理システム
US5403639A (en) 1992-09-02 1995-04-04 Storage Technology Corporation File server having snapshot application data groups
US5375232A (en) 1992-09-23 1994-12-20 International Business Machines Corporation Method and system for asynchronous pre-staging of backup copies in a data processing storage subsystem
JPH06266597A (ja) 1993-03-11 1994-09-22 Fujitsu Ltd ログ取得方式
WO1995001599A1 (en) 1993-07-01 1995-01-12 Legent Corporation System and method for distributed storage management on networked computer systems
ATE176824T1 (de) 1993-07-19 1999-03-15 Cheyenne Advanced Tech Ltd Dateisicherungssystem
GB2281644A (en) 1993-09-02 1995-03-08 Ibm Fault tolerant transaction-oriented data processing.
US5515502A (en) 1993-09-30 1996-05-07 Sybase, Inc. Data backup system with methods for stripe affinity backup to multiple archive devices
US5638509A (en) 1994-06-10 1997-06-10 Exabyte Corporation Data storage and protection system
US5435004A (en) 1994-07-21 1995-07-18 International Business Machines Corporation Computerized system and method for data backup
US5649152A (en) 1994-10-13 1997-07-15 Vinca Corporation Method and system for providing a static snapshot of data stored on a mass storage system
US5835953A (en) 1994-10-13 1998-11-10 Vinca Corporation Backup system that takes a snapshot of the locations in a mass storage device that has been identified for updating prior to updating
US5608684A (en) * 1994-10-13 1997-03-04 Hewlett-Packard Company System and method for RAM power and data backup utilizing a capacitor and ROM
JP3136258B2 (ja) 1995-09-27 2001-02-19 三菱電機株式会社 ディスク更新ログ記録方式
US5819020A (en) 1995-10-16 1998-10-06 Network Specialists, Inc. Real time backup system
US5719889A (en) 1995-12-20 1998-02-17 International Business Machines Corporation Programmable parity checking and comparison circuit
US5845292A (en) 1996-12-16 1998-12-01 Lucent Technologies Inc. System and method for restoring a distributed checkpointed database
US6073209A (en) * 1997-03-31 2000-06-06 Ark Research Corporation Data storage controller providing multiple hosts with access to multiple storage subsystems
JPH1153235A (ja) * 1997-08-08 1999-02-26 Toshiba Corp ディスク記憶装置のデータ更新方法、ならびにディスク記憶制御システム
US6131148A (en) * 1998-01-26 2000-10-10 International Business Machines Corporation Snapshot copy of a secondary volume of a PPRC pair
US6189079B1 (en) * 1998-05-22 2001-02-13 International Business Machines Corporation Data copy between peer-to-peer controllers
US6141773A (en) 1998-06-30 2000-10-31 Emc Corporation Method and apparatus for undoing changes to computer memory
US6295611B1 (en) 1998-12-14 2001-09-25 Sun Microsystems, Inc.. Method and system for software recovery
US6397307B2 (en) * 1999-02-23 2002-05-28 Legato Systems, Inc. Method and system for mirroring and archiving mass storage
US6463501B1 (en) * 1999-10-21 2002-10-08 International Business Machines Corporation Method, system and program for maintaining data consistency among updates across groups of storage areas using update times
US6625623B1 (en) * 1999-12-16 2003-09-23 Livevault Corporation Systems and methods for backing up data files

Also Published As

Publication number Publication date
US6871271B2 (en) 2005-03-22
KR20030063401A (ko) 2003-07-28
EP1344134A1 (en) 2003-09-17
JP2004518216A (ja) 2004-06-17
US20020112134A1 (en) 2002-08-15
WO2002059749A8 (en) 2003-03-06
WO2002059749A1 (en) 2002-08-01
EP1344134A4 (en) 2008-04-02
KR100608274B1 (ko) 2006-08-04
CN1483164A (zh) 2004-03-17
CA2432794A1 (en) 2002-08-01

Similar Documents

Publication Publication Date Title
CN1230747C (zh) 用于备份和恢复计算机数据的方法和装置
CN101243446B (zh) 从数据库镜像进行在线页还原
US7934262B1 (en) Methods and apparatus for virus detection using journal data
CN102880663B (zh) 部分去重复的文件的优化
US8161321B2 (en) Virtual machine-based on-demand parallel disaster recovery system and the method thereof
US8666942B2 (en) Systems and methods for managing snapshots of replicated databases
US7275075B2 (en) Copy process substituting compressible bit pattern for any unqualified data objects
US8229896B1 (en) Method and apparatus for identifying data blocks required for restoration
US9483357B2 (en) Selective restore from incremental block level backup
US9063893B1 (en) Methods and systems for creating full backups
US8862689B2 (en) Local flash memory and remote server hybrid continuous data protection
KR100515890B1 (ko) 효율적인 데이터베이스 복구방법
US7680998B1 (en) Journaled data backup during server quiescence or unavailability
CN1838083A (zh) 联网环境中有效的数据备份系统和方法
US20120016841A1 (en) Block level incremental backup
US20030056139A1 (en) Systems and methods for data backup over a network
CN1653427A (zh) 用于创建虚拟数据拷贝的方法和装置
US20080162594A1 (en) Data storage system and process
US7822827B2 (en) Continuous data protection and remote block-level storage for a data volume
US6668262B1 (en) Methods and apparatus for modifying a database
CN110941514B (zh) 一种数据备份方法、恢复方法、计算机设备和存储介质
US20110016093A1 (en) Operating system restoration using remote backup system and local system restore function
US9075809B1 (en) Methods and systems for application cluster virtual nodes
US20050278360A1 (en) Apparatus, system, and method for providing efficient disaster recovery storage of data using differencing
US8195612B1 (en) Method and apparatus for providing a catalog to optimize stream-based data restoration

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: EMC CO.,LTD.

Free format text: FORMER OWNER: LEGATO SYSTEMS INC.

Effective date: 20040604

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20040604

Address after: Marseille, USA

Applicant after: EMC Inc.

Address before: American California

Applicant before: Legato Systems Inc.

C14 Grant of patent or utility model
GR01 Patent grant
CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20051207