System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机,特别涉及一种服务熔断方法及装置。
技术介绍
1、目前,系统平台的数据和接口服务,大多都依赖下游数据接口服务,比如,服务a依赖下游接口服务b,下游接口服务b依赖下游接口服务c,下游接口服务c依赖下游接口服务d。当访问服务a时,服务a会访问其所依赖的服务:下游接口服务b;下游接口服务b会访问其依赖的下游接口服务c;下游接口服务c会访问其依赖的下游接口服务d。
2、当服务a的下游接口服务b、c、d中有下游接口服务出现异常,会导致访问该服务a的请求处于等待状态,这些请求会占用系统平台资源,影响系统平台运行。
3、因此,目前一般会在服务a的下游接口服务出现异常后,对下游接口服务进行熔断,虽然这种熔断方式能够减少对系统平台运行的影响,但是异常已经在系统平台中扩散和传播,仍会影响系统平台的可用性和稳定性。
技术实现思路
1、本申请提供如下技术方案:
2、本申请一方面提供一种服务熔断方法,包括:
3、获取递归调用的每一级下游接口服务对应的当前访问特征数据;
4、将所述每一级下游接口服务对应的当前访问特征数据输入至预先训练的熔断预测模型,得到所述熔断预测模型确定的每一级所述下游接口服务的响应预测值,所述响应预测值用于表征所述下游接口服务的响应时长增量变化趋势;
5、从所述当前访问特征数据中获得每一级所述下游接口服务的当前响应时长;
6、基于每一级所述下游接口服务的响应预测值、当前响应时长和权重因子,
7、将所述总预测响应时长写入缓存,以使得在下一次调用每一级所述下游接口服务之前,从所述缓存中查询所述总预测响应时长,如果所述总预测响应时长大于全部所述下游接口服务对应的最大容忍响应时长,对每一级所述下游接口服务进行熔断处理。
8、可选的,获取递归调用的每一级下游接口服务对应的当前访问特征数据,包括:
9、获取递归调用的每一级下游接口服务对应的当前访问及资源访问日志数据、当前硬件日志数据和当前依赖资源日志数据;
10、对所述当前访问及资源访问日志数据进行清洗,得到当前访问及资源访问特征数据;
11、对所述当前硬件日志数据进行清洗,得到当前硬件性能指标数据;
12、对所述当前依赖资源日志数据进行清洗,得到当前依赖资源特征数据。
13、可选的,基于每一级所述下游接口服务的响应预测值、当前响应时长和权重因子,确定总预测响应时长,包括:
14、分别基于每一级所述下游接口服务的响应预测值,确定每一级所述下游接口服务对应的响应增量值;
15、分别将每一级所述下游接口服务的响应增量值、当前响应时长和权重因子进行相乘,得到每一级所述下游接口服务的预测响应时长;
16、对每一级所述下游接口服务的预测响应时长进行相加,得到总预测响应时长。
17、可选的,所述熔断预测模型通过以下方式训练得到:
18、获取递归调用的各样本下游接口服务在第一时间点对应的访问特征数据;
19、基于所述递归调用的各样本下游接口服务在第一时间点对应的访问特征数据中的响应时长和所述递归调用的各样本下游接口服务在第二时间点对应的访问特征数据中的响应时长,确定各所述样本下游接口服务的响应实际值,所述响应实际值用于表征所述样本下游接口服务的响应时长实际增量变化趋势;所述第二时间点在所述第一时间点之前;
20、将所述递归调用的各样本下游接口服务对应的访问特征数据输入至熔断预测模型,得到所述熔断预测模型确定的各所述样本下游接口服务的响应预测值,所述样本下游接口服务的响应预测值用于表征所述样本下游接口服务的响应时长预测增量变化趋势;
21、如果所述熔断预测模型的损失函数值未收敛,调整所述熔断预测模型的参数,继续执行所述获取递归调用的各样本下游接口服务对应的访问特征数据,所述损失函数值用于表征所述样本下游接口服务的响应实际值和响应预测值之间的差异;
22、如果所述熔断预测模型的损失函数值收敛,结束训练。
23、可选的,所述服务熔断方法还包括:
24、如果从所述缓存中未查询到所述总预测响应时长,开始对每一级所述下游接口服务进行响应时长预测,并递归调用每一级所述下游接口服务。
25、可选的,所述服务熔断方法还包括:
26、在对每一级所述下游接口服务进行熔断处理之后,从其它多个下游接口服务中选择目标下游接口服务,调用所述目标下游接口服务,并开始对所述目标下游接口服务进行响应时长预测。
27、本申请另一方面提供一种服务熔断装置,包括:
28、第一获取模块,用于获取递归调用的每一级下游接口服务对应的当前访问特征数据;
29、预测模块,用于将所述每一级下游接口服务对应的当前访问特征数据输入至预先训练的熔断预测模型,得到所述熔断预测模型确定的每一级所述下游接口服务的响应预测值,所述响应预测值用于表征所述下游接口服务的响应时长增量变化趋势;
30、第二获取模块,用于从所述当前访问特征数据中获得每一级所述下游接口服务的当前响应时长;
31、第一确定模块,用于基于每一级所述下游接口服务的响应预测值、当前响应时长和权重因子,确定总预测响应时长,所述权重因子表征所述下游接口服务的重要程度;
32、缓存模块,用于将所述总预测响应时长写入缓存,以使得在下一次调用每一级所述下游接口服务之前,从所述缓存中查询所述总预测响应时长,如果所述总预测响应时长大于全部所述下游接口服务对应的最大容忍响应时长,对每一级所述下游接口服务进行熔断处理。
33、可选的,所述第一获取模块,具体用于:
34、获取递归调用的每一级下游接口服务对应的当前访问及资源访问日志数据、当前硬件日志数据和当前依赖资源日志数据;
35、对所述当前访问及资源访问日志数据进行清洗,得到当前访问及资源访问特征数据;
36、对所述当前硬件日志数据进行清洗,得到当前硬件性能指标数据;
37、对所述当前依赖资源日志数据进行清洗,得到当前依赖资源特征数据。
38、可选的,所述第一确定模块,具体用于:
39、分别基于每一级所述下游接口服务的响应预测值,确定每一级所述下游接口服务对应的响应增量值;
40、分别将每一级所述下游接口服务的响应增量值、当前响应时长和权重因子进行相乘,得到每一级所述下游接口服务的预测响应时长;
41、对每一级所述下游接口服务的预测响应时长进行相加,得到总预测响应时长。
42、可选的,所述服务熔断装置还包括:
43、训练模块,用于:
44、获取递归调用的各样本下游接口服务在第一时间点对应的访问特征数据;
45、基于所述递归调用的各样本下游本文档来自技高网...
【技术保护点】
1.一种服务熔断方法,其特征在于,包括:
2.根据权利要求1所述的服务熔断方法,其特征在于,获取递归调用的每一级下游接口服务对应的当前访问特征数据,包括:
3.根据权利要求1所述的服务熔断方法,其特征在于,基于每一级所述下游接口服务的响应预测值、当前响应时长和权重因子,确定总预测响应时长,包括:
4.根据权利要求1所述的服务熔断方法,其特征在于,所述熔断预测模型通过以下方式训练得到:
5.根据权利要求1所述的服务熔断方法,其特征在于,所述服务熔断方法还包括:
6.根据权利要求1所述的服务熔断方法,其特征在于,所述服务熔断方法还包括:
7.一种服务熔断装置,其特征在于,包括:
8.根据权利要求7所述的服务熔断装置,其特征在于,所述第一获取模块,具体用于:
9.根据权利要求7所述的服务熔断装置,其特征在于,所述第一确定模块,具体用于:
10.根据权利要求7所述的服务熔断装置,其特征在于,所述服务熔断装置还包括:
【技术特征摘要】
1.一种服务熔断方法,其特征在于,包括:
2.根据权利要求1所述的服务熔断方法,其特征在于,获取递归调用的每一级下游接口服务对应的当前访问特征数据,包括:
3.根据权利要求1所述的服务熔断方法,其特征在于,基于每一级所述下游接口服务的响应预测值、当前响应时长和权重因子,确定总预测响应时长,包括:
4.根据权利要求1所述的服务熔断方法,其特征在于,所述熔断预测模型通过以下方式训练得到:
5.根据权利要求1所述的服务...
【专利技术属性】
技术研发人员:曹问,
申请(专利权)人:湖南快乐阳光互动娱乐传媒有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。