CN113742116A - 一种异常定位方法及装置、设备、存储介质 - Google Patents

一种异常定位方法及装置、设备、存储介质 Download PDF

Info

Publication number
CN113742116A
CN113742116A CN202011363101.7A CN202011363101A CN113742116A CN 113742116 A CN113742116 A CN 113742116A CN 202011363101 A CN202011363101 A CN 202011363101A CN 113742116 A CN113742116 A CN 113742116A
Authority
CN
China
Prior art keywords
abnormal
generalized
clustering
information
abstract
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202011363101.7A
Other languages
English (en)
Inventor
崔井利
李俊涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jingdong Century Trading Co Ltd
Beijing Wodong Tianjun Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Wodong Tianjun Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Jingdong Century Trading Co Ltd, Beijing Wodong Tianjun Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN202011363101.7A priority Critical patent/CN113742116A/zh
Publication of CN113742116A publication Critical patent/CN113742116A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请实施例公开了一种异常定位方法,所述方法包括:获取上报的至少两条异常事件中每一异常事件的异常信息;根据各异常信息,将所述至少两条异常事件聚类为异常事件组,并确定各异常事件组对应的异常摘要;所述异常事件组至少包括一条所述异常事件。另外,本申请实施例还公开了一种异常定位装置、设备及存储介质。

Description

一种异常定位方法及装置、设备、存储介质
技术领域
本申请实施例涉及计算机技术领域,涉及但不限于一种异常定位方法及装置、设备、存储介质。
背景技术
移动终端在操作系统中会出现各种异常,当移动终端将异常所产生的异常信息上报给服务端后,由工作人员对所有的异常信息逐条进行过滤,并逐条定位各异常信息的问题,并针对定位出的问题对异常进行逐条修复。因此,异常定位的效率低,问题的修复效率低。
发明内容
有鉴于此,本申请实施例为解决相关技术中存在的至少一个问题而提供一种异常定位方法及装置、设备、存储介质,能够将具有共性的异常信息进行合并,减少工作人员的过滤范围,提高问题定位的效率。
本申请实施例的技术方案是这样实现的:
第一方面,本申请实施例提供一种异常定位方法,所述方法包括:
获取上报的至少两条异常事件中每一异常事件的异常信息;
根据各异常信息,将所述至少两条异常事件聚类为异常事件组,并确定各异常事件组对应的异常摘要;所述异常事件组至少包括一条所述异常事件。
第二方面,本申请实施例提供一种异常定位装置,所述装置包括:
获取单元,用于获取上报的至少两条异常事件中每一异常事件的异常信息;
聚类单元,用于根据各异常信息,将所述至少两条异常事件聚类为异常事件组,并确定各异常事件组对应的异常摘要;所述异常事件组至少包括一条所述异常事件。
第三方面,本申请实施例提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述异常定位方法中的步骤。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述异常定位方法中的步骤。
本申请实施例中,提供了一种异常定位方法,获取上报的至少两条异常事件中每一异常事件的异常信息;根据各异常信息,将所述至少两条异常事件聚类为异常事件组,并确定各异常事件组对应的异常摘要;所述异常事件组至少包括一条所述异常事件;从而将具有共性的异常信息划分至同一异常事件组,并输出各异常事件组的异常摘要,通过异常摘要对异常进行定位,实现异常信息的批量定位和批量修复,减小工作人员的过滤范围,提高问题定位的效率。
附图说明
图1为本申请实施例网络架构示意图;
图2为本申请实施例提供的异常定位方法的可选地流程示意图;
图3为本申请实施例提供的异常定位方法中聚类的可选地流程示意图;
图4为本申请实施例提供的异常定位方法的可选地流程示意图;
图5为本申请实施例提供的异常定位方法的可选地流程示意图;
图6为本申请实施例提供的异常定位方法的可选地流程示意图;
图7为本申请实施例提供的异常定位方法的可选地流程示意图;
图8为本申请实施例提供的泛化层次结构的可选地示意图;
图9为本申请实施例提供的泛化层次结构的可选地示意图;
图10为本申请实施例提供的异常定位装置的可选地结构示意图;
图11为本申请实施例提供的电子设备的可选地结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对申请的具体技术方案做进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。
本申请实施例可提供为异常定位方法及装置、设备和存储介质。实际应用中,异常定位方法可由异常定位装置实现,异常定位装置中的各功能实体可以由计算机设备(如服务器或服务器集群)的硬件资源,如处理器等计算资源、通信资源(如用于支持实现光缆、蜂窝等各种方式通信)协同实现。
本申请实施例的异常定位方法可应用于图1所示的异常定位系统,如图1所示,该异常定位系统包括客户端10和服务端20;其中,客户端10中安装有能够上报异常事件的异常上报应用程序,当客户端中发生异常事件时,异常上报应用程序收集异常事件的异常信息,并将收集的异常事件的异常信息上报至服务端20。服务端20能够接收客户端10上报的异常事件的异常信息,并对上报的异常信息进行分析,确定异常事件发生的原因,并对移动终端的进行修复。客户端10和服务端20之间通过网络30进行交互。
服务端20可实施为实现异常定位方法的异常定位装置。服务端20获取上报的至少两条异常事件中每一异常事件的异常信息;根据各异常信息,将所述至少两条异常事件聚类为异常事件组,并确定各异常事件组对应的异常摘要;所述异常事件组至少包括一条所述异常事件。
结合图1所示的应用场景示意图,本实施例提出一种异常定位方法,能够基于异常事件的异常信息对异常信息进行聚类。
下面,结合图1所示的异常定位系统的示意图,对本申请实施例提供的异常定位方法、装置、设备和存储介质的各实施例进行说明。
本实施例提供一种异常定位方法,该方法应用于异常定位设备,异常定位设备可为服务端,其中,服务端可为计算机设备或计算机设备组成的分布式网络。该方法所实现的功能可以通过计算机设备中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,该计算机设备至少包括处理器和存储介质。
图2为本申请实施例的一种异常定位方法的实现流程示意图,如图2所示,该方法可以包括如下步骤:
S201、获取上报的至少两条异常事件中每一异常事件的异常信息;
客户端监控所否存在异常事件,当存在异常事件,通过安装的软件开发工具包(Software Development Kit,SDK)收集异常事件的异常信息,其中,异常事件的异常信息可包括:异常堆栈、操作流程、机型、系统版本、系统内核等多种属性。
本申请实施例中的异常信息可包括客户端的机型、系统版本、系统内核等静态信息,还可包括与异常相关的异常堆栈、操作流程等动态信息。因此,本申请实施例中的异常信息,不仅能够体现异常事件的外在表现,更能够体现出异常事件与客户端的设备之间的内在关系。
客户端将收集到的异常事件的异常信息上报至服务端,服务端收集客户端上报的异常信息。这里,服务端中可设置异常信息库,并将接收到的异常信息添加到异常信息库中。
当服务端中异常信息库中的异常信息的数量达到设定的数量阈值时,服务端获取异常信息库中异常事件的异常信息,以对异常信息库中的异常信息进行聚类。
在实际应用中,当服务端对一异常事件的异常信息进行聚类后,可将该异常信息从异常信息库中删除。
S202、根据各异常信息,将所述至少两条异常事件聚类为异常事件组,并确定各异常事件组对应的异常摘要。
所述异常事件组至少包括一条所述异常事件。
这里,服务端在获取各异常事件的异常信息后,根据异常事件的异常信息,对所获取的异常事件进行聚类,将所获取的异常事件划分为至少一个异常事件组,其中,一个异常事件组内的异常事件存在共性。
本申请实施例中,对异常事件进行聚类的算法可以分为划分法、层次法、基于密度的方法、基于网格的方法、基于模型的方法等,本申请实施例对聚类所采用的算法不进行任何限定。
在一些实施例中,服务端对异常事件进行聚类的方式包括以下至少之一:
聚类方式一:通过异常事件的异常信息之间的距离进行聚类;
聚类方式二:通过泛化层次结果对异常事件进行聚类。
在聚类方式一中,可基于异常事件的异常信息,将异常事件映射至特征空间中,将距离在一定范围内的异常事件划分至一个异常事件组。这里,可通过k均值聚类、均值漂移聚类、凝聚层次聚类等算法对多个异常信息进行聚类。
在一示例中,对聚类后的每个异常事件组,可选取其中一个异常事件作为该异常事件组的参考异常事件,并基于参考异常事件确定该异常事件组的异常摘要;
在一示例中,对聚类后的每个异常事件组,以异常事件组为单位,将异常事件组中各异常事件的异常信息输入摘要确定模型,并得到摘要模型输出的该异常事件组的异常摘要。其中,摘要确定模型可通过训练数据训练得到。
在聚类方式二中,将异常事件作为泛化对象,并将异常事件的异常信息作为泛化对象的属性,根据各泛化对象的属性对所有的泛化对象进行至少一个层次的泛化,泛化出抽象特征,并将泛化为同一抽象特征的异常事件划分至同一异常事件组,从而对异常事件进行聚类。
通过泛化层次结构对异常事件进行聚类时,对于划分至同一异常事件组的异常事件,可将该异常事件组泛化的抽象特征作为该异常事件组的异常摘要。
在一示例中,异常事件包括:事件1至事件10,异常信息包括:信息1、信息2、信息3、信息4……信息10,通过泛化层次结构的聚类,信息1、信息5、信息9泛化为抽象特征1,信息2泛化为抽象特征2,信息3、信息4、信息7和信息10泛化为抽象特征3,信息6和信息8泛化为抽象特征4,则事件1、事件5、事件9划分至异常事件组1,且异常事件组1的异常摘要为抽象特征1;事件2划分至异常事件组2,且异常事件组2的异常摘要为抽象特征2;事件3、事件4、事件7和事件10划分至异常事件组3,且异常事件组3的异常摘要为抽象特征3;事件6和事件8划分至异常事件组4,且异常事件组4的异常摘要为抽象特征4。
本申请实施例提供的异常定位方法,获取上报的至少两条异常事件中每一异常事件的异常信息;根据各异常信息,将所述至少两条异常事件聚类为异常事件组,并确定各异常事件组对应的异常摘要;所述异常事件组至少包括一条所述异常事件;从而将具有共性的异常信息划分至同一异常事件组,并输出各异常事件组的异常摘要,通过异常摘要对异常进行定位,实现异常信息的批量定位和批量修复,减小工作人员的过滤范围,提高问题定位的效率。
在一些实施例中,S202的实施包括:以所述异常事件为泛化对象,以所述异常事件的异常信息为所述泛化对象的属性,根据所述至少两个泛化对象的属性,将所述至少两个泛化对象进行泛化,得到抽象特征;在所述抽象特征不满足聚类停止条件的情况下,将所述泛化对象替换为所述抽象特征,继续对所述泛化对象进行泛化;直到所述抽象特征满足所述聚类停止条件,停止对所述抽象特征进行泛化,并将同一抽象特征对应的异常事件划分同一异常事件组,并将各异常事件组对应的抽象特征确定为对应异常事件组的异常摘要。
如图3所示,对异常事件的聚类包括:
S301、根据所述至少两个泛化对象的属性,将所述至少两个泛化对象进行泛化,得到抽象特征;
S302、判断所述抽象特征是否满足聚类停止条件;
当不满足,执行S303,当满足,执行S304;
S303、将所述泛化对象替换为所述抽象特征。
替换后,继续执行S301。
S304、停止对所述抽象特征进行泛化;
S305、将同一抽象特征对应的异常事件划分同一异常事件组,并将各异常事件组对应的抽象特征确定为对应异常事件组的异常摘要。
本申请实施例中,根据泛化的抽象特征是否满足聚类停止条件,对异常事件进行至少一个层次的泛化。在第一层次的泛化,将异常事件作为泛化对象,将异常事件的异常信息作为属性,对所有的泛化对象进行泛化,得到第一层次的抽象特征,当第一层次的抽象特征满足聚类停止条件,则结束聚类,当第一层次的抽象特征不满足聚类停止条件,则将第一层次的抽象特征作为泛化对象进行第二次层次的泛化。在第二次层次的泛化,将第一层次的抽象特征作为泛化对象,对第一层次的抽象特征进行泛化,得到第二层次的抽象特征,其中,第二层次抽象特征的属性为该抽象特征所对应的第一层次的抽象特征的共有属性,即第一层次的抽象特征的公共属性。当第二层次的抽象特征满足聚类停止条件,则结束聚类,当第二层次的抽象特征不满足聚类停止条件,则将第二层次的抽象特征作为泛化对象进行第三次层次的泛化;以此类推,直到泛化的抽象特征满足聚类停止条件。
本申请实施例中,S302中判断所述抽象特征是否满足聚类停止条件的聚类停止条件可包括以下条件至少之一:
条件一、泛化的抽象特征的数量满足聚类结果阈值;
条件二、泛化的抽象特征中,泛化为同一抽象特征的异常信息的数量达到簇阈值。
在聚类停止条件为条件一为例,S202的实施还包括:检测所述抽象特征的数量;如果所述抽象特征的数量小于或等于设定的聚类结果阈值,确定所述抽象特征满足所述聚类停止条件;如果所述抽象特征的数量大于所述聚类结果阈值,确定所述抽象特征不满足所述聚类停止条件。
本申请实施例中,在多个层次的泛化过程中,泛化的抽象特征的数量越来越少,当抽象特征的数量达到设定的聚类结果阈值时,认为能够停止泛化,否则,继续泛化,直到泛化的抽象特征的数量达到设定的聚类结果阈值,从而根据聚类的结果中抽象特征的数量来确定是否停止聚类。
在聚类停止条件为条件二为例,S202的实施还包括:检测对应同一抽象特征的泛化对象的数量;如果所检测的数量达到簇阈值,确定所述抽象特征满足所述聚类停止条件;如果所述抽象特征的大于所述簇阈值,确定所述抽象特征不满足所述聚类停止条件。
本申请实施例中,泛化为同一抽象特征的异常信息可通过多个层次的泛化得到。在一示例中,异常事件包括:事件1至事件10,对应的异常信息包括:信息1、信息2、信息3、信息4……信息10,通过第一层次的泛化,信息1和信息5泛化为抽象特征A,信息2泛化为抽象特征B,信息3、信息4、信息7泛化为抽象特征C,信息6泛化为抽象特征D,信息10泛化为抽象特征E,信息8泛化为抽象特征F,信息9泛化为抽象特征G,通过第二层次的泛化,抽象特征A和抽象特征G泛化为抽象特征1,抽象特征C和抽象特征E泛化为抽象特征3,则抽象特征D和抽象特征F泛化为抽象特征4,则信息1、信息5、信息9泛化为抽象特征1,信息2泛化为抽象特征2即抽象特征B,信息3、信息4、信息7和信息10泛化为抽象特征3,信息6和信息8泛化为抽象特征4。
泛化的层次越高,泛化为同一抽象特征的异常事件的数量保持不变或越来越大,且对泛化为同一抽象特征的最多的异常事件的数量越来越大。同上例,在第一层次的泛化结束后,泛化为抽象特征C的异常事件的数量最多为3,在第二层次的泛化结束后,泛化为抽象特征3的异常事件的数量最多为4。
当泛化为同一抽象特征的最多的异常事件的数量达到设定的簇阈值时,则结束聚类。同上例,当簇阈值为4,在第一层次的泛化结束后,泛化为同一抽象特征的异常事件的数量最大为3,则继续执行第二层次的泛化;在第二层次的泛化结束后,泛化为同一抽象特征的异常事件的数量最大为4,则停止泛化,完成异常事件的聚类。
本申请实施例中,在泛化过程中,可将泛化为同一抽象特征的异常事件构成的集合称为一个簇。
在一些实施例中,在S301之前,还包括:根据所述异常事件的异常信息,查找满足合并条件的相似事件;将满足合并条件的相似事件进行合并。
本申请实施例中,合并条件可异常时间之间的距离小于设定距离,且异常事件的异常类型相同。这里,可将相似泛化对象认为是相同节点。并对满足合并条件的相似事件进行去重,实现多个相似事件的合并。
这里,根据异常事件的异常信息计算两个异常事件之间的距离。在一示例中,对于异常事件a1和异常事件a2,通过公式(1)计算异常事件a1和异常事件a2之间的距离d(a1,a2):
Figure BDA0002804574790000091
其中,Ai为异常事件的第i个异常信息,且一个异常事件对应n个异常信息。
异常信息包括以下信息中的部分或全部:异常日志产生的时间、服务标记、在代码中的位置、日志内容,异常堆栈,机型,操作流程,系统版本,系统异常应用程序接口(Application Programming Interface,API)等。
在一些实施例中,S301的实施包括:从所述至少两个泛化对象构成的待泛化集合中,查找能够泛化为同一抽象特征的泛化对象构成的已泛化子集;从所述待泛化集合中筛除所述已泛化子集,得到新的待泛化集合;在所述新的待泛化集合中包括泛化对象的情况下,继续从所述新的待泛化集合中,查找对应同一个覆盖的泛化对象构成的新的已泛化子集,直到所述待泛化集合中不存在泛化对象。
这里,在每一层次的泛化过程中,先从待泛化的所有泛化对象构成的待泛化集合中查找能够泛化为一个抽象特征的泛化对象构成的集合,将该集合称为已泛化子集,并将已泛化子集从待泛化集合删除,得到新的待泛化集合,继续从新的待泛化集合中查找能够泛化为一个抽象特征的泛化对象构成的已泛化子集,依次类推,直到待泛化集合为空。
在一示例中,泛化对象包括:对象1至对象10,则由对象1至对象10构成待泛化集合1;进行第一次遍历,待泛化集合1中对象1、对象5和对象6能够泛化为抽象特征A,则将对象1、对象5和对象6构成的已泛化子集1从待泛化集合1中删除,得到由对象2、对象3、对象4、对象7、对象8、对象9和对象10构成的待泛化集合2;进行第二次遍历,对象2、对象7和对象10能够泛化为抽象特征B,则将对象2、对象7和对象10构成的已泛化子集2从待泛化集合2中删除,得到由对象3、对象4、对象8和对象9构成的待泛化集合3;进行第三次遍历,直到所有的泛化对象都被泛化为一个抽象特征。
需要说明的是,当一个泛化对象进行泛化时,得到的抽象特征为该泛化对象本身。
在一些实施例中,如图4所示,S202的实施包括:
S2021、根据各异常事件的异常信息,对所述至少两条异常信息中各异常信息进行特征提取,得到异常日志;
本申请实施例中,在对异常信息进行聚类之前,对异常信息进行特征提取,得到各异常事件对应的异常日志,且不同的异常日志的格式保持统一,异常日志所包括的特征的类型相同。
这里,通过对上报的属性的特征提取,能够快速定位问题原因,以便第一时间修改问题,提升用户体验。
需要说明的是,异常日志不包括指定格式中的某一个特征时,可将异常日志中该特征对应的值设为0。
在一示例中,异常日志中的特征包括:产生时间、服务标记、在代码中的位置、日志内容,异常堆栈,机型,操作流程,系统版本,系统异常API等。
S2022、根据所述异常日志,将所述至少两条异常信息聚类为异常事件组,并确定各异常事件组对应的异常摘要。
此时,对异常事件进行聚类时,泛化对象的属性为各异常事件的异常日志,这里,对异常日志的泛化参见对异常事件的泛化的描述,这里不再赘述。
下面,对本申请实施例提供的异常检测方法进行进一步说明。
基于移动端进行异常信息收集,。对收集到的异常信息进行聚类分析,从而获取相关的异常的摘要,有利于开发人员可以快速解决相关问题导致异常,如图5所示,包括:
S501、收集异常信息;
移动终端SDK收集异常事件的异常信息并将收集的异常信息上报至服务器,从而将移动终端的异常过程上报至服务器,服务器收集到移动终端的异常信息。这里,服务器可同时收集多个移动终端上报的异常信息。其中,如图6所示,移动终端收集的异常信息601的内容包括:异常堆栈6011、操作流程6012、机型6013、系统版本6014、系统内核6015等多种属性。其中,操作流程6012为导致异常事件发生的操作流程,比如:商品详情-购物车-订单-异常。
S502、提取特征;
服务端对上报的异常信息进行格式化处理,得到日志信息。其中,通过约定的样式对上报的所有异常信息进行格式化处理,并对格式化处理后的异常信息进行特征提取,得到日志信息。
所有日志信息的格式统一,日志信息的内容包括:时间、服务标记、在代码中的位置、日志内容,异常堆栈,机型,操作流程,系统版本,系统异常API等。
S503、聚类分析;
聚类分析的过程如图7所示,包括:
S701、提取异常事件的异常信息;
S702、将异常信息载入泛化层次结构集合;
S703、合并相同异常信息;
S704、检查是否需要聚类;
如果是,执行S705,如果否,执行S706,
S705、找出泛化最小的属性,
这里,当找出泛化为一个抽象特征的最小的属性后,将找出的属性从异常信息中删除,并继续查找泛化最小的属性,直到所有的异常信息都对应一个抽象特征,完成一个层次的泛化,并执行S707。
S706、输出聚类结果和异常摘要;
S707、替换该层所有的值为上一层抽象特征;
S708、将泛化为同一抽象特征的异常事件进行合并。
这里,将泛化为同一抽象特征的异常事件合并到同一组异常事件组中。
在S708之后,继续执行S704。
在聚类过程中,服务端通过泛化层次结构来标识聚类结果。这里,泛化层次结构,用于记录属性的泛化关系,是泛化时向上抽象的依据,需要预先定义,其中,属性对应异常日志的内容。抽象层次越高,细节越少,但是它能包含的范围就越大;反之,抽象层次越低,则可能无用信息越多,包含的范围就越小。这种抽象的层次关系可以用一些有向无环图(DAG)来表达,如图8所示和图9所示。
在图8中,在第一层次,安卓1.0和MUI2.0可以泛化为内核版本;在第二层次,内核版本和机型泛化为异常信息。
在图9中,手机型号包括:型号A、型号B、型号C、型号D、型号E和型号F;系统版本:版本1、版本2和版本3,操作系统包括:操作系统1和操作系统2;其中,型号A、型号D、型号E能够泛化为版本2,型号B能够泛化为版本1,型号C和型号F能够泛化为版本3,版本2能够泛化为操作系统1,版本1和版本3能够泛化为操作系统2。
这里,首先对泛化过程中涉及的定义进行说明。
属性(Attribute):构成异常日志的某一类信息,如,异常堆栈,机型,操作流程,系统版本,系统异常API等,文中用Ai表示。
值域(Domain):属性Ai的域(即取值范围),文中用Dom(Ai)表示。
泛化层次结构(Generalization Hierarchy):对于每个Ai都有一个对应的泛化层次结构,文中用Gi表示。
不相似度(Dissimilarity):定义为d(a1,a2)。它接受两个异常a1、a2作为输入,并返回一个数值量,表示这两个异常不相似的程度。与相似度相反,当d(a1,a2)较小时,表示异常a1和异常a2相似。
为了计算d(a1,a2),我们先定义两个属性的不相似度。令x1、x2为某个属性Ai的两个不同的值,那么x1、x2的不相似度为:在泛化层次结构Gi中,通过一个公共点父节点p连接x1、x2的最短路径长度,即
Figure BDA0002804574790000136
Figure BDA0002804574790000137
两个异常a1、a2的不相似度的计算如公式(1)所示:
Figure BDA0002804574790000131
其中,用C标识日志集合,g是C的一个泛化表示,即满足每个a都属于C,且每个a是g的正规子群:
Figure BDA0002804574790000132
对于某个异常聚类来说,我们希望获得既能够涵盖它的集合,又有最具象化的表达的泛化表示,为了解决这个问题,我们定义如公式(2)和公式(3)所示的两个指标:
Figure BDA0002804574790000133
Figure BDA0002804574790000134
H(C)值最小时对应的g,就是我们要找的最适合的泛化表示,我们称g为C的“覆盖”(Cover)。
Figure BDA0002804574790000135
表示g和C之间的不相似度。
基于以上的概念,将异常日志聚类问题定义为:定义L为一个日志集合,min_size为一个预设的常量,Gi(i=1,2,3……n)为属性Ai的泛化层次结构,目标是找到一个L的子集C,满足|C|>=min_size,且H(C)值最小。min_size是用来控制抽象程度的,极端情况下如果min_size与L集合的大小一样,那么我们只能使用终极抽象了,而如果min_size=1,则每个异常日志是它自己的抽象。找到一个聚类之后,我们可以去除这些元素,然后在L剩下的集合里找其他的聚类。
min_size:考虑到日志数据中可能包含种类极多,且根据小规模数据实验表明,min_size=1/5*异常日志数量时,算法已经有较好的表现,再高会增加过度聚合的风险,因此我们取min_size=1/5*异常日志数量。
聚类停止条件:考虑到部分场景下,异常日志可能较少,因此min_size的值也较少,此时聚类已无太大意义,因此设定聚类停止条件为:聚类结果的异常摘要数量小于等于20或已经存在某个类别的count值达到min_size的阈值,即停止聚类。
S504、异常信息摘要处理。
针对聚类分析后的特征数量进行排序,对异常信息进行处理。
图10为本申请实施例的一种异常定位装置的实现结构示意图,如图10所示,装置1000包括:
获取单元1001,用于获取上报的至少两条异常事件中每一异常事件的异常信息;
聚类单元1002,用于根据各异常事件的异常信息,将所述至少两条异常事件聚类为异常事件组,并确定各异常事件组对应的异常摘要;所述异常事件组至少包括一条所述异常事件。
在一些实施例中,聚类单元1002,还用于:
以所述异常事件为泛化对象,以所述异常事件的异常信息为所述泛化对象的属性,根据所述至少两个泛化对象的属性,将所述至少两个泛化对象进行泛化,得到抽象特征;
在所述抽象特征不满足聚类停止条件的情况下,将所述泛化对象替换为所述抽象特征,继续对所述泛化对象进行泛化;
直到所述抽象特征满足所述聚类停止条件,停止对所述抽象特征进行泛化,将同一抽象特征对应的异常事件划分同一异常事件组,并将各异常事件组对应的抽象特征确定为对应异常事件组的异常摘要。
在一些实施例中,聚类单元1002,还用于:
根据所述异常事件的异常信息,查找满足合并条件的相似事件;
将满足合并条件的相似事件进行合并。
在一些实施例中,聚类单元1002,还用于:
根据所述至少两个泛化对象的属性,从所述至少两个泛化对象构成的待泛化集合中,查找已泛化子集;所述已泛化子集由能够泛化为同一个抽象特征的泛化对象构成的;
从所述待泛化集合中筛除所述已泛化子集,得到新的待泛化集合;
在所述新的待泛化集合中包括泛化对象的情况下,继续从所述新的待泛化集合中,查找新的已泛化子集,直到所述待泛化集合中不存在泛化对象。
在一些实施例中,聚类单元1002,还用于:
检测所述抽象特征的数量;
如果所述抽象特征的数量小于或等于设定的聚类结果阈值,确定所述抽象特征满足所述聚类停止条件;
如果所述抽象特征的数量大于所述聚类结果阈值,确定所述抽象特征不满足所述聚类停止条件。
在一些实施例中,聚类单元1002,还用于:
检测对应同一抽象特征的泛化对象的数量;
如果所检测的数量达到簇阈值,确定所述抽象特征满足所述聚类停止条件;
如果所述抽象特征的大于所述簇阈值,确定所述抽象特征不满足所述聚类停止条件。
在一些实施例中,聚类单元1002,还用于:
根据各异常事件的异常信息,对所述至少两条异常信息中各异常信息进行特征提取,得到异常日志;
根据各异常日志,将所述至少两条异常事件聚类为异常事件组,并确定各异常事件组对应的异常摘要。
需要说明的是,本申请实施例提供的异常定位装置包括所包括的各单元,可以通过电子设备中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CPU,Central Processing Unit)、微处理器(MPU,Micro ProcessorUnit)、数字信号处理器(DSP,Digital Signal Processor)或现场可编程门阵列(FPGA,Field-Programmable Gate Array)等。
以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的异常定位方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read OnlyMemory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。
对应地,本申请实施例提供一种电子设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述实施例中提供的异常定位方法中的步骤。其中,该电子设备可为客户端,也可为服务端。
对应地,本申请实施例提供一种存储介质,也就是计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中提供的异常定位方法。
这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请存储介质和设备实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
需要说明的是,图11为本申请实施例电子设备的一种硬件实体示意图,如图11所示,所述电子设备1100包括:一个处理器1101、至少一个通信总线1102、至少一个外部通信接口1104和存储器1105。其中,通信总线1102配置为实现这些组件之间的连接通信。在一示例中,电子设备1100还包括:用户接口1103、其中,用户接口1103可以包括显示屏,外部通信接口1104可以包括标准的有线接口和无线接口。
存储器1105配置为存储由处理器1101可执行的指令和应用,还可以缓存待处理器1101以及电子设备中各模块待处理或已经处理的数据(例如,图像数据、音频数据、语音通信数据和视频通信数据),可以通过闪存(FLASH)或随机访问存储器(Random AccessMemory,RAM)实现。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一些实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种异常定位方法,其特征在于,所述方法包括:
获取上报的至少两条异常事件中每一异常事件的异常信息;
根据各异常信息,将所述至少两条异常事件聚类为异常事件组,并确定各异常事件组对应的异常摘要;所述异常事件组至少包括一条所述异常事件。
2.根据权利要求1所述的方法,其特征在于,所述根据各异常信息,将所述至少两条异常事件聚类为异常事件组,并确定各异常事件组对应的异常摘要,包括:
以所述异常事件为泛化对象,以所述异常事件的异常信息为所述泛化对象的属性,根据所述至少两个泛化对象的属性,将所述至少两个泛化对象进行泛化,得到抽象特征;
在所述抽象特征不满足聚类停止条件的情况下,将所述泛化对象替换为所述抽象特征,继续对所述泛化对象进行泛化;
直到所述抽象特征满足所述聚类停止条件,停止对所述抽象特征进行泛化,将同一抽象特征对应的异常事件划分同一异常事件组,并将各异常事件组对应的抽象特征确定为对应异常事件组的异常摘要。
3.根据权利要求2所述的方法,其特征在于,对所述泛化对象进行泛化之前,所述方法还包括:
根据所述异常事件的异常信息,查找满足合并条件的相似事件;
将满足合并条件的相似事件进行合并。
4.根据权利要求2所述的方法,其特征在于,根据所述至少两个泛化对象的属性,将所述至少两个泛化对象进行泛化,得到抽象特征,包括:
根据所述至少两个泛化对象的属性,从所述至少两个泛化对象构成的待泛化集合中,查找已泛化子集;所述已泛化子集由能够泛化为同一个抽象特征的泛化对象构成的;
从所述待泛化集合中筛除所述已泛化子集,得到新的待泛化集合;
在所述新的待泛化集合中包括泛化对象的情况下,继续从所述新的待泛化集合中,查找新的已泛化子集,直到所述待泛化集合中不存在泛化对象。
5.根据权利要求2所述的方法,其特征在于,所述根据各异常信息,将所述至少两条异常事件聚类为异常事件组,并确定各异常事件组对应的异常摘要,还包括:
检测所述抽象特征的数量;
如果所述抽象特征的数量小于或等于设定的聚类结果阈值,确定所述抽象特征满足所述聚类停止条件;
如果所述抽象特征的数量大于所述聚类结果阈值,确定所述抽象特征不满足所述聚类停止条件。
6.根据权利要求2所述的方法,其特征在于,所述根据各异常信息,将所述至少两条异常事件聚类为异常事件组,并确定各异常事件组对应的异常摘要,还包括:
检测对应同一抽象特征的泛化对象的数量;
如果所检测的数量达到簇阈值,确定所述抽象特征满足所述聚类停止条件;
如果所检测的数量未达到所述簇阈值,确定所述抽象特征不满足所述聚类停止条件。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述根据各异常信息,将所述至少两条异常事件聚类为异常事件组,并确定各异常事件组对应的异常摘要,包括:
根据各异常事件的异常信息,对所述至少两条异常信息中各异常信息进行特征提取,得到异常日志;
根据各异常日志,将所述至少两条异常事件聚类为异常事件组,并确定各异常事件组对应的异常摘要。
8.一种异常定位装置,其特征在于,所述装置包括:
获取单元,用于获取上报的至少两条异常事件中每一异常事件的异常信息;
聚类单元,用于根据各异常信息,将所述至少两条异常事件聚类为异常事件组,并确定各异常事件组对应的异常摘要;所述异常事件组至少包括一条所述异常事件。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述异常定位方法中的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时,实现权利要求1至7任一项所述的异常定位方法。
CN202011363101.7A 2020-11-27 2020-11-27 一种异常定位方法及装置、设备、存储介质 Pending CN113742116A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011363101.7A CN113742116A (zh) 2020-11-27 2020-11-27 一种异常定位方法及装置、设备、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011363101.7A CN113742116A (zh) 2020-11-27 2020-11-27 一种异常定位方法及装置、设备、存储介质

Publications (1)

Publication Number Publication Date
CN113742116A true CN113742116A (zh) 2021-12-03

Family

ID=78728126

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011363101.7A Pending CN113742116A (zh) 2020-11-27 2020-11-27 一种异常定位方法及装置、设备、存储介质

Country Status (1)

Country Link
CN (1) CN113742116A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114363947A (zh) * 2021-12-31 2022-04-15 紫光展锐(重庆)科技有限公司 日志分析方法及相关装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109800098A (zh) * 2018-12-13 2019-05-24 平安普惠企业管理有限公司 业务异常节点定位方法、装置、计算机设备及存储介质
CN110347827A (zh) * 2019-06-26 2019-10-18 南京理工大学 面向异构文本运维数据的事件提取方法
CN111130897A (zh) * 2019-12-27 2020-05-08 北京奇艺世纪科技有限公司 报警日志监控方法、系统、电子设备及可读存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109800098A (zh) * 2018-12-13 2019-05-24 平安普惠企业管理有限公司 业务异常节点定位方法、装置、计算机设备及存储介质
CN110347827A (zh) * 2019-06-26 2019-10-18 南京理工大学 面向异构文本运维数据的事件提取方法
CN111130897A (zh) * 2019-12-27 2020-05-08 北京奇艺世纪科技有限公司 报警日志监控方法、系统、电子设备及可读存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
全国信息化计算机应用技术资格认证管理中心组编: "防火墙技术标准教程", 31 January 2007, 北京理工大学出版社, pages: 74 *
曹高辉;任卫强;丁恒;: "面向限定域的深度语义事件泛化研究", 情报学报, no. 08, 24 August 2020 (2020-08-24) *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114363947A (zh) * 2021-12-31 2022-04-15 紫光展锐(重庆)科技有限公司 日志分析方法及相关装置
CN114363947B (zh) * 2021-12-31 2023-09-22 紫光展锐(重庆)科技有限公司 日志分析方法及相关装置

Similar Documents

Publication Publication Date Title
US10311044B2 (en) Distributed data variable analysis and hierarchical grouping system
TW202029079A (zh) 異常群體識別方法及裝置
US11860721B2 (en) Utilizing automatic labelling, prioritizing, and root cause analysis machine learning models and dependency graphs to determine recommendations for software products
CN111240876B (zh) 微服务的故障定位方法、装置、存储介质及终端
CN110362968B (zh) 信息检测方法、装置及服务器
CN110471945B (zh) 活跃数据的处理方法、系统、计算机设备和存储介质
CN112650482A (zh) 一种逻辑组件的推荐方法及相关装置
CN112181704B (zh) 一种大数据任务处理方法、装置、电子设备及存储介质
US11836331B2 (en) Mathematical models of graphical user interfaces
CN111597548B (zh) 实现隐私保护的数据处理方法及装置
CN109918678B (zh) 一种字段含义识别方法和装置
CN111090807A (zh) 一种基于知识图谱的用户识别方法及装置
CN111340240A (zh) 实现自动机器学习的方法及装置
CN114741392A (zh) 数据查询方法、装置、电子设备及存储介质
CN114461644A (zh) 一种数据采集方法、装置、电子设备及存储介质
CN109213476A (zh) 一种安装包的生成方法、计算机可读存储介质及终端设备
CN114356712B (zh) 数据处理方法、装置、设备、可读存储介质及程序产品
CN110543426A (zh) 一种软件性能风险检测方法及装置
CN113742116A (zh) 一种异常定位方法及装置、设备、存储介质
CN113326064A (zh) 划分业务逻辑模块的方法、电子设备及存储介质
CN117785539A (zh) 日志数据分析方法、装置、计算机设备及存储介质
CN116955856A (zh) 信息展示方法、装置、电子设备以及存储介质
CN117056919A (zh) 一种基于深度学习的软件漏洞检测方法及系统
CN111783835A (zh) 一种数据降维方法、装置及系统
CN111324594A (zh) 用于粮食加工业的数据融合方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination