一种基于业务流量智能识别业务链路的分析方法技术

技术编号:33028529 阅读:24 留言:0更新日期:2022-04-15 09:03
本发明专利技术公开一种基于业务流量智能识别业务链路的分析方法,通过业务流量和AI模型的方式,智能识别出业务的真实应用调用链,具有以下特点:1)流量镜像是基础标准的网络协议实现,应用兼容性好,能够很好的兼顾微服务架构和传统架构;2)实施操作简单,通过核心交换机做流量镜像方式旁路获取流量,无需agent入侵,解决agent侵入应用服务带来的稳定性、安全性、性能额外压力的问题;3)网络流量均为真实、全量数据。量数据。量数据。

【技术实现步骤摘要】
一种基于业务流量智能识别业务链路的分析方法


[0001]本专利技术涉及网络运维
,尤其涉及一种基于业务流量智能识别业务链路的分析方法。

技术介绍

[0002]业务链路又称为业务应用调用链,是具体业务的应用服务之间的调用关系拓扑图,其反应的是业务实际执行路径。为了保障业务系统连续稳定性,对业务链路的监控是必不可少,而识别出业务真实的应用调用链是业务链路监控的核心。而随着开发技术更新迭代,微服务的出现,造成了IT系统越来越复杂,随之调用链的识别越发困难。
[0003]业界对调用链的发现方案是通过APM(全称Application Performance Management tools)的方式,其本质是通过trace ID对应用服务进行串联发现应用服务之间的关联关系。如腾讯的TSF微服务监控、阿里的应用服务监控ARMS、谷歌的Dapper均通过类似的方法实现调用链发现和监控。
[0004]APM最早出现在谷歌公开论文提到谷歌Dapper技术介绍,而现有的APM解决方案均是基于此原理上进行演进。其优点:
[0005]1、谷歌多年实践经验,方案成熟,同时市面上已经有成熟的产品或者解决方案,国内oneAPM、听云,国外New Relic、AppDynamics。
[0006]2、精准度高,达到方法级别。
[0007]3、开源成熟,国内skywalking等。
[0008]但是同样缺点也很明显:
[0009]1、难以落地,应用服务的trace id需要对系统架构进行微服务架构改造,对于大部分企业数据中心来说这个改造是不现实的,系统架构重构对原有系统风险无法评估,工作量庞大。
[0010]2、对原应用服务造成影响,要得到trace ID,就要对应用服务进行侵入部署(agent侵入),这是高安全要求的行业是不允许的,同时这样势必对应用服务稳定造成影响及对资源有额外消耗,虽然额外消耗不大,但是对于高并发、巨量请求、性能损耗敏感的应用这是致命的。
[0011]3、部署繁琐、繁重,在实施层面,需要对每一个应用服务进行agent部署,可以想象一个业务系统的应用服务量级巨大;同时环境复杂,有容器、微服务、普通服务,跨多个系统、数据中心。要实调用链的识别,实施上有不可预知的难度。
[0012]因此,现有技术存在缺陷,需要改进。

技术实现思路

[0013]本专利技术的目的是克服现有技术的不足,提供一种基于业务流量智能识别业务链路的分析方法。
[0014]本专利技术的技术方案如下:提供一种基于业务流量智能识别业务链路的分析方法,
包括如下步骤:
[0015]步骤1:流量平台通过核心交换机、TAP交换机镜像流量采集到业务系统的流量;
[0016]步骤2:对镜像流量进行TCP报文的包头信息进行分析,统计核心流量指标;
[0017]步骤3:将完成分析的流量数据推送到大数据平台进行存储,提供给其他应用使用;
[0018]步骤4:通过CMDB平台对业务流量进行筛选;
[0019]步骤5:算法平台获得业务流量数据和CMDB数据后,以天为单位对数据进行二次处理;
[0020]步骤6:在经过二次处理的数据中通过有效业务调用链路径模型进行筛选;
[0021]步骤7:通过采用业务调用链路径甄选模型,在上述筛选出的若干个业务、每个业务的若干条调用链路径中,通过业务调用链甄选模型对每个业务的业务调用链进行甄选,找出真实的业务调用链;
[0022]步骤8:在模型分析完毕后,算法平台会输出业务调用链的结果,用于运维平台进行验证。
[0023]进一步地,所述步骤4的具体步骤如下:
[0024]步骤4.1:CMDB平台根据业务应用IP及端口,从大数据平台获取对应的流量信息;
[0025]步骤4.2:从获取的流量信息中,过滤掉其他非业务的流量;
[0026]步骤4.3:过滤后的流量为业务流量,并在业务流量节点中标记出对应的业务开始节点和结束节点;
[0027]步骤4.4:算法平台调用经过过滤的业务流量以及CMDB信息。
[0028]进一步地,所述步骤5的具体步骤如下:
[0029]步骤5.1:算法平台得到业务流量数据和CMDB数据后,对相同集群服务的各个节点及流向相同节点的路径进行合并节点、路径;
[0030]步骤5.2:对业务流量以分钟为时间片,并绘画出该时间片的业务调用链,形成相同业务下,不同时间片的调用链数据。
[0031]进一步地,所述步骤6的具体步骤如下:
[0032]步骤6.1:从经过二次处理的分钟时间片业务流量数据中,筛选出流量变化具备波动性的多个业务;
[0033]步骤6.2:使用算法对上述的筛选出的业务的业务调用链信息进行调用链路径筛选,找出该业务从开始节点到结束节点的多条有效调用链路径。
[0034]进一步地,所述步骤7的具体步骤如下:
[0035]步骤7.1:将各个业务调用链路径拓扑进行唯一标识;
[0036]步骤7.2:对标记好的每个业务调用链差异流量检测,通过对多个时间片周期进行业务流量求差,形成业务调用链差异流量拓扑图,使用算法计算该差异流量拓扑图的若干条业务线路;
[0037]步骤7.3:汇总步骤7.2的所有业务线路图,进行相同合并,并在相应业务调用链路统计次数上不断累加,最后取次数最高的为该业务的最终业务路线,如果一个业务的调用链最高次数上有多条调用链,则进行步骤7.4,否则终止;
[0038]步骤7.4:当一个业务调用链出现多条的情况,对该业务路线以分钟为单位进行实
时监控,当发现该业务终点有流量,但是某条业务线无流量,则进行淘汰,直至剩下最后一条业务线,在此过程中未被淘汰的所有业务线都为该业务的业务线。
[0039]进一步地,所述步骤5采用的算法为KPS算法,具体算法如下:
[0040]1)使用Dijkstra算法计算一条最短链路;
[0041]2)排除始点和终点,提取中间节点,将中间节点与下一节点的边4去除,再使用Dijkstra算法求解中间节点到终点的最短路径,与始点到中间节点的线路拼接形成候选最短路径;
[0042]3)求解第j条最短路径在第j

1条最短路径基础上进行。
[0043]进一步地,所述Dijkstra算法如下:
[0044]1)假设s为起点,e为终点;
[0045]2)用一个集合F保存已经访问过的节点,初始时F只包含起点s。用一个数组D保存起点s到其余所有节点的最短路径。在开始时,D的数值用下面的公式计算:
[0046][0047]3)找到一个不在F中,并且D[u]最小的节点u。D[u]就是起点s到节点u的最短距离,把u加入F;
[0048]4)用节点u更新数组D中的最短距离:
[0049][0050]5)如果F中已经包含终点e,则最短路径已找到,否则继续执行步本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于业务流量智能识别业务链路的分析方法,其特征在于,包括如下步骤:步骤1:流量平台通过核心交换机、TAP交换机镜像流量采集到业务系统的流量;步骤2:对镜像流量进行TCP报文的包头信息进行分析,统计核心流量指标;步骤3:将完成分析的流量数据推送到大数据平台进行存储,提供给其他应用使用;步骤4:通过CMDB平台对业务流量进行筛选;步骤5:算法平台获得业务流量数据和CMDB数据后,以天为单位对数据进行二次处理;步骤6:在经过二次处理的数据中通过有效业务调用链路径模型进行筛选;步骤7:通过采用业务调用链路径甄选模型,在上述筛选出的若干个业务、每个业务的若干条调用链路径中,通过业务调用链甄选模型对每个业务的业务调用链进行甄选,找出真实的业务调用链;步骤8:在模型分析完毕后,算法平台会输出业务调用链的结果,用于运维平台进行验证。2.根据权利要求1所述的基于业务流量智能识别业务链路的分析方法,其特征在于,所述步骤4的具体步骤如下:步骤4.1:CMDB平台根据业务应用IP及端口,从大数据平台获取对应的流量信息;步骤4.2:从获取的流量信息中,过滤掉其他非业务的流量;步骤4.3:过滤后的流量为业务流量,并在业务流量节点中标记出对应的业务开始节点和结束节点;步骤4.4:算法平台调用经过过滤的业务流量以及CMDB信息。3.根据权利要求1所述的基于业务流量智能识别业务链路的分析方法,其特征在于,所述步骤5的具体步骤如下:步骤5.1:算法平台得到业务流量数据和CMDB数据后,对相同集群服务的各个节点及流向相同节点的路径进行合并节点、路径;步骤5.2:对业务流量以分钟为时间片,并绘画出该时间片的业务调用链,形成相同业务下,不同时间片的调用链数据。4.根据权利要求1所述的基于业务流量智能识别业务链路的分析方法,其特征在于,所述步骤6的具体步骤如下:步骤6.1:从经过二次处理的分钟时间片业务流量数据中,筛选出流量变化具备波动性的多个业务;步骤6.2:使用算法对上述的筛选出的业务的业务调用链信息进行调用链路径筛选,...

【专利技术属性】
技术研发人员:雷晓亮张永超雷建椿杨骏
申请(专利权)人:腾云悦智科技深圳有限责任公司
类型:发明
国别省市:

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

1