CN115499492A - 应用服务的异常处理方法、装置、设备及可读存储介质 - Google Patents
应用服务的异常处理方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN115499492A CN115499492A CN202211114473.5A CN202211114473A CN115499492A CN 115499492 A CN115499492 A CN 115499492A CN 202211114473 A CN202211114473 A CN 202211114473A CN 115499492 A CN115499492 A CN 115499492A
- Authority
- CN
- China
- Prior art keywords
- application service
- target application
- result
- state
- abnormal
- 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
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种应用服务的异常处理方法、装置、设备及可读存储介质,涉及互联网技术领域,可以当整个服务集群中存在应用服务不可用时,及时将该服务进行隔离,进而避免对上游系统造成影响,形成恶性循环。所述方法包括:采用目标应用服务的第一标识,拦截返回至目标应用服务的应答结果,应答结果用于指示对目标应用服务发出的应用请求的应答;确定应答结果的结果状态,结果状态包括正常状态和异常状态;当结果状态为异常状态时,创建第一计数器,增加一次异常次数;统计第一计数器中存储的异常次数,基于异常次数,将目标应用服务降级,直至目标应用服务满足预设升级条件,升级目标应用服务。
Description
技术领域
本申请涉及互联网技术领域,特别是涉及一种应用服务的异常处理方法、装置、设备及可读存储介质。
背景技术
随着互联网技术的不断发展,为了缩短应用服务的执行效率,提高应用服务的扩展性,越来越多的互联网公司采用分布式服务架构,也就是每一个应用提供的服务都是由线程池进行管理。
然而,线程池的线程数量是有限且固定的,当一个应用的服务出现异常或者超时等待时,就会导致他的上游应用也会出现超时等待的现象,而上游系统的线程池被占满,原本正常的服务也会变得不可用,造成恶性循环,进而导致应用服务异常的处理效率低,因此,亟需一种应用服务的异常处理方法,提高应用服务异常的处理效率。
发明内容
有鉴于此,本申请提供了一种应用服务的异常处理方法、装置、设备及可读存储介质,主要目的在于解决目前当一个应用的服务出现异常或者超时等待时,就会导致他的上游应用也会出现超时等待的现象,而上游系统的线程池被占满,原本正常的服务也会变得不可用,造成恶性循环的问题。
依据本申请第一方面,提供了一种应用服务的异常处理方法,该方法包括:
采用目标应用服务的第一标识,拦截返回至所述目标应用服务的应答结果,所述应答结果用于指示对所述目标应用服务发出的应用请求的应答;
确定所述应答结果的结果状态,所述结果状态包括正常状态和异常状态;
当所述结果状态为所述异常状态时,创建第一计数器,增加一次异常次数;
统计所述第一计数器中存储的异常次数,基于所述异常次数,将所述目标应用服务降级,直至所述目标应用服务满足预设升级条件,升级所述目标应用服务。
依据本申请第二方面,提供了一种应用服务的异常处理装置,该装置包括:
拦截模块,用于采用目标应用服务的第一标识,拦截返回至所述目标应用服务的应答结果,所述应答结果用于指示对所述目标应用服务发出的应用请求的应答;
确定模块,用于确确定所述应答结果的结果状态,所述结果状态包括正常状态和异常状态;
创建模块,用于当所述结果状态为所述异常状态时,创建第一计数器,增加一次异常次数;
统计模块,用于统计所述第一计数器中存储的异常次数,基于所述异常次数,将所述目标应用服务降级,直至所述目标应用服务满足预设升级条件,升级所述目标应用服务。
依据本申请第三方面,提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面中任一项所述方法的步骤。
依据本申请第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面中任一项所述的方法的步骤。
借由上述技术方案,本申请提供的一种应用服务的异常处理方法、装置、设备及可读存储介质,本申请首先采用目标应用服务的第一标识,拦截服务端返回的对目标应用服务发出的应用请求的应答结果。随后,对应答结果进行识别,确定应答结果的结果状态,其中,结果状态可以包括正常状态以及异常状态。接下来,当结果状态为异常状态时,创建第一计数器,增加一次异常次数;统计第一计数器中存储的异常次数,基于异常次数,将目标应用服务降级,直至目标应用服务满足预设升级条件,升级目标应用服务。通过降级机制,将异常的应用服务进行降级限流,实现当整个服务集群中存在应用服务不可用时,及时将该服务进行隔离,进而避免对上游系统造成影响,形成恶性循环,进一步地,当被降级的服务恢复正常时,能够及时升级,避免人工操作处理,从而实现服务升降级之间的闭环处理。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本申请实施例提供的一种应用服务的异常处理方法流程示意图;
图2A示出了本申请实施例提供的一种应用服务的异常处理方法流程示意图;
图2B示出了本申请实施例提供的一种应用服务的异常处理方法流程示意图;
图3A示出了本申请实施例提供的一种应用服务的异常处理装置的结构示意图;
图3B示出了本申请实施例提供的一种应用服务的异常处理装置的结构示意图;
图3C示出了本申请实施例提供的一种应用服务的异常处理装置的结构示意图;
图4示出了本申请实施例提供的一种计算机设备的装置结构示意图。
具体实施方式
下面将参照附图更详细地描述本申请的示例性实施例。虽然附图中显示了本申请的示例性实施例,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。
本申请实施例提供了一种应用服务的异常处理方法,如图1所示,该方法包括:
101、采用目标应用服务的第一标识,拦截返回至目标应用服务的应答结果,应答结果用于指示对目标应用服务发出的应用请求的应答。
其中,第一标识用于指示目标应用服务的身份标识,例如目标应用服务的名称、编码等,本申请对第一标识的内容和类型不进行具体限定。在实际应用过程中,用户会基于客户端调用目标应用服务,预先向服务端发送一个应用请求,如获取手机号码、修改地址等请求,本申请对应用请求的内容不进行具体限定。
进一步地,服务端在接收到应用请求后,会针对该应用请求返回相应的应答,即返回应答结果。进而使本申请提供的应用服务的异常处理方法,能够对应答结果进行分析,判断目标应用服务能否正常运行。
102、确定应答结果的结果状态,结果状态包括正常状态和异常状态。
在实际运行场景中,应答结果可以分为两种状态,即正常状态和异常状态。当应答结果中携带有应当返回的数据内容时,应答结果的结果状态即为正常状态。与之相反的,当应答结果中并未携带应当返回的数据内容时,应答结果的结果状态即为异常状态。
例如,用户想要获取余额信息,发出余额获取请求,若应答结果中携带有相关的余额数值,则应答结果的结果状态即为正常状态;若应答结果中未携带相关的余额数值,则应答结果的结果状态即为异常状态。
103、当结果状态为异常状态时,创建第一计数器,增加一次异常次数。
若应答结果正常,则可以继续执行下游的部分功能,保障应用服务的运行顺畅,相反若应答结果异常,则需要重新发起应用请求,无法继续执行下游的部分功能。因此,通过对应答结果的结果状态进行识别,判断服务是否正常返回,进而判定目标应用程序是否能够正常运行。
考虑到一定次数的异常,并不足以影响到目标应用服务的正常运行,故本申请设置有第一计数器,当结果状态为异常状态时,创建第一计数器,累计应答状态为异常状态的异常次数。具体地,每当结果状态为异常状态,就为第一计数器增加一次异常次数,持续累加应答结果的异常次数。
104、统计第一计数器中存储的异常次数,基于异常次数,将目标应用服务降级,直至目标应用服务满足预设升级条件,升级目标应用服务。
在整个运行过程中第一计数器不断累加异常次数,每增加一次异常次数后,就统计一次第一计数器中累计的数值,也就是异常次数。接下来,根据累计的异常次数,判断是否需要对目标应用服务进行降级,将目标应用服务隔离出来,直至目标应用服务满足预设升级条件,恢复正常运行状态。
本申请实施例提供的方法,首先采用目标应用服务的第一标识,拦截服务端返回的对目标应用服务发出的应用请求的应答结果。随后,对应答结果进行识别,确定应答结果的结果状态,其中,结果状态可以包括正常状态以及异常状态。接下来,当结果状态为异常状态时,创建第一计数器,增加一次异常次数;统计第一计数器中存储的异常次数,基于异常次数,将目标应用服务降级,直至目标应用服务满足预设升级条件,升级目标应用服务。通过降级机制,将异常的应用服务进行降级限流,实现当整个服务集群中存在应用服务不可用时,及时将该服务进行隔离,进而避免对上游系统造成影响,形成恶性循环,进一步地,当被降级的服务恢复正常时,能够及时升级,避免人工操作处理,从而实现服务升降级之间的闭环处理。
本申请实施例提供了一种应用服务的异常处理方法,如图2A所示,该方法包括:
201、对接收到的全部应答结果进行识别,确定每个应答结果对应的第二标识,在全部第二标识中,确定与第一标识内容一致的第二标识,对内容一致的第二标识对应的应答结果进行拦截。
随着互联网技术的不断发展,为了缩短应用服务的执行效率,提高应用服务的扩展性,越来越多的互联网公司采用分布式服务架构,也就是每一个应用提供的服务都是由线程池进行管理。然而,线程池的线程数量是有限且固定的,当一个应用的服务出现异常或者超时等待时,就会导致他的上游应用也会出现超时等待的现象,而上游系统的线程池被占满,原本正常的服务也会变得不可用,造成恶性循环,进而导致应用服务异常的处理效率低。
因此,本申请提供的一种应用服务的异常处理方法、装置、设备及可读存储介质,本申请首先采用目标应用服务的第一标识,拦截服务端返回的对目标应用服务发出的应用请求的应答结果。随后,对应答结果进行识别,确定应答结果的结果状态,其中,结果状态可以包括正常状态以及异常状态。接下来,当结果状态为异常状态时,创建第一计数器,增加一次异常次数;统计第一计数器中存储的异常次数,基于异常次数,将目标应用服务降级,直至目标应用服务满足预设升级条件,升级目标应用服务。通过降级机制,将异常的应用服务进行降级限流,实现当整个服务集群中存在应用服务不可用时,及时将该服务进行隔离,进而避免对上游系统造成影响,形成恶性循环,进一步地,当被降级的服务恢复正常时,能够及时升级,避免人工操作处理,从而实现服务升降级之间的闭环处理。
在本申请实施例中,如图2B所示,相关技术人员在预设的RPC服务框架中加入了服务状态监测的拦截器。拦截器主要负责拦截应答结果,并判断服务端的返回结果是否正常。
具体地,目标应用服务所处的客户端会通过转发器预先向服务端发送一个应用请求,如获取手机号码、修改地址等请求,服务端会针对应用请求作出相应的应答,并通过转发器返回至客户端。
进一步地,本方法提供的拦截器,能够将转发器转发至客户端的的应答结果拦截下来。考虑到同一时刻可能会传回大量的应答结果,为了便于快速找出相应的目标应答结果,本方法设置第二标识,也就是用于指示应用服务的身份标识,例如应用服务的名称、编码等,本申请对第二标识的内容和类型不进行具体限定。
随后,通过数据识别技术,对接收到的全部应答结果进行识别,读取每个应答结果对应的第二标识。实际上,为了便于高效快捷的识别出对应的目标应答结果,第一标识与第二标识的标识类型可以保持一致。
接下来,将全部第二标识分别与第一标识进行比对,从中确定与第一标识内容一致的目标第二标识,也就是说,目标第二标识对应的应答结果即为返回给目标应用服务的应答结果。最后,通过拦截器对该内容一致的第二标识对应的应答结果进行拦截。
利用应答结果以及目标应用服务自带的标识,能够精准的从同一时刻回传的多个应答结果中找出目标应用服务对应的目标应答结果,避免了人工操作处理,提高识别效率,降低失误的风险。
202、确定应答结果的结果状态。
在实际应用过程中,通常服务端会设置统一的错误码来反应其应答情况。以网页请求为例,错误码400(错误请求)服务器不理解请求的语法;错误码401(未授权)请求要求身份验证;错误码403(禁止)服务器拒绝请求;错误码404(未找到)服务器找不到请求的网页;错误码405(方法禁用)禁用请求中指定的方法;错误码406(不接受)无法使用请求的内容特性响应请求的网页;错误码407(请求超时)服务器等候请求时发生超时;错误码410(已删除)请求的资源已永久删除;错误码200(成功)服务器已成功处理了请求等等。进而本步骤可以通过预先设置好的统一的错误码来对应答结果进行判别,确定应答结果的结果状态。通过应答结果中携带的错误码来确定应答结果的结果状态的具体过程如下:
读取应答结果中的目标错误码,将目标错误码与统一的错误码表进行比对,确定目标错误码指示的内容。具体地,如果目标错误码指示服务端成功处理请求,如目标错误码为200、201等,则生成用于指示应答结果中携带正常数据内容的判别结果,进而生成用于指示应答结果正常的结果状态。如果目标错误码指示处理请求失败或者超时,如目标错误码为400、408等,则生成用于指示应答结果中携带错误的数据内容或显示超时的判别结果,进而生成用于指示应答结果异常的结果状态。
203、当结果状态为异常状态时,创建第一计数器,增加一次异常次数。
在本申请实施例中,应答结果的结果状态反映了目标应用服务的运行情况,当结果状态为异常状态超过一定次数时,说明目标应用服务难以正常运行。为了能够统计异常次数,本申请设置有第一计数器进行累计,具体累计过程如下:
当目标应用服务的应答结果为第一次出现异常状态时,则立即创建第一计数器,为第一计数器添加一次异常次数。进一步地,当目标服务的应答结果再次出现异常状态时,依旧采用预先创建好的第一计数器进行累加。例如,目标应用服务第一次发送请求后接收到的应答状态为异常状态,则创建第一计数器,为第一计数器增加一次异常次数,此时异常次数为1次;第二次发送请求后接收到的应答状态为正常状态,则无需采用第一计数器进行累加;第三次发送请求后接收到的应答状态为异常状态,则再次为第一计数器增加一次异常次数,此时异常次数为2次。
204、当应答结果的结果状态为正常状态时,创建第二计数器,统计结果状态为正常状态的正常次数,根据正常次数与异常次数的比值判断是否重新累计异常次数。
在实际应用过程中,当目标应用服务的应答结果一直为正常状态时,无需进行处理,直接将拦截下来的应答结果返回至目标应用服务即可。而在目标应用服务的应答结果出现过异常状态后,出现应答结果的结果状态为正常状态,则需要再针对正常状态的应答结果创建一个计数器,也就是第二计数器。
通过第一计数器和第二计数器分别对正常状态和异常状态进行计数,统计正常次数和异常次数,例如,目标应用服务第一次发送请求后接收到的应答状态为异常状态,则创建第一计数器,为第一计数器增加一次异常次数,此时异常次数为1次;第二次发送请求后接收到的应答状态为正常状态,则创建第二计数器,为第二计数器增加一次正常次数,此时正常次数为1次;第三次发送请求后接收到的应答状态为异常状态,则再次为第一计数器增加一次异常次数,此时异常次数为2次。
进一步地,根据正常次数与异常次数的比值判断是否重新累计异常次数。具体地,相关技术人员可以设置一个目标时间,在经过目标时间后,如15分钟、20分钟、30分钟等,开始计算正常次数和异常次数的比值。当比值大于第一预设阈值时,表明当前的目标应用服务正常,第一计数器和第二计数器全部清零,重新拦截返回至目标应用服务的应答结果,第一计数器和第二计数器根据应答结果的结果状态,从0开始重新计数。例如,第一预设阈值为0.4,统计第一计数器得到异常次数为6次,正常次数为4次,正常次数与异常次数的比值为0.67,0.67大于0.4,表明当前的目标应用服务正常,第一计数器和第二计数器全部清零,当再次拦截到返回至所述目标应用服务的应答结果时,确定应答结果的结果状态,若结果状态为异常状态,则第一计数器从0变为1,若结果状态为正常状态,则第二计数器从0变为1。
205、统计第一计数器中存储的异常次数,基于异常次数,将目标应用服务降级,直至目标应用服务满足预设升级条件,升级目标应用服务。
在本申请实施例中,每增加一次异常次数后,就统计第一计数器中累计的数值,根据累计的异常次数,判断是否需要对目标应用服务进行降级。也就是将目标应用服务隔离出来,直至目标应用服务满足预设升级条件,恢复正常运行情况。
具体地,当异常次数大于等于第二预设阈值时,将目标应用服务降级,或当正常次数和异常次数的比值小于等于第一预设阈值时,表明当前目标应用服务不正常,需要对目标应用服务进行降级。例如,第一预设阈值为0.4,统计第一计数器得到异常次数为8次,正常次数为2次,正常次数与异常次数的比值为0.25,0.25小于0.4,表明当前的目标应用服务异常,将目标应用服务降级;或第二预设阈值为10次,若异常次数大于等于10次,则将目标应用服务降级。
进一步地,对降级的目标应用服务进行限流,判断目标应用服务是否具备资源锁。若目标应用服务未拿到资源锁,则直接返回失败。
若目标应用服务拿到资源锁,则允许目标应用服务发送服务请求,并拦截对应的应答结果,依据应答结果,解除对目标应用服务的降级。具体地,拦截目标应用服务的应答结果,创建第三计数器,统计目标应用服务的应答结果为正常状态的正常次数。当目标应用服务的正常次数满足预设升级条件时,解除对目标应用服务的降级,预设升级条件用于指示正常次数大于等于第三预设阈值。在实际运行时,目标服务降级在后可以创建新的计数器作为第三计数器,用于统计目标应用服务降级后请求成功的次数,也可以将第二计数器清零,采用清零后的第二计数器作为第三计数器统计目标应用服务在降级期间的请求成功的次数,也就是应答状态为正常状态的正常次数。
本申请实施例提供的方法,首先采用目标应用服务的第一标识,拦截服务端返回的对目标应用服务发出的应用请求的应答结果。随后,对应答结果进行识别,确定应答结果的结果状态,其中,结果状态可以包括正常状态以及异常状态。接下来,当结果状态为异常状态时,创建第一计数器,增加一次异常次数;统计第一计数器中存储的异常次数,基于异常次数,将目标应用服务降级,直至目标应用服务满足预设升级条件,升级目标应用服务。通过降级机制,将异常的应用服务进行降级限流,实现当整个服务集群中存在应用服务不可用时,及时将该服务进行隔离,进而避免对上游系统造成影响,形成恶性循环,进一步地,当被降级的服务恢复正常时,能够及时升级,避免人工操作处理,从而实现服务升降级之间的闭环处理。
进一步地,作为图1所述方法的具体实现,本申请实施例提供了一种应用服务的异常处理装置,如图3A所示,所述装置包括:拦截模块301、确定模块302、创建模块303、统计模块304。
该拦截模块301,用于采用目标应用服务的第一标识,拦截返回至所述目标应用服务的应答结果,所述应答结果用于指示对所述目标应用服务发出的应用请求的应答;
该确定模块302,用于确定所述应答结果的结果状态,所述结果状态包括正常状态和异常状态;
该创建模块303,用于当所述结果状态为所述异常状态时,创建第一计数器,增加一次异常次数;
该统计模块304,用于统计所述第一计数器中存储的异常次数,基于所述异常次数,将所述目标应用服务降级,直至所述目标应用服务满足预设升级条件,升级所述目标应用服务。
在具体的应用场景中,该拦截模块301,用于对接收到的全部应答结果进行识别,确定每个应答结果对应的第二标识,所述第二标识用于指示当前应答结果返回的应用服务;在全部第二标识中,确定与所述第一标识内容一致的第二标识,对所述内容一致的第二标识对应的应答结果进行拦截。
在具体的应用场景中,该确定模块302,用于根据统一的错误码对所述应答结果进行判别,生成判别结果;如果所述判别结果指示所述应答结果中携带正常数据内容,则生成用于指示应答结果正常的结果状态;如果所述判别结果指示所述应答结果中未携带正常数据内容或显示超时,则生成用于指示应答结果异常的结果状态。
在具体的应用场景中,如图3B所示,所述装置还包括:返回模块305、计算模块306、比对模块307、清零模块308。
该返回模块305,用于当所述应答结果的结果状态为正常状态时,将拦截的所述应答结果返回至所述目标应用服务,并创建第二计数器统计应答结果为正常状态的正常次数;
该计算模块306,用于统计所述第一计数器中存储的异常次数,以及所述第一计数器中存储的正常次数,计算所述正常次数与所述异常次数的比值;
该比对模块307,用于将所述比值与第一预设阈值进行比对,生成比对结果;
该清零模块308,用于若所述比对结果指示所述比值大于所述第一预设阈值时,将所述第一计数器中存储的异常次数清零,重新累计异常次数。
在具体的应用场景中,如图3C所示,所述装置还包括:降级模块309。
该降级模块309,用于若所述比对结果指示所述比值小于等于所述第一预设阈值,则对所述目标应用服务进行降级,直至所述目标应用服务满足预设升级条件,升级所述目标应用服务。
在具体的应用场景中,该统计模块304,用于当所述异常次数大于等于第二预设阈值时,将所述目标应用服务降级,对降级的所述目标应用服务进行限流;在所述目标应用服务具备资源锁后,允许所述目标应用服务发送服务请求,并拦截对应的应答结果,依据所述应答结果,升级所述目标应用服务。
在具体的应用场景中,该统计模块304,用于拦截所述目标应用服务的应答结果,创建第三计数器,统计所述目标应用服务的应答结果为正常状态的正常次数;当所述目标应用服务的正常次数满足所述预设升级条件时,升级所述目标应用服务,所述预设升级条件为所述正常次数大于等于第三预设阈值。
本申请实施例提供的装置,首先采用目标应用服务的第一标识,拦截服务端返回的对目标应用服务发出的应用请求的应答结果。随后,对应答结果进行识别,确定应答结果的结果状态,其中,结果状态可以包括正常状态以及异常状态。接下来,当结果状态为异常状态时,创建第一计数器,增加一次异常次数;统计第一计数器中存储的异常次数,基于异常次数,将目标应用服务降级,直至目标应用服务满足预设升级条件,升级目标应用服务。通过降级机制,将异常的应用服务进行降级限流,实现当整个服务集群中存在应用服务不可用时,及时将该服务进行隔离,进而避免对上游系统造成影响,形成恶性循环,进一步地,当被降级的服务恢复正常时,能够及时升级,避免人工操作处理,从而实现服务升降级之间的闭环处理。
需要说明的是,本申请实施例提供的一种应用服务的异常处理装置所涉及各功能单元的其他相应描述,可以参考图1和图2A至图2B中的对应描述,在此不再赘述。
在示例性实施例中,参见图4,还提供了一种设备,该设备包括通信总线、处理器、存储器和通信接口,还可以包括输入输出接口和显示设备,其中,各个功能单元之间可以通过总线完成相互间的通信。该存储器存储有计算机程序,处理器,用于执行存储器上所存放的程序,执行上述实施例中的应用服务的异常处理方法。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的应用服务的异常处理方法的步骤。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本申请所必须的。
本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本申请序号仅仅为了描述,不代表实施场景的优劣。
以上公开的仅为本申请的几个具体实施场景,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。
Claims (10)
1.一种应用服务的异常处理方法,其特征在于,包括:
采用目标应用服务的第一标识,拦截返回至所述目标应用服务的应答结果,所述应答结果用于指示对所述目标应用服务发出的应用请求的应答;
确定所述应答结果的结果状态,所述结果状态包括正常状态和异常状态;
当所述结果状态为所述异常状态时,创建第一计数器,增加一次异常次数;
统计所述第一计数器中存储的异常次数,基于所述异常次数,将所述目标应用服务降级,直至所述目标应用服务满足预设升级条件,升级所述目标应用服务。
2.根据权利要求1所述的方法,其特征在于,所述采用目标应用服务的第一标识,拦截返回至所述目标应用服务的应答结果,包括:
对接收到的全部应答结果进行识别,确定每个应答结果对应的第二标识,所述第二标识用于指示当前应答结果返回的应用服务;
在全部第二标识中,确定与所述第一标识内容一致的第二标识,对所述内容一致的第二标识对应的应答结果进行拦截。
3.根据权利要求1所述的方法,其特征在于,所述确定所述应答结果的结果状态,包括:
根据统一的错误码对所述应答结果进行判别,生成判别结果;
如果所述判别结果指示所述应答结果中携带正常数据内容,则生成用于指示应答结果正常的结果状态;
如果所述判别结果指示所述应答结果中未携带正常数据内容或显示超时,则生成用于指示应答结果异常的结果状态。
4.根据权利要求1所述的方法,其特征在于,所述确定所述应答结果的结果状态之后,所述方法还包括:
当所述应答结果的结果状态为正常状态时,将拦截的所述应答结果返回至所述目标应用服务,并创建第二计数器统计应答结果为正常状态的正常次数;
统计所述第一计数器中存储的异常次数,以及所述第一计数器中存储的正常次数,计算所述正常次数与所述异常次数的比值;
将所述比值与第一预设阈值进行比对,生成比对结果;
若所述比对结果指示所述比值大于所述第一预设阈值时,将所述第一计数器中存储的异常次数清零,重新累计异常次数。
5.根据权利要求4所述的方法,其特征在于,所述将所述比值与第一预设阈值进行比对,生成比对结果之后,所述方法还包括:若所述比对结果指示所述比值小于等于所述第一预设阈值,则对所述目标应用服务进行降级,直至所述目标应用服务满足所述预设升级条件,升级所述目标应用服务。
6.根据权利要求1所述的方法,其特征在于,所述基于所述异常次数,将所述目标应用服务降级,直至所述目标应用服务满足预设升级条件,升级所述目标应用服务,包括:
当所述异常次数大于等于第二预设阈值时,将所述目标应用服务降级,对降级的所述目标应用服务进行限流;
在所述目标应用服务具备资源锁后,允许所述目标应用服务发送服务请求,并拦截对应的应答结果,依据所述应答结果,升级所述目标应用服务。
7.根据权利要求6所述的方法,其特征在于,所述依据所述应答结果,升级所述目标应用服务,包括:
拦截所述目标应用服务的应答结果,创建第三计数器,统计所述目标应用服务的应答结果为正常状态的正常次数;
当所述目标应用服务的正常次数满足所述预设升级条件时,升级所述目标应用服务,所述预设升级条件为所述正常次数大于等于第三预设阈值。
8.一种应用服务的异常处理装置,其特征在于,包括:
拦截模块,用于采用目标应用服务的第一标识,拦截返回至所述目标应用服务的应答结果,所述应答结果用于指示对所述目标应用服务发出的应用请求的应答;
确定模块,用于确定所述应答结果的结果状态,所述结果状态包括正常状态和异常状态;
创建模块,用于当所述结果状态为所述异常状态时,创建第一计数器,增加一次异常次数;
统计模块,用于统计所述第一计数器中存储的异常次数,基于所述异常次数,将所述目标应用服务降级,直至所述目标应用服务满足预设升级条件,升级所述目标应用服务。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211114473.5A CN115499492A (zh) | 2022-09-14 | 2022-09-14 | 应用服务的异常处理方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211114473.5A CN115499492A (zh) | 2022-09-14 | 2022-09-14 | 应用服务的异常处理方法、装置、设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115499492A true CN115499492A (zh) | 2022-12-20 |
Family
ID=84467956
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211114473.5A Pending CN115499492A (zh) | 2022-09-14 | 2022-09-14 | 应用服务的异常处理方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115499492A (zh) |
-
2022
- 2022-09-14 CN CN202211114473.5A patent/CN115499492A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108376118B (zh) | 服务发布系统、方法、设备及存储介质 | |
CN109104336B (zh) | 服务请求处理方法、装置、计算机设备及存储介质 | |
CN106533805B (zh) | 一种微服务请求处理方法、微服务控制器及微服务架构 | |
US11567756B2 (en) | Causality determination of upgrade regressions via comparisons of telemetry data | |
CN110795120A (zh) | 软件升级方法及相关装置 | |
CN111901176B (zh) | 故障确定方法、装置、设备及存储介质 | |
CN114268957A (zh) | 异常业务数据处理方法、装置、服务器及存储介质 | |
CN106506278B (zh) | 一种服务可用性监控方法及装置 | |
CN108650123B (zh) | 故障信息记录方法、装置、设备和存储介质 | |
CN111181777B (zh) | 一种服务降级的方法、装置、计算机设备及存储介质 | |
CN112561506A (zh) | 基于虚拟货币的直播数据处理方法、系统、设备及介质 | |
CN115037653B (zh) | 业务流量监控方法、装置、电子设备和存储介质 | |
CN115499492A (zh) | 应用服务的异常处理方法、装置、设备及可读存储介质 | |
CN114237910A (zh) | 客户端负载均衡实现方法及装置 | |
CN111488236A (zh) | 一种订单异常处理方法、服务器、存储介质及处理装置 | |
CN113297149A (zh) | 数据处理请求的监测方法及装置 | |
US10296967B1 (en) | System, method, and computer program for aggregating fallouts in an ordering system | |
CN110837431A (zh) | 服务控制方法、装置、计算机设备及计算机可读存储介质 | |
CN110716972A (zh) | 高频率调用外部接口出错的处理方法和装置 | |
CN117370052B (zh) | 微服务故障分析方法、装置、设备及存储介质 | |
CN105574020B (zh) | 一种数据库操作方法和装置 | |
CN115460271B (zh) | 一种基于边缘计算的网络控制方法及装置、存储介质 | |
CN115499291B (zh) | 一种业务跌零告警信息的处理方法及装置、存储介质 | |
CN115082191A (zh) | 风险评估方法、装置及设备和存储介质 | |
CN114296914A (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 |