CN100517247C - 用于并行存储的装置、系统和方法 - Google Patents
用于并行存储的装置、系统和方法 Download PDFInfo
- Publication number
- CN100517247C CN100517247C CNB2007101269212A CN200710126921A CN100517247C CN 100517247 C CN100517247 C CN 100517247C CN B2007101269212 A CNB2007101269212 A CN B2007101269212A CN 200710126921 A CN200710126921 A CN 200710126921A CN 100517247 C CN100517247 C CN 100517247C
- Authority
- CN
- China
- Prior art keywords
- data file
- file
- storage pool
- pond
- polymerization
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1464—Management of the backup or restore process for networked environments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/119—Details of migration of file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1451—Management of the data involved in backup or backup restore by selection of backup contents
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99955—Archiving or backup
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明披露了一种到活动数据文件存储池、复制池和下一个池的并行存储的装置、系统和方法。复制模块将一个或多个数据文件从客户端复制到被配置为存储活动数据文件的存储池。此外,所述复制模块可以将所述数据文件并行复制到被配置为备份所述存储池以及存储活动和非活动数据文件的复制池。所述复制模块还将所述数据文件并行复制到被配置为从所述存储池卸载一个或多个数据文件以及可以存储活动和非活动数据文件的下一个池。在一个实施例中,迁移模块通过从所述存储池删除一个或多个非活动数据文件来将所述非活动数据文件从所述存储池迁移到所述下一个池。
Description
技术领域
本发明涉及并行存储,更具体地说,涉及到活动数据文件存储池、复制池和下一个池的并行存储。
背景技术
数据处理系统通常将数据从系统的一个或多个元件备份到存储子系统。例如,数据处理系统可以包括多个客户端。客户端可以将数据存储在诸如与每个客户端位于一起的硬盘驱动器之类的存储设备中。数据处理系统可以将数据从客户端存储设备备份到存储子系统。
存储子系统可以包括一个或多个被组织成多个存储池的存储设备。存储池可以被配置为磁带驱动器、硬盘驱动器、光存储设备、微机械存储设备之类的设备中的逻辑卷。可以通过将客户端数据复制到存储池来对其进行备份。
理想情况下,数据处理系统应该将最新的客户端数据文件备份到存储池,以确保可以将客户端数据的最新实例恢复到客户端。此外,如果客户端需要备份的数据,则备份的数据应该可以快速恢复到客户端。
遗憾的是,在存储池中存储多个数据实例的备份副本可能会增加将客户端数据的活动实例从存储池恢复到客户端所需的时间,尤其是当存储池包含诸如磁带之类的顺序介质时。结果,可以将客户端数据文件的最新备份副本(在此称为活动数据文件)存储到配置为存储活动数据文件的存储池。存储池可以被配置为活动数据文件存储池(ADFSP)。由于ADFSP存储活动数据文件,因此活动数据文件可以被更快地从ADFSP中恢复。
当备份客户端数据文件的后续副本和/或从客户端删除客户端数据文件时,活动数据文件可能会变成非活动数据文件。结果,存储子系统可能会将现在的非活动数据文件从ADFSP迁移到被配置为存储活动数据文件和非活动数据文件的下一个存储池。下一个存储池在此被称为下一个池。
存储子系统可以通过将非活动数据文件复制到下一个池以及从ADFSP中删除非活动数据文件来迁移非活动数据文件。此外,存储子系统还可以将ADFSP的活动数据文件备份到复制存储池(在此称为复制池)。
存储子系统还可以将活动数据文件聚合到存储在ADFSP上的聚合文件中。当聚合文件的一个或多个数据文件变成非活动时,存储子系统可以通过创建不包含非活动数据文件的新聚合文件、将原始聚合文件迁移到下一个池以及从ADFSP中删除原始聚合文件来回收现在非活动的数据文件的存储空间。
遗憾的是,从ADFSP迁移非活动数据文件、备份ADFSP以及回收聚合文件中的每一项操作都可能需要大量的存储子系统带宽和时间间隔来完成。结果,可用于执行备份、迁移和回收操作的时间会减少。
根据上述讨论应显而易见的是,需要一种用于并行执行备份、迁移和回收任务的复制的装置、系统和方法。有益地,此类装置、系统和方法将释放存储子系统带宽以执行所述任务。
发明内容
已开发本发明以响应本领域的当前状况,具体地说,响应本领域中通过当前可用的数据复制方法尚未完全解决的问题和需求。相应地,已开发本发明以提供一种克服本领域中上述许多或全部缺点的用于将一个或多个数据文件复制到多个池的装置、系统和方法。
用于将一个或多个数据文件复制到多个池的装置具备多个模块,所述模块被配置为在功能上执行将一个或多个数据文件复制到存储池、将数据文件并行复制到复制池以及将数据文件并行复制到下一个池的步骤。所述实施例中的这些模块包括复制模块。所述装置还可以包括回收模块、恢复模块、迁移模块和聚合模块。
复制模块将一个或多个数据文件从客户端复制到存储子系统的存储池。存储池可以是ADFSP。在一个实施例中,存储池仅存储活动数据文件,其中活动数据文件是客户端数据文件的最新备份的实例。此外,复制模块将数据文件并行复制到复制池。复制池被配置为备份存储池。复制模块还将数据文件并行复制到下一个池。下一个池可以被配置为从存储池卸载非活动数据文件,其中非活动数据文件是所述客户端数据文件的先前实例。
在一个实施例中,迁移模块从存储池迁移一个或多个非活动数据文件。非活动数据文件可以是在客户端创建后续活动数据文件实例和/或从客户端删除客户端数据文件时变成非活动的活动数据文件。迁移模块通过从存储池删除非活动数据文件来迁移非活动数据文件。在一个实施例中,迁移模块在删除非活动数据文件之前,不会作为迁移的一部分而复制非活动数据文件,而是使用并行复制到下一个池的数据文件实例。
恢复模块将一个或多个数据文件从存储池恢复到客户端。在一个实施例中,恢复模块将数据文件从下一个池恢复到客户端。备选地,恢复模块可以从复制池恢复数据文件。
在一个实施例中,聚合模块将多个数据文件聚合成聚合文件。存储子系统可以使用单个数据库表项来引用聚合文件。此外,聚合文件可以包括对多个数据文件的索引。在一个实施例中,聚合模块将第一聚合文件聚合到第二聚合文件中。聚合模块不会在第二聚合文件中包括第一聚合文件的一个或多个非活动数据文件。
在一个实施例中,回收模块回收第一聚合文件。回收模块可以通过回收存储池中第一聚合文件的已删除存储空间,更具体地说,通过回收第一聚合模块内的一个或多个非活动数据文件的存储空间来回收第一聚合文件。在特定实施例中,回收模块通过从存储池删除第一聚合文件来回收第一聚合文件。回收模块在删除第一聚合文件之前,不会作为回收的一部分而复制第一聚合文件。
所述装置并行执行备份、迁移和回收操作的复制部分。将一个或多个数据文件并行复制到存储池、复制池和下一个池消除了在后续的备份、迁移和回收操作过程中复制数据文件的需要,降低了对存储子系统的带宽需求。
还提供了本发明的用于将一个或多个数据文件复制到多个池的系统。所述系统可以被包含在存储子系统中。具体地说,在一个实施例中,所述系统包括存储池、下一个池和存储管理器。所述系统还可以包括复制池。
存储池仅存储活动数据文件,其中活动数据文件是客户端数据文件的最新备份的实例。存储池可以被配置为ADFSP。此外,存储池可以是磁带驱动器、硬盘驱动器、光存储设备、微机械存储设备等。
复制池可以备份存储池。此外,复制池可以是磁带驱动器、硬盘驱动器、光存储设备、微机械存储设备等。复制池可以存储活动和非活动数据文件。
下一个池从存储池卸载一个或多个非活动数据文件,其中非活动数据文件是所述客户端数据文件的先前实例。此外,下一个池可以存储活动和非活动数据文件。下一个池可以是磁带驱动器、硬盘驱动器、光存储设备、微机械存储设备等。在一个实施例中,存储池和下一个池被组织在存储层次结构中,且存储池占据所述层次结构中的较高位置。
存储管理器管理存储池、复制池和下一个池。此外,存储管理器包括复制模块和迁移模块。复制模块将一个或多个数据文件从客户端复制到存储池,将数据文件并行复制到复制池以及将数据文件并行复制到下一个池。迁移模块通过从存储池删除一个或多个活动和/或非活动数据文件来将所述数据文件从存储池迁移到下一个池。
存储管理器还可以包括聚合模块、回收模块和恢复模块。聚合模块可以将多个数据文件聚合到第一聚合文件中。此外,聚合模块可以将第一聚合文件聚合到不包括第一聚合文件的至少一个数据文件的第二聚合文件中。
在一个实施例中,回收模块通过从存储池删除第一聚合文件来回收第一聚合文件。恢复模块可以将一个或多个数据文件恢复到客户端。所述系统将一个或多个数据文件并行复制到存储池、复制池和下一个池,从而显著降低了对用于支持迁移、回收和备份操作的后续复制的需求。
还提供了本发明的用于将一个或多个数据文件复制到多个池的方法。所披露的实施例中的方法实质上包括根据所述装置和系统的操作执行上述功能的步骤。在一个实施例中,所述方法包括将一个或多个数据文件复制到存储池、将数据文件并行复制到复制池以及将数据文件并行复制到下一个池。所述方法还可以包括迁移数据文件、将数据文件聚合为聚合文件以及回收聚合文件。
复制模块将一个或多个数据文件从客户端复制到被配置为仅存储活动数据文件的存储池,其中活动数据文件是客户端数据文件的最新备份的实例。此外,复制模块将数据文件并行复制到被配置为备份存储池以及存储活动和非活动数据文件的复制池。复制模块还将数据文件并行复制到被配置为从存储池卸载非活动数据文件以及可以存储活动和非活动数据文件的下一个池,其中非活动数据文件是所述客户端数据文件的先前实例。
在一个实施例中,迁移模块通过从存储池删除一个或多个非活动数据文件来将所述非活动数据文件从存储池迁移到下一个池。聚合模块可以将多个文件聚合到第一聚合文件中。在一个实施例中,聚合模块和回收模块回收第一聚合文件,其中聚合模块将第一聚合文件的活动数据文件聚合到第二聚合文件中,而回收模块删除第一聚合文件。所述方法将一个或多个数据文件并行复制到存储池、复制池和下一个池,以减少数据文件的后续复制。
本说明书中对功能、优点的参考或类似语言并非暗示可以与本发明一起实现的所有功能和优点应在本发明的任何单个实施例中。相反,应当理解,引用所述功能和优点的语言指与实施例一起描述的特定功能、优点或特性包括在本发明的至少一个实施例中。因此,本说明书中对功能、优点的讨论和类似语言可以(但并不一定)指相同的实施例。
此外,本发明的所述功能、优点和特性可以以任何适当的方式组合在一个或多个实施例中。相关领域的技术人员将认识到,可以在没有特定实施例的一个或多个特定功能或优点的情况下实现本发明。在其他情况下,可以在特定实施例中认识到可能不存在于本发明的所有实施例中的其他功能和优点。
本发明的实施例将一个或多个数据文件并行复制到多个池。此外,本发明的实施例可以减少数据文件的后续复制。从以下说明,本发明的这些功能和优点将变得更加显而易见,或者通过实现如下文所述的本发明,可以了解本发明的这些功能和优点。
附图说明
为了容易地理解本发明的优点,将通过参考附图中示出的特定实施例说明上面简要介绍的本发明的更具体的说明。应当理解,这些附图仅示出了本发明的典型实施例,并且因此不应被视为限制其范围,将通过使用附图以其他特性和详细信息来介绍和说明本发明,这些附图是:
图1是示出根据本发明的数据处理系统的一个实施例的示意性方块图;
图2是示出根据本发明的存储子系统的一个实施例的示意性方块图;
图3是示出本发明的并行存储装置的一个实施例的示意性方块图;
图4是示出本发明的存储管理器的一个实施例的示意性方块图;
图5是示出本发明的并行复制方法的一个实施例的示意性流程图;
图6是示出本发明的迁移方法的一个实施例的示意性流程图;
图7是示出本发明的回收方法的一个实施例的示意性流程图;
图8是示出本发明的在并行复制之前处于初始状态的池的一个实施例的示意性方块图;
图9是示出本发明的并行复制之后的池的一个实施例的示意性方块图;以及
图10是示出本发明的具有回收后的存储池的池的一个实施例的示意性方块图。
具体实施方式
将本说明书中描述的多个功能单元标记为模块,以便更具体地强调它们的实现无关性。例如,模块可以被实现为包括定制VLSI电路或门阵列、诸如逻辑芯片、晶体管或其他分离组件之类的现用半导体的硬件电路。模块还可以在诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备之类的可编程硬件设备中实现。
模块还可以在软件中实现,以便由各种类型的处理器执行。例如,标识的可执行代码的模块可以包括一个或多个物理或逻辑的计算机指令块,所述块可以例如组织为对象、过程或功能。然而,标识的模块的可执行代码不需要在物理上位于一起,但是可以包括存储在不同位置的不同指令,当所述指令被逻辑地结合时,将包括所述模块并实现模块的所述目的。
实际上,可执行代码的模块可以是单个指令或多个指令,并且甚至可以分布在数个不同的代码段上、多个不同的程序中,以及跨多个存储器设备。同样,操作数据可以在模块中被标识和在此示出,并且可以包括在任何适当的形式中并组织在任何适当类型的数据结构中。操作数据可以被收集为单个数据集,或可以分布在包括不同存储设备的不同位置上,并且可以至少部分地仅作为电子信号存在于系统或网络中。
本说明书中对“一个实施例”、“实施例”或类似语言的引用指结合该实施例描述的特定功能、结构或特性被包括在本发明的至少一个实施例中。因此,本说明书中出现的短语“在一个实施例中”、“在实施例中”和类似语言可以(但是并非一定)都指相同的实施例。
此外,本发明的所述功能、结构或特性可以以任何适当的形式组合在一个或多个实施例中。在以下说明中,提供了大量特定的详细信息,如编程、软件模块、用户选择、网络事务、数据库查询、数据库结构、硬件模块、硬件电路、硬件芯片等的实例,以便彻底理解本发明的实施例。但是,本领域的技术人员将认识到,可以在没有一个或多个特定的细节的情况下实现本发明,或者可以通过其他方法、组件、材料等实现本发明。在其他情况下,未详细示出或描述公知的结构、材料或操作以避免使本发明的各方面变得模糊不清。
图1是示出根据本发明的数据处理系统100的一个实施例的示意性方块图。系统100包括一个或多个客户端105、存储服务器110、磁带驱动器125、独立磁盘冗余阵列(RAID)控制器115、一个或多个盘驱动器120以及光存储设备130。虽然为了简洁,系统100被描述为具有两个客户端105、一个存储服务器110、一个磁带驱动器125、一个RAID控制器115、三个盘驱动器120以及一个光存储设备130,但是可以使用任意数量的客户端105、存储服务器110、磁带驱动器125、RAID控制器115、盘驱动器120以及光存储设备130。
磁带驱动器125、RAID控制器115、盘驱动器120以及光存储设备130在此被统称为存储设备。此外,系统100可以包括一个或多个包括微机械存储设备、半导体存储设备等的备选存储设备。
在一个实施例中,存储服务器110可以从客户端105备份数据。在一个实例中,存储服务器110可以将一个或多个数据文件从第一客户端105a复制到诸如磁带驱动器125之类的存储设备。如果第一客户端105a随后需要数据文件,则存储服务器110可以将数据文件从磁带驱动器125复制到第一客户端105。在一个实施例中,存储服务器110将所有数据文件从客户端105复制到存储设备。在备选实施例中,存储服务器110将在先前备份之后被修改的每个数据文件复制到存储设备。
存储设备还可以直接存储客户端105的数据。在一个实例中,RAID控制器115可以将客户端的数据库数据存储在盘驱动器120上。RAID控制器115可以将数据库数据存储为冗余数据,如本领域的技术人员所公知的那样。
系统100可以将存储设备组织为多个存储池,如下文将讨论的那样。池可以包括诸如光存储设备130、安装在磁带驱动器125中的磁带之类的存储设备的一部分。系统100可以将池组织为存储层次结构,如下文将描述的那样。此外,系统100可以在池之间移动数据以便通过冗余来提供额外的数据保护。
如果使系统100能够以及时的方式从客户端105恢复数据文件,则系统可能需要可用的带宽。此外,系统100可能需要可用的带宽以存储客户端105的数据。遗憾的是,在池之间移动数据以及备份和恢复数据文件所需的带宽可能会超出系统100的可用带宽。本发明的实施例通过对数据文件执行并行复制来降低对系统100的带宽需求。
图2是示出根据本发明的存储子系统200的一个实施例的示意性方块图。存储子系统200包括存储管理器205、一个或多个存储设备210、一个或多个传输缓冲器220以及客户端接口225。在一个实施例中,图1的系统100包含存储子系统200。在一个实例中,存储服务器110可以被配置为存储管理器205,而RAID控制器115以及盘驱动器120、磁带驱动器125和光存储设备130可以被配置为存储设备210。对存储子系统200的描述引用图1的元素,相同的编号指相同的元素。
在一个实施例中,存储管理器205将存储设备210组织到多个池中。每个池可以包含一个或多个逻辑卷和/或一个或多个存储设备210,如本领域的技术人员所公知的那样。在一个实施例中,存储管理器205组织被配置为存储活动数据文件的存储池。在一个实施例中,活动数据文件是客户端数据文件的最新备份的实例。例如,存储管理器205可以将客户端数据文件作为活动数据文件从客户端105复制到存储池。在存储管理器205将客户端数据文件的后续实例复制到存储池之前,客户端数据文件的副本始终是活动数据文件。
在一个实例中,第一存储设备210a可以被组织为存储池。但是,任意数量的存储设备210都可以包含存储池。在一个实施例中,存储池被配置为ADFSP。
此外,存储管理器205可以组织被配置为备份存储池的复制池。继续上面的实例,第二存储设备210b可以被组织为复制池,尽管任意数量的存储设备210都可以包含复制池。复制池可以被配置为存储活动和非活动数据。在一个实施例中,当客户端数据文件随后被备份到新的活动数据文件和/或从客户端105删除客户端数据文件时,客户端数据文件的副本会变成非活动文件。
存储管理器205还可以组织下一个池。下一个池可以从存储池卸载数据文件,并可以存储活动和非活动数据文件。因此,下一个池可以从存储池卸载非活动数据文件,以便存储池仅存储活动数据文件。继续上面的实例,第三存储设备210c可以被组织为下一个池。
存储管理器205可以通过客户端接口225从客户端105接收一个或多个数据文件。在一个实施例中,存储管理器205从客户端105复制数据文件。备选地,客户端105可以将数据文件传输到存储管理器205。存储管理器205可以将数据文件存储在传输缓冲器220中。此外,存储管理器205可以将数据文件从传输缓冲器220复制到池。
图3是示出本发明的并行存储装置300的一个实施例的示意性方块图。图2的存储管理器205可以包含装置300。此外,对装置300的描述引用图1-2的元素,相同的编号引用相同的元素。装置300包括复制模块305、回收模块310、恢复模块315、迁移模块320以及聚合模块325。
复制模块305将一个或多个数据文件从客户端105复制到存储子系统200的存储池,如下文将描述的那样。存储池可以是ADFSP。在一个实施例中,存储池仅存储活动数据文件。此外,复制模块305将数据文件并行复制到复制池。复制模块305还将数据文件并行复制到下一个池。
在一个实施例中,迁移模块320将一个或多个活动和/或非活动数据文件从存储池迁移到下一个池。恢复模块315可以将数据文件从存储池恢复到客户端105。在一个实施例中,恢复模块315将数据文件从下一个池恢复客户端105。备选地,恢复模块315可以将数据文件从复制池恢复到客户端105。
在一个实施例中,聚合模块325将多个数据文件聚合到聚合文件中。存储管理器205可以使用单个数据库表项来引用聚合文件。因此,聚合文件对于存储管理器205来说似乎为单个数据文件。聚合文件可以作为单个数据文件来复制和传送,从而降低对存储管理器205的管理需求。此外,聚合文件可以包括对多个数据文件的索引。在一个实施例中,存储管理器205将数据文件作为聚合文件存储在池中。
在特定实施例中,聚合模块325将第一聚合文件聚合到第二聚合文件中。聚合模块325不会在第二聚合文件中包括第一聚合文件的一个或多个非活动数据文件。
在一个实施例中,回收模块310回收第一聚合文件的存储空间。回收模块310可以通过从存储池删除第一聚合文件来回收第一聚合文件。回收模块310在删除第一聚合文件之前,不会作为回收第一聚合文件的一部分而复制第一聚合文件。
图4是示出本发明的存储管理器205的一个实施例的示意性方块图。存储管理器205可以是图2的存储管理器205。此外,对存储管理器205的描述引用图1-3的元素,相同的编号引用相同的元素。存储管理器205包括处理器模块405、存储器模块410、桥接模块415、网络接口模块420以及存储接口模块425。网络接口模块420示为与客户端105通信。存储接口模块425示为与存储池430、复制池435以及下一个池440通信。
处理器模块405、存储器模块410、桥接模块415、网络接口模块420以及存储接口模块425可以由一个或多个半导体衬底上的半导体门来制造。每个半导体衬底可以被封装在一个或多个安装在电路卡上的半导体器件中。处理器模块405、存储器模块410、桥接模块415、网络接口模块420以及存储接口模块425之间的连接可以通过半导体金属层、衬底到衬底布线、电路卡接线和/或连接半导体器件的导线来实现。
存储器模块410存储软件指令和数据。处理器模块405执行软件指令并处理数据,如本领域的技术人员所公知的那样。处理器模块405通过桥接模块415与网络接口模块420和存储接口模块425通信。
客户端接口225可以包括网络接口模块420。网络接口模块420可以被配置为以太网接口、令牌环接口等。存储接口模块425也可以配置为与类似配置的数据通道445通信的以太网接口、令牌环接口等。存储池430、复制池435以及下一个池440可以被配置为一个或多个逻辑卷。每个逻辑卷可以被组织为一个或多个存储设备210的一部分,如本领域的技术人员所公知的那样。
在一个实施例中,存储器模块410存储而处理器模块405执行一个或多个由复制模块205、回收模块310、恢复模块315、迁移模块320以及聚合模块325组成的软件过程。存储器模块410还可以被配置为图2的传输缓冲器220。
通常作为逻辑流程图说明以下的示意性流程图。同样,所示顺序和标记的步骤指示所提供方法的一个实施例。可以构想其他步骤和方法,它们在功能、逻辑或效果上与所示方法的一个或多个步骤或其各部分等效。另外,提供所使用的格式和符号以说明所述方法的逻辑步骤,并且应理解它们并非限制所述方法的范围。尽管可以在流程图中使用不同的箭头类型和线条类型,但是应理解,它们并非限制相应方法的范围。实际上,某些箭头或其他连接符可用来仅指示所述方法的逻辑流。例如,箭头可以指示所示方法的枚举步骤之间的未指定持续时间的等待或监视周期。另外,出现特定方法的顺序可以或可以不严格地依照所示的相应步骤的顺序。
图5是示出本发明的并行复制方法500的一个实施例的示意性流程图。方法500实际上包括根据图1-4的所述系统100、200和装置300、400的操作执行上述功能的步骤。此外,对方法500的描述引用图1-4的元素,相同的编号引用相同的元素。
方法500开始,在一个实施例中,存储管理器205从客户端105接收505一个或多个数据文件。存储管理器205可以将数据文件暂时存储在传输缓冲器220中。
复制模块305将数据文件复制510到存储池430。此外,复制模块305将数据文件并行复制515到复制池435。复制模块305还将数据文件并行复制520到下一个池440并且方法500结束。
在一个实施例中,存储管理器205将数据文件从传输缓冲器220并行写入到存储池430、复制池435以及下一个池440。在一个实例中,存储管理器205分别指示存储池430、复制池435以及下一个池440从数据通道445接收数据文件。方法500将数据文件并行复制510、515、520到存储池430、复制池435以及下一个池440,以减少数据文件的后续复制,如下文将描述的那样。
图6是示出本发明的迁移方法600的一个实施例的示意性流程图。对方法600的描述引用图1-5的元素,相同的编号引用相同的元素。
方法600开始,在一个实施例中,存储管理器205启动605迁移操作。存储管理器205可以定期启动605迁移操作。备选地,存储管理器205可以在存储池430超出所用存储空间的指定阈值时启动605迁移操作。
迁移模块320可以标识610存储池430中的一个或多个候选迁移数据文件。候选迁移数据文件在此被称为迁移数据文件。在一个实施例中,迁移数据文件是非活动数据文件。迁移模块320可以在迁移数据文件的后续活动实例被复制510到存储池430时标识610迁移数据文件。
迁移模块320判定615迁移数据文件是否在下一个池440中。如果迁移模块320判定615迁移数据文件不在下一个池440中,则迁移模块320将迁移数据文件复制620到下一个池440。如果迁移模块320判定615迁移数据文件在下一个池440中和/或当迁移数据文件被复制620到下一个池440时,迁移模块320从存储池430删除迁移数据文件并且方法600结束。
在一个实施例中,如图5中所述,作为复制模块305将迁移数据文件的实例复制520到下一个池440的结果,迁移模块320始终判定615迁移数据文件位于下一个池440中。因此,由于在并行复制方法500的过程中,可仅通过数据通道445传送数据文件,所以减少了迁移方法600使用的存储子系统200带宽。
图7是示出本发明的回收方法700的一个实施例的示意性流程图。对方法700的描述引用图1-6的元素,相同的编号引用相同的元素。
方法700开始,在一个实施例中,存储管理器205启动705回收操作。存储管理器205可以在存储池230中需要额外的存储空间时启动705回收操作。此外,存储管理器205可以定期启动705回收操作。
回收模块310可以标识710要回收的聚合文件。在一个实施例中,回收模块310标识710包括至少一个非活动数据文件的聚合文件。
在一个实施例中,回收模块310判定715聚合文件是否在下一个池440中。如果回收模块310判定715聚合文件不在下一个池440中,则回收模块310可以将聚合文件复制720到下一个池440。
如果回收模块310判定715聚合文件在下一个池440中和/或当聚合文件被复制720到下一个池440时,聚合模块325将聚合文件聚合725到新的聚合文件。在一个实例中,聚合模块325将第一聚合文件的活动数据文件聚合725到第二新的聚合文件。第二新的聚合文件不会包括第一聚合文件的非活动数据文件。
在一个实施例中,作为复制模块305将每个数据文件的实例复制520到下一个池440(如图5中所述)以及聚合模块325聚合下一个池440的数据文件的结果,回收模块310始终判定715聚合文件位于下一个池440中。因此,由于在并行复制方法500的过程中,可以仅通过数据通道445传送数据文件,所以减少了回收方法700使用的存储子系统200带宽。
回收模块310还从存储池430删除730聚合文件并且方法700结束。除非下一个池440中存在具有非活动数据文件的聚合文件实例,否则回收模块310不会从存储池430删除730聚合文件,以便下一个池440包括非活动数据文件的副本。继续上面的实例,当第二聚合文件位于存储池430中时,回收模块310可以从存储池430删除730第一聚合文件。因此,回收了存储池430中由第一聚合文件的非活动数据文件占用的存储空间。
图8是示出本发明的处于初始状态的池800的一个实施例的示意性方块图。对池800的描述引用图1-7的元素,相同的编号引用相同的元素。池800包括存储池430、复制池435以及下一个池440。在一个实施例中,存储池430被配置为一个或多个磁盘驱动器120,而复制池435和下一个池440被配置为磁带驱动器125。
在一个实例中,文件A 810、文件B 815和文件C 820分别位于存储池430、复制池435以及下一个池440中。文件810、815、820可以是数据文件。此外,在存储池430、复制池435以及下一个池440中,将文件810、815、820聚合到聚合文件A 805中。在一个实施例中,文件A 810、文件B 815和文件C 820是活动数据文件。
图9是示出本发明的并行复制之后的池900的一个实施例的示意性方块图。继续图8的实例,池900以及文件805、810、815、820是在图5的并行复制510、515、520之后的图8的池800以及文件805、810、815、820。对池900的描述引用图1-8的元素,相同的编号引用相同的元素。
复制模块305将文件B’905并行复制510、515、520到存储池430、复制池435以及下一个池440。在一个实施例中,文件B’905是文件B 815的后续实例。因此,文件B’905是活动数据文件,而文件B 815是非活动的文件。
图10是示出本发明的具有回收后的存储池430的池1000的一个实施例的示意性方块图。继续图8和9的实例,池1000以及文件805、810、815、820、905是图9的池900以及文件805、810、815、820、905。对池1000的描述引用图1-9的元素,相同的编号引用相同的元素。
作为回收方法700的一部分,聚合模块325将聚合文件A 805聚合725到聚合文件B 1005中。聚合文件B 1005不包括非活动文件B 815。回收模块310删除730聚合文件A 805以回收存储池430中非活动文件B 815的存储空间。因此,示出的存储池430仅包括活动文件810、820、905。由于复制池435和下一个池440可以存储非活动数据文件,因此复制池435和下一个池440都存储文件B 815和文件B’905。
本发明的实施例将一个或多个数据文件并行复制510、515、520到多个池。此外,本发明的实施例可以减少数据文件的后续复制。
可以以其他特定形式实现本发明而不偏离本发明的精神和本质特性。所述实施例在所有方面都只是被视为示例性的而非限制性的。因此,本发明的范围由所附权利要求而非上述说明来指示。所有在权利要求的等效含义和范围之内的更改都旨在被包含在权利要求的范围内。
Claims (15)
1.一种将一个或多个数据文件并行复制到多个池的装置,所述装置包括:
复制模块,其配置为将一个或多个数据文件从客户端复制到存储池,其中所述存储池配置为仅存储活动数据文件,其中活动数据文件是客户端数据文件的最新备份的实例;以及
所述复制模块还配置为将所述数据文件并行复制到下一个池,其中所述下一个池与所述存储池一起被组织在存储层次结构中并被配置为从所述存储池卸载非活动数据文件,其中非活动数据文件是所述客户端数据文件的先前实例。
2.根据权利要求1的装置,其中所述复制模块还配置为将所述数据文件并行复制到复制池,其中所述复制池被配置为备份所述存储池以及存储活动和非活动数据文件。
3.根据权利要求1的装置,还包括聚合模块,其配置为将多个所述数据文件聚合到第一聚合文件中并将所述第一聚合文件聚合到第二聚合文件中,其中所述第一聚合文件的至少一个数据文件没有包括在所述第二聚合文件中。
4.根据权利要求3的装置,还包括回收模块,其配置为通过从所述存储池删除所述第一聚合文件来回收所述第一聚合文件。
5.根据权利要求1的装置,还包括迁移模块,其配置为通过从所述存储池删除一个或多个非活动数据文件来将所述非活动数据文件从所述存储池迁移到所述下一个池。
6.一种将一个或多个数据文件并行复制到多个池的方法,所述方法包括:
将一个或多个数据文件从客户端复制到存储池,其中所述存储池被配置为仅存储活动数据文件,其中活动数据文件是客户端数据文件的最新备份的实例;以及
将所述数据文件并行复制到下一个池,其中所述下一个池与所述存储池一起被组织在存储层次结构中并被配置为从所述存储池卸载非活动数据文件以及存储活动和非活动数据文件,其中非活动数据文件是所述客户端数据文件的先前实例。
7.根据权利要求6的方法,还包括将所述数据文件并行复制到复制池,其中所述复制池被配置为备份所述存储池以及存储活动和非活动数据文件。
8.根据权利要求6的方法,还包括将多个数据文件聚合到第一聚合文件中。
9.根据权利要求8的方法,还包括通过将所述第一聚合文件聚合到第二聚合文件中并从所述存储池删除所述第一聚合文件来回收所述第一聚合文件,其中所述第一聚合文件的至少一个数据文件没有包括在所述第二聚合文件中。
10.根据权利要求6的方法,还包括将所述数据文件从所述存储池恢复到所述客户端。
11.根据权利要求6的方法,还包括通过从所述存储池删除一个或多个非活动数据文件来从所述存储池迁移所述非活动数据文件。
12.根据权利要求11的方法,其中在删除所述非活动数据文件之前,不会作为所述迁移的一部分而复制所述非活动数据文件。
13.一种将一个或多个数据文件并行复制到多个池的系统,所述系统包括:
存储池,其配置为仅存储活动数据文件,其中活动数据文件是客户端数据文件的最新备份的实例;
下一个池,其配置为从所述存储池卸载一个或多个非活动数据文件以及存储活动和非活动文件,其中非活动数据文件是所述客户端数据文件的先前实例;
存储管理器,其配置为管理所述存储池和下一个池,并且包括
复制模块,其配置为将一个或多个数据文件从客户端复制到所述存储池,以及将所述数据文件并行复制到所述下一个池;以及
迁移模块,其配置为通过从所述存储池删除一个或多个非活动数据文件来将所述非活动数据文件从所述存储池迁移到所述下一个池。
14.根据权利要求13的系统,还包括复制池,其配置为备份所述存储池以及存储活动和非活动数据文件,并且其中所述复制模块还配置为将所述数据文件并行复制到所述复制池。
15.根据权利要求13的系统,其中所述迁移模块在迁移过程中不会复制所述非活动数据文件。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/457,421 US7606845B2 (en) | 2006-07-13 | 2006-07-13 | Apparatus, systems, and method for concurrent storage to an active data file storage pool, copy pool, and next pool |
US11/457,421 | 2006-07-13 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101105763A CN101105763A (zh) | 2008-01-16 |
CN100517247C true CN100517247C (zh) | 2009-07-22 |
Family
ID=38950496
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2007101269212A Expired - Fee Related CN100517247C (zh) | 2006-07-13 | 2007-07-03 | 用于并行存储的装置、系统和方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7606845B2 (zh) |
CN (1) | CN100517247C (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7941620B2 (en) * | 2005-09-12 | 2011-05-10 | International Business Machines Corporation | Double-allocation data-replication system |
US20080228828A1 (en) * | 2007-03-16 | 2008-09-18 | Microsoft Corporation | Management of collections within a data storage system |
US7984023B2 (en) * | 2007-10-04 | 2011-07-19 | International Business Machines Corporation | Method and utility for copying files from a faulty disk |
AU2015258326B2 (en) * | 2008-05-14 | 2016-12-08 | Ab Initio Technology Llc | Managing storage of individually accessible data units |
US20090287986A1 (en) * | 2008-05-14 | 2009-11-19 | Ab Initio Software Corporation | Managing storage of individually accessible data units |
CN101582092B (zh) * | 2009-06-12 | 2011-04-20 | 中兴通讯股份有限公司 | 一种实现保存内存中的数据的方法及装置 |
US9104629B2 (en) | 2009-07-09 | 2015-08-11 | International Business Machines Corporation | Autonomic reclamation processing on sequential storage media |
US8250122B2 (en) * | 2009-11-24 | 2012-08-21 | International Business Machines Corporation | Systems and methods for simultaneous file transfer and copy actions |
US8935469B2 (en) | 2011-01-12 | 2015-01-13 | International Business Machines Corporation | Autonomic reclamation processing for tapes |
CN102063334A (zh) * | 2011-01-17 | 2011-05-18 | 浪潮(北京)电子信息产业有限公司 | 一种文件快速拷贝的方法及装置 |
CN102495880B (zh) * | 2011-12-05 | 2015-06-10 | 北京新媒传信科技有限公司 | 一种文件同步的方法和装置 |
WO2013136339A1 (en) * | 2012-03-15 | 2013-09-19 | Hewlett-Packard Development Company, L.P. | Regulating replication operation |
US9336223B2 (en) | 2012-09-24 | 2016-05-10 | International Business Machines Corporation | Selective erasure of expired files or extents in deduplicating virtual media for efficient file reclamation |
US10592347B2 (en) | 2013-05-16 | 2020-03-17 | Hewlett Packard Enterprise Development Lp | Selecting a store for deduplicated data |
CN105324765B (zh) | 2013-05-16 | 2019-11-08 | 慧与发展有限责任合伙企业 | 选择用于去重复数据的存储区 |
CN105205062B (zh) * | 2014-06-13 | 2019-07-12 | 腾讯科技(北京)有限公司 | 数据存储方法、数据读取方法和装置 |
CN109240852A (zh) * | 2018-08-27 | 2019-01-18 | 郑州云海信息技术有限公司 | 一种数据拷贝的方法和装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6728851B1 (en) * | 1995-07-31 | 2004-04-27 | Lexar Media, Inc. | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices |
US6959368B1 (en) * | 1999-06-29 | 2005-10-25 | Emc Corporation | Method and apparatus for duplicating computer backup data |
US6505216B1 (en) * | 1999-10-01 | 2003-01-07 | Emc Corporation | Methods and apparatus for backing-up and restoring files using multiple trails |
US6834324B1 (en) * | 2000-04-10 | 2004-12-21 | Storage Technology Corporation | System and method for virtual tape volumes |
US6732125B1 (en) * | 2000-09-08 | 2004-05-04 | Storage Technology Corporation | Self archiving log structured volume with intrinsic data protection |
US6721766B1 (en) * | 2001-01-25 | 2004-04-13 | Emc Corporation | Restoring multiple work items simultaneously from backup and data restore |
US6978282B1 (en) * | 2001-09-04 | 2005-12-20 | Emc Corporation | Information replication system having automated replication storage |
US7117324B2 (en) * | 2002-10-18 | 2006-10-03 | International Business Machines Corporation | Simultaneous data backup in a computer system |
US8205058B2 (en) * | 2004-12-10 | 2012-06-19 | International Business Machines Corporation | Resource management for data storage services |
-
2006
- 2006-07-13 US US11/457,421 patent/US7606845B2/en not_active Expired - Fee Related
-
2007
- 2007-07-03 CN CNB2007101269212A patent/CN100517247C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US7606845B2 (en) | 2009-10-20 |
CN101105763A (zh) | 2008-01-16 |
US20080016130A1 (en) | 2008-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100517247C (zh) | 用于并行存储的装置、系统和方法 | |
US11263173B2 (en) | Transaction log index generation in an enterprise backup system | |
US10223365B2 (en) | Snapshot readiness checking and reporting | |
US10360110B2 (en) | Point-in-time backups of a production application made accessible over fibre channel and/or iSCSI as data sources to a remote application by representing the backups as pseudo-disks operating apart from the production application and its host | |
US7340646B2 (en) | Apparatus, system, and method for resource group backup | |
US8117168B1 (en) | Methods and systems for creating and managing backups using virtual disks | |
CN101361048B (zh) | 在信息生命周期管理环境中将文件恢复到其适当的存储级 | |
CN101105738A (zh) | 用于并行存储池迁移和备份的装置、系统和方法 | |
US9495382B2 (en) | Systems and methods for performing discrete data replication | |
CN101566959B (zh) | 利用卷快照防止在失败的恢复操作中的文件损坏 | |
CN104040481B (zh) | 用于融合、存储和检索增量式备份数据的方法和系统 | |
US11249858B2 (en) | Point-in-time backups of a production application made accessible over fibre channel and/or ISCSI as data sources to a remote application by representing the backups as pseudo-disks operating apart from the production application and its host | |
US7284150B2 (en) | System and method for reliably storing data and providing efficient incremental backup and asynchronous mirroring by preferentially handling new data | |
US8219770B2 (en) | Storage system and data management method | |
US7299376B2 (en) | Apparatus, system, and method for verifying backup data | |
US8260752B1 (en) | Systems and methods for change tracking with multiple backup jobs | |
CN102981931A (zh) | 虚拟机备份方法及装置 | |
US20060015767A1 (en) | Reducing data loss and unavailability by integrating multiple levels of a storage hierarchy | |
CN101449246B (zh) | 用于集群恢复的装置和方法 | |
CN100561447C (zh) | 将存储卷呈现为虚拟卷的装置、系统和方法 | |
CN101589371A (zh) | 向分级存储系统透明备份的方法和系统 | |
CN111831476A (zh) | 控制raid系统的操作的方法 | |
US10671488B2 (en) | Database in-memory protection system | |
US20240143454A1 (en) | System and techniques for backing up scalable computing objects | |
US20090077004A1 (en) | Data Recovery in a Hierarchical Data 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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090722 Termination date: 20150703 |
|
EXPY | Termination of patent right or utility model |