CN114584480A - 用于服务降级处理的方法和装置 - Google Patents
用于服务降级处理的方法和装置 Download PDFInfo
- Publication number
- CN114584480A CN114584480A CN202210201830.5A CN202210201830A CN114584480A CN 114584480 A CN114584480 A CN 114584480A CN 202210201830 A CN202210201830 A CN 202210201830A CN 114584480 A CN114584480 A CN 114584480A
- Authority
- CN
- China
- Prior art keywords
- access terminal
- service
- target access
- determining
- response
- 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.)
- Pending
Links
- 230000015556 catabolic process Effects 0.000 title claims abstract description 168
- 238000006731 degradation reaction Methods 0.000 title claims abstract description 168
- 238000000034 method Methods 0.000 title claims abstract description 70
- 230000004044 response Effects 0.000 claims abstract description 80
- 238000005070 sampling Methods 0.000 claims description 115
- 238000004590 computer program Methods 0.000 claims description 10
- 230000002159 abnormal effect Effects 0.000 abstract description 13
- 238000010586 diagram Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000007664 blowing Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5003—Managing SLA; Interaction between SLA and QoS
- H04L41/5019—Ensuring fulfilment of SLA
- H04L41/5025—Ensuring fulfilment of SLA by proactively reacting to service quality change, e.g. by reconfiguration after service quality degradation or upgrade
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/142—Network analysis or design using statistical or mathematical methods
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Pure & Applied Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Quality & Reliability (AREA)
- Computer And Data Communications (AREA)
Abstract
本公开的实施例公开了用于服务降级处理的方法和装置。该方法的一具体实施方式包括:响应于接收到针对目标接口的服务请求,确定响应服务请求的接入端作为目标接入端,其中,目标接口对应至少两个接入端;获取目标接入端所处理的历史服务请求的统计数据,以及根据统计数据确定是否对目标接入端进行服务降级;响应于确定对目标接入端进行服务降级,执行预设的服务降级步骤。该实施方式实现了在目标接入端服务异常时及时对目标接入端进行服务降级,又可以保证目标接口对应的其它接入端的正常服务,减少对其它接入端的影响。
Description
技术领域
本公开的实施例涉及计算机技术领域,具体涉及用于服务降级处理的方法和装置。
背景技术
现有的许多应用或系统为了拓展和完善其服务功能,经常会开放API(Application Programming Interface,应用程序接口),以利用API接口与其它第三方应用或系统的功能对接,也为用户提供了更多的服务渠道,提升用户体验。
对于多应用或系统接入同一接口服务的情况,时而会出现其中的部分应用或系统挂掉的情况,为了避免这种情况下的雪崩效应等使得服务器资源耗尽,导致服务器宕机,通常会预先设置一些服务降级或熔断机制。但现有的服务降级或熔断机制会使得其它服务正常的应用或系统也无法正常提供服务。
发明内容
本公开的实施例提出了用于服务降级处理的方法和装置。
第一方面,本公开的实施例提供了一种用于服务降级处理的方法,该方法包括:响应于接收到针对目标接口的服务请求,确定响应服务请求的接入端作为目标接入端,其中,目标接口对应至少两个接入端;获取目标接入端所处理的历史服务请求的统计数据,以及根据统计数据确定是否对目标接入端进行服务降级;响应于确定对目标接入端进行服务降级,执行预设的服务降级步骤。
第二方面,本公开的实施例提供了一种用于服务降级处理的装置,该装置包括:目标接入端确定单元,被配置成响应于接收到针对目标接口的服务请求,确定响应服务请求的接入端作为目标接入端,其中,目标接口对应至少两个接入端;服务降级确定单元,被配置成获取目标接入端所处理的历史服务请求的统计数据,以及根据统计数据确定是否对目标接入端进行服务降级;处理单元,被配置成响应于确定对目标接入端进行服务降级,执行预设的服务降级步骤。
第三方面,本公开的实施例提供了一种服务器,该电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面中任一实现方式描述的方法。
第四方面,本公开的实施例提供了一种计算机可读介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面中任一实现方式描述的方法。
本公开的实施例提供的用于服务降级处理的方法和装置,在接收到针对目标接口的服务请求时,先确定该服务请求指示的目标接入端,再利用目标接入端所处理过的历史服务请求的统计数据来判断目标接入端的服务状态,从而可以在目标接入端服务异常时及时对目标接入端进行服务降级,又可以保证目标接口对应的其它接入端的正常服务,从而实现接入端维度的服务降级。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本公开的其它特征、目的和优点将会变得更明显:
图1是本公开的一个实施例可以应用于其中的示例性系统架构图;
图2是根据本公开的用于服务降级处理的方法的一个实施例的流程图;
图3是目标接口和其对应的各个接入端的交互示意图;
图4是根据本公开的实施例的用于服务降级处理的方法的一个应用场景的示意图;
图5是确定是否对目标接入端进行服务降级的一个实施例的流程图;
图6是根据本公开的用于服务降级处理的方法的又一个实施例的流程图;
图7是根据本公开的用于服务降级处理的装置的一个实施例的结构示意图;
图8是适于用来实现本公开的实施例的电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本公开作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
图1示出了可以应用本公开的用于服务降级处理的方法或用于服务降级处理的装置的实施例的示例性架构100。
如图1所示,系统架构100可以包括接入端101、102、103,网络104和服务器105。网络104用以在接入端101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
接入端101、102、103通过网络104与服务器105交互,以接收或发送消息等。接入端101、102、103可以共同接入服务器105以实现相同的服务。其中,接入端101、102、103可提供各种用户所需的服务,如支付服务、注册服务、安全服务等等。
接入端101、102、103可以是硬件,也可以是软件。当接入端101、102、103为硬件时,可以是提供服务支持的各种终端设备或服务器。当接入端101、102、103为软件时,可以安装在上述终端设备或服务器中。其可以实现成多个软件或软件模块(例如用来提供分布式服务的多个软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。
服务器105可以是提供各种服务的服务器,例如为用户所使用的终端设备(图中未示出)提供后端支持的后端服务器等。服务器105可以在接收到用户利终端设备发送的服务请求时,可以利用接入端101、102、103来响应该服务请求。
需要说明的是,本公开的实施例所提供的用于服务降级处理的方法一般由服务器105执行,相应地,用于服务降级处理的装置一般设置于服务器105中。
需要说明的是,服务器105可以是硬件,也可以是软件。当服务器105为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器105为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务的多个软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。
应该理解,图1中的接入端、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的接入端、网络和服务器。
继续参考图2,其示出了根据本公开的用于服务降级处理的方法的一个实施例的流程200。该用于服务降级处理的方法包括以下步骤:
步骤201,响应于接收到针对目标接口的服务请求,确定响应该服务请求的接入端作为目标接入端。
在本实施例中,接口可以指软件类接口,具体可以指一些预先定义的接口。例如API。接口通常可以根据实际的应用需求进行设置,以用于提供各种服务。例如,支付接口可以完成支付功能。又例如,用户注册接口可以完成用户注册功能。
目标接口可以是任意的接口。例如,目标接口可以是预先指定的接口。针对目标接口的服务请求可以用于请求获取目标接口所提供的服务。目标接口可以对应至少两个接入端。其中,不同的接入端可以接入同一目标接口服务,以使可以利用任一接入端完成目标接口所提供的服务。
继续参见图3,图3是目标接口和其对应的各个接入端的交互示意图。如图3所示,用户终端上可以安装有客户端应用和接入端“A”小程序。用户可以从接入端“A”小程序跳转至客户端应用并发送服务请求(如用户绑定请求或积分兑换请求等等)。客户端应用的后端服务器可以响应用户终端发送的服务请求,如完成用户绑定处理或积分兑换处理等。具体地,服务器可以通过调用(如JSF调用等)对外接口服务(如用户绑定服务或积分兑换服务等)以完成用户绑定处理或积分兑换处理等。
接入端“A”、接入端“B”和接入端“C”可以通过对外网关服务接入同一对外接口服务。例如,接入端“A”、接入端“B”和接入端“C”同时接入用户绑定服务和/或积分兑换服务。在图3所示的示例中,服务器可以根据用户终端发送的服务请求指示的接入端“A”调用接入端“A”的相关服务来响应服务请求(如完成用户绑定或积分兑换)。
一般地,服务请求中可以携带用于指示接入端的信息(如接入端标识等)。此时,在执行主体(如图1所示的服务器105等)接收到服务请求后,可以根据其中携带的用于指示接入端的信息确定该服务请求对应的接入端作为目标接入端。
步骤202,获取目标接入端所处理的历史服务请求的统计数据,以及根据获取的统计数据确定是否对目标接入端进行服务降级。
在本实施例中,历史服务请求可以指当前时间之前处理过的服务请求。历史服务请求的统计数据可以指与历史服务请求相关的各种数据的统计结果。例如,历史服务请求的统计数据可以包括各历史服务请求的平均响应时长。
执行主体可以从本地、所连接的数据库或其它存储设备(如第三方数据平台等)获取目标接入端所处理的历史服务请求的统计数据。例如,执行主体可以预先利用Redis、MySQL等存储目标接入端所处理的历史服务请求的统计数据。
其中,目标接入端所处理的历史服务请求的统计数据具体可以根据实际的应用需求或应用场景灵活设置。例如,目标接入端所处理的历史服务请求的统计数据可以指目标接入端在指定时间段内(如当前时间之前的预设时长内)所处理过的历史服务请求的统计数据。又例如,目标接入端所处理的历史服务请求的统计数据可以指目标接入端在指定时间段内所处理过的部分历史服务请求的统计数据。
服务降级通常指在一些异常情况下(如服务器压力剧增、下游服务响应过慢或不可用等等),根据当前任务情况或流量对一些服务进行有策略地降级,以此释放服务器资源以保证核心任务的正常运行。常见的服务降级方法包括但不限于:开关降级、限流降级和熔断降级。
由于服务降级的目的是为了释放资源,以保证其它任务的正常运行。因此,执行主体可以根据获取到目标接入端所处理的历史服务请求的统计数据确定目标接入端是否出现了需要进行服务降级的异常情况,以及时对目标接入端进行服务降级。具体地,执行主体在获取到目标接入端所处理的历史服务请求的统计数据之后,可以根据获取的统计数据采用各种方法确定是否对目标接入端进行服务降级。
例如,可以预先针对目标接入端所处理的历史服务请求的统计数据设置限制条件,若针对目标接入端所处理的历史服务请求的统计数据不满足该限制条件,则可以确定对目标接入端进行服务降级。
作为示例,在统计数据包括平均响应时长时,可以预先设置平均响应时长的最大值。若获取到的平均响应时长大于预设的最大值,则可以确定对目标接入端进行服务降级。对应地,若获取到的平均响应时长不大于预设的最大值,则可以暂不对目标接入端进行服务降级。
步骤203,响应于确定对目标接入端进行服务降级,执行预设的服务降级步骤。
在本实施例中,若确定对目标接入端进行服务降级,可以通过执行预设的服务降级步骤以实现对目标接入端的服务降级。其中,服务降级步骤可以由技术人员根据实际的应用需求或应用场景灵活设置。例如,服务降级步骤可以根据现有的各种服务降级方法进行设置。
作为示例,服务降级步骤可以包括记录关于本次服务请求的日志,还可以包括响应目标接口调用失败。
在本实施例的一些可选的实现方式中,上述用于服务降级处理的方法还包括:响应于确定不对目标接入端进行服务降级,利用目标接入端提供的服务响应服务请求。
若确定不对目标接入端进行服务降级,则可以利用目标接入端根据服务请求提供相关服务以完成服务请求的响应。例如,可以调用目标接入端的接口响应服务请求。
在接收到指示目标接口的目标接入端的服务请求后,先根据目标接入端所处理的历史服务请求的统计数据确定是否对目标接入端进行服务降级,以在目标接入端服务正常时,及时利用目标接入端响应服务请求,以及在目标接入端服务异常时,及时对目标接入端进行服务降级,避免了目标接入端的服务异常对其它接入端的影响,保证目标接入端的服务异常时,其它目标接入端的服务正常。
在本实施例的一些可选的实现方式中,统计数据可以包括失败次数和/或失败率。其中,失败次数可以指目标接入端所处理的历史服务请求中处理失败的次数。失败率可以指目标接入端所处理的历史服务请求中处理失败的比例。
此时,可以确定失败次数和/或失败率与预设阈值的关系,进而确定是否对目标接入端进行服务降级。其中,预设阈值可以由技术人员根据实际的应用需求预先设置。例如,预设阈值可以包括针对失败次数的第一预设阈值和针对失败率的第二预设阈值。若确定失败次数大于第一预设阈值和/或失败率大于第二预设阈值,则可以根据确定对目标接入端进行服务降级。
由于失败次数和失败率比较容易统计,且能够较准确地反映目标接入端的服务状态。因此,利用失败次数和失败率确定是否对目标接入端进行服务降级,可以保证对目标接入端进行服务降级的及时性和准确性。
继续参见图4,图4是根据本实施例的用于服务降级处理的方法的一个示意性的应用场景400。在图4的应用场景中,用户终端401上展示有三种支付方式,分别由对应的三个接入端提供不同的支付服务。具体地,由支付服务一403支持利用支付方式一来完成支付、支付服务二404支持利用支付方式二来完成支付,以及支付服务三405支持利用支付方式三来完成支付。
用户终端401向服务器402发送采用支付方式三进行支付的支付请求。服务器402可以从数据库406中获取支付服务三405在近半小时内所处理过的服务请求的失败率为0.75,且预设的失败率阈值为0.6。由于失败率大于预设的失败率阈值,因此,可以暂时不对支付服务三405进行支付服务调用,而是暂时对支付服务三405进行服务降级,以保证支付服务一和支付服务二的正常使用,同时,服务器402可以向用户终端401返回支付失败的响应信息。
本公开的上述实施例提供的方法对于多接入端接入同一接口服务的情况,在该接口接收到服务请求后,根据服务请求所对应调用的接入端的历史服务请求的处理情况的统计数据,确定是否对该接入端进行服务降级,从而保证该接入端服务异常时及时关闭该接入端的接口服务,以减少对其它接入端的影响。
进一步参考图5,其示出了确定是否对目标接入端进行服务降级的一个实施例的流程500。具体包括以下步骤:
步骤501,确定采样次数是否大于预设采样阈值。
若采样次数大于预设采样阈值,执行步骤502;若采样次数不大于预设采样阈值,执行步骤503。
在本步骤中,统计数据可以包括采样次数。其中,采样次数可以指对目标接入端所处理过的历史服务请求的采样次数。预设采样阈值可以由技术人员根据实际的应用场景预先灵活设置。
可选地,可以预先设置采样周期。此时,采样次数可以指对目标接入端在采用周期内所处理过的历史服务请求的采样次数。例如,采样周期可以为60秒。此时,每隔60秒可以循环进入下一次采样周期。
步骤502,确定失败率是否大于预设失败率阈值。
若失败率大于预设失败率阈值,执行步骤507;若失败率不大于预设失败率阈值,执行步骤504。
在本步骤中,统计数据还可以包括失败率。其中,失败率可以指目标接入端所处理过的历史服务请求中处理失败的服务请求的比例。可选地,在设置有采样周期时,失败率可以指目标接入端在采样周期内的所处理过的历史服务请求中处理失败的服务请求的比例。失败率阈值可以由技术人员预先设置。
步骤503,确定是否到达采样截止时间。
若到达采样截止时间,执行步骤505;若未到达采样截止时间,执行步骤509。
在本步骤中,统计数据还可以包括采样截止时间。其中,采样截止时间可以指停止本次采样的时间。一般地,采样截止时间可以根据采样开始时间和采样周期确定。例如,采样可是时间为0,采样周期为60秒,则采样截止时间为60秒这一刻。
步骤504,确定是否到达采样截止时间。
若到达采样截止时间,执行步骤508;若未到达采样截止时间,执行步骤509。
步骤505,确定失败次数是否大于预设失败阈值。
若失败次数大于预设失败阈值,执行步骤506;若失败次数不大于预设失败阈值,执行步骤508。
在本步骤中,统计数据还可以包括失败次数。其中,失败次数可以指目标接入端所处理过的历史服务请求中处理失败的次数。可选地,在设置有采样周期时,失败次数可以指目标接入端在采样周期内的所处理过的历史服务请求中处理失败的次数。预设失败阈值可以由技术人员预先设置。
步骤506,确定失败率是否大于预设失败率阈值。
若失败率大于预设失败率阈值,执行步骤507;若失败率不大于预设失败率阈值,执行步骤508。
步骤507,确定对目标接入端进行服务降级。
在本步骤中,在采样次数较大,且失败率较大时,即接口调用频繁时,可以直接根据失败率进行服务降级判断。具体地,若失败率较大,则可以认为目标接入端的服务可能存在异常,因此可以对目标接入端进行服务降级。
或者,在已到达采样截止时间但采样次数较小时,即接口调用不频繁,此时可以根据失败次数和失败率的双重判断,确定是否对目标接入端进行服务降级。具体地,若失败次数较多,并且失败率较高时,可以认为目标接入端的服务可能存在异常,因此可以对目标接入端进行服务降级。
步骤508,确定不对目标接入端进行服务降级,以及进入下一采样周期。
在本步骤中,在到达采样截止时间且采样次数较多时,若失败率较小,则可以认为目标接入端的服务正常,此时无需对目标接入端进行服务降级,可以重置统计数据,并进入下一采样周期,重新记录下一采样周期的统计数据。
或者,在到达采样截止时间但采样次数较少时,若失败率次数较高但失败率较低时,可以认为目标接入端的服务正常,此时无需对目标接入端进行服务降级,可以重置统计数据,并进入下一采样周期,重新记录下一采样周期的统计数据。
或者,在到达采样截止时间但采样次数较少时,若失败次数较少,则可以表示目标接入端的服务正常,此时无需对目标接入端进行服务降级,可以重置统计数据,并进入下一采样周期,重新记录下一采样周期的统计数据。
步骤509,确定不对目标接入端进行服务降级,以及更新统计数据。
在本步骤中,在未到达采样截止时间但采样次数较多时,若失败率较低,可以认为目标接入端的服务正常,此时无需对目标接入端进行服务降级,同时可以更新当前采样周期的统计数据,继续采样。
或者,在未到达采样截止时间且采样次数较少时,可以暂时先不对目标接入端进行服务降级,同时可以更新当前采样周期的统计数据,继续采样。
本公开的上述实施例提供的方法通过利用目标接入端所处理的历史服务请求的统计数据,如采样周期内的采样次数、失败次数、失败率、采样截止时间等,再结合预先对各统计数据设置的阈值等综合判断目标接入端当前的服务状态是否异常,并且对于目标接入端调用频繁和不频繁两种情况分别进行不同的服务降级判断逻辑,进一步实现对目标接入端当前的服务状态的准确判断,从而保证对目标接入端的服务降级的准确性和及时性。
进一步参考图6,其示出了用于服务降级处理的方法的又一个实施例的流程600。该用于服务降级处理的方法的流程600,包括以下步骤:
步骤601,响应于接收到针对目标接口的服务请求,确定响应服务请求的接入端作为目标接入端。
步骤602,确定目标接口是否支持服务降级。
若目标接口支持服务降级,执行步骤603-605;若目标接口不支持服务降级,执行步骤606。
在本实施例中,可以先确定目标接口是否支持服务降级。若接口支持服务降级,可以对接入该接口的接入端进行服务降级。若接口不支持服务降级,则不能对接入该接口的接入端进行服务降级。
具体地,对于每个接口,可以由技术人员根据实际的应用需求设置该接口是否支持服务降级。例如,对于核心任务的接口,可以设置该接口不支持服务降级。对于非核心任务的接口,可以设置该接口支持服务降级。
步骤603,获取目标接入端对历史服务请求的处理结果的统计数据,以及根据统计数据确定是否对目标接入端进行服务降级。
步骤604,响应于确定对目标接入端进行服务降级,执行预设的服务降级步骤。
步骤605,响应于确定不对目标接入端进行服务降级,利用目标接入端提供的服务响应服务请求。
步骤606,利用目标接入端提供的服务响应服务请求。
在本实施例中,若目标接口不支持服务降级,则直接利用目标接入端提供的服务响应接收到的服务请求。
可选地,在步骤605之后,可以进一步确定利用目标接入端提供的服务响应服务请求是否成功。若利用目标接入端提供的服务响应服务请求失败,则可以进一步利用上述图2或图5实施例所描述的方法确定是否对目标接入端进行服务降级,以在目标接入端服务异常时,及时对目标接入端进行服务降级。若确定不对目标接入端进行服务降级,可以更新当前采样周期的统计数据,例如更新失败次数、失败率、采样次数等统计数据。若利用目标接入端提供的服务响应服务请求成功,在可以暂不对目标接入端进行服务降级,并更新统计数据,例如更新采样次数等。
在调用目标接入端处理服务请求失败时,可以及时判断是否对目标接入端进行服务降级,从而保证对目标接入端的服务降级处理的及时性,降低目标接入端的服务异常所造成的影响。
在本实施例的一些可选的实现若目标接口支持服务降级,在接收到针对目标接口的服务请求,以及确定服务请求对应的目标接入端之后,可以先确定目标接入端是否处于服务降级状态。若目标接入端当前不是服务降级状态,则可以根据获取的统计数据确定是否对目标接入端进行服务降级。
若目标接入端当前处于服务降级状态,可以确定是否到达采样截止时间。若到达采样截止时间,则可以更新目标接入端的服务降级状态,以重新恢复目标接入端的正常服务,并进入下一采样周期。若未到达采样截止时间,则可以继续维持目标接入端当前的服务降级状态。
具体地,可以采用各种方法确定目标接入端是否处于服务降级状态。例如,可以为每个目标接入端设置对应的服务降级开关。服务降级开关开启可以表示目标接入端处于服务降级状态。对应地,服务降级开关关闭可以表示目标接入端处于正常服务状态。
在对目标接入端进入服务降级判断时,通过结合目标接入端当前的服务降级状态,可以更准确地调整目标接入端的服务降级状态,同时有助于及时更新目标接入端的统计数据,从而便于后续对目标接入端的服务降级状态的调整准确性。
本公开的上述实施例提供的方法可以根据实际的应用需求设置每个接口对服务降级的支持属性,以灵活地对每个接口进行服务降级判断,提升服务降级处理的灵活性。
进一步参考图7,作为对上述各图所示方法的实现,本公开提供了用于服务降级处理的装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图7所示,本实施例提供的用于服务降级处理的装置700包括目标接入端确定单元701、服务降级确定单元702和处理单元703。其中,目标接入端确定单元701被配置成响应于接收到针对目标接口的服务请求,确定响应服务请求的接入端作为目标接入端,其中,目标接口对应至少两个接入端;服务降级确定单元702被配置成获取目标接入端所处理的历史服务请求的统计数据,以及根据统计数据确定是否对目标接入端进行服务降级;处理单元703被配置成响应于确定对目标接入端进行服务降级,执行预设的服务降级步骤。
在本实施例中,用于服务降级处理的装置700中:目标接入端确定单元701、服务降级确定单元702和处理单元703的具体处理及其所带来的技术效果可分别参考图2对应实施例中的步骤201、步骤202和步骤203的相关说明,在此不再赘述。
在本实施例的一些可选的实现方式中,上述处理单元703进一步被配置成:响应于确定不对目标接入端进行服务降级,利用目标接入端提供的服务响应服务请求。
在本实施例的一些可选的实现方式中,上述统计数据包括失败次数和/或失败率;以及上述服务降级确定单元702进一步被配置成:响应于确定失败次数和/或失败率大于预设阈值,确定对目标接入端进行服务降级。
在本实施例的一些可选的实现方式中,上述统计数据还包括采样次数;以及上述服务降级确定单元702进一步被配置成:响应于确定采样次数大于预设采样阈值,且响应于确定失败率大于预设失败率阈值,确定对目标接入端进行服务降级。
在本实施例的一些可选的实现方式中,上述统计数据还包括采样截止时间;以及上述服务降级确定单元702进一步被配置成:响应于确定采样次数不大于预设采样阈值,且响应于到达采样截止时间,且响应于确定失败次数大于预设失败阈值,且响应于确定失败率大于预设失败率阈值,确定对目标接入端进行服务降级。
在本实施例的一些可选的实现方式中,上述服务降级确定单元702进一步被配置成:响应于确定采样次数大于预设采样阈值,且响应于确定失败率不大于预设失败率阈值,且响应于到达采样截止时间,确定不对目标接入端进行服务降级,以及进入下一采样周期。
在本实施例的一些可选的实现方式中,上述服务降级确定单元702进一步被配置成:响应于确定采样次数大于预设采样阈值,且响应于确定失败率不大于预设失败率阈值,且响应于未到达采样截止时间,确定不对目标接入端进行服务降级,以及更新统计数据。
在本实施例的一些可选的实现方式中,上述服务降级确定单元702进一步被配置成:响应于确定采样次数不大于预设采样阈值,且响应于到达采样截止时间,且响应于确定失败次数大于预设失败阈值,且响应于确定失败率不大于预设失败率阈值,确定不对目标接入端进行服务降级,以及进入下一采样周期。
在本实施例的一些可选的实现方式中,上述服务降级确定单元702进一步被配置成:响应于确定采样次数不大于预设采样阈值,且响应于到达采样截止时间,且响应于确定失败次数不大于预设失败阈值,确定不对目标接入端进行服务降级,以及进入下一采样周期。
在本实施例的一些可选的实现方式中,上述服务降级确定单元702进一步被配置成:响应于确定采样次数不大于预设采样阈值,且响应于未到达采样截止时间,确定不对目标接入端进行服务降级,以及更新统计数据。
在本实施例的一些可选的实现方式中,上述处理单元703进一步被配置成:响应于确定利用目标接入端提供的服务响应服务请求失败,获取目标接入端对历史服务请求的统计数据,以及根据统计数据确定是否对目标接入端进行服务降级。
在本实施例的一些可选的实现方式中,上述服务降级确定单元702进一步被配置成:确定目标接入端是否处于服务降级状态;响应于确定目标接入端不是服务降级状态,获取目标接入端对历史服务请求的统计数据,以及根据统计数据确定是否对目标接入端进行服务降级。
在本实施例的一些可选的实现方式中,上述处理单元703进一步被配置成:响应于确定目标接入端处于服务降级状态,确定是否到达采样截止时间;响应于确定到达采样截止时间,修改目标接入端的服务降级状态,以及进入下一采样周期。
在本实施例的一些可选的实现方式中,上述服务降级确定单元702进一步被配置成:确定目标接口是否支持服务降级;响应于确定目标接口支持服务降级,获取目标接入端对历史服务请求的处理结果的统计数据,以及根据统计数据确定是否对目标接入端进行服务降级;上述处理单元703进一步被配置成:响应于确定目标接口不支持服务降级,利用目标接入端提供的服务响应服务请求。
本公开的上述实施例提供的装置,通过目标接入端确定单元响应于接收到针对目标接口的服务请求,确定响应服务请求的接入端作为目标接入端,其中,目标接口对应至少两个接入端;服务降级确定单元获取目标接入端所处理的历史服务请求的统计数据,以及根据统计数据确定是否对目标接入端进行服务降级;处理单元响应于确定对目标接入端进行服务降级,执行预设的服务降级步骤从而可以在目标接入端服务异常时及时对目标接入端进行服务降级,又可以保证目标接口对应的其它接入端的正常服务,从而实现接入端维度的服务降级。
下面参考图8,其示出了适于用来实现本公开的实施例的电子设备(例如图1中的服务器)800的结构示意图。图8示出的终端设备/服务器仅仅是一个示例,不应对本公开的实施例的功能和使用范围带来任何限制。
如图8所示,电子设备800可以包括处理装置(例如中央处理器、图形处理器等)801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储装置808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。在RAM 803中,还存储有电子设备800操作所需的各种程序和数据。处理装置801、ROM 802以及RAM803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
通常,以下装置可以连接至I/O接口805:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置806;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置807;包括例如磁带、硬盘等的存储装置808;以及通信装置809。通信装置809可以允许电子设备800与其他设备进行无线或有线通信以交换数据。虽然图8示出了具有各种装置的电子设备800,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。图8中示出的每个方框可以代表一个装置,也可以根据需要代表多个装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置809从网络上被下载和安装,或者从存储装置808被安装,或者从ROM 802被安装。在该计算机程序被处理装置801执行时,执行本公开的实施例的方法中限定的上述功能。
需要说明的是,本公开的实施例所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开的实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开的实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述服务器中所包含的;也可以是单独存在,而未装配入该服务器中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该服务器执行时,使得该服务器:响应于接收到针对目标接口的服务请求,确定响应服务请求的接入端作为目标接入端,其中,目标接口对应至少两个接入端;获取目标接入端所处理的历史服务请求的统计数据,以及根据统计数据确定是否对目标接入端进行服务降级;响应于确定对目标接入端进行服务降级,执行预设的服务降级步骤。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的实施例的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开的实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括目标接入端确定单元、服务降级确定单元和处理单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,处理单元还可以被描述为“响应于确定对目标接入端进行服务降级,执行预设的服务降级步骤的单元”。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开的实施例中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开的实施例中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (17)
1.一种用于服务降级处理的方法,包括:
响应于接收到针对目标接口的服务请求,确定响应所述服务请求的接入端作为目标接入端,其中,所述目标接口对应至少两个接入端;
获取所述目标接入端所处理的历史服务请求的统计数据,以及根据所述统计数据确定是否对所述目标接入端进行服务降级;
响应于确定对所述目标接入端进行服务降级,执行预设的服务降级步骤。
2.根据权利要求1所述的方法,其中,所述方法还包括:
响应于确定不对所述目标接入端进行服务降级,利用所述目标接入端提供的服务响应所述服务请求。
3.根据权利要求1所述的方法,其中,所述统计数据包括失败次数和/或失败率;以及
所述根据所述统计数据确定是否对所述目标接入端进行服务降级,包括:响应于确定失败次数和/或失败率大于预设阈值,确定对所述目标接入端进行服务降级。
4.根据权利要求3所述的方法,其中,所述统计数据还包括采样次数;以及
所述根据所述统计数据确定是否对所述目标接入端进行服务降级,包括:
响应于确定所述采样次数大于预设采样阈值,且响应于确定失败率大于预设失败率阈值,确定对所述目标接入端进行服务降级。
5.根据权利要求4所述的方法,其中,所述统计数据还包括采样截止时间;以及
所述根据所述统计数据确定是否对所述目标接入端进行服务降级,包括:
响应于确定所述采样次数不大于预设采样阈值,且响应于到达所述采样截止时间,且响应于确定失败次数大于预设失败阈值,且响应于确定失败率大于预设失败率阈值,确定对所述目标接入端进行服务降级。
6.根据权利要求4所述的方法,其中,所述根据所述统计数据确定是否对所述目标接入端进行服务降级,包括:
响应于确定所述采样次数大于预设采样阈值,且响应于确定失败率不大于预设失败率阈值,且响应于到达采样截止时间,确定不对所述目标接入端进行服务降级,以及进入下一采样周期。
7.根据权利要求6所述的方法,其中,所述根据所述统计数据确定是否对所述目标接入端进行服务降级,包括:
响应于确定所述采样次数大于预设采样阈值,且响应于确定失败率不大于预设失败率阈值,且响应于未到达采样截止时间,确定不对所述目标接入端进行服务降级,以及更新所述统计数据。
8.根据权利要求5所述的方法,其中,所述根据所述统计数据确定是否对所述目标接入端进行服务降级,包括:
响应于确定所述采样次数不大于预设采样阈值,且响应于到达所述采样截止时间,且响应于确定失败次数大于预设失败阈值,且响应于确定失败率不大于预设失败率阈值,确定不对所述目标接入端进行服务降级,以及进入下一采样周期。
9.根据权利要求8所述的方法,其中,所述根据所述统计数据确定是否对所述目标接入端进行服务降级,包括:
响应于确定所述采样次数不大于预设采样阈值,且响应于到达所述采样截止时间,且响应于确定失败次数不大于预设失败阈值,确定不对所述目标接入端进行服务降级,以及进入下一采样周期。
10.根据权利要求8所述的方法,其中,所述根据所述统计数据确定是否对所述目标接入端进行服务降级,包括:
响应于确定所述采样次数不大于预设采样阈值,且响应于未到达所述采样截止时间,确定不对所述目标接入端进行服务降级,以及更新所述统计数据。
11.根据权利要求2所述的方法,其中,所述方法还包括:
响应于确定利用所述目标接入端提供的服务响应所述服务请求失败,获取所述目标接入端对历史服务请求的统计数据,以及根据所述统计数据确定是否对所述目标接入端进行服务降级。
12.根据权利要求5所述的方法,其中,所述方法还包括:
确定所述目标接入端是否处于服务降级状态;以及
所述获取所述目标接入端对历史服务请求的统计数据,以及根据所述统计数据确定是否对所述目标接入端进行服务降级,包括:
响应于确定所述目标接入端不是服务降级状态,获取所述目标接入端对历史服务请求的统计数据,以及根据所述统计数据确定是否对所述目标接入端进行服务降级。
13.根据权利要求12所述的方法,其中,所述方法还包括:
响应于确定所述目标接入端处于服务降级状态,确定是否到达采样截止时间;
响应于确定到达采样截止时间,修改所述目标接入端的服务降级状态,以及进入下一采样周期。
14.根据权利要求1-13之一所述的方法,其中,所述方法还包括:
确定所述目标接口是否支持服务降级;以及
所述获取所述目标接入端对历史服务请求的处理结果的统计数据,以及根据所述统计数据确定是否对所述目标接入端进行服务降级,包括:
响应于确定所述目标接口支持服务降级,获取所述目标接入端对历史服务请求的处理结果的统计数据,以及根据所述统计数据确定是否对所述目标接入端进行服务降级;以及
所述方法还包括:
响应于确定所述目标接口不支持服务降级,利用所述目标接入端提供的服务响应所述服务请求。
15.一种用于服务降级处理的装置,其中,所述装置包括:
目标接入端确定单元,被配置成响应于接收到针对目标接口的服务请求,确定响应所述服务请求的接入端作为目标接入端,其中,所述目标接口对应至少两个接入端;
服务降级确定单元,被配置成获取所述目标接入端所处理的历史服务请求的统计数据,以及根据所述统计数据确定是否对所述目标接入端进行服务降级;
处理单元,被配置成响应于确定对所述目标接入端进行服务降级,执行预设的服务降级步骤。
16.一种服务器,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-14中任一所述的方法。
17.一种计算机可读介质,其上存储有计算机程序,其中,该程序被处理器执行时实现如权利要求1-14中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210201830.5A CN114584480A (zh) | 2022-03-03 | 2022-03-03 | 用于服务降级处理的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210201830.5A CN114584480A (zh) | 2022-03-03 | 2022-03-03 | 用于服务降级处理的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114584480A true CN114584480A (zh) | 2022-06-03 |
Family
ID=81777549
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210201830.5A Pending CN114584480A (zh) | 2022-03-03 | 2022-03-03 | 用于服务降级处理的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114584480A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115883358A (zh) * | 2022-11-23 | 2023-03-31 | 紫光云技术有限公司 | 一种第三方应用监控、预警、降级的方法和装置 |
CN116233250A (zh) * | 2022-11-28 | 2023-06-06 | 荣耀终端有限公司 | 一种服务调用方法及网关设备 |
WO2024066374A1 (zh) * | 2022-09-26 | 2024-04-04 | 京东科技信息技术有限公司 | 业务降级方法、装置、设备、计算机可读介质和程序产品 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1330832A (zh) * | 1998-10-13 | 2002-01-09 | 通用仪器公司 | 软件应用程序生存期和广播应用程序的管理 |
CN113645152A (zh) * | 2021-06-29 | 2021-11-12 | 福建天泉教育科技有限公司 | 一种服务降级方法及终端 |
CN113886473A (zh) * | 2021-08-30 | 2022-01-04 | 北京房江湖科技有限公司 | 一种提供业务数据的方法及装置 |
-
2022
- 2022-03-03 CN CN202210201830.5A patent/CN114584480A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1330832A (zh) * | 1998-10-13 | 2002-01-09 | 通用仪器公司 | 软件应用程序生存期和广播应用程序的管理 |
CN113645152A (zh) * | 2021-06-29 | 2021-11-12 | 福建天泉教育科技有限公司 | 一种服务降级方法及终端 |
CN113886473A (zh) * | 2021-08-30 | 2022-01-04 | 北京房江湖科技有限公司 | 一种提供业务数据的方法及装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024066374A1 (zh) * | 2022-09-26 | 2024-04-04 | 京东科技信息技术有限公司 | 业务降级方法、装置、设备、计算机可读介质和程序产品 |
CN115883358A (zh) * | 2022-11-23 | 2023-03-31 | 紫光云技术有限公司 | 一种第三方应用监控、预警、降级的方法和装置 |
CN116233250A (zh) * | 2022-11-28 | 2023-06-06 | 荣耀终端有限公司 | 一种服务调用方法及网关设备 |
CN116233250B (zh) * | 2022-11-28 | 2023-12-15 | 荣耀终端有限公司 | 一种服务调用方法及网关设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114584480A (zh) | 用于服务降级处理的方法和装置 | |
CN107342083B (zh) | 用于提供语音服务的方法和装置 | |
CN110022260B (zh) | 一种跨环境回执消息处理方法及系统 | |
US9363157B2 (en) | Remotely controlling devices and processing asynchronous events for testing | |
CN107045475B (zh) | 测试方法和装置 | |
CN110647460B (zh) | 一种测试资源管理方法、装置和测试客户端 | |
CN110377341B (zh) | 一种监听无响应异常的方法、装置、介质和电子设备 | |
CN111432001B (zh) | 用于跳转场景的方法、装置、电子设备和计算机可读介质 | |
CN112416632B (zh) | 事件通信方法、装置、电子设备和计算机可读介质 | |
CN113485918A (zh) | 一种测试方法、装置、电子设备及存储介质 | |
CN116627333A (zh) | 日志缓存方法、装置、电子设备及计算机可读存储介质 | |
CN107315672B (zh) | 用于监控服务器的方法和装置 | |
CN110881224A (zh) | 一种网络长连接方法、装置、设备及存储介质 | |
CN113110152A (zh) | 无人车的驾驶状态切换方法、装置、电子设备和介质 | |
CN112653736A (zh) | 一种并行回源方法、装置及电子设备 | |
CN114465919B (zh) | 一种网络服务测试方法、系统、电子设备及存储介质 | |
CN115373998A (zh) | 应用程序优化方法、装置、设备及介质 | |
CN112817701B (zh) | 定时器处理方法、装置、电子设备和计算机可读介质 | |
CN111290873B (zh) | 故障处理方法和装置 | |
CN113778850A (zh) | 数据处理方法、装置、电子设备和计算机可读介质 | |
CN113283891A (zh) | 信息处理方法、装置和电子设备 | |
CN112860439A (zh) | 应用启动方法、装置、终端及存储介质 | |
CN110022244B (zh) | 用于发送信息的方法和装置 | |
CN111324386A (zh) | 分身应用程序的启动方法、装置、电子设备及存储介质 | |
US20240152504A1 (en) | Data interaction method, apparatus, and electronic device |
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 |