混合式本地存储和远程存储环境中的数据集版本计数的制作方法

文档序号:6569599阅读:209来源:国知局
专利名称:混合式本地存储和远程存储环境中的数据集版本计数的制作方法
技术领域
本发明涉及混合式本地存储和远程存储环境中的数据集版本计数的领域。
背景技术
在常规系统中,当数据集位于本地计算设备上时,它可以用于维护此 数据集在远程备盼系统上的*副本(例如,用于在本地计算设备上的数 据丟失时的数据恢复)。
#和存储管理产品提供了多组策略结构(policy constructs )以指导 如何管理数据。策略结构可以被描述为规则。这些策略结构之一规定了对 于存在于本地计算设备上的本地存储装置中的数据集(相对于计算机上已 删除的具有其他策略结构的数据集),要在远程务除系统上维护a数据 集的多少个副本。例如,用户可以指定对于本地存储装置中的给定现有数 据集,应该在远程备份系统上的远程存储装置中维护数据集的三个版本。 远程备餘系统管理远程存储装置,以便在收到第四个数据集时,远程* 系统丢弃数据集的第一个版本(有效地保留了数据集的第二、第三和第四 个版本)。
在常规系统中,可以在远程备阶系统的上下文以外生成*数据集。 这些操作可以称为"本地#操作"。例如,可以通过不必集成到远程备 份系统的产品来生成数据的软件或硬件快照,所述产品如可在本地计算设 备上生成数据快照的第三方快照软件包或执行此操作的硬件系统(例如, 可从国际商业机器公司购买的IBM Enterprise Storage Server (ESS) 系统)。在题为"Data Record Copy System for a Disk Drive Array Data Storage Subsystem"的美国专利第5,410,667号(^"于1995年4月25日,在此引入作为参考)中披露了快照操作的详细信息。使用这些技术对 数据集的版本进行计数不同于对远程备份系统处的数据集的版本进行计数。
首先,在传统的远程备份系统中,远程存储装置对本地计算设备是不 透明的。也就是说,本地计算设备假定具有足够的远程存储装置以至少存 储本地计算设备的用户需要管理的版本数。此夕卜,在此类远程备盼系统中,
存储装置不足的情况是异常的。实际上,远程*系统可以在一段时间内 保留比用户请求更多的版本。例如,如果用户指定保留数据集的三个版本 并且数据集的第四个版#发送到远程备份系统,则远程*系统可以保 留全部四个版本,但将受删除不需要的数据集版本的到期过程的控制。到 期过程可以被描述为是异步的,因为它与添加第四、第五、第六等数据版 本没有时间相关性。此外,如果数据集*比到期过程更加频繁,则远程 备除系统中甚至可能有更多的#数据集的版本排队等待到期。
本地*数据集可以表示千吉字节的数据。如果用户具有大小为100 千兆字节(GB)的数据集并且具有管理此数据集的三个版本的策略结构, 则在技术上用户需要具有至少四个100 GB的可用存储容器。存储容器可 以被描述为远程备份系统用于存储数据集版本的远程存储装置(即, 一组 物理盘空间)的逻辑部分。在三个存储容器被本地*数据集的三个版本 填充之后,第四个存储容器用于存放第四个版本,此后可以释放用于第一 个版本的存储容器。
此问题的备选方法是使本地计算设备在备份第四个数据集之前删除三 个备份数据集之一。这样用户无需具有四个存储容器以存放*数据集的 三个版本。此备选方法的缺点在于,当第四个M操作正在执行时(可能 需要几个小时),用户仅具有从中执行恢复操作的M数据集的两个版本, 这并不符合策略结构。此外,如果第四个数据集的备份失败,则用户将剩 下*数据集的两个版本。在此类远程备份系统中,存储装置不足的情况 是正常的。
许多直接访问存储设备(DASD)子系统都能够执行"即时虛拟复制"操作,其也称为"快速复制功能"。即时虚拟复制操作的工作方式为修改 诸如关系表或指针之类的元数据以将源数据对象同时视为正本和副本。响 应于在存储控制器(其提供对存储装置的访问)处收到复制操作请求,将 报告副本的创建而不生成数据的任何物理副本。将仅创建"虛拟"副本, 而复制操作请求的发起方完全不知道不存在其他物理副本。
随后,当存储控制器收到对正本或副本的更新时,更新被分别存储并 且仅被交叉引用到已更新的数据对象。此时,正本和副本数据对象开始有 所不同。固有的优点是即时虛拟复制几乎即刻发生,比完成正常的物理复 制操作快得多。这将释放存储控制器以执行其他任务。存储控制器甚至可
以在后台处理期间或其他时间继续创建原始lt据对象的实际物理副本D
一种此类即时虛拟复制操作称为FlashCopy⑧操作。题为"Method, System and Program for Maintaining Electronic Data as of a Pomt-in-time"的美国专利第6,611,901号(公告于2003年8月26日,在 此引入作为参考)中描述了即时虚拟复制操作的详细信息。
对备份版本进行计数的传统技术的第二个问题是它假定版本的备份已 完成并提交到远程备份系统。对于本地数据集的大量备份(例如 FlashCopy⑧^^操作),本地存储装置可能会在执行后续*操作时处于 使用状态。例如,用户当前可能具有三个本地容器和本地FlashCopy⑧数 据的两个版本,并且可能启动需要四个小时的本地FlashC叩y⑧^^操作。 此时,两个本地存储容器用于有效的数据集版本,而将第三个存储容器分 配给当前进程。在两个小时后的某个时间("时间tl"),用户启动另一 个备份操作。此时,用户必须重用两个本地存储容器之一以专用于此## 操作。这将剩余一个具有有效*数据的本地存储容器,并且两个本地存 储容器专用于*操作。如果两个*操作都失败,则用户将剩下一个备 份数据集。如果用户在此时尝试恢复数据,则只有一个可从中恢复的有效 数据集,这并不是用户在设置策略以保留数据的三个版本时所希望的。
第三个问题是最终用户必须显式地正确设置本地存储装置以与远程备 份系统管理的版本数匹配。例如,如果用户设置策略以管理远程##系统上的三个版本V (1),则用户必须确保具有足够的本地存储装置S (1)以
存储三个版本v (1)。如果用户具有其他本地存储装置s (1),则其他本
地存储装置可以用于緩解上述实例中的问题,但是如果用户仅具有足够的
本地存储装置以存储所需的版本数(s (1) =v ( 1 )),则使用了所有的本
地存储装置之后,将在备盼时应用另 一组规则。
第四个问题是可以在同 一本地存储池上使用不同的*技术。例如, 可以在同一本地存储池上使用即时虚拟复制和增量虚拟复制。在题为
"Method, System and Program for Incremental Virtual Copy"的美国专 利申请第10/465,118号(提交于2003年6月18曰,在此引入作为参考) 中描述了增量虚拟复制操作的详细信息。增量虚拟复制操作是对即时虚拟 复制操作的增强。使用增量虚拟复制操作,仅复制自上次从源巻到目标巻 的复制操作(例如,即时虛拟复制操作)以来在源巻和目标巻上,皮更新的 数据块。
例如,假定用户具有三组本地存储容器sc (1)并且希望在12:00进行 完全即时虛拟复制*而每两个小时进行一次增量虛拟复制备除。因此, 存储容器sc (1) 1在12:00用于完全备份。在2:00,存储容器sc (1) 2 用于增量虛拟复制。在4:00,存储容器sc(l)2再次用于增量虛拟复制(在 可能只有一组增量虛拟复制关系的情况下)。直到12:00当进行另一次完 全即时虛拟复制时才使用存储容器sc (1)3。增量虚拟复制关系与完全即
环境中使用版本计数。因此,对*版本进行计数的传统技术与用户希望 在任何时间恢复的版本数关联。当引入存储在远程*系统外部管理的数 据集版本的本地存储装置时,将变得难以指导用户需要在本地存储装置中 分配多少存储空间以确保可以在任何给定时间恢复所需的务除版本数。
因此,本领域需要在混合式本地存储和远程存储环境中具有改进的数 据版本计数
发明内容
本发明提供了用于存储数据集的多个本地版本的方法、计算机程序和 系统。接收指示在给定可用本地存储装置量下将在本地存储装置中存储所 述数据集的多少个本地版本的第一数量。判定指示所述本地存储装置能够 存储的所述数据集的本地版本总数的第二数量是否超过所述第 一数量。响 应于判定所述第二数量超过所述第一数量,将使用能够存储所述第一数量 的所述数据集的本地版本的所述本地存储装置量。


现在将参考附图仅通过实例的方式说明本发明的实施例,这些附图是 图1示出了其中可以实现特定实施例的计算i殳备的细节; 图2A和2B示出了根据特定实施例的用于管理本地存储装置中的多个 本地版本的逻辑;以及
图3示出了才艮据特定实施例的可以使用的计算机系统的体系结构。
具体实施例方式
在以下说明中,参考了形成本发明一部分并示出本发明的数个实施例 的附图。要理解的是,可以使用其他实施例并可以进行结构和操作更改而 不偏离本发明的范围。
图1示出了根据本发明的特定实施例的计算环境。本地计算设备100 包括管理本地存储装置110中的数据的多个本地版本的本地备份管理器 102。本地计算设备100连接到本地存储装置110。本地存储装置110包括 一个或多个物理存储设备,例如直接访问存储设备(DASD)。本地存储 装置110可以被分隔为一个或多个本地存储容器112。
存储控制器120也可以连接到本地存储装置110。存储控制器120 (也 可以称为控制单元或存储导向器)管理从其他计算设备(未示出)对本地 存储装置110的访问。
本地计算设备100还连接到远程备盼系统130。远程备份系统130包 括管理远程存储装置140中的数据的多个*版本的远程备份管理器132。远程备盼系统130连接到远程存储装置140。远程存储装置140包括一个 或多个物理存储设备,例如直接访问存储设备(DASD)。远程存储装置 140可以被分隔为一个或多个远程存储容器142。
在特定实施例中,可以使用可移动存储装置(作为远程存储装置,例 如远程存储装置142的替代或补充)以维护全部或部分本地存储装置110 的务盼副本。可移动存储装置可以位于本地计算设备100处。
图2A和2B示出了根据特定实施例的用于管理本地存储装置110中的 多个本地版本的逻辑。策略结构可以被描述为规则(例如,存储本地* 数据集的三个版本)。用户提供用于管理数据集的策略结构。特定实施例 提供了定义在给定可用本地存储装置量下将在本地存储装置110中存储数 据集的多少个版本的新策略结构。特定备选实施例额外加载(overloading ) 了现有策略结构以定义在给定可用本地存储装置量下将在本地存储装置 110中存储数据集的多少个版本。用户可以具有多于策略结构所需的本地 存储装置110 (例如,用户指示存在足够的用于本地*数据的三个版本 的本地存储装置,虽然存在足够的用于五个版本的本地存储装置)。
控制开始于图2A的方块200,本地备除管理器102接收指示在给定可 用本地存储装置110量下将在本地存储装置中存储数据集的多少个本地版 本的第一数量。在方块202,判定指示本地存储装置110能够存储的数据 集的本地版本总数的第二数量是否超过或等于第一数量。也就是说,第二 数量代表本地存储装置可以存储的本地版本的实际数量。如果第二数量超 过第一数量(例如,第二数量指示本地存储装置能够存储五个本地版本, 而第一数量指示要存储三个本地版本),则处理继续到方块204,否则, 处理继续到方块214。在方块204中,本地备盼管理器102将使用能够存 储第一数量的数据集本地版本的本地存储装置110量。
在特定实施例中,不使用任何其他可用的本地存储装置110(例如, 如果本地版本数为三,而可用本地存储装置110量可以存储五个本地版本, 则不使用其他本地存储装置)。
在特定实施例中,所使用的存储量是笫三数量的本地存储容器,其中第一数量和第三数量相等(例如,如果第一数量指示三个本地版本,则第
三数量指示三个本地存储容器)。从方块204,处理继续到方块206 (图 2B)。
在方块206中,本地备份管理器102接收请求以存储数据集的版本。 在方块208中,本地备份管理器102判定是否已使用本地存储装置110中 的所有为存储请求数据集的多个版本而保留的本地存储容器(即第三数量 的本地存储容器)。如果是,则处理继续到方块210,否则,处理继续到 方块212。在方块210中,本地备份管理器102使用备份策略以确定当通 过本地4H^操作备份多于第一数量的本地版本时,如何重用本地存储装置 110中的第三数量的本地存储容器(例如,要维护三个本地版本,并且使 用备份策略确定如何通过重用容器之一来存储第四个本地版本)。在方块 212中,本地备份管理器102在可用的本地存储容器中存储数据集的版本。
备除策略可以被描述为包括其他结构,该其他结构定义了如何根据所 采用的本地*:技术来重用本地存储容器。例如,本地备阶管理器102可 以实现例如这样的策略(1)如果请求的#^是即时虛拟复制操作,则当 其他本地存储容器之一上没有其他虚拟即时复制操作时,将重用代表最早 完整副本的本地存储容器,以及(2 )如果请求的^^是增量虚拟复制操作, 则当代表通过增量关系建立的备份副本的本地存储容器中的巻上没有仍有 效的后台复制过程或增量刷新时,将重用该本地存储容器。
在方块214中,响应于判定第一数量超过第二数量(例如,第一数量 指示要存储六个本地版本,而第二数量指示本地存储装置能够存储四个本 地版本),使超过第二数量的针对数据集的任何本地版本的*操作失败 (例如,如果本地版本数为五,而可用的本地存储容器数为四,则创建第 五个本地版本的*操作将失败)。在特定实施例中,将发出消息以表明 没有足够的可用存储装置进行*操作。
因此,各实施例提供了一种用于本地存储装置的数据版本计数的技术, 其中用于远程存储装置的版本计数可以相同或不同。
IBM是国际商业机器公司在美国和/或其他国家/地区的注册商标或常用法律标记。
其他实施例的详细信息 通过使用标准编程和/或工程技术来产生软件、固件、硬件或它们的任 何组合,所述操作可以被实现为方法、装置或制品。在此使用的术语"制 品,,指在介质中实现的代码或逻辑,其中此类介质可以包括硬件逻辑[例如,
集成电路芯片、可编程门阵列(PGA)、专用集成电路(ASIC)等]或计算 机可读介质,如磁存储介质(例如,硬盘驱动器、软盘、磁带等)、光存 储装置(CD - R0M、光盘等)、易失性和非易失性存储设备(例如,EEPROM、 ROM、 PROM、 RAM、 DRAM、 SRAM、固件、可编程逻辑等)。由处 理器来存取和执行所述计算机可读介质中的代码。其中编码所述代码或逻
辑的介质还可以包括通过空间传播的传输信号或诸如光纤、铜线之类的传 输介质。其中编码所述代码或逻辑的传输信号还可以包括无线信号、卫星 传输、无线电波、红外线信号、蓝牙等。其中编码所述代码或逻辑的传输 信号能够通过发射站发射并且通过接收站接收,其中在传输信号中编码的 代码或逻辑可以被解码并存储在硬件或接收和发射站或设备处的计算机可 读介质中。此外,"制品,,可以包括其中包含、处理和执行代码的硬件和 软件组件的组合。当然,本领域的技术人员将认识到,可以对此配置做出 许多修改而不偏离本发明的范围,并且所述制品可以包括本领域公知的任
何信息承载介质。
术语逻辑可以包括例如软件或硬件和/或软件和硬件的组合。
图2A和2B的逻辑描述了按照特定顺序发生的特定操作。在备选实施 例中,可以按照不同的顺序执行特定逻辑操作,修改或删除特定逻辑操作。 而且,可以将操作添加到上述逻辑并且仍与所述实施例一致。此外,在此 所述的操作可以顺序地发生或者可以并行处理特定操作,或者可以由分布
式过程执##:描述为通过单个过程执行的操作。
图2A和2B所示的逻辑可以在软件、硬件、可编程和不可编程门阵列 逻辑或者硬件、软件或门阵列逻辑的某一组合中实现。图3示出了才艮据特定实施例的可以使用的计算机系统的体系结构300。 本地计算设备100、存储控制器120和/或远程*系统130可以实现体系 结构300。计算机体系结构300可以实现处理器302 (例如微处理器)、存 储器304 (例如易失性存储设备)和存储装置310 (例如非易失性存储区域, 如磁盘驱动器、光盘驱动器、磁带驱动器等)。操作系统305可以在存储 器304中执行。存储装置310可以包括内部存储设备或者连接的或网络可 访问的存储装置。存储装置310中的计算机程序306可以采用本领域^/^p 的方式被加载到存储器304并由处理器302执行。所述体系结构还包括网 卡308以便能够与网络通信。输入设备312用于提供到处理器302的用户 输入,并且可以包括键盘、鼠标、笔针、麦克风、触感显示屏,或者本领 域公知的任何其他激活或输入机制。输出设备314能够呈现来自处理器302 或其他组件(例如显示监视器、打印机、存储装置等)的信息。计算机系 统的计算机体系结构300可以包括少于所示的组件、其他未在此示出的组 件,或者所示组件和其他组件的某一组合。
计算机体系结构300可以包括本领域公知的任何计算设备,例如大型 机、服务器、个人计算机、工作站、便携式计算机、手持式计算机、电话 设备、网络家电、虛拟化设备、存储控制器等。可以使用本领域公知的任 何处理器302和操作系统305。
出于示例和i兌明目的给出了对本发明的实施例的如上描述。其并非旨 在是穷举的或是将本发明的实施例限于所公开的精确形式。可以根据上述 教导做出许多修改和变化。本发明的实施例的范围并非通过此详细说明限 制,而是通过在此所附的权利要求来限制。上述说明、实例和数据提供了 对本发明的实施例的组成部分的制造和使用的完整说明。由于可以提供本 发明的许多实施例而不偏离本发明的实施例的范围,所以本发明的实施例 存在于此后所附的权利要求或任何后续提交的权利要求中。
权利要求
1. 一种用于存储数据集的多个版本的方法,所述方法包括接收指示在给定可用本地存储装置量下将在本地存储装置中存储所述数据集的多少个本地版本的第一数量;判定指示所述本地存储装置能够存储的所述数据集的本地版本总数的第二数量是否超过所述第一数量;以及响应于判定所述第二数量超过所述第一数量,将使用能够存储所述第一数量的所述数据集的本地版本的所述本地存储装置量。
2. 如权利要求l中所述的方法,其中提供了定义在给定所述可用本地 存储装置量下将在所述本地存储装置中存储所述数据集的多少个本地版本 的新策略结构。
3. 如权利要求1中所述的方法,还包括额外加载定义在给定所述可用本地存储装置量下将在所述本地存储装 置中存储所述数据集的多少个本地版本的现有策略结构。
4. 如权利要求l中所述的方法,其中将所述本地存储装置分隔为一个 或多个本地存储容器。
5. 如权利要求4中所述的方法,其中将所述数据集的每个本地版^M!" 储在所述本地存储装置内的所述一个或多个本地存储容器之一中。
6. 如权利要求4中所述的方法,其中所使用的存储装置量是第三数量 的本地存储容器并且其中所述第 一数量和所述第三数量相等,还包括使用务盼策略以确定当使用本地^#操作*多于所述第 一数量的本 地版本时如何重用所述笫三数量的存储容器。
7. 如权利要求6中所述的方法,其中本地^#操作是即时虚拟复制操 作,并且其中所述备除策略指示在其他本地存储容器上没有其他虛拟即时 复制操作时将重用代表最早完整副本的本地存储容器。
8. 如权利要求6中所述的方法,其中本地4^操作是增量虛拟复制操 作,并且其中在代表通过增量关系建立的备份副本的本地存储容器中的巻上没有仍有效的后台复制过程或增量刷新时,将重用该本地存储容器。
9. 如权利要求l中所述的方法,还包括响应于判定所述第 一数量超过所述第二数量,使超过所述第二数量的 针对所述数据集的任何本地版本的^#操作失败。
10. —种计算机程序产品,包括当在计算机上执行时用于执行权利要 求1到9中的任一权利要求中所述的步骤的计算机可读程序代码。
11. 一种用于存储数据集的多个本地版本的系统,所述系统包括 本地存储装置;以及能够执行操作以执行权利要求1到9中的任一权利要求中所述的步骤 的逻辑。
全文摘要
本发明提供了用于存储数据集的多个本地版本的计数。接收指示在给定可用本地存储装置量下将在本地存储装置中存储所述数据集的多少个本地版本的第一数量。判定指示所述本地存储装置能够存储的所述数据集的本地版本总数的第二数量是否超过所述第一数量。响应于判定所述第二数量超过所述第一数量,将使用能够存储所述第一数量的所述数据集的本地版本的所述本地存储装置量。
文档编号G06F11/20GK101305341SQ200680041986
公开日2008年11月12日 申请日期2006年10月24日 优先权日2005年11月10日
发明者C·扎伦巴, J·P·史密斯, N·加里梅拉, O·奥根施泰因 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1