CN106302595A - 一种对服务器进行健康检查的方法及设备 - Google Patents

一种对服务器进行健康检查的方法及设备 Download PDF

Info

Publication number
CN106302595A
CN106302595A CN201510296417.1A CN201510296417A CN106302595A CN 106302595 A CN106302595 A CN 106302595A CN 201510296417 A CN201510296417 A CN 201510296417A CN 106302595 A CN106302595 A CN 106302595A
Authority
CN
China
Prior art keywords
physical examination
server
described server
result
examination result
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
CN201510296417.1A
Other languages
English (en)
Other versions
CN106302595B (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201510296417.1A priority Critical patent/CN106302595B/zh
Priority to TW104142799A priority patent/TW201711432A/zh
Priority to US15/170,654 priority patent/US10659552B2/en
Priority to PCT/US2016/035292 priority patent/WO2016196647A1/en
Publication of CN106302595A publication Critical patent/CN106302595A/zh
Application granted granted Critical
Publication of CN106302595B publication Critical patent/CN106302595B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • H04L43/065Generation of reports related to network devices
    • 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
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1029Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/78Architectures of resource allocation

Abstract

本申请的目的是提供一种对服务器进行健康检查的方法及设备。具体地,所述方法包括负载均衡设备向健康检查缓存设备发起关于服务器健康检查的询问消息,负载均衡设备获取并处理健康检查缓存设备所返回的所述服务器的健康检查结果的相关信息,以获得所述服务器的健康检查结果。进一步地,当健康检查缓存设备首次获得所述负载均衡器所提交的所述服务器的健康检查结果时不更新,第二次获得时再更新所述服务器的健康检查结果的相关信息,以保证每台负载均衡器都有机会对后端服务器进行健康检查。与现有技术相比,通过健康检查缓存设备对所述服务器的健康检查结果进行缓存,以减少健康检查的次数,减轻健康检查给服务器带来的压力。

Description

一种对服务器进行健康检查的方法及设备
技术领域
本申请涉及计算机领域,尤其涉及一种用于对服务器进行健康检查的技术。
背景技术
服务器负载均衡是一种将客户端的访问流量均衡到多个后端服务器的技术,以实现对服务器负载的均衡效果。其中,健康检查是负载均衡服务中非常重要的功能,负载均衡器将流量转发到后端服务器上,需要通过健康检查来探测后端服务器是否在正常提供服务。若对处于异常状态的后端服务器的健康检查连续成功的次数达到“健康检查正常阈值”,则认为该后端服务器恢复到正常状态,并开始对它进行流量转发;若对处于正常状态的后端服务器的健康检查连续失败的次数达到“健康检查异常阈值”,则认为该后端服务器处于异常状态,并停止对它的流量转发。
在现有的系统中,通常有一组负载均衡器进行流量转发,假设一组负载均衡器的数量是N,这组中的每个负载均衡器每隔一个时间间隔对后端服务器进行一次健康检查。那么对于后端服务器而言,一个时间间隔内接收到的健康检查次数就为N。如果随着业务流量的增加,需要对负载均衡器进行扩容,即数量由N增大到M,那么后端服务器在一个时间间隔内接收到的健康检查次数也会增大到M。如果后端服务器的性能不够强大,那么健康检查产生的流量就会给后端服务器带来一定的负担;如果后端服务器的配置不够优化,那么健康检查也会造成过多的垃圾日志。因此需要提供一种减少健康检查次数的方法,避免过量的健康检查给后端服务器带来额外的压力。
发明内容
本申请的一个目的是提供一种对服务器进行健康检查的方法及设备。
根据本申请的一个方面,提供了一种在健康检查缓存设备端对服务器进行健康检查的方法,其中,所述方法包括:根据负载均衡器所发起的关于服务器健康检查的询问消息获取所述服务器的健康检查结果的相关信息;向所述负载均衡器返回所述服务器的健康检查结果的相关信息。
进一步地,所述服务器的健康检查结果的相关信息包括:所述服务器是否正在被健康检查的信息;所述服务器的健康检查结果或不具有所述服务器的健康检查结果的信息。
进一步地,所述方法还包括:根据所述负载均衡器所提交的所述服务器的健康检查结果对所述服务器的健康检查结果的相关信息进行相应的更新;及根据所述负载均衡器所发起的正在对所述服务器进行健康检查或对所述服务器的健康检查结束的消息对所述服务器的健康检查结果的相关信息进行相应的更新。
进一步地,所述对所述服务器的健康检查结果的相关信息进行相应的更新还包括:将所述更新后的健康检查结果发送至分布式缓存设备。
进一步地,所述根据所述负载均衡器所提交的所述服务器的健康检查结果对所述服务器的健康检查结果的相关信息进行相应的更新包括:根据所述负载均衡器所提交的所述服务器的健康检查结果直接更新所述服务器的健康检查结果的相关信息。
进一步地,所述根据所述负载均衡器所提交的所述服务器的健康检查结果对所述服务器的健康检查结果的相关信息进行相应的更新包括:当首次获得所述负载均衡器所提交的所述服务器的健康检查结果时,不更新所述服务器的健康检查结果的相关信息;当再次获得所述负载均衡器所提交的所述服务器的健康检查结果时,更新所述服务器的健康检查结果的相关信息。
进一步地,所述当首次获得所述负载均衡器所提交的所述服务器的健康检查结果时不更新所述服务器的健康检查结果的相关信息还包括:请求所述分布式缓存设备插入一尝试主键,所述尝试主键用于标记有过一次尝试写入,且所述尝试主键在第三预设时间内有效;
所述当再次获得所述负载均衡器所提交的所述服务器的健康检查结果时更新所述服务器的健康检查结果的相关信息还包括:请求所述分布式缓存设备删除所述尝试主键的指令。
进一步地,所述方法还包括:当所述健康检查结果的最新更新时间与当前时间差超出第一预设时间,则删除所述健康检查结果,并对所述服务器的健康检查结果的相关信息进行相应的更新。
根据本申请的一个方面,提供了一种在负载均衡设备端对服务器进行健康检查的方法,其中,所述方法包括:向健康检查缓存设备发起关于服务器健康检查的询问消息;获取所述健康检查缓存设备所返回的关于服务器健康检查结果的相关信息;处理所述服务器健康检查结果的相关信息,以获得所述服务器的健康检查结果。
进一步地,所述处理所述服务器健康检查结果的相关信息以获得所述服务器的健康检查结果包括:当所述服务器健康检查结果的相关信息中包括所述服务器正在被健康检查的消息,则等待第二预设时间后再次执行所述向健康检查缓存设备发起关于服务器健康检查的询问消息至所述处理所述服务器健康检查结果的相关信息,以获得所述服务器的健康检查结果;否则,当所述服务器健康检查结果的相关信息中包括具有所述服务器健康检查结果,则直接获取该健康检查结果;否则,当所述健康检查相关信息中包括不具有所述服务器健康检查结果的信息,则对所述服务器进行健康检查,以获得所述服务器的健康检查结果。
进一步地,所述对所述服务器进行健康检查包括:对所述服务器进行健康检查时,向所述健康检查缓存设备发起所述服务器正在被健康检查的消息;对所述服务器的健康检查结束后,向所述健康检查缓存设备发起对所述服务器的健康检查已结束的消息。
进一步地,所述对所述服务器进行健康检查还包括:对所述服务器的健康检查结束后,将获得的所述服务器的健康检查结果提交给所述健康检查缓存设备以备更新。
根据本申请的另一个方面,提供了一种对服务器进行健康检查的健康检查缓存设备,其中,所述设备包括:第一装置,用于根据负载均衡器所发起的关于服务器健康检查的询问消息获取所述服务器的健康检查结果的相关信息;第二装置,用于向所述负载均衡器返回所述服务器的健康检查结果的相关信息。
进一步地,所述服务器的健康检查结果的相关信息包括:所述服务器是否正在被健康检查的信息;所述服务器的健康检查结果或不具有所述服务器的健康检查结果的信息。
进一步地,所述设备还包括:第三装置,用于根据所述负载均衡器所提交的所述服务器的健康检查结果对所述服务器的健康检查结果的相关信息进行相应的更新;及第四装置,用于根据所述负载均衡器所发起的正在对所述服务器进行健康检查或对所述服务器的健康检查结束的消息对所述服务器的健康检查结果的相关信息进行相应的更新。
进一步地,所述第三装置还包括:第一单元,用于将所述更新后的健康检查结果发送至分布式缓存设备。
进一步地,所述第三装置包括:第二单元,用于根据所述负载均衡器所提交的所述服务器的健康检查结果直接更新所述服务器的健康检查结果的相关信息。
进一步地,所述第三装置包括:第三单元,用于当首次获得所述负载均衡器所提交的所述服务器的健康检查结果时,不更新所述服务器的健康检查结果的相关信息;第四单元,用于当再次获得所述负载均衡器所提交的所述服务器的健康检查结果时,更新所述服务器的健康检查结果的相关信息。
进一步地,所述第三单元还包括:第一子单元,用于请求所述分布式缓存设备插入一尝试主键,所述尝试主键用于标记有过一次尝试写入,且所述尝试主键在第三预设时间内有效;
所述第四单元还包括:第二子单元,用于请求所述分布式缓存设备删除所述尝试主键的指令。
进一步地,所述设备还包括:第五装置,用于当所述健康检查结果的最新更新时间与当前时间差超出第一预设时间,则删除所述健康检查结果,并对所述服务器的健康检查结果的相关信息进行相应的更新。
根据本申请的另一个方面,提供了一种对服务器进行健康检查的负载均衡设备,其中,所述设备包括:第六装置,用于向健康检查缓存设备发起关于服务器健康检查的询问消息;第七装置,用于获取所述健康检查缓存设备所返回的关于服务器健康检查结果的相关信息;第八装置,用于处理所述服务器健康检查结果的相关信息,以获得所述服务器的健康检查结果。
进一步地,所述第八装置包括:第五单元,用于当所述服务器健康检查结果的相关信息中包括所述服务器正在被健康检查的消息,则等待第二预设时间后再次执行所述第六装置至所述第八装置;否则,第六单元,用于当所述服务器健康检查结果的相关信息中包括具有所述服务器健康检查结果,则直接获取该健康检查结果;否则,第七单元,用于当所述健康检查相关信息中包括不具有所述服务器健康检查结果的信息,则对所述服务器进行健康检查,以获得所述服务器的健康检查结果。
进一步地,所述第七单元包括:第三子单元,用于对所述服务器进行健康检查时,向所述健康检查缓存设备发起所述服务器正在被健康检查的消息;第四子单元,用于对所述服务器的健康检查结束后,向所述健康检查缓存设备发起对所述服务器的健康检查已结束的消息。
进一步地,所述第七单元还包括:第五子单元,用于对所述服务器的健康检查结束后,将获得的所述服务器的健康检查结果提交给所述健康检查缓存设备以备更新。
与现有技术相比,本申请的一个实施例中,负载均衡器在对服务器进行健康检查之前,先向健康检查缓存设备发起关于服务器健康检查的询问消息,获取并处理健康检查缓存设备所返回的所述服务器的健康检查结果的相关信息,其中,若健康检查缓存设备所返回的所述健康检查结果的相关信息中包括所述服务器的健康检查结果,则所述负载均衡器直接获取该健康检查结果,而不需要再对所述服务器进行健康检查;若健康检查缓存设备所返回的所述健康检查结果的相关信息中包括不具有所述服务器的健康检查结果且有其他负载均衡器正在对所述服务器进行健康检查,则所述负载均衡器会等待第二预设时间后再发起询问消息;若健康检查缓存设备所返回的所述健康检查结果的相关信息中包括不具有所述服务器的健康检查结果且没有其他负载均衡器正在对所述服务器进行健康检查,则会触发所述负载均衡器对所述服务器的健康检查,健康检查缓存设备根据所述负载均衡器开始或结束健康检查的消息对所述健康检查结果的相关信息进行相应的更新,并根据在健康检查结束后获取的所述服务器的健康检查结果对健康检查结果的相关信息进行相应的更新,那么后续的负载均衡器可以直接获取该健康检查结果,而不需要进行重复的健康检查。
进一步地,当健康检查缓存设备首次获得所述负载均衡器所提交的所述服务器的健康检查结果时,不更新所述服务器的健康检查结果的相关信息;当健康检查缓存设备再次获得所述负载均衡器所提交的所述服务器的健康检查结果时,更新所述服务器的健康检查结果的相关信息,以保证每台负载均衡器都有机会对后端服务器进行健康检查。
如此,通过健康检查缓存设备对所述服务器的健康检查结果进行缓存,可以减少健康检查的次数,减轻健康检查给服务器带来的压力。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出根据本申请一个方面的一个实施例的一种对服务器进行健康检查的健康检查缓存设备示意图;
图2示出根据本申请一个方面的一个优选实施例的一种对服务器进行健康检查的健康检查缓存设备示意图;
图3示出根据本申请一个方面的又一个优选实施例的一种对服务器进行健康检查的健康检查缓存设备第三装置示意图;
图4示出根据本申请又一个方面的一个实施例的一种对服务器进行健康检查的负载均衡设备示意图;
图5示出根据本申请又一个方面的又一个实施例一种对服务器进行健康检查的负载均衡设备第八装置示意图;
图6示出根据本申请再一个方面的一个实施例的健康检查缓存设备及负载均衡设备配合的示意图;
图7示出根据本申请再一个方面的一个优选实施例的健康检查缓存设备及负载均衡设备配合的示意图;
图8示出根据本申请另一个方面的一个实施例的一种在健康检查缓存设备端对服务器进行健康检查的方法流程图;
图9示出根据本申请另一个方面的一个优选实施例的一种在健康检查缓存设备端对服务器进行健康检查的方法流程图;
图10示出根据本申请另一个方面的一个实施例的一种在负载均衡设备端对服务器进行健康检查的方法流程图;
图11示出根据本申请另一个方面的一个实施例的对服务器进行健康检查的方法流程图;
图12示出根据本申请另一个方面的一个优选实施例的对服务器进行健康检查的方法流程图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本申请作进一步详细描述。
图1示出根据本申请一个方面的一个实施例的一种对服务器进行健康检查的健康检查缓存设备1,其中,设备1包括第一装置11和第二装置12。
具体地,所述第一装置11根据负载均衡器所发起的关于服务器健康检查的询问消息获取所述服务器的健康检查结果的相关信息;所述第二装置12向所述负载均衡器返回所述服务器的健康检查结果的相关信息。
在此,所述设备1包括但不限于用户设备、网络设备、或用户设备与网络设备通过网络相集成所构成的设备。所述用户设备其包括但不限于任何一种可与用户通过触摸板进行人机交互的移动电子产品,例如智能手机、PDA等,所述移动电子产品可以采用任意操作系统,如android操作系统、iOS操作系统等。其中,所述网络设备包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(ASIC)、可编程门阵列(FPGA)、数字处理器(DSP)、嵌入式设备等。所述网络设备其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云;在此,云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟超级计算机。所述网络包括但不限于互联网、广域网、城域网、局域网、VPN网络、无线自组织网络(Ad Hoc网络)等。优选地,设备1还可以是运行于所述用户设备、网络设备、或用户设备与网络设备、网络设备、触摸终端或网络设备与触摸终端通过网络相集成所构成的设备上的脚本程序。当然,本领域技术人员应能理解上述设备1仅为举例,其他现有的或今后可能出现的设备1如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
上述各装置之间是持续不断工作的,在此,本领域技术人员应理解“持续”是指上述各装置分别实时地或者按照设定的或实时调整的工作模式要求,例如所述第一装置11持续根据负载均衡器所发起的关于服务器健康检查的询问消息获取所述服务器的健康检查结果的相关信息,所述第二装置12持续向所述负载均衡器返回所述服务器的健康检查结果的相关信息,直至所述设备1停止工作。
所述第一装置11根据负载均衡器所发起的关于服务器健康检查的询问消息获取所述服务器的健康检查结果的相关信息。
具体地,所述服务器的健康检查结果的相关信息包括:所述服务器是否正在被健康检查的信息;所述服务器的健康检查结果或不具有所述服务器的健康检查结果的信息。
在此,所述服务器是否正在被健康检查的信息是指:有其他的负载均衡器当前正在对所述服务器进行健康检查的信息。所述服务器的健康检查结果或不具有所述服务器的健康检查结果的信息是指:健康检查缓存设备中已有所述服务器的健康检查结果,或健康检查缓存设备中不具有所述服务器的健康检查结果且没有其他负载均衡器正在对所述服务器进行健康检查的信息。
所述第二装置12向所述负载均衡器返回所述服务器的健康检查结果的相关信息。
具体的,例如,假设所述第一装置11根据负载均衡器A发起关于服务器健康检查的询问消息,若此时另有一台负载均衡器B正在对所述服务器进行健康检查,则所述第二装置12向负载均衡器A返回所述服务器正在被健康检查的信息;若健康检查缓存设备1中已保存有所述服务器的健康检查结果,则所述第二装置12向负载均衡器A返回该健康检查结果;若健康检查缓存设备1中没有所述服务器的健康检查结果,且没有其他负载均衡器正在对所述服务器进行健康检查,则所述第二装置12向负载均衡器A返回不具有所述服务器的健康检查结果的信息。
图2示出根据本申请一个方面的一个优选实施例的一种对服务器进行健康检查的健康检查缓存设备1,其中,所述设备1包括第一装置11’、第二装置12’、第三装置13’和第四装置14’。
在此,所述第一装置11’、第二装置12’与图1中第一装置11、第二装置12的内容相同或基本相同,为简明起见,在此不再赘述。
具体地,所述第三装置13’根据所述负载均衡器所提交的所述服务器的健康检查结果对所述服务器的健康检查结果的相关信息进行相应的更新;所述第四装置14’根据所述负载均衡器所发起的正在对所述服务器进行健康检查或对所述服务器的健康检查结束的消息对所述服务器的健康检查结果的相关信息进行相应的更新。
例如,假设所述第一装置11’根据负载均衡器C所发起的关于服务器健康检查的询问消息获取所述服务器的健康检查结果的相关信息,所述第二装置12’向负载均衡器C返回不具有所述服务器的健康检查结果的信息,于是负载均衡器C开始对所述服务器进行健康检查,所述第四装置14’根据负载均衡器C正在对所述服务器进行健康检查的消息进行相应的更新,更新后的所述健康检查结果的相关信息包括:不具有所述服务器的健康检查结果,以及所述服务器正在被健康检查。当负载均衡器C对所述服务器的健康检查结束后,所述第三装置13’根据负载均衡器C所提交的所述服务器的健康检查结果进行相应的更新,更新后的所述健康检查结果的相关信息包括:所述服务器的健康检查结果,以及当下没有负载均衡器对所述服务器进行健康检查。所述第四装置14’根据负载均衡器C对所述服务器的健康检查结束的消息对所述健康检查结果的相关信息进行相应的更新。
优选地,所述第三装置13’还包括第一单元(图中未示出)。所述第一单元将所述更新后的健康检查结果发送至分布式缓存设备。
例如,所述分布式缓存设备可以是Redis(一个开源的键值对缓存和存储系统,用来存储多种类型的键值对数据)。具体地,所述健康检查结果以<key,value>的方式进行存储,其中,key标示一个后端服务器,value标示健康检查的结果,1为正常,0为异常。健康检查缓存设备通过Redis的SET指令,将健康检查结果插入Redis中。假设ip地址为1.1.1.1的服务器的健康检查结果为正常,那么健康检查缓存设备就会给Redis发出指令“SET 1.1.1.11”。如果所述第一装置根据负载均衡器发起关于服务器健康检查的询问消息,则健康检查缓存设备通过Redis的GET指令进行查询。假如要查询ip地址为1.1.1.1的服务器的健康检查结果,那么健康检查缓存设备就会给Redis发出指令“GET 1.1.1.1”。如果“GET 1.1.1.1”的返回结果为空,就表示不具有所述服务器的健康检查结果的信息。本领域技术人员应能理解上述分布式缓存设备及对数据进行写入或读取的方式仅为举例,其他现有的或今后可能出现的分布式缓存设备及对数据进行写入或读取的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
在一可选的实施例中,所述第三装置13’可以包括第二单元(图中未示出)。所述第二单元根据所述负载均衡器所提交的所述服务器的健康检查结果直接更新所述服务器的健康检查结果的相关信息。
在此,当所述第二单元在获得所述负载均衡器所提交的所述服务器的健康检查结果时,就会直接更新所述健康检查结果的相关信息。直接更新的方法可以达到快速更新所述健康检查结果的相关信息的目的,减少更新所需要的时间。
图3示出根据本申请一个方面的又一个优选实施例的一种对服务器进行健康检查的健康检查缓存设备第三装置13’示意图,其中,所述第三装置13’包括第三单元133和第四单元134。
具体地,所述第三单元133用于当首次获得所述负载均衡器所提交的所述服务器的健康检查结果时,不更新所述服务器的健康检查结果的相关信息;所述第四单元134用于当再次获得所述负载均衡器所提交的所述服务器的健康检查结果时,更新所述服务器的健康检查结果的相关信息。
优选地,所述第三单元133还包括:第一子单元(图中未示出),用于请求所述分布式缓存设备插入一尝试主键,所述尝试主键用于标记有过一次尝试写入,且所述尝试主键在第三预设时间内有效;所述第四单元134还包括:第二子单元(图中未示出),用于请求所述分布式缓存设备删除所述尝试主键的指令。
第三预设时间指的是尝试主键的有效时间,若超过第三预设时间,尝试主键会被自动删除,以避免因个别机器故障而导致系统无法正常运行。在此需要注意的是,若在第三预设时间之内收到所述第二子单元请求所述分布式缓存设备删除所述尝试主键的指令,尝试主键也会被删除,因为此时所述第四单元134已完成更新所述服务器的健康检查结果的相关信息。
在此,所述第三预设时间的时间长度不被限制,根据用户设置确定,不再赘述。
假设例如,在实际场景中,负载均衡器A、B、C的启动时间相差1s,对所述服务器的健康检查的时间间隔为10s。假设在对所述服务器的健康检查的每个时间间隔内,第一台负载均衡器A发起查询消息时,所述第二装置12’返回的所述健康检查结果的相关信息包括不具有所述服务器的健康检查结果,则会触发负载均衡器A对服务器的健康检查。当负载均衡器A完成健康检查并且试图将健康检查结果写入健康检查缓存设备时,所述第三单元133不更新所述服务器的健康检查结果的相关信息,即健康检查缓存设备不会将该健康检查结果写入Redis,所述第一单元向Redis发送指令以插入一个尝试主键k_try,来记录有过一次尝试写入所述服务器的健康检查结果。若超过尝试主键k_try的第三预设时间,系统会自动删除k_try。当第二台负载均衡器B发起查询消息时,因为第一台负载均衡器A的健康检查结果没有写入Redis,所以所述第二装置12’返回的所述健康检查结果的相关信息仍然包括不具有所述服务器的健康检查结果,因此触发第二台负载均衡器B对服务器的健康检查。所述第四单元134更新所述服务器的健康检查结果的相关信息,并删除尝试主键k_try,所述第一单元将健康检查结果发送至Redis进行缓存。此后第三台负载均衡器C或其他负载均衡器发起查询消息,所述第二装置12’返回的所述健康检查结果的相关信息均包括所述服务器的健康检查结果,而不需要再对所述服务器进行健康检查。
当然,本领域技术人员应能理解上述负载均衡器的数量、负载均衡器的启动时间、对所述服务器的健康检查的时间间隔仅为举例,其他现有的或今后可能出现的上述内容相关的变化如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
进一步的,设备1还可以包括第五装置(图中未示出)。所述第五装置用于当所述健康检查结果的最新更新时间与当前时间差超出第一预设时间,则删除所述健康检查结果,并对所述服务器的健康检查结果的相关信息进行相应的更新。
在此,所述第一预设时间的时间长度不被限制,根据用户设置确定,不再赘述。在超出第一预设时间删除所述服务器的健康检查结果后,及时将所述健康检查结果的相关信息更新为包括不具有所述服务器的健康检查结果,从而触发随后的负载均衡器对所述服务器的健康检查,获取新的所述服务器的健康检查结果,保持时效性。
例如,接上例,为了保证在每个时间间隔(interval)内都至少有一台负载均衡器对服务器进行了健康检查,在将所述服务器的健康检查结果写入Redis的同时,还需要利用Redis的EXPIRE指令为健康检查结果<key,value>设置第一预设时间,该第一预设时间也即健康检查结果失效时间为interval。假设interval=10s,那么在为ip地址1.1.1.1的服务器写入健康检查结果之后,健康检查缓存设备还需要给Redis发出指令“EXPIRE1.1.1.110”。在经过10s之后,ip地址1.1.1.1的服务器的健康检查结果就会被从Redis中删除,其他负载均衡器再发起查询消息,会被告知不具有所述服务器的健康检查结果的信息,从而触发负载均衡器再次发起健康检查。
本领域技术人员应能理解上述第一预设时间及删除所述健康检查结果的方式仅为举例,其他现有的或今后可能出现的每隔一段时间相应地更新所述服务器的健康检查结果的相关信息的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
图4示出根据本申请又一个方面的一个实施例的一种对服务器进行健康检查的负载均衡设备2,其中,设备2包括第六装置26、第七装置27和第八装置28。
具体地,所述第六装置26向健康检查缓存设备发起关于服务器健康检查的询问消息;所述第七装置27获取所述健康检查缓存设备所返回的关于服务器健康检查结果的相关信息;所述第八装置28处理所述服务器健康检查结果的相关信息,以获得所述服务器的健康检查结果。
在此,所述设备2包括但不限于用户设备、网络设备、或用户设备与网络设备通过网络相集成所构成的设备。所述用户设备其包括但不限于任何一种可与用户通过触摸板进行人机交互的移动电子产品,例如智能手机、PDA等,所述移动电子产品可以采用任意操作系统,如android操作系统、iOS操作系统等。其中,所述网络设备包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(ASIC)、可编程门阵列(FPGA)、数字处理器(DSP)、嵌入式设备等。所述网络设备其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云;在此,云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟超级计算机。所述网络包括但不限于互联网、广域网、城域网、局域网、VPN网络、无线自组织网络(Ad Hoc网络)等。优选地,设备1还可以是运行于所述用户设备、网络设备、或用户设备与网络设备、网络设备、触摸终端或网络设备与触摸终端通过网络相集成所构成的设备上的脚本程序。当然,本领域技术人员应能理解上述设备2仅为举例,其他现有的或今后可能出现的设备2如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
上述各装置之间是持续不断工作的,在此,本领域技术人员应理解“持续”是指上述各装置分别实时地或者按照设定的或实时调整的工作模式要求,例如所述第六装置26持续向健康检查缓存设备发起关于服务器健康检查的询问消息,所述第七装置27持续获取所述健康检查缓存设备所返回的关于服务器健康检查结果的相关信息,所述第八装置28持续处理所述服务器健康检查结果的相关信息,以获得所述服务器的健康检查结果,直至所述设备2停止工作。
所述第六装置26向健康检查缓存设备发起关于服务器健康检查的询问消息。
在此,负载均衡设备可以由一台或多台负载均衡器构成,各个负载均衡器独立地向健康检查缓存设备发起关于服务器健康检查的询问消息。
例如,所述负载均衡器可以是支持四层负载均衡的LVS(Linux虚拟服务器),可以是支持七层负载均衡的Nginx,也可以是同时支持四层、七层负载均衡的HAProxy。本领域技术人员应能理解上述负载均衡器的类型仅为举例,其他现有的或今后可能出现的负载均衡器如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
所述第七装置27获取所述健康检查缓存设备所返回的关于服务器健康检查结果的相关信息。
在此,所述服务器的健康检查结果的相关信息包括:所述服务器是否正在被健康检查的信息;所述服务器的健康检查结果或不具有所述服务器的健康检查结果的信息。
所述第八装置28处理所述服务器健康检查结果的相关信息,以获得所述服务器的健康检查结果。
具体地,如图5所示,所述第八装置28可以包括:第五单元285、第六单元286和第七单元287。所述第五单元285用于当所述服务器健康检查结果的相关信息中包括所述服务器正在被健康检查的消息,则等待第二预设时间后再次执行所述第六装置至所述第八装置;否则,所述第六单元286用于当所述服务器健康检查结果的相关信息中包括具有所述服务器健康检查结果,则直接获取该健康检查结果;否则,所述第七单元287用于当所述健康检查相关信息中包括不具有所述服务器健康检查结果的信息,则对所述服务器进行健康检查,以获得所述服务器的健康检查结果。
在此,所述第二预设时间的时间长度不被限制,根据用户设置确定,不再赘述。
例如,假设负载均衡器A通过所述第六装置26向健康检查缓存设备发起关于服务器健康检查的询问消息,若此时另有一台负载均衡器B正在对所述服务器进行健康检查,则所述第八装置28处理的所述第七装置27获取的健康检查缓存设备返回的健康检查结果的相关信息包括所述服务器正在被健康检查,所述第五单元285等待第二预设时间后再次执行所述第六装置26至所述第八装置28;若健康检查缓存设备中已保存有所述服务器的健康检查结果,则所述第八装置28处理所述第七装置27获取的健康检查缓存设备返回的健康检查结果的相关信息,所述第六单元286直接获取该健康检查结果;若健康检查缓存设备中没有所述服务器的健康检查结果,且没有其他负载均衡器正在对所述服务器进行健康检查,则所述第八装置28处理的所述第七装置27获取的健康检查缓存设备返回的健康检查结果的相关信息包括所述健康检查缓存设备不具有所述服务器的健康检查结果,所述第七单元287对所述服务器进行健康检查,以获得所述服务器的健康检查结果。
具体地,所述第七单元287包括第三子单元(图中未示出)和第四子单元(图中未示出)。所述第三子单元在对所述服务器进行健康检查时,向所述健康检查缓存设备发起所述服务器正在被健康检查的消息;所述第四子单元在对所述服务器的健康检查结束后,向所述健康检查缓存设备发起对所述服务器的健康检查已结束的消息。
例如,假设负载均衡器C通过所述第六装置26向健康检查缓存设备发起关于服务器健康检查的询问消息,所述第八装置28处理的所述第七装置27获取的健康检查缓存设备返回的健康检查结果的相关信息包括所述健康检查缓存设备不具有所述服务器的健康检查结果,以及没有其他负载均衡器正在对所述服务器进行健康检查,则通过所述第七单元287对所述服务器进行健康检查。所述第三子单元在负载均衡器C对所述服务器的健康检查开始时,向所述健康检查缓存设备发起所述服务器正在被健康检查的消息,那么其他负载均衡器再向健康检查缓存设备发起关于服务器健康检查的询问消息,则健康检查缓存设备返回的健康检查结果的相关信息包括不具有所述服务器的健康检查结果,以及所述服务器正在被健康检查。所述第四子单元在负载均衡器C对所述服务器的健康检查结束后,向所述健康检查缓存设备发起对所述服务器的健康检查已结束的消息,那么其他负载均衡器再向健康检查缓存设备发起关于服务器健康检查的询问消息,则健康检查缓存设备返回的健康检查结果的相关信息包括所述服务器的健康检查结果或不具有所述服务器的健康检查结果的信息,以及没有其他负载均衡器正在对所述服务器进行健康检查的信息。
具体地,所述第七单元287还包括第五子单元(图中未示出)。所述第五子单元在对所述服务器的健康检查结束后,将获得的所述服务器的健康检查结果提交给所述健康检查缓存设备以备更新。
在此,所述第五子单元会将所述服务器的健康检查结果提交给健康检查缓存设备,健康检查设备可以直接用该健康检查结果进行更新,也可以首次收到健康检查结果时不更新,第二次收到健康检查结果时再进行更新。
图6示出根据本申请再一个方面的一个实施例的健康检查缓存设备及负载均衡设备配合的示意图。所述健康检查缓存设备1包括第一装置11”和第二装置12”,所述负载均衡设备2包括第六装置26’、第七装置27’和第八装置28’。设备2的第六装置26’向健康检查缓存设备发起关于服务器健康检查的询问消息,设备1的第一装置11”根据负载均衡器所发起的关于服务器健康检查的询问消息获取所述服务器的健康检查结果的相关信息,设备1的第二装置12”向所述负载均衡器返回所述服务器的健康检查结果的相关信息,设备2的第七装置27’获取所述健康检查缓存设备所返回的关于服务器健康检查结果的相关信息,设备2的第八装置28’处理所述服务器健康检查结果的相关信息,以获得所述服务器的健康检查结果。在此,设备1的第一装置11”、第二装置12”与图1中设备1的第一装置11、第二装置12的内容相同或基本相同,并且设备2的第六装置26’、第七装置27’、第八装置28’与图4中设备2的第六装置26、第七装置27、第八装置28的内容相同或基本相同,为简明起见,故在此不再赘述,并以引用的方式包含于此。
图7示出根据本申请再一个方面的一个优选实施例的健康检查缓存设备及负载均衡设备配合的示意图。所述健康检查缓存设备1包括第一装置11”’、第二装置12”’、第三装置13”’和第四装置14”’,所述负载均衡设备2包括第六装置26”、第七装置27”和第八装置28”。设备2的第六装置26”向健康检查缓存设备发起关于服务器健康检查的询问消息,第一装置11”’根据负载均衡器所发起的关于服务器健康检查的询问消息获取所述服务器的健康检查结果的相关信息,第二装置12”’向所述负载均衡器返回所述服务器的健康检查结果的相关信息,设备2的第七装置27”获取所述健康检查缓存设备所返回的关于服务器健康检查结果的相关信息,设备2的第八装置28”处理所述服务器健康检查结果的相关信息,以获得所述服务器的健康检查结果,第三装置13”’根据所述负载均衡器所提交的所述服务器的健康检查结果对所述服务器的健康检查结果的相关信息进行相应的更新;第四装置14”’根据所述负载均衡器所发起的正在对所述服务器进行健康检查或对所述服务器的健康检查结束的消息对所述服务器的健康检查结果的相关信息进行相应的更新。在此,第一装置11”’、第二装置12”’、第三装置13”’、第四装置14”’与图2中第一装置11’、第二装置12’、第三装置13’、第四装置14’的内容相同或基本相同,并且设备2的第六装置26”、第七装置27”、第八装置28”与图4中设备2的第六装置26、第七装置27、第八装置28的内容相同或基本相同,为简明起见,故在此不再赘述,并以引用的方式包含于此。
图8示出根据本申请另一个方面的一个实施例的一种在健康检查缓存设备端对服务器进行健康检查的方法流程图。
该方法包括步骤S81和步骤S82。具体地,在步骤S81中,设备1根据负载均衡器所发起的关于服务器健康检查的询问消息获取所述服务器的健康检查结果的相关信息;在步骤S82中,设备1向所述负载均衡器返回所述服务器的健康检查结果的相关信息。
在此,所述设备1包括但不限于用户设备、网络设备、或用户设备与网络设备通过网络相集成所构成的设备。所述用户设备其包括但不限于任何一种可与用户通过触摸板进行人机交互的移动电子产品,例如智能手机、PDA等,所述移动电子产品可以采用任意操作系统,如android操作系统、iOS操作系统等。其中,所述网络设备包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(ASIC)、可编程门阵列(FPGA)、数字处理器(DSP)、嵌入式设备等。所述网络设备其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云;在此,云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟超级计算机。所述网络包括但不限于互联网、广域网、城域网、局域网、VPN网络、无线自组织网络(Ad Hoc网络)等。优选地,设备1还可以是运行于所述用户设备、网络设备、或用户设备与网络设备、网络设备、触摸终端或网络设备与触摸终端通过网络相集成所构成的设备上的脚本程序。当然,本领域技术人员应能理解上述设备1仅为举例,其他现有的或今后可能出现的设备1如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
设备1的各个步骤之间是持续不断工作的。具体地,在步骤S81中,设备1持续根据负载均衡器所发起的关于服务器健康检查的询问消息获取所述服务器的健康检查结果的相关信息,在步骤S82中,设备1持续向所述负载均衡器返回所述服务器的健康检查结果的相关信息,直至所述设备1停止工作。
在步骤S81中,设备1根据负载均衡器所发起的关于服务器健康检查的询问消息获取所述服务器的健康检查结果的相关信息。
具体地,所述服务器的健康检查结果的相关信息包括:所述服务器是否正在被健康检查的信息;所述服务器的健康检查结果或不具有所述服务器的健康检查结果的信息。
在此,所述服务器是否正在被健康检查的信息是指:有其他的负载均衡器当前正在对所述服务器进行健康检查的信息。
所述服务器的健康检查结果或不具有所述服务器的健康检查结果的信息是指:健康检查缓存设备中已有所述服务器的健康检查结果,或健康检查缓存设备中不具有所述服务器的健康检查结果且没有其他负载均衡器正在对所述服务器进行健康检查的信息。
在步骤S82中,设备1向所述负载均衡器返回所述服务器的健康检查结果的相关信息。
具体的,例如,假设在步骤S81中,设备1根据负载均衡器A发起关于服务器健康检查的询问消息,若此时另有一台负载均衡器B正在对所述服务器进行健康检查,则在步骤S82中,设备1向负载均衡器A返回所述服务器正在被健康检查的信息;若健康检查缓存设备1中已保存有所述服务器的健康检查结果,则在步骤S82中,设备1向负载均衡器A返回该健康检查结果;若健康检查缓存设备1中没有所述服务器的健康检查结果,且没有其他负载均衡器正在对所述服务器进行健康检查,则在步骤S82中,设备1向负载均衡器A返回不具有所述服务器的健康检查结果的信息。
图9示出另一个方面的一个优选实施例的一种在健康检查缓存设备端对服务器进行健康检查的方法流程图。
该方法包括步骤S81’、步骤S82’、步骤S83’和步骤S84’。在此,所述步骤S81’、步骤S82’与图8中步骤S81、步骤S82的内容相同或基本相同,为简明起见,不再赘述。
具体地,在步骤S83’中,设备1根据所述负载均衡器所提交的所述服务器的健康检查结果对所述服务器的健康检查结果的相关信息进行相应的更新;在步骤S84’中,设备1根据所述负载均衡器所发起的正在对所述服务器进行健康检查或对所述服务器的健康检查结束的消息对所述服务器的健康检查结果的相关信息进行相应的更新。
例如,假设在步骤S81’中,设备1根据负载均衡器C所发起的关于服务器健康检查的询问消息获取所述服务器的健康检查结果的相关信息,在步骤S82’中,设备1向负载均衡器C返回不具有所述服务器的健康检查结果的信息,于是负载均衡器C开始对所述服务器进行健康检查,在步骤S84’中,设备1根据负载均衡器C正在对所述服务器进行健康检查的消息进行相应的更新,更新后的所述健康检查结果的相关信息包括:不具有所述服务器的健康检查结果,以及所述服务器正在被健康检查。当负载均衡器C对所述服务器的健康检查结束后,在步骤S83’中,设备1根据负载均衡器C所提交的所述服务器的健康检查结果进行相应的更新,更新后的所述健康检查结果的相关信息包括:所述服务器的健康检查结果,以及当下没有负载均衡器对所述服务器进行健康检查。在步骤S84’中,设备1根据负载均衡器C对所述服务器的健康检查结束的消息对所述健康检查结果的相关信息进行相应的更新。
优选地,在步骤S83’中,设备1将所述更新后的健康检查结果发送至分布式缓存设备。
例如,所述分布式缓存设备可以是Redis(一个开源的键值对缓存和存储系统,用来存储多种类型的键值对数据)。具体地,所述健康检查结果以<key,value>的方式进行存储,其中,key标示一个后端服务器,value标示健康检查的结果,1为正常,0为异常。健康检查缓存设备通过Redis的SET指令,将健康检查结果插入Redis中。假设ip地址为1.1.1.1的服务器的健康检查结果为正常,那么健康检查缓存设备就会给Redis发出指令“SET 1.1.1.11”。如果所述第一装置根据负载均衡器发起关于服务器健康检查的询问消息,则健康检查缓存设备通过Redis的GET指令进行查询。假如要查询ip地址为1.1.1.1的服务器的健康检查结果,那么健康检查缓存设备就会给Redis发出指令“GET 1.1.1.1”。如果“GET 1.1.1.1”的返回结果为空,就表示不具有所述服务器的健康检查结果的信息。本领域技术人员应能理解上述分布式缓存设备及对数据进行写入或读取的方式仅为举例,其他现有的或今后可能出现的分布式缓存设备及对数据进行写入或读取的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
在一可选的实施例中,在步骤S83’中,设备1根据所述负载均衡器所提交的所述服务器的健康检查结果直接更新所述服务器的健康检查结果的相关信息。
在此,步骤S83’中,设备1在获得所述负载均衡器所提交的所述服务器的健康检查结果时,就会直接更新所述健康检查结果的相关信息。直接更新的方法可以达到快速更新所述健康检查结果的相关信息的目的,减少更新所需要的时间。
具体地,在步骤S83’中,当首次获得所述负载均衡器所提交的所述服务器的健康检查结果时,设备1不更新所述服务器的健康检查结果的相关信息;在步骤S83’中,当再次获得所述负载均衡器所提交的所述服务器的健康检查结果时,设备1更新所述服务器的健康检查结果的相关信息。
优选地,在步骤S83’中,设备1请求所述分布式缓存设备插入一尝试主键,所述尝试主键用于标记有过一次尝试写入,且所述尝试主键在第三预设时间内有效;在步骤S83’中,设备1请求所述分布式缓存设备删除所述尝试主键的指令。
第三预设时间指的是尝试主键的有效时间,若超过第三预设时间,尝试主键会被自动删除,以避免因个别机器故障而导致系统无法正常运行。在此需要注意的是,若在第三预设时间之内收到设备1请求所述分布式缓存设备删除所述尝试主键的指令,尝试主键也会被删除,因为此时设备1已完成更新所述服务器的健康检查结果的相关信息。
在此,所述第三预设时间的时间长度不被限制,根据用户设置确定,不再赘述。
假设例如,在实际场景中,负载均衡器A、B、C的启动时间相差1s,对所述服务器的健康检查的时间间隔为10s。假设在对所述服务器的健康检查的每个时间间隔内,第一台负载均衡器A发起查询消息时,在步骤S82’中,设备1返回的所述健康检查结果的相关信息包括不具有所述服务器的健康检查结果,则会触发负载均衡器A对服务器的健康检查。当负载均衡器A完成健康检查并且试图将健康检查结果写入健康检查缓存设备时,在步骤S83’中,设备1不更新所述服务器的健康检查结果的相关信息,即健康检查缓存设备不会将该健康检查结果写入Redis,设备1向Redis发送指令以插入一个尝试主键k_try,来记录有过一次尝试写入所述服务器的健康检查结果。若超过尝试主键k_try的第三预设时间,系统会自动删除k_try。当第二台负载均衡器B发起查询消息时,因为第一台负载均衡器A的健康检查结果没有写入Redis,所以在步骤S82’中设备1返回的所述健康检查结果的相关信息仍然包括不具有所述服务器的健康检查结果,因此触发第二台负载均衡器B对服务器的健康检查。设备1更新所述服务器的健康检查结果的相关信息,并删除尝试主键k_try,设备1将健康检查结果发送至Redis进行缓存。此后第三台负载均衡器C或其他负载均衡器发起查询消息,在步骤S82’中设备1返回的所述健康检查结果的相关信息均包括所述服务器的健康检查结果,而不需要再对所述服务器进行健康检查。
当然,本领域技术人员应能理解上述负载均衡器的数量、负载均衡器的启动时间、对所述服务器的健康检查的时间间隔仅为举例,其他现有的或今后可能出现的上述内容相关的变化如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
进一步的,所述方法还可以包括:当所述健康检查结果的最新更新时间与当前时间差超出第一预设时间,则删除所述健康检查结果,并对所述服务器的健康检查结果的相关信息进行相应的更新。
在此,所述第一预设时间的时间长度不被限制,根据用户设置确定,不再赘述。在超出第一预设时间删除所述服务器的健康检查结果后,及时将所述健康检查结果的相关信息更新为包括不具有所述服务器的健康检查结果,从而触发随后的负载均衡器对所述服务器的健康检查,获取新的所述服务器的健康检查结果,保持时效性。
例如,接上例,为了保证在每个时间间隔(interval)内都至少有一台负载均衡器对服务器进行了健康检查,在将所述服务器的健康检查结果写入Redis的同时,还需要利用Redis的EXPIRE指令为健康检查结果<key,value>设置第一预设时间,该第一预设时间也即健康检查结果失效时间为interval。假设interval=10s,那么在为ip地址1.1.1.1的服务器写入健康检查结果之后,健康检查缓存设备还需要给Redis发出指令“EXPIRE1.1.1.110”。在经过10s之后,ip地址1.1.1.1的服务器的健康检查结果就会被从Redis中删除,其他负载均衡器再发起查询消息,会被告知不具有所述服务器的健康检查结果的信息,从而触发负载均衡器再次发起健康检查。
本领域技术人员应能理解上述第一预设时间及删除所述健康检查结果的方式仅为举例,其他现有的或今后可能出现的每隔一段时间相应地更新所述服务器的健康检查结果的相关信息的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
图10示出根据本申请另一个方面的一个实施例的一种在负载均衡设备端对服务器进行健康检查的方法流程图。
该方法包括步骤S106、步骤S107和步骤S108。具体地,在步骤S106中,设备2向健康检查缓存设备发起关于服务器健康检查的询问消息;在步骤S107中,设备2获取所述健康检查缓存设备所返回的关于服务器健康检查结果的相关信息;在步骤S108中,设备2处理所述服务器健康检查结果的相关信息,以获得所述服务器的健康检查结果。
在此,所述设备2包括但不限于用户设备、网络设备、或用户设备与网络设备通过网络相集成所构成的设备。所述用户设备其包括但不限于任何一种可与用户通过触摸板进行人机交互的移动电子产品,例如智能手机、PDA等,所述移动电子产品可以采用任意操作系统,如android操作系统、iOS操作系统等。其中,所述网络设备包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(ASIC)、可编程门阵列(FPGA)、数字处理器(DSP)、嵌入式设备等。所述网络设备其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云;在此,云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟超级计算机。所述网络包括但不限于互联网、广域网、城域网、局域网、VPN网络、无线自组织网络(Ad Hoc网络)等。优选地,设备1还可以是运行于所述用户设备、网络设备、或用户设备与网络设备、网络设备、触摸终端或网络设备与触摸终端通过网络相集成所构成的设备上的脚本程序。当然,本领域技术人员应能理解上述设备2仅为举例,其他现有的或今后可能出现的设备2如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
设备2的各个步骤之间是持续不断工作的。具体地,在步骤S106中,设备2持续向健康检查缓存设备发起关于服务器健康检查的询问消息,在步骤S107中,设备2持续获取所述健康检查缓存设备所返回的关于服务器健康检查结果的相关信息,在步骤S108中,设备2持续处理所述服务器健康检查结果的相关信息,以获得所述服务器的健康检查结果,直至所述设备2停止工作。
在步骤S106中,设备2向健康检查缓存设备发起关于服务器健康检查的询问消息。
在此,负载均衡设备可以由一台或多台负载均衡器构成,各个负载均衡器独立地向健康检查缓存设备发起关于服务器健康检查的询问消息。
例如,所述负载均衡器可以是支持四层负载均衡的LVS(Linux虚拟服务器),可以是支持七层负载均衡的Nginx,也可以是同时支持四层、七层负载均衡的HAProxy。本领域技术人员应能理解上述负载均衡器的类型仅为举例,其他现有的或今后可能出现的负载均衡器如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
在步骤S107中,设备2获取所述健康检查缓存设备所返回的关于服务器健康检查结果的相关信息。
在此,所述服务器的健康检查结果的相关信息包括:所述服务器是否正在被健康检查的信息;所述服务器的健康检查结果或不具有所述服务器的健康检查结果的信息。
在步骤S108中,设备2处理所述服务器健康检查结果的相关信息,以获得所述服务器的健康检查结果。
具体地,在步骤S108中,当所述服务器健康检查结果的相关信息中包括所述服务器正在被健康检查的消息,则设备2等待第二预设时间后再次执行所述步骤S106至所述步骤S108;否则,当所述服务器健康检查结果的相关信息中包括具有所述服务器健康检查结果,则设备2直接获取该健康检查结果;否则,用于当所述健康检查相关信息中包括不具有所述服务器健康检查结果的信息,则设备2对所述服务器进行健康检查,以获得所述服务器的健康检查结果。
在此,所述第二预设时间的时间长度不被限制,根据用户设置确定,不再赘述。
例如,假设在步骤S106中负载均衡器A通过设备2向健康检查缓存设备发起关于服务器健康检查的询问消息,若此时另有一台负载均衡器B正在对所述服务器进行健康检查,则步骤S108中设备2处理的步骤S107中获取的健康检查缓存设备返回的健康检查结果的相关信息包括所述服务器正在被健康检查,设备2等待第二预设时间后再次执行所述步骤S106至所述步骤S108;若健康检查缓存设备中已保存有所述服务器的健康检查结果,则步骤S108中设备2处理的步骤S107中获取的健康检查缓存设备返回的健康检查结果的相关信息,设备2直接获取该健康检查结果;若健康检查缓存设备中没有所述服务器的健康检查结果,且没有其他负载均衡器正在对所述服务器进行健康检查,则步骤S108中设备2处理的步骤S107中获取的健康检查缓存设备返回的健康检查结果的相关信息包括所述健康检查缓存设备不具有所述服务器的健康检查结果,设备2对所述服务器进行健康检查,以获得所述服务器的健康检查结果。
具体地,在步骤S108中,在对所述服务器进行健康检查时,设备2向所述健康检查缓存设备发起所述服务器正在被健康检查的消息;在对所述服务器的健康检查结束后,设备2向所述健康检查缓存设备发起对所述服务器的健康检查已结束的消息。
例如,假设在步骤S106中负载均衡器C通过设备2向健康检查缓存设备发起关于服务器健康检查的询问消息,步骤S108中设备2处理的步骤S107中获取的健康检查缓存设备返回的健康检查结果的相关信息包括所述健康检查缓存设备不具有所述服务器的健康检查结果,以及没有其他负载均衡器正在对所述服务器进行健康检查,则通过设备2对所述服务器进行健康检查。在负载均衡器C对所述服务器的健康检查开始时,设备2向所述健康检查缓存设备发起所述服务器正在被健康检查的消息,那么其他负载均衡器再向健康检查缓存设备发起关于服务器健康检查的询问消息,则健康检查缓存设备返回的健康检查结果的相关信息包括不具有所述服务器的健康检查结果,以及所述服务器正在被健康检查。在负载均衡器C对所述服务器的健康检查结束后,设备2向所述健康检查缓存设备发起对所述服务器的健康检查已结束的消息,那么其他负载均衡器再向健康检查缓存设备发起关于服务器健康检查的询问消息,则健康检查缓存设备返回的健康检查结果的相关信息包括所述服务器的健康检查结果或不具有所述服务器的健康检查结果的信息,以及没有其他负载均衡器正在对所述服务器进行健康检查的信息。
具体地,在步骤S108中,在对所述服务器的健康检查结束后,设备2将获得的所述服务器的健康检查结果提交给所述健康检查缓存设备以备更新。
在此,设备2会将所述服务器的健康检查结果提交给健康检查缓存设备,健康检查设备可以直接用该健康检查结果进行更新,也可以首次收到健康检查结果时不更新,第二次收到健康检查结果时再进行更新。
图11示出根据本申请另一个方面的一个实施例的对服务器进行健康检查的方法流程图。所述方法包括步骤S81”~S82”和步骤S106’~S108’。具体地,在步骤S106’中,设备2向健康检查缓存设备发起关于服务器健康检查的询问消息,在步骤S81”中,设备1根据负载均衡器所发起的关于服务器健康检查的询问消息获取所述服务器的健康检查结果的相关信息,在步骤S82”中,设备1向所述负载均衡器返回所述服务器的健康检查结果的相关信息,在步骤S107’中,设备2获取所述健康检查缓存设备所返回的关于服务器健康检查结果的相关信息,在步骤S108’中,设备2处理所述服务器健康检查结果的相关信息,以获得所述服务器的健康检查结果。在此,步骤S81”~S82”与图8中的步骤S81~S82的内容相同或基本相同,并且步骤S106’~S108’与图10中步骤S106~S108的内容相同或基本相同,为简明起见,故在此不再赘述,并以引用的方式包含于此。
图12示出根据本申请另一个方面的一个优选实施例的对服务器进行健康检查的方法流程图。所述方法包括步骤S81”’~S84”’和步骤S106”~S108”。具体地,在步骤S106”中,设备2向健康检查缓存设备发起关于服务器健康检查的询问消息,在步骤S81”’中,设备1根据负载均衡器所发起的关于服务器健康检查的询问消息获取所述服务器的健康检查结果的相关信息,在步骤S82”’中,设备1向所述负载均衡器返回所述服务器的健康检查结果的相关信息,在步骤S107”中,设备2获取所述健康检查缓存设备所返回的关于服务器健康检查结果的相关信息,在步骤S108”中,设备2处理所述服务器健康检查结果的相关信息,以获得所述服务器的健康检查结果,在步骤S83”’中,设备1根据所述负载均衡器所提交的所述服务器的健康检查结果对所述服务器的健康检查结果的相关信息进行相应的更新;在步骤S84”’中,设备1根据所述负载均衡器所发起的正在对所述服务器进行健康检查或对所述服务器的健康检查结束的消息对所述服务器的健康检查结果的相关信息进行相应的更新。在此,步骤S81”’~S84”’与图9中的步骤S81’~S84’的内容相同或基本相同,并且步骤S106”~S108”与图10中步骤S106~S108的内容相同或基本相同,为简明起见,故在此不再赘述,并以引用的方式包含于此。
综上所述,与现有技术相比,本申请的一个实施例中,负载均衡器在对服务器进行健康检查之前,先向健康检查缓存设备发起关于服务器健康检查的询问消息,获取并处理健康检查缓存设备所返回的所述服务器的健康检查结果的相关信息。
若健康检查缓存设备所返回的所述健康检查结果的相关信息中包括所述服务器的健康检查结果,则所述负载均衡器直接获取该健康检查结果,而不需要再对所述服务器进行健康检查;若健康检查缓存设备所返回的所述健康检查结果的相关信息中包括不具有所述服务器的健康检查结果且有其他负载均衡器正在对所述服务器进行健康检查,则所述负载均衡器会等待第二预设时间后再发起询问消息;若健康检查缓存设备所返回的所述健康检查结果的相关信息中包括不具有所述服务器的健康检查结果且没有其他负载均衡器正在对所述服务器进行健康检查,则会触发所述负载均衡器对所述服务器的健康检查,健康检查缓存设备根据所述负载均衡器开始或结束健康检查的消息对所述健康检查结果的相关信息进行相应的更新,并根据在健康检查结束后获取的所述服务器的健康检查结果对健康检查结果的相关信息进行相应的更新,那么后续的负载均衡器可以直接获取该健康检查结果,而不需要进行重复的健康检查。
进一步地,当健康检查缓存设备首次获得所述负载均衡器所提交的所述服务器的健康检查结果时,不更新所述服务器的健康检查结果的相关信息;当健康检查缓存设备再次获得所述负载均衡器所提交的所述服务器的健康检查结果时,更新所述服务器的健康检查结果的相关信息,以保证每台负载均衡器都有机会对后端服务器进行健康检查。
如此,通过健康检查缓存设备对所述服务器的健康检查结果进行缓存,可以减少健康检查的次数,减轻健康检查给服务器带来的压力。
此外,在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

Claims (24)

1.一种在健康检查缓存设备端对服务器进行健康检查的方法,其中,所述方法包括:
根据负载均衡器所发起的关于服务器健康检查的询问消息获取所述服务器的健康检查结果的相关信息;
向所述负载均衡器返回所述服务器的健康检查结果的相关信息。
2.根据权利要求1所述的方法,其中,所述服务器的健康检查结果的相关信息包括:
所述服务器是否正在被健康检查的信息;
所述服务器的健康检查结果或不具有所述服务器的健康检查结果的信息。
3.根据权利要求1或2所述的方法,所述方法还包括:
根据所述负载均衡器所提交的所述服务器的健康检查结果对所述服务器的健康检查结果的相关信息进行相应的更新;及
根据所述负载均衡器所发起的正在对所述服务器进行健康检查或对所述服务器的健康检查结束的消息对所述服务器的健康检查结果的相关信息进行相应的更新。
4.根据权利要求3所述的方法,其中,所述根据所述负载均衡器所提交的所述服务器的健康检查结果对所述服务器的健康检查结果的相关信息进行相应的更新还包括:
将所述更新后的健康检查结果发送至分布式缓存设备。
5.根据权利要求4所述的方法,其中,所述根据所述负载均衡器所提交的所述服务器的健康检查结果对所述服务器的健康检查结果的相关信息进行相应的更新包括:
根据所述负载均衡器所提交的所述服务器的健康检查结果直接更新所述服务器的健康检查结果的相关信息。
6.根据权利要求4所述的方法,其中,所述根据所述负载均衡器所提交的所述服务器的健康检查结果对所述服务器的健康检查结果的相关信息进行相应的更新包括:
当首次获得所述负载均衡器所提交的所述服务器的健康检查结果时,不更新所述服务器的健康检查结果的相关信息;
当再次获得所述负载均衡器所提交的所述服务器的健康检查结果时,更新所述服务器的健康检查结果的相关信息。
7.根据权利要求6所述的方法,其中,所述当首次获得所述负载均衡器所提交的所述服务器的健康检查结果时,不更新所述服务器的健康检查结果的相关信息还包括:
请求所述分布式缓存设备插入一尝试主键,所述尝试主键用于标记有过一次尝试写入,且所述尝试主键在第三预设时间内有效;
所述当再次获得所述负载均衡器所提交的所述服务器的健康检查结果时,更新所述服务器的健康检查结果的相关信息还包括:
请求所述分布式缓存设备删除所述尝试主键的指令。
8.根据权利要求3至7中任一项所述的方法,其中,所述方法还包括:
当所述健康检查结果的最新更新时间与当前时间差超出第一预设时间,则删除所述健康检查结果,并对所述服务器的健康检查结果的相关信息进行相应的更新。
9.一种在负载均衡设备端对服务器进行健康检查的方法,其中,所述方法包括:
向健康检查缓存设备发起关于服务器健康检查的询问消息;
获取所述健康检查缓存设备所返回的关于服务器健康检查结果的相关信息;
处理所述服务器健康检查结果的相关信息,以获得所述服务器的健康检查结果。
10.根据权利要求9所述的方法,其中,所述处理所述服务器健康检查结果的相关信息,以获得所述服务器的健康检查结果包括:
当所述服务器健康检查结果的相关信息中包括所述服务器正在被健康检查的消息,则等待第二预设时间后再次执行所述向健康检查缓存设备发起关于服务器健康检查的询问消息、所述获取所述健康检查缓存设备所返回的关于服务器健康检查结果的相关信息及所述处理所述服务器健康检查结果的相关信息,以获得所述服务器的健康检查结果;否则,
当所述服务器健康检查结果的相关信息中包括具有所述服务器健康检查结果,则直接获取该健康检查结果;否则,
当所述健康检查相关信息中包括不具有所述服务器健康检查结果的信息,则对所述服务器进行健康检查,以获得所述服务器的健康检查结果。
11.根据权利要求10所述的方法,其中,所述当所述健康检查相关信息中包括不具有所述服务器健康检查结果的信息,则对所述服务器进行健康检查,以获得所述服务器的健康检查结果包括:
对所述服务器进行健康检查时,向所述健康检查缓存设备发起所述服务器正在被健康检查的消息;
对所述服务器的健康检查结束后,向所述健康检查缓存设备发起对所述服务器的健康检查已结束的消息。
12.根据权利要求10或11所述的方法,其中,所述当所述健康检查相关信息中包括不具有所述服务器健康检查结果的信息,则对所述服务器进行健康检查,以获得所述服务器的健康检查结果还包括:
对所述服务器的健康检查结束后,将获得的所述服务器的健康检查结果提交给所述健康检查缓存设备以备更新。
13.一种对服务器进行健康检查的健康检查缓存设备,其中,所述设备包括:
第一装置,用于根据负载均衡器所发起的关于服务器健康检查的询问消息获取所述服务器的健康检查结果的相关信息;
第二装置,用于向所述负载均衡器返回所述服务器的健康检查结果的相关信息。
14.根据权利要求13所述的设备,其中,所述服务器的健康检查结果的相关信息包括:
所述服务器是否正在被健康检查的信息;
所述服务器的健康检查结果或不具有所述服务器的健康检查结果的信息。
15.根据权利要求13或14所述的设备,所述设备还包括:
第三装置,用于根据所述负载均衡器所提交的所述服务器的健康检查结果对所述服务器的健康检查结果的相关信息进行相应的更新;及
第四装置,用于根据所述负载均衡器所发起的正在对所述服务器进行健康检查或对所述服务器的健康检查结束的消息对所述服务器的健康检查结果的相关信息进行相应的更新。
16.根据权利要求15所述的设备,其中,所述第三装置还包括:
第一单元,用于将所述更新后的健康检查结果发送至分布式缓存设备。
17.根据权利要求16所述的设备,其中,所述第三装置包括:
第二单元,用于根据所述负载均衡器所提交的所述服务器的健康检查结果直接更新所述服务器的健康检查结果的相关信息。
18.根据权利要求16所述的设备,其中,所述第三装置包括:
第三单元,用于当首次获得所述负载均衡器所提交的所述服务器的健康检查结果时,不更新所述服务器的健康检查结果的相关信息;
第四单元,用于当再次获得所述负载均衡器所提交的所述服务器的健康检查结果时,更新所述服务器的健康检查结果的相关信息。
19.根据权利要求18所述的设备,其中,所述第三单元还包括:
第一子单元,用于请求所述分布式缓存设备插入一尝试主键,所述尝试主键用于标记有过一次尝试写入,且所述尝试主键在第三预设时间内有效;
所述第四单元还包括:
第二子单元,用于请求所述分布式缓存设备删除所述尝试主键的指令。
20.根据权利要求15至19中任一项所述的设备,其中,所述设备还包括:
第五装置,用于当所述健康检查结果的最新更新时间与当前时间差超出第一预设时间,则删除所述健康检查结果,并对所述服务器的健康检查结果的相关信息进行相应的更新。
21.一种对服务器进行健康检查的负载均衡设备,其中,所述设备包括:
第六装置,用于向健康检查缓存设备发起关于服务器健康检查的询问消息;
第七装置,用于获取所述健康检查缓存设备所返回的关于服务器健康检查结果的相关信息;
第八装置,用于处理所述服务器健康检查结果的相关信息,以获得所述服务器的健康检查结果。
22.根据权利要求21所述的设备,其中,所述第八装置包括:
第五单元,用于当所述服务器健康检查结果的相关信息中包括所述服务器正在被健康检查的消息,则等待第二预设时间后再次执行所述第六装置至所述第八装置;否则,
第六单元,用于当所述服务器健康检查结果的相关信息中包括具有所述服务器健康检查结果,则直接获取该健康检查结果;否则,
第七单元,用于当所述健康检查相关信息中包括不具有所述服务器健康检查结果的信息,则对所述服务器进行健康检查,以获得所述服务器的健康检查结果。
23.根据权利要求22所述的设备,其中,所述第七单元包括:
第三子单元,用于对所述服务器进行健康检查时,向所述健康检查缓存设备发起所述服务器正在被健康检查的消息;
第四子单元,用于对所述服务器的健康检查结束后,向所述健康检查缓存设备发起对所述服务器的健康检查已结束的消息。
24.根据权利要求22或23所述的设备,其中,所述第七单元还包括:
第五子单元,用于对所述服务器的健康检查结束后,将获得的所述服务器的健康检查结果提交给所述健康检查缓存设备以备更新。
CN201510296417.1A 2015-06-02 2015-06-02 一种对服务器进行健康检查的方法及设备 Active CN106302595B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201510296417.1A CN106302595B (zh) 2015-06-02 2015-06-02 一种对服务器进行健康检查的方法及设备
TW104142799A TW201711432A (zh) 2015-06-02 2015-12-18 對伺服器進行健康檢查的方法及設備
US15/170,654 US10659552B2 (en) 2015-06-02 2016-06-01 Device and method for monitoring server health
PCT/US2016/035292 WO2016196647A1 (en) 2015-06-02 2016-06-01 Device and method for monitoring server health

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510296417.1A CN106302595B (zh) 2015-06-02 2015-06-02 一种对服务器进行健康检查的方法及设备

Publications (2)

Publication Number Publication Date
CN106302595A true CN106302595A (zh) 2017-01-04
CN106302595B CN106302595B (zh) 2020-03-17

Family

ID=57441751

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510296417.1A Active CN106302595B (zh) 2015-06-02 2015-06-02 一种对服务器进行健康检查的方法及设备

Country Status (4)

Country Link
US (1) US10659552B2 (zh)
CN (1) CN106302595B (zh)
TW (1) TW201711432A (zh)
WO (1) WO2016196647A1 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107070742A (zh) * 2017-03-14 2017-08-18 北京三快在线科技有限公司 业务服务器健康状态检查方法及系统
CN108270639A (zh) * 2017-02-13 2018-07-10 广州市动景计算机科技有限公司 业务接口监控的方法、装置及系统
CN108762928A (zh) * 2018-05-29 2018-11-06 郑州云海信息技术有限公司 一种弹性伸缩服务执行操作时的处理方法和系统
CN110177028A (zh) * 2019-05-30 2019-08-27 北京字节跳动网络技术有限公司 分布式健康检查方法及装置
CN110311988A (zh) * 2019-07-30 2019-10-08 中国工商银行股份有限公司 后端服务器的健康检查方法、负载均衡方法及装置
CN112738238A (zh) * 2020-12-29 2021-04-30 北京天融信网络安全技术有限公司 一种负载均衡中健康检查的方法、装置以及系统
CN113641558A (zh) * 2021-08-31 2021-11-12 合众人寿保险股份有限公司 一种健康检查方法、装置及电子设备

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109274707B (zh) * 2017-07-18 2022-02-22 阿里巴巴集团控股有限公司 一种负载调度方法及装置
US10680804B2 (en) * 2017-09-27 2020-06-09 Salesforce.Com, Inc. Distributed key caching for encrypted keys
CN109788012B (zh) * 2017-11-14 2022-04-01 阿里巴巴集团控股有限公司 一种健康检查方法和装置、健康检查控制方法和控制器
CN111556142B (zh) * 2020-04-26 2023-04-18 天津中新智冠信息技术有限公司 服务调用方法、装置及系统
CN114938377A (zh) * 2022-04-20 2022-08-23 京东科技信息技术有限公司 后端服务器管理方法、装置、可读介质及电子设备

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101610211A (zh) * 2009-07-15 2009-12-23 浪潮电子信息产业股份有限公司 一种实现加权轮询的高速缓存负载均衡方法
CN102638561A (zh) * 2011-01-14 2012-08-15 微软公司 使用http资源的高速缓存间通信
CN102761461A (zh) * 2012-08-01 2012-10-31 杭州迪普科技有限公司 一种链路健康检查方法及装置
CN103139247A (zh) * 2011-11-28 2013-06-05 百度在线网络技术(北京)有限公司 负载均衡系统中后端服务器的保活方法、系统及装置
US20130315070A1 (en) * 2009-06-22 2013-11-28 Citrix Systems, Inc. Systems and methods for monitor distribution in a multi-core system
US8745221B1 (en) * 2013-09-18 2014-06-03 Limelight Networks, Inc. Dynamic request rerouting
CN103873293A (zh) * 2014-03-05 2014-06-18 杭州华三通信技术有限公司 一种健康探测装置及方法
CN104394224A (zh) * 2014-11-28 2015-03-04 无锡华云数据技术服务有限公司 一种负载均衡系统
US20150149635A1 (en) * 2013-11-27 2015-05-28 Avi Networks Method and system for distributed load balancing

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7590739B2 (en) * 1999-11-22 2009-09-15 Akamai Technologies, Inc. Distributed on-demand computing system
US6738811B1 (en) 2000-03-31 2004-05-18 Supermicro Computer, Inc. Method and architecture for monitoring the health of servers across data networks
US9639553B2 (en) * 2000-11-02 2017-05-02 Oracle International Corporation TCP/UDP acceleration
US7107339B1 (en) 2001-04-07 2006-09-12 Webmethods, Inc. Predictive monitoring and problem identification in an information technology (IT) infrastructure
US7360121B2 (en) 2002-02-22 2008-04-15 Bea Systems, Inc. System for monitoring a subsystem health
US7233989B2 (en) 2002-02-22 2007-06-19 Bea Systems, Inc. Method for automatic monitoring of managed server health
US7152185B2 (en) 2002-02-22 2006-12-19 Bea Systems, Inc. Method for event triggered monitoring of managed server health
US7287075B2 (en) 2002-02-22 2007-10-23 Bea Systems, Inc. System for monitoring managed server health
US6993686B1 (en) 2002-04-30 2006-01-31 Cisco Technology, Inc. System health monitoring and recovery
US7308475B1 (en) * 2003-05-06 2007-12-11 F5 Networks, Inc. Method and system for accessing network services
US7313735B1 (en) 2004-04-30 2007-12-25 Sun Microsystems, Inc. In-line server health checking
US8676958B1 (en) 2006-02-10 2014-03-18 Open Invention Network, Llc System and method for monitoring the status of multiple servers on a network
US20080134046A1 (en) 2006-12-05 2008-06-05 Microsoft Corporation Aggregated computer health
US8181071B2 (en) 2007-06-29 2012-05-15 Microsoft Corporation Automatically managing system downtime in a computer network
US7886050B2 (en) 2007-10-05 2011-02-08 Citrix Systems, Inc. Systems and methods for monitoring components of a remote access server farm
US8200752B2 (en) * 2009-12-23 2012-06-12 Citrix Systems, Inc. Systems and methods for policy based transparent client IP insertion
US8949410B2 (en) * 2010-09-10 2015-02-03 Cisco Technology, Inc. Server load balancer scaling for virtual servers
WO2012087934A1 (en) * 2010-12-20 2012-06-28 Citrix Systems, Inc. Systems and methods for implementing connection mirroring in a multi-core system
KR20120072250A (ko) * 2010-12-23 2012-07-03 한국전자통신연구원 동적 부하 분산 시스템 및 방법
JP6044148B2 (ja) * 2011-08-03 2016-12-14 株式会社リコー 通信制御装置、情報管理システム、情報管理装置、通信制御プログラム、及び情報管理プログラム
US9871712B1 (en) * 2013-04-16 2018-01-16 Amazon Technologies, Inc. Health checking in a distributed load balancer
US9276991B2 (en) * 2013-09-18 2016-03-01 Xerox Corporation Method and apparatus for providing a dynamic tool menu based upon a document
CA2934425A1 (en) 2013-12-19 2015-06-25 Bae Systems Plc Method and apparatus for detecting fault conditions in a network
KR20150085376A (ko) * 2014-01-15 2015-07-23 한국전자통신연구원 클라우드 게이밍 환경에서 렌더링 서비스를 위한 부하 분산 시스템 및 이의 부하 분산 방법

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130315070A1 (en) * 2009-06-22 2013-11-28 Citrix Systems, Inc. Systems and methods for monitor distribution in a multi-core system
CN101610211A (zh) * 2009-07-15 2009-12-23 浪潮电子信息产业股份有限公司 一种实现加权轮询的高速缓存负载均衡方法
CN102638561A (zh) * 2011-01-14 2012-08-15 微软公司 使用http资源的高速缓存间通信
CN103139247A (zh) * 2011-11-28 2013-06-05 百度在线网络技术(北京)有限公司 负载均衡系统中后端服务器的保活方法、系统及装置
CN102761461A (zh) * 2012-08-01 2012-10-31 杭州迪普科技有限公司 一种链路健康检查方法及装置
US8745221B1 (en) * 2013-09-18 2014-06-03 Limelight Networks, Inc. Dynamic request rerouting
US20150149635A1 (en) * 2013-11-27 2015-05-28 Avi Networks Method and system for distributed load balancing
CN103873293A (zh) * 2014-03-05 2014-06-18 杭州华三通信技术有限公司 一种健康探测装置及方法
CN104394224A (zh) * 2014-11-28 2015-03-04 无锡华云数据技术服务有限公司 一种负载均衡系统

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108270639A (zh) * 2017-02-13 2018-07-10 广州市动景计算机科技有限公司 业务接口监控的方法、装置及系统
CN107070742A (zh) * 2017-03-14 2017-08-18 北京三快在线科技有限公司 业务服务器健康状态检查方法及系统
CN107070742B (zh) * 2017-03-14 2020-05-08 北京三快在线科技有限公司 业务服务器健康状态检查方法及系统
CN108762928A (zh) * 2018-05-29 2018-11-06 郑州云海信息技术有限公司 一种弹性伸缩服务执行操作时的处理方法和系统
CN108762928B (zh) * 2018-05-29 2022-03-22 郑州云海信息技术有限公司 一种弹性伸缩服务执行操作时的处理方法和系统
CN110177028A (zh) * 2019-05-30 2019-08-27 北京字节跳动网络技术有限公司 分布式健康检查方法及装置
CN110177028B (zh) * 2019-05-30 2021-06-22 北京字节跳动网络技术有限公司 分布式健康检查方法及装置
CN110311988A (zh) * 2019-07-30 2019-10-08 中国工商银行股份有限公司 后端服务器的健康检查方法、负载均衡方法及装置
CN112738238A (zh) * 2020-12-29 2021-04-30 北京天融信网络安全技术有限公司 一种负载均衡中健康检查的方法、装置以及系统
CN113641558A (zh) * 2021-08-31 2021-11-12 合众人寿保险股份有限公司 一种健康检查方法、装置及电子设备

Also Published As

Publication number Publication date
US20160360001A1 (en) 2016-12-08
CN106302595B (zh) 2020-03-17
WO2016196647A1 (en) 2016-12-08
TW201711432A (zh) 2017-03-16
US10659552B2 (en) 2020-05-19

Similar Documents

Publication Publication Date Title
CN106302595A (zh) 一种对服务器进行健康检查的方法及设备
US8290994B2 (en) Obtaining file system view in block-level data storage systems
US10901619B2 (en) Selecting pages implementing leaf nodes and internal nodes of a data set index for reuse
US10795577B2 (en) De-duplication of client-side data cache for virtual disks
CN104811392B (zh) 用于处理网络中的资源访问请求的方法和系统
CN105868231A (zh) 缓存数据的更新方法及装置
CN108156013A (zh) 一种页面服务容灾方法、装置及电子设备
WO2015149629A1 (zh) Dns行为的处理方法、装置及系统
CN107135242B (zh) Mongodb集群访问方法、装置及系统
CA2885869C (en) Session-server affinity for clients that lack session identifiers
CN105868234A (zh) 缓存数据的更新方法及装置
CN104239353B (zh) 一种web分类控制和日志审计的方法
CN111158892B (zh) 一种任务队列生成方法、装置及设备
CN109788050B (zh) 一种获取源站ip地址方法、系统、电子设备和介质
CN109561054A (zh) 一种数据传输方法、控制器及接入设备
CN107040606A (zh) 用于处理http请求的方法与设备
CN108197323A (zh) 应用于分布式系统地图数据处理方法
JP2017215868A (ja) 匿名化処理装置、匿名化処理方法、及びプログラム
CN108304555A (zh) 分布式地图数据处理方法
CN108156243A (zh) 分布式缓存系统中虚拟节点迁移的方法及装置
CN103986616B (zh) 识别代理上网的机器数的方法及装置
CN113179251B (zh) 一种前端文件处理方法、装置、设备及机器可读存储介质
CN111988195B (zh) 用于分组测试的应答方案确定方法、装置、设备及介质
CN107426271A (zh) 一种服务器中数据处理方法及系统
JP6553650B2 (ja) データ処理の方法及びシステム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1233074

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant