CN112398700A - 一种服务降级方法及装置、存储介质、计算机设备 - Google Patents

一种服务降级方法及装置、存储介质、计算机设备 Download PDF

Info

Publication number
CN112398700A
CN112398700A CN202011415033.4A CN202011415033A CN112398700A CN 112398700 A CN112398700 A CN 112398700A CN 202011415033 A CN202011415033 A CN 202011415033A CN 112398700 A CN112398700 A CN 112398700A
Authority
CN
China
Prior art keywords
service
preset
application service
degradation
rule
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202011415033.4A
Other languages
English (en)
Other versions
CN112398700B (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.)
Ping An Puhui Enterprise Management Co Ltd
Original Assignee
Ping An Puhui Enterprise Management 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 Ping An Puhui Enterprise Management Co Ltd filed Critical Ping An Puhui Enterprise Management Co Ltd
Priority to CN202011415033.4A priority Critical patent/CN112398700B/zh
Publication of CN112398700A publication Critical patent/CN112398700A/zh
Application granted granted Critical
Publication of CN112398700B publication Critical patent/CN112398700B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5019Ensuring fulfilment of SLA
    • H04L41/5025Ensuring fulfilment of SLA by proactively reacting to service quality change, e.g. by reconfiguration after service quality degradation or upgrade
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5009Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/101Server selection for load balancing based on network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供了一种服务降级方法及装置、存储介质、计算机设备,其中,该方法包括:获取针对至少一个预设应用服务的目标请求数据;基于目标请求数据读取预设应用服务的状态参数,将状态参数输入预先建立的智能分析模型;通过智能分析模型基于状态参数判断预设应用服务是否具备预设的服务降级条件;若预设应用服务具备预设的服务降级条件,则匹配降级规则,利用降级规则对预设应用服务进行降级。通过本发明,可以智能动态实现服务降级,相较于传统的降级方案可以更加系统化管理降级策略,且时效性更高。

Description

一种服务降级方法及装置、存储介质、计算机设备
技术领域
本发明涉及网络应用性能分析技术领域,特别是一种服务降级方法及装置、存储介质、计算机设备。
背景技术
随着互联网技术的不断发展,业务服务类型也越来越多,而不同的业务进行数据访问时,多以分层结构的访问链路实现,该访问链路可以包括流量入口、应用层以及后端的资源层。其中,流量入口可能会有4层负载均衡、7层负载均衡或其他数量的多层的负载均衡。当流量达到应用层之后,则根据并不同的业务场景的请求对第三方服务或是对缓存、数据库、队列等资源的访问。
当服务器压力剧增的情况下,多采用降级的方式释放服务器资源以保证核心任务的正常运行。服务降级,是利用有限资源,保障服务系统核心功能高可用的架构方法。但是,传统的降级方案多为根据当前业务情况及流量对一些服务和页面有策略的降级。不仅无法实现智能动态、时效性较慢,而且无法通过系统管理,调度配置复杂。
发明内容
鉴于上述问题,本发明提出了一种服务降级方法及装置、存储介质、计算机设备,通过智能检测服务状态参数控制服务降级,能够实现降级策略动态变化以及自动生成,无需人工编程、配置,大大减少了人为因素带来的各种误差,还可以实现系统化管理降级策略,提高了操作灵活性和扩展性,且更具时效性。
依据本发明第一方面,提供了一种服务降级方法,包括:获取针对至少一个预设应用服务的目标请求数据;基于所述目标请求数据读取所述预设应用服务的状态参数,将所述状态参数输入预先建立的智能分析模型;通过所述智能分析模型基于所述状态参数判断所述预设应用服务是否具备预设的服务降级条件;若所述预设应用服务具备预设的服务降级条件,则匹配降级规则,利用所述降级规则对所述预设应用服务进行降级。
可选地,所述获取针对至少一个预设应用服务的目标请求数据,包括:基于预设时间滑动窗口采集应用服务请求数据,基于所述应用服务请求数据选取针对至少一个预设应用服务的目标请求数据。
可选地,所述基于预设时间滑动窗口采集应用服务请求数据,包括:根据当前所处时间段设定第一预设时间滑动窗口,以所述第一预设时间滑动窗口为采集周期,采集应用服务请求数据;和/或,获取当前应用服务请求量,根据所述当前应用服务请求量设定第二预设时间滑动窗口,以所述第二预设时间滑动窗口为采集周期,采集应用服务请求数据。
可选地,所述通过所述智能分析模型基于所述状态参数判断所述预设应用服务是否具备预设的服务降级条件包括:通过所述智能分析模型根据所述状态参数识别出所述预设应用服务在不同服务维度的状态参数,基于所述不同服务维度的状态参数在预设的多种预设检测算法中选取目标检测算法;根据所述目标检测算法计算状态参数中的异常参数,基于所述异常参数判断所述预设应用服务是否具备预设的服务降级条件。
可选地,所述不同服务维度的状态参数包括但不限于:响应时间、并发量、连接数、流量、后端错误数量的95值、中位数。
可选地,所述预设检测算法包括但不限于:基于曲线拟合的指数加权移动平均算法、基于时间序列检测算法、孤立森林算法、基于高斯分布的异常检测算法。
可选地,所述匹配降级规则,利用所述降级规则对所述预设应用服务进行降级包括:利用智能分析模型识别异常参数所属的服务维度,并基于所述异常参数所属的服务维度匹配降级规则后,将所述降级规则同步到规则缓存服务器中;从规则缓存服务器调取服务降级规则,利用所述降级规则对所述预设应用服务进行降级。
依据本发明第二方面,提供了一种服务降级装置,包括:
获取模块,用于获取针对至少一个预设应用服务的目标请求数据;
输入模块,用于基于所述目标请求数据读取所述预设应用服务的状态参数,将所述状态参数输入预先建立的智能分析模型;
分析模块,用于通过所述智能分析模型基于所述状态参数判断所述预设应用服务是否具备预设的服务降级条件;
降级模块,用于当判断所述预设应用服务具备预设的服务降级条件时,则匹配降级规则,利用所述降级规则对所述预设应用服务进行降级。
依据本发明第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一方面中任一项所述的服务降级方法的步骤。
依据本发明第四方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述第一方面中任一项所述的服务降级方法的步骤。
本发明提供的一种服务降级方法及装置、存储介质、计算机设备,通过应用状态采集器对后台应用状态做实时采集处理,并将汇聚数据传入给智能分析模块进行分析,智能分析模块对数据自动建模,并通过算法来对应用性能进行分析,判断给出应用当前情况是否需要降级,并根据性能情况选择指定的降级策略,利用指定的降级策略对应用服务进行降级,从而实现数据请求的负载均衡。另外,本发明提供的方案中可实现降级策略动态变化以及自动生成,无需人工编程、配置,大大减少了人为因素带来的各种误差,还可以实现系统化管理降级策略,提高了操作灵活性和扩展性,且更具时效性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明一实施例提供的服务降级方法的流程示意图;
图2示出了本发明另一实施例提供的服务降级方法的流程示意图;
图3示出了本发明一实施例提供的服务降级装置的结构示意图;
图4示出了本发明另一实施例提供的服务降级装置的结构示意图;
图5示出了本发明实施例提供的一种计算机设备的实体结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明实施例提供了一种服务降级方法,如图1所示,该方法至少可以包括以下步骤S101~S104:
步骤S101,获取针对至少一个预设应用服务的目标请求数据。
其中,应用服务为各种让公共用户或者私人用户使用的服务,例如,应用服务可以包括数据查询服务、登录服务等,应用服务请求为请求获取目标应用服务的请求。
可选地,获取目标请求数据时,可以先基于预设时间滑动窗口采集应用服务请求数据,再从应用服务请求数据中选取针对至少一个预设应用服务的目标请求数据。实际应用中,可在外部网关采集应用服务请求数据,例如,可进一步可以采用accept-mutex技术采集应用服务请求数据。也就是说,实际应用中,可以设置多个worker进程用于进行应用服务请求的处理,master用于实现应用服务请求的分配,当master接收到任一应用服务请求时,各个worker可以向master竞争“clock”(锁),即发起该应用服务请求的处理请求,master可以根据各个worker的实际处理效率来为应用服务请求分配目标worker,为目标worker分配clock标签。其他进程结合timer_solution配置的最大的超时时间,再去获取监听锁。本发明实施例中通过采用accept-mutex技术,可以实现数据请求负载均衡,提升了整个系统的性能。
其中,滑动窗口指的是采集的周期,一个滑动窗口就是指一个采集的周期。滑动窗口(周期)的选择是根据服务的负载来确定的,其可以动态确定也可以是预先设置的固定值。在本发明可选实施例中,基于预设时间滑动窗口采集应用服务请求数据时,可以根据当前所处时间段设定第一预设时间滑动窗口,以第一预设时间滑动窗口采集应用服务请求数据。例如,在凌晨0点到6点采集应用服务请求数据时,可以以1小时作为一个窗口单位;在21点到0点采集应用服务请求数据时,可以以5分钟作为一个窗口单位。由此通过不同时间段请求量大小设置时间滑动窗口跨度,实现适应性调整,满足不同时间段采集量需求。
在本发明另一可选实施例中,基于预设时间滑动窗口采集应用服务请求数据时,还可以先获取当前应用服务请求量,将当前应用服务请求量与预设阈值相比较后,根据比较结果设定第二预设时间滑动窗口,以第二预设时间滑动窗口采集应用服务请求数据,即根据当前请求量来动态确定窗口单位。例如,当当前应用服务请求量高于预设最高阈值时,将当前应用服务请求并发量确定为高并发,高并发时窗口周期为1分钟;当当前应用服务请求量低于预设最低阈值时,将当前应用服务请求并发量确定为低并发,低并发时窗口周期为1小时。由此通过时间滑动窗口动态选择,实现自适应性调整,使应用服务请求数据采集更加灵活高效,数据统计更加精确。
实际应用中,时间滑动窗口也可以根据不同的应用场景或是不同的需求进行设置,本发明实施例对此不做限定。
步骤S102,读取预设应用服务的状态参数,将上述状态参数输入预先建立的智能分析模型。
其中,应用服务的状态参数包括不同服务维度的状态参数,可选地,服务维度包括但不限于:响应时间,指用户发出请求或者指令到系统做出反应的时间;并发量,系统同时能处理的请求数量;连接数,指当用户访问网站时,占用至少一个连接,根据程序的不同,一个用户也可能占用多个连接数;流量,指网络上传输的数据量;后端错误数量的95值、中位数,指发生后端服务错误(例如,服务所请求的后端系统或数据库不可用)数量的95分位值、中位数。在实际应用中,除了上述例举之外还可以包括其他维度的状态参数,本发明实施例对此不做限定。
步骤S103,通过智能分析模型基于状态参数判断预设应用服务是否具备预设的服务降级条件。
其中,智能分析模型可以是一种神经网络模型,智能分析模型为预先训练至收敛状态的用于根据应用服务的状态参数输出是否对应用服务降级的模型,并且在确认应用服务具备降级条件时,同时输出与状态参数匹配的降级规则。
在本发明实施例中,可以先构建智能分析模型,具体可以采用智能分析模型进行后续分析运用。智能分析模型可以包括用于智能分析的神经网络,诸如CNN(ConvolutionalNeural Network,卷积神经网络)、VGG(Visual Geometry Group Network,深层卷积神经网络)或是其他神经网络等构建生成智能分析模型。
构建生成智能分析模型之后,对智能分析模型进行训练时,可以预先批量采集各应用服务在正常情况和异常情况下的服务请求数据以及对应的检测算法和/或与各种类型的异常数据对应的服务降级匹配规则作为初始数据集,并对初始数据集中的数据进行特征选择和数据预处理,生成训练智能分析模型的训练集和验证集。
进一步地,可以基于数据集对数据样本进行智能分析模型的训练,具体包括:将正常或异常状态下的服务请求数据作为输入数据,检测算法作为输出数据对智能分析模型进行训练,或将异常状态下的服务请求数据作为输入数据,降级匹配规则作为输出数据对智能分析模型进行训练,并利用验证集中的数据样本进行验证。在智能分析模型满足平均准确率要求后导出智能分析模型,即为训练完成的可用于后续检测的智能分析模型。
进一步地,智能分析模型在判断预设应用服务是否具备预设的服务降级条件时,可以在预设的多种预设检测算法中确定目标检测算法,并利用目标检测算法计算状态参数中的异常参数,进而根据异常参数判断预设的应用服务是否具备预设的服务降级条件。
可选地,预设检测算法包括以下至少之一:
1)基于曲线拟合的EWMA(指数加权移动平均)算法
EWMA算法可以理解为对观察值分别给予不同的权数,按不同权数求得移动平均值,并以最后的移动平均值为基础,确定预测值的方法。采用加权移动平均法,是因为观察期的近期观察值对预测值有较大影响,它更能反映近期变化的趋势。该算法用于对突发异常的检测,用于检测时间较短的突发异常点。
采用EWMA算法计算异常数据时,可以对应用服务请求数据进行统计分组,计算每个分组中所有数据值的平均值,然后根据这些平均值得出指数加权移动平均值,默认情况下,使用合并标准差估计过程标准差s,还可以根据子组极差或子组标准差的平均值进行估计,或输入s的历史值,通过差值s得出指标异常上限及下限阈值,其中,一个应用服务维度通过EWMA算法得出一个指标异常阈值,待检测的数据点通过与相应的应用服务维度指标异常阈值相比较,从而判断是否为异常数据。
2)基于时间序列检测算法(三次指数平滑)
此算法属于季节性周期异常检测算法,反应采样点的季节性及周期性,可以确保出现重大故障一定能够及时发现。
基于时间序列检测算法指在指定周期内,以某种指标的本期实际数和本期预测数为基础,引入一个简化的加权因子,即平滑系数,以求得平均数的一种时间序列预测法。即对离预测期较近的历史数据给予较大的权数,权数由近到远按指数规律递减的一种特殊的加权平均法。实际数据的时间序列能够展示研究对象在一定时期内的发展变化趋势与规律,因而可以从时间序列中找出变量变化的特征、趋势以及发展规律,从而对变量的未来变化进行有效地预测,其中,根据不同应用服务维度在时间序列中找出数据变化的特征、趋势以及发展规律,进行数据相对应各自服务维度是否异常的预测。
3)孤立森林(Isolation Forest)算法
在孤立森林(iForest)中,异常被定义为“容易被孤立的离群点(more likely tobe separated)”,可以将其理解为分布稀疏且离密度高的群体较远的点。在特征空间里,分布稀疏的区域表示事件发生在该区域的概率很低,因而可以认为落在这些区域里的数据是异常的。孤立森林是一种适用于连续数据(Continuous numerical data)的无监督异常检测方法,即不需要有标记的样本来训练,但特征需要是连续的。
上文提及,可以从应用服务请求数据中提取出不同服务维度的状态参数,可选地,各个服务维度可以作为多维空间的各个空间维度,各状态参数可以作为多维空间中的一个数据点。
利用孤立森林算法计算差异数据时,可以用一个随机超平面对一个数据空间进行切割,切一次可以生成两个子空间,继续随机选取超平面,来切割第一步得到的两个子空间,以此循环下去,直到每个子空间里面只包含一个数据点为止。直观上来看,那些密度很高的簇要被切很多次才会停止切割,即每个点都单独存在于一个子空间内,但那些分布稀疏的点,大都很早就停到一个子空间内了,本方案中,应用服务请求数据即为数据空间,异常数据即为很早停留到子空间的数据点,通过孤立森林算法找出很早停留到子空间的数据点,也就得到异常数据。
4)基于高斯分布的异常检测算法
基于高斯分布的异常检测算法可以理解为根据不同应用服务维度中应用服务请求数据的训练样本从先验分布转到后验分布,对核函数的超参数进行推理,预测输出具有清晰的概率解释,将后验概率的均值、后验概率的方差以及后验概率作为异常检测的评价指标,并获得相应的应用服务维度的评价指标阈值,通过待检测的数据点与相应应用服务维度的评价指标阈值相比较,从而判断数据点是否为异常数据。
其算法的核心思想是:给定一个m*n维训练集,将训练集转换为n为的高斯分布,通过对m个训练样例的分布分析,得出训练集的概率密度函数,即得出训练集在各个维度上的数学期望μ和方差σ^2,并且利用少量的Cross Validation集来确定一个阈值ε。当给定一个新的点,我们根据其在高斯分布上算出的概率,及阈值ε,判断当p<ε判定为异常,当p>ε判定为非异常。
采用上述任意一种算法均能够计算出预设应用服务的状态参数中的异常点数值,即异常参数,从而将异常参数确定为预设应用服务是否具备预设的服务降级条件的判断依据,换言之,当智能分析模型利用目标检测算法计算出状态参数中的异常参数时,说明预设的应用服务具备预设的服务降级条件;当目标检测算法未计算出异常参数时,说明预设的应用服务不具备预设的服务降级条件,无需进行降级操作。
另外,在选取目标检测算法时,可以根据服务维度指定各类检测算法的优先级,例如,应用服务响应慢,周期性检测算法的优先级一般都会高于突发性检测算法;出现流量异常,突发性检测算法的优先级会高于周期性检测算法。
步骤S104,若预设应用服务具备预设的服务降级条件,则匹配降级规则,利用降级规则对预设应用服务进行降级。
其中,当预设应用服务具备预设的服务降级条件时,利用智能分析模型匹配降级规则,智能分析模型可以对异常参数所属的服务维度进行分析,根据异常参数所属的服务维度匹配相对应的降级规则。例如,异常参数所属维度为登陆服务并发量,即针对登录服务的请求并发量过高,此时所匹配的降级规则可以是对登陆服务进行降级,把牵涉到登陆服务的后端进行降级限制访问并发,超过并发量则显示服务过载,不用影响查询服务;或者,异常参数所属维度为登陆服务性能,即针对登录服务的性能下降,增加每个用户登陆的等待时间,减少后端服务的并发处理。
在实际应用中,服务降级规则也可以根据不同的应用场景或是不同的需求进行设置,本发明实施例对此不做限定。
本发明提出的一种服务降级方法,通过获取针对至少一个预设应用服务的目标请求数据,基于目标请求数据读取预设应用服务的状态参数,将状态参数输入预先建立的智能分析模型,根据智能分析模型基于状态参数判断预设应用服务是否具备预设的服务降级条件,若预设应用服务具备预设的服务降级条件,则再根据智能分析模型匹配降级规则,利用降级规则对预设应用服务进行降级,可以实现对目标请求数据的精确统计,降级策略的动态变化,并自动进行对应的服务降级处理,更加智能高效,节省人力,且大大减少了人为因素带来的各种误差,提高了服务降级灵活性。
进一步的,为了更好的说明上述服务降级方法,作为对上述实施例的细化和扩展,本发明实施例提供了另一种服务降级方法,如图2所示,但不限于此,具体如下所示:
步骤S201,通过预设时间滑动窗口采集服务请求数据,基于应用服务请求数据选取针对至少一个预设应用服务的目标请求数据。
可选地,可在外部网关获取应用服务请求,进一步可以采用accept-mutex技术获取目标请求数据。
其中,时间滑动窗口可以动态设定也可以为一固定值,举例来讲,若时间滑动窗口为一固定值,可以根据当前所处时间段设定第一预设时间滑动窗口,以第一预设时间滑动窗口采集目标请求数据。比如固定凌晨0点到6点,以1小时作为窗口单位,21点到0点以5分钟作为一个窗口单位。
若时间滑动窗口为动态设定,可以先获取当前应用服务请求量,根据当前应用服务请求量设定第二预设时间滑动窗口,以第二预设时间滑动窗口为采集周期,采集目标请求数据。例如,可以将当前应用服务请求量与不同的预设阈值进行比较,若当前应用服务请求量在高并发量的第一预设阈值区间,则设定第二预设时间滑动窗口为与第一预设阈值区间匹配的滑动窗口,以该滑动窗口采集目标请求数据;再例如,若当前应用服务请求量在低并发量的第二预设阈值区间,则设定第二预设时间滑动窗口为与第二预设阈值区间匹配的滑动窗口,以该滑动窗口采集目标请求数据。比如高并发时窗口周期为1分钟,低并发时窗口周期设置为1小时。
上述仅示意性介绍了在动态和静态情况下的时间滑动窗口的设定方法,实际应用中,可以根据不同的应用场景以及不同的需求设置时间滑动窗口的大小,本发明对此不做限定。
另外,预设应用服务可以包括数据查询服务、登录服务、文件传输等等。
步骤S202,根据目标请求数据读取预设应用服务的不同服务维度状态参数,将状态参数输入预先建立的智能分析模型。
可选地,服务维度包括但不限于响应时间,并发量、连接数、流量、后端错误数量的95值、中位数。在实际应用中,除了上述例举之外还可以包括其他维度的状态参数,本发明实施例对此不做限定。
步骤S203,智能分析模型在预设的多种预设检测算法中确定目标检测算法,利用目标检测算法计算状态参数中的异常参数,根据异常参数判断预设应用服务是否具备预设的服务降级条件。
其中,智能分析模型是一种神经网络模型,智能分析模型为预先训练至收敛状态的用于根据应用服务的状态参数输出是否对应用服务降级的模型,并且在确认应用服务具备降级条件时,同时匹配与状态参数相应的降级规则,将匹配的降级规则同步到规则缓存服务中,基于规则缓存服务器调取服务降级规则。
可选地,预设检测算法包括但不限于:基于曲线拟合的EWMA(指数加权移动平均)算法、基于时间序列检测算法(三次指数平滑)、孤立森林(Isolation Forest)算法、基于高斯分布的异常检测算法。
若上述目标检测算法能够计算出应用历史性能异常参数,则说明预设的应用服务具备预设的服务降级条件;若目标检测算法未计算出异常参数,说明预设的应用服务不具备预设的服务降级条件,无需进行降级操作。
另外,在选取目标检测算法时,可以根据服务维度指定各类检测算法的优先级。
步骤S204,若预设应用服务具备预设的服务降级条件,则匹配降级规则,将匹配的降级规则同步到规则缓存服务中,基于规则缓存服务器调取服务降级规则,利用调取的降级规则对预设应用服务进行降级。
智能分析模型匹配降级规则时,可以根据异常参数所属的服务维度分析出各类服务应用请求的降级规则。例如,登陆服务需要降级,则只要把牵涉到登陆服务的后端进行降级限制访问并发,超过并发则显示服务过载,不用影响查询服务;或者登陆只是性能下降了,只要增加每个用户的等待时间的规则,减少后端服务的并发处理。
可选地,在匹配降级规则之后,通过智能分析模型将匹配的降级规则同步到规则缓存服务中,进而从规则缓存服务器调取服务降级规则,利用调取的降级规则对预设应用服务进行降级。
本发明实施例提供的服务降级方法,通过预设时间滑动窗口采集服务请求数据,基于目标请求数据选取针对至少一个预设应用服务的目标请求数据,读取预设应用服务的不同服务维度状态参数,将状态参数输入预先建立的智能分析模型,利用智能分析模型在预设的多种预设检测算法中确定目标检测算法,利用目标检测算法计算状态参数中的异常参数,根据异常参数判断预设应用服务是否具备预设的服务降级条件,若预设应用服务具备预设的服务降级条件,则匹配降级规则,将匹配的降级规则同步到规则缓存服务中,基于规则缓存服务器调取服务降级规则,利用调取的降级规则对预设应用服务进行降级,可以实现降级策略的系统化管理,后续对于获取到与服务状态数据相似度较高的新服务状态数据时可采用规则缓存服务器存储的服务降级规则,减少数据分析时间,提升服务效率。
进一步地,作为图1的具体实现,本发明实施例提供了一种服务降级装置,如图3所示,该装置可以包括:获取模块310、输入模块320、分析模块330和降级模块340。
获取模块310,可以用于获取针对至少一个预设应用服务的目标请求数据。
输入模块320,可以用于基于目标请求数据读取预设应用服务的状态参数,将状态参数输入预先建立的智能分析模型。
分析模块330,可以用于通过智能分析模型基于状态参数判断预设应用服务是否具备预设的服务降级条件。
降级模块340,可以用于通过智能分析模型匹配降级规则,并利用降级规则对预设应用服务进行降级。
在本发明一可选实施例中,获取模块310,还可以用于基于预设时间滑动窗口采集应用服务请求数据,基于目标请求数据选取针对至少一个预设应用服务的目标请求数据。
在本发明一可选实施例中,获取模块310,还可以用于根据当前所处时间段设定第一预设时间滑动窗口,以第一预设时间滑动窗口为采集周期,采集应用服务请求数据;和/或,
获取当前应用服务请求量,根据当前应用服务请求量设定第二预设时间滑动窗口,以第二预设时间滑动窗口为采集周期,采集应用服务请求数据。
在本发明一可选实施例中,如图4所示,输入模块320可以包括:读取单元321和输入单元322。
读取单元321,具体可以用于读取预设应用服务的不同服务维度状态参数。其中,不同服务维度的状态参数,包括但不限于:响应时间、并发量、连接数、流量、后端错误数量的95值、中位数。
输入单元322,可以用于将状态参数输入预先建立的智能分析模型。
在本发明一可选实施例中,如图4所示,分析模块330可以包括:分析单元331和输出单元332。
分析单元331,具体可以用于利用智能分析模型在预设的多种预设检测算法中选取目标检测算法,并利用目标检测算法计算状态信息中的异常参数,根据参数数据判断预设应用服务是否具备预设的服务降级条件。其中,预设检测算法包括但不限于:基于曲线拟合的EWMA(指数加权移动平均)算法、基于时间序列检测算法(三次指数平滑)、孤立森林(Isolation Forest)算法、基于高斯分布的异常检测算法。
输出单元332,可以用于输出预设应用服务是否具备预设的服务降级条件的结果。
在本发明一可选实施例中,如图4所示,降级模块340可以包括:匹配单元341和降级单元342。
匹配单元341,可以用于利用智能分析模型识别异常参数所属的服务维度,并基于异常参数所属的服务维度匹配降级规则。
降级单元342,可以用于根据降级规则对预设应用服务进行降级。
在本发明一可选实施例中,如图4所示,在具体应用场景中,降级模块340还可以包括:同步单元343。
同步单元343,可以用于利用智能分析模型识别异常参数所属的服务维度,并基于异常参数所属的服务维度匹配降级规则,并将根据智能分析模型匹配的降级规则同步到规则缓存服务器中,基于规则缓存服务器调取服务降级规则。
降级单元342,还可以用于根据从规则缓存服务器调取的降级规则对预设应用服务进行降级。
需要说明的是,本发明实施例提供的一种服务降级装置所涉及各功能模块的其他相应描述,可以参考图1所示方法的对应描述,在此不再赘述。
基于上述如图1~2所示方法,相应的,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任一实施例所述的服务降级方法的步骤。
基于上述如图1所示方法和如图3所示服务降级装置的实施例,本发明实施例还提供了一种计算机设备的实体结构图,如图5所示,该设备包括:处理器410、存储器420、及存储在存储器420上并可在处理器上运行的计算机程序,其中存储器420和处理器410均设置在总线430上处理器410执行计算机程序时实现上述任一实施例所述的服务降级方法的步骤。如图5所示,该计算机设备设备还包括:总线430,被配置为耦接处理器410及存储器420。
通过本发明实施例提供的方案,在获取到预设应用服务的目标请求数据后,通过对应用请求服务对预设应用服务的状态参数进行分析以判断预设应用服务是否具备预设的服务降级条件,并且在预设应用服务具备预设的服务降级条件的情况下,匹配降级规则,以利用降级规则对预设应用服务进行降级,从而实现智能动态实现服务降级,更加系统化管理降级策略,并且使得应用服务的降级策略更具时效性。
所属领域的技术人员可以清楚地了解到,上述描述的系统、装置、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,为简洁起见,在此不另赘述。
另外,在本发明各个实施例中的各功能单元可以物理上相互独立,也可以两个或两个以上功能单元集成在一起,还可以全部功能单元都集成在一个处理单元中。上述集成的功能单元既可以采用硬件的形式实现,也可以采用软件或者固件的形式实现。
本领域普通技术人员可以理解:所述集成的功能单元如果以软件的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,其包括若干指令,用以使得一台计算设备(例如个人计算机,服务器,或者网络设备等)在运行所述指令时执行本发明各实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM)、随机存取存储器(RAM),磁碟或者光盘等各种可以存储程序代码的介质。
或者,实现前述方法实施例的全部或部分步骤可以通过程序指令相关的硬件(诸如个人计算机,服务器,或者网络设备等的计算设备)来完成,所述程序指令可以存储于一计算机可读取存储介质中,当所述程序指令被计算设备的处理器执行时,所述计算设备执行本发明各实施例所述方法的全部或部分步骤。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:在本发明的精神和原则之内,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案脱离本发明的保护范围。

Claims (10)

1.一种服务降级方法,其特征在于,包括:
获取针对至少一个预设应用服务的目标请求数据;
基于所述目标请求数据读取所述预设应用服务的状态参数,将所述状态参数输入预先建立的智能分析模型;
通过所述智能分析模型基于所述状态参数判断所述预设应用服务是否具备预设的服务降级条件;
若所述预设应用服务具备预设的服务降级条件,则匹配降级规则,利用所述降级规则对所述预设应用服务进行降级。
2.根据权利要求1所述的方法,其特征在于,所述获取针对至少一个预设应用服务的目标请求数据,包括:
基于预设时间滑动窗口采集应用服务请求数据,基于所述目标请求数据选取针对至少一个预设应用服务的目标请求数据。
3.根据权利要求2所述的方法,其特征在于,所述基于预设时间滑动窗口采集应用服务请求数据,包括:
根据当前所处时间段设定第一预设时间滑动窗口,以所述第一预设时间滑动窗口为采集周期,采集应用服务请求数据;和/或,
获取当前应用服务请求量,根据所述当前应用服务请求量设定第二预设时间滑动窗口,以所述第二预设时间滑动窗口为采集周期,采集应用服务请求数据。
4.根据权利要求1所述的方法,其特征在于,所述通过所述智能分析模型基于所述状态参数判断所述预设应用服务是否具备预设的服务降级条件,包括:
通过所述智能分析模型根据所述状态参数识别出所述预设应用服务在不同服务维度的状态参数,
基于所述不同服务维度的状态参数在预设的多种预设检测算法中选取目标检测算法;
根据所述目标检测算法计算状态参数中的异常参数,基于所述异常参数判断所述预设应用服务是否具备预设的服务降级条件。
5.根据权利要求4所述的方法,其特征在于,所述不同服务维度的状态参数,包括但不限于:响应时间、并发量、连接数、流量、后端错误数量的95值、中位数。
6.根据权利要求4所述的方法,其特征在于,所述预设检测算法包括但不限于:基于曲线拟合的指数加权移动平均算法、基于时间序列检测算法、孤立森林算法、基于高斯分布的异常检测算法。
7.根据权利要求1所述的方法,其特征在于,所述匹配降级规则,利用所述降级规则对所述预设应用服务进行降级,包括:
利用智能分析模型识别异常参数所属的服务维度,并基于所述异常参数所属的服务维度匹配降级规则后,将所述降级规则同步到规则缓存服务器中;
从规则缓存服务器调取服务降级规则,利用所述降级规则对所述预设应用服务进行降级。
8.一种服务降级装置,其特征在于,包括:
获取模块,用于获取针对至少一个预设应用服务的目标请求数据;
输入模块,用于基于所述目标请求数据读取所述预设应用服务的状态参数,将所述状态参数输入预先建立的智能分析模型;
分析模块,用于通过所述智能分析模型基于所述状态参数判断所述预设应用服务是否具备预设的服务降级条件;
降级模块,用于当判断所述预设应用服务具备预设的服务降级条件时,匹配降级规则,利用所述降级规则对所述预设应用服务进行降级。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的服务降级方法的步骤。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的服务降级方法的步骤。
CN202011415033.4A 2020-12-07 2020-12-07 一种服务降级方法及装置、存储介质、计算机设备 Active CN112398700B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011415033.4A CN112398700B (zh) 2020-12-07 2020-12-07 一种服务降级方法及装置、存储介质、计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011415033.4A CN112398700B (zh) 2020-12-07 2020-12-07 一种服务降级方法及装置、存储介质、计算机设备

Publications (2)

Publication Number Publication Date
CN112398700A true CN112398700A (zh) 2021-02-23
CN112398700B CN112398700B (zh) 2024-04-05

Family

ID=74604388

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011415033.4A Active CN112398700B (zh) 2020-12-07 2020-12-07 一种服务降级方法及装置、存储介质、计算机设备

Country Status (1)

Country Link
CN (1) CN112398700B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113282569A (zh) * 2021-05-06 2021-08-20 南京苏宁软件技术有限公司 面向数据应用的系统架构、设计方法以及数据查询方法
CN113282392A (zh) * 2021-05-24 2021-08-20 挂号网(杭州)科技有限公司 接口服务的调用方法、装置、电子设备及存储介质
CN116957807A (zh) * 2023-09-21 2023-10-27 成都天用唯勤科技股份有限公司 一种高并发多维度分布式交易系统用交易降级方法及系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120246638A1 (en) * 2011-03-22 2012-09-27 International Business Machines Corporation Forecasting based service assignment in cloud computing
US20140012938A1 (en) * 2012-07-09 2014-01-09 University Of Southern California Preventing race condition from causing stale data items in cache
CN107592219A (zh) * 2017-09-04 2018-01-16 北京潘达互娱科技有限公司 服务降级处理方法及装置
CN108427581A (zh) * 2018-02-07 2018-08-21 平安普惠企业管理有限公司 系统微服务化方法及终端设备
CN109144835A (zh) * 2018-08-02 2019-01-04 广东浪潮大数据研究有限公司 一种应用服务故障的自动预测方法、装置、设备及介质
EP3667498A1 (en) * 2018-12-13 2020-06-17 Sap Se Amplifying scaling elasticity of microservice meshes
CN111949428A (zh) * 2020-08-07 2020-11-17 平安科技(深圳)有限公司 提高小程序服务可用性的方法、装置、设备和存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120246638A1 (en) * 2011-03-22 2012-09-27 International Business Machines Corporation Forecasting based service assignment in cloud computing
US20140012938A1 (en) * 2012-07-09 2014-01-09 University Of Southern California Preventing race condition from causing stale data items in cache
CN107592219A (zh) * 2017-09-04 2018-01-16 北京潘达互娱科技有限公司 服务降级处理方法及装置
CN108427581A (zh) * 2018-02-07 2018-08-21 平安普惠企业管理有限公司 系统微服务化方法及终端设备
CN109144835A (zh) * 2018-08-02 2019-01-04 广东浪潮大数据研究有限公司 一种应用服务故障的自动预测方法、装置、设备及介质
EP3667498A1 (en) * 2018-12-13 2020-06-17 Sap Se Amplifying scaling elasticity of microservice meshes
CN111949428A (zh) * 2020-08-07 2020-11-17 平安科技(深圳)有限公司 提高小程序服务可用性的方法、装置、设备和存储介质

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113282569A (zh) * 2021-05-06 2021-08-20 南京苏宁软件技术有限公司 面向数据应用的系统架构、设计方法以及数据查询方法
CN113282569B (zh) * 2021-05-06 2022-11-11 南京苏宁软件技术有限公司 面向数据应用的系统架构、设计方法以及数据查询方法
CN113282392A (zh) * 2021-05-24 2021-08-20 挂号网(杭州)科技有限公司 接口服务的调用方法、装置、电子设备及存储介质
CN116957807A (zh) * 2023-09-21 2023-10-27 成都天用唯勤科技股份有限公司 一种高并发多维度分布式交易系统用交易降级方法及系统
CN116957807B (zh) * 2023-09-21 2023-12-08 成都天用唯勤科技股份有限公司 一种高并发多维度分布式交易系统用交易降级方法及系统

Also Published As

Publication number Publication date
CN112398700B (zh) 2024-04-05

Similar Documents

Publication Publication Date Title
CN112398700B (zh) 一种服务降级方法及装置、存储介质、计算机设备
CN110417591B (zh) 投票节点配置方法及系统
CN110413227B (zh) 一种硬盘设备的剩余使用寿命在线预测方法和系统
CN112685170B (zh) 备份策略的动态优化
US20160055044A1 (en) Fault analysis method, fault analysis system, and storage medium
CN111385142B (zh) 基于Kubernetes的自适应伸缩web容器的方法
US11381635B2 (en) Method of operating a server apparatus for delivering website content, server apparatus and device in communication with server apparatus
CN113705981A (zh) 一种基于大数据的异常监测的方法及装置
CN114500578A (zh) 分布式存储系统负载均衡调度方法、装置及存储介质
EP2245539A1 (en) System and method for estimating combined workloads of systems with uncorrelated and non-deterministic workload patterns
CN114500339A (zh) 一种节点带宽监测方法、装置、电子设备及存储介质
CN116886619A (zh) 一种基于线性回归算法的负载均衡方法及装置
CN105933138B (zh) 一种时空维度相结合的云服务可信态势评估与预测方法
CN114338351B (zh) 网络异常根因确定方法、装置、计算机设备及存储介质
CN113835947B (zh) 一种基于异常识别结果确定异常原因的方法和系统
CN112612587A (zh) 一种针对流量分析的Spark平台动态资源调配方法
CN116149848A (zh) 负载预测方法、装置、电子设备及存储介质
CN112003900B (zh) 实现分布式系统中高负载场景下服务高可用的方法、系统
CN111628901B (zh) 一种指标异常检测方法以及相关装置
Jehangiri et al. Distributed predictive performance anomaly detection for virtualised platforms
Bi et al. Adaptive prediction of resources and workloads for cloud computing systems with attention-based and hybrid LSTM
CN113949624B (zh) 链路采样数的分配方法、装置、设备及介质
CN115914052B (zh) 域名健康状况的检测方法和装置
CN115866678B (zh) 一种基于网络能耗热点探测的移动边缘缓存资源优化方法
CN117390495B (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