一种基于机器学习的域内故障检测方法、终端及存储介质转让专利
申请号 : CN202011330617.1
文献号 : CN112636998B
文献日 : 2022-03-08
发明人 : 李清 , 叶连金 , 江勇 , 成剑 , 王向荣
申请人 : 鹏城实验室 , 清华大学深圳国际研究生院 , 南方科技大学
摘要 :
权利要求 :
1.一种基于机器学习的域内故障检测方法,其特征在于,所述方法包括:根据网络拓扑中每个节点的度数以及所述每个节点在所述网络拓扑中跳数最小的路径中出现的频率,确定监测节点;
获取所述监测节点的监测数据,对所述监测数据进行特征工程,得到被监测的节点和链路的流量特征变化信息;
根据预设分类算法以及所述流量特征变化信息确定故障的节点;
所述根据网络拓扑中每个节点的度数以及所述每个节点在所述网络拓扑中跳数最小的路径中出现的频率,确定监测节点包括:获取网络拓扑中每个节点的度数以及所述每个节点在所述网络拓扑中跳数最小的路径中出现的频率;
将所述度数最大的节点作为监测节点以及将所述频率最大的节点作为监测节点。
2.根据权利要求1所述的一种基于机器学习的域内故障检测方法,其特征在于,所述获取所述监测节点的监测数据,对所述监测数据进行特征工程,得到被监测的节点和链路的流量特征变化信息包括:
获取所述监测节点的监测数据;
建立连续的采样窗口;
根据所述采样窗口以及所述监测数据,对被监测的节点和链路进行特征工程,得到被监测的节点和链路的流量特征变化信息。
3.根据权利要求2所述的一种基于机器学习的域内故障检测方法,其特征在于,所述根据所述采样窗口以及所述监测数据,对被监测的节点和链路进行特征工程,得到被监测的节点和链路的流量特征变化信息包括:根据所述监测数据和所述采样窗口,获取被监测的节点和链路在每一个采样窗口内的流量特征数据;
对所有采样窗口内的流量特征数据按时间顺序进行分析和整合,得到所述流量特征数据的变化数据,将所述变化数据作为所述被监测的节点和链路的流量特征变化信息。
4.根据权利要求3所述的一种基于机器学习的域内故障检测方法,其特征在于,所述被监测的节点和链路的流量特征数据包括:以预设地址为源地址的数据包的数量信息;
以预设地址为目的地址的数据包的数量信息;
数据包的数量信息;
起始窗口变量信息;
本级窗口的以预设地址为源地址的数据包的数量信息与上级窗口的以预设地址为源地址的数据包的数量信息的第一比值信息;
本级窗口的以预设地址为目的地址的数据包的数量信息与上级窗口的以预设地址为目的地址的数据包的数量信息的第二比值信息;
终止窗口变量信息;
本级窗口的以预设地址为源地址的数据包的数量信息与后级窗口的以预设地址为源地址的数据包的数量信息的第三比值信息;
本级窗口的以预设地址为目的地址的数据包的数量信息与后级窗口的以预设地址为目的地址的数据包的数量信息的第四比值信息。
5.根据权利要求1所述的一种基于机器学习的域内故障检测方法,其特征在于,所述根据预设分类算法以及所述流量特征变化信息确定故障的节点包括:通过预设分类算法,根据所述流量特征变化信息对所述被监测的节点或链路进行分类,得到分类结果;
根据所述分类结果确定故障的节点。
6.根据权利要求5所述的一种基于机器学习的域内故障检测方法,其特征在于,所述通过预设分类算法,根据所述流量特征变化信息对所述被监测的节点或链路进行分类,得到分类结果包括:
将所述节点的流量特征变化信息作为所述预设分类算法的输入信息;
获取所述预设分类算法输出的函数值,当所述预设分类算法输出的函数值大于或者等于预设函数值时,得到分类结果为所述节点为故障的节点。
7.根据权利要求5所述的一种基于机器学习的域内故障检测方法,其特征在于,所述通过预设分类算法,根据所述流量特征变化信息对所述被监测的节点或链路进行分类,得到分类结果包括:
将所述链路的流量特征变化信息作为所述预设分类算法的输入信息;
获取所述预设分类算法输出的函数值,当所述预设分类算法输出的函数值大于或者等于预设函数值时,所述分类的分类结果为所述链路为故障的链路;
获取与预设节点相连的所有链路的分类结果,根据所述分类结果计算出所述预设节点相连的所有链路中故障的链路的数量占所有链路的数量的比例;
将所述比例与预设比例进行比较,当所述比例大于所述预设比例时,得到分类结果为所述预设节点为故障的节点。
8.一种移动终端,其特征在于,包括:处理器、与处理器通信连接的存储介质,所述存储介质适于存储多条指令;所述处理器适于调用所述存储介质中的指令,一致性实现上述权利要求1‑7任一项所述的一种基于机器学习的域内故障检测方法的步骤。
9.一种计算机可读存储介质,其上存储有多条指令,其特征在于,所述指令适用于由处理器加载并执行,以实现上述权利要求1‑7任一项所述的一种基于机器学习的域内故障检测方法的步骤。
说明书 :
一种基于机器学习的域内故障检测方法、终端及存储介质
技术领域
背景技术
带宽用于转发探测包,而不是数据包,这对于网络性能造成了重大的影响;如果探测包发送
频率过低,那么无法及时地反馈网络的实时情况。可见,现有技术中基于探测包频率来实现
域内故障检测方法时会影响网络性能,且造成网络反馈延时。
发明内容
以确定合适的探测包发送频率的问题。
一致性实现上述任一项所述的一种基于机器学习的域内故障检测方法的步骤。
障检测方法的步骤。
节点的监测数据,对所述监测数据进行特征工程,得到被监测的节点和链路的流量特征变
化信息;根据预设分类算法以及所述流量特征变化信息确定故障的节点。可见,本发明中在
进行域内故障检测时完全不需要使用探测包进行检测,即无需受到探测包频率的影响,并
且本发明不会对影响网络性能,也不会造成网络反馈延时,因此解决了现有技术中在进行
域内故障检测时难以确定合适的探测包发送频率的问题。
附图说明
发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,
还可以根据这些附图获得其他的附图。
具体实施方式
于限定本发明。
运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
量在2017年到2022年将增长15倍。随着直播视频流量的不断增长,实现用户体验质量(QoE)
联合优化具有重要意义。同时,物联网、智慧交通等多种新应用的出现对于网络的可靠性和
时延提出了更高要求。
户体验急剧下降。现行的域内故障检测方法主要基于探测包的检测。BFD协议和OSPF方法分
别为域内故障检测提供了两种方法。BFD协议为点对点之间建立了毫秒级的双向检测,而
OSPF协议通过设置点和点之间互相发送hello报文段来进行域内故障检测。然而,基于探测
包的域内故障检测方法主要面临发送探测包频率的问题,如果探测包发送频率过高,那么
网络中大量的带宽用于转发探测包,而不是数据包,这对于网络性能造成了重大的影响;如
果探测包发送频率过低,那么无法及时地反馈网络的实时情况。因此,现有的域内故障检测
方法难以确定合适的探测包发送频率,且同时存在通信开销过大的问题。
输层协议,主要作用是数据传输,TCP主要确保不同节点之间的端到端数据传输,本发明正
是通过定期收集TCP流中的数据包数量设计特征,根据TCP流在重发等情况下的在不同时间
段内的不同表现进行域内故障检测。可见,本发明中在进行域内故障检测时完全不需要使
用探测包进行检测,即无需受到探测包频率的影响,并且本发明还可以有效减少控制器与
可编程交换机的通信开销,不会对影响网络性能,也不会造成网络反馈延时。因此解决了现
有技术中在进行域内故障检测时难以确定合适的探测包发送频率的问题。
可编程交换机。部署完毕以后,监测节点就可以实现定期地进行数据包数量的计算,当监测
节点收到控制器发来的信息后,监测节点就可以将数据发送给控制器,由控制器分析各个
节点、链路的流量特征。
网络中TCp流的流量变化从而进行故障节点的判断,因此在部署监测节点时还需要考虑部
署方案是否能够实现控制器获取到尽量多的流的流量特征信息。
节点所能覆盖的节点数量。具体地,本实施例中首先根据下述表1中的算法获取所有节点中
所述度数的数值最大的节点,将该节点作为监测节点;以及根据下述表2中的算法获取所有
节点中所述频率最大的节点,将该节点作为监测节点。已经成为监测节点的节点不再参与
下一轮的监测节点的筛选。对于剩余节点,同样选取所述剩余节点中所述度数的数值最大
的节点作为监测节点以及所述频率的数值最大的节点作为监测节点。根据预设的轮数,每
次都选取剩余节点中所述度数的数值最大的节点作为监测节点以及所述频率的数值最大
的节点作为监测节点。将所有轮筛选出的监测节点全部都作为当前网络拓扑中的监测节
点。
述方法还包括如下步骤:
数据。当域内故障发生时(所述域内故障定义为节点故障和链路故障),对非结构化的流量
数据进行特征工程,使其变为结构化的流量特征变化信息。
卡,路由器或网络)的数据平面处理数据包。如图5所示,其展示了P4可编程交换机上数据收
集工作的过程。与传统的交换机不同的是,P4可编程交换机将转发逻辑分解为数据处理单
元。在PUFF框架的数据处理单元中,一部分的数据处理单元负责对一段时间内所转发的数
据包缓存,并根据特征工程的构建为所有的交换机收集流量特征变化信息收集。同时,监测
节点并行地执行与控制器的通信。当监测节点的通信线程收到控制器节点的推送信息时,
便会立即将一段时间内的不同时间间隔中的采样数据发送给控制器。
和w3。Ti表示一对
据通信中,接收站发给发送站的一种传输类控制字符,表示发来的数据已确认接收无误。
CWnd指的是congestion window,表示计算机网络中拥塞窗口,拥塞窗口的大小取决于网络
速度的拥塞程度和处理数据量。
节点和所述链路的流量特征数据主要包括如表3所示的几种类型的数据:tcp_srcit指的是
以预设地址为源地址的数据包的数量信息;tcp_dstit指的是以预设地址为目的地址的数据
包的数量信息;tcp_countit指的是数据包的数量信息;firstwindowt指的是起始窗口变量
信息;ratiobeforesit指的是本级窗口的以预设地址为源地址的数据包的数量信息与上级
窗口的以预设地址为源地址的数据包的数量信息的第一比值信息;ratiobeforedit指的是
本级窗口的以预设地址为目的地址的数据包的数量信息与上级窗口的以预设地址为目的
地址的数据包的数量信息的第二比值信息;lastwindowt指的是终止窗口变量信息;
ratioaftersit指的是本级窗口的以预设地址为源地址的数据包的数量信息与后级窗口的
以预设地址为源地址的数据包的数量信息的第三比值信息;ratioafterdit指的是本级窗口
的以预设地址为目的地址的数据包的数量信息与后级窗口的以预设地址为目的地址的数
据包的数量信息的第四比值信息。
tcp_dstit 以hi为目的地址的TCP数据包的数量
tcp_countt TCP数据包的数量
firstwindowt 当该采样窗口为第一个采样窗口时,为1
ratiobeforesit (tcp_srcit+1)/(tcp_srcit‑1+1)当firstwindowt!=1
ratiobeforedit (tcp_dstit)+1/(tcp_dstit‑1+1)当firstwindowt!=1
lastwindowt 当该采样窗口为最后一个采样窗口时,为1
ratioaftersit (tcp_srcit+1)/(tcp_srcit+1+1)当lastwindowt!=1
ratioafterdit (tcp_dstit+1)/(tcp_dstit+1+1)当lastwindowt!=1
息,至此完成各个节点、链路的特征工程,所述特征工程主要是通过下表4所示的算法。
各类流量特征信息在没有发生节点故障时,即节点正常情况下的变化情况;表6展示的是各
类流量特征信息在发生节点故障时,即节点异常情况下的变化情况。
tcp_dstit 初始值 ↑ ↑ ↑
tcp_countit 初始值 ↑ ↑ ↑
firstwindowt 1 0 0 0
ratiobeforesit 0 0 0 1
ratiobeforedit 初始值 ↑ ↑ ↑
lastwindowt 初始值 ↑ ↑ ↑
ratioaftersit 初始值 ↓ ↓ ↓
ratioafterdit 初始值 ↓ ↓ ↓
tcp_srcit 初始值 ↑ ↓ 0
tcp_dstit 初始值 ↑ ↓ 0
tcp_countit 初始值 ↑ ↓ 0
firstwindowt 1 0 0 0
ratiobeforesit 0 0 0 1
ratiobeforedit 初始值 ↑ ↓ ↓
lastwindowt 初始值 ↑ ↓ ↓
ratioaftersit 初始值 ↓ ↓ ↓
ratioafterdit 初始值 ↓ ↓ ↓
节点和链路进行二分类。以下为所述GBDT算法的目标函数:
量特征变化信息进行分类任务。然后根据分类结果确定故障的节点或者故障的链路。
类算法输出的函数值大于或者等于预设函数值时(例如所述预设函数值可以为0.5),则根
据所述函数值将所述节点判定为故障的节点。简言之,该方法是基于节点的流量特征变化
信息确定故障节点的检测方法,直接基于特征工程中生成的某点的流量特征变化信息直接
进行节点级的故障检测。
取所述预设分类算法输出的函数值,当所述预设分类算法输出的函数值大于或者等于预设
函数值时,所述分类的分类结果为所述链路为故障的链路。最后,获取与预设节点相连的所
有链路的分类结果,根据所述分类结果计算出所述预设节点相连的所有链路中故障的链路
的数量占所有链路的数量的比例,将所述比例与预设比例进行比较,当所述比例大于所述
预设比例时,确定所述预设节点为故障的节点。简言之,该方法是基于链路的流量特征变化
信息确定故障的链路,进而基于故障的链路确定故障的节点的检测方法,即基于特征工程
中链路的流量特征变化信息间接进行节点的故障检测。具体地,先对所有的链路根据特征
工程得到的流量特征变化信息进行一次二分类。再对各个节点所在的链路进行一次计算,
如果某个节点所连的所有链路或所连链路被判定为故障的比例超过预设比例时,则可以认
为该节点为故障的节点。此外,如果某一个节点发生了故障,则相当于与该节点所连的链路
都发生了故障。
为转发的tcp流和以与S2直连主机为目的地址的tcp流。当监测节点通过S4和S6进行交互
时,得出S2可能出现故障,则获取S4、S6基于其收集的流量数据所构建的流量特征变化信
息,控制器收到所述流量特征变化信息以后,进行分类任务,输出分类结果,实现自动定位
网络拓扑中的故障节点或者故障链路。
据量的情况下可以精确地进行故障定位,从而能够快速启动重路由和路由保护,从而为精
细化的智能路由、路由工程提供可能,有效地提升了网络性能。
在。易于部署到现行的可编程交换机上,对可编程交换机的性能要求不高,易于实现。
处理器用于提供计算和控制能力。该智能终端的存储器包括非易失性存储介质、内存储器。
该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的
操作系统和计算机程序的运行提供环境。该智能终端的网络接口用于与外部的终端通过网
络连接通信。该计算机程序被处理器执行时以实现一种基于机器学习的域内故障检测方
法。该智能终端的显示屏可以是液晶显示屏或者电子墨水显示屏。
可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
种基于机器学习的域内故障检测方法的指令。
可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,
本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可
包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM
(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括
随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,
诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强
型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM
(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
率,确定监测节点;获取所述监测节点的监测数据,对所述监测数据进行特征工程,得到被
监测的节点和链路的流量特征变化信息;根据所述流量特征变化信息确定故障的节点。可
见,本发明中在进行域内故障检测时完全不需要使用探测包进行检测,即无需受到探测包
频率的影响,并且本发明不会对影响网络性能,也不会造成网络反馈延时,因此解决了现有
技术中在进行域内故障检测时难以确定合适的探测包发送频率的问题。
护范围。