CN105938448B - 用于数据复制的方法和装置 - Google Patents

用于数据复制的方法和装置 Download PDF

Info

Publication number
CN105938448B
CN105938448B CN201610121549.5A CN201610121549A CN105938448B CN 105938448 B CN105938448 B CN 105938448B CN 201610121549 A CN201610121549 A CN 201610121549A CN 105938448 B CN105938448 B CN 105938448B
Authority
CN
China
Prior art keywords
data
source
source data
target
data set
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.)
Active
Application number
CN201610121549.5A
Other languages
English (en)
Other versions
CN105938448A (zh
Inventor
P·A·卡本特
D·D·米勒
D·C·里德
E·里奥斯
M·D·史密斯
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN105938448A publication Critical patent/CN105938448A/zh
Application granted granted Critical
Publication of CN105938448B publication Critical patent/CN105938448B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Quality & Reliability (AREA)

Abstract

本申请涉及用于数据复制的方法和装置。为了执行数据集的增量复制,源数据模块识别源数据集,源数据集包括源卷上的一组存储位置,目标数据模块响应于源数据模块识别源数据集而定义目标数据集,映射模块存储复制关系表,复制关系表将定义的数据集映射到目标数据集,目标数据集包括目标卷上的一组存储位置,并且复制模块基于复制关系执行存储在源数据集处的数据的增量拷贝。

Description

用于数据复制的方法和装置
技术领域
本文所公开的主题涉及数据复制,并且更具体地,涉及执行源数据集到目标数据集的增量复制。
背景技术
为了复制数据单元,通常建立闪速拷贝关系。增量闪速拷贝只创建被更改的数据的快照拷贝并且只在卷级别可用。
发明内容
公开了一种用于数据复制的方法。一种装置和计算机程序产品也执行该方法的功能,该计算机程序产品包括具有程序指令体现其中的计算机可读存储介质。该用于数据复制的方法包括:接收部分限定的数据集名称、基于该部分限定的数据集名称识别源卷上的源数据集、生成将源数据集映射到目标卷上的目标数据集的复制关系表、以及基于复制关系表执行存储在源数据集中的数据的增量拷贝。
一种用于数据复制的装置,包括:根据部分限定的数据集名称识别源数据集的源数据模块,该源数据集包括源卷上的一组存储位置;响应于源数据模块识别源数据集而定义目标数据集的目标数据模块;存储复制关系表的映射模块,该复制关系表将源数据集映射到目标数据集,该目标数据集包括目标卷上的一组存储位置;以及基于复制关系表周期性地执行存储在源数据集的数据的增量拷贝的复制模块,其中源数据模块、目标数据模块、映射模块和复制模块的至少一部分包括硬件和可执行代码中的一个或多个,该可执行代码存储在一个或多个计算机可读存储介质上。
一种用于数据复制的计算机程序产品,包括可被处理器读取/执行以使得该处理器执行以下操作的程序指令:基于部分限定的数据集名称识别源卷上的源数据集、生成将源数据集与目标卷上的目标数据集关联的复制关系表、基于复制关系表执行存储在源数据集中的数据的增量拷贝、监视对源数据集的更改、以及响应于对源数据集的更改而更新关系表。
附图说明
为了使本发明的实施例的优点被容易地理解,将通过参考在附图中示出的特定实施例来呈现以上简要描述的实施例的更具体描述。应当理解,这些附图仅仅绘出了一些实施例并且因此不应当被认为是要限制范围,将通过使用附图利用附加特殊性和细节描述和解释这些实施例,在附图中:
图1是示出根据本发明一种实施例的数据处理系统的一种实施例的示意性框图;
图2是示出根据本发明一种实施例的数据复制装置的一种实施例的示意性框图;
图3A是示出根据本发明一种实施例的数据集增量闪速拷贝表的一种实施例的示意性框图;
图3B是示出根据本发明一种实施例的源数据集位置信息的一种实施例的示意性框图;
图3C是示出根据本发明一种实施例的目标数据集位置信息的一种实施例的示意性框图;
图4是示出根据本发明一种实施例的用于数据复制的方法的一种实施例的示意性流程图;
图5是示出根据本发明一种实施例的用于数据复制的方法的一种实施例的示意性流程图;及
图6是示出根据本发明一种实施例的用于数据复制的方法的一种实施例的示意性流程图。
具体实施方式
贯穿本说明书对“一种实施例”、“一实施例”或类似语言的引用意味着联系该实施例所描述的特定特征、结构或特性包括在至少一种实施例中。因此,除非另外明确指出,否则贯穿本说明书的短语“在一种实施例中”、“在实施例中”或类似的语言的出现可以,但不一定都指代同一实施例,而是意味着“一种或多种但不是所有的实施例”。除非另外明确指出,否则术语“包括”、“包含”、“具有”及其变体意味着“包括但不限于”。除非另外明确指出,否则条目的枚举列表并不意味着任何或者所有条目是互相排斥和/或互相包含的。除非另外明确指出,否则术语“一个”和“该”也指“一个或多个”。
此外,所描述的实施例的特征、优点和特性可以以任何合适的方式进行组合。相关领域的技术人员将认识到,这些实施例可以在没有特定实施例的一个或多个具体特征或优点的情况下进行实践。在其它情况下,可能没有在所有实施例中都出现的附加的特征和优点可以在某些实施例中被发现。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言-诸如Smalltalk、C++等,以及常规的过程式编程语言-诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络-包括局域网(LAN)或广域网(WAN)-连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。本说明书中描述的许多功能单元已被标记为模块,以便更具体地强调其实现独立性。例如,模块可以被实现为包括定制的VLSI电路或门阵列的硬件电路、诸如逻辑芯片的现成半导体、晶体管或其它分立组件。模块也可以在诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑器件等的可编程硬件器件中实现。
模块也可以用软件来实现,用于由各种类型的处理器执行。识别出的程序指令的模块可以例如包括计算机指令的一个或多个物理或逻辑块,其可以例如被组织成对象、过程或函数。但是,识别出的模块的可执行文件不需要物理上位于一起,而是可以包括存储在不同位置的不同指令,当这些指令被逻辑上结合在一起时,构成模块并且实现对该模块指定的目的。
计算机程序产品可以通过经由加载诸如CD、DVD等的计算机可读存储介质而手动地直接加载在客户端、服务器和代理计算机中来部署,计算机程序产品可以通过将计算机程序产品发送到中央服务器或一组中央服务器来自动地或半自动地部署到计算机系统中。然后,计算机程序产品被下载到将执行计算机程序产品的客户端计算机中。可替代地,计算机程序产品通过电子邮件被直接发送到客户端系统。然后,计算机程序产品通过电子邮件上执行把计算机程序产品分离到目录中的程序的按钮或者被分离到目录或者被加载到目录中。另一个替代是将计算机程序产品直接发送到客户端计算机硬盘驱动器上的目录。当存在代理服务器时,进程将选择代理服务器代码、确定在哪些计算机上放置代理服务器的代码、传送代理服务器代码、然后在代理计算机上安装代理服务器代码。计算机程序产品将被传送到代理服务器并且然后它将被保存在代理服务器上。
通过让计算机程序产品与应用、操作系统和网络操作系统软件共存,并且然后在其中该计算机程序产品将工作的环境中的客户端和服务器上安装计算机程序产品,计算机程序产品可以被集成到客户端、服务器和网络环境中。
在一种实施例中,在包括其中计算机程序产品将被部署的网络操作系统的客户端和服务器上识别出软件,其中网络操作系统由计算机程序产品所需并且与计算机程序产品结合工作。这包括作为通过添加网络功能而增强基本的操作系统的软件的网络操作系统在内。
在一种实施例中,软件应用和版本号被识别出并且与已经被测试过与计算机程序产品一起工作的软件应用和版本号的列表进行比较。将利用正确的版本号升级那些丢失或与正确版本不匹配的软件应用。从计算机程序产品向软件应用传递参数的程序指令将被检查,以确保参数列表与由计算机程序产品所需的参数列表匹配。相反地,由软件应用向计算机程序产品传递的参数将被检查,以确保这些参数与计算机程序产品所需的参数匹配。包括网络操作系统的客户端和服务器操作系统将被识别出并且与已被测试过与计算机程序产品一起工作的操作系统、版本号和网络软件的列表进行比较。那些与测试过的操作系统和版本号的列表不匹配的操作系统、版本号和网络软件将在客户端和服务器上被升级到所需要的水平。
响应于确定计算机程序产品要被部署的软件是处于已被测试过与该计算机程序产品一起工作的正确的版本级别,通过在客户端和服务器上安装计算机程序产品,完成集成。
此外,所描述的实施例的特征、结构或特性可以以任何合适的方式进行组合。在以下描述中,提供了许多具体细节,诸如编程、软件模块、用户选择、网络事务、数据库查询、数据库结构、硬件模块、硬件电路、硬件芯片等的例子,以提供对实施例的透彻理解。但是,相关领域的技术人员将认识到,实施例可以在没有一个或多个具体细节的情况下、或者利用其它方法、组件、材料等来实践。在其它情况下,众所周知的结构、材料、或操作没有示出或详细描述,以避免模糊实施例的各方面。
在每个图中对元件的描述可以指代后续图中的元件。相同的标号在所有的图中指代相同的元件,包括相同元件的可替代的实施例。
一般地,本公开内容的实施例允许用户选择成组的数据集或单独的数据集来参与增量闪速拷贝关系。允许更多种粒度地选择哪些参与增量闪速拷贝关系,使得对目标空间的需求明显变少。
用户可以指定全部或部分限定的数据集名称来参与增量闪速拷贝。然后为分配给指定数据集的那些扩展区范围建立增量闪速拷贝关系。然后,在卷请求和删除/定义请求的结束期间监视数据集。随着数据集扩展,增量闪速拷贝关系信息被更新,并且附加的扩展区范围被添加到增量闪速拷贝关系中轨道的集合。如果数据集被删除,则增量闪速拷贝关系终止。如果数据集被重新定义,则之前的关系被撤销并且新的关系被创建。
使用了数据集增量闪速拷贝表(DIFT),其中包含有关数据集级别增量闪速拷贝的参与者的信息。用户传递有关源名称、目标名称和目标设备或存储组的信息。使用传入的全部或部分限定的数据集名称来选择源数据集,并且在表中填充这些数据集的物理位置。可以基于传入的目标名称和目标设备或存储组来分配目标数据集。一旦被分配,则那些扩展区范围也被保持在表中。
一旦数据集被识别,本发明就为该数据集建立增量闪速拷贝关系。在此之后,现有的更改记录(Change Recording)技术监视对源轨道的更改,并且在后续增量闪速拷贝建立时本发明将更改的轨道拷贝到目标数据集。根据本发明,直到被去除以前,都针对需要对增量闪速拷贝关系更改的更新而监视所有指定的数据集。这些更新包括数据集扩展、数据集被删除、数据集被移动或重新定义。
当监视到源数据集扩展时,会接收到关于卷调用结束并且针对目标数据集发出的相同的卷调用结束的通知,从而使得目标数据集也扩展相同数量的扩展区。从源和目标中新添加的扩展区范围然后可以被添加到DIFT。在增量闪速拷贝的下一次执行期间,新扩展区范围的第一次调用启动更改记录。
当被监视的源数据集被删除时,或者用户指示撤销现有的增量闪速拷贝关系,则整个条目从DIFT中删除条目,并且不再针对可能影响增量闪速拷贝关系的更新而监视源数据集。使用DIFT表来确定哪些扩展区需要撤销增量闪速拷贝关系。
当被监视的源数据集被移动时,会接收到关于移动的通知。首先,针对源扩展区范围发出增量闪速拷贝撤销,并且发生移动。一旦移动完成,就识别数据集被移动到的卷和扩展区范围并且更新DIFT以反映新的位置信息。在增量闪速拷贝的下一次执行期间,在新的源和目标之间建立新的关系,其中更改记录被打开。
图1是示出数据处理系统100的一种实施例的示意性框图。数据处理系统100可以包括数据拷贝管理器110、至少一个存储子系统120、以及至少一个用户设备130。用户设备130可以是能够经由存储子系统120储存和检索数据的任何计算机设备或计算机系统。此外,用户设备130也可以能够向数据拷贝管理器110发送指令以用于备份存储子系统120。在一种实施例中,用户设备130可以包括由Armonk,New York的国际商业机器(IBM)公司制造的并且运行来自IBM的操作系统的一个或多个大型计算机。
数据拷贝管理器110包括处理器112、存储器114、网络接口116和数据集复制模块118。在一种实施例中,数据拷贝管理器110被配置为识别源数据集、将源数据集与目标数据集关联、并且将存储在源数据集中的数据增量拷贝到目标数据集上。将在下面参考图2进一步详细讨论数据拷贝管理器110。
在一种实施例中,存储子系统120包括用于存储用户数据的多个存储卷125。如本文所使用的,存储卷是带有文件系统的具有可访问的存储区域的逻辑驱动器。在一些实施例中,存储卷125可以存储在单个物理驱动器上。在一些实施例中,存储卷125可以存储在物理驱动器内的单个分区上。在一些实施例中,多个存储卷125可以存储在单个物理驱动器上。在其它实施例中,单个存储卷125可以存储在多个物理驱动器上。
在一些实施例中,数据拷贝管理器110被配置为将数据从源存储卷125复制到目标源卷125中。源存储卷125是用户数据的“源”。它是用户数据原来被存储的(例如,通过应用程序)并且用户数据通常被检索的源存储卷125。另一方面,目标数据卷125是用户数据拷贝到的位置。在例如由于数据删除或损坏需要数据恢复时,用户数据可以从目标卷恢复到源卷。
在存储子系统120中的数据可以存储在扩展区(extents)上。如本文中所使用的,扩展区指存储设备上的存储的连续区域。存储在存储子系统120中的数据可以被组织成多个数据集。如本文所使用的,数据集指数据的集合(collection),诸如文件、轨道、扩展区等等的集合。例如,数据集可以包括数据库表或数据矩阵。数据集指集合(例如,组织),而不是存储在集合中的数据(例如,值)。在一种实施例中,存储卷125可以包括多个数据集。在另一种实施例中,单个数据集可以存储在多个存储卷125上。存储卷125可以包括多个扩展区,这些扩展区可以被组织成一个或多个数据集,每个数据集包括一个或多个扩展区。
在一些实施例中,存储子系统120可以包括一个或多个存储控制器和一个或多个存储设备,存储设备包括硬盘驱动器、半导体存储设备、光存储设备、微机械存储设备及其组合。存储设备提供其上存储数据的物理介质。在某些实施例中,每个存储设备包括一个或多个存储卷125。在某些实施例中,单个存储卷125可以存储在多个存储设备上。存储子系统120可以存储用于用户设备130的数据。
在一种实施例中,数据拷贝管理器110利用由IBM制造的软件将源数据集的数据复制到目标数据集。虽然数据拷贝管理器110被描述为利用软件,但是应当理解,也可以使用其它数据复制软件。在软件中,增量闪速拷贝关系可以在存储子系统120上的源卷125的第一数据集(例如,源数据集)与存储子系统120的目标存储卷125的第二数据集(例如,目标数据集)之间建立。增量闪速拷贝关系将源数据集映射到目标数据集,用于或增量备份源数据集。如本文所使用的,增量拷贝指数据的部分拷贝,包括拷贝自从进行之前的拷贝之后对源数据做出的更改。在一些实施例中,数据拷贝管理器110可以在定义增量闪速拷贝关系时执行目标数据集的全闪速拷贝(例如,数据集的时间点快照拷贝)。闪速拷贝关系可以响应于经由用户设备来自用户(例如,系统管理员)的指令来建立。
当前,增量闪速拷贝关系只对整个存储卷可用,而不是对特定存储卷中的单个数据集可用。本文所描述的实施例利用数据集增量闪速拷贝表(DIFT)识别与目标数据集具有增量闪速拷贝关系的源数据集,如将在下文中所描述的。使用DIFT来管理系统100中的数据集之间的增量闪速拷贝关系。
图2是示出复制装置200的一种实施例的示意性框图。复制装置200包括数据集复制模块118,诸如上面参考图1描述的数据集复制模块118。在一种实施例中,数据集复制模块118包括源数据模块202、目标数据模块204、映射模块206以及复制模块208。在还有的实施例中,数据集复制模块118可以包括以下中的一个或多个:用户接口模块210、存储组模块212、数据集更新模块214以及策略模块216。数据集复制模块118中的模块202-216可以例如经由计算机总线或其它通信装置连接性地彼此耦合。
在一种实施例中,源数据模块202被配置为识别源数据集。在一些实施例中,源数据模块202根据部分限定的数据集名称识别源数据集。如本文所使用的,部分限定的数据集名称指其中不是所有的限定词(qualifier)都被完整拼出的数据集名称。例如,部分限定的数据集名称可以包括通配符来表示限定词和/或限定词的一部分。在其它实施例中,源数据模块202根据完全限定的数据集名称识别源数据集。如本文所使用的,完全限定的数据集是其中所有的限定词都被完全拼出的数据集。源数据模块202可以利用接收到的数据集名称搜索和/或过滤数据集名称的目录。
在一种实施例中,源数据集包括存储卷上的一组存储位置。源数据集可以通过包括以下的一个或多个标识符来识别:逻辑名称、唯一标识符,等等。在一种实施例中,该组存储位置包括一个或多个扩展区。在另一种实施例中,该组存储位置包括一组非连续的扩展区,使得该组存储位置包括一系列的扩展区,其中在该范围内的一个或多个扩展区不属于该数据集。
在一些实施例中,源数据模块202可以响应于接收到部分限定的数据集名称而定义包括各自与部分限定的数据集名称匹配的数据集的新的源数据集。有益地,这可以允许用户为多个相关的数据集建立单个增量闪速拷贝关系。在其它实施例中,源数据模块202可以识别对应于各自与部分限定的数据集名称匹配的数据集的多个源数据集,其中映射模块206在复制关系表中将所述多个源数据集中的每一个与目标数据集相关。有益地,这可以允许用户经由单个指令利用多个增量闪速拷贝关系填充复制关系表。
在一些实施例中,源数据模块202通过确定对应于源数据集的名称/标识符的一组存储位置来识别源数据集。例如,源数据模块202可以使用源数据集的名称/标识符来自在查找表或类似数据结构中查找对应的一组存储位置。在某些实施例中,源数据模块202接收(例如,经由用户输入)源数据集的名称/标识符,并且继续识别对应的一组存储位置。在某些实施例中,源数据模块202可以针对源数据集的名称/标识符提示用户(例如,系统管理员)并且确定对应于响应的一组存储位置。
在某些实施例中,源数据模块202包括接收定义源数据集的用户输入的用户接口模块210,如将在下文中进行描述的。源数据模块202可以根据通过用户接口模块210接收到的数据集信息(诸如部分限定的数据集名称)来识别源数据集。
在一种实施例中,目标数据模块204被配置为响应于源数据集模块202识别源数据集而定义目标数据集。在某些实施例中,目标数据模块204在目标卷上分配用于被源数据集使用的一组存储位置(例如,扩展区),该一个或多个分配的存储位置定义目标数据集。在一些实施例中,目标数据模块204识别属于源数据集的之前分配的目标数据集(例如,如果被指名的源数据集被移动)。目标数据模块204可以向映射模块206指示目标数据集(包括名称和扩展区范围),其中映射模块206在复制关系表中将源数据集与目标数据集相关联。
在一种实施例中,该目标数据模块204接收数据集信息(诸如目标名称、目标设备和/或存储组),其中目标数据模块基于数据集信息定义目标数据集。例如,目标名称可以识别特定的目标卷和/或特定的目标数据集。目标数据模块202可以识别特定目标卷上和/或属于特定目标数据集的多个扩展区并且将这些扩展区分配给源数据集。数据集信息可以是从用户接口模块210接收到的用户输入,如将在下文进行描述的。
在另一种实施例中,目标数据模块204可以接收识别物理设备的目标设备名称,其中目标数据模块204在目标设备内分配目标数据集。在一种实施例中,目标设备上的所分配的目标数据集可以是位于目标设备上的存储卷125的一部分。在另一种实施例中,目标设备上的所分配的目标数据集可以跨位于目标设备上的多个存储卷125分布。在还有的另一种实施例中,目标数据模块可以从用户接收存储组,其中目标数据模块204从该存储组分配目标数据集。在一些实施例中,目标数据模块204包括根据接收到的数据集信息中识别存储组的存储组模块212,如将在下文进行描述的。
在一种实施例中,映射模块206被配置为存储将源数据集映射到目标数据集的复制关系表。在一种实施例中,复制关系表包括数据集增量闪速拷贝表(DIFT)。映射模块206在每个源数据集和目标数据集对之间建立复制关系。因此,复制关系表可以包括用于由源数据模块202识别的每个源数据集的条目。
在一些实施例中,目标数据集包括目标卷上的一组存储位置。在某些实施例中,目标卷是数据存储子系统120中的除源卷之外的单独的存储卷125。在一种实施例中,映射模块206通过将源数据集映射到目标数据集生成复制关系表。在另一种实施例中,映射模块206修改现有的复制关系表来将源数据集映射到目标数据集。
在某些实施例中,映射模块206可以从目标数据模块204接收识别目标数据集的信息。在某些实施例中,映射模块206将目标数据集与源数据集相关并且在复制关系表中存储该相关。在一些实施例中,映射模块206可以包括数据集更新模块214,用于检测对包括在复制关系表中的一个或多个源数据集的更改,如将在下文进行描述的。
在一种实施例中,复制模块208被配置为基于复制关系表执行存储在源数据集处的数据的增量拷贝。例如,复制模块208将存储在源数据集处的数据复制到在复制关系表中定义的目标数据集处的目标存储卷125。在一种实施例中,复制模块208周期性地将数据从源数据集拷贝到目标数据集,例如,定期地利用数据集增量闪速拷贝表(DIFT)执行增量闪速拷贝。在一些实施例中,复制模块208以由复制关系表限定的频率执行源数据集的增量拷贝。在某些实施例中,可以以不同的频率拷贝不同的源数据集。例如,第一源数据集可以包含关键的用户数据并且可以以比包含不太重要的用户数据的第二源数据集更高的频率进行备份。
在一种实施例中,复制模块208监视对在复制关系表中定义的每个源数据集内的值(数据)的更改。在预定的时间间隔(例如,在由复制关系表定义的频率),复制模块208将源数据集内那些被更改的值拷贝到在复制关系表中定义的目标数据集中的对应位置。在一些实施例中,复制模块208可以包括策略模块216,它定义了用于在复制关系表中包括的一个或多个源数据集的复制策略,如将在下文进行描述的。
在一种实施例中,用户接口模块210被配置为例如经由用户设备130从用户接收数据集信息。数据集信息可以包括源名称、目标名称、目标设备和存储组中的一个或多个。在某些实施例中,用户接口模块210向源数据模块202提供数据集信息,其中源数据模块202基于提供的数据集信息识别源数据集。在一些实施例中,用户接口模块210向映射模块206提供数据集信息,其中映射模块206基于数据集信息识别源数据集和目标卷和/或目标数据集之间的复制关系。
在一些实施例中,用户接口模块210接收部分限定的数据集名称作为数据集信息,其中源身份模块202基于部分限定的数据集名称识别源数据集。部分限定的数据集名称可以是具有通配符的数据集名称,其中源数据集包括源卷上与部分限定的数据集名称匹配的所有数据集。在其它实施例中,数据集信息可以只包括完全限定的数据集名称,其中源身份模块202基于每个完全限定的数据集名称识别源数据集。在某些实施例中,用户接口模块202向目标数据模块204提供目标名称、目标设备和/或存储组,其中目标数据模块204基于提供的信息识别和/或分配目标数据集。
在一些实施例中,用户接口模块210包括允许用户(例如,数据处理系统100的管理员)提供用于经由增量闪速拷贝复制源数据集中的数据的指令、命令、值和/或定义的人机接口。可以使用用户接口模块210来控制数据拷贝管理器110和/或数据集复制模块118。例如,用户接口模块210可以从用户设备130接收用于经由数据集拷贝管理器110和/或数据集复制模块118进行增量数据集拷贝的、以指令、命令、值、和/或定义形式的用户输入。用户输入可以是以系统命令、键盘输入、鼠标输入、触摸屏输入等的形式。在一种实施例中,用户接口模块210提供用于在用户设备130处显示的图形用户界面(GUI)。
在一种实施例中,存储组模块212被配置为识别与源数据集和/或目标数据集相关联的存储组。存储组模块212可以从用户接口模块210接收数据集信息,包括存储组在内。不同类别的用户数据可以存储在不同的存储组中,并且存储组模块212可以基于在源数据集中包含的用户数据的类别将源数据集与特定的存储组相关联。相应地,存储组模块212可以识别适当的存储组,其中目标数据模块204从存储子系统120中适当的存储设备中分配属于所识别的存储组的目标数据集。
在一种实施例中,数据集更新模块214被配置为监视对源数据集的更改。响应于检测到对源数据集的更改,数据集更新模块214可以触发映射模块206来更新复制关系表(例如,DIFT)。在一种实施例中,数据集更新模块214也可以响应于对源数据集的更改而触发目标数据模块204来更新目标数据集。
如本文所使用的,对源数据集的更改指对源数据集的定义的更改,诸如对包含源数据集的存储卷125的更改和/或对与源数据集对应的一组存储位置的更改。源数据集的定义可以包括源数据集的名称、属于源数据集的数据轨道、属于源数据集的扩展区、存储卷上对应于数据集的物理位置的范围,等等。对源数据集的更改的例子包括,但不限于,向源数据集添加存储位置、删除属于源数据集的存储位置、以及用源卷上的其它存储位置替换源数据集的存储位置。
在某些实施例中,数据集更新模块214监视对源数据集的扩展。如本文所使用的,对源数据集的扩展指对源数据集的存储位置(例如,扩展区)的添加。在一种实施例中,数据集更新模块214响应于对源数据集的扩展而扩展目标数据集。在另一种实施例中,数据集更新模块214可以响应于对源数据集的扩展而向目标数据模块204发出信号来扩展目标数据集。响应于对源数据集和目标数据集的扩展,映射模块206可以更新复制关系表,以便将扩展的源数据集映射到扩展的目标数据集。
例如,如果数据集更新模块214识别对源数据集添加三个扩展区,则目标数据模块204可以在目标卷上给目标数据集分配三个附加的扩展区,并且映射模块206可以更新复制关系表,以包括更新的源数据集和更新的目标数据集两者。目标数据模块204可以将目标卷上可用的位置分配为附加的扩展区,即使结果目标数据集包括不连续的扩展区。
在一些实施例中,数据集更新模块214监视源数据集的存储位置(例如,扩展区)的删除,其中目标数据模块204从目标数据集中去除对应的存储位置(例如,扩展区),并且映射模块206更新复制关系表以删除对应于撤销的源数据集的条目。例如,如果数据集更新模块214识别从源数据集中删除扩展区,则目标数据模块204可以从目标数据集中解除分配(例如,删除)对应数量的扩展区,并且映射模块206可以更新复制关系表以反映更新的源数据集和更新的目标数据集。解除分配的目标扩展区可以重新分配给对源数据集的其它更改。在一种实施例中,可以删除源数据集的所有扩展区,其中映射模块206从复制关系表中删除对应于现在空的源数据集的条目。
在某些实施例中,数据集更新模块214监视源数据集的撤销,其中映射模块206更新复制关系表以删除对应于撤销的源数据集的条目。在一些实施例中,数据集更新模块214监视源数据集的移动。例如,数据集更新模块214可以检测涉及复制关系表中的源数据集的撤销命令,其中映射模块206删除对应于撤销的源数据集的条目。
在一种实施例中,数据集更新模块214可以检测源数据集的移动。作为响应,数据集更新模块214可以撤销(删除)用于对应于旧的源数据集的源扩展区的增量闪速拷贝关系、识别对应于移动后的源数据集的新的源扩展区、并且触发新的源扩展区和目标数据集之间的增量闪速拷贝关系,其中映射模块206更新复制关系表以反映新的增量闪速拷贝关系。在一种实施例中,目标数据模块204可以将新的目标数据集分配给移动后的源数据集。在另一种实施例中,目标数据模块204可以将同一目标数据集重新分配给移动后的源数据集。
在某些实施例中,数据集更新模块214监视与部分限定的数据集名称匹配的新的数据集,并且更新源数据集以包括新的数据集,其中映射模块响应于数据集更新模块更新源数据集而更新复制关系表。在一些实施例中,在复制模块208执行存储在源数据集处的数据的增量拷贝之前,数据集更新模块214检查对在复制关系表中的每个源数据集的定义的更改。在还有的实施例中,数据集更新模块214可以在由复制模块208进行的相继增量拷贝之间周期性地检查对源数据集的更改。例如,数据集更新模块214可以识别源数据集被增量拷贝的频率,并且以相同的频率检查对源数据集的更改。在其它实施例中,数据集更新模块214连续地监视对源数据集的定义的更改,并且响应于检测到更改而动态地更新复制关系表。
在一种实施例中,策略模块216被配置为定义用于源数据集的复制策略,其中复制模块208根据所定义的复制策略拷贝存储在源数据集中的数据。在一些实施例中,不同的源数据集以如由复制策略所定义的不同的时间间隔被复制。例如,其数据被频繁修改的源数据集可以以与其数据被不频繁修改的源数据集不同的时间间隔进行复制。在某些实施例中,复制策略指示存储在源数据集中的数据被复制时的一天中的时间。在一种实施例中,在复制关系表中的条目包括对用于源数据集的复制策略的引用。
图3A示出了数据集增量闪速拷贝表(DIFT)300的一种实施例的示意性框图。DIFT300是将一个或多个源数据集映射到对应数量的目标数据集的复制关系表。DIFT 300可以被组织为数据结构、数据库,等等。DIFT 300可以被存储在数据拷贝管理器110、存储子系统120、或其组合中。
数据集增量闪速拷贝表(DIFT)300包括多个增量复制关系302,诸如多个增量闪速拷贝关系。在DIFT 300中的每个增量复制关系302描述源数据集和目标数据集之间的增量闪速拷贝关系。在所绘出的实施例中,每个增量复制关系302包括源数据集标识符304、源数据集位置306、目标数据集标识符308和目标数据集位置310。
源数据集标识符304识别源卷上的源数据集。在一种实施例中,源数据集是被指名的数据集,其中源数据集标识符304包括源数据集的逻辑名称。在还有的实施例中,识别的数据集可以包括部分限定的数据集名称。在某些实施例中,源数据集标识符304是对DIFT数据库和/或数据结构的索引。类似地,目标数据集标识符308可以唯一地识别目标卷上的目标数据集,并且在某些实施例中,可以是目标数据集的逻辑名称。在一些实施例中,增量复制关系302也可以包括与目标数据集相关联的目标设备或目标存储组的指示符和/或用于增量闪速拷贝关系的复制策略。
源数据集位置306指示源数据集在存储子系统120中的逻辑和/或物理位置。例如,源数据集位置306可以包括诸如卷标识符和源数据集所位于的扩展区的范围。类似地,目标位置310指示源数据集在存储子系统120中的逻辑和/或物理位置。在下面参考图3B更详细描述源数据集位置306。在下面参考图3C更详细描述目标位置310。
图3B示出了用于源数据集位置306的数据结构。如以上参考图3A所描述的,源数据集位置306描述源数据集在存储子系统120中的位置。在一些实施例中,源数据集位置306包括一个或多个源扩展区范围312和与每个源扩展区范围312相关联的存储卷125的源卷标识符314。在某些实施例中,源数据集可以跨多个存储卷125分布,其中源数据集位置306包括用于与源数据集相关联的多个存储卷125中的每一个的至少一对源扩展区范围312和源卷标识符314。
在一种实施例中,源扩展区范围312描述存储卷125上属于源数据集的一组连续的扩展区。在源数据集包括不连续的扩展区的情况下,源数据集位置306将包括多个源扩展区范围312,每个源扩展区范围312识别一组连续的扩展区。在另一种实施例中,源扩展区范围312对于源卷标识符314识别属于数据集的每个扩展区。
对源数据集的更改(例如,更改定义源数据集的位置)反映在源数据集位置306中。在一种实施例中,响应于一个或多个扩展区被添加到源数据集,源数据集位置306被修改以包括附加的源扩展区范围312(以及对应的源卷标识符314)。在另一种实施例中,现有的源扩展区范围312被调整以包括被添加到源数据集的一个或多个扩展区。同样,响应于一个或多个扩展区从源数据集中去除,源数据集位置306可以被修改以去除源扩展区范围312(及其对应的源卷标识符314),和/或源扩展区范围312可以被更新。
图3C示出了用于目标数据集位置310的数据结构。如以上参考图3A所描述的,目标数据集位置310描述目标数据集在存储子系统120中的位置。在一些实施例中,目标数据集位置310包括一个或多个目标扩展区范围316和与每个目标扩展区范围316相关联的存储卷125的目标卷标识符318。在某些实施例中,目标数据集可以分布在多个存储卷125上,其中目标数据集位置310包括用于与目标数据集相关联的多个存储卷125中的每一个的至少一对目标扩展区范围316和目标卷标识符318。
在一种实施例中,目标扩展区范围316描述存储卷125上属于目标数据集的一组连续的扩展区。在目标数据集包括不连续的扩展区的情况下,目标数据集位置310将包括多个目标扩展区范围316,每个目标扩展区范围316识别一组连续的扩展区。在另一种实施例中,目标扩展区范围316对于目标卷标识符318识别属于数据集的每个扩展区。
对目标数据集(定义目标数据集的位置)的更改反映在目标数据集位置310中。响应于源数据集中的变化,会发生对目标数据集的更改。在一种实施例中,响应于一个或多个扩展区被添加到目标数据集,目标数据集位置310被修改,以包括附加的目标扩展区范围316(和对应的目标卷标识符318)。在另一种实施例中,现有的目标扩展区范围316被调整,以包括被添加到目标数据集的一个或多个扩展区。同样,响应于一个或多个扩展区从目标数据集中去除,目标数据集位置310可以被修改以去除目标扩展区范围316(及其对应的目标卷标识符318),和/或目标扩展区范围316可以被更新。
图4是示出方法400的一种实施例的示意性流程图。方法400可以创建数据集增量闪速拷贝表(DIFT)300。方法400可以利用数据集复制模块118来执行。可替代地,方法400可以通过计算机程序产品来执行。计算机程序产品可以包括具有程序指令体现在其中的计算机可读存储介质。计算机可读存储介质可以是存储器114、存储子系统120或其组合。程序指令可以被处理器112读取/执行来执行方法400。
方法400开始,并且在一种实施例中,源数据模块202接收402识别源卷上的源数据集的部分限定的数据集名称。源数据模块202基于部分限定的数据集名称确定404源数据集。例如,部分限定的数据集名称可以包括具有通配符的数据集名称,其中源数据模块202确定404包括源卷上与部分限定的数据集名称匹配的所有数据集的源数据集。
映射模块206生成406将源数据集映射到目标卷上的目标数据集的复制关系表。在一种实施例中,复制关系表包括数据集增量闪速拷贝表(DIFT)。在另一种实施例中,生成406复制关系表可以包括目标数据模块204在目标卷上识别和/或分配对应于源数据集的目标数据集。
复制模块208基于所生成的复制关系表执行408存储在源数据集中的数据的增量拷贝。在一种实施例中,复制模块208执行408存储在源数据集中的数据到目标数据集的增量闪速拷贝。方法400结束。
图5示出了增量数据集复制方法500的一种实施例的示意性流程图。方法500可以创建上述数据集增量闪速拷贝表(DIFT)300并且基于DIFT 300执行源数据集的增量闪速拷贝复制。方法500可以利用数据集复制模块118来执行。可替代地,方法500可以通过计算机程序产品来执行。计算机程序产品可以包括具有程序指令体现在其中的计算机可读存储介质。计算机可读存储介质可以是存储器114、存储子系统120、或其组合。程序指令可以被处理器112读取/执行来执行方法500。
方法500开始并且用户接口模块210从用户(例如,数据处理系统100的管理员)接收502数据集信息。数据集信息可以包括源数据集名称(诸如部分限定的数据集名称)、源卷、目标数据集名称、目标卷名称、目标设备和/或存储组中的一个或多个。源数据模块202基于接收到的数据集信息识别504源数据集。在一种实施例中,识别504源数据集包括识别源卷上与部分限定的数据集名称匹配的所有数据集。在另一种实施例中,识别504源数据集包括确定与接收到的源数据集名称相关联的一个或多个扩展区。
目标数据模块204识别506对应于源数据集的目标数据集。在一种实施例中,识别506目标数据集包括给由源数据模块202识别的504源数据集分配目标卷和/或目标设备上的一个或多个扩展区。映射模块206建立508在源数据集和目标数据集之间的增量闪速拷贝关系。在一种实施例中,建立508增量闪速拷贝关系包括填充数据集增量闪速拷贝表(DIFT),诸如DIFT 300。复制模块208周期性地执行510存储在源数据集中的数据的增量闪速拷贝。在一种实施例中,执行510增量拷贝包括引用DIFT 300中的信息来将源数据集拷贝到目标数据集。在某些实施例中,复制模块208以在DIFT 300中定义的频率周期性地执行510增量拷贝。
数据集更新模块214确定512对源数据集是否做出更改。在一种实施例中,数据集更新模块214针对对源数据集的定义的更改而监视512源数据集的定义(例如,包括源数据集的扩展区)。对源数据集的更改的例子包括:添加扩展区到源数据集、从源数据集中去除扩展区、以及移动源数据集。如果数据集更新模块214检测到对源数据集的更改,则映射模块206更新514增量闪速拷贝关系。否则,如果数据集更新模块214没有检测到对源数据集的更改,则复制模块208继续周期性地执行510源数据集的增量闪速拷贝。
响应于数据集更新模块214检测到512对源数据集的更改,映射模块206基于检测到的更改来更新514复制关系表。在一种实施例中,基于检测到的更改来更新514复制关系表可以包括,例如,响应于源数据集的扩展区的添加或减去,向目标数据集分配目标卷/设备上的附加扩展区和/或从目标数据集去除扩展区。在另一种实施例中,更新514复制关系表可以包括,响应于更改包括从源数据集中去除所有扩展区,撤销现有的复制关系。在还有的另一种实施例中,基于检测到的更改而更新514复制关系表可以包括撤销现有的复制关系、重新识别源数据集和目标数据集、以及在源数据集和目标数据集之间建立新的复制关系。在一种实施例中,方法500继续,直到没有具有与目标数据集的增量闪速拷贝关系的源数据集为止(例如,直到所有增量闪速拷贝关系都被撤销为止)。
图6示出了增量数据集复制方法600的一种实施例的示意性流程图。方法600可以创建上述数据集增量闪速拷贝表(DIFT)300,并且基于DIFT 300执行源数据集的增量闪速拷贝复制。方法600可以利用数据集复制模块118来执行。可替代地,方法600可以通过计算机程序产品来执行。计算机程序产品可以包括具有程序指令体现在其中的计算机可读存储介质。计算机可读存储介质可以是存储器114、存储子系统120、或其组合。程序指令可以被处理器112读取/执行来执行方法600。
方法600开始,并且在一种实施例中,源数据模块202定义602源数据集。源数据模块202可以接收部分限定的数据集名称,并且定义602源数据集以包括源卷上与部分限定的数据集名称匹配的所有数据集。目标数据模块204在目标卷上分配604对应于源数据集的目标数据集。在一些实施例中,目标数据模块204基于接收到的数据集信息(诸如目标名称和/或目标设备)分配604目标数据集。
映射模块206基于在所分配的目标数据集中的定义的源数据集更新复制关系表。在一些实施例中,复制关系表是数据集增量闪速拷贝表,诸如以上参考图3描述的DIFT300。更新606复制关系表可以包括添加将定义的源数据集与分配的目标数据集相关的新的条目。复制模块208周期性地执行608存储在源数据集中的数据的增量拷贝(例如,增量闪速拷贝)。在一种实施例中,执行608增量拷贝包括引用DIFT 300中的信息,以将源数据集拷贝到目标数据集。在某些实施例中,复制模块208以在DIFT 300中定义的频率周期性地执行608增量拷贝。
数据集更新模块214确定610是否发生源数据集的移动。例如,数据集是否可以被移动到源卷上的新的位置(或可替代地,到不同的存储卷125)。作为另一个例子,数据集的逻辑名称可以分配给不同的一组扩展区,从而移动源数据集的位置。响应于数据集更新模块214检测到源数据集的移动,数据集更新模块214撤销612源数据集和目标数据集之间的复制关系(从而结束原来定义的源数据集的扩展区的增量拷贝),源数据模块202重新定义602源数据集,目标数据模块204向源数据集重新分配目标数据集,并且映射模块206更新606复制关系表。
如果数据集更新模块214没有检测到610源数据集的移动,则数据集更新模块214确定614是否对源数据集发生添加。例如,数据集更新模块214可以检测对源数据集的修改,包括源数据集的一个或多个扩展区的添加。响应于数据集更新模块214检测到对源数据集的添加,目标数据模块204扩充616目标数据集(例如,向目标数据集分配附加的扩展区),并且映射模块206更新606复制关系表。
如果数据集更新模块214没有检测到对源数据集的添加,则数据集更新模块214确定618源数据集是否发生删除。例如,数据集更新模块214可以检测对源数据集的修改,包括从源数据集中删除一个或多个扩展区。响应于数据集更新模块214检测到对源数据集的删除,目标数据模块204减少620目标数据集(例如,从目标数据集中去除一个或多个扩展区),并且映射模块206更新606复制关系表。
实施例可以以其它特定的形式来实践。所描述的实施例在所有方面都应当被认为仅仅是说明性的而非限制性的。因此,本发明的范围是由所附权利要求而不是由前面的描述指定的。属于权利要求等效物的含义和范围内的所有变化都要被包括在权利要求的范围之内。

Claims (17)

1.一种用于数据复制的装置,包括:
源数据模块,其根据部分限定的数据集名称识别第一源卷上的第一源数据集,第一源数据集包括第一源卷上的第一组扩展区范围,第一源卷包括多个数据集,所述多个数据集包括第一源数据集和不同于第一源数据集的附加数据集;
目标数据模块,其响应于源数据模块识别所述第一源数据集,在目标卷上分配第一目标数据集,第一目标数据集包括在目标卷上的第二组扩展区范围;
映射模块,其存储复制关系表,该复制关系表包括多个增量闪速拷贝关系和对应于每个增量闪速拷贝关系的复制策略的指示,复制关系表中的每个增量闪速拷贝关系包括源数据集的标识符,与所标识的的源数据集相对应的扩展区范围集,与所标识的源数据集相对应的目标数据集的标识符,以及属于所标识的目标数据集的扩展区范围集,其中映射模块将第一源数据集映射到第一目标数据集,并为第一源数据集指示复制策略以形成第一增量闪速拷贝关系;
复制模块,其基于存储在增量闪速拷贝关系中的复制策略,对存储在复制关系表中的源数据集处的数据周期性地执行增量拷贝,其中第一源卷上的不同源数据集基于相应的复制政策,在不同间隔进行拷贝;及
数据集更新模块,其检测卷调用结束请求,响应于卷调用结束请求,监视在第二源卷上向第一源数据集添加第三组的一个或多个扩展区范围,第二源卷不同于第一源卷,还监视从第一源数据集中移除一个或多个扩展区范围;
其中目标数据模块响应于检测到第三组扩展区范围添加到第一源数据集,在目标卷上分配第四组一个或多个附加扩展区范围,还响应于从第一源数据集中移除一个或多个扩展区范围,解除分配目标卷的一个或多个扩展区范围;
其中映射模块响应于检测到第三组扩展区范围添加到第一源数据集,更新第一个增量闪速拷贝关系,以在第二源卷上包含第三组扩展区范围,并在目标卷上包含第四组附加扩展区范围,以及响应于从第一源数据集中移除一个或多个扩展区范围,更新第一增量闪速拷贝关系以从第一增量闪速拷贝关系中移除对应于解除分配的一个或多个扩展区范围的目标卷上的一个或多个扩展区范围;
其中源数据模块、目标数据模块、映射模块、数据集更新模块和复制模块的至少一部分包括硬件和可执行代码中的一个或多个,该可执行代码存储在一个或多个计算机可读存储介质上。
2.如权利要求1所述的装置,其中所述数据集更新模块监视对源数据集的扩展,其中所述映射模块响应于对源数据集的扩展,更新所述复制关系表。
3.如权利要求2所述的装置,其中所述数据集更新模块响应于对源数据集的扩展而扩展目标数据集,所述复制关系表将扩展的源数据集映射到扩展的目标数据集。
4.如权利要求2所述的装置,其中所述源数据集更新模块在拷贝源数据集的相继迭代之间监视对源数据集的扩展。
5.如权利要求1所述的装置,其中所述数据集更新模块监视对源数据集的更改,其中所述映射模块响应于对源数据集的更改而更新所述复制关系表,对源数据集的更改选自包括以下的组:向源数据集添加存储位置、删除属于源数据集的存储位置、以及利用源卷上的其它存储位置替换源数据集的存储位置。
6.如权利要求1所述的装置,其中数据集更新模块监视源数据集的撤销,其中所述映射模块更新所述复制关系表,以删除对应于撤销的源数据集的条目。
7.如权利要求1所述的装置,其中所述数据集更新模块监视与部分限定的数据集名称匹配的新的数据集并且更新源数据集以包括该新的数据集,其中所述映射模块响应于数据集更新模块更新源数据集而更新所述复制关系表。
8.如权利要求1所述的装置,还包括从用户接收数据集信息的用户接口模块,数据集信息选自包括以下的组:目标名称、目标设备和存储组,其中所述目标数据模块基于数据集信息定义目标数据集。
9.如权利要求1所述的装置,其中所述部分限定的数据集名称包括具有通配符的数据集名称,其中所述源数据集包括源卷上与部分限定的数据集名称匹配的所有数据集。
10.一种用于数据复制的方法,包括:
接收部分限定的数据集名称;
基于所述部分限定的数据集名称确定第一源卷上的第一源数据集,第一源卷包括多个数据集,第一源数据集包括第一源卷上的第一组扩展区范围,所述多个数据集包括第一源数据集和不同于第一源数据集的附加数据集;
响应于识别所述第一源数据集,在目标卷上分配第一目标数据集,第一目标数据集包括在目标卷上的第二组扩展区范围;
将对应于第一源数据集和第一目标数据集的第一增量闪速拷贝关系添加到复制关系表,该复制关系表包括多个增量闪速拷贝关系和对应于每个增量闪速拷贝关系的复制策略的指示,
其中,添加第一增量闪速拷贝关系包括将第一源数据集映射到第一目标数据集并为第一源数据集指示复制策略,复制关系表中的每个增量闪速拷贝关系包括源数据集的标识符,与所标识的的源数据集相对应的扩展区范围集,与所标识的源数据集相对应的目标数据集的标识符,以及属于所标识的目标数据集的扩展区范围集;
基于存储在增量刷新复制关系中的复制策略,对存储在复制关系表中的源数据集中的数据周期性地执行增量拷贝,其中第一源卷上的不同源数据集基于相应的复制政策,在不同间隔进行拷贝;
检测卷调用结束请求;
响应于卷调用结束请求,监视在第二源卷上向第一源数据集添加第三组的一个或多个扩展区范围,第二源卷不同于第一源卷;
响应于检测到第三组扩展区范围添加到第一源数据集,在目标卷上分配第四组一个或多个附加扩展区范围;
更新第一个增量闪速拷贝关系,以在第二源卷上包含第三组扩展区范围,并在目标卷上包含第四组附加扩展区范围;
响应卷调用结束请求,监视从第一源数据集中移除一个或多个扩展区范围;
响应于从第一源数据集中移除一个或多个扩展区范围,解除分配目标卷的一个或多个扩展区范围;及
更新第一增量闪速拷贝关系以从第一增量闪速拷贝关系中移除对应于解除分配的一个或多个扩展区范围的目标卷上的一个或多个扩展区范围。
11.如权利要求10所述的方法,还包括:
监视对所述源数据集的更改;及
响应于对指示器的更改而更新所述复制关系表。
12.如权利要求11所述的方法,其中执行存储在所述源数据集中的数据的增量拷贝包括周期性地拷贝存储在所述源数据集中的更改后的数据,其中更新所述复制关系表在增量地拷贝所述源数据集的相继迭代之间发生。
13.如权利要求10所述的方法,还包括更新所述复制关系表,更新所述复制关系表包括响应于所述源数据集的扩展给所述目标数据集分配附加的存储空间。
14.如权利要求10所述的方法,还包括:
响应于识别所述源数据集,识别所述源卷上属于所述源数据集的地址位置;及
响应于识别所述地址位置,在所述目标卷上为目标数据集分配地址位置,其中所述复制关系表将用于所述源数据集的地址位置与所述目标卷上的地址位置相关联。
15.如权利要求10所述的方法,还包括响应于从增量拷贝中撤销所述源数据集,删除与所述源数据集相关联的复制关系表中的条目。
16.如权利要求10所述的方法,其中执行来自源数据集的数目到目标数据集的增量拷贝包括创建源所述数据集的增量闪速拷贝。
17.如权利要求10所述的方法,其中对所述源数据集的定义的更改包括删除所述源数据集,源更新模块删除所述源数据集和所述目标数据集之间的复制关系。
CN201610121549.5A 2015-03-03 2016-03-03 用于数据复制的方法和装置 Active CN105938448B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/637,151 US10108352B2 (en) 2015-03-03 2015-03-03 Incremental replication of a source data set
US14/637,151 2015-03-03

Publications (2)

Publication Number Publication Date
CN105938448A CN105938448A (zh) 2016-09-14
CN105938448B true CN105938448B (zh) 2019-01-11

Family

ID=56738943

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610121549.5A Active CN105938448B (zh) 2015-03-03 2016-03-03 用于数据复制的方法和装置

Country Status (3)

Country Link
US (1) US10108352B2 (zh)
CN (1) CN105938448B (zh)
DE (1) DE102016103769A1 (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10007602B2 (en) 2014-05-06 2018-06-26 International Business Machines Corporation Flash copy relationship management
US10168925B2 (en) * 2016-08-18 2019-01-01 International Business Machines Corporation Generating point-in-time copy commands for extents of data
US10235099B2 (en) * 2016-08-18 2019-03-19 International Business Machines Corporation Managing point-in-time copies for extents of data
CN106407040B (zh) * 2016-09-05 2019-05-24 华为技术有限公司 一种远程数据复制方法及系统
CN106484785B (zh) * 2016-09-19 2019-07-26 浪潮通用软件有限公司 一种高效的自动匹配数据字段映射的方法
US10346062B2 (en) * 2016-11-16 2019-07-09 International Business Machines Corporation Point-in-time backups via a storage controller to an object storage cloud
US11385792B2 (en) * 2018-04-27 2022-07-12 Pure Storage, Inc. High availability controller pair transitioning
CN110737447B (zh) * 2018-07-18 2023-11-14 阿里巴巴集团控股有限公司 应用更新方法和装置
US10740203B2 (en) 2018-09-06 2020-08-11 International Business Machines Corporation Aggregation of updated tracks to be copied to a backup volume for physically contiguous storage on a RAID stride
US11182081B2 (en) 2018-09-06 2021-11-23 International Business Machines Corporation Performing a recovery copy command to restore a safeguarded copy backup to a production volume
US10783047B2 (en) 2018-09-06 2020-09-22 International Business Machines Corporation Forming a consistency group comprised of volumes maintained by one or more storage controllers
US10789132B2 (en) 2018-09-06 2020-09-29 International Business Machines Corporation Performing a recovery copy command to create a recovery volume for a consistency group
US11604590B2 (en) 2018-09-06 2023-03-14 International Business Machines Corporation Metadata track entry sorting in a data storage system
US11175999B2 (en) 2018-09-06 2021-11-16 International Business Machines Corporation Management of backup volume extents via a tiered storage mechanism
US11221955B2 (en) 2018-09-06 2022-01-11 International Business Machines Corporation Metadata track selection switching in a data storage system
US11182094B2 (en) 2018-09-06 2021-11-23 International Business Machines Corporation Performing a recovery copy command using a recovery copy data structure for a backup volume lookup
US10754730B2 (en) 2018-09-06 2020-08-25 International Business Machines Corporation Copying point-in-time data in a storage to a point-in-time copy data location in advance of destaging data to the storage
US10756959B1 (en) 2019-04-11 2020-08-25 Elasticsearch B.V. Integration of application performance monitoring with logs and infrastructure
US10788954B1 (en) * 2019-04-11 2020-09-29 Elasticsearch B.V. Systems and methods for integration of application performance monitoring with logs and infrastructure using a common schema
US11593498B2 (en) * 2020-06-09 2023-02-28 International Business Machines Corporation Distribution of user specific data elements in a replication environment
US11656947B2 (en) 2020-06-19 2023-05-23 International Business Machines Corporation Data set recovery from a point-in-time logical corruption protection copy
CN112817970B (zh) * 2021-01-14 2023-03-31 内蒙古蒙商消费金融股份有限公司 一种数据表的生成方法和装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030158869A1 (en) * 2002-02-20 2003-08-21 International Business Machines Corporation Incremental update control for remote copy
US20030177149A1 (en) * 2002-03-18 2003-09-18 Coombs David Lawrence System and method for data backup
US20040260895A1 (en) * 2003-06-18 2004-12-23 Werner Sam Clark Method, system, and program for reverse restore of an incremental virtual copy
CN1702627A (zh) * 2004-05-27 2005-11-30 国际商业机器公司 执行拷贝操作的方法和系统
CN1788256A (zh) * 2003-06-18 2006-06-14 国际商业机器公司 用于增量虚拟复制的方法、系统和程序
US8200637B1 (en) * 2008-09-30 2012-06-12 Symantec Operating Corporation Block-based sparse backup images of file system volumes

Family Cites Families (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3862615A (en) 1973-11-20 1975-01-28 Liou Shu Lien Apparatus for controlling progress of a task
US5235695A (en) * 1989-06-28 1993-08-10 International Business Machines Corporation Apparatus for efficient utilization of removable data recording media
US5544347A (en) * 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
US6631442B1 (en) * 1999-06-29 2003-10-07 Emc Corp Methods and apparatus for interfacing to a data storage system
WO2001040925A1 (fr) * 1999-12-02 2001-06-07 Fujitsu Limited Batterie de disques et procede d'extension de sa capacite
US8312490B2 (en) * 2000-03-23 2012-11-13 The Directv Group, Inc. DVR with enhanced functionality
US6799258B1 (en) 2001-01-10 2004-09-28 Datacore Software Corporation Methods and apparatus for point-in-time volumes
JP2003280964A (ja) 2002-03-22 2003-10-03 Hitachi Ltd スナップショット取得方法、ストレージシステム及びディスク装置
US7024530B2 (en) 2003-03-14 2006-04-04 International Business Machines Corporation Method, system, and program for establishing and using a point-in-time copy relationship
US7185144B2 (en) * 2003-11-24 2007-02-27 Network Appliance, Inc. Semi-static distribution technique
US20040243945A1 (en) 2003-05-30 2004-12-02 International Business Machines Corporation Representing a storage subsystem logical configuration in a graphical user interface using a tree metaphor
US7523408B2 (en) 2003-05-30 2009-04-21 International Business Machines Corporation Representing status information in a storage subsystem copy services product
US7124128B2 (en) 2003-06-17 2006-10-17 International Business Machines Corporation Method, system, and program for managing requests to tracks subject to a relationship
US7047390B2 (en) * 2003-06-17 2006-05-16 International Business Machines Corporation Method, system, and program for managing a relationship between one target volume and one source volume
US7124323B2 (en) * 2003-06-18 2006-10-17 International Business Machines Corporation Method, system, and program for recovery of a reverse restore operation
US7467266B2 (en) 2003-08-05 2008-12-16 International Business Machines Corporation Snapshot management method apparatus and system
US7702670B1 (en) 2003-08-29 2010-04-20 Emc Corporation System and method for tracking changes associated with incremental copying
US7437676B1 (en) 2003-09-30 2008-10-14 Emc Corporation Methods and apparatus for managing network resources via use of a relationship view
US7240131B1 (en) 2004-03-08 2007-07-03 Emc Corporation Method and apparatus for improving the process of making independent data copies in a data processing system
US7395402B2 (en) * 2004-04-15 2008-07-01 Broadcom Corporation Method and system of data storage capacity allocation and management using one or more data storage drives
JP4382602B2 (ja) 2004-04-23 2009-12-16 株式会社日立製作所 リモートコピーシステム
US7409510B2 (en) 2004-05-27 2008-08-05 International Business Machines Corporation Instant virtual copy to a primary mirroring portion of data
JP4548037B2 (ja) 2004-08-09 2010-09-22 株式会社日立製作所 キャッシュメモリの管理方法、ストレージ装置または計算機システム
US20060174003A1 (en) * 2005-01-31 2006-08-03 Wilson Christopher S Access control using file allocation table (FAT) file systems
US20070180204A1 (en) * 2005-01-31 2007-08-02 Wilson Christopher S Method and system of erasing data pool residing over multiple data storage drives
JP4744171B2 (ja) 2005-03-18 2011-08-10 株式会社日立製作所 計算機システム及び記憶制御方法
JP4987307B2 (ja) 2005-03-25 2012-07-25 株式会社日立製作所 ストレージシステム
US7716185B2 (en) 2005-06-29 2010-05-11 Emc Corporation Creation of a single client snapshot using a client utility
US20070143851A1 (en) * 2005-12-21 2007-06-21 Fiberlink Method and systems for controlling access to computing resources based on known security vulnerabilities
JP4827564B2 (ja) 2006-03-15 2011-11-30 株式会社日立製作所 コピーペアのペア状態の表示方法
US7702866B2 (en) * 2006-03-31 2010-04-20 International Business Machines Corporation Use of volume containers in replication and provisioning management
JP4849960B2 (ja) * 2006-05-31 2012-01-11 株式会社日立製作所 レプリケーションボリュームの容量拡張方法
US7571293B1 (en) 2006-06-22 2009-08-04 Emc Corporation Emulation of point-in-time data copying operations
US8140785B2 (en) 2006-06-29 2012-03-20 International Business Machines Corporation Updating metadata in a logical volume associated with a storage controller for data units indicated in a data structure
US8161253B2 (en) 2007-01-30 2012-04-17 International Business Machine Corporation Maintenance of valid volume table of contents
JP5156518B2 (ja) 2008-07-23 2013-03-06 株式会社日立製作所 記憶制御装置及び方法
US8429514B1 (en) * 2008-09-24 2013-04-23 Network Appliance, Inc. Dynamic load balancing of distributed parity in a RAID array
US8572045B1 (en) * 2008-09-25 2013-10-29 Symantec Corporation System and method for efficiently restoring a plurality of deleted files to a file system volume
US8117413B2 (en) * 2008-09-25 2012-02-14 International Business Machines Corporation Logical data set migration
US8515911B1 (en) 2009-01-06 2013-08-20 Emc Corporation Methods and apparatus for managing multiple point in time copies in a file system
JP5564494B2 (ja) 2009-04-23 2014-07-30 株式会社日立製作所 計算機システム、及び、それを用いたバックアップ方法
US8468316B2 (en) 2009-06-15 2013-06-18 International Business Machines Corporation Apparatus and method for data backup
WO2011083507A1 (en) 2010-01-05 2011-07-14 Hitachi,Ltd. Replication system and its control method
US8433867B2 (en) 2010-01-09 2013-04-30 International Business Machines Corporation Using the change-recording feature for point-in-time-copy technology to perform more effective backups
US8825601B2 (en) 2010-02-01 2014-09-02 Microsoft Corporation Logical data backup and rollback using incremental capture in a distributed database
US8793290B1 (en) * 2010-02-24 2014-07-29 Toshiba Corporation Metadata management for pools of storage disks
US20110307660A1 (en) * 2010-06-14 2011-12-15 Chien-Hung Yang Redundant array of independent disks system, method for writing data into redundant array of independent disks system, and method and system for creating virtual disk
US8433870B2 (en) * 2010-10-12 2013-04-30 International Business Machines Corporation Multiple incremental virtual copies
US8655841B1 (en) 2010-12-31 2014-02-18 Symantec Corporation Selection of one of several available incremental modification detection techniques for use in incremental backups
US9081511B2 (en) 2011-02-23 2015-07-14 International Business Machines Corporation Source-target relations mapping
WO2012117515A1 (ja) 2011-03-01 2012-09-07 株式会社日立製作所 計算機システム、管理システム及びデータ管理方法
US8832028B2 (en) * 2011-08-25 2014-09-09 Oracle International Corporation Database cloning
US20130054906A1 (en) * 2011-08-30 2013-02-28 International Business Machines Corporation Managing dereferenced chunks in a deduplication system
US8806281B1 (en) 2012-01-23 2014-08-12 Symantec Corporation Systems and methods for displaying backup-status information for computing resources
US9009405B2 (en) * 2012-04-30 2015-04-14 Lsi Corporation Methods and systems for instantaneous online capacity expansion
US9384254B2 (en) * 2012-06-18 2016-07-05 Actifio, Inc. System and method for providing intra-process communication for an application programming interface
US9483355B1 (en) 2012-06-29 2016-11-01 EMC IP Holding Company LLC Tracking copy sessions
US8914578B2 (en) * 2012-09-27 2014-12-16 Hewlett-Packard Development Company, L.P. Capacity-expansion of a logical volume
US9665477B2 (en) * 2013-02-01 2017-05-30 International Business Machines Corporation Allocating additional requested storage space for a data set in a first managed space in a second managed space
US10007602B2 (en) 2014-05-06 2018-06-26 International Business Machines Corporation Flash copy relationship management

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030158869A1 (en) * 2002-02-20 2003-08-21 International Business Machines Corporation Incremental update control for remote copy
US20030177149A1 (en) * 2002-03-18 2003-09-18 Coombs David Lawrence System and method for data backup
US20040260895A1 (en) * 2003-06-18 2004-12-23 Werner Sam Clark Method, system, and program for reverse restore of an incremental virtual copy
CN1788256A (zh) * 2003-06-18 2006-06-14 国际商业机器公司 用于增量虚拟复制的方法、系统和程序
CN1702627A (zh) * 2004-05-27 2005-11-30 国际商业机器公司 执行拷贝操作的方法和系统
US8200637B1 (en) * 2008-09-30 2012-06-12 Symantec Operating Corporation Block-based sparse backup images of file system volumes

Also Published As

Publication number Publication date
CN105938448A (zh) 2016-09-14
US10108352B2 (en) 2018-10-23
DE102016103769A1 (de) 2016-09-08
US20160259574A1 (en) 2016-09-08

Similar Documents

Publication Publication Date Title
CN105938448B (zh) 用于数据复制的方法和装置
US10956364B2 (en) Efficient data synchronization for storage containers
CN102667772B (zh) 文件级分级存储管理系统、方法和设备
JP5081631B2 (ja) データの削除を管理するための方法および装置
US9690666B1 (en) Incremental backup operations in a transactional file system
US10127243B2 (en) Fast recovery using self-describing replica files in a distributed storage system
US7792800B1 (en) Data repository upgrade process
US20070185934A1 (en) Restoring a file to its proper storage tier in an information lifecycle management environment
US10678857B2 (en) Managing a distributed knowledge graph
CN104715001A (zh) 用于对数据处理系统的集群中的共享资源执行写入操作的方法和系统
CN103164254A (zh) 用于维持镜像虚拟环境中存储装置的一致性的方法和系统
JP2008527571A5 (zh)
CN106528071B (zh) 目标代码的选取方法及装置
US9940066B2 (en) Snapshot management in hierarchical storage infrastructure
US10628298B1 (en) Resumable garbage collection
CN114443332A (zh) 一种存储池的检测方法、装置、电子设备及存储介质
CN111767270A (zh) 数据迁移方法、装置、服务器及存储介质
CN112433888A (zh) 数据处理方法及装置、存储介质和电子设备
CN107220248A (zh) 一种用于存储数据的方法和装置
CN114816470A (zh) 元数据库的管理方法、装置、电子设备和介质
CN110058963A (zh) 用于管理存储系统的方法、设备和计算机程序产品
CN109857519A (zh) 虚拟磁盘的处理方法及相关装置
JP2022108398A (ja) 管理計算機及び管理計算機によるデータ管理方法
CN113419752A (zh) 一种数据处理方法、装置、电子设备及存储介质
US11645333B1 (en) Garbage collection integrated with physical file verification

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant