一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于日志的异常节点检测方法、装置、设备及介质与流程

2022-07-17 00:06:10 来源:中国专利 TAG:


1.本公开涉及人工智能技术领域,尤其涉及一种基于日志的异常节点检测方法、装置、设备及介质。


背景技术:

2.在超级计算机等计算系统的系统日志中,记录了各时刻系统内发生的重要事件,通过合理有效的对系统日志进行分析能够洞悉系统的状态。然而,超级计算机等计算系统的规模较大并且软件体系结构较为复杂,使得日志的数量规模明显增大。
3.相关技术中,使用日志计数器对计算系统产生的日志数量进行统计,基于日志数量确定计算系统状态是否为异常。然而,单纯基于日志数量确定的计算系统状态并不准确。


技术实现要素:

4.为了解决上述技术问题,本公开提供了一种基于日志的异常节点检测方法、装置、设备及介质。
5.本公开实施例提供了一种基于日志的异常节点检测方法,应用于子节点,包括:获取第一日志事件,将所述第一日志事件输入预先训练的日志处理模型中,获得至少一个第二预测事件;其中,所述第二预测事件为通过所述日志处理模型对所述第一日志事件进行因果关系推测获得的日志事件;基于第二日志事件和所述至少一个第二预测事件,确定所述子节点的异常检测结果;其中,所述第二日志事件为所述第一日志事件之后生成的日志事件。
6.本公开实施例还提供了一种基于日志的异常节点检测装置,应用于子节点,包括:第一获取模块,用于获取第一日志事件,将所述第一日志事件输入预先训练的日志处理模型中,获得至少一个第二预测事件;其中,所述第二预测事件为通过所述日志处理模型对所述第一日志事件进行因果关系推测获得的日志事件;检测模块,用于基于第二日志事件和所述至少一个第二预测事件,确定所述子节点的异常检测结果;其中,所述第二日志事件为所述第一日志事件之后生成的日志事件。
7.本公开实施例还提供了一种电子设备,所述电子设备包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现如本公开实施例提供的基于日志的异常节点检测方法。
8.本公开实施例还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行如本公开实施例提供的基于日志的异常节点检测方法。
9.本公开实施例提供的技术方案与现有技术相比具有如下优点:本公开实施例提供的基于日志的异常节点检测方法,获取第一日志事件,将第一日志事件输入预先训练的日志处理模型中,获得至少一个第二预测事件;其中,第二预测事件为根据日志处理模型对第一日志事件进行因果关系推测获得的日志事件;基于第二日志事件和至少一个第二预测事件,确定子节点的异常检测结果;其中,第二日志事件为第一日志事件之后生成的日志事
件。采用上述技术方案,使用预先训练的日志处理模型对第一日志事件进行预测获得符合因果关系的第二预测事件,将第一日志事件之后产生的第二日志事件与该第二预测事件进行对比,确定子节点产生的第二日志事件与第一日志事件是否满足因果关系,能够基于该因果关系及时确定子节点的异常检测结果,提高了子节点异常检测效率和准确性,进而提高了子节点的平均无故障时长和可靠性。并且,在较为复杂的业务结构或者逻辑结构下,本方法能够实现合理性较强的日志事件推理,从而较为明显的提升日志分析效果,提高异常节点检测的准确性。同时,通过子节点对日志进行处理,实现了日志的分布式处理,提高了日志处理的效率。
附图说明
10.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
11.为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
12.图1为本公开实施例提供的一种基于日志的异常节点检测方法的流程示意图;图2为本公开实施例提供的一种超级计算机的系统结构示意图;图3为本公开实施例提供的另一种基于日志的异常节点检测方法的流程示意图;图4为本公开实施例提供的又一种基于日志的异常节点检测方法的流程示意图;图5为本公开实施例提供的一种基于日志的异常节点检测装置的结构示意图;图6为本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
13.为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
14.在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
15.超级计算机等计算系统中,结构复杂、规模庞大且组件紧耦合,因而能够及时发现该计算系统的异常从而提高该计算系统的可靠性是当前亟待解决的问题。然而一些系统异常并不明显,甚至需要较长时间的积累才能在生产环境中发现,但是在生产环境中发现问题时,已经错过解决异常的最佳时期。
16.在超级计算机等计算系统的系统日志中,记录了各时刻系统内发生的重要事件,通过合理有效的对系统日志进行分析能够洞悉系统的状态。然而,超级计算机等计算系统的规模较大并且软件体系结构较为复杂,使得日志的数量规模明显增大。
17.相关技术中,使用日志计数器或者通过日志序列比对确定计算系统是否出现异常。其中,使用日志计数器对计算系统产生的日志数量进行统计,基于日志数量确定计算系统状态是否为异常,该方法单纯基于日志数量确定的计算系统状态并不准确。基于日志序
列比对确定计算系统的状态是否异常,该方法使用日志模板序号学习异常和正常日志的模式,忽略了日志之间的关系。
18.为了解决上述问题,本公开实施例提供了一种基于日志的异常节点检测方法,下面结合具体的实施例对该方法进行介绍。
19.图1为本公开实施例提供的一种基于日志的异常节点检测方法的流程示意图,该方法可以由基于日志的异常节点检测装置执行,其中该装置可以采用软件和/或硬件实现,一般可集成在电子设备中。如图1所示,该方法应用于子节点,包括:步骤101,获取第一日志事件,将第一日志事件输入预先训练的日志处理模型中,获得至少一个第二预测事件;其中,第二预测事件为通过日志处理模型对第一日志事件进行因果关系推测获得的日志事件。
20.在超级计算机等分布式计算系统中,可以包括至少一个子节点以及全局节点,其中,各子节点为在该计算系统中具备相应功能的节点,全局节点能够管理各子节点。其中,若计算系统为超级计算机系统,则该子节点可以根据超级计算机系统中的机柜类型进行划分,从而能够获得更为紧密的拓扑关系。
21.图2为本公开实施例提供的一种超级计算机的系统结构示意图,如图2所示,超级计算机系统中各子节点的功能不同,包括计算子节点、管理子节点、存储子节点、i/o子节点和互联通信子节点中的一个或多个,同一种类的子节点的数量可以为一个或多个,本实施例不做限制。其中计算子节点能够承载高性能计算应用的计算负载,计算子节点包括计算机柜;存储子节点能够存储超级计算机系统的应用数据,存储子节点包括存储机柜;i/o子节点能够实现计算子节点到存储子节点的数据转发,i/o子节点包括i/o机柜;管理子节点能够实现用户登陆操作以及系统软件(如资源调度软件)的运行,管理子节点包括管理机柜。需要说明的是,在超级计算机系统的上述子节点中,还包括区域管理中心(area management center,amc),该amc可以收集并处理子节点中机柜产生的日志。在超级计算机系统中,还设置有全局节点该全局节点能够和各子节点进行数据交互,并对各子节点发送的数据进行进一步处理,本实施例对该全局节点不作限制,例如该全局节点可以为全局管理中心(global management center,gmc),gmc可以通过监控运维网络与各子节点进行数据交互。一种可选的实施方式中,每个子节点中可以包括主amc和备用amc两台amc,从而在主amc发生故障时,备用amc能够对日志进行收集以及处理,从而提高了系统的稳定性。
22.本实施例提供的基于日志的异常节点检测方法应用于子节点,本实施例对该子节点不做限制,例如若计算系统为超级计算机系统,则该子节点包括计算子节点、管理子节点、存储子节点、i/o子节点中的任一个。
23.其中,子节点产生的日志为记录该子节点内发生的重要事件的文档,例如在日志中可以记录有邻居子节点异常、设备的插拔、文件读写、进程的状态等,日志事件为对该日志进行事件抽取获得的事件,通过日志事件,能够将含有事件信息的非结构化的日志以结构化的形式进行呈现。在子节点正常运行的情况下,生成的日志符合一定的规律,该种规律可以理解为日志内的因果关系。因而在子节点正常运行的情况下,基于该日志提取的日志事件之间也应该符合该因果关系,在本实施例中,可以通过预先训练的日志处理模型验证日志事件是否符合因果关系。首先,获取第一日志事件,将第一日志事件输入预先训练的日志处理模型中,获得至少一个第二预测事件。
24.其中,第一日志事件为对子节点产生的日志进行事件抽取获取的日志事件。本实施例对该事件抽取过程不做限制,例如,可以根据预设周期截取日志段落,将当前产生的日志段落输入基于注意力机制的神经网络中对该日志段落进行事件提取,从而获得第一日志事件。日志处理模型为预先训练的能够对输入的日志事件进行因果关系推理输出对应的预测事件的神经网络模型,本实施例对该日志处理模型的预先训练方法不作限制。第二预测事件为将第一日志事件输入日志处理模型进行因果关系推理获得的日志事件,可以理解地,日志处理模型根据输入的日志事件生成的预测事件可以为一个或多个,因而该第二预测事件的数量为一个或多个,在一些实施例中,还可以预设概率阈值,将日志处理模型根据第一日志事件生成的预测事件中,概率大于预设概率阈值的预测事件确定为第二预测事件。
25.在本实施例中,对子节点产生的日志进行事件提取,获得第一日志事件,将该第一日志事件输入日志处理模型中,日志处理模型能够基于该第一日志事件进行因果关系推测,以该第一日志事件作为“起因”获得的“结果”为第二预测事件。
26.步骤102,基于第二日志事件和至少一个第二预测事件,确定子节点的异常检测结果;其中,第二日志事件为第一日志事件之后生成的日志事件。
27.在本实施例中,第二日志事件为通过事件抽取获得第一日志事件之后的日志事件,第二预测事件为根据第一日志事件进行因果关系预测获得的日志事件。因而,可以将第二日志事件与第二预测事件进行比对,若第二日志事件属于第二预测事件,则说明第一日志事件与第二日志事件之间具备因果关系,子节点的异常检测节点为子节点不存在异常;若第二日志事件不属于第二预测事件,则说明第一日志事件与第二日志事件之间不具备因果关系,子节点的异常检测结果为子节点存在异常。在一些实施例中,第二日志事件可以为基于子节点实时产生的日志确定的实时日志事件,第一日志事件为第二日志事件的上一个日志事件,基于本公开实施例提供的方法能够通过对日志的实时分析确定子节点是否存在异常。
28.示例性的,基于第二日志事件和至少一个第二预测事件,确定子节点的异常检测结果,包括:当第二日志事件属于日志处理模型对应的事件图谱时,将第二日志事件在至少一个第二预测事件中进行匹配;若匹配成功,则子节点的异常检测结果为不存在异常;若匹配失败,则子节点的异常检测结果为存在异常。
29.在日志处理模型对应的事件图谱中,记录了对日志处理模型进行训练的训练数据中包括的日志事件,以及该日志事件之间的因果关系。在本实施例中,当第二日志事件不属于该事件图谱,则说明该第二日志事件相对于该日志处理模型为新事件,该日志处理模型无法对该第二日志事件进行处理,可以将该第二日志事件记录在该事件图谱中。当第二日志事件属于该事件图谱,将该第二日志事件和第二预测事件进行匹配,若第二预测事件包括该第二日志事件,则匹配成功,说明第一日志事件和第二日志事件之间符合因果关系,子节点的异常检测结果为不存在异常;若第二预测事件不包括该第二日志事件,则匹配失败,说明第一日志事件和第二日志事件之间不符合因果关系,子节点的异常检测结果为存在异常。
30.在一些实施例中,还包括:根据第二日志事件的日志类型以及预设异常日志类型,
确定子节点的异常检测结果。
31.其中,异常日志类型为根据应用场景和/或用户需求等预设的表征子节点存在异常的日志类型。在本实施例中,可以预设属于异常日志类型的日志事件,判断第二日志事件是否属于该日志事件,从而确定第二日志事件的日志类型是否为异常日志类型,若第二日志事件的日志类型为异常日志类型,则确定子节点的异常检测结果为子节点存在异常。
32.需要说明的是,根据第二日志事件的日志类型确定子节点的异常检测结果可以在基于第二日志事件和第二预测事件确定子节点的异常检测结果之前执行,也可以在基于第二日志事件和第二预测事件确定子节点的异常检测结果之后执行,本实施例不做限制。
33.本公开实施例提供的基于日志的异常节点检测方法,获取第一日志事件,将第一日志事件输入预先训练的日志处理模型中,获得至少一个第二预测事件;其中,第二预测事件为根据日志处理模型对第一日志事件进行因果关系推测获得的日志事件;基于第二日志事件和至少一个第二预测事件,确定子节点的异常检测结果;其中,第二日志事件为第一日志事件之后生成的日志事件。采用上述技术方案,使用预先训练的日志处理模型对第一日志事件进行预测获得符合因果关系的第二预测事件,将第一日志事件之后产生的第二日志事件与该第二预测事件进行对比,确定子节点产生的第二日志事件与第一日志事件是否满足因果关系,能够基于该因果关系及时确定子节点的异常检测结果,提高了子节点异常检测效率和准确性,进而提高了子节点的平均无故障时长和可靠性。
34.并且,在较为复杂的业务结构或者逻辑结构下,本方法能够实现合理性较强的日志事件推理,从而较为明显的提升日志分析效果,提高异常节点检测的准确性。同时,通过子节点对日志进行处理,实现了日志的分布式处理,提高了日志处理的效率。
35.一种可选的实施方式中,基于上述实施例,还包括:将子节点的异常检测结果发送至全局节点,以使全局节点根据异常节点以及异常节点的关联节点确定全局异常检测结果。
36.其中,异常节点为异常检测结果为存在异常的子节点。关联节点为与子节点存在关联关系的节点,可以理解地,若子节点存在异常,则与该子节点关联的关联节点也可能存在异常。在本实施例中,可以设置关联关系,在该关联关系中记载了子节点与关联节点的对应关系,确定异常节点之后,可以根据该异常节点对关联关系进行检索,从而确定该异常节点的关联节点。以超级计算机系统为例,由于i/o子节点能够实现计算子节点到存储子节点的数据转发,因而i/o子节点的关联节点可以包括计算子节点和存储子节点。
37.在本实施例中,子节点可以将异常检测结果发送到全局节点,全局节点接收到各子节点发送的异常检测结果,确定异常检测结果为存在异常的子节点为异常节点,并确定与该异常节点存在关联关系的关联节点,在该全局节点生成的全局异常检测结果中,可以记载有异常节点以及异常节点的关联节点。
38.本公开实施例提供的基于日志的异常节点检测方法,全局节点根据各子节点的异常检测结果生成全局异常检测结果,从而从全局的角度对检测结果进行了总结,基于该全局异常检测结果有助于运维人员更全面的对计算系统中的异常进行分析,从而提高运维效率。同时,在本公开实施例中还将异常节点的关联节点也记录在全局异常检测结果中,从而能够提供给运维人员更详细的信息,在由于关联节点存在问题导致异常节点异常的情况下,能够提升运维人员的运维效率。
39.接下来通过一个具体的示例对本公开实施例中的确定全局异常检测结果进行进一步说明。示例性的,图3为本公开实施例提供的另一种基于日志的异常节点检测方法的流程示意图,如图3所示,该方法包括:步骤301,统计预设时间段内的日志条数,判断日志条数是否大于预设日志数量。若是,执行步骤307;否则,执行步骤302。
40.步骤302,获取子节点当前产生的第二日志事件,判断该第二日志事件是否在日志处理模型对应的事件图谱中。若是,执行步骤304;否则,则执行步骤303;。
41.步骤303,将该第二日志事件添加在事件图谱中。
42.步骤304,获取第二日志事件之前的第一日志事件,日志处理模型根据第一日志事件预测生成第二预测事件,判断第二日志事件是否属于第二预测事件。若是,执行步骤305;否则,执行步骤307。
43.步骤305,判断第二日志事件的日志类型是否属于异常日志类型,若是,执行步骤307;否则,执行步骤306。
44.步骤306,确定子节点的异常检测结果为不存在异常,将该异常检测结果发送至全局节点。
45.步骤307,确定子节点的异常检测结果为存在异常,将该异常检测结果发送至全局节点,以使全局节点确定全局异常检测结果。其中,若存在异常的子节点数量为1,则全局异常检测结果为单体异常;若存在异常的子节点数量大于1且不是所有子节点均存在异常,则全局异常检测结果为范围性异常;若所有子节点均存在异常,则全局检测结果为全局性异常。
46.图4为本公开实施例提供的又一种基于日志的异常节点检测方法的流程示意图,如图4所示,子节点的数量为多个,日志处理模型的训练过程,包括:步骤401,获取日志,从日志中抽取多个日志事件。
47.其中,日志为子节点产生的,记录该子节点内发生的重要事件的文档。日志的类型可以与子节点的类型相关,例如,若子节点为计算子节点,则该日志的类型可以包括:内核日志(kern.log)、系统日志(syslog);若子节点为存储子节点,则该日志的类型可以包括:系统及内核日志(messages)、物理设备传感器日志(ipmilog)、应用程序日志(storage.log);若子节点为i/o子节点,则该日志的类型可以包括:系统及内核日志(messages)、物理设备传感器日志(ipmilog)、应用程序日志(forward.log);若子节点为管理节点,则该日志的类型可以包括:系统及内核日志(messages)、资源调度日志(slurmctld.log和/或slurmdbd.log)、数据库日志(mysql.log)。日志事件为从该日志中抽取的,能够表征该子节点的一次运行情况的词句。在本实施例中,获取子节点产生的日志,并基于该日志进行事件抽取,从而获得多个日志事件。
48.示例性的,从日志中抽取多个日志事件,包括:根据预设时间间隔将日志进行切分,获得多个日志段落;按照日志段落为单位抽取日志事件,得到多个日志事件。
49.其中,预设时间间隔可以根据用户需求等进行设置,本实施例不做限制,例如,可以将该预设时间间隔设置为5分钟。日志段落为对日志进行划分获得的日志片段。
50.在本实施例中,可以将日志中持续预设时间间隔未产生日志作为日志段落的起点和终点,从而将日志切分为多个日志段落。并且以日志段落为单位,对日志段落进行日志抽
取,获得各日志段落中的多个日志事件,从而基于日志段落能够抽取到因果关系更强的日志事件。例如,若预设时间间隔为5分钟,则可以将连续5分钟未产生日志确定为段落分割点,各段落分割点之间的日志片段为日志段落。
51.具体地,按照日志段落为单位抽取日志事件,得到多个日志事件,包括:将每个日志段落输入事件抽取模型中,获取事件触发词和事件元素;基于事件触发词和事件元素进行组合,得到该日志段落对应的多个日志事件。
52.其中,日志抽取模型为能够对日志进行事件抽取处理的模型,该日志抽取模型有多种,本实施例不做限制,例如该日志抽取模型可以为基于注意力机制的神经网络模型。事件触发词为触发提取日志事件的词语,事件元素为与该事件触发词相关且与该事件触发词能够组成完整事件的词语,例如,若事件触发词为动词,则事件元素可以为与该动词相关的主语、宾语等名词。
53.在本实施例中,使用日志抽取模型确定日志段落中包含的日志事件,通过日志抽取模型能够识别日志段落中的事件触发词,并且抽取事件元素,从而基于相关的事件触发词以及事件元素组合成日志事件。
54.步骤402,在多个日志事件中提取相邻的两两日志事件,得到多个有序事件对,确定各有序事件对的因果关系参数。
55.其中,有序事件对为相邻的两个日志事件组成的事件对。因果关系参数为表征有序事件对内的两个日志事件之间的因果关系强弱的参数,该因果关系参数的获取方法有多种,本实施例不做限制,例如,可以根据该有序事件对中的日志事件在该日志中紧邻出现的次数和间隔出现的次数确定该因果关系参数。
56.在本实施例中,从日志中提取的日志事件是具有顺序关系的,将其中时序相邻的两个日志事件提取为一个有序事件对,从而获得多个有序事件对,基于该有序事件对中包括的日志事件在日志中的出现规律确定该有序事件对的因果关系参数。
57.示例性的,确定各有序事件对的因果关系参数,包括:获取有序事件对在所在日志段落中的统计数量;基于统计数量确定有序事件对之间的因果关系参数。
58.其中,统计数量为有序事件对在日志段落中出现的次数。在本实施例中,可以确定对日志段落进行日志事件提取获得的日志事件序列,基于有序事件对对该日志序列进行检索,从而确定该有序事件对的统计数量。例如,若对日志段落进行日志事件抽取之后,获得的日志事件序列包括abcaba,其中,a、b、c代表不同的日志事件,若有序事件对为ab,ab在abcaba中出现了2次,因而ab对应的统计数量为2。在确定统计数量之后,基于该统计数量确定有序事件之间的因果关系参数,通过统计数量确定因果关系参数的方法有多种,本实施例不做限制,例如可以预设换算模型,将统计数量输入转换模型中,获得该有序事件对对应的因果关系参数。
59.步骤403,基于有序事件对及其对应的因果关系参数,对初始模型进行训练,获取初始模型训练好的节点模型参数。
60.其中,初始模型为未使用有序事件对训练的神经网络模型,该初始模型有多种,本实施例不做限制,例如,该初始模型可以为transe模型。节点模型为对初始模型训练结束之后获得的神经网络模型。节点模型参数为该节点模型中的模型参数,该节点模型参数可以为序列化形式表现。在本实施例中,可以使用有序事件对中的两个日志事件以及该两个日
志事件之间的因果关系参数对初始模型进行训练,训练完成获得节点模型,进而基于该节点模型确定节点模型参数。
61.示例性的,有序事件对中可以包括两个日志事件,其中先发生的日志事件为头事件,后发生的日志事件为尾事件。基于有序事件对及其对应的因果关系参数,对初始模型进行训练,获取初始模型训练好的节点模型参数,包括:将头事件和因果关系参数作为初始模型的输入参数,将尾事件作为初始模型的输出参数,对初始模型进行训练,获取初始模型训练好的节点模型。
62.在本实施例中,有序事件对及其对应的因果关系参数可以表示为,其中,h表示有序事件对中的头事件,r表示有序事件对对应的因果关系系数,t表示有序事件对中的尾事件。在对初始模型进行训练时,将头事件h以及因果关系系数r作为初始模型的输入参数,将尾事件t作为初始模型的输出参数。从而获得训练好的节点模型,可以理解地,该节点模型可以根据输入的日志事件以及因果关系系数生成对应的预测事件。
63.将节点模型中的参数进行序列化处理,获得节点模型参数。
64.在获得节点模型之后,将该节点模型的参数进行序列化处理,从而获得该节点模型对应的节点模型参数。一种可选的实施方式中,可以将该节点模型的参数进行一维序列化处理,从而获得维数为一的节点模型参数。
65.在本实施例中,该节点模型为基于单个节点产生的日志训练获得的,单个节点产生的日志数量相对于多个节点产生的日志数量较少,因而该节点模型对应的事件图谱中包括的日志事件的数量较少。
66.步骤404,将节点模型参数发送至全局节点,以使全局节点基于多个子节点发送的节点模型参数生成全局参数。
67.其中,全局参数为基于多个节点模型参数生成的模型参数。
68.子节点将自身对应的节点模型参数发送至全局节点,全局节点接收多个子节点发送的节点模型参数,进而基于该多个节点模型参数生成全局参数,其中,根据节点模型参数生成全局参数的方法有多种,本实施例不做限制,例如可以将各节点模型参数的平均值确定为全局参数。继续以维数为1的节点模型参数为例,该计算系统包括k个子节点,以其中一个子节点为k节点为例,则该k节点对应的节点模型参数为,其中,表示节点模型的参数分量。各节点模型将节点模型参数发送至全局节点,全局节点可以对接收到的各节点模型参数求平均值获得全局参数,即。
69.步骤405,接收全局节点发送的全局参数,将初始模型训练好的节点模型参数替换为全局参数之后,生成日志处理模型。
70.其中,日志处理模型为根据全局参数生成的神经网络模型,该全局参数是基于多个子节点的节点模型参数生成的,因而该日志处理模型相较节点模型能够较为全面的表征多个子节点中日志事件之间的因果关系。
71.在本实施例中,全局节点生成全局参数之后,将该全局参数发送至各子节点,子节点接收到该全局模型参数之后,将初始模型的模型参数更新为该全局参数,从而获得日志处理模型。可选的,将初始模型的模型参数更新为全局参数之后,还可以对该参数更新之后的模型进行训练,直至该模型对应的损失函数收敛,获得日志处理模型。
72.本公开实施例提供的基于日志的异常节点检测方法,通过确定有序事件对对应的因果关系参数,能够以较强的逻辑对子节点中各日志事件之间的关系进行量化表示,从而基于该因果关系参数获得的节点模型能够对日志事件进行因果关系预测。并且,各子节点基于本身产生的日志训练获得节点模型,实现了分布式的模型训练,从而提高了模型训练效率。在一些应用场景中,不同的计算子节点可能执行不同用户的计算任务,全局节点获取的为各子节点生成的节点模型参数,而不是各子节点的原始数据,从而避免了子节点的原始数据泄露,更好的保护了子节点用户的隐私,提高了计算系统的数据安全性。日志处理模型为基于各节点模型确定的,而各节点模型为基于各节点生成的日志确定的,因而日志处理模型能够实现各节点模型的互补,从而较为全面的对各子节点生成的日志事件进行因果关系推测。
73.在一些实施例中,日志事件之间的关系还包括共指关系,即该两个日志事件为同一日志事件。具体地基于上述实施例,还包括:首先,发送第一日志事件至全局节点。
74.在本实施例中,为了联合不同节点模型的事件图谱,可以确定不同的事件图谱中是否存在文字表示不同,但是语义实际相同的日志事件。其中,第一日志事件为当前子节点产生的日志事件,该第一日志事件的确定方法有多种,本实施例不做限制。将该第一日志事件从当前子节点发送至全局节点。
75.进一步地,全局节点用于获取第一日志事件以及其他子节点的第二日志事件之后,确定与第一日志事件和第二日志事件均相邻的目标事件;分别确定第一日志事件、第二日志事件与目标事件的第一因果关系参数和第二因果关系参数;若第一因果关系参数、第二因果关系参数均大于预设因果阈值,则确定第一日志事件和第二日志事件为共指事件对;其中,第一日志事件和第二日志事件之间的文本相似度大于预设相似度阈值;共指事件对中的日志事件为实质相同。
76.在本实施例,全局节点接收了多个子节点发送的日志事件,其中第一日志事件为当前子节点发送的日志事件,在本实施例中,计算其他节点发送的日志事件与该第一日志事件之间的文本相似度,将文本相似度大于预设相似度阈值的日志事件确定为第二日志事件。确定第一日志事件和第二日志事件之后,需要确定该第一日志事件和第二日志事件是否为同一日志事件。
77.具体地,确定与第一日志事件和第二日志事件均相邻的目标事件。在本实施例中,可以确定与第一日志事件相邻的日志事件组成的第一事件集,并且确定与第二日志事件相邻的日志事件组成的第二事件集,确定在第一事件集和第二事件集中均存在的日志事件为目标事件。将第一日志事件和目标事件组成第一有序事件对,确定该有第一序事件对的第一因果关系;将第二日志事件和目标事件组成第二有序事件对,确定该第二有序事件对的第二因果关系。其中,第一因果关系以及第二因果关系的确定方法与上述实施例中因果关系的确定方法类似,此处不再赘述。将第一因果参数以及第二因果参数和预设因果阈值进
行比较,若第一因果关系参数和第二因果关系参数均大于预设因果阈值,则确定第一日志事件和第二日志事件为共指事件对,即第一日志事件和第二日志事件实质为相同日志事件。其中,预设因果阈值可以根据应用场景等进行设置,本实施例不做限制。
78.本公开实施例提供的基于日志的异常节点检测方法,能够确定不同节点模型对应的事件图谱中文字表示不同,但是实质为同一日志事件的第一日志事件和第二日志事件,从而能够基于该第一日志事件和第二日志事件将不同节点模型的事件图谱进行联合,从而提高了事件图谱的全面性,更深入的挖掘了日志事件之间的关系。
79.图5为本公开实施例提供的一种基于日志的异常节点检测装置的结构示意图,该装置500可由软件和/或硬件实现,一般可集成在电子设备中。如图5所示,该装置应用于子节点,包括:第一获取模块501,用于获取第一日志事件,将所述第一日志事件输入预先训练的日志处理模型中,获得至少一个第二预测事件;其中,所述第二预测事件为通过所述日志处理模型对所述第一日志事件进行因果关系推测获得的日志事件;检测模块502,用于基于第二日志事件和所述至少一个第二预测事件,确定所述子节点的异常检测结果;其中,所述第二日志事件为所述第一日志事件之后生成的日志事件。
80.一种可选的实施方式中,所述检测模块502,用于:当所述第二日志事件属于所述日志处理模型对应的事件图谱时,将所述第二日志事件在所述至少一个第二预测事件中进行匹配;若匹配成功,则所述子节点的异常检测结果为不存在异常;若匹配失败,则所述子节点的异常检测结果为存在异常。
81.一种可选的实施方式中,装置500,还包括:确定模块,用于根据所述第二日志事件的日志类型以及预设异常日志类型,确定所述子节点的异常检测结果。
82.一种可选的实施方式中,装置500,还包括:第一发送模块,用于将所述子节点的异常检测结果发送至全局节点,以使所述全局节点根据异常节点以及所述异常节点的关联节点确定全局异常检测结果;其中,所述异常节点为异常检测结果为存在异常的子节点。
83.一种可选的实施方式中,所述子节点的数量为多个,所述日志处理模型的训练过程,通过以下模块实现:第二获取模块,用于获取日志,从所述日志中抽取多个日志事件;提取模块,用于在所述多个日志事件中提取相邻的两两日志事件,得到多个有序事件对,确定各有序事件对的因果关系参数;训练模块,用于基于所述有序事件对及其对应的因果关系参数,对初始模型进行训练,获取所述初始模型训练好的节点模型参数;第二发送模块,用于将所述节点模型参数发送至全局节点,以使所述全局节点基于多个所述子节点发送的节点模型参数生成全局参数;生成模块,用于接收所述全局节点发送的所述全局参数,将所述初始模型训练好的所述节点模型参数替换为所述全局参数之后,生成日志处理模型。
84.一种可选的实施方式中,所述第二获取模块,包括:
切分子模块,用于根据预设时间间隔将所述日志进行切分,获得多个日志段落;抽取子模块,用于按照日志段落为单位抽取日志事件,得到多个日志事件。
85.一种可选的实施方式中,所述抽取子模块,用于:将每个所述日志段落输入事件抽取模型中,获取事件触发词和事件元素;基于所述事件触发词和所述事件元素进行组合,得到该日志段落对应的多个日志事件。
86.一种可选的实施方式中,所述提取模块,用于:获取所述有序事件对在所在日志段落中的统计数量;基于所述统计数量确定所述有序事件对之间的因果关系参数。
87.一种可选的实施方式中,其中,所述有序事件对中先发生的日志事件为头事件,后发生的日志事件为尾事件;所述训练模块,用于:将所述头事件和所述因果关系参数作为初始模型的输入参数,将所述尾事件作为所述初始模型的输出参数,对所述初始模型进行训练,获取初始模型训练好的节点模型;将所述节点模型中的参数进行序列化处理,获得节点模型参数。
88.一种可选的实施方式中,装置500,还包括:第三发送模块,用于发送第一日志事件至所述全局节点;处理模块,所述全局节点用于获取所述第一日志事件以及其他子节点的第二日志事件之后,确定与所述第一日志事件和所述第二日志事件均相邻的目标事件;分别确定所述第一日志事件、所述第二日志事件与所述目标事件的第一因果关系参数和第二因果关系参数;若所述第一因果关系参数、所述第二因果关系参数均大于预设因果阈值,则确定所述第一日志事件和所述第二日志事件为共指事件对;其中,所述第一日志事件和所述第二日志事件之间的文本相似度大于预设相似度阈值;所述共指事件对中的日志事件为实质相同。
89.本公开实施例所提供的基于日志的异常节点检测装置可执行本公开任意实施例所提供的基于日志的异常节点检测方法,具备执行方法相应的功能模块和有益效果。
90.图6为本公开实施例提供的一种电子设备的结构示意图。如图6所示,电子设备600包括一个或多个处理器601和存储器602。
91.处理器601可以是中央处理单元(cpu)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备600中的其他组件以执行期望的功能。
92.存储器602可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器601可以运行所述程序指令,以实现上文所述的本公开的实施例的基于日志的异常节点检测方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如输入信号、信号分量、噪声分量等各种内容。
93.在一个示例中,电子设备600还可以包括:输入装置603和输出装置604,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
94.此外,该输入装置603还可以包括例如键盘、鼠标等等。
95.该输出装置604可以向外部输出各种信息,包括确定出的距离信息、方向信息等。该输出装置604可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
96.当然,为了简化,图6中仅示出了该电子设备600中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备600还可以包括任何其他适当的组件。
97.除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本公开实施例所提供的基于日志的异常节点检测方法。
98.所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如java、c 等,还包括常规的过程式程序设计语言,诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
99.此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本公开实施例所提供的基于日志的异常节点检测方法。
100.所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
101.需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
102.以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献