CN109376013A - 负载均衡方法及装置 - Google Patents

负载均衡方法及装置 Download PDF

Info

Publication number
CN109376013A
CN109376013A CN201811181753.1A CN201811181753A CN109376013A CN 109376013 A CN109376013 A CN 109376013A CN 201811181753 A CN201811181753 A CN 201811181753A CN 109376013 A CN109376013 A CN 109376013A
Authority
CN
China
Prior art keywords
data server
server node
data
current data
difference
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.)
Granted
Application number
CN201811181753.1A
Other languages
English (en)
Other versions
CN109376013B (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.)
Beijing Xiaomi Intelligent Technology Co Ltd
Original Assignee
Beijing Xiaomi Intelligent Technology Co Ltd
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 Beijing Xiaomi Intelligent Technology Co Ltd filed Critical Beijing Xiaomi Intelligent Technology Co Ltd
Priority to CN201811181753.1A priority Critical patent/CN109376013B/zh
Publication of CN109376013A publication Critical patent/CN109376013A/zh
Application granted granted Critical
Publication of CN109376013B publication Critical patent/CN109376013B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

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

Description

负载均衡方法及装置
技术领域
本公开涉及分布式技术领域,尤其涉及一种负载均衡方法及装置。
背景技术
随着互联网技术的不断发展,分布式文件***的出现有效地解决了数据的存储和管理难题。分布式文件***一般由元数据服务器和数据服务器组成,元数据服务器存储分布式文件***的元数据,而数据服务器则存储分布式文件***的实际用户数据。在分布式文件***中,使用者通常会根据数据量的增长或减少情况动态的添加/删除数据服务器节点,因此数据服务器总的个数会发生变化,同时在使用过程中可能有节点磁盘损坏等情况导致数据服务器节点动态下线或者上线,这些情况会导致各个数据服务器节点之间的数据分布和访问量都不均衡,即导致数据服务器节点负载不均衡,影响业务的访问性能。
相关技术中,一般是通过分布式文件***中提供的均衡器来实现负载均衡,具体是由均衡器将数据在不同的数据服务器节点之间挪动,以达到数据服务器节点上空间消耗均衡的目的。均衡器一般由***管理员手动启动,当达到负载均衡后该均衡器运行结束。
然而,人工操作会有突发状况发生,比如***管理员忘记启动或者在均衡器工作过程中有临时性的网络故障发生等,会使得数据服务器节点长期处于不均衡的状态。
发明内容
为克服相关技术中存在的问题,本公开提供一种负载均衡方法及装置。所述技术方案如下:
根据本公开实施例的第一方面,提供一种负载均衡方法,包括:
每隔预设时间,获取一次分布式文件***中每个数据服务器节点的当前磁盘用量;
根据每个数据服务器节点的当前磁盘用量,获取当前数据在每个数据服务器节点的分布状态,所述分布状态指示所述当前数据分布均衡或者指示所述当前数据分布不均衡,所述当前数据为存储在每个数据服务器节点的数据;
当所述分布状态指示所述当前数据分布不均衡时,调用所述分布式文件***的均衡器执行负载均衡操作。
本公开的实施例提供的技术方案可以包括以下有益效果:通过每隔预设时间获取一次分布式文件***中每个数据服务器节点的当前磁盘用量,根据每个数据服务器节点的当前磁盘用量获取当前数据在每个数据服务器节点的分布状态,当分布状态指示当前数据分布不均衡时,调用分布式文件***的均衡器执行负载均衡操作,从而可实现周期性地进行负载均衡,避免人工操作带来的问题,降低人工管理成本,且能在均衡器运行失败时自动重新运行。
进一步地,所述方法还包括:
当所述分布状态指示所述当前数据分布均衡时,在所述预设时间内休眠。
进一步地,所述根据每个数据服务器节点的当前磁盘用量确定当前数据分布是否均衡,包括:
计算所有数据服务器节点的当前磁盘用量的方差,所述方差为所述分布状态;
所述方差大于第一预设阈值时,所述当前数据分布不均衡,所述方差小于所述第一预设阈值时,所述当前数据分布均衡。
本公开的实施例提供的技术方案可以包括以下有益效果:通过每隔预设时间获取一次分布式文件***中每个数据服务器节点的当前磁盘用量,将所有数据服务器节点的当前磁盘用量的方差作为分布状态,根据方差和第一预设阈值确定当前数据分布不均衡时,调用分布式文件***的均衡器执行负载均衡操作,从而可实现周期性地进行负载均衡,避免人工操作带来的问题,降低人工管理成本,且能在均衡器运行失败时自动重新运行。
进一步地,所述根据每个数据服务器节点的当前磁盘用量确定当前数据分布是否均衡,包括:
计算所有数据服务器节点的当前磁盘用量的平均值;
计算每个数据服务器节点的当前磁盘用量与所述平均值之间的差值,并计算所述差值最大的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个数据服务器节点和Q个数据服务器节点之间进行挪动。
根据本公开实施例的第三方面,提供一种负载均衡装置,包括:
处理器;
用于存储所述处理器的可执行指令的存储器;
其中,所述处理器被配置为:
每隔预设时间,获取一次分布式文件***中每个数据服务器节点的当前磁盘用量;
根据每个数据服务器节点的当前磁盘用量,获取当前数据在每个数据服务器节点的分布状态,所述分布状态指示所述当前数据分布均衡或者指示所述当前数据分布不均衡,所述当前数据为存储在每个数据服务器节点的数据;
当所述分布状态指示所述当前数据分布不均衡时,调用所述分布式文件***的均衡器执行负载均衡操作。
根据本公开实施例的第四方面,提供一种可读存储介质,所述可读存储介质中存储有计算机程序,当负载均衡装置的至少一个处理器执行所述计算机程序时,所述负载均衡装置执行第一方面所述的方法。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的一种负载均衡方法的流程图。
图2是根据一示例性实施例示出的一种负载均衡方法的流程图。
图3是根据一示例性实施例示出的一种负载均衡方法的流程图。
图4是根据一示例性实施例示出的一种负载均衡装置的框图。
图5是根据一示例性实施例示出的一种负载均衡装置的框图。
图6是根据一示例性实施例示出的一种负载均衡装置的框图。
图7是根据一示例性实施例示出的一种负载均衡装置的框图。
通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种负载均衡方法的流程图,本实施例以该负载均衡方法应用于分布式文件***中来举例说明。该负载均衡方法可以包括如下步骤。
在步骤S11中,每隔预设时间,获取一次分布式文件***中每个数据服务器节点的当前磁盘用量。
具体地,本实施例中是周期性进行负载均衡,预设时间例如是1分钟或2分钟等,具预设时间具体可根据分布式文件***所需进行负载均衡调整的实际时间实验测定等。
在步骤S12中,根据每个数据服务器节点的当前磁盘用量,获取当前数据在每个数据服务器节点的分布状态,分布状态指示当前数据分布均衡或者指示当前数据分布不均衡,当前数据为存储在每个数据服务器节点的数据。
具体地,如何获取当前数据在每个数据服务器节点的分布状态,本实施例中有两种可实施的方式,作为一种可实施的方式,S12可以为:
S121、计算所有数据服务器节点的当前磁盘用量的方差,方差为分布状态。
方差S具体可以是通过如下公式计算得到:
其中,
其中,x1、x2……xn每一个数据服务器节点的当前磁盘用量。
S122、方差大于第一预设阈值时,当前数据分布不均衡,方差小于第一预设阈值时,当前数据分布均衡。
作为另一种可实施的方式,S12可以为:
S121’、计算所有数据服务器节点的当前磁盘用量的平均值。
具体地,
S122’、计算每个数据服务器节点的当前磁盘用量与平均值之间的差值,并计算差值最大的N个数据服务器节点的总的磁盘用量X和差值最小的M个数据服务器节点的总的磁盘用量Y,N和M为预设正整数。
具体地,计算出每个数据服务器节点的当前磁盘用量与平均值之间的差值之后,可以按照差值从大到小的顺序或从小到大的顺序对所有数据服务器节点进行排序,根据排序结果选取差值最大的N个数据服务器节点和差值最小的M个数据服务器节点,N和M为预设的正整数,N和M例如为总的数据服务器节点的1%。接着计算出N个数据服务器节点的总的磁盘用量X和M个数据服务器节点的总的磁盘用量Y。
S123’、X与Y之间的差值为分布状态,X与Y之间的差值大于第二预设阈值时,当前数据分布不均衡,X与Y之间的差值小于第二预设阈值时,当前数据分布均衡。
具体地,第二预设阈值例如为所有数据服务器节点的磁盘空间的总和的小数倍,例如所有数据服务器节点的磁盘空间的总和为Q,第二预设阈值为0.4Q或0.5Q等。
在步骤S13中,当分布状态指示当前数据分布不均衡时,调用分布式文件***的均衡器执行负载均衡操作。
具体地,当前数据分布不均衡时,调用分布式文件***的均衡器执行负载均衡操作,可以是直接启动均衡器自主执行负载均衡操作,也可以启动均衡器后指示均衡器将数据在哪些数据服务器节点之间挪动。
可选的,在调用分布式文件***的均衡器执行负载均衡操作之前,本实施例的方法还可以包括:
S14、计算所有数据服务器节点的当前磁盘用量的平均值。
S15、计算每个数据服务器节点的当前磁盘用量与平均值之间的差值,选取差值最大的P个数据服务器节点和差值最小的Q个数据服务器节点,P和Q为预设正整数。
此时S13可以为:调用均衡器将数据在P个数据服务器节点和Q个数据服务器节点之间进行挪动。
具体可以是计算出每个数据服务器节点的当前磁盘用量与平均值之间的差值之后,可以按照差值从大到小的顺序或从小到大的顺序对所有数据服务器节点进行排序,根据排序结果选取差值最大的P个数据服务器节点和差值最小的Q个数据服务器节点。然后指示均衡器将数据在P个数据服务器节点和Q个数据服务器节点之间进行挪动。
需要说明的是,若S12中采用的是根据所有数据服务器节点的当前磁盘用量的方差和第一预设阈值确定的当前数据分布是否均衡,则需要通过上述S14和S15得到P个数据服务器节点和Q个数据服务器节点,若S12中采用的是上述另一种方式确定的当前数据分布是否均衡,则不需要通过S14和S15得到P个数据服务器节点和Q个数据服务器节点,该方式中已经得到了按照差值从大到小的顺序或从小到大的顺序对所有数据服务器节点排序的结果,因此可直接选取P个数据服务器节点和Q个数据服务器节点。
可选的,本实施例的方法还可以包括:
当分布状态指示当前数据分布不均衡时,在预设时间内休眠。
本实施例中,是周期性对分布式文件***进行负载均衡,分布状态指示当前数据分布不均衡时,调用均衡器执行负载均衡操作,在预设时间后,再次执行上述S11-S13,分布状态指示当前数据分布均衡时,休眠预设时间后,再次执行上述S11-S13。从而周期性地对分布式文件***进行负载均衡。
综上所述,本实施例提供的负载均衡方法,通过每隔预设时间获取一次分布式文件***中每个数据服务器节点的当前磁盘用量,根据每个数据服务器节点的当前磁盘用量获取当前数据在每个数据服务器节点的分布状态,当分布状态指示当前数据分布不均衡时,调用分布式文件***的均衡器执行负载均衡操作,从而可实现周期性地进行负载均衡,避免人工操作带来的问题,降低人工管理成本,且能在均衡器运行失败时自动重新运行。
图2是根据一示例性实施例示出的一种负载均衡方法的流程图,本实施例以该负载均衡方法应用于分布式文件***中来举例说明。该负载均衡方法可以包括如下步骤。
在步骤S21中,获取分布式文件***中每个数据服务器节点的当前磁盘用量。
在步骤S22中,计算所有数据服务器节点的当前磁盘用量的方差,方差为当前数据在每个数据服务器节点的分布状态。
在步骤S23中,判定方差是否大于第一预设阈值。
若是,则当前数据分布不均衡,则执行S24;若否,则当前数据分布均衡,则执行S25。
在步骤S24中,调用分布式文件***的均衡器执行负载均衡操作。
具体地,可以是直接启动均衡器自主执行负载均衡操作,也可以启动均衡器后指示均衡器将数据在哪些数据服务器节点之间挪动。具体可以包括:
S241、计算所有数据服务器节点的当前磁盘用量的平均值。
S242、计算每个数据服务器节点的当前磁盘用量与平均值之间的差值,选取差值最大的P个数据服务器节点和差值最小的Q个数据服务器节点,P和Q为预设正整数。
S243、调用均衡器将数据在P个数据服务器节点和Q个数据服务器节点之间进行挪动。
在步骤S25中,在预设时间内休眠。即就是等待预设时间。
在S24之后,预设时间后返回执行S21,S25之后返回执行S21。
综上所述,本实施例提供的负载均衡方法,通过每隔预设时间获取一次分布式文件***中每个数据服务器节点的当前磁盘用量,将所有数据服务器节点的当前磁盘用量的方差作为分布状态,根据方差和第一预设阈值确定当前数据分布不均衡时,调用分布式文件***的均衡器执行负载均衡操作,从而可实现周期性地进行负载均衡,避免人工操作带来的问题,降低人工管理成本,且能在均衡器运行失败时自动重新运行。
图3是根据一示例性实施例示出的一种负载均衡方法的流程图,本实施例以该负载均衡方法应用于分布式文件***中来举例说明。该负载均衡方法可以包括如下步骤。
在步骤S31中,获取分布式文件***中每个数据服务器节点的当前磁盘用量。
在步骤S32中,计算所有数据服务器节点的当前磁盘用量的平均值。
在步骤S33中,计算每个数据服务器节点的当前磁盘用量与平均值之间的差值,并计算差值最大的N个数据服务器节点的总的磁盘用量X和差值最小的M个数据服务器节点的总的磁盘用量Y,N和M为预设正整数。
在步骤S34中,X与Y之间的差值为当前数据在每个数据服务器节点的分布状态,判定X与Y之间的差值是否大于第二预设阈值。
若是,则当前数据分布不均衡,则执行S35;若否,则当前数据分布均衡,则执行S36。
在步骤S35中,调用分布式文件***的均衡器执行负载均衡操作。
具体地,可以是直接启动均衡器自主执行负载均衡操作,也可以启动均衡器后指示均衡器将数据在哪些数据服务器节点之间挪动。具体可以是根据S33中得到的按照差值从大到小的顺序或从小到大的顺序对所有数据服务器节点排序的结果,直接选取差值最大的P个数据服务器节点和差值最小的Q个数据服务器节点,P和Q为预设正整数。接着调用均衡器将数据在P个数据服务器节点和Q个数据服务器节点之间进行挪动。
在步骤S36中,在预设时间内休眠。
在S35之后,预设时间后返回执行S31,S36之后返回执行S31。
综上所述,本实施例提供的负载均衡方法,通过每隔预设时间获取一次分布式文件***中每个数据服务器节点的当前磁盘用量,计算每个数据服务器节点的当前磁盘用量与所有数据服务器节点的当前磁盘用量的平均值之间的差值,并计算差值最大的N个数据服务器节点的总的磁盘用量X和差值最小的M个数据服务器节点的总的磁盘用量Y,将X与Y之间的差值作为分布状态,根据X与Y之间的差值和第二预设阈值确定当前数据分布不均衡时,调用分布式文件***的均衡器执行负载均衡操作,从而可实现周期性地进行负载均衡,避免人工操作带来的问题,降低人工管理成本,且能在均衡器运行失败时自动重新运行。
下述为本公开装置实施例,可以用于执行本公开方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。
图4是根据一示例性实施例示出的一种负载均衡装置的框图。该负载均衡装置可以通过软件、硬件或者两者的结合实现。参照图4,该装置包括:第一获取模块11、第二获取模块12和第一处理模块13,其中,
第一获取模块11被配置为每隔预设时间,获取一次分布式文件***中每个数据服务器节点的当前磁盘用量。
第二获取模块12被配置为根据每个数据服务器节点的当前磁盘用量,获取当前数据在每个数据服务器节点的分布状态,所述分布状态指示所述当前数据分布均衡或者指示所述当前数据分布不均衡,所述当前数据为存储在每个数据服务器节点的数据。
第一处理模块13被配置为当所述分布状态指示所述当前数据分布不均衡时,调用所述分布式文件***的均衡器执行负载均衡操作。
综上所述,本实施例提供的负载均衡装置,通过第一获取模块每隔预设时间获取一次分布式文件***中每个数据服务器节点的当前磁盘用量,第二获取模块根据每个数据服务器节点的当前磁盘用量,获取当前数据在每个数据服务器节点的分布状态,第一处理模块在分布状态指示当前数据分布不均衡时,调用分布式文件***的均衡器执行负载均衡操作,从而可实现周期性地进行负载均衡,避免人工操作带来的问题,降低人工管理成本,且能在均衡器运行失败时自动重新运行。
图5是根据一示例性实施例示出的一种负载均衡装置的框图。如图5所示,本实施例的装置在图4所示装置的基础上,进一步地,还可以包括:第二处理模块14,该第二处理模块14被配置为当所述分布状态指示所述当前数据分布均衡时,在所述预设时间内休眠。
可选的,第二获取模块12被具体配置为:
计算所有数据服务器节点的当前磁盘用量的方差,所述方差为所述分布状态;
所述方差大于第一预设阈值时,所述当前数据分布不均衡,所述方差小于所述第一预设阈值时,所述当前数据分布均衡。
可选的,第二获取模块12被具体配置为:
计算所有数据服务器节点的当前磁盘用量的平均值;
计算每个数据服务器节点的当前磁盘用量与所述平均值之间的差值,并计算所述差值最大的N个数据服务器节点的总的磁盘用量X和所述差值最小的M个数据服务器节点的总的磁盘用量Y,N和M为预设正整数;
所述X与Y之间的差值为所述分布状态,所述X与Y之间的差值大于第二预设阈值时,所述当前数据分布不均衡,所述X与Y之间的差值小于所述第二预设阈值时,所述当前数据分布均衡。
图6是根据一示例性实施例示出的一种负载均衡装置的框图。如图6所示,本实施例的装置在图4或图5所示装置的基础上,进一步地,还可以包括:
计算模块15,被配置为计算所有数据服务器节点的当前磁盘用量的平均值;
计算每个数据服务器节点的当前磁盘用量与所述平均值之间的差值,选取所述差值最大的P个数据服务器节点和差值最小的Q个数据服务器节点,P和Q为预设正整数;
所述第一处理模块13被具体配置为:
调用所述均衡器将数据在P个数据服务器节点和Q个数据服务器节点之间进行挪动。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图7是根据一示例性实施例示出的一种负载均衡装置的框图。例如,负载均衡装置800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图7,负载均衡装置800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)接口812,传感器组件814,以及通信组件816。
处理组件802通常控制负载均衡装置800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在装置800的操作。这些数据的示例包括用于在装置800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为装置800的各种组件提供电力。电源组件806可以包括电源管理***,一个或多个电源,及其他与为装置800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述装置800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当装置800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜***或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当装置800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和***接口模块之间提供接口,上述***接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为装置800提供各个方面的状态评估。例如,传感器组件814可以检测到装置800的打开/关闭状态,组件的相对定位,例如所述组件为装置800的显示器和小键盘,传感器组件814还可以检测装置800或装置800一个组件的位置改变,用户与装置800接触的存在或不存在,装置800方位或加速/减速和装置800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于装置800和其他设备之间有线或无线方式的通信。装置800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理***的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由装置800的处理器820执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由负载均衡装置800的处理器820执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求书指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求书来限制。

Claims (12)

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.一种负载均衡装置,其特征在于,包括:
第一获取模块,被配置为每隔预设时间,获取一次分布式文件***中每个数据服务器节点的当前磁盘用量;
第二获取模块,被配置为根据每个数据服务器节点的当前磁盘用量,获取当前数据在每个数据服务器节点的分布状态,所述分布状态指示所述当前数据分布均衡或者指示所述当前数据分布不均衡,所述当前数据为存储在每个数据服务器节点的数据;
第一处理模块,被配置为当所述分布状态指示所述当前数据分布不均衡时,调用所述分布式文件***的均衡器执行负载均衡操作。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
第二处理模块,被配置为当所述分布状态指示所述当前数据分布均衡时,在所述预设时间内休眠。
8.根据权利要求6所述的装置,其特征在于,所述第二获取模块被具体配置为:
计算所有数据服务器节点的当前磁盘用量的方差,所述方差为所述分布状态;
所述方差大于第一预设阈值时,所述当前数据分布不均衡,所述方差小于所述第一预设阈值时,所述当前数据分布均衡。
9.根据权利要求6所述的装置,其特征在于,所述第二获取模块被具体配置为:
计算所有数据服务器节点的当前磁盘用量的平均值;
计算每个数据服务器节点的当前磁盘用量与所述平均值之间的差值,并计算所述差值最大的N个数据服务器节点的总的磁盘用量X和所述差值最小的M个数据服务器节点的总的磁盘用量Y,N和M为预设正整数;
所述X与Y之间的差值为所述分布状态,所述X与Y之间的差值大于第二预设阈值时,所述当前数据分布不均衡,所述X与Y之间的差值小于所述第二预设阈值时,所述当前数据分布均衡。
10.根据权利要求6-9任一项所述的装置,其特征在于,所述装置还包括:
计算模块,被配置为计算所有数据服务器节点的当前磁盘用量的平均值;
计算每个数据服务器节点的当前磁盘用量与所述平均值之间的差值,选取所述差值最大的P个数据服务器节点和差值最小的Q个数据服务器节点,P和Q为预设正整数;
所述第一处理模块被具体配置为:
调用所述均衡器将数据在P个数据服务器节点和Q个数据服务器节点之间进行挪动。
11.一种负载均衡装置,其特征在于,包括:
处理器;
用于存储所述处理器的可执行指令的存储器;
其中,所述处理器被配置为:
每隔预设时间,获取一次分布式文件***中每个数据服务器节点的当前磁盘用量;
根据每个数据服务器节点的当前磁盘用量,获取当前数据在每个数据服务器节点的分布状态,所述分布状态指示所述当前数据分布均衡或者指示所述当前数据分布不均衡,所述当前数据为存储在每个数据服务器节点的数据;
当所述分布状态指示所述当前数据分布不均衡时,调用所述分布式文件***的均衡器执行负载均衡操作。
12.一种可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序,当负载均衡装置的至少一个处理器执行所述计算机程序时,所述负载均衡装置执行权利要求1~5任一项所述的方法。
CN201811181753.1A 2018-10-11 2018-10-11 负载均衡方法及装置 Active CN109376013B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811181753.1A CN109376013B (zh) 2018-10-11 2018-10-11 负载均衡方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811181753.1A CN109376013B (zh) 2018-10-11 2018-10-11 负载均衡方法及装置

Publications (2)

Publication Number Publication Date
CN109376013A true CN109376013A (zh) 2019-02-22
CN109376013B CN109376013B (zh) 2020-12-15

Family

ID=65402907

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811181753.1A Active CN109376013B (zh) 2018-10-11 2018-10-11 负载均衡方法及装置

Country Status (1)

Country Link
CN (1) CN109376013B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110321225A (zh) * 2019-07-08 2019-10-11 腾讯科技(深圳)有限公司 负载均衡方法、元数据服务器及计算机可读存储介质
CN112328171A (zh) * 2020-10-23 2021-02-05 苏州元核云技术有限公司 数据分布预测方法、数据均衡方法、设备及存储介质
CN113778727A (zh) * 2020-06-19 2021-12-10 北京沃东天骏信息技术有限公司 数据处理方法及装置、电子设备和计算机可读存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102244685A (zh) * 2011-08-11 2011-11-16 中国科学院软件研究所 一种支持负载均衡的分布式缓存动态伸缩方法及***
US20140173624A1 (en) * 2012-12-17 2014-06-19 Empire Technology Development Llc Load balancing scheme
CN104978236A (zh) * 2015-07-07 2015-10-14 四川大学 一种基于多衡量指标的hdfs负载源宿节点选取方法
CN105704255A (zh) * 2016-04-29 2016-06-22 浙江理工大学 一种基于遗传算法的服务器负载均衡方法
CN106254516A (zh) * 2016-08-31 2016-12-21 北京小米移动软件有限公司 负载均衡方法及装置
CN106411733A (zh) * 2016-09-08 2017-02-15 重庆邮电大学 一种基于链路实时负载的sdn动态负载均衡调度方法
US9600553B1 (en) * 2014-05-31 2017-03-21 Veritas Technologies Llc Distributed replication in cluster environments
CN107231421A (zh) * 2017-05-27 2017-10-03 北京力尊信通科技股份有限公司 一种虚拟机计算能力动态调整方法、装置以及***
CN107911470A (zh) * 2017-11-30 2018-04-13 掌阅科技股份有限公司 分布式动态负载均衡方法、计算设备及计算机存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102244685A (zh) * 2011-08-11 2011-11-16 中国科学院软件研究所 一种支持负载均衡的分布式缓存动态伸缩方法及***
US20140173624A1 (en) * 2012-12-17 2014-06-19 Empire Technology Development Llc Load balancing scheme
US9600553B1 (en) * 2014-05-31 2017-03-21 Veritas Technologies Llc Distributed replication in cluster environments
CN104978236A (zh) * 2015-07-07 2015-10-14 四川大学 一种基于多衡量指标的hdfs负载源宿节点选取方法
CN105704255A (zh) * 2016-04-29 2016-06-22 浙江理工大学 一种基于遗传算法的服务器负载均衡方法
CN106254516A (zh) * 2016-08-31 2016-12-21 北京小米移动软件有限公司 负载均衡方法及装置
CN106411733A (zh) * 2016-09-08 2017-02-15 重庆邮电大学 一种基于链路实时负载的sdn动态负载均衡调度方法
CN107231421A (zh) * 2017-05-27 2017-10-03 北京力尊信通科技股份有限公司 一种虚拟机计算能力动态调整方法、装置以及***
CN107911470A (zh) * 2017-11-30 2018-04-13 掌阅科技股份有限公司 分布式动态负载均衡方法、计算设备及计算机存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
朱敏炯: "基于SDN的负载均衡算法研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110321225A (zh) * 2019-07-08 2019-10-11 腾讯科技(深圳)有限公司 负载均衡方法、元数据服务器及计算机可读存储介质
CN110321225B (zh) * 2019-07-08 2021-04-30 腾讯科技(深圳)有限公司 负载均衡方法、元数据服务器及计算机可读存储介质
CN113778727A (zh) * 2020-06-19 2021-12-10 北京沃东天骏信息技术有限公司 数据处理方法及装置、电子设备和计算机可读存储介质
CN112328171A (zh) * 2020-10-23 2021-02-05 苏州元核云技术有限公司 数据分布预测方法、数据均衡方法、设备及存储介质
CN112328171B (zh) * 2020-10-23 2024-04-30 苏州元核云技术有限公司 数据分布预测方法、数据均衡方法、设备及存储介质

Also Published As

Publication number Publication date
CN109376013B (zh) 2020-12-15

Similar Documents

Publication Publication Date Title
EP4109827A1 (en) Group display method and device
CN110633151A (zh) 分布式发布消息集群分区平衡的方法、装置及存储介质
CN109658927A (zh) 智能设备的唤醒处理方法、装置及管理设备
EP3779968A1 (en) Audio processing
US10334282B2 (en) Methods and devices for live broadcasting based on live broadcasting application
CN105302615B (zh) 软件升级方法与装置
CN106250430A (zh) 智能设备列表的排序方法及装置
CN109376013A (zh) 负载均衡方法及装置
CN105898032A (zh) 提示音的调整方法和装置
CN104636453A (zh) 非法用户资料识别方法及装置
CN109951379A (zh) 消息处理方法及装置
CN109376771A (zh) 应用程序分类方法及装置
RU2665300C2 (ru) Способ и устройство для обработки точечной отчетности сенсорного экрана
CN109388699A (zh) 输入方法、装置、设备及存储介质
CN109951701A (zh) 监控故障处理方法及装置
CN105357388B (zh) 一种信息推荐的方法及电子设备
CN106210247A (zh) 终端控制方法及装置
CN105391620B (zh) 信息提示方法及装置
CN106790909A (zh) 联系人显示方法及装置
CN109710152A (zh) 一种事件处理方法、装置及存储介质
CN109586951A (zh) 实施故障转移的方法、装置、电子设备及可读存储介质
CN106657573B (zh) 提示方法及装置
CN109120793A (zh) 语音处理方法及装置
CN105516466B (zh) 调用界面的方法及装置
CN111354356B (zh) 一种语音数据处理方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant