CN107391353A - 基于日志的复杂软件系统异常行为检测方法 - Google Patents

基于日志的复杂软件系统异常行为检测方法 Download PDF

Info

Publication number
CN107391353A
CN107391353A CN201710553032.8A CN201710553032A CN107391353A CN 107391353 A CN107391353 A CN 107391353A CN 201710553032 A CN201710553032 A CN 201710553032A CN 107391353 A CN107391353 A CN 107391353A
Authority
CN
China
Prior art keywords
mrow
msub
daily record
msubsup
track
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.)
Granted
Application number
CN201710553032.8A
Other languages
English (en)
Other versions
CN107391353B (zh
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.)
Hegang Digital Technology Co ltd
Original Assignee
Xidian University
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 Xidian University filed Critical Xidian University
Priority to CN201710553032.8A priority Critical patent/CN107391353B/zh
Publication of CN107391353A publication Critical patent/CN107391353A/zh
Application granted granted Critical
Publication of CN107391353B publication Critical patent/CN107391353B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种基于日志的复杂软件系统异常行为检测方法,解决现有方法只能分析到系统发生异常时的日志语句,无法根据异常日志语句进行追踪的问题。具体包括:采集系统源代码,将源码转换成以函数为单位的控制流图,抽取日志模板,获取日志打印语句间可达关系;用日志语句间运行逻辑关系对日志消息解析;结合结构化的日志消息和源码控制流图进行日志执行轨迹提取并处理过滤,实现相对准确的、完整的异常检测和定位。本发明分析源码得到日志模板,实验结果更为准确,克服了聚类算法不稳定性的缺陷。抽取日志轨迹,根据异常语句追踪,便于获取导致系统发生异常的根本原因进而解决异常问题。用于分布式复杂软件系统的运行维护。

Description

基于日志的复杂软件系统异常行为检测方法
技术领域
本发明属于计算机应用技术领域,主要涉及系统异常行为检测,具体是一种基于日志的复杂软件系统异常行为检测的方法,可用于分布式系统的运行维护。
背景技术
随着分布式系统和云计算技术的不断发展,日志规模变得越来越大而不能手动检测以及无结构而不能自动分析,有些操作者通常是制作临时手稿去查询关键字比如“error”以及“exception”等,但是这种手动检测的方法已经被证明在确定问题的时候是不完整、不精确的。然而,在现有的手动检测方法被证明准确率低、异常检测不完整、处理效率低的情况下,目前为止还没有研究出针对该问题高效的、成熟的解决方案。
海尔公司申请的专利“一种基于系统日志的Web系统异常分析方法和装置”(申请号:2014105458425申请日期:2014.10.15公开号:CN104298586A公开日:2015.01.21),公开了一种基于系统日志的Web系统异常分析方法和装置,方法包括实时获取Web系统内的系统日志;根据Web系统内预先设置的分析工具匹配规则和/或系统异常分析指标,分析系统日志的数据是否满足分析工具匹配规则和/或系统异常分析指标;当系统日志的数据满足分析工具匹配规则和/或系统异常分析指标时,确定系统日志异常,将系统日志存储至系统异常库。该方法通过实时获取并分析系统日志,可以及时确定出发生异常的系统日志的数据,但存在的不足是,该方法只能分析到系统发生异常时的日志语句,难以获取导致该异常的日志轨迹,无法根据异常日志语句进行追踪,不能获取导致该异常的根本原因,不利于解决异常。
北京百度网讯科技有限公司申请的专利“异常日志确定方法和装置”(申请号:201510657417X申请日期:2015.10.12公开号:CN105183912A公开日:2015.12.23),公开了异常日志确定方法和装置。所述方法的具体实施方式包括:对每个日志进行分词处理,生成与各日志对应的权重向量,其中,权重向量包括与之对应的日志中的分词,以及与各分词对应的权重;基于与各日志对应的权重向量确定各日志之间的相似度;基于各日志之间的相似度对各日志聚类形成日志类;以及若日志类中包含的异常日志比例超过预定比例,则日志类为异常日志类,否则日志类为正常日志类。该实施方式实现了异常日志的迅速定位。该方法的不足是:能够确定异常日志类和正常日志类,无法准确区分异常日志语句和导致系统运行异常的日志语句,并且聚类方法具有一定的不稳定性。
南京邮电大学申请的专利“基于日志的智能自适应网络故障定位和分析方法”(申请号:2008101241955申请日期:2008.06.17公开号:CN101325520B公开日:2010.08.18),基于日志的智能自适应网络故障定位和分析方法主要由基于优先级的日志预处理方法、基于时间序列的日志事件聚类分析方法和多维日志统计分析方法组成。海量日志信息首先按照优先级别进行分类存储,然后再根据基于时间序列的日志事件聚类分析方法筛选出关键的事件类型即“策略”的获取,随后再运用多维日志统计分析方法将关键的日志信息呈现在界面上,并触发告警判断机制进行实时告警。
这些方法只能分析到系统发生异常时的日志语句,难以获取导致该异常的日志轨迹,无法根据异常日志语句进行追踪,不能获取导致该异常的根本原因,不利于解决异常。而且有些方法中用到聚类算法,但是聚类方法具有一定的不稳定性。
发明内容
本发明针对上述现有技术的不足,提出一种准确性更高的复杂软件系统异常行为检测方法。
本发明是一种基于日志的复杂软件系统异常行为检测方法,包括如下步骤:
步骤1:分析系统源码:将被检测的复杂软件系统的源码作为输入,使用抽象语法树提取源码中可用信息,获得源码的控制流图和日志模板集,其中日志模板为日志打印语句的结构化定义。其次根据源码的控制流图,可得日志模板之间的可达关系。
步骤2:解析日志语句:对标准化的日志消息进行建模,其信息包括日志行号、级别、时间戳和日志模板信息等;采集被检测的复杂软件系统产生的日志语句,进行有效信息提取,并匹配相应的日志模板,得到完整的日志消息。
步骤3:抽取执行轨迹:结合解析得到的日志消息集合,基于日志模板可达关系进行日志执行轨迹提取,并做相应的处理,得到执行轨迹集合。
步骤4:异常检测:采用异常概率树的方法分析运行轨迹集合,将执行轨迹当作数据序列,根据序列与整个网络之间的相似度来判断序列数据中是否存在异常,结合日志执行轨迹的拓扑结构和出现的次数进行异常指数的计算。
与现有技术相比,本发明的技术优势:
(1)本发明以被检测的复杂软件系统的源码为入口,实现了一种将系统源码解析为控制流图的方法。通过对控制流图的分析,可以准确获取日志打印语句间的可达关系,使日志语句之间的运行逻辑关系更为明确。
(2)本发明将被检测的复杂软件系统的源码作为输入,通过分析日志打印语句得到日志模板,将该系统产生的日志语句与相应的日志模板进行匹配,并将匹配度最高的日志模板与日志语句进行关联,使得实验结果更为准确,同时克服了聚类算法不稳定性的缺陷。
(3)本发明利用日志打印语句间的可达关系对日志语句进行相应的操作,抽取得到该系统的执行轨迹集合,通过对异常语句进行追踪,可以获取导致被检测系统发生异常的根本原因,填补了现有技术难以获取被检测系统异常时的日志轨迹的不足。
(4)本发明通过异常概率树的方法获得完整的异常日志执行轨迹,实现相对准确的、完整的异常检测和定位方法,方便用户对系统进行异常排查和修改。
附图说明
图1是本发明的流程图;
图2是日志模板可达关系图;
图3是函数调用信息的控制流图。
具体实施方式
下面结合附图对本发明做详细描述。
实施例1
随着科学技术的飞速发展,现代化软件系统的规模变得更加庞大,功能更加完善,结构更加复杂。在这种情形下,软件系统一旦发生故障,可能会导致一系列的连锁效应。目前,有些大规模软件系统的异常行为检测主要是依靠人力排查,这种方法定位问题不及时、缺乏针对性、效率低且不完备。现有技术中也存在着在分析日志的基础上进行系统异常行为检测的方法,但是这些方法只能分析到系统发生异常时的日志语句,难以获取导致该异常的日志轨迹,无法根据异常日志语句进行追踪,而且有些方法中用到聚类算法,聚类方法具有一定的不稳定性。
针对上述现状,本发明展开相关研究,提出一种基于日志的复杂软件系统异常行为检测方法,参见图1,包括如下步骤:
步骤1:分析系统源码:将被检测的复杂软件系统的源码作为输入,使用抽象语法树提取源码中可用信息,获得源码的控制流图和日志模板集,其中日志模板为日志打印语句的结构化定义。其次根据源码的控制流图,可得日志模板之间的可达关系。
步骤2:解析日志语句:对标准化的日志消息进行建模,其信息包括日志行号、级别、时间戳和日志模板信息等;采集被检测的复杂软件系统产生的日志语句,进行有效信息提取,并匹配相应的日志模板,得到对应的完整的日志消息。
步骤3:抽取执行轨迹:结合解析得到的日志消息集合,基于日志模板可达关系进行日志执行轨迹提取;对日志执行轨迹进行处理,定义相似度标准,将基本片段部分相同但重复度不同的片段处理为同一类型的日志执行片段。
步骤4:异常检测:采用异常概率树的方法分析运行轨迹集合,将执行轨迹当作数据序列,根据序列与整个网络之间的相似度来判断序列数据中是否存在异常,结合日志执行轨迹的拓扑结构和出现的次数进行异常指数的计算。
本发明以系统源代码为入口,实现了一种将系统代码解析为控制流图的方法,同时提取出源码中的日志模板。关注日志语句之间的运行逻辑关系代替以往研究中多关注日志语义信息,对日志消息建模进行去噪处理,在该模型的基础上对原始日志语句进行解析。结合结构化的日志消息和源码控制流图进行日志执行的提取,对日志执行轨迹进行处理过滤。
实施例2
基于日志的复杂软件系统异常行为检测方法同实施例1,步骤1中分析软件系统源码,获取日志打印语句间的可达关系,具体包括有如下步骤:
1.1定义控制流图、可达关系图和日志模板的表示形式
定义1:带有函数调用信息的控制流图(Control flow graph with functioncalls):带有函数调用信息的控制流图用GF=(VF,EF)表示,其中:
VF表示控制流图中的节点集合{vf1,vf2,...,vfn},其中每个节点是一个基础节点、日志节点或者是函数调用节点。
EF表示控制流图中的连接定点的边集合{(vfi,vfj),(vfk,vfl),...},每条边都由一对有序节点(vfi,vfj)表示,表示是一条控制路径或者是一条从vfi到vfj的函数调用。
定义2:日志模板可达关系图(Reachability graph):GL=(VL,EL)表示日志模板的可达关系图,其中:
V表示图上的节点集合{vl1,vl2,...,vln},其中每一节点表示一个日志模板ls。
E表示V中节点组成的直接可达关系{(vli,vlj),(vlk,vlm),...},每条边都表示一对有序节点的组合(vli,vlj),表明通过控制流路径或者函数调用使得vli和vlj可达。
定义3:日志模板(Log Statement):为系统源代码中日志输出语句通用的抽象结构,日志模板定义为四元组ls=(id,loc,cons,vars)表示,其中:
id为不同日志模板的唯一标识。
loc表示日志模板的位置信息,包含该日志模板位于的源文件信息和行号,其中源文件信息包括包名、类名和函数名。
cons为该日志模板包含的常量信息,即从该模板输出的所有日志语句的相同部分。
vars表示日志模板的变量部分。
1.2使用控制流分析实现被检测的复杂软件系统源码S向GL的转换
具体包括如下步骤:
1.2.1以文件为单位,使用抽象语法树将系统源码转换为AST节点。
1.2.2以函数入口为起点,递归遍历源码S中的所有函数,获得以函数为单位的控制流图Gc=(Vc,Ec)。重复执行该步骤获得被检测的复杂软件系统源码S的控制流图集合CFGs{G1,G2,...,Gn},如图3所示。
1.2.3创建包含函数调用的控制流图GF=(VF,EF),其中VF={G1.VC∪G2.VC∪...∪Gn.VC},EF={G1.EC∪G2.EC∪...∪Gn.EC}
1.2.4给定任意两个如果存在从节点到另一节点的函数调用,为GF.EF添加边重复该步骤至所有函数被处理完。
1.2.5为日志模板创建可达关系图GL=(VL,EL),其中LS={ls1,ls2,...,lsm}是日志模板集合。
1.2.6为任意两个节点在图GF上使用Floyd-Warshall算法检测节点和节点是否可达。如果可达,为GL.EL添加边重复该步骤至可达关系图GL上的所有节点被处理,完成日志模板可达关系图的构建,如图2所示,其中1,2,…,11均为日志模板编号。
本发明以复杂软件系统的源码为入口,将系统源码解析为控制流图,通过控制流图获取日志打印语句之间的可达关系,使日志语句之间的运行逻辑关系更为明确,用于日志执行轨迹的抽取。
实施例3
基于日志的复杂软件系统异常行为检测方法同实施例1-2,步骤2中解析日志语句,将匹配度最高的日志模板与日志语句进行关联,具体包括有如下步骤:
2.1定义日志消息和日志的表示形式
定义3:日志消息(Log Message):为一个日志文件中描述特定系统的执行事件的完整的一行信息,日志消息lm用五元组表示为:lm=(ln,tm,lv,pv,ct),其中:
ln表示日志消息在日志文件中的行号,用来进行异常定位。
tm表示日志消息的时间戳。
lv表示日志消息的级别,可为DEBUG、INFO、WARN、ERROR和FATAL。
pv=(ls,tid)表示日志消息的源信息,其中ls为打印该日志语句的日志模板,tid表示输出该日志语句的线程名。
ct表示人工可识别的表达语义的日志语句打印内容。
定义4:日志(Log):日志L=(lm1,lm2,...)表示一组具有关系的有序集合,其中:公式表明L上的二进制关系具有反射性、反对称性和可传递性。
2.2日志解析过程
日志文件中的每个日志消息lm的解析过程包含以下四个步骤:
2.2.1构造一个简单表达式提取lm的ln、tm、lv、pv.tid、ct。
2.2.2通过删除lm.ct中所有的数字和特殊标识构造一个查询指针。
2.2.3使用查询结构搜索该指针并且对获取到的集合进行排序。
2.2.4从获取到的排好序的列表中进行反向查询返回结果,并且将匹配度最高的模板和lm.pv.ls进行关联。
本发明通过分析日志打印语句得到日志模板,将该系统产生的日志语句与相应的日志模板进行匹配,并将匹配度最高的日志模板与日志语句进行关联,使实验结果更为准确,同时克服了聚类算法不稳定性的缺陷。
实施例4
基于日志的复杂软件系统检测方法同实施例1-3,步骤4中的轨迹抽取过程,具体包括有如下步骤:
4.1定义关联日志消息、轨迹、关联轨迹和有效轨迹的表示形式
定义5:关联日志消息(Homologous log message):给定两个日志消息lmi和lmj,如果满足lmi..pv.ls=lmj..pv.ls,则用表示lmi和lmj关联。
通过可以输出日志消息的日志模板得到两个日志消息的关联关系,一对关联日志消息可能来源于两个正在执行的不同线程下的相同日志模板,也可能来源于同一线程下相同日志模板的两次输出,因此本发明定义一个函数CountL(lmi,lmj)用来判定和计算两个日志消息的关联关系:
定义6:轨迹(Trace):一个执行轨迹T为L的子集,仍然满足关系。
定义7:关联轨迹(Homogeneous trace):给定两个轨迹Ti和Tj,如果存在f:Tj→Tj,其中,就说Ti和Tj是关联的,记为Tj≈Tj
类似的,一对关联轨迹可能来自两个正在执行的线程的相同日志片段,也可能来自同一线程中两次执行的相同片段。为了判定和合并任意两个关联轨迹,本发明定义一个有效函数CountT(Ti,Tj)来进行计算:
定义8:有效轨迹(Valid trace):给定一个轨迹T和相应的源码S,如果在S和T之间存在关系“imply”,表示为S|-T,称T为有效的。这里“imply”表示T为源码S中获取到的轨迹中的一条。
4.2轨迹抽取过程
该过程的目的为将日志文件切分为任意数量的日志执行轨迹。给定包含n日志消息的日志文件L={lm1,lm2,...,lmn},本发明需要获取L的m条片段TS={T1,T2,...,Tm},其中并且
对此,本发明提出一个执行轨迹抽取算法,步骤如下:
4.2.1根据每条日志消息中的tid属性,将L分割为k部分P={P1,P2,...,Pk},
4.2.2根据时间戳将日志消息分组。
4.2.3对于P中的每个执行
4.2.4执行判断是否若为真,则执行4.2.5,否则执行4.2.6。
4.2.5
4.2.6TS=TS∪{T},
4.2.7若继续执行4.2.4。
4.2.8若继续执行4.2.3。
本发明利用日志打印语句间的可达关系对日志语句进行相应的操作,抽取得到该系统的运行轨迹集合,通过对异常语句进行追踪,可以获取导致被检测系统发生异常的根本原因,填补了现有技术难以获取导致被检测系统发生异常的日志轨迹的不足。
实施例5
基于日志的复杂软件系统异常行为检测方法同实施例1-4,步骤5中的异常检测,具体包括有如下步骤:
5.1定义异常指数值计算公式
给定一个轨迹的集合T S={T1,T2,...,Tn},每一条轨迹Ti={lm1,lm2,...,lmm}的异常指数值:
表示Ti的出现次数,在T S中与Ti同源的轨迹的数量:
Fa表示T S中所有轨迹的平均出现次数:
|Ti|表示Ti的长度,Ti中日志消息的数量;
代表轨迹Ti从第一条日志消息到最后一条日志消息的出现概率,其中:
5.2异常检测过程
输入:一个轨迹的集合T S={T1,T2,...,Tm}共m条轨迹;阈值freqmax
输出:异常轨迹的集合ATS。
5.2.1初始设置Fa←0;ATS←0;所有的所有的所有的{pi}←0。
5.2.2更新T S中每条Ti值。
5.2.3更新Fa值。
5.2.4更新T S中每条Ti的每条lmj的pi
5.2.5更新每条Ti值。
5.2.6将的所有值从大到小排序。
5.2.7挑选中排序前的Ti,并把挑选中的轨迹Ti加入异常轨迹集合ATS中,完成异常检测。
本发明通过异常概率树的方法获得完整的异常日志执行轨迹,实现相对准确的、完整的异常检测和定位方法,方便用户对系统进行异常排查和修改。
下面给出一个更为详尽的例子,结合附图和实验数据对本发明做进一步的详细描述。
参照图1,本发明的具体实现步骤如下:
步骤1,源码分析获取日志模板间可达关系。
使用控制流分析实现源码S向GL的转换。该过程需要执行以下6个步骤,获得日志模板可达关系图如图2所示:
步骤1.1以文件为单位,使用抽象语法树将系统源码转换为AST节点。
步骤1.2以函数入口为起点,递归遍历源码S中的所有函数,获得以函数为单位的控制流图Gc=(Vc,Ec),如图3所示。重复执行该步骤获得源码S的控制流图集合CFGs{G1,G2,...,Gn}。
步骤1.3创建包含函数调用的控制流图GF=(VF,EF),其中VF={G1.VC∪G2.VC∪...∪Gn.VC},EF={G1.EC∪G2.EC∪...∪Gn.EC}
步骤1.4给定任意两个如果存在从节点到另一节点的函数调用,为GF.EF添加边重复该步骤至所有函数被处理完。
步骤1.5为日志模板创建可达关系图GL=(VL,EL),其中GL.VL=LS,LS={ls1,ls2,...,lsm}是日志模板集合。
步骤1.6为任意两个节点在图GF上使用Floyd-Warshall算法检测节点和节点是否可达。如果可达,为GL.EL添加边重复该步骤至图GL上的所有节点被处理。
步骤2,日志语句解析。
表1所示为一条日志模板的结构表。
表1日志模板结构表
表2所示为一条日志消息的结构表。
表2日志消息结构表
日志文件中的每个日志消息lm的解析过程包含以下四个步骤:
步骤2.1构造一个简单表达式提取lm的ln、tm、lv、pv.tid、ct。
步骤2.2通过删除lm.ct中所有的数字和特殊标识构造一个查询指针。
步骤2.3使用查询结构搜索该指针并且对获取到的集合进行排序。
步骤2.4从获取到的排好序的列表中进行反向查询返回结果,并且将匹配度最高的模板和lm.pv.ls进行关联。
步骤3,日志执行轨迹抽取。
该过程的目的为将日志文件切分为任意数量的日志执行轨迹。给定包含n日志消息的日志文件L={lm1,lm2,...,lmn},我们需要获取L的m条片段TS={T1,T2,...,Tm},其中并且
对此,本发明提出一个执行轨迹抽取算法,步骤如下:
步骤3.1根据每条日志消息中的tid属性,将L分割为k部分
P={P1,P2,...,Pk},
步骤3.2根据时间戳将日志消息分组。
步骤3.3对于P中的每个执行
步骤3.4执行判断是否若为真,则执行第3.5,否则执行第3.6。
步骤3.5
步骤3.6TS=TS∪{T},
步骤3.7若继续执行步骤3.4。
步骤3.8若继续执行步骤3.3。
步骤4,计算每条轨迹的异常指数值
计算方法如下:
表示Ti的出现次数,在T S中与Ti同源的轨迹的数量:
Fa表示T S中所有轨迹的平均出现次数:
|Ti|表示Ti的长度,Ti中日志消息的数量;
代表轨迹Ti从第一条日志消息到最后一条日志消息的出现概率,其中:
步骤5,基于统计学的异常概率树方法过滤异常执行轨迹。
输入:一个轨迹的集合T S={T1,T2,...,Tm}共m条轨迹;阈值freqmax
输出:异常轨迹的集合ATS。
第5.1初始设置Fa←0;ATS←0;所有的所有的所有的{pi}←0。
第5.2更新T S中每条Ti值。
第5.3更新Fa值。
第5.4更新T S中每条Ti的每条lmj的pi
第5.5根据步骤4更新每条Ti值。
第5.6将的所有值从大到小排序。
第5.7挑选中排序前的Ti,并把挑选中的Ti加入ATS中。
经过上述五个步骤,获得hadoop的异常检测实验结果如表3所示。
表3实验结果
指标/方法 PCA SAMP CLSTR 本发明
TP(真正率) 121 176 188 324
FP(假正率) 200 4502 8405 214
FN(假负率) 223 168 156 20
Precision(准确率) 0.3769 0.0376 0.0219 0.6022
Recall(召回率) 0.3517 0.5116 0.5465 0.9419
f-measure(F值) 0.3639 0.0701 0.0421 0.7347
本发明公开了一种基于日志的复杂软件系统异常行为检测方法,解决现有方法只能分析到系统发生异常时的日志语句,无法根据异常日志语句进行追踪的问题。具体包括:采集系统源代码,将源码转换成以函数为单位的控制流图,抽取日志模板,获取日志打印语句间可达关系;用日志语句间运行逻辑关系对日志消息解析;结合结构化的日志消息和源码控制流图进行日志执行轨迹提取并处理过滤,实现相对准确的、完整的异常检测和定位。本发明分析源码得到日志模板,实验结果更为准确,克服了聚类算法不稳定性的缺陷。抽取日志轨迹,根据异常语句追踪,便于获取导致系统发生异常的根本原因进而解决异常问题。用于分布式复杂软件系统的运行维护。

Claims (5)

1.一种基于日志的复杂软件系统异常行为检测方法,其特征在于,包含有如下步骤:
步骤1:分析系统源码:将被检测的复杂软件系统的源码作为输入,使用抽象语法树提取源码中可用信息,获得源码的控制流图和日志模板集,其中日志模板为日志打印语句的结构化定义;根据源码的控制流图,可得日志模板间的可达关系;
步骤2:解析日志语句:对标准化的日志消息进行建模,其信息包括日志行号、级别、时间戳和日志模板信息等;采集被检测的复杂软件系统产生的日志语句,进行有效信息提取,并匹配相应的日志模板,得到完整的日志消息;
步骤3:抽取执行轨迹:结合解析得到的日志消息集合,基于日志模板间的可达关系进行日志执行轨迹提取,并做相应的处理,得到执行轨迹集合;
步骤4:异常检测:采用异常概率树的方法分析执行轨迹集合,将执行轨迹当作数据序列,根据序列与整个网络之间的相似度来判断序列数据中是否存在异常,结合日志执行轨迹的拓扑结构和出现的次数进行异常指数的计算。
2.根据权利要求1所述的一种基于日志的复杂软件系统异常行为检测方法,其特征在于,步骤1所述分析软件系统源码,获取日志打印语句间的可达关系,具体包括有如下步骤:
1.1定义控制流图、可达关系图和日志模板的表示形式
带有函数调用信息的控制流图,定义为GF=(VF,EF)表示;
日志模板可达关系图,定义为GL=(VL,EL)表示;
日志模板:日志模板为系统源代码中日志输出语句通用的抽象结构,定义为四元组ls=(id,loc,cons,vars)表示;
1.2使用控制流分析实现源码S向GL的转换
具体包括有如下步骤:
1.2.1以文件为单位,使用抽象语法树将系统源码转换为AST节点;
1.2.2以函数入口为起点,递归遍历源码S中的所有函数,获得以函数为单位的控制流图Gc=(Vc,Ec),重复执行该步骤获得源码S的控制流图集合CFGs{G1,G2,...,Gn};
1.2.3创建包含函数调用的控制流图GF=(VF,EF),其中VF={G1.VC∪G2.VC∪...∪Gn.VC},EF={G1.EC∪G2.EC∪...∪Gn.EC};
1.2.4给定任意两个CFGs如果存在从节点到另一节点的函数调用,为GF.EF添加边重复该步骤至所有函数被处理完;
1.2.5为日志模板创建可达关系图GL=(VL,EL),其中GL.VL=LS,LS={ls1,ls2,...,lsm}是日志模板集合;
1.2.6为任意两个节点在图GF上使用Floyd-Warshall算法检测节点和节点是否可达;如果可达,为GL.EL添加边重复该步骤至图GL上的所有节点被处理。
3.根据权利要求1所述的一种基于日志的复杂软件系统异常行为检测方法,其特征在于,步骤2所述解析日志语句,将匹配度最高的日志模板与日志语句进行关联,具体包括有如下步骤:
2.1定义日志消息和日志的表示形式
日志消息:日志消息是一个日志文件中描述特定系统的执行事件的完整的一行信息,用五元组表示为:lm=(ln,tm,lv,pv,ct);
日志:日志L=(lm1,lm2,...)表示一组具有关系的有序集合;
2.2日志解析过程
日志文件中的每个日志消息lm的解析过程包含以下四个步骤:
2.2.1构造一个简单表达式提取lm的ln、tm、lv、pv.tid、ct;
2.2.2通过删除lm.ct中所有的数字和特殊标识构造一个查询指针;
2.2.3使用查询结构搜索该指针并且对获取到的集合进行排序;
2.2.4从获取到的排好序的列表中进行反向查询返回结果,并且将匹配度最高的模板和属性lm.pv.ls进行关联。
4.根据权利要求1所述的一种基于日志的复杂软件系统异常行为检测方法,其特征在于,步骤3所述的轨迹抽取过程,具体包括有如下步骤:
3.1定义关联日志消息、轨迹、关联轨迹和有效轨迹的表示形式
关联日志消息:给定两个日志消息lmi和lmj,如果满足lmi..pv.ls=lmj..pv.ls,则用表示lmi和lmj关联;
轨迹:一个运行轨迹T为日志L的子集,仍然满足关系;
关联轨迹:给定两个轨迹Ti和Tj,如果存在f:Tj→Tj,其中,就可以认为Ti和Tj是关联的,记为Tj≈Tj
有效轨迹:给定一个轨迹T和相应的源码S,如果在S和T之间存在关系“imply”,表示为S|-T,就可以认为T为有效的。这里“imply”表示T为源码S中获取到的轨迹中的一条;
3.2轨迹抽取过程
轨迹抽取过程的目的是将日志文件切分为任意数量的日志执行轨迹。给定包含n条日志消息的日志文件L={lm1,lm2,...,lmn},我们需要获取L的m条片段TS={T1,T2,...,Tm},其中并且Tj∈TS,(1≤i,j≤m)。
对此,本发明提出一种执行轨迹抽取算法,具体包括有如下步骤:
3.2.1根据每条日志消息中的tid属性,将L分割为k组P={P1,P2,...,Pk},
3.2.2根据时间戳对日志消息进行分组;
3.2.3对于P中的每组执行
3.2.4执行判断是否若为真,则执行步骤3.2.5,否则执行步骤3.2.6;
3.2.5
3.2.6 TS=TS∪{T},
3.2.7若继续执行步骤3.2.4;
3.2.8若继续执行步骤3.2.3。
5.根据权利要求1所述的一种基于日志的复杂软件系统异常行为检测方法,其特征在于,步骤4所述的采用异常概率树的方法进行异常检测,具体包括有如下步骤:
4.1定义异常指数值计算公式
给定一个轨迹的集合T S={T1,T2,...,Tn},每一条轨迹Ti={lm1,lm2,...,lmm}的异常指数值:
<mrow> <msub> <mi>A</mi> <msub> <mi>T</mi> <mi>i</mi> </msub> </msub> <mo>=</mo> <mo>-</mo> <mfrac> <msub> <mi>F</mi> <msub> <mi>T</mi> <mi>i</mi> </msub> </msub> <msub> <mi>F</mi> <mi>a</mi> </msub> </mfrac> <mo>*</mo> <mrow> <mo>(</mo> <mo>|</mo> <msub> <mi>T</mi> <mi>i</mi> </msub> <mo>|</mo> <mo>&amp;times;</mo> <mfrac> <mn>1</mn> <mrow> <mi>log</mi> <mrow> <mo>(</mo> <msup> <msub> <mi>p</mi> <mn>1</mn> </msub> <msub> <mi>T</mi> <mi>i</mi> </msub> </msup> <mo>&amp;times;</mo> <msup> <msub> <mi>p</mi> <mn>2</mn> </msub> <msub> <mi>T</mi> <mi>i</mi> </msub> </msup> <mo>&amp;times;</mo> <mn>...</mn> <mo>&amp;times;</mo> <msup> <msub> <mi>p</mi> <mi>m</mi> </msub> <msub> <mi>T</mi> <mi>i</mi> </msub> </msup> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>)</mo> </mrow> </mrow>
表示Ti的出现次数,在T S中与Ti同源的轨迹的数量:
<mrow> <msub> <mi>F</mi> <msub> <mi>T</mi> <mi>i</mi> </msub> </msub> <mo>=</mo> <msubsup> <mo>&amp;Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mo>|</mo> <mrow> <mi>T</mi> <mi>S</mi> </mrow> <mo>|</mo> </mrow> </msubsup> <mi>c</mi> <mi>o</mi> <mi>u</mi> <mi>n</mi> <mi>t</mi> <mi>T</mi> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mi>i</mi> </msub> <mo>,</mo> <msub> <mi>T</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> </mrow>
Fa表示T S中所有轨迹的平均出现次数:
<mrow> <msub> <mi>F</mi> <mi>a</mi> </msub> <mo>=</mo> <mfrac> <mrow> <msubsup> <mo>&amp;Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mo>|</mo> <mrow> <mi>T</mi> <mi>S</mi> </mrow> <mo>|</mo> </mrow> </msubsup> <msub> <mi>F</mi> <msub> <mi>T</mi> <mi>j</mi> </msub> </msub> </mrow> <mrow> <mo>|</mo> <mrow> <mi>T</mi> <mi>S</mi> </mrow> <mo>|</mo> </mrow> </mfrac> </mrow>
|Ti|表示Ti的长度,Ti中日志消息的数量;
代表轨迹Ti从第一条日志消息到最后一条日志消息的出现概率,其中:
<mrow> <msup> <msub> <mi>p</mi> <mi>j</mi> </msub> <msub> <mi>T</mi> <mi>i</mi> </msub> </msup> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <mfrac> <mrow> <msubsup> <mo>&amp;Sigma;</mo> <mrow> <mi>k</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mo>|</mo> <mrow> <mi>T</mi> <mi>S</mi> </mrow> <mo>|</mo> </mrow> </msubsup> <msubsup> <mo>&amp;Sigma;</mo> <mrow> <mi>l</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mo>|</mo> <msub> <mi>T</mi> <mi>K</mi> </msub> <mo>|</mo> </mrow> </msubsup> <mi>c</mi> <mi>o</mi> <mi>u</mi> <mi>n</mi> <mi>t</mi> <mi>L</mi> <mrow> <mo>(</mo> <msubsup> <mi>lm</mi> <mi>l</mi> <msub> <mi>T</mi> <mi>k</mi> </msub> </msubsup> <mo>,</mo> <msubsup> <mi>lm</mi> <mi>j</mi> <msub> <mi>T</mi> <mi>i</mi> </msub> </msubsup> <mo>)</mo> </mrow> </mrow> <mrow> <mo>|</mo> <mrow> <mi>T</mi> <mi>S</mi> </mrow> <mo>|</mo> </mrow> </mfrac> <mo>,</mo> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mfrac> <mrow> <msubsup> <mo>&amp;Sigma;</mo> <mrow> <mi>k</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mo>|</mo> <mrow> <mi>T</mi> <mi>S</mi> </mrow> <mo>|</mo> </mrow> </msubsup> <msubsup> <mo>&amp;Sigma;</mo> <mrow> <mi>l</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mo>|</mo> <msub> <mi>T</mi> <mi>K</mi> </msub> <mo>|</mo> </mrow> </msubsup> <mi>c</mi> <mi>o</mi> <mi>u</mi> <mi>n</mi> <mi>t</mi> <mi>L</mi> <mrow> <mo>(</mo> <mo>(</mo> <mrow> <msubsup> <mi>lm</mi> <mi>l</mi> <msub> <mi>T</mi> <mi>k</mi> </msub> </msubsup> <mo>,</mo> <msubsup> <mi>lm</mi> <mrow> <mi>l</mi> <mo>+</mo> <mn>1</mn> </mrow> <msub> <mi>T</mi> <mi>k</mi> </msub> </msubsup> </mrow> <mo>)</mo> <mo>,</mo> <mo>(</mo> <mrow> <msubsup> <mi>lm</mi> <mrow> <mi>j</mi> <mo>-</mo> <mn>1</mn> </mrow> <msub> <mi>T</mi> <mi>i</mi> </msub> </msubsup> <mo>,</mo> <msubsup> <mi>lm</mi> <mi>j</mi> <msub> <mi>T</mi> <mi>i</mi> </msub> </msubsup> </mrow> <mo>)</mo> <mo>)</mo> </mrow> </mrow> <mrow> <msubsup> <mo>&amp;Sigma;</mo> <mrow> <mi>k</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mo>|</mo> <mrow> <mi>T</mi> <mi>S</mi> </mrow> <mo>|</mo> </mrow> </msubsup> <msubsup> <mo>&amp;Sigma;</mo> <mrow> <mi>l</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mo>|</mo> <msub> <mi>T</mi> <mi>K</mi> </msub> <mo>|</mo> </mrow> </msubsup> <mi>c</mi> <mi>o</mi> <mi>u</mi> <mi>n</mi> <mi>t</mi> <mi>L</mi> <mrow> <mo>(</mo> <msubsup> <mi>lm</mi> <mi>l</mi> <msub> <mi>T</mi> <mi>k</mi> </msub> </msubsup> <mo>,</mo> <msubsup> <mi>lm</mi> <mrow> <mi>j</mi> <mo>-</mo> <mn>1</mn> </mrow> <msub> <mi>T</mi> <mi>i</mi> </msub> </msubsup> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>,</mo> <mi>j</mi> <mo>&amp;NotEqual;</mo> <mn>1</mn> </mrow> </mtd> </mtr> </mtable> </mfenced> </mrow>
4.2异常检测过程
输入:一个轨迹的集合T S={T1,T2,...,Tm}共m条轨迹;阈值freqmax
输出:异常轨迹的集合ATS;
4.2.1初始设置Fa←0,ATS←0,所有的所有的所有的{pi}←0;
4.2.2更新T S中每条Ti值;
4.2.3更新Fa值;
4.2.4更新T S中每条Ti的每条lmj的pi
4.2.5更新每条Ti值;
4.2.6将的所有值从大到小排序。
CN201710553032.8A 2017-07-07 2017-07-07 基于日志的复杂软件系统异常行为检测方法 Active CN107391353B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710553032.8A CN107391353B (zh) 2017-07-07 2017-07-07 基于日志的复杂软件系统异常行为检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710553032.8A CN107391353B (zh) 2017-07-07 2017-07-07 基于日志的复杂软件系统异常行为检测方法

Publications (2)

Publication Number Publication Date
CN107391353A true CN107391353A (zh) 2017-11-24
CN107391353B CN107391353B (zh) 2020-07-28

Family

ID=60334531

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710553032.8A Active CN107391353B (zh) 2017-07-07 2017-07-07 基于日志的复杂软件系统异常行为检测方法

Country Status (1)

Country Link
CN (1) CN107391353B (zh)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110175085A (zh) * 2019-04-19 2019-08-27 同济大学 一种利用图分析的Hadoop系统异常原因诊断方法及装置
CN110389874A (zh) * 2018-04-20 2019-10-29 比亚迪股份有限公司 日志文件异常检测方法和装置
CN110389883A (zh) * 2019-06-27 2019-10-29 西安联乘智能科技有限公司 一种基于多线程的模块日志实时监控系统
CN110958267A (zh) * 2019-12-17 2020-04-03 北京工业大学 一种虚拟网络内部威胁行为的监测方法及系统
CN111190873A (zh) * 2019-12-24 2020-05-22 同济大学 一种用于云原生系统日志训练的日志模式提取方法及系统
CN111290870A (zh) * 2018-12-07 2020-06-16 北京京东尚科信息技术有限公司 一种检测异常的方法和装置
CN111831542A (zh) * 2019-04-23 2020-10-27 华为技术有限公司 Api应用调测方法及装置、存储介质
CN111949480A (zh) * 2020-08-10 2020-11-17 重庆大学 一种基于组件感知的日志异常检测方法
CN112840355A (zh) * 2018-09-05 2021-05-25 甲骨文国际公司 使用深度递归神经网络的上下文感知特征嵌入和序列日志数据的异常检测
CN113434357A (zh) * 2021-05-17 2021-09-24 中国科学院信息工程研究所 基于序列预测的日志异常检测方法及装置
CN113485901A (zh) * 2021-07-06 2021-10-08 中国工商银行股份有限公司 基于日志和指标的系统评价方法、装置、设备和介质
CN115086016A (zh) * 2022-06-14 2022-09-20 中国银行股份有限公司 一种网络异常行为的检测方法、装置、设备及存储介质
CN115604003A (zh) * 2022-10-14 2023-01-13 浙江工业大学(Cn) 一种基于程序日志数据的系统异常检测方法
CN115617953A (zh) * 2022-11-15 2023-01-17 成都九洲电子信息系统股份有限公司 一种网络业务链路故障智能诊断方法及系统
CN115934940A (zh) * 2022-11-30 2023-04-07 南京晓庄学院 一种基于互联网信息技术的管理软件安全维护系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103077347A (zh) * 2012-12-21 2013-05-01 中国电力科学研究院 一种基于改进核心向量机数据融合的复合式入侵检测方法
US20140365717A1 (en) * 2010-09-28 2014-12-11 Pure Storage, Inc. Intra-device data protection in a raid array
CN105100718A (zh) * 2015-07-29 2015-11-25 西安冉科信息技术有限公司 一种基于视频摘要的智能视频分析方法
CN105653427A (zh) * 2016-03-04 2016-06-08 上海交通大学 基于行为异常检测的日志监控方法
CN106095955A (zh) * 2016-06-16 2016-11-09 杭州电子科技大学 基于业务流程日志和实体轨迹配对的行为模式挖掘方法
CN106502907A (zh) * 2016-10-28 2017-03-15 中国科学院软件研究所 一种基于执行轨迹追踪的分布式软件异常诊断方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140365717A1 (en) * 2010-09-28 2014-12-11 Pure Storage, Inc. Intra-device data protection in a raid array
CN103077347A (zh) * 2012-12-21 2013-05-01 中国电力科学研究院 一种基于改进核心向量机数据融合的复合式入侵检测方法
CN105100718A (zh) * 2015-07-29 2015-11-25 西安冉科信息技术有限公司 一种基于视频摘要的智能视频分析方法
CN105653427A (zh) * 2016-03-04 2016-06-08 上海交通大学 基于行为异常检测的日志监控方法
CN106095955A (zh) * 2016-06-16 2016-11-09 杭州电子科技大学 基于业务流程日志和实体轨迹配对的行为模式挖掘方法
CN106502907A (zh) * 2016-10-28 2017-03-15 中国科学院软件研究所 一种基于执行轨迹追踪的分布式软件异常诊断方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JIONG YANG,WEI WANG: "《CLUSEQ: Efficient and Effective Sequence Clustering》", 《PROCEEDINGS 19TH INTERNATIONAL CONFERENCE ON DATA ENGINEERING》 *
张晓菁: "《基于海量日志消息的软件系统异常检测技术研究与实现》", 《中国优秀硕士学位论文全文数据库》 *

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110389874A (zh) * 2018-04-20 2019-10-29 比亚迪股份有限公司 日志文件异常检测方法和装置
CN112840355A (zh) * 2018-09-05 2021-05-25 甲骨文国际公司 使用深度递归神经网络的上下文感知特征嵌入和序列日志数据的异常检测
CN111290870A (zh) * 2018-12-07 2020-06-16 北京京东尚科信息技术有限公司 一种检测异常的方法和装置
CN110175085A (zh) * 2019-04-19 2019-08-27 同济大学 一种利用图分析的Hadoop系统异常原因诊断方法及装置
CN111831542B (zh) * 2019-04-23 2022-04-05 华为技术有限公司 Api应用调测方法及装置、存储介质
CN111831542A (zh) * 2019-04-23 2020-10-27 华为技术有限公司 Api应用调测方法及装置、存储介质
CN110389883A (zh) * 2019-06-27 2019-10-29 西安联乘智能科技有限公司 一种基于多线程的模块日志实时监控系统
CN110389883B (zh) * 2019-06-27 2023-08-01 西安联乘智能科技有限公司 一种基于多线程的模块日志实时监控系统
CN110958267A (zh) * 2019-12-17 2020-04-03 北京工业大学 一种虚拟网络内部威胁行为的监测方法及系统
CN110958267B (zh) * 2019-12-17 2022-01-04 北京工业大学 一种虚拟网络内部威胁行为的监测方法及系统
CN111190873A (zh) * 2019-12-24 2020-05-22 同济大学 一种用于云原生系统日志训练的日志模式提取方法及系统
CN111190873B (zh) * 2019-12-24 2022-08-16 同济大学 一种用于云原生系统日志训练的日志模式提取方法及系统
CN111949480A (zh) * 2020-08-10 2020-11-17 重庆大学 一种基于组件感知的日志异常检测方法
CN111949480B (zh) * 2020-08-10 2023-08-11 重庆大学 一种基于组件感知的日志异常检测方法
CN113434357A (zh) * 2021-05-17 2021-09-24 中国科学院信息工程研究所 基于序列预测的日志异常检测方法及装置
CN113434357B (zh) * 2021-05-17 2023-04-11 中国科学院信息工程研究所 基于序列预测的日志异常检测方法及装置
CN113485901A (zh) * 2021-07-06 2021-10-08 中国工商银行股份有限公司 基于日志和指标的系统评价方法、装置、设备和介质
CN115086016A (zh) * 2022-06-14 2022-09-20 中国银行股份有限公司 一种网络异常行为的检测方法、装置、设备及存储介质
CN115086016B (zh) * 2022-06-14 2024-04-16 中国银行股份有限公司 一种网络异常行为的检测方法、装置、设备及存储介质
CN115604003A (zh) * 2022-10-14 2023-01-13 浙江工业大学(Cn) 一种基于程序日志数据的系统异常检测方法
CN115604003B (zh) * 2022-10-14 2024-04-05 浙江工业大学 一种基于程序日志数据的系统异常检测方法
CN115617953A (zh) * 2022-11-15 2023-01-17 成都九洲电子信息系统股份有限公司 一种网络业务链路故障智能诊断方法及系统
CN115934940A (zh) * 2022-11-30 2023-04-07 南京晓庄学院 一种基于互联网信息技术的管理软件安全维护系统

Also Published As

Publication number Publication date
CN107391353B (zh) 2020-07-28

Similar Documents

Publication Publication Date Title
CN107391353A (zh) 基于日志的复杂软件系统异常行为检测方法
CN107147639B (zh) 一种基于复杂事件处理的实时安全预警方法
CN105975604B (zh) 一种分布迭代式数据处理程序异常检测与诊断方法
Shivaji et al. Reducing features to improve code change-based bug prediction
CN106649260B (zh) 基于评论文本挖掘的产品特征结构树构建方法
CN111967761B (zh) 一种基于知识图谱的监控预警方法、装置及电子设备
CN106021410A (zh) 一种基于机器学习的源代码注释质量评估方法
CN103761173A (zh) 一种基于日志的计算机系统故障诊断方法及装置
CN103546312A (zh) 一种海量多源异构日志关联分析方法
US10387805B2 (en) System and method for ranking news feeds
CN111581956B (zh) 基于bert模型和k近邻的敏感信息识别方法及系统
CN110730100A (zh) 一种告警信息处理方法、装置及服务器
CN112347271A (zh) 基于文字语义识别的配电物联网设备缺陷辅助录入方法
CN115544519A (zh) 对计量自动化系统威胁情报进行安全性关联分析的方法
CN115794798A (zh) 一种市场监管信息化标准管理与动态维护系统及方法
CN109740147B (zh) 一种大数量人才简历去重匹配分析方法
CN105760492B (zh) 数据分析方法及装置
CN116841779A (zh) 异常日志检测方法、装置、电子设备和可读存储介质
CN111125319A (zh) 一种企业基础法律智能咨询终端、系统及方法
Faty et al. OpinionScraper: a news comments extraction tool for opinion mining
CN113535458B (zh) 异常误报的处理方法及装置、存储介质、终端
CN110866624A (zh) 化工事故预测方法和系统
CN105786929A (zh) 一种信息监测方法及装置
CN114490235A (zh) 智能化识别日志数据中的数量关系及其异常的算法模型
Feng et al. A novel semantic user operation restoration from massive web URL log

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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20230518

Address after: Building 1, Science and Technology Innovation Service Center, No. 856 Zhongshan East Road, High tech Zone, Shijiazhuang City, Hebei Province, 050035

Patentee after: Hegang Digital Technology Co.,Ltd.

Address before: 710071 Taibai South Road, Yanta District, Xi'an, Shaanxi Province, No. 2

Patentee before: XIDIAN University

TR01 Transfer of patent right