一种告警根因定位方法、装置和计算机可读存储介质与流程

文档序号:18811714发布日期:2019-10-08 23:17阅读:140来源:国知局
一种告警根因定位方法、装置和计算机可读存储介质与流程

本发明涉及物联网告警监控技术,尤其涉及一种告警根因定位方法、装置和计算机可读存储介质。



背景技术:

随着物联网业务的快速发展,物联网业务中的用户规模与业务量在最近几年来呈现了爆发式的增长,此时,物联网支撑现网系统出现了海量数据需求响应慢、服务能力不足、运维复杂度高、告警问题难以定位、故障恢复难等问题。在各类物联网支撑系统中运维系统也面临着巨大的挑战,原有的人工处理的运维模式已经不再适合物联网业务的发展,难以满足用户灵活多样的需求。

现有的运维系统中,需要投入大量的运维人员对系统进行监控、故障定位,利用人工处理的方式完成系统管理与业务监控工作。但是,在物联网大连接的环境下,只凭人为的方式处理告警信息,找寻问题故障点,在短时间内恢复系统功能变得越来越难以完成。



技术实现要素:

本发明的主要目的在于提出一种告警根因定位方法、装置和计算机可读存储介质,能够将告警原因数据划分为多个数据块,通过多个子节点并行扫描多个数据块,从而,减轻运维人员负担,快速完成告警根因定位。

为达到上述目的,本发明的技术方案是这样实现的:

第一方面,本发明实施例提供了一种告警根因定位方法,所述方法包括:

获取告警原因数据,将所述告警原因数据进行分块得到多个第一数据块;

通过多个第一子节点并行扫描所述多个第一数据块,获得满足最小支持度的多个频繁1项集,其中,每一个第一子节点获得至少一个频繁1项集;

基于所述多个频繁1项集,确定告警相关的多个频繁n项集,n为大于2的自然数;

根据所述多个频繁n项集确定告警关联规则,以使得根据告警关联规则进行告警根因定位。

在上述方案中,所述获取告警原因数据,将所述告警原因数据进行分块得到多个子数据块,包括:

获取预设时间段内的原始告警数据;

根据预设的告警数据库对所述原始告警数据进行分组,分组后的原始告警数据为告警原因数据;

将所述告警原因数据按照预设的数据分块规则进行分块得到多个第一数据块,将所述多个第一数据块分配给所述多个第一子节点。

在上述方案中,第一子数据块为主节点分配给所述第一子节点的数据块,所述第一子数据块包括:至少一个第一数据块;

通过所述第一子节点扫描所述第一子数据块,获得满足最小支持度的至少一个频繁1项集,包括:

通过所述第一子节点扫描所述第一子数据块,统计所述第一子数据块中每一个告警原因指标的出现次数,根据所述每一个告警原因指标的出现次数计算所述每一个告警原因指标的支持度,所述第一子数据块包括:至少一个告警原因指标;

通过所述第一子节点判断所述每一个告警原因指标的支持度是否大于最小支持度,确定支持度大于最小支持度的至少一个告警原因指标为满足所述最小支持度的至少一个频繁1项集,通过所述第一子节点将所述至少一个频繁1项集汇聚至主节点。

在上述方案中,所述基于所述多个频繁1项集,确定告警相关的多个频繁n项集,包括:

根据所述多个频繁1项集,确定至少一个频繁1阶哈希桶,将至少一个频繁1阶哈希桶中的频繁1项集排序连接生成频繁2项候选集,将所述频繁2项候选集进行分块获得多个第二数据块,将所述多个第二数据块分配给多个第二子节点,通过所述多个第二子节点扫描所述多个第二数据块,获得满足所述最小支持度的多个频繁2项集,根据所述多个频繁2项集,确定至少一个频繁2阶哈希桶,将所述至少一个频繁2阶哈希桶中的频繁1项集排序连接生成频繁3项候选集,以此类推,直到获得满足所述最小支持度的多个频繁n项集。

在上述方案中,所述根据所述多个频繁1项集,确定至少一个频繁1阶哈希桶,包括:

将所述多个第一子节点中每一个第一子节点的至少一个频繁1项集分别压缩至与所述每一个子节点对应的哈希桶中,通过预先建立的哈希表对所述每一个第一子节点对应的哈希桶中的频繁1项集计数,获得所述每一个第一子节点对应的哈希桶中的频繁1项集的计数值;

根据所述每一个第一子节点对应的哈希桶中的频繁1项集的计数值,计算与所述每一个第一子节点对应的哈希桶的支持度;

分别将所述每一个第一子节点对应的哈希桶的支持度与最小支持度进行比较,确定哈希桶的支持度大于最小支持度的至少一个第一子节点对应的至少一个哈希桶为满足所述最小支持度的至少一个频繁1阶哈希桶。

在上述方案中,所述根据所述多个频繁n项集确定告警关联规则,包括:

遍历所述多个频繁n项集,获得所述多个频繁n项集中的多个非空子集,计算所述多个非空子集排列的多个规则的置信度;

判断所述多个非空子集排列的多个规则的置信度是否大于最小置信度,确定置信度大于最小置信度的规则为满足所述最小置信度的告警关联规则。

第二方面,本发明实施例提供了一种告警根因定位装置,所述装置包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器;其中,

所述处理器,用于运行所述计算机程序时,执行:

获取告警原因数据,将所述告警原因数据进行分块得到多个第一数据块;

通过多个第一子节点并行扫描所述多个第一数据块,获得满足最小支持度的多个频繁1项集,其中,每一个第一子节点获得至少一个频繁1项集;

基于所述多个频繁1项集,确定告警相关的多个频繁n项集,n为大于2的自然数;

根据所述多个频繁n项集确定告警关联规则,以使得根据告警关联规则进行告警根因定位。

在上述方案中,所述处理器,用于运行所述计算机程序时,执行:

获取预设时间段内的原始告警数据;

根据预设的告警数据库对所述原始告警数据进行分组,分组后的原始告警数据为告警原因数据;

将所述告警原因数据按照预设的数据分块规则进行分块得到多个第一数据块,将所述多个第一数据块分配给所述多个第一子节点。

在上述方案中,第一子数据块为主节点分配给所述第一子节点的数据块,所述第一子数据块包括:至少一个第一数据块;

所述处理器,用于运行所述计算机程序时,执行:

通过所述第一子节点扫描所述第一子数据块,统计所述第一子数据块中每一个告警原因指标的出现次数,根据所述每一个告警原因指标的出现次数计算所述每一个告警原因指标的支持度,所述第一子数据块包括:至少一个告警原因指标;

通过所述第一子节点判断所述每一个告警原因指标的支持度是否大于最小支持度,确定支持度大于最小支持度的至少一个告警原因指标为满足所述最小支持度的至少一个频繁1项集,通过所述第一子节点将所述至少一个频繁1项集汇聚至主节点。

在上述方案中,所述处理器,用于运行所述计算机程序时,执行:

根据所述多个频繁1项集,确定至少一个频繁1阶哈希桶,将至少一个频繁1阶哈希桶中的频繁1项集排序连接生成频繁2项候选集,将所述频繁2项候选集进行分块获得多个第二数据块,将所述多个第二数据块分配给多个第二子节点,通过所述多个第二子节点扫描所述多个第二数据块,获得满足所述最小支持度的多个频繁2项集,根据所述多个频繁2项集,确定至少一个频繁2阶哈希桶,将所述至少一个频繁2阶哈希桶中的频繁1项集排序连接生成频繁3项候选集,以此类推,直到获得满足所述最小支持度的多个频繁n项集。

在上述方案中,所述处理器,用于运行所述计算机程序时,执行:

将所述多个第一子节点中每一个第一子节点的至少一个频繁1项集分别压缩至与所述每一个子节点对应的哈希桶中,通过预先建立的哈希表对所述每一个第一子节点对应的哈希桶中的频繁1项集计数,获得所述每一个第一子节点对应的哈希桶中的频繁1项集的计数值;

根据所述每一个第一子节点对应的哈希桶中的频繁1项集的计数值,计算与所述每一个第一子节点对应的哈希桶的支持度;

分别将所述每一个第一子节点对应的哈希桶的支持度与最小支持度进行比较,确定哈希桶的支持度大于最小支持度的至少一个第一子节点对应的至少一个哈希桶为满足所述最小支持度的至少一个频繁1阶哈希桶。

在上述方案中,所述处理器,用于运行所述计算机程序时,执行:

遍历所述多个频繁n项集,获得所述多个频繁n项集中的多个非空子集,计算所述多个非空子集排列的多个规则的置信度;

判断所述多个非空子集排列的多个规则的置信度是否大于最小置信度,确定置信度大于最小置信度的规则为满足所述最小置信度的告警关联规则。

第三方面,本发明实施例还提供一种告警根因定位装置,所述装置包括:

获取单元,用于获取告警原因数据;

处理单元,用于将所述告警原因数据进行分块得到多个第一数据块;还用于通过多个第一子节点并行扫描所述多个第一数据块,获得满足最小支持度的多个频繁1项集,其中,每一个第一子节点获得至少一个频繁1项集;

确定单元,用于基于所述多个频繁1项集,确定告警相关的多个频繁n项集,n为大于2的自然数;还用于根据所述多个频繁n项集确定告警关联规则,以使得根据告警关联规则进行告警根因定位。

第四方面,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上任一项所述的方法的步骤。

本发明实施例所提供的告警根因定位方法、装置和计算机可读存储介质,获取告警原因数据,将告警原因数据进行分块得到多个第一数据块;通过多个第一子节点并行扫描多个第一数据块,获得满足最小支持度的多个频繁1项集,其中,每一个第一子节点获得至少一个频繁1项集;基于多个频繁1项集,确定告警相关的多个频繁n项集,n为大于2的自然数;根据多个频繁n项集确定告警关联规则,以使得根据告警关联规则进行告警根因定位。本发明实施例提供的告警根因定位方法、装置和计算机可读存储介质,能够通过多个子节点并行扫描多个数据块,最终得到告警相关的多个频繁n项集,从而,减轻运维人员负担,快速完成告警根因定位。

附图说明

图1为本发明实施例提供的哈希桶关联分析算法的实现流程示意图;

图2为本发明实施例提供的告警根因定位方法的实现流程示意图一;

图3为本发明实施例提供的告警根因定位方法的实现流程示意图二;

图4为本发明实施例提供的告警根因定位装置结构示意图一;

图5为本发明实施例提供的告警根因定位装置结构示意图二。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。

需要说明的是,本发明的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

在现有的运维系统当中,关联规则算法(简称apriori算法)是一种挖掘关联规则的频繁项集算法,相比于现有的运维系统当中的人工处理的运维模式能够在较短时间内找出问题故障点,但是该算法会反复读取内存数据,进行重复计算,从而会在计算候选集时耗费大量内存与网络输入/输出(简称网络i/o),在大量数据的物联网环境中,该算法可行性较低,基于此,本发明实施例提出一种哈希桶关联分析算法,可以减少对内存的反复读取,从而,降低对于内存、网络i/o的负担。

为了更好的理解本发明实施例中的技术方案,首先,对本申请实施例所提出的哈希桶关联分析算法进行简单介绍,如图1所示,哈希桶关联分析算法的步骤如下:

s101,获取待分析的数据。

s102、遍历所述待分析的数据,获得满足最小支持度的多个频繁1项集。

其中,实际应用过程当中,所述最小支持度可以根据业务需求而定,满足所述最小支持度的1项集称之为频繁1项集,例如,所述频繁1项集可以为{i1},也可以为{i2}。

s103、根据所述多个频繁1项集,确定至少一个频繁1阶哈希桶。

这里,哈希桶为压缩的哈希表,可以提供哈希表的空间利用率,同时能够处理哈希冲突,满足最小支持度的哈希桶为频繁哈希桶,哈希桶为现有技术,本发明实施例在此不做详细说明。

s104、根据所述至少一个频繁1阶哈希桶,确定多个频繁n项集。

其中,所述n为大于2的自然数,所述n的最大值可以根据具体应用场景而定。

其中,确定多个频繁n项集之后,包括:

遍历所述多个频繁n项集,获得满足最小置信度的规则;其中,实际应用过程当中,所述最小置信度可以根据经验值从而确定。

图2为本发明实施例提供的一种告警根因定位方法的实现流程示意图,该告警根因定位方法基于所述哈希桶关联分析算法,如图2所示,在本发明实施例中,告警根因定位方法的步骤如下:

s201、告警根因定位装置获取告警原因数据,将所述告警原因数据进行分块得到多个第一数据块。

具体的,本发明实施例的执行主体为告警根因定位装置,该告警根因定位装置包括:一个主节点和多个子节点,所述主节点可以为服务器集群中作为分布式计算系统主节点的服务器,所述子节点可以为服务器集群中作为分布式计算系统子节点的服务器。

其中,所述告警根因定位装置获取告警原因数据,将所述告警原因数据进行分块得到多个子数据块,包括:

主节点获取预设时间段内的原始告警数据;

所述主节点根据预设的告警数据库对所述原始告警数据进行分组,分组后的原始告警数据为告警原因数据;

所述主节点将所述告警原因数据按照预设的数据分块规则进行分块得到多个第一数据块,将所述多个第一数据块分配给所述多个第一子节点。

其中,所述预设时间段可以为5分钟,甚至是24小时,具体可以由所述主节点自行设定。

其中,所述预设的告警数据库中包括:告警问题和告警原因的对应关系,这里,所述预设的告警数据库是用户根据以往告警数据中告警问题和告警原因构建的告警数据库。

其中,所述预设的数据分块规则为:确保分割后各子数据块中数据的完整性的规则,默认的数据分块大小为64m,此时,所述预设的数据分块规则为将所述告警原因数据的存储空间以64m为分割点进行相应的划分,得到大小为64m的多个第一子数据块,这里,数据分块大小还可以设置为其他值,只有能确保分割后各子数据块中数据的完整性的值均在本发明实施例的保护范围当中。

具体的,所述主节点从告警监控平台获取预设时间段内的原始告警数据,并根据预设的告警数据库中告警问题和告警原因的对应关系对所述原始告警数据进行分组,得到告警原因数据,将所述告警原因数据按照预设的数据分块规则进行分块得到多个第一数据块,将所述多个第一数据块分配给所述多个第一子节点。

s202、所述告警根因定位装置通过多个第一子节点并行扫描所述多个第一数据块,获得满足最小支持度的多个频繁1项集。

其中,每一个第一子节点获得至少一个频繁1项集。

具体的,当所述主节点将所述多个第一数据块发送给多个第一子节点之后,所述多个第一子节点并行扫描所述多个第一数据块,从而获得满足最小支持度的多个频繁1项集。

这里,第一子数据块为所述主节点分配给所述第一子节点的数据块,所述第一子数据块包括:至少一个第一数据块,所述多个第一子节点并行扫描所述多个第一数据块的执行过程相同,本发明实施例对所述第一子节点扫描所述第一子数据块,获得满足最小支持度的至少一个频繁1项集为例进行详细说明。

具体的,通过所述第一子节点扫描所述第一子数据块,获得满足最小支持度的至少一个频繁1项集,包括:

通过所述第一子节点扫描所述第一子数据块,统计所述第一子数据块中每一个告警原因指标的出现次数,根据所述每一个告警原因指标的出现次数计算所述每一个告警原因指标的支持度,所述第一子数据块包括:至少一个告警原因指标;

通过所述第一子节点判断所述每一个告警原因指标的支持度是否大于最小支持度,确定支持度大于最小支持度的至少一个告警原因指标为满足所述最小支持度的至少一个频繁1项集,通过所述第一子节点将所述至少一个频繁1项集汇聚至主节点。

s203、所述告警根因定位装置基于所述多个频繁1项集,确定告警相关的多个频繁n项集,n为大于2的自然数。

其中,所述告警根因定位装置基于所述多个频繁1项集,确定告警相关的多个频繁n项集,包括:

所述主节点根据所述多个频繁1项集,确定至少一个频繁1阶哈希桶,所述主节点将至少一个频繁1阶哈希桶中的频繁1项集排序连接生成频繁2项候选集,将所述频繁2项候选集进行分块获得多个第二数据块,所述主节点将所述多个第二数据块分配给多个第二子节点,通过所述多个第二子节点扫描所述多个第二数据块,获得满足所述最小支持度的多个频繁2项集,所述多个第二子节点将所述多个频繁2项集汇聚至所述主节点,所述主节点根据所述多个频繁2项集,确定至少一个频繁2阶哈希桶,所述主节点将所述至少一个频繁2阶哈希桶中的频繁2项集排序连接生成频繁3项候选集,以此类推,直到获得满足所述最小支持度的多个频繁n项集。

其中,所述n的最小值为3,所述n的最大值为所述告警原因数据中告警原因指标的个数,假定所述告警原因数据中包括10个告警原因指标,那么所述n的最大值为10。

其中,所述主节点根据所述多个频繁1项集,确定至少一个频繁1阶哈希桶,包括:

所述主节点将所述多个第一子节点中每一个第一子节点的至少一个频繁1项集分别压缩至与所述每一个子节点对应的哈希桶中,通过预先建立的哈希表对所述每一个第一子节点对应的哈希桶中的频繁1项集计数,获得所述每一个第一子节点对应的哈希桶中的频繁1项集的计数值;

所述主节点根据所述每一个第一子节点对应的哈希桶中的频繁1项集的计数值,计算与所述每一个第一子节点对应的哈希桶的支持度;

所述主节点分别将所述每一个第一子节点对应的哈希桶的支持度与最小支持度进行比较,确定哈希桶的支持度大于最小支持度的至少一个第一子节点对应的至少一个哈希桶为满足所述最小支持度的至少一个频繁1阶哈希桶。

s204、所述告警根因定位装置根据所述多个频繁n项集确定告警关联规则,以使得根据告警关联规则进行告警根因定位。

具体的,当所述主节点根据所述多个频繁n项集确定告警关联规则之后,所述主节点将所述告警关联规则发送至告警监控平台,以使得告警监控平台能够根据所述告警关联规则完成告警根因定位。

其中,所述主节点根据所述多个频繁n项集确定告警关联规则,包括:

所述主节点遍历所述多个频繁n项集,获得所述多个频繁n项集中的多个非空子集,计算所述多个非空子集排列的多个规则的置信度;

所述主节点判断所述多个非空子集排列的多个规则的置信度是否大于最小置信度,确定置信度大于最小置信度的规则为满足所述最小置信度的告警关联规则。

本发明实施例提供的告警根因定位方法,通过将告警原因数据进行分块得到多个数据块,通过多个子节点并行扫描多个第一数据块,获得满足最小支持度的多个频繁1项集,基于所述多个频繁1项集,确定告警相关的多个频繁n项集,根据所述多个频繁n项集确定告警关联规则,以使得根据告警关联规则进行告警根因定位,从而减轻运维人员负担,减少数据累积造成的系统崩溃风险,实现对运维系统的故障进行定位。

基于前述实施例相同的发明构思,以物联网内容计费话单积压告警为例,对本发明实施例提供的告警根因定位方法进行详细说明,图3为本发明实施例提供的一种告警根因定位方法的实现流程示意图,该告警根因定位方法基于hadoop平台的mapreduce模型,mapreduce是目前最常用的通过使用集群计算机对大数据进行并行计算和本地化处理的计算模型,mapreduce会通过map函数将数据划分为多个数据块并分配任务给计算节点,计算节点通过<key,value>的中间键值对完成map阶段,在运行reduce阶段reduce函数聚合输入的数据得到新的<key,value>集合完成数据处理,如图3所示,在本发明实施例中,告警根因定位方法的步骤如下:

s301、告警根因定位装置获取预设时间段内的原始告警数据。

其中,所述预设时间段可以为5分钟,甚至是24小时,具体可以由主节点自行设定。

这里,由于影响话单积压告警的原始告警数据有很多,并且每一个指标都对应着32个地区、每个地区也会记录一天24小时的数据,因此,本发明实施例以32个地区某一个确定时刻的部分数据为例,例如,主节点从告警监控平台获取5分钟内的影响话单积压告警的原始告警数据可以有:订单平均耗时60%、订单平均tps30%、gprsdecode话单吞吐量40%、gprsrpling话单吞吐量60%、gprsrating话单吞吐量20%、smsdecode话单吞吐量10%、smsrpling话单吞吐量20%、smsrating话单吞吐量30%、order话单吞吐量70%、包月话单吞吐量80%、gprs话单处理速度20%、sms话单处理速度30%、包月话单处理速度90%等。

s302、所述告警根因定位装置根据预设的告警数据库对所述原始告警数据进行分组,分组后的原始告警数据为告警原因数据。

这里,所述主节点根据以往告警数据中告警问题和告警原因构建的告警数据库对所述原始告警数据进行分组,分组后的原始告警数据为告警原因数据,此外,所述主节点新建一张哈希表,将所述告警原因数据保存至所述哈希表中,并对所述告警原因数据中的告警原因指标进行标号。

示例性地,保存到哈希表中的告警原因数据可以为:<key=话单积压,value={j1:“订单平均耗时”},{j2:“订单平均tps”},{j1:“订单平均耗时”,j4:“gprsdecode话单吞吐量”},上述告警原因数据可以理解为,影响话单积压告警的告警原因可以为某一个告警原因指标,也可以为某几个告警原因指标的组合。

s303、所述告警根因定位装置将所述告警原因数据按照预设的数据分块规则进行分块得到多个第一数据块,将所述多个第一数据块分配给所述多个第一子节点。

这里,默认的数据分块大小为64m,因此,所述主节点将所述告警原因数据的存储空间以64m为分割点进行相应的划分,得到大小为64m的多个第一数据块,并将所述多个第一数据块分配给所述多个第一子节点。

s304、所述告警根因定位装置通过多个第一子节点并行扫描所述多个第一数据块,获得满足最小支持度的多个频繁1项集。

其中,每一个第一子节点获得至少一个频繁1项集。

这里,所述最小支持度由所述主节点设定,并将所述最小支持度发送至所述多个第一子节点。

这里,第一子数据块为所述主节点分配给所述第一子节点的数据块,所述第一子数据块包括:至少一个第一数据块,通常,所述主节点为所述第一子节点分配的第一数据块的个数可以根据所述第一子节点的计算能力确定,所述多个第一子节点并行扫描所述多个第一数据块的执行过程相同,本发明实施例对所述第一子节点扫描第一子数据块,获得满足最小支持度的至少一个频繁1项集为例进行详细说明。

具体的,通过所述第一子节点扫描所述第一子数据块,获得满足最小支持度的至少一个频繁1项集,包括:

通过所述第一子节点扫描所述第一子数据块,统计所述第一子数据块中每一个告警原因指标的出现次数,根据所述每一个告警原因指标的出现次数计算所述每一个告警原因指标的支持度,所述第一子数据块包括:至少一个告警原因指标;

通过所述第一子节点判断所述每一个告警原因指标的支持度是否大于最小支持度,确定支持度大于最小支持度的至少一个告警原因指标为满足所述最小支持度的至少一个频繁1项集,通过所述第一子节点将所述至少一个频繁1项集汇聚至主节点。

其中,所述第一子数据块中每一个告警原因指标的支持度的计算公式可以为:所述第一子数据块每一个告警原因指标的出现次数除以所述第一子数据块中所有告警原因指标的出现次数。

其中,通过所述第一子节点扫描所述第一子数据块,统计所述第一子数据块中每一个告警原因指标的出现次数,包括:

所述第一子节点将所述第一子数据块作为所述第一子节点map函数的输入数据,对于所述第一子数据块中的数据ti,map的输入键值对是<key=jn,value=1>,jn表示不同的告警原因指标;

所述第一子节点将所有key=jn的键值对分配到同一个reduce函数,则reduce函数的输入是<key=jn,value={l,1,...,l}>,reduce函数进行一次求和输出<key=jn,value=sum{l,1,...,l}>,由于jn表示不同的告警原因指标,那么最终reduce函数的求和输出值value就是对每一个告警原因指标的出现次数进行统计,得到每一个告警原因指标的出现次数。

示例性地,假定主节点设定的最小支持度为0.6,那么,第一子节点1扫描第一子数据块,计算每一个告警原因指标的支持度,当支持度大于最小支持度0.6时,该告警原因指标为一个频繁1项集,例如,第一子节点1找到的频繁1项集可以为:{订单平均tps}、{gprsdecode话单吞吐量}、{gprs话单处理速度},其他的第一子节点找寻频繁1项集的方法和第一子节点1找寻频繁1项集的方法相同,例如,第一子节点2找到的频繁1项集可以为:{gprsdecode话单吞吐量}、{gprsrpling话单吞吐量}、{gprsrating话单吞吐量}、{gprs话单处理速度},第一子节点3找寻的频繁1项集可以为:{订单平均耗时}、{gprsrating话单吞吐量}、{gprsrpling话单吞吐量}、{gprs话单处理速度}等。

s305、所述告警根因定位装置基于所述多个频繁1项集,确定至少一个频繁1阶哈希桶。

示例性地,如表1所示,假设共有6个第一子节点,即第一子节点1、第一子节点2、第一子节点3、第一子节点4、第一子节点5、第一子节点6,此时,主节点将6个第一子节点发送的频繁1项集分别压缩至与6个第一子节点对应的哈希桶中,即将第一子节点1发送的频繁1项集压缩至哈希桶node1中,将第一子节点2发送的频繁1项集压缩至哈希桶node2中,以次类推,将第一子节点6发送的频繁1项集压缩至哈希桶node6中,并且通过预先建立的哈希表对6个第一子节点对应的哈希桶中的频繁1项集计数,获得6个第一子节点对应的哈希桶中的频繁1项集的计数值;根据6个第一子节点对应的哈希桶中的频繁1项集的计数值,计算6个第一子节点对应的哈希桶的支持度分别为:0.3、0.7、0.8、0.7、0.8、0.9;假定最小支持度为0.6,将上述6个支持度与最小支持度0.6进行比较,哈希桶的支持度大于最小支持度0.6的哈希桶为频繁1阶哈希桶,即最终确定的频繁1阶哈希桶为node2、node3、node4、node5、node6。

表1

s306、所述告警根因定位装置根据所述至少一个频繁1阶哈希桶,确定告警相关的多个频繁2项集。

具体的,所述主节点在获得所述频繁1阶哈希桶之后,所述主节点将至少一个频繁1阶哈希桶中的频繁1项集按照字典顺序排序连接生成频繁2项候选集,将所述频繁2项候选集进行分块获得多个第二数据块,所述主节点将所述多个第二数据块分配给多个第二子节点,通过所述多个第二子节点并行扫描所述多个第二数据块,从而获得满足所述最小支持度的多个频繁2项集,所述多个第二子节点将所述多个频繁2项集汇聚至所述主节点,这里,所述通过多个第二子节点并行扫描所述多个第二数据块确定告警相关的所述多个频繁2项集的方法和所述多个第一子节点并行扫描所述多个第一数据块确定告警相关的所述多个频繁1项集的方法相同,本发明实施例在此不做赘述。

s307、所述告警根因定位装置根据所述多个频繁2项集,确定至少一个频繁2阶哈希桶。

这里,所述主节点根据所述多个频繁2项集,确定至少一个频繁2阶哈希桶的过程与所述主节点根据所述多个频繁1项集,确定至少一个频繁1阶哈希桶的过程相同,本发明实施例在此不做赘述。

s308、所述告警根因定位装置根据所述至少一个频繁2阶哈希桶,确定告警相关的多个频繁n项集。

具体的,所述主节点将所述至少一个频繁2阶哈希桶中的频繁2项集按照字典顺序排序连接生成频繁3项候选集,以此类推,直到获得满足所述最小支持度的多个频繁n项集,这里,所述n为预先设定的一个大于2的自然数,如果n为3,即最终确定告警相关的多个频繁3项集,实际应用中,所述n根据所述告警原因数据中告警原因指标的数目从而确定,例如,如果有10个告警原因指标,那么,所述n的最大值为10,即所述n为大于2并且小于10的自然数。

示例性地,假定n为4,那么最终确定的告警相关的多个频繁4项集的其中一个频繁4项集可以为:{gprsdecode话单吞吐量、gprsrpling话单吞吐量、gprsrating话单吞吐量、gprs话单处理速度}。

s309、所述告警根因定位装置根据所述多个频繁n项集确定告警关联规则,以使得根据告警关联规则进行告警根因定位。

具体的,所述主节点在得到所述多个频繁n项集之后,所述主节点遍历所述多个频繁n项集,获得所述多个频繁n项集中的多个非空子集,计算所述多个非空子集排列的多个规则的置信度;所述主节点判断所述多个非空子集排列的多个规则的置信度是否大于最小置信度;其中,所述最小置信度依据经验值确定,例如,所述最小置信度可以设定为0.5,那么,置信度大于最小置信度0.5的规则为满足所述最小支持度的告警关联规则;当得到所述告警关联规则之后,所述主节点将所述告警关联规则发送至告警监控平台,以使得所述告警监控平台根据所述告警关联规则完成告警根因定位。

示例性地,所述告警关联规则可以为{话单积压告警}->{gprsdecode话单吞吐量、gprsrpling话单吞吐量、gprsrating话单吞吐量、gprs话单处理速度},也可以理解为,{话单积压告警}->{gprsdecode话单吞吐量、gprsrpling话单吞吐量、gprsrating话单吞吐量、gprs话单处理速度}的置信度大于0.5,因此,此次话单积压告警和{gprsdecode话单吞吐量、gprsrating话单吞吐量、gprsrating话单吞吐量、gprs话单处理速度}有着强关联,则告警监控平台可以确定此次话单积压告警是由gprsdecode话单吞吐量、gprsrpling话单吞吐量、gprsrating话单吞吐量、gprs话单处理速度共同造成的。

本发明实施例提供的告警根因定位方法,通过将告警原因数据进行分块得到多个数据块,通过多个子节点并行扫描多个第一数据块,获得满足最小支持度的多个频繁1项集,基于所述多个频繁1项集,确定告警相关的多个频繁n项集,根据所述多个频繁n项集确定告警关联规则,以使得根据告警关联规则进行告警根因定位,从而减轻运维人员负担,减少数据累积造成的系统崩溃风险,实现对运维系统的故障进行定位。

本发明实施例还提供了一种告警根因定位装置40,如图4所示,所述告警根因定位装置40至少包括:处理器41和用于存储能够在处理器上运行的计算机程序的存储器42,其中,

所述处理器41,用于运行所述计算机程序时,执行:

获取告警原因数据,将所述告警原因数据进行分块得到多个第一数据块;

通过多个第一子节点并行扫描所述多个第一数据块,获得满足最小支持度的多个频繁1项集,其中,每一个第一子节点获得至少一个频繁1项集;

基于所述多个频繁1项集,确定告警相关的多个频繁n项集,n为大于2的自然数;

根据所述多个频繁n项集确定告警关联规则,以使得根据告警关联规则进行告警根因定位。

在本发明实施例中,进一步地,所述处理器41,具体还用于运行所述计算机程序时,执行:

获取预设时间段内的原始告警数据;

根据预设的告警数据库对所述原始告警数据进行分组,分组后的原始告警数据为告警原因数据;

将所述告警原因数据按照预设的数据分块规则进行分块得到多个第一数据块,将所述多个第一数据块分配给所述多个第一子节点。

在本发明实施例中,进一步地,第一子数据块为主节点分配给所述第一子节点的数据块,所述第一子数据块包括:至少一个第一数据块;

所述处理器41,具体还用于运行所述计算机程序时,执行:

通过所述第一子节点扫描所述第一子数据块,统计所述第一子数据块中每一个告警原因指标的出现次数,根据所述每一个告警原因指标的出现次数计算所述每一个告警原因指标的支持度,所述第一子数据块包括:至少一个告警原因指标;

通过所述第一子节点判断所述每一个告警原因指标的支持度是否大于最小支持度,确定支持度大于最小支持度的至少一个告警原因指标为满足所述最小支持度的至少一个频繁1项集,通过所述第一子节点将所述至少一个频繁1项集汇聚至主节点。

在本发明实施例中,进一步地,所述处理器41,具体还用于运行所述计算机程序时,执行:

所述多个频繁1项集,确定至少一个频繁1阶哈希桶,将至少一个频繁1阶哈希桶中的频繁1项集排序连接生成频繁2项候选集,将所述频繁2项候选集进行分块获得多个第二数据块,将所述多个第二数据块分配给多个第二子节点,通过所述多个第二子节点扫描所述多个第二数据块,获得满足所述最小支持度的多个频繁2项集,根据所述多个频繁2项集,确定至少一个频繁2阶哈希桶,将所述至少一个频繁2阶哈希桶中的频繁1项集排序连接生成频繁3项候选集,以此类推,直到获得满足所述最小支持度的多个频繁n项集。

在本发明实施例中,进一步地,所述处理器41,具体还用于运行所述计算机程序时,执行:

将所述多个第一子节点中每一个第一子节点的至少一个频繁1项集分别压缩至与所述每一个子节点对应的哈希桶中,通过预先建立的哈希表对所述每一个第一子节点对应的哈希桶中的频繁1项集计数,获得所述每一个第一子节点对应的哈希桶中的频繁1项集的计数值;

根据所述每一个第一子节点对应的哈希桶中的频繁1项集的计数值,计算与所述每一个第一子节点对应的哈希桶的支持度;

分别将所述每一个第一子节点对应的哈希桶的支持度与最小支持度进行比较,确定哈希桶的支持度大于最小支持度的至少一个第一子节点对应的至少一个哈希桶为满足所述最小支持度的至少一个频繁1阶哈希桶。

在本发明实施例中,进一步地,所述处理器41,具体还用于运行所述计算机程序时,执行:

遍历所述多个频繁n项集,获得所述多个频繁n项集中的多个非空子集,计算所述多个非空子集排列的多个规则的置信度;

判断所述多个非空子集排列的多个规则的置信度是否大于最小置信度,确定置信度大于最小置信度的规则为满足所述最小置信度的告警关联规则。

本发明实施例还提供一种告警根因定位装置50,如图5所示,所述告警根因定位装置50包括:获取单元51、处理单元52、确定单元53,其中,

所述获取单元51,用于获取告警原因数据;

所述处理单元52,用于将所述告警原因数据进行分块得到多个第一数据块;还用于通过多个第一子节点并行扫描所述多个第一数据块,获得满足最小支持度的多个频繁1项集,其中,每一个第一子节点获得至少一个频繁1项集;

所述确定单元53,用于基于所述多个频繁1项集,确定告警相关的多个频繁n项集,n为大于2的自然数;还用于根据所述多个频繁n项集确定告警关联规则,以使得根据告警关联规则进行告警根因定位。

进一步地,所述获取单元51,还用于获取预设时间段内的原始告警数据;

所述处理单元52,还用于根据预设的告警数据库对所述原始告警数据进行分组,分组后的原始告警数据为告警原因数据;

将所述告警原因数据按照预设的数据分块规则进行分块得到多个第一数据块,将所述多个第一数据块分配给所述多个第一子节点。

进一步地,第一子数据块为主节点分配给所述第一子节点的数据块,所述第一子数据块包括:至少一个第一数据块;

所述装置还包括:计算单元54,

所述计算单元54,用于通过所述第一子节点扫描所述第一子数据块,统计所述第一子数据块中每一个告警原因指标的出现次数,根据所述每一个告警原因指标的出现次数计算所述每一个告警原因指标的支持度,所述第一子数据块包括:至少一个告警原因指标;

所述确定单元53,还用于通过所述第一子节点判断所述每一个告警原因指标的支持度是否大于最小支持度,确定支持度大于最小支持度的至少一个告警原因指标为满足所述最小支持度的至少一个频繁1项集,通过所述第一子节点将所述至少一个频繁1项集汇聚至主节点。

进一步地,所述处理单元52,还用于根据所述多个频繁1项集,确定至少一个频繁1阶哈希桶,将至少一个频繁1阶哈希桶中的频繁1项集排序连接生成频繁2项候选集,将所述频繁2项候选集进行分块获得多个第二数据块,将所述多个第二数据块分配给多个第二子节点,通过所述多个第二子节点扫描所述多个第二数据块,获得满足所述最小支持度的多个频繁2项集,根据所述多个频繁2项集,确定至少一个频繁2阶哈希桶,将所述至少一个频繁2阶哈希桶中的频繁1项集排序连接生成频繁3项候选集,以此类推,直到获得满足所述最小支持度的多个频繁n项集。

进一步地,所述处理单元52,还用于将所述多个第一子节点中每一个第一子节点的至少一个频繁1项集分别压缩至与所述每一个子节点对应的哈希桶中,通过预先建立的哈希表对所述每一个第一子节点对应的哈希桶中的频繁1项集计数,获得所述每一个第一子节点对应的哈希桶中的频繁1项集的计数值;

所述计算单元54,还用于根据所述每一个第一子节点对应的哈希桶中的频繁1项集的计数值,计算与所述每一个第一子节点对应的哈希桶的支持度;

所述确定单元53,还用于分别将所述每一个第一子节点对应的哈希桶的支持度与最小支持度进行比较,确定哈希桶的支持度大于最小支持度的至少一个第一子节点对应的至少一个哈希桶为满足所述最小支持度的至少一个频繁1阶哈希桶。

进一步地,所述计算单元54,还用于遍历所述多个频繁n项集,获得所述多个频繁n项集中的多个非空子集,计算所述多个非空子集排列的多个规则的置信度;

所述确定单元53,还用于判断所述多个非空子集排列的多个规则的置信度是否大于最小置信度,确定置信度大于最小置信度的规则为满足所述最小置信度的告警关联规则。

本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现以下步骤:

获取告警原因数据,将所述告警原因数据进行分块得到多个第一数据块;

通过多个第一子节点并行扫描所述多个第一数据块,获得满足最小支持度的多个频繁1项集,其中,每一个第一子节点获得至少一个频繁1项集;

基于所述多个频繁1项集,确定告警相关的多个频繁n项集,n为大于2的自然数;

根据所述多个频繁n项集确定告警关联规则,以使得根据告警关联规则进行告警根因定位。

以上计算机可读存储介质实施例项的描述,与上述方法描述是类似的,具有同方法实施例相同的有益效果。对于本发明计算机可读存储介质实施例中未披露的技术细节,本领域的技术人员请参照本发明方法实施例的描述而理解。

应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。

上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。

另外,在本发明各实施例中的各功能单元可以全部集成在一个处理器中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(readonlymemory,rom)、磁碟或者光盘等各种可以存储程序代码的介质。

或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、rom、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

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