CN112685170A - 备份策略的动态优化 - Google Patents
备份策略的动态优化 Download PDFInfo
- Publication number
- CN112685170A CN112685170A CN201910993270.XA CN201910993270A CN112685170A CN 112685170 A CN112685170 A CN 112685170A CN 201910993270 A CN201910993270 A CN 201910993270A CN 112685170 A CN112685170 A CN 112685170A
- Authority
- CN
- China
- Prior art keywords
- backup
- policies
- data
- clients
- client
- 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
Links
- 238000005457 optimization Methods 0.000 title description 9
- 238000000034 method Methods 0.000 claims abstract description 38
- 238000004590 computer program Methods 0.000 claims abstract description 22
- 238000007726 management method Methods 0.000 claims abstract description 12
- 230000003190 augmentative effect Effects 0.000 claims description 15
- 238000004891 communication Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 13
- 238000004088 simulation Methods 0.000 description 13
- 238000013459 approach Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 238000011084 recovery Methods 0.000 description 5
- 238000005070 sampling Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000003416 augmentation Effects 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- 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/122—File system administration, e.g. details of archiving or snapshots using management policies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1451—Management of the data involved in backup or backup restore by selection of backup contents
-
- 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/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1464—Management of the backup or restore process for networked environments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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/1466—Management of the backup or restore process to make the backup process non-disruptive
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
-
- 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/3409—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 for performance assessment
- G06F11/3433—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 for performance assessment for load management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开的实施例提供了一种备份管理方法、电子设备和计算机程序产品。该方法包括:确定分别用于数据备份系统的多个客户端的多个候选备份策略。该方法还包括:确定数据备份系统在要使用多个候选备份策略分别对多个客户端执行数据备份的情况下在时间上的预期负载均衡度。该方法还包括:确定数据备份系统在时间上的实际负载均衡度,数据备份系统正使用多个当前备份策略分别对多个客户端执行数据备份。该方法进一步包括:根据预期负载均衡度与实际负载均衡度的比较,在多个候选备份策略与多个当前备份策略之间选择要针对多个客户端分别使用的多个备份策略。本公开的实施例可以在保证客户端的备份性能的同时,提高数据备份系统的负载均衡度。
Description
技术领域
本公开的实施例一般地涉及计算机系统或存储系统,并且更特别地,涉及一种备份管理方法、电子设备和计算机程序产品。
背景技术
当前,在数据备份和数据保护的产品中,备份策略一般由系统管理员根据经验来设置。通常,一组客户端被添加到某个备份策略中,然后将在计划的备份开始时间同时触发该备份策略中的所有客户端的备份任务。取决于备份策略的规则,将客户端分配给备份策略是静态的或动态的,因此无法在数据备份系统运行时自动地在备份策略之间均衡客户端,从而提高数据备份系统在时间上的负载均衡度,同时又保持客户端的恢复点目标(RPO)。
然而,如果不同备份策略中的客户端分配不均衡,则在运行数据备份系统时可能会产生严重的问题,降低数据备份系统的性能,从而导致不良的用户体验。
发明内容
本公开的实施例涉及一种备份管理方法、电子设备和计算机程序产品。
在本公开的第一方面,提供了一种备份管理方法。该方法包括:确定分别用于数据备份系统的多个客户端的多个候选备份策略。该方法还包括:确定数据备份系统在要使用多个候选备份策略分别对多个客户端执行数据备份的情况下在时间上的预期负载均衡度。该方法还包括:确定数据备份系统在时间上的实际负载均衡度,数据备份系统正使用多个当前备份策略分别对多个客户端执行数据备份。该方法进一步包括:根据预期负载均衡度与实际负载均衡度的比较,在多个候选备份策略与多个当前备份策略之间选择要针对多个客户端分别使用的多个备份策略。
在本公开的第二方面,提供了一种电子设备。该电子设备包括至少一个处理器以及存储有计算机程序指令的至少一个存储器。至少一个存储器和计算机程序指令被配置为,与至少一个处理器一起,使得电子设备:确定分别用于数据备份系统的多个客户端的多个候选备份策略。至少一个存储器和计算机程序指令还被配置为,与至少一个处理器一起,使得电子设备:确定数据备份系统在要使用多个候选备份策略分别对多个客户端执行数据备份的情况下在时间上的预期负载均衡度。至少一个存储器和计算机程序指令还被配置为,与至少一个处理器一起,使得电子设备:确定数据备份系统在时间上的实际负载均衡度,数据备份系统正使用多个当前备份策略分别对多个客户端执行数据备份。至少一个存储器和计算机程序指令进一步被配置为,与至少一个处理器一起,使得电子设备:根据预期负载均衡度与实际负载均衡度的比较,在多个候选备份策略与多个当前备份策略之间选择要针对多个客户端分别使用的多个备份策略。
在本公开的第三方面,提供了一种计算机程序产品。该计算机程序产品被有形地存储在非易失性计算机可读介质上并且包括机器可执行指令。机器可执行指令在被执行时使机器执行根据第一方面的方法的步骤。
应当理解,发明内容部分中所描述的内容并非旨在限定本公开的实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其他特征通过以下的描述将变得容易理解。
附图说明
通过参考附图阅读下文的详细描述,本公开的实施例的上述以及其他目的、特征和优点将变得容易理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施例。
图1示出了本公开的实施例可以在其中实现的数据备份系统环境的示意图。
图2示出了根据本公开的实施例的示例备份管理方法的流程图。
图3示出了根据本公开的实施例的用于确定候选备份策略的二分图模型的示意图。
图4示出了根据本公开的实施例的用于执行备份策略动态优化的模块化系统架构。
图5A示出了传统的备份策略设置方式下的备份任务并发数的仿真采样结果。
图5B示出了根据本公开的实施例的备份策略动态优化方式下的备份任务并发数的仿真采样结果。
图6示出了一种可以被用来实施本公开的实施例的设备的示意性框图。
贯穿所有附图,相同或者相似的参考标号被用来表示相同或者相似的组件。
具体实施方式
下面将参考附图中所示出的若干示例性实施例来描述本公开的原理和精神。应当理解,描述这些具体的实施例仅是为了使本领域的技术人员能够更好地理解并实现本公开,而并非以任何方式限制本公开的范围。
如上文提到的,如果不同备份策略中的客户端分配不均衡,则在运行数据备份系统时可能会产生严重的问题,降低备份系统的性能,从而导致不良的用户体验。具体而言,在某个时间范围内,数据备份系统可能由于同时触发太多的备份任务而导致系统过载,因此将会累积备份任务在数据备份系统中,最终使得数据备份系统的稳定性降低,并且某些客户端可能会错过恢复点目标。另一方面,在另外的时间范围内,数据备份系统的负载又可能过低,这导致数据备份系统的资源未得到有效利用。
在传统的备份策略设置方法中,分配给备份策略的客户端是基于管理员经验来确定的。将客户端分配给备份策略后,数据备份系统就无法根据备份任务的执行时间来连续地优化客户端到备份策略的分配。在不同备份策略中的客户端分配不均衡的情况下,数据备份系统无法自动地进行调整,也无法通知用户。因此,在大多数情况下,数据备份系统的性能将急剧下降,甚至有时数据备份系统将会崩溃。
鉴于传统方案中存在的上述问题以及潜在的其他问题,本公开的实施例提出了一种用于备份管理的技术方案。在本公开的实施例中,将通过一种新方法来动态地均衡不同备份策略中的客户端,从而在有效使用数据备份系统资源的同时最大化客户端的服务水平。
在一些实施例中,所提出的均衡算法将根据归档的(也即,历史的)备份任务执行数据,来评估数据备份系统在当前备份策略下的实际负载均衡度。然后,数据备份系统可以根据若干因素针对每个备份策略来确定其对于每个客户端的适合程度,并且进行仿真以将客户端分配给候选备份策略,以使得所有客户端与各自的候选备份策略的适合程度的总和最大化。接着,数据备份系统可以根据仿真来确定数据备份系统在候选备份策略下的预期负载均衡度。如果预期负载均衡度好于当前的实际负载均衡度,则数据备份系统可以将候选备份策略分配给客户端,以在数据备份系统中实际应用。
与数据备份系统的传统方案相比,本公开的实施例可以动态地优化客户端到备份策略的分配方式,以确保数据备份系统在备份策略的备份时间窗口中的负载得到均衡。同时,数据备份系统还可以保证客户端的备份性能,例如,恢复点目标。此外,本公开的实施例还提供了合理的方法来衡量数据备份系统在备份策略方面的均衡度。下面结合图1至图5来详细地描述本公开的一些示例实施例。
图1示出了本公开的实施例可以在其中实现的数据备份系统环境100的示意图。在本文中,数据备份系统环境100也可以被称为数据备份系统100,其可以包括接受数据备份服务的多个客户端110-1、110-2、……、110-N,其中N为自然数。在下文中,为了描述的简便,多个客户端110-1、110-2、……、110-N也可以统称为多个客户端110或客户端110。如本文中所使用的,客户端(本文中也可以称为“资产”)一般可以包括被数据保护系统保护的数据对象。例如,目标机上的文件系统、数据库、虚拟机磁盘,等等。
为了进行数据备份,多个客户端110-1、110-2、……、110-N可以分别通过通信链路115-1、115-2、……、115-N(下文可以统称为通信链路115)连接到提供数据备份服务的计算设备120。例如,客户端110可以经由通信链路115把要备份的数据或文件传送到计算设备120,从计算设备120接收各种用于执行数据备份的控制信号,以及与计算设备120进行任何其他适当的数据通信,等等。在一些实施例中,计算设备120可以是备份服务器,其可以包括用于备份数据或文件的各种计算机。更一般地,备份服务器可以包括任何具有数据备份功能的计算机或其他计算设备。
为了控制和管理对各个客户端110的数据备份,计算设备120可以为客户端110配置备份策略。一般而言,备份策略可以用于控制客户端的数据备份行为。例如,备份策略可以指定所要应用到的客户端、备份开始的时间、执行备份的时间窗口、执行备份的方式、备份的重复周期、备份到哪个存储盘,等等。通常,数据备份系统100可以设置有多种不同的可用备份策略。下文为了描述的简便,这些可用备份策略可以称为可用备份策略1、可用备份策略2、……、可用备份策略M,其中M为自然数。因此,计算设备120可以在这些可用备份策略1至M中为客户端110选择适当的备份策略。
在图1所描绘的场景中,计算设备120正使用当前备份策略130-1、130-2……、130-N(统称为当前备份策略130)分别用于执行客户端110-1、110-2、……、110-N的数据备份。因为不同的当前备份策略130可能具有不同的备份开始时间并且应用到不同的客户端,而每个客户端的备份执行时长也可能不相同,所以数据备份系统100在不同的时间将具有不同的工作负载,例如,不同的时间存在不同数目的客户端同时执行数据备份。如上文分析和指出的,如果数据备份系统100在时间上的负载均衡度较低,则可能影响到数据备份系统100的性能。
为此,计算设备120还可以分别为客户端110-1、110-2、……、110-N确定候选备份策略140-1、140-2、……、140-N,下文可以统称为候选备份策略140。然后,计算设备120可以确定候选备份策略140是否能够改进数据备份系统100在时间上的负载均衡度。如果计算设备120确定候选备份策略140可以改进数据备份系统100在时间上的负载均衡度,则计算设备120可以将当前备份策略130替换为候选备份策略140,以执行客户端110的数据备份。反之,如果计算设备120预期候选备份策略140不能改进数据备份系统100在时间上的负载均衡度,则计算设备120可以继续使用当前备份策略130来执行客户端110的数据备份。在一些示例场景中,计算设备120可以按照一定的周期来定期地为客户端110确定候选备份策略140,以动态地优化数据备份系统100的负载均衡度。
在一些实施例中,客户端110可以是指能够生成数据并接受数据备份服务的任何设备。在一些实施例中,这样的设备包括但不限于,个人计算机、平板计算机、膝上型计算机、笔记本计算机、上网本计算机、任何其他类型的计算机、蜂窝电话或智能电话、媒体播放器设备、电子书设备、移动WiFi设备、可穿戴计算设备、无线设备、移动设备、用户设备、以及任何其他类型的电子计算设备。
在一些实施例中,计算设备120可以包括任何能够实现计算功能和/或控制功能的设备,包括但不限于,专用计算机、通用计算机、通用处理器、微处理器、微控制器、或状态机。计算设备120还可以实施为个体计算设备或计算设备的组合,例如,数字信号处理器(DSP)和微处理器的组合、多个微处理器、一个或多个微处理器结合DSP核心、或者任何其他这样的配置。另外要指出的是,在本公开的上下文中,计算设备120也可以称为电子设备120,这两个术语在本文中可以互换地使用。
在一些实施例中,通信链路115可以是能够实现客户端110与计算设备120之间的数据通信或控制信号通信的任何形式的连接或耦合,包括但不限于,同轴电缆、光纤电缆、双绞线、或无线技术(诸如红外、无线电和微波)。在一些实施例中,通信链路115还可以包括但不限于,网卡、集线器、调制解调器、中继器、网桥、交换机、路由器等用于网络连接的设备、以及各种网络连接线路、无线链路等。在一些实施例中,通信链路115可以包括各种类型的总线。在其他实施例中,通信链路115可以包括计算机网络、通信网络、或者其他有线或无线网络。
应当理解,图1仅示意性地示出了数据备份系统环境100中的与本公开的实施例相关的单元、模块或组件。在实践中,数据备份系统环境100还可以包括用于其他功能的其他单元、模块或组件。因此,本公开的实施例不限于图1所描绘的具体设备、单元、模块或组件,而是一般性地适用于任何可以执行文件或数据备份的系统环境。
图2示出了根据本公开的实施例的示例备份管理方法200的流程图。在一些实施例中,方法200可以由数据备份系统100中的计算设备120来实现,例如可以由计算设备120的处理器或处理单元来实现,或者由计算设备120的各种功能模块来实现。在其他实施例中,方法200也可以由独立于数据备份系统100的计算设备来实现,或者可以由数据备份系统100中的其他单元或模块来实现。
在210处,计算设备120确定分别用于数据备份系统100的多个客户端110-1至110-N的多个候选备份策略140-1至140-N。应当指出,计算设备120可以使用任何适当的方式来为多个客户端110-1至110-N分别确定出多个候选备份策略140-1至140-N。例如,针对客户端110中的每个客户端,计算设备120可以在数据备份系统100的可用备份策略1至M中随机地选择某种备份策略作为其候选备份策略。这种随机选择备份策略的方式可以简化计算设备120用于确定候选备份策略的处理过程,从而降低计算设备120的处理开销。
替换地或另外地,在为各个客户端110选择候选备份策略140时,计算设备120还可以考虑各个客户端110与各个可用备份策略1至M之间的适合程度(本文中也可以称为匹配度),以便为客户端选择更为适合的备份策略,从而优化各个客户端110的备份策略选择,同时保证每个客户端110的数据备份性能,例如恢复点目标。
具体地,在一些实施例中,对于多个客户端110-1至110-N中的每个客户端,针对多个可用备份策略1至M中的每个可用备份策略,计算设备120可以确定该可用备份策略对于该客户端的适合程度,以获得多个可用备份策略1至M对于该客户端的适合程度集合。例如,对于客户端110-1,计算设备120可以确定可用备份策略1对于客户端110-1的适合程度、可用备份策略2对于客户端110-1的适合程度、……、可用备份策略M对于客户端110-1的适合程度,从而得到可用备份策略1至M对于客户端110-1的适合程度集合。类似地,计算设备120可以确定这些可用备份策略1至M分别对于客户端110-2至110-N的适合程度集合。
在一些实施例中,计算设备120可以使用打分的方式来量化某个备份策略对于某个客户端的适合程度。作为一种示例,下面的表1列出了不同客户端110-1至110-N与不同的可用备份策略1至M之间的示例性的适合程度得分。
表1
可用备份策略1 | 可用备份策略2 | 可用备份策略3 | …… | |
客户端110-1 | 100 | 100 | 98 | |
客户端110-2 | 0 | 50 | 100 | |
客户端110-3 | 0 | 0 | 23 | |
…… |
在表1的具体示例中,可用备份策略1对于客户端110-1的适合程度得分为100,可用备份策略2对于客户端110-1的适合程度得分为100,可用备份策略3对于客户端110-1的适合程度得分为98。可用备份策略1对于客户端110-2的适合程度得分为0,可用备份策略2对于客户端110-2的适合程度得分为50,可用备份策略3对于客户端110-2的适合程度得分为100。可用备份策略1对于客户端110-3的适合程度得分为0,可用备份策略2对于客户端110-3的适合程度得分为0,可用备份策略3对于客户端110-3的适合程度得分为23。在这些分数中,适合程度得分100可以表示备份策略完全适合于客户端,而适合程度得分0可以表示备份策略完全不适合于客户端,其他介于0至100之间的得分可以表示不同大小的适合程度。
应当理解,表1中示出的具体数值仅为示例性的,无意以任何方式限制本公开的范围。在其他实施例中,备份策略对于客户端的适合程度可以使用任何其他适合的数值来表示,并且每个备份策略对于每个客户端可能具有任何适合程度数值。
在确定可用备份策略1至M对于多个客户端110-1至110-N的多个适合程度集合之后,计算设备120可以基于该多个适合程度集合来选择多个候选备份策略140-1至140-N。例如,计算设备120可以选择多个候选备份策略140-1至140-N,以使得多个客户端110-1至110-N与各自的候选备份策略140-1至140-N之间的适合程度总和最大。这意味着每个客户端都可以使用最适合的备份策略,这对于保证客户端的备份性能是有利的。
然而,这样的候选备份策略的选择方式可能导致某种备份策略下具有较多的客户端,从而在该备份策略的备份时间开始时,数据备份系统100将要同时针对较大数目的客户端执行数据备份。这可能会影响数据备份系统100的负载在时间上的均衡度。
因此,在一些实施例中,在确定多个候选备份策略140-1至140-N时,计算设备120可以选择多个候选备份策略140-1至140-N以使得多个可用备份策略1至M应用到的客户端数目基本相同,并且同时使得多个客户端110-1至110-N与各自的候选备份策略140-1至140-N之间的适合程度总和最大化。以此方式,计算设备120可以在保证客户端的备份性能的同时,提高数据备份系统100的负载均衡度。作为一种示例,计算设备120可以使用二分图模型的增广路径算法来获得多个候选备份策略140-1至140-N,这样的示例将在后文中结合图3来具体地描述。
一般而言,某种备份策略对于某个客户端的适合程度可能与备份策略和客户端双方或其他方的各种因素有关。例如,这些因素可以包括但不限于,客户端将要进行的数据备份所需要的备份执行时长、客户端在执行备份时的繁忙程度、备份策略的时间窗口长度、备份策略指定的备份开始时间、数据备份系统的系统维护时间窗口(在其期间无法执行数据备份)、客户端使用该备份策略将会对其他客户端造成的影响,等等。
因此,在确定可用备份策略1至M对于多个客户端110-1至110-N的适合程度时,计算设备120可以综合地将上述因素或可能的其他因素考虑在内。然而,将理解,上面所列出的各种因素仅是示例性的,并且无意以任何方式限制本公开的范围。在其他实施例中,计算设备120在确定可用备份策略与客户端之间的适合程度时,可以考虑到可能对该客户端或其他客户端造成影响的任何可能因素。
作为备份策略对于客户端的适合程度的考虑因素的一种示例,计算设备120可以确定可用备份策略的时间窗口长度是否适合于客户端所要进行的数据备份的备份执行时长。以此方式,计算设备120可以避免将备份执行时间较长的客户端设置到备份时间窗口较短的备份策略,而导致无法完成客户端的备份任务。此外,计算设备120还可以避免将备份执行时间较短的客户端设置到备份时间窗口较长的备份策略,而导致备份策略的备份时间窗口得不到充分利用。
具体地,针对客户端110-1至110-N中的给定客户端,例如客户端110-1,计算设备120可以基于客户端110-1的备份执行历史数据,来预测客户端110-1的备份执行时长。将明白,计算设备120可以使用任何适当的方式来预测客户端110-1的备份执行时长,例如,客户端110-1最近执行的几次数据备份的备份执行时长的平均时长可以作为客户端110-1的预测备份执行时长。
在其他实施例中,计算设备120还可以使用自回归综合移动平均值(ARMIA)模型,基于历史数据来估计客户端110-1的备份执行时长。自回归综合移动平均模型是指利用一个时间序列的观测值来预测未来时间的值,其本质上是一种线性回归模型。通常,该模型可以由如下的三个参数来确定:自回归项(AR)P,即当前时间点的观测值由前P个观测值回归确定;移动平均(MA)项Q,即当前时间点的观测值由前Q个时间点的预测误差回归确定;以及差分(I)D,指的是对输入序列在通过D阶差分之后得到的稳定序列。
在预测出客户端110-1的备份执行时长之后,计算设备120可以确定该备份执行时长与给定的可用备份策略(例如,可用备份策略1)的备份时间窗口长度的匹配度,来表示可用备份策略1对于客户端110-1的适合程度。例如,假设计算设备120预测出的客户端110-1的备份执行时长为2小时,而可用备份策略1的备份时间窗口长度也是2小时,则计算设备110可以确定两者的匹配度为100%,因此可用备份策略1完全适合于客户端110-1。又例如,假设计算设备120预测出的客户端110-1的备份执行时长为1小时,而可用备份策略1的备份时间窗口长度是2小时,则计算设备110可以确定两者的匹配度为50%,因此可用备份策略1中等适合于客户端110-1。
再例如,假设计算设备120预测出的客户端110-1的备份执行时长为3小时,而可用备份策略1的备份时间窗口长度是2小时,则计算设备110可以确定两者的匹配度为0%,因此可用备份策略1完全不适合于客户端110-1,因为可用备份策略1提供的备份时间窗口长度无法完成客户端110-1的本次数据备份操作。
作为备份策略对于客户端的适合程度的考虑因素的另一种示例,计算设备120可以考虑客户端在执行备份时与之同时进行备份的可用备份策略的数目的多少。通过这样的方式,计算设备120可以尽可能减小在执行某个客户端的数据备份时其他客户端的并发数据备份,以保证客户端的数据备份性能。
具体地,通过上文所描述的预测客户端的备份执行时长的方式,计算设备120可以基于客户端110-1至110-N中的给定客户端(例如客户端110-1)的备份执行历史数据,来预测客户端110-1的备份执行时长。接着,计算设备120可以基于给定的可用备份策略(例如,可用备份策略1)所指示的备份开始时间和客户端110-1的预测备份执行时长,来确定客户端110-1的预测备份执行时间段。例如,假设计算设备120预测出的客户端110-1的备份执行时长为2小时,并且可用备份策略1的备份开始时间为上午8点,则计算设备120可以确定客户端110-1的预测备份执行时间段为上午8点至上午10点。
然后,在多个可用备份策略1至M中,计算设备120可以确定备份开始时间在所确定的上述备份执行时间段期间的可用备份策略的数目。例如,继续上面的示例,计算设备120可以确定有多少个可用备份策略指定的备份开始时间落在上午8点至上午10点期间。接着,计算设备120可以在确定可用备份策略对于给定客户端的适合程度时,使得所确定的适合程度与上述数目负相关。
换言之,继续上面的示例,在客户端110-1的预测备份时间段期间将要开始的可用备份策略的数目越大,则可用备份策略1越不适合于客户端110-1。这是因为将要在上述预测备份时间段期间开始的可用备份策略的数目越大,则可能意味着在客户端110-1执行数据备份的同时有更多数目的其他客户端将要同时执行数据备份。这可能降低客户端110-1的数据备份性能,并且可能影响到其他客户端的数据备份的执行。
继续参考图2,在220处,在为多个客户端110-1至110-N确定出候选备份策略140-1至140-N之后,计算设备120确定数据备份系统100在要使用多个候选备份策略140-1至140-N分别对多个客户端110-1至110-N执行数据备份的情况下在时间上的预期负载均衡度。换言之,计算设备120假设客户端110-1使用候选备份策略140-1,客户端110-2使用候选备份策略140-2,……,客户端110-N使用候选备份策略140-N。然后,计算设备120确定数据备份系统100在这种情况下在时间上的预期负载均衡度。
将理解,计算设备120可以使用任何适当的方式来确定上述预期负载均衡度。作为一种示例,计算设备120可以基于数据备份系统100在不同的单位时间段内将要执行的备份任务总数,来确定上述预期负载均衡度,其中每个备份任务可以用于为一个客户端执行数据备份。例如,假设数据备份系统100在上午9点至10点之间的备份任务总数为124,而在上午10点至11点之间的备份任务总数仅为23,则计算设备120可以确定数据备份系统100将会具有较低的预期负载均衡度。又例如,假设数据备份系统100在上午9点至10点之间的备份任务总数为124,而在上午10点至11点之间的备份任务总数为123,则计算设备120可以确定数据备份系统100将会具有较高的预期负载均衡度。通过这种单位时间段的分析方式,计算设备120可以降低用于确定上述预期负载均衡度的计算开销。
替换地,在其他实施例中,计算设备120可以仿真数据备份系统100在使用多个候选备份策略140-1至140-N期间的多个时间点处的多个备份任务并发数,其中每个备份任务用于为多个客户端110-1至110-N中的一个客户端执行数据备份。作为一种具体示例,计算设备120所确定出的数据备份系统100在多个时间点处的多个备份任务并发数可以如下面的表2所示。
表2
在表2的示例中,计算设备120可以仿真得出数据备份系统100在8:00时的备份任务并发数为123,在8:05时的备份任务并发数为121,……,在19:25时的备份任务并发数为121,等等。应当理解,表2中示出的具体时刻和具体数值仅为示例性的,无意以任何方式限制本公开的范围。在其他实施例中,计算设备120可能在任何时刻采样到任何数目的并发任务数。
然后,计算设备120可以确定仿真得到的多个备份任务并发数的标准差,以表示预期负载均衡度。由于该标准差并不是实际发生的而是预测得出的,所以本文中也称为预期标准差。例如,计算设备120可以计算上面表2中的各个并发任务数的标准差。该预期标准差即可以指示多个客户端110-1至110-N分别使用多个候选备份策略140-1至140-N的情况下数据备份系统100的预期负载均衡度。通过这种方式,计算设备120可以定量地且精确地确定上述预期负载均衡度。
在一些实施例中,计算设备120可以使用计算机编程语言实现的衡量关于备份策略的均衡度的算法来得出上述预测负载均衡度。例如,该算法的基本思想可以是,每个备份策略都使用预定的开始时间进行定义。在数据备份系统100的系统时间达到备份策略的计划开始时间的情况下,数据备份系统100将为备份策略中包含的每个客户端生成一个备份任务。随着时间的流逝,备份任务将在数据备份系统100中执行并完成。因此,计算设备120可以使用预测的备份任务执行时间、仿真的备份系统时间、以及备份任务状态,来根据时间戳获取活动的备份任务数目的样本。然后,计算设备120可以分析活动备份任务数目的分散程度,以评估数据备份系统100在使用多个备份策略用于多个客户端110-1至110-N时的负载均衡度。
该算法的输入可以是备份策略对象和客户端对象。每个备份策略对象都具有一个计划的备份开始时间,并且备份策略对象可以包括客户端对象。每个客户端对象都具有一个预计的备份任务执行时间。如上文描述的,计算设备120可以使用自回归综合移动平均值模型,基于历史数据来估计客户端的备份任务执行时间。该算法的输出可以是重复周期中活动任务数目的标准偏差值。
在一些实施例中,计算设备120可以使用计算机编程语言编写的主函数来评估数据备份系统100在使用多个备份策略用于多个客户端110-1至110-N时的负载均衡度。主函数所要实现的过程可以包括以下步骤。步骤一,为每个客户端设置仿真的备份开始时间,其可以是相应备份策略的预定开始时间。步骤二,根据计划的备份开始时间对备份策略列表在时间上进行排序。步骤三,定义仿真的备份系统时间范围,其可以是从第一个备份策略的计划的备份开始时间到数据备份系统100的系统维护时间窗口的开始时间。步骤四,定义一个仿真时间来代表当前的数据备份系统100的时间,并更改备份任务的状态。同时,在当前的数据备份系统100的时间处采样活动的备份任务数目。步骤五,重复步骤四,直到仿真的数据备份系统100的时间达到维护时间窗口的开始时间为止。步骤六,计算采样到的样本的标准偏差值。
在一些实施例中,计算设备120还可以使用计算机编程语言编写的函数来更新每个客户端的备份任务的仿真开始时间。此外,计算设备120还可以使用计算机编程语言编写的函数来更改备份任务的状态以及仿真的数据备份系统100的时间。
继续参考图2,在230处,计算设备120确定数据备份系统100在时间上的实际负载均衡度,该实际负载均衡度是在数据备份系统100正使用多个当前备份策略130-1至130-N分别对多个客户端110-1至110-N执行数据备份的情况下确定的。将理解,类似于确定预期负载均衡度,计算设备120可以使用任何适当的方式来确定上述实际负载均衡度。
作为示例,计算设备120可以基于数据备份系统100在过去的不同单位时间段内执行的备份任务总数,来确定上述实际负载均衡度。例如,假设数据备份系统100在上午9点至10点之间的备份任务总数为124,而在上午10点至11点之间的备份任务总数仅为23,则计算设备120可以确定数据备份系统100当前具有较低的实际负载均衡度。又例如,假设数据备份系统100在上午9点至10点之间的备份任务总数为124,而在上午10点至11点之间的备份任务总数为123,则计算设备120可以确定数据备份系统100当前具有较高的实际负载均衡度。通过这种单位时间段的分析方式,计算设备120可以降低用于确定上述实际负载均衡度的计算开销。
替换地,在其他实施例中,计算设备120可以基于数据备份系统100的备份执行历史数据,来确定数据备份系统100在使用多个当前备份策略130-1至130-N期间的多个历史时间点处的多个备份任务并发数,其中每个备份任务用于为多个客户端110-1至110-N中的一个客户端执行数据备份。作为一种具体示例,计算设备120所确定出的数据备份系统100在多个时间点处的多个备份任务并发数可以如下面的表3所示。
表3
时间戳 | 并发任务数 |
8:00 | 108 |
8:05 | 106 |
8:10 | 106 |
8:15 | 105 |
… | |
10:00 | 23 |
… | |
12:25 | 230 |
12:30 | 228 |
… | |
19:25 | 2 |
如表3所示,计算设备120可以从历史数据中得出数据备份系统100在8:00时的实际备份任务并发数为108,在8:05时的实际备份任务并发数为106,……,在19:25时的实际备份任务并发数为2,等等。应当理解,表3中示出的具体时刻和具体数值仅为示例性的,无意以任何方式限制本公开的范围。在其他实施例中,计算设备120可能在任何时刻具有任何数目的并发任务数。
然后,计算设备120可以确定从历史数据得到的多个备份任务并发数的标准差,以表示实际负载均衡度。由于该标准差是实际发生的,所以本文中也称为实际标准差。例如,计算设备120可以计算上面表3中的各个并发任务数的标准差。该实际标准差即可以指示多个客户端110-1至110-N使用多个当前备份策略130-1至130-N的情况下数据备份系统100的实际负载均衡度。通过这样的方式,计算设备120可以定量地且精确地确定上述实际负载均衡度。
继续参考图2,在240处,计算设备120根据所确定的预期负载均衡度与所确定的实际负载均衡度的比较,在多个候选备份策略140-1至140-N与多个当前备份策略130-1至130-N之间选择要针对多个客户端110-1至110-N分别使用的多个备份策略。
例如,如果计算设备120确定数据备份系统100的预期负载均衡度大于实际负载均衡度,则计算设备120可以使用多个候选备份策略140-1至140-N替换多个当前备份策略130-1至130-N,来分别执行多个客户端110-1至110-N的数据备份。另一方面,如果计算设备120确定数据备份系统100的预期负载均衡度不大于实际负载均衡度,则计算设备120可以继续使用多个当前备份策略130-1至130-N,来分别执行多个客户端110-1至110-N的数据备份。
如上文提到的,在一些实施例中,在多个可用备份策略1至M对于多个客户端110-1至110-N的多个适合程度集合的基础上,计算设备120可以使用二分图模型的增广路径算法来确定出优化的多个候选备份策略140-1至140-N。以此方式,计算设备120可以利用成熟的模型和算法来优化对多个候选备份策略140-1至140-N的选取,从而提高优化的候选备份策略140-1至140-N的确定效率和准确性。下面结合图3来描述这种方式的具体示例。
图3示出了根据本公开的实施例的用于确定候选备份策略140的二分图模型300的示意图。如图3所示,多个客户端110-1至110-N在二分图模型300中可以表示为客户端节点集合310,其可以包括与客户端110-1相对应的客户端节点310-1、与客户端110-2相对应的客户端节点310-2、与客户端110-3相对应的客户端节点310-3、以及与客户端110-4相对应的客户端节点310-4,等等。
类似地,数据备份系统100的多个可用备份策略1至M在二分图模型300中可以表示为备份策略节点集合320,其可以包括与可用备份策略1相对应的备份策略节点320-1、与可用备份策略2相对应的备份策略节点320-2、与可用备份策略3相对应的备份策略节点320-3,等等。
每个客户端节点310与备份策略节点320之间的连线上的数值表示该备份策略对于该客户端的适合程度分数。将理解,图3中所示出的具体数值仅为示例性的,无意以任何方式限制本公开的范围。在其他实施例中,客户端节点310中的任何客户端节点与备份策略节点320中的任何备份策略节点之间可以具有任何适当程度分数。
继续使用上文的示例,要匹配的客户端数量为N(客户端110-1至110-N),而备份策略的数量为M(可用备份策略1至M)。每个客户端都具有与每个备份策略相对应的适合程度得分。在数学上,可以使用一个N×M的矩阵来表示N个客户端与M个备份策略之间的适合程度得分,例如,
此外,对于客户端节点集合310和备份策略集合320,还存在一些约束条件。例如,一个客户端节点只能与一个备份策略节点匹配,一个备份策略节点可以匹配多个客户端节点,每个备份策略节点的匹配客户端节点的数目要尽可能相同,最终的匹配结果应当确保所有匹配客户端与匹配备份策略之间的匹配度之和最大。该算法的输入是每个客户端节点对应每个备份策略节点的权重值(也即,适合程度得分)组成的二维数组。该算法所要得到的输出是客户端节点和备份策略节点之间的匹配对的数组。
通过二分图模型的增广路径算法来选择候选备份策略140的过程可以描述如下。首先,创建一个二分图,其中一个子集是包含所有的客户端节点,另外一个子集包含所有的备份策略节点。此外,对每个备份策略节点设置最大的匹配容量,也即,每个备份策略节点最多能匹配的客户端节点的数量。
然后,针对每个客户端节点,找到一个最大的权重值。例如,一个客户端节点对三个备份策略节点(这里假设只有三个备份策略节点存在于二分图里)的权重值是100、93、80。那么,可以通过“针对最大权重值设置基准”的方法找到最大权重值为100,并将其作为基准存放到对应的客户端节点。备份策略节点的基准的值初始化为0。这是因为,如果现在就返回匹配结果100,那么将会使得某些备份策略节点匹配的客户端节点超过最大的匹配容量值,这不是需要的结果。因此,可以通过下面寻找增广路径来调整匹配。
接着,针对每个客户端节点,遍历所有的备份策略节点。如果某个备份策略节点的基准值和这个客户端节点的基准值之和是它们的权重值,而且对应的策略节点的容量还足够,那么就将它们的匹配关系保存。如果备份策略节点容量不够,那么就确定能否从已经匹配到这个策略节点的所有客户端节点找到一个客户端节点,使其匹配到另外的策略节点上,但是保持匹配的权重值不变。这是因为,有可能一个客户端节点对多个策略节点的权重值是一样的。这个过程可以称为寻找增广路径。还可能出现的情况是既找不到增广路径,也超出了策略节点的容量限制。此时可以利用下面提供的方法去替换出一个已经匹配的客户端节点。
具体地,替换出的客户端节点必须使得已有的总权重值减少得最小。这个过程是通过“找出最小减少权重匹配”的方法来实现的。首先找出最小衰退值,然后将已经访问的客户端节点和备份策略节点的基准值总和减少,减少的量为最小衰退值。如果是已经访问的客户端节点和备份策略节点,那么两个基准值加起来还是跟原来的一样,但是针对未被访问的节点,再重复之前的步骤,这样就会找到增广路径。然后,调整客户端节点和备份策略节点的匹配结果。如果还是找不到增广路径,那么再重复减小权重匹配直到找到为止。
在一些实施例中,计算设备120可以使用计算机编程语言编写的主函数在二分图中找到最大的权重匹配。主函数所要实现的过程可以包括以下步骤。步骤一,找到一个最大权重值作为每个客户端节点的基准。步骤二,对于每个客户端节点,尝试找到一个增广路径。在增广路径中,如果两个关联的客户端节点和备份策略节点的基准值之和最大,并且备份策略节点具有足够的容量,则将这两个节点标记为匹配对。否则,如果备份策略节点没有足够的容量,则尝试从已匹配的客户端节点中查找路径,直到尝试所有的备份策略节点为止。步骤三,如果没有找到增广路径,则尝试根据权重定义为已访问的客户端节点和未访问的备份策略节点找到最小降低的基准值。最后,为访问的客户端节点和备份策略节点调整基准值,以确保有效的子图(由匹配对组成)具有最大基准值。步骤四,重复步骤二以找到增广路径,直到所有客户端节点都已匹配。
在一些实施例中,计算设备120还可以使用计算机编程语言编写的函数为客户端节点分配最大权重作为基准。此外,在一些实施例中,计算设备120还可以使用计算机编程语言编写的函数来查找增广路径,如果找到增广路径,则更新匹配对。另外,如果未找到增广路径,则计算设备120可以使用计算机编程语言编写的函数来查找已访问客户端节点和未访问备份策略节点的最小减小的权重值,并且为当前子图中的节点调整基准值。
图4示出了根据本公开的实施例的用于执行备份策略动态优化的模块化系统架构400。应当明白,图4中示出的具有各种模块的系统架构400可以认为是图1的计算设备120的一种具体实施方式。因此,在此所描绘的系统架构400的各种模块仅是示例,无意以任何方式限制本公开的范围。在其他实施例中,计算设备120可以采用任何其他适当的系统架构,其可以包括更多或更少的模块,或者包括与所示出的模块不同的模块。
如图4所示,系统架构400可以包括系统调度器模块405、备份策略均衡优化器模块410、备份策略匹配模块415、备份策略管理模块420、适合程度加权模块425、备份策略库430、客户端活动状态检测模块435、备份任务执行时间预测模块440、备份任务调度和执行模块455和备份任务存档模块450。在一些实施例中,系统调度器模块405可以用于控制数据备份系统的调度,备份策略均衡优化器模块410可以用于优化数据备份系统的备份策略均衡度,并且备份策略匹配模块415可以用于将可用的备份策略匹配到不同的客户端。
此外,备份策略管理模块420可以用于管理备份策略,适合程度加权模块425可以用于计算备份策略对于客户端的适合程度,备份策略库430可以用于存放各种备份策略,客户端活动状态检测模块435可以用于检测客户端的活动状态,备份任务执行时间预测模块440可以用于预测客户端的备份任务的执行时间,备份任务调度和执行模块455可以用于调度和执行针对客户端的备份任务,并且备份任务存档模块450可以用于将已执行的备份任务的各种信息进行存档。
在一些实施例中,为了执行备份策略的动态优化,系统调度器模块405可以触发462备份策略均衡优化器模块410,以固定间隔动态地均衡备份策略中的客户端。接着,备份策略均衡优化器模块410可以评估464当前的备份策略均衡度,也即,数据备份系统在使用当前备份策略情况下的当前负载均衡度。为此,备份策略均衡优化器模块410可以从备份任务存档模块450中获取备份任务执行的历史记录,并且根据上一个重复周期中的时间点对并发任务数进行采样。
例如,对于所有按天运行的备份策略,数据备份系统可以根据计划的备份开始时间对备份策略进行排序。然后,数据备份系统可以将根据备份任务的状态(从第一个备份策略到最后一个策略)以固定的时间间隔(例如,5分钟)来衡量并发备份任务数。最后,数据备份系统将获得如上文中的表3所示的样本数据。
然后,备份策略均衡优化器模块410可以计算所有样本的标准差,并且使用该标准差来衡量数据备份系统在使用当前备份策略用于各个客户端时的负载均衡度。接着,备份策略均衡优化器模块410可以从备份策略管理模块420获取466所有备份策略定义,并根据备份策略的重复周期、计划的备份开始时间、和备份时间窗口对备份策略进行分类。然后,备份策略均衡优化器模块410可以将备份策略的类型、重复周期、备份时间窗口、调度时间、所应用到的客户端传递468给适合程度加权模块425。
然后,适合程度加权模块425可以从客户端活动状态检测模块435获得470客户端的活动或在线的时间段,并且从备份任务执行时间预测模块440获得472客户端的备份任务执行时间。接着,适合程度加权模块425根据每个备份策略计算每个客户端的匹配度,并将匹配度矩阵传递474给备份策略匹配模块415。例如,匹配度矩阵可以具有如上文的表1的形式。
然后,备份策略匹配模块415可以将所有客户端分配给不同的备份策略,以最大程度地提高匹配度的总和,并且确保每个备份策略中的客户端数量尽可能相同。接着,备份策略匹配模块415可以将仿真的匹配结果传递476给备份策略均衡优化器模块410。然后,备份策略均衡优化器模块410可以根据备份任务的执行仿真来计算478仿真的备份策略均衡度。接着,备份策略均衡优化器模块410可以将仿真的负载均衡度与已有实际负载均衡度进行比较。如果仿真的负载均衡度值大于实际负载均衡度,则备份策略均衡优化器模块410可以通知480备份策略管理模块420根据仿真结果重新将客户端分配到不同的备份策略中。
本公开的实施例的对于传统方案的改进已经通过仿真得到验证。例如,在示例仿真中,随机生成10个备份策略,每个备份策略随机分配若干个客户端。此外,将为每个客户端随机分配一个预测的执行时间。下面的图5A和图5B示出了相关的仿真结果。
图5A示出了传统的备份策略设置方式下的备份任务并发数的仿真采样结果。在图5A中,横轴表示在不同的时间所采样的样本的索引号,而纵轴表示备份任务并发数,曲线510表示传统的备份策略设置方式下的备份任务并发数随着不同时间采样的样本的变化曲线。
图5B示出了根据本公开的实施例的备份策略动态优化方式下的备份任务并发数的仿真采样结果。在图5B中,横轴表示在不同的时间所采样的样本的索引号,而纵轴表示备份任务并发数,曲线520表示本公开的实施例的备份策略动态优化方式下的备份任务并发数随着不同时间采样的样本的变化曲线。
从图5A和图5B中显示的仿真结果可以计算得到,传统的备份策略设置方式下的备份任务并发数的标准差大约为50.6(图5A),而根据本公开的实施例的备份策略动态优化方式下的备份任务并发数的标准差改进为大约40.7(图5B)。因此,本公开的实施例所提出的优化备份策略的方法可以显著改善数据备份系统在不同时间的并发备份任务数目的均衡度,并且同时确保客户端的备份性能,例如,恢复点目标。
图6示意性地示出了一种可以被用来实施本公开的实施例的设备600的框图。在一些实施例中,设备600可以是电子设备,其可以用于实施图1中的计算设备120。如图6中所示出的,设备600包括中央处理单元(CPU)601,其可以根据存储在只读存储设备(ROM)602中的计算机程序指令或者从存储单元608加载到随机访问存储设备(RAM)603中的计算机程序指令,来执行各种适当的动作和处理。在RAM 603中,还可存储设备600操作所需的各种程序和数据。CPU601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
设备600中的多个部件连接至I/O接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的各个过程和处理,例如方法200可由处理单元601来执行。例如,在一些实施例中,方法200可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由ROM 602和/或通信单元609而被载入和/或安装到设备600上。当计算机程序被加载到RAM603并由CPU 601执行时,可以执行上文描述的方法200的一个或多个步骤。
如本文所使用的,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。本文还可能包括其他明确的和隐含的定义。
如本文所使用的,术语“确定”涵盖各种各样的动作。例如,“确定”可以包括运算、计算、处理、导出、调查、查找(例如,在表格、数据库或另一数据结构中查找)、查明等。此外,“确定”可以包括接收(例如,接收信息)、访问(例如,访问存储器中的数据)等。此外,“确定”可以包括解析、选择、选取、建立等。
应当注意,本公开的实施例可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。
此外,尽管在附图中以特定顺序描述了本公开的方法的操作,但是这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤组合为一个步骤执行,和/或将一个步骤分解为多个步骤执行。还应当注意,根据本公开的两个或更多装置的特征和功能可以在一个装置中具体化。反之,上文描述的一个装置的特征和功能可以进一步划分为由多个装置来具体化。
虽然已经参考若干具体实施例描述了本公开,但是应当理解,本公开不限于所公开的具体实施例。本公开旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等效布置。
Claims (17)
1.一种备份管理方法,包括:
确定分别用于数据备份系统的多个客户端的多个候选备份策略;
确定所述数据备份系统在要使用所述多个候选备份策略分别对所述多个客户端执行数据备份的情况下在时间上的预期负载均衡度;
确定所述数据备份系统在时间上的实际负载均衡度,所述数据备份系统正使用多个当前备份策略分别对所述多个客户端执行数据备份;以及
根据所述预期负载均衡度与所述实际负载均衡度的比较,在所述多个候选备份策略与所述多个当前备份策略之间选择要针对所述多个客户端分别使用的多个备份策略。
2.根据权利要求1所述的方法,其中确定所述多个候选备份策略包括:
针对所述多个客户端中的每个客户端,
针对多个可用备份策略中的每个可用备份策略,确定所述可用备份策略对于所述客户端的适合程度,以获得所述多个可用备份策略对于所述客户端的适合程度集合;以及
基于所述多个客户端的多个所述适合程度集合来选择所述多个候选备份策略。
3.根据权利要求2所述的方法,其中确定所述适合程度包括:针对所述客户端中的给定客户端,
基于所述给定客户端的备份执行历史数据,来预测所述给定客户端的备份执行时长;以及
确定所述备份执行时长与所述多个可用备份策略中的给定可用备份策略的备份时间窗口长度的匹配度。
4.根据权利要求2所述的方法,其中确定所述适合程度包括:
基于所述客户端中的给定客户端的备份执行历史数据,来预测所述给定客户端的备份执行时长;
基于所述多个可用备份策略中的给定可用备份策略指示的备份开始时间和所述给定客户端的备份执行时长,来确定所述给定客户端使用所述给定可用备份策略的备份执行时间段;
在所述多个可用备份策略中,确定备份开始时间在所述备份执行时间段期间的可用备份策略的数目;以及
使所述适合程度与所述数目负相关。
5.根据权利要求2所述的方法,其中所述多个候选备份策略被选择以使得:
所述多个可用备份策略应用到的客户端数目基本相同;以及
所述多个客户端与各自的候选备份策略之间的适合程度总和最大化。
6.根据权利要求5所述的方法,其中选择所述多个候选备份策略包括:
使用二分图模型的增广路径算法来获得所述多个候选备份策略。
7.根据权利要求1所述的方法,其中确定所述预期负载均衡度包括:
仿真所述数据备份系统在使用所述多个候选备份策略期间的多个时间点处的多个备份任务并发数,每个备份任务用于为所述多个客户端中的一个客户端执行数据备份;以及
确定所述多个备份任务并发数的预期标准差,所述预期标准差指示所述预期负载均衡度。
8.根据权利要求1所述的方法,其中确定所述实际负载均衡度包括:
基于所述数据备份系统的备份执行历史数据,来确定所述数据备份系统在使用所述多个当前备份策略期间的多个历史时间点处的多个备份任务并发数,每个备份任务用于为所述多个客户端中的一个客户端执行数据备份;以及
确定所述多个备份任务并发数的实际标准差,所述实际标准差指示所述实际负载均衡度。
9.一种电子设备,包括:
至少一个处理器;以及
存储有计算机程序指令的至少一个存储器,所述至少一个存储器和所述计算机程序指令被配置为,与所述至少一个处理器一起,使得所述电子设备:
确定分别用于数据备份系统的多个客户端的多个候选备份策略;
确定所述数据备份系统在要使用所述多个候选备份策略分别对所述多个客户端执行数据备份的情况下在时间上的预期负载均衡度;
确定所述数据备份系统在时间上的实际负载均衡度,所述数据备份系统正使用多个当前备份策略分别对所述多个客户端执行数据备份;以及
根据所述预期负载均衡度与所述实际负载均衡度的比较,在所述多个候选备份策略与所述多个当前备份策略之间选择要针对所述多个客户端分别使用的多个备份策略。
10.根据权利要求9所述的电子设备,其中所述至少一个存储器和所述计算机程序指令被配置为,与所述至少一个处理器一起,使得所述电子设备通过以下来确定所述多个候选备份策略:
针对所述多个客户端中的每个客户端,
针对多个可用备份策略中的每个可用备份策略,确定所述可用备份策略对于所述客户端的适合程度,以获得所述多个可用备份策略对于所述客户端的适合程度集合;以及
基于所述多个客户端的多个所述适合程度集合来选择所述多个候选备份策略。
11.根据权利要求10所述的电子设备,其中所述至少一个存储器和所述计算机程序指令被配置为,与所述至少一个处理器一起,使得所述电子设备通过以下来确定所述适合程度:针对所述客户端中的给定客户端,
基于所述给定客户端的备份执行历史数据,来预测所述给定客户端的备份执行时长;以及
确定所述备份执行时长与所述多个可用备份策略中的给定可用备份策略的备份时间窗口长度的匹配度。
12.根据权利要求10所述的电子设备,其中所述至少一个存储器和所述计算机程序指令被配置为,与所述至少一个处理器一起,使得所述电子设备通过以下来确定所述适合程度:
基于所述客户端中的给定客户端的备份执行历史数据,来预测所述给定客户端的备份执行时长;
基于所述多个可用备份策略中的给定可用备份策略指示的备份开始时间和所述给定客户端的备份执行时长,来确定所述给定客户端使用所述给定可用备份策略的备份执行时间段;
在所述多个可用备份策略中,确定备份开始时间在所述备份执行时间段期间的可用备份策略的数目;以及
使所述适合程度与所述数目负相关。
13.根据权利要求10所述的电子设备,其中所述多个候选备份策略被选择以使得:
所述多个可用备份策略应用到的客户端数目基本相同;以及
所述多个客户端与各自的候选备份策略之间的适合程度总和最大化。
14.根据权利要求13所述的电子设备,其中所述至少一个存储器和所述计算机程序指令被配置为,与所述至少一个处理器一起,使得所述电子设备通过以下来选择所述多个候选备份策略:
使用二分图模型的增广路径算法来获得所述多个候选备份策略。
15.根据权利要求9所述的电子设备,其中所述至少一个存储器和所述计算机程序指令被配置为,与所述至少一个处理器一起,使得所述电子设备通过以下来确定所述预期负载均衡度:
仿真所述数据备份系统在使用所述多个候选备份策略期间的多个时间点处的多个备份任务并发数,每个备份任务用于为所述多个客户端中的一个客户端执行数据备份;以及
确定所述多个备份任务并发数的预期标准差,所述预期标准差指示所述预期负载均衡度。
16.根据权利要求9所述的电子设备,其中所述至少一个存储器和所述计算机程序指令被配置为,与所述至少一个处理器一起,使得所述电子设备通过以下来确定所述实际负载均衡度:
基于所述数据备份系统的备份执行历史数据,来确定所述数据备份系统在使用所述多个当前备份策略期间的多个历史时间点处的多个备份任务并发数,每个备份任务用于为所述多个客户端中的一个客户端执行数据备份;以及
确定所述多个备份任务并发数的实际标准差,所述实际标准差指示所述实际负载均衡度。
17.一种计算机程序产品,所述计算机程序产品被有形地存储在非易失性计算机可读介质上并且包括机器可执行指令,所述机器可执行指令在被执行时使机器执行根据权利要求1-8中任一项所述的方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910993270.XA CN112685170B (zh) | 2019-10-18 | 2019-10-18 | 备份策略的动态优化 |
US16/807,191 US11500735B2 (en) | 2019-10-18 | 2020-03-03 | Dynamic optimization of backup policy |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910993270.XA CN112685170B (zh) | 2019-10-18 | 2019-10-18 | 备份策略的动态优化 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112685170A true CN112685170A (zh) | 2021-04-20 |
CN112685170B CN112685170B (zh) | 2023-12-08 |
Family
ID=75445096
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910993270.XA Active CN112685170B (zh) | 2019-10-18 | 2019-10-18 | 备份策略的动态优化 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11500735B2 (zh) |
CN (1) | CN112685170B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113076224A (zh) * | 2021-05-07 | 2021-07-06 | 中国工商银行股份有限公司 | 数据备份方法、数据备份系统、电子设备及可读存储介质 |
CN113467994A (zh) * | 2021-07-01 | 2021-10-01 | 建信金融科技有限责任公司 | 一种数据备份方法、系统及电子设备、存储介质 |
CN114466019A (zh) * | 2022-04-11 | 2022-05-10 | 阿里巴巴(中国)有限公司 | 分布式计算系统、负载均衡方法、设备及存储介质 |
WO2022247219A1 (zh) * | 2021-05-25 | 2022-12-01 | 深圳前海微众银行股份有限公司 | 一种信息备份方法、设备及平台 |
CN116961738A (zh) * | 2023-09-21 | 2023-10-27 | 中国西安卫星测控中心 | 一种航天测控网关键跟踪弧段的异地非完全备份方法 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11461186B2 (en) * | 2020-05-08 | 2022-10-04 | Sap Se | Automatic backup strategy selection |
KR102398076B1 (ko) * | 2020-10-30 | 2022-05-13 | 펜타시큐리티시스템 주식회사 | 데이터 분산 저장 방법 및 장치 |
US11573728B2 (en) * | 2021-06-17 | 2023-02-07 | Bank Of America Corporation | System and method for dynamically calculating and executing data backup policies for a multi-tenant cluster storage |
CN114040019B (zh) * | 2021-11-09 | 2023-10-27 | 合肥城市云数据中心股份有限公司 | 一种基于客户端代理的备份灾备装置数据采集传输方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6026425A (en) * | 1996-07-30 | 2000-02-15 | Nippon Telegraph And Telephone Corporation | Non-uniform system load balance method and apparatus for updating threshold of tasks according to estimated load fluctuation |
CN103379545A (zh) * | 2012-04-16 | 2013-10-30 | 华为技术有限公司 | 一种负载均衡方法和装置 |
WO2015131699A1 (zh) * | 2014-10-17 | 2015-09-11 | 中兴通讯股份有限公司 | 负载均衡的方法及装置 |
CN106790636A (zh) * | 2017-01-09 | 2017-05-31 | 上海承蓝科技股份有限公司 | 一种云计算服务器集群的均衡负载系统及方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6104962A (en) * | 1998-03-26 | 2000-08-15 | Rockwell Technologies, Llc | System for and method of allocating processing tasks of a control program configured to control a distributed control system |
US8112397B2 (en) * | 2007-12-26 | 2012-02-07 | Symantec Operating Corporation | Automatically adjusting a number of backup data sources concurrently backed up to a storage device on a server computer |
US8566285B2 (en) * | 2008-05-28 | 2013-10-22 | International Business Machines Corporation | Method and system for scheduling and controlling backups in a computer system |
US20090307283A1 (en) * | 2008-06-04 | 2009-12-10 | International Business Machines Corporation | Dynamic backup window optimization apparatus and method |
US9864659B2 (en) * | 2015-11-10 | 2018-01-09 | International Business Machines Corporation | Scheduling and executing a backup |
US10817198B2 (en) * | 2019-02-15 | 2020-10-27 | Wipro Limited | Method and system for realtime optimization of load on plurality of backup storage devices |
-
2019
- 2019-10-18 CN CN201910993270.XA patent/CN112685170B/zh active Active
-
2020
- 2020-03-03 US US16/807,191 patent/US11500735B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6026425A (en) * | 1996-07-30 | 2000-02-15 | Nippon Telegraph And Telephone Corporation | Non-uniform system load balance method and apparatus for updating threshold of tasks according to estimated load fluctuation |
CN103379545A (zh) * | 2012-04-16 | 2013-10-30 | 华为技术有限公司 | 一种负载均衡方法和装置 |
WO2015131699A1 (zh) * | 2014-10-17 | 2015-09-11 | 中兴通讯股份有限公司 | 负载均衡的方法及装置 |
CN106790636A (zh) * | 2017-01-09 | 2017-05-31 | 上海承蓝科技股份有限公司 | 一种云计算服务器集群的均衡负载系统及方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113076224A (zh) * | 2021-05-07 | 2021-07-06 | 中国工商银行股份有限公司 | 数据备份方法、数据备份系统、电子设备及可读存储介质 |
CN113076224B (zh) * | 2021-05-07 | 2024-02-27 | 中国工商银行股份有限公司 | 数据备份方法、数据备份系统、电子设备及可读存储介质 |
WO2022247219A1 (zh) * | 2021-05-25 | 2022-12-01 | 深圳前海微众银行股份有限公司 | 一种信息备份方法、设备及平台 |
CN113467994A (zh) * | 2021-07-01 | 2021-10-01 | 建信金融科技有限责任公司 | 一种数据备份方法、系统及电子设备、存储介质 |
CN113467994B (zh) * | 2021-07-01 | 2022-12-23 | 建信金融科技有限责任公司 | 一种数据备份方法、系统及电子设备、存储介质 |
CN114466019A (zh) * | 2022-04-11 | 2022-05-10 | 阿里巴巴(中国)有限公司 | 分布式计算系统、负载均衡方法、设备及存储介质 |
CN114466019B (zh) * | 2022-04-11 | 2022-09-16 | 阿里巴巴(中国)有限公司 | 分布式计算系统、负载均衡方法、设备及存储介质 |
CN116961738A (zh) * | 2023-09-21 | 2023-10-27 | 中国西安卫星测控中心 | 一种航天测控网关键跟踪弧段的异地非完全备份方法 |
CN116961738B (zh) * | 2023-09-21 | 2023-12-26 | 中国西安卫星测控中心 | 一种航天测控网关键跟踪弧段的异地非完全备份方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112685170B (zh) | 2023-12-08 |
US20210117283A1 (en) | 2021-04-22 |
US11500735B2 (en) | 2022-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112685170B (zh) | 备份策略的动态优化 | |
Masdari et al. | A survey and classification of the workload forecasting methods in cloud computing | |
CN108009016B (zh) | 一种资源负载均衡控制方法及集群调度器 | |
Dinesh Reddy et al. | Energy-aware virtual machine allocation and selection in cloud data centers | |
Zhu et al. | A performance interference model for managing consolidated workloads in QoS-aware clouds | |
CN104123189A (zh) | 一种基于IaaS层应用感知的Web多层应用动态资源调整方法 | |
US9588813B1 (en) | Determining cost of service call | |
CN111752706B (zh) | 资源配置方法、装置及存储介质 | |
Hou et al. | AlphaR: Learning-powered resource management for irregular, dynamic microservice graph | |
Mogouie et al. | A novel approach for optimization auto-scaling in cloud computing environment | |
CN114895773A (zh) | 异构多核处理器的能耗优化方法、系统、装置及存储介质 | |
Monshizadeh Naeen et al. | Adaptive Markov‐based approach for dynamic virtual machine consolidation in cloud data centers with quality‐of‐service constraints | |
Lu et al. | InSTechAH: Cost-effectively autoscaling smart computing hadoop cluster in private cloud | |
CN104735063B (zh) | 一种用于云基础设施的安全评测方法 | |
CN117435306A (zh) | 集群容器扩缩容方法、装置、设备及存储介质 | |
Marinho et al. | LABAREDA: a predictive and elastic load balancing service for cloud-replicated databases | |
CN116360921A (zh) | 一种面向电力物联网的云平台资源优化调度方法及系统 | |
CN116501468A (zh) | 批量作业处理方法、装置及电子设备 | |
Handaoui et al. | Salamander: a holistic scheduling of mapreduce jobs on ephemeral cloud resources | |
Yassir et al. | Graph-based model and algorithm for minimising big data movement in a cloud environment | |
Xia et al. | Age-aware query evaluation for big data analytics in mobile edge clouds | |
Xue et al. | Proactive management of systems via hybrid analytic techniques | |
Dhok et al. | Using pattern classification for task assignment in mapreduce | |
Xue et al. | Scheduling data analytics work with performance guarantees: queuing and machine learning models in synergy | |
Mampage et al. | A deep reinforcement learning based algorithm for time and cost optimized scaling of serverless applications |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |