CN110162424B - 故障处理方法、系统、装置及存储介质 - Google Patents

故障处理方法、系统、装置及存储介质 Download PDF

Info

Publication number
CN110162424B
CN110162424B CN201910433823.6A CN201910433823A CN110162424B CN 110162424 B CN110162424 B CN 110162424B CN 201910433823 A CN201910433823 A CN 201910433823A CN 110162424 B CN110162424 B CN 110162424B
Authority
CN
China
Prior art keywords
node
service
fault
service request
request
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.)
Active
Application number
CN201910433823.6A
Other languages
English (en)
Other versions
CN110162424A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910433823.6A priority Critical patent/CN110162424B/zh
Publication of CN110162424A publication Critical patent/CN110162424A/zh
Application granted granted Critical
Publication of CN110162424B publication Critical patent/CN110162424B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2268Logging of test results

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供了一种故障处理方法、系统、装置及存储介质;方法包括:探测节点向第一服务节点发送探测消息;所述第一服务节点向所述探测节点发送所述探测消息对应的响应结果;当所述探测节点根据对应所述探测消息的响应结果确定所述第一服务节点处于故障状态时,向服务请求节点发送指示所述第一服务节点处于故障状态的故障通知;所述服务请求节点根据所述故障通知停止向所述第一服务节点发送服务请求,并向未处于故障状态的第二服务节点发送服务请求。通过本发明,能够有效提高服务请求节点请求服务的成功率。

Description

故障处理方法、系统、装置及存储介质
技术领域
本发明涉及计算机技术,尤其涉及一种故障处理方法、系统、装置及存储介质。
背景技术
服务器是提供计算服务的设备。由于服务器需要响应服务请求设备的服务请求,并进行处理,因此,一般来说服务器应具备承担服务并且保障服务的能力。
在服务请求设备和服务器之间建立连接后,就可以进行信息交换。当服务器发生故障,服务请求设备会继续向服务器发送服务请求,造成部分服务请求的请求结果失败。
发明内容
本发明实施例提供一种故障处理方法、系统、装置及存储介质,能够有效提高服务请求节点请求服务的成功率。
本发明实施例的技术方案是这样实现的:
本发明实施例提供一种故障处理方法,包括:
探测节点向第一服务节点发送探测消息;
所述第一服务节点向所述探测节点发送所述探测消息对应的响应结果;
当所述探测节点根据对应所述探测消息的响应结果确定所述第一服务节点处于故障状态时,向服务请求节点发送指示所述第一服务节点处于故障状态的故障通知;
所述服务请求节点根据所述故障通知停止向所述第一服务节点发送服务请求,并向未处于故障状态的第二服务节点发送服务请求。
本发明实施例提供一种故障处理方法,包括:
向第一服务节点发送探测消息,并接收所述第一服务节点的对应所述探测消息的响应结果;
当根据对应所述探测消息的响应结果确定所述第一服务节点处于故障状态时,向服务请求节点发送指示所述第一服务节点处于故障状态的故障通知,以使
所述服务请求节点停止向所述第一服务节点发送服务请求,并向未处于故障状态的第二服务节点发送服务请求。
在上述方案中,所述方法还包括:
将对应所述探测消息的响应结果量化为响应失败率和响应耗时中至少一个维度的量化值;
当所述量化值大于故障量化阈值时,确定所述第一服务节点处于故障状态。
在上述方案中,所述方法还包括:
向所述第一服务节点发送故障恢复检查消息,并接收所述第一服务节点对应所述故障恢复检查消息的响应结果;
当根据对应所述故障恢复检查消息的响应结果确定所述第一服务节点处于故障恢复状态时,向所述服务请求节点发送指示所述第一服务节点处于故障恢复状态的故障恢复通知。
在上述方案中,所述方法还包括:
获取所述第一服务节点支持的业务类型;
根据所述第一服务节点支持的业务类型构建对应业务类型的服务请求,以作为所述故障恢复检查消息。
在上述方案中,所述方法还包括:
当向服务请求节点发送所述故障通知之前,且根据对应所述探测消息的响应结果确定所述第一服务节点处于故障可疑状态时,向所述服务请求节点发送指示所述第一服务节点处于故障可疑状态的预警通知,以使所述服务请求节点调整发送至所述第一服务节点的服务请求的请求量。
本发明实施例提供一种故障处理系统,包括:
探测节点,用于向第一服务节点发送探测消息;
所述第一服务节点,用于向所述探测节点发送所述探测消息对应的响应结果;
所述探测节点,还用于当根据对应所述探测消息的响应结果确定所述第一服务节点处于故障状态时,向服务请求节点发送指示所述第一服务节点处于故障状态的故障通知;
所述服务请求节点,用于根据所述故障通知停止向所述第一服务节点发送服务请求,并向未处于故障状态的第二服务节点发送服务请求。
在上述方案中,所述探测节点,还用于将对应所述探测消息的响应结果量化为响应失败率和响应耗时中至少一个维度的量化值;以及
当所述量化值大于故障量化阈值时,确定所述第一服务节点处于故障状态。
在上述方案中,所述探测节点,还用于向所述第一服务节点发送故障恢复检查消息;
所述第一服务节点,还用于向所述探测节点发送所述故障恢复检查消息对应的响应结果;
所述探测节点,还用于当根据对应所述故障恢复检查消息的响应结果确定所述第一服务节点处于故障恢复状态时,向所述服务请求节点发送指示所述第一服务节点处于故障恢复状态的故障恢复通知;
所述服务请求节点,还用于根据所述故障恢复通知标记所述第一服务节点处于故障恢复状态。
在上述方案中,所述探测节点,还用于获取所述第一服务节点支持的业务类型,根据所述第一服务节点支持的业务类型构建对应业务类型的服务请求,以作为所述故障恢复检查消息。
在上述方案中,所述服务请求节点,还用于当标记所述第一服务节点处于故障恢复状态时,向所述第一服务节点发送服务请求;
所述第一服务节点,还用于向所述服务请求节点发送所述服务请求对应的请求结果。
在上述方案中,所述探测节点,还用于当向服务请求节点发送所述故障通知之前,且根据对应所述探测消息的响应结果确定所述第一服务节点处于故障可疑状态时,向所述服务请求节点发送指示所述第一服务节点处于故障可疑状态的预警通知;
所述服务请求节点,还用于根据所述预警通知,调整发送至所述第一服务节点的服务请求的请求量。
在上述方案中,所述探测节点,还用于将对应所述探测消息的响应结果量化为响应失败率和响应耗时中至少一个维度的量化值,并与可疑量化阈值进行比较;以及
当所述量化值大于所述可疑量化阈值时,确定所述第一服务节点处于故障可疑状态;所述可疑量化阈值介于故障状态对应的故障量化阈值与正常状态的对应的量化阈值之间。
在上述方案中,所述服务请求节点,还用于:
根据所述预警通知获取服务请求调整比例;
根据所述服务请求调整比例,从待发送的服务请求中选取目标服务请求;
将所述目标服务请求发送至所述第一服务节点;
将所述待发送的服务请求中除所述目标服务请求以外的服务请求发送至所述第二服务节点。
在上述方案中,所述服务请求节点,还用于:
根据所述预警通知获取待发送的服务请求中各服务请求的优先级;
将优先级不满足优先处理条件的服务请求发送至所述第一服务节点;
将优先级满足优先处理条件的服务请求发送至所述第二服务节点。
本发明实施例提供一种故障处理装置,包括:
探测单元,用于向第一服务节点发送探测消息,并接收所述第一服务节点的对应所述探测消息的响应结果;
故障通知单元,用于当根据对应所述探测消息的响应结果确定所述第一服务节点处于故障状态时,向服务请求节点发送指示所述第一服务节点处于故障状态的故障通知,以使
所述服务请求节点停止向所述第一服务节点发送服务请求,并向未处于故障状态的第二服务节点发送服务请求。
在上述方案中,所述装置还包括:量化单元,用于:
将对应所述探测消息的响应结果量化为响应失败率和响应耗时中至少一个维度的量化值;
当所述量化值大于故障量化阈值时,确定所述第一服务节点处于故障状态。
在上述方案中,所述装置还包括:恢复检查单元,用于:
向所述第一服务节点发送故障恢复检查消息,并接收所述第一服务节点对应所述故障恢复检查消息的响应结果;
当根据对应所述故障恢复检查消息的响应结果确定所述第一服务节点处于故障恢复状态时,向所述服务请求节点发送指示所述第一服务节点处于故障恢复状态的故障恢复通知。
在上述方案中,所述装置还包括:构建单元,用于:
获取所述第一服务节点支持的业务类型;
根据所述第一服务节点支持的业务类型构建对应业务类型的服务请求,以作为所述故障恢复检查消息。
在上述方案中,所述装置还包括:故障可疑单元,用于:
当向服务请求节点发送所述故障通知之前,且根据对应所述探测消息的响应结果确定所述第一服务节点处于故障可疑状态时,向所述服务请求节点发送指示所述第一服务节点处于故障可疑状态的预警通知,以使所述服务请求节点调整发送至所述第一服务节点的服务请求的请求量。
本发明实施例提供一种故障处理装置,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本发明实施例提供的故障处理方法。
本发明实施例提供一种存储介质,存储有可执行指令,用于引起处理器执行时,实现本发明实施例提供的方法。
本发明实施例具有以下有益效果:
由探测节点向第一服务节点发送探测消息,并根据第一服务节点的对应探测消息的响应结果确定第一服务节点处于故障状态时,通知服务请求节点第一服务节点处于故障状态,从而由探测节点感知第一服务节点的故障状态,减小服务请求节点向故障的第一服务节点发送服务请求的可能性,进一步有效提高服务请求节点的服务请求的请求结果成功的可能性。
附图说明
图1是本发明实施例提供的故障处理系统的一个可选的结构示意图;
图2是本发明实施例提供的故障处理装置的一个可选的结构示意图;
图3是本发明实施例提供的故障处理方法的一个可选的流程示意图;
图4A是本发明实施例提供的故障处理方法的一个可选的流程示意图;
图4B是本发明实施例提供的故障处理方法的一个可选的信息交互示意图;
图5是本发明实施例提供的故障处理系统的一个可选的结构示意图;
图6是本发明实施例提供的故障处理系统的一个可选的架构示意图;
图7是相关技术中故障处理系统的一个可选的架构示意图;
图8是相关技术中故障处理方法的一个可选的消息交互示意图;
图9是本发明实施例提供的故障处理系统的一个可选的架构示意图;
图10是本发明实施例提供的故障处理方法的一个可选的消息交互示意图;
图11是本发明实施例提供的探测数据的一个可选的数据结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本发明实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
1)服务节点,网络拓扑中能够为服务请求节点提供计算服务的一个或多个服务器。例如:提供内容服务的内容服务器、提供接口服务的接口服务器。
2)服务请求节点,网络拓扑中向服务节点发送服务请求以请求服务的终端或服务器,例如:向接口服务器请求接口服务的用户终端,向接口服务器请求接口服务的前端服务器、向内容服务器请求服务内容的用户终端等。
3)探测节点,网络拓扑中能够与服务节点进行交互以探测服务节点的状态的设备,由一个或多个探测服务器组成。其中,探测节点向服务节点发送探测消息,探测节点根据探测消息的响应结果判断服务节点的状态。
例如,根据探测消息的响应结果的不同,服务节点的状态包括:正常状态、故障状态和故障可疑状态。当响应结果未出现未响应或响应超时,服务节点处于正常状态,表征服务节点能够有效处理所接收到的全部的服务请求;当响应结果出现未响应或响应超时的情况,但这种情况出现的可能性低,则确定服务节点处于故障可疑状态,表征服务节点能够处理所接收到的服务请求,但存在处理失败的可能性;当响应结果出现未响应或响应超时的情况,且这种情况出现的可能性高,则确定服务节点处于故障状态,表征服务节点无法处理所接收到的服务请求。
其中,将服务节点在故障状态之后恢复到的正常状态也可称为故障恢复状态。
4)探测消息,探测节点向服务节点所发送的测试性的服务请求。
相关技术中,服务请求节点在向服务节点发送服务请求时,记录服务节点响应服务请求的请求失败率、平均耗时等统计信息,当请求失败率过高或平均耗时过高时,认为该服务节点发生故障,才停止向服务节点发送服务请求。
在整个过程中,服务节点故障与否的检测完全依赖于发送服务请求的服务请求节点,也就是说,依赖请求服务的服务请求节点来感知服务节点的故障状态,导致部分服务请求的请求结果失败,不可避免地会对服务请求节点造成的影响。
针对上述问题,本发明实施例提供故障处理方法、系统、装置及存储介质,由探测节点向第一服务节点发送探测消息,并根据第一服务节点的对应探测消息的响应结果确定第一服务节点处于故障状态时,通知服务请求节点第一服务节点处于故障状态,从而由探测节点感知第一服务节点的故障状态,减小服务请求节点向故障的第一服务节点发送服务请求的可能性,提高服务请求节点请求服务的成功率。
下面说明实现本发明实施例的故障处理系统的示例性应用。参见图1,图1是本发明实施例提供的故障处理系统100的一个可选的架构示意图,为实现支撑一个示例性的故障处理的示例性应用,服务请求节点200、探测节点300和服务节点400(示例性示出了第一服务节点400-1和第一服务节点400-2)通过网络连接,网络可以是广域网或者局域网,又或者是二者的组合。
探测节点300向服务节点400发送探测消息11,并根据服务节点400返回的探测消息对应的响应结果12确定服务节点400是否处于故障状态。探测节点300根据第一服务节点400-1的对应探测消息的响应结果确定第一服务节点400-1处于故障状态时,向服务请求节点200发送指示第一服务节点400-1处于故障状态的故障通知13,服务请求节点200基于故障通知13的触发停止向第一服务节点400-1发送服务请求,将服务请求14发送至未处于故障状态(例如正常状态)的第二服务节点400-2,第二服务节点400-2对接收的服务请求进行处理,向服务请求节点200返回服务请求对应的请求结果15。
示例性的,在服务请求节点200上提供有移动应用(App)或浏览页面作为服务节点400的客户端,用户可通过客户端提交服务请求,由客户端将服务请求通过网络发送至服务节点400,并接收服务节点400返回的请求结果。
示例性的,在探测节点300上提供有应用程序作为探测服务节点400的探测端。探测端可自动生成探测消息,并将所生成的探测消息通过网络发送至服务节点400,并接收服务节点400返回的响应结果。
需要说明的是,对于判断第二服务节点400-2是否故障的方法可以根据上文的判断第一服务节点400-1是否故障的方案而实施。
在图1中仅示例性示出了故障处理系统中的服务节点包括第一服务节点和第二服务节点,可以理解,第一服务节点和第二服务节点仅为区分两个不同服务节点,不代表故障处理系统100只能支持两个服务节点。在实际应用中,故障处理系统中的服务节点的数量可以灵活设定,例如设定固定数量的服务节点,或者根据实际的业务负载而动态设置相应数量的服务节点。当探测节点确定故障处理系统中任一服务节点处于故障状态时,可通知故障处理系统中的服务请求节点处于故障状态的服务节点,服务请求节点停止向处于故障状态的服务节点发送服务请求,将服务请求发送至故障处理系统中的处于故障的服务节点之外的任一未处于故障状态的服务节点。
需要指出,下文中结合在图1中示例性的一个服务请求节点200进行服务请求的过程说明本发明实施例提供的故障处理方法,对于多个服务请求节点的服务请求过程的处理可以根据下文的说明而实施,因此,不排除故障处理系统100中可以实施多个服务请求节点的情况。
在一些实施例中,本发明实施例提供的探测节点300可为独立于服务请求节点200的物理实体;在另一些实施例中,本发明实施例提供的探测节点300可集成于服务请求节点200中,即与服务请求节点200一体化,例如在服务请求节点200中以虚拟机的方式实现探测节点300的功能。
本发明实施例提供的故障处理方法,适用于各种需要服务请求节点-服务节点的网络拓扑中。例如商场的结算系统,通过探测节点判断结算系统中的结算服务器A处于故障状态时,向服务人员操作的结算终端发送故障通知,结算终端将接收到的结算请求发送至结算服务器B,通过结算服务器B进行结算处理。又例如:城市的交通控制系统,通过探测节点判断交通控制系统中的控制服务器A处于故障时,向车辆的信息上报终端发送故障通知,信息上报终端将信息上报至控制服务器B。再例如:社交网站系统,通过探测节点判断社交网站的接口服务器A处于故障状态时,向前端服务器发送故障通知,前端服务器向接口服务器B调用接口,以处理社交网站系统的用户请求。
本发明实施例提供的故障处理装置可以硬件或者软硬件结合的方式实现,在一示例中,故障处理装置可以硬件或者软硬件结合的方式在故障处理系统的各节点中实现,在另一示例中,故障处理装置可以硬件或者软硬件结合的方式在探测节点中实现。下面说明本发明实施例提供的故障处理装置的示例性结构。
参见图2,图2是本发明实施例提供的故障处理装置20的一个可选的结构示意图,故障处理装置20可以是根据探测节点300的结构,可以预见的实施为探测节点300时的示例性结构,因此这里所描述的结构不应视为限制,例如可以省略下文所描述的部分组件,或者,增设下文所未记载的组件以适应某些应用的特殊需求。
图2所示的故障处理装置20包括:至少一个处理器210、存储器240、至少一个网络接口220和用户接口230。故障处理装置20中的各个组件通过总线系统250耦合在一起。可理解,总线系统250用于实现这些组件之间的连接通信。总线系统250除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统250。
用户接口230可以包括显示器、键盘、鼠标、轨迹球、点击轮、按键、按钮、触感板或者触摸屏等。
存储器240可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)。易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本发明实施例描述的存储器240旨在包括任意适合类型的存储器。
存储器240能够存储数据以支持故障处理装置20的操作。这些数据的示例包括:用于在故障处理装置20上操作的任何计算机程序,如操作系统和应用程序。其中,操作系统包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序可以包含各种应用程序。
作为本发明实施例提供的故障处理方法采用软硬件结合实施的示例,本发明实施例所提供的方法可以直接体现为由处理器210执行的软件模块组合,软件模块可以位于存储介质中,存储介质位于存储器240,处理器210读取存储器240中软件模块包括的可执行指令,结合必要的硬件(例如,包括处理器210以及连接到总线250的其他组件)完成本发明实施例提供的故障处理方法。
将结合前述的实现本发明实施例的故障处理系统的示例性应用和实施,说明实现本发明实施例的故障处理方法。
参见图3,图3是本发明实施例提供的故障处理方法的一个可选的流程示意图,将结合图3示出的步骤进行说明。其中,图3所示的故障处理方法可在图1所示的故障处理系统100中的探测节点300中实现。
步骤301,向第一服务节点发送探测消息,并接收所述第一服务节点的对应所述探测消息的响应结果。
故障处理系统包括至少两个服务节点,第一服务节点为故障处理系统中任一服务节点,第二服务节点为第一服务节点之外的另一服务节点。第一服务节点和第二服务节点为能够提供相同服务的不同的服务节点,第一服务节点和第二服务节点的位置和节点形式不进行任何的限定。
第一服务节点和第二服务节点可为主从关系,第二服务节点为第一服务节点的备份服务节点。第一服务节点和第二服务节点也可为故障处理系统中任意两个服务节点,此时,第一服务节点和第二服务节点不具备主从关系。
当第一服务节点和第二服务节点为主从关系时,探测节点可获取第一服务节点的节点标识,并根据第一服务节点的节点标识向第一服务节点发送探测消息。
当第一服务节点和第二服务节点为故障处理系统中任意两个且不具备主从关系的服务节点时,探测节点获取故障处理系统中各服务节点的节点标识,并根据各服务节点的节点标识向各服务节点发送探测消息。
探测节点中可设置服务节点列表,在服务节点列表中包括有不同服务节点的节点标识。其中,探测节点通过不同的节点标识识别对应的服务节点,节点标识可包括:服务节点编号、互联网协议(Internet Protocol Address,IP)地址、端口号。比如:第一服务节点的节点标识为IP1,第二服务节点的节点标识为IP2。
当故障处理系统中的服务节点更新时,服务节点列表中服务节点的节点标识同步更新。例如:当故障处理系统中新增服务节点时,新增的服务节点可在探测节点中注册,将新增的服务节点的节点标识同步至探测节点的服务节点列表。又例如:当将故障处理系统中一服务节点删除时,可将该服务节点的节点标识从探测节点的服务节点列表中删除。
下面,以第一服务节点和第二服务节点为故障处理系统中任意两个服务节点为示例对本发明实施例提供的故障处理方法进行说明。
探测节点可基于探测周期周期性的向各服务节点发送探测消息,并接收各服务节点返回的响应探测消息的响应结果。探测消息可为服务节点所指示的各种类型的服务请求,比如:当服务节点为微信的接口服务器时,探测消息可为语音发送请求、联系人信息查看消请求、朋友圈查看请求、朋友圈刷新请求等服务请求。又例如:当服务节点为城市交通信息系统时,探测消息可为位置上报消息、订单接收请求、订单结束请求等服务请求。其中,探测节点向第一服务节点和第二服务节点发送的探测消息可相同,也可不同。
探测节点对各服务节点的对应探测消息的响应结果分别进行记录,并根据各服务节点的对应探测消息的响应结果确定各服务节点所处的状态。这里,探测节点可将不同的服务节点的对应探测消息的响应结果存储在不同的存储路径中。
探测消息对应的响应结果根据是否响应以及耗时分为:响应成功和响应失败两种情况。当响应结果为响应且耗时小于耗时阈值时,探测消息对应的响应结果为响应成功。当响应结果为未响应或耗时大于耗时阈值时,探测消息对应的响应结果为响应失败。其中,耗时为发出探测消息的时刻至接收到探测消息对应的响应结果的时刻之间时间差。
在实际应用中,探测节点可根据探测消息的响应结果动态调整发送探测消息的探测周期。当探测消息对应的响应结果为响应成功时,探测周期为第一时长,当探测消息对应的响应结果为响应失败时,探测周期为第二时长,其中,第一时长大于第二时长。例如:第一时长为1ms,第二时长为0.5ms。本发明实施例中,对探测周期的时长不进行任何的限定,用户可根据实际需求进行设定,也可根据服务节点处理服务请求的处理性能来确定。
这里,当探测消息的响应结果为响应成功时,则该探测消息至下一探测消息之间的时间间隔即探测周期为第一时长。当探测消息的响应结果为响应失败时,则减小该探测消息至下一探测消息之间的时间间隔至第二时长。
在一些实施例中,探测节点接收到第一服务节点的对应探测消息的响应结果后,将对应所述探测消息的响应结果量化为响应失败率和响应耗时中至少一个维度的量化值;当所述量化值大于故障量化阈值时,确定所述第一服务节点处于故障状态。
探测节点对第一服务节点返回的对应探测消息的响应结果进行量化,量化为以下至少一个维度的量化值:响应失败率和响应耗时。这里,在量化时,将一段时间内响应失败的响应结果在所有的响应结果中的比值作为响应失败率,对一段时间内所有响应结果的耗时进行正则化,得到响应耗时。这里,可通过L1范数或L2范数进行正则化。
对于不同维度的量化值,设置对应的故障量化阈值,响应失败率对应的故障量化阈值为第一失败率阈值,响应耗时对应的故障量化阈值为第一响应耗时阈值。当满足以下故障条件中的一个或多个时,可确定量化值大于故障量化阈值:
故障条件1:响应失败率大于第一失败率阈值。
故障条件2:响应耗时大于第一响应耗时阈值。
当一个服务节点的对应探测消息的响应结果的量化值大于故障量化阈值时,确定该服务节点处于故障状态。
第一失败率阈值和第一响应耗时阈值可根据实际需求进行设置,例如:第一失败率阈值为20%,第一响应耗时阈值为2秒。
步骤302,当根据对应所述探测消息的响应结果确定所述第一服务节点处于故障状态时,向服务请求节点发送指示所述第一服务节点处于故障状态的故障通知,以使所述服务请求节点停止向所述第一服务节点发送服务请求,并向未处于故障状态的第二服务节点发送服务请求。
当探测节点根据第一服务节点的对应探测消息的响应结果确定第一服务节点处于故障状态时,将服务节点列表中的第一服务节点的标识标记为故障状态,即将第一服务节点冷却至冷却状态,并向服务请求节点发送故障通知,故障通知中携带第一服务节点的节点标识,以指示第一服务节点处于故障状态。
探测节点可在服务节点列表中各服务节点的节点标识后记录对应服务节点的状态、响应失败率、响应耗时等响应结果的统计信息,以作为探测节点的探测数据。
探测节点中可设置有服务请求节点列表,在服务请求节点列表中包括有故障处理系统中各服务请求节点的节点标识,探测节点根据服务请求节点列表中多个服务请求节点的节点标识,向各个服务请求节点发送指示第一服务节点处于故障状态的故障通知。
服务请求节点接收到故障通知后,对故障通知进行解析,得到故障携带的第一服务节点的节点标识,根据故障通知携带的第一服务节点的节点标识,将第一服务节点标记为故障状态,即将第一服务节点冷却至冷却状态,以停止向第一服务节点发送服务请求,将需要处理的服务请求发送至未处于故障状态的第二服务节点。
在实际应用中,探测节点可为模拟服务请求节点的网络节点,探测节点中发送的探测消息为模拟的测试性的服务请求,探测消息仅用于探测服务节点是否处于故障状态,服务节点对于探测消息的响应结果对于探测节点的正常运行不产生任何的影响,从而将故障探测和服务的请求相分离,由探测节点实现故障探测,由服务请求节点实现服务的请求,从而使得故障的探测过程不影响服务的请求。另外,在本发明实施例中,当探测节点确定第一服务节点处于故障状态时,通知故障处理系统中所有的服务请求节点,避免了由服务请求节点进行故障探测时,不同服务请求节点对于处于故障状态的服务节点的感知不同步的情况的发生。
在本发明实施例中,当探测节点根据第一服务节点响应探测消息的响应结果确定第一服务节点处于故障状态时,向服务请求节点发送指示第一服务节点处于故障状态的故障通知,根据故障通知触发服务请求节点停止向第一服务节点发送服务请求,向第一服务节点以外的未处于故障状态的第二服务节点发送服务请求,以请求第二服务节点对服务请求节点的服务请求进行处理。
采用本发明实施例提供的故障处理方法,由探测节点向第一服务节点发送探测消息,并根据第一服务节点的对应探测消息的响应结果确定第一服务节点处于故障状态时,通知服务请求节点第一服务节点处于故障状态,从而由探测节点感知第一服务节点的故障状态,避免了由服务请求节点感知服务节点的状态时,服务节点处于故障状态但未被服务请求节点感知到的情况下继续向服务节点发送的服务请求,从而减小了服务请求节点向故障的第一服务节点发送服务请求的可能性,进一步有效提高服务请求节点请求服务的成功率。
在一些实施例中,探测节点在步骤302之后,还可以执行:
向所述第一服务节点发送故障恢复检查消息,并接收所述第一服务节点对应所述故障恢复检查消息的响应结果;当根据对应所述故障恢复检查消息的响应结果确定所述第一服务节点处于故障恢复状态时,向所述服务请求节点发送指示所述第一服务节点处于故障恢复状态的故障恢复通知。
这里,探测节点中可设置冷却时长,当探测节点确定第一服务器处于故障状态的时长达到冷却时长时,可向所述第一服务节点发送故障恢复检查消息。当第一服务节点从故障状态恢复到正常状态,即切换到故障恢复状态时,可向探测节点发送故障恢复请求,以通知探测节点自身从故障状态转换为故障恢复状态,探测节点根据所接收到的故障恢复请求向第一服务节点发送故障恢复检查消息。
探测节点向第一服务节点发送故障恢复检查消息以检查第一服务器节点是否恢复至正常状态,这里,发送的故障恢复检查消息可为各种业务类型的服务请求,以请求不同业务类型的服务。
第一服务节点对接收到的故障恢复检查消息进行处理,将处理结果作为对应故障恢复检查消息的响应结果发送至探测节点。探测节点接收到对应故障恢复检查消息的响应结果,并根据对应所述故障恢复检查消息的响应结果的量化值判断第一服务节点的状态。对应所述故障恢复检查消息的响应结果的量化值可为响应失败率、响应耗时等不同维度的量化值。当对应故障恢复检查消息的响应结果的量化值小于故障恢复量化阈值时,确定第一服务节点处于故障恢复状态。这里,故障恢复量化阈值可为正常状态对应的量化阈值。
在一些实施例中,探测节点在向第一服务节点发送故障恢复检查消息之前,可获取所述第一服务节点支持的业务类型;根据所述第一服务节点支持的业务类型构建对应业务类型的服务请求,以作为所述故障恢复检查消息。
探测节点向第一服务节点发送的故障恢复检查消息,可根据第一服务节点所支持的业务类型构建每一种业务类型的请求消息,从而判断第一服务节点的每一种业务类型的服务提供能力是否都恢复。
例如:第一服务节点支持的业务为移动游戏时,则确定移动游戏中提供的用户注册、密码修改、密码重置、账号切换、游戏操作方式1、游戏操作方式2等各种业务类型,此时,对应生成用户注册请求、密码修改请求、密码重置请求、账号切换请求、游戏操作请求1、游戏操作请求2等服务请求,将各种类型业务的服务请求发送至第一服务节点,并接收第一服务节点对各种类型业务的服务请求的响应。
在一些实施例中,在步骤301之后,探测节点还可以执行:
当向服务请求节点发送所述故障通知之前,且根据对应所述探测消息的响应结果确定所述第一服务节点处于故障可疑状态时,向所述服务请求节点发送指示所述第一服务节点处于故障可疑状态的预警通知,以使所述服务请求节点调整发送至所述第一服务节点的服务请求的请求量。
当探测节点根据第一服务节点的对应探测消息的响应结果确定第一服务节点处于故障可疑状态时,将服务节点列表中的第一服务节点的标识标记为故障可疑状态,并向服务请求节点发送预警通知,预警通知中携带第一服务节点的节点标识,以指示第一服务节点处于故障可疑状态。
这里,故障可疑状态为介于正常状态和故障状态之间的状态,探测节点向服务请求节点发送预警通知,以提示服务请求节点第一服务节点存在服务请求处理失败的情况但未处于故障状态,以使得服务请求节点调整发送至所述第一服务节点的服务请求的请求量,减少请求服务的失败率。
在一些实施例中,探测节点将对应所述探测消息的响应结果所量化的响应失败率和响应耗时中至少一个维度的量化值与可疑量化阈值进行比较;
当所述量化值大于可疑量化阈值时,确定所述第一服务节点处于故障可疑状态;所述可疑量化阈值介于故障状态对应的故障量化阈值与正常状态对应的量化阈值之间。
对于不同维度的量化值,探测节点可设置对应的可疑量化阈值,响应失败率对应的可疑量化阈值为第二失败率阈值,响应耗时对应的可疑量化阈值为第二响应耗时阈值。当满足以下可疑条件中的一个或多个时,可确定量化值大于可疑量化阈值:
可疑条件1:响应失败率大于第二失败率阈值。
可疑条件2:响应耗时大于第二响应耗时阈值。
当一个服务节点的对应探测消息的响应结果的量化值大于可疑量化阈值,确定该服务节点处于故障状态。
这里,可疑量化阈值为介于故障量化阈值和故障恢复量化阈值之间的值,即,故障可疑状态为介于正常状态与故障状态之间的状态。
第二失率败阈值和第二响应耗时阈值可根据实际需求进行设置,例如:第一失率败阈值为10%,第一响应耗时阈值为1秒。
在实际应用中,当服务请求节点接收到指示第一服务节点处于故障可疑状态时,可将服务请求分流至处于正常状态的第二服务节点。
参见图4A和图4B,图4A是本发明实施例提供的故障处理方法的一个可选的流程示意图,图4B为图4A所述的故障处理方法中各节点的消息交互图,将结合图4A和图4B示出的步骤进行说明。
步骤401,探测节点向第一服务节点发送探测消息。
步骤402、所述第一服务节点向所述探测节点发送所述探测消息对应的响应结果。
步骤403,当所述探测节点根据对应所述探测消息的响应结果确定所述第一服务节点处于故障状态时,向服务请求节点发送指示所述第一服务节点处于故障状态的故障通知。
步骤404,所述服务请求节点根据所述故障通知停止向所述第一服务节点发送服务请求,并向未处于故障状态的第二服务节点发送服务请求。
当服务请求节点接收到探测节点发送的故障通知时,根据第一服务节点的节点标识(例如:IP地址)将第一服务节点标记为故障状态,以将第一服务节点冷却为冷却状态,停止向第一服务节点发送服务请求,将需要处理的服务请求发送至故障处理系统中的未处于故障状态的第二服务节点。这里,第二服务节点为节点标识为未被标记为故障状态的服务节点。
当本发明实施例提供的故障处理系统如图5所示,包括:服务请求节点501、探测节点502、服务节点503,其中,服务请求节点501包括:服务请求节点501-1、服务请求节点501-2至服务请求节点501-N共N个服务请求节点,服务节点503包括:服务节点503-1、服务节点503-2直到服务节点503-M共M个服务节点。当探测节点502确定服务节点503-2处于故障状态时,分别向服务请求节点501-1、服务请求节点501-2至服务请求节点501-N发送指示服务节点503-2处于故障状态的故障通知504,则服务请求节点501-1、服务请求节点501-2至服务请求节点501-N停止向服务请求节点501-2发送服务请求,将服务请求发送至处于正常状态的服务节点503-1、服务节点503-3至服务节点503-M共M-1个服务节点中的任一服务节点。
在一些实施例中,所述探测节点向所述第一服务节点发送故障恢复检查消息;所述第一服务节点向所述探测节点发送所述故障恢复检查消息对应的响应结果;当所述探测节点根据对应所述故障恢复检查消息的响应结果确定所述第一服务节点处于故障恢复状态时,向所述服务请求节点发送指示所述第一服务节点处于故障恢复状态的故障恢复通知;所述服务请求节点,根据所述故障恢复通知标记所述第一服务节点处于故障恢复状态。
这里,探测节点中可设置冷却时长,当探测节点确定第一服务器处于故障状态的时长达到冷却时长时,可向所述第一服务节点发送故障恢复检查消息。当第一服务节点从故障状态恢复到正常状态,即切换到故障恢复状态时,可向探测节点发送故障恢复请求,以通知探测节点自身从故障状态转换为故障恢复状态,探测节点根据所接收到的故障恢复请求向第一服务节点发送故障恢复检查消息。
探测节点向第一服务节点发送故障恢复检查消息以检查第一服务器节点是否恢复至正常状态,这里,发送的故障恢复检查消息可为各种业务类型的服务请求,以请求不同业务类型的服务。
第一服务节点对接收到的故障恢复检查消息进行处理,将处理结果作为对应故障恢复检查消息的响应结果发送至探测节点。探测节点接收到对应故障恢复检查消息的响应结果,并根据对应所述故障恢复检查消息的响应结果的量化值判断第一服务节点的状态。对应所述故障恢复检查消息的响应结果的量化值可为响应失败率、响应耗时等不同维度的量化值。当对应故障恢复检查消息的响应结果的量化值小于故障恢复量化阈值时,确定第一服务节点处于故障恢复状态。这里,故障恢复量化阈值可为正常状态对应的量化阈值。
服务请求节点接收到故障恢复通知,根据故障恢复通知中携带的第一服务节点的节点标识将第一服务节点标记为故障恢复状态,以解除第一服务节点的冷冻状态,从而能够继续向第一服务节点发送服务请求。
在一些实施例中,当所述服务请求节点标记所述第一服务节点处于故障恢复状态时,向所述第一服务节点发送服务请求;所述第一服务节点向所述服务请求节点发送所述服务请求对应的请求结果。
当服务请求节点接收到探测节点的指示第一服务节点处于故障恢复状态的故障恢复通知时,获知当前第一服务节点的状态恢复到正常状态,可进行服务请求的处理,此时,服务请求节点可将服务请求继续发送至第一服务节点。第一服务节点对接收到的服务请求进行处理,得到服务请求所请求的服务,并将服务请求所请求的服务作为请求结果发送至服务请求节点。
在实际应用中,服务请求节点将第一服务节点标记为故障恢复状态时,可立即向第一服务节点发送服务请求,也可在服务请求的负载量大于请求量阈值时,继续向第一服务节点发送服务请求。
在一些实施例中,在步骤403中的探测节点向服务请求节点发送所述故障通知之前,且根据对应所述探测消息的响应结果确定所述第一服务节点处于故障可疑状态时,向所述服务请求节点发送指示所述第一服务节点处于故障可疑状态的预警通知;所述服务请求节点根据所述预警通知,调整发送至所述第一服务节点的服务请求的请求量。
服务节点根据所述预警通知,调整发送至所述第一服务节点的服务请求的请求量的方式可包括以下调整方式中的任一种或多种的组合:
方式一、根据所述预警通知获取服务请求调整比例;根据所述服务请求调整比例,从待发送的服务请求中选取目标服务请求;将所述目标服务请求发送至所述第一服务节点;将所述待发送的服务请求中除所述目标服务请求以外的服务请求发送至所述第二服务节点。
方式二、根据所述预警通知获取待发送的服务请求中各服务请求的优先级;将优先级不满足优先处理条件的服务请求发送至所述第一服务节点;将优先级满足优先处理条件的服务请求发送至所述第二服务节点。
在方式一种,服务请求节点根据服务请求调整比例调整发送至第一服务节点的服务请求的请求量。比如:当服务请求调整比例为50%时,当前待发送的服务请求为10条,则将5条作为目标服务请求发送至第一服务节点,将另外的5条发送至第二服务节点。又比如:当服务请求调整比例为40%时,当前待发送的服务请求为10条,则将4条作为目标服务请求发送至第一服务节点,将另外的6条发送至第二服务节点。
服务请求节点从待发送的服务请求中选取目标服务请求时,可根据服务请求调整比例随机选取对应的数量的服务请求作为目标服务请求,也可根据服务请求的优先级来选取对应的数量的服务请求作为目标服务请求。本发明实施例中,对选取的方式不进行任何的限定。
在方式二中,服务请求节点根据各服务请求的优先级与优先级处理条件的关系来选取目标服务请求。其中,优先级处理条件可为设定的优先级,当服务请求的优先级满足优先级处理条件时,表征该服务请求所获取的服务为重要度高的服务,当服务请求的优先级不满足优先级处理条件时,表征该服务请求所获取的服务为重要度较低的服务。
基于预警通知获取待发送的服务请求中各服务请求的优先级,并分别和优先级处理条件进行匹配,当服务请求的优先级不满足优先级处理条件时,发送至处于故障可疑状态的第一服务节点,当服务请求的优先级满足优先级处理条件时,发送至处于未处于故障状态的第二服务节点。这里,未处于故障状态的第二服务节点可为正常状态的第二服务节点。
比如:待发送的服务请求包括:服务请求1、服务请求2、服务请求3、服务请求4和服务请求5,各服务请求对应的优先级分别为:优先级A、优先级B、优先级A、优先级D和优先级C,其中,优先级A到优先级D的优先级依次降低。当设置的优先级处理条件为:优先级不低于优先级B时,则将服务请求4和服务请求5发送至第一服务请求,并将服务请求1、服务请求2和服务请求3发送至第二服务节点。
各服务请求的优先级可根据所请求的服务进行设定。比如:当服务请求A为发送文字的发送请求时,服务请求B为发送视频的发送请求时,则可设置服务请求A的优先级低于服务请求B的优先级。又比如:服务请求A为获取网站的主页面的显示内容的内容获取请求,服务请求B为获取网站的非主页面的显示内容的内容获取请求,则可设置服务请求A的优先级高于服务请求B优先级。不同服务器请求的优先级可根据实际需求进行设置。
在本发明实施例中,当感知到第一服务节点处于故障可疑状态时,调整服务节点发送至处于故障可疑状态的第一服务节点的服务请求的请求量,将部分服务请求发送至第二服务节点,由第二服务节点承担第一服务节点的部分负载,从而降低服务请求节点的请求的服务的失败率。
本发明实施例中提供的故障处理方法可应用于图6所示的云计算架构600,云计算架构600包括:应用层601、中间层602和基础架构层603。其中不同的层和通过不同的设备节点来实现。
应用层601包括探测节点6011和服务请求节点6012,探测节点中安装探测端。
服务请求节点6012是提供用户界面以为用户提供所需的各项应用软件和服务。应用层直接面向客户需求,向中间层602发送服务请求,以向个人客户或企业用户提供各种服务,例如:移动游戏、移动U盘、云端搜索、移动企业即时消息、在线分享、手机地图、在线视频等功能。
需要说明的是,探测节点6011可根据服务请求节点6012所提供的服务向中间层602发送相同的服务请求作为探测消息。
中间层602作为服务节点,在基础设施层603所提供资源的基础上为用户提供服务,包括了访问控制、资源管理和数据库等集群,同时可通过集成例如应用程序编程接口(Application Programming Interface,API)的接口为客户提供定制开发接口。
基础架构层603主要包括计算资源池、网络资源池、存储资源池等IT基础设施,能够根据IT基础设施按需为中间层602或者用户提供其所需的计算资源、存储资源和网络资源等IT基础设施类服务,也就是能在基础设施层面提供的服务。
下面,以下服务请求节点为前端服务器、服务节点为接口服务器为例,将说明本发明实施例在一个场景中的示例性应用。
相关技术中,故障处理系统的架构如图7所示,包括终端701、前端服务器702和接口服务器703。终端701和前端服务器702为面向用户的前端系统700,用户基于终端701进行操作,触发服务请求,并将服务请求发送至前端服务器702。前端服务器702向接口服务器703发送服务请求以调用接口服务器703的接口。前端服务器702在调用接口服务器703的接口的时候会记录调用失败率、耗时等统计信息,当调用失败率过高的时候会把接口服务器703的IP地址标记为冷却状态一段时间即冷却时长,暂时不向接口服务器703请求接口,冷却时长过后再重新尝试调用接口服务器703的接口。
前端服务器702和接口服务器703之间的交互如图8所示,包括:
步骤801,前端服务器者向接口服务器请求调用接口。
步骤802,接口服务器返回调用结果。
步骤803,前端服务器对调用结果统计。
步骤804,当接口服务器的调用成功率过低、耗时过高,则把该接口服务器冷却一段时间,同时清空之前的成功率、耗时等统计数据。
步骤805,冷却时长过后,前端服务器重新尝试调用该接口服务器的接口,并统计其成功率、耗时。
可见,相关技术中,接口服务器的状态的检测依赖于前端服务器,即让接口调用者来感知接口服务器的故障和恢复状态,在接口服务器处于故障状态但未被前端服务器感知到之前,不可避免地会造成少数调用接口的服务请求的失败。在冷却时长过后,前端服务器尝试性调用接口服务器的接口,如果接口服务器仍处于故障状态,也会造成少数的尝试性的调用接口的服务请求失败,最终影响用户在使用上的体验。
本发明实施例提供的故障处理方法所应用的故障处理系统如图9所示,包括:终端901、前端服务器902、接口服务器903和探测服务器904。终端901和前端服务器902为面向用户的前端系统900,用户基于终端901进行操作,触发服务请求,并将服务请求发送至前端服务器902。相对于图7所示的故障处理系统,增加了探测服务器904,探测服务器904周期性对运营中的接口服务器903发送探测消息905以调用接口,并统计接口服务器903的调用成功率(或调用失败率)和耗时,当调用成功率过低、耗时过高,认为接口服务器903处于故障状态,将接口服务器903冷却,并向前端服务器902发送故障通知906。当处于故障状态的接口服务器903的故障恢复后,向探测服务器904发送故障恢复请求907,主动请求探测服务器904解除接口服务器903的冷却状态,此时探测服务器904进行系列化的接口调用和耗时分析,确保接口服务器903能正常提供服务,再解除接口服务器903的冷却状态,并向接口服务器903发送服务请求908以请求接口。
前端服务器902、接口服务器903和探测服务器904之间的交互如图10所示,包括:
步骤1001、前端服务器向接口服务器请求调用接口。
步骤1002、接口服务器返回调用结果。
步骤1003、接口服务器发生故障。
步骤1004、探测服务器向接口服务器发送探测消息;
探测服务器基于探测消息发起对接口服务器的可用性探测。
步骤1005、接口服务器无法响应探测,或者是响应超时。
步骤1006、探测服务器确定接口服务器处于故障状态。
此时,探测服务器将处于故障状态的接口服务器冷却。
步骤1007、接口服务器恢复故障。
步骤1008、接口服务器向探测服务器请求解冷却。
步骤1009、探测服务器向接口服务器发送故障恢复检查消息。
探测服务器基于恢复检查消息发起恢复检查。
步骤1010、接口服务器响应恢复检查消息。
步骤1011、探测服务器根据响应恢复检查消息的检查情况,解除接口服务器的冷却。
在本发明实施例中,探测服务器中的服务节点列表中可存储各接口服务器的标识、状态、响应成功率、耗时等探测数据,当故障服务系统中的接口服务器包括服务器A、服务器B、和服务器C时,服务节点列表中的探测数据的数据结构可如图11所示,其中,服务器A为正常状态,服务器B为故障状态,服务器C为正常状态。这里,探测数据可使用关系型数据库存储。
在本发明实施例中,相对于图7所示的故障处理系统,增加了探测服务器,探测服务器会周期性对运营中的接口服务器进行接口调用,并统计其成功率和耗时,当接口服务器的成功率过低、耗时过高则进行冷却操作,并通知到前端服务器。当故障的接口服务器故障恢复后,接口服务器主动请求探测服务器解除冷却,此时探测服务器会进行系列化的接口调用和耗时分析,进行全面的接口可用性检查,保证恢复后的接口服务器能够正常提供服务,再解除接口服务器的冷却,从而确保接口服务器正常可用后再投入使用,避免前端接口服务器的尝试性调用,降低了前端服务器调用接口的失败率,提升了用户体验。
在本发明实施例中,提供一种故障处理系统,如图1所示,包括:
探测节点300,用于向第一服务节点400-1发送探测消息;
第一服务节点400-1,用于向探测节点300发送所述探测消息对应的响应结果;
探测节点300,还用于当根据对应所述探测消息的响应结果确定第一服务节点400-1处于故障状态时,向服务请求节点200发送指示第一服务节点400-1处于故障状态的故障通知;
服务请求节点200,用于根据所述故障通知停止向第一服务节点400-1发送服务请求,并向未处于故障状态的第二服务节点400-2发送服务请求。
在一些实施例中,探测节点300,还用于将对应所述探测消息的响应结果量化为响应失败率和响应耗时中至少一个维度的量化值;以及
当所述量化值大于故障量化阈值时,确定所述第一服务节点处于故障状态。
在一些实施例中,探测节点300,还用于向第一服务节点400-1发送故障恢复检查消息;
第一服务节点400-1,还用于向探测节点300发送所述故障恢复检查消息对应的响应结果;
探测节点300,还用于当根据对应所述故障恢复检查消息的响应结果确定第一服务节点400-1处于故障恢复状态时,向服务请求节点200发送指示第一服务节点400-1处于故障恢复状态的故障恢复通知;
服务请求节点200,还用于根据所述故障恢复通知标记第一服务节点400-1处于故障恢复状态。
在一些实施例中,探测节点300,还用于获取第一服务节点400-1支持的业务类型,根据第一服务节点400-1支持的业务类型构建对应业务类型的服务请求,以作为所述故障恢复检查消息。
在一些实施例中,服务请求节点200,还用于当标记第一服务节点400-1处于故障恢复状态时,向第一服务节点400-1发送服务请求;
第一服务节点400-1,还用于向服务请求节点200发送所述服务请求对应的请求结果。
在一些实施例中,探测节点300,还用于在向服务请求节点200发送所述故障通知之前,且根据对应所述探测消息的响应结果确定第一服务节点400-1处于故障可疑状态时,向服务请求节点200发送指示第一服务节点400-1处于故障可疑状态的预警通知;
服务请求节点200,还用于根据所述预警通知,调整发送至第一服务节点400-1的服务请求的请求量。
在一些实施例中,探测节点300,还用于将对应所述探测消息的响应结果量化为响应失败率和响应耗时中至少一个维度的量化值,并与可疑量化阈值进行比较;以及
当所述量化值大于所述可疑量化阈值时,所述探测节点确定所述第一服务节点处于故障可疑状态;所述可疑量化阈值介于故障状态对应的故障量化阈值与正常状态对应的量化阈值之间。
在一些实施例中,服务请求节点200,还用于:
根据所述预警通知获取服务请求调整比例;
根据所述服务请求调整比例,从待发送的服务请求中选取目标服务请求;
将所述目标服务请求发送至所述第一服务节点;
将所述待发送的服务请求中除所述目标服务请求以外的服务请求发送至所述第二服务节点。
在一些实施例中,服务请求节点200,还用于:
根据所述预警通知获取待发送的服务请求中各服务请求的优先级;
将优先级不满足优先处理条件的服务请求发送至所述第一服务节点;
将优先级满足优先处理条件的服务请求发送至所述第二服务节点。
下面说明软件模块的示例性结构,在一些实施例中,如图2所示,故障处理装置20中的软件模块可以包括:
探测单元241,用于向第一服务节点发送探测消息,并接收所述第一服务节点的对应所述探测消息的响应结果;
故障通知单元242,用于当根据对应所述探测消息的响应结果确定所述第一服务节点处于故障状态时,向服务请求节点发送指示所述第一服务节点处于故障状态的故障通知,以使
所述服务请求节点停止向所述第一服务节点发送服务请求,并向未处于故障状态的第二服务节点发送服务请求。
在一些实施例中,故障处理装置还包括:量化单元,用于:
将对应所述探测消息的响应结果量化为响应失败率和响应耗时中至少一个维度的量化值;
当所述量化值大于故障量化阈值时,确定所述第一服务节点处于故障状态。
在一些实施例中,故障处理装置还包括:恢复检查单元,用于:
向所述第一服务节点发送故障恢复检查消息,并接收所述第一服务节点对应所述故障恢复检查消息的响应结果;
当根据对应所述故障恢复检查消息的响应结果确定所述第一服务节点处于故障恢复状态时,向所述服务请求节点发送指示所述第一服务节点处于故障恢复状态的故障恢复通知。
在一些实施例中,故障处理装置还包括:构建单元,用于:
获取所述第一服务节点支持的业务类型;
根据所述第一服务节点支持的业务类型构建对应业务类型的服务请求,以作为所述故障恢复检查消息。
在一些实施例中,故障处理装置还包括:故障可疑单元,用于:
当向服务请求节点发送所述故障通知之前,且根据对应所述探测消息的响应结果确定所述第一服务节点处于故障可疑状态时,向所述服务请求节点发送指示所述第一服务节点处于故障可疑状态的预警通知,以使所述服务请求节点调整发送至所述第一服务节点的服务请求的请求量。
作为本发明实施例提供的故障处理方法采用硬件实施的示例,本发明实施例所提供的故障处理方法可以直接采用硬件译码处理器形式的处理器410来执行完成,例如,被一个或多个应用专用集成电路(ASIC,Application Spe cific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,ComplexProgrammable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable GateArray)或其他电子元件执行实现本发明实施例提供的故障处理方法。
本发明实施例提供一种存储有可执行指令的存储介质,即计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本发明实施例提供的故障处理方法,例如,如图3示出的故障处理方法。
在一些实施例中,存储介质可以是FRAM、ROM、PROM、EPROM、EE PROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(H TML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
综上所述,通过本发明实施例,在本发明实施例中,通过探测节点周期性对服务节点进行可用性探测,发现服务节点处于故障状态,从而由探测节点感知第一服务节点的故障状态,减小服务请求节点向故障的第一服务节点发送服务请求的可能性,进一步有效减小服务请求节点的服务请求的请求结果失败的可能性。在服务节点的故障恢复后,对服务节点进行故障恢复检查,确保服务节点故障恢复后才重新对服务节点使用,使得服务请求节点可以继续向服务器节点请求服务,从而避免了无效的尝试性接口调用,降低了服务请求节点向服务节点请求服务的失败率,提升了用户体验。
以上所述,仅为本发明的实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。

Claims (15)

1.一种故障处理方法,其特征在于,所述方法包括:
服务请求节点向第一服务节点发送第一服务请求,所述第一服务节点向所述服务请求节点发送所述第一服务请求对应的请求结果;
在所述服务请求节点向所述第一服务节点发送第二服务请求之前,探测节点向所述第一服务节点周期性地发送探测消息,并向第二服务节点周期性地发送所述探测消息;
所述第一服务节点向所述探测节点发送每一所述探测消息对应的第一响应结果;所述第二服务节点向所述探测节点发送每一所述探测消息对应的第二响应结果;所述探测节点根据对应所述探测消息的第二响应结果确定所述第二服务节点处于正常状态;
当所述探测节点根据对应所述探测消息的第一响应结果确定所述第一服务节点处于故障状态时,向所述服务请求节点发送指示所述第一服务节点处于故障状态的故障通知;
所述服务请求节点根据所述故障通知停止向所述第一服务节点发送所述第二服务请求,并向处于所述正常状态的所述第二服务节点发送所述第二服务请求。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述探测节点将对应所述探测消息的第一响应结果量化为响应失败率和响应耗时中至少一个维度的量化值;
当所述量化值大于故障量化阈值时,确定所述第一服务节点处于故障状态。
3.根据权利要求1所述的方法,其特征在于,
所述探测消息包括故障恢复检查消息,所述探测节点向第一服务节点周期性地发送探测消息,包括:
所述探测节点向所述第一服务节点周期性地发送故障恢复检查消息;
所述第一服务节点向所述探测节点发送每一所述探测消息对应的第一响应结果,包括:
所述第一服务节点向所述探测节点发送每一所述故障恢复检查消息对应的第一响应结果;
所述方法还包括:
当所述探测节点根据对应所述故障恢复检查消息的响应结果确定所述第一服务节点处于故障恢复状态时,向所述服务请求节点发送指示所述第一服务节点处于故障恢复状态的故障恢复通知;
所述服务请求节点根据所述故障恢复通知标记所述第一服务节点处于故障恢复状态。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
所述探测节点获取所述第一服务节点支持的业务类型,根据所述第一服务节点支持的业务类型构建对应业务类型的服务请求,以作为所述故障恢复检查消息。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
当所述服务请求节点标记所述第一服务节点处于故障恢复状态时,向所述第一服务节点发送所述第二服务请求;
所述第一服务节点向所述服务请求节点发送所述第二服务请求对应的请求结果。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述探测节点向服务请求节点发送所述故障通知之前,且根据对应所述探测消息的第一响应结果确定所述第一服务节点处于故障可疑状态时,向所述服务请求节点发送指示所述第一服务节点处于故障可疑状态的预警通知;
所述服务请求节点根据所述预警通知,调整发送至所述第一服务节点的服务请求的请求量。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
所述探测节点将对应所述探测消息的第一响应结果量化为响应失败率和响应耗时中至少一个维度的量化值,并与可疑量化阈值进行比较;
当所述量化值大于所述可疑量化阈值时,确定所述第一服务节点处于故障可疑状态;所述可疑量化阈值介于故障状态对应的故障量化阈值与正常状态对应的量化阈值之间。
8.根据权利要求6所述的方法,其特征在于,所述根据所述预警通知,调整发送至所述第一服务节点的服务请求的请求量,包括:
根据所述预警通知获取服务请求调整比例;
根据所述服务请求调整比例,从待发送的服务请求中选取目标服务请求;
将所述目标服务请求发送至所述第一服务节点;
将所述待发送的服务请求中除所述目标服务请求以外的服务请求,发送至所述第二服务节点。
9.根据权利要求6所述的方法,其特征在于,所述根据所述预警通知,调整发送至所述第一服务节点的服务请求的请求量,包括:
根据所述预警通知获取待发送的服务请求中各服务请求的优先级;
将优先级不满足优先处理条件的服务请求发送至所述第一服务节点;
将优先级满足优先处理条件的服务请求发送至所述第二服务节点。
10.一种故障处理方法,其特征在于,所述方法包括:
在服务请求节点向第一服务节点发送第一服务请求,所述第一服务节点向所述服务请求节点发送所述第一服务请求对应的请求结果之后,且在所述服务请求节点向所述第一服务节点发送第二服务请求之前,向所述第一服务节点周期性地发送探测消息,并接收所述第一服务节点的对应每一所述探测消息的第一响应结果;向第二服务节点周期性地发送所述探测消息,并接收所述第二服务节点的对应每一所述探测消息的第二响应结果;根据对应所述探测消息的第二响应结果确定所述第二服务节点处于正常状态;
当根据对应所述探测消息的第一响应结果确定所述第一服务节点处于故障状态时,向所述服务请求节点发送指示所述第一服务节点处于故障状态的故障通知,以使
所述服务请求节点停止向所述第一服务节点发送所述第二服务请求,并向处于所述正常状态的所述第二服务节点发送所述第二服务请求。
11.根据权利要求10所述的方法,其特征在于,所述探测消息包括故障恢复检查消息;所述向所述第一服务节点周期性地发送探测消息,包括:
向所述第一服务节点周期性地发送故障恢复检查消息;
所述接收所述第一服务节点的对应每一所述探测消息的第一响应结果,包括:
接收所述第一服务节点对应每一所述故障恢复检查消息的第一响应结果;
所述方法还包括:
当根据对应所述故障恢复检查消息的第一响应结果确定所述第一服务节点处于故障恢复状态时,向所述服务请求节点发送指示所述第一服务节点处于故障恢复状态的故障恢复通知。
12.一种故障处理系统,其特征在于,所述系统包括:
服务请求节点,用于向第一服务节点发送第一服务请求;
第一服务节点,用于向所述服务请求节点发送所述第一服务请求对应的请求结果;
探测节点,用于在所述服务请求节点向所述第一服务节点发送第二服务请求之前,向所述第一服务节点周期性地发送探测消息,并向第二服务节点周期性地发送所述探测消息;
所述第一服务节点,用于向所述探测节点发送每一所述探测消息对应的第一响应结果;
所述第二服务节点,用于向所述探测节点发送每一所述探测消息对应的第二响应结果;
所述探测节点,还用于当根据对应所述探测消息的第一响应结果确定所述第一服务节点处于故障状态时,向所述服务请求节点发送指示所述第一服务节点处于故障状态的故障通知;根据对应所述探测消息的第二响应结果确定所述第二服务节点处于正常状态;
所述服务请求节点,还用于根据所述故障通知停止向所述第一服务节点发送第二服务请求,并向处于所述正常状态的所述第二服务节点发送所述第二服务请求。
13.一种故障处理装置,其特征在于,所述装置包括:
探测单元,用于向第一服务节点周期性地发送探测消息,并接收所述第一服务节点的对应每一所述探测消息的第一响应结果;向第二服务节点周期性地发送所述探测消息,并接收所述第二服务节点的对应每一所述探测消息的第二响应结果;根据对应所述探测消息的第二响应结果确定所述第二服务节点处于正常状态;
其中,所述探测单元发送所述探测消息的时机是在服务请求节点向第一服务节点发送第一服务请求,所述第一服务节点向所述服务请求节点发送所述第一服务请求对应的请求结果之后,且在所述服务请求节点向所述第一服务节点发送第二服务请求之前;
故障通知单元,用于当根据对应所述探测消息的第一响应结果确定所述第一服务节点处于故障状态时,向所述服务请求节点发送指示所述第一服务节点处于故障状态的故障通知,以使
所述服务请求节点停止向所述第一服务节点发送所述第二服务请求,并向处于所述正常状态的所述第二服务节点发送所述第二服务请求。
14.一种故障处理装置,其特征在于,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至9任一项所述的故障处理方法,或权利要求10至11任一项所述的故障处理方法。
15.一种计算机可读存储介质,其特征在于,存储有可执行指令,用于引起处理器执行时,实现权利要求1至9任一项所述的故障处理方法,或权利要求10至11任一项所述的故障处理方法。
CN201910433823.6A 2019-05-23 2019-05-23 故障处理方法、系统、装置及存储介质 Active CN110162424B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910433823.6A CN110162424B (zh) 2019-05-23 2019-05-23 故障处理方法、系统、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910433823.6A CN110162424B (zh) 2019-05-23 2019-05-23 故障处理方法、系统、装置及存储介质

Publications (2)

Publication Number Publication Date
CN110162424A CN110162424A (zh) 2019-08-23
CN110162424B true CN110162424B (zh) 2022-03-22

Family

ID=67632215

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910433823.6A Active CN110162424B (zh) 2019-05-23 2019-05-23 故障处理方法、系统、装置及存储介质

Country Status (1)

Country Link
CN (1) CN110162424B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110557304B (zh) * 2019-09-20 2022-10-14 腾讯科技(深圳)有限公司 一种地址探测方法、设备及计算机可读存储介质
CN111064772B (zh) * 2019-11-21 2022-08-02 深圳市优必选科技股份有限公司 一种车辆服务的响应方法及系统
CN111104266A (zh) * 2019-12-23 2020-05-05 北京大米科技有限公司 访问资源的分配方法、装置、存储介质和电子设备
CN111064641B (zh) * 2019-12-31 2021-07-02 上海焜耀网络科技有限公司 一种去中心化存储网络的节点性能检测系统及方法
CN111770154B (zh) * 2020-06-24 2023-12-05 百度在线网络技术(北京)有限公司 服务检测方法、装置、设备以及存储介质
CN112242938B (zh) * 2020-10-14 2022-08-19 亚信科技(中国)有限公司 探测方法、装置、电子设备及计算机可读存储介质
CN112328421B (zh) * 2020-11-05 2022-04-08 腾讯科技(深圳)有限公司 一种系统故障处理方法、装置、计算机设备和存储介质
CN113162933B (zh) * 2021-04-23 2022-04-26 杭州安恒信息技术股份有限公司 一种漏洞扫描引擎的拉黑状态识别方法、装置及设备
CN113438106B (zh) 2021-06-22 2023-02-21 北京百度网讯科技有限公司 内容分发网络处理方法、装置及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102918802A (zh) * 2011-05-30 2013-02-06 华为技术有限公司 确定故障指示状态的方法、节点和系统
CN107306278A (zh) * 2016-04-18 2017-10-31 阿里巴巴集团控股有限公司 故障检测方法、全局负载均衡服务器和常驻网关
CN107682442A (zh) * 2017-10-18 2018-02-09 中国银联股份有限公司 一种Web连接方法及装置
CN109274707A (zh) * 2017-07-18 2019-01-25 阿里巴巴集团控股有限公司 一种负载调度方法及装置
CN109739726A (zh) * 2018-12-29 2019-05-10 阿里巴巴集团控股有限公司 一种健康检查方法、装置及电子设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10191794B2 (en) * 2016-09-28 2019-01-29 Mcafee, Llc Monitoring and analyzing watchdog messages in an internet of things network environment

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102918802A (zh) * 2011-05-30 2013-02-06 华为技术有限公司 确定故障指示状态的方法、节点和系统
CN107306278A (zh) * 2016-04-18 2017-10-31 阿里巴巴集团控股有限公司 故障检测方法、全局负载均衡服务器和常驻网关
CN109274707A (zh) * 2017-07-18 2019-01-25 阿里巴巴集团控股有限公司 一种负载调度方法及装置
CN107682442A (zh) * 2017-10-18 2018-02-09 中国银联股份有限公司 一种Web连接方法及装置
CN109739726A (zh) * 2018-12-29 2019-05-10 阿里巴巴集团控股有限公司 一种健康检查方法、装置及电子设备

Also Published As

Publication number Publication date
CN110162424A (zh) 2019-08-23

Similar Documents

Publication Publication Date Title
CN110162424B (zh) 故障处理方法、系统、装置及存储介质
US8838539B1 (en) Database replication
US20210036907A1 (en) Methods and apparatuses for pushing a message
CN102638561B (zh) 使用http资源的高速缓存间通信
CN105897947A (zh) 移动终端的网络访问方法和装置
CN113904917A (zh) 一种基于微服务架构的气象数据服务平台
CN109101371B (zh) 一种容灾切换方法及装置
US20170351560A1 (en) Software failure impact and selection system
CN111738783B (zh) 一种高可用的电子发票开具方法及系统
CN116996369B (zh) 容器化管理服务器及其主备管理方法、装置和存储介质
CN112380072A (zh) 多数据中心访问方法及系统
CN113326100A (zh) 一种集群管理方法、装置、设备及计算机存储介质
CN111342986A (zh) 分布式节点管理方法及装置、分布式系统、存储介质
CN114585035B (zh) 一种语音通话方法、装置和计算机可读存储介质
KR100970211B1 (ko) 인증 서비스 시스템에서 별도의 감시자를 통해 서비스상태를 감시하는 방법 및 장치
CN116962395A (zh) 云节点确定方法、装置、设备及计算机可读存储介质
CN114338684A (zh) 一种能源管理系统及方法
JP2006285453A (ja) 情報処理装置、情報処理方法、および情報処理プログラム
CN109947630B (zh) 一种故障告示方法、装置及存储介质
CN112350921A (zh) 消息处理方法、终端及存储介质
CN113438250A (zh) 一种异常事件处理方法及设备
CN112148508A (zh) 一种信息处理的方法及相关装置
CN112711518A (zh) 一种日志上传方法和装置
CN114640572B (zh) 数据容灾的处理方法、装置、设备及计算机可读存储介质
CN117370052B (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