利索能及
我要发布
收藏
专利号: 2023113957918
申请人: 广东技术师范大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-06-16
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种基于深度学习技术的系统日志异常检测方法,其特征在于:包括以下具体步骤:S1:获取训练日志数据集,对训练日志数据集进行模板解析,得到结构化的日志模板数据;

S2:构建包括E5和TextCNN模型的向量化模型,并将结构化的日志模板数据输入向量化模型进行无监督对比学习训练,得到向量化数据;

构建包括E5和TextCNN模型的向量化模型,并将结构化的日志模板数据输入向量化模型进行无监督对比学习训练,具体步骤为:S201:通过E5模型将结构化的日志模板数据进行向量化;

S202:将向量化后的日志模板数据的最后一隐藏层的输出传入TextCNN提取特征;

S203:将E5的最后一个隐藏层的第一个token对应的向量与TextCNN的输出拼接,形成向量化模型;

S204:将结构化的日志模板数据中的同一日志模板分为两个批次输入到向量化模型;

使用Dropout策略生成正样本,将每个批次中的其他日志模板数据被视为负样本;

S205:采用无监督对比学习损失函数InfoNCELoss进行无监督对比学习;

损失时函数LCL具体为:

其中,z为模型中使用的随机掩码,而 是模型处理日志序列时基于随机掩码z的输出向量,fθ表示向量化模型, 表示日志序列,无监督对比损失函数由超参数τ调控;

S3:遍历训练日志数据集,通过抽取并关联训练日志数据集的数据中的会话及事件,生成子序列样本数据;

S4:根据向量化数据、子序列样本数据,进行子序列特征建模、子序列相关性建模、子序列特征融合,完成子序列相关性模型的建模;

S5:训练子序列相关性模型;

S6:通过训练好的子序列相关性模型检测日志异常。

2.根据权利要求1所述的基于深度学习技术的系统日志异常检测方法,其特征在于:所述的步骤S1中,对训练日志数据集进行模板解析,得到结构化的日志模板数据,具体为:使用Drain方法对训练日志数据集的日志进行模板解析:S101:通过正则表达式模板解析新的日志消息;

S102:构建深度树,按照深度树内部节点中编码的设计规则搜索日志组;

S103:将日志消息与日志组的日志事件匹配,如不匹配则创建新日志组;

S104:遍历训练日志数据集,得到结构化的日志模板数据。

3.根据权利要求1所述的基于深度学习技术的系统日志异常检测方法,其特征在于:所述的步骤S3中,遍历训练日志数据集,通过抽取并关联训练日志数据集的数据中的会话及事件,生成子序列样本数据,具体步骤为:S301:遍历训练日志数据集中的每一行,从每行的Content字段中提取出符合特定模式的会话ID;

S302:对于每个会话ID,关联其对应的事件ID、组件和时间信息;

S303:将关联的信息保存为序列CSV文件,同时为结构化的日志模板数据里面的所有独特组件生成一个JSON的映射文件,每个组件都映射到一个唯一的数字ID;将序列CSV文件及JSON的映射文件作为子序列样本数据。

4.根据权利要求1所述的基于深度学习技术的系统日志异常检测方法,其特征在于:所述的步骤S4中,子序列特征建模,具体步骤为:S4101:获取向量化数据中日志序列、子序列样本数据中子序列的语义特征V;获取日志序列和子序列的时间特征T;

S4102:将获取到的语义特征V和时间特征T分别输入到MLP进行数据拟合后进行拼接,得到数据特征嵌入X:其中 表示为拼接操作,φ表示MLP嵌入操作;

S4103:分别使用GRU门控循环单元来捕获日志序列和子序列中的顺序依赖关系,得到日志序列顺序嵌入 和子序列顺序嵌入Xc:Xc=GRU2(X)

其中,GRU1为日志序列GRU操作,GRU2为子序列GRU操作。

5.根据权利要求4所述的基于深度学习技术的系统日志异常检测方法,其特征在于:子序列相关性建模,具体步骤为:S4201:将每个子序列的顺序嵌入Xc成对拼接在一起,得到关联嵌入Xe:其中,ρ表示激活函数, 和, 分别表示第i个子序列的嵌入和第j个子序列的嵌入;

S4202:基于关联嵌入,得到每一对子序列的关联权重Xr:其中,ω表示卷积操作;

S4203:使用图注意网络,将子序列中的嵌入当作图节点嵌入,不同子序列之间的关联权重作为边的权重,通过GAT层,得到更新后的子序列嵌入Xm:Xm=ρ(GAT(Xc,Xr))

其中,GAT是图注意网络。

6.根据权利要求5所述的基于深度学习技术的系统日志异常检测方法,其特征在于:子序列特征融合,具体步骤为:S4301:使用注意力机制来对所有的子序列嵌入特征进行融合:其中,AF是计算注意力分数的函数, 是子序列的嵌入,Gattion是注意力向量,Nc是日志序列组件的数量;

S4302:将子序列融合的嵌入与日志序列的顺序嵌入连接起来输入到分类器中,得到下l一条日志消息的日志模板的概率X:

l

X=ρout(Xc,Xr)

其中,ρout是SoftMax激活函数。

7.根据权利要求6所述的基于深度学习技术的系统日志异常检测方法,其特征在于:所述的步骤S5中,训练子序列相关性模型,具体为:训练子序列相关性模型,最小化交叉熵损失:l

其中,Xi表示第i个日志模板的预测概率,而yi表示预测的日志模板是否与真实的日志模板相同:

8.根据权利要求7所述的基于深度学习技术的系统日志异常检测方法,其特征在于:所述的步骤S6中,通过训练好的子序列相关性模型检测日志异常,具体步骤为:S601:获取待检测日志序列St;

S602:将待检测日志序列输入训练好的子序列相关性模型,获得排名前若干位的模板集合;

S603:若下一条日志消息的真实日志模板不在该集合中,则认为St是异常日志序列。

9.一种根据基于深度学习技术的系统日志异常检测系统,其特征在于:包括训练数据模块、向量化训练模块、子序列样本生成模块、子序列相关性建模模块、模型训练模块、异常检测模块;

所述的训练数据模块用于获取训练日志数据集,对训练日志数据集进行模板解析,得到结构化的日志模板数据;

所述的向量化训练模块用于构建包括E5和TextCNN模型的向量化模型,并将结构化的日志模板数据输入向量化模型进行无监督对比学习训练,得到向量化数据;

构建包括E5和TextCNN模型的向量化模型,并将结构化的日志模板数据输入向量化模型进行无监督对比学习训练,具体步骤为:S201:通过E5模型将结构化的日志模板数据进行向量化;

S202:将向量化后的日志模板数据的最后一隐藏层的输出传入TextCNN提取特征;

S203:将E5的最后一个隐藏层的第一个token对应的向量与TextCNN的输出拼接,形成向量化模型;

S204:将结构化的日志模板数据中的同一日志模板分为两个批次输入到向量化模型;

使用Dropout策略生成正样本,将每个批次中的其他日志模板数据被视为负样本;

S205:采用无监督对比学习损失函数InfoNCELoss进行无监督对比学习;损失时函数LCL具体为:其中,z为模型中使用的随机掩码,而 是模型处理日志序列时基于随机掩码z的输出向量,fθ表示向量化模型, 表示日志序列,无监督对比损失函数由超参数τ调控;

所述的子序列样本生成模块用于遍历训练日志数据集,通过抽取并关联训练日志数据集的数据中的会话及事件,生成子序列样本数据;

所述的子序列相关性建模模块用于根据向量化数据、子序列样本数据,进行子序列特征建模、子序列相关性建模、子序列特征融合,完成子序列相关性模型建模;

所述的模型训练模块用于训练子序列相关性模型;

所述的异常检测模块用于通过训练好的子序列相关性模型检测日志异常。