【技术实现步骤摘要】
一种服务器动态负载均衡方法、装置及电子设备
[0001]本专利技术实施例涉及计算机
,尤其涉及一种服务器动态负载均衡方法、装置及电子设备。
技术介绍
[0002]传统的单台消息队列遥测传输(Message Queuing Telemetry Transport,MQTT)服务器处理能力已无法适应现代物联网的大量数据请求,所以需要部署服务器集群系统。当有大量的MQTT发布者和订阅者连接服务器端时,会使得发布者和订阅者与MQTT服务器的交互相当频繁,当MQTT服务器接收到大量的数据请求时,如果请求到达同一台MQTT服务器可能会出现宕机等现象。因此,对不同性能的MQTT服务器,如何给其分配最适合其性能的任务量,MQTT服务器的负载均衡显得尤为重要。
[0003]而目前的MQTT服务器使用的负载均衡器,其流量负载方案存在一些局限性,比如采用轮询算法或随机算法,导致对后端服务器节点无差别对待,可能存在性能差的服务节点负载反而大;采用轮询权值算法、IP哈希算法或普通哈希算法则考虑不到服务器节点的真实负载情况,有可能造成部分MQTT服务器过载;采用最小连接数算法虽然是动态负载策略,但评价指标过于单一,不能有效、实时的反映节点的负载状态;或者只把服务器机器的性能参数来计算负载权值,没有考虑MQTT自身状态信息,无法准确的做到MQTT服务器的负载均衡。
技术实现思路
[0004]本专利技术实施例提供一种服务器动态负载均衡方法、装置及电子设备,以解决现有的无法准确的做到MQTT服务器的负载均衡的问题。 />[0005]为了解决上述技术问题,本专利技术是这样实现的:
[0006]第一方面,本专利技术实施例提供了一种服务器动态负载均衡方法,包括:
[0007]获取MQTT服务器的性能数据和服务器资源利用情况数据,所述性能数据包括以下至少一项:客户端连接数和客户端是否设置自动重连,所述服务器资源利用情况包括以下至少一项:服务器的CPU利用率和服务器的内存利用率;
[0008]根据所述性能数据和服务器资源利用情况数据确定需要自动重连的客户端和执行对应的MQTT服务器的负载策略,所述负载策略包括获取资源利用情况有剩余的MQTT服务器信息供客户端进行重连。
[0009]可选的,所述性能数据还包括以下至少一项:单位时间收发消息数和单位时间报文总大小;
[0010]所述服务器资源利用情况还包括以下至少一项:服务器的剩余CPU和服务器的剩余内存。
[0011]可选的,所述根据所述性能数据和服务器资源利用情况数据确定需要自动重连的客户端和执行对应的MQTT服务器的负载策略,包括:
[0012]根据所述性能数据和所述服务器资源利用情况数据判断是否有需要自动重连的客户端;
[0013]若没有需要自动重连的客户端,则维持执行当前的MQTT服务器的负载策略;
[0014]若有需要自动重连的客户端,则确定需要自动重连的客户端,并对需要自动重连的客户端执行对应的MQTT服务器的负载策略。
[0015]可选的,所述根据所述性能数据和所述服务器资源利用情况数据判断是否有需要自动重连的客户端,包括:
[0016]获取所述性能数据和所述服务器资源利用情况数据对应的预设参数阈值;
[0017]判断所述性能数据和服务器资源利用情况数据中是否有参数达到对应的参数阈值;
[0018]若所述性能数据和服务器资源利用情况数据中没有参数达到对应的参数阈值,则没有需要自动重连的客户端;
[0019]若所述性能数据和服务器资源利用情况数据中有参数达到对应的参数阈值,则有需要自动重连的客户端。
[0020]可选的,所述若有需要自动重连的客户端,则确定需要自动重连的客户端,并对需要自动重连的客户端执行对应的MQTT服务器的负载策略,包括:
[0021]确定所有设置自动重连的客户端的数量占所有MQTT服务器的客户端连接数的比例;
[0022]若所述比例小于预设比例阈值,则对所有设置自动重连的客户端进行自动重连,其中,重连时选择服务器资源利用情况有剩余的MQTT服务器;
[0023]若所述比例不小于预设比例阈值,则将所述所有设置自动重连的客户端输入客户端排名模型,得到客户端排名;
[0024]根据所述客户端排名对所有设置自动重连的客户端中预设比例阈值数量的客户端进行自动重连,其中,重连时选择服务器资源利用情况有剩余的MQTT服务器。
[0025]可选的,还包括:
[0026]获取多个样本客户端信息,所述样本客户端信息包括所述样本客户端在多个负载周期中每个负载周期对应的控制报文信息和所述多个客户端的样本客户端排名;
[0027]将所述多个样本客户端信息输入待训练的客户端排名模型,所述客户端排名模型根据所述多个样本客户端信息得到预测的客户端排名;
[0028]根据所述预测的客户端排名和所述样本客户端排名进行比对,得到模型损失;
[0029]根据所述模型损失优化所述待训练的客户端排名模型的参数直到所述待训练的客户端排名模型的优化次数大于或等于预设的优化阈值或者模型损失小于或等于预设的损失阈值,得到训练后的客户端排名模型。
[0030]可选的,所述样本客户端在多个负载周期中每个负载周期对应的控制报文信息包括:所述样本客户端在多个负载周期中每个负载周期对应的控制报文数目和每个控制报文的控制报文长度;
[0031]所述将所述多个样本客户端信息输入待训练的客户端排名模型,所述客户端排名模型根据所述多个样本客户端信息得到预测的客户端排名,包括:
[0032]根据所述样本客户端在多个负载周期中每个负载周期对应的控制报文数目,得到
每个样本客户端在多个负载周期中每个负载周期的单位时间内对应的单位控制报文数目;
[0033]对每个样本客户端在多个负载周期对应的多个单位控制报文数目求平均值,得到每个样本客户端对应的平均控制报文数目,并将各个样本客户端对应的平均控制报文数目进行拼接,得到样本客户端对应的报文数目序列;
[0034]根据所述样本客户端对应的报文数目序列得到第一权重矩阵;
[0035]根据所述样本客户端在多个负载周期中每个负载周期对应的每个控制报文的控制报文长度,得到每个样本客户端在多个负载周期中每个负载周期对应的控制报文总长度;
[0036]对每个样本客户端在多个负载周期中每个负载周期对应的控制报文总长度求平均值,得到每个样本客户端对应的平均控制报文总长度,并将各个样本客户端对应的平均控制报文总长度进行拼接,得到样本客户端对应的报文长度序列;
[0037]根据所述样本客户端对应的报文长度序列得到第二权重矩阵;
[0038]根据所述第一权重矩阵和所述第二权重矩阵,得到总权重矩阵;
[0039]将所述总权重矩阵对应的客户端按照权重进行升序排序,得到样本客户端的预测的客户端排名。
[0040]第二方面,本专利技术实施例提供了一种服务器动态负载均衡装置,包本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种服务器动态负载均衡方法,其特征在于,包括:获取MQTT服务器的性能数据和服务器资源利用情况数据,所述性能数据包括以下至少一项:客户端连接数和客户端是否设置自动重连,所述服务器资源利用情况包括以下至少一项:服务器的CPU利用率和服务器的内存利用率;根据所述性能数据和服务器资源利用情况数据确定需要自动重连的客户端和执行对应的MQTT服务器的负载策略,所述负载策略包括获取资源利用情况有剩余的MQTT服务器信息供客户端进行重连。2.根据权利要求1所述的服务器动态负载均衡方法,其特征在于,所述性能数据还包括以下至少一项:单位时间收发消息数和单位时间报文总大小;所述服务器资源利用情况还包括以下至少一项:服务器的剩余CPU和服务器的剩余内存。3.根据权利要求1所述的服务器动态负载均衡方法,其特征在于,所述根据所述性能数据和服务器资源利用情况数据确定需要自动重连的客户端和执行对应的MQTT服务器的负载策略,包括:根据所述性能数据和所述服务器资源利用情况数据判断是否有需要自动重连的客户端;若没有需要自动重连的客户端,则维持执行当前的MQTT服务器的负载策略;若有需要自动重连的客户端,则确定需要自动重连的客户端,并对需要自动重连的客户端执行对应的MQTT服务器的负载策略。4.根据权利要求3所述的服务器动态负载均衡方法,其特征在于,所述根据所述性能数据和所述服务器资源利用情况数据判断是否有需要自动重连的客户端,包括:获取所述性能数据和所述服务器资源利用情况数据对应的预设参数阈值;判断所述性能数据和服务器资源利用情况数据中是否有参数达到对应的参数阈值;若所述性能数据和服务器资源利用情况数据中没有参数达到对应的参数阈值,则没有需要自动重连的客户端;若所述性能数据和服务器资源利用情况数据中有参数达到对应的参数阈值,则有需要自动重连的客户端。5.根据权利要求3所述的服务器动态负载均衡方法,其特征在于,所述若有需要自动重连的客户端,则确定需要自动重连的客户端,并对需要自动重连的客户端执行对应的MQTT服务器的负载策略,包括:确定所有设置自动重连的客户端的数量占所有MQTT服务器的客户端连接数的比例;若所述比例小于预设比例阈值,则对所有设置自动重连的客户端进行自动重连,其中,重连时选择服务器资源利用情况有剩余的MQTT服务器;若所述比例不小于预设比例阈值,则将所述所有设置自动重连的客户端输入客户端排名模型,得到客户端排名;根据所述客户端排名对所有设置自动重连的客户端中预设比例阈值数量的客户端进行自动重连,其中,重连时选择服务器资源利用情况有剩余的MQTT服务器。6.根据权利要求5所述的服务器动态负载均衡方法,其特征在于,还包括:获取多个样本客户端信息,所述样本客户端信息包括所述样本客户端在多个负载周期
中每个负载周期对应的控制报文信息和所述多个客户端的样本客户端排名;将所述多个样本客户端信息输入待训练的客户端排名模型,所述客...
【专利技术属性】
技术研发人员:申栋,
申请(专利权)人:中国移动通信集团有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。