CN113328869B 一种告警聚合的方法和装置 (华为技术有限公司)_第1页
CN113328869B 一种告警聚合的方法和装置 (华为技术有限公司)_第2页
CN113328869B 一种告警聚合的方法和装置 (华为技术有限公司)_第3页
CN113328869B 一种告警聚合的方法和装置 (华为技术有限公司)_第4页
CN113328869B 一种告警聚合的方法和装置 (华为技术有限公司)_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

(19)国家知识产权局(12)发明专利(10)授权公告号CN113328869B(65)同一申请的已公布的文献号审查员李奕福(73)专利权人华为技术有限公司地址518129广东省深圳市龙岗区坂田华为总部办公楼(72)发明人松鸿蒙钟培楠(74)专利代理机构北京龙双利达知识产权代理有限公司11329一种告警聚合的方法和装置本申请提供了一种告警聚合的方法和装置,可以减少告警聚合的等待时间,提高聚合效率。该方法包括:基于获取到的告警数据流生成告警特征向量;基于每个告警特征向量确定所对应的告警数据流所属的聚合组,所述聚合组包含第一聚合组;在流式处理框架下,基于被确定的属于第一聚合组的每个告警数据流,更新第一聚合组中的告警数据流,直至对第一聚合组中的告警数据流的更新满足预设条件,如,对第一聚合组中的告警数据流的更新频率小于预设门限等;输出第一聚合组。此后,可以基于输出的第一聚合组中的告警数据流进行根因分析。通过对告警聚合2基于获取到的告警数据流生成告警特征向量;基于每个告警特征向量确定所对应的告警数据流所属的聚合组,所述聚合组包含第一聚合组;基于被确定的属于所述第一聚合组的每个告警数据流,更新所述第一聚合组中的告警数据流,直至对所述第一聚合组中的告警数据流的更新满足预设条件;输出所述第一聚合组;所述对所述第一聚合组中的告警数据流的更新满足预设条件,包括:对所述第一聚合组中的告警数据流的更新频率小于第一预设门限;或对所述第一聚合组中的告警数据流的更新时间达到第二预设门限;或对所述第一聚合组中的告警数据流的更新次数达到第三预设门限。确定所述获取到的告警数据流中的第一告警数据流属于已有聚合组,所述已有聚合组是在基于所述第一告警数据流生成第一告警特征向量生成之前被创建的聚合组,每个已有聚合组包括一个或多个告警数据流;将所述第一告警数据流添加进其属于的已有聚合组。3.如权利要求2所述的方法,其特征在于,所述确定所述获取到的告警数据流中的第一确定基于所述第一告警数据流生成的所述第一告警特征向量分别与所述已有聚合组中每个聚合组的类中心向量的距离;所述类中心向量由所对应的聚合组中包含的告警数据流的告警特征向量确定;若所述第一告警数据流与至少一个已有聚合组的类中心向量的距离小于或等于第四预设门限,确定所述第一告警数据流属于所述已有聚合组。4.如权利要求3所述的方法,其特征在于,所述已有聚合组包括所述第一聚合组,所述方法还包括:若所述第一聚合组的类中心向量与所述第一告警特征向量的距离小于其他任意一个已有聚合组的类中心向量与所述第一告警特征向量的距离,确定所述第一告警数据流属于所述第一聚合组;所述将所述第一告警数据流添加进其属于的已有聚合组,包括:将所述第一告警数据流添加进所述第一聚合组。根据所述第一告警特征向量,更新所述第一聚合组的类中心向量。6.如权利要求5所述的方法,其特征在于,更新后的类中心向量c'与更新前的类中心向量c满足:c'=(c×n+v)/(n+1);数据流被确定属于所述第一聚合组之前,被确定为所述第一聚合组的其他告警数据流的数确定所述获取到的告警数据流中的第一告警数据流不属于已有聚合组,所述已有聚合组是在基于所述第一告警数据流生成第一告警特征向量生成之前被创建的聚合组,每个已3有聚合组包括一个或多个告警数据流;创建第二聚合组,所述第二聚合组包括所述第一告警数据流。8.如权利要求7所述的方法,其特征在于,所述确定所述获取到的告警数据流中的第一确定基于所述第一告警数据流生成的所述第一告警特征向量分别与所述已有聚合组中每个聚合组的类中心向量的距离;所述类中心向量由所对应的聚合组中包含的告警数据流的告警特征向量确定;若所述第一告警数据流与所述已有聚合组中各聚合组对应的类中心向量的距离均大于第四预设门限,确定所述第一告警数据流不属于所述已有聚合组。9.如权利要求7或8所述的方法,其特征在于,所述将所述第一告警特征向量确定为所述第二聚合组的类中心向量。10.如权利要求1至8中任一项所述的方法,其特征在于,每个告警数据流包括以下至少11.如权利要求1至8中任一项所述的方法,其特征在于,所述方法还包括:根据所述第一聚合组中的告警数据流,确定告警根因。处理器,用于基于获取到的告警数据流生成告警特征向量;并用于基于每个告警特征向量确定所对应的告警数据流所属的聚合组,所述聚合组包含第一聚合组;还用于基于被确定的属于所述第一聚合组的每个告警数据流,更新所述第一聚合组中的告警数据流,直至对所述第一聚合组中的告警数据流的更新满足预设条件;通信接口,用于输出所述第一聚合组;所述对所述第一聚合组中的告警数据流的更新满足预设条件,包括:对所述第一聚合组中的告警数据流的更新频率小于第一预设门限;或对所述第一聚合组中的告警数据流的更新时间达到第二预设门限;或对所述第一聚合组中的告警数据流的更新次数达到第三预设门限。13.如权利要求12所述的装置,其特征在于,所述处理器还用确定所述获取到的告警数据流中的第一告警数据流属于已有聚合组,所述已有聚合组是在基于所述第一告警数据流生成第一告警特征向量生成之前被创建的聚合组,每个已有聚合组包括一个或多个告警数据流将所述第一告警数据流添加进其属于的已有聚合组。确定基于所述第一告警数据流生成的所述第一告警特征向量分别与所述已有聚合组中每个聚合组的类中心向量的距离;所述类中心向量由所对应的聚合组中包含的告警数据流的告警特征向量确定;若所述第一告警数据流与至少一个已有聚合组的类中心向量的距离小于或等于第四预设门限,确定所述第一告警数据流属于所述已有聚合组。15.如权利要求14所述的装置,其特征在于,所述已有聚合组包括所述第一聚合组,所述处理器还用于:若所述第一聚合组的类中心向量与所述第一告警特征向量的距离小于其他任意一个4已有聚合组的类中心向量与所述第一告警特征向量的距离,确定所述第一告警数据流属于所述第一聚合组;将所述第一告警数据流添加进所述第一聚合组。16.如权利要求15所述的装置,其特征在于,所述处理器还用于,根据所述第一告警特征向量,更新所述第一聚合组的类中心向量。17.如权利要求16所述的装置,其特征在于,更新后的类中心向量c’与更新前的类中心向量c满足:c'=(c×n+v)/(n+1);其中,v表示所述第一告警特征向量,n表示在所述第一告警数据流被确定属于所述第一聚合组之前,被确定为所述第一聚合组的其他告警数据流的确定所述获取到的告警数据流中的第一告警数据流不属于已有聚合组,所述已有聚合组是在基于所述第一告警数据流生成第一告警特征向量生成之前被创建的聚合组,每个已有聚合组包括一个或多个告警数据流;创建第二聚合组,所述第二聚合组包括所述第一告警数据流。19.如权利要求18所述的装置,其特征在于,所述处理器还用于:确定基于所述第一告警数据流生成的所述第一告警特征向量分别与所述已有聚合组中每个聚合组的类中心向量的距离;所述类中心向量由所对应的聚合组中包含的告警数据流的告警特征向量确定;若所述第一告警数据流与所述已有聚合组中各聚合组对应的类中心向量的距离均大于第四预设门限,确定所述第一告警数据流不属于所述已有聚合组。20.如权利要求18或19所述的装置,其特征在于,所述处理器还用于,将所述第一告警特征向量确定为所述第二聚合组的类中心向量。21.如权利要求12至19中任一项所述的装置,其特征在于,每个告警数据流包括以下至如权利要求12至21中任一项所述的装置;以及根因分析模块,用于根据所述装置输出的所述第一聚合组中的告警数据流,确定告警根因。23.一种计算机可读介质,其特征在于,包括计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行如权利要求1至11中任一项所述的方法。5技术领域背景技术[0002]随着电信网络规模的不断扩大,设备上报的告警数量出现爆炸式增长,网络结构也越来越复杂。因此,快速、准确地定位告警根因有利于网络的快速修复。在定位告警根因的过程中,告警聚合至关重要,是快速定位的关键环节之一。[0003]然而,目前已有的告警聚合方法通常需要对固定数量(比如一个批次)的告警数据进行处理。这可能会到会告警聚合的计算量较大、等待时间较长,由此导致告警聚合的效率也不高,进而影响告警根因的定位速度及后续修复,不能满足现网实时性的需求。发明内容[0004]本申请提供一种告警聚合的方法和装置,以期提高告警聚合的效率,从而有利于快速定位告警根因及后续修复,进而满足现网实时性的要求。[0005]第一方面,提供了一种告警聚合的方法。该方法包括:基于获取到的告警数据流生成告警特征向量;基于每个告警特征向量确定所对应的告警数据流所属的聚合组,所述聚合组包含第一聚合组;基于被确定的属于第一聚合组的每个告警数据流,更新第一聚合组中的告警数据流,直至对第一聚合组中的告警数据流的更新满足预设条件;输出第一聚合[0006]应理解,该方法例如可以由告警聚合模块来执行,具体可以由网管系统中的告警聚合模块来执行。[0007]本申请实施例提出了在流式处理框架下对告警数据流的处理。告警聚合模块可以基于每一个生成的告警特征向量确定所对应的告警数据流属于哪个聚合组,然后基于每一个告警数据流所属聚合组的确定,更新该聚合组中的告警数据流,从而可以实现持续计算和更新。上述步骤例如可以通过流式聚类算法来实现。[0008]基于上述技术方案,告警聚合模块而不必等待一个批次或者更多数量的告警数据流到达之后才进行告警聚合。可以一边进行当前的聚合计算,一边等待下一个告警特征向量的生成。另一方面,由于对每一个告警特征向量进行聚合组的确定,相比于一个批次或更多数量的告警数据流而言,每次计算的数据量较小,因此计算耗时也较短。如此一来,告警聚合模块对数据流进行聚合的时间可以大大缩短,有利于提高整个网管系统进行根因分析的效率。[0009]下文示例性地列举了几种可能的预设条件。当对某一聚合组的更新满足预设条件,该告警聚合模块便可将该聚合组输出,以便于后续进行告警根因的分析。[0010]可选地,对第一聚合组中的告警数据流的更新满足预设条件,包括:对第一聚合组中的告警数据流的更新频率小于第一预设门限。[0011]可选地,对第一聚合组中的告警数据流的更新满足预设条件,包括:对第一聚合组6中的告警数据流的更新时间达到第二预设门限。[0012]可选地,对第一聚合组中的告警数据流的更新满足预设条件,包括:对第一聚合组中的告警数据流的更新次数达到第三预设门限。[0013]其中,更新次数例如可以从聚合组创建开始计数;更新时间例如可以从聚合组创建时间开始计时;更新频率例如可以根据更新次数和更新时间来确定。[0014]通常情况下,告警聚合模块中存在一个或多个已有聚合组。当一个新的告警特征向量生成时,告警聚合模块可以首先判断该告警特征向量所对应的告警数据流是否属于其中的一个已有聚合组。这里以获取到的告警数据流中的第一告警数据流为例来说明。[0015]结合第一方面,在某些可能的实现方式中,该方法还包括:确定获取到的告警数据流中的第一告警数据流属于已有聚合组,所述已有聚合组是在基于第一告警数据流生成第一告警特征向量生成之前被创建的聚合组,每个已有聚合组包括一个或多个告警数据流;将所述第一告警数据流添加进其属于的已有聚合组。[0016]即,一种可能的情况是,该第一告警数据流属于已有聚合组。告警聚合模块可以在此情况下,将该告警数据流添加至该聚合组中,以完成对该聚合组中告警数据流的更新。由此,该聚合组中的告警数据流的数量加一。[0017]可选地,确定获取到的告警数据流中的第一告警数据流属于已有聚合组,包括:确定基于第一告警数据流生成的第一告警特征向量分别与已有聚合组中每个聚合组的类中心向量的距离;所述类中心向量由所对应的聚合组中包含的告警数据流的告警特征向量确定;若第一告警数据流与至少一个已有聚合组的类中心向量的距离小于或等于第四预设门限,确定第一告警数据流属于已有聚合组。[0018]其中,类中心向量与聚合组具有一一对应的关系。每个类中心向量由其对应的聚合组中的告警数据流的告警特征向量来确定。[0019]告警数据流所属的聚合组可以依据所对应的告警特征向量与类中心向量的距离来确定。以第一告警数据流为例,若其对应的第一告警特征向量与已有聚合组中的某一个或多个聚合组的类中心向量小于或等于第四预设门限,则可确定该第一告警数据流属于已有聚合组。[0020]其中,第四预设门限例如可以是预先保存在该告警聚合模块中的。基于不同类型的距离,第四预设门限的值也不同。本申请对于第四预设门限的具体取值不作限定。[0021]进一步地,所述已有聚合组包括第一聚合组,该方法还包括:若第一聚合组的类中心向量与第一告警特征向量的距离小于其他任意一个已有聚合组的类中心向量与第一告警特征向量的距离,确定所述第一告警数据流属于所述第一聚合组。其中,将第一告警数据流添加进其属于的已有聚合组,包括:将第一告警数据流添加进第一聚合组。[0022]在确定第一告警数据流属于已有聚合组的情况下,还可进一步确定第一告警数据流属于哪个已有聚合组。假设上述第一聚合组为已有聚合组,且该第一聚合组的类中心向量与第一告警特征向量的距离是已有聚合组的类中心向量与第一告警特征向量的距离中的最小值,则可以确定该第一告警数据流属于第一聚合组。换言之,将与第一告警特征向量距离最近的类中心向量所对应的聚合组确定为该第一告警数据流所属的聚合组。[0023]再进一步地,该方法还包括:根据第一告警特征向量,更新第一聚合组的类中心向7[0024]基于第一聚合组的更新,告警聚合模块还可进一步根据第一告警特征向量更新第一聚合组的类中心向量,以便于计算后续生成的告警特征向量与第一聚合组的类中心向量的距离。[0025]其中,根据第一告警特征向量更新第一聚合组的类中心向量的方式有很多,例如可以求第一聚合组的全部告警数据流所对应的告警特征向量的平均值、加权和等。本申请对此不作限定。[0026]在一种可能的设计中,更新后的类中心向量c'与更新前的类中心向量c满足:c'=(c×n+v)/(n+1);其中,v表示第一告警特征向量,n表示在第一告警数据流被确定属于所述第一聚合组之前,被确定为第一聚合组的其他告警数据流的数量,n为正整数。[0027]本领域的技术人员可以理解,上述对类中心向量的更新也可以通过求平均值的方式或其他等价的方式来实现。本申请对此不作限定。[0028]结合第一方面,在某些可能的实现方式中,该方法还包括:确定获取到的告警数据流中的第一告警数据流不属于已有聚合组;所述已有聚合组是在基于第一告警数据流生成第一告警特征向量生成之前被创建的聚合组,每个已有聚合组包括一个或多个告警数据流;创建第二聚合组,该第二聚合组包括第一告警数据[0029]即,另一种可能的情况是,第一告警数据流不属于已有聚合组。在此情况下,告警聚合模块可以创建第二聚合组,将该第一告警数据流添加至该第二聚合组中。[0030]可选地,确定获取到的告警数据流中的第一告警数据流不属于已有聚合组,包括:确定基于第一告警数据流生成的第一告警特征向量分别与已有聚合组中每个聚合组的类中心向量的距离;所述类中心向量由所对应的聚合组中包含的告警数据流的告警特征向量确定;若第一告警数据流与已有聚合组中各聚合组对应的类中心向量的距离均大于第四预设门限,确定第一告警数据流不属于所述已有聚合组。[0031]如前所述,告警数据流所属的聚合组可以依据所对应的告警特征向量与类中心向量的距离来确定。若第一告警特征向量与任意一个类中心向量的距离均大于第四预设门限,则可以确定该第一告警数据流不属于已有聚合组。[0032]进一步地,该方法还包括:将第一告警特征向量确定为第二聚合组的类中心向量。[0033]在基于第一告警数据流创建了第二聚合组之后,可以进一步将第一告警特征向量确定为第二聚合组的类中心向量,以便于判断后续生成的告警特征向量与第二聚合组的类中心向量的距离。[0034]此后,该第二聚合组也就成为了一个已有聚合组。随着被添加到第二聚合组中的告警特征流的增加,第二聚合组的类中西向量也持续更新。[0035]结合第一方面,在某些可能的实现方式中,上述距离包括欧氏距离、马氏距离或余弦距离。[0036]本申请对于计算告警特征向量与类中心向量的距离的具体方式不作限定。对各类型距离的计算可以参考现有技术,本申请对此不作限定。可以理解的是,基于不同类型的距离,上述第四预设门限的取值会有所不同。[0037]结合第一方面,在某些可能的实现方式中,每个告警数据流包括以下至少一个维[0038]通过对告警数据流提供多个维度的特征,有利于获得更多维度的告警特征向量,8有利于从更多的维度对告警数据流属于哪个聚合组做出准确地判断,也有利于提高后续根因分析的准确性。[0039]结合第一方面,在某些可能的实现方式中,该方法还包括:根据所述第一聚合组中[0040]应理解,当告警聚合模块输出第一聚合组后,网管系统中的根因分析模块可以对该第一聚合组中的告警数据流进行根因分析,从而确定告警根因,并针对告警根因进行修[0041]由于本申请所提供的方法可以提高告警聚合的效率,因此也就有利于快速查找根因和修复,有利于快速恢复通信网络的正常运行。[0042]第二方面,提供了一种告警聚合的装置,该装置可以包括用于执行第一方面以及第一方面中任一种可能实现方式中的方法的各个模块或单元。[0043]第三方面,提供了一种告警聚合的装置,该装置可以包括处理器。该处理器与存储器耦合,可用于执行存储器中的指令,以实现上述第一方面以及第一方面任一种可能实现理器与通信接口耦合。[0044]可选地,所述处理器为一个或多个。[0046]可选地,所述存储器可以与所述处理器集成在一起,或者所述存储器与处理器分[0048]第四方面,提供了一种网管系统,包括如第二方面或第三方面中所述的告警聚合的装置。该网管系统还可以包括告警采集模块、告警降噪模块、根因分析模块和在线反馈模[0049]第五方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序(也可以称为代码,或指令),当所述计算机程序被运行时,使得计算机执行上述第一方面任一种可能的实现方式中的方法。[0050]第六方面,提供了一种计算机可读介质,所述计算机可读介质存储有计算机程序(也可以称为代码,或指令)当其在计算机上运行时,使得计算机执行上述第一方面任一种可能的实现方式中的方法。附图说明[0051]图1和图2是适用于本申请实施例提供的系统的示意图;[0052]图3是本申请实施例提供的网管系统工作流程的示意图;[0053]图4是本申请实施例提供的告警聚合的方法的示意性流程图;[0054]图5是本申请实施例提供的流失聚类的示意图;[0055]图6是本申请实施例提供的告警聚合的装置的示意性框图;[0056]图7是本申请实施例提供的告警聚合的装置的另一示意性框图。9具体实施方式[0058]本申请实施例的技术方案可以应用于各种通信网络,例如包括但不限于:长期演telecommunicationsystem,UMTS)、全球互联微波接入(worldwideinteroperabilityformicrowaveaccess,WiMAX)通信系统、第五代(5thGeneration,5G)移动通信系统或新通信系统可以是非独立组网(non-standalone,NSA)或独立组网(standalone,SA)。[0059]本申请提供的技术方案还可以应用于机器类通信(machinetypecommunication,MTC)、机器间通信长期演进技术(LongTermEvolution-machine,LTE-M)、设备到设备(device-todevice,D2D)网络、机器到机器(machinetomachine,M2M)网络、物联网(internetofthings,IoT)网络或者其他网络。其中,IoT网络例如可以包括车联网。其中,车联网系统中的通信方式统称为车到其他设备(vehicletoX,V2X,X可以代表任何事物),例如,该V2X可以包括:车辆到车辆(vehi设施(vehicletoinfrastructure,V2I)通信、车辆与行人之间的通信(vehicletopedestrian,V2P)或车辆与网络(vehicletonetwork,V2N)通信等。[0060]本申请实施例所提供的方法可以用于通信系统中,以收集网络中的告警信息,基于告警信息进行根因分析,进而针对根因进行修复。[0061]为便于理解,下面结合图1详细说明本申请实施例的系统架构。图1是适用于本申请实施例提供的方法的系统架构的示意图。应理解,图1所示的系统架构仅为便于理解而示例,不应对本申请所适用的范围构成限定。[0062]如图1所示,该系统中包括通信网络110和网管系统120。其中,通信网络110中可以包括至少一个网络设备111至118,每个网络设备在运行中均可能产生告警。网络设备可以理解为通信网络中需要被管理的对象。网络设备可以采用软件实现,例如可以为虚拟机、容电脑、磁盘、固态硬盘等;还可以采用软硬件结合的方式来实现。本申请对于网络设备的具体形态不作限定。[0063]网管系统120可以包括告警采集设备121和告警处理设备122。其中,告警采集设备121可用于采集并管理通信网络110中每个网络设备的告警。例如,告警采集设备121可以与通信网络110通信连接。当通信网络中的任意一个网络设备生成告警数据时,网络设备可以将告警发送至告警采集设备121.告警采集设备121可以将接收到的告警提供后续的告警处理设备122,以便于基于告警进行根因分析,进而根据根因进行修复。[0064]可选地,该告警处理设备122可以包括告警降噪模块1221、告警聚合模块1222、根因分析模块1223、在线反馈模块1224等。[0065]其中,告警降噪模块1221可用于通过提前预置好的过滤规则(比如屏蔽、闪断、震荡规则等)对从告警采集设备121获取到的重复或无效的告警进行剔除,以达到降噪的效[0066]然而,由于通信网络的规模不断扩大,网络设备上报的告警数量爆炸式地增长,即便对告警进行降噪,剩余的有效告警依然很多。如果交由现场运维人员进行人工的告警根因分析,则工作量巨大,且容易发生根因遗漏、定位不准等问题,严重影响后续的故障快速诊断和及时修复。因此,在根因分析前,可以有效告警进行聚类。这可以由告警聚合模块1222来实现。告警聚合模块1222可以基于现有的聚类算法,或已有的聚类引擎,对来自告警[0067]根因分析模块1223可以基于告警聚合模块1222对告警的聚类结果,进行根因分析。例如,根因分析模块1223可以基于每个聚合组进行根因分析,以分析每个聚合组的根因告警的疑似度。根因分析模块1223可以将疑似度最大的告警数据流确定为该聚合组的告警根因。[0068]运维人员可以将根因告警进行人工标识,并将该告警的处理方式等录入经验库,通过在线反馈模块1224进行在线反馈,形成根因告警处理经验库。应对本申请构成任何限定。例如,如图2所示,该网管系统120也可以包括告警采集模块1201、告警降噪模块1202、告警聚合模块1203、根因分析模块1204和在线反馈模块1205等。可以理解,虽然划分方式不同,但网管系统120所实现的功能仍然是相同或相似的。下文中为方便理解和说明,均以图2中所示的网管系统120为例来描述各个实施例。[0070]在一种设计中,上述网管系统120例如可以部署在一台物理设备上。该物理设备可以包括一个或多个处理器以及一个或多个存储器。其中,存储器中可以存储有指令,当指令被处理器加载并执行时,可以实现上述网管系统120所执行的功能。例如,上文列举的各设备和各模块的功能可分别由处理器执行相应的指令来实现。当然,该物理设备还可以包括输入输出接口(或者称,通信接口),例如有线或无线网络接口,以便与外界通信。该物理设备还可以包括可用于实现其他功能的部件。为了简洁,这里不作赘述。[0071]在另一种设计中,上述网管系统120也可以分布式地部署在多台物理设备上。该多台物理设备可以构成一个设备集群。该设备集群可以包括一个或多个处理器以及一个或多存储器。其中,存储器中可以存储有指令,当指令被处理器加载并执行时,可以实现上述网管系统120所执行的功能。[0072]例如,上文列举的告警采集设备121和告警处理设备122可独立地部署在两台物理设备上。各设备的功能可以由各物理设备中的处理器执行相应的指令来实现。告警处理设备122中各模块的功能又可进一步由处理器执行相应的指令来实现。或者,告警处理设备122中的各模块的功能可通过独立的多台物理设备来实现,每个模块部署在一台物理设备上。这也就相当于上文列举的告警采集模块1201、告警降噪模块1202、告警聚合模块1203、根因分析模块1204和在线反馈模块1205分别独立地部署在不同的物理设备上。本申请对此不作限定。[0073]此外,每台物理设备还可以包括输入输出接口,以便各物理设备之间的通信以及与外界的通信。该设备集群还可以包括可用于实现其他功能的部件。为了简洁,这里不作赘述。[0074]为了更好地理解网管系统中各模块的功能,下面结合图3做更详细地阐述。应理解,下文结合图3所做的说明仅为网管系统实现上述功能的一种可能的实现方式,而不应对本申请构成任何限定。11[0075]图3示出了网管系统工作的具体流程。[0076]在步骤310中,告警采集模块从通信网络中采集告警数据流。[0077]当通信网络中发生故障或发生错误时,网络设备可以产生告警数据流,并将告警数据流发送给告警采集模块。网络设备例如可以在发生故障或发生错误时即刻将告警数据流发送给告警采集模块,也可以在发生故障或发生错误后,等待一段时间,若在该等待时段内故障或错误仍未恢复,则将产生告警数据流,并发送给告警采集模块。[0078]可以理解,通信网络中可以包括多个网络设备。且,该网管系统还可能同时为多个通信网络提供服务。因此,告警采集模块可能并行地接收到多个网络设备发送过来的告警数据流。通常情况下,告警采集设备接收到的告警数据流的数量是庞大的。[0079]在步骤320中,告警采集模块将采集到的的告警数据流发送给告警降噪模块。[0080]告警采集模块将从通信网络采集到的告警数据流发送给告警降噪模块,以便对海量的告警数据流进行降噪处理。[0081]在步骤330中,告警降噪模块对告警数据流进行降噪处理。[0082]告警降噪模块例如可以通过提前配置好的过滤规则(比如包括相关性规则或其他规则,如屏蔽、闪断、震荡规则等),去除较多重复或无效的告警数据流,而将有效的告警数据流过滤出来。[0083]在步骤340中,告警降噪模块将有效告警数据流发送给告警聚合模块。[0084]上述的海量告警数据经过告警降噪模块的降噪处理后,仍然剩余较多的有效告警数据流。如果直接将剩余的有效告警数据流交由运维人员进行告警根因分析,则存在巨大的工作量和能力瓶颈,有可能导致根因遗漏或根因定位不准,进而严重影响到后续的故障快速诊断和及时修复。[0085]因此,可以先将上述经降噪处理后的有效告警数据流发送给告警聚合模块。[0086]在一种可能的实现方式中,该告警降噪模块中可以设置一缓存,该缓存可用于保存新收集到的告警数据流。告警降噪模块可以持续性地收集新上报的告警数据流,并可对预定义的时间窗内收集到的告警数据流进行降噪处理,将经降噪处理后剩余的有效告警数据流输出至告警聚合模块。[0087]在步骤350中,告警聚合模块对有效告警数据流进行聚合。[0088]告警聚合模块可以基于多种不同的算法对告警数据流进行聚合,以将有效告警数据流分配到不同的聚合组中。[0089]在一种实现方式中,告警聚合模块可以将接收到的告警数据流推送入规则引擎,进行基于规则的聚合,以将这些告警数据分成不同的聚合组。比如,与业务中断相关的聚合组、与性能故障相关的聚合组、与环境影响相关的聚合组等。[0090]在另一种实现方式中,告警聚合模块也可以将接收到的告警数据推送给告警智能分析引擎。该引擎可以先利用时间桶技术累积一定时间窗的告警数据,再对这个时间窗内累积的告警数据运用层次聚类算法进行聚类,将告警数据分成不同的聚合组。而剩余的未被累积在上一个时间窗内的告警数据,可以继续累积,等待下一次根因分析。[0091]告警聚合模块对告警数据进行聚合的方法可以有很多,为了简洁,这里不再一一[0092]通过告警聚合,同一类别的告警数据可以被归为一个聚合组。如图中所示,多个告警数据流经聚合得到三个聚合组,分别为聚合组#1:业务中断类的聚合组;聚合组#2:性能故障类的聚合组;和聚合组#3:环境影响类的聚合组。每个聚合组中包括一个或多个告警数[0093]为了区分各告警数据流所属的聚合组,在一种实现方式中,可以在告警聚合模块输出各告警数据流时打上标签,以标识各告警数据流所对应的类别。由于每个聚合组对应于一个类别,因此告警聚合模块输出各告警数据流的过程,也就是输出聚合组的过程。每个聚合组中可以包括属于同一个类别的一个或多个告警数据流。[0094]在步骤360中,告警降噪模块将经过聚合的告警数据流发送给根因分析模块。[0095]如前所述,告警聚合模块可以对各告警数据流标识各自所对应的类别。根因分析模块可以基于每个聚合组中的告警数据流进行根因分析。[0096]在步骤370中,根因分析模块对聚合组中的告警数据流进行根因分析,并基于分析结果进行修复。[0097]在一种实现方式中,可以利用人工智能的告警分析技术来进行根因分析。每个聚合组中的告警数据流可以被输入至提前训练好的根因识别模型,对每个告警数据流进行是否根因的判别,最后输出每个类别的告警根因。[0098]对于每个聚合组,如图3中所示的聚合组#1(即,业务中断类的告警数据流),针对其中的每个告警数据流确定根因告警的疑似度,并将疑似度最高的告警数据流确定为该聚合组的告警数据流的根因。[0099]根因分析模块对告警数据流进行根因分析的具体方式可以有很多,为了简洁,这里不一一列举。本申请对此不作限定。[0100]运维人员可以基于根因分析模块所输出的告警根因,采取相应的修复策略,以对网络进行修复。[0101]在步骤380中,通过在线反馈模块将告警数据和告警根因以及相应的处理经验录入经验库。[0102]每个聚合组中的告警数据流相应的根因告警及其处理经验可以被录入经验库中。在下一次遇到相似场景时,可以参考该经验库中存储的处理经验来处理。从而可以避免不必要的无效修复,有利于减少修复时长。从而有利于快速恢复通信网络的正常工作。[0103]应理解,上述在线反馈告警根因和处理经验的步骤可以由运维人员在该在线反馈模块上完成,或者也可以由该网管系统自动完成。本申请对此不作限定。[0104]还应理解,上文结合图1至图3所示的网管系统中的各模块并不一定是必须存在申请对此不作限定。[0105]上文结合图3对网管系统的具体工作流程做了简单介绍。可以看到,告警数据流从产生到被修复需要经过多个步骤的处理,等待时间较长。例如,降噪处理的耗时、聚类的耗时、根因分析的耗时以及修复的耗时等等。在现代通信网络运维场景中,及时查找根因,快速修复,是非常重要的。而对告警数据流的聚类是故障快速定位的关键环境之一。如果不能快速地对告警数据流进行聚合,就无法快速定位根因,从而不能及时对通信网络中的故障或错误进行修复,不能满足现网实时性的需求。因此希望提供一种方法,能够实现对告警数据流的快速聚类,减少根因分析的等待时长。[0106]通常情况下,告警聚合模块对告警数据的聚类例如包括基于规则的聚类、基于层次聚类算法的聚类等。然而,这些方法通常需要对固定数量的告警数据流进行聚合,例如,预定时间窗内的一个批次,或,当前获取到的全部告警数据等。然而,针对固定数量的告警需要等待基于告警数据流生成告警特征向量,等待时间也较长。因此,从整体上说,告警聚合模块对告警数据进行聚合的耗时较长。[0107]有鉴于此,本申请提供一种告警聚合的方法,以期提高告警聚合的效率,从而有利于降低根因分析的等待时间,满足现网实时性的需求。[0108]下面将结合附图详细说明本申请实施例提供的告警聚合的方法和装置。[0109]应理解,下文所述的告警聚合的方法可以由一个或多个处理器来执行。该一个或多个处理器例如可以配置在网管系统中,以用于实现告警聚合模块的功能。[0110]图4是本申请实施例提供的告警聚合的方法400的示意性流程图。如图4所示,该方法400可以包括步骤410至步骤450。下面详细说明图4中的各个步骤。[0112]如前所述,告警聚合模块可以从告警降噪模块获取降噪后的告警数据流,或者,从告警采集模块获取告警数据流。本申请对此不作限定。告警聚合模块可以同时获取到多个告警数据流,例如在一个时间窗内收集到的告警数据流。[0113]应理解,告警聚合模块获取到的告警数据流可能是经过降噪处理后剩下的有效告警数据流,也可能是未经过降噪处理,直接由告警采集模块输出的告警数据流。本申请对此不作限定。下文中为方便说明,将告警聚合模块获取到的告警数据流统称为告警数据流,对其是否经过降噪处理不作区分和限定。[0114]在本申请实施例中,告警数据流可以包括如下一个或多个维度的特征:拓扑、告警名称、告警级别、告警事件类型、告警时间和当前时间。在告警数据流中包括越多维度的特征,可以便于获取到关于此次告警更多的信息,从而有利于后续根因分析模块做出更准确的判断。[0115]在一种可能的设计中,每个告警数据流包括如下多个维度的特征:拓扑、告警名称和告警时间。可选地,每个告警数据流除了包括上述拓扑、告警名称和告警时间这三个维度的特征之外,还可以进一步包括告警级别、告警事件类型、当前时间中一个或多个维度的特[0116]当然,该告警数据流还可以包括除上文列举之外的其他维度的特征。本申请对于告警数据流中包含的特征的维度及其数量均不作限定。[0117]在步骤420中,基于获取到的告警数据流生成告警特征向量。[0118]告警聚合模块可以基于获取到的告警数据流中的每个告警数据流,生成告警特征向量。因此告警聚合模块基于获取到的多个告警数据流可以生成多个相对应的告警特征向[0119]示例性地,假设该告警数据流可以包括拓扑、告警名称、告警时间这三个维度的特征。告警聚合模块可以基于每个维度的特征生成拓扑特征向量、名称特征向量和时间特征向量。告警聚合模块可进一步基于该三个维度的特征向量,生成告警特征向量。例如,将拓扑特征向量、名称特征向量和时间特征向量进行拼接,以得到告警特征向量。又例如,按照预定义的权重,将拓扑特征向量、名称特征向量和时间特征向量进行拼接,以得到告警特征[0120]假设,拓扑特征向量记为a,名称特征向量记为b,时间特征向量记为c,则,拼接后得到的告警特征向量v例如可以表示为;或者,按照预定义的权重进行拼接后得到的[0121]应理解,上文仅为便于理解告警特征向量,以拓扑、告警名称、告警时间这三个维度为例来说明生成告警特征向量的过程。但这不应对本申请构成任何限定,当告警数据流中包括其他更多或更少维度的特征时,仍然可以基于上述方法来生成告警特征向量。可以理解,由此而生成的告警特征向量中也可以包括更多或更少维度的特征。[0122]还应理解,上文所列举的生成告警特征向量的方法也仅为示例,不应对本申请构成任何限定。本申请对基于告警数据流生成告警特征向量的具体方式不作限定。[0123]在步骤430中,基于生成的告警特征向量,确定所对应的告警数据流所属的聚合[0124]在本申请实施例中,告警聚合模块可以基于流式聚类,或者说,流式聚合,实现告警数据流的聚类。所谓流式聚类,就是基于每一个告警数据流进行计算,确定其所属的聚合组。每当一个告警数据流对应的告警特征向量生成,便可以基于当前生成的告警特征向量直接进行计算,而不必等待其他告警特征向量的生成。换言之,告警聚合模块不必等到固定数量的告警特征向量的生成。每生成一个告警特征向量,就处理一个告警数据流。从而可以大大减少等待时长和计算的数据量。[0125]上述流式聚类可以理解为一种流式处理框架,其具体实现可以通过不同的算法来如先使用欧氏距离、马氏距离等计算告警特征向量与聚合组类中心向量的距离,或使用度量学习算法学习和计算不同告警特征向量间的距离。本申请对于流式聚类的具体算法不作[0126]需要说明的是,上述向量间的距离也可以称为向量间的相似度。上文所述计算告警特征向量与聚合组类中向量的距离的过程也可以理解为是计算告警特征向量与聚合组的类中心向量的相似度的过程。本领域的技术人员可以理解,当向量间的距离较小时,它们的相似度较高。下文所描述的选择与告警特征向量距离最小的类中心向量对应的聚合组对告警数据流进行归并,也即选择与告警特征向量相似度最大的类中心向量对应的聚合组对告警数据流进行归并。[0127]后文中为方便理解和说明,以距离为例来说明具体实现过程。[0128]基于上述多个告警数据流生成的告警特征向量,可以确定各告警数据流所述的聚合组,每个聚合组包括一个或多个告警数据流。每个聚合组中的告警数据流属于同一类别。不同聚合组对应不同的类别。[0129]图5示出了流式聚类的示意图。[0130]如图所示,多个告警数据流被输入至告警聚合模块后,告警聚合模块基于该多个告警数据流生成多个告警特征向量。由图5可以看到,告警聚合模块是基于每一个生成的告警特征向量来确定各告警数据流所属的聚合组。[0131]具体来说,每当告警聚合模块基于一个告警数据流生成一个告警特征向量,告警聚合模块可以首先判断该告警特征向量是否属于已有聚合组。[0132]以该告警聚合模块获取到的多个告警数据流中的第一告警数据流为例来说明。该第一告警数据流可以是告警聚合模块获取到的多个告警数据流中的任意一个,由该第一告警数据流可以生成第一告警特征向量。[0133]在确定该第一告警数据流属于已有聚合组(例如记作第一聚合组)的情况下,告警聚合模块可以更新该第一聚合组中的告警数据流,更新后的第一聚合组包括上述第一告警数据流;在确定该第一告警数据流不属于已有聚合组的情况下,告警聚合模块可以进一步创建新的聚合组(例如记作第二聚合组),并确定该第一告警数据流属于第二聚合组。[0134]其中,已有聚合组可以是指在第一告警特征向量生成之前就已经创建但还未输出的聚合组。通常情况下,网管系统持续性地采集告警数据流,以便进行根因分析和修复。因此,当告警聚合模块对某一个时间窗内的告警数据流进行聚合时,告警聚合模块中可能已经创建了一个或多个聚合组,且这些聚合组尚未被输出。这些已有聚合组例如可以是基于上一个时间窗收集到的告警数据流而创建的聚合组,也可以是基于基于当前时间窗收集到的告警数据流,等等。如图5中所示,不同形状的图形可代表不同的聚合组。图5中示出了多个已有聚类组存在于该告警聚合模块中的情形。每个已有聚合组中包括一个或多个告警数[0135]在本申请实施例中,每个聚合组可以对应一个类中心向量,不管是已有聚合组,还是新创建的聚合组。每个聚合组及其对应的类中心向量可以保存告警聚合模块中。每个类中心向量可以根据其所对应的聚合组的告警数据流所对应的告警特征向量所确定,例如,可以是其所对应的聚合组所包含的告警数据流所对应的告警特征向量的平均值、加权和等[0136]在一种实现方式中,告警聚合模块可以根据每一个新生成的告警特征向量与各已有聚合组的类中心向量的距离的大小关系来确定所对应的告警数据流是否属于已有聚合组,以及属于哪个已有聚合组。例如,告警聚合模块可以根据第一告警特征向量与各已有聚合组的类中心向量的距离的大小关系来确定第一告警数据流是否属于已有聚合组,以及属于哪个已有聚合组。[0137]示例性地,告警聚合模块中预先设置第四预设门限。一种可能的情况是,第一告警特征向量与某一个或多个已有聚合组的类中心向量的距离小于或等于该第四预设门限。此情况下,告警聚合模块可以确定第一告警数据流属于已有聚合组。若存在多个已有聚合组的类中心向量与该第一告警特征向量的距离小于或等于第四预设门限,则可以从该多个已有聚合组中选择与第一告警特征向量距离最小的类中心向量所对应的已有聚合组作为该第一告警数据流所属的聚合组。例如,第一告警数据流所属的聚合组为第一聚合组。也即,在已有聚合组中,第一告警特征向量与第一聚合组的类中心向量的距离最接近。[0138]告警聚合模块在确定第一告警数据流属于第一聚合组之后,还可以进一步更新该第一聚合组的类中心向量。告警聚合模块可以根据该第一告警特征向量对该类中心向量进行更新。例如,可以对第一聚合组更新后的全部告警数据流(也即包括了该第一告警数据流)的告警特征向量求平均、加权和等。[0139]在一种实现方式中,更新后的类中心向量(例如表示为c’)与更新前的类中心向量(例如表示为c)满足如下公式:c'=(c×n+v)/(n+1);其中,v表示上述第一告警特征向量,n表示在该第一告警数据流被确定属于该第一聚合组之前,被确定为该第一聚合组的其他告警数据流的数量,n为正整数。由于下文会结合具体的例子来说明类中心向量的更新,为了[0140]另一种可能的情况是,该第一告警特征向量与已有聚合组中任意一个的类中心向量的距离均大于第四预设门限。此情况下,告警聚合模块可以基于该第一告警特征向量的[0141]告警聚合模块在确定第一告警数据流属于的第二聚合组之后,还可以进一步确定该第二聚合组的类中心向量。由于此时该第二聚合组仅包括第一告警数据流,该第二聚合组的类中心向量可以是该第一告警数据流所对应的第一告警特征向量。[0142]后续如果有新的告警数据流被更新到该第二聚合组中,告警聚合模块可以基于前一种可能的情况中所述的方式更新该第二聚合组的类中心向量。[0143]其中,上述距离例如可以是指欧式距离、马氏距离或余弦距离等。本申请对此不作[0144]基于不同类型的距离,所对应的第四预设门限也可以有不同的取值。例如,当上述距离为欧式距离时,上述第四预设门限可以是一个经验值,例如可以根据历史数据的统计值来确定。当上述距离为余弦距离时,上述第四预设门限可以取值0.7。[0145]应理解,上文对于距离的列举以及相应的第四预设门限的列举仅为示例,不应对本申请构成任何限定。[0146]还应理解,上文对于告警特征向量与类中心向量的距离与第四预设门限的大小关系来确定告警数据流所属的聚合组的方式仅为示例,例如,也可以将上述大于第四预设门限和小于获得等于第四预设门限替换为大于或等于第四预设门限和小于第四预设门限这两种情况来考虑。本申请对此不作限定。由于具体实现流程与上文所述相同,为了简洁,这里不再赘述。[0147]需要说明的是,告警聚合模块也可能存在聚合组全部被输出的时机。此情况下,当由上述步骤410中获取到的告警数据流生成告警特征向量时,因不存在已有聚合组,告警聚合模块可以基于生成的第一个告警特征向量,例如记作第二告警特征向量,创建聚合组,例如上述第一聚合组。新创建的第一聚合组包括该第二告警特征向量所对应的第二告警数据流。可以理解的是,该第二告警特征向量在上述第一告警特征向量之前生成。或者说,第一告警特征向量是在第二告警特征向量之后生成的告警特征向量。[0148]如前所述,在新的告警特征向量生成且被确定属于第一聚合组之后,该第一聚合组还可能持续更新,所对应的类中心向量也随之更新。第一聚合组的更新为:添加新的告警数据流到第一聚合组。对类中心向量的更新可为:根据新增加的告警数据流的告警特征向量更新第一聚合组的类中心向量。由于上文已经做了说明,为了简洁,这里不再赘述。[0149]在步骤440中,基于被确定的属于第一聚合组的每个告警数据流,更新第一聚合组中的告警数据流,直至对第一聚合组中的告警数据流的更新满足预设条件;在步骤450中,输出该第一聚合组。[0150]为便于理解和说明,下文中不失一般性地以多个聚合组中的第一聚合组为例来描述实施例。该第一聚合组可以包括一个或多个告警数据流,该第一聚合组对应的类别记为第一类别。[0151]在本申请实施例中,每当有一个告警数据流被确定属于第一聚合组,则更新第一聚合组中的告警数据流,也即,将新确定的属于第一聚合组的告警数据流添加到第一聚合组中。基于上文步骤430的描述可知,告警聚合模块基于流式处理框架对每个告警数据流进行所属聚合组的确定。随着每一次有一个告警数据流被确定属于第一聚合组,该第一聚合组就可以更新一次。[0152]告警聚合模块可以预设一些输出聚合组的条件,当对聚合组中告警数据流的更新满足预设条件时,便可以将该聚合组输出。[0153]下面仍以第一聚合组为例,结合不同的预设条件来说明。[0154]比如,预设条件是:对第一聚合组的更新频率小于预设门限(例如记作第一预设门限)。[0155]告警聚合模块可以根据第一聚合组的更新次数和更新时长,确定更新频率。当该第一聚合组中告警数据流的更新频率小于预先设置的第一预设门限时,可以输出该第一聚[0156]其中,该更新时长例如可以从该第一聚合组的创建时间开始计时。如,可以设置一个计时器,在第一聚合组创建的同时,开启该计时器。该更新次数例如可以从该第一聚合组被创建时开始计数。如,可以设置一个计数器,每一次更新第一聚合组中的告警数据流,计[0157]当然,该预设条件也可以是:对第一聚合组的更新频率小于或等于第一预设门限。[0158]作为另一个例子,该预设条件是:对第一聚合组的更新时长达到预设门限(例如记为第二预设门限)。[0159]告警聚合模块可以根据第一聚合组的更新时长与第二预设门限的大小关系来确定是否输出该第一聚合组。在第一聚合组的更新时长达到预先设置的第二预设门限时,告警聚合模块可以输出该第一聚合组。[0160]关于该第一聚合组的更新时长的确定方式上文已经做了详细说明,为了简洁,这里不再重复。[0161]作为另一个例子,该预设条件是:对第一聚合组的更新次数达到预设门限(例如记作第三预设门限)。[0162]告警聚合模块也可以根据第一聚合组的更新次数与第三预设门限的大小关系来确定是否输出该第一聚合组。在第一聚合组的更新次数达到预先设置的第三预设门限时,输出该第一聚合组。[0163]应理解,上述第一预设门限、第二预设门限和第三预设门限分别可以针对不同的觉合租而设置不同的值,也可以针对所有的聚合组设置相同的值,本申请对此不作限定。[0164]还应理解,告警聚合模块可以保存上述输出的预设门限,并可自行选择一个预设条件作为输出聚合组的条件,在确定了预设条件之后,便可以根据所对应的预设门限确定是更新聚合组还是输出聚合组。[0165]还应理解,上文所列举的预设条件仅为示例,不应对本申请构成任何限定。本申请并不排除采用其他可能的预设条件来确定在什么样的情况下输出聚合组。例如,对上文列举的预设条件作出变形或等价替换之后得到的预设条件。为了简洁,这里不一一列举。[0166]如前所述,该第一聚合组可以是至少一个聚合组中的一个。对于每个聚合组,该告警聚合模块均可以基于上述步骤440和步骤450的方式来确定何时输出聚合组。[0167]为了更好地理解本方案,下面结合一个具体的例子来说明步骤430至步骤450的具体实现过程。[0168]假设告警聚合模块获取到多个告警数据流,该多个告警数据例如可以从告警数据流#1开始连续往后计数,比如包括告警数据流#1至告警数据流#30。告警聚合模块基于多个告警数据流可以分别生成多个告警特征向量。这里,假设下文示出的告警特征向量的序号按照生成告警特征向量的先后顺序依次排序。即,各告警特征向量按生成的先后顺序依次为:告警特征向量#1、告警特征向量#2、告警特征向量#3直至告警特征向量#30。为了简洁,这里不一一列举。[0169]首先,告警聚合模块基于告警数据流#1生成告警特征向量#1。由于该告警特征向量#1是基于此次获取到的告警数据流生成的第一个告警特征向量,该告警聚合模块中目前可能还不存在已有聚合组,或者说,还未创建聚合组。告警聚合模块可以基于告警特征向量#1创建一个聚合组,例如记为聚合组#1。该聚合组#1可以包括告警数据流#1。该聚合组#1的类中心向量可以是该告警特征向量#1。[0170]与此同时,告警聚合模块可以继续基于告警数据流#2生成告警特征向量#2,基于告警数据流#3生成告警特征向量#3等等,以此类推,这里不一一列举。[0171]随着告警特征向量#2的生成,该告警聚合模块可以计算告警特征向量#2与聚合组#1的类中心向量的距离。若二者距离大于第四预设门限,则可以基于告警特征向量#2新创建一个聚合组,例如记为聚合组#2。该聚合组#2可以包括告警数据流#2。该聚合组#2的类中心向量可以是该告警特征向量#2。[0172]随着告警特征向量#3的生成,该告警聚合模块可以计算告警特征向量#3分别与聚合组#1的类中心向量的距离和与聚合组#2的类中心向量的距离。假如告警特征向量#3与聚合组#1的类中心向量的距离大于第四预设门限,但与聚合组#2的类中心向量的距离小于第四预设门限,则可以将该告警特征向量#3对应的告警数据流#3属于聚合组#2。告警聚合模块可以将告警数据流#3添加到聚合组#2中。更新后的聚合组#2可以包括告警数据流#2和告警数据流#3。[0173]由于对聚合组#2做了更新,该聚合组#2的类中心向量也可以随之更新。该聚合组#2的类中心向量原本为告警特征向量#2,在将告警数据流#3添加到该聚合组#2中之后,该聚合组#2的类中心向量可以更新为(告警特征向量#2+告警特征向量#3)/2。[0174]随着告警特征向量#4的生成,该告警聚合模块可以计算告警特征向量#4分别与聚合组#1的类中心向量的距离和与聚合组#2的类中心向量的距离。应理解,此时的聚合组#2的类中心向量为更新后的类中心向量,即上述(告警特征向量#2+告警特征向量#3)/2。[0175]假设告警特征向量#4与聚合组#1的类中心向量的距离小于该第四预设门限,且与聚合组#2的类中心向量的距离也小于该第四预设门限,则可以取二者中的较小值。比如,若告警特征向量#4与聚合组#1的类中心向量的距离大于告警特征向量#4与聚合组#2的类中心向量的距离,则可以确定该告警特征向量#4所对应的告警数据流#4也属于聚合组#2。告警聚合模块可以将告警数据流#4添加到聚合组#2中。更新后的聚合组#2可以包括告警数据流#2、告警数据流#3和告警数据流#4。[0176]由于对聚合组#2做了更新,该聚合组#2的类中心向量也可以随之更新。该聚合组#2的类中心向量原为(告警特征向量#2和告警特征向量#3)/2,在将告警数据流#4添加到该聚合组#2中之后,该聚合组#2的类中心向量可以更新为(告警特征向量#2+告警特征向量#3+告警特征向量#4)/3。[0177]随着告警特征向量#5的生成,该告警聚合模块可以计算告警特征向量#5分别与聚合组#1的类中心向量的距离和与聚合组#2的类中心向量的距离。应理解,此时的聚合组#2的类中心向量为更新后的类中心向量,即上述(告警特征向量#2+告警特征向量#3+告警特征向量#4)/3。[0178]假设告警特征向量#5与聚合组#1的类中心向量的距离和与聚合组#2的类中心向量的距离均大于第四预设门限,告警聚合模块可以基于该告警特征向量#5新创建一个聚合组,例如记为聚合组#3。该聚合组#3可以包括告警数据流#5。该聚合组#3的类中心向量可以是该告警特征向量#5。[0179]以此类推,告警聚合模块可以依次对上述告警数据流#1至告警数据流#30进行聚合。[0180]当某一个聚合组中的告警数据流的更新满足预设条件,比如更新频率小于第一预设门限,则可以将该聚合组输出。[0181]基于上述相同的方法对多个告警数据流进行聚合,告警聚合模块可以输出一个或多个聚合组。[0182]被输出的聚合组进一步进行根因分析。根因分析模块可以基于先输出的聚合组进行根因分析,以便及时确定根因并进行修复。后续根因分析和修复的过程可以参考现有技[0183]基于上述技术方案,本申请实施例通过采用流式处理框架,对每一个新生成的告警特征向量进行聚合组的确定,并基于每一次聚合组的确定更新聚合组中的告警数据流。一方面,告警聚合模块而不必等待一个批次或者更多数量的告警数据流到达之后才进行告警聚合。可以一边进行当前的聚合计算,一边等待下一个告警特征向量的生成。另一方面,由于对每一个告警特征向量进行聚合组的确定,相比于一个批次或更多数量的告警数据流而言,每次计算的数据量较小,因此计算耗时也较短。如此一来,告警聚合模块对数据流进行聚合的时间可以大大缩短,有利于提高整个网管系统进行根因分析的效率。[0184]此外,由于告警数据流包括多个维度的特征,可以为根因分析提供更多维度的信息,这有利于提高根因分析的准确度,提高网管系统的工作效果。[0185]应理解,方法400中的步骤410至步骤450可以理解为是用于实现图3中步骤350的一种具体的实现方式。在步骤410之前,该网管系统例如可以执行图3中的步骤310至步骤340中的部分或全部的步骤。在步骤450之后,该网管系统例如可以执行图3中的步骤360至步骤380中的部分或全部的步骤。[0186]还应理解,上文实施例中,第一、第二以及各种数字编号仅为描述方便进行的区分,并不用来限制本申请实施例的范围。例如,可用于区分不同的告警数据流、不同的告警某种客观情况下设备(如,告警聚合模块)会做出相应的处理,并非是限定时间,且也不要求设备(如,告警聚合模块)在实现时一定要有判断的动作,也不意味着存在其它限定。[0188]以上,结合多个附图对本申请实施例提供的告警聚合的方法做了详细说明。以下,结合附图对本申请实施例提供的告警聚合的装置进行详细说明。[0189]图6是本申请实施例提供的告警聚合的装置600的示意性框图。如图6所示,该装置600可以包括处理模块610和通信模块620。其中,该处理模块610用于基于获取到的告警数据流生成告警特征向量;还用于基于每个告警特征向量确定所对应的告警数据流所属的聚合组,所述聚合组包含第一聚合组;并用于基于被确定的属于第一聚合组的每个告警数据流,更新该第一聚合组中的告警数据流,直至对该第一聚合组中的告警数据流的更新满足预设条件;通信模块620用于输出该第一聚合组。[0190]可选地,对该第一聚合组中的告警数据流的更新满足预设条件为:对该第一聚合组中的告警数据流的更新频率小于第一预设门限。[0191]可选地,对该第一聚合组中的告警数据流的更新满足预设条件为:对该第一聚合组中的告警数据流的更新时间达到第二预设门限。[0192]可选地,对该第一聚合组中的告警数据流的更新满足预设条件为:对该第一聚合组中的告警数据流的更新次数达到第三预设门限。[0193]可选地,处理模块610还用于:确定获取到的告警数据流中的第一告警数据流属于已有聚合组,该已有聚合组是在基于第一告警数据流生成第一告警特征向量生成之前被创建的聚合组;每个已有聚合组包括一个或多个告警数据流;将第一告警数据流添加进其属于的已有聚合组。[0194]可选地,处理模块610还用于:确定基于第一告警数据流生成的第一告警特征向量分别与已有聚合组中每个聚合组的类中心向量的距离;所述类中心向量由所对应的聚合组中包含的告警数据流的告警特征向量确定;若一告警数据流与至少一个已有聚合组的类中心向量的距离小于或等于第四预设门限,确定该第一告警数据流属于已有聚合组。[0195]可选地,所述已有聚合组包括第一聚合组;该处理模块610还用于:若该第一聚合组的类中心向量与第一告警特征向量的距离小于其他任意一个已有聚合组的类中心向量与该第一告警特征向量的距离,确定该第一告警数据流属于该第一聚合组;将该第一告警数据流添加进该第一聚合组。[0196]可选地,该处理模块610还用于,根据该第一告警特征向量,更新该第一聚合组的类中心向量。1);其中,v表示该第一告警特征向量,n表示在该第一告警数据流被确定属于第一聚合组之前,被确定为该第一聚合组的其他告警数据流的数量,n为正整数。[0198]可选地,该处理模块610还用于,确定获取到的告警数据流中的第一告警数据流不属于已有聚合组,所述已有聚合组是在基于所述第一告警数据流生成第一告警特征向量生成之前被创建的聚合组,每个已有聚合组包括一个或多个告警数据流;创建第二聚合组,该第二聚合组包括第一告警数据流。[0199]可选地,该处理模块610还用于:确定基于该第一告警数据流生成的第一告警特征向量分别与已有聚合组中每个聚合组的类中心向量的距离;所述类中心向量由所对应的聚合组中包含的告警数据流的告警特征向量确定;若该第一告警数据流与已有聚合组中各聚合组对应的类中心向量的距离均大于第四预设门限,确定该第一告警数据流不属于已有聚合组。[0200]可选地,该处理模块610还用于将该第一告警特征向量确定为该第二聚合组的类中心向量。[0201]可选地,每个告警数据流包括以下至少一个维度的特征:拓扑、告警名称、告警级[0202]应理解,该装置600可以对应于根据本申请实施例的告警聚合的方法300的告警聚合模块,该装置600可以包括用于执行图4中的方法400中告警聚合模块执行的方法的模块。并且,该装置600中的各模块和上述其他操作和/或功能分别为了实现图4中的方法400中告警聚合模块执行的相应流程。由于各模块执行上述相应步骤的具体过程在方法实施例中已[0203]图7是本申请实施例提供的告警聚合的装置的另一示意性框图。如图7所示,该装置700可以包括处理器710、存储器720和通信接口730。[0204]该存储器720可以用于存储该计算机系统执行的程序代码和数据。因此,该存储器720可以是处理器710内部的存储单元,也可以是与处理器710独立的外部存储单元,还可以是包括处理器710内部的存储单元和与处理器710独立的外部存储单元的部件。[0205]处理器710可以由一个或者多个通用处理器构成,例如可以是中央处理器 (centralprocessingunit,CPU),通用处理器,数字信号处理器(digitalsignalprocessor,DSP),专用集成电路(application-specificintegratedcircuit,ASIC),现场可编程门阵列(fieldprogrammablegatearray,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含[0206]处理器710可用于运行相关的程序代码中处理功能的程序。也就是说,处理器710执行程序代码可以实现确定模块和创建模块的功能。其中,关于确定模块和创建模块的功能具体可参见前述实施例中的相关阐述。[0207]在一种可能的实施方式中,所述处理器710用于运行相关的程序代码,以实现本申请上述方法实施例中第一服务器的功能,或以实现本申请上述图4示出的步骤410至步骤450中所述的方法,和/或实现本文所描述的技术的其它步骤等,本申请这里不做详述和限[0208]通信接口730可以为有线接口(例如以太网接口)或无线接口(例如蜂窝网络接口或使用无线局域网接口),用于与其他模块/设备进行通信。[0209]存储器720可以易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(r可擦除可编程只读存储器(electricallyEPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(randomaccessmemory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static倍数据速率同步动态随机存取存储器(doubledatarateSDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(enhancedSDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlinkDRAM,SLDRAM)和直接内存总线随机存取存储器(directrambusRAM,DRRAM)。存储器720还可以包括上述种类的存储器的组合。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。[0210]存储器720可用于存储程序代码,以便于处理器710调用存储器720中存储的程序代码以实现本发明实施例中涉及的通信模块和/或处理模块的功能。当存储器720中的程序代码被处理器710执行时,可以使得该装置700执行上述方法实施例300中的方法。[0211]应理解,图6中所示的处理模块610例如可以与图7所示的处理器710对应,图6中所示的通信模块620例如可以与图7中所示的通信接口730对应。[0212

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论