CN109154902A - 用于备份调度的系统和方法 - Google Patents
用于备份调度的系统和方法 Download PDFInfo
- Publication number
- CN109154902A CN109154902A CN201780003442.3A CN201780003442A CN109154902A CN 109154902 A CN109154902 A CN 109154902A CN 201780003442 A CN201780003442 A CN 201780003442A CN 109154902 A CN109154902 A CN 109154902A
- Authority
- CN
- China
- Prior art keywords
- memory
- backup
- data block
- variable quantity
- processor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 26
- 230000015654 memory Effects 0.000 claims abstract description 112
- 230000001052 transient effect Effects 0.000 claims abstract description 19
- 238000012544 monitoring process Methods 0.000 claims description 45
- 238000004891 communication Methods 0.000 claims description 14
- 238000010586 diagram Methods 0.000 description 17
- 230000008859 change Effects 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 239000000463 material Substances 0.000 description 5
- 238000013500 data storage Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 150000001875 compounds Chemical class 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 230000004224 protection Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000005389 magnetism Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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/1448—Management of the data involved in backup or backup restore
-
- 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/1461—Backup scheduling policy
-
- 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/1479—Generic software techniques for error detection or fault masking
- G06F11/1482—Generic software techniques for error detection or fault masking by means of middleware or OS functionality
- G06F11/1484—Generic software techniques for error detection or fault masking by means of middleware or OS functionality involving virtual machines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3452—Performance evaluation by statistical analysis
-
- 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/128—Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0665—Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/81—Threshold
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/84—Using snapshots, i.e. a logical point-in-time copy of the data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Probability & Statistics with Applications (AREA)
- Computer Hardware Design (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种用于动态调度数字存储器备份的装置包括至少一个处理器,用于针对被监控的非瞬时性存储器的多个数据块的备份确定至少一个备份参数。确定所述至少一个备份参数包括:根据所述多个数据块的内容的变化量是否符合一个或多个阈值来计算所述多个数据块的存储分类,以及根据所述分类确定所述至少一个备份参数。
Description
背景技术
本发明在其一些实施例中涉及确定数据存储器备份参数,更具体地但非唯一地,涉及确定对非瞬时性数据存储器进行备份的时间。
为简洁起见,下文中使用术语“存储器”来表示非瞬时性数据存储器。
备份策略往往是信息技术(information technology,IT)管理员的数据保护计划中的基本要素之一。备份策略通常是一个预定策略,确定何时备份一个或多个存储器。例如,IT管理员可定义一个策略,该策略要求每天在定义的时间备份一个存储器,并按小时备份另一个存储器。
备份策略通常是静态的。IT管理员一般只设置策略一次且很少更新策略。然而,很难准确地预测存储器将来在计算机化系统中的使用率。存储器使用模式可能随着时间的推移而变化。因此,随着时间的推移,现有备份策略可能变得不必要地浪费或变得不足。
发明内容
本发明的目的是提供一种用于动态调度非瞬时性数据存储器的备份的系统和方法。
前述和其它目标通过独立权利要求的特征来实现。其它实施形式从从属权利要求、描述内容和附图中显而易见。
根据本发明第一方面,一种用于动态调度数字存储器备份的装置包括:至少一个处理器,用于对被监控的非瞬时性存储器的多个数据块的备份确定至少一个备份参数。确定所述至少一个备份参数包括:根据所述多个数据块的内容的变化量是否符合一个或多个阈值,计算所述多个数据块的存储分类,以及根据所述分类确定所述至少一个备份参数。通过根据内容的变化量是否符合一个或多个阈值来计算所述多个数据块的存储分类,所述多个数据块的所述计算出的存储分类与所述内容的所述变化量一致,因此所述至少一个备份参数与所述内容的所述变化量一致。
根据本发明第二方面,一种用于动态调度数字存储器备份的方法包括:根据多个数据块的内容的变化量是否符合一个或多个阈值来针对被监控的非瞬时性存储器的所述多个数据块计算存储分类,以及根据所述分类针对所述多个数据块的备份确定至少一个备份参数。
结合所述第一和第二方面,在所述第一和第二方面的第一可能实施方式中,所述一个或多个阈值包括以下组中的一项,所述组包括:数据块的数量和输入/输出(input/output,I/O)操作的数量;所述变化量包括以下组中的一项,所述组包括:所述多个数据块的数量、对所述多个数据块执行的I/O操作的数量。数据块的数量和I/O操作的数量是所述数据块的所述内容的变化量的有形测量。
结合所述第一和第二方面,或所述第一和第二方面的所述第一可能实施方式,在所述第一和第二方面的第二可能实施方式中,所述一个或多个阈值包括时间间隔。将时间间隔信息添加到用于确定所述备份的所述至少一个参数的所述值中支持设置备份之间的时限,不考虑所述数据块的所述内容的所述变化量。
结合所述第一和第二方面,在所述第一和第二方面的第三可能实施方式中,所述至少一个处理器还用于:创建所述被监控的非瞬时性存储器的快照,以及从所述快照产生所述变化量。所述存储器的快照可从存储器外部创建,并且可由另一处理器创建。
结合所述第一和第二方面,或所述第一和第二方面的所述第三可能实施方式,在所述第一和第二方面的第四可能实施方式中,所述至少一个处理器将所述快照与所述被监控的非瞬时性存储器的前一快照进行比较以产生所述变化量。将一个快照与较早的快照进行比较可由另一处理器执行,并且不需要任何超出所述存储器内容的元数据。
结合所述第一和第二方面,或所述第一和第二方面的所述第三可能实施方式,在所述第一和第二方面的第五可能实施方式中,所述至少一个处理器使用描述卷布局的机器元数据从所述快照中产生所述变化量。使用所述快照中的机器元数据比对比所述存储器的所述内容更有效。
结合所述第一和第二方面,或所述第一和第二方面的所述第三可能实施方式,在所述第一和第二方面的第六可能实施方式中,所述被监控的非瞬时性存储器连接到虚拟机,所述至少一个处理器使用数据块修改跟踪信息从所述快照产生所述变化量。当所述被监控的存储器连接到虚拟机时,所述快照中可能存在数据块修改跟踪信息。数据块修改跟踪信息通常包括需要备份的特定数据块的标识,因此,使用数据块修改跟踪信息支持有效的备份,备份所有已修改数据块但不超过这些已修改数据块。
结合所述第一和第二方面,或所述第一和第二方面的所述第三可能实施方式,在所述第一和第二方面的第七可能实施方式中,所述被监控的非瞬时性存储器连接到虚拟机,所述至少一个处理器还用于接入运行所述虚拟机的虚拟机监控器的应用程序接口(application programming interface,API)以创建所述快照。使用虚拟机监控器API支持通过连接到由虚拟机监控器运行的虚拟机的存储器更简单地实现本发明。
结合所述第一和第二方面,在所述第一和第二方面的第八可能实施方式中,所述至少一个处理器还用于接入包含所述被监控的非瞬时性存储器的存储器阵列的API以检索指示所述变化量的信息。使用存储器的现有API支持通过存储器阵列中安装的存储器更简单地实现本发明。
结合所述第一和第二方面,在所述第一和第二方面的第九可能实施方式中,所述至少一个处理器执行I/O跟踪代码以监听去往和来自所述存储器的I/O操作,并且所述至少一个处理器根据所述监听的I/O操作来计算所述变化量。使用I/O操作来计算所述数据块的所述内容的所述变化量比使用块的数量所作出的决策更精确。
结合所述第一和第二方面,或所述第一和第二方面的所述第九可能实施方式,在所述第一和第二方面的第十可能实施方式中,所述I/O跟踪代码与文件系统代码和磁盘驱动器代码通信。当所述I/O跟踪代码与文件系统代码和磁盘驱动器代码通信时,其可检索关于哪些数据被写入所述存储器中以及从所述存储器中读取了哪些数据的信息。
结合所述第一和第二方面,在所述第一和第二方面的第十一可能实施方式中,所述至少一个处理器还用于以预定义的时间间隔重复确定所述至少一个备份参数。通过周期性地监控所述存储器以及周期性地确定所述至少一个备份参数,可迅速确定所述存储器的备份需求。
结合所述第一和第二方面,在所述第一和第二方面的第十二可能实施方式中,所述至少一个备份参数是以下组中的一项,所述组包括:所述多个数据块中的多个的标识号,以及所述备份的执行时间。本发明支持确定何时备份所述存储器以及要备份哪些块,从而支持有效地使用备份计算和存储资源。
在研究下文附图和详细描述之后,本发明的其它系统、方法、特征和优点对于本领域技术人员来说是或变得显而易见的。希望所有这些其它系统、方法、特征和优点包含在本说明书中,在本发明的范围内,并且受所附权利要求的保护。
除非另有定义,否则本文所用的所有技术和科学术语都具有与本发明普通技术人员公知的含义相同的含义。虽然类似于或等同于本文所描述的那些方法和材料可以使用在本发明的实施例的实践中或测试中,但是下文描述了示例性方法和/或材料。在有冲突的情况下,以包括定义的专利说明书为准。此外,材料、方法和示例仅仅是示例性的,并非旨在必然限制。
附图说明
此处仅作为示例,结合附图描述了本发明的一些实施例。现在具体结合附图,需要强调的是所示的项目作为示例,为了说明性地讨论本发明的实施例。这样,根据附图说明,如何实践本发明实施例对本领域技术人员而言是显而易见的。
在附图中:
图1是根据本发明一些实施例的示例性装置的示意图;
图2是根据本发明一些实施例的一个可选操作流程的时序图;
图3是根据本发明一些实施例的另一个可选操作流程的时序图,关于本发明的包括被监控的非瞬时性存储器的快照的实施方式;
图4是根据本发明一些实施例的另一个可选操作流程的时序图,关于本发明的使用存储器阵列的实施方式;
图5是根据本发明一些实施例的另一个可选操作流程的时序图,关于本发明的使用代码来监听输入/输出操作的实施方式。
具体实施方式
本发明在其一些实施例中涉及确定备份参数,更具体地但非唯一地,涉及确定执行备份的时间。
备份策略通常是静态的。IT管理员通常只设置策略一次且很少更新策略;然而,很难准确地预测存储器将来在计算机化系统中的使用情况。使用模式可能随着时间的推移而变化。因此,随着时间的推移,现有备份策略可能变得不必要地浪费或变得不足。例如,在包括两台虚拟机的系统中,一个虚拟机可能频繁使用,每小时发生数百次数据变化,另一个虚拟机可能一天仅使用一次。所述一个虚拟机的存储器上的数据频繁变化,另一个虚拟机的存储器上的数据很少变化。在这种情况下,IT管理员可设置一个策略,使得对所述一个虚拟机的存储器每小时备份一次,对另一个虚拟机的存储器每天备份一次。随着时间的推移,这两台虚拟机的使用情况可能会发生变化,所述一个虚拟机很少使用,例如一天仅使用两次,另一个虚拟机的使用次数很多,例如每小时使用数百次。在备份所述一个虚拟机的存储器时,目前的已有备份策略在时间和存储上较浪费,并且不能对另一个虚拟机的存储器的变化损耗提供足够的保护。这种变化的一个示例是当一个机器用于运行一个应用(例如,一种邮件服务),另一个机器用于运行另一个应用(例如,另一种邮件服务)。随着时间的推移,使用所述一个应用的多个用户可能改变他们的偏好,从使用所述一个应用向使用另一个机器上的另一个应用转移。
理想情况下,只要使用模式发生变化,IT管理器就会检测到这些变化并相应地调整备份策略。事实上,这些变化可能随着时间的推移而逐渐改变,并且使用情况的变化与策略的变化之间存在时间差,导致资源浪费且变化损耗的风险较高。
本发明在其一些实施例中是一种根据存储器的实际使用情况来确定一个或多个备份参数的装置。这支持为存储器创建动态备份策略。备份参数可包括备份时间、监控存储器的时间、备份频率和备份级别。备份级别定义了存储器的要备份的部分,例如,整个存储器完全备份、最后一次完全备份之后的变化、任意级别的最后一次备份之后的变化,等等。在存储器包括独立磁盘冗余阵列(redundant array of independent disks,RAID)的实施例中,备份级别可指标准RAID级别。
根据本发明的一些实施例,可监控存储器的变化,并且可以收集关于存储器的变化量的信息。可将所收集的关于变化量的信息与一个或多个阈值进行比较,并且可根据所收集的信息是否符合一个或多个阈值来确定一个或多个备份参数。
一个存储器通常包括多个数据块。所收集的关于变化量的信息可包括一个或多个参数的值,例如已修改数据块的数量、已修改数据块的标识号、输入/输出(input/output,I/O)操作的数量和/或磁盘或者磁盘卷的布局变化。磁盘或者磁盘卷的布局变化的示例是分区数量和分区大小。I/O操作的数量可包括以下组中的一项或多项,该组包括:读取操作的数量、写入操作的数量、所读取的字节的数量和所写入的字节的数量。
一个或多个阈值可包括以下组中的一个或多个,该组包括:前一备份之后的一定时间量(即,一定时间间隔)、所写入的字节的一定数量、已修改数据块的一定数量、I/O操作的一定数量和磁盘布局的一定变化。所收集的信息是否符合一个或多个阈值可包括确定一组参数中的一个参数的值与该一个或多个阈值中的一个阈值之间的差异。可选地,所收集的信息是否符合一个或多个阈值还可包括确定该组参数中的另一个参数的值与该一个或多个阈值中的另一个阈值之间的另一个差异。
通过详细说明本发明的至少一项实施例,将会理解,本发明的应用不一定限于下文描述中陈述的和/或附图和/或示例中说明的部件和/或方法的构造和布置细节。本发明能够用于其它实施例或者能够以各种方式实践或执行。
本发明可以是一种系统、一种装置、一种方法和/或一种计算机程序产品。计算机程序产品可包括一种计算机可读存储介质(或媒体),其上存储有计算机可读程序指令,用于使处理器执行本发明的各方面。
计算机可读存储介质可以是有形设备,该有形设备可保留和存储指令以供指令执行设备使用。计算机可读存储介质可以是,例如但不限于,电子存储设备、磁性存储设备、光学存储设备、电磁存储设备、半导体存储设备或前述存储设备的任意合适组合。
本文描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者通过网络,例如互联网、局域网、广域网和/或无线网络,下载到外部计算机或外部存储设备。
计算机可读程序指令可作为独立软件包全部在用户的计算机上执行、部分在用户的计算机上执行、部分在用户的计算机上且部分在远程计算机上执行,或全部在远程计算机或服务器上执行。在最后一种场景中,远程计算机可通过任意类型的网络连接到用户的计算机,这些类型的网络包括局域网(local area network,LAN)或广域网(wide areanetwork,WAN),或者可以(例如使用互联网服务提供商通过互联网)连接到外部计算机。在一些实施例中,包括可编程逻辑电路、现场可编程门阵列(field-programmable gatearray,FPGA)或可编程逻辑阵列(programmable logic array,PLA)等的电子电路可使用计算机可读程序指令的状态信息来对电子电路进行个性化设置,从而执行计算机可读程序指令,以便执行本发明的各方面。
本发明的各方面在本文中参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图图示和/或方框图进行描述。将理解,流程图图示和/或方框图中的每个方框以及流程图图示和/或方框图中的方框的组合可以通过计算机可读程序指令来实施。
图中的流程图和方框图示出了根据本发明各实施例的系统、装置、方法和计算机程序产品的可能实施方式的架构、功能和操作。就此而言,流程图或方框图中的每个方框可表示一个模块、一个片段或一部分指令,指令包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些替代性实施方式中,方框中提到的功能可不按图中提到的顺序发生。例如,相继示出的两个方框事实上可以基本上并发执行,或者这些方框有时可以按相反的顺序执行,这取决于所涉及的功能。还将注意到,方框图和/或流程图图示的每个方框以及方框图和/或流程图图示中的方框的组合可以通过执行指定功能或动作或执行专用硬件和计算机指令组合的基于硬件的专用系统来实施。
现参考图1,图1所示为根据本发明一些实施例的示例性装置100的示意图。在这些实施例中,调度处理器101执行代码以确定用于备份存储器103的至少一个备份参数。存储器可以是,但不限于,光、磁或基于半导体的设备或组件。存储器的示例为光盘驱动器、磁性硬盘、电可擦可编程只读存储器(electrically erasable programmable read-onlymemory,EEPROM)和闪存。可选地,被监控的处理器102可连接到存储器,目的是收集指示存储器内容的变化量的信息。在一些实施例中,监控处理器通过局域网(local areanetwork,LAN)等网络与存储器通信。可选地,监控处理器可使用存储器网络协议与存储器通信,例如因特网小型计算机系统接口(Internet Small Computer System Interface,iSCSI)和网络文件系统(Network File System,NFS)。在其它实施例中,被监控的处理器电连接到存储器,并且可通过存储器连接协议,例如小型计算机系统接口(Small ComputerSystem Interface,SCSI)、串行高级技术附件(Serial AT Attachment,SATA)、通用串行总线(Universal Serial Bus,USB)和外部串行高级技术附件(external Serial ATAttachment,eSATA),来与存储器通信。在一些实施例中,调度处理器和监控处理器是同一个处理器。在另一些实施例中,调度处理器和监控处理器连接到通信网络,例如局域网(local area network,LAN),并可通过该通信网络进行通信。在这类实施例中,监控处理器可使用该通信网络向调度处理器发送所收集的指示变化量的信息。
虚拟机是计算机系统的模拟。用于运行虚拟机的虚拟化技术的示例为ParallelsDesktop、VMWare Fusion、Oracle VM VirtualBox和Citrix Xen。虚拟机监控器是创建并运行虚拟机的计算机软件、固件或硬件。
在一些实施例中,监控处理器创建存储器的多个快照。在存储器连接到一个或多个物理计算机的实施例中,监控处理器可通过多次将存储器的内容复制到另一个存储器来创建多个快照。在存储器连接到一个或多个虚拟机的实施例中,监控处理器可通过执行代码来收集关于存储器内容的变化量的信息,其中该代码用于与运行该一个或多个虚拟机的一个或多个虚拟机监控器通信。在这类实施例中,可使用与一个或多个虚拟机监控器的通信来创建一个或多个虚拟机的多个快照。
在存储器安装于存储器阵列中的实施例中,监控处理器可执行用于与存储器阵列的应用程序接口(application programming interface,API)通信的代码,以检索指示存储器内容的变化量的信息。
在一些实施例中,监控处理器执行用于跟踪去往和来自存储器的I/O操作的代码。可选地,I/O跟踪代码可与文件系统代码和磁盘驱动器代码通信,并监听从文件系统代码发往磁盘驱动器代码的I/O操作以及对从磁盘驱动器代码发往文件系统代码的I/O操作响应。在存储器连接到一个或多个虚拟机的实施例中,I/O跟踪代码可安装在客户虚拟机上或安装在托管虚拟机的计算机上。
在使用VMWare VAIO等软件定义存储器的一些实施例中,软件定义存储器可包括用于监听和跟踪去往和来自存储器的I/O操作的代码。监控处理器可与软件定义存储器的API通信以收集跟踪到的I/O操作。
现参考图2,图2所示为根据本发明一些实施例的一个可选操作流程的时序图200。存储分类可以是关于是否备份存储器的指示。调度处理器可通过以下方式来计算存储分类201:首先将存储器内容的变化量与一个或多个阈值进行比较,然后确定变化量是否符合该一个或多个阈值。例如,在变化量包括已修改数据块的数量和已修改数据块的标识号的实施例中,该一个或多个阈值之一可以是已修改数据块的一定数量。如果已修改数据块的数量大于已修改数据块的一定数量,则调度处理器可计算存储分类以立即备份存储器。在一些实施例中,调度处理器可将自前一备份之后的时间与一定间隔长度进行比较,并计算存储分类以备份存储器,即使已修改数据块的数量尚未超过已修改数据块的一定数量。在202中,调度处理器可根据存储分类确定至少一个备份参数。例如,当存储分类表示需要备份时,调度处理器可确定要备份的数据块的一组标识号。
现参考图3,图3所示为根据本发明一些实施例的另一个可选操作流程300的时序图。在这类实施例中,监控处理器可创建存储器的快照301,并可从快照产生存储器内容的变化量302。例如,在使用VMWare虚拟化技术的实施例中,监控处理器可与一个或多个虚拟机监控器通信以提取数据块修改跟踪(Changed Block Tracking,CBT)信息。监控处理器可从CBT信息中确定已修改数据块的数量以及标识已修改数据块的多个标识号。
在一些实施例中,监控处理器产生存储器的多个快照。当监控处理器产生存储器的一个快照时,监控处理器可将该快照与另一个较早快照进行比较以确定已修改数据块的数量。可选地,监控处理器可将该快照与较早快照进行比较以确定存储器布局的一个或多个变化。
在存储器连接到一个或多个虚拟机的一些实施例中,快照可能具有机器元数据,机器元数据可用来确定已修改数据块的数量。可选地,监控处理器可从机器元数据确定已修改数据块的标识号。可选地,监控处理器可从机器元数据确定存储器布局的一个或多个变化。
在监控处理器和调度处理器为不同的处理器且通过通信网络连接的实施例中,监控处理器可向调度处理器发送303计算出的变化量。在201中,如上所述,调度处理器可使用存储器的变化量来计算存储分类。在202中,调度处理器可根据计算出的存储分类确定至少一个备份参数。
现参考图4,图4所示为根据本发明一些实施例的另一个可选操作流程400的时序图。在这些实施例中,存储器安装于存储器阵列中。监控处理器可接入401存储器阵列的API,目的是检索402指示存储器内容的变化量的信息。监控处理器可根据检索到的信息来计算403存储器内容的变化量。可选地,指示存储器内容的变化量的信息可包括跟踪到的I/O操作。在这类实施例中,监控处理器可根据跟踪到的I/O操作来计算I/O写入操作的数量。可选地,监控处理器可根据跟踪到的I/O操作来计算写入的字节的数量。在监控处理器和调度处理器为不同的处理器且通过通信网络连接的实施例中,监控处理器可向调度处理器发送303计算出的变化量。现在,在201中,调度处理器可使用计算出的变化量来计算存储分类,并根据计算出的存储分类来确定202至少一个备份参数。
现参考图5,图5所示为根据本发明一些实施例的另一个可选操作流程500的时序图。在这类实施例中,监控处理器执行代码以监听输入/输出操作。监控处理器可监听I/O操作501,并计算变化量502。例如,监控处理器可根据跟踪到的I/O操作来计算I/O写入操作的数量。又例如,监控处理器可根据跟踪到的I/O操作来计算写入的字节的数量。在监控处理器和调度处理器为不同的处理器且通过通信网络连接的实施例中,监控处理器可向调度处理器发送303计算出的变化量。现在,在201中,调度处理器可使用计算出的变化量来计算存储分类,并根据计算出的存储分类来确定202至少一个备份参数。
再次参考图1。在具有监控处理器的一些实施例中,监控处理器可根据收集到的关于变化量的信息来确定存储器内容的变化量,并将存储器内容的变化量发送给调度处理器。在其它实施例中,监控处理器可将收集到的关于变化量的信息发送给调度处理器。在这类实施例中,调度处理器可根据收集到的信息来确定存储器内容的变化量。
在一些实施例中,监控处理器周期性地,例如每过一分钟或每过一小时,收集信息并检测存储器内容的变化量。可选地,调度处理器可将变化量加入变化总数中。在这类实施例中,调度处理器可将该总数与所述一个或多个阈值中的一个阈值进行比较,并确定存储器的变化量符合所述一个阈值。可选地,在存储器每次备份之后,调度处理器可将变化总数重置为初始值,例如零。在一些实施例中,所述至少一个备份参数可以是下一次监控存储器的时间。该下一次监控存储器的时间可以不同于预定义的存储器监控周期,例如,以便比预定义的周期更早地触发存储器监控。
对本发明各个实施例的描述只是为了说明的目的,而这些描述并不旨在穷举或限于所公开的实施例。在不脱离所描述的实施例的范围和精神的情况下,本领域技术人员可以清楚理解许多修改和变化。相比于市场上可找到的技术,选择此处使用的术语可最好地解释本实施例的原理、实际应用或技术进步,或使本领域其他技术人员理解此处公开的实施例。
预期在从本申请开始走向成熟的专利的生命周期中,将会开发出许多相关虚拟计算技术和存储器技术,术语“虚拟计算”、“虚拟机”和“存储器”的范围旨在包括所有这类先验新技术。
本文使用的术语“约”是指±10%。
术语“包括”以及“有”表示“包括但不限于”。这个术语包括了术语“由……组成”以及“本质上由……组成”。
短语“本质上由……组成”是指构造或方法可包括额外的材料和/或步骤,但前提是这些额外的材料和/或步骤不会实质上改变所要求保护的构造或方法的基本和新颖特性。
除非上下文中另有明确说明,此处使用的单数形式“一个”和“所述”包括复数含义。例如,术语“一个复合物”或“至少一个复合物”可以包括多个复合物,包括其混合物。
此处使用的词“示例性的”表示“作为一个例子、示例或说明”。任何“示例性的”实施例并不一定理解为优先于或优越于其它实施例,和/或并不排除其它实施例特点的结合。
此处使用的词语“可选地”表示“在一些实施例中提供且在其它实施例中没有提供”。本发明的任意特定的实施例可以包括多个“可选的”特征,除非这些特征相互矛盾。
在整个本申请案中,本发明的各种实施例可以范围格式呈现。应理解,范围格式的描述仅为了方便和简洁起见,并且不应该被解释为对本发明范围的固定限制。因此,对范围的描述应被认为是已经具体地公开所有可能的子范围以及所述范围内的个别数值。例如,对例如从1到6的范围的描述应被认为是已经具体地公开子范围,例如从1到3、从1到4、从1到5、从2到4、从2到6、从3到6等,以及所述范围内的个别数字,例如1、2、3、4、5和6。不管范围的宽度如何,这都适用。
当此处指出一个数字范围时,表示包括了在指出的这个范围内的任意所列举的数字(分数或整数)。短语“在第一个所指示的数和第二个所指示的数范围内”以及“从第一个所指示的数到第二个所指示的数范围内”和在这里互换使用,表示包括第一个和第二个所指示的数以及二者之间所有的分数和整数。
单个实施例也可以提供某些特征的组合,这些特征在各个实施例正文中有简短的描述。相反地,本发明的各个特征在单个实施例的正文中有简短的描述,也可以分别提供这些特征或任何适合的子组合或者作为本发明所述的任何合适的其它实施例。不可认为各个实施例的正文中描述的某些特征是这些实施例的必要特征,除非没有这些元素,该实施例无效。
此处,本说明书中提及的所有出版物、专利和专利说明书都通过引用本说明书结合在本说明书中,同样,每个单独的出版物、专利或专利说明书也具体且单独地结合在此。此外,对本申请的任何参考的引用或识别不可当做是允许这样的参考在现有技术中优先于本发明。就使用节标题而言,不应该将节标题理解成必要的限定。
Claims (15)
1.一种用于动态调度数字存储器备份的装置,其特征在于,包括:
至少一个处理器(101),用于对被监控的非瞬时性存储器(103)的多个数据块的备份确定至少一个备份参数,包括:
根据所述多个数据块的内容的变化量是否符合一个或多个阈值,计算(201)所述多个数据块的存储分类;以及
根据所述分类确定(202)所述至少一个备份参数。
2.根据权利要求1所述的装置,其特征在于,所述一个或多个阈值包括以下组中的一项,所述组包括:数据块的数量和输入/输出(input/output,I/O)操作的数量。
3.根据权利要求2所述的装置,其特征在于,所述一个或多个阈值包括时间间隔。
4.根据权利要求1所述的装置,其特征在于,所述变化量包括以下组中的一项,所述组包括:
所述多个数据块的数量,以及
对所述多个数据块执行的I/O操作的数量。
5.根据权利要求1所述的装置,其特征在于,所述至少一个处理器还用于:
创建(301)所述被监控的非瞬时性存储器的快照;以及
从所述快照产生(302)所述变化量。
6.根据权利要求5所述的装置,其特征在于,所述至少一个处理器将所述快照与所述被监控的非瞬时性存储器的前一快照进行比较以产生所述变化量。
7.根据权利要求5所述的装置,其特征在于,所述至少一个处理器使用描述卷布局的机器元数据从所述快照产生所述变化量。
8.根据权利要求5所述的装置,其特征在于,所述被监控的非瞬时性存储器连接到虚拟机,以及
所述至少一个处理器使用数据块修改跟踪信息从所述快照产生所述变化量。
9.根据权利要求5所述的装置,其特征在于,所述被监控的非瞬时性存储器连接到虚拟机,以及
所述至少一个处理器还用于接入运行所述虚拟机的虚拟机监控器的应用程序接口(application programming interface,API)以创建所述快照。
10.根据权利要求1所述的装置,其特征在于,所述至少一个处理器还用于接入(401)包含所述被监控的非瞬时性存储器的存储器阵列的API以检索(402)指示所述变化量的信息。
11.根据权利要求1所述的装置,其特征在于,所述至少一个处理器执行(501)I/O跟踪代码以监听去往和来自所述存储器的I/O操作;以及
所述至少一个处理器根据所述监听的I/O操作计算(502)所述变化量。
12.根据权利要求11所述的装置,其特征在于,所述I/O跟踪代码与文件系统代码和磁盘驱动器代码通信。
13.根据权利要求1所述的装置,其特征在于,所述至少一个处理器还用于以预定义的时间间隔重复确定所述至少一个备份参数。
14.根据权利要求1所述的装置,其特征在于,所述至少一个备份参数是以下组中的一项,所述组包括:所述多个数据块中的多个的标识号,以及所述备份的执行时间。
15.一种用于动态调度数字存储器备份的方法,其特征在于,包括:
根据被监控的非瞬时性存储器的多个数据块的内容的变化量是否符合一个或多个阈值来计算所述多个数据块的存储分类;以及
根据所述分类针对所述多个数据块的备份确定至少一个备份参数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210054789.3A CN114518979A (zh) | 2017-02-14 | 2017-02-14 | 用于备份调度的系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2017/053320 WO2018149487A1 (en) | 2017-02-14 | 2017-02-14 | System and method for backup scheduling |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210054789.3A Division CN114518979A (zh) | 2017-02-14 | 2017-02-14 | 用于备份调度的系统和方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109154902A true CN109154902A (zh) | 2019-01-04 |
Family
ID=58094401
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780003442.3A Pending CN109154902A (zh) | 2017-02-14 | 2017-02-14 | 用于备份调度的系统和方法 |
CN202210054789.3A Pending CN114518979A (zh) | 2017-02-14 | 2017-02-14 | 用于备份调度的系统和方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210054789.3A Pending CN114518979A (zh) | 2017-02-14 | 2017-02-14 | 用于备份调度的系统和方法 |
Country Status (4)
Country | Link |
---|---|
US (2) | US20190354442A1 (zh) |
EP (3) | EP3538998B1 (zh) |
CN (2) | CN109154902A (zh) |
WO (1) | WO2018149487A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111046007B (zh) * | 2018-10-12 | 2023-08-18 | 伊姆西Ip控股有限责任公司 | 管理存储系统的方法、装置和计算机程序产品 |
US11704037B2 (en) * | 2020-03-30 | 2023-07-18 | Cohesity, Inc. | Deduplicated storage disk space utilization |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7509468B1 (en) * | 2006-02-02 | 2009-03-24 | Symantec Operating Corporation | Policy-based data protection |
CN102346784A (zh) * | 2011-11-14 | 2012-02-08 | 苏州阔地网络科技有限公司 | 一种数据库备份的方法及系统 |
US8250033B1 (en) * | 2008-09-29 | 2012-08-21 | Emc Corporation | Replication of a data set using differential snapshots |
US8429359B1 (en) * | 2004-12-31 | 2013-04-23 | Symantec Operating Corporation | Method and apparatus for dynamically backing up database files |
CN103154901A (zh) * | 2010-10-06 | 2013-06-12 | 国际商业机器公司 | 自动及自调节的数据备份操作 |
CN103617098A (zh) * | 2013-12-03 | 2014-03-05 | 上海爱数软件有限公司 | 基于数据变化的智能备份方法及智能备份系统 |
US20140365740A1 (en) * | 2013-06-10 | 2014-12-11 | Veeam Software Ag | Virtual Machine Backup from Storage Snapshot |
US8924358B1 (en) * | 2010-05-06 | 2014-12-30 | Symantec Corporation | Change tracking of individual virtual disk files |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140201157A1 (en) * | 2013-01-11 | 2014-07-17 | Commvault Systems, Inc. | Systems and methods for rule-based virtual machine data protection |
-
2017
- 2017-02-14 EP EP17706180.1A patent/EP3538998B1/en active Active
- 2017-02-14 CN CN201780003442.3A patent/CN109154902A/zh active Pending
- 2017-02-14 CN CN202210054789.3A patent/CN114518979A/zh active Pending
- 2017-02-14 EP EP23192281.6A patent/EP4303732A3/en active Pending
- 2017-02-14 WO PCT/EP2017/053320 patent/WO2018149487A1/en unknown
- 2017-02-14 EP EP20212066.3A patent/EP3832466B1/en active Active
-
2019
- 2019-08-01 US US16/529,273 patent/US20190354442A1/en not_active Abandoned
-
2022
- 2022-11-30 US US18/072,422 patent/US20230086666A1/en active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8429359B1 (en) * | 2004-12-31 | 2013-04-23 | Symantec Operating Corporation | Method and apparatus for dynamically backing up database files |
US7509468B1 (en) * | 2006-02-02 | 2009-03-24 | Symantec Operating Corporation | Policy-based data protection |
US8250033B1 (en) * | 2008-09-29 | 2012-08-21 | Emc Corporation | Replication of a data set using differential snapshots |
US8924358B1 (en) * | 2010-05-06 | 2014-12-30 | Symantec Corporation | Change tracking of individual virtual disk files |
CN103154901A (zh) * | 2010-10-06 | 2013-06-12 | 国际商业机器公司 | 自动及自调节的数据备份操作 |
CN102346784A (zh) * | 2011-11-14 | 2012-02-08 | 苏州阔地网络科技有限公司 | 一种数据库备份的方法及系统 |
US20140365740A1 (en) * | 2013-06-10 | 2014-12-11 | Veeam Software Ag | Virtual Machine Backup from Storage Snapshot |
CN103617098A (zh) * | 2013-12-03 | 2014-03-05 | 上海爱数软件有限公司 | 基于数据变化的智能备份方法及智能备份系统 |
Also Published As
Publication number | Publication date |
---|---|
US20230086666A1 (en) | 2023-03-23 |
CN114518979A (zh) | 2022-05-20 |
EP4303732A2 (en) | 2024-01-10 |
US20190354442A1 (en) | 2019-11-21 |
EP3832466B1 (en) | 2023-10-04 |
EP3832466A1 (en) | 2021-06-09 |
WO2018149487A1 (en) | 2018-08-23 |
EP3538998B1 (en) | 2021-01-13 |
EP4303732A3 (en) | 2024-03-20 |
EP3538998A1 (en) | 2019-09-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10691491B2 (en) | Adapting a pre-trained distributed resource predictive model to a target distributed computing environment | |
US10489215B1 (en) | Long-range distributed resource planning using workload modeling in hyperconverged computing clusters | |
US10673981B2 (en) | Workload rebalancing in heterogeneous resource environments | |
US11586381B2 (en) | Dynamic scheduling of distributed storage management tasks using predicted system characteristics | |
US10567009B2 (en) | Dynamic erasure coding | |
CN107924323B (zh) | 基于依赖的容器部署 | |
US20200026560A1 (en) | Dynamic workload classification for workload-based resource allocation | |
US10983873B1 (en) | Prioritizing electronic backup | |
US20200026576A1 (en) | Determining a number of nodes required in a networked virtualization system based on increasing node density | |
GB2508161A (en) | Monitoring applications executing on a virtual machine and allocating the required resources to the virtual machine. | |
US10069906B2 (en) | Method and apparatus to deploy applications in cloud environments | |
US20220197514A1 (en) | Balancing The Number Of Read Operations And Write Operations That May Be Simultaneously Serviced By A Storage System | |
US9696982B1 (en) | Safe host deployment for a heterogeneous host fleet | |
US10614380B2 (en) | Dynamically adjusting system metric thresholds based on user specified system performance feedback | |
US20230086666A1 (en) | System and method for backup scheduling | |
TWI663548B (zh) | 用於時間配量儀器之電腦程式產品、電腦系統及方法 | |
US11562299B2 (en) | Workload tenure prediction for capacity planning | |
US9971785B1 (en) | System and methods for performing distributed data replication in a networked virtualization environment | |
US9588792B2 (en) | Method and system for sorting and bucketizing alerts in a virtualization environment | |
US20190173770A1 (en) | Method and system for placement of virtual machines using a working set computation | |
US10002173B1 (en) | System and methods for dynamically adjusting between asynchronous and synchronous data replication policies in a networked virtualization environment | |
US10855535B1 (en) | Method and system for managing virtual datacenters | |
Alrajeh et al. | Machine learning models for predicting timely virtual machine live migration | |
US11874851B2 (en) | Contextual replication profile creation based on data criticality | |
US10361925B1 (en) | Storage infrastructure scenario planning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |