当前位置: 首页 > 专利查询>武汉大学专利>正文

一种基于密度加权集成规则的日志异常检测方法技术

技术编号:28225733 阅读:38 留言:0更新日期:2021-04-28 09:59
本发明专利技术提出了一种基于密度加权集成规则的日志异常检测方法。本发明专利技术引入多条软件日志,根据软件日志,构建单词频次向量;根据单词频次向量,使用基于改进的谱聚类方法得到正常簇、异常簇,并计算得到正常日志集和异常日志集,构建平衡日志集;基分类器将平衡日志集作为训练集,用训练后的基分类器构建多基分类器,用多基分类器对待分类的样本进行分类,基分类器产生分类概率向量;根据分类概率向量,通过五个新的集成规则,分别得到五个分类结果,从中选择频次最大的分类结果作为最终的分类结果。本发明专利技术优点在于,保证了样本的平衡,且考虑了原始数据的分布,新的集成规则还考虑了待分类样本与历史数据之间的关系,提高了分类结果的准确性。结果的准确性。结果的准确性。

【技术实现步骤摘要】
一种基于密度加权集成规则的日志异常检测方法


[0001]本专利技术属于日志异常检测领域,具体涉及一种基于密度加权集成规则的日志异常检测方法。

技术介绍

[0002]现代系统正在大规模发展,要么是横向扩展,成为建立在数千台商用机器上的复杂系统(比如Spark);要么是纵向扩展,成为具有数以千计的处理器的超级计算机(比如Blue Gene/L)。这些系统正成为IT行业的核心部分,故障的出现及其对于系统性能和运营成本的影响已经成为研究领域里非常重要的问题。复杂的软件和系统不仅包含更多的BUG,而且难以理解和分析。另外,随着时间流逝,这些系统的质量也在老化。这些问题会导致软件崩溃或系统停机。
[0003]日志可用于获取软件信息以检测和定位异常。传统的系统管理员检查系统生成的日志数据,以深入了解系统的行为。然而,由于系统的规模和复杂性的提升,每天都有大量的日志产生。如果问题发生,那么对于操作员来说,通过手动检查大量日志消息来查找系统问题非常耗时。因此,需要一些自动化工具用于日志异常检测的需求在逐渐增强。
[0004]在日志数据中,正常日志记录系统或软件的正常状态,异常日志记录系统或软件的异常状态,而描述正常状态的日志数量远大于描述系统异常状态的日志数量,因此不平衡的数据分布是日志数据的一个特征。当今标准机器学习算法都是基于平衡数据的理论,它们在不平衡样本上通常表现得很差。基于传统机器学习算法的分类器通常忽略少数类,因为这些分类算法倾向于最大化整体分类的准确率。因此,它们的准确率对于分类不平衡问题来说不够好。通过合并多基分类器的分类结果,集成学习能解决这个问题。然而,基分类器的每个结果并不都是准确的,因为它仍然在处理不平衡的数据,而这些数据是从原始不平衡数据中按比例抽样的。因此,将一些特别的抽样方法与词袋结合起来解决这个问题,这些抽样方法包括UnderBagging、XGBoost和SMOTE

Bagging。这些集成学习方法使用抽样将不平衡的数据处理成平衡的样本,并且基分类器用于平衡样本,产生多个分类结果。然后,使用特定集成规则来合并这些分类结果。然而,当使用基于集成学习的方法来检测日志数据上的异常时,这里存在两个问题:
[0005]不平衡样本处理问题。一般而言,集成学习方法使用Bootstrap来随机抽样和获得平衡数据集,这是一种有放回的抽样方法。它将改变原始数据的分布或者使分类器过拟合。因此,当基分类器用于通过这些抽样方法获得的样本时,依然会存在准确率低的问题。
[0006]集成规则问题。有五个传统集成规则,它们是Max Rule,Min Rule,Product Rule,Majority Rule,和Sum Rule。然而,待分类的样本通常与历史数据中特定类的样本最相关,并且这些传统集成规则只合并所有分类结果。如果能考虑待分类样本和历史数据之间的关系,那么就能改进基于集成学习的异常检测的准确率。

技术实现思路

[0007]针对上述研究背景和问题,本专利技术提出了一种基于密度加权集成规则的日志异常检测方法。
[0008]步骤1:引入多条软件日志,将每条软件日志根据分隔符分割解析得到软件单词数据集,将多个软件单词数据集进行求并集处理,进一步通过单词去重复处理得到单词集合,统计单词集合中每个单词在每条日志出现的频次,进一步构建软件日志单词频次向量;
[0009]步骤2:根据单词频次向量,使用基于改进的复杂分布数据谱聚类的多粒度主曲线方法提取确定初始中心点和初始类数,对单词频次向量进行聚类并获得精确的簇,同时得到每个簇的中心点,根据每个簇的中心点的状态标记簇中的所有样本,根据中心点的状态确定所有样本的状态,得到正常簇、异常簇,并统计异常簇的数量,再统计异常簇的样本数量,计算得到新的正常簇的样本数量,对正常簇抽样得到新的正常簇,通过新的正常簇的样本数量,计算得到新的异常簇的样本数量,对异常簇抽样得到新的异常簇,得到正常日志集和异常日志集,通过正常日志集和异常日志集构建平衡日志集;
[0010]步骤3:基分类器将平衡日志集作为训练集进行优化训练,用训练后的基分类器构建多基分类器,用多基分类器对待分类的样本进行分类,多基分类器的每个基分类器会产生分类概率向量;
[0011]步骤4:根据多基分类器的每个基分类器产生的分类概率向量,通过五个集成规则MaxNW,MinNW,MajNW,ProdNW和SumNW,分别得到五个集成规则产生的分类结果,遍历五个分类结果,如果有相同的分类结果,则分类结果的频次加一,得到分类结果的频次,从中选择频次最大的分类结果作为最终的分类结果,如果有多个频次最多的分类结果,则从中随机选择一个分类结果作为最终的分类结果;
[0012]作为优选,步骤1所述每条软件日志为:
[0013]Log
i
[0014]i∈[1,M][0015]其中,Log
i
为第i条软件日志,M为软件日志的数量;
[0016]步骤1所述软件单词数据集为:
[0017][0018]其中,Data
i
为第i条软件日志的软件单词数据集,Word
i,j
为第i条软件日志的软件单词数据集中第j个软件单词,N
i
为第i条软件日志的软件单词数据集中软件单词的数量,j∈[1,N
i
];
[0019]步骤1所述多个软件单词数据集进行求并集处理为:{Data1,Data2,...,Data
M
};
[0020]步骤1所述通过单词去重复处理得到单词集合为:
[0021]WordSet={Word1,Word2,...,Word
L
}
[0022]其中,Word
k
为单词集合中第k个单词,L为单词集合中单词的数量,k=[1,L];
[0023]步骤1所述统计单词集合中每个单词在每条日志出现的频次为:
[0024]Freq
k
={F
k,1
,F
k,2
,...,F
k,M
}
[0025]其中,Freq
k
为单词集合中第k个单词在各软件单词数据集种出现的频次,Freq
k,i
为单词集合中第k个单词在第i条软件日志的软件单词数据集中出现的频次即次数,L为单词集合中单词的数量,k∈[1,L];
[0026]步骤1所述构建软件单词频次向量为:
[0027]Vector
i
={F
1,i
,F
2,i
,...,F
L,i
}
[0028]i∈[1,M][0029]其中,Vector
i
为第i条软件日志的单词频次向量,M为软件日志的数量;
[0030]作为优选,步骤2所述初始中心点和类分别为:
[0031]CenterPoint0[0032]Cl本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于密度加权集成规则的日志异常检测方法,其特征在于,包括以下步骤:步骤1:引入多条软件日志,将每条软件日志根据分隔符分割解析得到软件单词数据集,将多个软件单词数据集进行求并集处理,进一步通过单词去重复处理得到单词集合,统计单词集合中每个单词在每条日志出现的频次,进一步构建软件日志单词频次向量;步骤2:根据单词频次向量,使用基于改进的复杂分布数据谱聚类的多粒度主曲线方法提取确定初始中心点和初始类数,对单词频次向量进行聚类并获得精确的簇,同时得到每个簇的中心点,根据每个簇的中心点的状态标记簇中的所有样本,根据中心点的状态确定所有样本的状态,得到正常簇、异常簇,并统计异常簇的数量,再统计异常簇的样本数量,计算得到新的正常簇的样本数量,对正常簇抽样得到新的正常簇,通过新的正常簇的样本数量,计算得到新的异常簇的样本数量,对异常簇抽样得到新的异常簇,得到正常日志集和异常日志集,通过正常日志集和异常日志集构建平衡日志集;步骤3:基分类器将平衡日志集作为训练集进行优化训练,用训练后的基分类器构建多基分类器,用多基分类器对待分类的样本进行分类,多基分类器的每个基分类器会产生分类概率向量;步骤4:根据多基分类器的每个基分类器产生的分类概率向量,通过五个集成规则MaxNW,MinNW,MajNW,ProdNW和SumNW,分别得到五个集成规则产生的分类结果,遍历五个分类结果,如果有相同的分类结果,则分类结果的频次加一,得到分类结果的频次,从中选择频次最大的分类结果作为最终的分类结果,如果有多个频次最多的分类结果,则从中随机选择一个分类结果作为最终的分类结果。2.根据权利要求1所述的基于密度加权集成规则的日志异常检测方法,其特征在于:步骤1所述每条软件日志为:Log
i
i∈[1,M]其中,Log
i
为第i条软件日志,M为软件日志的数量;步骤1所述软件单词数据集为:其中,Data
i
为第i条软件日志的软件单词数据集,Word
i,j
为第i条软件日志的软件单词数据集中第j个软件单词,N
i
为第i条软件日志的软件单词数据集中软件单词的数量,j∈[1,N
i
];步骤1所述多个软件单词数据集进行求并集处理为:{Data1,Data2,...,Data
M
};步骤1所述通过单词去重复处理得到单词集合为:WordSet={Word1,Word2,...,Word
L
}其中,Word
k
为单词集合中第k个单词,L为单词集合中单词的数量,k=[1,L];步骤1所述统计单词集合中每个单词在每条日志出现的频次为:Freq
k
={F
k,1
,F
k,2
,...,F
k,M
}其中,Freq
k
为单词集合中第k个单词在各软件单词数据集种出现的频次,Freq
k,i
为单词集合中第k个单词在第i条软件日志的软件单词数据集中出现的频次即次数,L为单词集合中单词的数量,k∈[1,L];
步骤1所述构建软件单词频次向量为:Vector
i
={F
1,i
,F
2,i
,...,F
L,i
}i∈[1,M]其中,Vector
i
为第i条软件日志的单词频次向量,M为软件日志的数量。3.根据权利要求1所述的基于密度加权集成规则的日志异常检测方法,其特征在于:步骤2所述初始中心点和类分别为:CenterPoint0Classes={Class1,Class2,...,Class
ClaNum
}其中,CenterPoint0为初始中心点,Class
classnum
为第clanum个类,clanum∈[1,ClaNum];步骤2所述精确的簇为:Clusters={Cluster1,Cluster2,...,Cluster
CluNum
}其中,Cluster
clunum
为第clunum个簇,clunum∈[1,CluNum];步骤2所述每个簇的中心点为:CenterPoints={CenterPoint0,CenterPoint1,...,CenterPoint
CluNum
}其中,CenterPoint
clunum
为第clunum个簇的中心点,特别地,CenterPoint
o
为初始中心点;步骤2所述每个簇的中心点状态为:CenterPointStates={CPState1,CPState2,...,CPState
CluNum
}其中,CPState
clunum
为第clunum个簇的中心点的状态,CPState
clunum
∈[0,CluNum

1],CPState
clunum
=0表示第clunum个簇的中心点为正常,CPState
clunum
≠0表示第clunum个簇的中心点为异常,正常状态只有1种,异常状态有ClusterNum

1种;步骤2所述簇中的样本为:其中,Cluster
clunum
为第clunum个簇,Sample
clunum,samnum
为第clunum个簇的第samnum个样本,SamNum
clunum
为第clunum个簇的样本数量,samnum=[1,SamNum
clunum
];步骤2所述根据中心点的状态确定所有样本的状态为:其中,SamStates
clunum
为第clunum个簇的样本状态集,SamState
clunum,samnum
为第clunum个簇的第samnum个样本状态,与CPState
clunum
类似,两者之间存在这样的关系:if CPState
clunum
=0如果第clunum个簇的中心点状态为正常,那么第clunum个簇中的所有样本状态全为正常,第clunum个簇为正常簇;if CPState
clunum
=x(x∈[1,ClusterNum

1])如果第clunum个簇的中心点状态为异常,那么第clunum个簇中的所有样本状态全为异
常,第clunum个簇为异常簇;步骤2所述正常簇为:NorClusters0={NorCluster
0,1
}其中,NorClusters0表示正常簇集,NorCluster
0,1
为正常簇集的第1个正常簇,正常簇的数量只有1;步骤2所述异常簇为:其中,AbnorClusters0表示异常簇集,为异常簇集的第n
abnor
个异常簇,n
abnor
∈[1,N
abnor
],N
abnor
为异常簇数量;步骤2所述异常簇的样本数量为:其中,为第n
abnor
个异常簇的样本数量;步骤2所述新的正常簇的样本数量为:步骤2所述新的异常簇的样本数量为:从每一个正常簇里抽出N
nor
个样本,得到新的正常簇:NorClusters1={NorCluster
1,1
}其中,NorClusters1为经过1轮抽样的正常簇集,NorCluster
1,1
为经过1轮抽样的正常簇集的第1个正常簇,此过程重复N次;从每一个异常簇里提取N
abnor
个样本,得到新的异常簇:其中,AbnorClusters1为经过1轮抽样的异常簇集,为经过1轮抽样的异常簇集的第n
abnor
个异常簇,n
abnor
∈[1,N
abnor
],N
abnor
为经过1轮抽样的异常簇数量,此过程重复N次;步骤2所述正常日志样本集为:NorSet={NorClusters1,NorClusters2,...,NorClusters
N
}其中,NorClusters
n
为经过n次抽样后的正常簇集,n∈[1,N];步骤2所述异常日志样本集为:AbnorSet={AbnorClusters1,AbnorClusters2,...,AbnorClusters
N
}其中,AbnorClusters
n

【专利技术属性】
技术研发人员:应时刘祥瑞王冰明黄浩
申请(专利权)人:武汉大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1