《负载均衡方法和负载均衡器.pdf》由会员分享,可在线阅读,更多相关《负载均衡方法和负载均衡器.pdf(21页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN104144127A43申请公布日20141112CN104144127A21申请号201310168370122申请日20130508H04L12/803201301H04L29/0820060171申请人华为软件技术有限公司地址210012江苏省南京市雨花台区软件大道101号华为南京基地72发明人魏一峰74专利代理机构北京同达信恒知识产权代理有限公司11291代理人黄志华54发明名称负载均衡方法和负载均衡器57摘要本发明公开了一种负载均衡方法和负载均衡器,以解决现有的负载均衡方法会对分布式文件系统的整体性能造成影响的问题。本发明在分布式文件系统中的各个数据节点存储的每个块。
2、的副本中,预先区分能够被访问的工作副本和不能被访问的备用副本;在分布式文件系统中的各个数据节点中,确定需要进行负载均衡的数据节点;在确定的需要进行负载均衡的数据节点中,选取工作副本;将选取的工作副本调整为备用副本,并在其他数据节点中将与选取的工作副本内容一致的至少一个备用副本调整为工作副本。通过本发明能够较快速的完成访问流量的切换,无需进行数据的复制,降低了对分布式系统整体性能的影响。51INTCL权利要求书2页说明书11页附图7页19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书11页附图7页10申请公布号CN104144127ACN104144127A1/2页21一种负载。
3、均衡方法,其特征在于,包括在分布式文件系统中的各个数据节点中,确定需要进行负载均衡的数据节点;在所述确定的需要进行负载均衡的数据节点中,选取工作副本,其中,所述工作副本为能够被访问的副本;将所述选取的工作副本调整为备用副本,并在确定的需要进行负载均衡的数据节点之外的其他数据节点中,将与所述选取的工作副本内容一致的至少一个备用副本调整为工作副本,所述备用副本为不能被访问的副本。2如权利要求1所述的方法,其特征在于,所述确定需要进行负载均衡的数据节点,包括对所述分布式文件系统中的各个数据节点的监控项进行监控,并根据监控得到的监控项数据值确定需要进行负载均衡的数据节点;其中,所述监控项包括下列至少其。
4、中之一所述数据节点的CPU占用率、所述数据节点的内存使用率、所述数据节点的磁盘读写速度和所述数据节点的网络延时。3如权利要求2所述的方法,其特征在于,所述对分布式文件系统中的各个数据节点的监控项进行监控,包括使用单独的线程分别周期性监控所述分布式文件系统中的每一数据节点的监控项。4如权利要求2或3所述的方法,其特征在于,所述根据监控得到的监控项数据值确定需要进行负载均衡的数据节点,包括在各个数据节点中,若对至少一个数据节点的任一监控项监控得到的监控项数据值超过对应的过负荷阈值,则确定存在过负荷数据节点,选择过负荷数据节点,作为需要进行负载均衡的数据节点;在各个数据节点中,若对每个数据节点的任一。
5、监控项监控得到的监控项数据值均没有超过对应的过负荷阈值,则确定不存在过负荷数据节点,根据每个数据节点的系统性能,确定需要进行负载均衡的数据节点。5如权利要求4所述的方法,其特征在于,所述根据每个数据节点的系统性能确定需要进行负载均衡的数据节点,包括根据对每一监控项监控得到的监控项数据值、以及与所述每一监控项对应的过负荷阈值,确定每个数据节点的系统性能比率值;根据确定的所述每个数据节点的系统性能比率值,得到系统性能比率值最高的数据节点和系统性能比率值最低的数据节点;当所述系统性能比率值最高的数据节点的系统性能比率值超出所述数据节点系统性能比率值的阈值、且是所述系统性能比率值最低的数据节点的系统性。
6、能比率值的设定倍数时,将所述系统性能比率值最高的数据节点作为需要进行负载均衡的数据节点。6如权利要求5所述的方法,其特征在于,在需要进行负载均衡的数据节点中,选取工作副本,包括针对任一需要进行负载均衡的数据节点,分别确定与所述需要进行负载均衡的数据节点中存储的各个工作副本内容一致的备用副本所在的数据节点,并将确定的所述备用副本所在的数据节点,按照数据节点的系统性能比率值的大小进行权利要求书CN104144127A2/2页3排序;依据要选取的工作副本的数目,在确定的备用副本所在的数据节点中,按照数据节点的系统性能比率值从小到大的顺序,依次选择所述数目的数据节点;在该需要进行负载均衡的数据节点中,。
7、选取内容与选择的数据节点中存储的备用副本内容一致的工作副本。7一种负载均衡器,其特征在于,包括确定单元、选取单元和调整单元;确定单元,用于在分布式文件系统中的各个数据节点中,确定需要进行负载均衡的数据节点,并将确定的需要进行负载均衡的数据节点的信息发送至所述选取单元;选取单元,用于接收所述确定单元发送的需要进行负载均衡的数据节点的信息,以及所述调整单元发送的能够被访问的工作副本和不能被访问的备用副本的信息,并在所述确定的需要进行负载均衡的数据节点中,选取工作副本,将选取的工作副本的信息发送至所述调整单元;调整单元,用于预先将每个块的副本区分为能够被访问的工作副本,和不能被访问的备用副本,并接收。
8、所述选取单元发送的选取了的工作副本的信息,将所述选取的工作副本调整为备用副本,并在确定的需要进行负载均衡的数据节点之外的其他数据节点中,将与所述选取的工作副本内容一致的至少一个备用副本调整为工作副本。8如权利要求7所述的负载均衡器,其特征在于,所述确定单元,具体用于对分布式文件系统中的各个数据节点的监控项进行监控,并根据监控得到的监控项数据值确定需要进行负载均衡的数据节点;其中,所述监控项包括下列至少其中之一所述数据节点的CPU占用率、所述数据节点的内存使用率、所述数据节点的磁盘读写速度和所述数据节点的网络延时。9如权利要求7或8所述的负载均衡器,其特征在于,所述确定单元,具体用于在各个数据节。
9、点中,若对至少一个数据节点的任一监控项监控得到的监控项数据值超过对应的过负荷阈值,则确定存在过负荷数据节点,选择过负荷数据节点,作为需要进行负载均衡的数据节点;在各个数据节点中,若对每个数据节点的任一监控项监控得到的监控项数据值均没有超过对应的过负荷阈值,则确定不存在过负荷数据节点,根据每个数据节点的系统性能,确定需要进行负载均衡的数据节点。10如权利要求9所述的负载均衡器,其特征在于,所述确定单元,具体用于根据对每一监控项监控得到的监控项数据值、以及与该监控项对应的过负荷阈值,确定每个数据节点的系统性能比率值;根据确定的每个数据节点的系统性能比率值,得到系统性能比率值最高的数据节点和系统性能。
10、比率值最低的数据节点;当所述系统性能比率值最高的数据节点的系统性能比率值超出该数据节点系统性能比率值的阈值、且是所述系统性能比率值最低的数据节点的系统性能比率值的设定倍数时,将所述系统性能比率值最高的数据节点作为需要进行负载均衡的数据节点。权利要求书CN104144127A1/11页4负载均衡方法和负载均衡器技术领域0001本发明涉及计算机技术领域,尤其涉及一种负载均衡方法和负载均衡器。背景技术0002数据的多副本备份方式,能够将海量数据存储在大量低廉的硬件上,并能提高数据的可靠性和并发访问能力,因此多副本备份方式的存储策略得到越来越多的关注。0003分布式文件系统由于需要存储较多的数据文件,。
11、因此多副本备份方式的存储策略在分布式文件系统中得到广泛应用。分布式文件系统主要包括管理节点、数据节点集群和客户端三部分,如图1所示,采用多副本备份方式的存储策略时,当客户端向分布式文件系统中写入文件,管理节点会根据写入的文件,将文件分为不同的块,并将每个块分发到N个数据节点上进行存储,并且每个块会有N个副本,每个副本对应存储在一个数据节点上,进行数据的读写操作时,客户端与管理节点进行应用的交互,并由管理节点根据自身元数据的情况将读取或者写入操作分发到具体的数据节点上进行操作,然而不同的数据节点的系统性能可能不一致,并且不同文件本身的读取频繁程度也不一样,可能会导致分布式文件系统很难达到负载均衡。
12、的状态,若分布式文件系统没有较好的负载均衡处理能力,则无法充分利用全部数据节点的性能。0004现有技术中使分布式文件系统达到负载均衡主要采用以下方式0005管理节点在将划分后的各个块分配到各个数据节点时,按照划分块的个数平均分配到各个数据节点上,或者按照数据节点的磁盘使用比例来分配。例如按照划分块个数平均分配时,管理节点首先判断每个数据节点上包含的块个数,然后获取到包含块个数比较少的数据节点,并将新生成的需要写入到数据节点上的块写入到包含块个数比较少的数据节点上。0006由于各个数据节点的存储空间和性能很可能不一致,不同应用数据的访问量也会不一致,为使分布式文件系统中各个数据节点进一步达到负载。
13、均衡,现有技术采用静态过负荷监控和数据复制的处理机制,通过评估每个数据节点的系统性能和一次数据访问的性能消耗,并定义一个统计周期,根据统计周期评估出每个数据节点一个周期内能够处理的访问次数,然后对每个数据节点的访问情况进行周期性的监控,如果在设定的周期内某个数据节点的实际访问次数超过了设定的最大访问次数,则认为该访问次数超过了最大访问次数的数据节点过负荷,此时将该过负荷数据节点上的部分块通过数据复制迁移到其他数据节点上,使得数据访问量随着块的迁移而迁移到其他的节点上,以达到对数据节点动态负载均衡的处理。0007但现有技术的上述基于数据复制的负载均衡调整方式,数据复制的过程需要在数据节点间拷贝数。
14、据,会对进行复制的两个数据节点造成性能损耗,多个数据节点之间频繁的进行数据复制对于分布式文件系统的整体性能也会造成较大的影响。发明内容说明书CN104144127A2/11页50008本发明实施例提供一种负载均衡方法和负载均衡器,以解决现有的负载均衡方法会对分布式文件系统的整体性能造成影响的问题。0009本发明的目的是通过以下技术方案实现的0010第一方面,提供一种负载均衡方法,包括0011在分布式文件系统中的各个数据节点中,确定需要进行负载均衡的数据节点;0012在所述确定的需要进行负载均衡的数据节点中,选取工作副本,其中,所述工作副本为能够被访问的副本;0013将所述选取的工作副本调整为备。
15、用副本,并在确定的需要进行负载均衡的数据节点之外的其他数据节点中,将与所述选取的工作副本内容一致的至少一个备用副本调整为工作副本,所述备用副本为不能被访问的副本。0014结合第一方面,在第一种可能的实现方式中,所述确定需要进行负载均衡的数据节点,包括0015对分布式文件系统中的各个数据节点的监控项进行监控,并根据监控得到的监控项数据值确定需要进行负载均衡的数据节点;0016其中,所述监控项包括下列至少其中之一0017所述数据节点的CPU占用率、所述数据节点的内存使用率、所述数据节点的磁盘读写速度和所述数据节点的网络延时。0018结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述。
16、对分布式文件系统中的各个数据节点的监控项进行监控,包括0019使用单独的线程分别周期性监控分布式文件系统中的每一数据节点的监控项。0020结合第一方面的第一种可能的实现方式,或第一方面的第二种可能实现方式,在第三种可能的实现方式中,所述根据监控得到的监控项数据值确定需要进行负载均衡的数据节点,包括0021在各个数据节点中,若对至少一个数据节点的任一监控项监控得到的监控项数据值超过对应的过负荷阈值,则确定存在过负荷数据节点,选择过负荷数据节点,作为需要进行负载均衡的数据节点;0022在各个数据节点中,若对每个数据节点的任一监控项监控得到的监控项数据值均没有超过对应的过负荷阈值,则确定不存在过负荷。
17、数据节点,根据每个数据节点的系统性能确定需要进行负载均衡的数据节点。0023结合第一方面的第三种可能实现方式,在第四种可能的实现方式中,所述根据每个数据节点的系统性能确定需要进行负载均衡的数据节点,包括0024根据对每一监控项监控得到的监控项数据值、以及与该监控项对应的过负荷阈值,确定每个数据节点的系统性能比率值;0025根据确定的每个数据节点的系统性能比率值,得到系统性能比率值最高的数据节点和系统性能比率值最低的数据节点;0026当所述系统性能比率值最高的数据节点的系统性能比率值超出该数据节点系统性能比率值的阈值、且是所述系统性能比率值最低的数据节点的系统性能比率值的设定倍数时,将所述系统性。
18、能比率值最高的数据节点作为需要进行负载均衡的数据节点。0027结合第一方面的第四种可能的实现方式,在第五种可能的实现方式中,所述在需说明书CN104144127A3/11页6要进行负载均衡的数据节点中,选取工作副本,包括0028针对任一需要进行负载均衡的数据节点,分别确定与该需要进行负载均衡的数据节点中存储的各个工作副本内容一致的备用副本所在的数据节点,并0029将确定的备用副本所在的数据节点,按照数据节点的系统性能比率值的大小进行排序;0030依据要选取的工作副本的数目,在确定的备用副本所在的数据节点中,按照数据节点的系统性能比率值从小到大的顺序,依次选择所述数目的数据节点;0031在该需要。
19、进行负载均衡的数据节点中,选取内容与选择的数据节点中存储的备用副本内容一致的工作副本。0032第二方面,提供一种负载均衡器,包括确定单元、选取单元和调整单元;0033确定单元,用于在分布式文件系统中的各个数据节点中,确定需要进行负载均衡的数据节点,并将确定的需要进行负载均衡的数据节点的信息发送至所述选取单元;0034选取单元,用于接收所述确定单元发送的需要进行负载均衡的数据节点的信息,以及所述调整单元发送的能够被访问的工作副本和不能被访问的备用副本的信息,并在所述确定的需要进行负载均衡的数据节点中,选取工作副本,将选取的工作副本的信息发送至所述调整单元;0035调整单元,用于预先将每个块的副本。
20、区分为能够被访问的工作副本,和不能被访问的备用副本,并接收所述选取单元发送的选取了的工作副本的信息,将所述选取的工作副本调整为备用副本,并在确定的需要进行负载均衡的数据节点之外的其他数据节点中,将与所述选取的工作副本内容一致的至少一个备用副本调整为工作副本。0036结合第二方面,在第一种可能的实现方式中,所述确定单元,具体用于0037对分布式文件系统中的各个数据节点的监控项进行监控,并根据监控得到的监控项数据值确定需要进行负载均衡的数据节点;0038其中,所述监控项包括下列至少其中之一0039所述数据节点的CPU占用率、所述数据节点的内存使用率、所述数据节点的磁盘读写速度和所述数据节点的网络延。
21、时。0040结合第二方面的第一种可能实现方式,或者第二方面的第二种可能实现方式,在第三种可能的实现方式中,所述确定单元,具体用于0041在各个数据节点中,若对至少一个数据节点的任一监控项监控得到的监控项数据值超过对应的过负荷阈值,则确定存在过负荷数据节点,选择过负荷数据节点,作为需要进行负载均衡的数据节点;0042在各个数据节点中,若对每个数据节点的任一监控项监控得到的监控项数据值均没有超过对应的过负荷阈值,则确定不存在过负荷数据节点,根据每个数据节点的系统性能确定需要进行负载均衡的数据节点。0043结合第二方面的第三种可能的实现方式,在第四种可能的实现方式中,所述确定单元,具体用于0044根。
22、据对每一监控项监控得到的监控项数据值、以及与该监控项对应的过负荷阈值,确定每个数据节点的系统性能比率值;0045根据确定的每个数据节点的系统性能比率值,得到系统性能比率值最高的数据节说明书CN104144127A4/11页7点和系统性能比率值最低的数据节点;0046当所述系统性能比率值最高的数据节点的系统性能比率值超出该数据节点系统性能比率值的阈值、且是所述系统性能比率值最低的数据节点的系统性能比率值的设定倍数时,将所述系统性能比率值最高的数据节点作为需要进行负载均衡的数据节点。0047根据第一方面提供的负载均衡方法和第二方面提供的负载均衡器,将分布式文件系统中的各个数据节点存储的每个块的副本。
23、区分为能够被访问的工作副本和不被访问的备用副本,进行负载均衡时,可通过调整副本的工作状态,将需要进行负载均衡的数据节点上选取的需要进行工作状态调整的工作副本调整为备用副本,并在确定的需要进行负载均衡的数据节点之外的其他数据节点中将与选取的工作副本内容一致的备用副本调整为工作副本,能够较快速的完成访问流量的切换,无需进行数据的复制,降低了对分布式系统整体性能的影响。附图说明0048图1为现有技术中分布式文件系统构成框图;0049图2为本发明实施例使用备份副本方式的副本分布示意图;0050图3为本发明实施例提供的分布式文件系统的负载均衡方法流程图;0051图4为本发明实施例提供的分布式文件系统的负。
24、载均衡方法又一流程图;0052图5A图5C为本发明实施例选择工作状态调整的工作副本以及负载均衡调整示意图;0053图6为本发明实施例提供的负载均衡器构成示意图;0054图7为本发明实施例提供的负载均衡设备构成示意图。具体实施方式0055下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例只是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。0056实施例一0057如图1所示的分布式文件系统中,采用多副本备份方式的存储策略时,数据文件会被分为不。
25、同的块,并且每个块有N(N3)个内容一致的副本,同一个块的各个副本会分别存储在不同的数据节点上,本发明实施例中将存储在各个数据节点上的每个块的N个副本,管理节点可以将各个副本分为工作副本和备用副本,其中,工作副本能够被访问,而备用副本不能被访问,不过备用副本的内容与工作副本的内容是完全一致的,通过工作副本与备用副本之间工作状态的调整,进行负载均衡。0058进一步的,本发明实施例中将每个块的副本区分为能够被访问的工作副本和不能被访问的备用副本的区分方式可采用多种区分方式。例如,可以用不同的标签分别标识工作副本和备用副本。0059进一步的,本发明实施例中备用副本可在每个块的全部副本中进行随机选取,。
26、优选的,本发明实施例中管理节点可将数据节点集群中的各个数据节点进行编号,然后将每说明书CN104144127A5/11页8个块的副本按照数据节点的编号顺序,依次存储在不同数据节点上,并将最后存储在数据节点上的副本作为备用副本,以更方便选取备用副本,如图2所示为本发明实施例中使用备用副本的副本分布示意图,例如,块1分别存储在节点1,2和3,在节点1和2的块1是工作副本,在节点3的块1是备用副本。0060需要说明的是,本发明实施例提供的附图2中在每个块有三个副本,在三个副本中选取一个副本作为备用副本,只是进行示意性说明,并不引以为限,在实际的应用中每个块的副本可以多于三个,并且也可选取不止一个副本。
27、作为备用副本。0061如图3所示为本发明实施例一提供的分布式文件系统的负载均衡方法流程图,包括0062S101在分布式文件系统的各个数据节点中,确定需要进行负载均衡的数据节点。0063具体的,本发明实施例在分布式文件系统的各个数据节点中确定需要进行负载均衡的数据节点时,可通过设定的规则得出每个数据节点是否需要进行负载均衡,例如本发明实施例中可对分布式文件系统中的各个数据节点的运行状态进行实时监控,根据数据节点的运行状态确定数据节点的负荷情况,根据确定的数据节点负荷情况判断当前数据节点是否需要进行负载均衡。具体的需要进行负载均衡的数据节点可以是过负荷的数据节点,也可以是负荷过低的数据节点。006。
28、4S102在确定的需要进行负载均衡的数据节点中,选取工作副本。0065具体的,在S101确定了需要进行负载均衡的数据节点后,本发明实施例可根据确定的需要进行负载均衡的数据节点上,存储的块的工作副本的数量,在确定的需要进行负载均衡的数据节点上选取设定数量的工作副本进行工作状态调整。0066进一步的,本发明实施例中选取工作副本时,可以在需要进行负载均衡的数据节点上随机选取设定数量的工作副本,也可以根据与需要进行负载均衡的数据节点上存储的工作副本,对应的备用副本所在数据节点的系统性能,进行选择,例如可以根据备用副本所在的数据节点的系统性能由高到低依次选取设定数量的工作副本。0067S103将选取的工。
29、作副本调整为备用副本,并在确定的需要进行负载均衡的数据节点之外的其他数据节点中将与选取的工作副本内容一致的至少一个备用副本调整为工作副本。0068具体的,本发明实施例中可将S103中选取的需要进行工作状态调整的工作副本,直接调整为不能被访问的备用副本,而在确定的需要进行负载均衡的数据节点之外的其他数据节点中将与选取的工作副本内容一致的备用副本调整为工作副本时,若与选取的需要进行工作状态调整的工作副本内容一致的备用副本只有一个,则将该对应的备用副本直接调整为工作副本,若与需要进行工作状态调整的工作副本内容一致的备用副本不止一个,则将数据节点系统性能最好的数据节点上存储的,与选取的需要进行工作状态。
30、调整的工作副本内容一致的备用副本调整为工作副本。当然,若需要调整一个工作副本对应的多个备用副本的工作状态进行负载均衡,则可按照数据节点的系统性能的高低,依次选取。0069可以理解的是,本发明实施例的负载均衡方法可以由具有负载均衡能力的设备进行实施,例如分布式文件系统中的管理节点实施,或者负载均衡器实施。0070本发明实施例提供的分布式文件系统的负载均衡方法,预先将分布式文件系统中的各个数据节点存储的每个块的副本区分为能够被访问的工作副本和不能被访问的备用说明书CN104144127A6/11页9副本,进行负载均衡时,通过将需要进行负载均衡的数据节点上选取的需要进行工作状态调整的工作副本调整为备。
31、用副本,并在确定的需要进行负载均衡的数据节点之外的其他数据节点中将与选取的工作副本内容一致的备用副本调整为工作副本,能够较快速的完成访问流量的切换,无需进行节点间的数据复制,降低了对分布式系统整体性能的影响。0071实施例二0072本发明实施例二将结合实际应用对实施例一提供的分布式文件系统的负载均衡方法进行进一步的详细说明。0073本发明实施例作为实施例一的较优实施例,仅对S101中确定需要进行负载均衡的数据节点的过程进行详细说明,其他步骤与实施例一相同,在此不再赘述。0074本发明实施例中在确定需要进行负载均衡的数据节点时,可以采用多种确定方式,例如由管理节点对各个数据节点进行实时监控,主动。
32、获取各个数据节点的系统运行状态,根据获取到的各个数据节点的系统运行状态,确定是否存在需要进行负载均衡的数据节点;还可以由各个数据节点对自身节点的负荷情况以及系统性能指标进行监控,若自身节点过负荷,或者性能指标达到设定的阈值,则将发送负载均衡指令至管理节点,管理节点根据接收到的负载均衡指令,确定该发送负载均衡指令的数据节点,为需要进行负载均衡的数据节点。0075优选的,本发明实施例中可对分布式文件系统中的各个数据节点的设定监控项,并对各个数据节点设定的监控项进行监控,并根据监控得到的监控项数据值确定需要进行负载均衡的数据节点。0076具体的,本发明实施例可对分布式文件系统中的各个数据节点分别设定。
33、多个监控项,并对设定的监控项进行监控,本发明实施例中对各个监控项进行监控时,可使用单独的线程分别周期性监控分布式文件系统中的每一数据节点的设定监控项。由于每个数据节点的处理能力以及系统性能都可能不一致,本发明实施例中对每个数据节点使用一个单独的线程分别进行监控,相较于多个不同系统性能以及处理能力的数据节点采用同一线程进行监控,能够提高对数据节点的运行状态进行评估的准确度,并且每个数据节点的处理能力在短时间内一般不会发生变化,因此本发明实施例可以对分布式文件系统中的各个数据节点的设定监控项进行周期性的监控,以减少资源占用,提高分布式文件系统的整体性能。0077进一步的,本发明实施例中对分布式文件。
34、系统中的各个数据节点设定的监控项不再局限于数据节点的访问次数,可以是任何反应数据节点系统性能的性能选项,例如可以是数据节点的CPU占用率、数据节点的内存使用率、数据节点的磁盘读写速度以及数据节点的网络延时等中的一项或者多项。0078本发明实施例中在确定需要进行负载均衡的数据节点时,可对各个数据节点分别设定的监控项,设定需要进行负载均衡的条件,当任一数据节点针对设定的监控项,监控得到的结果满足需要进行负载均衡的条件时,确定该满足负载均衡条件的数据节点为需要进行负载均衡的数据节点,比如可以对每个数据节点的每个监控项分别设定过负荷阈值,并根据对每一监控项监控得到的监控项数据值与对应的过负荷阈值,判断。
35、分布式文件系统中是否存在过负荷数据节点,在各个数据节点中,若对至少一个数据节点的任一监控项监控得到的监控项数据值超过对应的过负荷阈值,则确定存在过负荷数据节点,将该过负荷数据节点作为需要进行负载均衡的数据节点;在各个数据节点中,若对每个数据节点的任一说明书CN104144127A7/11页10监控项监控得到的监控项数据值均没有超过对应的过负荷阈值,则确定不存在过负荷数据节点,根据每个数据节点的系统性能确定需要进行负载均衡的数据节点,因此,本发明实施例提供的负载均衡方法,可采用如图4所示的方法流程,图4所示的负载均衡方法,在图3的基础上,将S101中在分布式文件系统中的各个数据节点中,确定需要进。
36、行负载均衡的数据节点,替换为如下步骤0079S1011对分布式文件系统中的各个数据节点的设定监控项进行监控。0080S1012根据对设定监控项监控得到的结果,判断是否存在过负荷数据节点,若是则转S1013,若否则转S1014。0081具体的,本发明实施例中根据对设定监控项监控得到的监控项数值,判断是否存在过负荷数据节点可优选如下方式0082对各个数据节点设定的各个监控项分别设定过负荷阈值,当监控得到的监控项数值超过设定的过负荷阈值,则认为该超过设定过负荷阈值的监控项所在的数据节点过负荷。本发明实施例在各个数据节点中,若对至少一个数据节点的任一监控项监控得到的数据值超过对应的设定过负荷阈值,则确。
37、定存在过负荷数据节点。0083S1013选择过负荷数据节点,作为需要进行负载均衡的数据节点。0084当存在过负荷数据节点时,则说明该过负荷数据节点需要进行负载均衡,则选择该过负荷数据节点作为需要进行负载均衡的数据节点。0085S1014根据每个数据节点的系统性能确定需要进行负载均衡的数据节点。0086当不存在过负荷数据节点时,分布式文件系统中数据节点的系统性能可能也不同,分布式文件系统的各个数据节点也没有达到真正意义上的负载均衡,为使分布式文件系统中各个数据节点的负载更为均衡,本发明实施例可根据数据节点的系统性能确定需要进行负载均衡的数据节点。0087具体的,本发明实施例中,根据数据节点的系统。
38、性能确定需要进行负载均衡的数据节点,可优选如下方式0088A、根据对每个数据节点的每一监控项监控得到的监控项数据值,以及与该监控项对应的过负荷阈值,确定每个数据节点的系统性能比率值。0089具体的,本发明实施例中对各个数据节点设定的各个监控项分别设定对应的过负荷阈值,针对每一数据节点,确定对该数据节点监控得到的每一监控项的监控项数据值与对应的过负荷阈值的比值,并将确定的比值中最高的比值,作为该数据节点的系统性能比率值。0090比如,数据节点设定的监控项包括数据节点的CPU占用率、数据节点的内存使用率、数据节点的磁盘读写速度和数据节点的网络延时,设定CPU的过负荷阈值为80,内存使用的过负荷阈值。
39、为15G,网路延时的过负荷阈值为100毫秒,磁盘读写速度的过负荷阈值是90M/S;而在某一个周期内监控得到的每一监控项的数据值为CPU占用56,内存使用10G,网络延时10毫秒,磁盘读写速度为40M/S,对每一监控项的监控得到的数据值与对应的过负荷阈值做比值计算,得到比值最高的是CPU,为56/8070,也就是说当前数据节点的系统性能比率值是70。0091B、根据确定的每个数据节点的系统性能比率值,得到系统性能比率值最高的数据节点和系统性能比率值最低的数据节点。说明书CN104144127A108/11页110092根据上述确定数据节点系统性能比率值的方式,确定了每一数据节点的性能比率值,假设。
40、当前有四个节点,分别为节点1、节点2、节点3和节点4,确定的性能比率值分别为70,30,50,40,则可找到系统性能比率值最高的为节点1,系统性能比率值最低的为节点2。0093C、当系统性能比率值最高的数据节点的系统性能比率值超出该数据节点系统性能比率值的阈值、且是系统性能比率值最低的数据节点的系统性能比率值的设定倍数时,选择系统性能比率值最高的数据节点,作为需要进行负载均衡的数据节点。0094本发明实施例中系统性能比率值最高的数据节点系统性能比率值的阈值、以及其相对系统性能比率值最低的数据节点的系统性能比率值的设定倍数可根据实际情况进行配置,比如本发明实施例中将系统性能比率值最高的数据节点的。
41、系统性能比率值的阈值设定为50,设定倍数为2倍,则本发明实施例中系统性能比率值最高的节点1的系统性能比率值为70,超出了50,并且是系统性能比率值最低的节点2的系统性能比率值为30的两倍以上,则将节点1作为需要进行负载均衡的数据节点。0095本发明实施例提供的分布式文件系统的负载均衡方法,通过监控数据节点上设定监控项的监控结果确定需要进行负载均衡调整的数据节点,相较于现有技术中通过访问次数确定数据节点的运行状态,能够较精确的监控数据节点的运行状态,并且在进行负载均衡的过程中,当存在过负荷数据节点时,对过负荷数据节点进行负载均衡,当不存在过负荷数据节点时,根据数据节点的系统性能,进一步确定是否存。
42、在需要进行负载均衡的数据节点,并进行负载均衡,进一步改善了分布式文件系统的整体性能。0096实施例三0097本发明的实施例三是对实施例一中S102中在需要进行负载均衡的数据节点中,选取需要进行工作状态调整的工作副本的过程进行的详细说明,其他步骤与实施例一与实施例二涉及的步骤相同,在此不再赘述。0098本发明实施例中在确定的需要进行负载均衡的数据节点中,选取需要进行工作状态调整的工作副本的过程,采用如下方式0099A、针对任一需要进行负载均衡的数据节点,分别确定与该需要进行负载均衡的数据节点中存储的各个工作副本内容一致的备用副本所在的数据节点。0100B、将确定的备用副本所在的数据节点,按照数据。
43、节点的系统性能比率值的大小进行排序。0101C、依据要选取的工作副本的数目,在确定的备用副本所在的数据节点中,按照数据节点的系统性能比率值从小到大的顺序,依次选择所需数目的数据节点。0102D、在该需要进行负载均衡的数据节点中,选取内容与选择的数据节点中存储的备用副本内容一致的工作副本。0103以下将结合附图对上述选取工作副本的过程进行举例说明,如图5A中所示分布式文件系统中包含4个数据节点分别为节点1、节点2、节点3和节点4,四个数据节点的系统性能比率值分别为70,30,50,40,此时四个数据节点均未过负荷,则按照上述实施例中不存在过负荷数据节点时选取需要进行负载均衡的数据节点方法,则可知。
44、系统性能比率值最高的是节点1为70,系统性能比率值最低的是节点2为30,并且节点1的系统性能比率值超出50,并且是系统性能比率值最低的节点2的系统性能比率值的两倍以上,则将说明书CN104144127A119/11页12节点1作为需要进行负载均衡的数据节点。0104由图5A可知,节点1中有4个工作副本,分别为块1、块2、块5和块6,的工作副本,并且与工作副本内容一致的备用副本分别存储在节点2、节点3和节点4上,对节点2、节点3和节点4按照系统性能比率值的大小进行排序,可知系统性能比率值最低的数据节点为节点2,其次为节点4,然后是节点3。0105本发明实施例中选择需要进行工作状态调整的工作副本,。
45、可在需要进行负载均衡的数据节点上选取设定比例的工作副本,比如可以选取全部工作副本的5,当按照设定百分比进行选取工作副本时,可能会出现不是整数的情况,此时可根据情况进行向上取整,或向下取整,选取整数个工作副本作为需要进行工作状态调整的工作副本,当按照设定百分比进行选取工作副本时,不足一个时取一个,比如图5A中工作副本一共是4个,此时根据计算,需要进行工作状态调整的工作副本数量为4502个,此时不足一个,则选取其中的一个工作副本作为需要进行工作状态调整的工作副本。0106由图5A可知,系统性能比率值最低的数据节点为节点2,并且节点2上的备用副本为块2的备用副本,因此当选择一个工作副本作为需要进行工。
46、作状态调整的工作副本时,则在节点1中将块2的工作副本作为最终需要进行工作状态调整的工作副本,当选择两个工作副本时,可再将与节点4上的备用副本内容一致的块6的工作副本作为需要进行工作状态调整的工作副本。0107进行负载均衡时,将需要进行负载均衡的数据节点上选取的工作副本调整为备用副本,将其他节点上与选取的工作副本内容一致的备用副本调整为工作副本,比如图5A中选择一个工作副本进行工作状态调整时,则将节点1上的块2的工作副本调整为备用副本,并把节点2上的块2的备用副本调整为工作副本中,如图5B所示,最终实现流量的切换,达到负载均衡,如图5C所示。0108本发明实施例中进行负载均衡时,在需要进行负载均。
47、衡的数据节点上选取设定比例的工作副本作为需要进行工作状态调整的工作副本,并且在具体选择工作副本时根据需要进行负载均衡的数据节点上的工作副本内容一致的备用副本所在的其他数据节点的系统性能比率进行选择,使负载均衡更为精确,提高分布式文件系统的整体性能。0109实施例四0110基于实施例一至实施例三提供的负载均衡方法,本发明实施例提供一种负载均衡器,如图6所示,包括确定单元601、选取单元602和调整单元603;0111确定单元601,用于在分布式文件系统中的各个数据节点中,确定需要进行负载均衡的数据节点,并将确定的需要进行负载均衡的数据节点的信息发送至所述选取单元602。0112选取单元602,用。
48、于接收确定单元601发送的需要进行负载均衡的数据节点的信息,以及调整单元603发送的能够被访问的工作副本和不能被访问的备用副本的信息,并在确定的需要进行负载均衡的数据节点中,选取工作副本,将选取的工作副本的信息发送至调整单元603。0113调整单元603,用于预先将每个块的副本区分为能够被访问的工作副本,和不能被访问的备用副本,并接收选取单元发送的选取了的工作副本的信息,将选取的工作副本调整为备用副本,并在确定的需要进行负载均衡的数据节点之外的其他数据节点中,将与选取的工作副本内容一致的至少一个备用副本调整为工作副本。说明书CN104144127A1210/11页130114其中,确定单元60。
49、1,具体用于0115对分布式文件系统中的各个数据节点的监控项进行监控,并根据监控得到的监控项数据值确定需要进行负载均衡的数据节点;0116其中,监控项包括下列至少其中之一0117数据节点的CPU占用率、数据节点的内存使用率、数据节点的磁盘读写速度和数据节点的网络延时。0118其中,确定单元601,具体用于0119使用单独的线程分别周期性监控分布式文件系统中的每一数据节点的监控项。0120其中,确定单元601,具体用于0121根据对设定监控项监控得到的监控项数据值,判断是否存在过负荷数据节点;0122在各个数据节点中,若对至少一个数据节点的任一监控项监控得到的监控项数据值超过对应的过负荷阈值,则确定存在过负荷数据节点,选择过负荷数据节点,作为需要进行负载均衡的数据节点;0123在各个数据节点中,若对每个数据节点的任一监控项监控得到的监控项数据值均没有超过对应的过负荷阈值,则确定不存在过负荷数据节点,根据每个数据节点的系统性能确定需要进行负载均衡的数据节点。0124其中,确定单元601,具体用于0125根据对每一监控项监控得到的监控项数据值、以及与该监控项对应的过负荷阈值,确定每个数据节点的系统性能比率值;0126根据确定的每个数据节点的系统性能比率值,得到系统性能比率值最高的数据节点和系统性能比率值最低的数据节点;0127当系统性能比率值最高的数据节点的系统性能比率值超出该数据节点。