健康检查方法、装置、设备及计算机可读存储介质与流程

文档序号:23809039发布日期:2021-02-03 12:19阅读:53来源:国知局
健康检查方法、装置、设备及计算机可读存储介质与流程

[0001]
本申请涉及通信技术领域,特别涉及一种健康检查方法、装置、设备及计算机可读存储介质。


背景技术:

[0002]
随着网络技术的不断发展,网络流量越来越大,单一服务器已无法满足用户对高并发、高新建和高处理速度的需求,同时,对服务器进行硬件升级的性价比太低。
[0003]
为了增加业务处理能力和业务处理速度,服务器负载均衡技术应运而生。负载均衡设备具有探测真实服务器运行状态,并根据服务器运行状态将客户端流量合理调度至一到多台真实服务器的功能,因此,能够精确判断服务器的运行状态,对于负载均衡设备进行流量调度存在重要意义。
[0004]
目前,检测服务器运行状态的技术方案包括以下两种:
[0005]
一种方案是通过internet控制报文协议(internet control message protocol,简称icmp),采用因特网包探索器(packet internet groper,简称ping)定时的去ping服务器,以检测网络是否可达,其缺陷是,如果网络没有问题、但业务有问题,则无法检测到。另一种方案是定时去访问服务器应用,如果服务器应用是基于超文本传输协议(hyper text transfer protocol,简称http)的应用,可以通过建立传输控制协议(transmission control protocol,简称tcp)连接进行健康检查,也可以发送http请求给web服务器,通过检测访问是否正常,以探测服务或者服务器的可用性。
[0006]
在上述方案中,负载均衡器可能需要对几百台服务器、甚至对成千上万的服务器进行健康状况,负载均衡器压力很大,会不堪重负,尤其是对加密类的服务器进行健康检查,如https服务器,由于要进行加解密,性能消耗巨大。如果定期发送健康检查探测请求给成千上万的服务器,并且及时的处理服务器的响应,这不仅会占用负载均衡器所属服务器的大量资源,同时由于负载均衡器一边要处理请求调度转发报文、一边要进行大量的健康检查,也会影响负载均衡器的性能,进而影响调度效果。


技术实现要素:

[0007]
有鉴于此,本申请提供了一种健康检查方法、装置、设备及计算机可读存储介质,能够有效提升负载均衡器的性能。
[0008]
具体地,本申请是通过如下技术方案实现的:
[0009]
一种健康检查方法,所述方法应用于一种健康检查系统,所述健康检查系统包括负载均衡设备、以及与所述负载均衡设备连接的至少两台健康检查设备;所述方法的执行主体是所述负载均衡设备,所述方法包括:
[0010]
将健康检查策略同步到所述至少两台健康检查设备;
[0011]
从所述至少两台健康检查设备中选择一台健康检查设备,作为主健康检查设备,其中,所述主健康检查设备用于依据所述健康检查策略对至少一台后端服务器进行健康检
查。
[0012]
一种健康检查方法,所述方法应用于一种健康检查系统,所述健康检查系统包括负载均衡设备、以及与所述负载均衡设备连接的至少两台健康检查设备;所述负载均衡设备从所述至少两台健康检查设备中选择一台健康检查设备,作为主健康检查设备;所述方法的执行主体是所述主健康检查设备,所述方法包括:
[0013]
接收所述负载均衡设备发送的健康检查策略;
[0014]
依据所述健康检查策略对至少一台后端服务器进行健康检查。
[0015]
一种电子设备,包括:处理器、存储器;
[0016]
所述存储器,用于存储计算机程序;
[0017]
所述处理器,用于通过调用所述计算机程序,执行上述健康检查方法。
[0018]
一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述健康检查方法。
[0019]
由以上本申请提供的技术方案可见,负载均衡设备将健康检查策略同步到各个健康检查设备,并且,负载均衡设备还会从各个健康检查设备中选择一台健康检查设备,作为主健康检查设备,然后,主健康检查设备便可以依据健康检查策略对各个后端服务器进行健康检查。可见,本申请由外置的健康检查设备做健康检查,不再由负载均衡设备进行健康检查,这种方式增强了负载均衡设备的调度性能,节省了负载均衡设备的设备资源,避免了因健康检查功能而影响负载均衡设备的功能,从而提升了负载均衡器的性能。
附图说明
[0020]
图1为本申请示出的一种健康检查方法的流程示意图;
[0021]
图2为本申请示出的一种健康检查系统的示意图;
[0022]
图3为本申请示出的另一种健康检查方法的流程示意图;
[0023]
图4为本申请示出的一种健康检查装置的组成示意图;
[0024]
图5为本申请示出的另一种健康检查装置的组成示意图;
[0025]
图6为本申请示出的一种电子设备的结构示意图。
具体实施方式
[0026]
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
[0027]
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0028]
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第
一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
[0029]
在介绍本申请实施例之前,首先对本申请实施例涉及的以下技术术语进行介绍,包括负载均衡和健康检查。
[0030]
1、负载均衡
[0031]
负载均衡(load balance,简称lb)是一种服务器或网络设备的集群技术。负载均衡将特定的业务(如网络服务、网络流量等)分担给多个服务器或网络设备,从而提高了业务处理能力,保证了业务的高可用性。服务器负载均衡根据lb设备处理到的报文层次,分为四层服务器负载均衡和七层负载均衡:四层处理到网际互连协议(internet protocol,简称ip)包的ip头,不解析报文四层以上载荷(l4 server lb);七层处理到报文载荷部分,比如超文本传输协议(hyper text transfer protocol,简称http)、实时流传输协议(real time streaming protocol,简称rtsp)、会话初始化协议(session initiation protocol,简称sip)报文头,有时也包括报文内容部分(l7 server lb)。
[0032]
2、健康检查
[0033]
负载均衡通过健康检查来判断服务器的业务可用性,健康检查机制提高了业务整体可用性,避免了服务器异常对总体服务的影响。开启健康检查功能后,当某台服务器被检查出异常时,负载均衡会自动将新的请求分发到其它健康检查正常的服务器上;而当该服务器恢复正常运行时,负载均衡会将其自动恢复到负载均衡服务中。
[0034]
一般来说,负载均衡设备一般包括控制面和数据转发面,控制面负责配置管理、报表、健康检查等,数据转发面负责收发报文、四层负载均衡、七层负载均衡、负载调度等,其所有功能均在一台设备上完成。即使对于框式设备来说,其分为主控和业务板,主控主要处理负载控制面,由于主控一般性能较弱,对于大量服务器进行健康检查,压力很大,很难胜任,尤其后端服务器是安全套接字协议(secure sockets layer,简称ssl)服务器时,由于涉及加解密,对性能消耗尤其大,严重影响负载均衡设备的性能及稳定性。
[0035]
为此,本申请实施例将提供一种健康检查方法,具体是一种针对大量服务器进行健康检查的方法,该方法能够实时检测后端服务器的运行状况,从而减轻现有负载均衡器的负担、提高健康监测结果的实时性和准确性,进而提高负载均衡器的性能。
[0036]
本申请实施例通过将负载均衡器的健康检查模块单独出来,将其部署在独立的一台健康检查设备上,该健康检查设备可以是一台独立的服务器。健康检查设备与负载均衡设备之间,可以通过restful接口或其它类型的可用接口进行通信,健康检查设备可以根据需要检测的后端服务器数量、功能等来选择服务器硬件,其实现了负载均衡设备和后端服务器在健康检查方面的解耦,实现了健康检查性能的线性扩展。
[0037]
下面对本申请实施例提供的健康检查方法进行具体介绍。
[0038]
参见图1,为本申请实施例提供的一种健康检查方法的流程示意图,该方法应用于一种健康检查系统,该健康检查系统包括一台负载均衡设备、以及与该负载均衡设备连接的至少两台健康检查设备。具体来讲,对于每个健康检查设备而言,该健康检查设备可以是一个服务器,并在该服务器上部署健康检查平台,这样,负载均衡设备便可以利用至少两个外置的健康检查平台,对大量的后端服务器进行健康检查;此外,为了实现负载均衡设备与健康检查设备之间的通信,可以在负载均衡设备上配置每一健康检查设备的ip地址、端口。
[0039]
需要说明的是,一般来讲,本申请实施例需要至少两台健康检查设备,当某个健康检查设备出现问题时,可以选择其它健康检查设备继续进行健康检查,以避免无法进行健康检查的情况发生。
[0040]
下面结合图2所示的健康检查系统的示意图,对图1所示的健康检查方法的各个步骤进行介绍,该方法的执行主体是负载均衡设备,该方法包括以下步骤:
[0041]
s101:将健康检查策略同步到至少两台健康检查设备。
[0042]
在本申请实施例中,可以先在负载均衡设备上配置健康检查策略,然后,由负载均衡设备将健康检查策略同步到外置的各个健康检查设备中。其中,本申请实施例不限定使用的同步接口,比如使用restful接口。
[0043]
在图2中,负载均衡设备可以包括外置健康检查平台配置模块、心跳模块和健康检查切换模块,负载均衡设备可以利用其中的外置健康检查平台配置模块完成对各个健康检查设备的策略配置功能(即s101)。
[0044]
另外,各个健康检查设备在接收到负载均衡设备配置的健康检查策略后,可以将配置内容保存到对应的数据库中,其中,该策略内容可以包括待检测的服务器ip、端口、服务器的检测方式、检测周期等健康检查配置以及健康检查使能开关。
[0045]
在图2中,健康检查设备包括配置接收模块、心跳模块和健康检查模块,可以由配置接收模块接收负载均衡设备同步的健康检查策略。
[0046]
s102:从至少两台健康检查设备中选择一台健康检查设备,作为主健康检查设备,其中,主健康检查设备用于依据健康检查策略对至少一台后端服务器进行健康检查。
[0047]
在本申请实施例中,负载均衡设备可以选择其中的一台健康检查设备(即选择一个外置健康检查平台)做主健康检查设备,该主健康检查设备是一台处于正常工作状态下的设备。主健康检查设备可以依据健康检查策略,对需要进行健康检查的各个后端服务器进行健康检查,而除主健康检查设备以外的其它健康检查设备,只需要保存配置的健康检查策略即可,暂时不需要对后端服务器进行健康检查。
[0048]
在图2中,可以由负载均衡设备的外置健康检查平台配置模块选择主健康检查设备。
[0049]
当负载均衡设备授权某个健康检查设备为主健康检查设备时,主健康检查设备便可以打开健康检测开关,以开启健康检查,此时,主健康检查设备通知后台健康检查进程进行健康检查。
[0050]
在图2中,可以由主健康检查设备的健康检查模块,根据健康检查策略,对各个后端服务器做健康检查。
[0051]
进一步地,在本申请实施例提供的健康检查方法中,还可以包括以下步骤a1-a2:
[0052]
步骤a1:通过对主健康检查设备的工作状态进行监测,确定主健康检查设备是否为异常设备。
[0053]
为了保证对各个后端服务器进行健康检查,需要对当前的主健康检查设备进行实时的状态监测,以确保主健康检查设备能够正常的进行健康检测,若发现当前的主健康检查设备出现问题,可以替换另一台健康检查设备作为主健康检查设备以继续进行健康检查。
[0054]
在本申请实施例的一种实现方式中,步骤a1具体可以包括:通过与主健康检查设
备建立长连接心跳,对主健康检查设备的工作状态进行监测;若在预设时长内未接收到主健康检查设备反馈的状态信息,则确定主健康检查设备为异常设备。
[0055]
在本实现方式中,负载均衡设备与外置的各个健康检查设备之间均建立长连接心跳通道,按照预设时间间隔(比如每隔1秒),对各个健康检查设备的状态进行监测,各个健康检查设备需要按照该预设时间间隔(每隔1秒)向负载均衡设备上报自己的状态信息。对于主健康检查设备而言,如果超过预设时长(比如5秒)后,主健康检查设备仍没有上报状态信息,那么,负载均衡设备认为主健康检查设备出现问题,即,认为主健康检查设备是异常设备
[0056]
步骤a2:若确定主健康检查设备为异常设备,则从至少两台健康检查设备中选择一台正常设备,替换主健康检查设备。
[0057]
当负载均衡设备认为当前的主健康检查设备是异常设备时,负载均衡设备会在剩下的健康检查设备中选择一个正常的健康检查设备,作为新的主健康检查设备,并通过心跳连接通道,向该新的主健康检查设备发送切换消息,用以通知该新的健康检查设备开始对各个后端服务器进行健康检测。
[0058]
在图2中,可以由负载均衡设备和健康检查设备的心跳模块,完成上述心跳相关功能;此外,可以由负载均衡设备的健康检查切换模块,替换当前异常的主健康检查设备,并选择一个新的主健康检查设备。
[0059]
进一步地,在本申请实施例提供的健康检查方法中,还可以包括:若上述异常设备(即出现问题的主健康检查设备)恢复正常,则向该异常设备发送第一通知,其中,第一通知用于通知该异常设备关闭健康检查功能。
[0060]
具体来讲,负载均衡设备需要对所有的健康检查设备进行状态探测,如果之前出现问题的健康检查设备重新恢复正常,即上述异常设备重新恢复正常,需要向其发送第一通知,告知该异常设备关闭健康检测功能,这样,始终维持一台外置的健康检查设备做健康检测即可。
[0061]
进一步地,在本申请实施例提供的健康检查方法中,还可以包括:若上述至少两台健康检查设备均为异常设备,则由负载均衡设备依据健康检查策略对至少一台后端服务器进行健康检查。
[0062]
具体来讲,需要预先为负载均衡设备配置健康检查策略(可以由图2所示的外置健康检查平台配置模块进行配置),当存在正常的健康检查设备时,便采用健康检查设备做健康检查,无需负载均衡设备做健康检查;反之,当所有的健康检查设备均出现问题时,可以切换到负载均衡设备做健康检查(可以由图2所示的健康检查切换模块进行切换),即,由负载均衡设备对所有的后端服务器做健康检查,但是,负载均衡设备会持续对各个健康检查设备进行探测,如果发现恢复正常的健康检查设备,便切换到某一正常的健康检查设备做健康检查(可以由图2所示的健康检查切换模块进行切换)。
[0063]
需要说明的是,本申请实施例不对健康检查的方式进行限定,可以采用现有或将来出现的任何健康检查方式对后端服务器进行检查。另外,关于“对至少一台后端服务器进行健康检”,通常情况下,需要对所有的后端服务器做健康检查,但如果存在某种需求时,也可以仅对部分后端服务器做健康检查。
[0064]
参见图3,为本申请实施例提供的另一种健康检查方法的流程示意图,该方法应用
于一种健康检查系统,该健康检查系统包括一台负载均衡设备、以及与该负载均衡设备连接的至少两台健康检查设备;此外,负载均衡设备可以从上述至少两台健康检查设备中选择一台健康检查设备,作为主健康检查设备。
[0065]
该方法的执行主体是主健康检查设备,该方法包括以下步骤:
[0066]
s301:接收负载均衡设备发送的健康检查策略;
[0067]
s302:依据健康检查策略对至少一台后端服务器进行健康检查。
[0068]
进一步地,在本申请实施例提供的健康检查方法中,还可以包括:按照预设时间间隔,向负载均衡设备发送主健康检查设备的状态信息;其中,负载均衡设备用于在预设时长内未接收到主健康检查设备反馈的状态信息时,确定主健康检查设备为异常设备,从至少两台健康检查设备中选择一台正常设备替换主健康检查设备。
[0069]
需要说明的是,图1和图3所示的健康检查方法,分别是以负载均衡设备和主健康检查设备为执行主体,因此,关于图3的各个步骤的具体介绍,可以参见上述图1部分实施例的相关内容,此处不再赘述。
[0070]
进一步地,在本申请实施例提供的健康检查方法中,还可以包括:将对后端服务器进行健康检查的结果,发送给负载均衡设备。
[0071]
具体来讲,主健康检查设备可以按照预设时间间隔,将对各个后端服务器的健康检查结果发送给负载均衡设备,比如通过restful接口进行发送(可以由图2所示的健康检查模块完成)。负载均衡设备在接收到主健康检查设备发送的健康检查结果后,可以利用该健康检查结果更新服务器健康列表,以指导负载均衡设备的服务器负载均衡模块进行数据报文转发。
[0072]
可见,本申请实施例可以将负载均衡设备的健康检查模块单独出来,将该健康检查模块的功能由外置的健康检查设备实现,实现了负载均衡设备和后端服务器在健康检查方面的解耦,实现了健康检查性能的线性扩展。负载均衡设备和外置的健康检查设备,二者各司其职,这种方式增强了负载均衡设备的调度性能,节省了负载均衡设备的设备资源,避免了因健康检查功能而影响负载均衡设备的功能。
[0073]
在上述本申请提供的健康检查方法中,负载均衡设备会将健康检查策略同步到各个健康检查设备,并且,负载均衡设备还会从各个健康检查设备中选择一台健康检查设备,作为主健康检查设备,然后,主健康检查设备便可以依据健康检查策略对各个后端服务器进行健康检查。可见,本申请实施例由外置的健康检查设备做健康检查,不再由负载均衡设备进行健康检查,这种方式增强了负载均衡设备的调度性能,节省了负载均衡设备的设备资源,避免了因健康检查功能而影响负载均衡设备的功能,从而提升了负载均衡器的性能。
[0074]
参见图4,为本申请实施例提供的一种健康检查装置的组成示意图,所述装置应用于负载均衡设备,所述负载均衡设备与至少两台健康检查设备连接,所述装置包括:
[0075]
策略同步单元410,用于将健康检查策略同步到所述至少两台健康检查设备;
[0076]
设备选择单元420,用于从所述至少两台健康检查设备中选择一台健康检查设备,作为主健康检查设备,其中,所述主健康检查设备用于依据所述健康检查策略对至少一台后端服务器进行健康检查。
[0077]
在本申请实施例的一种实现方式中,所述装置还包括:
[0078]
异常检测单元,用于通过对所述主健康检查设备的工作状态进行监测,确定所述
主健康检查设备是否为异常设备;
[0079]
设备替换单元,用于若确定所述主健康检查设备为异常设备,则从所述至少两台健康检查设备中选择一台正常设备,替换所述主健康检查设备。
[0080]
在本申请实施例的一种实现方式中,所述异常检测单元,具体用于:
[0081]
通过与所述主健康检查设备建立长连接心跳,对所述主健康检查设备的工作状态进行监测;
[0082]
若在预设时长内未接收到所述主健康检查设备反馈的状态信息,则确定所述主健康检查设备为异常设备。
[0083]
在本申请实施例的一种实现方式中,所述装置还包括:
[0084]
通知发送单元,用于若所述异常设备恢复正常,则向所述异常设备发送第一通知,所述第一通知用于通知所述异常设备关闭健康检查功能。
[0085]
在本申请实施例的一种实现方式中,所述装置还包括:
[0086]
健康检查单元,用于若所述至少两台健康检查设备均为异常设备,则由所述负载均衡设备依据所述健康检查策略对至少一台后端服务器进行健康检查。
[0087]
参见图5,为本申请实施例提供的另一种健康检查装置的组成示意图,所述装置应用于主健康检查设备,所述主健康检查设备是负载均衡设备从至少两台健康检查设备中选择的一台健康检查设备,所述装置包括:
[0088]
策略接收单元510,用于接收所述负载均衡设备发送的健康检查策略;
[0089]
健康检查单元520,用于依据所述健康检查策略对至少一台后端服务器进行健康检查。
[0090]
在本申请实施例的一种实现方式中,所述装置还包括:
[0091]
信息发送单元,用于按照预设时间间隔,向所述负载均衡设备发送所述主健康检查设备的状态信息;其中,所述负载均衡设备用于在预设时长内未接收到所述主健康检查设备反馈的状态信息时,确定所述主健康检查设备为异常设备,从所述至少两台健康检查设备中选择一台正常设备替换所述主健康检查设备。
[0092]
在本申请实施例的一种实现方式中,所述装置还包括:
[0093]
结果发送单元,用于将对所述后端服务器进行健康检查的结果,发送给所述负载均衡设备。
[0094]
需要说明的是,在2所示的各个模块中,对于每一个模块,可以基于该模块的功能,使其作为图4和图5所示的某个单元的功能模块。
[0095]
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
[0096]
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0097]
本申请实施例还提供了一种电子设备,该电子设备的结构示意图如图6所示,该电
子设备6000包括至少一个处理器6001、存储器6002和总线6003,至少一个处理器6001均与存储器6002电连接;存储器6002被配置用于存储有至少一个计算机可执行指令,处理器6001被配置用于执行该至少一个计算机可执行指令,从而执行如本申请中任意一个实施例或任意一种可选实施方式提供的任意一种健康检查方法的步骤。
[0098]
进一步,处理器6001可以是fpga(field-programmable gate array,现场可编程门阵列)或者其它具有逻辑处理能力的器件,如mcu(microcontroller unit,微控制单元)、cpu(central process unit,中央处理器)。
[0099]
应用本申请实施例,由外置的健康检查设备做健康检查,不再由负载均衡设备进行健康检查,这种方式增强了负载均衡设备的调度性能,节省了负载均衡设备的设备资源,避免了因健康检查功能而影响负载均衡设备的功能,从而提升了负载均衡器的性能。
[0100]
本申请实施例还提供了另一种计算机可读存储介质,存储有计算机程序,该计算机程序用于被处理器执行时实现本申请中任意一个实施例或任意一种可选实施方式提供的任意一种健康检查方法的步骤。
[0101]
本申请实施例提供的计算机可读存储介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、cd-rom、和磁光盘)、rom(read-only memory,只读存储器)、ram(random access memory,随即存储器)、eprom(erasable programmable read-only memory,可擦写可编程只读存储器)、eeprom(electrically erasable programmable read-only memory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,可读存储介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。
[0102]
应用本申请实施例,由外置的健康检查设备做健康检查,不再由负载均衡设备进行健康检查,这种方式增强了负载均衡设备的调度性能,节省了负载均衡设备的设备资源,避免了因健康检查功能而影响负载均衡设备的功能,从而提升了负载均衡器的性能。
[0103]
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1