本发明涉及软件系统问题定位,尤其涉及一种软件系统问题定位方法。
背景技术:
1、当前软件系统的复杂度越来越高,研发过程中或者运维阶段出现缺陷和故障的几率成几何倍数增长。虽然现代软件也提供了监控告警、巡检等手段帮助预防或者定位问题根源,但是这些手段同样增加了观测指标的数量,技术人员需要面对如何在海量信息中快速寻找真正线索的新场景。
2、此外,当前几乎全部通用问题定位技术都局限于通信领域,在纯软件系统领域很少应用,主要的问题定位方式主要有两种,一种是通过各层级子系统的指标异常来进行大致的范围定位,这种方式无法帮助技术人员分辨有用线索;另一种是需要在目标系统中嵌入可供定位的代码,对目标系统有侵入式的修改。因此,在实际应用中,软件领域问题定位最常用的还是依靠研发工程师的能力和经验,人工查日志和读代码,非常消耗资源,需要投入资深工程师的宝贵精力,无法大面积快速推广。
3、因此,如何提供一种高效、准确的软件系统问题定位方法,成为亟待解决的技术问题。
技术实现思路
1、有鉴于此,为了克服现有技术的不足,本发明旨在提供一种软件系统问题定位方法。
2、本发明提供一种软件系统问题定位方法,包括:
3、步骤s1:通过扫描故障目标系统,收集问题线索;
4、步骤s2:采用参数集从时间维度、关系维度和位置维度为每个问题线索计算线索分数;
5、步骤s3:根据线索分数对收集的问题线索递减排序,获得用于问题定位的问题线索集。
6、作为本发明的优选,本发明的软件系统问题定位方法,步骤s1包括:通过分层扫描目标系统的硬件系统、服务器操作系统、云平台操作系统、日志系统、监控告警系统以及巡检系统,获取问题线索,所述问题线索包括报错信息、异常指标以及告警及失败用例。
7、作为本发明的优选,本发明的软件系统问题定位方法,步骤s1包括:配置时间维度优先级,获取系统故障发生时间,设置有效时间阈值,根据时间维度优先级扫描故障目标系统,获取系统故障发生前有效时间阈值时间范围内的问题线索。
8、作为本发明的优选,本发明的软件系统问题定位方法,步骤s1包括:配置关系维度优先级,获取故障目标子系统,根据关系维度优先级扫描故障目标子系统所有服务、所有服务的依赖服务以及所述依赖服务的依赖服务范围内的问题线索。
9、作为本发明的优选,本发明的软件系统问题定位方法,步骤s1包括:配置位置维度优先级,根据位置维度优先级扫描故障目标系统的问题线索。
10、作为本发明的优选,本发明的软件系统问题定位方法,步骤s2包括:根据问题线索在时间轴上与故障发生时间的时间差维度、在服务网格中与故障目标子系统的关系维度以及在网络拓扑中的位置维度为每个问题线索计算线索分数。
11、作为本发明的优选,本发明的软件系统问题定位方法,步骤s2中的参数集包括维度权重集、时间维度参数集、关系维度参数集和位置维度参数集,所述维度权重集包括时间维度权重、关系维度权重和位置维度权重,所述时间维度参数集包括时间维度分数相关参数,所述关系维度参数集包括不同的关系维度分数值,所述位置维度参数集包括不同的位置维度分数值。
12、作为本发明的优选,本发明的软件系统问题定位方法,步骤s2中问题线索的线索分数按以下公式计算获得:
13、pi=pt*wt+ps*ws+pn*wn
14、式中,pt为时间维度分数,wt为时间维度权重,ps为关系维度分数,ws为关系维度权重,pn为位置维度分数,wn为位置维度权重。
15、作为本发明的优选,本发明的软件系统问题定位方法,还包括:
16、通过记录问题线索收集的全过程数据,创建并存储问题线索样本;
17、设置训练时间阈值,在达到训练时间阈值后对积累的问题线索样本进行清理;
18、采用梯度下降神经网络优化算法以及清理后的问题线索样本对参数集优化训练,获得更新的参数集;
19、采用更新的参数集计算问题线索的线索分数。
20、作为本发明的优选,本发明的软件系统问题定位方法,全过程数据包括:故障发生时间、故障目标子系统、收集的问题线索以及故障定位人员前十次点击查看的问题线索。
21、本发明的软件系统问题定位方法,具有以下有益效果:
22、1.通过多个维度优先级的配置,实现从多个维度对问题线索进行高效、准确的收集。
23、2.通过从多个维度对收集的问题线索进行打分和排序,帮助技术人员排除掉海量信息中的噪声干扰,筛选出真正的问题线索,从而加速定位过程。
24、3.通过在应用过程中积累问题线索样本,对参数值进行训练优化,沉淀研发人员经验,使问题定位更贴近目标系统的实际应用,使问题定位通过不断优化更加高效和准确。
25、4.不需要对目标系统做侵入式修改,避免了对目标系统的侵害风险。
1.一种软件系统问题定位方法,其特征在于,所述方法包括:
2.根据权利要求1所述的软件系统问题定位方法,其特征在于,步骤s1包括:通过分层扫描目标系统的硬件系统、服务器操作系统、云平台操作系统、日志系统、监控告警系统以及巡检系统,获取问题线索,所述问题线索包括报错信息、异常指标以及告警及失败用例。
3.根据权利要求1所述的软件系统问题定位方法,其特征在于,步骤s1包括:配置时间维度优先级,获取系统故障发生时间,设置有效时间阈值,根据时间维度优先级扫描故障目标系统,获取系统故障发生前有效时间阈值时间范围内的问题线索。
4.根据权利要求1所述的软件系统问题定位方法,其特征在于,步骤s1包括:配置关系维度优先级,获取故障目标子系统,根据关系维度优先级扫描故障目标子系统所有服务、所有服务的依赖服务以及所述依赖服务的依赖服务范围内的问题线索。
5.根据权利要求1所述的软件系统问题定位方法,其特征在于,步骤s1包括:配置位置维度优先级,根据位置维度优先级扫描故障目标系统的问题线索。
6.根据权利要求1所述的软件系统问题定位方法,其特征在于,步骤s2包括:根据问题线索在时间轴上与故障发生时间的时间差维度、在服务网格中与故障目标子系统的关系维度以及在网络拓扑中的位置维度为每个问题线索计算线索分数。
7.根据权利要求1所述的软件系统问题定位方法,其特征在于,步骤s2中的参数集包括维度权重集、时间维度参数集、关系维度参数集和位置维度参数集,所述维度权重集包括时间维度权重、关系维度权重和位置维度权重,所述时间维度参数集包括时间维度分数相关参数,所述关系维度参数集包括不同的关系维度分数值,所述位置维度参数集包括不同的位置维度分数值。
8.根据权利要求1所述的软件系统问题定位方法,其特征在于,步骤s2中问题线索的线索分数按以下公式计算获得:
9.根据权利要求1所述的软件系统问题定位方法,其特征在于,所述方法还包括:
10.根据权利要求9所述的软件系统问题定位方法,其特征在于,所述全过程数据包括:故障发生时间、故障目标子系统、收集的问题线索以及故障定位人员前十次点击查看的问题线索。