事件因果关系识别方法、装置、计算机设备及存储介质与流程

未命名 08-26 阅读:129 评论:0


1.本技术实施例涉及大数据知识挖掘领域,特别涉及一种事件因果关系识别方法、装置、计算机设备及存储介质。


背景技术:

2.在人工智能的大数据知识挖掘技术领域,利用事件时序数据实现对事件间的因果知识发现的方法较为多样,比如通过有监督学习方法、无监督的挖掘算法、基于霍克斯过程模型算法(例如ttpm因果挖掘算法、pc算法等模型、图神经网络模型算法等)。
3.然而,上述算法模型在实际应用中存在一定的局限性,例如,ttpm因果挖掘算法,其基本原理为构建当前数据集中事件集合所有可能的因果假设,然后依次对每一个因果假设在当前采集的数据中进行可信性验证,并获取可信性最大的因果假设并作为事件集合的因果知识输出。然而该算法时间效率低,只适用于事件维度较小的应用场景,特别是在事件维度较大的场景挖掘效率无法接受,同时该算法在没有提供系统拓扑信息时无法使用数据本身隐藏的拓扑信息、并且没有全面利用事件信息;pc算法,其基本原理为:构建当前事件集合的全连图初始化因果假设,默认所有事件间都是存在因果关系的,然后通过条件独立性假设利用采集的数据对当前因果假设中每一条边的可信度进行验证来确认这条边需要保留还是剔除,遍历所有的边后将保留的因果假设作为因果知识输出,然而该算法适用于数据具有共线性并且服从高斯分布的场景,而实际场景很难保证数据的分布和数据间的关联性,所以在实际场景应用中效果不佳,并且也同样存在挖掘效率过低问题;而基于图神经网络对文本中的事件实体间的因果关系识别算法,其涉及模型的有监督训练,需要大量的标注样本,而在实际的应用场景中因果关系标注样本是很难提供甚至无法提供。因此需要一种适应性较强的方法来适应多样的实际应用场景。


技术实现要素:

4.本技术实施例提供了一种事件因果关系识别方法、装置、设备及存储介质,可以充分利用各个事件对应的采集信息,在解决从大量事件时序信息中获取事件间因果关系的需求的同时,还可以解决某些场景中由于无法提供拓扑结构信息导致算法实际应用性不佳的问题。该技术方案如下:
5.一方面,提供了一种事件因果关系识别方法,所述方法包括:
6.获取各个事件的事件时序信息,所述事件时序信息用于表示事件的事件属性以及事件的时间属性;
7.基于各个事件的所述事件时序信息感知节点间的系统拓扑结构,获得系统拓扑矩阵,所述系统拓扑矩阵用于表征事件发生的节点之间的邻接情况;
8.基于所述系统拓扑矩阵以及各个事件的所述事件时序信息识别事件间的因果关系,获得因果关系矩阵,所述因果关系矩阵用于指示各个事件之间的因果关系。
9.另一方面,提供了一种事件因果关系识别装置,所述装置包括:
10.信息获取模块,用于获取各个事件的事件时序信息,所述事件时序信息用于表示事件的事件属性以及事件的时间属性;
11.拓扑结构感知模块,用于基于各个事件的所述事件时序信息感知节点间的系统拓扑结构,获得系统拓扑矩阵,所述系统拓扑矩阵用于表征事件发生的节点之间的邻接情况;
12.因果关系识别模块,用于基于所述系统拓扑矩阵以及各个事件的所述事件时序信息识别事件间的因果关系,获得因果关系矩阵,所述因果关系矩阵用于指示各个事件之间的因果关系。
13.在一种可能的实现方式中,所述事件属性包括事件类型以及事件发生的节点,所述时间属性包括事件的发生时间以及事件的结束时间。
14.在一种可能的实现方式中,所述因果关系识别模块,包括:
15.第一类型确定子模块,用于按照所述各个事件的发生时间的先后顺序,确定至少一个事件集合类型,每个事件集合类型下包含至少一个事件集合;所述事件集合是由发生时间相邻的两个事件组成的集合;
16.第一系数计算子模块,用于基于所述系统拓扑矩阵以及各个事件的所述事件时序信息,计算所述至少一个事件集合类型各自对应的累加因果强度系数;所述累加因果强度系数是一个所述事件集合类型下的至少一个事件集合各自的因果强度系数的累加值,所述因果强度系数用于表征所述事件集合中的两个事件在持续过程中的因果关系程度;
17.第一矩阵生成子模块,用于基于所述至少一个事件集合类型各自对应的所述累加因果强度系数,生成所述因果关系矩阵。
18.在一种可能的实现方式中,所述第一系数计算子模块,用于,
19.在所述系统拓扑矩阵指示发生第一事件的第一节点与发生第二事件的第二节点之间具有邻接关系时,从各个事件的所述事件时序信息中获取所述第一事件的第一发生时间与第一结束时间、所述第二事件的第二发生时间与第二结束时间;所述第一事件与所述第二事件是目标事件集合中先后发生的两个事件;所述目标事件集合是目标事件集合类型下包含的所述至少一个事件集合中的任意一个;所述目标事件集合类型是至少一个事件集合类型中的任意一个;
20.将第一差值与第二差值之间的比值获取为所述目标事件集合的所述因果强度系数;所述第一差值为所述第一结束时间与所述第二发生时间之间的差值,所述第二差值为所述第二结束时间与所述第一发生时间之间的差值;
21.将所述目标事件集合的所述因果强度系数累加到所述目标事件集合类型的所述累加因果强度系数中。
22.在一种可能的实现方式中,所述第一系数计算子模块,用于在所述系统拓扑矩阵指示发生所述第一事件的所述第一节点与发生所述第二事件的所述第二节点之间不具有邻接关系时,确定所述第一节点中发生的所述第一事件与在所述第二节点中发生的所述第二事件对应的所述因果强度系数为0。
23.在一种可能的实现方式中,所述第一矩阵生成子模块,用于,
24.基于所述至少一个事件集合类型的所述累加因果强度系数,构建因果感知矩阵;所述因果感知矩阵中的行用于表示因事件类型,所述因果感知矩阵中的列用于表示果事件类型;所述因事件类型的事件的发生时间早于所述果事件类型的事件的发生时间;
25.基于所述因果感知矩阵生成因果感知比率矩阵;所述因果感知比率矩阵用于表征所述至少一个事件集合类型的因果关系程度;
26.基于第一阈值对所述因果感知比率矩阵进行二值化处理,生成所述因果关系矩阵。
27.在一种可能的实现方式中,所述拓扑结构感知模块,包括:
28.第二类型确定子模块,用于按照各个事件的发生时间的先后顺序,基于各个事件发生的节点确定至少一个节点集合类型,每个节点集合类型下包含至少一个节点集合;所述节点集合是发生时间相邻的两个事件各自所处的节点组成的集合;
29.第二系数计算子模块,用于基于各个事件的所述事件时序信息,计算至少一个节点集合类型各自对应的累加邻接强度系数;所述累加邻接强度系数是一个所述节点集合类型下的至少一个节点集合的邻接强度系数的累加值,所述邻接强度系数用于表征两个节点的邻接关系程度;
30.第二矩阵生成子模块,用于基于至少一个节点集合类型各自对应的所述累加邻接强度系数,生成所述系统拓扑矩阵。
31.在一种可能的实现方式中,所述第二系数计算子模块,用于,
32.从各个事件的所述事件时序信息中获取第三节点中发生的第三事件的第三发生时间与第三结束时间、第四节点中发生的第四事件的第四发生时间与第四结束时间;所述第三节点与所述第四节点是目标节点集合中的两个节点,所述第三节点对应的所述第三发生时间早于所述第四节点对应的所述第四发生时间;所述目标节点集合是目标节点集合类型下包含的至少一个节点集合中的任意一个,所述目标节点集合类型是至少一个节点集合类型中的任意一个;
33.将第三差值与第四差值之间的比值获取为所述目标节点集合的所述邻接强度系数;所述第三差值为所述第三结束时间与所述第四发生时间之间的差值,所述第四差值为所述第四结束时间与所述第三发生时间之间的差值;
34.将所述目标节点集合的所述邻接强度系数累加到所述目标节点集合类型的所述累加邻接强度系数中。
35.在一种可能的实现方式中,所述第二矩阵生成子模块,用于,
36.基于至少一个节点集合类型的所述累加邻接强度系数,构建拓扑感知矩阵;所述拓扑感知矩阵的行用于表示源节点、所述拓扑感知矩阵的列用于表示目标节点;所述源节点中的事件的发生时间早于所述目标节点中的事件的发生时间;
37.基于所述拓扑感知矩阵生成拓扑感知比率矩阵;所述拓扑感知比率矩阵用于指示至少一个节点集合类型的邻接关系程度;
38.基于第二阈值对所述拓扑感知比率矩阵进行二值化处理,生成所述系统拓扑矩阵。
39.在一种可能的实现方式中,所述信息获取模块,包括:
40.数据集获取子模块,用于获取事件采集数据集;所述事件采集数据集中包含多个事件的所述事件时序信息对应的事件采集数据;
41.排序子模块,用于根据各个事件的发生时间对所述事件采集数据集中的数据进行排序处理;
42.数据预处理子模块,用于基于排序处理后的顺序,对所述事件采集数据集进行数据预处理,获得数据预处理后的各个事件的所述事件时序信息。
43.在一种可能的实现方式中,在所述排序处理为升序处理的情况下,所述对所述事件采集数据集进行数据预处理包括以下至少一种:
44.删除与上一事件采集数据重复的事件采集数据;
45.删除与上一事件采集数据对应的发生时间之间的差值小于第一差值阈值、且结束时间、事件发生的节点以及事件类型均相同的事件采集数据;
46.合并事件的发生时间之间的差值小于第二差值阈值,事件发生的节点以及事件类型均相同多个事件采集数据;合并后的事件采集数据对应的发生时间为多个事件采集数据中最早的发生时间,合并后的事件采集数据对应的结束时间为多个事件采集数据中最晚的结束时间;
47.删除闪现数据,所述闪现数据是结束时间与发生时间之间的时间差小于第三差值阈值的事件采集数据;
48.删除低频次数据和/或高频次数据,所述低频次数据是指所述事件采集数据集中出现次数低于第一次数阈值的事件类型对应的事件采集数据,所述高频次数据是指所述事件采集数据集中出现次数高于第二次数阈值的事件类型对应的事件采集数据。
49.在一种可能的实现方式中,所述装置还包括:
50.根因定位模块,用于基于所述系统拓扑矩阵、所述因果关系矩阵以及各个事件的所述事件时序信息进行根因定位,获得目标事件的根因节点和根因事件;所述目标事件是各个事件中待进行事件根因定位分析的事件。
51.在一种可能的实现方式中,所述根因定位模块,包括:
52.矩阵创建子模块,用于创建所述目标事件的根因投票矩阵,所述根因投票矩阵的行用于表示事件类型,所述根因投票矩阵的列用于表示事件发生的节点;
53.第一图创建子模块,用于根据所述系统拓扑矩阵创建第一系统拓扑有向图,所述第一系统拓扑有向图中包含节点以及有向边,所述有向边用于指示节点之间的数据流关系或服务调用关系;
54.第二图创建子模块,用于将各个事件的事件时序信息存放到相应的节点中,得到第二系统拓扑有向图;
55.集合获取子模块,用于获取目标节点集合,所述目标节点集合中的各个目标节点均为发生目标事件类型的事件的节点;
56.投票子模块,用于依次以所述目标节点集合中的所述目标节点为起始节点,根据所述因果关系矩阵以及所述第二系统拓扑有向图执行至少一次游走投票,并将所述至少一次游走投票的投票结果写入所述根因投票矩阵;
57.根因定位子模块,用于基于所述根因投票矩阵中的所述投票结果,确定所述目标事件的根因节点和根因事件。
58.在一种可能的实现方式中,所述投票子模块,用于,
59.获取当前分析节点下的分析事件;
60.基于所述第二系统拓扑有向图,获取当前分析节点的父节点集合,所述父节点集合中包含至少一个父节点,父节点与所述当前分析节点之间的所述有向边的方向由父节点
指向所述当前分析节点;
61.向所述当前分析节点的所述父节点集合中的父节点进行等概率随机游走;
62.若基于所述因果关系矩阵确定游走节点中存在与所述当前分析节点下的分析事件具有因果关系的匹配事件,在所述根因投票矩阵中对所述游走节点下的所述匹配事件进行累加投票;所述游走节点是当前随机游走到的父节点;
63.将所述游走节点下的所述匹配事件获取为新的当前分析节点下的分析事件;
64.重复上述过程,直至所述游走节点中不存在所述匹配事件,或者,所述游走节点不具有父节点;
65.其中,在当前分析节点为起始节点时,所述当前分析节点是所述目标节点集合中的所述目标节点中的任意一个。
66.在一种可能的实现方式中,根因定位子模块,用于,
67.基于所述根因投票矩阵中的所述投票结果,对所述根因投票矩阵中对应的节点事件集合进行排序,获得排序结果;
68.基于所述排序结果中所述投票数量最高的前n个节点事件集合确定所述目标事件的根因节点和根因事件,n为正整数。
69.另一方面,提供了一种计算机设备,所述计算机设备包含处理器和存储器,所述存储器存储有至少一条计算机程序,所述至少一条计算机程序由所述处理器加载并执行以实现上述的事件因果关系识别方法。
70.另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条计算机程序,所述计算机程序由处理器加载并执行以实现上述的事件因果关系识别方法。
71.另一方面,提供了一种计算机程序产品,所述计算机程序产品包括至少一条计算机程序,所述计算机程序由处理器加载并执行以实现上述各种可选实现方式中提供的事件因果关系识别方法。
72.本技术提供的技术方案可以包括以下有益效果:
73.本技术实施例提供事件因果关系识别方法,利用各个事件的事件时序信息对事件发生的节点进行系统拓扑结构信息感知,并将系统拓扑结构的感知结果融入到事件因果关系的识别过程中,充分利用了各个事件对应的采集信息,在解决了从大量事件时序信息中获取事件间因果关系的需求的同时,还解决了某些场景中由于无法提供拓扑结构信息导致算法实际应用性不佳的问题。
74.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
附图说明
75.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
76.图1示出了本技术一示例性实施例提供的因果假设关系的示意图;
77.图2示出了本技术一示例性实施例提供的系统拓扑结构的示意图;
78.图3示出了本技术一示例性实施例提供的事件因果关系识别系统的示意图;
79.图4示出了本技术一示例性实施例提供的事件因果关系识别方法的流程图;
80.图5示出了本技术一示例性实施例提供的事件因果关系识别方法的流程图;
81.图6示出了本技术一示例性实施例提供的节点之间邻接关系程度的示意图;
82.图7示出了本技术一示例性实施例提供的矩阵数值累加过程的示意图;
83.图8示出了本技术一示例性实施例提供的矩阵数值累加过程的示意图;
84.图9示出了本技术一示例性实施例示出的系统拓扑矩阵的生成过程示意图;
85.图10示出了本技术一示例性实施例提供的事件之间因果关系程度的示意图;
86.图11示出了本技术一示例性实施例提供的矩阵数值累加过程的示意图;
87.图12示出了本技术一示例性实施例提供的矩阵数值累加过程的示意图;
88.图13示出了本技术一示例性实施例示出的因果感知比率矩阵的生成过程示意图;
89.图14示出了本技术一示例性实施例示出的因果关系矩阵的生成过程示意图;
90.图15示出了本技术一示例性实施例提供的第一系统拓扑图的示意图;
91.图16示出了本技术一示例性实施例提供的第二系统拓扑有向图的示意图;
92.图17示出了本技术一示例性实施例提供的事件因果关系识别系统的示意图;
93.图18示出了基于本技术提供的事件因果关系识别系统与ttpm算法进行事件因果关系识别耗时的对比示意图;
94.图19示出了本技术一示例性实施例提供的系统事件拓扑图g2的示意图;
95.图20示出了本技术一示例性实施例提供的事件因果关系识别装置的方框图。
具体实施方式
96.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
97.首先,对本技术中涉及的名词进行解释说明:
98.1)因果假设:
99.因果假设用于表示事件(告警)的因果关系,为有向无环图,箭头表示因果箭头表示因果指向关系,通常使用邻接矩阵表示,行表示因事件,列表示果事件,具有因果关系事件对应位置值设置为1否则设置为0;图1示出了本技术一示例性实施例提供的因果假设关系的示意图,假设当前场景中有3中事件(告警)类型:a、b、c,其因果关系为a导致b,b导致c,如图1中的(a)部分所示,该有向无环图中的箭头由a指向b,由b指向c,如图1中的(b)部分所示,在该有向无环图对应的邻接矩阵中,在a行b列中置1表示a与b之间存在因果关系,且a为因事件,b为果事件,在b行c列中置1表示b与c之间存在因果关系,且b为因事件,c为果事件。
100.2)系统拓扑结构:
101.系统拓扑结构表示系统内部子服务或者组件间的数据流、服务调用等有向性关系,通常使用有向图进行表示,构成单元为节点集合,由两个节点和连接边组成,节点表示组件或者子服务,有向边表示数据流向关系或者服务调用关系;具体的数学表示则是使用邻接矩阵表示,行为源节点,列为目标节点,如果节点间存在服务调用或者数据流关系,相应的矩阵值设置为1,否则设置为0;图2示出了本技术一示例性实施例提供的系统拓扑结构
的示意图,如图2所示,假设当前系统内部有3个组件x、y、z,其中存在数据流关系,x流向y,y流向z,如图2中的(a)部分所示,该有向图中的箭头由x指向y,由y指向z,如图2中的(b)部分所示,在该有向图对应的邻接矩阵中,在x行y列中置1表示组件x与组件y之间存在数据流关系,且由组件x流向组件y,在y行z列中置1表示组件y与组件z之间存在数据流关系,且由组件y流向组件z。
102.图3示出了本技术一示例性实施例提供的事件因果关系识别系统的示意图,如图3所示,该因果关系识别系统中可以包含终端110和服务器120。
103.该终端110可以是手机、台式电脑、平板电脑、游戏主机、电子书阅读器、多媒体播放设备、膝上型便携计算机等电子设备。终端110具有显示功能以及交互功能,在本技术实施例中,用户可以通过终端110中显示的web应用界面将事件序列数据包上传到服务器120中,以使得服务器基于该事件序列数据包中的数据进行事件因果关系识别。
104.该服务器120可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn(content delivery network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。在本技术实施例中,服务器120接收终端110上传的事件序列数据包,并基于该事件序列数据包中的数据进行事件因果关系识别之后,将识别结果返回给终端110,其中,该识别结果中可以包括事件因果知识,本技术实施例中通过因果关系矩阵表示事件因果知识,进一步的,该识别结果中还可以包含事件根因定位结果,该事件根因定位结果可以通过根因投票矩阵表示;服务器基于事件序列数据包中的数据进行事件因果关系识别的过程可以参考下述实施例。
105.终端以及服务器通过通信网络相连。可选的,通信网络是有线网络或无线网络。
106.可选的,上述的无线网络或有线网络使用标准通信技术和/或协议。网络通常为因特网、但也可以是任何网络,包括但不限于局域网(local area network,lan)、城域网(metropolitan area network,man)、广域网(wide area network,wan)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合。在一些实施例中,使用包括超文本标记语言(hyper text mark-up language,html)、可扩展标记语言(extensible markup language,xml)等的技术和/或格式来代表通过网络交换的数据。此外还可以使用诸如安全套接字层(secure socket layer,ssl)、传输层安全(transport layer security,tls)、虚拟专用网络(virtual private network,vpn)、网际协议安全(internet protocol security,ipsec)等常规加密技术来加密所有或者一些链路。在另一些实施例中,还可以使用定制和/或专用数据通信技术取代或者补充上述数据通信技术。本技术在此不做限制。
107.图4示出了本技术一示例性实施例提供的事件因果关系识别方法的流程图,该方法可以由计算机设备执行,该计算机设备可以实现为如图3所示的服务器。如图4所示,该事件因果关系识别方法可以包括以下步骤:
108.步骤410,获取各个事件的事件时序信息,该事件时序信息用于表示事件的事件属性以及事件的时间属性。
109.在本技术实施例中,计算机设备可以从接收到的终端发送的事件序列数据包中获取各个事件的事件时序信息;或者,计算机设备可以从事件序列数据库中获取各个事件的事件时序信息;计算机设备获取各个事件的事件时序信息的获取途径可以基于实际业务场
景来确定,本技术对此不进行限制。
110.各个事件的事件时序信息可以但不限于通过csv文件格式存储,每一行对应一个事件的事件时序信息。
111.在本技术实施例中,事件属性包括事件类型以及事件发生的节点,时间属性包括事件的发生时间以及事件的结束时间。
112.可选的,该时间属性中还可以包含持续时间,该持续时间即为结束时间与发生时间的差值。
113.在本技术实施例中,可以通过编码的形式表示事件的事件类型,以时间戳的形式表示时间,以节点标识(id)表示事件发生的节点,表1示出了本技术一示例性实施例提供的各个事件的事件时序信息的数据表,如表1所示,第一个事件为事件类型编码为10的事件,第4个事件为事件类型编码为1的事件等等,发生时间以及结束时间以时间戳的形式表示,并基于时间戳格式下的发生时间以及结束时间计算持续时间;其中,计算机设备可以在数据处理阶段将发生时间和结束时间的表示方式从时间格式转化为时间戳格式。
114.表1
[0115] 事件类型节点id发生时间结束时间持续时间110131658959802165974760478780221013165959678416596418844510031013165961801716596408072279041161659629190165963175025605131616596291901659631750256061341659629192165963173225407141659629192165963173225408117165963097916596312512729131616596314151659631735320
[0116]
步骤420,基于各个事件的事件时序信息感知节点间的系统拓扑结构,获得系统拓扑矩阵,该系统拓扑矩阵用于表征事件发生的节点之间的邻接情况。
[0117]
本技术实施例中提供一种第一基础假设:在拓扑系统中,某一节点发生事件后,该事件会沿着系统拓扑结构进行传播,导致其邻接节点发生相应事件。
[0118]
基于各个事件的事件时序信息,可以获取各个事件各自对应的节点,如表1所示,第1~3个事件发生的节点为节点13,第4~5个事件发生的节点为节点16等等,从而可以获取各个事件中涉及的总节点数量为4,分别为节点13、节点16、节点4以及节点7;在上述基础假设的基础上基于事件时序信息对节点间的系统拓扑结构进行感知,可以得知上述4个节点之间的邻接情况,并用系统拓扑矩阵表示上述节点之间的邻接关系。
[0119]
步骤430,基于系统拓扑矩阵以及各个事件的事件时序信息识别事件间的因果关系,获得因果关系矩阵,该因果关系矩阵用于指示各个事件之间的因果关系。
[0120]
本技术实施例中提供一种第二基础假设:在拓扑系统中某一节点发生事件后,该事件会沿着系统拓扑结构进行传播,导致其邻接节点发生相应事件,如果事件集合在时序空间和拓扑空间上按照一定的先后顺序发生,那么认为该事件集合具有因果关系。其中,该事件集合是指发生时间相邻的两个事件组成的集合。
[0121]
基于上述第二基础假设,可以在确定系统拓扑矩阵指示事件集合中的两个事件对应的两个节点相邻时,基于两个事件的事件时序信息中的发生时间以及结束时间确定两个事件在时序空间上是否相关,若相关,则表示两个事件之间存在因果关系;若不相关,则表示两个事件之间不存在因果关系,并用因果关系矩阵表示事件集合中两个事件之间是否存在因果关系;其中,两个事件在时序空间上相关可以是指两个事件在持续过程中存在时序重合。
[0122]
综上所述,本技术实施例提供事件因果关系识别方法,利用各个事件的事件时序信息对事件发生的节点进行系统拓扑结构信息感知,并将系统拓扑结构的感知结果融入到事件因果关系的识别过程中,充分利用了各个事件对应的采集信息,在解决了从大量事件时序信息中获取事件间因果关系的需求的同时,还解决了某些场景中由于无法提供拓扑结构信息导致算法实际应用性不佳的问题。
[0123]
在一种可能的实现方式中,计算机设备可以将获取到的因果关系矩阵输出,以获得事件因果关系知识;在另一种可能的实现方式中,计算机设备在获得到因果关系矩阵之后,还可以基于因果关系矩阵、系统拓扑矩阵以及各个事件的事件时序信息进一步进行事件根因定位,以确定一个事件或者各个事件的根因事件以及根因节点,输出指示对应事件的根因节点和根因事件的定位结果,即根因投票矩阵。图5示出了本技术一示例性实施例提供的事件因果关系识别方法的流程图,该方法可以由计算机设备执行,该计算机设备可以实现为如图3所示的服务器。如图5所示,该事件因果关系识别方法可以包括以下步骤:
[0124]
步骤510,获取各个事件的事件时序信息,该事件时序信息用于表示事件的事件属性以及事件的时间属性。
[0125]
在本技术实施例中,计算机设备在获取到多个事件的初始事件时序信息组成的事件采集数据集时,会对事件采集数据集中的数据进行预处理和数据清洗,以减少不必要的数据处理过程,同时提高因果关系识别的准确性。基于此在本技术实施例中,获取各个事件的事件时序信息的过程可以包括:
[0126]
获取事件采集数据集;该事件采集数据集中包含多个事件的事件时序信息对应的事件采集数据;
[0127]
根据各个事件的发生时间对事件采集数据集中的数据进行排序处理;
[0128]
基于排序处理后的顺序,对事件采集数据集进行数据预处理,获得数据预处理后的各个事件的事件时序信息。
[0129]
其中,对数据进行排序处理时,可以根据各个事件的发生时间对事件采集数据集中的数据进行升序处理,或者,也可以根据各个事件的发生时间对事件采集数据集中的数据进行降序处理。
[0130]
在本技术实施例中,在排序处理为升序处理的情况下,对事件采集数据集进行数据预处理包括以下至少一种:
[0131]
删除与上一事件采集数据重复的事件采集数据;
[0132]
删除与上一事件采集数据对应的发生时间之间的差值小于第一差值阈值、且结束时间、事件发生的节点以及事件类型均相同的事件采集数据;
[0133]
合并事件的发生时间之间的差值小于第二差值阈值,事件发生的节点以及事件类型均相同多个事件采集数据;合并后的事件采集数据对应的发生时间为多个事件采集数据
中最早的发生时间,合并后的事件采集数据对应的结束时间为多个事件采集数据中最晚的结束时间;
[0134]
删除闪现数据,闪现数据是结束时间与发生时间之间的时间差小于第三差值阈值的事件采集数据;
[0135]
删除低频次数据和/或高频次数据,低频次数据是指事件采集数据集中出现次数低于第一次数阈值的事件类型对应的事件采集数据,高频次数据是指事件采集数据集中出现次数高于第二次数阈值的事件类型对应的事件采集数据。
[0136]
在排序处理为降序处理时,对事件采集数据集进行数据预处理包括以下至少一种:
[0137]
删除与下一事件采集数据重复的事件采集数据;
[0138]
删除与下一事件采集数据对应的发生时间之间的差值小于第一差值阈值、且结束时间、事件发生的节点以及事件类型均相同的事件采集数据;
[0139]
合并事件的发生时间之间的差值小于第二差值阈值,事件发生的节点以及事件类型均相同多个事件采集数据;合并后的事件采集数据对应的发生时间为多个事件采集数据中最早的发生时间,合并后的事件采集数据对应的结束时间为多个事件采集数据中最晚的结束时间;
[0140]
删除闪现数据,闪现数据是结束时间与发生时间之间的时间差小于第三差值阈值的事件采集数据;
[0141]
删除低频次数据和/或高频次数据,该低频次数据是指事件采集数据集中出现次数低于第一次数阈值的事件类型对应的事件采集数据,该高频次数据是指事件采集数据集中出现次数高于第二次数阈值的事件类型对应的事件采集数据。
[0142]
也就是说,对于重复的事件采集数据,只保留其中一条;对于发生时间之间的差值小于第一差值阈值,其他属性均相同的事件采集数据,保留发生时间最早的事件采集数据,其余删除。
[0143]
以排序处理为升序处理为例,表2示出了本技术一示例性实施例提供的事件采集数据集对应的数据表,表3示出了本技术一示例性实施例提供的经过数据预处理后获得的洁净数据表。
[0144]
表2
[0145]
[0146][0147]
表3
[0148] 事件类型节点id发生时间结束时间持续时间1101316589598021659747604787802210131659596784165964188445100310131659618017165964080722790411616596291901659631750256051316165962919016596317502560613416596291921659631732254071416596291921659631732254081171659630970165963170073091316165963141516596317353201013211659631416165963173632011131016596314571659631737280
[0149]
在表2中第2行的数据与第3行的数据重复,因此,删除第3行的数据,保留第2行的数据,对应得到表3中第2行的数据;若第一差值阈值为10,表2中第6行的数据与第7行的数据发生时间之间的差值小于第一差值阈值,且结束时间、节点标识以及事件类型均相同,则删除第7行的数据,保留第6行的数据,对应得到表3中第5行的数据;若第二差值阈值为10,表2中第10行的数据与第11行的数据发生时间之间的差值小于第二差值阈值,且节点标识以及事件类型均相同但结束时间不同,则对第10行与第11行的数据进行合并,合并后的数据对应表3中第8行的数据;若第三差值阈值为5,表2中第14行数据的持续时间为2,小于第三差值阈值,因此,将第14行数据删除;经过上述数据预处理后,对应得到表3所示的预处理后的数据表。
[0150]
需要说明的是,上述对于第一差值阈值,第二差值阈值以及第三差值阈值的举例均为示意性的,本技术对各个差值阈值的取值不进行限制。另外,在对低频次数据和高频次数据进行判断时依据的第一次数阈值和第二次数阈值也可以基于实际需求进行不同的数值设定,第一次数阈值小于第二次数阈值。
[0151]
后续步骤基于预处理后的数据表中各个事件的事件时序信息进行因果关系识别,基于本技术提供的第一基础假设和第二基础假设可知,发生时间较早的事件所处的节点更有可能是源节点,发生时间较早的事件更有可能是因事件,因此,为了便于后续数据处理说明,本技术中以采用升序处理的方式对事件采集数据集中的数据进行排序处理为例进行说明。
[0152]
步骤520,基于各个事件的事件时序信息感知节点间的系统拓扑结构,获得系统拓扑矩阵,该系统拓扑矩阵用于表征事件发生的节点之间的邻接情况。
[0153]
在一种可能的实现方式中,基于各个事件的事件时序信息对节点间的系统拓扑结构进行感知,获得系统拓扑矩阵的过程可以实现为:
[0154]
s5201,按照各个事件的发生时间的先后顺序,基于各个事件发生的节点确定至少一个节点集合类型,每个节点集合类型下包含至少一个节点集合;该节点集合是发生时间相邻的两个事件各自所处的节点组成的集合。
[0155]
由于各个事件的发生节点之间可能存在差异,因此会出现不同的节点集合类型,比如由节点1和节点2组成的节点集合类型1,由节点2和节点3组成的节点集合类型2等等;进一步的,由于节点中事件的发生时间的先后顺序不同,也会造成节点集合类型的不同,比如,在节点1中的事件的发生时间早于节点2中的事件的发生时间时,存在由节点1和节点2组成的节点集合类型1,在节点2中的事件的发生时间早于节点1中的事件的发生时间时,此时存在由节点2和节点1组成的节点集合类型2等等。
[0156]
表4示出了当前各个事件的事件时序信息的数据表,如表4所示,按照发生时间升序的顺序,可以获得节点集合0-2、节点集合2-1、节点集合1-0以及节点集合0-1,节点集合类型的数量为4,每个节点集合类型下对应包含一个节点集合。
[0157]
表4
[0158] 事件类型节点id发生时间结束时间持续时间1201109212212103211523840015.2237.851125294
[0159]
需要说明的是,每个节点集合类型中包含的节点集合的数量可以为一个或多个,表4所示的情况仅为示意性的,不对本技术中的节点集合类型的数量以及节点集合类型下节点集合的数量进行限制。
[0160]
s5202,基于各个事件的事件时序信息,计算至少一个节点集合类型各自对应的累加邻接强度系数;该累加邻接强度系数是一个节点集合类型下的至少一个节点集合的邻接强度系数的累加值,该邻接强度系数用于表征两个节点的邻接关系程度。
[0161]
一个节点集合类型的累加邻接强度系数的值为该节点集合类型下包含的各个节
点集合各自对应的邻接强度系数的累加值,因此,需要先计算各个节点集合各自的邻接强度系数;在本技术实施例中,计算节点集合的邻接强度系数的过程可以实现为:
[0162]
从各个事件的事件时序信息中获取第三节点中发生的第三事件的第三发生时间与第三结束时间、第四节点中发生的第四事件的第四发生时间与第四结束时间;第三节点与第四节点是目标节点集合中的两个节点,第三节点对应的第三发生时间早于第四节点对应的第四发生时间;目标节点集合是目标节点集合类型下包含的至少一个节点集合中的任意一个,目标节点集合类型是至少一个节点集合类型中的任意一个;
[0163]
将第三差值与第四差值之间的比值获取为目标节点集合的邻接强度系数;第三差值为第三结束时间与第四发生时间之间的差值,第四差值为第四结束时间与第三发生时间之间的差值。
[0164]
在计算获得目标节点集合的邻接强度系数后,将目标节点集合的邻接强度系数累加到目标节点集合类型的累加邻接强度系数中。
[0165]
基于本技术的第一基础假设,本技术提供一种计算节点间的邻接关系强度的假设:若a节点先发生事件,然后b节点紧接着发生事件,a节点的事件先结束,b节点中的事件也接近结束,那么可以认为a节点中的事件导致了b节点中事件的发生,则可以认为a节点与b节点邻接,由a节点指向b节点,且事件的时序共现率越大,节点集合的邻接关系越强;其中,事件的时序共现率用于指示两个事件的时序重合程度;节点集合的邻接强度系数的计算公式为:
[0166][0167]
其中,t
as
为a节点事件的发生时间,t
bs
为b节点事件的发生时间,t
ae
为a节点事件的结束时间,t
be
为b节点事件的结束时间,adj_intensity为节点集合的邻接强度系数,越接近1.0表示a节点和b节点的邻接强度越强,小于或等于0则表示节点集合不存在邻接关系,此时adj_intensity取值为0。
[0168]
图6示出了本技术一示例性实施例提供的节点之间邻接关系程度的示意图,如图6所示,在图6中的(a)部分对应的两个节点中,a节点与b节点组成的节点集合的邻接强度系数adj_intensity=(8-2)/(9-1)=0.75,表示a节点和b节点强邻接;在图6中的(b)部分对应的两个节点中,a节点与b节点组成的节点集合的邻接强度系数adj_intensity=(7-5)/(9-1)=0.375,表示a节点和b节点弱邻接;在图6中的(c)部分对应的两个节点中,a节点与b节点组成的节点集合的邻接强度系数adj_intensity=(5-6)/(9-1)=-0.125《0,表示a节点和b节点无邻接关系。
[0169]
在计算完各个节点集合的邻接强度系数后,将各个节点集合的邻接强度系数累加到对应的节点集合类型的累加邻接强度系数中。
[0170]
在另一种可能的实现方式中,计算机设备在计算各个节点集合类型的累加邻接强度系数时,可以按照发生时间的先后顺序将相邻的两个节点划分为一个节点集合,基于各个节点集合的组合确定节点集合类型后,先基于节点中事件的发生时间与结束时间确定具有邻接关系的节点集合类型,将不具有邻接关系的节点集合类型的累加邻接强度系数置0,再计算具有邻接关系的节点集合类型的累加邻接强度系数,即先判断,后计算,以减少计算量。其中,具有邻接关系的节点集合类型是指包含的节点集合中存在同一节点集合中的两
个节点各自对应的事件的持续过程在时序上部分重合的节点集合类型,时序上部分重合是指第二事件的发生时间晚于第一事件的发生时间但早于第一事件的结束时间。不具有邻接关系的节点集合类型是指包含的各个节点集合各自的两个节点各自对应的事件的持续过程在时序上不重合,即第二事件的发生时间晚于第一事件的结束时间。
[0171]
需要说明的是,计算机设备在计算节点集合类型的累加邻接强度系数时,可以先基于节点中事件的发生时间以及结束时间确定具有邻接关系的节点集合类型,将不具有邻接关系的节点集合类型的累加邻接强度系数置0,并计算具有邻接关系的节点集合类型的累加邻接强度系数,即先判断后计算;或者,计算机设备也可以直接计算各个节点集合类型各自的累加强度系数,以根据累加邻接强度系数的计算结果确定哪些节点集合类型下的节点集合具有邻接关系,哪些节点集合类型下的节点不具有邻接关系。
[0172]
s5203,基于至少一个节点集合类型各自对应的累加邻接强度系数,生成系统拓扑矩阵。
[0173]
其中,生成系统拓扑矩阵的过程可以实现为:
[0174]
基于至少一个节点集合类型的累加邻接强度系数,构建拓扑感知矩阵;该拓扑感知矩阵的行用于表示源节点、拓扑感知矩阵的列用于表示目标节点;源节点中的事件的发生时间早于目标节点中的事件的发生时间;
[0175]
基于拓扑感知矩阵生成拓扑感知比率矩阵;拓扑感知比率矩阵用于指示至少一个节点集合类型的邻接关系程度;
[0176]
基于第二阈值对拓扑感知比率矩阵进行二值化处理,生成系统拓扑矩阵。
[0177]
示意性的,构建拓扑感知矩阵时,可以先建立一个拓扑感知矩阵的初始化矩阵,该初始化矩阵的行和列的数量与节点数量一致,在考虑双向图且具有自回环的情况下,该初始化矩阵可以为全1矩阵;需要说明的是,根据实际需求的不同,初始化矩阵可以有不同的设置,比如全0矩阵等等,本技术对此不进行限制;以表4所示的数据表为例,其对应拓扑感知矩阵t的初始化矩阵为:
[0178][0179][0180]
初始化矩阵t
[0181]
由于表4中包含节点0,节点1与节点2这三个节点,因此,该初始化矩阵t为3*3的全1矩阵,其中,行表示源节点,列表示目标节点。
[0182]
在按照事件的发生时间的先后顺序进行节点遍历时,在遍历到的当前节点时,在当前节点对应在拓扑感知矩阵中的值上累加1,图7示出了本技术一示例性实施例提供的矩阵数值累加过程的示意图,如图7所示,假设当前的事件为表4中第1行的事件,其节点标识为0,则在拓扑感知矩阵t[0,0]中累加1。
[0183]
在计算获得各个节点集合类型对应的累加邻接强度系数后,将各个节点集合类型对应的累加邻接强度系数累加到拓扑感知矩阵对应的值上,获得最终的拓扑感知矩阵,示
意性的,以表4所示的数据表为例,其对应的最终的拓扑感知矩阵t为:
[0184] 0120311.7311.98212112
[0185]
拓扑感知矩阵t
[0186]
在一种可能的实现方式中,计算机设备也可以在计算获得一个节点集合类型下的一个节点集合的邻接强度系数后,实时将该节点集合的邻接强度系数累加到拓扑感知矩阵中该节点集合对应的节点集合类型的位置中,以表4所示的数据表为例,图8示出了本技术一示例性实施例提供的矩阵数值累加过程的示意图,如图8所示,在计算获得节点集合0-2对应的邻接强度系数为0.73后,在图7所示的拓扑感知矩阵t的基础上,将0.73累加到拓扑感知矩阵t[0,2]的值中,若之后仍有节点集合类型0-2下的节点集合,在计算获得该节点集合的邻接强度系数后,将对应的数值累加到拓扑感知矩阵t[0,2]的值中,直至遍历完成,以最终获得该节点集合类型的累加邻接强度系数。
[0187]
需要说明的是,计算机设备在拓扑感知矩阵中写入数值时,可以先计算获得节点集合类型的累加邻接强度系数后,再整体写入拓扑感知矩阵,或者,也可以在计算获得节点集合类型下的一个节点集合的邻接强度系数后,将该邻接强度系数实时累加到拓扑感知矩阵的对应值上,并在该位置上进行该节点集合类型下的后续节点集合的邻接强度系数的累加。
[0188]
在获得拓扑感知矩阵后,根据第一矩阵变换公式,生成拓扑感知比率矩阵tr,该第一矩阵变换公式为:
[0189][0190]
其中,tr[x,y]表示拓扑感知比率矩阵中第x行第y列的值,t[x,y]表示拓扑感知矩阵中第x行第y列的值。
[0191]
图8示出了本技术一示例性实施例示出的拓扑感知比率矩阵的生成过程示意图,如图8所示,以表4所示的数据表为例,基于第一矩阵变换公式对其对应的拓扑感知矩阵t进行处理后,获得拓扑感知比率矩阵tr:
[0192] 01200-0.980.7310.98002-0.7300
[0193]
拓扑感知比率矩阵tr
[0194]
在获得拓扑感知比率矩阵tr后,基于第二阈值对拓扑感知比率矩阵进行二值化处理,获得系统拓扑矩阵tt。
[0195]
其中,该第二阈值可以是基于拓扑感知比率矩阵计算获得的二值化阈值,该第二阈值可以是拓扑感知比率矩阵tr的方差、均值、中位数等参数中的一种,或者,也可以由相
关人员基于实际需求进行设置。
[0196]
示意性的,基于第二阈值对拓扑感知比率矩阵进行二值化处理的公式可以表示为:
[0197][0198]
其中,tt[x,y]表示拓扑感知比率矩阵中第x行第y列的值。
[0199]
图9示出了本技术一示例性实施例示出的系统拓扑矩阵的生成过程示意图,如图9所示,以表4所示的数据表,且第二阈值为拓扑感知比率矩阵的方差为例,基于表4的拓扑感知比率矩阵计算得到第二阈值为0.73,因此,基于第二阈值对其对应的拓扑感知比率矩阵tr进行处理后,获得其对应的系统拓扑矩阵tt:
[0200] 012011111102101
[0201]
系统拓扑矩阵tt
[0202]
该系统拓扑矩阵用于指示各个节点之间的邻接情况;以上述表4对应的系统拓扑矩阵tt为例,该系统拓扑矩阵表示节点0与节点1具有邻接关系,且由节点1与节点0之间为双向连接,即数据流可以由节点1指向节点0,也可以由节点0指向节点1;节点0与节点2具有邻接关系,且为双向连接;节点1与节点2不具有邻接关系。
[0203]
步骤530,基于系统拓扑矩阵以及各个事件的事件时序信息识别事件间的因果关系,获得因果关系矩阵,该因果关系矩阵用于指示各个事件之间的因果关系。
[0204]
在一种可能的实现方式中,基于系统拓扑矩阵以及各个事件的事件时序信息识别事件间的因果关系,获得因果关系矩阵的过程可以实现为:
[0205]
s5301,按照各个事件的发生时间的先后顺序,确定至少一个事件集合类型,每个事件集合类型下包含至少一个事件集合;该事件集合是由发生时间相邻的两个事件组成的集合。
[0206]
由于各个事件的事件类型之间可能存在差异,因此会出现不同的事件集合类型,比如由事件类型1和事件类型2组成的事件集合类型1,由事件类型2和事件类型3组成的事件集合类型2等等;进一步的,由于事件的发生时间的先后顺序不同,也会造成事件集合类型的不同,比如,在事件类型1的事件(事件1)的发生时间早于事件类型2的事件(事件2)发生时间时,存在由事件类型1和事件类型2组成的事件集合类型1,在事件2的发生时间早于事件1的发生时间时,存在由事件类型2和事件类型1组成的事件集合等等。
[0207]
仍以表4所示的数据表为例,按照发生时间升序的顺序,可以获得事件集合2-1、事件集合1-2、事件集合2-0、事件集合2-1,总事件集合类型的数量为4,每个事件集合类型下对应包含一个事件集合。
[0208]
需要说明的是,每个事件集合类型中包含的事件集合的数量可以为一个或多个,表4所示的情况仅为示意性的,不对本技术中的事件集合类型的数量以及事件集合类型下
事件集合的数量进行限制。
[0209]
s5302,基于系统拓扑矩阵以及各个事件的事件时序信息,计算至少一个事件集合类型各自对应的累加因果强度系数;该累加因果强度系数是一个事件集合类型下的至少一个事件集合各自的因果强度系数的累加值,该因果强度系数用于表征事件集合中的两个事件在持续过程中的因果关系程度。
[0210]
一个事件集合类型的累加因果强度系数的值为该事件集合类型下各个事件集合各自对应的因果强度系数的累加值,因此,需要先计算各个事件集合各自的因果强度系数;在本技术实施例中,计算事件集合的因果强度系数的过程可以实现为:
[0211]
在系统拓扑矩阵指示发生第一事件的第一节点与发生第二事件的第二节点之间具有邻接关系时,从各个事件的事件时序信息中获取第一事件的第一发生时间与第一结束时间、第二事件的第二发生时间与第二结束时间;第一事件与第二事件是目标事件集合中先后发生的两个事件;目标事件集合是目标事件集合类型下包含的至少一个事件集合中的任意一个;目标事件集合类型是至少一个事件集合类型中的任意一个;
[0212]
将第一差值与第二差值之间的比值获取为目标事件集合的因果强度系数;第一差值为第一结束时间与第二发生时间之间的差值,第二差值为第二结束时间与第一发生时间之间的差值;
[0213]
在计算获得目标事件集合的因果强度系数后,将目标事件集合的因果强度系数累加到目标事件集合类型的累加因果强度系数中。
[0214]
基于本技术的第二基础假设,本技术提供一种计算事件间的因果强度系数的假设:首先保证事件集合所对应的两个节点之间具有邻接关系,即在系统拓扑矩阵tt中相应的值为1;在此基础上,如果a事件发生,然后b事件紧接着发生,a事件先结束,b事件也紧接着结束,那么可以认为a事件发生导致了b事件的发生,即事件集合a-b具有因果关系,并且a是因事件,b是果事件。而且事件的时序拓扑共现率越大,事件集合a-b之间因果关系就越强;事件集合的因果强度系数的计算公式为:
[0215][0216]
其中,t
as
为a事件的发生时间,t
bs
为b事件的发生时间,t
ae
为a事件的结束时间,t
be
为b事件的结束时间,causal_intensity为事件集合因果强度系数,越接近1.0表示a事件和b事件集合的因果强度越强,小于或等于0则表示事件集合不存在因果关系,此时causal_intensity取值为0。
[0217]
图10示出了本技术一示例性实施例提供的事件之间因果关系程度的示意图,如图10所示,在图10中的(a)部分对应的两个事件中,a事件与b事件组成的事件集合的因果强度系数causal_intensity=(8-2)/(9-1)=0.75,表示a事件和b事件具有强因果关系;在图10中的(b)部分对应的两个事件中,a事件与b事件组成的事件集合的因果强度系数causal_intensity=(7-5)/(9-1)=0.375,表示a事件和b事件具有弱因果关系;在图10中的(c)部分对应的两个事件中,a事件与b事件组成的事件集合的因果强度系数causal_intensity=(5-6)/(9-1)=-0.125《0,表示a事件和b事件之间不存在因果关系。
[0218]
在计算完各个事件集合的因果强度系数后,将各个事件集合的因果强度系数累加到对应的事件集合类型的累加因果强度系数中。
[0219]
在另一种可能的实现方式中,计算机设备在计算各个事件集合类型的累加因果强度系数时,可以按照发生时间的先后顺序将相邻的两个事件划分为一个事件集合,基于各个事件集合的组合确定事件集合类型后,先基于事件的发生时间与结束时间确定具有因果关系的事件集合类型,将不具有因果关系的事件集合类型的累加因果强度系数置0,再计算具有因果关系的事件集合类型的累加强度系数,即先判断,后计算,以减少计算量。其中,具有因果关系的事件集合类型是指包含的事件集合中,存在同一事件集合中的两个事件的持续过程在时序上部分重合的事件集合类型,时序上部分重合是指第二事件的发生时间晚于第一事件的发生时间但早于第一事件的结束时间,此时第一事件与第二事件组成的事件集合可以称为共现事件集合。不具有因果关系的事件集合类型是指包含的各个事件集合各自的两个事件的持续过程在时序上不重合,即第二事件的发生时间晚于第一事件的结束时间,此时第一事件与第二事件组成的事件集合可以称为非共现事件集合。
[0220]
需要说明的是,计算机设备在确定事件集合类型的累加因果强度系数时,可以先基于事件的发生时间与结束时间确定具有因果关系的事件集合类型,将不具有因果关系的事件集合类型的累加因果强度系数置0,并计算具有因果关系的事件集合类型的累加因果强度系数,即先判断后计算;或者,计算机设备也可以直接计算各个事件集合类型各自的累加强度系数,以根据累加因果强度系数的计算结果确定哪些事件集合类型下的事件集合具有因果关系,哪些事件集合类型下的节点不具有因果关系。
[0221]
在一种可能的情况下,在系统拓扑矩阵指示发生第一事件的第一节点与发生第二事件的第二节点之间不具有邻接关系时,确定第一节点中发生的第一事件与在第二节点中发生的第二事件对应的因果强度系数为0。
[0222]
也就是说,在基于系统拓扑矩阵指示发生事件的两个节点不具有邻接关系时,即可以直接确定两个事件之间不具有因果关系,将其对应的因果强度系数置0。
[0223]
s5303,基于至少一个事件集合类型各自对应的累加因果强度系数,生成因果关系矩阵。
[0224]
其中,生成因果关系矩阵的过程可以实现为:
[0225]
基于至少一个事件集合类型的累加因果强度系数,构建因果感知矩阵;因果感知矩阵中的行用于表示因事件类型,因果感知矩阵中的列用于表示果事件类型;因事件类型的事件的发生时间早于果事件类型的事件的发生时间;
[0226]
基于因果感知矩阵生成因果感知比率矩阵;该因果感知比率矩阵用于表征至少一个事件集合类型的因果关系程度;
[0227]
基于第一阈值对因果感知比率矩阵进行二值化处理,生成因果关系矩阵。
[0228]
示意性的,构建因果感知矩阵时,可以先建立一个因果感知矩阵的初始化矩阵,该初始化矩阵的行和列的数量与事件类型数量一致,在考虑双向图且具有自回环的情况下,该初始化矩阵可以为全1矩阵;需要说明的是,根据实际需求的不同,初始化矩阵可以有不同的设置,比如全0矩阵等等,本技术对此不进行限制;以表4所示的数据表为例,其对应因果感知矩阵c的初始化矩阵为:
[0229] 01201.000001.000001.0000011.000001.000001.00000
21.000001.000001.00000
[0230]
初始化矩阵c
[0231]
由于表4中包含事件类型0,事件类型1与事件类型2这三种事件类型,因此,该初始化矩阵c为3*3的全1矩阵,其中,行表示因事件,列表示果事件。
[0232]
在按照事件的发生时间的先后顺序进行事件遍历时,在遍历到的当前事件时,在当前事件对应在因果感知矩阵中的值上累加1,图11示出了本技术一示例性实施例提供的矩阵数值累加过程的示意图,如图11所示,假设当前的事件为表4中第1行的事件,其事件类型为2,则在因果感知矩阵c[2,2]中累加1。
[0233]
在计算获得各个事件集合类型对应的累加因果强度系数后,将各个事件集合类型对应的累加因果强度系数累加到因果感知矩阵对应的值上,获得最终的因果感知矩阵,示意性的,以表4所示的数据表为例,其对应的最终的因果感知矩阵c为:
[0234] 0120211112121.981.733
[0235]
因果感知矩阵c
[0236]
在一种可能的实现方式中,计算机设备也可以在计算获得一个事件集合类型下的一个事件集合的邻接因果系数后,实时将该事件集合的邻接因果系数累加到因果感知矩阵中该事件集合对应的事件集合类型的位置中,以表4所示的数据表为例,图12示出了本技术一示例性实施例提供的矩阵数值累加过程的示意图,如图12所示,在计算获得事件集合2-1对应的因果强度系数为0.73后,在图11所示的因果感知矩阵c的基础上,将0.73累加到因果感知矩阵c[2,1]的值中,若之后仍有事件集合类型2-1下的节点集合,在计算获得该节点集合的因果强度系数后,将对应的数值累加到因果感知矩阵c[2,1]的值中,直至遍历完成,以最终获得该事件集合类型的累加因果强度系数。
[0237]
需要说明的是,计算机设备在因果感知矩阵中写入数值时,可以先计算获得事件集合类型的累加因果强度系数后,再整体写入因果感知矩阵,或者,也可以在计算获得事件集合类型下的一个事件集合的因果强度系数后,将该因果强度系数实时累加到因果感知矩阵的对应值上,并在该位置上进行该事件集合类型下的后续事件集合的因果强度系数的累加。
[0238]
在获得因果感知矩阵后,根据第二矩阵变换公式,生成因果感知比率矩阵cr,该第二矩阵变换公式为:
[0239][0240]
其中,cr[x,y]表示因果感知比率矩阵中第x行第y列的值,c[x,y]表示因果感知矩阵中第x行第y列的值。
[0241]
图13示出了本技术一示例性实施例示出的因果感知比率矩阵的生成过程示意图,如图13所示,以表4所示的数据表为例,基于第二矩阵变换公式对其对应的因果感知矩阵c
进行处理后,获得因果感知比率矩阵cr:
[0242] 012000-0.98100-0.7320.980.730
[0243]
因果感知比率矩阵cr
[0244]
在获得因果感知比率矩阵cr后,基于第一阈值对因果感知比率矩阵cr进行二值化处理,获得因果关系矩阵ct。
[0245]
其中,该第一阈值可以是基于因果感知比率矩阵计算获得的二值化阈值,该第一阈值可以是因果感知比率矩阵cr的方差、均值、中位数等参数中的一种,或者,也可以由相关人员基于实际需求进行设置。
[0246]
示意性的,基于第一阈值对因果感知比率矩阵进行二值化处理的公式可以表示为:
[0247][0248]
其中,ct[x,y]表示因果感知比率矩阵中第x行第y列的值。
[0249]
图14示出了本技术一示例性实施例示出的因果关系矩阵的生成过程示意图,如图14所示,以表4所示的数据表,且第一阈值为因果感知比率矩阵的方差为例,基于表4的因果感知比率矩阵计算得到第一阈值为0.48,因此,基于第一阈值对其对应的因果感知比率矩阵cr进行处理后,获得其对应的因果关系矩阵ct:
[0250][0251][0252]
因果关系矩阵ct
[0253]
该因果关系矩阵用于指示各个事件类型之间的因果关系;以上述表4对应的因果关系矩阵ct为例,该因果关系矩阵表示事件类型2与事件类型0具有因果关系,且事件类型2的事件为因事件,事件类型0的事件为果事件;事件类型2与事件类型1具有因果关系,且事件类型2的事件为因事件,事件类型1的事件为果事件;事件类型0与事件类型1之间不具有因果关系。
[0254]
在一种可行的实现方式中,在获取到因果关系矩阵后,可以将该因果关系矩阵作为学习到的因果知识输出;或者,在另一种可行的实现方式中,可以基于因果关系矩阵,系统拓扑矩阵以及各个事件的事件时序信息进一步进行事件根因定位,以确定某一事件的根因节点以及根因事件,该过程如步骤540所示。
[0255]
步骤540,基于系统拓扑矩阵、因果关系矩阵以及各个事件的事件时序信息进行根
因定位,获得目标事件的根因节点和根因事件;该目标事件是各个事件中待进行事件根因定位分析的事件。
[0256]
本技术提供第三基础假设:具有拓扑结构系统中某一节点发生事件时,事件会沿着拓扑结构和事件因果关系进行传播,致使与其相邻的节点也发生相应的事件,所以在具有拓扑结构系统发生事件时,可以借助系统拓扑结构和事件因果关系通过随机游走和随机投票机制对根因事件和根因节点进行定位。
[0257]
基于上述第三基础假设,基于系统拓扑矩阵、因果关系矩阵以及各个事件的事件时序信息进行根因定位,获得目标事件的根因节点和根因事件的过程可以实现为:
[0258]
s5401,创建目标事件的根因投票矩阵,根因投票矩阵的行用于表示事件类型,根因投票矩阵的列用于表示事件发生的节点。
[0259]
在本技术实施例中,该根因投票矩阵v=事件类型数
×
节点类型数。
[0260]
s5402,根据系统拓扑矩阵创建第一系统拓扑有向图,第一系统拓扑有向图中包含节点以及有向边,有向边用于指示节点之间的数据流关系或服务调用关系。
[0261]
图15示出了本技术一示例性实施例提供的第一系统拓扑图的示意图,如图15所示,假设系统拓扑矩阵指示节点1与节点2之间具有邻接关系,节点1与节点4之间具有邻接关系,节点2与节点3之间具有邻接关系,且节点1与节点3之间不具有邻接关系,由此,可以创建第一系统拓扑图1510,在该第一系统拓扑图1510中,以有向边指示节点之间的数据流关系为例,数据流由节点2流向节点1,数据流由节点4流向节点1,数据流由节点3流向节点2。
[0262]
s5403,将各个事件的事件时序信息存放到相应的节点中,得到第二系统拓扑有向图。
[0263]
图16示出了本技术一示例性实施例提供的第二系统拓扑有向图的示意图,如图16所示,将各个事件的事件时序信息存放到相应的节点中以获得第二系统拓扑有向图1610,在该第二系统拓扑有向图中,节点1中存放有事件类型分别为事件类型1和事件类型2的两个事件的事件时序信息,节点2中存放有事件类型分别为事件类型2与事件类型1的两个事件的事件时序信息,节点3中存放有事件类型为事件类型0的一个事件的事件时序信息,节点4中存放有事件类型为事件类型1的一个事件的事件时序信息。
[0264]
s5404,获取目标节点集合,目标节点集合中的各个目标节点均为发生目标事件类型的事件的节点。
[0265]
该目标节点集合是需要分析定位的事件所处的节点的集合,示意性的,以图16所示的第二系统拓扑有向图为例,若选定的需分析定位的事件为事件类型1,则确定的目标节点集合中包含的目标节点为节点1、节点2以及节点4,若选定的目标节点为2,则确定的目标节点集合中包含的目标节点为节点1和节点2。
[0266]
s5405,依次以目标节点集合中的目标节点为起始节点,根据因果关系矩阵以及第二系统拓扑有向图执行至少一次游走投票,并将至少一次游走投票的投票结果写入根因投票矩阵。
[0267]
以目标节点集合中的一个目标节点为起始节点的游走过程为例,在该过程的任意分析节点中的判断过程可以实现为:
[0268]
1)获取当前分析节点下的分析事件。
[0269]
其中,在当前分析节点为起始节点时,当前分析节点是目标节点集合中的目标节点中的任意一个。
[0270]
选定当前分析节点下的分析事件,例如:当前分析节点=节点1,当前分析事件=事件1,获取当前分析节点-事件的事件时序信息,例如,该节点1-事件1的事件时序信息为[发生时间=5,结束时间=13]。
[0271]
2)基于第二系统拓扑有向图,获取当前分析节点的父节点集合,父节点集合中包含至少一个父节点,父节点与当前分析节点之间的有向边的方向由父节点指向当前分析节点。
[0272]
如图16所示的第二系统拓扑有向图所示,节点1的父节点集合中包含的父节点为节点2以及节点4,即节点1的父节点=[2,4];节点2的父节点集合中包含节点3;节点3与节点4无父节点。
[0273]
3)向当前分析节点的父节点集合中的父节点进行等概率随机游走。
[0274]
在一种可能的实现方式中,在父节点集合中包含多个父节点的同时,可以同时向各个父节点进行游走。或者,也可以随机选取其中一个父节点先进行游走,再随机选取另一个父节点进行游走,直至父节点集合中的父节点游走完成。
[0275]
4)若基于因果关系矩阵确定游走节点中存在与当前分析节点下的分析事件具有因果关系的匹配事件,在根因投票矩阵中对游走节点下的匹配事件进行累加投票;游走节点是当前随机游走到的父节点。
[0276]
5)将游走节点下的匹配事件获取为新的当前分析节点下的分析事件。
[0277]
重复上述过程,直至游走节点中不存在匹配事件,或者,游走节点不具有父节点。
[0278]
计算机设备可以基于游走节点中是否存在与当前分析节点-事件相匹配的事件来判断是否对当前游走节点进行投票累加,并将匹配事件作为继承事件进行后续的游走;例如,在对事件类型1进行根因定位时,先以事件类型1的目标节点集合中的节点1为起始节点为例,将节点1-事件1作为起始分析节点-分析事件,等概率随机从节点1的父节点[2,4]中选取一个节点进行游走,假设选定游走到节点2,遍历节点2中所有的事件,首先是节点2的事件2,查看因果关系矩阵ct:
[0279] 012001110002110
[0280]
因果关系矩阵ct
[0281]
由上述因果关系矩阵ct可知ct[2,1]=1,即事件类型2的事件与事件类型1的事件之间具有因果关系,且基于各个事件的发生时间可知节点2-事件2先于节点1-事件1发生,节点2-事件2先于节点1事件1结束,因此,节点2的事件2投票累加1,并将节点2-事件2作为继承事件,继续进行游走;其次是节点2中的事件1,查看事件因果关系矩阵ct[1,1]=0,因此,节点2的事件1投票累加0。
[0282]
之后进入到以节点2-事件2为当前分析节点下的分析事件的游走过程,由图16所示的第二系统拓扑有向图为例,该节点2的父节点为节点3,游走到节点3,遍历节点3中的所有事件,即节点3中的事件0,查看因果关系矩阵ct[0,2]=1,且节点3-事件0先于节点2-事
件2发生,节点3-事件0先于节点2-事件2结束,因此,节点3的事件0投票累加1,并将节点3-事件0作为继承事件,由于节点3没有父节点,因此,当前游走结束。
[0283]
在随机游走到节点1的另一个父节点,即节点4时,遍历节点4中的所有事件,即节点4中的事件1,查看因果关系矩阵ct[1,1]=0,因此,节点4的事件1的投票累加0,由于节点4中不存在匹配事件,因此,当前游走结束。
[0284]
之后,以事件类型1的目标节点集合中的另一个目标节点,即节点2为起始节点,将节点2-事件1作为起始分析节点-分析事件,由于节点2具有一个父节点,即节点3,因此,游走到节点3,遍历节点3中的所有事件,即节点3中的节点0,查看因果关系矩阵ct[0,1]=1,因此,节点3的事件的投票累加1,由于节点3没有父节点,因此,当前游走结束。
[0285]
在以事件类型1的目标节点集合中的各个目标节点为起始节点的游走过程均结束后,可以获得对应于事件类型1的根因投票矩阵:
[0286]
事件\节点1234000201000020100
[0287]
根因投票矩阵
[0288]
需要说明的是,图16所示的第二系统拓扑图包含的节点数量以及事件类型为示意性的,在实际应用中一个系统拓扑图中可以包含更多的节点以及事件类型,在节点数量以及事件类型较多或较为复杂的情况下,在一种可能的实现方式中,计算机设备中还可以预设有游走次数阈值,在游走次数达到游走次数阈值时,停止游走,执行s5406,否则,继续上述游走过程。
[0289]
s5406,基于根因投票矩阵中的投票结果,确定目标事件的根因节点和根因事件。
[0290]
在本技术实施例中,基于根因投票矩阵中的投票结果,确定目标事件的根因节点和根因事件,包括:
[0291]
基于根因投票矩阵中的投票结果,对根因投票矩阵中对应的节点事件集合进行排序,获得排序结果;
[0292]
基于排序结果中投票数量最高的前n个节点事件集合确定目标事件的根因节点和根因事件,n为正整数。
[0293]
也就是说,被选出的节点事件集合中的节点为目标事件的根因节点,节点事件集合中的事件为目标事件的根因事件。
[0294]
可选的,可以对各个节点-事件集合按照根因投票矩阵指示的投票结果从高到低的顺序进行排序,并根据需求选取top n个节点-事件集合作为根因节点-根因事件输出,以上述图16所示的第二系统拓扑图对应的根因投票矩阵为例,若选取top 1个节点-事件集合作为根因节点-根因事件输出,则确定事件类型1的根因节点为节点3,根因事件为事件类型0的事件,即节点3-事件0;若选取top 2个节点-事件集合作为根因节点-根因事件输出和,则确定事件类型1的根因节点-根因事件为节点3-事件0以及节点2-事件2。
[0295]
需要说明的是,上述仅说明了对事件类型1的根因定位过程,还可以继续实际需求对其他事件类型进行根因定位分析,分析过程与事件类型1的根因定位过程类似,此处不再赘述。
[0296]
综上所述,申请实施例提供事件因果关系识别方法,利用各个事件的事件时序信息对事件发生的节点进行系统拓扑结构信息感知,并将系统拓扑结构的感知结果融入到事件因果关系的识别过程中,充分利用了各个事件对应的采集信息,在解决了从大量事件时序信息中获取事件间因果关系的需求的同时,还解决了某些场景中由于无法提供拓扑结构信息导致算法实际应用性不佳的问题;
[0297]
进一步的,在获取到事件因果关系之后,还可以基于事件因果关系自动分析和定位事件的根因事件以及根因节点,可以提高根因排查效率。
[0298]
基于图4或图5所示实施例的相关内容,图17示出了本技术一示例性实施例提供的事件因果关系识别系统的示意图,如图17所示,该系统包括数据清洗模块1710,系统拓扑感知模块1720,事件因果知识发现模块1730以及事件根因分析模块1740;
[0299]
基于上述事件因果关系识别系统,实现流程为:
[0300]
1)获取事件时序数据(包括但不限于:事件类型、事件的发生时间、事件的结束时间、事件的持续时间、事件发生的节点);
[0301]
2)通过数据清洗模块1710对数据中的噪声事件进行清除或者合并,获取洁净数据;
[0302]
3)通过系统拓扑感知模块1720对洁净数据的拓扑结构进行感知,得到系统内部节点间的邻接关系,获得系统拓扑矩阵;
[0303]
4)通过事件因果知识发现模块1730和结合系统拓扑矩阵、清洗后的洁净数据对事件间的因果关系矩阵进行挖掘获取,获得因果关系矩阵,作为因果知识输出或者输入到事件根因分析模块1740中;
[0304]
5)通过事件根因分析模块1740执行事件根因定位过程,通过当前事件采集数据的洁净数据、系统拓扑矩阵和因果关系矩阵对事件的根因事件和节点进行定位并将定位结果输出。
[0305]
本技术提供的事件因果关系识别系统的因果挖掘准确性高,在部分场景中性能超过ttpm算法、pc算法,图18示出了基于本技术提供的事件因果关系识别系统与ttpm算法进行事件因果关系识别耗时的对比示意图,如图18所示,在事件数量相同的情况下,基于本技术提供的事件因果关系识别系统进行因果关系识别的耗时时长远低于基于ttmp算法进行因果关系识别的耗时时长,且事件数量越多,耗时降幅越明显。
[0306]
以一个网络系统告警场景中的告警数据为例,即事件为告警事件,如表5所示的网络系统告警事件的事件时序数据为例,包括的事件时序信息为:事件类型,节点id,发生时间,结束时间以及持续时间,其中告警事件类别数量=3,节点id类型数量=4。
[0307]
表5
[0308]
[0309][0310]
s2100,若设置第一次数阈值(事件低频阈值)lh=0.1%,第二次数阈值(事件高频阈值)hh=50%,服务器端读取通过终端上传的数据文件后,基于图5所示实施例提供的数据预处理方式对表5中的数据根据发生时间从小到大排序并进行数据清洗。
[0311]
数据清洗的过程包括以下方式中的至少一种:
[0312]
s2101,删除告警数据中的重复行;
[0313]
s2102,删除事件类型、节点id以及结束时间相同的行;
[0314]
s2103,合并事件类型、节点id、发生时间相邻的行;
[0315]
s2104,删除闪现行;
[0316]
s2105,根据事件低频阈值lh删除频次过低的事件对应的行,根据事件高频阈值hh删除频次过高的事件对应的行。
[0317]
经过上述数据清洗后,获得的洁净数据d如表6所示:
[0318]
表6
[0319][0320][0321]
s2200,利用洁净数据d和系统拓扑感知模块对系统的拓扑结构进行识别:
[0322]
s2201,获取洁净事件数据d,得到事件类型数量=3,节点类型数量=3,事件总行数=21。
[0323]
s2202,创建系统拓扑感知矩阵t=[3*3]。
[0324]
s2203,对洁净事件数据d根据发生时间从小到大遍历;由于已经对数据进行排序,
所以只要从上到下遍历数据即可,初始化i=0。
[0325]
s2204,选取当前事件行i,其信息为【节点id=1,发生时间=1,结束时间=15】。
[0326]
s2205,对后继发生且发生时间小于当前事件的结束时间的后续事件进行遍历(例如对于表6中的第1行事件数据,其后续事件为第2、3行),然后根据当前事件和后续事件的发生结束时间基于节点集合的邻接强度系数的计算公式计算当前事件节点与后续事件节点间的邻接强度系数adj_intensity,并根据当前事件后续事件节点id累加到系统拓扑感知矩阵相应的值中。
[0327]
s2206,i=i+1,并判断i是否大于事件总行数,如果是则输出拓扑感知矩阵t,并执行s2207,否则执行s2204。
[0328] 01208.000001.262501.9230814.786318.000004.8095222.626371.000007.00000
[0329]
拓扑感知矩阵t
[0330]
s2207,根据第一矩阵变换公式对拓扑感知矩阵进行处理的得到拓扑感知比率矩阵tr:
[0331][0332][0333]
拓扑感知比率矩阵tr
[0334]
s2208,计算获取拓扑感知比率矩阵tr的第一阈值:方差σ=2.23。
[0335]
s2209,根据第一阈值对拓扑感知比率矩阵进行二值化处理计算获取系统拓扑矩阵tt:
[0336] 01200.000000.000000.0000011.000000.000001.0000020.000000.000000.00000
[0337]
系统拓扑矩阵tt
[0338]
s2200,利用洁净数据d、系统拓扑矩阵tt、事件因果知识发现模块对事件的因果知识进行挖掘:
[0339]
s2201,洁净数据d中事件类型数量=3,创建事件因果感知矩阵c=[3*3]。
[0340]
s2202,对洁净事件数据d根据发生时间从小到大遍历,由于已经对数据进行排序,所以只要从上到下遍历数据即可,初始化i=0。
[0341]
s2203,选取当前事件行i的事件时序信息为【事件类型=0,节点id=1,发生时间=1,结束时间=15】。
[0342]
s2204,对后继发生且发生时间小于当前事件的结束时间的后续事件进行遍历(例如对于表6中的第1行事件数据,其后续事件为第2、3行),然后根据当前事件和后续事件的发生结束时间通过事件集合的因果强度系数的计算公式计算当前事件与后续事件间的因果强度系数causal_intensity,然后根据系统拓扑矩阵tt判断当前事件节点和后续事件的节点是否邻接,如果邻接则根据当前事件后续事件节点id累加到事件因果感知矩阵相应的值中,否则不累加。
[0343]
s2205,i=i+1,并判断i是否大于事件总行数,如果是则输出因果感知矩阵c,并执行s2206,否则执行s2203。
[0344] 012010.000003.591413.9952111.000006.000001.0000020.000002.591412.99521
[0345]
因果感知矩阵c
[0346]
s2206,根据第二矩阵变换公式对因果感知矩阵进行处理的得到因果感知比率矩阵cr:
[0347] 01200.000002.591412.9952110.000000.000000.0000020.000000.000000.00000
[0348]
因果感知比率矩阵cr
[0349]
s2207,计算获取因果感知比率矩阵cr的方差σ=1.04。
[0350]
s2208,根据第二阈值对因果感知比率矩阵进行二值化处理计算获取因果关系矩阵ct:
[0351] 01200.000001.000001.0000010.000000.000000.0000020.000000.000000.00000
[0352]
因果关系矩阵ct
[0353]
将因果关系矩阵ct输出。
[0354]
若需进一步进行事件的根因节点-根因事件定位,则基于洁净数据d,系统拓扑矩阵tt以及因果关系矩阵ct进一步进行根因定位分析。
[0355]
以下以一个新的实施例对根因定位过程进行说明:
[0356]
s2300,利用事件因果关系矩阵ct、系统拓扑矩阵tt、事件根因分析模块对指定事件的根因进行定位:
[0357]
s2301,接收用户上传的事件时序序列数据文件,如表7所示:
[0358]
表7
[0359]
事件类型节点id发生时间结束时间持续时间011109
123118204.5138.5105138216148
[0360]
s2302,对上述事件时序序列数据进行清洗得到洁净数据(与表7所示数据相同),节点数量=3,告警数量=3。
[0361]
s2303,创建根因投票矩阵v=3*3:
[0362]
事件\节点123000010002000
[0363]
根因投票矩阵v
[0364]
s2304,根据系统拓扑矩阵tt创建系统拓扑有向图g1,并将洁净数据中每一条事件数据存放到其相应的节点中,得到系统事件拓扑图g2,图19示出了本技术一示例性实施例提供的系统事件拓扑图g2的示意图。
[0365]
s2305,分析事件类型1的根因。
[0366]
s2306,包含事件类型1的节点集合n={0,2}。
[0367]
s2307,设置游走初始节点=节点0,果事件=事件1。
[0368]
s2308,根据系统拓扑矩阵tt获取游走初始节点的父节点,图19中为节点1,如果没有父节点则执行s2312。
[0369]
s2309,获取父节点中的事件集合,图19中为事件{0,2}。
[0370]
s2310,遍历父节点中事件与初始节点的果事件是否具有合法的因果关系,图19中节点1中的事件0先于节点0的事件1发生,先于节点0的事件1结束,并且因果关系矩阵ct[0,1]=1,节点1中的事件0对节点0的事件1具有合法的因果性,所以根因投票矩阵v[0,1]累加1。而节点0的事件1先于节点1的事件2发生,不是节点1的事件2的后续事件,不具有对节点0的事件1具有合法的因果性,所以不进行投票识别。
[0371]
s2311,重新设置游走初始节点=节点1,果事件=事件0,执行s2308。
[0372]
s2312,节点集合n是否遍历完毕,如果遍历完毕则跳转到s2313执行,否则将其余节点设置为游走初始节点,果事件=分析事件类型,并跳转到s2308继续执行。
[0373]
s2313,输出根因投票矩阵v:
[0374][0375][0376]
根因投票矩阵v
[0377]
s2314,对所有节点-事件集合的投票结果进行从高到低排序,并根据需求取top1
个节点-事件集合作为根因节点-根因事件输出,上述根因投票矩阵v中节点1为根因节点,其中的事件0为根因事件。
[0378]
s2315,将根因节点、根因事件定位结果反馈给用户。
[0379]
在网络系统告警场景中,通过上述方法可以快速排查造成告警事件的根因节点以及根因事件,为系统故障排查提供基础,便于相关技术人员进行告警事件的处理,降低人力资源消耗。
[0380]
图20示出了本技术一示例性实施例提供的事件因果关系识别装置的方框图,该事件因果关系识别装置可以执行如图4或图5所示实施例的全部或部分步骤,如图20所示,该装置包括:
[0381]
信息获取模块2010,用于获取各个事件的事件时序信息,所述事件时序信息用于表示事件的事件属性以及事件的时间属性;
[0382]
拓扑结构感知模块2020,用于基于各个事件的所述事件时序信息感知节点间的系统拓扑结构,获得系统拓扑矩阵,所述系统拓扑矩阵用于表征事件发生的节点之间的邻接情况;
[0383]
因果关系识别模块2030,用于基于所述系统拓扑矩阵以及各个事件的所述事件时序信息识别事件间的因果关系,获得因果关系矩阵,所述因果关系矩阵用于指示各个事件之间的因果关系。
[0384]
在一种可能的实现方式中,所述事件属性包括事件类型以及事件发生的节点,所述时间属性包括事件的发生时间以及事件的结束时间。
[0385]
在一种可能的实现方式中,所述因果关系识别模块2030,包括:
[0386]
第一类型确定子模块,用于按照所述各个事件的发生时间的先后顺序,确定至少一个事件集合类型,每个事件集合类型下包含至少一个事件集合;所述事件集合是由发生时间相邻的两个事件组成的集合;
[0387]
第一系数计算子模块,用于基于所述系统拓扑矩阵以及各个事件的所述事件时序信息,计算所述至少一个事件集合类型各自对应的累加因果强度系数;所述累加因果强度系数是一个所述事件集合类型下的至少一个事件集合各自的因果强度系数的累加值,所述因果强度系数用于表征所述事件集合中的两个事件在持续过程中的因果关系程度;
[0388]
第一矩阵生成子模块,用于于所述至少一个事件集合类型各自对应的所述累加因果强度系数,生成所述因果关系矩阵。
[0389]
在一种可能的实现方式中,所述第一系数计算子模块,用于,
[0390]
在所述系统拓扑矩阵指示发生第一事件的第一节点与发生第二事件的第二节点之间具有邻接关系时,从各个事件的所述事件时序信息中获取所述第一事件的第一发生时间与第一结束时间、所述第二事件的第二发生时间与第二结束时间;所述第一事件与所述第二事件是目标事件集合中先后发生的两个事件;所述目标事件集合是目标事件集合类型下包含的所述至少一个事件集合中的任意一个;所述目标事件集合类型是至少一个事件集合类型中的任意一个;
[0391]
将第一差值与第二差值之间的比值获取为所述目标事件集合的所述因果强度系数;所述第一差值为所述第一结束时间与所述第二发生时间之间的差值,所述第二差值为所述第二结束时间与所述第一发生时间之间的差值;
[0392]
将所述目标事件集合的所述因果强度系数累加到所述目标事件集合类型的所述累加因果强度系数中。
[0393]
在一种可能的实现方式中,所述第一系数计算子模块,用于在所述系统拓扑矩阵指示发生所述第一事件的所述第一节点与发生所述第二事件的所述第二节点之间不具有邻接关系时,确定所述第一节点中发生的所述第一事件与在所述第二节点中发生的所述第二事件对应的所述因果强度系数为0。
[0394]
在一种可能的实现方式中,所述第一矩阵生成子模块,用于,
[0395]
基于所述至少一个事件集合类型的所述累加因果强度系数,构建因果感知矩阵;所述因果感知矩阵中的行用于表示因事件类型,所述因果感知矩阵中的列用于表示果事件类型;所述因事件类型的事件的发生时间早于所述果事件类型的事件的发生时间;
[0396]
基于所述因果感知矩阵生成因果感知比率矩阵;所述因果感知比率矩阵用于表征所述至少一个事件集合类型的因果关系程度;
[0397]
基于第一阈值对所述因果感知比率矩阵进行二值化处理,生成所述因果关系矩阵。
[0398]
在一种可能的实现方式中,所述拓扑结构感知模块2020,包括:
[0399]
第二类型确定子模块,用于按照各个事件的发生时间的先后顺序,基于各个事件发生的节点确定至少一个节点集合类型,每个节点集合类型下包含至少一个节点集合;所述节点集合是发生时间相邻的两个事件各自所处的节点组成的集合;
[0400]
第二系数计算子模块,用于基于各个事件的所述事件时序信息,计算至少一个节点集合类型各自对应的累加邻接强度系数;所述累加邻接强度系数是一个所述节点集合类型下的至少一个节点集合的邻接强度系数的累加值,所述邻接强度系数用于表征两个节点的邻接关系程度;
[0401]
第二矩阵生成子模块,用于基于至少一个节点集合类型各自对应的所述累加邻接强度系数,生成所述系统拓扑矩阵。
[0402]
在一种可能的实现方式中,所述第二系数计算子模块,用于,
[0403]
从各个事件的所述事件时序信息中获取第三节点中发生的第三事件的第三发生时间与第三结束时间、第四节点中发生的第四事件的第四发生时间与第四结束时间;所述第三节点与所述第四节点是目标节点集合中的两个节点,所述第三节点对应的所述第三发生时间早于所述第四节点对应的所述第四发生时间;所述目标节点集合是目标节点集合类型下包含的至少一个节点集合中的任意一个,所述目标节点集合类型是至少一个节点集合类型中的任意一个;
[0404]
将第三差值与第四差值之间的比值获取为所述目标节点集合的所述邻接强度系数;所述第三差值为所述第三结束时间与所述第四发生时间之间的差值,所述第四差值为所述第四结束时间与所述第三发生时间之间的差值;
[0405]
将所述目标节点集合的所述邻接强度系数累加到所述目标节点集合类型的所述累加邻接强度系数中。
[0406]
在一种可能的实现方式中,所述第二矩阵生成子模块,用于,
[0407]
基于至少一个节点集合类型的所述累加邻接强度系数,构建拓扑感知矩阵;所述拓扑感知矩阵的行用于表示源节点、所述拓扑感知矩阵的列用于表示目标节点;所述源节
点中的事件的发生时间早于所述目标节点中的事件的发生时间;
[0408]
基于所述拓扑感知矩阵生成拓扑感知比率矩阵;所述拓扑感知比率矩阵用于指示至少一个节点集合类型的邻接关系程度;
[0409]
基于第二阈值对所述拓扑感知比率矩阵进行二值化处理,生成所述系统拓扑矩阵。
[0410]
在一种可能的实现方式中,所述信息获取模块2010,包括:
[0411]
数据集获取子模块,用于获取事件采集数据集;所述事件采集数据集中包含多个事件的所述事件时序信息对应的事件采集数据;
[0412]
排序子模块,用于根据各个事件的发生时间对所述事件采集数据集中的数据进行排序处理;
[0413]
数据预处理子模块,用于基于排序处理后的顺序,对所述事件采集数据集进行数据预处理,获得数据预处理后的各个事件的所述事件时序信息。
[0414]
在一种可能的实现方式中,在所述排序处理为升序处理的情况下,所述对所述事件采集数据集进行数据预处理包括以下至少一种:
[0415]
删除与上一事件采集数据重复的事件采集数据;
[0416]
删除与上一事件采集数据对应的发生时间之间的差值小于第一差值阈值、且结束时间、事件发生的节点以及事件类型均相同的事件采集数据;
[0417]
合并事件的发生时间之间的差值小于第二差值阈值,事件发生的节点以及事件类型均相同多个事件采集数据;合并后的事件采集数据对应的发生时间为多个事件采集数据中最早的发生时间,合并后的事件采集数据对应的结束时间为多个事件采集数据中最晚的结束时间;
[0418]
删除闪现数据,所述闪现数据是结束时间与发生时间之间的时间差小于第三差值阈值的事件采集数据;
[0419]
删除低频次数据和/或高频次数据,所述低频次数据是指所述事件采集数据集中出现次数低于第一次数阈值的事件类型对应的事件采集数据,所述高频次数据是指所述事件采集数据集中出现次数高于第二次数阈值的事件类型对应的事件采集数据。
[0420]
在一种可能的实现方式中,所述装置还包括:
[0421]
根因定位模块,用于基于所述系统拓扑矩阵、所述因果关系矩阵以及各个事件的所述事件时序信息进行根因定位,获得目标事件的根因节点和根因事件;所述目标事件是各个事件中待进行事件根因定位分析的事件。
[0422]
在一种可能的实现方式中,所述根因定位模块,包括:
[0423]
矩阵创建子模块,用于创建所述目标事件的根因投票矩阵,所述根因投票矩阵的行用于表示事件类型,所述根因投票矩阵的列用于表示事件发生的节点;
[0424]
第一图创建子模块,用于根据所述系统拓扑矩阵创建第一系统拓扑有向图,所述第一系统拓扑有向图中包含节点以及有向边,所述有向边用于指示节点之间的数据流关系或服务调用关系;
[0425]
第二图创建子模块,用于将各个事件的事件时序信息存放到相应的节点中,得到第二系统拓扑有向图;
[0426]
集合获取子模块,用于获取目标节点集合,所述目标节点集合中的各个目标节点
均为发生目标事件类型的事件的节点;
[0427]
投票子模块,用于依次以所述目标节点集合中的所述目标节点为起始节点,根据所述因果关系矩阵以及所述第二系统拓扑有向图执行至少一次游走投票,并将所述至少一次游走投票的投票结果写入所述根因投票矩阵;
[0428]
根因定位子模块,用于基于所述根因投票矩阵中的所述投票结果,确定所述目标事件的根因节点和根因事件。
[0429]
在一种可能的实现方式中,所述投票子模块,用于,
[0430]
获取当前分析节点下的分析事件;
[0431]
基于所述第二系统拓扑有向图,获取当前分析节点的父节点集合,所述父节点集合中包含至少一个父节点,父节点与所述当前分析节点之间的所述有向边的方向由父节点指向所述当前分析节点;
[0432]
向所述当前分析节点的所述父节点集合中的父节点进行等概率随机游走;
[0433]
若基于所述因果关系矩阵确定游走节点中存在与所述当前分析节点下的分析事件具有因果关系的匹配事件,在所述根因投票矩阵中对所述游走节点下的所述匹配事件进行累加投票;所述游走节点是当前随机游走到的父节点;
[0434]
将所述游走节点下的所述匹配事件获取为新的当前分析节点下的分析事件;
[0435]
重复上述过程,直至所述游走节点中不存在所述匹配事件,或者,所述游走节点不具有父节点;
[0436]
其中,在当前分析节点为起始节点时,所述当前分析节点是所述目标节点集合中的所述目标节点中的任意一个。
[0437]
在一种可能的实现方式中,根因定位子模块,用于,
[0438]
基于所述根因投票矩阵中的所述投票结果,对所述根因投票矩阵中对应的节点事件集合进行排序,获得排序结果;
[0439]
基于所述排序结果中所述投票数量最高的前n个节点事件集合确定所述目标事件的根因节点和根因事件,n为正整数。
[0440]
综上所述,本技术实施例提供事件因果关系识别装置,利用各个事件的事件时序信息对事件发生的节点进行系统拓扑结构信息感知,并将系统拓扑结构的感知结果融入到事件因果关系的识别过程中,充分利用了各个事件对应的采集信息,在解决了从大量事件时序信息中获取事件间因果关系的需求的同时,还解决了某些场景中由于无法提供拓扑结构信息导致算法实际应用性不佳的问题。
[0441]
在一示例性实施例中,提供了一种计算机设备,该计算机设备可以实现为本技术中的目标设备,或者,外部监控设备,或者,远程控制设备;该计算机设备包括处理器核存储器,该存储器存储有至少一条计算机程序,该至少一条计算机程序由处理器加载并执行以实现上述事件因果关系识别方法的全部或部分步骤。
[0442]
在一示例性实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条计算机程序,该计算机程序由处理器加载并执行以实现上述事件因果关系识别方法中的全部或部分步骤。例如,该计算机可读存储介质可以是只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、只读光盘(compact disc read-only memory,cd-rom)、磁带、软盘和光数据存储设备等。
[0443]
在一示例性实施例中,还提供了一种计算机程序产品,该计算机程序产品包括至少一条计算机程序,该计算机程序由处理器加载并执行上述图4或图5任一实施例所示的事件因果关系识别方法的全部或部分步骤。
[0444]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本技术的真正范围和精神由权利要求指出。
[0445]
应当理解的是,本技术并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本技术的范围仅由所附的权利要求来限制。

技术特征:
1.一种事件因果关系识别方法,其特征在于,所述方法包括:获取各个事件的事件时序信息,所述事件时序信息用于表示事件的事件属性以及事件的时间属性;基于各个事件的所述事件时序信息感知节点间的系统拓扑结构,获得系统拓扑矩阵,所述系统拓扑矩阵用于表征事件发生的节点之间的邻接情况;基于所述系统拓扑矩阵以及各个事件的所述事件时序信息识别事件间的因果关系,获得因果关系矩阵,所述因果关系矩阵用于指示各个事件之间的因果关系。2.根据权利要求1所述的方法,其特征在于,所述事件属性包括事件类型以及事件发生的节点,所述时间属性包括事件的发生时间以及事件的结束时间。3.根据权利要求1所述的方法,其特征在于,所述基于所述系统拓扑矩阵以及各个事件的所述事件时序信息识别事件间的因果关系,获得因果关系矩阵,包括:按照所述各个事件的发生时间的先后顺序,确定至少一个事件集合类型,每个事件集合类型下包含至少一个事件集合;所述事件集合是由发生时间相邻的两个事件组成的集合;基于所述系统拓扑矩阵以及各个事件的所述事件时序信息,计算所述至少一个事件集合类型各自对应的累加因果强度系数;所述累加因果强度系数是一个所述事件集合类型下的至少一个事件集合各自的因果强度系数的累加值,所述因果强度系数用于表征所述事件集合中的两个事件在持续过程中的因果关系程度;基于所述至少一个事件集合类型各自对应的所述累加因果强度系数,生成所述因果关系矩阵。4.根据权利要求3所述的方法,其特征在于,所述基于所述系统拓扑矩阵以及各个事件的所述事件时序信息,计算所述至少一个事件集合类型各自对应的累加因果强度系数,包括:在所述系统拓扑矩阵指示发生第一事件的第一节点与发生第二事件的第二节点之间具有邻接关系时,从各个事件的所述事件时序信息中获取所述第一事件的第一发生时间与第一结束时间、所述第二事件的第二发生时间与第二结束时间;所述第一事件与所述第二事件是目标事件集合中先后发生的两个事件;所述目标事件集合是目标事件集合类型下包含的所述至少一个事件集合中的任意一个;所述目标事件集合类型是所述至少一个事件集合类型中的任意一个;将第一差值与第二差值之间的比值获取为所述目标事件集合的所述因果强度系数;所述第一差值为所述第一结束时间与所述第二发生时间之间的差值,所述第二差值为所述第二结束时间与所述第一发生时间之间的差值;将所述目标事件集合的所述因果强度系数累加到所述目标事件集合类型的所述累加因果强度系数中。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:在所述系统拓扑矩阵指示发生所述第一事件的所述第一节点与发生所述第二事件的所述第二节点之间不具有邻接关系时,确定所述第一节点中发生的所述第一事件与在所述第二节点中发生的所述第二事件对应的所述因果强度系数为0。6.根据权利要求3所述的方法,其特征在于,所述基于所述至少一个事件集合类型各自
对应的所述累加因果强度系数,生成所述因果关系矩阵,包括:基于所述至少一个事件集合类型的所述累加因果强度系数,构建因果感知矩阵;所述因果感知矩阵中的行用于表示因事件类型,所述因果感知矩阵中的列用于表示果事件类型;所述因事件类型的事件的发生时间早于所述果事件类型的事件的发生时间;基于所述因果感知矩阵生成因果感知比率矩阵;所述因果感知比率矩阵用于表征所述至少一个事件集合类型的因果关系程度;基于第一阈值对所述因果感知比率矩阵进行二值化处理,生成所述因果关系矩阵。7.根据权利要求1所述的方法,其特征在于,所述基于各个事件的所述事件时序信息感知节点间的系统拓扑结构,获得系统拓扑矩阵,包括:按照各个事件的发生时间的先后顺序,基于各个事件发生的节点确定至少一个节点集合类型,每个节点集合类型下包含至少一个节点集合;所述节点集合是发生时间相邻的两个事件各自所处的节点组成的集合;基于各个事件的所述事件时序信息,计算至少一个节点集合类型各自对应的累加邻接强度系数;所述累加邻接强度系数是一个所述节点集合类型下的至少一个节点集合的邻接强度系数的累加值,所述邻接强度系数用于表征两个节点的邻接关系程度;基于至少一个节点集合类型各自对应的所述累加邻接强度系数,生成所述系统拓扑矩阵。8.根据权利要求7所述的方法,其特征在于,所述基于各个事件的所述事件时序信息,计算至少一个节点集合类型各自对应的累加邻接强度系数,包括:从各个事件的所述事件时序信息中获取第三节点中发生的第三事件的第三发生时间与第三结束时间、第四节点中发生的第四事件的第四发生时间与第四结束时间;所述第三节点与所述第四节点是目标节点集合中的两个节点,所述第三节点对应的所述第三发生时间早于所述第四节点对应的所述第四发生时间;所述目标节点集合是目标节点集合类型下包含的至少一个节点集合中的任意一个,所述目标节点集合类型是至少一个节点集合类型中的任意一个;将第三差值与第四差值之间的比值获取为所述目标节点集合的所述邻接强度系数;所述第三差值为所述第三结束时间与所述第四发生时间之间的差值,所述第四差值为所述第四结束时间与所述第三发生时间之间的差值;将所述目标节点集合的所述邻接强度系数累加到所述目标节点集合类型的所述累加邻接强度系数中。9.根据权利要求7所述的方法,其特征在于,所述基于至少一个节点集合类型各自对应的所述累加邻接强度系数,生成所述系统拓扑矩阵,包括:基于至少一个节点集合类型的所述累加邻接强度系数,构建拓扑感知矩阵;所述拓扑感知矩阵的行用于表示源节点、所述拓扑感知矩阵的列用于表示目标节点;所述源节点中的事件的发生时间早于所述目标节点中的事件的发生时间;基于所述拓扑感知矩阵生成拓扑感知比率矩阵;所述拓扑感知比率矩阵用于指示至少一个节点集合类型的邻接关系程度;基于第二阈值对所述拓扑感知比率矩阵进行二值化处理,生成所述系统拓扑矩阵。10.根据权利要求2所述的方法,其特征在于,所述获取各个事件的事件时序信息,包
括:获取事件采集数据集;所述事件采集数据集中包含多个事件的所述事件时序信息对应的事件采集数据;根据各个事件的发生时间对所述事件采集数据集中的数据进行排序处理;基于排序处理后的顺序,对所述事件采集数据集进行数据预处理,获得数据预处理后的各个事件的所述事件时序信息。11.根据权利要求10所述的方法,其特征在于,在所述排序处理为升序处理的情况下,所述对所述事件采集数据集进行数据预处理包括以下至少一种:删除与上一事件采集数据重复的事件采集数据;删除与上一事件采集数据对应的发生时间之间的差值小于第一差值阈值、且结束时间、事件发生的节点以及事件类型均相同的事件采集数据;合并事件的发生时间之间的差值小于第二差值阈值,事件发生的节点以及事件类型均相同多个事件采集数据;合并后的事件采集数据对应的发生时间为多个事件采集数据中最早的发生时间,合并后的事件采集数据对应的结束时间为多个事件采集数据中最晚的结束时间;删除闪现数据,所述闪现数据是结束时间与发生时间之间的时间差小于第三差值阈值的事件采集数据;删除低频次数据和/或高频次数据,所述低频次数据是指所述事件采集数据集中出现次数低于第一次数阈值的事件类型对应的事件采集数据,所述高频次数据是指所述事件采集数据集中出现次数高于第二次数阈值的事件类型对应的事件采集数据。12.根据权利要求1所述的方法,其特征在于,所述方法还包括:基于所述系统拓扑矩阵、所述因果关系矩阵以及各个事件的所述事件时序信息进行根因定位,获得目标事件的根因节点和根因事件;所述目标事件是各个事件中待进行事件根因定位分析的事件。13.根据权利要求12所述的方法,其特征在于,所述基于所述系统拓扑矩阵、所述因果关系矩阵以及各个事件的所述事件时序信息进行根因定位,获得目标事件的根因节点和根因事件,包括:创建所述目标事件的根因投票矩阵,所述根因投票矩阵的行用于表示事件类型,所述根因投票矩阵的列用于表示事件发生的节点;根据所述系统拓扑矩阵创建第一系统拓扑有向图,所述第一系统拓扑有向图中包含节点以及有向边,所述有向边用于指示节点之间的数据流关系或服务调用关系;将各个事件的事件时序信息存放到相应的节点中,得到第二系统拓扑有向图;获取目标节点集合,所述目标节点集合中的各个目标节点均为发生目标事件类型的事件的节点;依次以所述目标节点集合中的所述目标节点为起始节点,根据所述因果关系矩阵以及所述第二系统拓扑有向图执行至少一次游走投票,并将所述至少一次游走投票的投票结果写入所述根因投票矩阵;基于所述根因投票矩阵中的所述投票结果,确定所述目标事件的根因节点和根因事件。
14.根据权利要求13所述的方法,其特征在于,所述依次以所述目标节点集合中的所述目标节点为起始节点,根据所述因果关系矩阵以及所述第二系统拓扑有向图执行至少一次游走投票,并将所述至少一次游走投票的结果写入所述根因投票矩阵,包括:获取当前分析节点下的分析事件;基于所述第二系统拓扑有向图,获取当前分析节点的父节点集合,所述父节点集合中包含至少一个父节点,父节点与所述当前分析节点之间的所述有向边的方向由父节点指向所述当前分析节点;向所述当前分析节点的所述父节点集合中的父节点进行等概率随机游走;若基于所述因果关系矩阵确定游走节点中存在与所述当前分析节点下的分析事件具有因果关系的匹配事件,在所述根因投票矩阵中对所述游走节点下的所述匹配事件进行累加投票;所述游走节点是当前随机游走到的父节点;将所述游走节点下的所述匹配事件获取为新的当前分析节点下的分析事件;重复上述过程,直至所述游走节点中不存在所述匹配事件,或者,所述游走节点不具有父节点;其中,在当前分析节点为起始节点时,所述当前分析节点是所述目标节点集合中的所述目标节点中的任意一个。15.根据权利要求13所述的方法,其特征在于,所述基于所述根因投票矩阵中的所述投票结果,确定所述目标事件的根因节点和根因事件,包括:基于所述根因投票矩阵中的所述投票结果,对所述根因投票矩阵中对应的节点事件集合进行排序,获得排序结果;基于所述排序结果中所述投票数量最高的前n个节点事件集合确定所述目标事件的根因节点和根因事件,n为正整数。16.一种事件因果关系识别装置,其特征在于,所述装置包括:信息获取模块,用于获取各个事件的事件时序信息,所述事件时序信息用于表示事件的事件属性以及事件的时间属性;拓扑结构感知模块,用于基于各个事件的所述事件时序信息感知节点间的系统拓扑结构,获得系统拓扑矩阵,所述系统拓扑矩阵用于表征事件发生的节点之间的邻接情况;因果关系识别模块,用于基于所述系统拓扑矩阵以及各个事件的所述事件时序信息识别事件间的因果关系,获得因果关系矩阵,所述因果关系矩阵用于指示各个事件之间的因果关系。17.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器存储有至少一条计算机程序,所述至少一条计算机程序由所述处理器加载并执行以实现如权利要求1至15任一所述的事件因果关系识别方法。18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条计算机程序,所述计算机程序由处理器加载并执行以实现如权利要求1至15任一所述的事件因果关系识别方法。

技术总结
本申请是关于一种事件因果关系识别方法、装置、设备及存储介质,涉及大数据知识挖掘技术领域。该方法包括:获取各个事件的事件时序信息,该事件时序信息用于表示事件的事件属性以及事件的时间属性;基于各个事件的事件时序信息感知节点间的系统拓扑结构,获得系统拓扑矩阵,该系统拓扑矩阵用于表征事件发生的节点之间的邻接情况;基于系统拓扑矩阵以及各个事件的事件时序信息识别事件间的因果关系,获得因果关系矩阵,该因果关系矩阵用于指示各个事件之间的因果关系。通过上述方法,可以在解决从大量事件时序信息中获取事件间因果关系的需求的同时,还可以解决某些场景中由于无法提供拓扑结构信息导致算法实际应用性不佳的问题。题。题。


技术研发人员:弄庆鹏 屠要峰 高洪 何荣荣 周祥生
受保护的技术使用者:中兴通讯股份有限公司
技术研发日:2023.05.11
技术公布日:2023/8/23
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐