[go: up one dir, main page]

CN1997972A - Emulated storage system supporting instant volume restore - Google Patents

Emulated storage system supporting instant volume restore Download PDF

Info

Publication number
CN1997972A
CN1997972A CN 200480030746 CN200480030746A CN1997972A CN 1997972 A CN1997972 A CN 1997972A CN 200480030746 CN200480030746 CN 200480030746 CN 200480030746 A CN200480030746 A CN 200480030746A CN 1997972 A CN1997972 A CN 1997972A
Authority
CN
China
Prior art keywords
data
backup
file
storage system
tape
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.)
Pending
Application number
CN 200480030746
Other languages
Chinese (zh)
Inventor
米克洛斯·桑多菲
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.)
Hitachi Vantara LLC
Original Assignee
Sepaton 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 Sepaton Inc filed Critical Sepaton Inc
Publication of CN1997972A publication Critical patent/CN1997972A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

In a back-up storage system, an apparatus and methods for mounting a data volume corresponding to a back-up data set to a host computer. In one example, a method includes mounting a data volume on a host computer, the data volume comprising at least one data file, the data file corresponding to a most recently backed-up version of the at least one data file stored on a backup storage system, and storing, on the backup storage system, data corresponding to a second version of the at least one data file that is more recent than the most recently backed-up version of the at least one data file stored on the backup storage system while preserving the most recently backed-up version of the at least one data file.

Description

支持即时卷恢复的仿真存储系统Emulated storage system supporting instant volume recovery

技术领域technical field

本发明的各个方面涉及数据存储,更加确切地说,涉及用于仿真磁带存储系统以提供使用现有的完整备份和以后的增量备份的等同物,并使终端用户能够从所述备份中恢复数据的装置和方法。Aspects of the present invention relate to data storage, and more specifically to emulation of tape storage systems to provide the equivalent of using existing full backups and future incremental backups, and enabling end users to restore from said backups Data means and methods.

背景技术Background technique

许多计算机系统包括一个或多个主机和储存主机所使用的数据的一个或多个数据存储系统。这些主机和存储系统一般通过例如光纤通道、以太网络或其他类型的通信网络的网络连接在一起。光纤通道是一种结合了以通道为基础的传送机制的速度和以网络为基础的传送机制的灵活性的标准,并允许多个启动通过网络与多个目标通信,所述启动和目标可以是与网络耦合的任何设备。光纤通道通常使用快速的传送介质执行,举例来说,光学纤维电缆,而且在传送大量数据的存储网络中,所述光纤通道是普遍的选择。Many computer systems include one or more mainframes and one or more data storage systems that store data used by the mainframes. These hosts and storage systems are typically connected together by a network such as Fiber Channel, Ethernet or other type of communication network. Fiber Channel is a standard that combines the speed of channel-based transport mechanisms with the flexibility of network-based transport mechanisms and allows multiple initiators to communicate over the network with multiple targets, which can be Any device coupled to the network. Fiber Channel is typically implemented using fast transport media, such as fiber optic cables, and is a popular choice in storage networks that transport large amounts of data.

典型的网络化计算环境的实施例,包括如附图1所示的几个主机和备份存储系统。一个或多个应用程序服务器102通过局域网103(LAN)耦合到多台用户计算机104上。应用程序服务器102和用户计算机104都可能被认为是“主机”。应用程序服务器102通过存储区域网络108(SAN)与一个或多个主存储设备106耦合。主存储设备106可能是,例如磁盘阵列,可以从例如EMC公司、IBM公司以及其他类似的公司获得。作为替代,数据传输总线(未显示)或其他网络连接可能提供应用程序服务器和主存储系统106之间的相互连接。数据传输总线和/或光纤通道网络的连接可以使用协议操作,例如小型计算机系统接口(SCSI)协议,SCSI控制在主机(例如,应用程序服务器102)和存储系统106之间传输的某种格式的信息包。An embodiment of a typical networked computing environment includes several hosts and backup storage systems as shown in FIG. 1 . One or more application servers 102 are coupled to a plurality of user computers 104 through a local area network 103 (LAN). Both application server 102 and user computer 104 may be considered "hosts." Application server 102 is coupled to one or more primary storage devices 106 through a storage area network 108 (SAN). Primary storage device 106 may be, for example, a disk array available from, for example, EMC Corporation, IBM Corporation, and other similar companies. Alternatively, a data transfer bus (not shown) or other network connection may provide the interconnection between the application server and primary storage system 106 . The connection of the data transfer bus and/or Fiber Channel network may operate using a protocol, such as the Small Computer System Interface (SCSI) protocol, which controls the transmission of certain formatted information package.

人们将理解,附图1举例说明的网络化计算环境是大型系统的典型,例如,大的金融机构或大公司所使用的系统。人们将领会到许多网络化计算环境不是必须包括附图1中列举的所有部件。例如,较小的网络化计算环境可以简化为包括直接与存储系统连接的,或通过LAN与存储系统连接的主机。另外,尽管附图1举例说明了单独的用户计算机104、应用程序服务器102和介质服务器114,这些功能可以合并为一台以上的计算机。It will be appreciated that the networked computing environment illustrated in Figure 1 is typical of large systems, such as those used by large financial institutions or large corporations. It will be appreciated that many networked computing environments do not necessarily include all of the components enumerated in FIG. 1 . For example, a smaller networked computing environment can be simplified to include hosts connected directly to the storage system, or connected to the storage system through a LAN. Additionally, although FIG. 1 illustrates separate user computers 104, application server 102, and media server 114, these functions may be combined into more than one computer.

除了主存储设备106之外,许多网络化计算环境包括至少一个辅助或备份存储系统110。所述备份存储系统110通常是磁带库,尽管可能使用其他大容量的、可靠的辅助存储系统。典型地,这些辅助存储系统的速度比主存储系统的速度慢,但是包括某些可移动介质的某些类型(例如,磁带、磁盘或光盘),所述可再移动的介质可以被移动和异地存储。In addition to primary storage device 106 , many networked computing environments include at least one secondary or backup storage system 110 . The backup storage system 110 is typically a tape library, although other high-capacity, reliable secondary storage systems may be used. These secondary storage systems are typically slower than primary storage systems, but include certain types of removable media (for example, tape, magnetic disks, or optical discs) that can be moved and offsite storage.

在解释性的实施例中,应用程序服务器102或许能够通过,例如以太网或其他通信连接112,直接与备份存储系统110通信。然而,所述的连接可能相对慢并且占用资源,例如占用处理器时间或网络带宽。因此,用于举例说明的系统可能包括一个或多个介质服务器114,所述介质服务器114可以借助例如光纤通道,来提供SAN 108和备份存储系统110之间通信连接。In an illustrative embodiment, application server 102 may be able to communicate directly with backup storage system 110 via, for example, Ethernet or other communication link 112 . However, such connections may be relatively slow and resource-intensive, such as processor time or network bandwidth. Thus, the illustrated system may include one or more media servers 114, which may provide a communication connection between the SAN 108 and the backup storage system 110 via, for example, Fiber Channel.

介质服务器114可以运行包括备份/恢复应用程序的软件,所述应用程序控制主机(例如用户计算机104,介质服务器114,和/或应用程序服务器102)、主存储设备106和备份存储系统110之间的数据的传输。备份/恢复应用程序可以从例如Veritas,Legato以及其他的公司获得。对于数据的保护,来自各种不同的主机和/或主存储设备的数据在网络化计算系统中可以通过备份/恢复应用程序被周期性地备份到备份存储系统110中,这在本领域内是公知的。Media server 114 may run software including a backup/restore application that controls the communication between a host (e.g., user computer 104, media server 114, and/or application server 102), primary storage device 106, and backup storage system 110. data transmission. Backup/restore applications are available from companies such as Veritas, Legato, and others. For data protection, data from various hosts and/or primary storage devices in a networked computing system can be periodically backed up to the backup storage system 110 by a backup/restore application, which is known in the art openly known.

当然,正如上文中的讨论,人们将领会到:与附图1中展示的作为典范的网络化计算环境相比,许多网络化计算环境可能是较小的并包括较少的部件。因此,人们仍将领会到:介质服务器114实际上与单独主机中的应用程序服务器112连接,而且备份/恢复应用程序可以在任何与备份存储系统110耦合(直接地或间接地,例如通过网络)的主机上执行。Of course, as discussed above, it will be appreciated that many networked computing environments may be smaller and include fewer components than the exemplary networked computing environment shown in Figure 1 . Therefore, it will still be appreciated that the media server 114 is actually connected to the application server 112 in a separate host, and that the backup/restore application can be coupled to the backup storage system 110 at any location (directly or indirectly, such as through a network). executed on the host.

典型的备份存储系统的一个例子是磁带库,该磁带库包括若干磁带盒和至少一个磁带机,以及控制磁带盒载入的磁带机和从磁带机上卸载的自动机械装置。备份/恢复应用程序对自动机械装置提供指令以确定特定磁带盒的位置,例如磁带号0001,和将磁带盒载入的磁带机以致数据能够写入磁带中。备份/恢复应用程序也可控制写入磁带的数据的格式。典型地,备份/恢复应用程序可以使用SCSI命令,或其他标准化命令,以指令自动机械装置并控制磁带机将数据写入磁带和恢复来自磁带的已经写入的数据。An example of a typical backup storage system is a tape library that includes a number of tape cartridges and at least one tape drive, and a robot that controls loading of the tape cartridges into the tape drive and unloading from the tape drive. The backup/restore application provides instructions to the robot to determine the location of a particular cartridge, such as tape number 0001, and the tape drive to load the cartridge so that data can be written to the tape. The backup/restore application also controls the format of the data written to tape. Typically, a backup/restore application can use SCSI commands, or other standardized commands, to instruct robotics and control tape drives to write data to tape and to restore written data from tape.

传统的磁带库备份系统存在若干问题,包括速度、可靠性和固定容量。许多大的公司每周需要备份万兆字节的数据。然而,即使昂贵的、高端磁带通常只能够以30-40兆字节/秒(MB/s)的速度读/写数据,转换为大约50千兆字节/小时(GB/hr)。因此,将一个或两个万兆字节的数据备份到磁带备份系统中可能需要至少10-20小时的连续的数据转换时间。Traditional tape library backup systems suffer from several issues, including speed, reliability, and fixed capacity. Many large companies need to back up terabytes of data every week. However, even expensive, high-end tapes are typically only capable of reading/writing data at 30-40 megabytes per second (MB/s), which translates to about 50 gigabytes per hour (GB/hr). Therefore, backing up one or two terabytes of data to a tape backup system may require at least 10-20 hours of continuous data conversion time.

另外,大多数的磁带制造商不能保证存储(或恢复)数据到/从磁带的可能性,如果磁带丢失(在移动或载入操作期间磁带丢失,可能由于人们的操作或自动机械装置的原因相对频繁地发生在典型的磁带库中)或如果磁带暴露在非理想的环境,举例来说,极端的温度或湿度中。因此,需要大量的努力来使存储磁带处于能控制的环境中。而且,磁带库的复合机构(包括自动机械装置)的维护昂贵,而且个别的磁带盒相对昂贵而且具有有限的使用期限。Also, most tape manufacturers do not guarantee the possibility of storing (or restoring) data to/from the tape if the tape is lost (during a move or load operation, possibly due to human action or robotic mechanism relative frequently occurs in a typical tape library) or if the tape is exposed to non-ideal conditions, for example, extremes of temperature or humidity. Therefore, a great deal of effort is required to keep the storage tapes in a controlled environment. Furthermore, the complex mechanism of the tape library, including the robotics, is expensive to maintain, and the individual tape cartridges are relatively expensive and have a limited useful life.

发明内容Contents of the invention

本发明的实施方案提供的备份存储系统克服或缓解传统的磁带库系统的某些或全部问题,而且可以比传统的磁带库系统提供更多的灵活性。The backup storage system provided by the embodiments of the present invention overcomes or alleviates some or all of the problems of the traditional tape library system, and can provide more flexibility than the traditional tape library system.

概括地说,本发明的实施方案的各个方面提供以随机存储为基础的存储系统,所述存储系统仿效传统的磁带备份存储系统,以致备份/恢复应用程序所标示到的设备和介质与真实的磁带库一样。本发明的存储系统使用软件和硬件以仿真真实的磁带介质,并用一个或更多的随机存储磁盘阵列替代,将磁带格式、线性的、顺序数据转变适合于存储在磁盘上的数据。另外,提供在硬件和/或软件上运行的应用程序用于恢复存储在备份存储系统中的数据。In summary, various aspects of embodiments of the present invention provide a RAM-based storage system that emulates traditional tape backup storage systems such that the devices and media identified by the backup/restore application are identical to the actual Same as tape library. The storage system of the present invention uses software and hardware to emulate real tape media and replaces it with one or more random storage disk arrays, adapting tape format, linear, sequential data transformations to data stored on the disks. Additionally, an application running on hardware and/or software is provided for restoring data stored in the backup storage system.

依据本发明的实施方案的某些方面,提供的装置用于将连续的磁带格式数据转换为适当的格式以随机访问I/O。在一个实施方案中,提供的装置包括为将磁带格式数据的转换表达式作为NFS(网络文件系统)或CIFS(普通的因特网文件系统)安装卷安装到主机上而做的准备。In accordance with certain aspects of embodiments of the present invention, means are provided for converting continuous tape format data into an appropriate format for random access I/O. In one embodiment, an apparatus is provided that includes provision for mounting a converted representation of tape format data on a host computer as an NFS (Network File System) or CIFS (Common Internet File System) mounted volume.

依据本发明的其他方面和实施方案,提供用于将写入转换为安装的文件系统以“安全存储”的装置,借此原始数据保持不变。在一个实施方案中,提供的装置用于跟踪原始数据的实时变换,以使随机访问I/O成为可能。在另一个实施方案中,提供的装置用于将最新写入的数据备份转换为对于顺序磁带特征的I/O来说是适当的磁带格式数据。According to other aspects and embodiments of the present invention, means are provided for converting writes to a mounted file system for "safe storage", whereby the original data remains unchanged. In one embodiment, means are provided for tracking real-time transformations of raw data to enable random access I/O. In another embodiment, means are provided for converting newly written data backups into tape format data suitable for I/O characterized by sequential tape.

在一个实施方案中,方法包括以下步骤:将数据卷安装到主机上,所述数据卷包括至少一份数据文件,该数据文件与存储在备份存储系统中的至少一份数据文件的最新备份版本相对应,在备份存储系统中存储与所述至少一份数据文件的第二版本相对应的数据,当保存至少一份数据文件的最新备份版本时,所述数据比存储在备份存储系统中的至少一份数据文件的最新备份版本更新。该方法可能也包括连接至少一份数据文件的最新备份版本与至少一份数据文件的第二版本。在一个实施例中,该方法可能也包括新建标示至少一份数据文件的最新备份版本与至少一份数据文件的第二版本的数据结构。在另一个实施例中,至少一份数据文件的第二版本可能是至少一份数据文件的最新备份版本的修改版本。In one embodiment, the method includes the step of: mounting a data volume on the host computer, the data volume including at least one data file, the data file being the latest backup version of the at least one data file stored in the backup storage system Correspondingly, the data corresponding to the second version of the at least one data file is stored in the backup storage system, and when the latest backup version of the at least one data file is saved, the data is higher than the At least one data file is updated with the latest backup version. The method may also include concatenating the latest backup version of the at least one data file with the second version of the at least one data file. In one embodiment, the method may also include creating a data structure identifying the latest backup version of the at least one data file and the second version of the at least one data file. In another embodiment, the second version of the at least one data file may be a modified version of the latest backup version of the at least one data file.

依据另一个实施方案,备份存储系统包括用于存储备份数据集的备份存储介质,和控制器,该控制器包括至少一个处理器,该处理器经过配置用于执行运行上文中所描述的方法的一系列指令。According to another embodiment, the backup storage system includes a backup storage medium for storing backup data sets, and a controller, the controller includes at least one processor configured to execute the method for executing the method described above. A series of instructions.

在另外一个实施方案中,提供的计算机可读介质中存储有数据结构,该数据结构包括第一标示工具包,该第一标示工具包唯一地标示与备份数据集对应的包括至少一份数据文件的系统文件,以及至少一个第二标示工具包,该第二标示工具包标示存储介质中的各自的存储位置,所述存储介质储存备份数据集中的至少每一份数据文件的最新版本。In another embodiment, the provided computer-readable medium stores a data structure, the data structure includes a first marking toolkit, and the first marking toolkit uniquely marks at least one data file corresponding to the backup data set system files, and at least one second marking toolkit, where the second marking toolkit marks respective storage locations in the storage medium, and the storage medium stores the latest version of at least each data file in the backup data set.

附图说明Description of drawings

附图不是根据比例绘制的。附图中,解释说明的各附图中的每一个相同的或基本相同的部分用同一数字表示。为了表示清楚,并不是每一部分都标注在每一份附图中。在附图中:The drawings are not drawn to scale. In the drawings, each identical or substantially identical part in each of the illustrated drawings is denoted by the same numeral. For clarity, not every part is labeled in every drawing. In the attached picture:

附图1是包括备份存储系统的大型网络化计算环境的一个实施例的方框图;Figure 1 is a block diagram of one embodiment of a large networked computing environment including a backup storage system;

附图2是依据本发明的各个方面包括存储系统的网络化计算环境的一个实施方案的方框图;Figure 2 is a block diagram of one embodiment of a networked computing environment including a storage system in accordance with aspects of the present invention;

附图3是依据本发明的各个方面的存储系统的一个实施方案的方框图;Figure 3 is a block diagram of one embodiment of a storage system in accordance with various aspects of the present invention;

附图4是举例说明依据本发明的各个方面的存储系统的一个实施方案的虚拟设计的方框图;Figure 4 is a block diagram illustrating a virtual design of one embodiment of a storage system in accordance with various aspects of the present invention;

附图5是依据本发明的各个方面的系统文件的一个实施例的示意图;Figure 5 is a schematic diagram of an embodiment of a system file according to various aspects of the present invention;

附图6是依据本发明的各个方面磁带目录的一个实施例;Accompanying drawing 6 is an embodiment of tape directory according to various aspects of the present invention;

附图7是依据本发明的各个方面,新建合成完整备份的方法的一个实施例的图表描述;Figure 7 is a graphical depiction of one embodiment of a method for creating a synthetic full backup in accordance with various aspects of the present invention;

附图8是依据本发明的各个方面,包含有合成的完整备份的备份数据集系列的一个实施例的示意图;Figure 8 is a schematic diagram of one embodiment of a sequence of backup data sets including synthetic full backups in accordance with various aspects of the present invention;

附图9是元数据高速缓冲存储器的结构的一个实施例的图表;Figure 9 is a diagram of one embodiment of the structure of a metadata cache;

附图10是存储合成的完整备份数据集的虚拟编码磁带的一个实施例的图表;以及Figure 10 is a diagram of one embodiment of a virtual encoded tape storing a synthetic full backup data set; and

附图11是存储合成的完整备份数据集的虚拟编码磁带的另一个实施例的图表;Figure 11 is a diagram of another embodiment of a virtual encoded tape storing a synthetic full backup data set;

附图12是依据本发明的各个方面,用于恢复备份存储系统中的数据的方法的一个实施方案的流程图;Figure 12 is a flowchart of one embodiment of a method for restoring data in a backup storage system in accordance with various aspects of the present invention;

附图13是依据本发明的各个方面,包括备份存储系统的网络化计算环境的另一个实施方案的方框图;Figure 13 is a block diagram of another embodiment of a networked computing environment including a backup storage system in accordance with aspects of the present invention;

附图14是依据本发明的各个方面文件描述符结构的一个实施例的图表;Figure 14 is a diagram of one embodiment of a file descriptor structure in accordance with various aspects of the invention;

附图15用图表解释说明文件数据是如何以磁带格式存储的一个实施例;Accompanying drawing 15 illustrates an embodiment how file data is stored in magnetic tape format with diagram;

附图16用图表解释说明附图15的文件描述的文件描述符;Figure 16 diagrammatically illustrates the file descriptors of the file description of Figure 15;

附图17是依据本发明将数据写入安装的数据卷的方法的一个实施方案流程图;Accompanying drawing 17 is a flowchart of an embodiment of the method for writing data into a mounted data volume according to the present invention;

附图18是新写入文件的示意图;Accompanying drawing 18 is a schematic diagram of newly written files;

附图19是依据本发明的各个方面,原始数据、新写入文件和最终修改文件之间的关系的一个实施例的示意图;以及Accompanying drawing 19 is according to various aspects of the present invention, the schematic diagram of an embodiment of the relationship among original data, newly written file and final modification file; And

附图20是表示附图19的修改文件的文件描述符的一个实施例的图表;Figure 20 is a diagram representing one embodiment of a file descriptor for the modified file of Figure 19;

具体实施方式Detailed ways

下面结合相应的附图对各种不同的实施方案和方面进行更加详细的描述。人们将领会到,本发明并不将其应用限制在下文中阐述的部件的结构和布置,或附图中解释说明的细节中。本发明适用于其他的实施方案并能够以各种不同的方式实践和执行。而且,本文中使用的措辞和术语是出于描述的目的,而不能被认为是限制。“包括”、“包括”、“具有”、“包含”、“涉及”的使用和它们的联合使用,这些措辞和术语的使用是指包含其后所列出的项目和等同意思以及附件的项目。Various embodiments and aspects are described in more detail below with reference to the accompanying figures. It will be appreciated that the invention is not limited in its application to the construction and arrangement of parts set forth hereinafter, or to the details illustrated in the drawings. The invention is capable of other embodiments and of being practiced and carried out in various ways. Also, the phraseology and terminology used herein are for the purpose of description and should not be regarded as limiting. The use of "including", "comprising", "having", "comprising", "involving" and their combinations, the use of these words and terms means including the items listed thereafter and equivalents and attachments .

正如本文中使用的术语“主机”是指任何至少具有处理器的计算机,举例来说,个人计算机、工作站、大型机、网络客户和服务器等等,所述主机能够与其他的设备通信,例如,存储系统或其他主机。主机可能包括介质服务器和应用程序服务器(如前面结合附图1的描述)以及用户计算机(可能是用户工作站、个人计算机、大型机等等)。另外,在公开的文件中,术语“网络化计算环境”包括任何计算环境,其中多台主机被连接到一个或多个共享的存储系统中,在这种方式中,存储系统可以与每一台主机通信。光纤通道是通信网络的一个实施例,所述通信网络可以用于本发明的实施方案中。然而,人们将领会到,本文描述的网络并不限于光纤通道,而且各种不同的网络部件可能通过任何的网络连接而互相通信,举例来说,Token Ring或以太代替,或者除光纤通道以外,或通过不同的网络连接的结合。而且,本发明的各个方面可能也被用在数据传输总线拓扑,例如,SCSI或并行的SCSI。As used herein, the term "host" refers to any computer having at least a processor, such as personal computers, workstations, mainframes, network clients and servers, etc., capable of communicating with other devices, such as, storage system or other host. Hosts may include media servers and application servers (as previously described in connection with Figure 1) and user computers (which may be user workstations, personal computers, mainframes, etc.). Also, in the published document, the term "networked computing environment" includes any computing environment in which multiple hosts are connected to one or more shared storage systems in such a way that the storage systems can communicate with each host communication. Fiber Channel is one example of a communication network that may be used in embodiments of the present invention. However, it will be appreciated that the networks described herein are not limited to Fiber Channel, and that various network components may communicate with each other over any network connection, for example, Token Ring or Ethernet instead, or in addition to Fiber Channel, Or through a combination of different network connections. Furthermore, aspects of the present invention may also be used in data transfer bus topologies such as SCSI or parallel SCSI.

依据本发明的各种不同的实施方案和各个方面,提供的虚拟可移动介质库备份存储系统可以使用一个或多个磁盘阵列,以存储系统为基础模拟可移动的介质。使用本发明的实施方案,数据可以备份到磁盘阵列是通过使用类似的备份/恢复应用程序完成的,正如被用于备份数据到可移动的介质(举例来说,磁带、磁盘、光盘等等),免除了用户必须对现有的备份程序作出任何修改或调整或购买新的备份/恢复应用程序。在一个实施方案中,本文详细描述的,可再移动介质被仿真为磁带,而且本发明的备份存储系统仿效的磁带库系统包括磁带和在传统的磁带库系统中用于处理磁带的自动装置。According to various embodiments and aspects of the present invention, the provided virtual removable media library backup storage system can use one or more disk arrays to simulate removable media based on the storage system. Using embodiments of the present invention, data can be backed up to a disk array by using a backup/restore application similar to that used to back up data to removable media (e.g., tape, disk, CD, etc.) , eliminating the need for users to make any modifications or adjustments to existing backup programs or purchase new backup/restore applications. In one embodiment, described in detail herein, the removable media is emulated as tape, and the backup storage system of the present invention emulates a tape library system that includes the tape and the robotics used to handle the tape in a conventional tape library system.

依据本发明的各个方面的存储系统包括通过界面与主机(运行备份/恢复应用)和备份存储介质连接的硬件和软件。所述存储系统可以被设计为仿真磁带,或其他类型的可再移动存储介质,以致备份/恢复应用程序将所述装置和介质视为真实的磁带库,并将线性、顺序数据、磁带格式数据转换为适合于存储到随机存储磁盘中的数据。以所述方式,本发明的存储系统可以提供增加的功能(举例来说,允许用户查询个别备份的用户文件,如下文所讨论的)而不要求新的备份/恢复应用软件或策略。A storage system according to various aspects of the present invention includes hardware and software interfaced with a host (running a backup/restore application) and a backup storage medium. The storage system can be designed to emulate magnetic tape, or other types of removable storage media, so that backup/restore applications view the device and media as a real tape library and treat linear, sequential, tape format data Converted to data suitable for storage on RAM disk. In the manner described, the storage system of the present invention can provide increased functionality (for example, allowing users to query individually backed up user files, as discussed below) without requiring new backup/restore application software or strategies.

参考附图2,以方框图的形式解释说明依据本发明的方面包括备份存储系统170的网络计算机环境的一个实施例。正如举例的那样,主机120通过网络连接121与存储系统170耦合。网络连接121可能是,例如,光纤通道连接以允许主机120和存储系统170之间的数据的高速传递。人们将领会到,主机120可能是,或可能包括一个或多个应用程序服务器102(参见附图1)和/或介质服务器114(参见附图1),并且可能从网络计算机环境中现有的任何一台计算机或者从主要的存储设备110(参见附件1)中备份数据。另外,一个或多个用户计算机136可能通过另外的网络连接138例如以太连接,与存储系统170耦合。正如以下详细的讨论,存储系统可以使用户计算机136的用户阅读和选择性的从存储系统中恢复备份的用户文件。Referring to FIG. 2, one embodiment of a networked computer environment including a backup storage system 170 in accordance with aspects of the present invention is illustrated in block diagram form. As an example, host 120 is coupled to storage system 170 via network connection 121 . Network connection 121 may be, for example, a Fiber Channel connection to allow high-speed transfer of data between host 120 and storage system 170 . It will be appreciated that host 120 may be, or may include, one or more application servers 102 (see FIG. 1 ) and/or media server 114 (see FIG. 1 ), and may be selected from existing Any computer or backup data from primary storage device 110 (see Appendix 1). Additionally, one or more user computers 136 may be coupled to storage system 170 via another network connection 138, such as an Ethernet connection. As discussed in detail below, the storage system enables the user of the user computer 136 to read and selectively restore backed-up user files from the storage system.

存储系统包括备份存储介质126,所述备份存储介质126可能是,举例来说,一个或多个磁盘阵列,正如以下更为详细的解释。备份存储介质126为来自主机120的备份数据提供实际的存储空间。然而,存储系统170可能也包括软件和附加的硬件,所述硬件仿效可移动的介质存储系统,例如,磁带库,以致在主机120上运行备份/恢复应用程序,数据看起来被备份到传统的可移动式存储介质。因此,正如附图2中的解释那样,存储系统170可能包括“仿真介质”134,该“仿真介质”134表示例如,虚拟的或仿真的可移动存储介质(例如,磁带)。所述“仿真介质”134通过存储系统软件和/或硬件存在于主机中,并且作为物理存储介质出现在主机120中。介于仿真介质134和实际的备份存储介质126之间的进一步的界面可能是存储系统控制器(未显示)和开关网络132,所述开关网络132接收来自主机120的数据并将数据储存到备份存储介质126上,正如以下更加详细的讨论。借助这种方式,存储系统“仿真”传统的磁带式存储系统到主机120中。The storage system includes backup storage media 126, which may be, for example, one or more disk arrays, as explained in more detail below. The backup storage medium 126 provides actual storage space for the backup data from the host 120 . However, storage system 170 may also include software and additional hardware that emulates a removable media storage system, such as a tape library, so that when running a backup/restore application on host 120, data appears to be backed up to a traditional Removable storage media. Thus, as explained in FIG. 2, storage system 170 may include "emulated media" 134, which represents, for example, virtual or emulated removable storage media (eg, tape). The "emulated medium" 134 exists in the host through storage system software and/or hardware, and appears in the host 120 as a physical storage medium. A further interface between the emulated medium 134 and the actual backup storage medium 126 may be a storage system controller (not shown) and a switch network 132 that receives data from the host 120 and stores the data to the backup storage medium 126, as discussed in more detail below. In this way, the storage system "emulates" a traditional tape-based storage system into the host 120.

依据一个实施方案,存储系统可以包括“逻辑元数据高速缓冲存储器”242,所述逻辑元数据高速缓冲存储器242存储涉及从主机120备份到存储系统170的用户数据的元数据。正如本文所使用的术语“元数据”是指表示用户数据的信息,和描述真实的用户数据属性的数据。逻辑元数据高速缓冲存储器242表示可查询的数据集,使用户和/或软件应用能够随机确定备份用户文件的位置,对比用户文件与另外一个文件,或访问和处理备份用户文件。两个软件应用程序的实施例可能使用存储在逻辑元数据高速缓冲存储器242中的数据,包括下文中将要更加全面讨论的合成的完整备份应用程序240和终端用户恢复应用程序300。According to one embodiment, the storage system may include a “logical metadata cache” 242 that stores metadata related to user data backed up from the host 120 to the storage system 170 . As used herein, the term "metadata" refers to information representing user data, and data describing attributes of actual user data. Logical metadata cache 242 represents a queryable data set that enables a user and/or software application to randomly determine the location of a backup user file, compare a user file to another file, or access and process a backup user file. Two software application embodiments may use data stored in logical metadata cache 242, including synthetic full backup application 240 and end-user restore application 300, discussed more fully below.

概括地说,合成的完整备份应用程序240具有从一个现有的完整备份数据集和一个或多个增量备份数据集中新建合成的完整备份数据集的能力。合成的完整备份可以免除完成周期性(举例来说,每周)完整备份的需要,因此,节省可观的时间和网络资源。合成的完整备份应用程序240的细节将在下文中做更进一步的讨论。终端用户恢复应用程序300,也将在下文中做更进一步的讨论,使终端用户(举例来说,用户计算机136的操作人员)能够浏览、查询、阅读和/或恢复以前从存储系统170中备份的用户文件。In summary, the synthetic full backup application 240 has the capability to create a new synthetic full backup data set from an existing full backup data set and one or more incremental backup data sets. Synthetic full backups can eliminate the need to complete periodic (eg, weekly) full backups, thus saving considerable time and network resources. The details of the composite full backup application 240 are discussed further below. The end user restore application 300, also discussed further below, enables an end user (for example, the operator of the user computer 136) to browse, query, read and/or restore previously backed up files from the storage system 170. user files.

正如上文所讨论的,存储系统170包括与主机120和备份存储介质126界面连接的硬件和软件。结合本发明的实施方案的硬件和软件可以仿真传统的磁带库备份系统,以致从主机的120的角度看,数据显然备份到磁带上,但是实际上备份到另外一个存储介质中,举例来说,例如,众多磁盘阵列。As discussed above, storage system 170 includes the hardware and software to interface with host 120 and backup storage medium 126 . Hardware and software in conjunction with embodiments of the present invention can emulate a traditional tape library backup system so that from the perspective of the host computer 120, data is apparently backed up to tape, but is actually backed up to another storage medium, e.g., For example, numerous disk arrays.

参考附图3,用方框图的形式解释依据本发明的各方面的存储系统170的一个实施方案。在一个实施例中,存储系统170的硬件包括存储系统控制器122和连接存储系统控制器122和备份存储介质126的开关网络132。存储系统控制器122包括处理器127(可能是单个的处理器或多个处理器)和记忆器129(举例来说,RAM,ROM,PROM,EEPROM,闪存等等,或它们的结合),可以运行所有或部分存储系统软件。记忆器129也可以用于存储与储存在备份存储介质126中的数据相关的元数据。软件(包括程序编码执行本发明的实施方案)通常存储在可读/可写的非易失性记录介质中,举例来说,RAM,ROM,光盘、磁盘或磁带等等,然后拷贝到记忆器129中,其中软件被处理器127执行。所述程序编码可能以多种编程语言中的任何一种语言来书写,举例来说,Java,Visual Basic,C,C#,或 C++,Fortran,Pascal,Eiffel,Basic,COBAL,及其结合的语言,由于本发明不限于特殊的编程语言。典型地,在操作中,处理器127致使数据(举例来说,执行本发明的实施方案的编码)被从非易失性记录介质中读取到另外一种记忆形式,例如,RAM,允许以比非易失性记录介质更快的速度访问处理器的信息。Referring to FIG. 3, one embodiment of a storage system 170 in accordance with aspects of the present invention is illustrated in block diagram form. In one embodiment, the hardware of the storage system 170 includes a storage system controller 122 and a switch network 132 connecting the storage system controller 122 and the backup storage medium 126 . The storage system controller 122 includes a processor 127 (which may be a single processor or multiple processors) and a memory 129 (for example, RAM, ROM, PROM, EEPROM, flash memory, etc., or a combination thereof), which can Run all or part of the storage system software. Memory 129 may also be used to store metadata associated with the data stored in backup storage medium 126 . Software (comprising program codes to implement the embodiments of the present invention) is usually stored in a readable/writable non-volatile recording medium, for example, RAM, ROM, optical disc, magnetic disk or magnetic tape, etc., and then copied to the memory 129, wherein the software is executed by the processor 127. The program code may be written in any of a number of programming languages, for example, Java, Visual Basic, C, C#, or C++, Fortran, Pascal, Eiffel, Basic, COBAL, and combinations thereof , since the invention is not limited to a particular programming language. Typically, in operation, processor 127 causes data (for example, code to carry out embodiments of the present invention) to be read from a non-volatile recording medium into another form of memory, such as RAM, allowing Access processor information at a faster rate than non-volatile recording media.

正如附图3所示,控制器122也包括一系列将控制器122和主机120连接到开关网络132的接口适配器124a,124b和124c。正如举例说明的那样,主机120通过接口适配器124a与存储系统耦合,所述接口适配器124a可能是,举例来说,光纤通道的接口适配器。通过存储系统的控制器122,主机120将数据备份到备份存储介质126中,并能够恢复从备份存储介质126中备份的数据。As shown in FIG. 3 , the controller 122 also includes a series of interface adapters 124 a , 124 b and 124 c that connect the controller 122 and the host 120 to the switch network 132 . As illustrated, host 120 is coupled to the storage system through interface adapter 124a, which may be, for example, a Fiber Channel interface adapter. Through the controller 122 of the storage system, the host 120 backs up data to the backup storage medium 126 and can restore the data backed up from the backup storage medium 126 .

在示例性实施例中,开关网络132可能包括一个或多个光纤通道开关128a,128b。存储系统控制器122包括众多光纤通道接口适配器124b和124c,以将存储系统控制器耦合到光纤通道开关128a,128b。通过光纤通道开关128a,128b,存储系统的控制器122允许数据备份到备份存储介质126中。如附图3所举例的那样,开关网络132可以进一步包括一个或更多以太开关130a,130b,所述以太开关130a,130b通过以太接口适配器125a,125b与存储系统的控制器122耦合。在一个实施例中,存储系统控制器122进一步包括另外一种以太接口适配器125c,可以与,例如LAN103耦合,以促使存储系统170与主机(例如,用户计算机)通信,如下文中的讨论。In an exemplary embodiment, switch network 132 may include one or more Fiber Channel switches 128a, 128b. Storage system controller 122 includes a number of Fiber Channel interface adapters 124b and 124c to couple the storage system controller to Fiber Channel switches 128a, 128b. The controller 122 of the storage system allows data to be backed up to the backup storage medium 126 via the Fiber Channel switches 128a, 128b. As shown in FIG. 3 , the switch network 132 may further include one or more Ethernet switches 130a, 130b, and the Ethernet switches 130a, 130b are coupled to the controller 122 of the storage system through Ethernet interface adapters 125a, 125b. In one embodiment, storage system controller 122 further includes another Ethernet interface adapter 125c, which may be coupled to, for example, LAN 103 to enable storage system 170 to communicate with a host (eg, a user computer), as discussed below.

在附图3举例说明的实施例中,存储系统控制器122通过开关网络与备份存储介质126耦合,所述开关网络包括两种光纤通道开关和两种以太开关。提供至少两种存储系统170中的开关的每一种类型仿真系统中的任何单一失效点。换句话说,即使一个开关(例如,光纤通道开关128a)失效,存储系统控制器122仍将能够通过另外一个开关与备份数据介质126通信。在稳定性和速度方面,所述安排有优势。举例来说,如上文中的讨论,稳定性通过提供的备用元件和消除单一失效点得到改善。而且,在某些实施方案中,存储系统控制器能够通过使用某些或全部的并联的光纤通道开关将数据备份到备份存储介质126中,从而提高整体的备份速度。然而,人们将领会到,并不要求系统包括两种或更多的开关的每一种类型,也不要求开关网络既包括光纤通道也包括以太开关。更进一步,在包括单一磁盘阵列的备份存储介质126的实施例中,根本不需要开关。In the embodiment illustrated in FIG. 3 , the storage system controller 122 is coupled to the backup storage medium 126 through a switch network, and the switch network includes two types of fiber channel switches and two types of Ethernet switches. Providing at least two of each type of switch in storage system 170 emulates any single point of failure in the system. In other words, even if one switch (eg, Fiber Channel switch 128a) fails, storage system controller 122 will still be able to communicate with backup data medium 126 through the other switch. The described arrangement has advantages in terms of stability and speed. For example, as discussed above, stability is improved by providing spare components and eliminating single points of failure. Furthermore, in some embodiments, the storage system controller can increase the overall backup speed by using some or all of the Fiber Channel switches in parallel to backup data to the backup storage medium 126 . However, it will be appreciated that it is not required that the system include two or more switches of each type, nor that the switch network include both Fiber Channel and Ethernet switches. Still further, in embodiments where the backup storage medium 126 includes a single disk array, no switches are needed at all.

正如上文中的讨论,在一个实施方案中,备份存储介质126可能包括一个或更多的磁盘阵列。在一个优选的实施方案中,备份存储介质126包括众多ATA或SATA磁盘。所述磁盘是“待售”商品,与传统的由例如EMC,IBM等制造商的存储阵列商品相比更便宜。而且,当可再移动介质(举例来说,磁带)的成本是一种因素和介质的使用寿命有限时,所述磁盘在成本上可与传统的磁带为基础的备份存储系统相比。另外,所述磁盘读/写数据实质上比磁带快。举例来说,通过单一的光纤网络连接,数据可以至少大约150MB/s的速度被备份到磁盘上,150MB/s转换为大约540GB/hr,明显快于磁带的备份速度(例如,通过磁盘顺序)。另外,几个光纤通道连接可以并联执行,从而进一步提高速度。依据本发明的实施方案,备份存储系统介质可以被集合执行任何一个RAID(廉价磁盘冗余阵列)序列。举例来说,在一个实施方案中,备份存储介质可以执行RAID-5任务。As discussed above, in one embodiment, backup storage medium 126 may include one or more disk arrays. In a preferred embodiment, backup storage medium 126 includes a plurality of ATA or SATA disks. The disks are "for sale" commodities that are less expensive than traditional commodity storage arrays from manufacturers such as EMC, IBM, etc. Also, the disks are comparable in cost to traditional tape-based backup storage systems when the cost of removable media (eg, magnetic tape) is a factor and the media has a limited useful life. Additionally, the disk reads/writes data substantially faster than tape. For example, over a single fiber optic network connection, data can be backed up to disk at a rate of at least about 150MB/s, which translates to about 540GB/hr, significantly faster than backups to tape (eg, via disk sequential) . Additionally, several Fiber Channel connections can be performed in parallel, further increasing speed. According to embodiments of the present invention, backup storage system media may be assembled to implement any RAID (Redundant Array of Inexpensive Disks) sequence. For example, in one embodiment, the backup storage medium may perform RAID-5 tasks.

正如上文所讨论的,本发明的实施方案仿真传统的磁带库备份系统时通过使用磁盘阵列代替磁带盒作为真实的备份存储介质来实现的,因此提供“虚拟磁带库”。真实的磁带盒出现在传统的磁带库中被本文中使用的术语“虚拟编码磁带”替代。人们将领会到,出于公开的目的,术语“虚拟磁带库”是指可以在软件和/或物理硬件中执行的仿真磁带库,举例来说,作为一个或多个磁盘阵列。人们将进一步领会到,尽管讨论主要涉及仿真磁带,存储系统也可以仿真其他的存储介质,举例来说,CD-ROM或DVD-ROM,而且术语“虚拟编码磁带”一般是指仿真的存储介质,例如,仿真磁带或仿真CD。在一个实施方案中,虚拟编码磁带实际上对应于一个或更多的硬盘。As discussed above, embodiments of the present invention emulate a traditional tape library backup system by using disk arrays instead of tape cartridges as the actual backup storage medium, thus providing a "virtual tape library." The actual tape cartridges present in traditional tape libraries are replaced by the term "virtual encoded tape" as used in this paper. It will be appreciated that for purposes of this disclosure, the term "virtual tape library" refers to an emulated tape library that may be implemented in software and/or physical hardware, for example, as one or more disk arrays. It will further be appreciated that although the discussion primarily refers to emulated tape, the storage system can also emulate other storage media, for example, CD-ROM or DVD-ROM, and that the term "virtual encoded tape" generally refers to the emulated storage medium, For example, emulate a tape or emulate a CD. In one embodiment, the virtual encoded tape actually corresponds to one or more hard disks.

因此,在一个实施方案中,提供软件界面以仿真磁带库到备份/恢复应用,看起来数据被备份到磁带。然而,真实的磁带库被一个或多个磁盘阵列替代,以致数据实际上被备份到这些磁盘阵列中。人们将领会到,可移动介质保存系统的其他类型可以被仿真,而且本发明不限于磁带库存储系统的仿真。以下的讨论将解释包括在存储系统170中的各个方面特征和软件的操作。Thus, in one embodiment, a software interface is provided to emulate a tape library to a backup/restore application, as if data were backed up to tape. However, the actual tape library is replaced by one or more disk arrays, so that the data is actually backed up to these disk arrays. It will be appreciated that other types of removable media storage systems may be emulated, and that the invention is not limited to emulation of tape library storage systems. The following discussion will explain the operation of various features and software included in storage system 170 .

人们将认识到,尽管可能描绘的软件被“包括”在存储系统170中,并且可能被存储系统控制器122(参见附图3)的处理器127运行,并不要求所有的软件在存储系统控制器122中运行。软件程序,举例来说,合成完整备份的应用程序和终端用户恢复应用程序可以在主机和/或用户计算机上运行,在此部分可能通过全部或某些存储系统控制器、主机和用户计算机分配。因此,人们将认识到并不要求存储系统控制器包含物理实体,例如计算机。存储系统170与储存在主机中的软件通信,例如,举例来说,介质服务器114和应用程序服务器102。另外,存储系统可能包含几个能够在相同和不同的主机上运行和保留的应用软件。而且,人们将领会到,存储系统170并不限于装置的离散片断,尽管在某些实施方案中,存储系统170可以作为装置的离散片断体现。在一个实施例中,存储系统170可以提供作为自包含单元,起到“中止和开始”的作用取代传统磁带库备份系统(举例来说,对现有的备份处理器和策略不需要作出的修改)。所述存储系统单元可以在网络化计算环境中使用,包括传统的备份系统以提供冗余或额外的存储能力。It will be appreciated that while software may be depicted as being "included" in storage system 170 and possibly executed by processor 127 of storage system controller 122 (see FIG. 3 ), not all software is required to be present in storage system control run in the device 122. Software programs, for example, synthetic full backup applications and end-user restore applications may run on the host computer and/or user computer, in which part may be distributed through all or some of the storage system controllers, host computer and user computer. Accordingly, it will be appreciated that a storage system controller is not required to comprise a physical entity, such as a computer. Storage system 170 communicates with software stored in hosts such as, for example, media server 114 and application server 102 . Additionally, a storage system may contain several application software that can run and reside on the same or different hosts. Also, it will be appreciated that storage system 170 is not limited to discrete pieces of a device, although in some embodiments storage system 170 may be embodied as a discrete piece of a device. In one embodiment, storage system 170 may be provided as a self-contained unit that acts as a "stop and start" in place of a traditional tape library backup system (eg, no modifications to existing backup processors and policies ). The storage system unit may be used in networked computing environments, including conventional backup systems, to provide redundancy or additional storage capacity.

正如上文中的讨论,依据一个实施方案,主机120(可能是,例如附图1中的应用程序服务器102或介质服务器114)可以通过网络连接121(举例来说,光纤连接)将数据备份到备份存储介质126中,所述网络连接121将主机120耦合到存储系统170中。人们将认识到,尽管以下的讨论将优先涉及数据在仿真介质中的备份,原理也适用于从仿真介质中恢复备份数据。主机120和仿真介质134之间的数据流可以被备份/恢复应用程序控制,正如上文中的讨论。从备份/恢复应用程序的观点来看,明显的是,数据实际上被备份到仿真介质的真实的版本中。As discussed above, according to one embodiment, host 120 (which may be, for example, application server 102 or media server 114 in FIG. In the storage medium 126 , the network connection 121 couples the host 120 to the storage system 170 . It will be appreciated that while the following discussion will primarily relate to backups of data on emulated media, the principles apply to restoring backup data from emulated media as well. Data flow between host 120 and emulated medium 134 can be controlled by a backup/restore application, as discussed above. From the point of view of the backup/restore application, it is obvious that the data is actually backed up to a true version of the emulated media.

参考附图4,存储系统软件150可能包括一个或更多的表示仿真介质的逻辑抽象层,并提供固定在主机120中的备份/恢复应用程序140和备份存储介质126之间的界面。软件150接受来自备份/恢复应用140的磁带格式数据,并将所述数据翻译为适合于存储在随机访问磁盘(举例来说硬盘、光盘等类似的介质)中的数据。在一个实施例中,软件150在存储系统控制器122的处理器127中运行,而且可以被存储在记忆器129中(参见附图3)。Referring to FIG. 4 , storage system software 150 may include one or more logical abstraction layers representing emulated media and providing an interface between backup/restore application 140 and backup storage media 126 resident in host 120 . Software 150 accepts tape format data from backup/restore application 140 and translates the data into data suitable for storage on random access disks (eg, hard disks, optical disks, and the like). In one embodiment, software 150 runs on processor 127 of storage system controller 122 and may be stored in memory 129 (see FIG. 3 ).

依据一个实施方案,软件150可以包括层、至于本文中涉及的虚拟磁带库(VTL)层142可以提供SCSI磁带的仿真、磁带机和用于将磁带转换为磁带机的格式和从磁带机转换为磁带的格式的自动装置。备份/恢复应用140可以使用例如,SCSI命令(用箭头144表示)与VTL142通信(举例来说,备份或将数据读入仿真介质中)。因此,VTL可以形成其他的存储系统软件和硬件和备份/恢复应用程序之间的软件界面,仿真存储系统介质134(附图2中)出现在备份/恢复应用程序中,并允许仿真介质作为传统的可再移动备份存储介质出现在备份/恢复应用程序中。According to one embodiment, software 150 may include layers, as referred to herein, of virtual tape library (VTL) layer 142, which may provide emulation of SCSI tapes, tape drives, and formats for converting tapes to tape drives and from tape drives to Automated tape format. Backup/restore application 140 may communicate with VTL 142 (eg, backup or read data into emulated media) using, for example, SCSI commands (indicated by arrow 144). Thus, the VTL can form the software interface between other storage system software and hardware and the backup/restore application, emulated storage system media 134 (in FIG. 2 ) appears in the backup/restore application, and allows emulated media to be appears in the backup/restore application for removable backup storage media.

本文中提到的第二软件层,如文件系统层146可以提供仿真存储介质(在VTL中表示的)和真实的备份存储介质126之间的界面。在一个实施例中,文件系统146起到微调系统以与备份的存储介质126通信的作用,举例来说,使用SCSI命令(用箭头148表示),以从备份存储介质126中读和写数据。A second software layer referred to herein, such as the file system layer 146 may provide an interface between the emulated storage medium (represented in the VTL) and the real backup storage medium 126 . In one embodiment, file system 146 functions as a trimming system to communicate with backup storage medium 126 , for example, using SCSI commands (indicated by arrow 148 ) to read and write data from backup storage medium 126 .

在一个实施方案中,所述VTL提供一般的磁带库支持,而且可以支持任何SCSI介质的转换器。仿真的磁带设备可以包括,但不限于IBM LTO-1和LTO-2磁带设备、Quantum SuperDLT320磁带设备、Quantum P3000磁带库系统,或Storage TekL180磁带库系统。在VTL中,每一个虚拟编码磁带是文件,当数据存储时,所述文件动态增长。这与有固定尺寸的传统的磁带盒相反。一个或更多的虚拟编码磁带可以存储在系统文件中,正如下文中参考附图5的进一步描述。In one embodiment, the VTL provides generic tape library support and can support any SCSI media converter. Emulated tape devices may include, but are not limited to, IBM LTO-1 and LTO-2 tape devices, Quantum SuperDLT320 tape devices, Quantum P3000 tape library systems, or Storage TekL180 tape library systems. In VTL, each virtual encoded tape is a file that grows dynamically as data is stored. This is in contrast to conventional tape cassettes which have fixed dimensions. One or more virtual encoded tapes may be stored in the system file, as further described below with reference to FIG. 5 .

在附图5中,举例说明在文件系统软件146中数据结构的一个实施例,依据本发明的一个实施方案解释说明了系统文件200。在所述的实施方案中,系统文件200包括头202和数据204。所述头202可能包括标示每一个虚拟编码磁带的信息,虚拟编码磁带存储在系统文件中。不管虚拟编码磁带是否写保护,所述头可以包括的信息有,虚拟编码磁带的新建/修改数据等等。在一个实施例中,头202包括的信息唯一地标示每一个编码磁带,并从其他的储存在存储系统中的虚拟编码磁带中将每一个编码磁带区分开。举例来说,信息可能包括名称和虚拟编码磁带的标示码(例如,对应于通常在真实的磁带上表示的条形码,以致磁带可以被自动装置标示)。头202也可以包括附加的信息,举例来说,每一个虚拟编码磁带的容量,最近修改的数据等等。In FIG. 5, illustrating an example of a data structure in file system software 146, a system file 200 is illustrated in accordance with an embodiment of the present invention. In the depicted embodiment, system file 200 includes header 202 and data 204 . The header 202 may include information identifying each virtual coded tape stored in the system file. Regardless of whether the virtual coded tape is write-protected or not, the header may include information such as new/modified data of the virtual coded tape and the like. In one embodiment, header 202 includes information that uniquely identifies each encoded tape and distinguishes each encoded tape from other virtual encoded tapes stored in the storage system. For example, the information may include the name and identification code of the virtually encoded tape (eg, corresponding to a bar code normally represented on a real tape so that the tape can be marked by an automated device). Header 202 may also include additional information, for example, the size of each virtual encoded tape, last modified data, and the like.

依据本发明的一个实施方案,可以充分利用头202的大小以反映出存储数据的类型(举例来说,虚拟编码磁带表示数据从一个和更多的主机系统中备份数据),和一系列明显的系统可以跟踪的所述数据集(例如,虚拟编码磁带)。举例来说,通常备份到磁带存储系统的数据一般是用较大的数据集标识特征,代表数字系统和用户文件。由于数据集非常大,一系列被跟踪的离散数据文件可能相对小些。相应地,在一个实施方案中,头202的大小的选择是建立在由于存储数据的太多而不能有效保持跟踪(例如,头太大)和没有空间用于存储足够数量的编码磁带的标示(例如,头太小)之间妥协的基础上。在一个可仿效的实施方案中,头202利用系统文件200的第一32MB。然而,人们将认识到,在系统需要和特征的基础上,头202可以有不同的大小,取决于系统的需求和容量,人们可以为头202选择不同的大小。According to one embodiment of the present invention, the size of header 202 can be fully utilized to reflect the type of stored data (for example, a virtual encoded tape representing data backed up from one or more host systems), and a series of obvious The set of data that the system can track (eg, a virtual encoded tape). For example, data typically backed up to tape storage systems is typically characterized by larger datasets representing digital systems and user files. Since the data set is very large, a series of discrete data files that are tracked may be relatively small. Accordingly, in one embodiment, the size of the header 202 is chosen based on the fact that there is too much data to store to effectively keep track of (e.g., the header is too large) and there is no space for storing a sufficient number of coded tapes ( For example, the header is too small) on a compromise basis. In an exemplary embodiment, header 202 utilizes the first 32MB of system file 200 . However, it will be appreciated that the header 202 can be of different sizes based on the needs and characteristics of the system, and that one can choose a different size for the header 202 depending on the needs and capacity of the system.

人们将领会到,从备份/恢复应用程序的观点来看,具有全部相同的属性和特征的虚拟编码磁带作为真实的磁带盒出现。换句话说,对于备份/恢复应用程序,虚拟编码磁带实质上作为写入磁带出现。然而,在一个优选的实施方案中,存储在虚拟编码磁带中的数据不是按照顺序格式储存到备份存储介质126中,而是,表面上被写入虚拟编码磁带的数据实际上是作为可以随机访问的、磁盘格式数据被储存在存储系统的文件中。元数据被用于连接存储的数据到虚拟编码磁带,以致备份/恢复应用程序可以编码磁带格式来读和写。It will be appreciated that from the point of view of the backup/restore application, a virtual encoded tape with all the same attributes and characteristics appears as a real tape cartridge. In other words, to backup/restore applications, the virtual encoded tape essentially appears as written tape. However, in a preferred embodiment, the data stored on the virtual encoded tape is not stored in a sequential format to the backup storage medium 126, but rather, the data that appears to be written to the virtual encoded tape is actually written as a random-access Free, disk-formatted data is stored in files on the storage system. Metadata is used to link stored data to virtually encoded tapes so that backup/restore applications can read and write encoded tape formats.

因此,从一个优选的实施方案整体说来,用户和/或系统数据(本文中是指“文件数据”)被存储系统170从主机120上接收,并被存储在补充备份存储介质126的磁盘阵列中。软件150(参考附图4)和/或存储系统的硬件将这个文件数据以系统文件的格式写入到备份的存储介质126中,如下文中更加详细的描述。被存储系统控制器从备份文件数据中摘录的元数据用于跟踪用户和/或系统文件的属性被备份。举例来说,每一份文件的所述元数据可能包括文件名称、建立日期或文件的最近修改,任何关于文件的编有密码的信息,和其他信息。此外,通过存储系统为每一份文件建立元数据,所述元数据将文件连接到虚拟编码磁带。使用所述的元数据,软件向主机提供磁带盒的仿真;然而,实际上文件数据不是储存在磁带格式只,而是存储在系统文件中,如下文中的描述。在系统文件中存储数据,而不是以顺序的编码磁带格式,可以有利于允许快速、有效和随机访问个别文件,而不要求扫描顺序数据以发现特别的文件。Thus, in general terms of a preferred embodiment, user and/or system data (referred to herein as "file data") is received by storage system 170 from host computer 120 and stored in a disk array of supplemental backup storage media 126 middle. Software 150 (see FIG. 4 ) and/or storage system hardware writes this file data to backup storage medium 126 in the format of a system file, as described in more detail below. Metadata extracted from the backup file data by the storage system controller is used to track attributes of user and/or system files being backed up. For example, the metadata for each file may include the file's name, date of creation or last modification of the file, any encrypted information about the file, and other information. In addition, metadata is established for each file by the storage system, which links the file to the virtual encoded tape. Using the metadata described, the software presents an emulation of the tape cartridge to the host; however, the actual file data is not stored in tape format, but in system files, as described below. Storing data in system files, rather than in a sequentially encoded tape format, can advantageously allow fast, efficient, and random access to individual files without requiring scanning of sequential data to find particular files.

正如上文中的讨论,依据一个实施方案,文件数据(例如,用户和/或系统数据)作为系统文件存储在备份存储介质中,每一个系统文件包括头和数据,数据是真实的用户和/或系统文件。每一份系统文件200的头202包括磁带目录206,所述磁带目录206包括将用户和/或系统文件连接到虚拟编码磁带的元数据。本文中术语“元数据”既不是指代用户也不是系统文件数据,而是描述真实的用户和/或系统数据的属性的数据。依据一个实施例,磁带目录可以定义,向下到字节阶段,虚拟编码磁带中的数据布局。在一个实施方案中,磁带目录206具有表格结构,如附图6中所示。表格包括用于存储的信息的类型(例如数据,文件标记FM等等)的栏220,表示字节中使用的磁盘字节的大小的栏222,以及计算存储文件数据的磁盘字节的数量的栏224。因此,磁带目录允许控制器随机访问(以相反的顺序)任何存储在备份的存储介质126中的任何数据文件。举例来说,参考附图6,数据文件226可能在虚拟编码磁带中快速定位,是由于磁带目录指出了文件226的数据开始于系统文件200的初始阶段的框图。由于响应于文件标记(FM),所述的一个框图没有大小。文件标记不是存储在系统中的,例如,文件标记对应于零数据。由于文件标记被传统的磁带使用,所以磁带目录包括文件标记,因此,备份/恢复应用程序沿着数据文件写入文件标记,并当浏览虚拟编码磁带时,希望看到文件标记。所以,在磁带目录中文件标记被跟踪。然而,文件标记并不代表任何数据,并因此不被存储在系统文件的数据部分。所以,文件226的数据开始于系统文件的数据部分的起始部分(用箭头205表示),而且它的长度是1024字节(例如,一个磁盘字节是1024字节)。人们将领会到,其他的文件数据可能存储在不只是1024字节的字节中,这取决于数据的总量,例如,数据文件的大小。举例来说,对于效率而言,较大的数据文件可能使用较大的磁盘字节来存储。As discussed above, according to one embodiment, file data (e.g., user and/or system data) is stored on the backup storage medium as system files, each system file includes a header and data, the data is real user and/or System Files. The header 202 of each copy of system files 200 includes a tape directory 206 that includes metadata linking user and/or system files to virtual encoded tapes. The term "metadata" herein refers neither to user nor system file data, but to data describing attributes of real user and/or system data. According to one embodiment, a tape directory may define, down to the byte level, the layout of data in virtually encoded tape. In one embodiment, tape directory 206 has a table structure, as shown in FIG. 6 . The table includes a column 220 for the type of information stored (e.g., Data, File Mark FM, etc.), a column 222 indicating the size of disk bytes used in bytes, and a column for calculating the number of disk bytes used to store the file data column 224. Thus, the tape directory allows the controller to randomly access (in reverse order) any data file stored in the backup storage medium 126 . For example, referring to FIG. 6 , the data file 226 may be quickly located on the virtual encoded tape because the tape directory indicates that the data of the file 226 begins with the block diagram of the initial stage of the system file 200 . The one block diagram described has no size due to the response to file markers (FM). Filemarks are not stored in the system, for example, filemarks correspond to zero data. Since filemarks are used by traditional tapes, tape directories include filemarks, so backup/restore applications write filemarks along data files and expect to see filemarks when browsing a virtual encoded tape. Therefore, file marks are tracked in the tape directory. However, filemarks do not represent any data, and thus are not stored in the data section of system files. Therefore, the data for file 226 begins at the beginning of the data section of the system file (indicated by arrow 205), and its length is 1024 bytes (eg, a disk byte is 1024 bytes). It will be appreciated that other file data may be stored in bytes other than 1024 bytes, depending on the total amount of data, eg, the size of the data file. For example, larger data files may use larger disk bytes to store for efficiency.

在一个实施例中,磁带目录可能被包含在“文件描述符”中,所述文件描述符与备份到存储系统的每一份数据文件相联系。文件描述符包含与储存在存储系统中的数据文件204相关联的元数据。在一个实施方案中,文件描述符可能根据标准格式执行,举例来说,被大多数UNIX基础系统(多用户计算机操作系统)使用的磁带存档文件格式(一种压缩文件的扩展名)。每一个文件描述符可能包括例如,相应的用户文件的名称的信息、新建/修改的用户文件的数据、用户文件的大小,用户文件的任何访问限制等等。存储在文件描述符中的附加信息可以进一步包括描述目录结构的信息,从目录结构中可以拷贝数据。因此,文件描述符可以包括关于相应于数据文件的可查询的元数据,正如下文中更详细的讨论。In one embodiment, the tape directory may be included in a "file descriptor" associated with each data file backed up to the storage system. The file descriptors contain metadata associated with data files 204 stored in the storage system. In one embodiment, file descriptors may be implemented according to a standard format, for example, the tape archive file format (an extension for compressed files) used by most UNIX-based systems (multi-user computer operating systems). Each file descriptor may include information such as the name of the corresponding user file, the data of the newly created/modified user file, the size of the user file, any access restrictions on the user file, and the like. The additional information stored in the file descriptor may further include information describing a directory structure from which data may be copied. Accordingly, a file descriptor may include queryable metadata about the corresponding data file, as discussed in more detail below.

从备份/恢复应用程序的观点来看,任何虚拟的编码磁带可能包括多个文件数据和相对应的文件描述符。从存储系统软件的观点来看,数据文件存储在系统文件中,系统文件可以被链接,举例来说,特殊的备份工作。例如,备份被一台主机在特定的时间执行可以产生对应于一个或多个虚拟编码磁带的一个系统文件。因此,虚拟编码磁带可能是任何大小的,当更多的用户文件被存储在虚拟编码磁带中时,虚拟编码磁带可以动态增长。From the backup/restore application's point of view, any virtual encoded tape may contain multiple file data and corresponding file descriptors. From the point of view of the storage system software, data files are stored in system files, which can be linked, for example, for special backup jobs. For example, a backup performed by a host at a specific time may generate a system file corresponding to one or more virtual encoded tapes. Thus, the virtual encoded tape may be of any size, and the virtual encoded tape may grow dynamically as more user files are stored on the virtual encoded tape.

再次参考附图3,正如上文所述,存储系统170可能包括合成的完整备份软件应用程序240。在一个实施方案中,主机120将数据备份到仿真介质134中,形成一个或多个虚拟编码磁带。在某些计算机环境中,“完整备份”,举例来说,存储在网络(参见附图1)主要的存储系统中的所有数据的备份拷贝,可能被周期性地执行(例如,每周)。由于大量的数据被拷贝,这一处理过程通常非常长。因此,在许多计算环境中,额外的备份,所说的增量备份,可能在连续的完整备份(例如,每天)之间执行。增量备份是一种过程,由于执行(不管是增量的或全部)最新的备份被保存,其中只有数据被改变。典型地,改变的数据是文件库中的备份,即使文件中的大部分数据不被频繁地改变。因此,增量备份通常较小,从而可以比完整备份时较快完成。人们将领会到,尽管在通常每周一次执行完整备份和在一周中每天执行增量备份的许多环境,不要求使用时间表。举例来说,某种环境可能要求一天中增量备份几次。本发明的原理应用到任何使用完整备份(和随机的增量备份)的环境,而不考虑执行频率。Referring again to FIG. 3, storage system 170 may include composite full backup software application 240, as described above. In one embodiment, host 120 backs up data to emulated media 134, forming one or more virtual encoded tapes. In some computer environments, "full backups", eg, backup copies of all data stored in the primary storage system of the network (see Figure 1), may be performed periodically (eg, weekly). This process is usually very long due to the large amount of data being copied. Therefore, in many computing environments, additional backups, so-called incremental backups, may be performed between successive full backups (eg, daily). Incremental backup is a process in which only the data has been changed since the latest backup (whether incremental or full) is saved. Typically, changed data is a backup in the file repository, even though most of the data in the file is not changed frequently. Therefore, incremental backups are usually smaller and can complete faster than full backups. It will be appreciated that although in many environments where full backups are typically performed once a week and incremental backups are performed daily during the week, the use of schedules is not required. For example, an environment may require incremental backups several times a day. The principles of the present invention apply to any environment where full backups (and random incremental backups) are used, regardless of the frequency of execution.

在完整备份处理期问,主机可以新建一个或更多的包括含有众多数据文件的备份数据的虚拟编码磁带。为了清楚说明,下面的讨论将假定完整备份只产生一个虚拟编码磁带。然而,人们将领会到,完整备份可以产生一个以上的虚拟编码磁带,本发明的原理可以应用到任何数量的虚拟编码磁带中。During full backup processing, the host can create one or more virtual encoded tapes containing backup data containing numerous data files. For clarity, the following discussion will assume that a full backup produces only one virtual encoded tape. However, it will be appreciated that a full backup may result in more than one virtual encoded tape and that the principles of the present invention may be applied to any number of virtual encoded tapes.

依据一个实施方案,提供用于从一个现有的完整备份数据集和一个或多个的增量备份数据集新建合成完整备份数据集的方法。所述方法可以避免周期性(例如,每周)执行完整备份的要求,从而节约用户大量的时间和网络资源。更进一步说,正如本领域内的普通技术人员所知道的,在完整备份和一个或多个增量备份的基础上,恢复数据是耗时的过程,举例来说,如果文件的最新的版本存在于增量备份中,备份/恢复应用程序通常将在最新的完整备份的基础上储存文件,然后应用增量备份中的任何改变。因此,提供合成的完整备份可以具有允许备份存储应用在合成完整备份的基础上更快地保存数据文件的额外优势,不需要从完整备份和一个或更多的增量备份中完成多次保存。人们将领会到,本文中使用的词汇“最新版本”一般是指数据文件的最新拷贝(举例来说,数据文件在最近的保存时间),无论文件是否有新的版本编号。本文中使用的术语“版本”一般是指同一文件的拷贝,同一文件可以某种方式修改或可能被多次保存。According to one embodiment, a method for creating a synthetic full backup data set from an existing full backup data set and one or more incremental backup data sets is provided. The method can avoid the requirement to periodically (eg, weekly) perform full backups, thereby saving the user considerable time and network resources. Furthermore, as is known to those of ordinary skill in the art, restoring data based on a full backup and one or more incremental backups is a time-consuming process, for example, if the latest version of the file exists In an incremental backup, the backup/restore application will typically store the files based on the latest full backup and then apply any changes made in the incremental backup. Therefore, providing a synthetic full backup may have the added advantage of allowing the backup storage application to save data files more quickly based on the synthetic full backup, without requiring multiple saves to be done from the full backup and one or more incremental backups. It will be appreciated that the term "latest version" as used herein generally refers to the latest copy of a data file (eg, when the data file was last saved), regardless of whether the file has a new version number. The term "version" as used herein generally refers to a copy of the same file that may be modified in some way or may be saved multiple times.

参考附图7,举例说明的合成完整备份程序的图表描述。主机120可以在第一时间执行完整备份230,举例来说,在周末。主机120可以执行连续增量备份232a,232b,232c,232d和232e,举例来说,一周中的每一天。存储系统170可以新建合成完整备份数据集234,正如下文中的描述。Referring to FIG. 7, a diagrammatic depiction of an exemplary synthetic full backup procedure. Host 120 may perform full backup 230 at the first time, for example, on a weekend. Host 120 may perform continuous incremental backups 232a, 232b, 232c, 232d, and 232e, for example, for each day of the week. Storage system 170 may create a new synthetic full backup data set 234, as described below.

依据一个实施方案,存储系统170可以包括软件应用,在本文中是指合成完整备份应用程序240(参考附图3)。合成完整备份应用程序240可以在存储系统控制器122(参考附图2)中运行或在主机120中运行。合成完整备份应用程序包括软件命令和新建合成完整备份数据集234所必要的界面。在一个实施例中,合成完整备份应用可以完成表示每一个完整备份数据集230和增量备份数据集232的元数据的逻辑合并,以产生新的包含合成完整备份数据集234的虚拟编码磁带。According to one embodiment, storage system 170 may include a software application, referred to herein as composite full backup application 240 (see FIG. 3 ). Synthetic full backup application 240 may run in storage system controller 122 (see FIG. 2 ) or in host 120 . The synthetic full backup application includes the software commands and interfaces necessary to create a synthetic full backup data set 234 . In one embodiment, the synthetic full backup application may perform a logical merge of the metadata representing each full backup data set 230 and incremental backup data set 232 to produce a new virtual encoded tape containing the synthetic full backup data set 234 .

举例来说,参考附图8,现有的完整备份数据集可以包括用户文件F1,F2,F3和F4。第一增量备份数据集232a可以包括F2的修改版本的用户文件F2′,,和F3的修改版本F3′。第二增量备份数据集232b可以包括F1的修改版本的用户文件F1′,和F2的进一步修改版本F2″,和新的用户文件F5。因此,从完整备份数据集230和两个增量数据集232a和232b的逻辑合并中形成的合成完整备份数据集234包括每一份用户文件F1,F2,F3,F4和F5的最新版本。正如附图8所示,此处的合成完整备份数据集包括用户文件F1′,F2″,F3′,F4和F5。For example, referring to FIG. 8, the existing complete backup data set may include user files F1, F2, F3 and F4. The first incremental backup data set 232a may include a modified version of the user file F2' of F2, and a modified version of F3' of the user file F3'. The second incremental backup data set 232b may include the user file F1' of the modified version of F1, and the further modified version F2" of F2, and the new user file F5. Therefore, from the full backup data set 230 and the two incremental data The synthetic complete backup data set 234 formed in the logical merging of sets 232a and 232b includes the latest version of each user file F1, F2, F3, F4 and F5.As shown in accompanying drawing 8, the synthetic complete backup data set here Including user files F1', F2", F3', F4 and F5.

再次参考附图3和4,文件系统软件146可以新建逻辑元数据高速缓冲存储器242,该高速缓冲存储器242存储与储存在仿真介质134中每一份用户文件相关联的元数据。人们将领会到,逻辑元数据高速缓冲存储器不要求是真实的数据高速缓冲存储器,但是可能代替储存在存储介质126中的可查询收集数据。在另一个实例中,逻辑元数据高速缓冲存储器242可以作为数据库执行。元数据存储在数据库中,传统的数据库命令(例如,SQL命令)可以用于完成完整备份数据集和一个或多个增量备份数据集的逻辑合并以新建合成的完整备份数据集。Referring again to FIGS. 3 and 4 , the file system software 146 may create a logical metadata cache 242 that stores metadata associated with each user file stored in the emulation medium 134 . It will be appreciated that the logical metadata cache need not be an actual data cache, but may replace queryable collection data stored in the storage medium 126 . In another example, logical metadata cache 242 may be implemented as a database. Metadata is stored in the database, and traditional database commands (for example, SQL commands) can be used to complete the logical combination of the full backup data set and one or more incremental backup data sets to create a new synthetic full backup data set.

正如上文所讨论的,存储在仿真介质134上的每一份数据文件可能包括文件描述符,所述文件描述符包含与数据文件关联的元数据,包括备份存储介质126中的文件的位置。在一个实施方案中,在主机120中运行的备份/恢复应用程序保存在仿真介质134中的磁带流格式的数据。在数据结构250的实施例表示在附图9中举例说明的磁带格式。正如上文讨论的,系统文件数据结构包括头,所述头可能包含关于数据文件的信息,例如,数据文件的文件描述符,新建和/或修改的文件数据,安全信息,文件来源的主系统的目录结构,以及其他将文件链接到虚拟编码磁带的信息。所述头与数据254关联,是真实的用户和系统文件,所述用户和系统文件已经从主机、主要的存储系统等等中备份。系统文件数据结构可能也随机地包括垫256,垫256可以适当地将下一个头对准到区域分界线。As discussed above, each data file stored on emulation medium 134 may include a file descriptor containing metadata associated with the data file, including the location of the file in backup storage medium 126 . In one embodiment, a backup/restore application running on host computer 120 saves data in tape stream format on emulated medium 134 . The embodiment in data structure 250 represents the tape format illustrated in FIG. 9 . As discussed above, system file data structures include headers that may contain information about the data file, for example, the file descriptor for the data file, new and/or modified file data, security information, the host system from which the file originated directory structure, and other information linking the files to the virtual encoded tape. The header is associated with data 254, which is the actual user and system files that have been backed up from the host, primary storage system, etc. The system file data structure may also randomly include pads 256 which may properly align the next header to the region boundary.

如附图9所示,在一个实施方案中,头数据被放置在逻辑元数据高速缓冲存储器242中,以允许快速的查询和随机访问连续的磁带数据格式。逻辑元数据高速缓冲存储器的使用,借助存储在系统控制器122中的文件系统软件148来完成,允许线性、连续磁带数据格式的翻译存储在仿真介质134中,进入存储在补充备份存储介质126的物理磁盘中的随机访问数据格式中。逻辑元数据高速缓冲存储器242存储头252,所述头252包括数据文件的文件描述符、安全信息,所述安全信息被用于控制对数据文件的访问,正如下文中更加详细的讨论,指示符256对应于数据文件在虚拟编码磁带和备份存储介质126中的真实位置。在一个实施方案中,逻辑元数据高速缓冲存储器储存的数据涉及在完整备份数据集230中和增量数据集232中的每一份数据的所有的数据文件。As shown in FIG. 9, in one embodiment header data is placed in a logical metadata cache 242 to allow fast lookup and random access to a continuous tape data format. The use of a logical metadata cache, accomplished by the file system software 148 stored in the system controller 122, allows translation of the linear, sequential tape data format stored in the emulation medium 134 into the data stored in the supplemental backup storage medium 126. Random access data format on physical disk. Logical metadata cache 242 stores headers 252 that include file descriptors for data files, security information that is used to control access to data files, as discussed in more detail below, indicators 256 corresponds to the real location of the data file in the virtual encoded tape and backup storage medium 126 . In one embodiment, the logical metadata cache stores data related to all data files for each share of data in the full backup data set 230 and the incremental data set 232 .

依据一个实施方案,合成完整备份应用软件240使用储存在逻辑元数据高速缓冲存储器中的信息来新建合成的完整备份数据集。所述合成完整备份数据集被链接到虚拟编码磁带,所述合成虚拟编码磁带由合成的完整备份应用240新建。对于备份/恢复应用程序,合成的完整备份数据集表面上看储存在合成的虚拟编码磁带中。正如上文中的讨论,合成的完整备份数据集可以通过执行现有的完整备份数据集和增量备份数据集的逻辑合并新建。逻辑合并可以包括对比每一份数据文件,每一份数据文件包含在每一个现有的完整备份数据集和增量备份数据集中,并新建每一份用户文件的最新修改的版本的合成,正如参考附图8的讨论。According to one embodiment, the synthetic full backup application software 240 uses information stored in the logical metadata cache to create a new synthetic full backup data set. The synthetic full backup data set is linked to a virtual encoded tape created by the synthetic full backup application 240 . For backup/restore applications, the synthetic full backup data set is ostensibly stored on synthetic virtual encoded tape. As discussed above, synthetic full backup datasets can be created by performing a logical merge of existing full and incremental backup datasets. A logical merge may include comparing each data file contained in each existing full backup data set and incremental backup data set, and creating a composite of the latest modified version of each user file, as in See discussion with reference to Figure 8.

依据一个实施方案,合成的虚拟编码磁带260包括指示符,所述指示符指出数据文件在其他的虚拟编码磁带中的定位,明显的是,如附图10所示,所述虚拟编码磁带包括现有的完整备份数据集和增量备份数据集。考虑到前面附图8给出的实施例,合成虚拟编码磁带260包括指示符266,该指示符266指出(用箭头268标出)用户文件F4(由于现有的完整备份数据集包括F4的最新版本)在虚拟编码磁带262中的现有完整备份数据集中的位置,举例来说,用户文件F3′在虚拟编码磁带264中的增量数据集232a中的位置。According to one embodiment, the synthesized virtual coded tape 260 includes indicators indicating the location of data files within other virtual coded tapes, notably, as shown in FIG. There are full backup data sets and incremental backup data sets. Considering the embodiment given in the previous accompanying drawing 8, the synthetic virtual encoded tape 260 includes an indicator 266 which points out (marked with arrow 268) the user file F4 (since the existing complete backup data set includes the latest version) in the existing full backup data set on the virtual encoded tape 262, for example, the location of the user file F3′ in the incremental data set 232a on the virtual encoded tape 264.

合成的虚拟编码磁带也可以包括包含所有的虚拟编码磁带的标示码(任选的名称)的列表270,所有的虚拟编码磁带包括被指示符266所指出数据。附属编码磁带列表270对于跟踪真实的数据是很重要的,而且防止附属的虚拟编码磁带被消磁。在所述实施方案中,合成的完整备份数据集并不包括任何真实的用户文件,但是另外的指示符组指出用户文件在备份的存储介质126中的位置。因此,为防止真实的用户文件(存储在其他的虚拟编码磁带中)被删除需要描述(用户文件在备份的存储介质126中的位置)。这可以通过保留包括数据的虚拟编码磁带的记录(附属编码磁带目录270),和保护所述虚拟编码磁带的每一个虚拟编码磁带免受过写或删除来部分实现。合成虚拟编码磁带也可以包括编码磁带数据272,例如,合成的虚拟编码磁带的大小,在备份存储介质126中的位置等等。另外,合成的虚拟编码磁带具有标示码和/或名称274。The composite virtual coded tape may also include a list 270 containing the identification codes (optionally named) of all virtual coded tapes that include the data indicated by the indicator 266 . The attached coded tape list 270 is important to keep track of the real data and to prevent the attached dummy encoded tape from being degaussed. In the described embodiment, the synthetic full backup data set does not include any actual user files, but an additional set of indicators indicates where the user files are located in the backed up storage medium 126 . Therefore, the description (location of the user files in the backup storage medium 126) is required to prevent the real user files (stored in the otherwise virtual encoded tape) from being deleted. This may be accomplished in part by keeping a record of the virtual encoded tapes containing the data (subsidiary encoded tape directory 270), and protecting each of said virtual encoded tapes from overwriting or erasure. The synthesized virtual encoded tape may also include encoded tape data 272, eg, the size of the synthesized virtual encoded tape, its location in the backup storage medium 126, and the like. Additionally, the synthesized virtual coded tape has an identification code and/or name 274 .

依据另外一个实施方案,合成的虚拟编码磁带也可以包括指示符和真实存储的用户文件的结合。参考附图11,在一个实施例中,合成的虚拟编码磁带包括指示符266,指示符266指出数据文件(最新的版本,正如参考附图9时的讨论)在虚拟编码磁带262的现有完整备份数据集230中的位置。合成的虚拟编码磁带也可以包括数据278,数据278包含从增量数据集232中拷贝真实的数据文件,如箭头280所示。以所述方式,在合成的完整备份数据集276新建之后,增量备份数据集可以被删除,从而节约存储空间。由于包括全部或部分指示符而不是所有用户文件的拷贝,合成的虚拟编码磁带相对小。According to another embodiment, the synthetic virtual encoded tape may also include a combination of pointers and actually stored user files. Referring to FIG. 11 , in one embodiment, the composite virtual encoded tape includes an indicator 266 indicating that the data file (latest version, as discussed with reference to FIG. The location in the backup data set 230 . The synthesized virtual encoded tape may also include data 278 containing actual data files copied from incremental data set 232 as indicated by arrow 280 . In the manner described, incremental backup data sets may be deleted after synthetic full backup data set 276 is created, thereby saving storage space. The resulting virtual encoded tape is relatively small due to the inclusion of all or part of the pointer rather than a copy of all user files.

人们将领会到,合成的完整备份可以包括任何指示符和存储文件数据的结合,并不限于上文中给出的实施例。举例来说,合成的完整备份可以包括为一些存储在某种增量和/或完整的备份中的某些文件指出数据文件的指示符,和包括从其他现有的完整和/或增量备份中拷贝的存储的数据文件。而且作为替换,合成的完整备份可以在现有的完整备份和任何相关的增量备份的基础上新建,所述增量备份不包括任何指示符,但是包括从优选的完整和/或增量备份中拷贝的真实数据文件的最新版本。It will be appreciated that a synthetic full backup may include any combination of indicators and stored file data and is not limited to the examples given above. For example, a synthetic full backup may include pointers to data files for some files stored in some incremental and/or full backup, and include data files from other existing full and/or incremental backups Stored data files copied in . And alternatively, a synthetic full backup can be created from an existing full backup and any associated incremental backups, which do not include any indicators, but include the preferred full and/or incremental backups from the The latest version of the real data file copied in .

在一个实施方案中,合成完整的备份应用软件可以包括差分运算,所述差分运算能够为每一份现有的完整备份数据集和增量数据集比较用户和系统文件元数据,以确定每一份数据文件的最新版本的位置。举例来说,差分运算可以用于比较新建和/或修改的数据,版本号码(如果可用)等等,不同的备份集中的同一数据文件的不同版本选择最近的数据文件的版本。然而,用户可以打开用户文件和保存文件(从而改变修改的数据)而不需要真实的改变文件中的任何数据。因此,系统可以完成更加复杂的差分运算,可以分析系统或用户文件中的数据以确定数据是否确实被修改。所述差分运算的变换和其他可比较的运算法则的类型在本领域内是公知的。另外,正如上文中的讨论,当元数据被存储在数据库格式中,数据库命令,例如,SQL命令可以被用于执行逻辑合并。本发明可以运用任何一种所述的差分运算以确保每一份用户文件最近或最新版本被从全部的对比现有备份的数据集中挑选出来,以致适合地产生合成的完整备份数据集。In one embodiment, synthesizing a full backup application may include a differential operation that compares user and system file metadata for each existing full backup data set and incremental data set to determine the The location of the latest version of the data file. For example, differential operations can be used to compare new and/or modified data, version numbers (if available), etc., with different versions of the same data file in different backup sets selecting the most recent version of the data file. However, users can open user files and save files (thus changing modified data) without actually changing any data in the file. Therefore, the system can perform more complex differential operations, and can analyze data in system or user files to determine whether the data has indeed been modified. Transformations of the differential operation and other comparable types of algorithms are well known in the art. Additionally, as discussed above, when metadata is stored in a database format, database commands, eg, SQL commands, can be used to perform logical merges. The present invention may employ any of the differential operations described to ensure that the most recent or up-to-date version of each user file is selected from all data sets compared to existing backups to suitably generate a composite full backup data set.

本领域内的普通技术人员将领会到,合成的完整备份应用能够新建完整的备份数据集,和可以获得而不需要主机执行真实的完整备份。不仅仅是避免增加将数据转换到备份的存储系统的主机与处理器的费用,而且在实施方案中合成的完整备份应用可以在存储系统中执行,可以显著减少网络宽带的利用。如附图7所示,进一步的合成完整备份数据集可以通过使用第一合成完整备份数据集234和随后的增量备份数据集236新建。在提供的显著的时间优势中,文件或目标没有被经常修改、频繁拷贝。实际上,合成的完整备份数据集可以在被刚刚拷贝的文件中保留指示符。Those of ordinary skill in the art will appreciate that a synthetic full backup application can create a complete backup data set, and can obtain an actual full backup without requiring the host to perform it. Not only is the added host and processor cost of transferring data to the backup storage system avoided, but in embodiments the composite full backup application can be executed on the storage system, which can significantly reduce network bandwidth utilization. As shown in FIG. 7 , further synthetic full backup data sets may be created using the first synthetic full backup data set 234 and subsequent incremental backup data sets 236 . Among the significant time advantages provided, files or objects are not frequently modified, frequently copied. In fact, the synthetic full backup data set may retain pointers in the files that were just copied.

正如参考附图3的讨论,存储系统可以包括涉及终端用户恢复应用程序300的软件应用。因此,依据另一个实施方案,对终端用户提供了用于确定和恢复备份数据的方法,而不需要IT工作组的发明,以及不要求对现有的备份/恢复处理器和/或策略做任何改变。在典型的备份存储系统中,在主机120中运行的备份/恢复应用程序被IT工作组控制,而且对于终端用户在没有IT工作组的发明的情况下访问备份的数据来所说,是没有可能的或非常困难。依据本发明的实施方案的各个方面,提供的存储系统软件通过,举例来说,网络为基础的或其他的备份存储介质126的界面来允许终端用户确定位置和恢复文件。As discussed with reference to FIG. 3 , the storage system may include a software application involving an end-user recovery application 300 . Thus, according to another embodiment, a method for identifying and restoring backup data is provided to end users without requiring IT workgroup inventions, and without requiring any changes to existing backup/restore processors and/or policies. Change. In a typical backup storage system, the backup/restore application running in the host 120 is controlled by the IT workgroup, and there is no possibility for end users to access the backed up data without the invention of the IT workgroup or very difficult. According to various aspects of embodiments of the present invention, storage system software is provided to allow end users to locate and restore files by interfacing, for example, to network-based or other backup storage media 126 .

人们将领会到,由于使用合成的完整备份应用程序240,终端用户恢复可以在存储系统的控制器122上运行(参考附图2)或在主机120上运行的应用程序300。终端恢复应用程序包括软件命令和允许被授权的用户查询逻辑元数据高速缓冲存储器、随机恢复、从备份存储介质126中备份的文件所必需的界面。It will be appreciated that due to the use of the synthetic full backup application 240, the end user restores the application 300 which may be running on the storage system's controller 122 (see FIG. 2) or on the host 120. The terminal restore application includes the software commands and interfaces necessary to allow authorized users to query the logical metadata cache, restore at random, files backed up from the backup storage medium 126 .

依据一个实施方案,提供的软件包括安装在用户计算机136上和/或在用户计算机136上执行的用户界面。用户界面可以是任何类型的允许用户确定文件在备份的存储介质中的位置的界面。举例来说,用户界面可以是绘制的用户界面,可以是以网络为基础的,或可以是正文界面。用户计算机通过网络连接138耦合到存储系统170,所述网络连接138可以是,例如,以太连接。通过网络连接138,用户计算机136的操作人员可以访问存储在存储系统170中的数据。According to one embodiment, the provided software includes a user interface installed on the user computer 136 and/or executed on the user computer 136 . The user interface may be any type of interface that allows a user to determine the location of a file in the backup storage medium. For example, the user interface may be a graphical user interface, may be web-based, or may be a textual interface. User computers are coupled to storage system 170 through network connection 138, which may be, for example, an Ethernet connection. Through network connection 138 , an operator of user computer 136 may access data stored in storage system 170 .

在一个实施例中,终端用户恢复包括用户授权证和/或授权特征的应用程序300。举例来说,用户可以通过用户计算机上的用户界面,使用用户名和密码来注册。用户计算机可以与用户名和密码通信到存储系统(举例来说,到终端用户恢复应用程序)可以使用优选的用户授权装置,以决定用户是否访问过存储系统。一些用户授权装置的实施例可以包括,但是不限于,MicrosoftActive Directory服务器、Unix“黄页”服务器或标准目录访问协议。注册/用户授权装置可以与终端用户恢复应用程序通信以交换用户的特权。举例来说,某些用户可以被允许只能查询自身新建的文件,或拥有某些特权的或被当作所有人标示的文件。其他的用户,举例来说,系统操作人员或被授权的人可以访问所有的备份文件等等。In one embodiment, the end user restores the application 300 including the user's credentials and/or authorization features. For example, a user may register through a user interface on the user's computer using a user name and password. The user computer can communicate the user name and password to the storage system (eg, to the end user recovery application) and can use preferred user authorization means to determine whether the user has accessed the storage system. Some examples of user authorization means may include, but are not limited to, Microsoft Active Directory servers, Unix "Yellow Pages" servers, or standard directory access protocols. The registration/user authorization means may communicate with the end user recovery application in exchange for the user's privileges. For example, some users may be allowed to only query files created by themselves, or files with certain privileges or marked as owners. Other users, for example, system operators or authorized persons can access all backup files and so on.

依据一个实施方案,终端用户恢复应用程序使用逻辑元数据高速缓冲存储器获得关于所有备份到备份存储介质的数据文件的信息。终端恢复应用程序通过用户界面出现在用户面前,用户文件存储的分等级的目录结构,举例来说,备份时间/数据、用户名、初始用户计算机目录结构(当文件备份时获得),或其他的文件特征。在一个实施例中,出现在用户面前的目录结构可根据用户特权来改变。终端用户恢复应用程序可以接收浏览的要求(举例来说,通过用户界面,用户可以浏览目录结构到需要的文件的位置)或用户可以通过名称、日期等查询文件。According to one embodiment, the end-user restore application uses the logical metadata cache to obtain information about all data files backed up to the backup storage medium. The terminal recovery application presents the user with a user interface, hierarchical directory structure where user files are stored, e.g. backup time/data, username, initial user computer directory structure (obtained when files were backed up), or other file characteristics. In one embodiment, the directory structure that appears to the user can be changed according to the user's privileges. The end-user restore application can receive browsing requests (for example, through a user interface, the user can browse the directory structure to the location of the desired file) or the user can query files by name, date, etc.

依据一个实施方案,用户可以从存储系统中恢复备份文件。举例来说,一旦用户确定需要的文件的位置,正如上文中的讨论,用户可以通过网络连接138从存储系统中下载文件。在一个实施例中,如本领域内的普通技术人员所知的,下载程序可以对比与任何网络为基础的下载的方式进行下载。According to one embodiment, the user can restore backup files from the storage system. For example, once the user locates the desired file, as discussed above, the user may download the file from the storage system via network connection 138 . In one embodiment, the download program may be downloaded in any manner other than network-based downloads, as known to those of ordinary skill in the art.

通过允许终端用户访问允许浏览/下载的其他文件,和通过促使经过用户界面(例如,网络为基础的结束)的访问,终端用户恢复应用程序可以使用户查询和恢复自己的文件而无需改变任何备份策略或程序。By allowing end-user access to other files that allow browsing/downloading, and by facilitating access through a user interface (e.g., web-based termination), an end-user recovery application can enable users to query and restore their own files without altering any backups policy or procedure.

依据另一个实施方案提供的装置和方法,借此用户可以安装存储在备份存储介质126中的备份数据集的网络附件视图。这样可以允许用户在安装的数据集中浏览和访问数据,由于用户将会在与他们的计算机耦合的任何本地或网络驱动器上录入数据。因此,例如,用户可以恢复应用程序服务器(例如,当系统主存储106失效时,参考附图1)数据的有效性,而无需通过介质服务器114(参考附图1)执行恢复程序。使用本文描述的安装程序恢复应用程序服务器的数据可能是比典型的介质服务器要快出多个数量级以便于卷的恢复。人们将领会到,本文中使用的术语“安装”是指建立数据卷或网络构成,例如网络驱动器,可利用的主机操作系统。数据卷可能包括,例如单一的数据文件或系统文件、众多的文件、或包括众多文件的目录结构。普通安装协议包括NFS(网络文件系统)和CIFS(普通因特网文件系统)的共有部分。这些协议允许主机借助界面通过网络连接访问另外的主机上的资源,所述界面使得远程资源似乎就在本地的主机中。According to another embodiment, apparatus and methods are provided whereby a user may install a network attachment view of a backup data set stored in the backup storage medium 126 . This allows users to browse and access data in installed datasets, as users will be entering data on any local or network drives coupled to their computers. Thus, for example, a user can restore the availability of application server (eg, when system main storage 106 fails, see FIG. 1 ) data without performing a recovery procedure through the media server 114 (see FIG. 1 ). Restoring application server data using the setup described in this article can be orders of magnitude faster than typical media servers for volume restores. It will be appreciated that the term "mount" as used herein refers to making a data volume or network component, such as a network drive, available to the host operating system. A data volume may include, for example, a single data file or system file, a plurality of files, or a directory structure including a plurality of files. Common mount protocols include common parts of NFS (Network File System) and CIFS (Common Internet File System). These protocols allow a host to access resources on another host over a network connection through an interface that makes the remote resource appear to reside locally on the host.

参考附图12,解释说明了依据本发明的各个方面用于执行卷安装的方法的一个实施方案的流程图。在第一步骤290中,用户选择将要安装的数据卷,并将卷安装请求发送到备份存储系统的控制器122中(参考附图3)。通常,用户可以从完整备份数据集中(而不仅仅是增量备份数据集)恢复数据,以获得完整和正确的备份信息的表达式。如果当前的完整备份数据集不存在,(例如,网络管理者可能每周执行完整备份,因此如果用户希望在这周中恢复数据,当前的完整备份可能是不能使用的),可以新建合成的完整备份(如上文所述)并用于恢复选定的数据。Referring to FIG. 12 , there is illustrated a flow diagram of one embodiment of a method for performing volume mounts in accordance with various aspects of the present invention. In the first step 290, the user selects a data volume to be mounted, and sends a volume mount request to the controller 122 of the backup storage system (refer to FIG. 3 ). Typically, users can restore data from a full backup dataset (not just an incremental backup dataset) to obtain a complete and correct representation of the backup information. If the current full backup data set does not exist, (for example, the network administrator may perform full backups weekly, so if the user wishes to restore data during the week, the current full backup may not be available), a new synthetic full backup may be created. Backup (as above) and use to restore selected data.

依据一个实施方案,备份存储系统170可能包括软件应用程序,关于本文的卷恢复应用程序310(参考附图13),可以控制和实现用于执行数据卷安装和恢复程序的方法。卷恢复应用程序310与合成的完整备份和终端用户恢复应用程序类似,可以在主机和/或用户计算机上执行,在此,一部分程序通过所有或部分存储系统控制器、主机和用户计算机进行分配。According to one embodiment, backup storage system 170 may include a software application, with respect to volume restore application 310 herein (see FIG. 13 ), that may control and implement methods for performing data volume mount and restore procedures. Volume restore application 310 is similar to a composite full backup and end-user restore application and can execute on host and/or user computers, where a portion of the program is distributed across all or part of the storage system controller, host, and user computers.

再次参考附图12,在请求卷安装之后,无论当前的完整备份是否是可利用的(步骤292),所述卷恢复应用程序可能会受到质疑。如果不是,所述卷恢复应用程序可以与合成的完整备份应用程序240(参考附图2)通信以执行合成完整备份处理程序,并新建当前的备份数据集(步骤294)。所述卷恢复应用程序可以输出到常规的完整备份数据集中或合成的完整备份数据集中,以执行卷安装的请求,所述请求可能是NFS也可能是CIFS所共有的部分。特别的是,所述卷恢复应用程序查询逻辑元数据高速缓冲存储器242以确定优选的元数据,该元数据表示在步骤290中被标示的被选定的完整备份卷。Referring again to FIG. 12, after requesting a volume mount, the volume recovery application may be challenged regardless of whether a current full backup is available (step 292). If not, the volume recovery application may communicate with the synthetic full backup application 240 (see FIG. 2) to execute the synthetic full backup handler and create a new current backup data set (step 294). The volume recovery application may output to a regular full backup data set or a synthetic full backup data set to perform volume mount requests, which may be common to NFS or CIFS. In particular, the volume recovery application queries the logical metadata cache 242 to determine the preferred metadata representing the selected full backup volumes marked in step 290 .

依据一个实施方案,安装请求(步骤290中)可能导致卷恢复应用程序建立一个或更多的文件描述符结构,以使用于安装的卷的输出更加便利,如NFS或CIFS所共有的部分(步骤296)。关于附图14,解释说明了文件描述符结构320的一个实施方案,所述文件描述符可以通过卷恢复应用程序建立,文件描述符320对应于磁带格式(例如系统文件332,参考附图15)的系统文件。正如上文中的描述,文件描述符包括可查询的元数据,所述元数据与储存在存储系统中的数据文件和系统文件相对应。所述文件描述符320可能包括含有信息的众多部分,例如,文件名322和用于包含在将要安装的卷中的数据文件的许可文件(访问控制列表)324。另外,文件描述符包含一个或更多的指示符326以确定数据文件的源数据的位置(例如,在存储介质126中标示数据文件是否被存储)、数据文件的长度328,和在连接列表文件描述符结构中的指向下一条目(例如,下一份数据文件)的指示符330。如果“下一份”文件是空的,例如被参考数字331标示,那么,则表示该数据文件是被文件描述符320(例如,最后的连接列表条目)所代表的系统文件中的最后一份数据文件。如附图14中解释说明的那样,包括在将被安装的数据卷中的每一系统文件将用文件描述符结构表示。一旦在请求卷中的每一系统文件建立了文件描述符320,则所述文件描述符可以响应于NFS或CIFS的请求以定位和输出相关的数据文件。According to one embodiment, the mount request (in step 290) may cause the volume recovery application to create one or more file descriptor structures to facilitate the export of mounted volumes, as common to NFS or CIFS (step 296). With respect to Figure 14, one embodiment of a file descriptor structure 320 that may be created by a volume recovery application is illustrated, the file descriptor 320 corresponding to the tape format (e.g. system file 332, see Figure 15) system files. As described above, a file descriptor includes queryable metadata corresponding to data files and system files stored in the storage system. The file descriptor 320 may include a number of sections containing information such as a filename 322 and a permission file (access control list) 324 for the data files contained in the volume to be mounted. In addition, the file descriptor includes one or more indicators 326 to determine the location of the source data of the data file (for example, whether the data file is stored in the storage medium 126), the length 328 of the data file, and the link list file A pointer 330 to the next entry (eg, next data file) in the descriptor structure. If the "next" file is empty, such as indicated by reference numeral 331, then it indicates that the data file is the last of the system files represented by file descriptor 320 (e.g., last link list entry) data file. As explained in Figure 14, each system file included in the data volume to be mounted will be represented by a file descriptor structure. Once a file descriptor 320 is established for each system file in the requested volume, the file descriptor can respond to NFS or CIFS requests to locate and export the associated data files.

正如上文中的讨论,在一个实施方案中,文件描述符可能根据标准格式执行,举例来说,被大多数UNIX基础系统(多用户计算机操作系统)使用的磁带存档文件格式(tar:一种压缩文件的扩展名)。如附图15解释说明的那样,典型的系统文件332的例子将作为磁带(例如,tar)数据源的一部分以磁带格式书写(例如,tar格式)。附图16解释说明了与系统文件332相对应的文件描述符340。正如附图15解释说明的那样,以磁带格式书写的文件包括头336和存储在系统文件332中的真实数据338。所述数据338可能与一份或多份数据文件相一致。在用于解释说明的实施例中,系统文件332的长度是1032字节,然而,人们将会理解文件可以有任何长度,这取决于文件的大小和书写格式。As discussed above, in one embodiment, file descriptors may be implemented according to a standard format, for example, the tape archive file format (tar: a compressed file format) used by most UNIX-based systems (multi-user computer operating systems). file extension). As illustrated in Figure 15, an example of a typical system file 332 would be written in tape format (eg, tar format) as part of a tape (eg, tar) data source. FIG. 16 illustrates file descriptors 340 corresponding to system files 332 . As illustrated in FIG. 15 , files written in tape format include header 336 and actual data 338 stored in system files 332 . The data 338 may correspond to one or more data files. In the illustrated embodiment, the system file 332 is 1032 bytes in length, however, it will be understood that the file may be of any length, depending on the size and writing format of the file.

文件332的文件描述符340包括在头336中。根据附图16的解释说明和参考附图14给出的一般实施例可知,文件描述符340包括对于系统文件来说是已知的每一份数据文件的存储数据的文件名341、安全信息334、指示符342,相应的数据文件的长度346,以及标示系统文件已知的下一份数据文件的“下一”条目,在用于解释说明的实施例中,“下一”条目是空348。File descriptor 340 for file 332 is included in header 336 . According to the explanation of the accompanying drawing 16 and the general embodiment given with reference to the accompanying drawing 14, the file descriptor 340 includes the file name 341 and the security information 334 of the storage data of each data file known to the system file , an indicator 342, the length 346 of the corresponding data file, and the "next" entry indicating the next data file known to the system file, in the embodiment used for explanation, the "next" entry is empty 348 .

再次参考附图12,一旦将要安装的数据卷中的文件的所有的文件描述符已经被建立,卷恢复应用程序在建立的文件描述符的基础上,将文件系统作为NFS或CIFS共享部分(步骤298)输出到特定用户安装点。在所述安装点,完成安装(步骤299),而且安装的数据卷对于用户读和/或写数据是可利用的,下文将做详细的描述。Referring again to accompanying drawing 12, once all the file descriptors of the files in the data volume to be mounted have been established, the volume recovery application program uses the file system as an NFS or CIFS share on the basis of the established file descriptors (step 298) Output to a specific user mount point. At the mount point, the mount is complete (step 299), and the mounted data volume is available for users to read and/or write data, as will be described in detail below.

依据一个实施方案,NFS或CIFS读操作(例如,用户希望在安装的数据卷中浏览数据)通过查询用于匹配文件说明的文件描述符320提供。人们将领会到,依据一个实施方案,用户无需自己查询文件描述符。而是,卷恢复应用程序包括将数据呈现在用户面前的用户界面,例如,典型的字典结构格式。卷恢复应用程序可以包括软件,该软件将用户请求的特殊文件转换为访问逻辑元数据高速缓冲存储器中的查询命令,并为匹配系统文件查找文件描述符320。一旦确定文件的位置,转换到用户计算机中的数据可以通过追踪连接列表(例如,追踪存储在文件描述符中的指示符以确定真实数据的位置)来完成并为文件数据建立缓冲器,所述文件数据将被发送到提出请求的用户处。According to one embodiment, NFS or CIFS read operations (eg, a user wishes to browse data in a mounted data volume) are provided by querying the file descriptor 320 for a matching file specification. It will be appreciated that, according to one embodiment, the user need not query the file descriptors themselves. Rather, the volume recovery application includes a user interface that presents the data to the user, eg, in a typical dictionary-structured format. The volume recovery application may include software that translates a user request for a particular file into a query command that accesses the logical metadata cache and looks up a file descriptor 320 for a matching system file. Once the location of the file is determined, the conversion to the data in the user's computer can be done by tracking the connection list (for example, tracking the pointer stored in the file descriptor to determine the location of the actual data) and building a buffer for the file data, said File data will be sent to the requesting user.

依据另一个实施方案,为用户提供的装置也可以将新数据写入安装卷中。正如上文中的讨论,安装的卷数据可能作为普通的网络驱动器或其他网络存储数据出现在用户面前。然而,事实上,原始安装的卷数据是被真实备份的数据,该数据通常需要保存;至少直到新建另一份备份数据集。因此,允许用户真实地修改原始备份数据可能并非理想。为避免修改原始备份数据,并仍允许用户修改对应于安装卷的数据,提供的装置(对于用户来说是显而易见的)将写入转移到存储系统中,正如下文中的讨论。According to another embodiment, the device provided to the user may also write new data to the installation volume. As discussed above, mounted volume data may appear to users as normal network drives or other network storage data. However, in fact, the original mounted volume data is the data that is actually backed up, and this data usually needs to be preserved; at least until another backup data set is created. Therefore, allowing users to actually modify the original backup data may not be ideal. To avoid modifying the original backup data, and still allow the user to modify the data corresponding to the mounted volume, means are provided (obvious to the user) to offload writes to the storage system, as discussed below.

参考附图17,解释说明了依据本发明的各个方面的处理写请求的方法的一个实施方案的流程图。在第一步骤350中,用户请求NFS或CIFS写操作(通常是通过在编辑或浏览数据文件的过程选择“保存”选项)。然后,卷恢复应用程序通过确定可利用的存储空间执行写请求,将数据写入该空间,并更新适当的文件描述符以参考最新的写入数据。Referring to FIG. 17, there is illustrated a flowchart of one embodiment of a method of processing write requests in accordance with various aspects of the present invention. In a first step 350, the user requests an NFS or CIFS write operation (typically by selecting the "Save" option during editing or browsing a data file). The volume recovery application then executes the write request by determining the available storage space, writing the data to that space, and updating the appropriate file descriptors to reference the latest written data.

依据一个实施方案,卷恢复应用程序查询是否已经为写入的数据(步骤352)分配空间,如果没有,卷恢复应用程序分配存储空间(步骤354)。存储空间可能分配在备份存储介质126(参考附图13)中。分配的存储空间可以被特别设计用于只是保存写入数据(随机的相关元数据)。According to one embodiment, the volume recovery application queries whether space has been allocated for the written data (step 352), and if not, the volume recovery application allocates storage space (step 354). Storage space may be allocated in backup storage medium 126 (see FIG. 13). The allocated storage space can be specially designed to only hold write data (random associated metadata).

参考附图18,解释说明了存储在备份存储介质126中的NFS或CIFS写入数据的一个实施例。写入数据360包括,例如,两个写入部分,对应于存储数据的W1 362和W2 364,所述存储数据起因于作为卷恢复应用程序提供的写命令的结果。举例来说,W1和W2对应于包括在安装的数据卷中修改的数据文件。人们将领会到,尽管解释例对应两个写请求,本发明的原理可以适用于任何数量的写请求,而且文件可能是适合更改的,以反应任何适当数量的写请求。写入数据360也可以包括头366,该头366包括元数据,所述元数据形成原始数据(例如,文件332)和最新写入的数据360之间的自描述关系。尤其是,头可以包括标示相对于原始数据逻辑存在的写入数据部分W1和W2的补偿信息,结合附图19进一步的描述。Referring to FIG. 18, an embodiment of NFS or CIFS write data stored in the backup storage medium 126 is explained. Write data 360 includes, for example, two write portions, W1 362 and W2 364, corresponding to stored data resulting as a result of a write command provided by the volume recovery application. For example, W1 and W2 correspond to modified data files included in the mounted data volume. It will be appreciated that although the illustrated example corresponds to two write requests, the principles of the invention may be applied to any number of write requests, and that files may be adapted to be altered to reflect any suitable number of write requests. The written data 360 may also include a header 366 that includes metadata that forms a self-describing relationship between the original data (eg, file 332 ) and the most recently written data 360 . In particular, the header may include offset information indicating the written data portions W1 and W2 that exist logically relative to the original data, as further described in connection with FIG. 19 .

参考附图19,解释说明了当提出两个写请求时,系统文件布图的一个实施例。原始数据文件332存储在备份存储系统介质126中(参考附图13),并通过安装上文中描述的程序出现在用户面前。如附图19所示,系统文件332是以磁带格式书写的,而且数据部分338可能包括众多数据文件(例如,用户文件)。该数据开始于补偿零字节(点370)并终止于点372的末端1032字节之后。写入文件360对应于用户请求以将数据写入文件332中。举例来说,用户可以修改包括在系统文件332中的两份数据文件,得到包括W1和W2的写入文件360。正如上文中的描述,写入文件360可能在存储介质中与文件332分开存储,以致不用更改原始备份数据。逻辑修改系统文件380被用于解释说明,并代表包括用户通过写请求所作的变化(例如写入文件360)的文件332。换句话说,在修改的系统文件380中,W1和W2(用户修改的数据文件)可能被用于替代包括在原始数据文件332的数据部分中的原始数据文件,而无需删除备份数据。Referring to Figure 19, an embodiment of the system file layout when two write requests are made is illustrated. The raw data file 332 is stored in the backup storage system medium 126 (refer to FIG. 13 ), and appears to the user by installing the program described above. As shown in FIG. 19, system files 332 are written in tape format, and data portion 338 may include numerous data files (eg, user files). The data starts at offset zero bytes (point 370 ) and ends at point 372 after the end 1032 bytes. Write to file 360 corresponds to a user request to write data into file 332 . For example, the user can modify two data files included in the system file 332 to obtain the written file 360 including W1 and W2. As described above, the write file 360 may be stored separately from the file 332 in the storage medium, so that the original backup data is not changed. Logical modification system files 380 are used for illustration and represent files 332 that include changes made by users through write requests (eg, written to file 360). In other words, in the modified system file 380, W1 and W2 (user-modified data files) may be used to replace the original data files included in the data portion of the original data file 332 without deleting the backup data.

如附图19所示,修改的系统文件与原始系统文件332和写入文件360的逻辑结合相对应。如图所示,原始系统文件数据338开始于原始文件的补偿零位。在补偿64(用参考数字384表示),修改数据的第一部分W1开始,并结束于沿着用参考数字386表示的补偿73有9字节的位置。因此,W1,用户修改的数据文件来自用户写请求可能用于替换原始数据文件,该原始数据文件确定补偿64在原始系统文件332中的位置。如图所示,W1的长度为9字节,因为W1开始于写入文件360的补偿零位(390),并终止于写入文件360的补偿9(392)。通过存储在头366中的信息来确定W1在修改文件(在解释例中补偿64)的开始位置,即,写入文件360和原始文件332之间的相对关系。W2部分也包括在修改的文件380中,起始于补偿1032(文件的原始末端,用参考数字372表示),并逻辑延伸到100字节文件。而且,W2的长度通过头366中的定位信息确定。文件的新末端点用参考数字388表示。As shown in FIG. 19 , the modified system file corresponds to the logical combination of the original system file 332 and the written file 360 . As shown, the original system file data 338 begins with the offset zero of the original file. At offset 64 (indicated by reference numeral 384 ), the first portion W1 of the modified data begins and ends at a position 9 bytes along offset 73 indicated by reference numeral 386 . Thus, W1, the user-modified data file from the user write request may be used to replace the original data file that determines the location of the compensation 64 in the original system file 332 . As shown, W1 is 9 bytes in length because W1 begins with offset zero written to file 360 (390) and ends with offset nine written to file 360 (392). The starting position of W1 in the modified file (offset 64 in the illustrated example), ie the relative relationship between the written file 360 and the original file 332, is determined by the information stored in the header 366. The W2 section is also included in the modified file 380, starting at offset 1032 (the original end of the file, indicated by reference numeral 372), and extending logically to the 100 byte file. Also, the length of W2 is determined by the location information in header 366 . The new endpoint of the file is indicated by reference numeral 388 .

人们将领会到,尽管修改文件380是逻辑新建的并代表原始文件的用户修改版本,用文件360表示的最新写入数据并不是作为原始文件332的一部分真实存储的。而是,正如上文中的讨论,最新写入的数据储存在存储介质的标示写入数据的特别位置。在这种方式下,原始备份数据文件的完整性得以维持,同时允许用户明显地写入安装卷,由于它们可能是初始位置或网络驱动器。It will be appreciated that the latest written data represented by file 360 is not actually stored as part of original file 332, although modified file 380 is logically new and represents a user-modified version of the original file. Instead, as discussed above, the most recently written data is stored in a specific location on the storage medium that identifies written data. In this way, the integrity of the original backup data files is maintained, while allowing the user to explicitly write to the mounted volume, as they may be the original location or a network drive.

修改的文件380包括头382,该头382包括代表修改文件的文件描述符。参考附图20,解释说明了文件描述符400的实施例。文件描述符400包括标示修改文件380的文件名的名称部分402和标示修改文件380的准许属性的安全部分404。文件描述符400也包括包含了原始文件332的指示符和写入文件360的指示符的众多数据部分,以获取存储在每一份原始文件和写入文件中的数据。通过连续跟踪文件描述符400中给定的指示符的连接列表,得出修改文件380的表达式。Modified file 380 includes header 382 that includes a file descriptor representing the modified file. Referring to FIG. 20, an embodiment of a file descriptor 400 is illustrated. File descriptor 400 includes a name portion 402 identifying the file name of modified file 380 and a security portion 404 identifying permission attributes of modified file 380 . The file descriptor 400 also includes a number of data sections including a pointer to the original file 332 and a pointer to the write file 360 to access the data stored in each of the original file and the write file. The expression for modifying the file 380 is derived by continuously following the linked list of pointers given in the file descriptor 400 .

参考附图19和附图20,解释说明了修改文件的文件描述符的一个特殊的实施例。在第一数据部分406,确定第一数据文件的位置的指示符定位,在修改的文件380中,所述文件位于补偿零位字节,如附图19中参考数字408的标示。随后部分410标示数据文件的长度,所述随后部分410的位置由指示符406标出。在解释性实施例中,长度为64字节,可以从附图19中得出(数据在零位补偿点,参考数字408,以及64字节的补偿之间提供,用参考数字384表示)。下一部分412标示下一数据文件在修改文件380中是W1,如附图19所示。因此,标示与W1对应的数据的位置的指示符414存储在最新写入文件360的零位补偿点中(附图19中的参考数字390)。长度部分416标示W1的长度为9字节,也可以在附图19中看到--W1由修改文件380中的补偿64(参考数字384)和补偿73(参考数字386)之间提供。下一部分418标示修改文件380中的下一数据文件是来自原始系统文件332的数据文件。在部分420中的指示符标示下一数据文件在修改文件380中的补偿73定位,如附图19中的参考数字386所示。部分422标示数据文件的长度是959字节,也可以参考附图19。下一部分424标示随后的数据文件是W2。再次,部分426中的指示符标示W2的定位,即,最新写入文件360在补偿9的定位,可以参考附图19。部分428标示W2的长度是100字节,而且下一部分430包括标示W2在修改文件380中是最新数据文件的空位,如附图19所示。因此,文件描述符400包括标示修改文件380的结构和数据位置的“路线图”,该“路线图”包括在修改文件380中。Referring to FIG. 19 and FIG. 20, a particular embodiment of a file descriptor for modifying a file is explained. In the first data portion 406, an indicator is located which determines the location of the first data file which, in the modified file 380, is located at offset zero bytes, as indicated by reference numeral 408 in FIG. 19 . Subsequent portion 410 indicates the length of the data file, the location of which is indicated by indicator 406 . In the illustrative embodiment, the length is 64 bytes, as can be derived from Figure 19 (data provided between the zero offset point, reference numeral 408, and the 64 byte offset, indicated by reference numeral 384). The next section 412 indicates that the next data file in the modified file 380 is W1, as shown in FIG. 19 . Accordingly, an indicator 414 indicating the location of the data corresponding to W1 is stored in the zero offset point most recently written to file 360 (reference numeral 390 in FIG. 19). Length section 416 indicates that W1 is 9 bytes in length, as can also be seen in FIG. Next section 418 indicates that the next data file in modified file 380 is a data file from original system file 332 . The indicator in section 420 indicates the offset 73 location of the next data file in modified file 380, as indicated by reference numeral 386 in FIG. 19 . Part 422 indicates that the length of the data file is 959 bytes, and reference may also be made to FIG. 19 . The next section 424 indicates that the subsequent data file is W2. Again, the indicator in the part 426 indicates the location of W2, that is, the location of the latest written file 360 at offset 9, which can be referred to FIG. 19 . Section 428 indicates that W2 is 100 bytes in length, and the next section 430 includes a slot indicating that W2 is the latest data file in modified file 380, as shown in FIG. 19 . Accordingly, the file descriptor 400 includes a "road map" that identifies the structure and data locations of the modified file 380 included in the modified file 380 .

卷恢复应用程序和方法描述了上述代表连续磁带格式数据以适合的格式随机访问I/O系统,例如NFS或CIFS。连接列表文件描述符,例如文件描述符400,可以用于将连续的磁带格式数据转换为随机访问数据,这是通过记录每一份特殊tar源的数据文件在存储介质的位置,例如,以及每一份数据文件在tar源中的其他数据文件相关的tar源的位置来完成的。另外,依据一个实施方案,卷恢复应用程序可能包括为将数据变为(例如,写)磁带格式(例如tar)的表达所作的准备,以致备份/恢复应用程序可以上文中描述的一般方式访问数据。根据一个实施方案,即时恢复应用程序包括产生虚拟编码磁带的工具,该工具以上文中描述的与文件系统软件相关的方式,用磁带头、垫、数据和文件标记来适当格式化。在另一个实施方案中,卷恢复应用程序与文件系统软件连接以新建如上文中讨论的虚拟编码磁带,所述虚拟编码磁带包括最新写入和修改的文件。Volume recovery applications and methods described above represent continuous tape format data in a suitable format random access I/O system, such as NFS or CIFS. Link list file descriptors, such as file descriptor 400, can be used to convert continuous tape format data to random access data by recording the location of each data file for a particular tar source on the storage medium, e.g., and each One data file in the tar source is done with other data files relative to the location of the tar source. Additionally, according to one embodiment, the volume recovery application may include provisions for converting (e.g., writing) the data to a representation in a tape format (e.g., tar) so that the backup/restore application can access the data in the general manner described above . According to one embodiment, the instant recovery application includes a facility to generate a virtual encoded tape properly formatted with tape headers, pads, data and filemarks in the manner described above in relation to file system software. In another embodiment, the volume recovery application interfaces with the file system software to create a new virtual encoded tape as discussed above that includes the most recently written and modified files.

人们将领会到,尽管本发明的各个方面,例如合成的完整备份应用、终端用户恢复应用程序和卷恢复应用程序在本文中的描述主要是依据软件进行的,所述方面和其他方面可以选择在软件、硬件或固件,或任何它们的结合中执行。因此,举例来说,本发明的实施方案可以包括任何编有指令编码(举例来说,众多的指令)的计算机可读介质(例如,计算机存储器、软盘、压缩盘和磁带等等),当在存储系统的处理器上执行时,至少部分实现完成合成的完整备份应用程序和/或终端用户恢复应用程序的功能,如同上文中详细的描述。It will be appreciated that although aspects of the present invention, such as the synthetic full backup application, end-user restore application, and volume restore application, are described herein primarily in terms of software, said and other aspects may optionally be described in software, hardware, or firmware, or any combination thereof. Thus, for example, embodiments of the present invention may include any computer-readable medium (e.g., computer memory, floppy disks, compact disks, tapes, etc.) encoded with instructions (e.g., a multitude of instructions) when stored in When executed on a processor of a storage system, at least in part implements the functions of a composite full backup application and/or an end-user restore application, as described in detail above.

一般来说,本发明的实施方案和各个方面包括存储系统和仿真传统的磁带备份系统的方法,但是可以提供增强的功能,举例来说,能够新建合成的备份和允许终端用户浏览和恢复备份文件。然而,人们将领会到,本发明的各个方面可以用于,而不只是计算机数据的备份。因为本发明的存储系统可以用于经济地储存庞大的数据,以及可以相反的顺序在硬盘访问时间内随机访问储存数据,本发明的实施方案可以在传统的备份存储系统之外找到应用。举例来说,本发明的实施方案可以用于存储代表电影和音乐的更多的选择的视频或音频数据,并按照需要实现视频和/或音频。In general, embodiments and aspects of the present invention include storage systems and methods that emulate traditional tape backup systems, but may provide enhanced functionality, for example, the ability to create synthetic backups and allow end users to browse and restore backup files . However, it will be appreciated that aspects of the present invention may be used for more than just backup of computer data. Because the storage system of the present invention can be used to economically store large amounts of data, and can randomly access stored data in reverse order within hard disk access times, embodiments of the present invention may find application outside of traditional backup storage systems. For example, embodiments of the present invention may be used to store a greater selection of video or audio data representing movies and music, and enable video and/or audio as desired.

如此描述本发明的至少一个实施方案的几个方面,人们将领会到,对于本领域内的普通技术人员来说各种改变、修改和改进将是容易发生的。所述改变、修改和改进是用来公开的一部分,在本发明的范围内。相应地,前面的描述和附图只是作为实施例。Having thus described several aspects of at least one embodiment of this invention, it is to be appreciated various alterations, modifications, and improvements will readily occur to those skilled in the art. The alterations, modifications and improvements are intended to be part of this disclosure, and are intended to be within the scope of the present invention. Accordingly, the foregoing description and drawings are by way of example only.

Claims (11)

1. method, it comprises the steps:
Book is installed on the main frame, and this book comprises at least one one data file, and described data file is corresponding with the up-to-date backup version of at least one one data file in being stored in backup storage system;
The corresponding data of second version of storage and described at least one one data file in backup storage system, when preserving the up-to-date backup version of a at least data file, described data are upgraded than the up-to-date backup version that is stored at least one one data file in the backup storage system.
2. according to the method for claim 1, further may further comprise the steps:
Connect the up-to-date backup version of described at least one one data file and second version of described at least one one data file.
3. according to the method for claim 1, further may further comprise the steps:
Newdata structure, this data structure had both indicated the up-to-date backup version of described at least one one data file, also indicated second version of described at least one one data file.
4. according to the method for claim 3, second version of wherein said at least one one data file is the revision of the up-to-date backup version of described at least one one data file.
5. according to the process of claim 1 wherein that the step of installation data volume comprises that execution NFS installs or CIFS one of installs.
6. according to the method for claim 1, wherein the step of installation data volume comprises that foundation comprises the filec descriptor of the metadata relevant with the up-to-date backup version of described at least one one data file, and described metadata comprises the designator of the memory location of up-to-date backup version in backup storage medium that indicates described at least one one data file.
7. backup storage system, this system comprises:
The backup storage medium that is used for the store backup data collection; And
Controller, this controller comprise at least one realizes the method in the claim 1 with execution through the processor of configuration a series of instructions.
8. as claim 7 backup storage system required for protection, wherein said backup data set is the full back-up data sets of synthesizing.
9. the computer-readable medium that is composed of numerous order numbers, when carrying out at least one processor, described numerous order numbers are realized the method for claim 1.
10. as claim 9 computer-readable medium required for protection, wherein said processor is included in the backup storage system.
11. a computer readable media store that is composed of numerous order numbers has data structure, this data structure comprises:
First indicates kit, and this first sign kit indicates the system file corresponding with the backup data set that comprises at least one one data file uniquely; And at least one second sign kit, this second memory location separately that indicates in kit sign storage medium, described storage medium stores the latest edition of concentrated each one data file at least of Backup Data.
CN 200480030746 2003-09-30 2004-09-30 Emulated storage system supporting instant volume restore Pending CN1997972A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US50732903P 2003-09-30 2003-09-30
US60/507,329 2003-09-30
US10/911,987 2004-08-05

Publications (1)

Publication Number Publication Date
CN1997972A true CN1997972A (en) 2007-07-11

Family

ID=38252236

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200480030746 Pending CN1997972A (en) 2003-09-30 2004-09-30 Emulated storage system supporting instant volume restore

Country Status (1)

Country Link
CN (1) CN1997972A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102023903B (en) * 2009-09-10 2012-12-19 联想(北京)有限公司 Version management method and device for data backup
CN110955564A (en) * 2019-12-30 2020-04-03 深圳探科技术有限公司 Data disaster recovery system based on block chain technology
CN111444173A (en) * 2019-01-17 2020-07-24 福斯德公司 Data storage method and system for data set
CN113391960A (en) * 2021-08-18 2021-09-14 深圳市中科鼎创科技股份有限公司 Technical method and system for rapidly realizing recovery of operating system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102023903B (en) * 2009-09-10 2012-12-19 联想(北京)有限公司 Version management method and device for data backup
CN111444173A (en) * 2019-01-17 2020-07-24 福斯德公司 Data storage method and system for data set
CN110955564A (en) * 2019-12-30 2020-04-03 深圳探科技术有限公司 Data disaster recovery system based on block chain technology
CN113391960A (en) * 2021-08-18 2021-09-14 深圳市中科鼎创科技股份有限公司 Technical method and system for rapidly realizing recovery of operating system

Similar Documents

Publication Publication Date Title
CN100483365C (en) Emulated storage system
US20090172326A1 (en) Emulated storage system supporting instant volume restore
US8620640B2 (en) Emulated storage system
US8938595B2 (en) Emulated storage system
US7596713B2 (en) Fast backup storage and fast recovery of data (FBSRD)
US8635419B2 (en) Methods for implementation of worm mode on a removable storage system
US8156292B2 (en) Methods for implementation of data formats on a removable disk drive storage system
US8615641B2 (en) System and method for differential backup
US9449007B1 (en) Controlling access to XAM metadata
KR101369813B1 (en) Accessing, compressing, and tracking media stored in an optical disc storage system
US20060149889A1 (en) Method and system for backup data access through standard network file sharing protocols
US20070214384A1 (en) Method for backing up data in a clustered file system
JP2007527572A (en) Emulated storage system that supports instant volume recovery
JP2007527572A5 (en)
CN1997972A (en) Emulated storage system supporting instant volume restore
HK1110128A (en) Emulated storage system supporting instant volume restore
HK1096170B (en) Emulated storage system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1110128

Country of ref document: HK

C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Open date: 20070711

REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1110128

Country of ref document: HK