CN117667497B - 一种调度集中系统的自动化故障分析方法及系统 - Google Patents
一种调度集中系统的自动化故障分析方法及系统 Download PDFInfo
- Publication number
- CN117667497B CN117667497B CN202410130771.6A CN202410130771A CN117667497B CN 117667497 B CN117667497 B CN 117667497B CN 202410130771 A CN202410130771 A CN 202410130771A CN 117667497 B CN117667497 B CN 117667497B
- Authority
- CN
- China
- Prior art keywords
- log data
- log
- event type
- early warning
- fault
- 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.)
- Active
Links
- 238000004458 analytical method Methods 0.000 title claims abstract description 38
- 238000013135 deep learning Methods 0.000 claims abstract description 9
- 238000000034 method Methods 0.000 claims description 51
- 238000009826 distribution Methods 0.000 claims description 10
- 238000003058 natural language processing Methods 0.000 claims description 9
- 230000011218 segmentation Effects 0.000 claims description 9
- 238000010586 diagram Methods 0.000 claims description 8
- 239000011159 matrix material Substances 0.000 claims description 8
- 238000012916 structural analysis Methods 0.000 claims description 8
- 230000014509 gene expression Effects 0.000 claims description 5
- 238000005516 engineering process Methods 0.000 claims description 4
- 238000011156 evaluation Methods 0.000 claims description 4
- 238000007476 Maximum Likelihood Methods 0.000 claims description 3
- 238000012423 maintenance Methods 0.000 abstract description 27
- 238000012544 monitoring process Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000000750 progressive effect Effects 0.000 description 4
- 230000005856 abnormality Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000002547 anomalous effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- -1 carrier Substances 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000003153 chemical reaction reagent Substances 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000000306 component Substances 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 239000004615 ingredient Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012821 model calculation Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000007858 starting material Substances 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/079—Root cause analysis, i.e. error or fault diagnosis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y04—INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
- Y04S—SYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
- Y04S10/00—Systems supporting electrical power generation, transmission or distribution
- Y04S10/50—Systems or methods supporting the power network operation or management, involving a certain degree of interaction with the load-side end user applications
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (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
本发明公开了一种调度集中系统的自动化故障分析方法及系统,它们是相互对应的方案,方案中:自动将CTC系统中多个子系统的日志统一抓取,节省了运维人员去各个子系统手动拷贝的步骤;并且,可以在海量日志中快速定位到故障的发生点,并将故障流程的全生命周期精准提炼,节约了运维人员大量排查故障的时间;同时,还可以对每个子系统的日志数据进行深度学习,根据其自身运行特点个性化设置预警阈值,在保障铁路运输安全稳定的同时降低系统误报警率。
Description
技术领域
本发明涉及轨道交通技术领域,尤其涉及一种调度集中系统的自动化故障分析方法及系统。
背景技术
调度集中(Centralized Traffic Control System,CTC)系统是指调度中心对所辖区段内的车站信号设备进行监视和控制、统一指挥和管理列车运行的系统。CTC系统中子系统众多,功能较繁重,且为7×24小时全天候运行,故而在运行过程中会因为软件设计缺陷或磁盘、网络等硬件故障等因素,不可避免的出现或大或小的故障问题需要运维人员处理。
目前,既有的CTC运维系统在故障发生时可以产生告警信息,使运维人员逐渐摆脱了主要依赖于人工巡检的旧状,但在面对故障的诊断和处理时仍然显得捉襟见肘。系统日志作为系统在运行中唯一的可读化输出数据,是运维人员在处理故障时的重要分析依据。既有运维系统往往只是将故障现象作为日志简单记录下来,但对于判断故障如何产生、分析故障如何解决无法给出帮助,问题依然需要仰仗运维人员的经验进行分析解决。
传统的日志分析方法很大程度上依赖于人工检查,工作强度大且容易出错,一个调度台的各服务器、接口、终端在一个小时内产生的文本日志就有数十GB(Gibibyte,十亿字节)之多,且软件之间存在复杂的关联关系,若是出现的故障难以定位,运维人员想要在短时间内从如此庞大且繁杂的日志中发现问题的所在十分困难。同时,日志排查非常依赖运维人员的工作经验,若是经验不足,即使找到了故障问题点,对故障如何产生、问题应当如何解决仍旧无法快速给出方案。同时,既有的运维系统往往只能在故障产生后提示运维人员进行处理,无法在故障产生前进行预警,此种运作方式也无法对降低铁路运输中的故障率产生帮助。
此外,公开号为CN106274991A的中国发明专利申请《铁路故障分析装置与方法》公开的方案是通过预设的故障原因查找表找出故障原因以及故障处理方式,但是,该方案只能处理预设故障,只能排查少量故障原因,局限性较高。公开号为CN108234162A的中国发明专利申请《基于端口数据流量监测的TDCS/CTC系统预警方法》是基于端口数据流量实现CTC系统自动预警,一方面,它并不能进行故障自动分析;另一方面,主要针对端口的异常情况进行预警,并不能实现CTC系统运行层面的故障进行提前预警。
有鉴于此,特提出本发明。
发明内容
本发明的目的是提供一种调度集中系统的自动化故障分析方法及系统,可以对部分渐进性发生、可预知的故障提出预警,而对于已经发生的故障,可对日志数据进行自动解析,同时筛选出关键的日志信息、列出故障发生的线性流程,辅助运维人员排查故障。
本发明的目的是通过以下技术方案实现的:
一种调度集中系统的自动化故障分析方法,包括:
抓取CTC系统中各子系统产生的日志数据;
对每一日志数据分别进行结构化解析,将每一日志数据划分为常量部分与变量部分,并根据常量部分进行事件类型匹配,将每一日志数据归类于为对应事件类型的日志模板;
根据业务流程对各事件类型的日志模板进行分类,获得各事件类型的日志模板所属业务流程的类别,再结合每一日志数据中的变量部分,以及归类的事件类型的日志模板所属业务流程的类别进行流程化匹配,建立不同日志数据之间业务流程关系,当发生故障时,根据建立的业务流程关系提取出所有与故障相关的日志数据,实现故障时的业务流程的类别定位;
以及,针对每个子系统,对于每一事件类型,使用对应的日志数据进行深度学习,设定相应日志数据中变量部分的预警阈值,并在相应日志数据中变量部分不满足预警阈值的要求时输出预警提示。
一种调度集中系统的自动化故障分系统,用于实现前述的方法,该系统包括:
日志数据抓取模块,用于抓取CTC系统中各子系统产生的日志数据;
日志数据初步解析模块,用于对每一日志数据分别进行结构化解析,将每一日志数据划分为常量部分与变量部分,并根据常量部分进行事件类型匹配,将每一日志数据归类于为对应事件类型的日志模板;
日志模板归类与故障定位模块,用于根据业务流程对各事件类型的日志模板进行分类,获得各事件类型的日志模板所属业务流程的类别,再结合每一日志数据中的变量部分,以及归类的事件类型的日志模板所属业务流程的类别进行流程化匹配,建立不同日志数据之间业务流程关系,当发生故障时,根据建立的业务流程关系提取出所有与故障相关的日志数据,实现故障时的业务流程的类别定位;
预警模块,用于针对每个子系统,对于每一事件类型,使用对应的日志数据进行深度学习,设定相应日志数据中变量部分的预警阈值,并在相应日志数据中变量部分不满足预警阈值的要求时输出预警提示。
由上述本发明提供的技术方案可以看出,自动将CTC系统中多个子系统的日志统一抓取,节省了运维人员去各个子系统手动拷贝的步骤;并且,可以在海量日志中快速定位到故障的发生点,并将故障流程的全生命周期精准提炼,节约了运维人员大量排查故障的时间;同时,还可以对每个子系统的日志数据进行深度学习,根据其自身运行特点个性化设置预警阈值,在保障铁路运输安全稳定的同时降低系统误报警率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1为本发明实施例提供的一种调度集中系统的自动化故障分析方法的流程图;
图2为本发明实施例提供的有向无环图示例的示意图;
图3为本发明实施例提供的日志数据结构化解析的示例的示意图;
图4为本发明实施例提供的业务流程的步骤流程图;
图5为本发明实施例提供的操作流向图的示意图;
图6为本发明实施例提供的一种调度集中系统的自动化故障分析系统的示意图。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
首先对本文中可能使用的术语进行如下说明:
术语“包括”、“包含”、“含有”、“具有”或其它类似语义的描述,应被解释为非排它性的包括。例如:包括某技术特征要素(如原料、组分、成分、载体、剂型、材料、尺寸、零件、部件、机构、装置、步骤、工序、方法、反应条件、加工条件、参数、算法、信号、数据、产品或制品等),应被解释为不仅包括明确列出的某技术特征要素,还可以包括未明确列出的本领域公知的其它技术特征要素。
其次,针对现有技术存在很多局限性,如人力成本较高、定位问题准确性差、解决问题效率低等问题, 本发明提供一种调度集中系统的自动化故障分析方法及系统,可以使运维人员可快速定位到故障点,了解故障产生的前因后果,同时能够利用大数据和机器学习,深度学习CTC系统的运行日志,对即将可能发生的故障产生预警,从而有效地预防和处理铁路系统中可能发生的故障。
下面对本发明所提供的一种调度集中系统的自动化故障分析方法及系统进行详细描述。本发明实施例中未作详细描述的内容属于本领域专业技术人员公知的现有技术。本发明实施例中未注明具体条件者,按照本领域常规条件或制造商建议的条件进行。本发明实施例中所用试剂或仪器未注明生产厂商者,均为可以通过市售购买获得的常规产品。
实施例一
本发明实施例提供一种调度集中系统的自动化故障分析方法,应能够对部分渐进性发生、可预知的故障提出预警,而对于已经发生的故障,可对故障日志进行自动解析,同时筛选出关键的日志信息、列出故障发生的线性流程,辅助运维人员排查故障。首先,对CTC系统中各子系统产生的日志进行抓取并统一归档;然后,通过聚类算法解析日志,将繁杂的日志结构化、模板化。之后,通过学习各子系统之间的关联,提取互相关联的行为或事件进行流程化展示,并提供合理的处置建议,提高运维人员在定位问题和进行故障分析时的效率。同时,还可根据CTC各子系统在正常运行时产生的数据对异常产生预警,降低CTC系统的故障发生率。图1展示了该方法的主要流程,主要包括如下步骤:
步骤1、抓取CTC系统中各子系统产生的日志数据。
本发明实施例中,可以通过FTP(File Transfer Protocol,文件传输协议)文件服务器将自动实时抓取CTC各子系统的日志数据,也可由运维人员通过日志回灌将既有日志手动导入到故障分析系统;当然,相较而言,采用自动实时抓取的方式,可以节省运维人员去各个子系统手动拷贝的步骤。
步骤2、日志数据的结构化解析。
本发明实施例中,对每一日志数据分别进行结构化解析,将每一日志数据划分为常量部分与变量部分,并根据常量部分进行事件类型匹配,将每一日志数据归类于为对应事件类型的日志模板。
本发明实施例中,采用自然语言处理技术,对每一日志数据进行分词,再根据分词结果划分为常量和变量部分。
具体来说:(1)对于每一日志数据,采用正则表达式进行句子的拆分,针对拆分后的每一个句子(称为短句)分别进行分词,分词方式如下:利用句子中的汉字构建一个有向无环图,每一个汉字是一个节点,句子中的每一个词语(词组)用边来表示,边的方向代表着词语的顺序,边的权重为词语的词频P(x),通过NLP( Natural Language Processing,自然语言处理)技术结合边的权重计算每一候选路径的概率,选择最大概率的候选路径作为最优路径,最优路径中的各个边对应的词语即为句子的分词结果,每一候选路径是从第一个字对应的节点直至最后一个字对应的节点形成的串联路径,包含有多个节点与节点之间的边。(2)根据所有句子的分词结果,将日志数据划分为常量和变量部分;其中,日志数据中的常量部分为固定的描述方式,与相应的事件类型对应,变量部分记录子系统运行时的可变参数及参数的值。
本发明实施例中,将每一日志数据的常量部分进行事件类型匹配,构建各事件类型的日志模板,并根据事件类型匹配结果,将日志数据每一日志数据归类于为对应事件类型的日志模板。
步骤3、日志模板的分类及故障定位。
本发明实施例中,根据业务流程对各事件类型的日志模板进行分类,获得各事件类型的日志模板所属业务流程的类别,再结合每一日志数据中的变量部分,以及归类的事件类型的日志模板所属业务流程的类别进行流程化匹配,建立不同日志数据之间业务流程关系,当发生故障时,根据建立的业务流程关系提取出所有与故障相关的日志数据,实现故障时的业务流程的类别定位。
具体来说,本发明根据业务流程的顺序进行类别划分,将各事件类型的日志模板的常量部分分别与每一业务流程的类别进行近义词匹配,根据匹配结果,确定各事件类型的日志模板所属业务流程的类别。
本发明实施例中,每一日志数据对应相应事件类型的日志模板,每一事件类型的日志模板属于相应业务流程的类别,基于此,预先采用监督学习的方式,学习不同日志数据中变量部分在业务流程上的逻辑关联;学习完毕后,根据每一日志数据中的变量部分,以及归类的事件类型的日志模板所属业务流程的类别进行流程化匹配,建立不同日志数据之间业务流程关系,获得操作流向图;基于操作流向图,能够获取故障前后具有逻辑关联的日志数据,实现故障时的业务流程的类别定位。
优选的,本发明实施例中,还针对指定事件类型的日志模板添加处置建议,处置建议包含指定事件类型在历史时刻发生的条件、分析流程以及处置方案,辅助经验欠缺的运维人员定位并解决故障。
步骤4、故障预警。
本发明实施例中,针对每个子系统,对于每一事件类型,使用对应的日志数据进行深度学习,设定相应日志数据中变量部分的预警阈值,并在相应日志数据中变量部分不满足预警阈值的要求时输出预警提示。
本发明实施例中,针对每个子系统,对于每一事件类型,收集一个时间段内正常情况下日志数据中变量部分,形成变量集合,使用极大似然法估算出,变量集合服从的多元高斯分布的均值向量和协方差矩阵,根据均值向量和协方差矩阵计算预警阈值;在子系统运行中,从日志数据中划分出变量部分,并结合多元高斯分布的均值向量和协方差矩阵,计算变量部分在多元高斯分布下的概率密度,若概率密度小于预警阈值,则输出预警提示;并且,结合预警情况的准确率和召回率对预警阈值进行评估,基于评估结果判断是否继续,优化预警阈值;若评估结果不满足设定要求,则持续不断的利用收集的变量集合,优化预警阈值。
为了更加清晰地展现出本发明所提供的技术方案及所产生的技术效果,下面以具体实施例对本发明实施例所提供的方法进行详细描述。
一、日志数据结构化解析。
一般情况下,日志数据是由子系统的程序源代码中日志语句输出的非结构化文本,内容通常包含系统在运行时发生的各类事件以及事件的发生时间,运维人员通过日志文件能够监控系统的运行状态。传统的日志解析方法严重依赖手动定制的正则表达式来提取特定的日志,然而,由于日志的表述方式随着各系统开发人员的不同而带有个人化色彩,其对同一类事件的描述会多种多样。
例如,某终端和某服务器之间连接中断,可以有如下几种表述方式:“终端A与服务器B连接中断”,“A与服务器断开”,“A通信故障”,“终端A网络连接异常”等等。目前很难通过单一的正则表达式将某一特定事件提取出来。因此,首先要对各日志进行结构化解析,将原始日志序列化为一系列事件模板,将文本类型的日志转换成机器学习可以识别的特征+数据的表达形式。在此过程中,使用NLP(自然语言处理)对日志中的文字进行分词,将日志解析为最小化组成单位,即词组,再将各词组划分为常量和变量部分,进而根据相似度将日志聚类,挖掘出日志模板。
如下述日志“2023-11-20 17:03:28车站终端与服务器连接中断,error:10054”。首先,将待日志数据使用如日期、标点符号等,将文本切分成连续的中文字符形成多个短句。在本示例中,日志数据可以切分成三个短句,即2023-11-20 17:03:28、车站终端与服务器连接中断、error:10054,然后针对每个短句构建一个有向无环图(DAG)。在有向无环图中,每一个汉字是一个节点,两个节点之间的边为一个词组,边的方向代表着词组的顺序,词组为两个节点对应汉字在所属句子中的词语,且词组的第一个汉字为边的头部节点对应汉字,边的权重为对应词组的词频P(x)。每条候选路径的概率的计算方式可通过Unigram语言模型(它是一种自然语言处理工具)简单算出,模型计算公式如下所示:
;
其中,X1-Xm是一个候选路径中的词组序列,表示一个候选路径的概率,P(Xj)代表第j个词组的词频,词频可以通过统计字典库中该词出现的次数与词语总数的比值得出。例如,如果字典库中有一百万个词语,其中,连接这个词出现了200次,那么P(连接)=0.02%。
对每一个节点进行遍历,将每个可能的词语用边连接起来,形成了有向无环图。接着根据每条边的权重值,计算出每条路径的概率。以“车站终端与服务器连接中断”这个短句为例,可以得到有向无环图如图2所示,短句中每一个汉字都作为一个节点,为了便于表示,每个节点还使用数字进行了编号,两个节点之间的边为两个节点对应汉字在所属句子中的词语,且词组的第一个汉字为边的头部节点对应汉字,以边(0-1)为例,它由“车”节点指向“终”节点,因此,头部节点为“车”节点,边(0-1)对应的词组为所在短句中连接“车”与“终”的词语,且包含“车”,故边(0-1)对应的词组为“车站”;当然,如果两个节点是所属短句中相邻汉字,那么两个节点的边对应的词组仅有一个汉字,即边头部节点对应汉字,例如边(1)、(2)等。需要说明的是,图2中每两个节点之间均可以产生连接路径,但为了避免图2过于繁杂,因而未将所有可能的连接路径全部列出。
在此处,可以利用动态规划算法计算最优路径,设u与v是DAG图中两个节点,使用w(u,v)定义两节点的边,那么有向无环图中从开始位置到节点v的最大概率路径dp(v)为:
;
其中,u和v是两个节点,节点u在节点v之前,P(w(u,vs))为u,v两节点的边的权重,dp(u)为开始位置到节点u的最大概率路径,开始位置为短句中第一个字对应的节点。
可计算得出图2中黑色加粗连接线部分为本次分割的概率最高解,虚线连接线部分为概率次高解,由此可得出短句的最优切分方案为:(0-1)车站/ (2-3)终端/(4)与/ (5-7)服务器/(8-11)连接中断。
每一日志数据都按照上述方法进行划分,每一条日志数据可划分为两大部分,即常量和变量部分。常量部分为固定的描述方式,代表相应的事件类型,在每次事件发生时保持不变,如上述日志中的与、连接断开、error:。变量部分则记录了系统运行时的可变参数及参数的值(例如:时间戳、车站、服务器、10054),这些信息在同一类事件但不同场景发生时可能会有所不同。进行日志结构化解析的目标是将日志文本去参数化,分割出原始日志中常量部分和变量部分,并进一步将每条日志消息与特定事件类型进行匹配,最终得到事件类型的日志模板。使用星号来标识变量部分,上述日志文本可以表示为“**与*连接中断,error: *”,它与另一条日志数据如“2023-11-20 17:03:28运行图终端与应用服务器连接中断,error:10054”共属同一类事件,即连接中断事件。
图3列举了日志数据结构化解析的示例;其中十条日志数据,经由去参数化,可以归类为八个结构化的日志模板。考虑到此部分主要是根据常量获得日志模板,未直接使用变量部分,因此,结构化日志中未示出变量部分,但是,各日志数据的变量部分需要保存,以用于后续故障归类使用。
每一个日志模板均代表一种事件类型。将日志数据归类于各种日志模板后,便完成了日志的结构化解析,为下一步日志模板的分类及流程化匹配做好了准备。
二、故障归类。
根据上一部分中解析出的日志模板,接下来以操作失败这种故障类型为例,对日志模版进行进一步分类。通常而言,CTC系统中一套操作的执行需要系统内多个子系统协作完成,整个业务流程可将其概括为四大基础步骤,如图4所示,包括:(1)用户通过操作终端发起操作。(2)操作产生的数据包经由各服务器及接口转发给逻辑终端。(3)逻辑终端计算操作的可行性。(4)逻辑终端反馈操作结果给显示终端。其中,每一步不论成功与否均会在各子系统产生日志数据,故障分析时需要抓取各子系统的日志将其归类,若操作在某一过程中失败,可以快速定位到问题发生的具体环节。
上述步骤中,任一步执行失败均会导致操作指令无法顺利执行,然而运维人员在发现操作执行失败时,并不能迅速定位是哪一环节出现了问题,需要人工一步一步查看各终端或服务器的日志,从海量的文字中逐步找出问题的所在,这无疑对故障的快速解决产生了重大的阻碍。因此,将日志数据按照操作流程顺序归类,分析并找出故障点则显得尤为重要。
作为举例,本发明将操作类的大量日志模板主要划分为操作、转发、逻辑、显示四大类,通过基于Word2vec(word to vector,单词转换为向量)算法的Synonyms工具将各日志模板中的常量部分依次进行近义词匹配,对各日志模板进行聚类,进而将日志模板大体归类于四大基础类中。例如,各种包含设置、手动等关键词的日志模板应包含于操作类,包含接收、发送类的模板应包含于转发类,包含处理、计算类的模板应包含于逻辑类,包含显示的日志应包含于显示类。
需要说明的是,对于其他类别的日志模板可根据需要划分为其他类别,本发明不对具体的类别信息进行限定。
分类完毕以后,下一步就是将各大类之间的日志模板串联成完整的流程。例如,虽已学习到手动排列进路这个操作在操作大类中的日志模板应为手动排列进路,但无法知道在转发大类中对应的具体的日志数据,例如,包含发送0xAA信息与发送0xBB等信息日志数据均有可能,于是接下来便要针对每条日志数据具体分析,根据日志数据中变量部分将日志数据进行流程化匹配。
本发明实施例中,采取监督学习的方式帮助系统学习日志变量之间关于业务流程的逻辑关联,例如,在学习CTC系统历史日志文件的过程中系统将操作大类中的一条告警信息与起发生时间n秒以内转发大类中的所有日志信息提供给开发人员,由开发人员反馈给系统正确的匹配方式,再将n秒以内逻辑大类中的日志提供给开发人员,以此类推。经过反复学习,系统便可知晓在正常情况下,一个操作在各步骤中应该产生的日志,如图5所示,经过上述方式学习后,对繁杂的日志数据进行流程化匹配,整理出的操作流向图,运维人员选择了某条日志数据之后,可将该对应事件发生前后具有逻辑关系的日志数据反馈给用户,使得运维人员能快速总览事件发生的全貌。需要说明的是,本发明在构建操作流向图的时,是基于前述解析获得的日志模版来构建,但是,从用户的视角而言,反馈的是原始的日志数据,以便于用户查看。
需要说明的是,上述介绍是以操作类日志进行举例说明故障分析系统对日志模板设置流程追溯的过程,基于类似的原理,可针对任何日志获取其追溯流程,如无操作时的软硬件故障等,在此不再进行赘述。
优选的,还可针对日志模板添加处置建议(故障纪要),或者根据需要对某条日志数据设置故障纪要。虽然CTC系统故障发生的原因多种多样,但属于同一日志模板的故障其产生原因往往也是相似的。因此,可在解决完某次故障后,可以将本次故障的产生条件、分析流程以及处置方案添加到日志模板的纪要中,供运维人员在后续出现同类故障时参考引用。根据日志模板添加处置建议的优势在于,很多在运维人员看来相似的描述,例如*与*连接断开、*与*连接中断等,直观上看故障的原因均是网络连接中断,但由于日志模板不同,其在代码层面报错的产生条件和入口也不同。因此,根据日志模板填写纪要可以更加细化故障产生的场景及条件,使得记录的解决方案纪要更具备参考价值。
三、故障预警。
前文主要以操作类故障举例,操作类属于用户主动发起的行为,一旦操作失败,运维人员迅速便可知晓故障发生,可通过故障分析系统迅速介入并排查故障。虽然对于软硬件类的故障,也可通过本发明追溯其发生的过程并快速分析问题的故障原因。但针对系统类的故障,如网络、磁盘、内存等问题,往往是渐进性的且进展比较隐秘,且一旦出现故障会对铁路运输造成重大影响,针对此类故障应尽量做到在故障发生前提前预警,在问题还没进展到故障时快速排除其隐患,尽量做到防患于未然,为铁路运输的安全提供重要保障。
本发明实施例中,可针对日志模板设置需监控的日志类型,以及对模板中变量部分手动更改监控阈值,如一条内存相关的日志数据为“A终端当前占用内存:900M”,变量部分为“A终端”、“900M”,那么就可针对“*当前占用内存:*”日志模板设置阈值,如当A终端占用内存大于1000M时报警提示,B终端内存占用大于1300M时报警提示等。同理,针对网络类故障,如网络风暴等在产生之初往往会出现渐进性的数据积压现象,系统可以针对日志“等待向终端A发送数据,当前待发送数据包10包”对变量“10”设置监控阈值,监控通道收发情况,一旦超过阈值便可迅速介入处理,阻止故障发生。
手动设置变量阈值的方法实现起来较为简单、直接,然而在设置时往往会因为其他变量的改变而显得不够灵活。例如,车站A1业务量比车站B1多,监测内存占用量的预警阈值ϵ若贴合车站B1的数据量就无法适应车站A1的数据量。使用内存占用率作为预警阈值同样无法完美的解决问题,例如同样设置预警阈值ϵ为80%,车站C1的设备内存总量为8GB,车站D1的设备却只有2GB,当车站D1仅剩20%时才提示告警可能已经来不及了。但若要针对每个车站每套设备分别设置阈值,却又过于繁琐,因此,本发明能够学习各站各设备的专有数据,根据其真正运行情况进行告警提示。
为实现此功能,通过学习CTC系统历史上的运行日志,获取系统正常运行时各种需监测数据(如内存占用大小、CPU使用率、磁盘剩余量、网络通道延迟量等),使用极大似然法估算出其服从的多元高斯分布的均值向量和协方差矩阵,计算每个观测值的概率密度,如果概率密度值低于某个阈值则说明该观测值与CTC系统正常运行时有较大的偏差,便可进行报警提示。多元高斯分布的概率密度函数p(x)为:
;
其中,x是一个n维的向量,表示n个变量的取值,对应于日志数据的变量部分,exp表示自然常数e为底的指数函数。T为转置符号。μ是n个变量的均值向量,K是n个变量之间的协方差矩阵,μ与K的计算方法如下所示:
;
。
以监测内存占用量为例,首先系统收集一段时间内正常运行的内存使用量数据进行学习,形成一个集合X={x(1),x(2),… },其中,集合X中的每个x是一个n维的向量,可以带入上面的式子计算出均值向量μ与协方差矩阵K。然后,对于每个新监测到的日志数据,按照前文介绍的方法划分为变量部分,再带入前述式子计算在多元高斯分布下的概率密度p(x)。将p(x)与预警阈值ϵ比较,如果p(x)<ϵ,则认为该日志数据是异常的,否则是正常的。在预警阈值ϵ的选取时,先根据经验法则,可以其将设置为训练数据高斯分布的均值加减其标准差的倍数,之后再进行反复训练对模型进行调优,根据其F1值(准确率和召回率的加权平均值)评估预警阈值设置的合理性,如果F1值不达标,则表示预警阈值不合理性,需要不断优化,以提高模型的性能,逐步确定出最合理的预警阈值ϵ。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例可以通过软件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,上述实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例二
本发明还提供一种调度集中系统的自动化故障分系统,其主要用于实现前述实施例提供的方法,如图6所示,该系统主要包括:
日志数据抓取模块,用于抓取CTC系统中各子系统产生的日志数据;
日志数据初步解析模块,用于对每一日志数据分别进行结构化解析,将每一日志数据划分为常量部分与变量部分,并根据常量部分进行事件类型匹配,将每一日志数据归类于为对应事件类型的日志模板;
日志模板归类与故障定位模块,用于根据业务流程对各事件类型的日志模板进行分类,获得各事件类型的日志模板所属业务流程的类别,再结合每一日志数据中的变量部分,以及归类的事件类型的日志模板所属业务流程的类别进行流程化匹配,建立不同日志数据之间业务流程关系,当发生故障时,根据建立的业务流程关系提取出所有与故障相关的日志数据,实现故障时的业务流程的类别定位;
预警模块,用于针对每个子系统,对于每一事件类型,使用对应的日志数据进行深度学习,设定相应日志数据中变量部分的预警阈值,并在相应日志数据中变量部分不满足预警阈值的要求时输出预警提示。
该系统各模块所涉及的具体技术细节已经在之前的实施例中做了详细的介绍,故不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将系统的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。
Claims (9)
1.一种调度集中系统的自动化故障分析方法,其特征在于,包括:
抓取CTC系统中各子系统产生的日志数据;
对每一日志数据分别进行结构化解析,将每一日志数据划分为常量部分与变量部分,并根据常量部分进行事件类型匹配,将每一日志数据归类于为对应事件类型的日志模板;
根据业务流程对各事件类型的日志模板进行分类,获得各事件类型的日志模板所属业务流程的类别,再结合每一日志数据中的变量部分,以及归类的事件类型的日志模板所属业务流程的类别进行流程化匹配,建立不同日志数据之间业务流程关系,当发生故障时,根据建立的业务流程关系提取出所有与故障相关的日志数据,实现故障时的业务流程的类别定位,包括:每一日志数据对应相应事件类型的日志模板,每一事件类型的日志模板属于相应业务流程的类别,基于此,预先采用监督学习的方式,学习不同日志数据中变量部分在业务流程上的逻辑关联;学习完毕后,根据每一日志数据中的变量部分,以及归类的事件类型的日志模板所属业务流程的类别进行流程化匹配,建立不同日志数据之间业务流程关系,获得操作流向图;基于操作流向图,能够获取故障前后具有逻辑关联的日志数据,实现故障时的业务流程的类别定位;
以及,针对每个子系统,对于每一事件类型,使用对应的日志数据进行深度学习,设定相应日志数据中变量部分的预警阈值,并在相应日志数据中变量部分不满足预警阈值的要求时输出预警提示。
2.根据权利要求1所述的一种调度集中系统的自动化故障分析方法,其特征在于,所述对每一日志数据分别进行结构化解析,将每一日志数据划分为常量部分与变量部分包括:采用自然语言处理技术,对每一日志数据进行分词,再根据分词结果划分为常量和变量部分。
3.根据权利要求2所述的一种调度集中系统的自动化故障分析方法,其特征在于,所述采用自然语言处理技术,对每一日志数据进行分词包括:
对于每一日志数据,采用正则表达式进行句子的拆分,针对拆分后的每一个句子分别进行分词,分词方式如下:利用句子中的汉字构建一个有向无环图,每一个汉字是一个节点,两个节点之间的边为一个词组,边的方向代表着词组的顺序,词组为两个节点对应汉字在所属句子中的词语,且词组的第一个汉字为边的头部节点对应汉字,边的权重为词语的词频P(x),通过自然语言处理技术结合边的权重计算每一候选路径的概率,选择最大概率的后续路径作为最优路径,最优路径中的各个边对应的词语即为句子的分词结果,每一候选路径是从第一个字对应的节点直至最后一个字对应的节点形成的串联路径,包含有多个节点与节点之间的边。
4.根据权利要求1所述的一种调度集中系统的自动化故障分析方法,其特征在于,日志数据中的常量部分为固定的描述方式,与相应的事件类型对应,变量部分记录子系统运行时的可变参数及参数的值。
5.根据权利要求1或4所述的一种调度集中系统的自动化故障分析方法,其特征在于,所述根据常量部分进行事件类型匹配,将每一日志数据归类于为对应事件类型的日志模板包括:将每一日志数据的常量部分进行事件类型匹配,构建各事件类型的日志模板,并根据事件类型匹配结果,将日志数据每一日志数据归类于为对应事件类型的日志模板。
6.根据权利要求1所述的一种调度集中系统的自动化故障分析方法,其特征在于,所述根据业务流程对各事件类型的日志模板进行分类,获得各事件类型的日志模板所属业务流程的类别包括:
根据业务流程的顺序进行类别划分,将各事件类型的日志模板的常量部分分别与每一业务流程的类别进行近义词匹配,根据匹配结果,确定各事件类型的日志模板所属业务流程的类别。
7.根据权利要求1所述的一种调度集中系统的自动化故障分析方法,其特征在于,还包括:针对指定事件类型的日志模板添加处置建议,处置建议包含指定事件类型在历史时刻发生的条件、分析流程以及处置方案。
8.根据权利要求1所述的一种调度集中系统的自动化故障分析方法,其特征在于,所述针对每个子系统,对于每一事件类型,使用对应的日志数据进行深度学习,设定相应日志数据中变量部分的预警阈值,并在相应日志数据中变量部分不满足预警阈值的要求时输出预警提示包括:
针对每个子系统,对于每一事件类型,收集一个时间段内正常情况下日志数据中变量部分,形成变量集合,使用极大似然法估算出,变量集合服从的多元高斯分布的均值向量和协方差矩阵,根据均值向量和协方差矩阵计算预警阈值;
在子系统运行中,从日志数据中划分出变量部分,并结合多元高斯分布的均值向量和协方差矩阵,计算变量部分在多元高斯分布下的概率密度,若概率密度小于预警阈值,则输出预警提示;
并且,结合预警情况的准确率和召回率对预警阈值进行评估,基于评估结果判断是否继续,优化预警阈值;若评估结果不满足设定要求,则持续不断的利用收集的变量集合,优化预警阈值。
9.一种调度集中系统的自动化故障分系统,其特征在于,用于实现权利要求1~8任一项所述的方法,该系统包括:
日志数据抓取模块,用于抓取CTC系统中各子系统产生的日志数据;
日志数据初步解析模块,用于对每一日志数据分别进行结构化解析,将每一日志数据划分为常量部分与变量部分,并根据常量部分进行事件类型匹配,将每一日志数据归类于为对应事件类型的日志模板;
日志模板归类与故障定位模块,用于根据业务流程对各事件类型的日志模板进行分类,获得各事件类型的日志模板所属业务流程的类别,再结合每一日志数据中的变量部分,以及归类的事件类型的日志模板所属业务流程的类别进行流程化匹配,建立不同日志数据之间业务流程关系,当发生故障时,根据建立的业务流程关系提取出所有与故障相关的日志数据,实现故障时的业务流程的类别定位,包括:每一日志数据对应相应事件类型的日志模板,每一事件类型的日志模板属于相应业务流程的类别,基于此,预先采用监督学习的方式,学习不同日志数据中变量部分在业务流程上的逻辑关联;学习完毕后,根据每一日志数据中的变量部分,以及归类的事件类型的日志模板所属业务流程的类别进行流程化匹配,建立不同日志数据之间业务流程关系,获得操作流向图;基于操作流向图,能够获取故障前后具有逻辑关联的日志数据,实现故障时的业务流程的类别定位;
预警模块,用于针对每个子系统,对于每一事件类型,使用对应的日志数据进行深度学习,设定相应日志数据中变量部分的预警阈值,并在相应日志数据中变量部分不满足预警阈值的要求时输出预警提示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410130771.6A CN117667497B (zh) | 2024-01-31 | 2024-01-31 | 一种调度集中系统的自动化故障分析方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410130771.6A CN117667497B (zh) | 2024-01-31 | 2024-01-31 | 一种调度集中系统的自动化故障分析方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117667497A CN117667497A (zh) | 2024-03-08 |
CN117667497B true CN117667497B (zh) | 2024-04-16 |
Family
ID=90071633
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410130771.6A Active CN117667497B (zh) | 2024-01-31 | 2024-01-31 | 一种调度集中系统的自动化故障分析方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117667497B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11348787A (ja) * | 1998-06-05 | 1999-12-21 | Mitsubishi Electric Corp | 列車運行管理装置及び列車運行管理装置の異常診断方法 |
JP2018020729A (ja) * | 2016-08-05 | 2018-02-08 | 株式会社日立製作所 | 列車制御装置 |
CN114329453A (zh) * | 2022-01-06 | 2022-04-12 | 河海大学 | 一种基于系统日志的异常检测方法 |
CN115269314A (zh) * | 2022-07-13 | 2022-11-01 | 北京云集智造科技有限公司 | 一种基于日志的事务异常检测方法 |
CN115659244A (zh) * | 2022-10-14 | 2023-01-31 | 中国铁路网络有限公司 | 故障预测方法、装置及存储介质 |
-
2024
- 2024-01-31 CN CN202410130771.6A patent/CN117667497B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11348787A (ja) * | 1998-06-05 | 1999-12-21 | Mitsubishi Electric Corp | 列車運行管理装置及び列車運行管理装置の異常診断方法 |
JP2018020729A (ja) * | 2016-08-05 | 2018-02-08 | 株式会社日立製作所 | 列車制御装置 |
CN114329453A (zh) * | 2022-01-06 | 2022-04-12 | 河海大学 | 一种基于系统日志的异常检测方法 |
CN115269314A (zh) * | 2022-07-13 | 2022-11-01 | 北京云集智造科技有限公司 | 一种基于日志的事务异常检测方法 |
CN115659244A (zh) * | 2022-10-14 | 2023-01-31 | 中国铁路网络有限公司 | 故障预测方法、装置及存储介质 |
Non-Patent Citations (1)
Title |
---|
日志多维度无监督异常检测算法;邱连涛 等;小型微型计算机系统;20220831;第43卷(第08期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN117667497A (zh) | 2024-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108038049B (zh) | 实时日志控制系统及控制方法、云计算系统及服务器 | |
CN110516063A (zh) | 一种服务系统的更新方法、电子设备及可读存储介质 | |
CN116184930B (zh) | 数控机床故障预测方法、装置、设备及存储介质 | |
CN114707401A (zh) | 信号系统设备的故障预警方法及装置 | |
CN115981984A (zh) | 一种设备故障检测方法、装置、设备及存储介质 | |
CN111209472A (zh) | 一种铁路事故故障关联和事故故障原因分析方法及系统 | |
CN109547251B (zh) | 一种基于监控数据的业务系统故障与性能预测方法 | |
CN116010886B (zh) | 安全监测方法、装置、电子设备和存储介质 | |
CN115865483A (zh) | 一种基于机器学习的异常行为分析方法和装置 | |
CN115905417A (zh) | 一种系统异常检测处理方法及装置 | |
CN114647558A (zh) | 一种日志异常检测的方法和装置 | |
CN115859191A (zh) | 故障诊断方法、装置、计算机可读存储介质及计算机设备 | |
CN115758183A (zh) | 日志异常检测模型的训练方法及装置 | |
CN111666978A (zh) | 一种it系统运维大数据的智能故障预警系统 | |
Li et al. | Improving performance of log anomaly detection with semantic and time features based on bilstm-attention | |
CN117544482A (zh) | 基于ai的运维故障确定方法、装置、设备和存储介质 | |
CN117667497B (zh) | 一种调度集中系统的自动化故障分析方法及系统 | |
CN116432099A (zh) | 日志分类方法、装置、电子设备及存储介质 | |
CN117216713A (zh) | 故障定界方法、装置、电子设备和存储介质 | |
CN114465875B (zh) | 故障处理方法及装置 | |
CN116756659A (zh) | 智能运维管理方法、装置、设备及存储介质 | |
CN111352820A (zh) | 一种高性能应用运行状态预测和监控方法、设备和装置 | |
CN114157553B (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN115470854A (zh) | 信息系统故障分类方法及分类系统 | |
CN115062144A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |