基于数据挖掘与关联分析的工控设备异常运行状态自动化检测方法分析
时间:2022-05-23
摘 要:
以准确、高效地检测工控设备异常为目的,研究基于数据挖掘与关联分析的工控设备异常运行状态自动化检测方法。以采集的某电厂 DCS 网络全流量数据形成的工控设备运行状态日志序列为输入,通过预处理、特征提取等方式获取待监测的工控设备运行状态数据的特征向量,通过凝聚型层次聚类算法聚类特征向量初步区分工控设备正常、异常运行状态数据,再利用基于矩阵的 Apriori 算法,挖掘工控设备正常运行状态构建正常行为模式库,以关联分析获取的工控设备正常运行状态规则集为参照,通过相似度对比输出工控设备异常运行状态的自动化检测结果。实验结果表明:该方法能够准确检测出工控设备异常运行状态,检测效率高、误差小。
内容目录:
1 工控设备异常运行状态自动化检测
1.1 DCS 网络全流量数据分析
1.1.1 DCS 网络全流量综述
1.1.2 DCS 网络全流量数据统计
1.1.3 DCS 网络通信结构
1.2 日志数据预处理
1.3 日志特征提取
1.4 日志分析
1.4.1 日志聚类
1.4.2 日志关联分析
1.5 日志检测
2 实验分析
3 结 论
当前针对电厂机组跳闸后的事件分析,主要依赖于汽轮机紧急跳闸系统(Emergency Trip System,ETS)的跳闸输出记录和分散控制系统(Distributed Control Systems,DCS)的事件顺序(Sequence of Event,SOE)记录。因 ETS 系统及 SOE 记录采集数据受限,导致部分机组跳闸事件无法分析。针对这一情况,舒斐等人 结合深度置信网络(Deep Belief Networks,DBN)算法和随机森林(RandomForest,RF)算法,对工控设备的异常进行识别;吴英友等人 采用两阶段聚类的方法检测工控设备的异常状态。但是前者的适用性较弱,后者的精准程度较低。
为此,本文研究基于数据挖掘与关联分析的工控设备异常运行状态自动化检测方法,通过获取工控设备运行状态数据间的关联规则展开数据挖掘,准确、高效地实现工控设备异常运行状态自动化检测。
1工控设备异常运行状态自动化检测
在分布式系统中,工控设备往往扮演着主机的角色,若由工控设备控制的整个系统因未能及时重启而停止工作,将造成事故或经济损失,因此,有必要根据 DCS 网络全流量数据和日志数据,逐一分析工业控制设备的异常运行状态。
1.1 DCS 网络全流量数据分析
某电厂在 1 月内连续 2 次出现过不明原因的非计划停机,严重影响电厂及电网安全运行,应电厂要求我司专业人员于 8 月 7 日到达现场开展机组异常跳闸检查分析。对电厂前期已进行的检查工作再次梳理,对机组进行模拟启动全仿真试验,通过超速保护控制单元(Over speed Protect Controller,OPC)超速试验复现了机组异常停机,基于 DCS 网络全流量分析技术,真实还原机组跳闸的全过程,从而对电厂机组异常停机事件进行精准的定性分析。
1.1.1 DCS 网络全流量综述
试验期间采集的全流量数据事件记录时间范 围:2020-8-7 14:04:34~2020-8-7 18:31:55,采集流量会话、IP 资产、所使用的通信协议情况如表 1、表 2 所示。
表 1 流量总体情况
表 2 流量资产、协议情况
1.1.2 DCS 网络全流量数据统计
(1)原始流量采集情况(时间、跨度)。本次分析采集了该电厂 #2 机组一区 DCS 系统数据,2020-8-7 14:04:34~2020-8-7 18:31:55 时 间段的流量,共计 134.14 GB,如表 3 所示。
表 3 原始流量采集情况
(2)流量统计概况。IP-Top-ALL 表是指通过统计原始流量得到的 IP 端点表,总计 63 个IP 地址。IP 会话表是指通过统计原始流量得到的,总计 66 个 IP 会话。协议流量统计是指通过统计原始流量得到使用的协议所占流量大小情况,具体如表 4 所示。用户数据报协议(User Datagram Protocol,UDP)会话是通过统计原始流量得到的 UDP 会话表,总计 188 个 UDP 会话。主要资产信息是对采集流量进行整理,通过物理会话可以定位 DCS 主副控制器与操作站,其包含主控制器 20 个,副控制器 20 个,工程师站、操作员站、历史站 11 个。
表 4 协议流量统计情况
1.1.3 DCS 网络通信结构
通过对采集的 DCS 网络全流量 IP 节点、会话、协议进行分析,可从流量数据分析中提取以下内容:过程控制数据实时上报;操作事件记录日志;过程控制报警上报;DCS 系统网络时间协议(Network Time Protocol,NTP)对时;DCS 系统核心交换机的双机热备。
1.2 日志数据预处理
以上述 DCS 网络全流量数据作为工控设备运行状态数据,其是一种结构多为无结构化或半结构化的日志数据,涵盖了事件发生的具体时间与内容。为提升日志数据的挖掘质量,需利用应用数据预处理技术来获取干净、准确的数据源 [8]。数据预处理的流程如图 1 所示。
图 1 数据预处理流程
将原始工控设备运行状态数据的日志进行合并后,展开日志清理,根据挖掘任务处理日志文件,清理与挖掘关联性不强的对象之间的引用;对清理后的日志进行用户识别,以用户记录的形式来表示同一个用户的日志活动序列,得到一个点击流;通过会话识别从点击流数据中重构页面信息,以此获取用户浏览网页的实际行为序列 ;经路径补充能够将遗漏的请求填充在用户会话中优化识别出正确的用户会话,获取完整的用户会话序列;采用事务识别把访问的网页顺序分割为能够代表所有用户会话的逻辑单元,找到最有含义的会话访问路径,最终获取日志数据中需要应用的事务数据。
1.3 日志特征提取
日志的特征挑选是工控设备运行状态自动化检测的关键,其特征的差异会严重影响后续结果。当日志分解为独立事件后,还需对其进行编码,获取一个数字特征向量,实现运行状态自动化检测模型的输入。日志的划分应用窗口机制包括固定、滑动和会话 3 种窗口。由于现实中事务日志具有差异,使得其运行状态自动化检测重要度也存在差异,所以需采用逆文档频率(Inverse Document Frequency,IDF)对差异事务日志的权重展开计算,该技术是一种能够实现信息搜索的术语加权技术 ,能够获取某术语在某文档中的重要程度。把每个工控设备运行状态的事务日志当作一个术语,以各日志序列为一文档。若某事务日志多次出现于多个日志序列内,则该事务日志在工控设备运行状态自动化检测中的权重较低。IDF 的计算公式表示为:
其中,N、分别为日志序列总数与事务 t出现的序列数。通过 IDF 的计算公式,可从事务计数矩阵中获取事务权重矩阵,得出日志的特征矩阵。
1.4 日志分析
日志分析主要包括聚类分析和关联规则挖掘两个部分。其中,聚类分析是应用凝聚型层次聚类算法,通过聚类特征向量初步区分工控设备的正常、异常运行状态数据;关联规则挖掘是应用 Apriori 改进算法,关联规则挖掘工控设备正常运行产生的日志数据集,利用所挖掘的工控设备正常运行状态构建正常行为模式库。
1.4.1 日志聚类
通过聚类较为相似的日志数据来区分工控设备正常、异常运行状态。由于在目标工控设备内获取的日志数据无标签,所以一般采用凝聚型层次聚类算法过滤海量日志数据中的正常日志数据,获取工控设备异常运行状态数据候选集。凝聚型层次聚类算法内的距离度量利用欧氏距离,则日志序列 Si 与 Sj 的欧氏距离为:
其中,、分别表示第 i、j 个日志序列中的第 k 个事件。
聚类时,先把所有日志序列当作一个类簇,计算类簇之间的距离,合并距离最近的两个簇。为实现簇的合并,需要先对其距离度量展开定义,以各簇内日志序列间的最大距离为其距离度量,聚类结束的条件为距离阈值 e,在簇间的最大距离大于 e 的情况下结束聚类。
工控设备运行状态自动化检测阶段,需要求取给定日志序列与目前簇的向量距离,若其与最近簇之间的欧氏距离低于阈值,则分割该日志序列特征向量至最近簇,反之则生成一个新簇。若距离最近的簇是正常的日志序列,则为正常,反之则为异常。
1.4.2 日志关联分析
以日志聚类中获取的工控设备正常运行状态数据特征为输入,展开日志关联分析,输出表示工控设备正常运行状态的频繁集和关联规则信息,通过关联分析挖掘海量日志数据中的工控设备正常运行状态数据,构建工控设备正常运行的模式规则库。
关联规则挖掘算法的主要目的是搜索分析蕴含于项集之间类似的规则,通过经典的 Apriori 算法可有效实现该目的,Apriori 算法的应用过程如下文所述。
(1)项目和项集。令表示项集。其中,所有为项目。项集长度为项集 I 中所含项目的数量 k。
(2)事务和事务数据库。所有事务均为 I中子集,将其表示为 T,得到 T ⊆ I。利用事务ID 区分差异事务,有利于查找、累计频繁集。所有事务集表示为事务数据库 D,通过描述 D 中所含事务数。
(3)项集的支持度。针对项集,通过 count(X ⊆ T) 代表 D 中所含 X 的事务数,得 到 X 的支持度为:
(4)项集的最小支持度和频繁集。搜索关联规则时,项集必须符合特定支持度阈值(项集最小支持度),将其表示为。在某项集支持度大于或等于的情形下,将该项集称作频繁集;不符合要求的称作非频繁集。
(5)关联规则。定义关联规则形式为:
其中,且,X、Y 分别表示规则 R 的条件、结果。R 意为在某事务内存在 X 时,有一定概率也存在 Y。
表示在 X 内的项目存在时,Y 内的项目也对应存在。
(6)关联规则的支持度。当。
时,R 的支持度可以通过 D 内同时存在 X、Y 的事务数和全部事务数的比值描述,用表示:
(7)关联规则的可信度。当,时,可以通过同时存在 X、Y 的事务数和存在 X 的事务数的比值描述可信度,其映射了事务内存在 X 的同时存在 Y的概率,用表示:
(8)连接和剪枝。当同长度的两个频繁集中仅有某一不同项时,连接获取候选频繁集为连接。当已知频繁集的每个子集都为频繁时,修剪候选频繁集的流程为剪枝。
在 Apriori 算法中,工控设备运行状态数据挖掘时不断形成候选频繁集,经其支持度计算形成频繁集,通过连接、剪枝获取新候选集,迭代至不能形成新的频繁集时算法结束。
由于 Apriori 算法在计算过程中存在形成的候选集多、运行效率低等问题,本文提出了基于矩阵的 Apriori 算法,以矩阵的形式描述事务数据库,提升 Apriori 算法的性能,基于矩阵的Apriori 算法的定义域与实现步骤如下文所述。
定 义 1:针 对 任 意 给 定 D 存在映射关系:,其中,m、n 分别表示项目数、事务数,Mij 定义为:
定义 i 和 j 为两个不同的事务数据库候选集,得出事务数据库的支持度,,。
定义 2:D 中所有项 Ii 的向量表示为:
其中,的支持度计数表示为:
定义 3:两项集的向量公式为:
其中,k 为项集长度,两项集的支持度计数通过的向量内积描述,得到:
定义 4:K项集的向量为,则其支持度计数为:
算法具体步骤为:
步骤 1:按照定义 1,将 D 映射成相应布尔矩阵,其中行、列分别表示“项”“事务”;按照定义 2 求取完成转换的矩阵所有行的向量和,得出所有项的支持度计数,最小支持度的项为频繁集。
步骤 2:按照所得 K 项集连接形成候选集,对候选集剪枝。
步骤 3:结合定义 3 和定义 4,重新扫描 D相应矩阵的行向量内积获取对应支持度计数,若结果高于最小支持度计数,则为 K 项集。
1.5 日志检测
以采集的 DCS 网络全流量数据形成的工控设备运行状态日志序列为输入,通过预处理、特征提取等方式获取待监测的工控设备运行状态数据的特征向量,通过基于矩阵的 Apriori 算法挖掘到待测数据的规则集,以关联分析获取的工控设备正常运行状态规则集为参照,对比两者的相似度,输出工控设备异常运行状态的自动化检测结果。
设置关联规则,的支持度、置信度分别为,相似度为:
其 中, 相 似 度 为 0 的 条 件 是或,相似度最大的限定条件为且,规则集的相似度为:
其中,运行状态规则集为:
此时设定一个异常判别阈值,若规则集相似度大于异常判别阈值,则工控设备运行状态为正常,反之则为异常。
日志自动化检测的流程如图 2 所示。
图 2 异常检测
日志自动化检测的目的是对工控设备运行状态进行分析与检测,为保证工控设备异常运行状态自动化检测的准确性与效率,可在匹配异常时加入专家库或人工进行判别。
2 实验分析
为验证 Apriori 算法改进后的优越性,对比其与传统 Apriori 算法在差异最小支持度、事务数据量下的执行时间,结果如图 3、图 4 所示。
图 3 差异最小支持度下算法改进前后的执行时间
图 4 差异事务数据量下算法改进前后的执行时间
通过图 3、图 4 可以看出,在数据库大小一定的情况下,最小支持度为 0.01 时,Apriori 算法改进前后的执行时间差异较大,算法改进后的执行效率较高;在最小支持度一定的情况下,随着事务数据量的提升,Apriori 算法改进后的执行时间低于改进前,说明 Apriori 算法改进后的执行效率高。
为了验证本文方法的性能,选取某电场工控设备作为实验对象进行相关的实验分析,将工控设备数据库作为测试数据集。选用文献 [6]的 DBN-RF 的工控设备状态检测方法和文献 [7]的两阶段聚类的工控设备状态检测方法作为实验对比方法。
分别采用 3 种方法对工控设备异常运行状态进行检测,得到 3 种方法的检测误差对比,结果如图 5 所示。
图 5 检测误差对比
分析图 5 可知,其他 2 种方法对工控设备异常运行状态进行检测的误差显著高于本文方法的误差,其他 2 种方法的平均误差分别约为0.3、0.2;而采用本文方法的平均误差约为 0.05,说明本文方法对工控设备异常运行状态的检测精度较高。
分析本文方法检测工控设备异常运行状态的能力,结果如图 6 所示。
分析图 6 可知,本文方法可将数据集内异常运行的工控设备检测出来,不受维度和设备故障类型数量的影响。利用本文方法检测时,聚类的故障类型在三维空间内的距离较近,聚类的故障类型分布边缘清晰。综上所述,本文方法可有效检测工控设备异常运行状态,具备良好的应用性。
图 6 工控设备异常运行状态自动化检测结果
以检测故障类型的贴近度为衡量指标,设置其阈值小于 1,统计本文方法检测工控设备异常运行状态的故障类型贴近度,结果如图 7 所示。
图 7 故障类型贴近度
分析图 7 可知,本文方法检测工控设备异常运行状态时的故障贴近度存在波动,但幅度较小。其中最大故障贴近度出现在由网络故障引起的设备异常运行状态检测中,贴近度数值接近 1。最小故障贴近度出现在由工控机故障引起的设备异常运行状态监测中,其数值约为 0.92。上述结果表明,本文方法在检测工控设备异常运行状态时的故障贴近度数值均小于 1,具有较为准确的检测结果。
3 结 论
通过对某电厂 DCS 系统网络全流量数据采集,并对数据采集过程中发生的机组异常跳机事件进行全面分析,通过日志挖掘与关联分析,研究工控设备的异常运行状态,实现工控设备异常运行状态的自动化检测。分析结果表明,网络全流量数据“功在电网,利在电厂”,对电厂及电网的安全稳定运行有重要的指导意义和借鉴作用。
引用本文:赵明明 , 司红星 , 刘潮 . 基于数据挖掘与关联分析的工控设备异常运行状态自动化检测方法分析 [J]. 信息安全与通信保密 ,2022(4):2-10.
上一篇:冰蝎webshell免杀(奇淫巧计) 下一篇:Java 转 Go 之初体验