CN110692043B - 用于对备份数据进行负载平衡的系统和方法 - Google Patents

用于对备份数据进行负载平衡的系统和方法 Download PDF

Info

Publication number
CN110692043B
CN110692043B CN201880027048.8A CN201880027048A CN110692043B CN 110692043 B CN110692043 B CN 110692043B CN 201880027048 A CN201880027048 A CN 201880027048A CN 110692043 B CN110692043 B CN 110692043B
Authority
CN
China
Prior art keywords
backup
node
file
backup data
copy
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201880027048.8A
Other languages
English (en)
Other versions
CN110692043A (zh
Inventor
S·保罗扎加德
P·库尔卡尼
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.)
Veritas Technologies LLC
Original Assignee
Veritas Technologies 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 Veritas Technologies LLC filed Critical Veritas Technologies LLC
Publication of CN110692043A publication Critical patent/CN110692043A/zh
Application granted granted Critical
Publication of CN110692043B publication Critical patent/CN110692043B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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/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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2066Optimisation of the communication load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/184Distributed file systems implemented as replicated file system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Retry When Errors Occur (AREA)

Abstract

本发明公开了一种用于对备份数据进行负载平衡的计算机实现的方法,该方法可包括:(1)接收对备份多节点计算集群中的文件的请求,(2)识别文件在多个备份客户端之间的备份分布,(3)从集群中的数据节点读取当前文件的初始数据块,(4)从集群中的另一数据节点读取附加文件的初始数据块的副本,(5)从集群中的数据节点读取当前文件的后续数据块,以及(6)通过从多节点计算集群中的另一数据节点读取附加文件的后续备份数据块的副本来平衡当前文件和附加文件在数据节点和另一数据节点之间的备份。本发明还公开了各种其他方法、系统和计算机可读介质。

Description

用于对备份数据进行负载平衡的系统和方法
背景技术
在持续连接的时代,无法有效备份和恢复大量数据可能责任重大。传统系统可利用横向扩展备份架构,该架构在计算集群节点的多个代理客户端之间划分和分配大备份工作负载。然而,传统系统中的备份工作负载的工作负载分布可能导致代理客户端以不均匀的方式从计算集群节点获取备份数据块,从而在备份输入/输出操作期间,过度利用(例如,过载)一些节点而未充分利用其他节点。因此,本公开识别并解决了对用于对备份数据进行负载平衡的系统和方法的需求。
发明内容
如下文将更详细地描述的,本公开描述了用于通过以下方式对备份数据进行负载平衡的各种系统和方法:(1)接收对备份多节点计算集群中的文件的请求,(2)识别文件在多个备份客户端之间的备份分布,(3)从集群中的数据节点读取当前文件的初始数据块,(4)从集群中的另一数据节点读取附加文件的初始数据块的副本,(5)从集群中的数据节点读取当前文件的后续数据块,以及(6)通过从多节点计算集群中的另一数据节点读取附加文件的后续备份数据块的副本来平衡当前文件和附加文件在数据节点和另一数据节点之间的备份。
在一些示例中,该方法可包括将至少当前文件的初始备份数据块和后续备份数据块存储到存储系统。附加地或另选地,该方法可包括将至少附加文件的初始备份数据块和后续备份数据块的副本存储到存储系统。
在一些示例中,识别文件在多个备份客户端之间的备份分布可包括从多节点计算集群中的名称节点检索备份分布数据。多节点计算集群可包括Hadoop分布式文件系统(HDFS)。
在一些示例中,从另一数据节点读取附加文件的初始备份数据块的副本可包括在从数据节点读取当前文件的初始备份数据块的同时读取初始备份数据块的副本。在一些示例中,从另一数据节点读取附加文件的后续备份数据块的副本可包括在从数据节点读取附加文件的后续备份数据块的同时读取后续备份数据块的副本。
在一个示例中,用于对备份数据进行负载平衡的系统可包括存储在存储器中的若干模块,这些模块包括:(1)接收模块,其接收对备份多节点计算集群中的文件的请求,(2)识别模块,其识别文件在多个备份客户端之间的备份分布,(3)备份读取模块,其从多节点计算集群中的数据节点读取当前文件的初始备份数据块,并从多节点计算集群中的数据节点读取当前文件的后续备份数据块,以及(4)另一备份读取模块,其从另一数据节点读取附加文件的初始备份数据块的副本,并通过从多节点计算集群中的另一数据节点读取附加文件的后续备份数据块的副本来平衡当前文件和附加文件在数据节点和另一数据节点之间的备份。此外,该系统可包括执行接收模块、识别模块、备份读取模块和另一备份读取模块的至少一个物理处理器。
在一些示例中,上述方法可被编码为非暂态计算机可读介质上的计算机可读指令。例如,计算机可读介质可包括一个或多个计算机可执行指令,所述一个或多个计算机可执行指令在由计算设备的至少一个处理器执行时可使得计算设备:(1)接收对备份多节点计算集群中的文件的请求,(2)识别文件在多个备份客户端之间的备份分布,(3)从集群中的数据节点读取当前文件的初始数据块,(4)从集群中的另一数据节点读取附加文件的初始数据块的副本,(5)从集群中的数据节点读取当前文件的后续数据块,以及(6)通过从多节点计算集群中的另一数据节点读取附加数据文件的后续备份数据块的副本来平衡当前文件和附加文件在数据节点和另一数据节点之间的备份。
来自任意上述实施方案的特征可根据本文所述的一般原理彼此结合使用。在结合附图和权利要求书阅读以下详细描述后,将更全面地理解这些以及其他实施方案、特征和优点。
附图说明
附图示出多个示例性实施方案,并且是说明书的一部分。这些附图与以下描述一起展示并说明本公开的各种原理。
图1是用于对备份数据进行负载平衡的示例性系统的框图。
图2是用于对备份数据进行负载平衡的附加示例性系统的框图。
图3是用于对备份数据进行负载平衡的示例性方法的流程图。
[图4是用于对备份数据进行负载平衡的附加示例性系统的框图。]
在整个附图中,相同的参考字符和描述指示类似但未必相同的元件。虽然本文所述的示例性实施方案易存在各种修改形式和另选形式,但是附图中以举例的方式示出了具体实施方案,这些实施方案将在本文中详细描述。然而,本文所述的示例性实施方案并非旨在限于所公开的特定形式。相反,本公开涵盖落在所附权利要求书范围内的所有修改形式、等同形式和替代形式。
具体实施方式
本公开整体涉及用于对备份数据进行负载平衡的系统和方法。如下文将更详细地解释的,在接收到对备份多节点计算集群中的文件的请求之后,所公开的系统和方法可识别文件在多个备份客户端之间的备份分布,并从多个数据节点读取备份文件块和备份文件块的副本两者。因此,本文所述的系统和方法可使得用户能够通过在从多节点计算集群中的多个节点读取原始文件块的同时读取复制文件块(而不是仅读取原始文件块)来有效地执行经负载平衡的文件备份,这可导致使仅几个节点产生瓶颈而保持其他节点不受影响。
此外,本文所述的系统和方法可通过改进集群中多个节点之间的备份工作负载的分布来改进备份服务器的功能。这些系统和方法还可通过优化计算机集群中节点的使用来改进执行经负载平衡的服务器备份的领域,这可在避免集群中的任何节点的过载的同时最大化资源使用,从而实现更快的备份操作。
下文将参考图1至图2提供对用于对备份数据进行负载平衡的示例性系统的详细描述。还将结合图3提供对应的计算机实现的方法的详细描述。此外,[还将结合图4提供对用于对备份数据进行负载平衡的附加示例性系统]的详细描述。
图1是用于对备份数据进行负载平衡的示例性系统100的框图。如该图所示,示例性系统100可以包括用于执行一个或多个任务的一个或多个模块102。如下文将更详细地解释的,模块102可包括:接收模块104,其接收对备份多节点计算集群中的文件的请求;识别模块106,其基于该请求识别文件在多个备份客户端之间的备份分布;读取模块108A-108N,其从多节点计算集群中的数据节点读取文件的备份数据块和备份数据块的副本;以及存储模块110,其存储来自多节点计算集群中的数据节点的文件的备份数据块。虽然示出为单独元件,但图1的模块102中的一个或多个可表示单个模块或应用程序的若干部分。
在某些实施方案中,图1中的模块102中的一个或多个可表示一个或多个软件应用程序或程序,其在由计算设备执行时可使计算设备执行一个或多个任务。例如,并且如下文将更详细地描述的,模块102中的一个或多个可以表示被存储并且被配置为在一个或多个计算设备上运行的模块,这些计算设备诸如为图2中所示的设备(例如,服务器206)。图1中的模块102中的一个或多个还可表示被配置为执行一个或多个任务的一个或多个专用计算机的全部或部分。
如图1所示,示例性系统100还可以包括一个或多个存储器设备,诸如存储器140。存储器140通常表示能够存储数据和/或计算机可读指令的任何类型或形式的易失性或非易失性存储设备或介质。在一个示例中,存储器140可以存储、加载和/或维护模块102中的一个或多个。存储器140的示例包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、闪存存储器、硬盘驱动器(HDD)、固态驱动器(SSD)、光盘驱动器、高速缓存、上述一者或多者的变体或组合、或任何其他合适的存储器。
如图1所示,示例性系统100还可以包括一个或多个物理处理器,诸如物理处理器130。物理处理器130通常表示能够解释和/或执行计算机可读指令的任何类型或形式的硬件实现的处理单元。在一个示例中,物理处理器130可以访问和/或修改存储在存储器140中的模块102中的一个或多个。附加地或另选地,物理处理器130可以执行模块102中的一个或多个,以促进对备份数据进行负载平衡。物理处理器130的示例包括但不限于微处理器、微控制器、中央处理单元(CPU)、实现软核处理器的现场可编程门阵列(FPGA)、专用集成电路(ASIC)、上述一者或多者的部分、上述一者或多者的变体或组合、或任何其他合适的物理处理器。
如图1所示,示例性系统100还可包括备份存储设备,诸如存储设备120。存储设备120通常表示用于存储由读取模块108A-108N从多节点计算集群中的数据节点读取的备份数据块122的任何类型或形式的备份存储设备(一个或多个)。
图1中的示例性系统100可以以各种方式实现。例如,示例性系统100的全部或一部分可以表示图2中的示例性系统200的部分。如图2所示,系统200可包括计算设备202,其经由网络204与服务器206通信。在一个示例中,模块102的功能性的全部或一部分可以由服务器206和/或任何其他合适的计算系统执行。如下文将更详细地描述的,当由服务器206的至少一个处理器执行时,来自图1的模块102中的一个或多个可使得服务器206能够对备份数据进行负载平衡。
计算设备202A-202C通常表示能够读取计算机可执行指令的任何类型或形式的计算设备。在一个示例中,计算设备202A-202C可表示以多个数据块的形式保持备份文件的多节点计算集群。例如,集群中的计算设备202A可表示用于存储针对计算设备202B和202C的备份分布数据208(例如,备份分布工作负载)的名称节点。在一个实施方案中,计算设备202B和202C可表示用于存储由图1的读取模块108A-108N读取的备份数据块124的数据节点。在一个实施方案中,多节点计算集群可以是HDFS/HBase集群。计算设备202A-202C的附加示例包括但不限于膝上型计算机、平板电脑、台式计算机、服务器、蜂窝电话、个人数字助理(PDA)、多媒体播放器、嵌入式系统、可穿戴设备(例如,智能手表、智能眼镜等)、游戏机、上述一者或多者的变体或组合或任何其他合适的计算系统。
服务器206A-206C通常表示能够执行用于从多节点计算集群读取备份数据块的应用程序的任何类型或形式的计算设备。在一个示例中,服务器206A-206C可表示用作多个代理客户端的多个NETBACKUP服务器,这些服务器利用模块102从计算设备202A接收备份分布数据208并从多节点集群中的计算设备202B和202C读取备份数据块124。服务器206A-206C可被进一步配置为将备份数据块124存储在存储设备122中。服务器206的附加示例包括但不限于存储服务器、数据库服务器、应用程序服务器和/或web服务器,这些服务器被配置为运行某些软件应用程序和/或提供各种存储、数据库和/或web服务。虽然在图2中被示出为单个实体,但服务器206可包括和/或表示彼此协同工作和/或操作的多个服务器。
网络204通常表示能够促进通信或数据传送的任何介质或架构。在一个示例中,网络204可促进计算设备202和服务器206之间的通信。在该示例中,网络204可使用无线和/或有线连接促进通信或数据传送。网络204的示例包括但不限于:内联网、广域网(WAN)、局域网(LAN)、个人区域网(PAN)、互联网、电力线通信(PLC)、蜂窝网络(例如,全球移动通信系统(GSM)网络)、上述一者或多者的部分、上述一者或多者的变体或组合、或任何其他合适的网络。
许多其他设备或子系统可以连接到图1中的计算系统100和/或图2中的计算系统200。相反,图1和图2中所示的所有部件和设备不必都存在来实践本文描述和/或示出的实施方案。上文提及的设备和子系统也可以按照与图2所示不同的方式互连。计算系统100和200也可以采用任何数量的软件配置、固件配置和/或硬件配置。例如,本文所公开的示例性实施方案中的一个或多个可以被编码为计算机可读介质上的计算机程序(也被称为计算机软件、软件应用程序、计算机可读指令和/或计算机控制逻辑)。
如本文所用,术语“计算机可读介质”通常是指能够存储或携带计算机可读指令的任何形式的设备、载体或介质。计算机可读介质的示例包括但不限于传输型介质,诸如载波,和非暂态型介质,诸如磁存储介质(例如,硬盘驱动器、磁带驱动器和软盘)、光存储介质(例如,光盘(CD)、数字视频盘(DVD)、BLU-RAY磁盘)、电子存储介质(例如,固态驱动器和闪存介质)和其他分配系统。
图3是用于对备份数据进行负载平衡的示例性计算机实现的方法300的流程图。图3中所示的步骤可由任何合适的计算机可执行代码和/或计算系统执行,包括图1中的系统100、图2中的系统200和/或上述一者或多者的变体或组合。在一个示例中,图3中示出的每个步骤可以表示其结构包括和/或由多个子步骤表示的算法,其示例将在下文更详细地提供。
如图3所示,在步骤302处,本文所述系统中的一个或多个可接收对备份多节点计算集群中的文件的请求。例如,作为图2中的服务器206的一部分,接收模块104可接收对备份文件(包括计算设备202B-202C上的备份数据块124)的请求。如本文所用的术语“多节点计算集群”通常是指表示多个节点的多个计算系统,这些计算系统响应于数据备份请求而操作以提供备份数据。在一个实施方案中,多节点计算集群可包括名称节点和多个数据节点。可利用名称节点来从表示一个或多个代理客户端的一个或多个请求服务器接收对执行文件备份的请求。名称节点(例如,计算设备202A)可在集群中的数据节点上发现所请求的备份文件数据,并将备份工作负载(例如,备份分布数据208)从数据节点(例如,计算设备202B-202C)分布在代理客户端之间。例如,备份分布数据208可包括分配第一代理客户端(例如,服务器206A)以从计算设备202B读取备份数据并分配第二代理客户端(例如,服务器206B)以从计算设备202C读取备份数据。
在步骤304处,本文所述系统中的一个或多个可基于在步骤302处接收到的请求来识别文件在多个备份客户端之间的备份分布。例如,作为图2中的服务器206的一部分,识别模块106可识别来自计算设备202的数据节点210中的备份数据块212的备份分布。例如,识别模块106可从图2中的名称节点208检索备份分布数据。
在步骤306处,本文所述系统中的一个或多个可从多节点计算集群中的数据节点读取当前文件的初始备份数据块。例如,作为图2中的服务器206A的一部分,模块102可从数据节点(诸如计算设备202A)读取第一文件的第一备份数据块。又如,初始备份数据块可能不表示第一文件的第一备份数据块,但可能表示多个其他备份数据块中在该文件中读取的第一备份数据块(例如,第十备份数据块)。因此,术语“初始备份数据块”可不指示任何节点中的备份数据块的存储顺序。再如,来自数据节点的当前文件可能不表示第一文件,但可能表示数据节点中的多个其他文件中的另一文件(例如,第二文件)。
在步骤308处,本文所述系统中的一个或多个可从多节点计算集群中的另一数据节点读取附加文件的初始备份数据块的副本。例如,作为图2中的服务器206B或206C的一部分,模块102可从数据节点(诸如计算设备202C)读取第二文件的第一备份数据块的副本。又如,初始备份数据块的副本可能不表示第二文件的第一备份数据块的副本,但可能表示多个其他备份数据块的副本中在该文件中读取的第一备份数据块(例如,第十备份数据块)的副本。再如,来自数据节点的附加文件可能不表示第二文件,但可能表示数据节点中的多个其他文件中的另一文件(例如,第一文件)。在一个实施方案中,可在从另一数据节点读取当前文件的初始备份数据块的同时读取附加文件的初始备份数据块的副本。
在步骤310处,本文所述系统中的一个或多个可从多节点计算集群中的数据节点读取当前文件的后续备份数据块。例如,作为图2中的服务器206A的一部分,模块102中的一个可从数据节点(诸如计算设备202B)读取第一文件的后续备份数据块。又如,后续备份数据块可能不直接跟随第一文件的初始备份数据块,但可能表示多个其他备份数据块中跟随初始备份数据块的任何备份数据块(例如,第十备份数据块)。因此,术语“后续备份数据块”可不指示任何节点中的备份数据块的存储顺序。再如,来自数据节点的当前文件可能不表示第一文件,但可能表示数据节点中的多个其他文件中的另一文件(例如,第二文件)。
在步骤312处,本文所述系统中的一个或多个可通过从多节点计算集群中的另一数据节点读取附加文件的后续备份数据块的副本来平衡当前文件和附加文件在数据节点和另一数据节点之间的备份。例如,作为图2中的服务器206B或206C的一部分,模块102可从数据节点(诸如计算设备202C)读取第二文件的后续备份数据块的副本。又如,后续备份数据块的副本可能不直接跟随第二文件的初始备份数据块的副本,但可能表示多个其他备份数据块的副本中跟随初始备份数据块的副本的任何备份数据块(例如,第十备份数据块)的副本。在一个实施方案中,可在从另一数据节点读取附加文件的后续备份数据块的同时从数据节点读取附加文件的后续备份数据块的副本。
图4是用于对备份数据进行负载平衡的附加示例性系统的框图。如图4所示,模块102可同时从集群中的多个数据节点(例如,数据节点408、410和412)读取备份数据块以及备份数据块的复制品。例如,读取模块108A-108N中的第一读取模块(例如,第一代理客户端)可从数据节点408读取备份数据块402,同时读取模块108A-108N中的第二读取模块(例如,第二代理客户端)可被调度为从数据节点410读取备份数据块404A。在读取备份数据块402和404A的同时,可将读取模块108A-108N中的第三读取模块(例如,第三代理客户端)调度为从数据节点410读取备份数据块406B。
如上文结合图1至图4所解释的,可利用备份和恢复解决方案来同时从多节点集群的不同节点读取块。例如,备份媒体服务器可利用多节点集群(例如,HDFS/HBase集群)具有内置冗余的事实,使得文件中每个块的三个副本(例如,原件和两个复制品)被维护。在执行备份输入/输出操作时,可利用前述冗余来同时从集群的不同节点读取块。由于集群的多个节点被占用,因此本文所述的备份和恢复解决方案可避免输入/输出瓶颈并改进与数据备份相关联的性能。例如,利用上述备份和恢复解决方案,可显著提高对文件备份系统中的数据节点的磁盘利用率。
虽然上述公开使用特定框图、流程图和示例阐述了各种实施方案,但每个框图部件、流程图步骤、操作和/或本文描述和/或示出的部件可使用多种硬件、软件或固件(或它们的任意组合)配置单独和/或共同地实施。此外,包含在其他部件内的部件的任何公开应当被视为在本质上是示例的,因为可实施许多其他体系结构来实现相同的功能。
在一些示例中,图1中的示例性系统100的全部或一部分可以表示基于云计算或网络的环境的部分。云计算环境可经由互联网提供各种服务和应用程序。这些基于云的服务(例如,软件即服务、平台即服务、基础设施即服务等)可通过网页浏览器或其它远程接口访问。本文所述的各种功能可通过远程桌面环境或任何其他基于云的计算环境提供。
在各种实施方案中,图1中的示例性系统100的全部或一部分可促进基于云的计算环境内的多重租赁。换句话讲,本文所述的模块可配置计算系统(例如,服务器)以促进本文所述的功能中的一种或多种的多重租赁。例如,本文所述的模块中的一个或多个可对服务器进行编程以允许两个或更多个客户端(例如,顾客)共享正在服务器上运行的应用程序。以这种方式编程的服务器可在多个顾客(即,租户)之间共享应用程序、操作系统、处理系统和/或存储系统。本文所述的模块中的一个或多个还可为每个顾客分割多租户应用程序的数据和/或配置信息以使得一个顾客不能访问另一个顾客的数据和/或配置信息。
根据各种实施方案,图1中的示例性系统100的全部或一部分可以在虚拟环境内实现。例如,本文所述的模块和/或数据可在虚拟机内驻留和/或执行。如本文所用,术语“虚拟机”通常是指由虚拟机管理器(例如,超级管理程序)从计算硬件中提取出来的任何操作系统环境。
在一些示例中,图1中的示例性系统100的全部或一部分可以表示移动计算环境的部分。移动计算环境可由多种移动计算设备来实施,所述移动计算设备包括移动电话、平板电脑、电子书阅读器、个人数字助理、可穿戴计算设备(例如,具有头戴式显示器的计算设备、智能手表等)、上述一者或多者的变体或组合、或任何其他合适的移动计算设备。在一些示例中,移动计算环境可具有一个或多个显著特征,包括例如依赖电池供电、在任何给定时间只呈现一个前台应用程序、远程管理特征、触摸屏特征、(例如,由全球定位系统、陀螺仪、加速计等提供的)位置和移动数据、用于限制对系统级配置的修改和/或限制第三方软件检查其他应用程序的行为的能力的受限平台、用于限制应用程序的安装(例如,仅限于安装来源于经批准的应用程序商店的应用程序)的控件,等等。本文所述的各种功能可被提供用于移动计算环境和/或可与移动计算环境交互。
本文描述和/或示出的过程参数和步骤序列仅以举例的方式给出并且可根据需要改变。例如,虽然本文示出和/或描述的步骤可以特定顺序示出或讨论,但这些步骤不必以示出或讨论的顺序来执行。本文描述和/或示出的各种示例方法也可省略本文描述或示出的步骤中的一个或多个,或除了所公开的那些步骤之外还包括另外的步骤。
虽然本文已经在全功能计算系统的上下文中描述和/或示出了各种实施方案,但是这些示例性实施方案中的一个或多个可以作为各种形式的程序产品来分配,而不考虑用于实际进行分配的计算机可读介质的特定类型。本文所公开的实施方案还可以使用执行某些任务的模块来实现。这些模块可以包括脚本文件、批文件或可存储在计算机可读存储介质上或计算系统中的其他可执行文件。在一些实施方案中,这些模块可以将计算系统配置为执行本文所公开的示例性实施方案中的一个或多个。
前文的描述旨在使本领域的其他技术人员能够最好地利用本文所公开的示例实施方案的各个方面。该示例性描述并非旨在是详尽的或限于所公开的任何确切形式。在不脱离本公开的实质和范围的前提下,可进行许多修改和变化。本文所公开的实施方案在所有方面均应被视为示例性的而非限制性的。应参考所附权利要求书及其等同形式来确定本公开的范围。
除非另有说明,否则本说明书和权利要求书中所用的术语“连接到”和“联接到”(以及它们的衍生形式)应被理解为既允许直接的连接,又允许间接(即,经由其他元件或部件)的连接。此外,本说明书和权利要求书中所用的术语“一”或“一个”应被理解为意指“至少一个...”。最后,为了便于使用,本说明书和权利要求书中所用的术语“包括”和“具有”(以及它们的衍生形式)与词语“包含”可互换并且与词语“包含”具有相同含义。

Claims (13)

1.一种用于对备份数据进行负载平衡的计算机实现的方法,所述方法的至少一部分由包括至少一个物理处理器的计算设备执行,所述方法包括:
接收对备份多节点计算集群中的文件的请求;
基于所述请求来识别所述文件在多个备份客户端之间的备份分布;
从所述多节点计算集群中的数据节点读取当前文件的初始备份数据块;
从所述多节点计算集群中的另一数据节点读取附加文件的初始备份数据块的副本;
从所述多节点计算集群中的所述数据节点读取所述当前文件的后续备份数据块;以及
通过从所述多节点计算集群中的所述另一数据节点读取所述附加文件的后续备份数据块的副本来平衡所述当前文件和所述附加文件在所述数据节点和所述另一数据节点之间的备份,其中所述后续备份数据块的所述副本表示跟随所述初始备份数据块的所述副本的备份数据块的任何副本,并且其中所述后续备份数据块的所述副本不直接跟随所述初始备份数据块的所述副本。
2.根据权利要求1所述的计算机实现的方法,还包括将至少所述当前文件的所述初始备份数据块和所述后续备份数据块存储到存储系统。
3.根据权利要求2所述的计算机实现的方法,还包括将至少所述附加文件的所述初始备份数据块和所述后续备份数据块的所述副本存储到存储系统。
4.根据权利要求1所述的计算机实现的方法,其中基于所述请求来识别所述文件在多个备份客户端之间的备份分布包括从所述多节点计算集群中的名称节点检索备份分布数据。
5.根据权利要求1所述的计算机实现的方法,其中从另一数据节点读取附加文件的所述初始备份数据块的副本包括在从所述数据节点读取所述当前文件的所述初始备份数据块的同时读取所述初始备份数据块的所述副本。
6.根据权利要求1所述的计算机实现的方法,其中从所述另一数据节点读取附加文件的所述后续备份数据块的副本包括在从所述数据节点读取所述当前文件的所述后续备份数据块的同时读取所述后续备份数据块的所述副本。
7.根据权利要求1所述的计算机实现的方法,其中所述多节点计算集群包括Hadoop分布式文件系统(HDFS)。
8.一种用于对备份数据进行负载平衡的系统,所述系统包括:
用于接收的装置,所述用于接收的装置接收对备份多节点计算集群中的文件的请求;
用于识别的装置,所述用于识别的装置基于所述请求来识别所述文件在多个备份客户端之间的备份分布;
用于备份读取的装置,所述用于备份读取的装置:
从所述多节点计算集群中的数据节点读取当前文件的初始备份数据块;以及
从所述多节点计算集群中的所述数据节点读取所述当前文件的后续备份数据块;和
用于备份读取的另一装置,所述用于备份读取的另一装置:
从所述多节点计算集群中的另一数据节点读取附加文件的所述初始备份数据块的副本;以及
通过从所述多节点计算集群中的所述另一数据节点读取所述附加文件的所述后续备份数据块的副本来平衡所述当前文件和所述附加文件在所述数据节点和所述另一数据节点之间的备份,其中所述后续备份数据块的所述副本表示跟随所述初始备份数据块的所述副本的备份数据块的任何副本,并且其中所述后续备份数据块的所述副本不直接跟随所述初始备份数据块的所述副本;和
至少一个物理处理器,所述至少一个物理处理器执行所述用于接收的装置、所述用于识别的装置、所述用于备份读取的装置以及所述用于备份读取的另一装置。
9.根据权利要求8所述的系统,还包括用于存储的装置以进一步将至少所述当前文件的所述初始备份数据块、所述当前文件的所述后续备份数据块、所述附加文件的所述初始备份数据块的所述副本以及所述附加文件的所述后续备份数据块的所述副本存储到存储系统。
10.根据权利要求9所述的系统,其中所述用于识别的装置通过从所述多节点计算集群中的名称节点检索备份分布数据来识别所述文件在多个备份客户端之间的备份分布。
11.根据权利要求8所述的系统,其中所述用于备份读取的另一装置通过在从所述数据节点读取所述当前文件的所述初始备份数据块的同时读取所述初始备份数据块的所述副本来从所述另一数据节点读取附加文件的所述初始备份数据块的副本。
12.根据权利要求8所述的系统,其中所述用于备份读取的另一装置通过在从所述数据节点读取所述附加文件的所述后续备份数据块的同时读取所述后续备份数据块的所述副本来从所述另一数据节点读取所述附加文件的所述后续备份数据块的副本。
13.根据权利要求8所述的系统,其中所述多节点计算集群包括Hadoop分布式文件系统(HDFS)。
CN201880027048.8A 2017-05-16 2018-05-07 用于对备份数据进行负载平衡的系统和方法 Active CN110692043B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/596992 2017-05-16
US15/596,992 US10180801B2 (en) 2017-05-16 2017-05-16 Systems and methods for load balancing backup data
PCT/US2018/031430 WO2018213051A1 (en) 2017-05-16 2018-05-07 Systems and methods for load balancing backup data

Publications (2)

Publication Number Publication Date
CN110692043A CN110692043A (zh) 2020-01-14
CN110692043B true CN110692043B (zh) 2022-11-22

Family

ID=62236021

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880027048.8A Active CN110692043B (zh) 2017-05-16 2018-05-07 用于对备份数据进行负载平衡的系统和方法

Country Status (5)

Country Link
US (1) US10180801B2 (zh)
EP (1) EP3625683B1 (zh)
JP (1) JP2020518927A (zh)
CN (1) CN110692043B (zh)
WO (1) WO2018213051A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11741060B2 (en) * 2019-11-27 2023-08-29 Veritas Technologies Llc Methods and systems for scalable deduplication
CN111343254B (zh) * 2020-02-17 2022-11-11 天津卓朗科技发展有限公司 客户端连接方法、装置和电子设备
US11435930B2 (en) * 2020-09-17 2022-09-06 EMC IP Holding Company LLC Intelligent recovery from multiple clouds copies

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101552799A (zh) * 2008-04-04 2009-10-07 华为技术有限公司 媒体节点容错方法和装置
CN102693168A (zh) * 2011-03-22 2012-09-26 中兴通讯股份有限公司 一种数据备份恢复的方法、系统和服务节点
WO2016095791A1 (en) * 2014-12-19 2016-06-23 Huawei Technologies Co., Ltd. Replicated database distribution for workload balancing after cluster reconfiguration
CN106294585A (zh) * 2016-07-28 2017-01-04 四川新环佳科技发展有限公司 一种云计算平台下的存储方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010039497A1 (en) * 2000-03-30 2001-11-08 Hubbard Edward A. System and method for monitizing network connected user bases utilizing distributed processing systems
JP2004252829A (ja) * 2003-02-21 2004-09-09 Mitsubishi Electric Corp バックアップ制御装置
US7490207B2 (en) * 2004-11-08 2009-02-10 Commvault Systems, Inc. System and method for performing auxillary storage operations
US8965855B1 (en) * 2010-08-16 2015-02-24 Symantec Corporation Systems and methods for hotspot mitigation in object-based file systems
US20130279378A1 (en) * 2012-04-19 2013-10-24 Delphax Technologies Canada, Ltd. Cascaded Streaming of Data Through Virtual Chain of Nodes in Hub Topology
US9449040B2 (en) * 2012-11-26 2016-09-20 Amazon Technologies, Inc. Block restore ordering in a streaming restore system
US10291503B2 (en) * 2013-09-26 2019-05-14 Taiwan Semiconductor Manufacturing Co., Ltd. File block placement in a distributed network
US9921921B2 (en) * 2015-06-12 2018-03-20 International Business Machines Corporation Backup service with managed file transformation
US9942315B2 (en) * 2015-10-27 2018-04-10 International Business Machines Corporation Anonymous peer storage

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101552799A (zh) * 2008-04-04 2009-10-07 华为技术有限公司 媒体节点容错方法和装置
CN102693168A (zh) * 2011-03-22 2012-09-26 中兴通讯股份有限公司 一种数据备份恢复的方法、系统和服务节点
EP2687987A1 (en) * 2011-03-22 2014-01-22 ZTE Corporation Method, system and serving node for data backup and recovery
WO2016095791A1 (en) * 2014-12-19 2016-06-23 Huawei Technologies Co., Ltd. Replicated database distribution for workload balancing after cluster reconfiguration
CN106294585A (zh) * 2016-07-28 2017-01-04 四川新环佳科技发展有限公司 一种云计算平台下的存储方法

Also Published As

Publication number Publication date
CN110692043A (zh) 2020-01-14
US10180801B2 (en) 2019-01-15
JP2020518927A (ja) 2020-06-25
US20180335960A1 (en) 2018-11-22
WO2018213051A1 (en) 2018-11-22
EP3625683A1 (en) 2020-03-25
EP3625683B1 (en) 2022-07-06

Similar Documents

Publication Publication Date Title
US10726518B2 (en) Capacity reservation for virtualized graphics processing
US9075856B2 (en) Systems and methods for distributing replication tasks within computing clusters
US9052935B1 (en) Systems and methods for managing affinity rules in virtual-machine environments
US10055352B2 (en) Page cache write logging at block-based storage
US9600203B2 (en) Reducing data volume durability state for block-based storage
US11093148B1 (en) Accelerated volumes
US8918673B1 (en) Systems and methods for proactively evaluating failover nodes prior to the occurrence of failover events
JP7379669B2 (ja) アプリケーション整合性ポイントインタイムをマークするためのシステム及び方法
US9792150B1 (en) Detecting site change for migrated virtual machines
US8984325B2 (en) Systems and methods for disaster recovery of multi-tier applications
US9916215B2 (en) System and method for selectively utilizing memory available in a redundant host in a cluster for virtual machines
AU2015229685A1 (en) Dynamically modifying durability properties for individual data volumes
US11886898B2 (en) GPU-remoting latency aware virtual machine migration
CN110692043B (zh) 用于对备份数据进行负载平衡的系统和方法
US8595192B1 (en) Systems and methods for providing high availability to instance-bound databases
US10812408B1 (en) Preventing concentrated selection of resource hosts for placing resources
WO2017083313A1 (en) Systems and methods for coordinating data caching on virtual storage appliances
US8621260B1 (en) Site-level sub-cluster dependencies
US11188393B1 (en) Systems and methods for performing load balancing and distributed high-availability
US8935695B1 (en) Systems and methods for managing multipathing configurations for virtual machines
US9009706B1 (en) Monitoring and updating state information of virtual devices to guest virtual machines based on guest virtual machine's probing policy
CN114365093A (zh) 用于有效地备份大数据集的系统和方法
US8938639B1 (en) Systems and methods for performing fast failovers
US10776148B1 (en) System and method for utilizing computational power of a server farm

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