CN104144127A - 负载均衡方法和负载均衡器 - Google Patents
负载均衡方法和负载均衡器 Download PDFInfo
- Publication number
- CN104144127A CN104144127A CN201310168370.1A CN201310168370A CN104144127A CN 104144127 A CN104144127 A CN 104144127A CN 201310168370 A CN201310168370 A CN 201310168370A CN 104144127 A CN104144127 A CN 104144127A
- Authority
- CN
- China
- Prior art keywords
- back end
- copy
- load balancing
- need
- carry out
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种负载均衡方法和负载均衡器,以解决现有的负载均衡方法会对分布式文件系统的整体性能造成影响的问题。本发明在分布式文件系统中的各个数据节点存储的每个块的副本中,预先区分能够被访问的工作副本和不能被访问的备用副本;在分布式文件系统中的各个数据节点中,确定需要进行负载均衡的数据节点;在确定的需要进行负载均衡的数据节点中,选取工作副本;将选取的工作副本调整为备用副本,并在其他数据节点中将与选取的工作副本内容一致的至少一个备用副本调整为工作副本。通过本发明能够较快速的完成访问流量的切换,无需进行数据的复制,降低了对分布式系统整体性能的影响。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种负载均衡方法和负载均衡器。
背景技术
数据的多副本备份方式,能够将海量数据存储在大量低廉的硬件上,并能提高数据的可靠性和并发访问能力,因此多副本备份方式的存储策略得到越来越多的关注。
分布式文件系统由于需要存储较多的数据文件,因此多副本备份方式的存储策略在分布式文件系统中得到广泛应用。分布式文件系统主要包括管理节点、数据节点集群和客户端三部分,如图1所示,采用多副本备份方式的存储策略时,当客户端向分布式文件系统中写入文件,管理节点会根据写入的文件,将文件分为不同的块,并将每个块分发到N个数据节点上进行存储,并且每个块会有N个副本,每个副本对应存储在一个数据节点上,进行数据的读写操作时,客户端与管理节点进行应用的交互,并由管理节点根据自身元数据的情况将读取或者写入操作分发到具体的数据节点上进行操作,然而不同的数据节点的系统性能可能不一致,并且不同文件本身的读取频繁程度也不一样,可能会导致分布式文件系统很难达到负载均衡的状态,若分布式文件系统没有较好的负载均衡处理能力,则无法充分利用全部数据节点的性能。
现有技术中使分布式文件系统达到负载均衡主要采用以下方式:
管理节点在将划分后的各个块分配到各个数据节点时,按照划分块的个数平均分配到各个数据节点上,或者按照数据节点的磁盘使用比例来分配。例如按照划分块个数平均分配时,管理节点首先判断每个数据节点上包含的块个数,然后获取到包含块个数比较少的数据节点,并将新生成的需要写入到数据节点上的块写入到包含块个数比较少的数据节点上。
由于各个数据节点的存储空间和性能很可能不一致,不同应用数据的访问量也会不一致,为使分布式文件系统中各个数据节点进一步达到负载均衡,现有技术采用静态过负荷监控和数据复制的处理机制,通过评估每个数据节点的系统性能和一次数据访问的性能消耗,并定义一个统计周期,根据统计周期评估出每个数据节点一个周期内能够处理的访问次数,然后对每个数据节点的访问情况进行周期性的监控,如果在设定的周期内某个数据节点的实际访问次数超过了设定的最大访问次数,则认为该访问次数超过了最大访问次数的数据节点过负荷,此时将该过负荷数据节点上的部分块通过数据复制迁移到其他数据节点上,使得数据访问量随着块的迁移而迁移到其他的节点上,以达到对数据节点动态负载均衡的处理。
但现有技术的上述基于数据复制的负载均衡调整方式,数据复制的过程需要在数据节点间拷贝数据,会对进行复制的两个数据节点造成性能损耗,多个数据节点之间频繁的进行数据复制对于分布式文件系统的整体性能也会造成较大的影响。
发明内容
本发明实施例提供一种负载均衡方法和负载均衡器,以解决现有的负载均衡方法会对分布式文件系统的整体性能造成影响的问题。
本发明的目的是通过以下技术方案实现的:
第一方面,提供一种负载均衡方法,包括:
在分布式文件系统中的各个数据节点中,确定需要进行负载均衡的数据节点;
在所述确定的需要进行负载均衡的数据节点中,选取工作副本,其中,所述工作副本为能够被访问的副本;
将所述选取的工作副本调整为备用副本,并在确定的需要进行负载均衡的数据节点之外的其他数据节点中,将与所述选取的工作副本内容一致的至少一个备用副本调整为工作副本,所述备用副本为不能被访问的副本。
结合第一方面,在第一种可能的实现方式中,所述确定需要进行负载均衡的数据节点,包括:
对分布式文件系统中的各个数据节点的监控项进行监控,并根据监控得到的监控项数据值确定需要进行负载均衡的数据节点;
其中,所述监控项包括下列至少其中之一:
所述数据节点的CPU占用率、所述数据节点的内存使用率、所述数据节点的磁盘读写速度和所述数据节点的网络延时。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述对分布式文件系统中的各个数据节点的监控项进行监控,包括:
使用单独的线程分别周期性监控分布式文件系统中的每一数据节点的监控项。
结合第一方面的第一种可能的实现方式,或第一方面的第二种可能实现方式,在第三种可能的实现方式中,所述根据监控得到的监控项数据值确定需要进行负载均衡的数据节点,包括:
在各个数据节点中,若对至少一个数据节点的任一监控项监控得到的监控项数据值超过对应的过负荷阈值,则确定存在过负荷数据节点,选择过负荷数据节点,作为需要进行负载均衡的数据节点;
在各个数据节点中,若对每个数据节点的任一监控项监控得到的监控项数据值均没有超过对应的过负荷阈值,则确定不存在过负荷数据节点,根据每个数据节点的系统性能确定需要进行负载均衡的数据节点。
结合第一方面的第三种可能实现方式,在第四种可能的实现方式中,所述根据每个数据节点的系统性能确定需要进行负载均衡的数据节点,包括:
根据对每一监控项监控得到的监控项数据值、以及与该监控项对应的过负荷阈值,确定每个数据节点的系统性能比率值;
根据确定的每个数据节点的系统性能比率值,得到系统性能比率值最高的数据节点和系统性能比率值最低的数据节点;
当所述系统性能比率值最高的数据节点的系统性能比率值超出该数据节点系统性能比率值的阈值、且是所述系统性能比率值最低的数据节点的系统性能比率值的设定倍数时,将所述系统性能比率值最高的数据节点作为需要进行负载均衡的数据节点。
结合第一方面的第四种可能的实现方式,在第五种可能的实现方式中,所述在需要进行负载均衡的数据节点中,选取工作副本,包括:
针对任一需要进行负载均衡的数据节点,分别确定与该需要进行负载均衡的数据节点中存储的各个工作副本内容一致的备用副本所在的数据节点,并
将确定的备用副本所在的数据节点,按照数据节点的系统性能比率值的大小进行排序;
依据要选取的工作副本的数目,在确定的备用副本所在的数据节点中,按照数据节点的系统性能比率值从小到大的顺序,依次选择所述数目的数据节点;
在该需要进行负载均衡的数据节点中,选取内容与选择的数据节点中存储的备用副本内容一致的工作副本。
第二方面,提供一种负载均衡器,包括:确定单元、选取单元和调整单元;
确定单元,用于在分布式文件系统中的各个数据节点中,确定需要进行负载均衡的数据节点,并将确定的需要进行负载均衡的数据节点的信息发送至所述选取单元;
选取单元,用于接收所述确定单元发送的需要进行负载均衡的数据节点的信息,以及所述调整单元发送的能够被访问的工作副本和不能被访问的备用副本的信息,并在所述确定的需要进行负载均衡的数据节点中,选取工作副本,将选取的工作副本的信息发送至所述调整单元;
调整单元,用于预先将每个块的副本区分为能够被访问的工作副本,和不能被访问的备用副本,并接收所述选取单元发送的选取了的工作副本的信息,将所述选取的工作副本调整为备用副本,并在确定的需要进行负载均衡的数据节点之外的其他数据节点中,将与所述选取的工作副本内容一致的至少一个备用副本调整为工作副本。
结合第二方面,在第一种可能的实现方式中,所述确定单元,具体用于:
对分布式文件系统中的各个数据节点的监控项进行监控,并根据监控得到的监控项数据值确定需要进行负载均衡的数据节点;
其中,所述监控项包括下列至少其中之一:
所述数据节点的CPU占用率、所述数据节点的内存使用率、所述数据节点的磁盘读写速度和所述数据节点的网络延时。
结合第二方面的第一种可能实现方式,或者第二方面的第二种可能实现方式,在第三种可能的实现方式中,所述确定单元,具体用于:
在各个数据节点中,若对至少一个数据节点的任一监控项监控得到的监控项数据值超过对应的过负荷阈值,则确定存在过负荷数据节点,选择过负荷数据节点,作为需要进行负载均衡的数据节点;
在各个数据节点中,若对每个数据节点的任一监控项监控得到的监控项数据值均没有超过对应的过负荷阈值,则确定不存在过负荷数据节点,根据每个数据节点的系统性能确定需要进行负载均衡的数据节点。
结合第二方面的第三种可能的实现方式,在第四种可能的实现方式中,所述确定单元,具体用于:
根据对每一监控项监控得到的监控项数据值、以及与该监控项对应的过负荷阈值,确定每个数据节点的系统性能比率值;
根据确定的每个数据节点的系统性能比率值,得到系统性能比率值最高的数据节点和系统性能比率值最低的数据节点;
当所述系统性能比率值最高的数据节点的系统性能比率值超出该数据节点系统性能比率值的阈值、且是所述系统性能比率值最低的数据节点的系统性能比率值的设定倍数时,将所述系统性能比率值最高的数据节点作为需要进行负载均衡的数据节点。
根据第一方面提供的负载均衡方法和第二方面提供的负载均衡器,将分布式文件系统中的各个数据节点存储的每个块的副本区分为能够被访问的工作副本和不被访问的备用副本,进行负载均衡时,可通过调整副本的工作状态,将需要进行负载均衡的数据节点上选取的需要进行工作状态调整的工作副本调整为备用副本,并在确定的需要进行负载均衡的数据节点之外的其他数据节点中将与选取的工作副本内容一致的备用副本调整为工作副本,能够较快速的完成访问流量的切换,无需进行数据的复制,降低了对分布式系统整体性能的影响。
附图说明
图1为现有技术中分布式文件系统构成框图;
图2为本发明实施例使用备份副本方式的副本分布示意图;
图3为本发明实施例提供的分布式文件系统的负载均衡方法流程图;
图4为本发明实施例提供的分布式文件系统的负载均衡方法又一流程图;
图5A~图5C为本发明实施例选择工作状态调整的工作副本以及负载均衡调整示意图;
图6为本发明实施例提供的负载均衡器构成示意图;
图7为本发明实施例提供的负载均衡设备构成示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例只是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
如图1所示的分布式文件系统中,采用多副本备份方式的存储策略时,数据文件会被分为不同的块,并且每个块有N(N>=3)个内容一致的副本,同一个块的各个副本会分别存储在不同的数据节点上,本发明实施例中将存储在各个数据节点上的每个块的N个副本,管理节点可以将各个副本分为工作副本和备用副本,其中,工作副本能够被访问,而备用副本不能被访问,不过备用副本的内容与工作副本的内容是完全一致的,通过工作副本与备用副本之间工作状态的调整,进行负载均衡。
进一步的,本发明实施例中将每个块的副本区分为能够被访问的工作副本和不能被访问的备用副本的区分方式可采用多种区分方式。例如,可以用不同的标签分别标识工作副本和备用副本。
进一步的,本发明实施例中备用副本可在每个块的全部副本中进行随机选取,优选的,本发明实施例中管理节点可将数据节点集群中的各个数据节点进行编号,然后将每个块的副本按照数据节点的编号顺序,依次存储在不同数据节点上,并将最后存储在数据节点上的副本作为备用副本,以更方便选取备用副本,如图2所示为本发明实施例中使用备用副本的副本分布示意图,例如,块1分别存储在节点1,2和3,在节点1和2的块1是工作副本,在节点3的块1是备用副本。
需要说明的是,本发明实施例提供的附图2中在每个块有三个副本,在三个副本中选取一个副本作为备用副本,只是进行示意性说明,并不引以为限,在实际的应用中每个块的副本可以多于三个,并且也可选取不止一个副本作为备用副本。
如图3所示为本发明实施例一提供的分布式文件系统的负载均衡方法流程图,包括:
S101:在分布式文件系统的各个数据节点中,确定需要进行负载均衡的数据节点。
具体的,本发明实施例在分布式文件系统的各个数据节点中确定需要进行负载均衡的数据节点时,可通过设定的规则得出每个数据节点是否需要进行负载均衡,例如本发明实施例中可对分布式文件系统中的各个数据节点的运行状态进行实时监控,根据数据节点的运行状态确定数据节点的负荷情况,根据确定的数据节点负荷情况判断当前数据节点是否需要进行负载均衡。具体的:需要进行负载均衡的数据节点可以是过负荷的数据节点,也可以是负荷过低的数据节点。
S102:在确定的需要进行负载均衡的数据节点中,选取工作副本。
具体的,在S101确定了需要进行负载均衡的数据节点后,本发明实施例可根据确定的需要进行负载均衡的数据节点上,存储的块的工作副本的数量,在确定的需要进行负载均衡的数据节点上选取设定数量的工作副本进行工作状态调整。
进一步的,本发明实施例中选取工作副本时,可以在需要进行负载均衡的数据节点上随机选取设定数量的工作副本,也可以根据与需要进行负载均衡的数据节点上存储的工作副本,对应的备用副本所在数据节点的系统性能,进行选择,例如可以根据备用副本所在的数据节点的系统性能由高到低依次选取设定数量的工作副本。
S103:将选取的工作副本调整为备用副本,并在确定的需要进行负载均衡的数据节点之外的其他数据节点中将与选取的工作副本内容一致的至少一个备用副本调整为工作副本。
具体的,本发明实施例中可将S103中选取的需要进行工作状态调整的工作副本,直接调整为不能被访问的备用副本,而在确定的需要进行负载均衡的数据节点之外的其他数据节点中将与选取的工作副本内容一致的备用副本调整为工作副本时,若与选取的需要进行工作状态调整的工作副本内容一致的备用副本只有一个,则将该对应的备用副本直接调整为工作副本,若与需要进行工作状态调整的工作副本内容一致的备用副本不止一个,则将数据节点系统性能最好的数据节点上存储的,与选取的需要进行工作状态调整的工作副本内容一致的备用副本调整为工作副本。当然,若需要调整一个工作副本对应的多个备用副本的工作状态进行负载均衡,则可按照数据节点的系统性能的高低,依次选取。
可以理解的是,本发明实施例的负载均衡方法可以由具有负载均衡能力的设备进行实施,例如分布式文件系统中的管理节点实施,或者负载均衡器实施。
本发明实施例提供的分布式文件系统的负载均衡方法,预先将分布式文件系统中的各个数据节点存储的每个块的副本区分为能够被访问的工作副本和不能被访问的备用副本,进行负载均衡时,通过将需要进行负载均衡的数据节点上选取的需要进行工作状态调整的工作副本调整为备用副本,并在确定的需要进行负载均衡的数据节点之外的其他数据节点中将与选取的工作副本内容一致的备用副本调整为工作副本,能够较快速的完成访问流量的切换,无需进行节点间的数据复制,降低了对分布式系统整体性能的影响。
实施例二
本发明实施例二将结合实际应用对实施例一提供的分布式文件系统的负载均衡方法进行进一步的详细说明。
本发明实施例作为实施例一的较优实施例,仅对S101中确定需要进行负载均衡的数据节点的过程进行详细说明,其他步骤与实施例一相同,在此不再赘述。
本发明实施例中在确定需要进行负载均衡的数据节点时,可以采用多种确定方式,例如:由管理节点对各个数据节点进行实时监控,主动获取各个数据节点的系统运行状态,根据获取到的各个数据节点的系统运行状态,确定是否存在需要进行负载均衡的数据节点;还可以由各个数据节点对自身节点的负荷情况以及系统性能指标进行监控,若自身节点过负荷,或者性能指标达到设定的阈值,则将发送负载均衡指令至管理节点,管理节点根据接收到的负载均衡指令,确定该发送负载均衡指令的数据节点,为需要进行负载均衡的数据节点。
优选的,本发明实施例中可对分布式文件系统中的各个数据节点的设定监控项,并对各个数据节点设定的监控项进行监控,并根据监控得到的监控项数据值确定需要进行负载均衡的数据节点。
具体的,本发明实施例可对分布式文件系统中的各个数据节点分别设定多个监控项,并对设定的监控项进行监控,本发明实施例中对各个监控项进行监控时,可使用单独的线程分别周期性监控分布式文件系统中的每一数据节点的设定监控项。由于每个数据节点的处理能力以及系统性能都可能不一致,本发明实施例中对每个数据节点使用一个单独的线程分别进行监控,相较于多个不同系统性能以及处理能力的数据节点采用同一线程进行监控,能够提高对数据节点的运行状态进行评估的准确度,并且每个数据节点的处理能力在短时间内一般不会发生变化,因此本发明实施例可以对分布式文件系统中的各个数据节点的设定监控项进行周期性的监控,以减少资源占用,提高分布式文件系统的整体性能。
进一步的,本发明实施例中对分布式文件系统中的各个数据节点设定的监控项不再局限于数据节点的访问次数,可以是任何反应数据节点系统性能的性能选项,例如可以是数据节点的CPU占用率、数据节点的内存使用率、数据节点的磁盘读写速度以及数据节点的网络延时等中的一项或者多项。
本发明实施例中在确定需要进行负载均衡的数据节点时,可对各个数据节点分别设定的监控项,设定需要进行负载均衡的条件,当任一数据节点针对设定的监控项,监控得到的结果满足需要进行负载均衡的条件时,确定该满足负载均衡条件的数据节点为需要进行负载均衡的数据节点,比如可以对每个数据节点的每个监控项分别设定过负荷阈值,并根据对每一监控项监控得到的监控项数据值与对应的过负荷阈值,判断分布式文件系统中是否存在过负荷数据节点,在各个数据节点中,若对至少一个数据节点的任一监控项监控得到的监控项数据值超过对应的过负荷阈值,则确定存在过负荷数据节点,将该过负荷数据节点作为需要进行负载均衡的数据节点;在各个数据节点中,若对每个数据节点的任一监控项监控得到的监控项数据值均没有超过对应的过负荷阈值,则确定不存在过负荷数据节点,根据每个数据节点的系统性能确定需要进行负载均衡的数据节点,因此,本发明实施例提供的负载均衡方法,可采用如图4所示的方法流程,图4所示的负载均衡方法,在图3的基础上,将S101中在分布式文件系统中的各个数据节点中,确定需要进行负载均衡的数据节点,替换为如下步骤:
S1011:对分布式文件系统中的各个数据节点的设定监控项进行监控。
S1012:根据对设定监控项监控得到的结果,判断是否存在过负荷数据节点,若是则转S1013,若否则转S1014。
具体的,本发明实施例中根据对设定监控项监控得到的监控项数值,判断是否存在过负荷数据节点可优选如下方式:
对各个数据节点设定的各个监控项分别设定过负荷阈值,当监控得到的监控项数值超过设定的过负荷阈值,则认为该超过设定过负荷阈值的监控项所在的数据节点过负荷。本发明实施例在各个数据节点中,若对至少一个数据节点的任一监控项监控得到的数据值超过对应的设定过负荷阈值,则确定存在过负荷数据节点。
S1013:选择过负荷数据节点,作为需要进行负载均衡的数据节点。
当存在过负荷数据节点时,则说明该过负荷数据节点需要进行负载均衡,则选择该过负荷数据节点作为需要进行负载均衡的数据节点。
S1014:根据每个数据节点的系统性能确定需要进行负载均衡的数据节点。
当不存在过负荷数据节点时,分布式文件系统中数据节点的系统性能可能也不同,分布式文件系统的各个数据节点也没有达到真正意义上的负载均衡,为使分布式文件系统中各个数据节点的负载更为均衡,本发明实施例可根据数据节点的系统性能确定需要进行负载均衡的数据节点。
具体的,本发明实施例中,根据数据节点的系统性能确定需要进行负载均衡的数据节点,可优选如下方式:
A、根据对每个数据节点的每一监控项监控得到的监控项数据值,以及与该监控项对应的过负荷阈值,确定每个数据节点的系统性能比率值。
具体的,本发明实施例中对各个数据节点设定的各个监控项分别设定对应的过负荷阈值,针对每一数据节点,确定对该数据节点监控得到的每一监控项的监控项数据值与对应的过负荷阈值的比值,并将确定的比值中最高的比值,作为该数据节点的系统性能比率值。
比如,数据节点设定的监控项包括数据节点的CPU占用率、数据节点的内存使用率、数据节点的磁盘读写速度和数据节点的网络延时,设定CPU的过负荷阈值为80%,内存使用的过负荷阈值为15G,网路延时的过负荷阈值为100毫秒,磁盘读写速度的过负荷阈值是90M/S;而在某一个周期内监控得到的每一监控项的数据值为CPU占用56%,内存使用10G,网络延时10毫秒,磁盘读写速度为40M/S,对每一监控项的监控得到的数据值与对应的过负荷阈值做比值计算,得到比值最高的是CPU,为56%/80%=70%,也就是说当前数据节点的系统性能比率值是70%。
B、根据确定的每个数据节点的系统性能比率值,得到系统性能比率值最高的数据节点和系统性能比率值最低的数据节点。
根据上述确定数据节点系统性能比率值的方式,确定了每一数据节点的性能比率值,假设当前有四个节点,分别为节点1、节点2、节点3和节点4,确定的性能比率值分别为70%,30%,50%,40%,则可找到系统性能比率值最高的为节点1,系统性能比率值最低的为节点2。
C、当系统性能比率值最高的数据节点的系统性能比率值超出该数据节点系统性能比率值的阈值、且是系统性能比率值最低的数据节点的系统性能比率值的设定倍数时,选择系统性能比率值最高的数据节点,作为需要进行负载均衡的数据节点。
本发明实施例中系统性能比率值最高的数据节点系统性能比率值的阈值、以及其相对系统性能比率值最低的数据节点的系统性能比率值的设定倍数可根据实际情况进行配置,比如本发明实施例中将系统性能比率值最高的数据节点的系统性能比率值的阈值设定为50%,设定倍数为2倍,则本发明实施例中系统性能比率值最高的节点1的系统性能比率值为70%,超出了50%,并且是系统性能比率值最低的节点2的系统性能比率值为30%的两倍以上,则将节点1作为需要进行负载均衡的数据节点。
本发明实施例提供的分布式文件系统的负载均衡方法,通过监控数据节点上设定监控项的监控结果确定需要进行负载均衡调整的数据节点,相较于现有技术中通过访问次数确定数据节点的运行状态,能够较精确的监控数据节点的运行状态,并且在进行负载均衡的过程中,当存在过负荷数据节点时,对过负荷数据节点进行负载均衡,当不存在过负荷数据节点时,根据数据节点的系统性能,进一步确定是否存在需要进行负载均衡的数据节点,并进行负载均衡,进一步改善了分布式文件系统的整体性能。
实施例三
本发明的实施例三是对实施例一中S102中在需要进行负载均衡的数据节点中,选取需要进行工作状态调整的工作副本的过程进行的详细说明,其他步骤与实施例一与实施例二涉及的步骤相同,在此不再赘述。
本发明实施例中在确定的需要进行负载均衡的数据节点中,选取需要进行工作状态调整的工作副本的过程,采用如下方式:
A、针对任一需要进行负载均衡的数据节点,分别确定与该需要进行负载均衡的数据节点中存储的各个工作副本内容一致的备用副本所在的数据节点。
B、将确定的备用副本所在的数据节点,按照数据节点的系统性能比率值的大小进行排序。
C、依据要选取的工作副本的数目,在确定的备用副本所在的数据节点中,按照数据节点的系统性能比率值从小到大的顺序,依次选择所需数目的数据节点。
D、在该需要进行负载均衡的数据节点中,选取内容与选择的数据节点中存储的备用副本内容一致的工作副本。
以下将结合附图对上述选取工作副本的过程进行举例说明,如图5A中所示分布式文件系统中包含4个数据节点分别为节点1、节点2、节点3和节点4,四个数据节点的系统性能比率值分别为70%,30%,50%,40%,此时四个数据节点均未过负荷,则按照上述实施例中不存在过负荷数据节点时选取需要进行负载均衡的数据节点方法,则可知系统性能比率值最高的是节点1为70%,系统性能比率值最低的是节点2为30%,并且节点1的系统性能比率值超出50%,并且是系统性能比率值最低的节点2的系统性能比率值的两倍以上,则将节点1作为需要进行负载均衡的数据节点。
由图5A可知,节点1中有4个工作副本,分别为块1、块2、块5和块6,的工作副本,并且与工作副本内容一致的备用副本分别存储在节点2、节点3和节点4上,对节点2、节点3和节点4按照系统性能比率值的大小进行排序,可知系统性能比率值最低的数据节点为节点2,其次为节点4,然后是节点3。
本发明实施例中选择需要进行工作状态调整的工作副本,可在需要进行负载均衡的数据节点上选取设定比例的工作副本,比如可以选取全部工作副本的5%,当按照设定百分比进行选取工作副本时,可能会出现不是整数的情况,此时可根据情况进行向上取整,或向下取整,选取整数个工作副本作为需要进行工作状态调整的工作副本,当按照设定百分比进行选取工作副本时,不足一个时取一个,比如图5A中工作副本一共是4个,此时根据计算,需要进行工作状态调整的工作副本数量为4*5%=0.2个,此时不足一个,则选取其中的一个工作副本作为需要进行工作状态调整的工作副本。
由图5A可知,系统性能比率值最低的数据节点为节点2,并且节点2上的备用副本为块2的备用副本,因此当选择一个工作副本作为需要进行工作状态调整的工作副本时,则在节点1中将块2的工作副本作为最终需要进行工作状态调整的工作副本,当选择两个工作副本时,可再将与节点4上的备用副本内容一致的块6的工作副本作为需要进行工作状态调整的工作副本。
进行负载均衡时,将需要进行负载均衡的数据节点上选取的工作副本调整为备用副本,将其他节点上与选取的工作副本内容一致的备用副本调整为工作副本,比如图5A中选择一个工作副本进行工作状态调整时,则将节点1上的块2的工作副本调整为备用副本,并把节点2上的块2的备用副本调整为工作副本中,如图5B所示,最终实现流量的切换,达到负载均衡,如图5C所示。
本发明实施例中进行负载均衡时,在需要进行负载均衡的数据节点上选取设定比例的工作副本作为需要进行工作状态调整的工作副本,并且在具体选择工作副本时根据需要进行负载均衡的数据节点上的工作副本内容一致的备用副本所在的其他数据节点的系统性能比率进行选择,使负载均衡更为精确,提高分布式文件系统的整体性能。
实施例四
基于实施例一至实施例三提供的负载均衡方法,本发明实施例提供一种负载均衡器,如图6所示,包括:确定单元601、选取单元602和调整单元603;
确定单元601,用于在分布式文件系统中的各个数据节点中,确定需要进行负载均衡的数据节点,并将确定的需要进行负载均衡的数据节点的信息发送至所述选取单元602。
选取单元602,用于接收确定单元601发送的需要进行负载均衡的数据节点的信息,以及调整单元603发送的能够被访问的工作副本和不能被访问的备用副本的信息,并在确定的需要进行负载均衡的数据节点中,选取工作副本,将选取的工作副本的信息发送至调整单元603。
调整单元603,用于预先将每个块的副本区分为能够被访问的工作副本,和不能被访问的备用副本,并接收选取单元发送的选取了的工作副本的信息,将选取的工作副本调整为备用副本,并在确定的需要进行负载均衡的数据节点之外的其他数据节点中,将与选取的工作副本内容一致的至少一个备用副本调整为工作副本。
其中,确定单元601,具体用于:
对分布式文件系统中的各个数据节点的监控项进行监控,并根据监控得到的监控项数据值确定需要进行负载均衡的数据节点;
其中,监控项包括下列至少其中之一:
数据节点的CPU占用率、数据节点的内存使用率、数据节点的磁盘读写速度和数据节点的网络延时。
其中,确定单元601,具体用于:
使用单独的线程分别周期性监控分布式文件系统中的每一数据节点的监控项。
其中,确定单元601,具体用于:
根据对设定监控项监控得到的监控项数据值,判断是否存在过负荷数据节点;
在各个数据节点中,若对至少一个数据节点的任一监控项监控得到的监控项数据值超过对应的过负荷阈值,则确定存在过负荷数据节点,选择过负荷数据节点,作为需要进行负载均衡的数据节点;
在各个数据节点中,若对每个数据节点的任一监控项监控得到的监控项数据值均没有超过对应的过负荷阈值,则确定不存在过负荷数据节点,根据每个数据节点的系统性能确定需要进行负载均衡的数据节点。
其中,确定单元601,具体用于:
根据对每一监控项监控得到的监控项数据值、以及与该监控项对应的过负荷阈值,确定每个数据节点的系统性能比率值;
根据确定的每个数据节点的系统性能比率值,得到系统性能比率值最高的数据节点和系统性能比率值最低的数据节点;
当系统性能比率值最高的数据节点的系统性能比率值超出该数据节点系统性能比率值的阈值、且是系统性能比率值最低的数据节点的系统性能比率值的设定倍数时,将系统性能比率值最高的数据节点作为需要进行负载均衡的数据节点。
其中,确定单元601,具体用于:
针对每一数据节点,确定对该数据节点监控得到的每一监控项的监控项数据值与对应的过负荷阈值的比值,并将确定的比值中最高的比值,作为该数据节点的系统性能比率值。
其中,选取单元602,具体用于:
针对任一需要进行负载均衡的数据节点,分别确定与该需要进行负载均衡的数据节点中存储的各个工作副本内容一致的备用副本所在的数据节点,并
将确定的备用副本所在的数据节点,按照数据节点的系统性能比率值的大小进行排序;
参照要选取的工作副本的数目,在确定的备用副本所在的数据节点中,按照数据节点的系统性能比率值从小到大的顺序,依次选择数目的数据节点;
在该需要进行负载均衡的数据节点中,选取内容与选择的数据节点中存储的备用副本内容一致的工作副本。
本发明实施例提供的负载均衡器,将分布式文件系统中的各个数据节点存储的每个块的副本区分为能够被访问的工作副本和不被访问的备用副本,进行负载均衡时,可通过调整副本的工作状态,将需要进行负载均衡的数据节点上选取的需要进行工作状态调整的工作副本调整为备用副本,并在确定的需要进行负载均衡的数据节点之外的其他数据节点中将与选取的工作副本内容一致的备用副本调整为工作副本,能够较快速的完成访问流量的切换,无需进行数据的复制,降低了对分布式系统整体性能的影响。
本发明实施例提供的上述负载均衡器,可以是独立的部件,也可以是集成于其他部件中,例如本发明实施例提供的上述负载均衡器可以是现有分布式文件系统中的管理节点,也可以是集成于管理节点内的一个新的部件。
可以理解的是,本发明实施例提供的负载均衡器的各个模块/单元的功能实现以及交互方式可以进一步参照相关方法实施例的描述。
实施例五
基于本发明实施例提供的负载均衡方法和负载均衡器,本发明实施例五还提供了一种负载均衡设备,如图7所示,该负载均衡设备包括处理器701和均衡器702,其中,
处理器701,用于在分布式文件系统中的各个数据节点中,确定需要进行负载均衡的数据节点,将确定的需要进行负载均衡的数据节点的信息传送至均衡器702进行负载均衡;
均衡器702,用于接收处理器701传送的需要进行负载均衡的数据节点的信息,并根据预先区分的能够被访问的工作副本和不能被访问的备用副本的信息,在确定的需要进行负载均衡的数据节点中选取工作副本,将选取的工作副本调整为备用副本,并在确定的需要进行负载均衡的数据节点之外的其他数据节点中,将与选取的工作副本内容一致的至少一个备用副本调整为工作副本。
本发明实施例提供的负载均衡设备,将分布式文件系统中的各个数据节点存储的每个块的副本区分为能够被访问的工作副本和不被访问的备用副本,进行负载均衡时,可通过调整副本的工作状态,将需要进行负载均衡的数据节点上选取的需要进行工作状态调整的工作副本调整为备用副本,并在确定的需要进行负载均衡的数据节点之外的其他数据节点中将与选取的工作副本内容一致的备用副本调整为工作副本,能够较快速的完成访问流量的切换,无需进行数据的复制,降低了对分布式系统整体性能的影响。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种负载均衡方法,其特征在于,包括:
在分布式文件系统中的各个数据节点中,确定需要进行负载均衡的数据节点;
在所述确定的需要进行负载均衡的数据节点中,选取工作副本,其中,所述工作副本为能够被访问的副本;
将所述选取的工作副本调整为备用副本,并在确定的需要进行负载均衡的数据节点之外的其他数据节点中,将与所述选取的工作副本内容一致的至少一个备用副本调整为工作副本,所述备用副本为不能被访问的副本。
2.如权利要求1所述的方法,其特征在于,所述确定需要进行负载均衡的数据节点,包括:
对所述分布式文件系统中的各个数据节点的监控项进行监控,并根据监控得到的监控项数据值确定需要进行负载均衡的数据节点;
其中,所述监控项包括下列至少其中之一:
所述数据节点的CPU占用率、所述数据节点的内存使用率、所述数据节点的磁盘读写速度和所述数据节点的网络延时。
3.如权利要求2所述的方法,其特征在于,所述对分布式文件系统中的各个数据节点的监控项进行监控,包括:
使用单独的线程分别周期性监控所述分布式文件系统中的每一数据节点的监控项。
4.如权利要求2或3所述的方法,其特征在于,所述根据监控得到的监控项数据值确定需要进行负载均衡的数据节点,包括:
在各个数据节点中,若对至少一个数据节点的任一监控项监控得到的监控项数据值超过对应的过负荷阈值,则确定存在过负荷数据节点,选择过负荷数据节点,作为需要进行负载均衡的数据节点;
在各个数据节点中,若对每个数据节点的任一监控项监控得到的监控项数据值均没有超过对应的过负荷阈值,则确定不存在过负荷数据节点,根据每个数据节点的系统性能,确定需要进行负载均衡的数据节点。
5.如权利要求4所述的方法,其特征在于,所述根据每个数据节点的系统性能确定需要进行负载均衡的数据节点,包括:
根据对每一监控项监控得到的监控项数据值、以及与所述每一监控项对应的过负荷阈值,确定每个数据节点的系统性能比率值;
根据确定的所述每个数据节点的系统性能比率值,得到系统性能比率值最高的数据节点和系统性能比率值最低的数据节点;
当所述系统性能比率值最高的数据节点的系统性能比率值超出所述数据节点系统性能比率值的阈值、且是所述系统性能比率值最低的数据节点的系统性能比率值的设定倍数时,将所述系统性能比率值最高的数据节点作为需要进行负载均衡的数据节点。
6.如权利要求5所述的方法,其特征在于,在需要进行负载均衡的数据节点中,选取工作副本,包括:
针对任一需要进行负载均衡的数据节点,分别确定与所述需要进行负载均衡的数据节点中存储的各个工作副本内容一致的备用副本所在的数据节点,并
将确定的所述备用副本所在的数据节点,按照数据节点的系统性能比率值的大小进行排序;
依据要选取的工作副本的数目,在确定的备用副本所在的数据节点中,按照数据节点的系统性能比率值从小到大的顺序,依次选择所述数目的数据节点;
在该需要进行负载均衡的数据节点中,选取内容与选择的数据节点中存储的备用副本内容一致的工作副本。
7.一种负载均衡器,其特征在于,包括:确定单元、选取单元和调整单元;
确定单元,用于在分布式文件系统中的各个数据节点中,确定需要进行负载均衡的数据节点,并将确定的需要进行负载均衡的数据节点的信息发送至所述选取单元;
选取单元,用于接收所述确定单元发送的需要进行负载均衡的数据节点的信息,以及所述调整单元发送的能够被访问的工作副本和不能被访问的备用副本的信息,并在所述确定的需要进行负载均衡的数据节点中,选取工作副本,将选取的工作副本的信息发送至所述调整单元;
调整单元,用于预先将每个块的副本区分为能够被访问的工作副本,和不能被访问的备用副本,并接收所述选取单元发送的选取了的工作副本的信息,将所述选取的工作副本调整为备用副本,并在确定的需要进行负载均衡的数据节点之外的其他数据节点中,将与所述选取的工作副本内容一致的至少一个备用副本调整为工作副本。
8.如权利要求7所述的负载均衡器,其特征在于,所述确定单元,具体用于:
对分布式文件系统中的各个数据节点的监控项进行监控,并根据监控得到的监控项数据值确定需要进行负载均衡的数据节点;
其中,所述监控项包括下列至少其中之一:
所述数据节点的CPU占用率、所述数据节点的内存使用率、所述数据节点的磁盘读写速度和所述数据节点的网络延时。
9.如权利要求7或8所述的负载均衡器,其特征在于,所述确定单元,具体用于:
在各个数据节点中,若对至少一个数据节点的任一监控项监控得到的监控项数据值超过对应的过负荷阈值,则确定存在过负荷数据节点,选择过负荷数据节点,作为需要进行负载均衡的数据节点;
在各个数据节点中,若对每个数据节点的任一监控项监控得到的监控项数据值均没有超过对应的过负荷阈值,则确定不存在过负荷数据节点,根据每个数据节点的系统性能,确定需要进行负载均衡的数据节点。
10.如权利要求9所述的负载均衡器,其特征在于,所述确定单元,具体用于:
根据对每一监控项监控得到的监控项数据值、以及与该监控项对应的过负荷阈值,确定每个数据节点的系统性能比率值;
根据确定的每个数据节点的系统性能比率值,得到系统性能比率值最高的数据节点和系统性能比率值最低的数据节点;
当所述系统性能比率值最高的数据节点的系统性能比率值超出该数据节点系统性能比率值的阈值、且是所述系统性能比率值最低的数据节点的系统性能比率值的设定倍数时,将所述系统性能比率值最高的数据节点作为需要进行负载均衡的数据节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310168370.1A CN104144127A (zh) | 2013-05-08 | 2013-05-08 | 负载均衡方法和负载均衡器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310168370.1A CN104144127A (zh) | 2013-05-08 | 2013-05-08 | 负载均衡方法和负载均衡器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104144127A true CN104144127A (zh) | 2014-11-12 |
Family
ID=51853195
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310168370.1A Pending CN104144127A (zh) | 2013-05-08 | 2013-05-08 | 负载均衡方法和负载均衡器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104144127A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104376087A (zh) * | 2014-11-19 | 2015-02-25 | 天津南大通用数据技术股份有限公司 | 一种采用交叉备份的分布式数据库负载均衡的计算方法 |
CN104883394A (zh) * | 2015-04-28 | 2015-09-02 | 浙江大学 | 一种均衡服务器负载的方法和系统 |
CN106909472A (zh) * | 2015-12-22 | 2017-06-30 | 中国移动通信集团河北有限公司 | 一种分布式文件系统的输入/输出负载调整方法及装置 |
CN109407975A (zh) * | 2018-09-19 | 2019-03-01 | 华为技术有限公司 | 写数据方法与计算节点以及分布式存储系统 |
CN110244901A (zh) * | 2018-03-07 | 2019-09-17 | 杭州海康威视系统技术有限公司 | 任务分配方法及装置、分布式存储系统 |
CN110650059A (zh) * | 2019-10-12 | 2020-01-03 | 上海陆家嘴国际金融资产交易市场股份有限公司 | 故障群集检测方法、装置、计算机设备和存储介质 |
CN113553179A (zh) * | 2021-07-16 | 2021-10-26 | 北京东方国信科技股份有限公司 | 分布式键值存储负载均衡方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101013387A (zh) * | 2007-02-09 | 2007-08-08 | 华中科技大学 | 基于对象存储设备的负载平衡方法 |
CN101610287A (zh) * | 2009-06-16 | 2009-12-23 | 浙江大学 | 一种应用于分布式海量存储系统的负载均衡方法 |
CN102025758A (zh) * | 2009-09-18 | 2011-04-20 | 成都市华为赛门铁克科技有限公司 | 分布式系统中数据副本的恢复方法、装置和系统 |
CN102024022A (zh) * | 2010-11-04 | 2011-04-20 | 曙光信息产业(北京)有限公司 | 一种分布式文件系统复制元数据的方法 |
US20110246735A1 (en) * | 2010-04-01 | 2011-10-06 | Iron Mountain Incorporated | Real time backup storage node assignment |
CN102571772A (zh) * | 2011-12-26 | 2012-07-11 | 华中科技大学 | 一种元数据服务器热点均衡方法 |
-
2013
- 2013-05-08 CN CN201310168370.1A patent/CN104144127A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101013387A (zh) * | 2007-02-09 | 2007-08-08 | 华中科技大学 | 基于对象存储设备的负载平衡方法 |
CN101610287A (zh) * | 2009-06-16 | 2009-12-23 | 浙江大学 | 一种应用于分布式海量存储系统的负载均衡方法 |
CN102025758A (zh) * | 2009-09-18 | 2011-04-20 | 成都市华为赛门铁克科技有限公司 | 分布式系统中数据副本的恢复方法、装置和系统 |
US20110246735A1 (en) * | 2010-04-01 | 2011-10-06 | Iron Mountain Incorporated | Real time backup storage node assignment |
CN102024022A (zh) * | 2010-11-04 | 2011-04-20 | 曙光信息产业(北京)有限公司 | 一种分布式文件系统复制元数据的方法 |
CN102571772A (zh) * | 2011-12-26 | 2012-07-11 | 华中科技大学 | 一种元数据服务器热点均衡方法 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104376087A (zh) * | 2014-11-19 | 2015-02-25 | 天津南大通用数据技术股份有限公司 | 一种采用交叉备份的分布式数据库负载均衡的计算方法 |
CN104376087B (zh) * | 2014-11-19 | 2017-09-29 | 天津南大通用数据技术股份有限公司 | 一种采用交叉备份的分布式数据库负载均衡的计算方法 |
CN104883394A (zh) * | 2015-04-28 | 2015-09-02 | 浙江大学 | 一种均衡服务器负载的方法和系统 |
CN106909472A (zh) * | 2015-12-22 | 2017-06-30 | 中国移动通信集团河北有限公司 | 一种分布式文件系统的输入/输出负载调整方法及装置 |
CN106909472B (zh) * | 2015-12-22 | 2020-09-11 | 中国移动通信集团河北有限公司 | 一种分布式文件系统的输入/输出负载调整方法及装置 |
CN110244901A (zh) * | 2018-03-07 | 2019-09-17 | 杭州海康威视系统技术有限公司 | 任务分配方法及装置、分布式存储系统 |
CN110244901B (zh) * | 2018-03-07 | 2021-03-26 | 杭州海康威视系统技术有限公司 | 任务分配方法及装置、分布式存储系统 |
CN109407975A (zh) * | 2018-09-19 | 2019-03-01 | 华为技术有限公司 | 写数据方法与计算节点以及分布式存储系统 |
CN110650059A (zh) * | 2019-10-12 | 2020-01-03 | 上海陆家嘴国际金融资产交易市场股份有限公司 | 故障群集检测方法、装置、计算机设备和存储介质 |
CN110650059B (zh) * | 2019-10-12 | 2022-06-10 | 未鲲(上海)科技服务有限公司 | 故障群集检测方法、装置、计算机设备和存储介质 |
CN113553179A (zh) * | 2021-07-16 | 2021-10-26 | 北京东方国信科技股份有限公司 | 分布式键值存储负载均衡方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104144127A (zh) | 负载均衡方法和负载均衡器 | |
US9875163B1 (en) | Method for replicating data in a backup storage system using a cost function | |
US8209511B2 (en) | Storage management apparatus, a storage management method and a storage management program | |
CN107220263B (zh) | 数据迁移的优化方法、评估方法及处理方法及装置 | |
CN103139302A (zh) | 考虑负载均衡的实时副本调度方法 | |
US8914501B2 (en) | Method, apparatus, and system for scheduling distributed buffer resources | |
CN103095805A (zh) | 一种对数据进行智能分层管理的云存储系统 | |
CN103106152A (zh) | 基于层次存储介质的数据调度方法 | |
CN106339386B (zh) | 数据库弹性调度方法以及装置 | |
US11914894B2 (en) | Using scheduling tags in host compute commands to manage host compute task execution by a storage device in a storage system | |
CN107273200B (zh) | 一种针对异构存储的任务调度方法 | |
US11301141B2 (en) | Optimized selection of subset of storage devices for data backup | |
CN112367384B (zh) | 基于Kafka集群的动态限速方法、装置以及计算机设备 | |
CN107291539A (zh) | 基于资源重要程度的集群程序调度方法 | |
CN115834587A (zh) | 一种选择目标存储服务器的方法、装置及电子设备 | |
CN102081565B (zh) | 一种对存储系统进行稳定性测试方法和装置 | |
CN109426439A (zh) | 对分布式存储系统进行扩容的方法及装置 | |
CN110187836A (zh) | 一种数据删除方法、装置、计算机及存储介质 | |
Selvi et al. | Popularity (hit rate) based replica creation for enhancing the availability in cloud storage | |
CN107018163B (zh) | 一种资源配置方法和装置 | |
CN110096238A (zh) | 一种数据存储方法、系统及计算机可读存储介质 | |
CN113608870B (zh) | 消息队列的负载均衡方法及装置、电子设备及存储介质 | |
CN115993932A (zh) | 数据处理方法、装置、存储介质以及电子设备 | |
CN110515535A (zh) | 硬盘读写控制方法、装置、电子设备及存储介质 | |
CN106686082A (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 | ||
AD01 | Patent right deemed abandoned | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20180713 |