利索能及
我要发布
收藏
专利号: 2024100154268
申请人: 中国民航大学
专利类型:发明专利
专利状态:已下证
更新日期:2025-12-08
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种微服务故障根因确定方法,其特征在于,应用于故障根因确定系统,所述故障根因确定系统连接有目标微服务系统,所述目标微服务系统包括若干目标微服务,每一所述目标微服务对应有若干指标数据;

所述方法包括如下步骤:

步骤S100、响应于检测到所述目标微服务系统发生故障,对每一所述目标微服务的前端接口进行异常检测,以确定出若干异常接口;

步骤S200、根据每一所述异常接口对应的调用链标识,确定每一所述异常接口对应的异常调用链;

步骤S300、对每一所述异常调用链进行跨度检测,以从若干所述目标微服务中确定出若干异常微服务;

步骤S400、获取每一所述异常微服务在目标时间段内的若干日志数据;

步骤S500、对每一所述异常微服务的每一所述日志数据进行关键词检测,以确定出每一所述异常微服务的若干异常日志数据;

步骤S600、根据每一所述异常微服务的若干异常日志数据和若干指标数据,确定所述目标微服务系统的故障根因。

2.根据权利要求1所述的方法,其特征在于,所述步骤S100包括:

步骤S110、获取每一所述目标微服务的前端接口在第一时间段T1=[t11,tnow]内接收到的HTTP状态信息;其中,t11为检测到所述目标微服务系统发生故障的时间;tnow为当前时间;

步骤S120、若所述HTTP状态信息为异常状态信息,则将对应的前端接口确定为异常接口;否则,执行步骤S130;

步骤S130、根据每一所述目标微服务的前端接口被调用时对应的若干延迟时间,确定对应的前端接口的异常程度值;

步骤S140、若所述异常程度值大于预设的异常程度阈值,则将对应的前端接口确定为异常接口。

3.根据权利要求2所述的方法,其特征在于,所述步骤S130包括:

步骤S131、获取每一所述目标微服务的前端接口被调用时对应的每一延迟时间,得到延迟时间列表集V=(V1,V2,...,Vm,...,Vn);Vm=(Vm1,Vm2,...,Vmd,...,Vmf(m));其中,m=1,

2,...,n;n为所述目标微服务的数量;Vm为第m个所述目标微服务的前端接口对应的延迟时间列表;d=1,2,...,f(m);f(m)为第m个所述目标微服务的前端接口被调用时对应的延迟时间的数量;Vmd为第m个所述目标微服务的前端接口被调用时对应的第d个延迟时间;

步骤S132、遍历V,若|Vmd‑ZWm|≤V0,则将Vmd确定为目标延迟时间;其中,ZWm为Vm中的中位数,V0为预设的中位差;

步骤S133、根据每一所述目标延迟时间对应的前端接口的被调用时间,确定每一前端接口在第二时间段T2=[t21,t22]内的若干目标延迟时间和在第三时间段T3=[t31,t32]内的若干目标延迟时间;其中,t22<t11;t21为T2对应的起始时间;t22为T2对应的结束时间;t31为T3对应的起始时间;t32为T3对应的结束时间;

步骤S134、确定第m个所述目标微服务的前端接口的异常程度值Ym=|gm‑(qm+rm)|/(pm+km);其中,gm为第m个所述目标微服务的前端接口的响应时间;qm为第m个所述目标微服务的前端接口在T2内的若干目标延迟时间的期望;rm为第m个所述目标微服务的前端接口在T3内的若干目标延迟时间的期望;pm为第m个所述目标微服务的前端接口在T2内的若干目标延迟时间的方差;km为第m个所述目标微服务的前端接口在T3内的若干目标延迟时间的方差。

4.根据权利要求1所述的方法,其特征在于,所述步骤S300包括:

步骤S310、提取每一所述异常调用链的每个跨度的若干特征数据;所述特征数据包括对应的前端接口信息、被调用接口信息、被调用次数、在对应的异常调用链中的深度;

步骤S320、将每个跨度的若干特征数据输入预设调用模型中,得到该跨度对应的预测延迟时间,确定预测延迟时间列表C=(C1,C2,...,Ca,...,Cb);其中,a=1,2,...,b;b为跨度的数量;Ca为第a个跨度对应的预测延迟时间;

步骤S330、若(|Ca‑Da|/Da)>D0,则将第a个跨度确定为异常跨度;其中,Da为第a个跨度对应的实际延迟时间;D0为预设的延迟时间比阈值;

步骤S340、遍历每一所述异常跨度,若所述异常跨度的子跨度为非异常跨度或所述异常跨度没有子跨度,则将该异常跨度所在的目标微服务确定为异常微服务。

5.根据权利要求1所述的方法,其特征在于,所述步骤S500包括:

步骤S510、若所述日志数据中包含预设关键词,则将该日志数据确定为异常日志数据。

6.根据权利要求1所述的方法,其特征在于,所述步骤S600包括:

步骤S610、获取每一所述异常日志数据的发生时间;

步骤S620、将发生时间位于第四时间段T4=[t41,t42]内的若干异常日志数据确定为目标异常日志数据;其中,t41为T4对应的起始时间;t42为T4对应的结束时间;

步骤S630、获取每一所述目标异常日志数据的日志内容;

步骤S640、将同一所述目标异常日志数据的相同类型的若干日志内容确定为同一个日志类型组;

步骤S650、根据同一所述目标异常日志数据的每一日志类型组中的日志内容的数量,确定每一所述异常微服务的日志根因数据;

步骤S660、根据每一所述异常微服务的日志根因数据和若干指标数据,确定所述目标微服务系统的故障根因。

7.根据权利要求6所述的方法,其特征在于,所述步骤S660包括:

步骤S661、获取每一所述异常微服务的若干指标数据;

步骤S662、根据同一所述异常微服务的每一指标数据和每一日志根因数据的依赖关系,确定该所述异常微服务的根因指标;

步骤S663、根据每一所述根因指标与不同异常微服务间的依赖关系,确定所述目标微服务系统的故障根因。

8.根据权利要求7所述的方法,其特征在于,所述异常微服务的指标数据包括异常流量、可用内存、文件页每秒写入速度、文件页每秒读入速度、剩余物理内存、网口进口流量、网口出口流量、磁盘使用空间。

9.一种非瞬时性计算机可读存储介质,所述存储介质中存储有至少一条指令或至少一段程序,其特征在于,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如权利要求1‑8中任意一项所述的方法。

10.一种电子设备,其特征在于,包括处理器和权利要求9中所述的非瞬时性计算机可读存储介质。