CN110535901A - 服务降级方法、装置、计算机设备及存储介质 - Google Patents
服务降级方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN110535901A CN110535901A CN201910602152.1A CN201910602152A CN110535901A CN 110535901 A CN110535901 A CN 110535901A CN 201910602152 A CN201910602152 A CN 201910602152A CN 110535901 A CN110535901 A CN 110535901A
- Authority
- CN
- China
- Prior art keywords
- service
- data
- service data
- degraded
- degradation
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Abstract
本申请基于大数据公开了一种服务降级方法、装置、计算机设备及存储介质,涉及数据处理领域,所述方法包括通过预设的自检接口获取服务请求信息,其中,所述服务请求信息包括服务请求数据和每个所述服务请求数据对应的服务请求数据量,根据每个所述服务请求数据中的状态信息,对所述服务请求信息进行筛选,并得到待降级服务数据,其中,待降级服务数据包括等级,拦截所述待降级服务请求数据对应的访问接口,并通过所述访问接口对所述待降级服务数据执行等级对应的服务降级操作,使得对服务器的服务请求数据的服务降级操作更加有针对性,提高服务器的处理效率,从而提高用户访问服务器的体验感。
Description
技术领域
本申请涉及数据处理领域,尤其涉及服务降级方法、装置、计算机设备及存储介质。
背景技术
当服务器压力剧增的情况下,根据实际业务情况及流量,对一些服务和页面有策略的不处理或换种简单的方式处理,从而释放服务器资源以保证核心交易正常运作或高效运作的方式就是所谓的服务降级。
现有技术中,在大量用户请求访问服务器时,通常是由运维工程师实时监控服务器的运行情况。当发现服务器压力过大时,运维工程师则会通知各方以进行排查,确定问题来源,并以此来决策是否对服务器进行调整及如何调整,对服务器的处理效率低,对服务器的调整决策针对性差,降低用户访问服务器的用户体验感。
发明内容
本申请实施例的目的在于提出一种服务降级方法,以解决服务器处理效率低,对服务器的调整决策针对性差以及降低用户访问服务器的用户体验感的问题。
为了解决上述技术问题,本申请实施例提供一种服务降级方法,包括如下步骤:
通过预设的自检接口获取服务请求信息,其中,所述服务请求信息包括服务请求数据和每个所述服务请求数据对应的状态信息;
根据每个所述服务请求数据对应的状态信息,对所述服务请求信息进行筛选,并得到待降级服务数据,所述待降级服务数据包括所述服务请求数据对应的访问接口地址和等级;
拦截所述待降级服务请求数据对应的访问接口,并通过所述访问接口对所述待降级服务数据执行所述等级对应的服务降级操作。
进一步的,状态信息包括服务请求数据量、超时重试次数,服务降级方法还包括:
基于服务请求数据量进行筛选,将服务请求数据量超过预设流量阀值的服务请求数据作为待降级服务数据;或者
基于超时重试次数进行筛选,将超时重试次数超过设定的重试阈值的服务请求数据作为待降级服务数据等级。
进一步的,服务降级方法还包括:
根据服务请求数据量或超时重试次数进行等级划分;
在服务降级类型表中建立所述等级与服务降级类型的映射关系。
等级进一步的,服务降级方法还包括:
识别等级对应的标识符;
根据所述标识符在服务降级类型表中查询所述等级对应的服务降级类型;
通过拦截所述待降级服务请求数据对应的所述访问接口执行所述服务降级类型对应的服务降级操作。
进一步的,服务降级方法还包括:
根据所述访问接口地址对所述待降级服务数据对应的访问接口进行拦截,并在所述访问接口获取拦截时的缓存数据;
通过拦截所述待降级服务请求数据对应的所述访问接口,对所述待降级服务数据执行所述等级对应的服务降级操作;
通过所述访问接口将所述缓存数据发送至前端界面。
进一步的,服务降级方法还包括:
通过识别所述访问接口对应的网页关键字,获取与所述网页对应的热点信息;
当执行所述服务降级操作时,将所述热点信息作为跳转目标页展示在所述前端界面。
进一步的,服务降级方法还包括:
获取每个服务器的基本信息;
从所述基本信息中检测所述服务器是否配置所述自检接口;
若检测到所述服务器未配置所述自检接口,则在预设时间内对所述未配置自检接口的服务器配置自检接口代码块。
进一步的,服务降级方法还包括:
若通过所述自检接口代码块返回的自检结果为数据错误,则获取所述服务请求信息。
为了解决上述技术问题,本申请实施例还提供一种服务降级装置,所述服务降级装置包括:
获取模块,用于通过预设的自检接口获取服务请求信息,其中,所述服务请求信息包括服务请求数据和每个所述服务请求数据对应的状态信息;
处理模块,用于根据每个所述服务请求数据对应的状态信息,对所述服务请求信息进行筛选,并得到待降级服务数据,所述待降级服务数据包括所述服务请求数据对应的访问接口地址和等级;
执行模块,用于拦截所述待降级服务请求数据对应的访问接口,并通过所述访问接口对所述待降级服务数据执行所述等级对应的服务降级操作。
进一步的,状态信息包括服务请求数据量、超时重试次数,所述处理模块还包括:
第一筛选单元,用于基于服务请求数据量进行筛选,将服务请求数据量超过预设流量阀值的服务请求数据作为待降级服务数据;或者
第二筛选单元,用于基于超时重试次数进行筛选,将超时重试次数超过设定的重试阈值的服务请求数据作为待降级服务数据。
进一步的,执行模块还包括:
划分单元,用于根据服务请求数据量或超时重试次数进行等级划分;
映射单元,用于在服务降级类型表中建立所述等级与服务降级类型的映射关系。
进一步的,执行模块还包括:
识别子模块,用于识别等级对应的标识符;
第二查询子模块,用于根据所述标识符在服务降级类型表中查询所述等级对应的服务降级类型;
降级操作子模块,用于通过拦截所述待降级服务请求数据对应的所述访问接口执行所述服务降级类型对应的服务降级操作。
进一步的,执行模块还包括:
拦截子模块,用于根据所述访问接口地址对所述待降级服务数据对应的访问接口进行拦截,并在所述访问接口获取拦截时的缓存数据;
降级子模块,用于通过拦截所述待降级服务请求数据对应的所述访问接口,对所述待降级服务数据执行所述等级对应的服务降级操作;
发送子模块,用于通过所述访问接口将所述缓存数据发送至前端界面。
等级进一步的,执行模块还包括:
第三获取子模块,用于通过识别所述访问接口对应的网页关键字,获取与所述网页对应的热点信息;
跳转子模块,用于当执行所述服务降级操作时,将所述热点信息作为跳转目标页展示在所述前端界面。
进一步的,获取模块还包括:
第一获取子模块,用于获取每个服务器的基本信息;
检测子模块,用于从所述基本信息中检测所述服务器是否配置所述自检接口;
配置子模块,用于若检测到所述服务器未配置所述自检接口,则在预设时间内对所述未配置自检接口的服务器配置自检接口代码块。
为了解决上述技术问题,本申请实施例还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现上述服务降级方法的步骤。
为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的服务降级方法的步骤。
与现有技术相比,本申请实施例主要有以下有益效果:通过预设的自检接口获取服务请求信息,其中,所述服务请求信息包括服务请求数据和每个所述服务请求数据对应的服务请求数据量,根据每个所述服务请求数据对应的服务请求数据量,对所述服务请求信息进行筛选,并得到待降级服务数据,拦截所述待降级服务请求数据对应的访问接口,并通过所述访问接口对所述待降级服务数据执行服务降级操作,使得对服务器的服务请求数据的服务降级操作更加有针对性,提高服务器的处理效率,从而提高用户访问服务器的体验感。
附图说明
为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请可以应用于其中的示例性系统架构图;
图2根据本申请的服务降级方法的一个实施例的流程图;
图3是根据本申请的服务降级装置的一个实施例的结构示意图;
图4是根据本申请的计算机设备的一个实施例的结构示意图。
具体实施方式
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
为了使本技术领域的人员更好地理解本申请方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104 和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器 (Moving Picture E服务降级perts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving PictureE服务降级perts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对终端设备101、102、 103上显示的页面提供支持的后台服务器。
需要说明的是,本申请实施例所提供的服务降级方法一般由服务器/终端设备执行,相应地,服务降级装置一般设置于服务器/终端设备中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,示出了根据本申请的服务降级的方法的一个实施例的流程图。所述的服务降级方法,包括以下步骤:
S201:通过预设的自检接口获取服务请求信息,其中,所述服务请求信息包括服务请求数据和每个所述服务请求数据对应的状态信息。
在本实施例中,服务降级方法运行于其上的电子设备(例如图1所示的服务器/终端设备)可以通过有线连接方式或者无线连接方式。需要指出的是,上述无线连接方式可以包括但不限于3G/4G连接、WiFi连接、蓝牙连接、WiMA 服务降级连接、Zigbee连接、UWB(ultra wideband)连接、以及其他现在已知或将来开发的无线连接方式。
具体地,预设的自检接口用于检测每个服务器的运行状态,其中,运行状态包括用户对该服务器的服务访问请求数量,即服务请求数据量,服务请求数据是指服务器运行的状态信息。在自检接口的实时监督下获取对应的服务请求数据,以实现实时检测服务器的运行状态。
在本实施例中,通过自检接口获取服务请求数据的方式可以通过查询sql 语句,以获取每个服务器上的自检结果,自检结果即为运行状态信息。
S202:根据每个所述服务请求数据中的状态信息,对所述服务请求信息进行筛选,并得到待降级服务数据,所述待降级服务数据包括所述服务请求数据对应的访问接口地址和等级。
在自检结果中筛选出待降级服务数据,其中,待降级服务数据为满足降级服务条件的服务请求数据。筛选条件根据服务请求数据中的状态信息进行筛选。在本实施例的一些可选的实现方式中,状态信息包括服务请求数据量、超时重试次数,步骤S202,即根据每个所述服务请求数据对应的状态信息,对所述服务请求信息进行筛选,并得到待降级服务请求数据,上述电子设备还可以执行以下步骤:
基于服务请求数据量进行筛选,将服务请求数据量超过预设流量阀值的服务请求数据作为待降级服务数据;或者
基于超时重试次数进行筛选,将超时重试次数超过设定的重试阈值的服务请求数据作为待降级服务数据。
例如在本实施例中以状态信息中显示的服务请求数据量为主,若自检结果显示的服务请求数据量小于或者等于预设流量阈值,则继续保持服务器的正常启动状态;若自检结果显示为数据返回错误,即表明当前服务器的服务请求数据量大于预设流量阈值,则确认当前服务器已达到降级服务条件,并获取需要降级服务的服务器请求数据作为待降级服务数据。可选地,除了上述根据服务请求数据量作为服务降级条件的筛选条件外,还可以是根据状态信息中的超时重试次数。例如,将超时重试次数超过设定的重试阈值的服务请求数据作为待降级服务数据;或者检测所调用的远程服务是否宕机,例如,网络故障、DNS故障、HTTP服务返回错误的状态码和RPC服务抛出异常。进一步地,根据服务请求数据量或超时重试次数进行等级划分;
在服务降级类型表中建立所述等级与服务降级类型的映射关系。
由于每个访问接口的访问量不同,即服务请求数据量或超时重试次数不同,故每个访问接口的等级不同。
具体地,从服务请求信息中获取服务请求数据量,根据预设的等级划分,确定服务请求数据量或超时重试次数分别对应的等级。其中,预设的等级划分可以是每个等级对应一个数据区间,即凡是服务请求数据量或超时重试次数落在对应数据区间会被匹配一个等级,降级等级可以设置为零级、第一等级、第二等级、第三等级等。其中,零级可以设置区间为(0,10k)、第一等级可以设置区间为[10k,20k]、第二等级可以设置区间为(20k,100k]、第三等级可以设置区间为(100k,+∞)。进一步地,当等级预设的待等级范围内时,例如,待等级范围内为要求等级不小于第一等级,将不小于第一等级的服务请求数据量对应的服务请求数据确定为所述待降级服务数据。其中,待等级范围是指待降级服务数据对应的等级落在预设的等级区间内。
进一步的,服务请求数据量超过预设流量阀值的服务请求数据对应的等级或者超时重试次数超过设定的重试阈值的服务请求数据对应的等级一般在待等级范围内,即此时的服务请求数据量为待降级服务数据。
当检测到服务请求数据量或超时重试次数对应的等级为第二等级时,将所述服务请求数据作为待降级服务请求数据,等级为零级或者第一等级的服务请求数据不作为待降级服务请求数据处理。例如,当服务请求数据量为1.1 万条,刚好属于第一区间[10k,20k]内时,划分待降级服务请求数据为第一等级,但该服务请求数据不作为待降级服务请求数据。由于获取的服务请求数据来自多个服务器,故通过判断每个服务器的服务请求数据数量或超时重试次数分别对应的等级,对服务请求数据进一步筛选成为待降级服务请求数据,避免了对所有服务请求数据进行降级处理而造成后台操作的负担问题。
具体地,在服务降级类型表中建立服务请求数据对应的等级与服务降级类型的映射关系,其中,服务降级类型表中设置了各种等级分别对应的服务降级类型,例如,第三等级的服务降级类型可以是页面降级或者延迟服务,第二等级的服务降级类型可以是写降级或者读降级,第一等级可以是缓存降级。
需要说明的是,由于每个服务器受空间限制,特别是目前服务器数据库层压力较高,以至于短时间内一次性接收服务访问请求的数量及其极限,在面临超出自己服务能力的流量时,会导致部分甚至所有的服务请求数据处于不可服务状态,甚至完全不可服务状态,即服务访问请求的数量高时,服务器的访问接口基本处于不可使用状态。故通过自检接口实时获取服务请求数据,以使根据服务请求数据量来筛选出待降级服务数据,从而对服务器执行不同的调整策略。
S203:拦截所述待降级服务请求数据对应的访问接口,并通过所述访问接口对所述所述等级对应的待降级服务数据执行服务降级操作。
具体地,拦截访问接口在于将带服务请求数据暂时与当前访问的服务器断开,以减少当前访问服务器的负载。服务降级操作可以选择性地丢弃数据包或标记数据包以进行有效率的丢弃来提高用户体验的质量和系统吞吐量。
本申请实施例的服务降级可以应用在资讯系统中出现的同一时间内多用户访问同一服务接口造成的服务接口拥堵的场景。
根据等级对应的降级服务类型进行相应的降级服务操作,有利于避免了服务降级操作千人一面的问题,从而提升了服务降级操作的效果。
通过预设的自检接口获取服务请求信息,其中,所述服务请求信息包括服务请求数据和每个所述服务请求数据对应的服务请求数据量,根据每个所述服务请求数据对应的服务请求数据量,对所述服务请求信息进行筛选,并得到待降级服务数据,拦截所述待降级服务请求数据对应的访问接口,并通过所述访问接口对所述待降级服务数据执行服务降级操作,使得对服务器的服务请求数据的服务降级操作更加有针对性,提高服务器的处理效率,从而提高用户访问服务器的体验感。
本实施例的一些可选的实现方式中,通过所述访问接口对所述待降级服务数据执行所述等级对应的服务降级操作的步骤具体包括:
识别等级对应的标识符;
根据所述标识符在服务降级类型表中查询所述等级对应的服务降级类型;
通过拦截所述待降级服务请求数据对应的所述访问接口,执行所述服务降级类型对应的服务降级操作。
具体地,服务降级类型表中的等级与服务降级类型的映射关系由开发人员根据实际条件进行修订和添加,在每次建立完映射关系后,自动将等级和服务降级类型生成一个共有的标识符。
在本申请实施例中可以应用在资讯系统的场景中。当资讯系统中出现热门话题时,同一时间内出现用户访问同一热门话题所在服务网页时,此时可能会因为访问量(即服务请求数据量)太大而导致系统崩溃,此时使用限流来进行限制访问量,当达到限流阀值,后续请求会被降级;根据访问量确定对应的等级,根据降级等级数对访问接口执行对应的服务降级类型对应的服务降级操作。
进一步地,每个标识符与降级类型像对应。例如,第一等级对应的标识符为R1,R1对应的服务降级类型为排队页面,也就是将用户导流到排队页面等一会重试;第二等级对应的标识符为R2,R2对应的服务降级类型为错误页,例如页面访问人数过多,稍后重试;或者第三等级对应的标识符为R3,R3 对应的服务降级类型为跳转到相关页面等服务降级操作。
例如,第三等级的服务降级类型可以是页面降级或者延迟服务,第二等级的服务降级类型可以是写降级或者读降级,第一等级可以是缓存降级。其中,服务降级类型对应的服务降级操作包括:页面降级可以是可视化界面禁用点击按钮、调整静态页面;延迟服务可以是如定时任务延迟处理、消息入 MQ后延迟处理;写降级可以是直接禁止相关写操作的服务请求;读降级可以是直接禁止相关度的服务请求,其中,相关度是指在访问与热门主题相关的内容,例如,热搜新闻的相近主题;缓存降级可以是使用缓存方式来降级部分读频繁的服务接口。其中,缓存方式是指当访问量剧增、服务出现问题(如响应时间慢或不响应)或非核心服务影响到核心流程的性能时,仍然需要保证服务还是可用的,即使是有损服务,系统可以根据缓存数据中存在的一些关键数据进行自动降级。
需要说明的是,在服务请求数据量超负载的情况下,配置中心和应用之间可能会因网络闪断或网络重启等因素,导致配置推送信息丢失、重启或网络恢复后不能再接受、变更不及时等情况。因此服务降级操作中,尽可能保证配置变更及时达到,包括:启动主动拉取配置,其中,拉取是指用户从网站上“拖下”数据,譬如使用超文本传送协议(http);发布订阅配置,用于实现配置及时变更,此方式可以解决90%左右的配置变更;定时拉取配置,用于解决发布订阅失效或消失丢失的情况,这种方式可以解决9%左右的发布订阅失效的消息变更;离线文件缓存配置,用于临时解决重启后连接不上配置中心的问题;可编辑式配置文档,用于直接编辑文档的方式来实现配置的定义;提供Telnet命令变更配置,用于解决配置中心失效而不能变更配置的常见问题。
通过标识符在服务降级类型表中查找服务降级类型,能更快更准确地获取每个等级对应的服务降级操作,提高服务降级效率。
在一些实施方式中,上述步骤S203即拦截所述待降级服务数据对应的访问接口,并通过所述访问接口对所述待降级服务数据执行服务降级操作,上述电子设备可以执行以下步骤:
根据所述访问接口地址对所述待降级服务数据对应的访问接口进行拦截,并在所述访问接口获取拦截时的缓存数据;
通过所述访问接口对所述待降级服务数据执行所述等级对应的服务降级操作;
通过所述访问接口将所述缓存数据发送至前端界面。
其中,缓存数据可以是用户访问某服务器时的评论、点赞、回复评论等信息。
进一步地,缓存数据的更新可以根据每隔预设时间内对访问接口在执行降级服务之前捕获到的缓存数据,并将捕获到的缓存数据返回到前端界面中,从而在执行服务降级操作时,可在短时间内实现数据刷新。
进一步地,在服务降级操作时捕获到的缓存数据为拦截时的缓存数据,即第一次更新的缓存数据为拦截时的缓存数据,而只有当完成服务降级操作后再次捕获到的缓存数据才能作为第二次更新后的缓存数据。
需要说明的是,由于同一个服务接口在刷新周期内只会真正请求一次数据,对同一个访问接口的降级服务操作是一致的,故对同一访问接口的所有用户来说,同一个访问接口在同一个数据刷新周期内看到的数据是一样的。其中,刷新周期时间较短,一般设置为0.5-1s,以使在服务降级时,可在短时间内实现数据刷新,让用户非感知服务降级操作带来的。
在本实施例的一些可选的实现方式中,在步骤S201即所述通过预设的自检接口实时获取服务请求数据之前,上述电子设备还可以执行以下步骤:
获取每个服务器的基本信息;
从所述基本信息中检测所述服务器是否配置所述自检接口;
若检测到所述服务器未配置所述自检接口,则在预设时间内对所述未配置自检接口的服务器配置自检接口代码块。
具体地,遍历系统中对接的各个服务器,获取每个服务器的基本信息,其中,基本信息可以包括但不限于服务器地址,是否配置自检接口标识信息以及服务器运行状态信息等;当从基本信息中未检测到自检接口标识信息时,也就是说该服务器未配置自检接口代码模块,对未配置自检接口的服务器对应的基础信息进行记录;在预设时间段内对,例如,指定的配置时间段内,将预先编写好的自检接口代码块在服务器地址对应的服务器中写入自检接口,以使每个服务器能在自检接口代码块的运行下,实时监督并获取对应的服务请求信息,做到实时自动检测服务器的运行状态,其中,服务请求信息包括运行状态信息。
其中,自检接口代码块用于创建自检接口,以检查数据在服务器中进行的交换,传递和控制管理过程,同时还包括检测服务器处理的次数,处理包括客户端向服务器发送请求报文,服务器接收请求报文后对相应的报文做处理并向客户端返回应答,客户端接收应答的过程。通过创建自检接口为高复杂性的平台带来高效的缺陷监测和质量监督能力,提高监督效率,降低人工监督成本。
进一步地,若检测到所述服务器未配置所述自检接口,则在预设时间内对所述未配置自检接口的服务器配置自检接口代码块之后,若通过所述自检接口代码块返回的自检结果为数据错误,则获取所述服务请求信息。
具体地,自检接口可以通过检测服务器的运行状态并记录运行状态信息。运行状态信息包括正常访问信息、报错信息以及处理信息等。通过自检接口可以更好、更精准地将运行状态信息记录在日志中,通过日志便于问题的复现以及定位。若运行状态信息显示的结果为服务请求访问数量小于或者等于预设流量阈值,则继续执行服务器正常的运行状态;若运行状态信息显示的结果为为数据返回错误或者为报错信息,即表明当前服务器的服务请求访问数量大于预设流量阈值,则确认当前服务器运行负载过大,并定位到当前服务器,以获取服务请求信息,从而实现了在服务器运载过大时,能及时反馈错误信息,以降低服务器的数据损失。
在本实施例的一些可选的实现方式中,在步骤S203即拦截所述待降级服务请求数据对应的访问接口,并通过所述访问接口对所述待降级服务数据执行服务降级操作之后,上述电子设备还可以执行以下步骤:
通过识别所述访问接口对应的网页关键字,获取与所述网页对应的热点信息;
当执行所述服务降级操作时,将所述热点信息作为跳转目标页展示在所述前端界面。
具体地,获取待降级服务请求数据对应的访问接口,根据该访问接口指向的网页,识别对应网页的关键字。在本申请实施例中,识别关键字的方式可以是通过识别网页中的文本信息,通过自然语言工具(NLP)或者词向量模型(word2vec)来获取关键字,一般地,关键字为当前的热门词语。
进一步地,将关键词导入搜索引擎中进行检索;当检索到的与关键词相关的网页时,获取网页对应的链接,该链接即为热点信息;将链接按照预设的排序方式进行排序,例如,根据网页的访问热度对网页进行排序;将排序好的链接生成到预设的网页模板中,以得到跳转目标页;当执行所述服务降级操作时,将跳转目标页传送至访问接口对应的前端界面。
本申请实施例中,通过识别访问接口的网页关键字对应的热点信息,将相关的热点信息作为降级服务中的跳转页,不仅使用户在其他链接中也能浏览到相关热点信息,而且减少同一网页同时多人访问的拥堵现象,并提高了用户体验感。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
进一步参考图3,作为对上述图2所示方法的实现,本申请提供了一种服务降级装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图3所示,本实施例所述的服务降级装置包括:获取模块301、处理模块302以及执行模块303。其中:
获取模块301,用于通过预设的自检接口获取服务请求信息,其中,所述服务请求信息包括服务请求数据和每个所述服务请求数据对应的状态信息;
处理模块302,用于根据每个所述服务请求数据对应的状态信息,对所述服务请求信息进行筛选,并得到待降级服务数据,所述待降级服务数据包括所述服务请求数据对应的访问接口地址和等级;
执行模块303,用于拦截所述待降级服务请求数据对应的访问接口,并通过所述访问接口对所述待降级服务数据执行所述等级对应的服务降级操作。
状态信息包括服务请求数据量、超时重试次数,所述处理模块还包括:
第一筛选单元,用于基于服务请求数据量进行筛选,将服务请求数据量超过预设流量阀值的服务请求数据作为待降级服务数据;或者
第二筛选单元,用于基于超时重试次数进行筛选,将超时重试次数超过设定的重试阈值的服务请求数据作为待降级服务数据。
进一步的,执行模块还包括:
划分单元,用于根据服务请求数据量或超时重试次数进行等级划分;
映射单元,用于在服务降级类型表中建立所述等级与服务降级类型的映射关系。
进一步的,执行模块还包括:
识别子模块,用于识别等级对应的标识符;
第二查询子模块,用于根据所述标识符在服务降级类型表中查询所述等级对应的服务降级类型;
降级操作子模块,用于通过拦截所述待降级服务请求数据对应的所述访问接口执行所述服务降级类型对应的服务降级操作。
进一步的,执行模块还包括:
拦截子模块,用于根据所述访问接口地址对所述待降级服务数据对应的访问接口进行拦截,并在所述访问接口获取拦截时的缓存数据;
降级子模块,用于通过拦截所述待降级服务请求数据对应的所述访问接口,对所述待降级服务数据执行所述等级对应的服务降级操作;
发送子模块,用于通过所述访问接口将所述缓存数据发送至前端界面。
等级进一步的,执行模块还包括:
第三获取子模块,用于通过识别所述访问接口对应的网页关键字,获取与所述网页对应的热点信息;
跳转子模块,用于当执行所述服务降级操作时,将所述热点信息作为跳转目标页展示在所述前端界面。
进一步的,获取模块还包括:
第一获取子模块,用于获取每个服务器的基本信息;
检测子模块,用于从所述基本信息中检测所述服务器是否配置所述自检接口;
配置子模块,用于若检测到所述服务器未配置所述自检接口,则在预设时间内对所述未配置自检接口的服务器配置自检接口代码块。
关于上述实施例中服务降级装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图4,图4为本实施例计算机设备基本结构框图。
所述计算机设备4包括通过系统总线相互通信连接存储器41、处理器42、网络接口43。需要指出的是,图中仅示出了具有组件41-43的计算机设备4,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable GateArray,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
所述存储器41至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或D服务降级存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器41可以是所述计算机设备4的内部存储单元,例如该计算机设备4的硬盘或内存。在另一些实施例中,所述存储器41也可以是所述计算机设备4的外部存储设备,例如该计算机设备4上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,所述存储器41 还可以既包括所述计算机设备4的内部存储单元也包括其外部存储设备。本实施例中,所述存储器41通常用于存储安装于所述计算机设备4的操作系统和各类应用软件,例如服务降级方法的程序代码等。此外,所述存储器41还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器42在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器42 通常用于控制所述计算机设备4的总体操作。本实施例中,所述处理器42用于运行所述存储器41中存储的程序代码或者处理数据,例如运行所述服务降级方法的程序代码。
所述网络接口43可包括无线网络接口或有线网络接口,该网络接口43 通常用于在所述计算机设备4与其他电子设备之间建立通信连接。
本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有服务降级程序,所述服务降级程序可被至少一个处理器执行,以使所述至少一个处理器执行如上述的服务降级方法的步骤。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。
Claims (10)
1.一种服务降级方法,其特征在于,所述方法包括:
通过预设的自检接口获取服务请求信息,其中,所述服务请求信息包括服务请求数据和每个所述服务请求数据对应的状态信息;
根据每个所述服务请求数据对应的状态信息,对所述服务请求信息进行筛选,并得到待降级服务数据,所述待降级服务数据包括所述服务请求数据对应的访问接口地址和等级;
拦截所述待降级服务请求数据对应的访问接口,并通过所述访问接口对所述待降级服务数据执行所述等级对应的服务降级操作。
2.根据权利要求1所述的服务降级方法,其特征在于,所述状态信息包括服务请求数据量、超时重试次数;所述根据每个所述服务请求数据对应的状态信息,对所述服务请求信息进行筛选,并得到待降级服务请求数据的步骤包括:
基于服务请求数据量进行筛选,将服务请求数据量超过预设流量阀值的服务请求数据作为待降级服务数据;或者
基于超时重试次数进行筛选,将超时重试次数超过设定的重试阈值的服务请求数据作为待降级服务数据。
3.根据权利要求2所述的服务降级方法,其特征在于,所述根据每个所述服务请求数据对应的状态信息,对所述服务请求信息进行筛选,并得到待降级服务数据之前,所述方法还包括:
根据服务请求数据量或超时重试次数进行等级划分;
在服务降级类型表中建立所述等级与服务降级类型的映射关系。
4.根据权利要求3所述的服务降级方法,其特征在于,所述拦截所述待降级服务请求数据对应的访问接口,通过所述访问接口对所述待降级服务数据执行所述等级对应的服务降级操作包括:
识别等级对应的标识符;
根据所述标识符在服务降级类型表中查询所述等级对应的服务降级类型;通过拦截所述待降级服务请求数据对应的所述访问接口,执行所述服务降级类型对应的服务降级操作。
5.根据权利要求2所述的服务降级方法,其特征在于,所述拦截所述待降级服务数据对应的访问接口,并通过所述访问接口对所述待降级服务数据执行服务降级操作包括:
根据所述访问接口地址对所述待降级服务数据对应的访问接口进行拦截,并在所述访问接口获取拦截时的缓存数据;
通过所述访问接口对所述待降级服务数据执行所述等级对应的服务降级操作;
通过所述访问接口将所述缓存数据发送至前端界面。
6.根据权利要求1或4所述的服务降级方法,其特征在于,所述拦截所述待降级服务请求数据对应的访问接口,并通过所述访问接口对所述待降级服务数据执行服务降级操作之后,所述方法还包括:
通过识别所述访问接口对应的网页关键字,获取与所述网页对应的热点信息;
当执行所述服务降级操作时,将所述热点信息作为跳转目标页展示在所述前端界面。
7.根据权利要求1所述的服务降级方法,其特征在于,在所述通过预设的自检接口实时获取服务请求数据之前,所述方法还包括:
获取每个服务器的基本信息;
从所述基本信息中检测所述服务器是否配置所述自检接口;
若检测到所述服务器未配置所述自检接口,则在预设时间内对所述未配置自检接口的服务器配置自检接口代码块。
8.一种服务降级装置,其特征在于,包括:
获取模块,用于通过预设的自检接口获取服务请求信息,其中,所述服务请求信息包括服务请求数据和每个所述服务请求数据对应的状态信息;
处理模块,用于根据每个所述服务请求数据对应的状态信息,对所述服务请求信息进行筛选,并得到待降级服务数据,所述待降级服务数据包括所述服务请求数据对应的访问接口地址和等级;
执行模块,用于拦截所述待降级服务请求数据对应的访问接口,并通过所述访问接口对所述待降级服务数据执行所述等级对应的服务降级操作。
9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述的服务降级方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的服务降级方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910602152.1A CN110535901A (zh) | 2019-07-05 | 2019-07-05 | 服务降级方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910602152.1A CN110535901A (zh) | 2019-07-05 | 2019-07-05 | 服务降级方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110535901A true CN110535901A (zh) | 2019-12-03 |
Family
ID=68659430
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910602152.1A Pending CN110535901A (zh) | 2019-07-05 | 2019-07-05 | 服务降级方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110535901A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111988387A (zh) * | 2020-08-11 | 2020-11-24 | 北京达佳互联信息技术有限公司 | 接口请求处理方法、装置、服务器、设备及存储介质 |
CN112468557A (zh) * | 2020-11-16 | 2021-03-09 | 北京百度网讯科技有限公司 | 提供网络服务的方法、装置、网关及存储介质 |
CN112732757A (zh) * | 2020-12-30 | 2021-04-30 | 北京奇艺世纪科技有限公司 | 一种降级数据的处理方法、系统、装置、设备及存储介质 |
CN113220394A (zh) * | 2021-05-07 | 2021-08-06 | 苏州摩多多信息科技有限公司 | 一种移动端页面容灾的方法、系统及介质 |
CN113596002A (zh) * | 2021-07-20 | 2021-11-02 | 中国联合网络通信集团有限公司 | 一种服务提供方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107592219A (zh) * | 2017-09-04 | 2018-01-16 | 北京潘达互娱科技有限公司 | 服务降级处理方法及装置 |
CN109684105A (zh) * | 2018-12-18 | 2019-04-26 | 中国平安人寿保险股份有限公司 | 在微服务架构下对请求进行控制的方法、设备和存储介质 |
-
2019
- 2019-07-05 CN CN201910602152.1A patent/CN110535901A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107592219A (zh) * | 2017-09-04 | 2018-01-16 | 北京潘达互娱科技有限公司 | 服务降级处理方法及装置 |
CN109684105A (zh) * | 2018-12-18 | 2019-04-26 | 中国平安人寿保险股份有限公司 | 在微服务架构下对请求进行控制的方法、设备和存储介质 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111988387A (zh) * | 2020-08-11 | 2020-11-24 | 北京达佳互联信息技术有限公司 | 接口请求处理方法、装置、服务器、设备及存储介质 |
CN111988387B (zh) * | 2020-08-11 | 2023-05-30 | 北京达佳互联信息技术有限公司 | 接口请求处理方法、装置、设备及存储介质 |
CN112468557A (zh) * | 2020-11-16 | 2021-03-09 | 北京百度网讯科技有限公司 | 提供网络服务的方法、装置、网关及存储介质 |
CN112468557B (zh) * | 2020-11-16 | 2022-04-22 | 北京百度网讯科技有限公司 | 提供网络服务的方法、装置、网关及存储介质 |
CN112732757A (zh) * | 2020-12-30 | 2021-04-30 | 北京奇艺世纪科技有限公司 | 一种降级数据的处理方法、系统、装置、设备及存储介质 |
CN112732757B (zh) * | 2020-12-30 | 2023-07-25 | 北京奇艺世纪科技有限公司 | 一种降级数据的处理方法、系统、装置、设备及存储介质 |
CN113220394A (zh) * | 2021-05-07 | 2021-08-06 | 苏州摩多多信息科技有限公司 | 一种移动端页面容灾的方法、系统及介质 |
CN113596002A (zh) * | 2021-07-20 | 2021-11-02 | 中国联合网络通信集团有限公司 | 一种服务提供方法及装置 |
CN113596002B (zh) * | 2021-07-20 | 2022-11-18 | 中国联合网络通信集团有限公司 | 一种服务提供方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110535901A (zh) | 服务降级方法、装置、计算机设备及存储介质 | |
CN106503134B (zh) | 浏览器跳转至应用程序的数据同步方法及装置 | |
CN102385594B (zh) | 多核浏览器的内核控制方法和装置 | |
CN110262807B (zh) | 集群创建进度日志采集系统、方法和装置 | |
CN103368986A (zh) | 一种信息推荐方法及信息推荐装置 | |
CN105721538A (zh) | 数据访问的方法和装置 | |
CN108932332A (zh) | 静态资源的加载方法及装置 | |
CN110417873B (zh) | 一种实现记录网页交互操作的网络信息提取系统 | |
CN110858172A (zh) | 一种自动化测试代码生成方法和装置 | |
CN110245145A (zh) | 关系型数据库到Hadoop数据库的结构同步方法和装置 | |
CN101309291A (zh) | 终端数据维护的工具和方法 | |
CN106202578A (zh) | 一种浏览器本地信息同步处理方法及装置 | |
US20170277622A1 (en) | Web Page Automated Testing Method and Apparatus | |
WO2020238860A1 (zh) | 分布式文件批处理方法、装置、与可读存储介质 | |
WO2021150344A1 (en) | Intelligent management of a synchronization interval for data of an application or service | |
US10938773B2 (en) | Method and apparatus for synchronizing contact information and medium | |
CN110362341A (zh) | 基于微服务架构的业务管理方法、装置、设备和存储介质 | |
US20080033918A1 (en) | Systems, methods and computer program products for supplemental data communication and utilization | |
CN104144199A (zh) | 一种信息处理方法、装置及系统 | |
CN102567037B (zh) | 实现桌面素材定时更新的方法 | |
CN101493817A (zh) | 开启档案的方法 | |
CN116661936A (zh) | 页面数据的处理方法、装置、计算机设备及存储介质 | |
CN108170561B (zh) | 一种容灾备份方法、装置及系统 | |
CN105338091A (zh) | 高传输效率的个性化信息界面显示方法和装置 | |
CN105242960A (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 |