本申请涉及网络传输领域,尤其涉及一种网络故障根因定位方法,相应也涉及一种网络故障根因定位装置、计算机设备及非易失性存储介质。
背景技术:
网络直播吸取和延续了互联网的优势,利用视讯方式进行网上现场直播,可以将产品展示、相关会议、背景介绍、方案测评、网上调查、对话访谈、在线培训等内容现场发布到互联网上,利用互联网的直观、快速,表现形式好、内容丰富、交互性强、地域不受限制、受众可划分等特点,加强活动现场的推广效果。
网络直播的数据流量较大而传输实时性要求较高,对其服务架构的网络稳定性的要求也就较高,然而,限于全球通信网络基础建设现状,在一些网络直播实际应用过程中,例如直播平台中的直播活动、教学活动和会议活动等,常因一些异常导致活动无法正常举行。一旦异常出现,网络支持的各方一般通过与异常相关的数据来排查问题所在,相关解决方案也层出不穷。
具体到网络直播应用场景中,目前基于音视频观众端的统计的核心指标,在发生大范围异常时,如卡顿率突然增高,则会产生告警,但本申请的发明人在研究中发现,当前的告警机制中,只起到提示作用,无法立刻定位原因,通常只能够通过人力进行排查,这个过程的耗时较为严重。
技术实现要素:
本申请提供一种网络故障根因定位方法,相应也提供一种网络故障根因定位装置、计算机设备及存储介质。
为解决上述技术问题,本申请采取如下技术方案:
适应本申请的目的之一提供的一种网络故障根因定位方法,包括:
获取目标频道链路的链路信息,其中,所述目标频道链路包括多个频道节点,各频道节点构建具有多级连接关系的拓扑图谱,所述链路信息包括各频道节点不同运行维度产生的第一运行数据;
将所述链路信息输入至预设的模型集中,其中,所述模型集包括多个分析模型,各分析模型根据所述拓扑图谱和所述第一运行数据,分级判断所述多个频道节点中是否存在异常节点;
当确定所述多个频道节点中存在所述异常节点时,输出所述异常节点的节点信息。
进一步的实施例中,所述获取目标频道链路的链路信息之前,包括:
采集音视频传输的目标链路的状态信息,其中,所述目标链路包括多个频道链路,所述状态信息用于表征各频道链路至少一项运行状态的第二运行数据;
根据预设的标记规则,将所述第二运行数据划分为正样本数集和负样本数集;
基于所述正样本数集和负样本数集,计算所述目标链路各运行维度的维度指标,其中,所述维度指标用于表征所述各运行维度对所述目标链路运行状态的影响因子;
根据所述维度指标确定影响所述目标链路运行状态的频道链路为目标频道链路。
较佳的实施例中,所述采集音视频传输的目标链路的状态信息包括:
获取目标链路的异常告警信息;
根据所述异常告警信息采集所述目标链路的状态信息。
进一步的实施例中,所述将所述链路信息输入至预设的模型集中包括:
根据所述拓扑图谱分级获取待分析的目标频道节点;
将所述目标频道节点对应的第一运行数据分别输入至所述多个分析模型中;
读取各分析模型输出的判断结果,并根据所述判断结果确定所述目标频道节点是否为异常节点。
较佳的实施例中,所述读取各分析模型输出的判断结果,并根据所述判断结果确定所述目标频道节点是否为异常节点包括:
将所述各分析模型输出的判断结果进行二值化处理生成判断数值;
将所述各分析模型的判断数值进行累加求和生成异常分值;
将所述异常分值与预设的异常阈值进行比对;
当所述异常分值大于所述异常阈值时,确定所述目标频道节点为异常节点;否则,则确定所述目标频道节点为正常节点。
可选的实施例中,所述节点信息包括所述异常节点的任务信息,所述输出所述异常节点的节点信息包括:
获取所述异常节点的任务列表;
根据所述第一运行数据的采集时间确定所述异常节点正在执行任务的任务信息;
向预设的用户终端输出所述任务信息。
较佳的实施例中,所述模型集包括:孤立森林模型、支持向量机模型和局部异常因子模型。
为解决上述技术问题,本申请还提供一种网络故障根因定位装置,包括:
获取模块,用于获取目标频道链路的链路信息,其中,所述目标频道链路包括多个频道节点,各频道节点构建具有多级连接关系的拓扑图谱,所述链路信息包括各频道节点不同运行维度产生的第一运行数据;
处理模块,用于将所述链路信息输入至预设的模型集中,其中,所述模型集包括多个分析模型,各分析模型根据所述拓扑图谱和所述第一运行数据,分级判断所述多个频道节点中是否存在异常节点;
执行模块,用于当确定所述多个频道节点中存在所述异常节点时,输出所述异常节点的节点信息。
可选地,所述网络故障根因定位装置还包括:
第一采集子模块,用于采集音视频传输的目标链路的状态信息,其中,所述目标链路包括多个频道链路,所述状态信息用于表征各频道链路至少一项运行状态的第二运行数据;
第一标记子模块,用于根据预设的标记规则,将所述第二运行数据划分为正样本数集和负样本数集;
第一处理子模块,用于基于所述正样本数集和负样本数集,计算所述目标链路各运行维度的维度指标,其中,所述维度指标用于表征所述各运行维度对所述目标链路运行状态的影响因子;
第一执行子模块,用于根据所述维度指标确定影响所述目标链路运行状态的频道链路为目标频道链路。
可选地,所述网络故障根因定位装置还包括:
第一获取子模块,用于获取目标链路的异常告警信息;
第二采集子模块,用于根据所述异常告警信息采集所述目标链路的状态信息。
可选地,所述网络故障根因定位装置还包括:
第二获取子模块,用于根据所述拓扑图谱分级获取待分析的目标频道节点;
第二处理子模块,用于将所述目标频道节点对应的第一运行数据分别输入至所述多个分析模型中;
第二执行子模块,用于读取各分析模型输出的判断结果,并根据所述判断结果确定所述目标频道节点是否为异常节点。
可选地,所述网络故障根因定位装置还包括:
第三处理子模块,用于将所述各分析模型输出的判断结果进行二值化处理生成判断数值;
第一计算子模块,用于将所述各分析模型的判断数值进行累加求和生成异常分值;
第一比对子模块,用于将所述异常分值与预设的异常阈值进行比对;
第三执行子模块,用于当所述异常分值大于所述异常阈值时,确定所述目标频道节点为异常节点;否则,则确定所述目标频道节点为正常节点。
可选地,所述节点信息包括所述异常节点的任务信息,所述网络故障根因定位装置还包括:
第三获取子模块,用于获取所述异常节点的任务列表;
第四处理子模块,用于根据所述第一运行数据的采集时间确定所述异常节点正在执行任务的任务信息;
第四执行子模块,用于向预设的用户终端输出所述任务信息。
可选地,所述模型集包括:孤立森林模型、支持向量机模型和局部异常因子模型。
本申请为解决上述技术问题而提供的一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行上述所述网络故障根因定位方法的步骤。
本申请为解决上述技术问题而提供的一种非易失性存储介质,其存储有所述的网络故障根因定位方法所实现的计算机程序,该计算机程序被计算机调用运行时,执行该方法所包括的步骤。
相对于现有技术,本申请实施例的有益效果是:
本申请在确定引起网络传输链路异常的频道链路后,采集频道链路中各个频道节点的运行数据和频道链路的拓扑图谱。根据拓扑图谱中记载的各个频道节点之间的连接关系,通过模型集分级判断各频道节点之间端到端的数据传输是否发生异常,依次排查出引起频道链路异常的频道节点。通过拓扑图谱对频道链路进行分级端到端分析,尤其是在必要时融合多个模型集进行异常判断,提高了异常节点检测的准确性,由于拓扑图谱的存在不会出现由于混乱分析导致的冗余分析,提高了分析的效率。
本申请附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本申请一个具体实施例的网络故障根因定位方法的基本流程示意图;
图2为本申请一个具体实施例的确定目标频道链路的流程示意图;
图3为本申请一具体实施例的根据预警信息采集运行数据的流程示意图;
图4为本申请一个具体实施例的分级判断的流程示意图;
图5为本申请一个具体实施例的确定目标频道节点异常性的流程示意图;
图6为本申请一个具体实施例的异常节点的节点信息输出流程示意图;
图7为本申请一个实施例的网络故障根因定位装置基本结构原理示意图;
图8为本申请一个实施例的计算机设备的基本结构原理框图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本技术领域技术人员可以理解,这里所使用的“终端”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通信链路上,执行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备;pcs(personalcommunicationsservice,个人通信系统),其可以组合语音、数据处理、传真和/或数据通信能力;pda(personaldigitalassistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或gps(globalpositioningsystem,全球定位系统)接收器;常规膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他设备。这里所使用的“终端”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“终端”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是pda、mid(mobileinternetdevice,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。
请参阅图1,图1为本申请网络故障根因定位方法在其典型实施例中的基本流程示意图。如图1所示,本申请的一种网络故障根因定位方法,在其典型实施例中,包括:
步骤s1100、获取目标频道链路的链路信息,其中,所述目标频道链路包括多个频道节点,各频道节点构建具有多级连接关系的拓扑图谱,所述链路信息包括各频道节点不同运行维度产生的第一运行数据;
当确定传输音视频或者其他网络信息的网络传输链路出现异常时,首先,在整个网络传输链路中进行根因分析,当根因分析的结果指示是频道链路出现异常,导致整个传输网络出现数据异常时,需要对异常的频道链路进行各项指标的采集。
其中,频道链路是指传播音视频信息的主播端网络链路。频道链路是由多个频道节点连接而成包括:主播设备、avp(attribute-valuepair,数据标识名称)服务器和cdn(contentdeliverynetwork,内容分发网络)设备。主播设备、avp服务器和cdn设备均属于频道节点。
各个频道节点组成一个用于数据传输的多级传输网络,例如,主播设备与avp服务器连接,avp服务器与cdn设备连接,如此,构成一个二级数据传输网络,主播设备、avp服务器和cdn设备组成一个双向级联的拓扑图谱。但是,组成频道链路的频道节点不局限于此,根据具体应用场景的不同,在一些实施方式中频道链路还包括网关或转码服务器等设备。根据频道节点的增加,更多的频道节点能够组成更加复杂的拓扑图谱。
链路信息包括各个频道节点不同维度的运行数据,因此,第一运行数据包括(但不限于):采集时延、数据堆积时延、丢包率、端到端时延或者渲染时延等影响目标链路传输效率的运行数据。具体地,在采集第一运行数据时,以频道节点为采集对象采集频道节点之间端到端之间数据传输时产生的第一运行数据。
具体地,当确定目标频道链路为引起整个网络传输链路异常的原因后,对目标频道链路进行第一运行数据采集。采集时,采集目标链路10分钟内进行数据传输产生的不同维度的第一运行数据。但是,对第一运行数据的采集时长不局限于此,根据具体应用场景的不同,在一些实施方式中,采集时长能够为:1分钟、5分钟、20分钟或者例举值以外更短或者更长的时间段。
步骤s1200、将所述链路信息输入至预设的模型集中,其中,所述模型集包括多个分析模型,各分析模型根据所述拓扑图谱和所述第一运行数据,分级判断所述多个频道节点中是否存在异常节点;
将采集得到的目标频道链路的链路信息输入至预设的模型集中。模型集是由多个分析模型组成的算法集合,模型集中各个分析模型能够独立的对各个维度的第一运行数据进行分析。
各分析模块对各个维度的第一运行数据进行分析时,需要分级对第一运行数据进行分析。分级的依据在于根据拓扑图谱中记载的连接关系进行分级。例如,根据拓扑图谱中记载的音视频数据传输的起始点开始,依次地对频道节点之间的第一运行数据进行分析。当主播设备、avp服务器和cdn设备组成一个频道链路时,音视频数据由主播设备生成后依次传输至avp服务器和cdn设备。则进行分析时,先分析主播设备和avp服务器之间的第一运行数据,然后,分析avp服务器和cdn设备之间的第一运行数据。分级分析的次序不局限于此,根据具体应用场景的不同,在一些实施方式中,分级分析的次序能够按cdn设备—avp服务器—主播设备的次序进行。
在一些实施方式中,当同一级别中存在多个端到端的数据网络传输链路时,优先对网络传输链路较短的频道节点的第一运行数据进行分析。例如,当频道链路包括:主播设备、avp服务器、cdn设备和内容诊断设备时,其中,主播设备分别于avp服务器和内容诊断设备连接,avp服务器又跟cdn设备连接,此时,由于内容诊断设备仅仅与主播设备连接,无其他设备与它再发生数据传输,因此,主播设备和内容诊断设备的网络传输链路较短,同级链路中优先对主播设备和内容诊断设备之间的第一运行数据进行分析。
本实施方式中,模型集包括:孤立森林模型、支持向量机模型和局部异常因子模型。但是模型集中的分析模型不局限于此,根据具体应用场景的不同,模型集中还能包括(不限于):近邻算法模型、决策树模型、朴素贝叶斯、k均值算法模型、自编码器模型或主成分分析模型等有监督或者无监督模型。本申请中,优选该三种模型能够获得更为理想的实践结果。一般而言,推荐在模型集中包含多种模型,较佳的为三种以上。
模型集中的多个分析模型分别对同一级别中的第一运行数据进行分析,根据预先训练的分类逻辑或者数据之间的相互作用关系,每个分析模型根据各自的分析逻辑得到该第一运行数据是否异常的判断结果,并输出该判断结果。
在一些实施方式中,当且仅当模型集中的多个分析模型中,有一个模型分析第一运行数据的结果为异常时,则确定该第一运行数据对应的频道节点为异常。但是,判断方式不局限于此,根据具体应用场景的不同,在一些实施方式中,当且仅当异常判断结果的占比在整个分析模型的判断结论中超过50%时,则确定该第一运行数据对应的频道节点为异常。在另一些实施方式中,当且仅当所有分析模型输出的判断结果均为异常时,则确定该第一运行数据对应的频道节点为异常。
步骤s1300、当确定所述多个频道节点中存在所述异常节点时,输出所述异常节点的节点信息。
当确定目标频道链路中的频道节点存在异常节点时,需要向对应的维护人员的终端发送异常节点的节点信息,节点信息中包括异常节点的id信息,以便于维护人员能够快速确定异常节点并对应异常原因进行快速排查。
在一些实施方式中,节点信息中还包括异常节点执行的任务信息,任务信息的发送有利于异常节点回复或者修复后,对任务数据进行断点传输,避免数据丢失,也能够防止重复进行数据传输。
上述实施方式,在确定引起网络传输链路异常的频道链路后,采集频道链路中各个频道节点的运行数据和频道链路的拓扑图谱。根据拓扑图谱中记载的各个频道节点之间的连接关系,通过模型集分级判断各频道节点之间端到端的数据传输是否发生异常,依次排查出引起频道链路异常的频道节点。通过拓扑图谱对频道链路进行分级端到端分析,提高了异常节点检测的准确性,由于,拓扑图谱的存在不会出现由于混乱分析导致的冗余分析,提高了分析的效率。
在一些实施方式中,当音视频传输网络出现异常时,需要在整个网络传输链路中进行确定异常链路,当确定异常链路为频道链路时,确定对该异常频道链路进行进一步的根因分析。请参阅图2,图2为本实施例确定目标频道链路的流程示意图。
如图2所示,步骤s1100之前包括:
步骤s1010、采集音视频传输的目标链路的状态信息,其中,所述目标链路包括多个频道链路,所述状态信息用于表征各频道链路至少一项运行状态的第二运行数据;
在具体的网络音视频直播场景中,一个完整的音视频传播链路包含了从主播设备端到观众设备端的过程,音视频流从主播端被采集上传到avp(attribute-valuepair,数据标识名称)服务器中,再经过混画转码,最后通过cdn(contentdeliverynetwork,内容分发网络)等渠道下发到观众端,这一过程构成了完整的音视频传输。
在上述场景中,数据的传输终端涉及:主播设备、服务器端和观众端。音视频数据在上述三个设备之间进行传输时,无论在任何一个设备位置处或者在网络传输链路中穿线卡顿或者延时,均会导致音视频传输出现卡顿或者延时。
所述目标链路包括:主播设备、服务器端、观众端以及各设备之间的网络链路。
在音视频数据传输过程中,通过实时或者定时的方式对目标链路的状态信息进行采集。
在正常的使用过程中,由于,造成目标链路传输数据出现卡顿或者延误的原因有所不同,因此,在进行第二运行数据采集时,需要采集不同的维度的状态信息。例如,采集时延、数据堆积时延、丢包率、端到端时延或者渲染时延等影响目标链路传输效率的运行数据。其中,每种类型的运行数据均象征目标链路的一种运行状态。运行数据还包括生成上述状态信息的物理节点的设备信息。
步骤s1020、根据预设的标记规则,将所述第二运行数据划分为正样本数集和负样本数集;
本步骤主要实现对目标链路中的采集的各个维度的运行状态的运行数据的进行正样本数集和负样本数集的划分。
例如,视频卡顿,我们首先对实时存储的每条音视频流进行是否异常判断,若采集到的运行数据是非连续型变量,则通常将其枚举值通过业务含义归类成二值变量,如卡顿则最终转换是否卡顿的正负状态标记,若为连续型变量,则通常通过告警阈值划分为正负状态标记,如视频连麦时延,大于阈值,则为时延过高,否则为正常,特别地,通常将异常数据成为正样本数据。
由上述举例可知,在进行正样本数集和负样本数集的划分的划分时,我们通过标记规则:枚举值标记或者阈值标记,将采集的同一类型但不同时域内的运行数据进行标记。标记时将异常的运行数据标记为正样本数据,将正常数据标记为负样本数据。例如,将卡顿标记为正样本数据,将正常运行标记为负样本数据。将多个不同时域的正样本数据或者负样本数据组成数集,生成运行数据的正样本数集和负样本数集。
步骤s1030、基于所述正样本数集和负样本数集,计算所述目标链路各运行维度的维度指标,其中,所述维度指标用于表征所述各运行维度对所述目标链路运行状态的影响因子;
不同类型的运行数据代表目标链路的不同运行维度,即每种运行状态对应一种运行维度。因此,基于各个运行维度的运行数据对应的正样本数集和负样本数集,能够计算出各运行维度的维度指标。
首先,对各个正样本数集和负样本数集中连续变化的数据进行分箱处理,分箱处理的目的在于,将连续变化的数据通过采取等频法或基于业务定义进行离散化,将其转化为非连续变量。记x_i为x变量离散化后某一分箱,其中i属于[1,...,n],基于x_i进行正负样本汇总,x每一个分箱的正样本数记为bad_i,负样本数记为good_i,计算各个分箱的证据权重值,记为woe_i=ln((bad_i/bad_all)/(good_i/good_all),计算各个分箱的信息价值,记为iv_i=woe_i*((bad_i/bad_all)-(good_i/good_all)),对woe_i<0且正负样本合计数小于阈值的iv_i,对满足条件的iv_i进行求和,记为iv=sum(iv_i)。iv即为对应运行维度的维度指标,每一个运行维度的维度指标都表征该运行维度对目标链路正常运行的影响因子。其中,iv值越大,对目标链路正常运行的影响就越大。需要指出的是,对于woe_i和iv_i的筛选条件在不同的实施方式中有所不同,例如,woe_i的筛选条件能够为小于1、2、3或者其他任意实数,正负样本合计数小于1、2、3或者其他任意实数的iv_i。
步骤s1040、根据所述维度指标确定影响所述目标链路运行状态的频道链路为目标频道链路。
计算得到各个运行维度的维度指标后,通过排序的方式确定维度指标最大的值为聚集性维度。在一些实施方式中,根据iv值降序筛选出对目标链路影响最大的维度指标,并选取iv排序最大且信息价值大于0的维度指标作为聚集性维度。
当聚集性维度对应的设备或者链路为频道链路时,则该频道链路为目标频道链路。
当目标链路出现警示信息时,表明目标链路的某个环节出现了问题,导致目标链路传输数据不能够达到常规标准,此时,需要对目标链路中各个运行维度的数据进行采集,并计算各个运行维度的维度指标,然后,在维度指标中计算出聚集性维度。此时,聚集性维度即为确定的出现问题的根因节点对应的维度指标。由于在进行运行数据采集时,会采集其对应设备的设备信息,因此,能够通过聚集性维度确定对应设备的频道链路,然后对该频道链路再进行异常排查,通过由大到小的排查方式,提高了排查的效率。
本实施方式中,先对整个网络传输链路进行异常排查,当排查结果表明造成网络传输链路异常的病症在某个频道链路中时,进一步的对频道链路的异常原因进行下钻分析,提高了网络故障根因定位的准确度,同时,通过由大到小分级别的分析策略,提高了整个网络故障根因定位的效率。
在一些实施方式中,为节约网络资源,当且仅当目标链路中某一项指标超过了预警值,系统发出警示信息后,才对目标链路中各个运行维度的运行数据进行采集。具体请参阅图3,图3为本实施例根据预警信息采集运行数据的流程示意图。
如图3所示,步骤s1010包括:
步骤s1011、获取目标链路的异常告警信息;
在正常的音视频传输的目标链路中,会采集目标链路中运行状态的各项指标参数,并将采集的指标参数与该指标的预警阈值进行比较,当该指标参数超出了预警阈值或者预警区间时,监控系统会发出异常告警信息。
例如,当目标链路的卡顿率突然增高,则会产异常告警信息。能够引发异常告警信息的指标类型不限于此,根据具体应用场景的不同,在一些事实方式中,引发异常告警信息的指标类型包括(但不限于):平均延时时长、丢包率和传输速率等指标类型。
步骤s1012、根据所述异常告警信息采集所述目标链路的状态信息。
当接收到监控系统发送的异常告警信息后,根据步骤s1100采集音视频传输的目标链路的状态信息。
在接收到监控系统发送的异常告警信息后,再对目标链路各运行状态的状态信息进行采集,能够降低实时采集状态信息导致的网络资源占用率。
在一些实施方式中,为更近一步的降低对网络资源的展示率以及提高计算效率。通过历史数据统计分析,造成不同异常告警信息发生的根因节点或者原因,然后,建立异常告警信息类型与根因节点之间的映射列表。当异常告警信息发生后,提取异常告警信息的类型,然后,根据类型获取造成该异常的可能的根因节点。最后,具有针对性的提取造成该异常的可能的根因节点的运行数据进行根因分析。由于,该实施方式中,在进行数据采集之前,先进行一次根因节点的筛选,然后,在进行数据采集,能够降低采集运行数据的数据量,提高运算效率,有利于更快的确定造成异常告警信息的原因,提高了排查效率。
在一些实施方式中,多个分析模型分级对目标频道链路进行分析。具体请参阅图4,图4为本实施例分级判断的流程示意图。
如图4所示,步骤s1200包括:
步骤s1210、根据所述拓扑图谱分级获取待分析的目标频道节点;
各分析模块对各个维度的第一运行数据进行分析时,需要分级对第一运行数据进行分析。分级的依据在于根据拓扑图谱中记载的连接关系进行分级。例如,根据拓扑图谱中记载的音视频数据传输的起始点开始,依次地对频道节点之间的第一运行数据进行分析。当主播设备、avp服务器和cdn设备组成一个频道链路时,音视频数据由主播设备生成后依次传输至avp服务器和cdn设备。则进行分析时,先分析主播设备和avp服务器之间的第一运行数据,然后,分析avp服务器和cdn设备之间的第一运行数据。分级分析的次序不局限于此,根据具体应用场景的不同,在一些实施方式中,分级分析的次序能够按cdn设备—avp服务器—主播设备的次序进行。
在一些实施方式中,当同一级别中存在多个端到端的数据网络传输链路时,优先对网络传输链路较短的频道节点的第一运行数据进行分析。例如,当频道链路包括:主播设备、avp服务器、cdn设备和内容诊断设备时,其中,主播设备分别于avp服务器和内容诊断设备连接,avp服务器又跟cdn设备连接,此时,由于内容诊断设备仅仅与主播设备连接,无其他设备与它再发生数据传输,因此,主播设备和内容诊断设备的网络传输链路较短,同级链路中优先对主播设备和内容诊断设备之间的第一运行数据进行分析。
分析模型根据拓扑图谱对频道节点进行分级异常分析时,能够从数据传输的初始频道节点向尾部频道节点依次进行,也能够从数据传输的尾部频道节点向初始频道节点依次进行排查。而正在进行异常分析的频道节点被确定为目标频道节点。
步骤s1220、将所述目标频道节点对应的第一运行数据分别输入至所述多个分析模型中;
本实施方式中,模型集包括:孤立森林模型、支持向量机模型和局部异常因子模型。但是模型集中的分析模型不局限于此,根据具体应用场景的不同,模型集中还能包括(但不限于):近邻算法模型、决策树模型、朴素贝叶斯、k均值算法模型、自编码器模型或主成分分析模型等有监督或者无监督模型。
模型集中的多个分析模型分别对同一级别中的第一运行数据进行分析,根据预先训练的分类逻辑或者数据之间的相互作用关系,每个分析模型根据各自的分析逻辑得到该第一运行数据是否异常的判断结果,并输出该判断结果。
步骤s1230、读取各分析模型输出的判断结果,并根据所述判断结果确定所述目标频道节点是否为异常节点。
针对于同一个频道节点的第一运行数据分析,需要读取各个分析模型输出的判断结果,然后,综合多个判断结果来确定目标频道节点是否为异常节点。
当且仅当模型集中的多个分析模型中,有一个模型分析第一运行数据的结果为异常时,则确定该第一运行数据对应的频道节点为异常。但是,判断方式不局限于此,根据具体应用场景的不同,在一些实施方式中,当且仅当异常判断结果的占比在整个分析模型的判断结论中超过50%时,则确定该第一运行数据对应的频道节点为异常。在另一些实施方式中,当且仅当所有分析模型输出的判断结果均为异常时,则确定该第一运行数据对应的频道节点为异常。
通过多个分析模型的分析结果,对目标频道节点进行异常判断,由于,每个模型对数据的关注度维度不同,因此,能够降低偶发性数据波动造成的误判率,提高了判断的准确率。
在一些实施方式中,需要对各个分析模型的判断结果进行数值化后,再对目标频道节点的异常性进行分析。请参阅图5,图5为本实施例确定目标频道节点异常性的流程示意图。
如图5所示,步骤s1230包括:
步骤s1231、将所述各分析模型输出的判断结果进行二值化处理生成判断数值;
获取各个分析模型输出的判断结果后,根据判断结果表征的内容,对分析模型的判断结果进行二值化处理。具体地,当分析模型的判断结果为异常时,将该判断结果记为1;当分析模型的判断结果为正常时,将该判断结果记为0。0或者1即为分析模型输出的判断结果的判断数值。
步骤s1232、将所述各分析模型的判断数值进行累加求和生成异常分值;
获取各个分析模型的判断数值后,对各个分析模型的判断数值进行累加。例如,模型集包括:孤立森林模型、支持向量机模型和局部异常因子模型。其中,孤立森林模型对应的判断数值为1,支持向量机模型对应的判断数值为1,支持向量机模型对应的判断数值为0,则,上述三个判断数值的累加和为2,即该目标频道节点的异常分值为2。
步骤s1233、将所述异常分值与预设的异常阈值进行比对;
将计算得到的目标频道节点的异常分值后,将异常分值与预设的异常阈值进行比对。异常阈值为预设的用于衡量目标频道节点运行状态是否异常节点的衡量标准。具体地,在一些实施方式中,异常阈值为1,但是,异常阈值的取值不局限于此,根据具体应用场景的不同,在一些实施方式中,异常阈值的取值能够为0、2、3、4或者更大的数值。
步骤s1234、当所述异常分值大于所述异常阈值时,确定所述目标频道节点为异常节点;否则,则确定所述目标频道节点为正常节点。
将异常分值与异常阈值进行比对,当异常分值大于异常阈值时,则确定该目标频道节点为异常节点;当异常分值小于或者等于异常阈值时,则确定该目标频道节点为正常节点。
例如,模型集包括:孤立森林模型、支持向量机模型和局部异常因子模型。其中,孤立森林模型对应的判断数值为1,支持向量机模型对应的判断数值为1,支持向量机模型对应的判断数值为0,则,上述三个判断数值的累加和为2,即该目标频道节点的异常分值为2。当异常阈值为1时,由于,异常分值未大于异常阈值时,则,该目标频道节点为正常节点。
在一些实施方式中,异常节点的节点信息中包括该异常节点的任务信息和名称信息。请参阅图6,图6为本实施例异常节点的节点信息输出流程示意图。
如图6所示,s1300包括:
步骤s1310、获取所述异常节点的任务列表;
当确认目标频道节点为异常节点时,获取该异常节点的任务列表。每个频道节点在执行对应任务时,按执行任务的时间戳生成任务日志,将异常节点的任务日志按进行时间进行排列或者表格化后,生成该异常节点的任务列表。任务列表中记载有异常节点的id信息、任务名称和任务id。
步骤s1320、根据所述第一运行数据的采集时间确定所述异常节点正在执行任务的任务信息;
根据第一运行数据的采集时刻,在任务列表中查找,该采集时刻异常节点正在进行的任务信息,并提取该任务的任务名称或任务id。
在一些实施方式中,当频道链路为分布式系统的组成环节时,确定任务的任务id后,能够根据该任务id将该任务分配至频道链路的备用链路中进行执行,以便于维护数据的正常传输。其中,备用链路为与频道链路具有相同功能的网络传输链路。
步骤s1330、向预设的用户终端输出所述任务信息。
获取任务信息后,将异常节点的任务信息输出值预设的用户终端。其中,用户终端具体是指维护人员的用户终端。在一些实施方式中,节点信息还包括异常节点的名称信息。名称信息是指异常节点的节点id。
任务信息的发送有利于异常节点回复或者修复后,对任务数据进行断点传输,避免数据丢失,也能够防止重复进行数据传输。
进一步,本申请可以根据所述的网络故障根因定位方法实现为计算机程序,当其在计算机设备中运行后便能构造出本申请的一种网络故障根因定位装置。具体请参阅图7,图7为本实施例网络故障根因定位装置基本结构示意图。
如图7所示,一种网络故障根因定位装置,包括:获取模块2100、处理模块2200和执行模块2300。其中,获取模块2100用于获取目标频道链路的链路信息,其中,目标频道链路包括多个频道节点,各频道节点构建具有多级连接关系的拓扑图谱,链路信息包括各频道节点不同运行维度产生的第一运行数据;处理模块2200用于将链路信息输入至预设的模型集中,其中,模型集包括多个分析模型,各分析模型根据拓扑图谱和第一运行数据,分级判断多个频道节点中是否存在异常节点;执行模块2300用于当确定多个频道节点中存在异常节点时,输出异常节点的节点信息。
网络故障根因定位装置在确定引起网络传输链路异常的频道链路后,采集频道链路中各个频道节点的运行数据和频道链路的拓扑图谱。根据拓扑图谱中记载的各个频道节点之间的连接关系,通过模型集分级判断各频道节点之间端到端的数据传输是否发生异常,依次排查出引起频道链路异常的频道节点。通过拓扑图谱对频道链路进行分级端到端分析,提高了异常节点检测的准确性,由于,拓扑图谱的存在不会出现由于混乱分析导致的冗余分析,提高了分析的效率。
在一些实施方式中,网络故障根因定位装置还包括:第一采集子模块、第一标记子模块、第一处理子模块和第一执行子模块。其中,第一采集子模块用于采集音视频传输的目标链路的状态信息,其中,目标链路包括多个频道链路,状态信息用于表征各频道链路至少一项运行状态的第二运行数据;第一标记子模块用于根据预设的标记规则,将第二运行数据划分为正样本数集和负样本数集;第一处理子模块用于基于正样本数集和负样本数集,计算目标链路各运行维度的维度指标,其中,维度指标用于表征各运行维度对目标链路运行状态的影响因子;第一执行子模块用于根据维度指标确定影响目标链路运行状态的频道链路为目标频道链路。
在一些实施方式中,网络故障根因定位装置还包括:第一获取子模块和第二采集子模块。其中,第一获取子模块用于获取目标链路的异常告警信息;第二采集子模块用于根据异常告警信息采集音视频传输的目标链路的状态信息。
在一些实施方式中,网络故障根因定位装置还包括:第二获取子模块、第二处理子模块和第二执行子模块。其中,第二获取子模块用于根据拓扑图谱分级获取待分析的目标频道节点;第二处理子模块用于将目标频道节点对应的第一运行数据分别输入至多个分析模型中;第二执行子模块用于读取各分析模型输出的判断结果,并根据判断结果确定目标频道节点是否为异常节点。
在一些实施方式中,网络故障根因定位装置还包括:第三处理子模块、第一计算子模块、第一比对子模块和第三执行子模块。其中,第三处理子模块用于将各分析模型输出的判断结果进行二值化处理生成判断数值;第一计算子模块用于将各分析模型的判断数值进行累加求和生成异常分值;第一比对子模块用于将异常分值与预设的异常阈值进行比对;第三执行子模块用于当异常分值大于异常阈值时,确定目标频道节点为异常节点;否则,则确定目标频道节点为正常节点。
在一些实施方式中,节点信息包括异常节点的任务信息,网络故障根因定位装置还包括:第三获取子模块、第四处理子模块和第四执行子模块。其中,第三获取子模块用于获取异常节点的任务列表;第四处理子模块用于根据第一运行数据的采集时间确定异常节点正在执行任务的任务信息;第四执行子模块用于向预设的用户终端输出任务信息。
在一些实施方式中,模型集包括:孤立森林模型、支持向量机模型和局部异常因子模型。
为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图8,图8为本实施例计算机设备基本结构框图。
如图8所示,计算机设备的内部结构示意图。该计算机设备包括通过系统总线连接的处理器、非易失性存储介质、存储器和网络接口。其中,该计算机设备的非易失性存储介质存储有操作系统、数据库和计算机可读指令,数据库中可存储有控件信息序列,该计算机可读指令被处理器执行时,可使得处理器实现一种网络故障根因定位方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该计算机设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种网络故障根因定位方法。该计算机设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本实施方式中处理器用于执行图7中获取模块2100、处理模块2200和执行模块2300的具体功能,存储器存储有执行上述模块所需的程序代码和各类数据。网络接口用于向用户终端或服务器之间的数据传输。本实施方式中的存储器存储有网络故障根因定位装置中执行所有子模块所需的程序代码及数据,服务器能够调用服务器的程序代码及数据执行所有子模块的功能。
计算机设备在确定引起网络传输链路异常的频道链路后,采集频道链路中各个频道节点的运行数据和频道链路的拓扑图谱。根据拓扑图谱中记载的各个频道节点之间的连接关系,通过模型集分级判断各频道节点之间端到端的数据传输是否发生异常,依次排查出引起频道链路异常的频道节点。通过拓扑图谱对频道链路进行分级端到端分析,提高了异常节点检测的准确性,由于,拓扑图谱的存在不会出现由于混乱分析导致的冗余分析,提高了分析的效率。
本申请还提供一种非易失性存储介质,其以计算机可读指令的形式存储有依据所述的网络故障根因定位方法所实现的计算机程序,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述任一实施例网络故障根因定位方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)等非易失性存储介质,或随机存储记忆体(randomaccessmemory,ram)等。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本技术领域技术人员可以理解,本申请中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本申请中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本申请中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。
以上所述仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。