CN111865722A - 一种节点健康状态检测及处理方法 - Google Patents

一种节点健康状态检测及处理方法 Download PDF

Info

Publication number
CN111865722A
CN111865722A CN202010699875.0A CN202010699875A CN111865722A CN 111865722 A CN111865722 A CN 111865722A CN 202010699875 A CN202010699875 A CN 202010699875A CN 111865722 A CN111865722 A CN 111865722A
Authority
CN
China
Prior art keywords
node
state
healthy
service request
health
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010699875.0A
Other languages
English (en)
Other versions
CN111865722B (zh
Inventor
赵鹏
李尚锦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Huoli Tianhui Technology Co ltd
Original Assignee
Shenzhen Huoli Tianhui Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Huoli Tianhui Technology Co ltd filed Critical Shenzhen Huoli Tianhui Technology Co ltd
Priority to CN202010699875.0A priority Critical patent/CN111865722B/zh
Publication of CN111865722A publication Critical patent/CN111865722A/zh
Application granted granted Critical
Publication of CN111865722B publication Critical patent/CN111865722B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开一种节点健康状态检测及处理方法。所述方法包括:接收前端发来的业务请求,若集群状态是超速,丢弃本次业务请求;若集群状态是未超速,将本次业务请求发送给后端非死亡节点;定量计算后端节点的健康值并与设定的阈值进行比较判断节点的状态,当节点状态为健康时,向该节点正常发送业务请求;当节点状态为不健康时,减少发送给该节点的业务请求的数量,如果该节点的某次处理失败,将处理失败的业务请求发送给状态为健康的其它节点。本发明通过定期检测节点的健康状态,减小不健康节点的流量,使不健康节点不能正常处理的业务请求得到正常处理;并能在节点变为健康状态时恢复其正常流量,从而提高了网络性能。

Description

一种节点健康状态检测及处理方法
技术领域
本发明属于互联网技术领域,具体涉及一种节点健康状态检测及处理方法。
背景技术
随着互联网用户的快速增长,节点压力越来越大,为了应对巨大的业务压力,可以部署大量节点,这些节点共同为用户提供服务。
服务节点的传统检测方法,一般是通过发送心跳数据包根据是否有收到回复进行判断。这种方法虽然可以检测节点是否存活,却不能检测节点在存活的情况下能否成功处理业务请求。因为在某些情况下节点可以正常回复心跳检测请求,但由于CPU资源不足或内部逻辑异常,大量正常业务请求不能得到正常处理。所以需要有一种方法在检测节点是否存活的同时,能够对节点处理业务请求的健康状态进行检测,并根据其健康状态分配业务请求。
发明内容
为了解决现有技术中存在的上述问题,本发明提出一种节点健康状态检测及处理方法。
为实现上述目的,本发明采用如下技术方案:
一种节点健康状态检测及处理方法,包括以下步骤:
步骤1,接收前端发来的业务请求,检测集群状态是否为超速,若集群状态是超速,直接丢弃本次业务请求;否则,转步骤2;
步骤2,将本次业务请求发送给后端一节点A前,检测节点A是否为死亡状态,若是,将本次业务请求发送给状态为健康的其它节点;否则,将本次业务请求发送给节点A;
步骤3,以T1为周期定期检测节点A的健康状态:统计T1内节点A收到的业务请求次数Qa和成功处理业务请求的次数qa,计算节点A的健康值R=qa/Qa;如果R超过设定的阈值T,则节点A的状态为健康,否则为不健康;
步骤4,如果节点A的状态为健康,向节点A正常发送业务请求;如果节点A的状态为不健康,减少发送给节点A的业务请求的数量,若节点A的某次处理失败,将处理失败的业务请求发送给状态为健康的其它节点。
与现有技术相比,本发明具有以下有益效果:
本发明通过定量计算节点的健康值,并将所述健康值与设定的阈值进行比较判断节点的状态是健康或不健康,当节点状态为健康时,向该节点正常发送业务请求;当节点状态为不健康时,减少发送给该节点的业务请求的数量,如果该节点的某次处理失败,将处理失败的业务请求发送给状态为健康的其它节点,实现了根据节点健康状态对节点流量(业务请求数量)的自动调整。本发明通过定期检测节点的健康状态,减小不健康节点的流量,使不健康节点不能正常处理的业务请求得到正常处理;并能在节点变为健康状态时恢复其正常流量,从而提高了网络的整体数据处理能力。
附图说明
图1为本发明实施例一种节点健康状态检测及处理方法的流程图。
具体实施方式
下面结合附图对本发明作进一步详细说明。
本发明实施例一种节点健康状态检测及处理方法,流程图如图1所示,所述方法包括以下步骤:
S101、接收前端发来的业务请求,检测集群状态是否为超速,若集群状态是超速,直接丢弃本次业务请求;否则,转S102;
S102、将本次业务请求发送给后端一节点A前,检测节点A是否为死亡状态,若是,将本次业务请求发送给状态为健康的其它节点;否则,将本次业务请求发送给节点A;
S103、以T1为周期定期检测节点A的健康状态:统计T1内节点A收到的业务请求次数Qa和成功处理业务请求的次数qa,计算节点A的健康值R=qa/Qa;如果R超过设定的阈值T,则节点A的状态为健康,否则为不健康;
S104、如果点A的状态为健康,向节点A正常发送业务请求;如果节点A的状态为不健康,减少发送给节点A的业务请求的数量,若节点A的某次处理失败,将处理失败的业务请求发送给状态为健康的其它节点。
在本实施例中,步骤S101主要用来检测集群状态是否为超速并做出相应处理。接收前端发送的业务请求,在发送给后端节点前要检测集群状态是否为超速,如果超速,直接丢弃本次业务请求。本实施例引入集群超速检测,是为了防止由于突然的高并发业务请求,导致后端处理不及时,从而造成节点状态检测不准确。前端是指调搜索接口的模块,可以是APP或者Web页面等。
在本实施例中,步骤S102主要用于将接收到的业务请求发送给后端存活的节点。为了保证所述业务请求能够得到处理,在发送给后端某节点前,先检测该节点是否为死亡状态,如果是死亡状态,将本次业务请求发送给状态为健康的其它节点;如果不是死亡状态,将本次业务请求发送给该节点。在本实施例中,节点的状态包括死亡、不健康和健康三种,后两种都属于非死亡状态或存活状态。因此,本步骤是保证将业务请求最好发送给健康节点,其次是发送给不健康节点的,不能发送给死亡节点。
在本实施例中,步骤S103主要用于定期检测节点的健康状态。检测方法是:首先计算点的健康值,健康值等于检测周期T1内该节点成功处理业务请求的次数与接收到的所有业务请求次数的比值;然后将健康值与设定的阈值进行比较,如果健康值超过了设定的阈值,则节点的状态为健康;否则为不健康。检测周期T1可根据行业经验选取,一般可取1分钟。设定的阈值也可以根据行业经验选取一个常量,如0.5,也可以根据健康值的大小动态设定。
在本实施例中,步骤S104主要用于根据节点的健康状态调整分配给该节点的业务请求的数量。对于状态为健康的节点,向其正常发送业务请求;对于状态为不健康的节点,为了保证业务请求能够成功被处理,不再把所有业务请求全部发送给该节点,比如,可以每M个业务请求只发送一个给该节点。如果减少发送业务请求后,该节点仍然有处理不成功的业务请求,则将失败的业务请求发送给其它状态为健康的节点。节点的健康状态是周期测量的,如果发送该节点的健康状态由不健康转为健康,则恢复向该节点正常发送业务请求。
作为一种可选实施例,所述S101检测集群状态是否为超速的方法包括:
统计一段时间T2内接收到的业务请求的次数Q,当Q超过设定的阈值N时,集群状态为超速;如果Q没有超过N,则集群状态为未超速。
本实施例给出了一种检测集群状态是否为超速的技术方案。本实施例通过统计一段时间T2内接收到的业务请求的次数Q,将Q与设定的阈值N进行比较,如果Q超过N则认为集群状态为超速;否则为未超速。T2根据行业经验选取,一般可取1分钟。阈值N由系统单位时间处理业务请求的能力决定,可根据行业经验选取,也可通过实验确定其大小,比如,先设置N为1000,看系统在T2内(如1分钟)处理1000个业务请求时是否正常,如果正常,则上调N,否则下调N,直到找到系统T2内可处理的最大请求数N。
作为一种可选实施例,检测节点A是否为死亡状态的方法包括:
向节点A发送心跳数据包;
如果没有收到节点A的回复,则节点A的状态为死亡;
如果收到节点A的回复,且节点A的上一状态为死亡,则将节点A的状态更新为健康;
如果收到节点A的回复,且节点A的上一状态为健康或不健康,则节点A的状态不变。
本实施例给出了检测节点是否为死亡状态的一种技术方案。本实施例通过向节点发送心跳数据包,根据节点的回复情况判断节点是否处于死亡状态。如果没有收到节点的回复,则可认为该节点处于死亡状态;如果收到了节点的回复,且该节点上一状态为健康或不健康,则保持其状态不变;若该节点上一状态为死亡,即上一次心跳检测没有回复,其死亡原因一般是后端程序挂了(如进程被kill、服务器挂了或网络中断),而本次心跳检测到有回复,一般是程序重启完成(如服务器重启完成或网络设备重启完成)。对于这些情况,认为重启完成的初始状态为健康,可以正常接收所有业务请求,因此,将节点状态设置为健康(不必先设置为不健康,再从不健康到健康)。
作为一种可选实施例,所述S103中当前检测周期的阈值Tn为:
Figure BDA0002592641130000051
式中,Rn-1为前检测周期前一检测周期节点A的健康值。
本实施例给出了一种动态设定健康状态检测阈值的技术方案。在本实施例中,每个检测周期设定不同的阈值,当前检测周期阈值Tn的计算公式如上面的分式,Tn只与上一检测周期的健康值Rn-1有关,Rn-1越大,阈值也越大,0.5≤Tn<1。
上述仅对本发明中的几种具体实施例加以说明,但并不能作为本发明的保护范围,凡是依据本发明中的设计精神所做出的等效变化或修饰或等比例放大或缩小等,均应认为落入本发明的保护范围。

Claims (4)

1.一种节点健康状态检测及处理方法,其特征在于,包括以下步骤:
步骤1,接收前端发来的业务请求,检测集群状态是否为超速,若集群状态是超速,直接丢弃本次业务请求;否则,转步骤2;
步骤2,将本次业务请求发送给后端一节点A前,检测节点A是否为死亡状态,若是,将本次业务请求发送给状态为健康的其它节点;否则,将本次业务请求发送给节点A;
步骤3,以T1为周期定期检测节点A的健康状态:统计T1内节点A收到的业务请求次数Qa和成功处理业务请求的次数qa,计算节点A的健康值R=qa/Qa;如果R超过设定的阈值T,则节点A的状态为健康,否则为不健康;
步骤4,如果节点A的状态为健康,向节点A正常发送业务请求;如果节点A的状态为不健康,减少发送给节点A的业务请求的数量,若节点A的某次处理失败,将处理失败的业务请求发送给状态为健康的其它节点。
2.根据权利要求1所述的节点健康状态检测及处理方法,其特征在于,所述步骤1检测集群状态是否为超速的方法包括:
统计一段时间T2内接收到的业务请求的次数Q,当Q超过设定的阈值N时,集群状态为超速;如果Q没有超过N,则集群状态为未超速。
3.根据权利要求1所述的节点健康状态检测及处理方法,其特征在于,检测节点A是否为死亡状态的方法包括:
向节点A发送心跳数据包;
如果没有收到节点A的回复,则节点A的状态为死亡;
如果收到节点A的回复,且节点A的上一状态为死亡,则将节点A的状态更新为健康;
如果收到节点A的回复,且节点A的上一状态为健康或不健康,则节点A的状态不变。
4.根据权利要求1所述的节点健康状态检测及处理方法,其特征在于,所述步骤3当前检测周期的阈值Tn为:
Figure FDA0002592641120000021
式中,Rn-1为当前检测周期前一检测周期节点A的健康值。
CN202010699875.0A 2020-07-20 2020-07-20 一种节点健康状态检测及处理方法 Active CN111865722B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010699875.0A CN111865722B (zh) 2020-07-20 2020-07-20 一种节点健康状态检测及处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010699875.0A CN111865722B (zh) 2020-07-20 2020-07-20 一种节点健康状态检测及处理方法

Publications (2)

Publication Number Publication Date
CN111865722A true CN111865722A (zh) 2020-10-30
CN111865722B CN111865722B (zh) 2022-07-05

Family

ID=73001735

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010699875.0A Active CN111865722B (zh) 2020-07-20 2020-07-20 一种节点健康状态检测及处理方法

Country Status (1)

Country Link
CN (1) CN111865722B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113312234A (zh) * 2021-05-18 2021-08-27 福建天泉教育科技有限公司 一种健康检测的优化方法及终端

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100195489A1 (en) * 2009-02-03 2010-08-05 Google Inc. Interface monitoring for link aggregation
CN108900379A (zh) * 2018-07-09 2018-11-27 广东神马搜索科技有限公司 分布式网络业务调度方法、装置、计算设备和存储介质
CN110351311A (zh) * 2018-04-02 2019-10-18 亿度慧达教育科技(北京)有限公司 负载均衡方法及计算机存储介质
CN110839068A (zh) * 2019-11-04 2020-02-25 安超云软件有限公司 业务请求处理方法、装置、电子设备及可读存储介质
CN110874238A (zh) * 2018-09-03 2020-03-10 阿里巴巴集团控股有限公司 一种线上业务更新方法及其装置
CN111078391A (zh) * 2018-10-22 2020-04-28 阿里巴巴集团控股有限公司 一种业务请求处理方法、装置及设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100195489A1 (en) * 2009-02-03 2010-08-05 Google Inc. Interface monitoring for link aggregation
CN110351311A (zh) * 2018-04-02 2019-10-18 亿度慧达教育科技(北京)有限公司 负载均衡方法及计算机存储介质
CN108900379A (zh) * 2018-07-09 2018-11-27 广东神马搜索科技有限公司 分布式网络业务调度方法、装置、计算设备和存储介质
CN110874238A (zh) * 2018-09-03 2020-03-10 阿里巴巴集团控股有限公司 一种线上业务更新方法及其装置
CN111078391A (zh) * 2018-10-22 2020-04-28 阿里巴巴集团控股有限公司 一种业务请求处理方法、装置及设备
CN110839068A (zh) * 2019-11-04 2020-02-25 安超云软件有限公司 业务请求处理方法、装置、电子设备及可读存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113312234A (zh) * 2021-05-18 2021-08-27 福建天泉教育科技有限公司 一种健康检测的优化方法及终端

Also Published As

Publication number Publication date
CN111865722B (zh) 2022-07-05

Similar Documents

Publication Publication Date Title
CN110365765B (zh) 一种缓存服务器的带宽调度方法及装置
CN113810304A (zh) 一种负载均衡方法、装置、设备和计算机存储介质
CN107204875B (zh) 数据上报链路监测方法、装置、电子设备及存储介质
CN110162270B (zh) 基于分布式存储系统的数据存储方法、存储节点及介质
CN110809060B (zh) 一种应用服务器集群的监控系统及监控方法
CN111562889B (zh) 数据处理方法、装置、系统及存储介质
CN113472852A (zh) 一种cdn节点的回源方法、装置及设备
CN112711479A (zh) 服务器集群的负载均衡系统、方法、装置和存储介质
CN112383585A (zh) 消息处理系统、方法及电子设备
CN111865722B (zh) 一种节点健康状态检测及处理方法
CN110896382B (zh) 流量控制方法、装置、设备和计算机可读存储介质
CN110311963B (zh) 消息推送方法、装置、计算机设备及计算机可读存储介质
CN106936926B (zh) 访问数据节点的方法及系统
CN113676365B (zh) 一种访问请求的处理方法、装置及电子设备
CN110083485B (zh) 分流方法、数据服务系统及其前端、存储介质
CN113438274A (zh) 数据传输方法、装置、计算机设备及可读存储介质
CN112367386A (zh) 基于Ignite的自动化运维方法、装置及计算机设备
CN113934531A (zh) 一种高吞吐量流处理方法及装置
CN112671905B (zh) 服务调度方法、装置及系统
CN113810383B (zh) Web应用防火墙及拥塞控制方法、介质及电子设备
CN112637362B (zh) 请求结果确定方法、装置、系统、电子设备及存储介质
CN116996517B (zh) 负载均衡方法、装置、电子设备和介质
CN113542012B (zh) 一种故障检测方法、故障检测装置及电子设备
CN111641698B (zh) 一种数据统计方法、系统、设备及存储介质
CN116915584B (zh) 一种在网计算异常处理方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant