一种服务器集群健康状态的检测方法及系统技术方案

技术编号:32646531 阅读:56 留言:0更新日期:2022-03-12 18:29
本发明专利技术公开了一种服务器集群健康状态的检测方法及系统,当前服务器具有web服务和探测脚本,当前服务器的web服务通过探测脚本向各个服务程序发送程序健康状态探测请求,并对各个服务程序反馈的程序健康状态信息进行汇总得到服务器健康状态信息,通过web服务接收目标服务器通过自身web服务发送的服务器健康状态探测请求,服务器健康状态探测请求中携带目标服务器的服务器健康状态信息,当前服务器将自身的服务器健康状态信息以及之前接收的其他服务器发送的服务器状态信息一并发送至目标服务器。本发明专利技术利用web程序和探测脚本检测服务程序,并根据两两检测机制形成一个相互检测的拓扑结构完成闭环巡检,从而为服务器运营提供依据。营提供依据。营提供依据。

【技术实现步骤摘要】
一种服务器集群健康状态的检测方法及系统


[0001]本专利技术涉及计算机
,更具体的说,涉及一种服务器集群健康状态的检测方法及系统。

技术介绍

[0002]随着网络技术的发展,企业内部有越来越多的用户接入网络,为了能够提高网络服务质量,更快地处理用户的上线请求,集群系统应运而生。集群系统指的是多台服务器构成一个服务器集合,系统中的每一个服务器都有平等的地位,都可以单独地处理用户上线的请求,同时对外只有一个虚拟的IP地址,所有用户只要链接这个虚拟IP地址就可以了,因此对用户来说,整个集群系统就相当于一台服务器。使用集群系统的好处是:对于用户来讲,每次上线链接的是相同的服务器IP地址,使用方便。另外,由于集群系统内部有多台服务器,所以对单台服务器的性能要求不高,同时该系统具有负载均衡的功能,能够将用户分配到较为空闲的服务器上,这样就可以提升整个网络的服务质量,进而提高网络支持的用户数量。当用户请求到达集群系统时,请求会被分配到某台服务器上并且在一次用户在线的过程中用户总是同这台服务器进行交互。
[0003]在服务器集群中,每台服务器上可能会部署多个不同的服务程序,比如可部署高耗CPU(Central Processing Unit,中央处理器)资源程序,部署硬件IO资源程序等等,以便更好的利用整个服务器资源,节省成本。当某个服务程序出现故障时,将会影响其它服务器的负载能力,甚至会引发整个服务器出现故障,进而影响到服务器集群。因此,如何对服务器集群的健康状态进行检测成为了本领域技术人员亟需解决的技术问题。r/>
技术实现思路

[0004]有鉴于此,本专利技术公开一种服务器集群健康状态的检测方法及系统,利用web程序和探测脚本检测服务程序,并根据两两检测完成闭环巡检,不需要修改任何已部署的程序代码即可实现对整个服务器集群内的服务器及各台服务器部署的服务程序的检测,从而为服务器运营提供依据,并提高了运营者的工作效率。
[0005]一种服务器集群健康状态的检测方法,应用于服务器集群中的当前服务器,所述当前服务器为所述服务器集群中的任意一台服务器,所述当前服务器具有web服务和探测脚本,所述检测方法包括:
[0006]由所述web服务通过所述探测脚本向所述当前服务器中的各个服务程序发送程序健康状态探测请求;
[0007]对各个所述服务程序反馈的程序健康状态信息进行汇总得到服务器健康状态信息,其中,所述服务器健康状态信息包括:所述当前服务器的健康状态信息和状态检测时间;
[0008]通过所述web服务接收目标服务器通过自身web服务发送的服务器健康状态探测请求,所述目标服务器为所述服务器集群中除所述当前服务器以外的任意一台服务器,所
述服务器健康状态探测请求中携带有所述目标服务器的服务器健康状态信息;
[0009]将获取的所有服务器健康状态信息发送至所述目标服务器,所述所有服务器健康状态信息包括:所述当前服务器自身的服务器健康状态信息以及所述当前服务器之前接收的除所述当前服务器以外的服务器发送的服务器健康状态信息。
[0010]可选的,在将获取的所有服务器健康状态信息发送至所述目标服务器之后,还包括:
[0011]查询服务器集群表,判断是否存在未知状态服务器;
[0012]如果是,则向所述未知状态服务器发送服务器健康状态探测请求,所述服务器健康状态探测请求中携带有所述当前服务器的健康状态信息和状态检测时间,以及所述目标服务器的健康状态信息和状态检测时间;
[0013]获取所述未知状态服务器发送的服务器健康状态反馈信息,其中,所述服务器健康状态反馈信息包括:所述未知状态服务器的健康状态信息和状态检测时间,所述当前服务器的健康状态信息和状态检测时间,以及所述目标服务器的健康状态信息和状态检测时间。
[0014]可选的,所述探测脚本为Python脚本。
[0015]可选的,所述web服务使用HTTP协议中的POST方法请求程序健康状态和服务器健康状态。
[0016]可选的,所述web服务的配置信息包括:
[0017]interval:表示检查请求的间隔时间,为必要参数;
[0018]fall:表示失败次数阈值,当检查失败次数超过了失败次数阈值,则将本服务节点切换成down状态;
[0019]rise:表示成功次数阈值,当检查成功次数超过成功次数阈值,则将本服务节点切换变成up状态;
[0020]timeout:表示请求超时时间;
[0021]default_down:表示后端服务器的初始状态;
[0022]type:表示检查通信的协议类型,默认为HTTP。
[0023]一种服务器集群健康状态的检测系统,应用于服务器集群中的当前服务器,所述当前服务器为所述服务器集群中的任意一台服务器,所述当前服务器具有web服务和探测脚本,所述检测系统包括:
[0024]第一请求发送单元,用于由所述web服务通过所述探测脚本向所述当前服务器中的各个服务程序发送程序健康状态探测请求;
[0025]信息汇总单元,用于对各个所述服务程序反馈的程序健康状态信息进行汇总得到服务器健康状态信息,其中,所述服务器健康状态信息包括:所述当前服务器的健康状态信息和状态检测时间;
[0026]第二请求发送单元,用于通过所述web服务接收目标服务器通过自身web服务发送的服务器健康状态探测请求,所述目标服务器为所述服务器集群中除所述当前服务器以外的任意一台服务器,所述服务器健康状态探测请求中携带有所述目标服务器的服务器健康状态信息;
[0027]状态信息发送单元,用于将获取的所有服务器健康状态信息发送至所述目标服务
器,所述所有服务器健康状态信息包括:所述当前服务器自身的服务器健康状态信息以及所述当前服务器之前接收的除所述当前服务器以外的服务器发送的服务器健康状态信息。
[0028]可选的,还包括:
[0029]判断单元,用于在所述状态信息发送单元将获取的所有服务器健康状态信息发送至所述目标服务器之后,查询服务器集群表,判断是否存在未知状态服务器;
[0030]第三请求发送单元,用于在所述判断单元判断为是的情况下,向所述未知状态服务器发送服务器健康状态探测请求,所述服务器健康状态探测请求中携带有所述当前服务器的健康状态信息和状态检测时间,以及所述目标服务器的健康状态信息和状态检测时间;
[0031]反馈信息获取单元,用于获取所述未知状态服务器发送的服务器健康状态反馈信息,其中,所述服务器健康状态反馈信息包括:所述未知状态服务器的健康状态信息和状态检测时间,所述当前服务器的健康状态信息和状态检测时间,以及所述目标服务器的健康状态信息和状态检测时间。
[0032]可选的,所述探测脚本为Python脚本。
[0033]可选的,所述web服务使用HTTP协议中的POST方法请求程序健康状态和服务器健康状态。
[0034]可选的,所述web服务的配置信本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种服务器集群健康状态的检测方法,其特征在于,应用于服务器集群中的当前服务器,所述当前服务器为所述服务器集群中的任意一台服务器,所述当前服务器具有web服务和探测脚本,所述检测方法包括:由所述web服务通过所述探测脚本向所述当前服务器中的各个服务程序发送程序健康状态探测请求;对各个所述服务程序反馈的程序健康状态信息进行汇总得到服务器健康状态信息,其中,所述服务器健康状态信息包括:所述当前服务器的健康状态信息和状态检测时间;通过所述web服务接收目标服务器通过自身web服务发送的服务器健康状态探测请求,所述目标服务器为所述服务器集群中除所述当前服务器以外的任意一台服务器,所述服务器健康状态探测请求中携带有所述目标服务器的服务器健康状态信息;将获取的所有服务器健康状态信息发送至所述目标服务器,所述所有服务器健康状态信息包括:所述当前服务器自身的服务器健康状态信息以及所述当前服务器之前接收的除所述当前服务器以外的服务器发送的服务器健康状态信息。2.根据权利要求1所述的检测方法,其特征在于,在将获取的所有服务器健康状态信息发送至所述目标服务器之后,还包括:查询服务器集群表,判断是否存在未知状态服务器;如果是,则向所述未知状态服务器发送服务器健康状态探测请求,所述服务器健康状态探测请求中携带有所述当前服务器的健康状态信息和状态检测时间,以及所述目标服务器的健康状态信息和状态检测时间;获取所述未知状态服务器发送的服务器健康状态反馈信息,其中,所述服务器健康状态反馈信息包括:所述未知状态服务器的健康状态信息和状态检测时间,所述当前服务器的健康状态信息和状态检测时间,以及所述目标服务器的健康状态信息和状态检测时间。3.根据权利要求1所述的检测方法,其特征在于,所述探测脚本为Python脚本。4.根据权利要求1所述的检测方法,其特征在于,所述web服务使用HTTP协议中的POST方法请求程序健康状态和服务器健康状态。5.根据权利要求1所述的检测方法,其特征在于,所述web服务的配置信息包括:interval:表示检查请求的间隔时间,为必要参数;fall:表示失败次数阈值,当检查失败次数超过了失败次数阈值,则将本服务节点切换成down状态;rise:表示成功次数阈值,当检查成功次数超过成功次数阈值,则将本服务节点切换变成up状态;timeout:表示请求超时时间;default_down:表示后端服务器的初始状态;type:表示检查通信的协议类型,默认为HTTP。6.一种服务器集群健康状态的检测系统,其特征在于,应用于服务器集群中的当前服务器,所述当前服务器为所述服务...

【专利技术属性】
技术研发人员:陈华兵曾珂
申请(专利权)人:深圳市茁壮网络股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1