CN104067219A - 确定用于作业复制在存储装置上存储的对象的时间表 - Google Patents

确定用于作业复制在存储装置上存储的对象的时间表 Download PDF

Info

Publication number
CN104067219A
CN104067219A CN201280068688.6A CN201280068688A CN104067219A CN 104067219 A CN104067219 A CN 104067219A CN 201280068688 A CN201280068688 A CN 201280068688A CN 104067219 A CN104067219 A CN 104067219A
Authority
CN
China
Prior art keywords
failure
client
data
processor
timetable
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.)
Granted
Application number
CN201280068688.6A
Other languages
English (en)
Other versions
CN104067219B (zh
Inventor
P.T.坎布尔
A.托德
K.钱德拉塞卡兰
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.)
Hewlett Packard Enterprise Development LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of CN104067219A publication Critical patent/CN104067219A/zh
Application granted granted Critical
Publication of CN104067219B publication Critical patent/CN104067219B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • 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
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1453Management of the data involved in backup or backup restore using de-duplication of the 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0715Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a system implementing multitasking
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • 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
    • G06F11/1456Hardware arrangements for backup
    • 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
    • G06F11/1458Management of the backup or restore process
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

Abstract

一种技术包括排队复制在存储装置上存储的对象数据的作业。对于至少一个所述作业,所述技术包括至少部分地基于完成所述作业的失败尝试的数量选择性地调整所述作业何时出现在时间表中。

Description

确定用于作业复制在存储装置上存储的对象的时间表
背景技术
典型的计算机网络可以具有备份和恢复系统,以用于在数据变成被损坏、被盖写、受到病毒攻击等的情形下把网络上的数据(例如,被包含在一个或多个文件中的数据)复原到先前状态的目的。备份和恢复系统典型地包括大容量存储设备,诸如,磁带驱动器和/或硬盘驱动器;以及所述系统可以包括物理和/或虚拟的可移除存储设备。
例如,备份和恢复系统可以在磁带上存储备份数据,并且在把备份数据转移到给定磁带之后,磁带可以被从其带驱动器中移除,并且被存储在安全位置中,诸如,在防火保险箱中。可替代地,备份和恢复系统可以是基于虚拟带库的系统,所述系统模仿并取代物理磁带驱动器系统。以这种方式,在基于虚拟带库的系统的情形下,虚拟盒式磁带(而不是磁带)存储所述备份数据。
附图说明
图1是依据示例实现方式的包括备份和恢复系统的计算机网络的示意图。
图2是依据示例实现方式的由图1的备份和恢复系统使用的对象存储的图示说明。
图3是依据示例实现方式的在备份会话期间创建的对象存储中的对象的图示说明。
图4是依据示例实现方式的描绘了复制备份数据的技术的流程图。
图5是依据示例实现方式的描绘了访问在图1的备份和恢复系统上存储的基于对象的备份数据并且控制复制备份数据的操作的至少一个方面的技术的流程图。
图6是依据示例实现方式的描绘了由图1的备份应用使用来调整由备份和恢复系统对数据的复制的技术的流程图。
图7是依据示例实现方式的描绘了由图1的备份应用使用以搜索和/或分组在备份和恢复系统上存储的数据对象的技术的流程图。
图8是依据示例实现方式的描绘了调度复制作业的技术的流程图。
图9是依据示例实现方式的描绘了设置复制作业以其被尝试的速率的技术的流程图。
图10是依据示例实现方式的描绘了把作业预期地标记为失败的技术的流程图。
图11是依据示例实现方式的描绘了调整状态请求查询的计时的技术的流程图。
图12是依据示例实现方式的描绘了调整用于客户端重新提交状态请求查询的时间的技术的流程图。
具体实施方式
图1描绘了包括备份和恢复系统4以及所述系统4的一个或多个客户端90的示例计算机网络5,所述客户端90生成在所述系统4上存储的备份数据(在备份会话期间)。备份数据可以包括众多类型的数据,诸如,应用导出的数据、系统状态信息、应用、文件、配置数据等。通常,给定客户端90可以在恢复会话期间访问备份和恢复系统4,以把所选择的数据复原到特定先前状态以及可能地把客户端复原到特定先前状态。作为非限制性示例,(一个或多个)客户端90通常可以是未在图1中图示的网络服务器。
依据示例实现方式,备份和恢复系统4包括存储用于(一个或多个)客户端90的备份数据的主存储装置20,以及存储这个备份数据的副本的辅助存储装置100。以这种方式,出于这种添加备份安全的附加层的目的,主存储装置20可以偶尔复制在主存储装置20上存储的备份数据,以产生由辅助存储装置100存储的对应复制的备份数据。
依赖特定的实现方式,主存储装置20和辅助存储装置100可以位于相同的设施,并且共享本地连接(例如,局域网(LAN)连接),或可以被布置在不同的位置并且被(例如,经由广域网(WAN)连接)远程地连接。在图1中所描绘的示例中,主存储装置20使用通信链路88与辅助存储装置100通信。通信链路88表示一种或多种类型的网络结构(即,WAN连接、LAN连接无线连接、互联网连接等)。
(一个或多个)客户端90使用通信链路96(诸如,一个或多个总线或其它快速互连)与主存储装置20通信。通信链路96表示一种或多种类型的网络结构(即,WAN连接、LAN连接无线连接、互联网连接等)。通常,(一个或多个)客户端90可以使用一个或多个协议(诸如,串行附连小型计算机系统接口(SCSI)总线协议、并行SCSI协议、通用串行总线(USB)协议、光纤通道协议、以太网协议等)与主存储装置20通信。
依赖特定实现方式,通信链路96可以与相对高的带宽(例如,LAN连接)、相对低的带宽(例如,WAN连接)或中间带宽相关联。此外,依赖于特定实现方式,给定客户端90可以位于主存储装置20的相同设施处,或者可以位于与主存储装置20相比不同的位置处。一个客户端90相对于主存储装置20可以是本地的,另一个客户端90可以被相对于主存储装置远程地安置等。因此,许多变化被考虑到,其在所附权利要求的范围内。
依据一些实现方式,主存储装置20、辅助存储装置100以及(一个或多个)客户端90是“物理机器”,或者由机器可执行指令(即,“软件”)和硬件组成的实际机器。尽管主存储装置20、辅助存储装置100以及(一个或多个)客户端90中的每一个在图1中被描绘为包含在框内,但特定物理机器可以是分布式机器,分布式机器具有提供分布式和并行处理系统的多个节点。
依据一些实现方式,物理机器可以位于一个机柜(或机架)内;或可替代地,物理机器可以位于多个机柜(或机架)中。
给定客户端90可以包括硬件92,诸如,一个或多个中央处理单元(CPU)93,以及存储机器可执行指令93、应用数据、配置数据等的存储器94。通常,存储器94是非临时性存储器,其可以包括半导体存储设备、磁性存储设备、光学存储设备等。客户端90可以包括各种其它硬件部件,诸如,下列各项中的一个或多个:大容量存储驱动器;采用通信链路96通信的网络接口卡;显示器;输入设备(诸如,鼠标和键盘等)。
给定的客户端90可以包括机器可执行指令91,当其由客户端90的(一个或多个)CPU 93执行时,形成备份应用97。通常,所述备份应用97执行关于备份和复原用于客户端90的数据的各种功能。作为示例的非穷举列表,由备份应用97执行的所述功能可以包括下列各项中的一个或多个:生成备份数据;把备份数据传送到主存储装置20;访问主存储装置20上的备份数据;搜索和组织主存储装置20上备份数据的存储;读取、写入和修改所述备份数据的属性;监控和控制至少部分地由主存储装置20执行以把备份数据复制到辅助存储装置100上的复制操作的一个或多个方面;执行给定复制操作的一个或多个功能;在恢复会话期间复原客户端20上的数据或系统状态等。
依据在此公开的示例性实现方式,客户端90可以包括一组机器可执行指令,当其由客户端90的(一个或多个)CPU 93执行时,形成应用编程接口(API)98以用于访问备份和恢复系统4。通常,API 98由备份应用97用来与主存储装置20通信,以用于执行应用97的以上所述的功能中的一个的目的。
依据实现方式,所述客户端90可以包括形成用于备份应用97的适配器的一组机器可执行指令,所述适配器把由备份应用97发出的命令和请求转变成对应的API命令/请求,并且反之亦然。
给定客户端90可以包括其它各种的其它组机器可执行指令,当其由客户端90的(一个或多个)CPU 93执行时执行其它功能。作为示例,给定客户端90可以包含机器可执行指令,以用于形成操作系统;虚拟机管理程序;控制备份/复原操作的图形用户接口(GUI);设备驱动器等的目的。因此,许多变化被考虑到,其在所附权利要求的范围内。
作为物理机器,主存储装置20还包含硬件60和机器可执行指令68。例如,主存储装置20的硬件60可以包括一个或多个CPU 62;存储机器可执行指令、应用数据、配置数据、备份相关数据等的非临时性存储器80(由半导体存储设备、磁性存储设备、光学存储设备等形成的存储器);以及存储备份相关数据、应用数据、配置数据等的一个或多个随机访问驱动器63(光学驱动器、固态驱动器、磁性存储驱动器等);一个或多个顺序访问的大容量存储设备(例如,带驱动器);网络接口卡等。
又作为图1中所描绘的,当机器可执行指令68由主存储装置20的一个或多个CPU 62执行时,形成用于所述装置20的各种软件实体,诸如,在此所描述的下述各项中的一个或多个:引擎70、资源管理器74、存储管理器76、去重复引擎73和带附连引擎75。
与主存储装置20相似,辅助存储装置100也是物理机器,其包含硬件(诸如,存储器120);一个或多个CPU;大容量存储驱动器;网络接口卡等。此外,辅助存储装置100还包含机器可执行指令来形成各种应用、设备驱动器、操作系统、控制复制操作的部件等。
依据在此公开的实现方式,备份和恢复系统4管理作为“对象”的备份数据(例如,当与依照基于文件的系统管理作为文件的备份数据相比较时)。如可以由本领域的技术人员认识到的,“对象”是以性质(诸如,身份、状态和行为)为特征的实体;并且通常,所述对象可以通过执行机器可执行指令来操控。特别地,在此公开的对象的性质可以由备份应用97创建、修改、检索以及一般访问。依据一些实现方式,对象可以具有操作系统定义的最大尺寸。
在备份和恢复系统4中存储的对象可以在数据容器或“对象存储”中被组织。通常,依据示例性实现方式,对象存储具有非层次的或“平坦”的地址空间,使得在给定对象存储中存储的对象不以目录类型组织来布置。
对于图1中所描绘的示例,主存储装置20以一个或多个对象86的形式存储备份数据,所述对象86被组织或布置成一个或多个对象存储84。此外,对于在图1中所描绘的示例,对象86和对象存储84被描绘为被存储在存储器80中,尽管底层数据可以被存储在主存储装置20的一个或多个大容量存储驱动器中。
辅助存储装置100以一个或多个复制对象126的形式存储复制的备份数据,所述复制对象126被组织或布置在一个或多个对象存储124中。换言之,复制对象126从在主存储装置20上存储的对象86得出。此外,对于图1中所描绘的示例,对象126和对象存储124被描绘为被存储在存储器120中,尽管底层数据可以被存储在辅助存储装置100的一个或多个大容量存储驱动器中。
在给定的备份会话期间,给定客户端90的备份应用97通过通信链路96访问主存储装置20,以创建、修改(例如,增补)或盖写一个或多个备份对象86,以用于存储或更新主存储装置20上的备份数据的目的。同样地,在给定复原会话期间,给定客户端90的备份应用97可以访问主存储装置20来检索一个或多个备份对象86。依据一些实现方式,主存储装置20上的对象86可以被从在辅助存储装置100上存储的对应的复制对象126复原。
出于从给定对象86读取或写入给定对象86的目的,备份应用97打开对象86并且然后寻找所打开对象86的给定位置来读取/写入字节的集合。此外,因为存储在对象86中的数据可以被压缩(如在此进一步公开的),所以读取/写入数据可以包括在不首先解压缩(或再水化)的情形下读取/写入所述数据;或可替代地,所述读取/写入可以涉及首先再水化所述数据。
通常,API 98把对象存储84和对象86的呈现提供到备份应用97,这允许备份应用97搜索对象86、修改对象86、创建对象86、删除对象86、检索关于某些对象86的信息、更新关于某些对象86的信息等。结合图1参考图2,作为更具体的示例,API 98可以把给定对象存储84呈现给备份应用97,所述给定对象存储84包含N个对象86(作为示例描绘的对象86-1…86-N)。通常,对象86可以包含在一个或多个备份会话期间生成的数据,诸如,备份数据、特定客户端状态的图像、头部数据等。API 98进一步向备份应用97呈现对象元数据150,所述备份应用97可以访问和/或修改所述元数据150。通常,元数据150与对象86一起被存储,并且描述相关联对象86的各种性质,以及存储与对象86相关的增值信息。
作为示例,元数据150可以指示用于给定相关联对象86的下列各项中的一个或多个:对象类型;时间/数据戳;与作业历史相关的状态信息以及对象86与作业历史的关系;用于相关联对象86的标识符;用于相关联对象86的相关对象存储;关于等同于传统带的盒式磁带存储器内容的信息;密钥等。作为示例,对象类型可以指增量或完全备份是否被用于所述对象86;标识创建对象86的备份应用97;标识与对象86相关联的客户端90;数据类型(作为示例,头部数据、原始备份数据、图像数据)等。
对象86的访问和控制经由与主存储装置的引擎70、资源管理器74、存储管理器76、去重复引擎73和带附连引擎75的交互而发生。依据一些示例性实现方式,引擎70用作数据路径和控制的通信链路88和96的外部服务端点。更具体地,依据一些实现方式,由客户端90发出的命令和请求由引擎70处理,并且反之亦然。作为非限制性示例,由引擎70处理的命令包括如下命令:打开对象、关闭对象、向对象写入数据、盖写对象、读取对象、读取对象数据、删除对象、修改/写入关于对象的元数据相关信息、读取关于对象的元数据信息、设置优选和配置参数等。请求例如可以包括状态查询请求(诸如像关于特定复制作业的状态的请求)。引擎70进一步控制备份和恢复系统4是以低带宽操作模式(以下所描述的)操作还是以高带宽操作模式(以下所描述的)操作,并且通常控制复制操作以创建/修改辅助存储装置100上的复制对象126。
资源管理器74考虑到资源的约束(例如,可用的物理存储器)管理对象86的锁定(即,防止一次一个以上的实体的修改)。通常,资源管理器74保持关于对象访问和修改的一致性,因为对给定对象86的访问可能由一个以上的实体并发地请求。
主存储装置20的存储管理器76负责检索给定对象存储84、控制可以创建和删除对象存储84的实体,控制对对象存储的访问,控制对象存储84如何被管理等。
主存储装置20的去重复引擎73控制主存储装置20的哈希和分块操作(以下所描述的)以用于主存储装置的高带宽操作模式(也是以下所描述的)。去重复引擎73还可以检查组块是否已经被存储,并且因此判定是否存储数据或参考现有数据。去重复引擎73依据示例性实现方式针对低和高带宽模式二者执行这个检查。
带附连引擎75可以由客户端90访问以用于把一个或多个对象86的复制物理副本存储在物理带上的目的,所述物理带被插入到耦合到带附连引擎75的物理带驱动器(在图1中未示出)中。
结合图1参考图3,依据示例性实现方式,备份应用97可以在示例性备份会话期间创建和/或修改给定组的对象86。对于这个示例,对象在主存储装置20上的示例性对象存储84-1中被创建。对象86的创建/修改通常涉及与引擎70、资源管理器74和存储管理器76的交互。
用于这个示例的对象86包括头部对象86-1,其包含用于特定备份会话的头部信息。作为非限制性示例,头部对象86-1可以包含如下信息,该信息标识用于备份会话的其它对象86、标识备份会话、指示压缩是否被使用、标识用于数据对象的特定次序等。用于这个示例的对象86进一步包括各种数据对象(在图3中被描绘的数据对象86-2…86-P),各种数据对象对应于备份会话的顺序定序的数据片段,并且其可以(或可以不)被压缩。对于这个示例,对象86包括图像对象86-P+1,其可以被用作恢复图像,以用于把客户端90复原到给定状态的目的。
注意的是:备份应用97可以随机地访问对象86。因此,不像在物理或虚拟顺序访问设备(诸如,物理带驱动器或虚拟带驱动器)上所存储的备份数据,备份应用97可以在对象86期满时选择性地删除与给定备份会话相关联的数据对象86。此外,备份应用97可以修改给定对象86或把数据增补到对象86,而不管在相同备份会话中被创建/修改的其它数据对象86的状态。
出于生成在辅助存储装置100上存储的复制对象126的目的,备份和恢复系统4使用数据复制操作(被称为“去重复操作”)。所述去重复操作通常减少了否则横跨主存储装置20和辅助存储装置100之间的通信链路88被传送的数据量。当通信链路88与相对低的带宽(诸如像,WAN连接)相关联时,这种减少可能特别有益。
图4一般地描绘了依据一些实现方式的示例复制操作200,以用于复制在主存储装置20上存储的对象86从而产生对应的复制对象126的目的,所述复制对象126被存储在辅助存储装置100上的对应的对象存储124中。结合图1参考图4,依据示例性实现方式,复制操作200包括把源数据(即,源对象86的数据)分割(块204)成数据块(被称为“组块”)。以这种方式,分割产生了定序顺序的组块,以作为目的复制对象126的一部分被存储在辅助存储装置100上。
出于减少通过通信链路88传送的数据量的目的,如果相同的组块(即,具有匹配或相同的字节式样的组块)已经被存储在辅助存储装置100上,则组块不被横跨通信链路88传送。替代地,对之前存储的组块的参考被存储在其目的对象中的位置处,从而导致数据压缩。
出于确定给定组块是否已经被存储在辅助存储装置100上的目的,组块的签名首先被传送到辅助存储装置100。更具体地,依据示例性实现方式,加密功能可以被应用于给定的候选组块,以用于确定(图4的块208)用于所述数据的对应的唯一哈希的目的。所述哈希然后被传送到辅助存储装置100(依照块212)。辅助存储装置100把所接收的哈希与用于其存储的组块的哈希相比较,以确定候选组块的副本是否被存储在装置100上,并且向主存储装置20通知所述确定。
如果匹配发生(判定块216),则主存储装置20不把候选组块传送到辅助存储装置100。替代地,主存储装置20传送对已经被存储的组块的对应参考,以便在其目的对象中的位置处被使用(依照块220)。否则,如果匹配不发生(依照判定块216),则主存储装置20横跨通信链路88把候选组块传送到辅助存储装置100(依照块224)。因此,辅助存储装置100在对应对象126中存储组块或对组块的参考。
如果有另一个组块要处理(判定块228),则控制返回到块208。因此,所述组块以以上描述的方式被处理直到源数据已被以其压缩的形式复制到辅助存储装置100上。由于以上所描述的数据去重复操作200所引起的数据减少可以以数据压缩或“去重复”率为特征。
向回参考图1,依据示例性实现方式,对象86的以上所描述的复制可以以备份和恢复系统4的两个操作模式中的一个被执行:低带宽操作模式;或高带宽操作模式。对于低带宽操作模式,客户端90执行复制操作的以上所参考的分块和哈希功能。换言之,客户端90把源数据分割成组块;把加密功能应用到组块以生成对应的哈希;传送所述哈希;以及随后传送组块或对所述组块的参考(依赖匹配是否发生)。低带宽操作模式在如下情形中可以是特别有益的:客户端90具有相对高度的处理能力;通信链路96是相对低的带宽链路(例如,WAN连接);去重复率相对高;或这些因素中的一个或多个的组合促成将由客户端90执行的分块和哈希。
在高带宽操作模式中,分块和哈希功能由主存储装置20来执行。高带宽操作模式在如下情形中可以是特别有益的:主存储装置20具有相对高度的处理能力;通信链路96具有相对高的带宽(例如,LAN连接);去重复率相对低;或这些因素中的一个或多个的组合促成将由主存储装置100执行的分块和哈希。
依据一些实现方式,备份应用97可以指定关于低带宽还是高带宽操作模式将被使用的优选。作为示例,所述优选可以被经由在客户端90和引擎70之间被传送的命令传送。基于这个优选,引擎70依赖于客户端90(针对低带宽操作模式)或依赖于去重复引擎73(针对高带宽操作模式)来执行分块和哈希功能。
结合图1参考图5,总之,依据示例性实现方式,API 98允许备份应用97执行技术250。依照技术250,API 98向存储装置的客户端提供接口,所述接口允许客户端访问在存储装置上存储的对象(所述“源对象”)(依照块254)。客户端可以与存储装置通信(块258)以控制复制源对象的至少一部分而生成目的对象的操作的至少一个方面。因此,如以上阐述的,作为示例,依照技术260(参见图6),备份应用97可以访问(块262)在主存储装置20上存储的对象86,并且促使用于对象86的元数据(块266)指示关于客户端90或主存储装置20是否执行用于对象86的去重复的压缩(分块和哈希)的优选。
注意的是:复制可以发生在相同存储装置上的不同对象存储之间,或者甚至在给定对象存储内的两个对象之间的数据。尽管整个对象可以被复制,但给定复制操作可以涉及复制给定对象的部分,而不是复制整个对象。此外,目的对象可以从来自一个或多个源对象的一个或多个复制区域被构造;并且目的对象可以被散置有从客户端直接备份到目的对象的数据的一个或多个区域。因此,许多变化被考虑到,其在所附权利要求的范围内。
例如,与基于虚拟带驱动器的系统(其中备份数据被安排在依据带驱动器格式存储的文件中)相比较,备份和恢复系统4使用对象允许备份数据的相对更丰富的搜索和分组。更具体地,结合图1参考图7,依照技术270,备份应用97可以访问(块274)在主存储装置上存储的对象,并且(依照块278)基于相关联的元数据搜索和/或分组搜索对象。
依据示例实现方式,复制引擎70包括调度器71,其用于调度复制作业来复制对象86,从而生成在辅助存储装置100上存储的对应的复制对象126。以这种方式,调度器71存储(或排队)用于队列72中挂起的复制作业的标识符,以用于把给定对象86中的数据的部分或全部拷贝到目的对象存储124中的目标对象126的定义位置的目的。注意的是:给定复制操作可以涉及对象的完整或部分的盖写。
依据在此公开的实现方式,调度器71基于多个潜在标准管理队列72中的作业何时被运行。作为非限制性示例,这些标准可以包括空闲资源的数量/范围;(由客户施加的)中断窗口;网络连接性;以及源装置和目标装置何时在线并且可用。
通常,由于事件(诸如,给定装置下线或另一个可暂停条件发生(例如,网络链路不可用)),调度器71暂停作业的运行;以及调度器71在这种事件终止时重新开始所述作业。调度器71进一步在不可恢复错误发生(作为非限制性示例,诸如,目的装置用尽其磁盘空间、许可不存在、账户不被允许、或客户取消作业)时取消给定作业。
通常,调度器71使用在此公开的技术以用于在不招致扫描可能的可运行作业的相当大量的时间的情形下相对高效地运行作业的目的。以这种方式,依据一些实现方式,在队列72中存储的作业的数量可以在数百万可能作业的规模上。因此,依据示例实现方式,在此公开以用于调度作业的技术涉及告知用于调度器71的相对低的开销和等待时间。
作为非限制性示例,调度器71确定用于执行作业的时间表,即,用于将被运行或被再次运行的作业中的每一个的时间。依据示例性实现方式,调度器71基于之前的运行尝试确定在试图运行失败过的复制作业之前等待多久。
使用方程1和2,调度器71可以依照技术300(其在图8中被一般地描绘)调度作业。依照技术300,调度器71排队(块304)作业以把存储在第一存储装置上的对象复制到第二存储装置上,并且确定(块308)用于执行所述作业的时间。对于至少一个所述作业,调度器71至少部分地基于完成作业的失败尝试的数量选择性地调整所述作业何时出现在时间表中(依照块312)。
作为更具体的示例,调度器71可以至少部分地基于在完成所述作业过程中一个或多个失败尝试的数量调整作业每隔多久被尝试一次(即,调整对于给定作业的“尝试率”)。例如,图9描述了示例技术320,其可以由调度器71依据一些实现方式使用。依据技术320,调度器71依赖失败尝试的数量逐渐地设置较低的尝试率以用于运行给定作业。对于这个示例,常数N1(判定块322)、N2(判定块326)和NP(判定块330)是从N1 到NP单调增加的,使得N1<N2<NP。初始地,对于给定作业的尝试率可以是相对高的(即,可以以相对高的频率发生)。然而,随着对于给定作业的尝试的数量的增加,对应的尝试率降低。以这种方式,图9公开了示例性尝试率R1 (块324)、R2 (块328) 和RP (块332),使得R1>R2>RP。尝试率R1、R2 和RP分别对应于失败尝试常数N1、N2和NP。以这种方式,如果失败尝试的数量小于N1 (判定块322),则调度器71把对应的尝试率设置(块324)在R1,其是相对较高的尝试率。然而,如果失败尝试增加使得所述尝试高于N1并且仍小于N2,则调度器71(依照判定块326)把尝试率设置(块328)在较低的尝试率R2。尝试之间的时间间隔的逐渐后退继续,因为当失败尝试超过NP(判定块330)时,调度器71把尝试率设置(块334)在最低的尝试率RP+1。依据示例实现方式,当调度器71检测之前作业的失败出于对于这个作业会是公共的原因而失败时,调度器71不运行给定作业。
更具体地,调度器71基于以上确定的时间表周期性地扫描用于准备运行的复制作业的队列72(依照技术320)。在这个方面,依据示例性实现方式,复制作业可以把相对少数量的存储装置作为目标(即,每个目标存储装置一个以上的作业)。如果在特定扫描期间,对于特定装置的复制作业被尝试但由于也会影响全部其它作业(其可能在这个扫描中开始运行到那个存储装置)的原因(作为非限制性示例,磁盘空间全部错误、链路错误、中断窗口)无法运行,则其它复制作业不被尝试。替代地,调度器71预期地认为这些其它作业对于公用共享的问题也会失败,并且对应地也把这些作业标记为失败。这种方法避免了尝试运行不能够运行(至少针对当前的扫描)的作业中的开销。
因此,依据示例实现方式,调度器71可以执行在图10中描绘的技术334。依照技术334,调度器71确定(判定块336)给定复制作业是否已失败,并且如果如此,则确定(判定块338)促成失败的相同问题是否适用于队列72中的一个或多个其它复制作业。如果如此,则调度器71把(一个或多个)其它复制作业标记(块340)为失败(例如,在由队列72存储的状态字段中制作一个或多个对应的条目)。
尽管中断窗口对于多个作业是公共的,但依据一些实现方式,由于中断窗口和其它失败原因引起的失败之间的区别是中断窗口被配置在主存储装置20。因此,主存储装置20知道中断窗口何时不再施加。依据示例实现方式,队列72存储下一个运行时间以及指示作业为何不运行的原因的标识符。在下一个扫描时,如果用于给定作业的给定状态标识符指示上一个作业由于中断窗口不运行,则调度器71把相关联的下一个运行时间复位到“立即地”并且复位失败尝试的数量,使得如果作业出于不同的原因在将来无法运行,则所述作业从清白历史开始。
向回参考图1,客户端90通常把状态查询提交到主存储装置20,以用于获取与对应的复制作业相关的状态的目的。为了管理这些状态查询(出于诸如减少网络业务并且减少调度器71上的开销的目的),调度器71用作作业管理器,其采用请求客户端90在重新检查所述状态之前等待的对应时间回复来自请求客户端90的给定状态请求查询。
通常,依据示例实现方式,调度器71执行在图11中描绘的技术350。依照技术350,调度器71排队(块354)用以复制在一个或多个存储装置上存储的对象数据的作业。调度器71从客户端90接收(块358)状态请求查询,并且回复(块362)所述状态请求查询,以及所述回复指示客户端90提供另一个状态请求查询的时间(即,最小等待时间)。
在确定状态请求查询时间中,调度器71可以确定给定作业的完成的百分比(被称为“完成百分比”),如下所述:
完成百分比=原始目标范围大小 / (到目前为止拷贝的字节), 方程1
其中“原始目标范围大小”表示对象86的大小,以及“到目前为止拷贝的字节”表示已被拷贝到辅助存储装置100的字节数。调度器71还可以估计完成时间(被称为“所估计的完成时间”),阐述如下:
所估计的完成时间=现在的时间+(作业运行时间秒*(100 作业完成百分比))/(作业完成百分比)), 方程2
其中“作业运行时间秒”表示作业已运行的当前时间,以及“100 作业完成百分比”表示常数,诸如“100”。
在这方面,依据示例实现方式,调度器71响应于给定状态请求查询,采用客户端90在重新提交状态查询之前等待的时间响应或回复。注意的是:依赖特定实现方式,所述时间可以是绝对时间或可以是从客户端90在其已提交之前的查询或已从调度器71接收响应的时间起的相对等待时间间隔。
作为示例,图12描绘了技术400,其可以由调度器71使用,以用于针对关于特定复制作业的所接收的状态请求查询确定一个或多个查询时间(如下面进一步描述的)的目的。依照技术400,调度器71(例如,使用方程1)确定(块404)用于所述作业的完成百分比,以及(例如,使用方程2)估计(块408)用于复制作业的完成时间。通常,如果调度器71确定(判定块412)复制作业被暂停或挂起(所述作业在队列72中等待再次被运行),则调度器71拖延关于复制作业的任何更多的状态查询,直到依照技术300被估计的时间。以这种方式,对于暂停或挂起作业,调度器71把下一个状态查询时间设置(块416)到下一个运行尝试时间。
如果调度器71确定(判定块412)复制作业未被暂停或挂起,则调度器71确定(判定块420)所述作业当前是否正在运行。如果如此,调度器71拖延任何更多的状态查询,直到作业进展状态已可测量地改变。更具体地,依据示例实现方式,调度器71可以把状态查询时间设置(块424)到所测量的进展将发生的所估计时间。例如,依赖特定实现方式,基于例如由方程1的完成百分比的确定所阐述的给定粒度的改变(例如,1%的改变)、被转移的固定数量的字节(例如,1吉字节(GB))或这些标准中的任一中的最大的,调度器71可以认为所述作业进展已可测量地改变。
因此,依据一些实现方式,调度器71调整给定客户端90的状态查询,使得客户端90查询正好频繁到足够来从调度器71接收所指示的状态变化。如果调度器71确定(判定块420)作业当前未在运行,则调度器71确定(块428)所述作业是否被取消或完成。如果否,状态请求查询以未标识的作业为目标;以及调度器71采取适当校正的动作。否则,如果所述作业被取消或完成,则调度器71把查询时间设置(块432)到基于固定时间间隔的时间。例如,当取消是用于那个作业的最终状态时,调度器71可以把下一个查询时间设置到最大值(作为示例,5分钟)。
给定客户端状态查询许多关于多个复制作业的状态的查询。对于这些请求,调度器71确定在返回的状态回复中用于每个作业的所建议的下一个查询时间,以及然后把下一个总查询时间设置成与所确定的查询时间的最短间隔一致。因此,客户端90经由所述回复具有用于最快速地改变作业状态的最新的信息。因此,依据一些示例实现方式,调度器71确定(判定块436)状态请求查询是否与多个作业相关联。如果否,则调度器71采用用于单个复制作业的下一个查询时间回复(块440)。否则,依据示例实现方式,调度器71采用用于每个作业的查询时间回复(块437),并且进一步采用下一个总查询时间(例如,单独查询时间中最小的)回复。
依据示例实现方式,调度器71可以在由最小值(例如,30秒钟)和最大值(例如,5分钟)定义的范围内限制或约束下一个查询时间。
尽管有限数量的示例已在此被公开,但本领域的技术人员受益于这个公开后将从其中认识到众多修改和变化。旨在所附的权利要求覆盖所有这种修改和变化。

Claims (15)

1.一种方法,包括:
排队复制在存储装置上存储的对象数据的作业;
确定用于执行所述作业的时间表;以及
对于所述作业中的至少一个,至少部分地基于完成作业的失败尝试的数量选择性地调整所述作业何时出现在所述时间表中。
2.如权利要求1所述的方法,其中选择性地调整包括:基于失败尝试的数量改变用于执行作业的等待间隔,使得较长的等待间隔对应于较大数量的失败尝试。
3.如权利要求1所述的方法,其中选择性地调整包括:把失败尝试的数量与失败尝试的第二时间表相比较,以及至少部分地基于所述比较调节用于执行所述作业的等待间隔。
4.如权利要求1所述的方法,进一步包括响应于至少一个备份会话把所述作业接收到队列中,所述备份会话由在耦合到第一存储装置的客户端上执行的备份应用生成。
5.如权利要求1所述的方法,进一步包括:进一步使时间表基于至少一个作业是否由于用户施加的复制中断间隔而失败。
6.如权利要求1所述的方法,进一步包括:
确定所述作业中的给定作业是否已失败并且是否受到与所述其它作业中的至少一个相关联的失败问题的影响;以及
至少部分地基于所述确定,选择性地把所述其它作业中的至少一个标记为失败。
7.一种设备,包括
队列,用于标识复制在存储装置上存储的对象数据的作业;以及
基于处理器的作业管理器,用于:
  接收从客户端到存储装置对所述作业中的至少一个的状态的状态请求查询;以及
  响应于所述状态请求查询,指示用于所述客户端提供另一个状态请求的时间。
8.如权利要求7所述的设备,其中所述作业管理器适合于至少部分地基于所述作业在其预期被完成的时间而指示所述时间。
9.如权利要求7所述的设备,其中所述作业管理器适合于至少部分地基于用于所述作业的下一个运行尝试数据而设置所述时间。
10.如权利要求7所述的设备,其中所述作业管理器适合于使所述时间基于固定的时间间隔,并且基于所述作业是否已被取消或完成的确定。
11.如权利要求7所述的设备,其中所述状态请求与多个作业相关联,并且所述作业管理器适合于指示用于所述作业中的每一个的时间以及用于客户端提供另一个状态请求的总时间。
12.一种包括存储指令的计算机可读存储介质的物品,当所述指令由至少一个处理器执行时,促使所述至少一个处理器来:
排队复制在存储装置上存储的对象数据的作业;
确定用于执行所述作业的时间表;以及
对于所述作业中的至少一个,至少部分地基于完成作业的失败尝试的数量选择性地调整所述作业何时出现在所述时间表中。
13.如权利要求12所述的物品,存储介质存储指令,当所述指令由至少一个处理器执行时,促使所述至少一个处理器来:基于失败尝试的数量改变用于执行作业的等待间隔,使得较长的等待间隔对应于较大数量的失败尝试。
14.如权利要求12所述的物品,存储介质存储指令,当所述指令由至少一个处理器执行时,促使所述至少一个处理器来:把失败尝试的数量与失败尝试的第二时间表相比较,以及至少部分地基于所述比较调节用于执行所述作业的等待间隔。
15.如权利要求12所述的物品,存储介质存储指令,当所述指令由至少一个处理器执行时,促使所述至少一个处理器来:进一步使时间表基于至少一个作业是否由于用户施加复制中断间隔而失败。
CN201280068688.6A 2012-03-15 2012-04-24 确定用于作业复制在存储装置上存储的对象的时间表 Expired - Fee Related CN104067219B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201261611046P 2012-03-15 2012-03-15
US61/611,046 2012-03-15
US61/611046 2012-03-15
PCT/US2012/034794 WO2013137917A1 (en) 2012-03-15 2012-04-24 Determining a schedule for a job to replicate an object stored on a storage appliance

Publications (2)

Publication Number Publication Date
CN104067219A true CN104067219A (zh) 2014-09-24
CN104067219B CN104067219B (zh) 2019-08-02

Family

ID=49161638

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280068688.6A Expired - Fee Related CN104067219B (zh) 2012-03-15 2012-04-24 确定用于作业复制在存储装置上存储的对象的时间表

Country Status (4)

Country Link
US (1) US20140358858A1 (zh)
EP (1) EP2825953A4 (zh)
CN (1) CN104067219B (zh)
WO (1) WO2013137917A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106547635A (zh) * 2015-09-18 2017-03-29 阿里巴巴集团控股有限公司 一种作业的操作重试方法和装置

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103581231B (zh) * 2012-07-25 2019-03-12 腾讯科技(北京)有限公司 Ugc主备数据同步方法及其系统
US9106721B2 (en) 2012-10-02 2015-08-11 Nextbit Systems Application state synchronization across multiple devices
CN105493095A (zh) * 2013-09-24 2016-04-13 迈克菲股份有限公司 用于样本提交的自适应和递归过滤
US10105593B2 (en) 2014-04-08 2018-10-23 Razer (Asia-Pacific) Pte. Ltd. File prefetching for gaming applications accessed by electronic devices
CN106155846B (zh) * 2015-04-15 2019-06-28 伊姆西公司 对块对象执行批量故障回复的方法和装置
US10365974B2 (en) 2016-09-16 2019-07-30 Hewlett Packard Enterprise Development Lp Acquisition of object names for portion index objects
US10339053B2 (en) 2016-12-09 2019-07-02 Hewlett Packard Enterprise Development Lp Variable cache flushing
US10496577B2 (en) 2017-02-09 2019-12-03 Hewlett Packard Enterprise Development Lp Distribution of master device tasks among bus queues
US11182256B2 (en) 2017-10-20 2021-11-23 Hewlett Packard Enterprise Development Lp Backup item metadata including range information
US11138061B2 (en) * 2019-02-28 2021-10-05 Netapp Inc. Method and apparatus to neutralize replication error and retain primary and secondary synchronization during synchronous replication
US10761768B1 (en) 2019-02-28 2020-09-01 Netapp Inc. Method to address misaligned holes and writes to end of files while performing quick reconcile operation during synchronous filesystem replication
CN112684974B (zh) * 2019-10-18 2024-04-16 伊姆西Ip控股有限责任公司 用于作业管理的方法、设备和计算机程序产品

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6738923B1 (en) * 2000-09-07 2004-05-18 International Business Machines Corporation Network station adjustable fail-over time intervals for booting to backup servers when transport service is not available
US20080049254A1 (en) * 2006-08-24 2008-02-28 Thomas Phan Method and means for co-scheduling job assignments and data replication in wide-area distributed systems
CN101473305A (zh) * 2006-04-28 2009-07-01 网络装置公司 用于集群环境中的作业的管理的系统和方法
US20100211815A1 (en) * 2009-01-09 2010-08-19 Computer Associates Think, Inc. System and method for modifying execution of scripts for a job scheduler using deontic logic
GB2475897A (en) * 2009-12-04 2011-06-08 Creme Software Ltd Resource allocation using estimated time to complete jobs in a grid or cloud computing environment
US20110321051A1 (en) * 2010-06-25 2011-12-29 Ebay Inc. Task scheduling based on dependencies and resources

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7734591B1 (en) * 1999-08-16 2010-06-08 Netapp, Inc. Coherent device to device data replication
CA2524794C (en) * 2003-05-06 2010-03-30 Aptare, Inc. System to capture, transmit and persist backup and recovery meta data
US20050157865A1 (en) * 2004-01-21 2005-07-21 Yeager C. D. System and method of managing a wait list queue
US7898679B2 (en) * 2005-05-27 2011-03-01 Computer Associates Think, Inc. Method and system for scheduling jobs in a computer system
US7765187B2 (en) * 2005-11-29 2010-07-27 Emc Corporation Replication of a consistency group of data storage objects from servers in a data network
JP4308241B2 (ja) * 2006-11-10 2009-08-05 インターナショナル・ビジネス・マシーンズ・コーポレーション ジョブ実行方法、ジョブ実行システム及びジョブ実行プログラム
US8260940B1 (en) * 2007-06-29 2012-09-04 Amazon Technologies, Inc. Service request management
US8020037B1 (en) * 2008-09-23 2011-09-13 Netapp, Inc. Creation of a test bed for testing failover and failback operations
US20110060627A1 (en) * 2009-09-08 2011-03-10 Piersol Kurt W Multi-provider forms processing system with quality of service
US20120005682A1 (en) * 2010-06-30 2012-01-05 International Business Machines Corporation Holistic task scheduling for distributed computing
NZ607113A (en) * 2010-07-08 2014-08-29 Greenbutton Ltd A method for estimating job run time

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6738923B1 (en) * 2000-09-07 2004-05-18 International Business Machines Corporation Network station adjustable fail-over time intervals for booting to backup servers when transport service is not available
CN101473305A (zh) * 2006-04-28 2009-07-01 网络装置公司 用于集群环境中的作业的管理的系统和方法
US20080049254A1 (en) * 2006-08-24 2008-02-28 Thomas Phan Method and means for co-scheduling job assignments and data replication in wide-area distributed systems
US20100211815A1 (en) * 2009-01-09 2010-08-19 Computer Associates Think, Inc. System and method for modifying execution of scripts for a job scheduler using deontic logic
GB2475897A (en) * 2009-12-04 2011-06-08 Creme Software Ltd Resource allocation using estimated time to complete jobs in a grid or cloud computing environment
US20110321051A1 (en) * 2010-06-25 2011-12-29 Ebay Inc. Task scheduling based on dependencies and resources

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106547635A (zh) * 2015-09-18 2017-03-29 阿里巴巴集团控股有限公司 一种作业的操作重试方法和装置
CN106547635B (zh) * 2015-09-18 2020-10-09 阿里巴巴集团控股有限公司 一种作业的操作重试方法和装置
US10866862B2 (en) 2015-09-18 2020-12-15 Alibaba Group Holding Limited Method and apparatus for job operation retry

Also Published As

Publication number Publication date
EP2825953A4 (en) 2016-08-03
WO2013137917A1 (en) 2013-09-19
US20140358858A1 (en) 2014-12-04
EP2825953A1 (en) 2015-01-21
CN104067219B (zh) 2019-08-02

Similar Documents

Publication Publication Date Title
CN104067219A (zh) 确定用于作业复制在存储装置上存储的对象的时间表
US11816063B2 (en) Automatic archiving of data store log data
JP4728031B2 (ja) リモートコピーペアの移行を行うシステム
US9405590B2 (en) Method, apparatus, and system for issuing partition balancing subtask
EP0680634B1 (en) Apparatus and method for backing up data from networked computer storage devices
US6950915B2 (en) Data storage subsystem
US9824131B2 (en) Regulating a replication operation
EP1873645A1 (en) Storage system and data replication method
JP2007241486A (ja) 記憶装置システム
CN101441582A (zh) 计算机数据对象的备份和恢复方法及实现该方法的系统和程序产品
CN104081370A (zh) 访问和复制备份数据对象
CN105049258B (zh) 网络容灾系统的数据传输方法
US9984139B1 (en) Publish session framework for datastore operation records
JP4629342B2 (ja) ストレージ装置およびその制御方法
CN111866038A (zh) 基于异构多副本的分布式存储动态防御系统及方法
JP5250955B2 (ja) データ処理システムのバックアップ制御装置及びシステム
US7856419B2 (en) Method and system for storage replication
CN103970620B (zh) 一种准连续性数据复制方法及装置
CN109359100A (zh) Pb级历史数据和在线数据的实时计算的可视化建模方法
US7587466B2 (en) Method and computer system for information notification
JP4790283B2 (ja) ストレージサブシステム及びストレージシステム
US20180321851A1 (en) Disk synchronization
JP4843075B2 (ja) 複写制御方法及びストレージ制御装置
JP4227090B2 (ja) 発注処理プログラム、および発注処理システム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20161221

Address after: American Texas

Applicant after: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP

Address before: American Texas

Applicant before: Hewlett-Packard Development Company, L.P.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20190802

Termination date: 20200424

CF01 Termination of patent right due to non-payment of annual fee