负载均衡方法及装置制造方法及图纸

技术编号:20424927 阅读:17 留言:0更新日期:2019-02-23 08:25
本公开是关于一种负载均衡方法及装置,所述方法包括:每隔预设时间,获取一次分布式文件系统中每个数据服务器节点的当前磁盘用量;根据每个数据服务器节点的当前磁盘用量,获取当前数据在每个数据服务器节点的分布状态,分布状态指示当前数据分布均衡或者指示当前数据分布不均衡,当前数据为存储在每个数据服务器节点的数据,当分布状态指示当前数据分布不均衡时,调用分布式文件系统的均衡器执行负载均衡操作。本公开可以实现周期性地进行负载均衡,避免人工操作带来的问题,降低人工管理成本,且能在均衡器运行失败时自动重新运行。

【技术实现步骤摘要】
负载均衡方法及装置
本公开涉及分布式
,尤其涉及一种负载均衡方法及装置。
技术介绍
随着互联网技术的不断发展,分布式文件系统的出现有效地解决了数据的存储和管理难题。分布式文件系统一般由元数据服务器和数据服务器组成,元数据服务器存储分布式文件系统的元数据,而数据服务器则存储分布式文件系统的实际用户数据。在分布式文件系统中,使用者通常会根据数据量的增长或减少情况动态的添加/删除数据服务器节点,因此数据服务器总的个数会发生变化,同时在使用过程中可能有节点磁盘损坏等情况导致数据服务器节点动态下线或者上线,这些情况会导致各个数据服务器节点之间的数据分布和访问量都不均衡,即导致数据服务器节点负载不均衡,影响业务的访问性能。相关技术中,一般是通过分布式文件系统中提供的均衡器来实现负载均衡,具体是由均衡器将数据在不同的数据服务器节点之间挪动,以达到数据服务器节点上空间消耗均衡的目的。均衡器一般由系统管理员手动启动,当达到负载均衡后该均衡器运行结束。然而,人工操作会有突发状况发生,比如系统管理员忘记启动或者在均衡器工作过程中有临时性的网络故障发生等,会使得数据服务器节点长期处于不均衡的状态。
技术实现思路
为克服相关技术中存在的问题,本公开提供一种负载均衡方法及装置。所述技术方案如下:根据本公开实施例的第一方面,提供一种负载均衡方法,包括:每隔预设时间,获取一次分布式文件系统中每个数据服务器节点的当前磁盘用量;根据每个数据服务器节点的当前磁盘用量,获取当前数据在每个数据服务器节点的分布状态,所述分布状态指示所述当前数据分布均衡或者指示所述当前数据分布不均衡,所述当前数据为存储在每个数据服务器节点的数据;当所述分布状态指示所述当前数据分布不均衡时,调用所述分布式文件系统的均衡器执行负载均衡操作。本公开的实施例提供的技术方案可以包括以下有益效果:通过每隔预设时间获取一次分布式文件系统中每个数据服务器节点的当前磁盘用量,根据每个数据服务器节点的当前磁盘用量获取当前数据在每个数据服务器节点的分布状态,当分布状态指示当前数据分布不均衡时,调用分布式文件系统的均衡器执行负载均衡操作,从而可实现周期性地进行负载均衡,避免人工操作带来的问题,降低人工管理成本,且能在均衡器运行失败时自动重新运行。进一步地,所述方法还包括:当所述分布状态指示所述当前数据分布均衡时,在所述预设时间内休眠。进一步地,所述根据每个数据服务器节点的当前磁盘用量确定当前数据分布是否均衡,包括:计算所有数据服务器节点的当前磁盘用量的方差,所述方差为所述分布状态;所述方差大于第一预设阈值时,所述当前数据分布不均衡,所述方差小于所述第一预设阈值时,所述当前数据分布均衡。本公开的实施例提供的技术方案可以包括以下有益效果:通过每隔预设时间获取一次分布式文件系统中每个数据服务器节点的当前磁盘用量,将所有数据服务器节点的当前磁盘用量的方差作为分布状态,根据方差和第一预设阈值确定当前数据分布不均衡时,调用分布式文件系统的均衡器执行负载均衡操作,从而可实现周期性地进行负载均衡,避免人工操作带来的问题,降低人工管理成本,且能在均衡器运行失败时自动重新运行。进一步地,所述根据每个数据服务器节点的当前磁盘用量确定当前数据分布是否均衡,包括:计算所有数据服务器节点的当前磁盘用量的平均值;计算每个数据服务器节点的当前磁盘用量与所述平均值之间的差值,并计算所述差值最大的N个数据服务器节点的总的磁盘用量X和所述差值最小的M个数据服务器节点的总的磁盘用量Y,N和M为预设正整数;所述X与Y之间的差值为所述分布状态,所述X与Y之间的差值大于第二预设阈值时,所述当前数据分布不均衡,所述X与Y之间的差值小于所述第二预设阈值时,所述当前数据分布均衡。本公开的实施例提供的技术方案可以包括以下有益效果:通过每隔预设时间获取一次分布式文件系统中每个数据服务器节点的当前磁盘用量,计算每个数据服务器节点的当前磁盘用量与所有数据服务器节点的当前磁盘用量的平均值之间的差值,并计算差值最大的N个数据服务器节点的总的磁盘用量X和差值最小的M个数据服务器节点的总的磁盘用量Y,将X与Y之间的差值作为分布状态,根据X与Y之间的差值和第二预设阈值确定当前数据分布不均衡时,调用分布式文件系统的均衡器执行负载均衡操作,从而可实现周期性地进行负载均衡,避免人工操作带来的问题,降低人工管理成本,且能在均衡器运行失败时自动重新运行。进一步地,所述方法还包括:计算所有数据服务器节点的当前磁盘用量的平均值;计算每个数据服务器节点的当前磁盘用量与所述平均值之间的差值,选取所述差值最大的P个数据服务器节点和差值最小的Q个数据服务器节点,P和Q为预设正整数;所述调用所述分布式文件系统的均衡器执行负载均衡操作,包括:调用所述均衡器将数据在P个数据服务器节点和Q个数据服务器节点之间进行挪动。根据本公开实施例的第二方面,提供一种负载均衡装置,包括:第一获取模块,被配置为每隔预设时间,获取一次分布式文件系统中每个数据服务器节点的当前磁盘用量;第二获取模块,被配置为根据每个数据服务器节点的当前磁盘用量,获取当前数据在每个数据服务器节点的分布状态,所述分布状态指示所述当前数据分布均衡或者指示所述当前数据分布不均衡,所述当前数据为存储在每个数据服务器节点的数据;第一处理模块,被配置为当所述分布状态指示所述当前数据分布不均衡时,调用所述分布式文件系统的均衡器执行负载均衡操作。本公开的实施例提供的技术方案可以包括以下有益效果:通过第一获取模块每隔预设时间获取一次分布式文件系统中每个数据服务器节点的当前磁盘用量,第二获取模块根据每个数据服务器节点的当前磁盘用量,获取当前数据在每个数据服务器节点的分布状态,第一处理模块在分布状态指示当前数据分布不均衡时,调用分布式文件系统的均衡器执行负载均衡操作,从而可实现周期性地进行负载均衡,避免人工操作带来的问题,降低人工管理成本,且能在均衡器运行失败时自动重新运行。进一步地,所述装置还包括:第二处理模块,被配置为当所述分布状态指示所述当前数据分布均衡时,在所述预设时间内休眠。进一步地,所述第二获取模块被具体配置为:计算所有数据服务器节点的当前磁盘用量的方差,所述方差为所述分布状态;所述方差大于第一预设阈值时,所述当前数据分布不均衡,所述方差小于所述第一预设阈值时,所述当前数据分布均衡。进一步地,所述第二获取模块被具体配置为:计算所有数据服务器节点的当前磁盘用量的平均值;计算每个数据服务器节点的当前磁盘用量与所述平均值之间的差值,并计算所述差值最大的N个数据服务器节点的总的磁盘用量X和所述差值最小的M个数据服务器节点的总的磁盘用量Y,N和M为预设正整数;所述X与Y之间的差值为所述分布状态,所述X与Y之间的差值大于第二预设阈值时,所述当前数据分布不均衡,所述X与Y之间的差值小于所述第二预设阈值时,所述当前数据分布均衡。进一步地,所述装置还包括:计算模块,被配置为计算所有数据服务器节点的当前磁盘用量的平均值;计算每个数据服务器节点的当前磁盘用量与所述平均值之间的差值,选取所述差值最大的P个数据服务器节点和差值最小的Q个数据服务器节点,P和Q为预设正整数;所述第一处理模块被具体配置为:调用所述均衡器将数据在P个数据服务器节点和本文档来自技高网...

【技术保护点】
1.一种负载均衡方法,其特征在于,包括:每隔预设时间,获取一次分布式文件系统中每个数据服务器节点的当前磁盘用量;根据每个数据服务器节点的当前磁盘用量,获取当前数据在每个数据服务器节点的分布状态,所述分布状态指示所述当前数据分布均衡或者指示所述当前数据分布不均衡,所述当前数据为存储在每个数据服务器节点的数据;当所述分布状态指示所述当前数据分布不均衡时,调用所述分布式文件系统的均衡器执行负载均衡操作。

【技术特征摘要】
1.一种负载均衡方法,其特征在于,包括:每隔预设时间,获取一次分布式文件系统中每个数据服务器节点的当前磁盘用量;根据每个数据服务器节点的当前磁盘用量,获取当前数据在每个数据服务器节点的分布状态,所述分布状态指示所述当前数据分布均衡或者指示所述当前数据分布不均衡,所述当前数据为存储在每个数据服务器节点的数据;当所述分布状态指示所述当前数据分布不均衡时,调用所述分布式文件系统的均衡器执行负载均衡操作。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:当所述分布状态指示所述当前数据分布均衡时,在所述预设时间内休眠。3.根据权利要求1所述的方法,其特征在于,所述根据每个数据服务器节点的当前磁盘用量,获取当前数据在每个数据服务器节点的分布状态,包括:计算所有数据服务器节点的当前磁盘用量的方差,所述方差为所述分布状态;所述方差大于第一预设阈值时,所述当前数据分布不均衡,所述方差小于所述第一预设阈值时,所述当前数据分布均衡。4.根据权利要求1所述的方法,其特征在于,所述根据每个数据服务器节点的当前磁盘用量,获取当前数据在每个数据服务器节点的分布状态,包括:计算所有数据服务器节点的当前磁盘用量的平均值;计算每个数据服务器节点的当前磁盘用量与所述平均值之间的差值,并计算所述差值最大的N个数据服务器节点的总的磁盘用量X和所述差值最小的M个数据服务器节点的总的磁盘用量Y,N和M为预设正整数;所述X与Y之间的差值为所述分布状态,所述X与Y之间的差值大于第二预设阈值时,所述当前数据分布不均衡,所述X与Y之间的差值小于所述第二预设阈值时,所述当前数据分布均衡。5.根据权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:计算所有数据服务器节点的当前磁盘用量的平均值;计算每个数据服务器节点的当前磁盘用量与所述平均值之间的差值,选取所述差值最大的P个数据服务器节点和差值最小的Q个数据服务器节点,P和Q为预设正整数;所述调用所述分布式文件系统的均衡器执行负载均衡操作,包括:调用所述均衡器将数据在P个数据服务器节点和Q个数据服务器节点之间进行挪动。6.一种负载均衡装置,其特征在于,包括:第一获取模块,被配置为每隔预设时间,获取一次分布式文件系统中每个数据服务器节点的当前磁盘用量;第二获取模块,被配置为根据每个数据服务器节点的当前磁盘用量,获取当前数据在每个数据服务器节点的分布状态,所述分布状态指示所述当前数据分布均衡或者指示所述当前数据分布不均衡...

【专利技术属性】
技术研发人员:周应超张森田竞云
申请(专利权)人:北京小米智能科技有限公司
类型:发明
国别省市:北京,11

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

1