供配电系统根源告警检测方法、装置、终端及计算机存储介质与流程

文档序号:13542789阅读:361来源:国知局

本发明涉及制冷机技术领域,尤其涉及一种供配电系统根源告警检测方法、装置、终端及计算机存储介质。



背景技术:

供配电功能是动力机房最重要的功能之一,供配电的告警自然也是动环监控系统最重要的告警来源部分。常见的配电系统拓扑图如图1所示。然而,目前基本上所有动力环境设备产生的海量告警数据没有进行整合和利用,仅能实现告警直接显示,人力维护成本极高。

目前研究根源告警处理的方法有很多,其中应用较多的是基于告警相关性分析方法,特别是针对频繁告警子集的告警,即通过提取告警序列中的关键字段,可采用合适的聚类算法如k-means算法对产生的海量告警故障日志进行聚类分析、形成原因量化分析表;也可采用数据挖掘算法如apriori算法、fp-growth算法对产生的告警进行相关性分析。频繁序列关联关系如下图2所示。如果告警事件a和b发生后,告警c经常在很短时间内发生,则可能告警c和告警a、b存在很强的相关性。文献[1]详细说明了该技术的数学原理和实现方法。

基于关联分析的根源告警检测方法在计算机系统入侵检测等根源告警风暴中较常见,文献[2]举例说明了具体的实现方式和效果,效果显著,能减少90%以上的无效告警处置。

然而基于关联分析根源告警检测这种方式的缺陷在于,一是基于频繁序列挖掘的方法把所有的告警数据和记录在开始设定时认为当前所有的告警均为无任何提前关联架设的关系。如此一来,每次进行处理时均需要把所有的告警条数纳入分析的范畴。而实际上电力告警,特别是停断电引起的告警,他们之间其实是有很大的相关性,各级配电设备之间严格的逻辑关系其实能够直接表明他们的层级关系。因此这种直接无前提假设模型关系下的告警关联分析法耗时又费力。其二,实际上,apriori等数据挖掘算法对于频繁序列告警是非常有用的;但是考虑到实际的情况,停断电产生的告警问题在实际监控系统中出现的次数并不常见,每一个配电设备出现告警的频率并不高,换句话说,这类告警序列是非频繁序列。从这个方面讲,目前成熟的基于关联性分析的告警挖掘方法不试用于当前这类根源告警解决方法。



技术实现要素:

鉴于上述的分析,本发明旨在提供一种供配电系统根源告警检测方法、装置、终端及计算机存储介质,用以至少解决上述中的一种问题。

为解决上述问题,本发明主要是通过以下技术方案实现的:

本发明提供了一种供配电系统根源告警检测方法,该方法包括:基于供配电系统的设备建立动态变化的多叉树结构模型;计算供配电系统的设备的告警集合;基于多叉树形结构的广度优先遍历算法,计算各个告警集合的根源节点,并得到所述根源节点id。

进一步地,计算告警集合,具体包括:

根据计算告警集合;

其中,c表示所有告警集合,cj+1为第j+1个切片告警集合,cj+1∈c,cj∈c;

xi属于第j个切分告警集合,δt为预设的时间阈值。

进一步地,所述预设的时间阈值δt为60s。

进一步地,基于树形结构的广度优先遍历算法,计算各个告警集合的根源节点,具体包括:

通过遍历所有告警集合记录,查找各个告警集合中最高层次的节点作为根源节点。

进一步地,通过遍历所有告警集合记录,查找各个告警集合中最高层次的节点作为根源节点,具体包括:

遍历告警集合中各个节点的父节点,然后再遍历告警集合中各个节点的孩子节点,查找告警集合中最高层次的节点作为根源节点。

进一步地,该方法还包括:根据所述根源节点的设备id得到所述根源节点id。

本发明另一方面还提供了一种供配电系统根源告警检测装置,其特征在于,包括:建立单元,用于基于供配电系统的设备建立动态变化的多叉树结构模型;计算单元,用于计算供配电系统的设备的告警集合;处理单元,用于基于多叉树形结构的广度优先遍历算法,计算各个告警集合的根源节点,并得到所述根源节点id。

本发明另一方面还提供了一种终端,所述移动终端包括处理器、存储器及通信总线;所述通信总线用于实现处理器和存储器之间的连接通信;所述处理器用于执行存储器中存储的计算机指令,以实现上述任一种所述的供配电系统根源告警检测。

本发明在一方面还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述任意一种所述的供配电系统根源告警检测。

本发明有益效果如下:

本发明通过在某配电系统告警风暴发生时,挖掘出该告警风暴产生的根源,从而指导运维人员只需处理该根源告警所在的设备,而无需对其下属设备进行逐一排查,大大减少人工维护工作量,减少运维成本,实现机房更自动化和智能化的管理。

本发明的其他特征和优点将在随后的说明书中阐述,并且部分的从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

附图说明

图1为现有技术的常见的配电系统拓扑示意图;

图2为告警序列质检的关联关系示意图;

图3为本发明实施例的供配电系统根源告警检测方法的流程示意图;

图4为本发明实施例的动态变化的多叉树结构告警簇求解示意图;

图5为本发明实施例的告警数据随实践的变化累计关系示意图

图6为本发明实施例的某切片告警数据告警簇与根源节点求解结果示意图。

具体实施方式

下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理。为了清楚和简化目的,当其可能使本发明的主题模糊不清时,将省略本文所描述的器件中已知功能和结构的详细具体说明。

本发明实施例提供了一种供配电系统根源告警检测方法,参见图3,该方法包括:

步骤31、基于供配电系统的设备建立动态变化的多叉树结构模型;

步骤32、计算供配电系统的设备的告警集合;

步骤33、基于多叉树形结构的广度优先遍历算法,计算各个告警集合的根源节点,并得到所述根源节点id。

也就是说,本发明通过在某配电系统告警风暴发生时,挖掘出该告警风暴产生的根源,从而指导运维人员只需处理该根源告警所在的设备,而无需对其下属设备进行逐一排查,大大减少人工维护工作量,减少运维成本,实现机房更自动化和智能化的管理。

具体地,本发明实施例所述计算供配电系统的设备的告警集合,具体包括:

根据计算供配电系统的设备的告警集合;

其中,cj+1为第j+1个切片告警集合,cj+1∈c,cj∈c;

xi属于第j个切分告警集合,δt为预设的时间阈值。

具体地,本发明实施例所述预设的时间阈值δt为60s。

具体实施时,本发明实施例所述基于多叉树形结构的广度优先遍历算法,计算各个告警集合的根源节点,具体包括:

通过遍历所有告警集合记录,查找各个告警集合中最高层次的节点作为根源节点。

具体实施时,本发明实施例所述通过遍历所有告警集合记录,查找各个告警集合中最高层次的节点作为根源节点,具体包括:

遍历告警集合中各个节点的父节点,然后再遍历告警集合中各个节点的孩子节点,查找告警集合中最高层次的节点作为根源节点。

本发明实施例所述的方法还包括:

根据所述根源节点的设备id得到所述根源节点id。

下面将可通过一个具体的实施例对本发明所述的方法进行说明:

本发明实施例通过将图1中的拓扑图抽象成网络拓扑关系,将每一个设备看成节点(node)并进行命名,最简单的图是一个多叉树结构,即一个根节点下挂载多个配电设备进行二级分配电、三级分配电,最终经过多级分配电到达终端负载。

然而单纯的多叉树不能全部描述实际在用配电系统的实际结构。对于单路供电系统而言,多叉树即可描述清楚具体的配电结构。但是实际配电系统在各个分配电的过程中加了多层冗余结构,以保证系统的稳定性。如两路独立市电输入进入变压器后通过联络输入给二次配电设备,二次配电设备经过独立两路单独输入给下级的列头柜或者空调配电柜,因此实际系统的连接图不仅仅是多叉树结构。如下图4所示是实际给空调末端制冷设备供电的拓扑图(部分),其中虚线表示双路供电的设备的备路路由。

可以看出,配电系统是一个典型的dag(directedacyclicgraph)图结构,即无回路有向图。因为备用路由存在的关系,在静态时,整个系统拓扑变成了非多叉树的图结构;同时因为电流流向的不可逆向性,使得整个拓扑图变成了无回路有向图(dag)。

备用路由的存在会使得整个系统在不同的时刻求出的根源告警的簇会发生变化,我们以下图为例进行说明。下图为配电系统中典型的空调配电拓扑结构,p1、p2分别为p3、p4的供电来源(父节点),同时又分别为p4、p3的供电来源(备用父节点)。如果某时刻,{p1,p2,p3,p4,p5,p7,p8,p10,p11,p12,p17,p18}发生了告警,理论上,我们可推出根源告警为:

1)若p3为p1的孩子节点,p4为p2的孩子节点,则求得告警簇为:

{p1,p3,p5,p10,p11,p12},其中p1为告警根节点;

{p2,p4,p7,p8,p17,p18},其中p2为告警根节点。

2)若p3,p4均为p1的孩子节点,则求得告警簇为:

{p1,p3,p4,p5,p7,p8,p10,p11,p12,p17,p18},其中p1为告警根节点;

{p2},其中p2为告警根节点。

3)若p3,p4均为p2的孩子节点,则求得告警簇为:

{p1},其中p1为告警根节点;

{p2,p3,p4,p5,p7,p8,p10,p11,p12,p17,p18},其中p2为告警根节点。

4)若p3为p2的孩子节点,p4为p1的孩子节点,则求得告警簇为:

{p2,p3,p5,p10,p11,p12},其中p2为告警根节点;

{p1p4,p7,p8,p17,p18},其中p1为告警根节点。

dag图模型使得系统在进行根源判断的时候相对于多叉树的求解会有比较复杂的求解过程。为此,我们考虑到实际系统运行的情况,任何时候对某个具体的节点设备来说,它的父节点只有一个,即设备在运行时,它的实际供电来源只有一路,可能是主路、也可能是备路。当其中一路起作用时,另一路并没有起作用。因此,我们可以认为,任一特定时刻,配电系统运行图是一个多叉树结构。但是该多叉树结构又是随着不同的时刻动态发生变化的。因此,我们可以认为,配电系统拓扑是个动态变化的多叉树结构。

为表征节点之间的关系,我们构造节点设备的数据结构,各字段定义如表1所示:

表1节点设备数据结构

举例说明:假设某设备节点p的信息记录如下:{799,2#空调配电柜,a1003,598,548,1,1073,1074,1075},含义为:p的id=799,name=2#空调配电柜,room=a1003,parent1=598,parent2=548,flag=1,child1=1073,child2=1074,child3=1075。flag=1表示该设备供电来源为id=548的父节点。

有了表1对设备节点的定义关系,我们对某机房配电系统的所有设备包含的多层级连接关系梳理成如表1所示的数据库表形式。该表明确了整个配电系统内部的拓扑连接关系,是我们后续研究的基础。同时,当需要对系统进行增删或者修改部分连接关系时,该表也能比较方便的进行修改。

(3)告警日志集合

本项目所采用的实际告警数据来源于实际动力环境监控系统平台后台数据库。告警数据为日志记录(record)格式,本文用到的关键字段如下表2所示。这些字段在后文中将会使用到。

表2告警集合关键字段符号含义

5.2根源告警模型

为叙述方便,将模型算法中的符号含义统一表示如下表3所示:

表3算法模型中符号表示含义

设在时间t∈[t0,t0+t]内,动力环境监控系统某段时间内的产生的告警集合(alarmsets)为s。对通过一定算法,s最终聚合成了多个告警簇(alarmcluster)c(c1,c2,...,cn)。对告警集合s中的任意两条告警记录s所对应的节点(node)x和如果有一条从的边,我们称是x的父节点,反之x是的孩子节点。为表示方便,定义表示存在一条路由。同理,我们也定义表示从存在一条路由。

在配电根源告警系统中,如果是x的父节点,则节点(配电设备)一般是x节点(配电设备)的母节点,可认为x节点是节点的负载。

(1)切分告警集合

通过观察发现,发生根源告警时,系统一般会在短时间内发生告警风暴,即在短时间内告警数量急速增加,而在告警风暴结束后,告警数量又回归到正常的低水平时期。

由此可见,对于在t∈[t0,t0+t]内时间发生的告警,可认为只有在极短时间内前后发生的才有告警风暴研究和根源告警探讨的必要。假设两条告警x1,x2发生的告警时刻分别为t1,t2,我们认为:|t1-t2|≤δt时,这两条告警存在关联的概率较大。一般而言,δt=60s比较合理。

为此,我们可以根据前后告警的时间差进行时间切片。对于由x1,x2,....xn告警序列组成的s告警集合,设每条发生的告警时间为t1,t2,...,tn,(告警有序,满足t1<t2<...<tn)。对ti,ti+1时刻先后发生的两条告警xi,xi+1,如果|ti+1-ti|>δt,则认为ti,ti+1之间应做一个告警记录切分。假定xi∈cj(即xi属于第j个切分告警集合,cj∈c),则xi+1满足:

其中cj+1为第j+1个切片告警集合,即cj+1∈c。

由此我们得到一系列的cj(j=1,2,...,m)∈c。

(2)基于树结构的广度优先遍历算法

由前面讨论可知,表1对应的拓扑模型库表实际上是一个dag图,可简化结构为动态变化的多叉树结构模型。对于给定的告警集合,为了方便求出cj的根源告警,本文提出基于树结构的广度优先遍历算法求解根{x1,x2,...,}∈cj源告警(tree-bfsalgorithm)。它的基本思想为:

将整个告警根源的求解看成是图的遍历问题。求解一系列告警集合对应的根源告警的设备id,就是通过遍历所有告警记录,找出某些告警簇中最高层次的节点作为告警的根源节点。当然在相应时间内可能会有多个根源告警发生,因此求得的告警根节点可能有多个。

图的广度优先遍历算法能够很方便的完成所有记录的遍历,但是传统的bfs算法具有无向性,不能方便求出各簇的根源节点。而tree-bfs算法在传统bfs算法的基础上,提出优先遍历该节点的父节点、再遍历孩子节点的顺序逻辑,从而保证算法求解出根源告警的可行性。算法过程如下:

上述为本发明实施例基于树结构的广度优先遍历算法(tree-bfs)

值得注意的是,tree-bfs算法中,1.2和3都是随机挑选cj中未遍历的数据,每次优先遍历根节点,再遍历孩子节点。2.1.2.1保证了父节点始终存入tmp队列的首位,从而使得最终求得的ci序列队列的首位都是该告警簇的根源节点。2.1.1需要利用表1中的flag字段动态的确定当前节点的父节点,对该多叉树进行重构,保证与实时系统的一致性。

(3)根源告警模型求解算法

根据第(2)部分介绍,得到整个根源告警的算法如下所示。

总体来说,本发明一是梳理一套完全符合实际在用系统的电力设备连接拓扑关系图,配电系统本身所包含各层次设备结构、设备支路非常多,日常系统也会出现切换使用的情况,因此需要建立完全符合实际在用的配电拓扑模型才能实现准确的根源告警检测;二是需要获取足够多的实验数据,因配电系统为实际在线使用系统,发生故障频次较低,真实故障样本数取样较难,模型的准确性需要实际的告警数据来验证。

图5位告警数据随实践的变化累计关系图,如图5所示,表示过去2017年4月22日至23日时间内告警数量随着时间的关系,通过发现,在22日8时左右23日14时左右,系统发生了告警风暴。

取2017年4月22日至23日系统导出的告警日志记录作为数据集,通过算法2验证系统的根源告警准确性。我们提取在一个时间切片内的告警,截取8:18:36-8:22:13这段时间内的告警,此段时间,相邻告警之间的时间间隔δt<δt=60s。按照定义,认为此段时间的告警关联度高。可作为根源分析的切片数据告警集。

图6所示为算法计算结果。可以看出,在短短不到4分钟时间内,系统共发生159此告警记录,通过聚合,共形成11个告警簇。除了单个设备的告警记录外,前四项告警均是多设备形成的告警簇,前四项告警记录所占的百分比达到了90.566%。通过具体定位前四类告警的根源,分别是5#6#ups输入柜、3#4#ups输入柜、13#ups、11#ups发生告警导致的根源告警,与实际发生告警相符。

由上面分析可得出,在经过告警聚类后,只要解决前面四类告警的根源节点设备的告警原因,即解决了90%的告警日志,大大减轻了维护人员的工作量,起到了应有的效果。

相应的,本发明的实施例还提供一种供配电系统根源告警检测装置,改装置包括:建立单元,用于基于供配电系统的设备建立动态变化的多叉树结构模型;计算单元,用于计算供配电系统的设备的告警集合;处理单元,用于基于多叉树形结构的广度优先遍历算法,计算各个告警集合的根源节点,并得到所述根源节点id。

也就是说,本发明通过在某配电系统告警风暴发生时,挖掘出该告警风暴产生的根源,从而指导运维人员只需处理该根源告警所在的设备,而无需对其下属设备进行逐一排查,大大减少人工维护工作量,减少运维成本,实现机房更自动化和智能化的管理。

本发明实施例的相关内容可参考方法实施例部分进行理解,在此不再详细赘述。

相应的,本发明的实施例还提供一种移动终端,包括:处理器,存储器及通信总线;

通信总线用于实现处理器和存储器之间的连接通信;

存储器用于存储计算机指令,处理器用于运行所述存储器存储的计算机指令,以实现以下步骤:基于供配电系统的设备建立动态变化的多叉树结构模型;计算供配电系统的设备的告警集合;基于多叉树形结构的广度优先遍历算法,计算各个告警集合的根源节点,并得到所述根源节点id。

本发明实施例的相关内容可参考方法实施例部分进行理解,在此不再详细赘述。

相应的,本发明的实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现前述实施例提供的任一种供配电系统根源告警检测方法,因此也能实现相应的技术效果,前文已经进行了详细的说明,此处不再赘述。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1