CN111324520A - 业务接口的监控方法、装置、电子设备及存储介质 - Google Patents
业务接口的监控方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111324520A CN111324520A CN202010153979.1A CN202010153979A CN111324520A CN 111324520 A CN111324520 A CN 111324520A CN 202010153979 A CN202010153979 A CN 202010153979A CN 111324520 A CN111324520 A CN 111324520A
- Authority
- CN
- China
- Prior art keywords
- state
- performance data
- service interface
- interface
- failure rate
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3438—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提供了一种业务接口的监控方法、装置、电子设备及存储介质。所述方法包括:当获取到当前周期内业务接口的第一性能数据之后,可以根据第一性能数据,对下一周期内业务接口的性能数据进行预测,得到第二性能数据,然后可以根据第二性能数据,以及预设的性能数据与接口的运行状态的对应关系,确定目标运行状态,进而可以根据目标运行状态,对业务接口进行控制。如此,相比于现有技术中被动地对业务接口进行控制的方式而言,本申请实施例提供的控制方法能够提前应对风险,有效避免了数据堵塞在接口处的情况,从而能够提高服务器运行速度,避免服务器崩溃情况的发生。
Description
技术领域
本申请涉及互联网技术领域,特别涉及一种业务接口的监控方法、装置、电子设备及存储介质。
背景技术
随着网络技术的飞速发展,互联网得到了快速的普及和广泛的应用,已经成为了人们工作生活中不可缺少的工具。在网络中进行通信时,服务器通常会通过业务接口接入第三方。第三方可以通过接口向服务器发起访问请求,同样,服务器也可以通过接口向第三方返回响应消息。
为了维护数据的正常访问,现有技术通常会在业务接口中设置容错组件,通过容错组件对接口的性能数据进行监测,如果监测到的性能数据超过接口负载的上限值,就对该接口的运行状态进行控制。但是,上述方法比较被动,不能提前应对风险,容易造成数据堵塞在接口处,进而造成服务器运行缓慢,甚至服务器崩溃的问题。
发明内容
本申请提供了一种业务接口的监控方法、装置、电子设备及存储介质,可用于解决在现有技术中的接口监控方法不能提前应对风险,容易造成数据堵塞在接口处,进而造型服务器运行缓慢的技术问题。
第一方面,本申请实施例提供一种业务接口的监控方法,所述方法包括:
获取当前周期内业务接口的第一性能数据,所述第一性能数据是容错组件在当前周期内对业务接口进行监测得到的;
根据所述第一性能数据,对下一周期内业务接口的性能数据进行预测,得到第二性能数据;
根据所述第二性能数据,以及预设的性能数据与接口的运行状态的对应关系,确定目标运行状态;
根据所述目标运行状态,对业务接口进行控制。
结合第一方面,在第一方面的一种可实现方式中,所述容错组件为熔断器,所述第一性能数据包括第一请求失败率;
根据所述第一性能数据,对下一周期内业务接口的性能数据进行预测,得到第二性能数据,包括:
根据所述第一请求失败率,对下一周期内业务接口的请求失败率进行预测,得到第二请求失败率。
结合第一方面,在第一方面的一种可实现方式中,所述接口的运行状态包括停止调用状态和允许调用状态;
根据所述第二性能数据,以及预设的性能数据与接口的运行状态的对应关系,确定目标运行状态,包括:
如果所述第二请求失败率大于预设阈值,则确定目标运行状态为停止调用状态;所述预设阈值小于接口负载的上限值;
如果所述第二请求失败率小于或等于预设阈值,则确定目标运行状态为允许调用状态。
结合第一方面,在第一方面的一种可实现方式中,根据所述目标运行状态,对业务接口进行控制,包括:
如果所述目标运行状态为停止调用状态,则通过将熔断器设置为打开状态对业务接口进行控制;
如果所述目标运行状态为允许调用状态,则通过将熔断器设置为关闭状态对业务接口进行控制。
结合第一方面,在第一方面的一种可实现方式中,在将熔断器设置为打开状态之后,所述方法还包括:
将熔断器设置为半打开状态,获取熔断器在预设时间段内对业务接口进行监测得到的第三请求失败率;
如果所述第三请求失败率大于预设阈值,则将熔断器重新设置为打开状态;
如果所述第三请求失败率小于或等于预设阈值,则将熔断器设置为关闭状态。
结合第一方面,在第一方面的一种可实现方式中,所述容错组件为限流器,所述第一性能数据包括第一并发量;
根据所述第一性能数据,对下一周期内业务接口的性能数据进行预测,得到第二性能数据,包括:
根据所述第一并发量,对下一周期内业务接口的并发量进行预测,得到第二并发量。
结合第一方面,在第一方面的一种可实现方式中,所述接口的运行状态还包括限流状态,所示限流状态包括多个限流等级;
根据所述第二性能数据,以及预设的性能数据与接口的运行状态的对应关系,确定目标运行状态,包括:
根据所述第二并发量,以及预设的并发量与限流等级的对应关系,确定目标限流等级。
结合第一方面,在第一方面的一种可实现方式中,根据所述目标运行状态,对业务接口进行控制,包括:
根据所述目标限流等级,确定限流器的目标限流量;
通过将限流器的限流量设置为所述目标限流量对业务接口进行控制。
第二方面,本申请实施例提供一种业务接口的监控装置,所述装置包括:
获取单元,用于获取当前周期内业务接口的第一性能数据,所述第一性能数据是容错组件在当前周期内对业务接口进行监测得到的;
处理单元,用于根据所述第一性能数据,对下一周期内业务接口的性能数据进行预测,得到第二性能数据;以及,根据所述第二性能数据,以及预设的性能数据与接口的运行状态的对应关系,确定目标运行状态;
控制单元,用于根据所述目标运行状态,对业务接口进行控制。
结合第二方面,在第二方面的一种可实现方式中,所述容错组件为熔断器,所述第一性能数据包括第一请求失败率;
所述处理单元具体用于:
根据所述第一请求失败率,对下一周期内业务接口的请求失败率进行预测,得到第二请求失败率。
结合第二方面,在第二方面的一种可实现方式中,所述接口的运行状态包括停止调用状态和允许调用状态;
所述处理单元具体用于:
如果所述第二请求失败率大于预设阈值,则确定目标运行状态为停止调用状态;所述预设阈值小于接口负载的上限值;以及,如果所述第二请求失败率小于或等于预设阈值,则确定目标运行状态为允许调用状态。
结合第二方面,在第二方面的一种可实现方式中,所述控制单元具体用于:
如果所述目标运行状态为停止调用状态,则通过将熔断器设置为打开状态对业务接口进行控制;以及,如果所述目标运行状态为允许调用状态,则通过将熔断器设置为关闭状态对业务接口进行控制。
结合第二方面,在第二方面的一种可实现方式中,所述控制单元还用于:
将熔断器设置为半打开状态,获取熔断器在预设时间段内对业务接口进行监测得到的第三请求失败率;以及,如果所述第三请求失败率大于预设阈值,则将熔断器重新设置为打开状态;以及,如果所述第三请求失败率小于或等于预设阈值,则将熔断器设置为关闭状态。
结合第二方面,在第二方面的一种可实现方式中,所述容错组件为限流器,所述第一性能数据包括第一并发量;
所述处理单元具体用于:
根据所述第一并发量,对下一周期内业务接口的并发量进行预测,得到第二并发量。
结合第二方面,在第二方面的一种可实现方式中,所述接口的运行状态还包括限流状态,所示限流状态包括多个限流等级;
所述处理单元具体用于:
根据所述第二并发量,以及预设的并发量与限流等级的对应关系,确定目标限流等级。
结合第二方面,在第二方面的一种可实现方式中,所述控制单元具体用于:
根据所述目标限流等级,确定限流器的目标限流量;
通过将限流器的限流量设置为所述目标限流量对业务接口进行控制。
第三方面,本发明实施例提供了一种电子设备,包括:
存储器,用于存储程序指令;
处理器,用于调用并执行所述存储器中的程序指令,以实现第一方面所述的业务接口的监控方法。
第四方面,本发明实施例提供了一种存储介质,所述存储介质中存储有计算机程序,当业务接口的监控装置的至少一个处理器执行所述计算机程序时,业务接口的监控装置执行第一方面所述的业务接口的监控方法。
本申请实施例中,当获取到当前周期内业务接口的第一性能数据之后,可以根据第一性能数据,对下一周期内业务接口的性能数据进行预测,得到第二性能数据,然后可以根据第二性能数据,以及预设的性能数据与接口的运行状态的对应关系,确定目标运行状态,进而可以根据目标运行状态,对业务接口进行控制。采用上述方法,可以根据当前周期内业务接口的性能数据,***下一周期内业务接口的性能数据,进而可以根据预测得到的性能数据,提前对业务接口进行控制,相比于现有技术中被动地对业务接口进行控制的方式而言,本申请实施例提供的控制方法能够提前应对风险,有效避免了数据堵塞在接口处的情况,从而能够提高服务器运行速度,避免服务器崩溃情况的发生。
附图说明
图1本申请实施例提供的一种业务接口的监控方法所对应的流程示意图;
图2为本申请实施例提供的一种业务接口的监控方法对应的整体性流程图;
图3为本申请实施例提供的另一种业务接口的监控方法对应的整体性流程图;
图4为本申请实施例提供的一种业务接口的监控的结构示意图;
图5为本发明实施例提供的电子设备硬件结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
请参考图1,其示例性示出了本申请实施例提供的一种业务接口的监控方法所对应的流程示意图。如图1所示,具体包括如下步骤:
步骤101,获取当前周期内业务接口的第一性能数据。
步骤102,根据第一性能数据,对下一周期内业务接口的性能数据进行预测,得到第二性能数据。
步骤103,根据第二性能数据,以及预设的性能数据与接口的运行状态的对应关系,确定目标运行状态。
步骤104,根据目标运行状态,对业务接口进行控制。
本申请实施例中,当获取到当前周期内业务接口的第一性能数据之后,可以根据第一性能数据,对下一周期内业务接口的性能数据进行预测,得到第二性能数据,然后可以根据第二性能数据,以及预设的性能数据与接口的运行状态的对应关系,确定目标运行状态,进而可以根据目标运行状态,对业务接口进行控制。采用上述方法,可以根据当前周期内业务接口的性能数据,***下一周期内业务接口的性能数据,进而可以根据预测得到的性能数据,提前对业务接口进行控制,相比于现有技术中被动地对业务接口进行控制的方式而言,本申请实施例提供的控制方法能够提前应对风险,有效避免了数据堵塞在接口处的情况,从而能够提高服务器运行速度,避免服务器崩溃情况的发生。
具体来说,步骤101中,第一性能数据可以是容错组件在当前周期内对业务接口进行监测得到的。
在计算机***中,容错是指在一定程度上容忍错误、故障的技术,在错误、故障发生时对***的整体性能不会产生破坏性的影响,从而起到保护***目的的技术。那么,容错组件就是用于实现上述技术的组件。
进一步地,容错组件可以是多种类型的组件,比如熔断器或限流器等。
更进一步地,本申请实施例中,容错组件可以是基于不同的容错框架设置的,容错框架可以包括Hystrix熔断框架和resilience4j容错框架等。以resilience4j容错框架为例,本申请实施例中,可以结合具体的应用场景,对resilience4j容错框架进行自主封装,并将封装后的框架应用到具体的应用场景中。具体来说,对resilience4j容错框架进行自主封装可以包括以下两个方面的内容,一方面可以通过封装,隐藏resilience4j容错框架原生的通过函数式编程的方式进行调用的实现细节,即将函数式编程调用转化为在方法上加入注解即可使用框架的方式;另一方面,可以支持基于注解和xml文件的配置,由于原生resilience4j容错框架并没有提供上述两种配置方式,一切配置都需要通过代码中方法调用的形式实现,配置很不方便,因此,通过封,可以直接在xml文件中进行容错组件配置,也可以在方法上的注解中进行配置,便于开发人员进行配置。
容错组件可以对业务接口进行监控,并周期性地获取对业务接口的性能数据。
本申请实施例中,业务接口的性能数据包括多种类型的数据,例如可以包括请求失败率、并发量和请求超时率等。
其中,请求失败率可以是指在当前周期内,请求失败的数量与请求总量的比值;并发量可以是指业务接口同时处理的请求量;请求超时率可以是指在当前周期内,请求超时的数量与请求总量的比值。
步骤102中,对下一周期内业务接口的性能数据进行预测的方式有多种,一个示例中,可以采用机器学习模型对下一周期内业务接口的性能数据进行预测。具体地,可以根据历史性能数据中第N周期的性能数据,以及历史性能数据中第N+1周期的性能数据训练机器学习模型,然后,可以采用训练好的机器学习模型进行预测。
另一个示例中,可以对历史性能数据进行线性拟合,然后可以根据拟合得到的结果下一周期内业务接口的性能数据进行预测。
需要说明的是,上述两个示例仅为示例性说明,本领域技术人员可以根据经验和实际情况选择其它方法对下一周期内业务接口的性能数据进行预测,具体不做限定。
步骤103和步骤104中,不同类型的性能数据,对应的接口的运行状态也不同,进而,对业务接口进行控制的方式也不同。
其中,接口的运行状态包括停止调用状态和允许调用状态,这两种状态通常采用熔断器控制。此外接口的允许状态还可以包括限流状态,当并发流量超过一定数量或速率时,需要对部分流量进行限制,此时接口就处于限流状态;进一步地,根据限制流量的大小,限流状态还可以包括多个限流等级。
需要说明的是,上述停止调用状态和允许调用状态一般以业务接口的请求失败率为参考依据;上述限流状态一般以业务接口的并行量为参考依据。
一种可能的实现方式中,以业务接口的性能数据为请求失败率为例,相应地,可以通过容错组件在当前周期内对业务接口进行监测,获取当前周期内业务接口的第一请求失败率,然后可以根据第一请求失败率,对下一周期内业务接口的请求失败率进行预测,得到第二请求失败率。
进而,可以判断第二请求失败率是否大于预设阈值,如果第二请求失败率大于预设阈值,则可以确定目标运行状态为停止调用状态;如果第二请求失败率小于或等于预设阈值,则可以确定目标运行状态为允许调用状态。
其中,预设阈值小于接口负载的上限值;进一步地,预设阈值可以是本领域技术人员根据经验和实际情况确定的,具体不做限定。
在确定业务接口的目标运行状态之后,可以根据该目标运行状态,对业务接口进行控制。具体地,如果目标运行状态为停止调用状态,则可以通过将熔断器设置为打开状态,实现对业务接口进行控制;如果目标运行状态为允许调用状态,则可以通过将熔断器设置为关闭状态,实现对业务接口进行控制。
进一步地,在将熔断器设置为打开状态,在预设时间长度之后,还可以将将熔断器设置为半打开状态,获取熔断器在预设时间段对业务接口进行监测得到的第三请求失败率;然后,可以判断第三请求失败率是否大于预设阈值,如果第三请求失败率大于预设阈值,则可以将熔断器重新设置为打开状态,使业务接口处于停止调用状态;如果第三请求失败率小于或等于预设阈值,则可以将熔断器设置为关闭状态,使业务接口处于允许调用状态。
为了更加清楚地描述上述根据业务接口的请求失败率,对业务接口进行控制的过程,下面结合图2,对上述过程中涉及到的流程进行整体性说明。如图2所示,其示例性示出了本申请实施例提供的一种业务接口的监控方法对应的整体性流程图,具体包括如下步骤:
步骤201,获取熔断器在当前周期内对业务接口进行监测得到的第一请求失败率。
步骤202,根据第一请求失败率,对下一周期内业务接口的请求失败率进行预测,得到第二请求失败率。
步骤203,判断第二请求失败率是否大于预设阈值,如果第二请求失败率大于预设阈值,则执行步骤204;否则,执行步骤209。
步骤204,确定目标运行状态为停止调用状态。
步骤205,将熔断器设置为打开状态。
步骤206,在预设时间长度之后,将熔断器设置为半打开状态。
步骤207,获取熔断器在预设时间段对业务接口进行监测得到的第三请求失败率。
步骤208,判断第三请求失败率是否大于预设阈值,如果第三请求失败率大于预设阈值,则返回步骤204;否则,执行步骤209。
步骤209,确定目标运行状态为允许调用状态。
步骤210,将熔断器设置为关闭状态。
采用步骤201至步骤210提供的方法,可以根据当前周期内业务接口的请求失败率,***下一周期内业务接口的请求失败率,进而可以根据预测得到的请求失败率,提前对业务接口进行控制,相比于现有技术中被动地对业务接口进行控制的方式而言,本申请实施例提供的控制方法能够提前应对风险,比如提前打开熔断器,有效避免了数据堵塞在接口处的情况,从而能够提高服务器运行速度,避免服务器崩溃情况的发生。
另一种可能的实现方式中,以业务接口的性能数据为并发量为例,相应地,可以通过容错组件在当前周期内对业务接口进行监测,获取当前周期内业务接口的第一并发量,然后可以根据第一并发量,对下一周期内业务接口的并发量进行预测,得到第二并发量。
进而,可以根据第二并发量,以及预设的并发量与限流等级的对应关系,确定目标限流等级。在确定业务接口的目标限流等级之后,可以根据该目标限流等级,确定限流器的目标限流量,然后通过将限流器的限流量设置为目标限流量,实现对业务接口进行控制。
如表1所示,为并发量与限流等级的对应关系的一种示例。其中,当并发量小于或等于1万时,不限流;当并发量大于1万且小于或等于10万时,对应的限流等级为第一等级;当并发量大于10万且小于或等于100万时,对应的限流等级为第二等级;当并发量大于100万时,对应的限流等级为第三等级。
表1:并发量与限流等级的对应关系的一种示例
并发量 | 限流等级 |
≤1万 | 不限流 |
>1万且≤10万 | 第一等级 |
>10万且≤100万 | 第二等级 |
>100万 | 第三等级 |
在表1示出的并发量与限流等级的对应关系的基础上,如表2所示,为限流等级与限流量的对应关系的一种示例。其中,当限流等级为第一等级时,对应的限流量为当前的并发量的20%,比如,并发量为2万,那么限流量为0.4万;当限流等级为第一等级时,对应的限流量为当前的并发量的40%;当限流等级为第一等级时,对应的限流量为当前的并发量的60%。
表2:限流等级与限流量的对应关系的一种示例
限流等级 | 限流量 |
第一等级 | 20% |
第二等级 | 40% |
第三等级 | 60% |
为了更加清楚地描述上述根据业务接口的并发量,对业务接口进行控制的过程,下面结合图3,对上述过程中涉及到的流程进行整体性说明。如图3所示,其示例性示出了本申请实施例提供的另一种业务接口的监控方法对应的整体性流程图,具体包括如下步骤:
步骤301,获取限流器在当前周期内对业务接口进行监测得到的第一并发量。
步骤302,根据第一并发量率,对下一周期内业务接口的并发量进行预测,得到第二并发量。
步骤303,根据第二并发量,以及预设的并发量与限流等级的对应关系,确定目标限流等级。
步骤304,根据目标限流等级,确定限流器的目标限流量。
步骤305,将限流器的限流量设置为目标限流量。
采用步骤201至步骤209提供的方法,可以根据当前周期内业务接口的并发量,***下一周期内业务接口的并发量,进而可以根据预测得到的并发量,提前对业务接口进行控制,相比于现有技术中被动地对业务接口进行控制的方式而言,本申请实施例提供的控制方法能够提前应对风险,比如提前调整限流器的限流量,有效避免了数据堵塞在接口处的情况,从而能够提高服务器运行速度,避免服务器崩溃情况的发生。
需要说明的是,上述两种实现方式仅为示例性说明,本领域技术人员还可以根据业务接口的其它类型的性能数据,对业务接口进行控制。例如,可以获取当前周期内业务请求的第一请求超时率;然后根据第一请求超时率,对下一周期内业务接口的请求超时率进行预测,得到第二请求超时率;进而,可以根据第二请求超时率,以及预设的请求超时率与接口的运行状态的对应关系,确定目标运行状态;最后,可以根据该目标运行状态,对业务接口进行控制。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
图4示例性示出了本申请实施例提供的一种业务接口的监控的结构示意图。如图4所示,该装置具有实现上述业务接口的监控方法的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以包括:获取单元401,处理单元402和控制单元403。
获取单元401,用于获取当前周期内业务接口的第一性能数据,所述第一性能数据是容错组件在当前周期内对业务接口进行监测得到的;
处理单元402,用于根据所述第一性能数据,对下一周期内业务接口的性能数据进行预测,得到第二性能数据;以及,根据所述第二性能数据,以及预设的性能数据与接口的运行状态的对应关系,确定目标运行状态;
控制单元403,用于根据所述目标运行状态,对业务接口进行控制。
可选地,所述容错组件为熔断器,所述第一性能数据包括第一请求失败率;
所述处理单元402具体用于:
根据所述第一请求失败率,对下一周期内业务接口的请求失败率进行预测,得到第二请求失败率。
可选地,所述接口的运行状态包括停止调用状态和允许调用状态;
所述处理单元402具体用于:
如果所述第二请求失败率大于预设阈值,则确定目标运行状态为停止调用状态;所述预设阈值小于接口负载的上限值;以及,如果所述第二请求失败率小于或等于预设阈值,则确定目标运行状态为允许调用状态。
可选地,所述控制单元403具体用于:
如果所述目标运行状态为停止调用状态,则通过将熔断器设置为打开状态对业务接口进行控制;以及,如果所述目标运行状态为允许调用状态,则通过将熔断器设置为关闭状态对业务接口进行控制。
可选地,所述控制单元403还用于:
将熔断器设置为半打开状态,获取熔断器在预设时间段内对业务接口进行监测得到的第三请求失败率;以及,如果所述第三请求失败率大于预设阈值,则将熔断器重新设置为打开状态;以及,如果所述第三请求失败率小于或等于预设阈值,则将熔断器设置为关闭状态。
可选地,所述容错组件为限流器,所述第一性能数据包括第一并发量;
所述处理单元402具体用于:
根据所述第一并发量,对下一周期内业务接口的并发量进行预测,得到第二并发量。
可选地,所述接口的运行状态还包括限流状态,所示限流状态包括多个限流等级;
所述处理单元402具体用于:
根据所述第二并发量,以及预设的并发量与限流等级的对应关系,确定目标限流等级。
可选地,所述控制单元403具体用于:
根据所述目标限流等级,确定限流器的目标限流量;
通过将限流器的限流量设置为所述目标限流量对业务接口进行控制。
本申请实施例中,当获取到当前周期内业务接口的第一性能数据之后,可以根据第一性能数据,对下一周期内业务接口的性能数据进行预测,得到第二性能数据,然后可以根据第二性能数据,以及预设的性能数据与接口的运行状态的对应关系,确定目标运行状态,进而可以根据目标运行状态,对业务接口进行控制。采用上述方法,可以根据当前周期内业务接口的性能数据,***下一周期内业务接口的性能数据,进而可以根据预测得到的性能数据,提前对业务接口进行控制,相比于现有技术中被动地对业务接口进行控制的方式而言,本申请实施例提供的控制方法能够提前应对风险,有效避免了数据堵塞在接口处的情况,从而能够提高服务器运行速度,避免服务器崩溃情况的发生。
图5为本发明实施例提供的电子设备硬件结构示意图。如图5所示,本发明实施例提供的电子设备包括:存储器501,用于存储程序指令;处理器502,用于调用并执行所述存储器中的程序指令,以实现上述实施例所述的业务接口的监控方法。
本实施例中,处理器502和存储器501可通过总线或其他方式连接。处理器可以是通用处理器,例如中央处理器、数字信号处理器、专用集成电路,或者被配置成实施本发明实施例的一个或多个集成电路。存储器可以包括易失性存储器,例如随机存取存储器;存储器也可以包括非易失性存储器,例如只读存储器、快闪存储器、硬盘或固态硬盘。
本发明实施例还提供了一种存储介质,所述存储介质中存储有计算机程序,当业务接口的监控装置的至少一个处理器执行所述计算机程序时,业务接口的监控装置执行上述实施例所述的业务接口的监控方法。
所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于服务构建装置和服务加载装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
以上所述的本发明实施方式并不构成对本发明保护范围的限定。
Claims (18)
1.一种业务接口的监控方法,其特征在于,所述方法包括:
获取当前周期内业务接口的第一性能数据,所述第一性能数据是容错组件在当前周期内对业务接口进行监测得到的;
根据所述第一性能数据,对下一周期内业务接口的性能数据进行预测,得到第二性能数据;
根据所述第二性能数据,以及预设的性能数据与接口的运行状态的对应关系,确定目标运行状态;
根据所述目标运行状态,对业务接口进行控制。
2.根据权利要求1所述的方法,其特征在于,所述容错组件为熔断器,所述第一性能数据包括第一请求失败率;
根据所述第一性能数据,对下一周期内业务接口的性能数据进行预测,得到第二性能数据,包括:
根据所述第一请求失败率,对下一周期内业务接口的请求失败率进行预测,得到第二请求失败率。
3.根据权利要求2所述的方法,其特征在于,所述接口的运行状态包括停止调用状态和允许调用状态;
根据所述第二性能数据,以及预设的性能数据与接口的运行状态的对应关系,确定目标运行状态,包括:
如果所述第二请求失败率大于预设阈值,则确定目标运行状态为停止调用状态;所述预设阈值小于接口负载的上限值;
如果所述第二请求失败率小于或等于预设阈值,则确定目标运行状态为允许调用状态。
4.根据权利要求3所述的方法,其特征在于,根据所述目标运行状态,对业务接口进行控制,包括:
如果所述目标运行状态为停止调用状态,则通过将熔断器设置为打开状态对业务接口进行控制;
如果所述目标运行状态为允许调用状态,则通过将熔断器设置为关闭状态对业务接口进行控制。
5.根据权利要求4所述的方法,其特征在于,在将熔断器设置为打开状态之后,所述方法还包括:
将熔断器设置为半打开状态,获取熔断器在预设时间段内对业务接口进行监测得到的第三请求失败率;
如果所述第三请求失败率大于预设阈值,则将熔断器重新设置为打开状态;
如果所述第三请求失败率小于或等于预设阈值,则将熔断器设置为关闭状态。
6.根据权利要求1所述的方法,其特征在于,所述容错组件为限流器,所述第一性能数据包括第一并发量;
根据所述第一性能数据,对下一周期内业务接口的性能数据进行预测,得到第二性能数据,包括:
根据所述第一并发量,对下一周期内业务接口的并发量进行预测,得到第二并发量。
7.根据权利要求6所述的方法,其特征在于,所述接口的运行状态还包括限流状态,所示限流状态包括多个限流等级;
根据所述第二性能数据,以及预设的性能数据与接口的运行状态的对应关系,确定目标运行状态,包括:
根据所述第二并发量,以及预设的并发量与限流等级的对应关系,确定目标限流等级。
8.根据权利要求7所述的方法,其特征在于,根据所述目标运行状态,对业务接口进行控制,包括:
根据所述目标限流等级,确定限流器的目标限流量;
通过将限流器的限流量设置为所述目标限流量对业务接口进行控制。
9.一种业务接口的监控装置,其特征在于,所述装置包括:
获取单元,用于获取当前周期内业务接口的第一性能数据,所述第一性能数据是容错组件在当前周期内对业务接口进行监测得到的;
处理单元,用于根据所述第一性能数据,对下一周期内业务接口的性能数据进行预测,得到第二性能数据;以及,根据所述第二性能数据,以及预设的性能数据与接口的运行状态的对应关系,确定目标运行状态;
控制单元,用于根据所述目标运行状态,对业务接口进行控制。
10.根据权利要求9所述的装置,其特征在于,所述容错组件为熔断器,所述第一性能数据包括第一请求失败率;
所述处理单元具体用于:
根据所述第一请求失败率,对下一周期内业务接口的请求失败率进行预测,得到第二请求失败率。
11.根据权利要求10所述的装置,其特征在于,所述接口的运行状态包括停止调用状态和允许调用状态;
所述处理单元具体用于:
如果所述第二请求失败率大于预设阈值,则确定目标运行状态为停止调用状态;所述预设阈值小于接口负载的上限值;以及,如果所述第二请求失败率小于或等于预设阈值,则确定目标运行状态为允许调用状态。
12.根据权利要求11所述的装置,其特征在于,所述控制单元具体用于:
如果所述目标运行状态为停止调用状态,则通过将熔断器设置为打开状态对业务接口进行控制;以及,如果所述目标运行状态为允许调用状态,则通过将熔断器设置为关闭状态对业务接口进行控制。
13.根据权利要求12所述的装置,其特征在于,所述控制单元还用于:
将熔断器设置为半打开状态,获取熔断器在预设时间段内对业务接口进行监测得到的第三请求失败率;以及,如果所述第三请求失败率大于预设阈值,则将熔断器重新设置为打开状态;以及,如果所述第三请求失败率小于或等于预设阈值,则将熔断器设置为关闭状态。
14.根据权利要求9所述的装置,其特征在于,所述容错组件为限流器,所述第一性能数据包括第一并发量;
所述处理单元具体用于:
根据所述第一并发量,对下一周期内业务接口的并发量进行预测,得到第二并发量。
15.根据权利要求14所述的装置,其特征在于,所述接口的运行状态还包括限流状态,所示限流状态包括多个限流等级;
所述处理单元具体用于:
根据所述第二并发量,以及预设的并发量与限流等级的对应关系,确定目标限流等级。
16.根据权利要求15所述的装置,其特征在于,所述控制单元具体用于:
根据所述目标限流等级,确定限流器的目标限流量;
通过将限流器的限流量设置为所述目标限流量对业务接口进行控制。
17.一种电子设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用并执行所述存储器中的程序指令,以实现权利要求1至8中任一项所述的业务接口的监控方法。
18.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,当业务接口的监控装置的至少一个处理器执行所述计算机程序时,业务接口的监控装置执行权利要求1至8中任一项所述的业务接口的监控方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010153979.1A CN111324520A (zh) | 2020-03-06 | 2020-03-06 | 业务接口的监控方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010153979.1A CN111324520A (zh) | 2020-03-06 | 2020-03-06 | 业务接口的监控方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111324520A true CN111324520A (zh) | 2020-06-23 |
Family
ID=71165701
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010153979.1A Pending CN111324520A (zh) | 2020-03-06 | 2020-03-06 | 业务接口的监控方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111324520A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112491735A (zh) * | 2020-11-10 | 2021-03-12 | 京东数字科技控股股份有限公司 | 一种流量控制方法、装置、设备和计算机可读存储介质 |
CN113467525A (zh) * | 2021-07-28 | 2021-10-01 | 中国银行股份有限公司 | 接口调用流量控制方法及装置 |
CN114500349A (zh) * | 2021-12-27 | 2022-05-13 | 天翼云科技有限公司 | 一种云平台混沌测试方法及装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105450472A (zh) * | 2015-12-03 | 2016-03-30 | 广州云新信息技术有限公司 | 一种自动获取服务器物理部件状态的方法及装置 |
CN107659431A (zh) * | 2017-08-15 | 2018-02-02 | 北京趣拿软件科技有限公司 | 接口处理方法、装置、存储介质和处理器 |
CN108182134A (zh) * | 2017-12-29 | 2018-06-19 | 顺丰科技有限公司 | 一种通用接口监控方法、装置及设备、存储介质 |
CN108415811A (zh) * | 2018-03-23 | 2018-08-17 | 广发证券股份有限公司 | 一种监测业务逻辑的方法及装置 |
CN108712392A (zh) * | 2018-04-25 | 2018-10-26 | 浙江长投云联信息科技有限公司 | 一种云数据管理方法及云*** |
CN109274547A (zh) * | 2018-08-17 | 2019-01-25 | 中国平安人寿保险股份有限公司 | 基于网络安全的服务熔断方法、装置、设备及存储介质 |
WO2019192103A1 (zh) * | 2018-04-03 | 2019-10-10 | 平安科技(深圳)有限公司 | 并发访问控制方法、装置、终端设备及介质 |
WO2020015061A1 (zh) * | 2018-07-18 | 2020-01-23 | 平安科技(深圳)有限公司 | WebLogic服务器的监控告警方法、装置、***及计算机存储介质 |
CN110795236A (zh) * | 2019-09-26 | 2020-02-14 | 北京大米科技有限公司 | 调整服务器容量的方法、装置、电子设备及介质 |
-
2020
- 2020-03-06 CN CN202010153979.1A patent/CN111324520A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105450472A (zh) * | 2015-12-03 | 2016-03-30 | 广州云新信息技术有限公司 | 一种自动获取服务器物理部件状态的方法及装置 |
CN107659431A (zh) * | 2017-08-15 | 2018-02-02 | 北京趣拿软件科技有限公司 | 接口处理方法、装置、存储介质和处理器 |
CN108182134A (zh) * | 2017-12-29 | 2018-06-19 | 顺丰科技有限公司 | 一种通用接口监控方法、装置及设备、存储介质 |
CN108415811A (zh) * | 2018-03-23 | 2018-08-17 | 广发证券股份有限公司 | 一种监测业务逻辑的方法及装置 |
WO2019192103A1 (zh) * | 2018-04-03 | 2019-10-10 | 平安科技(深圳)有限公司 | 并发访问控制方法、装置、终端设备及介质 |
CN108712392A (zh) * | 2018-04-25 | 2018-10-26 | 浙江长投云联信息科技有限公司 | 一种云数据管理方法及云*** |
WO2020015061A1 (zh) * | 2018-07-18 | 2020-01-23 | 平安科技(深圳)有限公司 | WebLogic服务器的监控告警方法、装置、***及计算机存储介质 |
CN109274547A (zh) * | 2018-08-17 | 2019-01-25 | 中国平安人寿保险股份有限公司 | 基于网络安全的服务熔断方法、装置、设备及存储介质 |
CN110795236A (zh) * | 2019-09-26 | 2020-02-14 | 北京大米科技有限公司 | 调整服务器容量的方法、装置、电子设备及介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112491735A (zh) * | 2020-11-10 | 2021-03-12 | 京东数字科技控股股份有限公司 | 一种流量控制方法、装置、设备和计算机可读存储介质 |
CN113467525A (zh) * | 2021-07-28 | 2021-10-01 | 中国银行股份有限公司 | 接口调用流量控制方法及装置 |
CN114500349A (zh) * | 2021-12-27 | 2022-05-13 | 天翼云科技有限公司 | 一种云平台混沌测试方法及装置 |
CN114500349B (zh) * | 2021-12-27 | 2023-08-08 | 天翼云科技有限公司 | 一种云平台混沌测试方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111324520A (zh) | 业务接口的监控方法、装置、电子设备及存储介质 | |
CN106201878B (zh) | 测试程序的执行方法和装置 | |
CN113468009B (zh) | 一种压力测试方法、装置、电子设备及存储介质 | |
CN114844768A (zh) | 信息分析方法、装置及电子设备 | |
CN114609995A (zh) | 故障控制方法、装置、***、设备、介质及产品 | |
CN114189559A (zh) | 基于Axios的接口重复请求处理方法及*** | |
CN113419950A (zh) | Ui自动化脚本的生成方法、装置、计算机设备及存储介质 | |
CN113254153A (zh) | 流程任务处理方法、装置、计算机设备和存储介质 | |
CN111400087A (zh) | 一种操作***的控制方法、终端以及存储介质 | |
CN111756594B (zh) | 压力测试的控制方法、计算机设备和计算机可读存储介质 | |
CN111400199A (zh) | 软件老化的检测方法及其装置和计算机可读存储介质 | |
CN114461437B (zh) | 一种数据处理方法、电子设备及存储介质 | |
CN114385498A (zh) | 性能测试方法、***、计算机设备及可读存储介质 | |
US20220171380A1 (en) | Automated device maintenance | |
CN113485917A (zh) | 一种接口管理方法、装置、电子设备及存储介质 | |
CN109067611B (zh) | 检测***间通讯状态的方法、装置、存储介质及处理器 | |
CN113824590A (zh) | 微服务网络的问题预测方法、计算机设备和存储介质 | |
CN113282363A (zh) | 一种优化混合app的方法及装置 | |
CN110716972A (zh) | 高频率调用外部接口出错的处理方法和装置 | |
KR102619048B1 (ko) | 오류 처리 방법 및 그 시스템 | |
Jing et al. | Modeling and availability analysis of nested software rejuvenation policy | |
CN114741325B (zh) | 一种应用***测试用的测试脚本的录制方法以及装置 | |
CN115470020A (zh) | 故障预警方法、装置、电子设备及存储介质 | |
CN116126556A (zh) | 基于Golang语言的熔断处理方法、装置、设备、介质及产品 | |
CN107807828B (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 |