负载均衡方法和负载均衡器技术

技术编号:10646125 阅读:137 留言:0更新日期:2014-11-12 19:48
本发明专利技术公开了一种负载均衡方法和负载均衡器,以解决现有的负载均衡方法会对分布式文件系统的整体性能造成影响的问题。本发明专利技术在分布式文件系统中的各个数据节点存储的每个块的副本中,预先区分能够被访问的工作副本和不能被访问的备用副本;在分布式文件系统中的各个数据节点中,确定需要进行负载均衡的数据节点;在确定的需要进行负载均衡的数据节点中,选取工作副本;将选取的工作副本调整为备用副本,并在其他数据节点中将与选取的工作副本内容一致的至少一个备用副本调整为工作副本。通过本发明专利技术能够较快速的完成访问流量的切换,无需进行数据的复制,降低了对分布式系统整体性能的影响。

【技术实现步骤摘要】

本专利技术涉及计算机
,尤其涉及一种负载均衡方法和负载均衡器
技术介绍
数据的多副本备份方式,能够将海量数据存储在大量低廉的硬件上,并能提高数据的可靠性和并发访问能力,因此多副本备份方式的存储策略得到越来越多的关注。分布式文件系统由于需要存储较多的数据文件,因此多副本备份方式的存储策略在分布式文件系统中得到广泛应用。分布式文件系统主要包括管理节点、数据节点集群和客户端三部分,如图1所示,采用多副本备份方式的存储策略时,当客户端向分布式文件系统中写入文件,管理节点会根据写入的文件,将文件分为不同的块,并将每个块分发到N个数据节点上进行存储,并且每个块会有N个副本,每个副本对应存储在一个数据节点上,进行数据的读写操作时,客户端与管理节点进行应用的交互,并由管理节点根据自身元数据的情况将读取或者写入操作分发到具体的数据节点上进行操作,然而不同的数据节点的系统性能可能不一致,并且不同文件本身的读取频繁程度也不一样,可能会导致分布式文件系统很难达到负载均衡的状态,若分布式文件系统没有较好的负载均衡处理能力,则无法充分利用全部数据节点的性能。现有技术中使分布式文件系统达到负载均衡主要采用以下方式:管理节点在将划分后的各个块分配到各个数据节点时,按照划分块的个数平均分配到各个数据节点上,或者按照数据节点的磁盘使用比例来分配。例如按照划分块个数平均分配时,管理节点首先判断每个数据节点上包含的块个数,然后获取到包含块个数比较少的数据节点,并将新生成的需要写入到数据节点上的块写入到包含块个数比较少的数据节点上。由于各个数据节点的存储空间和性能很可能不一致,不同应用数据的访问量也会不一致,为使分布式文件系统中各个数据节点进一步达到负载均衡,现有技术采用静态过负荷监控和数据复制的处理机制,通过评估每个数据节点的系统性能和一次数据访问的性能消耗,并定义一个统计周期,根据统计周期评估出每个数据节点一个周期内能够处理的访问次数,然后对每个数据节点的访问情况进行周期性的监控,如果在设定的周期内某个数据节点的实际访问次数超过了设定的最大访问次数,则认为该访问次数超过了最大访问次数的数据节点过负荷,此时将该过负荷数据节点上的部分块通过数据复制迁移到其他数据节点上,使得数据访问量随着块的迁移而迁移到其他的节点上,以达到对数据节点动态负载均衡的处理。但现有技术的上述基于数据复制的负载均衡调整方式,数据复制的过程需要在数据节点间拷贝数据,会对进行复制的两个数据节点造成性能损耗,多个数据节点之间频繁的进行数据复制对于分布式文件系统的整体性能也会造成较大的影响。
技术实现思路
本专利技术实施例提供一种负载均衡方法和负载均衡器,以解决现有的负载均衡方法会对分布式文件系统的整体性能造成影响的问题。本专利技术的目的是通过以下技术方案实现的:第一方面,提供一种负载均衡方法,包括:在分布式文件系统中的各个数据节点中,确定需要进行负载均衡的数据节点;在所述确定的需要进行负载均衡的数据节点中,选取工作副本,其中,所述工作副本为能够被访问的副本;将所述选取的工作副本调整为备用副本,并在确定的需要进行负载均衡的数据节点之外的其他数据节点中,将与所述选取的工作副本内容一致的至少一个备用副本调整为工作副本,所述备用副本为不能被访问的副本。结合第一方面,在第一种可能的实现方式中,所述确定需要进行负载均衡的数据节点,包括:对分布式文件系统中的各个数据节点的监控项进行监控,并根据监控得到的监控项数据值确定需要进行负载均衡的数据节点;其中,所述监控项包括下列至少其中之一:所述数据节点的CPU占用率、所述数据节点的内存使用率、所述数据节点的磁盘读写速度和所述数据节点的网络延时。结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述对分布式文件系统中的各个数据节点的监控项进行监控,包括:使用单独的线程分别周期性监控分布式文件系统中的每一数据节点的监控项。结合第一方面的第一种可能的实现方式,或第一方面的第二种可能实现方式,在第三种可能的实现方式中,所述根据监控得到的监控项数据值确定需要进行负载均衡的数据节点,包括:在各个数据节点中,若对至少一个数据节点的任一监控项监控得到的监控项数据值超过对应的过负荷阈值,则确定存在过负荷数据节点,选择过负荷数据节点,作为需要进行负载均衡的数据节点;在各个数据节点中,若对每个数据节点的任一监控项监控得到的监控项数据值均没有超过对应的过负荷阈值,则确定不存在过负荷数据节点,根据每个数据节点的系统性能确定需要进行负载均衡的数据节点。结合第一方面的第三种可能实现方式,在第四种可能的实现方式中,所述根据每个数据节点的系统性能确定需要进行负载均衡的数据节点,包括:根据对每一监控项监控得到的监控项数据值、以及与该监控项对应的过负荷阈值,确定每个数据节点的系统性能比率值;根据确定的每个数据节点的系统性能比率值,得到系统性能比率值最高的数据节点和系统性能比率值最低的数据节点;当所述系统性能比率值最高的数据节点的系统性能比率值超出该数据节点系统性能比率值的阈值、且是所述系统性能比率值最低的数据节点的系统性能比率值的设定倍数时,将所述系统性能比率值最高的数据节点作为需要进行负载均衡的数据节点。结合第一方面的第四种可能的实现方式,在第五种可能的实现方式中,所述在需要进行负载均衡的数据节点中,选取工作副本,包括:针对任一需要进行负载均衡的数据节点,分别确定与该需要进行负载均衡的数据节点中存储的各个工作副本内容一致的备用副本所在的数据节点,并将确定的备用副本所在的数据节点,按照数据节点的系统性能比率值的大小进行排序;依据要选取的工作副本的数目,在确定的备用副本所在的数据节点中,按照数据节点的系统性能比率值从小到大的顺序,依次选择所述数目的数据节点;在该需要进行负载均衡的数据节点中,选取内容与选择的数据节点中存储的备用副本内容一致的工作副本。第二方面,提供一种负载均衡器,包括:确定单元、选取单元和调整单元;确定单元,用于在分布式文件系统中的各个数据节点中,确定需要进行负载均衡的数据节点,并将确定的需要进行负载均衡的数据节点的信息发送至所述选取单元;选取单元,用于接收所述确定单元发送的需要进行负载均衡的数据节点的信息,以及所述调整单元发送的能够被访问的工作副本和不能被访问的备用副本的信息,并在所述确定的需本文档来自技高网
...

【技术保护点】
一种负载均衡方法,其特征在于,包括:在分布式文件系统中的各个数据节点中,确定需要进行负载均衡的数据节点;在所述确定的需要进行负载均衡的数据节点中,选取工作副本,其中,所述工作副本为能够被访问的副本;将所述选取的工作副本调整为备用副本,并在确定的需要进行负载均衡的数据节点之外的其他数据节点中,将与所述选取的工作副本内容一致的至少一个备用副本调整为工作副本,所述备用副本为不能被访问的副本。

【技术特征摘要】
1.一种负载均衡方法,其特征在于,包括:
在分布式文件系统中的各个数据节点中,确定需要进行负载均衡的数据节
点;
在所述确定的需要进行负载均衡的数据节点中,选取工作副本,其中,所
述工作副本为能够被访问的副本;
将所述选取的工作副本调整为备用副本,并在确定的需要进行负载均衡的
数据节点之外的其他数据节点中,将与所述选取的工作副本内容一致的至少一
个备用副本调整为工作副本,所述备用副本为不能被访问的副本。
2.如权利要求1所述的方法,其特征在于,所述确定需要进行负载均衡
的数据节点,包括:
对所述分布式文件系统中的各个数据节点的监控项进行监控,并根据监控
得到的监控项数据值确定需要进行负载均衡的数据节点;
其中,所述监控项包括下列至少其中之一:
所述数据节点的CPU占用率、所述数据节点的内存使用率、所述数据节
点的磁盘读写速度和所述数据节点的网络延时。
3.如权利要求2所述的方法,其特征在于,所述对分布式文件系统中的
各个数据节点的监控项进行监控,包括:
使用单独的线程分别周期性监控所述分布式文件系统中的每一数据节点
的监控项。
4.如权利要求2或3所述的方法,其特征在于,所述根据监控得到的监
控项数据值确定需要进行负载均衡的数据节点,包括:
在各个数据节点中,若对至少一个数据节点的任一监控项监控得到的监控
项数据值超过对应的过负荷阈值,则确定存在过负荷数据节点,选择过负荷数
据节点,作为需要进行负载均衡的数据节点;
在各个数据节点中,若对每个数据节点的任一监控项监控得到的监控项数

\t据值均没有超过对应的过负荷阈值,则确定不存在过负荷数据节点,根据每个
数据节点的系统性能,确定需要进行负载均衡的数据节点。
5.如权利要求4所述的方法,其特征在于,所述根据每个数据节点的系
统性能确定需要进行负载均衡的数据节点,包括:
根据对每一监控项监控得到的监控项数据值、以及与所述每一监控项对应
的过负荷阈值,确定每个数据节点的系统性能比率值;
根据确定的所述每个数据节点的系统性能比率值,得到系统性能比率值最
高的数据节点和系统性能比率值最低的数据节点;
当所述系统性能比率值最高的数据节点的系统性能比率值超出所述数据
节点系统性能比率值的阈值、且是所述系统性能比率值最低的数据节点的系统
性能比率值的设定倍数时,将所述系统性能比率值最高的数据节点作为需要进
行负载均衡的数据节点。
6.如权利要求5所述的方法,其特征在于,在需要进行负载均衡的数据
节点中,选取工作副本,包括:
针对任一需要进行负载均衡的数据节点,分别确定与所述需要进行负载均
衡的数据节点中存储的各个工作副本内容一致的备用副本所在的数据节点,并
将确定的所述备用副本所在的数据节点,按照数据节点的系统性能比率值
的大小进行排序;
依据...

【专利技术属性】
技术研发人员:魏一峰
申请(专利权)人:华为软件技术有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1