[发明专利]一种基于滑动窗口的自适应在线异常检测方法有效
申请号: | 201811069816.4 | 申请日: | 2018-09-13 |
公开(公告)号: | CN109167708B | 公开(公告)日: | 2020-06-26 |
发明(设计)人: | 王意洁;程力;马行空;李宗任;熊旺 | 申请(专利权)人: | 中国人民解放军国防科技大学 |
主分类号: | H04L12/26 | 分类号: | H04L12/26;H04L29/06 |
代理公司: | 长沙中科启明知识产权代理事务所(普通合伙) 43226 | 代理人: | 任合明 |
地址: | 410003 湖*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 滑动 窗口 自适应 在线 异常 检测 方法 | ||
1.一种基于滑动窗口的自适应在线异常检测方法,其特征在于包括以下步骤:
第一步,构建一个数据流异常检测系统,它由一个控制节点、一个数据节点和一个检测节点组成,每个节点都是一台可独立运行的计算机,各节点通过网络设备互连;
控制节点、数据节点和检测节点上均安装有操作系统、TCP/IP协议软件,配置了网络环境;
控制节点负责与用户交互,接收用户提交的异常检测请求,并向数据节点发送窗口数据初始化请求;负责接收用户提交的异常检测结束请求,停止异常检测;负责接收检测节点发送的检测结果,并将检测结果返回给用户,向数据节点发送窗口数据更新请求;
数据节点负责接收采集设备发送的数据,接收控制节点发送的窗口数据初始化请求,向检测节点发送窗口初始化数据和窗口数据初始化请求;接收控制节点发送的窗口数据更新请求,向检测节点发送窗口更新数据和窗口数据更新请求;
检测节点负责接收数据节点发送的窗口初始化数据和窗口数据初始化请求,对滑动窗口进行初始化;负责在滑动窗口内进行异常检测,并将检测结果发送给控制节点;负责检测滑动窗口中是否出现异常爆发,接收数据节点发送的窗口更新数据和窗口数据更新请求,并根据检测结果选择不同策略对滑动窗口进行数据更新;
控制节点上安装有任务管理程序和结果回收程序,任务管理程序负责接收用户提交的异常检测请求,并向数据节点发送窗口数据初始化请求;负责接收用户提交的异常检测结束请求,停止异常检测;结果回收程序负责接收检测节点发送的检测结果并返回给用户,向数据节点发送窗口数据更新请求;
数据节点上安装有接收程序和发送程序,接收程序负责接收采集设备发送的数据;发送程序一方面接收控制节点发送的窗口数据初始化请求,向检测节点发送窗口初始化数据和窗口数据初始化请求;一方面接收控制节点发送的窗口数据更新请求,向检测节点发送窗口更新数据和窗口数据更新请求;
检测节点上安装有异常检测程序和窗口管理程序,异常检测程序负责在滑动窗口内进行异常检测,并将检测结果发送给控制节点;窗口管理程序一方面负责接收数据节点发送的窗口初始化数据和窗口数据初始化请求,对滑动窗口进行初始化;一方面负责检测滑动窗口中是否出现异常爆发,接收数据节点发送的窗口更新数据和窗口数据更新请求,并根据检测结果选择不同策略对滑动窗口进行数据更新;
第二步,控制节点的任务管理程序接收用户提交的异常检测请求,并向数据节点发送窗口数据初始化请求;
第三步,数据节点接收控制节点发送的窗口数据初始化请求,向检测节点发送窗口初始化数据和窗口数据初始化请求,具体方法是:
3.1数据节点的发送程序接收控制节点发送的窗口数据初始化请求;
3.2数据节点的接收程序接收采集设备实时采集并发送的w个窗口初始化数据d1,d2,……,di,……,dw,1≤i≤w,w是滑动窗口中存储的数据的数量,w是正整数;
3.3数据节点的发送程序向检测节点发送d1,d2,……,di,……,dw和窗口数据初始化请求;
第四步,检测节点的窗口管理程序接收数据节点发送的d1,d2,……,di,……,dw和窗口数据初始化请求,对滑动窗口进行初始化,具体方法是:
4.1检测节点的窗口管理程序接收数据节点发送的d1,d2,……,di,……,dw和窗口数据初始化请求;
4.2采用滑动窗口数组SW[]存储滑动窗口中的数据,即由SW[i]存放di;
第五步,检测节点的异常检测程序在滑动窗口内进行异常检测,并将检测结果发送给控制节点,具体方法是:
5.1采用检测结果二维数组AD存储被检测出的异常数据及其在滑动窗口中的序号,AD[k][1]表示被检测出的第k个异常数据,AD[k][2]表示被检测出的第k个异常数据在滑动窗口中的序号,1≤k≤w;
5.2初始化检测结果二维数组AD,具体步骤如下:
5.2.1初始化检查结果序号k=1;
5.2.2令AD[k][1]=0,AD[k][2]=w+1;
5.2.3如果kw,则令k=k+1,转第5.2.2步;否则,转第5.3步;
5.3采用均值偏差法对滑动窗口中的数据进行异常检测,具体步骤如下:
5.3.1求滑动窗口数据均值,令滑动窗口数据均值
5.3.2求滑动窗口数据标准偏差,令滑动窗口数据标准偏差
5.3.3初始化滑动窗口数据序号i=1;
5.3.4初始化检测结果序号k=1;
5.3.5如果λ为SW[i]与平均值的偏差超过标准偏差的倍数,则SW[i]为异常数据,令AD[k][1]=SW[i],AD[k][2]=i,k=k+1;
5.3.6如果iw,则令i=i+1,转第5.3.5步;否则,转第5.4步;
5.4将检测结果二维数组AD发送给控制节点;
第六步,控制节点的结果回收程序接收检测节点发送的检测结果二维数组AD并返回给用户;
第七步,如果控制节点的任务管理程序接收到用户提交的异常检测结束请求,则停止异常检测,转第十步;否则,向数据节点发送窗口数据更新请求,转第八步;
第八步,数据节点的发送程序接收控制节点发送的窗口数据更新请求,向检测节点发送窗口更新数据和窗口数据更新请求,具体方法是:
8.1数据节点的发送程序接收控制节点发送的窗口数据更新请求;
8.2数据节点的接收程序接收采集设备实时采集并发送的s个数据b1,b2,……,bj,……,bs,1≤j≤s,s是滑动窗口中每次更新的数据的数量,s≤w-1;
8.3数据节点的发送程序向检测节点发送b1,b2,……,bj,……,bs和窗口数据更新请求;
第九步,检测节点的窗口管理程序检测滑动窗口中是否出现异常爆发,接收数据节点发送的b1,b2,……,bj,……,bs和窗口数据更新请求,并根据检测结果选择不同策略对滑动窗口进行数据更新,具体方法是:
9.1检测滑动窗口中是否出现异常爆发,具体步骤如下:
9.1.1初始化检测结果序号k=1;
9.1.2初始化异常数据数目m=0;
9.1.3如果w-s+1≤AD[k][2]≤w,令m=m+1;
9.1.4如果AD[k][2]≤w,令k=k+1,转第9.1.3步;否则,转第9.1.5步;
9.1.5如果m≤s/2,转第9.2步;否则转第9.3步;
9.2接收数据节点发送的b1,b2,……,bj,……,bs和窗口数据更新请求,按照常规方法更新滑动窗口数据,具体步骤如下:
9.2.1初始化滑动窗口数据序号i=1;
9.2.2令SW[i]=SW[i+s];
9.2.3如果i≤w-s-1,令i=i+1,转第9.2.2步;否则令i=i+1,转第9.2.4步;
9.2.4初始化滑动窗口更新数据序号j=1;
9.2.5令SW[i]=bj;
9.2.6如果iw,则令i=i+1,j=j+1,转第9.2.5步;否则,转第五步;
9.3接收数据节点发送的b1,b2,……,bj,……,bs和窗口数据更新请求,按照非常规方法更新滑动窗口数据,具体步骤如下:
9.3.1初始化滑动窗口更新数据序号j=1;
9.3.2初始化滑动窗口数据序号i=w-s+1;
9.3.3令SW[i]=bj;
9.3.4如果iw,则令i=i+1,j=j+1,转第9.3.3步;否则,转第五步;
第十步,异常检测结束。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科技大学,未经中国人民解放军国防科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811069816.4/1.html,转载请声明来源钻瓜专利网。