发明内容
本发明的目的在于提供一种消息接入负载均衡方法及***,解决了现有技术存在的可靠性低、响应慢等问题。
本发明通过以下技术方案实现的:
一种消息接入负载均衡方法,具体包括以下步骤:
步骤S1,接收智能终端的请求消息;
步骤S2,解析智能终端的请求消息,确定智能终端所属的目标服务器节点群;
步骤S3,判断目标服务器节点群中的所有服务器节点是否已经满载,若是,则执行步骤S4,若不是,则执行步骤S5;
步骤S4,将智能终端的请求消息发送到离线服务器节点进行缓存,缓存预设的时间后,执行步骤S3;
步骤S5,依据负载均衡算法在没有处于满载状态的服务器节点中选择出最优服务器节点,并将智能终端的请求消息发送至最优服务器节点进行处理,最优服务器节点处理后返回应答消息至智能终端。
作为所述消息接入负载均衡方法的进一步可选方案,所述方法还包括:
步骤S6,实时监控目标服务器节点群中的每个服务器节点的满载情况,如果存在服务器节点处于满载状态,则将智能终端后续发送的请求消息缓存至离线服务器节点,当该服务器节点解除满载状态后再处理缓存在离线服务器节点的请求消息。
作为所述消息接入负载均衡方法的进一步可选方案,所述方法还包括:
步骤S7,实时监控目标服务器节点群中的每个服务器节点的故障情况,当检测到服务器节点发生故障时,将该服务器节点处理的请求消息切换至备用服务器节点,当该服务器节点故障接触后,再从备用服务器节点切换回该服务器节点。
作为所述消息接入负载均衡方法的进一步可选方案,所述步骤S5中依据负载均衡算法在没有处于满载状态的服务器节点中选择出最优服务器节点包括以下步骤:
步骤S51,计算每个没有处于满载状态的服务器节点的权重值;
步骤S52,依据权重值的大小确定最优服务器节点。
作为所述消息接入负载均衡方法的进一步可选方案,所述缓存至离线服务器节点的消息包括所有指定会话的消息、所有指定地市的消息和所有指定服务器节点的消息。
一种消息接入负载均衡***,包括:
接收单元,用于接收智能终端请求消息;
路由分发单元,用于解析接收到的智能终端请求消息;
消息流控单元,用于判断智能终端所属的所有服务器节点是否已经满载;
离线切换单元,用于将智能终端的请求消息发送至离线服务器节点进行缓存;
负载均衡单元,用于依据负载均衡算法计算出最优服务器节点;
发送单元,用于将最优服务器节点的应答消息发送至智能终端。
作为所述消息接入负载均衡***的进一步可选方案,所述***还包括:
会话管理单元,用于实时监控每个服务器节点的业务会话量,并实现每个服务器节点满载情况的判断。
作为所述消息接入负载均衡***的进一步可选方案,所述***还包括:
离线容灾单元,用于判断每个服务器节点的故障情况,并实现服务器节点与备用服务器节点之间的切换。
作为所述消息接入负载均衡***的进一步可选方案,所述负载均衡单元包括用于存储负载均衡算法的存储单元和用于判断权重值大小的判断单元。
作为所述消息接入负载均衡***的进一步可选方案,所述缓存至离线服务器节点的消息包括所有指定会话的消息、所有指定地市的消息和所有指定服务器节点的消息。
本发明的有益效果:
使用本发明方法及***,在通过解析智能终端的请求消息得到智能终端所属的目标服务器节点群后,先判断目标服务器节点群中的所有服务器节点是否满载,然后再决定是否将智能终端的请求消息发送至服务器节点,这样就能避免选取到还处于满载状态的服务器节点,能够提高访问的可靠性,提高用户的体验,同时,通过筛选出最优服务器节点后,再将智能终端的请求消息发送至该服务器节点,这样就能避免出现选取到的服务器节点没有分发到消息,需要从分发到消息的服务器节点再次获取消息的情况出现,提高了服务器节点的响应时间,也降低了服务器节点的处理负担。
具体实施方式
下面将结合附图以及具体实施例来详细说明本发明,在此以本发明的示意下面将结合附图以及具体实施例来详细说明本发明,在此以本发明的示意性实施例及说明用来解释本发明,但并不作为对本发明的限定。
如图1-2所示,一种消息接入负载均衡方法,具体包括以下步骤:
步骤S1,接收智能终端的请求消息;
步骤S2,解析智能终端的请求消息,确定智能终端所属的目标服务器节点群;
步骤S3,判断目标服务器节点群中的所有服务器节点是否已经满载,若是,则执行步骤S4,若不是,则执行步骤S5;
步骤S4,将智能终端的请求消息发送到离线服务器节点进行缓存,缓存预设的时间后,执行步骤S3;
步骤S5,依据负载均衡算法在没有处于满载状态的服务器节点中选择出最优服务器节点,并将智能终端的请求消息发送至最优服务器节点进行处理,最优服务器节点处理后返回应答消息至智能终端。
在本实施例中,在通过解析智能终端的请求消息得到智能终端所属的目标服务器节点群后,先判断目标服务器节点群中的所有服务器节点是否满载,然后再决定是否将智能终端的请求消息发送至服务器节点,这样就能避免选取到还处于满载状态的服务器节点,能够提高访问的可靠性,提高用户的体验,同时,通过筛选出最优服务器节点后,再将智能终端的请求消息发送至该服务器节点,这样就能避免出现选取到的服务器节点没有分发到消息,需要从分发到消息的服务器节点再次获取消息的情况出现,提高了服务器节点的响应时间,也降低了服务器节点的处理负担。
需要说明的是,当目标服务器节点群中的所有服务器节点都处于满载状态时,也可以通过后端服务器平台将目标服务器节点群附近的服务器节点分配暂时给该目标服务器节点群,当原来属于目标服务器节点群的服务器节点解除满载状态后,而且还有足够空间处理智能终端的请求消息,那就释放临时加进来该目标服务器节点群的服务器节点,通过这样的方式能够节约投资成本,减少资源浪费,同时不会影响业务运行;此外,所述负载均衡算法包括但不限于轮询算法和加权轮询算法。
优选的,所述方法还包括:
步骤S6,实时监控目标服务器节点群中的每个服务器节点的满载情况,如果存在服务器节点处于满载状态,则将智能终端后续发送的请求消息缓存至离线服务器节点,当该服务器节点解除满载状态后再处理缓存在离线服务器节点的请求消息。
在本实施例中,通过实时监控目标服务器节点群中的每个服务器节点的满载情况,当服务器节点接收的智能终端请求消息达到预设的阈值之后,将对后续上报的消息转发至离线服务器节点进行缓存,等待该服务器节点将先接收的智能终端请求消息处理好后,再从离线服务器节点获取智能终端后续上报的消息,然后进行处理,防止高峰期智能终端请求消息量满载而引起服务器节点的雪崩效应,从而实现对智能终端进行连接许可控制和过负荷控制。
优选的,所述方法还包括:
步骤S7,实时监控目标服务器节点群中的每个服务器节点的故障情况,当检测到服务器节点发生故障时,将该服务器节点处理的请求消息切换至备用服务器节点,当该服务器节点故障接触后,再从备用服务器节点切换回该服务器节点。
在本实施例中,通过实时监控目标服务器节点群中的每个服务器节点的故障情况,当服务器节点出现故障时,立马将该服务器节点所需要处理的智能终端的请求消息切换至备用服务器节点,能够保证智能终端的业务不被打断,提高用户的体验感,当该服务器节点故障修复后,再从备用服务器节点切换回来,能够降低使用备用服务器节点的时间,从而提高备用服务器节点的寿命。
优选的,所述步骤S5中依据负载均衡算法在没有处于满载状态的服务器节点中选择出最优服务器节点包括以下步骤:
步骤S51,计算每个没有处于满载状态的服务器节点的权重值;
步骤S52,依据权重值的大小确定最优服务器节点。
在本实施例中,每个服务器节点的权重值计算是根据服务器节点的请求消息数和应答消息数的差值和系数n所得,所述差值越少的内部服务器节点对应的权重数越大,若两个以上的内部分服务器节点对应相同的权重值,则从具有相同最少差值的内部服务器节点中随机进行选择,通过按照权重值大小选取服务器节点,能够有效判断出服务器节点的数据处理能力,权重值大表示数据处理能力好;需要说明的是,所述服务器节点的权重值即为服务器节点的优先级,权重值大表示服务器节点的优先级高。
优选的,所述缓存至离线服务器节点的消息包括所有指定会话的消息、所有指定地市的消息和所有指定服务器节点的消息。
一种消息接入负载均衡***,包括:
接收单元,用于接收智能终端请求消息;
路由分发单元,用于解析接收到的智能终端请求消息;
消息流控单元,用于判断智能终端所属的所有服务器节点是否已经满载;
离线切换单元,用于将智能终端的请求消息发送至离线服务器节点进行缓存;
负载均衡单元,用于依据负载均衡算法计算出最优服务器节点;
发送单元,用于将最优服务器节点的应答消息发送至智能终端。
在本实施例中,在通过解析智能终端的请求消息得到智能终端所属的目标服务器节点群后,先判断目标服务器节点群中的所有服务器节点是否满载,然后再决定是否将智能终端的请求消息发送至服务器节点,这样就能避免选取到还处于满载状态的服务器节点,能够提高访问的可靠性,提高用户的体验,同时,通过筛选出最优服务器节点后,再将智能终端的请求消息发送至该服务器节点,这样就能避免出现选取到的服务器节点没有分发到消息,需要从分发到消息的服务器节点再次获取消息的情况出现,提高了服务器节点的响应时间,也降低了服务器节点的处理负担。
需要说明的是,路由分发单元,用于解析接收到的智能终端请求消息中的关键信息,比如用户号码信息等,根据路由规则找到路由节点,对于找不到路由信息的号码都统一路由到默认节点,此外,还用于解析应答消息中的关键信息,比如会话ID等,根据会话ID通过分布式高速缓存查询相关路由信息,将路由信息和请求消息内容保存到分布式高速缓存,路由信息用于后续的应答消息原路返回;
消息流控单元,用于预设流控阈值,实时监控会话业务量,当会话业务量达到流控阈值,对后续上报的请求直接返回***繁忙,不再往服务器节点发送,可有效地防止由于业务量瞬间暴增的情况下引起服务器节点的雪崩效应,在业务量恢复正常水平时自动恢复正常处理业务。
优选的,所述***还包括:
会话管理单元,用于实时监控每个服务器节点的业务会话量,并实现每个服务器节点满载情况的判断。
在本实施例中,通过实时监控目标服务器节点群中的每个服务器节点的满载情况,当服务器节点接收的智能终端请求消息达到预设的阈值之后,将对后续上报的消息转发至离线服务器节点进行缓存,等待该服务器节点将先接收的智能终端请求消息处理好后,再从离线服务器节点获取智能终端后续上报的消息,然后进行处理,防止高峰期智能终端请求消息量满载而引起服务器节点的雪崩效应,从而实现对智能终端进行连接许可控制和过负荷控制。
需要说明的是,当监测到会话对应的一个内部服务器节点发生满载时,将所述会话均衡至其它内部服务器节点,当监测到会话对应的所有内部服务器节点都发生满载时,切换至离线模式。
优选的,所述***还包括:
离线容灾单元,用于判断每个服务器节点的故障情况,并实现服务器节点与备用服务器节点之间的切换。
在本实施例中,通过实时监控目标服务器节点群中的每个服务器节点的故障情况,当服务器节点出现故障时,立马将该服务器节点所需要处理的智能终端的请求消息切换至备用服务器节点,能够保证智能终端的业务不被打断,提高用户的体验感,当该服务器节点故障修复后,再从备用服务器节点切换回来,能够降低使用备用服务器节点的时间,从而提高备用服务器节点的寿命。
优选的,所述负载均衡单元包括用于存储负载均衡算法的存储单元和用于判断权重值大小的判断单元。
在本实施例中,每个服务器节点的权重值计算是根据服务器节点的请求消息数和应答消息数的差值和系数n所得,所述差值越少的内部服务器节点对应的权重数越大,若两个以上的内部分服务器节点对应相同的权重值,则从具有相同最少差值的内部服务器节点中随机进行选择,通过按照权重值大小选取服务器节点,能够有效判断出服务器节点的数据处理能力,权重值大表示数据处理能力好;需要说明的是,所述服务器节点的权重值即为服务器节点的优先级,权重值大表示服务器节点的优先级高。
优选的,所述缓存至离线服务器节点的消息包括所有指定会话的消息、所有指定地市的消息和所有指定服务器节点的消息。
以上对本发明实施例所提供的技术方案进行了详细介绍,本文中应用了具体个例对本发明实施例的原理以及实施方式进行了阐述,以上实施例的说明只适用于帮助理解本发明实施例的原理;同时,对于本领域的一般技术人员,依据本发明实施例,在具体实施方式以及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。