CN103095804B - 用于在集群存储系统中进行负载平衡的方法和系统 - Google Patents

用于在集群存储系统中进行负载平衡的方法和系统 Download PDF

Info

Publication number
CN103095804B
CN103095804B CN201210540008.8A CN201210540008A CN103095804B CN 103095804 B CN103095804 B CN 103095804B CN 201210540008 A CN201210540008 A CN 201210540008A CN 103095804 B CN103095804 B CN 103095804B
Authority
CN
China
Prior art keywords
source node
node
data object
source
destination
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
CN201210540008.8A
Other languages
English (en)
Other versions
CN103095804A (zh
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing 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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN103095804A publication Critical patent/CN103095804A/zh
Application granted granted Critical
Publication of CN103095804B publication Critical patent/CN103095804B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • 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/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • G06F16/1827Management specifically adapted to NAS
    • 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
    • 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/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/0647Migration 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]
    • 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
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • 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
    • 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/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本文公开了一种用于在集群存储系统中进行负载平衡的方法和系统。该方法包括:识别集群存储系统内的作为热点的多个源节点,其中要从多个源节点移动多个数据对象,其中,热点是总负载超过阈值的节点;将多个源节点划分成多个源节点集合,其中,多个源节点集合中的每个源节点集合包括一个源节点或者具有交叠的搜索半径的源节点的小子集;选择要从多个源节点集合中的每个源节点集合移动的多个数据对象,其中,在每个源节点中多个数据对象被选择为使得源节点的总负载不再超过阈值;确定距多个源节点集合中的每个源节点集合特定搜索半径内的多个目标节点;以及同时将多个数据对象从多个源节点集合中的每个源节点集合移动至多个目标节点。

Description

用于在集群存储系统中进行负载平衡的方法和系统
技术领域
本公开内容涉及集群存储系统中的负载平衡。
背景技术
企业和云数据中心可以包括数以万计的服务器,其向大量用户和应用提供拍字节(petabytes)量级的存储。此外,随着云服务持续快速增长,正在建立大规模云存储系统以向全球数十亿用户提供数据服务。这些系统的主要目的是提供具有可伸缩性能和高可用性的数据存储系统,同时使操作开销尤其使在存储系统中移动数据的带宽成本最小化。然而,各种输入/输出(I/O)工作负载可引起服务器之间的显著的数据失衡,导致形成热点(hot spot),或者因大量I/O请求而负载过重的服务器/磁盘驱动器。这种热点会引起到终端用户的高度延迟。因此,这些服务通常每天对太字节(terabyte)量级的数据进行混洗以平衡各集群上的负载。此外,在云上建立数据库的背景下也提出并积极地讨论了相同的挑战。然而,这种解决方案要么没有解决动态负载重配置,要么假设对象关系数据库管理系统知道动态数据迁移的源节点和目标节点。
此外,现有技术致力于分别解决这些挑战。为了解决负载失衡,许多技术例如基于散列法在集群上随机地分布对象或者对各个数据对象进行动态布置。然而,适应性地重分配对象涉及对数以亿计的对象的负载模式的了解。针对这些模式来优化重配置成本需要脱机解算机,例如基于背包(knapsack)或线性规划的解算机,来做出迁移决策。然而,因为这种优化是固有地昂贵的,因此这些措施适合于小规模而在系统变得大规模时较不有效。同时,例如通过使用模拟退火或进化算法牺牲有效性来实现可伸缩性的措施具有重配置成本高的问题。
发明内容
以下给出本发明的简要概述,以便提供对本文所描述的一些方面的基本理解。该概述并不是对所要求保护的主题的全面综述。既不意在标识所要求保护的主题的关键的或重要的元素,也不意在界定本发明的范围。其唯一目的是以简化的形式给出所要求保护的主题的一些概念,以作为对稍后给出的更加详细的描述的序言。
一个实施方式提供了一种用于在集群存储系统中进行负载平衡的方法。该方法包括:识别集群存储系统内的作为热点的多个源节点,其中要从多个源节点移动多个数据对象,其中,热点是总负载超过阈值的节点;将多个源节点划分成多个源节点集合,其中,多个源节点集合中的每个源节点集合包括一个源节点或者具有交叠的搜索半径的源节点的小子集;选择要从多个源节点集合中的每个源节点集合移动的多个数据对象,其中,在每个源节点中多个数据对象被选择为使得源节点的总负载不再超过阈值;确定距多个源节点集合中的每个源节点集合特定搜索半径内的多个目标节点;以及同时将多个数据对象从多个源节点集合中的每个源节点集合移动至多个目标节点。
另一个实施方式提供了一种用于在集群存储系统中进行负载平衡的系统。该系统包括:多个源节点,其中源节点包括集群存储系统内的具有超过阈值的第一总负载的热点节点,其中,多个源节点被划分成多个源节点集合,其中多个源节点集合中的每个源节点集合包括一个源节点或者具有交叠的搜索半径的源节点的小子集;多个目标节点,其中目标节点包括集群存储系统内的具有不超过阈值的第二总负载的节点,并且其中多个目标节点中的每个目标节点在距多个源节点集合中的每个源节点集合特定搜索半径内;以及负载平衡系统,其被配置成:通过以下方式识别多个目标节点中的每个目标节点:逐渐增大具体半径直到识别出目标节点;选择要从多个源节点集合中的每个源节点集合移动至相关目标节点的多个数据对象,其中,多个数据对象被选择为使得源节点的第一总负载不再超过阈值;以及同时将多个数据对象从多个源节点集合中的每个源节点集合移动至多个目标节点。
另一个实施方式提供了一种或更多种用于存储计算机可读指令的非暂态计算机可读存储介质。计算机可读指令在被一个或更多个处理设备运行时提供负载平衡系统。计算机可读指令包括下述代码,该代码被配置成识别要从其移动一定数量的数据对象的源节点,其中,源节点是热点。该计算机可读指令还包括下述代码,该代码被配置成选择要从源节点移动的数据对象,其中,数据对象被选择为使得源节点不再是热点。此外,该计算机可读指令包括下述代码,该代码被配置成:确定目标节点,其中,目标节点不是热点并且位于距离源节点的预定范围内;以及将数据对象从源节点移动至目标节点。
提供本概述从而以简化的形式对概念的选择进行介绍;以下还在具体说明中进一步描述这些概念。本概述并不意在标识所要求保护的主题的关键特征或本质特征,也不意在用来限制所要求保护的主题的范围。
附图说明
图1是可以用于在集群存储系统中进行负载平衡的计算系统;
图2是可以针对其进行负载平衡以实现高可伸缩性并降低重配置成本的集群存储系统的实施方式;
图3是用于在集群存储系统中进行负载平衡的方法的框图;
图4是用于交叠热点的不相交的组的分治(divide-and conquer)负载平衡措施的图解;以及
图5是示出存储有适于在集群存储系统中进行负载平衡的代码的有形非暂态计算机可读介质的框图。
贯穿本公开内容和附图,使用相同的附图标记来指代类似的部件和特征。100系列的附图标记指代最初存在于图1中的特征,200系列的附图标记指代最初存在于图2中的特征,300系列的附图标记指代最初存在于图3中的特征,等等。
具体实施方式
本文公开的各种实施方式阐述了一种用于在集群存储系统中进行负载平衡的方法和系统。可以通过将特定的数据对象从源节点迁移至任何数量的目标节点来实现负载平衡。源节点可以是“热点”,其中,热点是具有超过预定阈值的合计负载的节点,该合计负载例如是每秒钟的输入/输出(I/O)操作的总数或者每秒钟传送的用于读操作和写操作的字节的总数。此外,可以基于针对每个数据对象的大小、请求或I/O操作的数量或其他标准来选择要从源节点移动至目标节点的特定数据对象。可以根据每个数据对象的负载值来按顺序布置数据对象,其中,负载值指定针对特定数据对象的I/O请求的数量。可以先将具有最大负载值的数据对象从源节点迁移至目标节点。可以以降序,即从最高负载值至最低负载值来继续数据对象的迁移,直到源节点的合计负载下降至预定阈值以下为止。
本文公开的系统和方法可以根据“移动操作”来进行数据对象的迁移,其涉及数据对象在两个分区(partition)之间的迁移。这两个分区可以是存储在两个单独的节点内的数据块(chunk),其中,数据块可以是具有某预定大小的信息片段。可以进行移动操作以使得数据对象从源节点移动至最近的合适的目标节点。此外,在各种实施方式中,可以假设在移动操作之前已经进行了“交换操作”。交换操作可以涉及对分区的主副本和次级副本的角色进行切换,其中,主副本和次级副本可以位于集群存储系统内的两个单独的节点上。
作为初步事项,一些附图在一个或更多个结构部件的上下文中描述概念,该结构部件不同地称为功能、模块、特征、元件等。附图中示出的各种部件可以以任何方式实现,例如通过软件、硬件(例如分立逻辑部件等)、固件等或这些实现方式的任意组合。在一个实施方式中,各种部件可以反映相应部件在实际实现方式中的使用。在其他实施方式中,附图中所示出的任何单个部件可以由一定数量的实际部件来实现。附图中对任何两个或更多个分离的部件的描绘可以反映由单个实际部件执行的不同功能。图1提供了与可以用于实现附图所示的功能的一个系统有关的细节。
其他附图以流程图的形式对概念进行了描述。以这种形式,某些操作被描述为构成以一定顺序执行的各个块。这样的实现方式是示例性的而非限制性的。本文所描述的某些块可以组合在一起并且在单个操作中执行,某些块可以被分开成多个部件块,并且某些块可以以与本文所示出的顺序不同的顺序来执行,包括以并行方式执行各个块。流程图中所示的块可以由软件、硬件、固件、手动处理等或者这些实现方式的任意组合来实现。如本文所使用的,硬件可以包括计算机系统、分立逻辑部件如专用集成电路(ASIC)等、及其任意组合。
关于术语,短语“被配置成”包括可以将任何类型的功能构造成进行所标识的操作的任何方式。功能可以被配置成使用例如软件、硬件、固件等或其任意组合来执行操作。
术语“逻辑”包括用于执行任务的任何功能。例如,流程图中示出的每个操作对应于用于执行该操作的逻辑。可以使用例如软件、硬件、固件等或其任意组合来执行操作。
如本文所使用的,术语“部件”、“系统”、“客户端”等意在指与计算机有关的实体,或者是软件、硬件(例如在运行中)和/或固件或其组合。例如,部件可以是运行在处理器上的处理、对象、可执行文件、程序、功能、库、子例程和/或计算机或软件与硬件的组合。
作为示例,运行在服务器上的应用以及服务器二者都可以是部件。一个或更多个部件可以驻留在处理内并且部件可以位于一个计算机上和/或分布在两个或更多个计算机之间。术语“处理器”通常理解为指的是硬件部件,如计算机系统的处理单元。
此外,所要求保护的主题可以被实现为下述方法、装置或产品:其使用标准的编程和/或工程技术来产生软件、固件、硬件或其任意组合,以控制计算机来实现所公开的主题。本文所使用的术语“产品”意在包括可从任何非暂态计算机可读装置或介质访问的计算机程序。
非暂态计算机可读存储介质可以包括但不限于磁存储设备(例如硬盘、软盘、磁条及其他)、光盘(例如压缩盘(CD)和数字通用盘(DVD)及其他)、智能卡以及闪存装置(例如卡、棒和键驱动器及其他)。相比之下,计算机可读介质通常(即未必是存储介质)可以另外包括通信介质,如用于无线信号的传输介质等。
图1是可以用于在集群存储系统中进行负载平衡的计算系统100。计算系统100可以被包括在计算设备中,计算设备例如是桌上型计算机、膝上型计算机或移动设备以及其他。此外,计算系统100可以被实现在服务器中,其中,服务器可以包括Web服务器或云服务器以及其他。计算系统100可以包括适于运行所存储的指令的处理器102以及存储可由处理器102运行的指令的存储器设备104。处理器102可以是单核处理器、多核处理器、计算集群或任何数量的其他配置。存储器设备104可以包括随机存取存储器(RAM)、只读存储器(ROM)、闪存或任何其他合适的存储器系统。由处理器102运行的被存储的指令可以通过将特定数据对象从源节点移动至任何数量的目标节点来实现用于在集群存储系统中进行负载平衡的方法。处理器102可以通过总线106连接至一个或更多个输入设备和输出设备。
计算系统100可以包括适于存储负载平衡模块110的存储设备108。在各种实施方式中,负载平衡模块110可以与在存储设备108上托管的其他模块或者计算系统100内的控制系统部件交互或配合。此外,在各种实施方式中,计算系统100可以是分布式系统,而负载平衡模块110可以是分布式程序。
存储设备108可以包括硬盘驱动器、光驱、指状驱动器、驱动器阵列或其任意组合。可以包括网络接口控制器(NIC)112以通过总线106将计算系统100连接至网络114。通过网络114,计算系统100可以以可通信地耦接至多个节点116。在各种实施方式中,节点116可以是存储节点,如商品个人计算机(PC)或服务器。此外,节点116可以用于提供对数据的读访问或写访问。此外,各个节点116还可以通过网络114彼此互连。在一些实施方式中,计算系统100可以连接至以生成树(spanning tree)拓扑组织的数以万计的节点116,其中,生成树拓扑是下述网络设计:其包括节点116之间的冗余链接以在节点116之间的活动链接失效的情况下提供自动的备份路径。在一些实施方式中,监测引擎117可以在节点116上运行并且可以向负载平衡模块110提供负载使用情况和其他度量。
在一些实施方式中,人机接口(HMI)118可以将计算系统100连接至任何数量的用户接口设备120,如触摸屏、扬声器或定点设备以及其他。计算系统100还可以通过总线106链接至I/O接口122,I/O接口122适于将计算系统100连接至任何数量的I/O设备124。I/O设备124例如可以包括显示设备、外部硬驱动器、通用串行总线(USB)设备或打印机以及其他。此外,计算系统100可以不是在每种情况下都包括本文所公开的所有部件,计算系统100中可以包括任何数量的另外的部件。
图2是可以针对其进行负载平衡以实现高可伸缩性并降低重配置成本的集群存储系统200的实施方式。在各种实施方式中,集群存储系统200可以是包括任何数量的节点如节点202、节点204、节点206和节点208的复制的、基于集群的数据对象存储系统。节点202、节点204、节点206和节点208可以是存储节点,如商品PC或服务器。此外,集群存储系统200可以包括在数据中心网络中互联的数以万计的节点202、节点204、节点206和节点208,其中,如关于图1讨论的,可以以生成树拓扑来组织数据中心网络。在各种实施方式中,可以使用任何数量的网络交换机或路由器210、212、214、216、218和220来实现集群存储系统200中的节点202、节点204、节点206和节点208之间的网络连接。此外,取决于具体应用,节点202、节点204、节点206和节点208之间的连接可以是无线连接或有线连接。
因为可以以生成树拓扑来组织节点202、节点204、节点206和节点208,所以多个节点之间的网络距离可以改变。这可能导致不同节点之间的带宽连接性的差别。例如,同一框架或集群中的两个节点可能比不同的框架或集群中的两个节点具有更高的带宽连接性。因此,一个节点对另一个节点的接近度影响将数据对象在两个节点之间移动的数据迁移成本。
数据可以按单元或分区或者数据块存储在节点202、节点204、节点206和节点208中的每个节点中。分区可以是具有一定数量副本的、具有某个固定大小的数据单元,其中,副本可以是该分区的相同拷贝。此外,对于每个分区,可以有主副本和任何数量的次级副本。在各种实施方式中,因为数据也存在于该分区的所有其他副本中,所以副本可以通过确保分区的一个副本的失效将不会导致数据的损失来实现故障容差。此外,特定分区的每个副本可以被置于单独的故障域,例如单独的节点或架(rack)中,从而增加该分区的故障容差。
在各种实施方式中,集群存储系统200可以可通信地耦接至任何数量的客户端设备222,其中,客户端设备222可以包括移动电话、平板电脑、桌上型计算机、膝上型计算机、电子阅读器、电视或媒体播放器及其他。客户端设备222可以用于发起I/O请求,其中,I/O请求可以包括在集群存储系统200内执行读操作或写操作或者事务的请求。因此,总体上,客户端设备222可以包括能够发起这种I/O请求的任何类型的计算设备。
此外,来自客户端设备222的I/O请求可以首先被发送至元数据服务224,如箭头226所指示的。元数据服务224可以确定哪些数据对象受到从客户端设备222接收到的特定I/O请求的影响。此外,元数据服务224可以将每个数据对象映射到其在集群存储系统200内的构成分区以及将每个分区映射至其当前的主副本,如箭头228所指示的。此外,在一些实施方式中,元数据服务可以周期性地轮询集群存储系统200中的每个节点202、节点204、节点206和节点208,以跟踪每个节点的可用性,如箭头228所指示的。元数据服务也可以使用租用(lease)来维持节点202、节点204、节点206和节点208内的每个分区的副本之间的读写一致性。
在元数据服务224将每个数据对象映射到其在集群存储系统200内的构成分区以及对应的主副本之后,元数据服务224可以将与相关的数据对象有关的映射信息返回至发起特定I/O请求的客户端设备222,如箭头228所指示的。客户端设备222然后可以通过访问集群存储系统200内的合适的节点202、节点204、节点206和节点208来执行由特定的I/O请求指定的读操作和写操作,如箭头230所指示的。
根据一些实施方式,对于写请求,客户端设备222可以将消息发送至集群存储系统200以指定与要写入数据的期望的分区有关的特定分区标识(ID)以及数据的大小。客户端设备222然后可以将针对写请求的实际数据发送至集群存储系统200内的期望的分区。在期望的分区内,主副本可以确定写请求的合适次序并且将写请求发送至次级副本。如果写请求是有效的,则主副本可以将“接受”消息发送回客户端设备222以便对写请求的执行进行确认。
图3是用于在集群存储系统中进行负载平衡的方法300的框图。根据方法300,可以通过将数据对象在两个节点之间进行迁移来实现负载平衡。此外,数据迁移可以通过移动操作来实现,该移动操作导致数据对象在多个节点之间迁移。另外,可以假设在方法300开始之前已经进行了合适的交换操作。在一些实施方式中,交换操作可以用于通过对分区的主副本和次级副本的角色进行切换来平衡集群存储系统内的负载,其中,主副本和次级副本可以位于集群存储系统内的两个单独的节点上。
方法300可以用于通过从热点迁移出一定数量的数据对象来使得集群存储系统中的热点或源节点的总负载最小化。方法300的目标可以是使得将特定数据对象从一个节点移动至另一个节点的带宽成本或数据迁移成本最小化。在一些实施方式中,该目标可以如下表示:
使ΣiΣjXijBij最小化 等式1
其中,如果第i对象移动至第j节点,则Xij等于1,否则Xij等于0,并且将第i对象移动至第j节点的带宽成本是Bij。此外,方法300可以企图根据若干约束或条件来对集群存储系统中的热点上的负载进行平衡。这种平衡过程可以用于减轻热点上的过载。在各种实施方式中,可以如下表示这些条件:
其中,Cj是第j节点的负载能力,Sj是被选择要从第j节点移动的数据对象的集合,Li是第i对象的负载,L*j是第j对象的总负载,R(i,r)是从第i对象所属的节点起半径r范围内的节点的数量,Gp是要从过载的源节点移动的具有分区索引p的被选择的数据的集合,Fq是具有同一故障域索引q的节点的集合,并且如果第q域含有与第i对象相同的分区,则Iiq等于0,否则Iiq等于1。如等式2所表示的,第一约束是:对于集群存储系统中的每个第j节点,总负载要保持在预定阈值即负载能力Cj以下。如等式3和等式4所表示的,第二约束是:目标节点要至少在从源节点起一定距离或半径r之内。可以理解的是,如本文所使用的,半径r可以被认为是下述路由器、交换机等的数量的代表,其中,数据对象必须通过这些路由器、交换机等以到达目标节点。这通常可以反映在两个节点的物理接近性上,但是这样的物理接近性不是必需的。
此外,如等式5和等式6所表示的,第三约束通过防止具有同一分区的数据对象被置于同一故障域上,例如在同一节点或架中,来确保故障容差。具体地,Gp表示所选择的数据对象的集合中属于分区索引p的所有副本的组。由此,等式5施加约束使得具有同一分区索引的候选数据对象不能被置于同一故障域上,而等式6施加约束使得候选数据对象不能被置于已经具有来自同一分区的副本的故障域上。在候选数据对象的集合由具有交叠的搜索区域的节点结合而成的情况下,由等式5和等式6施加的故障容差约束会特别有用。然而,对于单个节点,这些约束显然成立,因为副本分区的至多一个拷贝能够被托管在该节点上。此外,由等式2至等式6施加的约束可以用于开发和实现方法300中的各个步骤,以下将详细讨论这些步骤。
方法300开始于块302,在集群存储系统内识别要从其移动一定数量的数据对象的源节点。可以根据负载平衡系统的实例来运行方法300,其中,负载平衡系统被配置成平衡特定集群存储系统内的各节点上的I/O请求负载。此外,负载平衡系统可以是允许包含在特定集群存储系统内的多个节点或服务器之间的交互的云计算平台中的数据管理中间件系统。
在各种实施方式中,源节点可以是热点,即具有超过预定阈值的合计负载或总负载的节点。特定节点的总负载可以是针对该节点的每秒的I/O操作的总数量或者每秒传送的用于读操作和写操作的字节的总数量。此外,用于确定节点是否是热点的阈值可以被确定为使得节点的响应时间不增加到特定值或下述吞吐率以上,该吞吐率是依据在给定的时间窗口中处理的事务的数量是否超过特定值来测量的。
此外,在一些实施方式中,元数据服务可以用于识别要从其移动数据对象的源节点。元数据服务可以响应于来自一定数量的客户端设备中的任何客户端设备的、针对特定源节点的预定数量的I/O请求的流入来识别源节点。预定数量的I/O请求可以被选择为使得如果针对特定节点接收了预定数量的I/O请求则该节点可以被认为是热点。此外,在各种实施方式中,元数据服务可以通过将来自客户端设备的进入I/O请求映射至集群存储系统内的节点中的任何节点(包括源节点或目标节点或源节点和目标节点二者)内的具体数据对象,来帮助执行方法300。
在块304,可以选择要从源节点移动的数据对象。在各种实施方式中,可以对数据对象进行选择以使得一旦数据对象已从源节点移走,则源节点的总负载将不再超过阈值。由此,可能期望的是,基于每个单独的数据对象的负载值来选择数据对象。负载值可以等于针对源节点内的特定数据对象的I/O请求的数量。在一些实施方式中,可以将整数决策变量分配给源节点内的每个数据对象。如果整数决策变量等于1,指示特定数据对象具有高负载值,则可以将数据对象从源节点移走。如果整数决策变量等于0,指示特定数据对象具有低负载值,则数据对象可以保留在源节点内。此外,在各种实施方式中,可以将实数决策变量分配给源节点内的每个数据对象。实数决策变量可以等于0至1之间且包括0和1的任何实数,其中0指示数据对象具有为0的负载值。此外,可以根据数据对象的实数决策变量以降序布置数据对象,并且可以选择首先移动具有最高的实数决策变量(其指示数据对象具有最大数量的I/O请求)的数据对象。另外,在一些实施方式中,可以随机选择要从源节点移动的数据对象。在块306,可以基于目标节点的总负载以及目标节点与源节点的接近度来确定集群存储系统内的目标节点。例如,目标节点可以是集群存储系统内的具有不超过预定阈值的总负载(即,不是热点)并且在距源节点某预定距离或半径内的任何节点。在一些情况中,可以针对方法300的特定实例来确定多个目标节点,并且可以选择性地将数据对象移动至目标节点中的任何目标节点。最接近源节点的目标节点可以是优选的,这是因为数据迁移成本随着目标节点与源节点之间的距离增大而升高。由此,可以针对要在其中识别合适的目标节点的区域指定从源节点起的初始半径。然后,如果不能在初始半径内找到合适的目标节点,则可以逐渐增大半径,直到找到合适的目标节点为止。此外,如上面所讨论的,半径或半径距离可以被认为是下述路由器、交换机等的数量的代表,其中,数据对象必须通过这些路由器、交换机等以到达目标节点。这通常反映在两个节点的物理接近性上,但是这种物理接近性不是必需的。
在块308,可以将数据对象从源节点移动至目标节点。在一些实施方式中,可以通过选择性地将特定数据对象移动至一定数量的目标节点中的任何目标节点来提高方法300的效率。此外,可以根据从源节点到合适的目标节点的最短可能路径来移动或迁移数据对象,这是因为数据迁移成本随着数据对象的行进距离的增大而升高。
此外,方法300并不意在指示要以任何特定的顺序来运行方法300中的各个步骤,也不意在指示在每种情况下都要存在全部步骤。此外,可以根据具体应用向方法300添加步骤。例如,方法300可以用于并行地识别一定数量的具有超过阈值的总负载的非交叠源节点的集合。源节点的特定集合内的源节点可以彼此在特定的半径距离内,即这些源节点可以具有交叠的搜索半径。可以选择要从源节点集合中的每个源节点集合移动的一定数量的数据对象,可以确定距源节点集合中的每个源节点集合特定搜索半径内的任何数量的合适的目标节点,并且可以将数据对象同时从源节点集合中的每个源节点集合移动至目标节点。可以并行执行负载平衡系统的多个实例,以将数据对象同时从源节点集合中的每个源节点集合移动至所选择的目标节点。在各种实施方式中,可以将这种针对一定数量的不相交或不交叠的源节点集合同时进行数据迁移的方法称为“分治”负载平衡措施。
此外,在各种实施方式中,在对数据对象的重配置期间和/或在对应的源节点和目标节点内,对数据对象的移动可能导致与网络中前台运行应用的干扰。这可以通过指定资源带宽预算或者通过经由使用传输协议来将前台流量与后台流量分离开而减轻。
图4是用于交叠热点的不相交的组的分治负载平衡措施的图解400。图解400可以表示集群存储系统内的一定数量的源节点。集群存储系统可以包括第一热点402、第二热点404、第三热点406、第四热点408和第五热点410。此外,热点402、404、406、408和410可以分别被包括在具有预定半径如半径422的“邻域”412、414、416、418和420内。预定半径可以是用于热点402、404、406、408和410中的所有热点的标准半径或者可以是针对每个单独的热点402、404、406、408或410的特定唯一半径。
具有交叠的邻域的热点可以被合并到组424和组426中。在各种实施方式中,第一热点402和第二热点404的邻域412和414分别可以被合并到组424中。此外,第三热点406的邻域416、第四热点408的邻域418和第五热点410的邻域420可以被合并到组426中。然后,负载平衡系统可以针对组424和组426并行地执行方法300。此外,可以根据方法300同时执行针对每个组424或426内的热点的负载平衡。在各种实施方式中,这种分治负载平衡措施可以在不损失精确度的情况下使得方法300的计算成本降低。
图5是示出存储有适于在集群存储系统中进行负载平衡的代码的有形非暂态计算机可读介质500的框图。有形非暂态计算机可读介质500可以由处理器502通过计算机总线504访问。此外,有形非暂态计算机可读介质500可以包括被配置成引导处理器520执行当前方法的步骤的代码。本文所讨论的各种软件部件可以被存储在有形非暂态计算机可读介质500上,如图5所指示的。例如,负载平衡模块506可以用于通过在节点之间迁移数据对象来平衡集群存储系统内的特定节点上的负载。此外,有形非暂态计算机可读介质500可以包括图5中未示出的另外的软件部件。
尽管用特定于结构特征和/或方法行为的语言描述了主题,但是要理解的是,所附权利要求中限定的主题未必限于上述特定特征或行为。而是,作为实现权利要求的示例形式公开上述特定特征和行为。
附记:
附记1.一种用于在集群存储系统中进行负载平衡的方法,包括:
识别所述集群存储系统内的源节点,其中要从所述源节点移动多个数据对象,其中,所述源节点包括总负载超过阈值的节点;
选择要从所述源节点移动的所述多个数据对象,其中,所述多个数据对象被选择为使得所述源节点的总负载不再超过所述阈值;
基于与所述源节点的接近度以及目标节点的总负载来确定所述集群存储系统内的所述目标节点;以及
将所述多个数据对象从所述源节点移动至所述目标节点。
附记2.根据附记1所述的方法,包括:基于所述多个目标节点中的每个目标节点上的总负载以及所述多个目标节点中的每个目标节点与所述源节点的接近度,将所述多个数据对象中的任何数据对象从所述源节点移动至所述多个目标节点中的任何目标节点。
附记3.根据附记1所述的方法,包括:
识别总负载超过所述阈值的多个源节点;
将所述多个源节点划分成多个源节点集合,其中,所述多个源节点集合中的每个源节点集合包括一个源节点或者具有交叠的搜索半径的源节点的小子集;
选择要从所述多个源节点集合中的每个源节点集合移动的多个数据对象;
确定距所述多个源节点集合中的每个源节点集合特定搜索半径内的多个目标节点;以及
同时将所述多个数据对象从所述多个源节点集合中的每个源节点集合移动至所述多个目标节点。
附记4.根据附记1所述的方法,包括:
识别总负载超过所述阈值的多个源节点,其中,所述多个源节点彼此相距特定的半径距离之内;
选择要从所述多个源节点中的每个源节点移动的多个数据对象;
确定距所述多个源节点特定搜索半径内的多个目标节点;以及
同时将所述多个数据对象从所述多个源节点移动至所述多个目标节点。
附记5.根据附记1所述的方法,包括:随机选择要从所述源节点移动的所述多个数据对象。
附记6.根据附记1所述的方法,包括:基于负载值来选择要从所述源节点移动的所述多个数据对象,其中,从具有最大负载值的数据对象开始并继续以降序来选择所述多个数据对象。
附记7.根据附记6所述的方法,其中,所述负载值包括针对所述源节点内的特定数据对象的输入/输出请求的数量。
附记8.根据附记1所述的方法,其中,将所述多个数据对象从所述源节点移动至所述目标节点包括:通过指定资源带宽预算或者通过使用传输协议将前台流量与后台流量分离而使重配置期间的干扰最小化。
附记9.根据附记1所述的方法,包括:基于分配给所述源节点内的每个数据对象的实数决策变量来选择要从所述源节点移动的所述多个数据对象,其中,所述实数决策变量包括在0和1之间或者等于0或1的实数,并且其中,从具有最大的实数决策变量的数据对象开始并继续以降序来选择要被移动的所述多个数据对象。
附记10.根据附记1所述的方法,包括:响应于来自多个客户端设备中的任何客户端设备的针对所述源节点的预定数量的输入/输出请求的流入、使用元数据服务来识别所述集群存储系统内的要从其移动所述多个数据对象的所述源节点。
附记11.一种用于在集群存储系统中进行负载平衡的系统,包括:
源节点,其中所述源节点包括所述集群存储系统内的具有超过阈值的第一总负载的节点;
目标节点,其中所述目标节点包括所述集群存储系统内的具有不超过所述阈值的第二总负载的节点,并且其中基于与所述源节点的接近度来选择所述目标节点;以及
负载平衡系统,其被配置成:
选择要从所述源节点移动至所述目标节点的多个数据对象,其中,所述多个数据对象被选择为使得所述源节点的所述第一总负载不再超过所述阈值;以及
将所述多个数据对象从所述源节点移动至所述目标节点。
附记12.根据附记11所述的系统,其中,所述第一总负载和所述第二总负载包括每秒的输入/输出操作的总数量或者每秒钟传送的用于读操作和写操作的字节的总数量。
附记13.根据附记11所述的系统,其中,所述目标节点与所述源节点的接近度包括至少小于特定半径的从所述目标节点到所述源节点的距离。
附记14.根据附记13所述的系统,其中,逐渐增大所述特定半径,直到识别出所述目标节点为止。
附记15.根据附记11所述的系统,包括并行地执行所述负载平衡系统的多个实例以同时从多个源节点中的每个源节点移动多个数据对象,其中,所述多个源节点包括彼此相距至少预定距离的不交叠的节点。
附记16.根据附记11所述的系统,其中,所述目标节点和所述源节点包括通过网络互连的服务器。
附记17.根据附记11所述的系统,其中,所述系统包括元数据服务,所述元数据服务被配置成将来自客户端设备的进入输入/输出请求映射至所述源节点或所述目标节点或所述源节点和所述目标节点的任意组合内的特定数据对象。
附记18.一种或更多种非暂态计算机可读存储介质,用于存储计算机可读指令,所述计算机可读指令在被一个或更多个处理设备运行时提供负载平衡系统,所述计算机可读指令包括代码,所述代码被配置成:
识别要从其移动多个数据对象的源节点,其中,所述源节点包括热点;
选择要从所述源节点移动的所述多个数据对象,其中,所述多个数据对象被选择为使得所述源节点不再是所述热点;
确定目标节点,其中,所述目标节点不包括热点,并且位于距所述源节点的预定范围内;以及
将所述多个数据对象从所述源节点移动至所述目标节点。
附记19.根据附记18所述的一个或更多个非暂态计算机可读存储介质,其中,所述热点包括每秒的输入/输出操作的总数量或者每秒钟传送的字节的总数量超过预定阈值的节点。
附记20.根据附记18所述的一个或更多个非暂态计算机可读存储介质,其中,距所述源节点的所述预定范围包括至少小于预定半径的距所述源节点的距离。

Claims (9)

1.一种用于在集群存储系统中进行负载平衡的方法,包括:
识别所述集群存储系统内的作为热点的多个源节点,其中要从所述多个源节点移动多个数据对象,其中,热点是总负载超过阈值的节点;
将所述多个源节点划分成多个源节点集合,其中,所述多个源节点集合中的每个源节点集合包括一个源节点或者具有交叠的搜索半径的源节点的小子集;
选择要从所述多个源节点集合中的每个源节点集合移动的所述多个数据对象,其中,在每个源节点中所述多个数据对象被选择为使得所述源节点的总负载不再超过所述阈值;
确定距所述多个源节点集合中的每个源节点集合特定搜索半径内的多个目标节点;以及
同时将所述多个数据对象从所述多个源节点集合中的每个源节点集合移动至所述多个目标节点。
2.根据权利要求1所述的方法,包括:基于所述多个目标节点中的每个目标节点上的总负载以及所述多个目标节点中的每个目标节点与所述源节点的接近度,将所述多个数据对象中的任何数据对象从所述源节点移动至所述多个目标节点中的任何目标节点。
3.根据权利要求1所述的方法,包括:
识别总负载超过所述阈值的多个源节点,其中,所述多个源节点彼此相距特定的半径距离之内;
选择要从所述多个源节点中的每个源节点移动的多个数据对象;
确定距所述多个源节点特定搜索半径内的多个目标节点;以及
同时将所述多个数据对象从所述多个源节点移动至所述多个目标节点。
4.根据权利要求1所述的方法,包括:基于负载值来选择要从所述源节点移动的所述多个数据对象,其中,从具有最大负载值的数据对象开始并继续以降序来选择所述多个数据对象。
5.根据权利要求1所述的方法,其中,将所述多个数据对象从所述源节点移动至所述目标节点包括:通过指定资源带宽预算或者通过使用传输协议将前台流量与后台流量分离而使重配置期间的干扰最小化。
6.根据权利要求1所述的方法,包括:基于分配给所述源节点内的每个数据对象的实数决策变量来选择要从所述源节点移动的所述多个数据对象,其中,所述实数决策变量包括在0和1之间或者等于0或1的实数,并且其中,从具有最大的实数决策变量的数据对象开始并继续以降序来选择要被移动的所述多个数据对象。
7.一种用于在集群存储系统中进行负载平衡的系统,包括:
多个源节点,其中源节点包括所述集群存储系统内的具有超过阈值的第一总负载的热点节点,其中,所述多个源节点被划分成多个源节点集合,其中所述多个源节点集合中的每个源节点集合包括一个源节点或者具有交叠的搜索半径的源节点的小子集;
多个目标节点,其中目标节点包括所述集群存储系统内的具有不超过所述阈值的第二总负载的节点,并且其中所述多个目标节点中的每个目标节点在距所述多个源节点集合中的每个源节点集合特定搜索半径内;以及负载平衡系统,其被配置成:
通过以下方式识别所述多个目标节点中的每个目标节点:逐渐增大具体半径直到识别出所述目标节点;
选择要从所述多个源节点集合中的每个源节点集合移动至相关目标节点的多个数据对象,其中,所述多个数据对象被选择为使得所述源节点的所述第一总负载不再超过所述阈值;以及
同时将所述多个数据对象从所述多个源节点集合中的每个源节点集合移动至所述多个目标节点。
8.根据权利要求7所述的系统,其中,所述第一总负载和所述第二总负载包括每秒的输入/输出操作的总数量或者每秒钟传送的用于读操作和写操作的字节的总数量。
9.根据权利要求7所述的系统,包括并行地执行所述负载平衡系统的多个实例以同时从多个源节点中的每个源节点移动多个数据对象,其中,所述多个源节点包括彼此相距至少预定距离的不交叠的节点。
CN201210540008.8A 2011-12-13 2012-12-13 用于在集群存储系统中进行负载平衡的方法和系统 Active CN103095804B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/324,497 2011-12-13
US13/324,497 US8886781B2 (en) 2011-12-13 2011-12-13 Load balancing in cluster storage systems

Publications (2)

Publication Number Publication Date
CN103095804A CN103095804A (zh) 2013-05-08
CN103095804B true CN103095804B (zh) 2016-11-16

Family

ID=48207927

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210540008.8A Active CN103095804B (zh) 2011-12-13 2012-12-13 用于在集群存储系统中进行负载平衡的方法和系统

Country Status (5)

Country Link
US (1) US8886781B2 (zh)
EP (1) EP2791813B1 (zh)
CN (1) CN103095804B (zh)
ES (1) ES2720482T3 (zh)
WO (1) WO2013090640A1 (zh)

Families Citing this family (149)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8332365B2 (en) 2009-03-31 2012-12-11 Amazon Technologies, Inc. Cloning and recovery of data volumes
US8341130B2 (en) * 2009-08-12 2012-12-25 International Business Machines Corporation Scalable file management for a shared file system
US8850153B2 (en) 2011-09-30 2014-09-30 International Business Machines Corporation Enabling throttling on average write throughput for solid state storage devices
CN103226518B (zh) * 2012-01-31 2016-06-22 国际商业机器公司 一种在存储管理系统中进行卷扩展的方法和装置
JP2013171305A (ja) * 2012-02-17 2013-09-02 Fujitsu Ltd ストレージ装置、ストレージシステム、ストレージ管理方法及びストレージ管理プログラム
US9110600B1 (en) 2012-03-19 2015-08-18 Amazon Technologies, Inc. Triggered data shelving to a different storage system and storage deallocation
US9804993B1 (en) 2012-05-07 2017-10-31 Amazon Technologies, Inc. Data volume placement techniques
US9823840B1 (en) * 2012-05-07 2017-11-21 Amazon Technologies, Inc. Data volume placement techniques
US20130332608A1 (en) * 2012-06-06 2013-12-12 Hitachi, Ltd. Load balancing for distributed key-value store
KR101232654B1 (ko) * 2012-09-11 2013-02-13 효성아이티엑스(주) 블록디바이스 기반의 가상 스토리지 서비스 시스템 및 방법
US9417997B1 (en) * 2012-09-28 2016-08-16 Emc Corporation Automated policy based scheduling and placement of storage resources
US10127154B2 (en) * 2013-03-20 2018-11-13 Hewlett Packard Enterprise Development Lp Caching data in a memory system having memory nodes at different hierarchical levels
JP6086007B2 (ja) * 2013-03-26 2017-03-01 富士通株式会社 ストレージ制御装置の制御プログラム、ストレージ制御装置の制御方法、ストレージ制御装置及びストレージシステム
US9934323B2 (en) * 2013-10-01 2018-04-03 Facebook, Inc. Systems and methods for dynamic mapping for locality and balance
US10635644B2 (en) * 2013-11-11 2020-04-28 Amazon Technologies, Inc. Partition-based data stream processing framework
US9805479B2 (en) 2013-11-11 2017-10-31 Amazon Technologies, Inc. Session idle optimization for streaming server
CA2930026C (en) * 2013-11-11 2020-06-16 Amazon Technologies, Inc. Data stream ingestion and persistence techniques
US9578074B2 (en) 2013-11-11 2017-02-21 Amazon Technologies, Inc. Adaptive content transmission
US9794135B2 (en) 2013-11-11 2017-10-17 Amazon Technologies, Inc. Managed service for acquisition, storage and consumption of large-scale data streams
WO2015070227A1 (en) * 2013-11-11 2015-05-14 Amazon Technologies, Inc. Location of actor resources
US9634942B2 (en) 2013-11-11 2017-04-25 Amazon Technologies, Inc. Adaptive scene complexity based on service quality
US9582904B2 (en) 2013-11-11 2017-02-28 Amazon Technologies, Inc. Image composition based on remote object data
US9596280B2 (en) 2013-11-11 2017-03-14 Amazon Technologies, Inc. Multiple stream content presentation
US9604139B2 (en) 2013-11-11 2017-03-28 Amazon Technologies, Inc. Service for generating graphics object data
US9641592B2 (en) * 2013-11-11 2017-05-02 Amazon Technologies, Inc. Location of actor resources
US9720989B2 (en) * 2013-11-11 2017-08-01 Amazon Technologies, Inc. Dynamic partitioning techniques for data streams
CN103634394B (zh) * 2013-11-28 2016-08-17 中国科学院信息工程研究所 一种面向数据流处理的弹性可扩展资源管理方法及系统
US9430649B2 (en) * 2013-12-17 2016-08-30 Microsoft Technology Licensing, Llc Automatic strong identity generation for cluster nodes
US9207873B2 (en) 2013-12-19 2015-12-08 Netapp, Inc. Parallel migration of data objects to clustered storage
WO2015112614A1 (en) 2014-01-21 2015-07-30 Oracle International Corporation System and method for supporting multi-tenancy in an application server, cloud, or other environment
US10348822B2 (en) * 2014-01-21 2019-07-09 Oracle International Corporation System and method for clustering in a multitenant application server environment
CN103914264B (zh) * 2014-03-12 2017-09-12 汉柏科技有限公司 一种矩阵硬盘的数据存储方法及系统
US9274710B1 (en) * 2014-03-31 2016-03-01 Amazon Technologies, Inc. Offset-based congestion control in storage systems
US9785510B1 (en) 2014-05-09 2017-10-10 Amazon Technologies, Inc. Variable data replication for storage implementing data backup
CN103970907A (zh) * 2014-05-28 2014-08-06 浪潮电子信息产业股份有限公司 一种动态扩展数据库集群的方法
CN105320460A (zh) * 2014-06-27 2016-02-10 中兴通讯股份有限公司 一种写性能优化方法、装置及存储系统
US9477743B2 (en) * 2014-07-02 2016-10-25 Oracle International Corporation System and method for load balancing in a distributed system by dynamic migration
US9734021B1 (en) 2014-08-18 2017-08-15 Amazon Technologies, Inc. Visualizing restoration operation granularity for a database
US9860316B2 (en) 2014-09-19 2018-01-02 Facebook, Inc. Routing network traffic based on social information
US10318280B2 (en) 2014-09-24 2019-06-11 Oracle International Corporation System and method for supporting patching in a multitenant application server environment
JP6748638B2 (ja) 2014-09-24 2020-09-02 オラクル・インターナショナル・コーポレイション マルチテナントアプリケーションサーバ環境においてパッチングをサポートするためのシステムおよび方法
US9965788B2 (en) 2014-09-26 2018-05-08 Wal-Mart Stores, Inc. System and method for prioritized product index searching
US20160092519A1 (en) 2014-09-26 2016-03-31 Wal-Mart Stores, Inc. System and method for capturing seasonality and newness in database searches
US9710755B2 (en) 2014-09-26 2017-07-18 Wal-Mart Stores, Inc. System and method for calculating search term probability
US10002172B2 (en) 2014-09-26 2018-06-19 Walmart Apollo, Llc System and method for integrating business logic into a hot/cold prediction
US9934294B2 (en) 2014-09-26 2018-04-03 Wal-Mart Stores, Inc. System and method for using past or external information for future search results
CN105786592A (zh) * 2014-12-15 2016-07-20 北大方正集团有限公司 一种分布式事务的处理方法及装置
US10250512B2 (en) 2015-01-21 2019-04-02 Oracle International Corporation System and method for traffic director support in a multitenant application server environment
US9888064B2 (en) 2015-02-11 2018-02-06 International Business Machines Corporation Load-balancing input/output requests in clustered storage systems
US9916275B2 (en) 2015-03-09 2018-03-13 International Business Machines Corporation Preventing input/output (I/O) traffic overloading of an interconnect channel in a distributed data storage system
US10715460B2 (en) * 2015-03-09 2020-07-14 Amazon Technologies, Inc. Opportunistic resource migration to optimize resource placement
US10721181B1 (en) 2015-03-10 2020-07-21 Amazon Technologies, Inc. Network locality-based throttling for automated resource migration
US11336519B1 (en) * 2015-03-10 2022-05-17 Amazon Technologies, Inc. Evaluating placement configurations for distributed resource placement
US10616134B1 (en) 2015-03-18 2020-04-07 Amazon Technologies, Inc. Prioritizing resource hosts for resource placement
EP3079060B1 (en) * 2015-04-08 2018-03-28 Huawei Technologies Co., Ltd. Load balancing for large in-memory databases
US9569136B2 (en) 2015-04-29 2017-02-14 International Business Machines Corporation Smart load balancing replication when adding or removing storage disks in a distributed storage system
US10402372B2 (en) 2015-07-27 2019-09-03 Sas Institute Inc. Distributed data storage grouping
CN106713377B (zh) * 2015-07-29 2019-09-13 腾讯科技(深圳)有限公司 分布式数据库负载调平的方法和装置
CN105159925B (zh) * 2015-08-04 2019-08-30 北京京东尚科信息技术有限公司 一种数据库集群数据分配方法及系统
RU2015139057A (ru) 2015-09-14 2017-03-17 ИЭмСи КОРПОРЕЙШН Способ и система распределенного хранения данных
US10437682B1 (en) * 2015-09-29 2019-10-08 EMC IP Holding Company LLC Efficient resource utilization for cross-site deduplication
US10133770B2 (en) * 2015-12-16 2018-11-20 EMC IP Holding Company LLC Copying garbage collector for B+ trees under multi-version concurrency control
US10567500B1 (en) 2015-12-21 2020-02-18 Amazon Technologies, Inc. Continuous backup of data in a distributed data store
US10853182B1 (en) * 2015-12-21 2020-12-01 Amazon Technologies, Inc. Scalable log-based secondary indexes for non-relational databases
US10423493B1 (en) 2015-12-21 2019-09-24 Amazon Technologies, Inc. Scalable log-based continuous data protection for distributed databases
US10152527B1 (en) 2015-12-28 2018-12-11 EMC IP Holding Company LLC Increment resynchronization in hash-based replication
CN107132990B (zh) * 2016-02-26 2021-05-04 深信服科技股份有限公司 基于超融合存储的读io调度方法及装置
US10324635B1 (en) 2016-03-22 2019-06-18 EMC IP Holding Company LLC Adaptive compression for data replication in a storage system
US10310951B1 (en) 2016-03-22 2019-06-04 EMC IP Holding Company LLC Storage system asynchronous data replication cycle trigger with empty cycle detection
US10565058B1 (en) 2016-03-30 2020-02-18 EMC IP Holding Company LLC Adaptive hash-based data replication in a storage system
US9959063B1 (en) 2016-03-30 2018-05-01 EMC IP Holding Company LLC Parallel migration of multiple consistency groups in a storage system
US10095428B1 (en) * 2016-03-30 2018-10-09 EMC IP Holding Company LLC Live migration of a tree of replicas in a storage system
US9959073B1 (en) 2016-03-30 2018-05-01 EMC IP Holding Company LLC Detection of host connectivity for data migration in a storage system
JP6747018B2 (ja) * 2016-03-31 2020-08-26 日本電気株式会社 記憶システム、記憶システム制御装置、記憶システム制御方法及びプログラム
CN106131121B (zh) * 2016-06-21 2019-02-12 南京邮电大学 一种基于双层自我中心网络的存储节点选择方法
US10013200B1 (en) 2016-06-29 2018-07-03 EMC IP Holding Company LLC Early compression prediction in a storage system with granular block sizes
US10083067B1 (en) 2016-06-29 2018-09-25 EMC IP Holding Company LLC Thread management in a storage system
US10152232B1 (en) 2016-06-29 2018-12-11 EMC IP Holding Company LLC Low-impact application-level performance monitoring with minimal and automatically upgradable instrumentation in a storage system
US10048874B1 (en) 2016-06-29 2018-08-14 EMC IP Holding Company LLC Flow control with a dynamic window in a storage system with latency guarantees
US9983937B1 (en) 2016-06-29 2018-05-29 EMC IP Holding Company LLC Smooth restart of storage clusters in a storage system
US10331454B2 (en) * 2016-09-29 2019-06-25 Intel Corporation System and method for load balancing in out-of-order clustered decoding
US10303392B2 (en) * 2016-10-03 2019-05-28 International Business Machines Corporation Temperature-based disk defragmentation
JP6825323B2 (ja) * 2016-11-14 2021-02-03 富士通株式会社 情報処理装置、情報処理システム、および状態情報収集プログラム
US11503136B2 (en) * 2016-11-30 2022-11-15 Microsoft Technology Licensing, Llc Data migration reservation system and method
US11093838B2 (en) * 2017-05-10 2021-08-17 Microsoft Technology Licensing, Llc Adaptive selection of user to database mapping
US10372370B2 (en) 2017-06-21 2019-08-06 Western Digital Technologies, Inc. Metadata load distribution management
CN107395721B (zh) * 2017-07-20 2021-06-29 郑州云海信息技术有限公司 一种元数据集群扩容的方法和系统
US10754696B1 (en) * 2017-07-20 2020-08-25 EMC IP Holding Company LLC Scale out capacity load-balancing for backup appliances
US10466899B2 (en) 2017-07-28 2019-11-05 Hewlett Packard Enterprise Development Lp Selecting controllers based on affinity between access devices and storage segments
US10754844B1 (en) 2017-09-27 2020-08-25 Amazon Technologies, Inc. Efficient database snapshot generation
US10990581B1 (en) 2017-09-27 2021-04-27 Amazon Technologies, Inc. Tracking a size of a database change log
US11182372B1 (en) 2017-11-08 2021-11-23 Amazon Technologies, Inc. Tracking database partition change log dependencies
US11042503B1 (en) 2017-11-22 2021-06-22 Amazon Technologies, Inc. Continuous data protection and restoration
US11269731B1 (en) 2017-11-22 2022-03-08 Amazon Technologies, Inc. Continuous data protection
CN108259583B (zh) * 2017-12-29 2020-05-26 广州云达信息技术有限公司 一种数据动态迁移方法及装置
CN108345510B (zh) * 2018-01-11 2022-02-08 中国人民解放军国防科技大学 一种自动巡检检测大规模离线归档系统可靠性的方法
US10834190B2 (en) 2018-01-18 2020-11-10 Portworx, Inc. Provisioning of clustered containerized applications
US10621049B1 (en) 2018-03-12 2020-04-14 Amazon Technologies, Inc. Consistent backups based on local node clock
US10732903B2 (en) 2018-04-27 2020-08-04 Hewlett Packard Enterprise Development Lp Storage controller sub-LUN ownership mapping and alignment
US10776173B1 (en) 2018-04-30 2020-09-15 Amazon Technologies, Inc. Local placement of resource instances in a distributed system
US11121981B1 (en) 2018-06-29 2021-09-14 Amazon Technologies, Inc. Optimistically granting permission to host computing resources
US10649855B2 (en) * 2018-07-12 2020-05-12 EMC IP Holding Company LLC Network configuration method to allow access to the backup and restores to Mtrees on a clustered backup appliance
US10768830B1 (en) 2018-07-16 2020-09-08 Amazon Technologies, Inc. Streaming data service with isolated read channels
US10855754B1 (en) 2018-07-16 2020-12-01 Amazon Technologies, Inc. Isolated read channel categories at streaming data service
US10798140B1 (en) 2018-07-16 2020-10-06 Amazon Technologies, Inc. Stream data record reads using push-mode persistent connections
US10956246B1 (en) 2018-07-16 2021-03-23 Amazon Technologies, Inc. Isolated read channel management interfaces at streaming data service
US11075984B1 (en) 2018-07-16 2021-07-27 Amazon Technologies, Inc. Workload management at streaming data service supporting persistent connections for reads
US11070600B1 (en) * 2018-07-16 2021-07-20 Amazon Technologies, Inc. Optimization techniques to support lagging readers at streaming data service
CN110737390B (zh) * 2018-07-20 2023-08-18 伊姆西Ip控股有限责任公司 用于管理存储系统的方法、设备和计算机程序产品
CN110737924B (zh) * 2018-07-20 2021-07-27 中移(苏州)软件技术有限公司 一种数据保护的方法和设备
US10776097B2 (en) * 2018-07-30 2020-09-15 International Business Machines Corporation Hierarchical spanning tree software patching with fragmentation support
US10783022B2 (en) 2018-08-03 2020-09-22 EMC IP Holding Company LLC Immediate replication for dedicated data blocks
US11126505B1 (en) 2018-08-10 2021-09-21 Amazon Technologies, Inc. Past-state backup generator and interface for database systems
CN111198649B (zh) * 2018-11-16 2023-07-21 浙江宇视科技有限公司 磁盘选择方法及装置
US11042454B1 (en) 2018-11-20 2021-06-22 Amazon Technologies, Inc. Restoration of a data source
US10764135B2 (en) 2019-01-29 2020-09-01 Dell Products L.P. Method and system for solution integration labeling
US20200241781A1 (en) 2019-01-29 2020-07-30 Dell Products L.P. Method and system for inline deduplication using erasure coding
US10740023B1 (en) 2019-01-29 2020-08-11 Dell Products L.P. System and method for dynamic application access-based mapping
US11442642B2 (en) * 2019-01-29 2022-09-13 Dell Products L.P. Method and system for inline deduplication using erasure coding to minimize read and write operations
US10901641B2 (en) 2019-01-29 2021-01-26 Dell Products L.P. Method and system for inline deduplication
US10911307B2 (en) 2019-01-29 2021-02-02 Dell Products L.P. System and method for out of the box solution-level configuration and diagnostic logging and reporting
US10972343B2 (en) 2019-01-29 2021-04-06 Dell Products L.P. System and method for device configuration update
US10747522B1 (en) 2019-01-29 2020-08-18 EMC IP Holding Company LLC Method and system for non-disruptive host repurposing
US10979312B2 (en) 2019-01-29 2021-04-13 Dell Products L.P. System and method to assign, monitor, and validate solution infrastructure deployment prerequisites in a customer data center
CN110166429B (zh) * 2019-04-12 2022-03-22 深圳壹账通智能科技有限公司 数据包处理方法、装置、计算机可读存储介质及服务器
US10908960B2 (en) * 2019-04-16 2021-02-02 Alibaba Group Holding Limited Resource allocation based on comprehensive I/O monitoring in a distributed storage system
US10936220B2 (en) * 2019-05-02 2021-03-02 EMC IP Holding Company LLC Locality aware load balancing of IO paths in multipathing software
US10908834B2 (en) * 2019-06-28 2021-02-02 Hitachi, Ltd. Load balancing for scalable storage system
US10963345B2 (en) 2019-07-31 2021-03-30 Dell Products L.P. Method and system for a proactive health check and reconstruction of data
US11372730B2 (en) 2019-07-31 2022-06-28 Dell Products L.P. Method and system for offloading a continuous health-check and reconstruction of data in a non-accelerator pool
US11328071B2 (en) 2019-07-31 2022-05-10 Dell Products L.P. Method and system for identifying actor of a fraudulent action during legal hold and litigation
US11609820B2 (en) 2019-07-31 2023-03-21 Dell Products L.P. Method and system for redundant distribution and reconstruction of storage metadata
US11775193B2 (en) 2019-08-01 2023-10-03 Dell Products L.P. System and method for indirect data classification in a storage system operations
US11055010B2 (en) * 2019-09-05 2021-07-06 Microsoft Technology Licensing, Llc Data partition migration via metadata transfer and access attribute change
US20210157647A1 (en) * 2019-11-25 2021-05-27 Alibaba Group Holding Limited Numa system and method of migrating pages in the system
US11416357B2 (en) 2020-03-06 2022-08-16 Dell Products L.P. Method and system for managing a spare fault domain in a multi-fault domain data cluster
US11281535B2 (en) 2020-03-06 2022-03-22 Dell Products L.P. Method and system for performing a checkpoint zone operation for a spare persistent storage
US11175842B2 (en) 2020-03-06 2021-11-16 Dell Products L.P. Method and system for performing data deduplication in a data pipeline
US11119858B1 (en) 2020-03-06 2021-09-14 Dell Products L.P. Method and system for performing a proactive copy operation for a spare persistent storage
US11301327B2 (en) 2020-03-06 2022-04-12 Dell Products L.P. Method and system for managing a spare persistent storage device and a spare node in a multi-node data cluster
US11263270B1 (en) * 2020-03-26 2022-03-01 Amazon Technologies, Inc. Heat balancing in a distributed time-series database
US11418326B2 (en) 2020-05-21 2022-08-16 Dell Products L.P. Method and system for performing secure data transactions in a data cluster
US11356371B2 (en) * 2020-09-18 2022-06-07 T-Mobile Usa, Inc. Routing agents with shared maximum rate limits
US20230017824A1 (en) * 2021-07-15 2023-01-19 Samsung Electronics Co., Ltd. Systems and methods for load balancing in a heterogeneous memory system
US11922034B2 (en) 2021-09-02 2024-03-05 Samsung Electronics Co., Ltd. Dual mode storage device
CN113867631A (zh) * 2021-09-22 2021-12-31 中国科学技术大学 Redis集群数据移动方法、装置、设备及存储介质
CN116521668A (zh) * 2022-01-21 2023-08-01 戴尔产品有限公司 用于数据存储的方法、设备和计算机程序产品
CN114422446B (zh) * 2022-03-29 2022-08-12 南京赛宁信息技术有限公司 一种靶场中应用层背景流量调度方法与系统
CN116137611B (zh) * 2023-04-20 2023-07-25 中国工商银行股份有限公司 流量分发方法、装置、设备和介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1870526A (zh) * 2005-12-20 2006-11-29 华为技术有限公司 一种网格计算中节点间负载转移的方法
CN101697526A (zh) * 2009-10-10 2010-04-21 中国科学技术大学 分布式文件系统中元数据管理的负载均衡方法及其系统

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5555404A (en) * 1992-03-17 1996-09-10 Telenor As Continuously available database server having multiple groups of nodes with minimum intersecting sets of database fragment replicas
US6256295B1 (en) * 1997-09-25 2001-07-03 Nortel Networks Limited Method and apparatus for determining multiple minimally-overlapping paths between nodes in a network
US7418494B2 (en) * 2002-07-25 2008-08-26 Intellectual Ventures Holding 40 Llc Method and system for background replication of data objects
JP2005115438A (ja) 2003-10-03 2005-04-28 Mitsubishi Electric Corp データ管理装置
US7389510B2 (en) 2003-11-06 2008-06-17 International Business Machines Corporation Load balancing of servers in a cluster
US7761678B1 (en) * 2004-09-29 2010-07-20 Verisign, Inc. Method and apparatus for an improved file repository
US7685385B1 (en) * 2005-06-30 2010-03-23 Symantec Operating Corporation System and method for satisfying I/O requests before a replica has been fully synchronized
KR100718907B1 (ko) 2005-09-16 2007-05-16 성균관대학교산학협력단 퍼지 그룹핑 기반의 로드 밸런싱 시스템 및 그 로드 밸런싱방법
US7920572B2 (en) * 2005-09-20 2011-04-05 Cisco Technology, Inc. Modifying operation of peer-to-peer networks based on integrating network routing information
US20110010518A1 (en) * 2005-12-19 2011-01-13 Srinivas Kavuri Systems and Methods for Migrating Components in a Hierarchical Storage Network
US8150946B2 (en) * 2006-04-21 2012-04-03 Oracle America, Inc. Proximity-based memory allocation in a distributed memory system
JP4235220B2 (ja) * 2006-10-25 2009-03-11 株式会社日立製作所 計算機システムおよびデータ移行方法
US7444459B2 (en) 2006-12-12 2008-10-28 Lsi Logic Corporation Methods and systems for load balancing of virtual machines in clustered processors using storage related load information
KR100932914B1 (ko) * 2007-12-07 2009-12-21 한국전자통신연구원 무선 센서 네트워크에서의 라우팅 장치 및 방법
US8271612B2 (en) * 2008-04-04 2012-09-18 International Business Machines Corporation On-demand virtual storage capacity
US8874867B2 (en) 2008-11-21 2014-10-28 Lsi Corporation Identification and containment of performance hot-spots in virtual volumes
US20100274966A1 (en) * 2009-04-24 2010-10-28 Hitachi, Ltd. High availabilty large scale it systems with self recovery functions
US9390156B2 (en) * 2009-06-29 2016-07-12 International Business Machines Corporation Distributed directory environment using clustered LDAP servers
US9141919B2 (en) * 2010-02-26 2015-09-22 International Business Machines Corporation System and method for object migration using waves
US9740762B2 (en) * 2011-04-01 2017-08-22 Mongodb, Inc. System and method for optimizing data migration in a partitioned database
US8762323B2 (en) * 2011-02-10 2014-06-24 Nec Laboratories America, Inc. Replica based load balancing in multitenant databases
US8582554B2 (en) * 2011-04-21 2013-11-12 International Business Machines Corporation Similarity searching in large disk-based networks

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1870526A (zh) * 2005-12-20 2006-11-29 华为技术有限公司 一种网格计算中节点间负载转移的方法
CN101697526A (zh) * 2009-10-10 2010-04-21 中国科学技术大学 分布式文件系统中元数据管理的负载均衡方法及其系统

Also Published As

Publication number Publication date
EP2791813B1 (en) 2019-01-23
US8886781B2 (en) 2014-11-11
EP2791813A4 (en) 2015-05-06
WO2013090640A1 (en) 2013-06-20
EP2791813A1 (en) 2014-10-22
CN103095804A (zh) 2013-05-08
US20130151683A1 (en) 2013-06-13
ES2720482T3 (es) 2019-07-22

Similar Documents

Publication Publication Date Title
CN103095804B (zh) 用于在集群存储系统中进行负载平衡的方法和系统
EP3525096A1 (en) Resource load balancing control method and cluster scheduler
KR102127116B1 (ko) 분산 데이터 저장 장치 및 분산 데이터 저장 방법
US20140012887A1 (en) Information processing devices, distributed file system, client device, information processing method and computer program
CN107710193A (zh) 分布式计算环境的数据放置控制
US20170177652A1 (en) Copying garbage collector for b+ trees under multi-version concurrency control
CN105320773A (zh) 一种基于Hadoop平台的分布式重复数据删除系统和方法
CN103345508A (zh) 一种适用于社会网络图的数据存储方法及系统
US9733835B2 (en) Data storage method and storage server
CN111080304A (zh) 一种可信关系识别方法、装置及设备
US9141677B2 (en) Apparatus and method for arranging query
CN112100185B (zh) 区块链数据平衡负载的索引系统及方法
US20200082026A1 (en) Graph data processing
Fu et al. Optimized data replication for small files in cloud storage systems
US11748004B2 (en) Data replication using active and passive data storage modes
US9998392B1 (en) Iterative network graph placement
Szalay et al. Minimizing state access delay for cloud-native network functions
US9684668B1 (en) Systems and methods for performing lookups on distributed deduplicated data systems
CN104573730A (zh) 一种基于决定路径权重的不确定图分割方法及系统
US10168963B2 (en) Storage conditioning with intelligent rebuild
CN108011735A (zh) 社区发现方法及装置
KR101772955B1 (ko) 맵리듀스 기반의 분산 처리 시스템에서 인덱스를 이용하여 레코드를 처리하는 방법
JP2010191903A (ja) 分散ファイルシステムのストライピング種別選択方法及びその分散ファイルシステム
Elsaadany et al. A Blockchain Node Organizing and Auto-Scaling Architecture for the Internet of Things
CN112988703B (zh) 一种读写请求的均衡方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1184287

Country of ref document: HK

ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150610

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150610

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1184287

Country of ref document: HK