当前位置: 首页 > 专利查询>南京大学专利>正文

一种用于定位服务调用成功率指标异常线索的算法制造技术

技术编号:29464862 阅读:44 留言:0更新日期:2021-07-27 17:50
本发明专利技术公开了一种用于定位服务调用成功率指标异常线索的算法,包括步骤S1.在服务被判断为异常时,自动加载当前时间段T2和前一个时间段T1内的服务调用数据;S2.遍历当前时间段T2和前一个时间段T1内的每一种维度组合E,该维度组合E作为节点建立树状结构;S3.根据剪枝算法筛选出线索节点;S4.基于S3得到的线索节点,使用层次遍历的方式搜索每一个节点并计算该节点所表示的维度组合E成为一个线索的可能性大小;S5.线索集合的计算。本发明专利技术为异常排查人员提供更好的支持,使得对于许多拥有大量用户的在线系统而言,可更快速的查找处根因。

【技术实现步骤摘要】
一种用于定位服务调用成功率指标异常线索的算法
本专利技术涉及线上系统维护
,具体为一种用于定位服务调用成功率指标异常线索的算法。
技术介绍
对于许多拥有大量用户的在线系统而言,持续稳定地提供服务对业务至关重要,当服务出现异常并告警后需要算法及时发现解决。然而这类系统一般都非常庞大,这使得异常的方向和原因的排查都非常困难。对于拥有大量用户的线上系统而言,即使很小幅的服务调用成功率下降也会导致很多的用户受到影响。为了解决这个问题,当前几乎所有提供互联网业务的公司都会引入各种APM工具(应用性能管理)来监视公司的所有线上的服务,比如CAT、Pinpoint、Skywalking、Zipkin等开源工具。上述多种开源的APM工具在接入到系统服务中后提供了对服务运行中的实时监控数据,APM会对服务的请求调用、服务运行状态、硬件状态等进行监控,但是记录并提供数据并不意味着服务异常以及背后根因的自动暴露。实践中,通过算法和人工排查结合的方式处理指标值异常仍然是主流的方式。此外,在指标的异常检测上,当前国内外研究中提出了多种方法,例如基于预测算法、基于统计、基于机器学习等算法,而实际上上述类型的异常检测方式在线上生产环境中实现较为困难,导致服务异常后找到原因较为艰难,有以下两点原因:首先,事实上服务异常的真实原因在大型系统中并不是很容易被发现,尤其是当前几乎都是分布式部署的情况下,很可能同一个服务,有的地区正常,有的地区不正常,而一旦等到用户明显感知到服务异常,问题往往已经比较严重,这类事件的例子在通信、银行、证券、电商、社交等各种依托大型互联网系统的领域比比皆是,给业务造成极大影响;其次,真实线上环境中,APM工具能够记录下每条服务调用所附带的维度属性值(例如,城市、运营商、平台、网络等),并且每个维度下都包含多个值(例如,运营商维度下有电信、移动、联通等),即每条服务调用在每个维度属性下都具备对应的属性值,例如一条安卓手机发出的使用上海地区的联通4G网络的服务调用,这使得事实上的根因是不可能自动被发现的,现有的研究事实上只能给出线索,真正的根因只能人工排查,这往往耗时耗力,甚至人工排查依据的线索未必是正确的。简而言之,当线上的服务成功率指标出现异常后(我们称为症状),我们就需要通过识别算法提供有效的线索,进而辅助运维人员排查真实导致异常的根因,这是目前围绕在线服务异常根因定位的工作范式。需要指出的是,现有的国内外研究工作中,根因定位算法定位的实际上只能够达到单个微服务实例,即现有研究所给出的所谓根因事实上只只是辅助运维人员排查根因的线索,并不是问题真正的根本原因。这些线索可能能够很大程度上提高运维人员的工作效率,但是,往往离服务异常的根因还有较大的差距。这个差距需要人工排查方式去弥补。然而,一旦这个线索指引的方向有错误,那么排查人员的工作就白费了。甚至在很多时候,这些线索就算是对的,但是如果对应的根因是一个偶发因素,那么排查也没有实际意义。遗憾的是,现有的相关研究以及工具中,一方面将线索定义为根因,同时也没有任何线索优化措施,使得实际运维环境中的根因排查仍然耗时耗力,甚至是白费力气,极大地影响了相关技术在生产领域的应用。本专利技术公开的一种用于定位服务调用成功率指标异常线索的算法,用于在高维线索的定位下,进一步实现对持续服务产生负面影响的线索的识别算法,在一个时间序列中不断优化线索排序,为异常排查人员提供更好的支持。
技术实现思路
本专利技术的目的在于提供一种用于定位服务调用成功率指标异常线索的算法,以解决上述
技术介绍
中提出的问题。如图1,为了解决上述技术问题,本专利技术提供如下技术方案:一种用于定位服务调用成功率指标异常线索的算法,包括步骤:S1.在服务被判断为异常时,自动加载当前时间段T2和前一个时间段T1内的服务调用数据;S2.遍历当前时间段T2和前一个时间段T1内的每一种维度组合E,该维度组合E作为节点建立树状结构;S3.根据剪枝算法筛选出线索节点;S4.基于S3得到的线索节点,使用层次遍历的方式搜索每一个节点并计算该节点所表示的维度组合E成为一个线索的可能性大小;S5.线索集合的计算。优选的,所述S2中维度组合E的建立方式包括:以5个维度为例进行说明,5个维度分别为Network(N)、Platform(P)、ISP(I)、City(C)、APP(A),假设所述5个维度下分别具有5、3、8、310、100个纬度值,使用向量的形式表示一种维度组合E,则向量(N_2,*,*,*,A_5)表示由network属性下的第2个纬度值与APP属性下的第5个纬度值所组成的维度组合,对应到现实中,该维度组合E代表了“由APP-5使用N-2类型网络的所有请求”;在树结构中,使用向量(*,*,*,*,*)表示树的根节点,树的第n层表示该层节点所表示的维度组合中仅存在n个有效的纬度值,而其他都使用通配符“*”表示,例如树的第二层中可能存在的维度组合有(N_1,*,I_3,*,*)、(*,P_1,*,C_10,*)、(*,*,I_4,*,A_20)等情况,如图2所示;总的来看,如果树的每一个可能的节点(即每一种维度组合)都需要去创建,这个树的结构会非常的庞大,即树中的节点会非常巨大,对后续使用算法筛选线索的候选集合造成很严重的性能影响。以上述5个维度为例,第一层到第五层分别存在426、37639、528510、2498200、3720000,总计6784775种维度组合,所以需要使用合适的剪枝策略缩小搜索空间,提高筛选线索集合的算法性能。优选的,所述S3中的剪枝算法筛选线索包括了基于ImpactFactor(IF)指标值进行的剪枝操作和基于调用基数阈值(RequestsThreshold)进行的剪枝操作,没有被剪枝的节点作为线索。优选的,所述基于ImpactFactor(IF)指标值进行的剪枝操作包括:定义满足维度组合E的请求调用数量为RequestNumber(Rn),调用成功的数量为SuccessfulNumber(Sn),成功率为SuccessfulRate(SR),当前时间为T,则满足:设置需要衡量的维度组合E0、与E0互补的维度组合E1以及维度组合E2(*,*,*,*,*),三者存在关系:Rn(E0,T)+Rn(E1,T)=Rn(E2,T)ImpactFactor(IF)指标的定义为:IF(E0)=SR(E1,T)-SR(E0,T)则基于IF指标值的剪枝策略为:当一个维度组合E的IF值为正时,对该结点以及该结点的子树进行剪枝操作。如果IF指标值为负数,则表示所有满足维度组合E0的请求对该时间段T的整体成功率呈现负影响(使整体成功率降低),则该时间段T的维度组合E0作为异常线索,降低的程度由IF的绝对值决定;同理,当IF指标值为正数时,表示所有满足E0的请求调用对整体成功率呈正影响(使整体成功率变高),则该时间段T的维度组合E0不是异常线索,需要进行剪枝处理,提高的程本文档来自技高网
...

【技术保护点】
1.一种用于定位服务调用成功率指标异常线索的算法,其特征在于,包括步骤:/nS1.在服务被判断为异常时,自动加载当前时间段T

【技术特征摘要】
1.一种用于定位服务调用成功率指标异常线索的算法,其特征在于,包括步骤:
S1.在服务被判断为异常时,自动加载当前时间段T2和前一个时间段T1内的服务调用数据;
S2.遍历当前时间段T2和前一个时间段T1内的每一种维度组合E,该维度组合E作为节点建立树状结构;
S3.根据剪枝算法筛选出线索节点;
S4.基于S3得到的线索节点,使用层次遍历的方式搜索每一个节点并计算该节点所表示的维度组合E成为一个线索的可能性大小;
S5.线索集合的计算。


2.根据权利要求1所述的一种用于定位服务调用成功率指标异常线索的算法,其特征在于,所述S3中的剪枝算法筛选线索包括了基于ImpactFactor指标值进行的剪枝操作和基于调用基数阈值RequestsThreshold进行的剪枝操作,没有被剪枝的节点作为线索,所述ImpactFactor由IF表示。


3.根据权利要求2所述的一种用于定位服务调用成功率指标异常线索的算法,其特征在于,所述基于IF指标值进行的剪枝操作包括:
定义满足维度组合E的请求调用数量为RequestNumber,所述RequestNumber由Rn表示,调用成功的数量为SuccessfulNumber,所述SuccessfulNumber由Sn表示,成功率为SuccessfulRate,所述SuccessfulRate由SR表示,当前时间为T,则满足:



设置需要衡量的维度组合E0、与E0互补的维度组合E1以及维度组合E2(*,*,*,*,*),三者存在关系:
Rn(E0,T)+Rn(E1,T)=Rn(E2,T)
IF指标的定义为:
IF(E0)=SR(E1,T)-SR(E0,T)
则基于IF指标值的剪枝策略为:当一个维度组合E的IF值为正时,对该结点以及该结点的子树进行剪枝操作。


4.根据权利要求3所述的一种用于定位服务调用成功率指标异常线索的算法,其特征在于,所述基于调用基数阈值RequestsThr...

【专利技术属性】
技术研发人员:汪浩荣国平张贺邵栋周鑫
申请(专利权)人:南京大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1