基于二叉树算法的水利信息化系统故障快速定位方法研究和实践

2022-08-28 00:36刘天山胡露骞李萌萌
中国农村水利水电 2022年8期
关键词:可用性决策树链路

刘天山,胡露骞,夏 天,李萌萌,彭 取,谈 震

(1.甘肃省引洮工程建设管理局,兰州 730046;2.杭州市千岛湖原水股份有限公司,杭州 310009;3.南瑞集团(国网电力科学研究院)有限公司,南京 211000)

0 引 言

近几年,水利信息化建设已进入高速发展阶段,充分利用现代信息技术,实现各类水利信息及其处理的数字化、网络化、集成化、智能化,为防汛、抗旱、抢险、救灾、工程建设与管理、水资源管理、水环境保护、水利电子政务及其他水利工作提供服务,全面提升了水利为国民经济和社会发展服务的能力和水平[1]。

水利信息化系统包括为实现水利信息化而建设的通信系统、计算机网络系统及各种应用系统,具体包括采集设备、计算机机房设备、网络设施、各类服务器、工作站等硬件平台,数据库、业务系统、中间件等软件系统[2]。对于大型长距离引供水工程,建设的水利信息化系统大多具有硬件设备数量庞大,种类繁多,型号各异,软件系统复杂等特点,一旦发生故障,难以快速有效地找到故障点,给运维工作带来了较大困难,具体体现在以下方面:

(1)数据链路长:对于长距离引供水工程,线路长、面广、设备设施多,信息化系统常采用集中部署、分级应用的部署模式。数据传输从现地测站到调度中心链路长,且各种传感设备和通讯设备是安装在现地和工程沿线,距离远,交通不便,如果信息化系统发生故障,运维人员往往需要耗费大量时间从数据链路上的各个节点逐个排错查找故障,准确率低、耗时长。

(2)对运维人员能力要求高:水利信息化系统在专业上涵盖自动化和信息化,对运维人员专业能力要求比较高,能力高低直接影响到现场的故障定位与故障处理工作的准确性和效率[3]。

(3)缺少科学的故障定位方法:当出现故障时,运维人员往往是依靠经验逐个排查,缺少技术手段支撑,不能科学故障定位,效率低下,耗时长。

(4)设备型号多样:水利信息化系统设备包括各种传感器与数据采集设备、通讯网络设备、信息安全防护设备、视频监视设备、服务器与存储设备等,不仅种类多,而且同一类型设备的型号各异,厂商众多,通信协议与规约不统一,难以形成标准的故障监测指标模型,给设备故障定位带来了技术难度。

针对以上问题,需要找到有效方法,这里引入二叉决策树方法作为故障定位的核心算法,通过二叉树算法,找出水利信息化系统数据链路中最容易出现故障的节点,按照故障出现概率指导生成故障定位决策树模型,并通过推理机代码实现分析决策过程,实现故障快速定位。基于二叉决策树方法实现故障定位,在某些行业已有一定的研究成果和应用案例[4],水利行业尚未被研究和应用。

因此,以长距离引供水工程信息化系统闸阀监控应用为例,以如何高效准确排查信息化系统故障为目标,通过梳理该系统上各个节点对象与可用性关键维度属性,建立数据传输链路和决策树分析模型,通过机器学习中的二叉决策树算法来分析连接节点发送故障的几率,按照故障几率设计开发推理机,最终实现故障快速排查和诊断方法智能推荐,为工程安全稳定运行提供决策性指导方法和技术保障。

1 研究技术路线

水利信息化系统故障快速定位功能要求当系统监测数据或业务数据发生异常后,能自动基于数据传输链路进行快速分析,在短时间内完成故障定位并诊断原因,并给出提示性的诊断结论和解决建议。长距离引供水工程信息化系统闸阀监控应用是在现地站安装各类传感器装置,装置采集数据后通过各类通信设备和网络传输设备传输到调度中心的采集软件,同时数据可存储至调度中心的数据库,并应用至各类业务系统中。在调度中心的业务系统是可以实时监测数据,一旦数据状态异常,将会产生告警,但无法快速诊断原因。

基于以上环境,对故障快速定位的方法研究技术路线如下:一是分析与闸阀监控数据有关系的所有传输链路和流向关系;二是建立链路映射关系,创建监控项,梳理告警关系;三是根据历史样本、故障处理案例和专家意见进行分析,建立训练集,构建样本库,确定出样本的一组属性和一个类别,从而创建出二叉决策树分析模型,计算链路节点的故障几率[5];四是通过代码实现二叉决策树的实例化,以此为基础形成推理机,将每个决策步骤与传统监控结果进行比对分析,最终实现故障的快速定位。开发完成后通过多次试验和案例不断测试验证其有效性,依据这个二叉决策树自动实现正确的分类[6-9],从而不断丰富和完善样本库,逐步提高其准确率。基于二叉决策树的水利信息化系统智能故障定位方法见图1。

图1 基于二叉决策树的水利信息化系统智能故障定位方法Fig.1 Intelligent fault location method of water conservancy information system based on binary decision tree

2 数据传输链路和流向关系分析

以长距离引供水工程信息化系统闸阀监控应用为例,数据传输链路和流向关系见图2。

如图2 所示,信息化系统整体结构划分为纵向和横向。纵向上,数据从现地站点传输至调度中心,链路历经的节点包括传感器、采集设备、交换机、路由器、服务器、数据库、数据同步应用、控制区业务应用。横向上,数据从控制区传输至管理区,历经的节点包括正向隔离装置、数据同步应用、管理区业务应用。闸阀监控业务在控制区和管理区都有涉及。

图2 闸阀监控系统的数据流向关系Fig.2 Data flow relationship of gate valve monitoring system

把数据流经的每一个(一组)软硬件设备作为一个节点,根据以上数据流向图,对各个节点进行分析,可以看出,水利信息化系统的数据链路长,节点众多,包含的设备类型复杂,数据链路比较脆弱,任一节点不可用,会造成数据无法传输,调度中心系统数据异常,对生产经营带来重大影响。

3 建立链路映射关系,创建监控项,梳理告警关系

3.1 建立链路映射关系

根据数据流向关系,建立业务数据与数据链路的映射关系表,记录数据链路上的设备名称、设备类型、部署方式、链路方式、上下链路关系,并序列化处理,存入数据库中,作为故障定位推理机的基础输入信息之一。业务数据与数据链路的映射关系见表1。

表1 业务数据与数据链路的映射关系表Tab.1 Mapping table of business data and data link

3.2 创建监控项

根据数据的链路关系,针对每个节点类型以及可用性判断条件,建立监控项,监控项如下:

传感器:故障开关量信号;

采集设备:整机在线状态、模块开关量信息;

核心/接入交换机:整机在线状态、网口运行状态、网口管理状态;

服务器:服务器在线状态;

数据库:实例节点状态、表空间使用率、监听状态、文件目录使用率、归档日志满等;

数据同步应用:在线状态、端口状态、与隔离装置的IP映射是否正常;

业务应用:在线状态、端口状态;

隔离装置:隔离装置的IP映射是否正常。

对每类设备建立告警模型,对所有采集监控项返回值在系统微服务中进行归并化处理,返回0 或1,以便于决策树进行条件判断处理,简化决策树处理逻辑。

3.3 告警关系联动过滤

根据水利信息化系统的层级特点,决定了其告警信息具备以下特点。

告警信息分层次:

第一层是设备在网络中结构层级,如网络核心层、网络汇聚层、网络接入层,及各层对应的设备等;

第二层是设备级别,及设备主体的在线状态等;

第三层是板卡或应用级别,包括在主机上运行的关键服务进程,在交换机上的交换板卡等;

第四层是端口状态,包括软件进程的数据端口,交换机上的物理网口等。

为了解决原生告警与衍生告警相互混肴的问题,对告警项设置了关联告警配置,实现告警关联关系过滤。即A 告警事件—关联—B告警事件的触发,消除或减少衍生告警事件,确保真正的告警事件不会被衍生告警埋没,避免告警风暴的产生。

4 建立二叉决策树分析模型

在水利信息化系统中,系统的部署架构直接决定了数据链路节点故障发生的几率,为了快速智能分析判断出现故障的几率,我们将数据流经节点可用性作为决策树进行故障定位的训练集类别,特征属性为部署方式、节点状态、链路方式和链路状态。

各特征属性的取值分别为:

部署方式:单节点、双节点(考虑到水利信息化系统的实际部署现状,不考虑多节点情况);

节点状态:单节点可用、单节点不可用、双节点可用、双节点不可用;

链路方式:单链路、双链路;

链路状态:单链路可用、单链路不可用、任一链路可用、双链路可用、双链路不可用。

最终形成的特征训练集如表2所示。

表2 特征训练集Tab.2 Feature training set

这里需要通过计算属性信息增益,构建二叉决策树,步骤如下[10]。

(1)计算出对给定样本分类所需的期望信息。

(2)计算各属性的熵。按照不同的特征属性计算增益熵值,具体结果见表3。

表3 增益熵值表Tab.3 Gain entropy table

可见,特征属性“节点状态”有最高增益熵值,即用“节点状态”作为二叉决策树的根节点,用“节点状态”标记,并以“节点状态”的每一个属性值引出一个分支,再次划分样本,见图3。

图3 节点状态属性Fig.3 Node status attributes

对每个分支进行递归计算,最终得到数据链路节点的可用性。二叉决策树模型见图4。

图4 数据链路节点的可用性二叉决策树模型Fig.4 Binary decision tree model of availability of data link nodes

(3)将水利信息系统实际节点引入到决策树模型中。在可用性二叉决策树模型的基础上,参考图3,将水利信息系统实际链路节点类型引入,在节点可用性样本的基础上,增加设备类型属性,其他属性按照设备实际的部署架构属性重构新分析样本,使用二叉决策树算法对节点类型的概率熵值进行计算,分析实际链路的出现故障的几率(即信息增益值),并以节点类型的信息增益值作为后续推理机中的全链路推理索引。新分析样本见表4。

表4 新分析样本Tab.4 New Feature training set

计算过程不再赘述,计算结果见表5。

表5 二叉决策树算法下节点类型的熵值以及增益值Tab.5 Entropy value and gain value of node type under the binary decision tree algorithm

根据计算结果,各节点类型出现故障概率的高低顺序为:传感器>采集设备(LCU)=数据同步软件>数据采集服务>通信服务器=闸阀监控应用>通信服务器>现地交换机>数据库>核心交换机。

5 推理机设计

水利信息化系统数据链路可用性故障定位推理机实现过程如下[11]:

自主收集数据特征→推理→故障定位→关联知识库→故障转工单。

(1)自主收集数据特征。推理机通过定时任务自主收集若干条关键数据的采集值,如采集值达到阈值或故障定义条件,调用推理模型进行故障定位分析。

(2)推理过程。推理机根据数据与数据链路的映射关系,序列化组装该数据的数据链路。

推理机调用样本训练库,计算节点类型不可用概率增益值,根据增益值对数据链路对象进行重组排序,明确故障定位分析的节点先后顺序。

推理机对排序后的节点,按照先后顺序,使用决策树模型与对应判断条件的监控值进行递归分析判断,完成所有节点的故障定位分析,得出初步故障定位结果[12,13]。

根据故障定位的结果,在告警知识库中使用Elasticsearch进行关联查询,找出同类型事件的解决方案。同时,将推理机与工单系统进行联动,调用工单创建接口自动生成故障工单,附上建议解决方案,执行工单处理流程。

在进行推理机设计时,采用微服务的思想,将按照数据链路上每类设备的告警监控项的不同,结合决策树模型,编写对应的微服务来实现该类设备的告警监控项的归并与可用性推理过程。将微服务组件化,实现微服务的编排组合与复用,如在数据链路中出现多个数据同步节点,可用数据同步服务进程与数据同步服务器的故障定位微服务,实现数据同步故障定位能力的复用与故障定位过程的编排,提升推理机的执行效率[14-16]。

按照上述推理机设计与决策树模型,开发了相应的功能代码,实现这些数据链路关系的建立,数据的清洗、算法逻辑、诊断流程、微服务调用、页面呈现,并把每次故障定位添加到训练样本库,实现样本的积累,经验的固化,用于更好地辅助水利信息化系统的日常运维工作。

6 应用实例

本项目研究的故障定位方法已在某长距离引供水工程中应用。经过验证,在故障排查耗时上由以前的1~2 h 减少到30 s,有效的提升了故障事件的处理效率与处理能力。

6.1 故障现象

在调度中心监控大屏中某站点的阀门开度信息为空值,经过多个数据采集周期后仍无数据,疑是数据传输链路上某个节点出现故障,导致数据无法正常传输。

6.2 推理机分析定位

推理机通过定时任务在数据库中查询到某站点阀门开度信息为空值时,开始执行故障定位推理过程。

故障定位过程如下:

(1)推理机首先根据业务系统类型以及数据链路映射关系从数据库中抽取计算样本,使用二叉树算法计算决策树分析模型,再计算节点类型不可用概率增益值,明确故障定位决策分析的先后顺序为传感器>采集设备(LCU)=数据同步软件>数据采集服务>通信服务器=闸阀监控应用>通信服务器>现地交换机>数据库>核心交换机[17,18]。

(2)调取数据链路监控项数据,按照已经计算出的决策分析顺序进行分析判断。

(3)传感器(开度仪)可用性:故障开关量为1,正常;传感器节点可用。

(4)采集设备(LCU)可用性:设备ICMPING 值为1,节点通信链路正常;各模件故障开关量为1,节点正常;采集设备节点可用。

(5)控制区数据同步软件可用性:软件进程数量为1,进程存在,节点正常;服务端口3454 连接数为2,链路正常;控制区数据同步软件节点可用。

(6)管理区数据同步软件可用性:软件进程数量为0,进程中断,节点异常;服务端口6787 无连接建立,链路异常;管理区数据同步软件节点不可用。

(7)数据采集服务可用性:双服务进程存在,正常;服务端口连接数为2,链路正常;数据采集服务可用。

(8)通信服务器可用性:服务器双节点可用,双链路网口运行状态为2,链路正常;通信服务器节点可用。

(9)闸阀监控应用可用性:双服务进程存在,正常;服务端口连接数为2,链路正常;闸阀监控应用可用。

(10)通信服务器可用性:服务器双节点可用,双链路网口运行状态为2,链路正常;通信服务器节点可用。

(11)现地交换机可用性:现地交换机双节点可用,双链路网口运行状态为2,链路正常;现地交换机节点可用。

(12)后续分析过程略过。

通过推理机使用二叉决策树模型,精确定位到故障原因为数据同步服务进程意外终止,导致控制区采集的数据无法同步到管理区,整个分析过程耗时30 s,自动定位出出现故障的节点位置、节点类型与故障现象,并在故障定位分析图中进行展示通知,图5为现场截图。

图5 现场定位故障分析图Fig.5 Analysis diagram of fault location on site

6.3 故障定位准确性分析

通过现场大量的模拟测试与实际应用,针对水利信息化系统数据全链路的各个节点可用性故障定位准确性为90%以上。

7 结 语

提出了基于二叉树算法的水利信息化系统故障快速定位方法,可精准快速地诊断出水利信息化系统出现的故障,并通过可视化展示与工单派发等方式通知相关运维人员,提升系统故障的处理效率,提升现场运维人员的自动化、智能化运维水平,保障水利工程安全稳定运行,也符合水利部“强化新一代信息技术与水利业务的深度融合,解决水利业务中的难点和痛点”的工作思路。但同时也存在一定的不足之处,目前数据取样有限,针对模型和算法的准确性校验无法全面覆盖到所有的业务场景和问题,同时部分诊断条件的阈值取值不完全合理,因此故障诊断定位精确度有待提高。下阶段的工作重点是丰富训练样本数据,进一步校验和完善目前的模型和算法,建立动态的阈值判断机制,通过大量的测试与实际使用进行验证,进一步提升准确性和完善程度。

猜你喜欢
可用性决策树链路
一种移动感知的混合FSO/RF 下行链路方案*
基于Android设备的异构无线链路聚合软件①
简述一种基于C4.5的随机决策树集成分类算法设计
一种IS?IS网络中的链路异常检测方法、系统、装置、芯片
决策树学习的剪枝方法
三大MOOC平台Coursera、EdX和Udacity的可用性比较研究
决策树在施工项目管理中的应用