一种基于SNMP的健康检查代理中心及其运行方法与流程
- 国知局
- 2024-11-06 14:43:50
本发明涉及计算机,尤其涉及一种基于snmp的健康检查代理中心及其运行方法。
背景技术:
1、随着互联网应用的流量越来越大,服务器的负载也越来越高。在集群中,负载均衡技术通过合理的分发请求,将网络流量平均分配到多个服务器,进一步实现系统的高性能与高可用性。在负载均衡技术的实现中,lvs和keepalived是两个常用的技术。前者在linux内核层面实现了负载均衡功能,后者则实现了故障检测和自动切换的机制,从而保证系统服务的连续可用性。
2、通常,执行负载均衡功能的服务器(简称负载均衡器)会周期性获取后端服务器的状态参数,并进行相关的健康检查操作,从而选择最优的后端服务器对象进行请求转发。负载均衡器往往会使用tcp、http/https、icmp等方法轮询请求后端服务器来进行健康检查。无论采用哪种方法,当后端服务器的数量十分庞大时,负载均衡器周期性地轮询请求所有后端服务器进行健康检查的操作,必然会使负载均衡器的性能得到损耗,进一步降低请求分发的效率。
技术实现思路
1、本部分的目的在于概述本发明的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本申请的说明书摘要和发明名称中可能会做些简化或省略以避免使本部分、说明书摘要和发明名称的目的模糊,而这种简化或省略不能用于限制本发明的范围。
2、为解决上述技术问题,本发明提供如下技术方案:一种基于snmp的健康检查代理中心,包括:
3、snmp请求模块,所述snmp请求模块用于发送snmp get请求操作到所有的后端服务器中,获取后端服务器的状态参数;
4、计算存储模块,所述计算存储模块用于更新本地后端服务器的状态参数列表,执行健康检查算法,计算当前最优性能的后端服务器对象;
5、响应模块,所述响应模块用于监听负载均衡器的请求操作,响应请求返回最优后端服务器对象;
6、负载均衡器,所述负载均衡器包括请求模块,负责进行http请求操作,用于从健康检查代理中心请求获取当前最优性能的后端服务器对象;
7、后端服务器,所述后端服务器包括snmp代理模块,用于接收健康检查代理中心的snmp get请求,获取设备的状态信息结果并返回。
8、作为本发明所述基于snmp的健康检查代理中心的一种优选方案,其中:所述后端服务器的状态参数包括服务进程状态、cpu使用率以及内存使用率。
9、作为本发明所述基于snmp的健康检查代理中心的一种优选方案,其中:所述负载均衡器的请求模块支持http和https协议。
10、作为本发明所述基于snmp的健康检查代理中心的一种优选方案,其中:所述负载均衡器还包括故障转移模块,用于在检测到后端服务器故障时,自动切换到其他健康的后端服务器。
11、作为本发明所述基于snmp的健康检查代理中心的一种优选方案,其中:所述snmp请求模块支持snmp v2c和snmp v3协议。
12、作为本发明所述基于snmp的健康检查代理中心的一种优选方案,其中:所述snmp请求模块能够以设定的时间间隔定时发送snmp get请求。
13、作为本发明所述基于snmp的健康检查代理中心的一种优选方案,其中:所述健康检查算法的计算方法包括以下步骤:
14、s1:在维护的后端服务器状态参数列表中,存放n个后端服务器状态参数,通过对这些状态参数指标来进行评分,令分数为s,当分数s越高,代表后端服务器的性能越高;
15、s2:设单个服务器中每个状态参数值为ni(1≤i≤n),并且根据重要程度为每个状态参数匹配权重wi(0<wi<1,1≤i≤n);
16、s3:若后端服务器宕机或者发生服务中断故障时,s=0;若后端服务器正常运转,则其分数s的计算方法可以为:
17、
18、作为本发明所述基于snmp的健康检查代理中心的一种优选方案,其中:所述健康检查代理中心还包括日志记录模块,用于记录所有snmp请求和响应的详细信息,以便于后续分析和故障排查。
19、作为本发明所述基于snmp的健康检查代理中心的一种优选方案,其中:所述计算存储模块可以动态调整权重参数,以适应不同时间段的流量特征。
20、本发明还提供了一种基于snmp的健康检查代理中心的运行方法,包括以下步骤:
21、s1:当健康检查代理中心启动时,先初始化存储各个后端服务器状态参数的列表,以及设置定时器任务,定时器的任务主要运行snmp请求模块和计算存储模块;
22、s2:每当定时器任务到达时,snmp请求模块对所有后端服务器发送snmp get请求,获取服务器的状态参数,计算存储模块接收这些参数并更新存储到后端服务器状态参数列表中,健康检查算法计算每个后端服务器的性能评分,根据状态参数更新当前最佳性能的后端服务器;
23、s3:主程序中运行响应模块,监控负载均衡器的请求,当有请求到达时,响应模块从计算存储模块中获取当前最佳性能的后端服务器对象,并将最佳性能的后端服务器对象发送给负载均衡器,至此,完成整个健康检查代理中心的运行。
24、本发明的有益效果:
25、1、本发明中负载均衡器只需发送一次请求即可获取当前最优性能的后端服务器,无需自身执行复杂的健康检查任务,减少了系统资源消耗。
26、2、本发明提供的健康检查代理中心,通过snmp统一获取所有后端服务器的状态信息,维护状态列表并计算最佳性能服务器,负载均衡器无需进行轮询请求检查,特别是当后端服务器数量较多时,可以显著降低负载均衡器的性能损耗。
27、3、本发明采用健康检查代理中心统一负责后端服务器的健康检查,集成所有后端服务器的状态参数获取、存储和计算任务,使管理和操作更加便捷。
28、4、本发明负载均衡器通过向健康检查代理中心发送一次请求即可获得最优服务器对象,简化了请求处理流程,提高了请求分发效率,且在负载均衡器故障转移时,能快速切换到健康的后端服务器,保证服务的高可用性。
技术特征:1.一种基于snmp的健康检查代理中心,其特征在于,包括:
2.如权利要求1所述的基于snmp的健康检查代理中心,其特征在于:所述后端服务器的状态参数包括服务进程状态、cpu使用率以及内存使用率。
3.如权利要求1所述的基于snmp的健康检查代理中心,其特征在于:所述负载均衡器的请求模块支持http和https协议。
4.如权利要求1所述的基于snmp的健康检查代理中心,其特征在于:所述负载均衡器还包括故障转移模块,用于在检测到后端服务器故障时,自动切换到其他健康的后端服务器。
5.如权利要求1所述的基于snmp的健康检查代理中心,其特征在于:所述snmp请求模块支持snmp v2c和snmp v3协议。
6.如权利要求1所述的基于snmp的健康检查代理中心,其特征在于:所述snmp请求模块能够以设定的时间间隔定时发送snmp get请求。
7.如权利要求1所述的基于snmp的健康检查代理中心,其特征在于:所述健康检查算法的计算方法包括以下步骤:
8.如权利要求1所述的基于snmp的健康检查代理中心,其特征在于:所述健康检查代理中心还包括日志记录模块,用于记录所有snmp请求和响应的详细信息,以便于后续分析和故障排查。
9.如权利要求1所述的基于snmp的健康检查代理中心,其特征在于:所述计算存储模块可以动态调整权重参数,以适应不同时间段的流量特征。
10.如权利要求1-9任一项所述的一种基于snmp的健康检查代理中心的运行方法,其特征在于,包括以下步骤:
技术总结本发明公开了一种基于SNMP的健康检查代理中心及其运行方法,其中健康检查代理中心包括SNMP请求模块、计算存储模块、响应模块、负载均衡器以及后端服务器,SNMP请求模块用于发送SNMP Get请求操作到所有的后端服务器中,获取后端服务器的状态参数,计算存储模块用于更新本地后端服务器的状态参数列表,计算当前最优性能的后端服务器对象,响应模块用于监听负载均衡器的请求操作,响应请求返回最优后端服务器对象,负载均衡器包括请求模块,用于从健康检查代理中心请求获取当前最优性能的后端服务器对象,后端服务器包括SNMP代理模块,用于接收健康检查代理中心的SNMP Get请求,获取设备的状态信息结果并返回。本发明能够降低负载均衡器的性能损耗。技术研发人员:陈清建,林漳坤,林剑影受保护的技术使用者:天翼云科技有限公司技术研发日:技术公布日:2024/11/4本文地址:https://www.jishuxx.com/zhuanli/20241106/323810.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。