CN114218012A - 用于在集群系统中备份和恢复数据的方法和系统 - Google Patents

用于在集群系统中备份和恢复数据的方法和系统 Download PDF

Info

Publication number
CN114218012A
CN114218012A CN202111479052.8A CN202111479052A CN114218012A CN 114218012 A CN114218012 A CN 114218012A CN 202111479052 A CN202111479052 A CN 202111479052A CN 114218012 A CN114218012 A CN 114218012A
Authority
CN
China
Prior art keywords
node
data
backup
restore
nodes
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
Application number
CN202111479052.8A
Other languages
English (en)
Inventor
周忠毅
代文豪
高雪东
李勃
王雪清
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.)
EMC Corp
Original Assignee
EMC IP Holding Co LLC
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 EMC IP Holding Co LLC filed Critical EMC IP Holding Co LLC
Priority to CN202111479052.8A priority Critical patent/CN114218012A/zh
Publication of CN114218012A publication Critical patent/CN114218012A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • G06F11/1469Backup restoration techniques
    • 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/1479Generic software techniques for error detection or fault masking
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • 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/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating
    • 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
    • G06F11/1464Management of the backup or restore process for networked environments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3409Recording 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/3433Recording 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3452Performance evaluation by statistical analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using 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)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Retry When Errors Occur (AREA)
  • Hardware Redundancy (AREA)

Abstract

本公开的实施例提供了用于在集群系统中的备份和恢复数据的方法、系统以及计算机可读存储介质。该方法包括获取该备份和恢复代理模块周期性收集的该节点的性能数据;基于该性能数据,预测该节点的工作负载;基于预测的该工作负载,从该节点中选择用于从当前承担数据备份和恢复任务的工作节点接管该数据的备份和恢复任务的备用节点。

Description

用于在集群系统中备份和恢复数据的方法和系统
分案申请说明
本申请是申请日为2017年4月17日、申请号为201710250421.3、名称为“用于在集群系统中备份和恢复数据的方法和系统”的中国发明专利申请的分案申请。
技术领域
本公开涉及集群环境中的数据管理与保护。更具体地,本申请涉及具有共享的存储系统的集群环境中的数据备份和恢复方法和系统。
背景技术
对于大规模数据中心,集群环境是一个重要的场景。而数据的备份和恢复工作对于保障集群环境的信息安全是至关重要的。通过数据的备份和恢复工作可以实现历史数据的归档,同时也可以防止因意外事件导致的数据丢失。
用于在集群系统中备份和恢复数据的传统方法通常依赖于专用的代理节点。由于整个集群系统的数据备份和恢复工作质量完全依赖于该专用代理节点的性能,如果该专用代理节点出现工作失灵,或当该专用代理节点的硬件配置容量较低的时候,将明显拖累整个集群系统的性能。
发明内容
本公开提供一种用于在集群系统中的备份和恢复数据的方法和系统,能够提高集群系统的容错性,使得即便是集群系统中的单一节点出现失灵,也能够顺利完成数据的备份和恢复任务。
根据本公开的第一方面,提供了一种在集群系统中管理节点的备份和恢复数据的方法,该集群系统中的每个节点配置有备份和恢复代理模块,该方法包括:获取备份和恢复代理模块周期性收集的节点的性能数据;基于性能数据,预测节点的工作负载;基于预测的工作负载,从节点中选择用于从当前承担数据备份和恢复任务的工作节点接管该数据的备份和恢复任务的备用节点。
根据本公开的第二方面,还提供一种用于在集群系统中备份和恢复数据的管理系统,该集群系统中的每个节点配置有备份和恢复代理模块,管理系统为集群系统中的管理节点,该管理系统包括:存储器,被配置为存储一个或多个程序;处理单元,耦合至存储器并且被配置为执行该一个或多个程序使该管理系统执行多个动作,该动作包括:获取备份和恢复代理模块周期性收集的节点的性能数据;基于性能数据,预测节点的工作负载;基于预测的工作负载,从节点中选择用于从当前承担数据备份和恢复任务的工作节点接管数据的备份和恢复任务的备用节点。
根据本公开的第三方面,提供了一种用于在集群系统中各节点的备份和恢复数据的代理方法,该节点中包括管理节点,代理方法包括:周期性获取节点的性能数据;将性能数据卸载给管理节点;接收管理节点关于备用节点的调用,该备用节点用于接管数据备份和恢复任务;响应于检测到节点切换的请求,备用节点从当前承担数据备份和恢复任务的工作节点接管数据备份和恢复任务。
根据本公开的第四方面,提供了一种用于在集群系统中备份和恢复数据的代理系统,该集群系统中的每个节点配置有备份和恢复代理模块,代理系统为集群系统中的代理节点,该代理系统包括:存储单元,被配置为存储一个或多个程序;处理器,耦合至存储单元并且被配置为执行该一个或多个程序使代理系统执行多个动作,该动作包括:周期性获取该节点的性能数据;将该性能数据卸载给该管理节点;接收该管理节点关于备用节点的调用,该备用节点用于接管数据备份和恢复任务;响应于检测到节点切换的请求,该备用节点从当前承担数据备份和恢复任务的工作节点接管该数据备份和恢复任务。
根据本公开的第五方面,提供了一种计算机可读存储介质,其上存储了一个或多个计算机程序,当该程序由处理器运行时执行本公开的第一或三方面该用在集群系统中的备份和恢复数据的方法。
提供发明内容部分是为了简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。发明内容部分无意标识本公开的关键特征或主要特征,也无意限制本公开的范围。
附图说明
通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施例中,相同的参考标号通常代表相同部件。
图1示出了传统的集群系统100的架构图;
图2示出了根据本公开的实施例的集群系统200的架构图;
图3示出了根据本公开的实施例的用于在集群系统中管理节点的备份和恢复数据的方法300的流程图;
图4示出了根据本公开的实施例的用于获知当前数据备份与恢复任务停止位置的方法400的流程图;
图5示出了根据本公开的实施例的用于在集群系统中各节点的备份和恢复数据的代理方法500的流程图;
图6示意性示出了适于用来实现本公开实施例的电子设备600的框图;
图7示意性示出了根据本公开的一个实现的用于控制数据备份的装置700的框图;
图8示意性示出了根据本公开的一个实现的用于控制数据备份的装置800的框图。
在各个附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施例。虽然附图中显示了本公开的优选实施例,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
如上文所描述的,传统的用于在集群系统中备份和恢复数据的方法通常基于专用的代理节点。例如,图1示出了传统的集群系统100的架构图。如图1所示,集群系统100中包括主备份服务器102和多个节点,例如110、120和130。此外,集群系统100还包括网络140、存储盘106和116等。用于集群系统100中各节点数据备份和恢复的代理模块112(如程序)仅仅被配置在该集群系统中的一个专用节点110之上。节点120和130为备份客户端,其可以是应用程序服务器、数据库和文件服务器。在上述方法中,整个集群系统100的数据备份和恢复服务质量完全依赖于该专用代理节点110的性能及运行状态。如果该专用节点出现失灵,将导致整个集群系统无法正常地进行数据备份和恢复工作,因此造成整个集群系统的容错性比较差,即鲁棒性较差。如果该专用节点具有较低硬件配置或者工作负载过重,将导致整个集群系统的数据备份和恢复服务瘫痪或者性能低下。
为了至少部分地解决上述问题以及其他潜在问题中的一个或者多个,本公开的示例实施例提出了一种集群系统的数据备份和恢复解决方案。该方案利用将备份和恢复代理模块配置在集群系统中的每一个节点上,使得集群系统的所有节点都能够承担数据的备份和恢复任务。此外,该方案通过设置管理节点,使管理节点例如(但不限于)通过指数平均数指标(EMA)算法预测各节点的工作负载,智能地选择一个节点作为接管当前数据备份和恢复任务的备用节点。由于上述方案利用了管理节点基于各节点的工作负载预测来选择适合或积极的节点作为备用节点,来接管当前数据备份和恢复任务,因此,一旦个别工作节点出现失误或者工作负载过重,管理节点所选择的备用节点能够迅速接管当前数据备份和恢复任务,进而显著地提高了集群系统的数据备份和恢复系统的容错性,并且有利于集群系统更好地实现动态负载平衡。
图2示出了根据本公开的实施例的集群系统200的架构图。应当理解,如图2所示的系统200的结构和功能仅用于示例的目的,而不暗示对于本公开的范围的任何限制。本公开的实施例可以被体现在不同的结构和/或功能中。
如图2所示,集群系统200例如是由通过网络互联的多个节点组成的并行或分布式系统,每个节点构成集群系统200的一个单元,所述节点包括管理节点202和节点1至N,在图2中示例性地通过204表示节点1、206表示节点2,208表示的节点N。在一些实施例中,节点1至N可以包含本地节点和远程节点。
在一些实施例中,集群系统200能够实现数据共享,例如通过共享存储器,例如共享磁盘结构的方式实现数据共享,也可以通过共享内存结构的方式实现数据共享。在一些实施例中,集群系统200的各节点之间可以通过I/O总线连接到共享存储上,这个共享磁盘除了数据外还能存储检查点文件或关键系统镜像,以便在节点失效时恢复,从而提高集群的可用性。另外由于磁盘上的数据共享,能保持很好的一致性,并且避免了节点间的数据交换。
如图2所示,在集群系统200中每个节点上都配置有备份和恢复代理模块。该备份和恢复代理模块用于控制所在节点执行数据的备份和恢复操作,例如将数据拷贝到存储介质上,另外该备份和恢复代理模块还用于对备份数据进行管理,例如在线收集所在节点的与数据备份相关的性能数据。例如,在节点1中配置有备份代理模块212和恢复代理模块214,在节点2中配置有备份代理模块216和恢复代理模块218,在节点N中配置有备份代理模块220和恢复代理模块222。该备份和恢复代理模块可以是专用的处理设备,也可以由相应的程序指令实现,例如由存储在各节点中存储器内的程序指令所实现。由于集群系统中的所有节点上都配置了备份和恢复代理模块,使得集群系统的所有节点可以都具备承担数据的备份和恢复任务的能力。因此解决了传统的数据备份和恢复方案中仅有专用节点承担数据备份和恢复任务而导致的容错性差的问题。
关于节点1至N,由于其上配置了备份和恢复代理模块,节点1至N在集群系统200中可以同时具备备份客户端和备份服务器的功能。也就是说,在节点1至N上不仅仅存在需要备份的数据,而且能够按照管理节点的指令接管数据的备份和恢复任务,将数据复制到备份介质上并保存历史备份信息。在一些实施例中,节点1至N可以具有耦合于其中的存储器,例如缓存。缓存可以用于将数据临时存储在例如动态随机访问存储器(DRAM)中。此外,节点1至N还可以与共享存储器260相耦合,并且在合适的时间将临时存储在缓存中的数据写入到共享存储器260中。共享存储器260可以是任何目前已知或者将来开发的非易失性存储介质,例如磁盘、固态盘(SSD)或磁盘阵列等等。
关于管理节点202,其在集运系统200中主要承担主备份服务器的功能,用于安排备份和恢复工作。在一些实施例中,管理节点202还用于维护数据的存放介质。在管理节点202上也配置了备份代理模块230和恢复代理模块232。其中备份代理模块230用于调用在节点1至N上的备份和恢复代理模块,以便控制数据备份任务的执行;恢复代理模块232用于调用在节点1至N上的备份和恢复代理模块,以便控制数据恢复任务的执行。此外,管理节点202上还配置了性能数据收集模块234、工作负载预测与备用节点选择模块236、元数据管理器模块238和调度器模块240。
关于性能数据收集模块234,其用于通过节点1至N上的备份和恢复代理模块周期性地获取节点1至N的性能数据。也就是说,每个节点1至N上的备份和恢复代理模块在周期性地收集节点的性能数据以后,将性能数据卸载给管理节点202的性能数据收集模块234。在一些实施例中,性能数据收集模块234更优选获取每个本地节点的性能数据。这主要是考虑,获取节点性能数据的目的是为了基于所获得的性能数据预测各节点的工作负载,从而选择最佳的备用节点,以便在适当的时机接管当前数据备份和恢复任务。而远程节点执行数据备份和恢复任务时,其性能例如会受到网络带宽的影响。因此,例如,在集群系统200出现大规模工作节点失灵的情况下,高优先级选择本地节点接管数据备份和恢复任务,低优先级选择远程节点接管数据备份和恢复任务。基于这些考虑,性能数据收集模块234更优选获取每个本地节点的性能数据。
关于工作负载预测与备用节点选择模块236,其用于基于性能数据收集模块234所收集的性能数据预测各节点的工作负载,以及从节点中选择用于从当前承担数据备份和恢复任务的工作节点接管所述数据的备份和恢复任务的备用节点。在一些实施例中,工作负载预测与备用节点选择模块236例如(但不限于)基于指数平均数指标(EMA)算法预测各节点的工作负载。采用指数平均数指标(EMA)算法进行负载预测与备用节点的选择主要是考虑到工作负载预测这一应用场景的特殊性。经研究发现,距离节点切换时间越近的工作负载情况对于判断该节点是否适于充当备用节点的参考价值越大,反之,距离节点切换时间越远的工作负载情况对于决策的影响越小。而指数平均数指标(EMA)算法的特点是:其观察值的加权是随时间而指数式递减,也就是说,时间周期越靠近当今时刻,它的观察值权重越大。指数平均数指标(EMA)算法的上述特点使其利于准确体现各节点近期工作负载观察值取值情况对于工作负载的准确预测更具参考价值,进而适于解决准确预测各节点工作负载的问题。除了指数平均数指标(EMA)算法之外,工作负载预测与备用节点选择模块236还可以采用其他算法用于工作负载预测。
关于元数据管理器模块238,其用于使系统获知多少数据已被备份和恢复以及多少数据需要被备份和恢复。在一些实施例中,该元数据管理器模块238周期性地建立检查点,以便记录已经备份和恢复数据的信息、将要备份和恢复数据的信息;当需要工作节点的切换时候,例如,个别工作节点出现失灵、负载过重或者到了用户预设的备份时机,集群系统200会产生节点切换请求或指令。元数据管理器模块238响应于检测到节点切换的请求,读取最近一次建立的检测点,进而获取当前已经备份和恢复数据的信息、将要备份和恢复数据的信息,以便让系统获知多少数据已被备份/恢复以及多少数据需要被备份/恢复,即获知当前数据备份和恢复工作停止的大致位置。
关于调度器模块240,其用于响应于备用节点的选定结果,调用备用节点。在一些实施例中,当工作负载预测与备用节点选择模块236选定了用于接管所述数据的备份和恢复任务的备用节点,调度器模块240响应于该备用节点的选定,调用备用节点以便唤醒该备用节点。在一些实施例中,如果备用节点未被唤醒,调度器模块240例如通知工作负载预测与备用节点选择模块236重新选择下一个备用节点。
图3示出了根据本公开的实施例的用于在集群系统中管理节点的备份和恢复数据的方法300流程图。以下结合如图2所述的存储系统200来描述方法300中所涉及的操作或动作。为了方便讨论,不失一般性地,以如图2所示的管理节点202和节点1-N为例来描述方法300。在图3中,各个动作例如由管理节点202执行。方法300还可以包括未示出的附加动作和/或可以省略所示出的动作,本公开的范围在此方面不受限制。
在框302,管理节点202获取所述备份和恢复代理模块周期性收集的所述节点的性能数据。在一些实施例中,管理节点202周期性地,例如每15分钟获取每个节点的性能数据,并周期性地将性能数据发送给工作负载预测与备用节点选择模块236。在一些实施例中,该性能数据主要涉及各节点中与数据备份和恢复工作相关的资源使用情况,例如包括(但不限于)以下至少一项或多项的相关的数据:节点的处理单元的使用情况、节点的存储器使用情况和节点的I/O情况。例如,从节点1获取的性能数据包括:节点1的处理单元的使用数据例如是Ytcpu1、I/O数据例如是Ytio1、存储器使用数据例如是Ytmem1;从节点N获取的性能数据包括:节点N的处理单元的使用数据例如是YtcpuN、I/O数据例如是YtioN、存储器使用数据例如是YtmemN
在框304,管理节点202基于所述性能数据,预测所述节点的工作负载。在一些实施例中,管理节点202采用指数平均数指标(EMA)算法预测所述节点的工作负载。指数平均数指标(EMA)算法为指数式递减加权的移动平均算法,指数平均数指标(EMA)算法例如在计算机上使用递回算法实现。其公式例如是:
St=α×Yt+(1-α)×St-1
其中α表示平滑系数或者称为加权因子,平滑系数α代表加权减少的程度,为一个0和1之间的常数。更高数值的平滑系数α通常意味着更快地扣减之前的观察值;Yt表示在时间周期t的性能数据;St表示在时间周期t的指数平均数指标取值(下文将其简称为EMA值)。例如,以处理单元使用情况的EMA值的计算为例。例如,平滑系数取值α=2/(t+1),其中t表示周期。如果周期为10,则平滑系数取值α为2/11,那么当前周期t的处理单元使用情况的EMA值可以通过用2/11乘以当前周期t的处理单元使用情况数据Ytcpu,再利用9/11乘以上一周期(t-1)的EMA值,然后将两次乘积的结果相加来计算。通过前文提到的算法公式可知,处理单元使用情况的EMA值的计算过程实际上是重复迭代的过程,也就是为了逼近所需结果,每一次迭代得到的EMA值结果会作为下一次迭代的初始值。在一些实施例中,通过先分别计算节点处理单元使用情况的EMA值Stcpu、I/O情况的EMA值Stio和存储器使用情况的EMA值Stmem,然后例如通过将同一节点的EMA值Stcpu、EMA值Stio和EMA值Stmem分别乘以各自的权重再进行叠加,进而获得该节点的工作负载的EMA值St。下表1示例性地给出分别针对节点1-N计算其工作负载的EMA值St1、St2或StN时,需要基于对应节点的Stcpu、Stio和Stmem的值进行计算。需要强调的是,这些数值或者符号仅仅是示例,无意以任何方式限制本公开的范围。
表1
Figure BDA0003394739510000101
在框306,管理节点202基于预测的所述工作负载,从所述节点中选择用于从当前承担数据备份和恢复任务的工作节点接管所述数据的备份和恢复任务的备用节点。在一些实施例中,管理节点202可以选择下一周期最为空闲的节点作为备用节点,以便在收到节点切换的指令时接管数据备份与恢复任务的。在一些实施例中,管理节点202可以选择性能数据最佳的节点作为备用节点。如前文所述,管理节点202可以优先在本地节点中选择节点作为备用节点,次优先级选择需要占用网络资源的远程节点。这里所谓的本地节点是相对于被备份数据的节点而言是本地的,也就是说,当备用节点接管任务进行实际的数据备份与恢复时不会因网络带宽的影响拖累数据备份与恢复的速度。
在一些实施例中,管理节点202还可以具备调用被选节点的功能。例如,在框308,当工作负载预测与备用节点选择模块236选定了用于接管所述数据的备份和恢复任务的备用节点,管理节点202通过调度器模块240调用备用节点以便唤醒备用节点。
在一些实施例中,管理节点202还可以具备获知当前数据备份与恢复任务停止位置的功能。例如,在框310,管理节点202获取已经备份和恢复数据的信息、将要备份和恢复数据的信息。以下结合如图4所述的方法400中所涉及的操作或动作来描述框310,例如包括图4所示的方法400中的操作。图4示出了根据本公开的实施例的用于获知当前数据备份与恢复任务停止位置的方法400的流程图。如图4所示,在框402,管理节点202周期性建立检测点,以便记录数据备份与恢复执行进度相关的信息;在框404,,判断是否检测到节点切换的请求?如果检测到节点切换的请求,响应于检测到节点切换的请求,读取最近一次建立的检测点;在框406,获取当前已经备份和恢复数据的信息、将要备份和恢复数据的信息。
图5示出了根据本公开的实施例的用于在集群系统中各节点的备份和恢复数据的代理方法500的流程图。以下结合如图2所述的存储系统200来描述方法500中所涉及的动作。为了方便讨论,不失一般性地,以如图2所示的管理节点202和节点1-N为例来描述方法500。在图5中,各个动作例如由节点1-N执行。方法500还可以包括未示出的附加动作和/或可以省略所示出的动作,本公开的范围在此方面不受限制。
在框502,节点1-N周期性获取所在节点的性能数据。在一些实施例中,节点1-N上配置的数据备份和恢复代理模块周期性收集所在节点的性能数据。例如每隔15分钟,也可以其他合适的时间间隔还收集所在节点的性能数据。如上文描述的,该性能数据主要涉及所在节点与数据备份和恢复相关的资源使用情况,例如包括以下至少一项或多项的相关的数据:节点的处理单元的使用情况、节点的存储器使用情况和节点的I/O情况。
在框504,节点1-N将所述性能数据卸载给管理节点。在一些实施例中,节点1-N将性能数据卸载给管理节点202的性能数据收集模块234。
在框506,接收所述管理节点关于备用节点的调用,该备用节点用于接管数据备份和恢复任务。在一些实施例中,当管理节点202完成备用节点的选择后,管理节点202的调度器模块发送信号调用该备用节点。在一些实施例中,如果当前节点为备选的备用节点,其接收管理节点202关于备用节点的调用后被唤醒,以便准备接管数据备份和恢复任务。
在框508和510,响应于检测到节点切换的请求,所述备用节点从当前承担数据备份和恢复任务的工作节点接管数据备份和恢复任务。在一些实施例中,当作为备用节点的当前节点检测到节点切换的请求时,所述备用节点读取管理节点202获取的当前已经备份和恢复数据的信息、将要备份和恢复数据的信息,从当前承担数据备份和恢复任务的工作节点,自数据备份和恢复任务停止的位置接管数据备份和恢复任务。
图6示意性示出了适于用来实现本公开实施例的电子设备600的框图。设备600可以用于实现图2的管理节点或节点1-N中的一个或多个主机。如图所示,设备600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的计算机程序指令或者从存储单元608加载到随机访问存储器(RAM)603中的计算机程序指令,来执行各种适当的动作和处理。在RAM603中,还可存储设备600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
设备600中的多个部件连接至I/O接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理单元601执行上文所描述的各个方法和处理,例如执行用于控制数据备份的方法300、400和500。例如,在一些实施例中,方法300、400和500可被实现为计算机软件程序,其被存储于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由ROM 602和/或通信单元609而被载入和/或安装到设备600上。当计算机程序加载到RAM 603并由CPU 601执行时,可以执行上文描述的方法300、400和500的一个或多个操作。备选地,在其他实施例中,CPU 601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法300、400和500的一个或多个动作。
图7示意性示出了根据本公开的一个实现的用于控制数据备份的装置700的框图。在一些实施例中,该装置700包括多个模块,每个模块与方法500中的框对应一致。在一些实施例中,该装置还可以是一种计算机程序产品。所述计算机程序产品被存储在计算机存储介质中并且包括机器可执行指令,所述机器可执行指令在设备中运行时使得所述设备执行方法500中的各个框或者动作。如图7所示,该装置700包括:性能数据获取模块702,用于周期性获取所述节点的性能数据;性能数据卸载模块704,用于将所述性能数据卸载给所述管理节点;相应备用节点调用模块706,用于接收所述管理节点关于备用节点的调用,所述备用节点用于接管数据备份和恢复任务;任务接管模块708,用于响应于检测到节点切换的请求,所述备用节点从当前承担数据备份和恢复任务的工作节点接管所述数据备份和恢复任务。
图8示意性示出了根据本公开的一个实现的用于控制数据备份的装置800的框图。在一些实施例中,该装置800包括多个模块,每个模块与方法300中的框对应一致。在一些实施例中,该装置还可以是一种计算机程序产品。所述计算机程序产品被存储在计算机存储介质中并且包括机器可执行指令,所述机器可执行指令在设备中运行时使得所述设备执行方法300中的各个框或者动作。如图8所示,该装置800包括:性能数据收集模块802,其用于获取备份和恢复代理模块周期性收集的各节点的性能数据;工作负载预测模块804,其用于基于性能数据,预测各节点的工作负载;备用节点选择模块806,其用语基于预测的工作负载,从各节点中选择用于从当前承担数据备份和恢复任务的工作节点接管数据的备份和恢复任务的备用节点。
本公开可以是方法、装置、系统和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
以上所述仅为本公开的可选实施例,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等效替换、改进等,均应包含在本公开的保护范围之内。

Claims (6)

1.一种用于集群系统中的节点中的每个节点处的备份和恢复数据的代理方法,所述节点包括管理节点,所述代理方法包括:
周期性获取所述节点的性能数据;
将所述性能数据卸载给所述管理节点;
从所述管理节点接收对备用节点的调用,所述备用节点用于接管数据备份和恢复任务;以及
响应于检测到节点切换的请求,由所述备用节点从当前承担所述数据备份和恢复任务的工作节点接管所述数据备份和恢复任务。
2.根据权利要求1所述的代理方法,其中从当前承担所述数据备份和恢复任务的工作节点接管所述数据备份和恢复任务包括:
获取当前已经被备份和恢复的数据的信息、以及将被备份和恢复的数据的信息;以及
基于所述信息,在进行中的所述数据备份和恢复任务被停止的位置处接管所述数据备份和恢复任务。
3.根据权利要求1所述的代理方法,其中所述获取所述节点的性能数据包括获取与以下至少一项相关联的数据:
所述节点的处理单元的使用情况,
所述节点的存储器使用情况,以及
所述节点的I/O情况。
4.一种用于集群系统中的数据备份和恢复的代理系统,所述集群系统中的节点中的每个节点配置有备份和恢复代理模块,所述代理系统为集群系统中的代理节点,所述代理系统包括:
存储单元,被配置为存储一个或多个程序;以及
处理器,耦合至所述存储单元,并且被配置为执行所述一个或多个程序使所述代理系统执行多个动作,所述动作包括:
周期性获取所述节点的性能数据;
将所述性能数据卸载给所述管理节点;
从所述管理节点接收对备用节点的调用,所述备用节点用于接管数据备份和恢复任务;以及
响应于检测到节点切换的请求,由所述备用节点从当前承担所述数据备份和恢复任务的工作节点接管所述数据备份和恢复任务。
5.根据权利要求4所述的代理系统,其中从当前承担所述数据备份和恢复任务的工作节点接管所述数据备份和恢复任务包括:
获取当前已经被备份和恢复的数据的信息、以及将被备份和恢复的数据的信息;以及
基于所述信息,在进行中的所述数据备份和恢复任务被停止的位置处接管所述数据备份和恢复任务。
6.根据权利要求4所述的代理系统,其中获取所述节点的性能数据包括获取与以下至少一项相关联的数据:
所述节点的处理单元的使用情况,
所述节点的存储器使用情况,以及
所述节点的I/O情况。
CN202111479052.8A 2017-04-17 2017-04-17 用于在集群系统中备份和恢复数据的方法和系统 Pending CN114218012A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111479052.8A CN114218012A (zh) 2017-04-17 2017-04-17 用于在集群系统中备份和恢复数据的方法和系统

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202111479052.8A CN114218012A (zh) 2017-04-17 2017-04-17 用于在集群系统中备份和恢复数据的方法和系统
CN201710250421.3A CN108733509B (zh) 2017-04-17 2017-04-17 用于在集群系统中备份和恢复数据的方法和系统

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201710250421.3A Division CN108733509B (zh) 2017-04-17 2017-04-17 用于在集群系统中备份和恢复数据的方法和系统

Publications (1)

Publication Number Publication Date
CN114218012A true CN114218012A (zh) 2022-03-22

Family

ID=63790057

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201710250421.3A Active CN108733509B (zh) 2017-04-17 2017-04-17 用于在集群系统中备份和恢复数据的方法和系统
CN202111479052.8A Pending CN114218012A (zh) 2017-04-17 2017-04-17 用于在集群系统中备份和恢复数据的方法和系统

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201710250421.3A Active CN108733509B (zh) 2017-04-17 2017-04-17 用于在集群系统中备份和恢复数据的方法和系统

Country Status (2)

Country Link
US (1) US10860441B2 (zh)
CN (2) CN108733509B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111858128B (zh) * 2019-04-26 2023-12-29 深信服科技股份有限公司 一种纠删码数据修复方法、装置、设备及存储介质
CN112241319A (zh) * 2019-07-19 2021-01-19 伊姆西Ip控股有限责任公司 均衡负载的方法、电子设备和计算机程序产品
CN112667434A (zh) * 2019-10-16 2021-04-16 伊姆西Ip控股有限责任公司 用于恢复数据的方法、装置和计算机程序产品
CN111813604B (zh) * 2020-07-17 2022-06-10 济南浪潮数据技术有限公司 一种故障存储设备的数据恢复方法、系统及相关装置
US11693743B2 (en) * 2020-08-13 2023-07-04 EMC IP Holding Company LLC Method to optimize restore based on data protection workload prediction
CN114546714B (zh) * 2020-11-27 2023-07-21 中国移动通信集团四川有限公司 一种数据备份方法、系统、装置以及存储介质
CN112732428A (zh) * 2021-01-14 2021-04-30 北京神州泰岳软件股份有限公司 数据采集方法、装置、电子设备和存储介质
CN112667607B (zh) * 2021-01-18 2024-02-27 中国民航信息网络股份有限公司 一种历史数据的管理方法及相关设备
CN113157492A (zh) * 2021-04-07 2021-07-23 北京思特奇信息技术股份有限公司 一种分布式数据库的备份方法和恢复方法以及备份系统
US11768738B2 (en) 2021-04-30 2023-09-26 Bank Of America Corporation Intelligent failsafe engine
CN114064362B (zh) * 2021-11-16 2022-08-05 北京志凌海纳科技有限公司 用于分布式存储中的数据恢复方法、系统及计算机可读存储介质
CN114697328A (zh) * 2022-03-25 2022-07-01 浪潮云信息技术股份公司 NiFi高可用集群模式的实现方法及系统
US20240028463A1 (en) * 2022-07-25 2024-01-25 Dell Products L.P. Applications and file system cluster protection
US20240028482A1 (en) * 2022-07-25 2024-01-25 Dell Products L.P. Load balancing during backup and restore

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2954888C (en) * 2005-06-24 2019-06-04 Catalogic Software, Inc. System and method for high performance enterprise data protection
US8769048B2 (en) * 2008-06-18 2014-07-01 Commvault Systems, Inc. Data protection scheduling, such as providing a flexible backup window in a data protection system
US8566549B1 (en) * 2008-12-31 2013-10-22 Emc Corporation Synchronizing performance requirements across multiple storage platforms
US9535767B2 (en) * 2009-03-26 2017-01-03 Microsoft Technology Licensing, Llc Instantiating a virtual machine with a virtual non-uniform memory architecture
US9785523B2 (en) * 2011-06-20 2017-10-10 Microsoft Technology Licensing, Llc Managing replicated virtual storage at recovery sites
US8880801B1 (en) * 2011-09-28 2014-11-04 Emc Corporation Techniques for reliability and availability assessment of data storage configurations
US9201887B1 (en) * 2012-03-30 2015-12-01 Emc Corporation Cluster file server proxy server for backup and recovery
US10614047B1 (en) 2013-09-24 2020-04-07 EMC IP Holding Company LLC Proxy-based backup and restore of hyper-V cluster shared volumes (CSV)
US10146634B1 (en) 2014-03-31 2018-12-04 EMC IP Holding Company LLC Image restore from incremental backup
CN105760251B (zh) * 2014-12-15 2019-04-19 华为技术有限公司 一种备份数据的方法和装置
EP3089034B1 (en) * 2015-04-29 2019-06-12 Tata Consultancy Services Limited System and method for optimizing energy consumption by processors
US10289441B1 (en) 2017-10-27 2019-05-14 EMC IP Holding Company LLC Intelligent scale-out federated restore

Also Published As

Publication number Publication date
US10860441B2 (en) 2020-12-08
CN108733509B (zh) 2021-12-10
US20180300206A1 (en) 2018-10-18
CN108733509A (zh) 2018-11-02

Similar Documents

Publication Publication Date Title
CN108733509B (zh) 用于在集群系统中备份和恢复数据的方法和系统
US9542296B1 (en) Disk replacement using a predictive statistical model
KR102031471B1 (ko) 자원 배치 최적화를 위한 기회적 자원 이주
US10609159B2 (en) Providing higher workload resiliency in clustered systems based on health heuristics
US20180091586A1 (en) Self-healing a message brokering cluster
JP2008158628A (ja) 運用実績評価装置、運用実績評価方法、およびプログラム
Sampaio et al. A comparative cost analysis of fault-tolerance mechanisms for availability on the cloud
US11777991B2 (en) Forecast-based permissions recommendations
Gupta et al. Trust and reliability based load balancing algorithm for cloud IaaS
Babu et al. Interference aware prediction mechanism for auto scaling in cloud
Devi et al. Multilevel fault-tolerance aware scheduling technique in cloud environment
Sato et al. Experiment and availability analytical model of cloud computing system based on backup resource sharing and probabilistic protection guarantee
Meroufel et al. Optimization of checkpointing/recovery strategy in cloud computing with adaptive storage management
Hu et al. Cloud model-based security-aware and fault-tolerant job scheduling for computing grid
Rajavel De-centralized load balancing for the computational grid environment
Wu et al. An integrated security-aware job scheduling strategy for large-scale computational grids
CN112118314B (zh) 负载均衡方法和装置
US8621260B1 (en) Site-level sub-cluster dependencies
Ali et al. Probabilistic normed load monitoring in large scale distributed systems using mobile agents
US10594620B1 (en) Bit vector analysis for resource placement in a distributed system
Samir et al. Autoscaling recovery actions for container‐based clusters
US10110502B1 (en) Autonomous host deployment in managed deployment systems
Lee et al. A resource manager for optimal resource selection and fault tolerance service in grids
Balasangameshwara et al. A fault tolerance optimal neighbor load balancing algorithm for grid environment
Xiang et al. Optimizing job reliability through contention-free, distributed checkpoint scheduling

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