一种服务器负载管理方法及装置与流程

文档序号:12753153阅读:239来源:国知局
一种服务器负载管理方法及装置与流程

本发明涉及网络管理技术领域,特别涉及一种服务器负载管理方法及装置。



背景技术:

当前移动端推送服务,主要采用与移动端保持长连接实现,采用传统的服务器维护方法,运维人员发现服务器压力过大时,需要人力干预添加服务器,并发布。

由于移动端网络情况复杂,会产生长连接的高峰期(晚8点-10点)和低谷期(早1点-5点),且随着推送服务的移动端增多或减少,所需的服务节点的数量也在不断的变化,传统的运维方式增加了人力和电力成本,也可能导致服务器负荷过高引发服务不可用的情况。



技术实现要素:

本发明要解决的技术问题是提供一种服务器负载管理方法及装置,用以解决现有的运维方式增加了人力和电力成本,存在导致服务器负载过高引发服务不可用的问题。

为了解决上述技术问题,本发明实施例提供一种服务器负载管理方法,包括:

获取当前网络下所有服务器节点的长连接的移动端总数;

根据所述移动端总数,分析当前网络下服务器节点的负载承载状态;

根据所述负载承载状态,对连接到服务器节点的移动端进行调整;其中,所述负载承载状态包括:待添加服务器节点状态、需关闭部分服务器节点状态和分节点调整状态中的一种或多种。

本发明实施例提供一种服务器负载管理装置,包括:

获取模块,用于获取当前网络下所有服务器节点的长连接的移动端总数;

分析模块,用于根据所述移动端总数,分析当前网络下服务器节点的负载承载状态;

调整模块,用于根据所述负载承载状态,对连接到服务器节点的移动端进行调整;其中,所述负载承载状态包括:待添加服务器节点状态、需关闭部分服务器节点状态和分节点调整状态中的一种或多种。

本发明的有益效果是:

上述方案,通过利用移动端总数对服务器节点进行负载承载状态分析,再根据分析得到的负载承载状态,自动对连接到服务器节点的移动端进行调整,本发明实施例的网络运维方式节省了人力和电力成本,同时,避免了服务器负载过高的问题,提高了网络运行稳定性。

附图说明

图1表示本发明第一实施例的服务器负载管理方法的流程示意图;

图2表示本发明第二实施例的服务器负载管理方法的流程示意图;

图3表示在负载承载状态处于待添加服务器节点状态时,步骤26的实现流程示意图;

图4表示在负载承载状态处于需关闭部分服务器节点状态时,步骤26的实现流程示意图;

图5表示在负载承载状态处于分节点调整状态时,步骤26的实现流程示意图;

图6表示应用本发明实施例的服务器负载管理装置的推送服务系统的组成结构示意图;

图7表示服务器负载管理装置在推送服务系统的具体应用过程示意图;

图8为本发明第三实施例的服务器负载管理装置的结构示意图一;

图9为本发明第三实施例的服务器负载管理装置的结构示意图二;

图10为本发明第三实施例的服务器负载管理装置的结构示意图三;

图11为本发明第三实施例的服务器负载管理装置的结构示意图四。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明进行详细描述。

本发明针对现有的运维方式增加了人力和电力成本,存在导致服务器负载过高引发服务不可用的问题,提供一种服务器负载管理方法及装置。

第一实施例

如图1所示,本发明第一实施例的服务器负载管理方法,包括:

步骤11,获取当前网络下所有服务器节点的长连接的移动端总数。

需要说明的是,本步骤中获取的是当前网络下所有运行的服务器节点总共连接的移动端数量,本实施例中的服务器节点指的是用于保持移动端处于长连接状态,为移动端提供推送服务的服务器。

步骤12,根据所述移动端总数,分析当前网络下服务器节点的负载承载状态。

本步骤12主要是将网络当前连接的移动端总数与预先设定的网络服务可以承受的移动端个数进行比较,通过比较结果得到当前网络的负载承载状态,该负载承载状态主要包括:处于待添加服务器节点状态、处于需关闭部分服务器节点状态和处于分节点调整状态中的一种或多种。

步骤13,根据所述负载承载状态,对连接到服务器节点的移动端进行调整。

该步骤主要实现的是,根据分析得到的负载承载状态,对服务器节点连接的移动端进行调整,例如,可以是添加服务器节点到当前网络、关闭当前网络中开启的部分服务器节点或将一些服务器节点上连接的移动端连接到其他的服务器节点。

上述方案,通过利用移动端总数对服务器节点进行负载承载状态分析,再根据分析得到的负载承载状态,自动对连接到服务器节点的移动端进行调整,本发明实施例的网络运维方式节省了人力和电力成本,同时,避免了服务器负载过高的问题,提高了网络运行稳定性。

第二实施例

如图2所示,本发明第二实施例的服务器负载管理方法,包括:

步骤21,获取当前网络下每个服务器节点长连接的移动端个数。

需要说明的是,该实施例应用于服务器负载管理装置,该服务器负载管理装置分别与每个服务器节点进行连接,并采集每个服务器节点上长连接的移动端个数。

步骤22,根据所述移动端个数,获取当前网络下的处于长连接状态的移动端总数。

本步骤22主要实现的是,将每个服务器节点上的长连接的移动端个数进行累加求和,得到当前网络下处于长连接状态的移动端的总个数。

步骤23,若所述移动端总数大于最大连接阈值,则确定所述负载承载状态处于待添加服务器节点状态。

需要说明的是,若当前网络下连接的移动端总数已经超过了网络总体的连接最大值时,说明开启的服务器节点已经处于超负荷运行状态,此时需要增加服务器节点,以分担现有的服务器节点的工作负荷。

步骤24,若所述移动端总数小于最小连接阈值,则确定所述负载承载状态处于需关闭部分服务器节点状态。

需要说明的是,若当前网络下连接的移动端总数小于网络总体的连接最小值时,说明网络中当前的连接的移动端较少,若开启的服务器节点过多,会增加网络功耗,此时需要关闭一些服务器节点,以降低网络的功耗。

步骤25,若所述移动端总数大于或等于所述最小连接阈值且小于或等于所述最大连接阈值,则确定所述负载承载状态处于分节点调整状态。

需要说明的是,所述最小连接阈值应小于最大连接阈值。若所述移动端总数大于或等于所述最小连接阈值且小于或等于所述最大连接阈值,表明当前网络正处于正常运行状态,但是此时并不能说明每个运行的服务器节点的负载是均衡的,此时需要确定每个服务器节点是否处于正常运行状态。

步骤26,根据所述负载承载状态,对连接到服务器节点的移动端进行调整。

该步骤主要实现的是,根据分析得到的负载承载状态,对服务器节点的移动端进行调整,例如,可以是添加服务器节点到当前网络、关闭当前网络中开启的部分服务器或将一些服务器节点上连接的移动端连接到其他的服务器节点。

下面分别对在不同的负载承载状态下,步骤26的实现方式进行具体说明。

1、当所述负载承载状态处于待添加服务器节点状态时,如图3所示,所述步骤26在实现时,包括:

步骤261,确定需要添加的服务器节点的数量。

需要说明的是,本步骤中主要是根据公式:得到需要添加的服务器节点的数量;

其中,x表示需要添加的服务器节点的数量,n表示当前网络开启的服务器节点的总数,higth表示每个服务器节点处于最佳工作状态时的最大负载值,n×higth表示最大连接阈值,total表示移动端总数,表示向下取整函数,min{·}表示取最小值函数。

步骤262,若当前备用服务器节点数大于或等于所述数量,则在当前备用节点中打开所述数量的服务器节点。

步骤263,若当前备用服务器节点小于所述数量,则发送备用服务器节点个数不足的通知给管理员。

需要说明的是,因网络管理者会设定一定数量的备用服务器节点,当备用服务器节点数量够用的时候,直接打开上述步骤261中获取的所述数量的备用服务器节点即可;当设定的备用服务器节点数量不够用时,需要通知网络管理员进行备用服务器节点的添加。

2、当所述负载承载状态处于需关闭部分服务器节点状态时,如图4所示,所述步骤26在实现时,包括:

步骤264,确定需关闭的服务器节点的数量。

需要说明的是,本步骤中主要是根据公式:得到需关闭的服务器节点的数量;

其中,y表示需关闭的服务器节点的数量,n表示当前网络开启的服务器节点的总数,low表示每个服务器节点处于最佳工作状态时的最小负载值,且n×low表示最小连接阈值,total表示移动端总数,表示向下取整函数,min{·}表示取最小值函数。

步骤265,断开需关闭的服务器节点上连接的移动端,将所述移动端连接到处于开启状态的服务器节点上。

需要说明的是,网络中的服务器节点运行过多时,需要关闭部分服务器节点,以达到节约功耗的目的,因关闭的这些服务器节点上可能会连接有移动端,所以在关闭这些服务器节点时,先将其上连接的移动端连接到其他不关闭的服务器节点上,以保证移动端能正常接收到服务器节点的推送信息。

3、当所述负载承载状态处于分节点调整状态时,如图5所示,所述步骤26在实现时,包括:

步骤266,判断是否存在长连接的移动端个数大于服务器节点处于最佳工作状态时的最大负载值的第一服务器节点。

需要说明的是,若存在长连接的移动端个数大于服务器节点处于最佳工作状态时的最大负载值的服务器节点,则说明该服务器节点正处于超负荷运行的状态,此时需要将该服务器节点上的移动端进行相应的调整,以实现超负荷运行的服务器节点上的负载均衡。

步骤267,若存在所述第一服务器节点,则发送分流信息给所述第一服务器节点,使得所述第一服务器节点上第一预设个数的移动端连接到其他处于开启状态的服务器节点上。

需要说明的是,该第一预设个数等于长连接的移动端个数与服务器节点处于最佳工作状态时的最大负载值的差值。

下面对本发明实施例在实际应用中的实现过程进行举例说明如下:

如图6所示,应用本发明实施例的服务器负载管理装置的推送服务系统的组成包括:多个已开启的用于提供移动端长连接服务的长连接服务器节点,每个长连接服务器节点连接有多个移动端,多个长连接服务器节点由业务服务集群进行管理,由该业务服务集群进行数据的存储或缓存;本发明实施例中新增加的是服务器负载管理装置(也可以认为是调度服务模块),用于进行负载均衡的控制,同时该网络中还设置有多个备用服务器节点,用于在网络中服务器节点不够用时,及时的开启该备用服务器节点,多个备用服务器节点均与服务器负载管理装置连接。

如图7所示,该服务器负载管理装置在推送服务系统的具体应用过程为:

步骤71,服务器负载管理装置获取各长连接服务器节点的当前移动端的连接数。

假设当前运行的长连接服务器节点数为n,所有长连接服务器节点上的长连接总数为total。

步骤72,判断移动端的长连接总量是否低于最小连接阈值,若低于最小连接阈值,则执行步骤73。

步骤73,需要关闭y台长连接服务器节点,其中y为total>(n-y)*low中y的最小取值。从长连接服务器节点中选取y个长连接的移动端个数最少的长连接服务器节点,同步分流信息(服务器负载管理装置分配其它负载低的长连接服务器节点和指定连接数信息)和关闭节点信息到这y个长连接服务器节点。这y个长连接服务器节点通知移动端断开连接,重连到指定的其它负载低的长连接服务器节点,最终关闭这y个长连接服务器节点,并将关闭的这个y个长连接服务器节点添加到备用服务器节点列表中。

步骤74,判断移动端的长连接总量是否高于最大连接阈值,若高于最大连接阈值,则执行步骤75,否则执行步骤77。

步骤75,需要添加x台长连接服务器节点。x为total<(x+n)*high中x的最小取值,添加x个长连接服务器节点,在备用服务器节点大于需求数x的情况下,启动此x个备用服务器节点,此时网络中的长连接服务器节点数为n=x+n,并将刚启动的这x个备用服务器节点的长连接的移动端个数设置为0;如果可用的备用服务器节点数小于x,则执行步骤76。

步骤76,短信通知运维人员,添加备用服务器节点。

步骤77,在n*low<total<n*higth的情况下(或步骤74之后满足此条件),检查每台长连接服务器节点上的长连接的移动端的个数,假设此时长连接的移动端的个数为l,如果发现l>high则执行步骤78,否则结束服务器负载管理装置的工作。

步骤78,向长连接服务器节点同步分流信息,此长连接服务器节点通知l-high个移动端断开长连接,重连到指定的负载低的长连接服务器节点。

需要说明的是,步骤73和步骤75为互斥的步骤,且步骤72至步骤78为条件步骤,只有在满足条件的情况下,才会触发执行对应的步骤。本发明实施例中,服务器负载管理装置会定时重复步骤71至步骤78。

需要说明的是,本发明实施例通过服务器负载管理装置监控长连接服务器的负载情况,利用移动端总数对服务器节点进行负载承载状态分析,再根据分析得到的负载承载状态,对连接到服务器节点的移动端进行调整,实现长连接服务器节点的负载均衡,保障服务的高可用性,适应了移动端推送服务的长连接数量多变和长连接服务器的负载均衡需求;由此可知,本发明实施例实现了网络的自动化运维,减少人工干涉带来的滞后和风险,减少运维成本;可以动态调整长连接服务器节点,合理分配了服务器资源,节约了服务器资源、节约了电力,提高了网络运行稳定性。

第三实施例

如图8所示,为本发明实施例的服务器负载管理装置的结构示意图,下面就该图并结合图9至图11对基于该服务器负载管理方法的服务器负载管理装置进行具体说明。

本发明第三实施例提供一种服务器负载管理装置,包括:

获取模块81,用于获取当前网络下所有服务器节点的长连接的移动端总数;

分析模块82,用于根据所述移动端总数,分析当前网络下服务器节点的负载承载状态;

调整模块83,用于根据所述负载承载状态,对连接到服务器节点的移动端进行调整;其中,所述负载承载状态包括:待添加服务器节点状态、需关闭部分服务器节点状态和分节点调整状态中的一种或多种。

可选地,所述获取模块81包括:

第一获取单元811,用于获取当前网络下每个服务器节点长连接的移动端个数;

第二获取单元812,用于根据所述移动端个数,获取当前网络下的处于长连接状态的移动端总数。

可选地,所述分析模块82包括:

第一确定单元821,用于若所述移动端总数大于最大连接阈值,则确定所述负载承载状态处于待添加服务器节点状态;

第二确定单元822,用于若所述移动端总数小于最小连接阈值,则确定所述负载承载状态处于需关闭部分服务器节点状态;

第三确定单元823,用于若所述移动端总数大于或等于所述最小连接阈值且小于或等于所述最大连接阈值,则确定所述负载承载状态处于分节点调整状态。

可选地,当所述负载承载状态处于待添加服务器节点状态时,所述调整模块83包括:

第四确定单元831,用于确定需要添加的服务器节点的数量;

第一处理单元832,用于若当前备用服务器节点数大于或等于所述数量,则在当前备用节点中打开所述数量的服务器节点;

通知单元833,用于若当前备用服务器节点小于所述数量,则发送备用服务器节点个数不足的通知给管理员。

可选地,所述第四确定单元831用于:

根据公式:得到需要添加的服务器节点的数量;

其中,x表示需要添加的服务器节点的数量,n表示当前网络开启的服务器节点的总数,higth表示每个服务器节点处于最佳工作状态时的最大负载值,n×higth表示最大连接阈值,total表示移动端总数,表示向下取整函数,min{·}表示取最小值函数。

可选地,所述负载承载状态处于需关闭部分服务器节点状态时,所述调整模块83包括:

第五确定单元834,用于确定需关闭的服务器节点的数量;

第二处理单元835,用于断开需关闭的服务器节点上连接的移动端,将所述移动端连接到处于开启状态的服务器节点上。

可选地,其特征在于,所述第五确定单元834用于:

根据公式:得到需关闭的服务器节点的数量;

其中,y表示需关闭的服务器节点的数量,n表示当前网络开启的服务器节点的总数,low表示每个服务器节点处于最佳工作状态时的最小负载值,且n×low表示最小连接阈值,total表示移动端总数,表示向下取整函数,min{·}表示取最小值函数。

可选地,所述负载承载状态处于分节点调整状态时,所述调整模块83包括:

判断单元836,用于判断是否存在长连接的移动端个数大于服务器节点处于最佳工作状态时的最大负载值的第一服务器节点;

发送单元837,用于若存在所述第一服务器节点,则发送分流信息给所述第一服务器节点,使得所述第一服务器节点上第一预设个数的移动端连接到其他处于开启状态的服务器节点上。

可选地,所述第一预设个数等于长连接的移动端个数与服务器节点处于最佳工作状态时的最大负载值的差值。

需要说明的是,该装置实施例是与上述方法相对应的装置,上述方法的所有实现方式均适用于该装置实施例中,也能达到相同的技术效果。

以上所述的是本发明的优选实施方式,应当指出对于本技术领域的普通人员来说,在不脱离本发明所述的原理前提下还可以作出若干改进和润饰,这些改进和润饰也在本发明的保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1