CN113127315A - 一种消息队列故障预测方法、装置、设备及存储介质 - Google Patents

一种消息队列故障预测方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN113127315A
CN113127315A CN202010049626.7A CN202010049626A CN113127315A CN 113127315 A CN113127315 A CN 113127315A CN 202010049626 A CN202010049626 A CN 202010049626A CN 113127315 A CN113127315 A CN 113127315A
Authority
CN
China
Prior art keywords
fault
index
information
historical
message queue
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
CN202010049626.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.)
China Mobile Communications Group Co Ltd
China Mobile Suzhou Software Technology Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Suzhou Software 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 China Mobile Communications Group Co Ltd, China Mobile Suzhou Software Technology Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN202010049626.7A priority Critical patent/CN113127315A/zh
Publication of CN113127315A publication Critical patent/CN113127315A/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/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/3452Performance evaluation by statistical analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请实施例公开了一种消息队列故障预测方法、装置、设备及存储介质,该方法包括:获取消息队列至少一个历史故障的历史故障信息,以及每一个历史故障之前的第一时间段的历史指标信息;利用至少一个历史故障的历史故障信息和历史指标信息构建消息队列故障的属性信息;在根据消息队列的当前指标信息预测得到未来时间段的预测指标信息之后,能够根据至少一类故障的属性信息和预测指标信息对消息队列进行故障预测,得到预测故障信息,比如,确定故障名称和故障位置,从而实现对消息队列故障的准确预测。

Description

一种消息队列故障预测方法、装置、设备及存储介质
技术领域
本申请涉及计算机技术,尤其涉及一种消息队列故障预测方法、装置、设备及存储介质。
背景技术
在现代软件***架构中,消息队列的运用非常普遍,消息队列能够高效处理并发请求,可以实现多个单元之间的非实时通信,实现单元之间的解耦。但是如果消息队列出现各种故障(如消息过渡积压、出队缓慢、入队缓慢等),将会对业务带来灾难性的影响,所以针对于消息队列的监控也是软件***质量保证中的重中之重。
现有技术对于消息队列的监控,能够对已经产生的消息队列故障进行检测,或者对消息队列指标的异常情况进行实时检测,很难实现对消息队列故障的准确预测。
发明内容
为解决上述技术问题,本申请实施例期望提供一种消息队列故障预测方法、装置、设备及存储介质。
本申请的技术方案是这样实现的:
第一方面,提供了一种消息队列故障预测方法,所述方法包括:
获取消息队列至少一个历史故障的历史故障信息,以及每一个历史故障之前的第一时间段的历史指标信息;
基于所述至少一个历史故障的历史故障信息和历史指标信息,得到至少一类故障的属性信息;
获取所述消息队列当前时间段的当前指标信息,并基于所述当前指标信息预测所述当前时间段之后的第二时间段所述消息队列的预测指标信息;
基于所述至少一类故障的属性信息和所述预测指标信息对所述消息队列进行故障预测,得到所述消息队列的预测故障信息。
上述方案中,所述基于所述至少一个历史故障的历史故障信息和历史指标信息,得到至少一类故障的属性信息,包括:采用数据处理算法对所述至少一个历史故障的历史指标信息进行处理,得到至少一个历史故障的指标变化特性;利用所述至少一个历史故障的历史故障信息和指标变化特性,构建所述至少一个历史故障的属性信息;采用聚类算法对所述至少一个历史故障的属性信息进行聚类,得到至少一类故障的属性信息。
上述方案中,所述基于所述至少一类故障的属性信息和所述预测指标信息对所述消息队列进行故障预测,得到所述消息队列的预测故障信息,包括:采用所述数据处理算法对所述预测指标信息进行处理,得到预测指标变化特性;将所述预测指标变化特性与所述至少一类故障的属性信息进行匹配,确定指标变化特性匹配的目标属性信息;将所述目标属性信息中的故障信息作为所述预测故障信息。
上述方案中,所述指标变化特征包括指标区间和指标变化率区间;
所述数据处理算法包括:获取指标信息中第一种指标的第一指标值;其中,所述第一种指标为所述指标信息中任意一种指标;基于所述第一种指标对应的M个指标区间,确定所述第一指标值所在的目标指标区间;其中,M取大于1的整数;计算所述第一指标值相对于前一时刻对应的第二指标值的指标变化率;基于所述第一种指标对应的N个指标变化率区间,确定所述第一指标值所在的目标变化率区间;其中,N取大于1的整数。
上述方案中,所述采用聚类算法对所述至少一个历史故障的属性信息进行聚类,得到至少一类故障的属性信息,包括:采用聚类算法对所述至少一个历史故障的属性信息进行聚类,得到P个类簇;其中,每一个类簇中包含至少一个历史故障的属性信息;对所述P个类簇进行筛选,得到Q个有效类簇;其中,Q取小于或者等于P的整数;对每一个有效类簇中的属性信息进行特征提取,得到所述至少一类故障的属性信息。
上述方案中,所述对所述P个类簇进行筛选,得到Q个有效类簇,包括:筛选出所述P个类簇中历史故障数量大于数量阈值的Q个类簇作为有效类簇。
上述方案中,所述指标信息包括以下至少一种:入队消息数、出队消息数和积压消息数;所述故障信息包括:故障名称和故障位置。
第二方面,提供了一种消息队列故障预测的装置,所述装置包括:
获取单元,用于获取消息队列至少一个历史故障的历史故障信息,以及每一个历史故障之前的第一时间段的历史指标信息;
故障分析单元,用于基于所述至少一个历史故障的历史故障信息和历史指标信息,得到至少一类故障的属性信息;
第一预测单元,用于获取所述消息队列当前时间段的当前指标信息,并基于所述当前指标信息预测所述当前时间段之后的第二时间段所述消息队列的预测指标信息;
第二预测单元,用于基于所述至少一类故障的属性信息和所述预测指标信息对所述消息队列进行故障预测,得到所述消息队列的预测故障信息。
第三方面,提供了一种电子设备,包括:处理器和配置为存储能够在处理器上运行的计算机程序的存储器,其中,所述处理器配置为运行所述计算机程序时,执行前述方法的步骤。
第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,其中,该计算机程序被处理器执行时实现前述方法的步骤。
采用上述技术方案,获取消息队列至少一个历史故障的历史故障信息,以及每一个历史故障之前的第一时间段的历史指标信息;利用至少一个历史故障的历史故障信息和历史指标信息构建消息队列故障的属性信息;在根据消息队列的当前指标信息预测得到未来时间段的预测指标信息之后,能够根据至少一类故障的属性信息和预测指标信息对消息队列进行故障预测,得到预测故障信息,比如,确定故障名称和故障位置,从而实现对消息队列故障的准确预测。
附图说明
图1为本申请实施例中消息队列故障预测方法的第一流程示意图;
图2为本申请实施例中消息队列故障预测方法的第二流程示意图;
图3为本申请实施例中消息队列故障预测方法的第三流程示意图;
图4为本申请实施例中消息队列预测***的组成结构示意图;
图5为本申请实施例中消息队列故障预测装置的组成结构示意图;
图6为本申请实施例中电子设备的组成结构示意图。
具体实施方式
为了能够更加详尽地了解本申请实施例的特点与技术内容,下面结合附图对本申请实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本申请实施例。
实施例一
本申请实施例提供了一种消息队列故障预测方法,图1为本申请实施例中消息队列故障预测的第一流程示意图,如图1所示,该方法具体可以包括:
步骤101:获取消息队列至少一个历史故障的历史故障信息,以及每一个历史故障之前的第一时间段的历史指标信息;
步骤102:基于所述至少一个历史故障的历史故障信息和历史指标信息,得到至少一类故障的属性信息;
步骤103:获取所述消息队列当前时间段的当前指标信息,并基于所述当前指标信息预测所述当前时间段之后的第二时间段所述消息队列的预测指标信息;
步骤104:基于所述至少一类故障的属性信息和所述预测指标信息对所述消息队列进行故障预测,得到所述消息队列的预测故障信息。
这里,步骤101至步骤104的执行主体可以为用于执行消息队列故障预测功能的电子设备的处理器。
实际应用中,消息队列的故障监控单元用于采集并存储消息队列的故障信息,故障信息可以包括:故障名称、故障位置、故障时间等。因此,可以从故障监控单元中获取一段时间内消息队列的所有历史故障的历史故障信息。
故障监控单元还可以实时采集消息队列的指标信息,并且在检测到消息队列故障时保存故障之前第一时间段内的历史指标信息。这里,第一时间段可以为产生故障时前N分钟(N可以取1-30分钟)内关键指标的指标信息。这里,关键指标可以是用于指示故障名称的指标,比如关键指标为入队消息数、出队消息数或积压消息数等。因此,也可以从故障监控单元中获取历史故障的历史指标信息。
实际应用中,可以直接保存一段时间内采集的所有消息队列的指标信息,在确定了历史故障产生时刻时,再获取历史故障产生时刻之前第一时间段内的历史指标信息。
这里,每一个历史故障之前的第一时间段的历史指标信息用于指示历史故障产生之前消息队列的指标特征,故障信息用于指示故障名称和故障产生位置。通过构建不同类型消息队列故障的属性信息,将历史故障信息和历史故障之前消息队列的指标特征之间建立关联关系。
进一步的,通过实时获取到的当前时间段的当前指标信息,对未来第二时间段消息队列的指标进行预测,得到预测指标信息;根据预测指标信息所指示的消息队列的指标特征,结合消息队列故障的属性信息,判断第二时间段之后消息队列是否存在故障,若存在故障还能够确定具体的故障信息。
具体的,判断第二时间段之后消息队列是否存在故障可以包括:预测指标信息作为索引信息,查询至少一类故障的属性信息,若存在与预测指标信息匹配的指标信息时,则确定消息队列存在故障,进一步将匹配的指标信息所在的属性信息中关联的故障信息作为预测故障信息;若不存在与预测指标信息匹配的指标信息时,则确定消息队列不存在故障。
在一些实施例中,步骤102的实现步骤具体可以包括以下:
步骤201:采用数据处理算法对所述至少一个历史故障的历史指标信息进行处理,得到至少一个历史故障的指标变化特性;
具体的,所述指标变化特征包括指标区间和指标变化率区间;所述数据处理算法包括:获取指标信息中第一种指标的第一指标值;其中,所述第一种指标为所述指标信息中任意一种指标;基于所述第一种指标对应的M个指标区间,确定所述第一指标值所在的目标指标区间;其中,M取大于1的整数;计算所述第一指标值相对于前一时刻对应的第二指标值的指标变化率;基于所述第一种指标对应的N个指标变化率区间,确定所述第一指标值所在的目标变化率区间;其中,N取大于1的整数。
这里,指标信息为历史故障对应的历史指标信息。
这里,第一种指标对应的M个指标区间的获取方法包括:根据第一种指标的历史数据确定第一种指标在一段时间内的最大值和最小值,根据第一种指标的最大值和最小值确定总区间,将第一种指标的总区间进行M等分得到M个指标区间。比如,M可以取3、4、5、6等整数。
示例性的,最大值与最小值之间线性划分为等分的五个区间,每个区间采用对应的区间编码表示,分别为EL很低/SL偏低/C普通/SH偏高/EH很高5个区间编码,当前值处在哪一个区间,则采用对应的区间编码表示。
第一种指标为指标信息中任意一种指标。比如,指标信息中包含入队消息数、出队消息数和积压消息数,第一种指标为入队消息数、出队消息数或积压消息数。
在一些实施例中,计算所述第一指标值相对于前一时刻对应的第二指标值的指标变化率为:计算第一指标值与第二指标值的差值,将差值除以第二指标值得到第一指标值的指标变化率。这里,指标变化率包括增加和降低两种情况,可以用指标变化率的正负表征增加或降低,或者用其他指示标识来表征增加或降低。
这里,第一种指标对应的N个指标变化率区间的获取方法可以包括:将增加率从0-(+∞)划分为N/2个增加率区间,将降低率从0-(-∞)划分为N/2个降低率区间,划分方式可以为等间隔或不等间隔。
示例性的,N取8时,8个指标变化率区间为增加不足20%/增加20%-30%/增加30%-70%/增加大于70%/降低不足20%/降低20%-30%/降低30%-70%/降低大于70%。每个区间采用对应的区间编码表示,分别为A20/A230/A370/A710/R20/R230/R370/R710八个区间编码,对当前指标值和前一时刻指标值进行差分运算,计算得出当前指标值的变化率,变化率介于哪一个区间就采用对应的区间编码表示。指标信息中每一种指标值都是按照时间序列排序的,其中一个指标值的前一时刻可以为相邻的前一时刻或者间隔一定个数的前一时刻,对于指标信息中第一个时刻的指标值其前一时刻可以为默认的初始值或者消息队列更早时刻的指标值。
采用上述分析方法可以分析得到每一种指标的指标变化特性。通过上述数据处理算法对每一种指标值和指标值的变化率进行归一化处理,以方便后续对消息队列故障的聚类处理。
步骤202:利用所述至少一个历史故障的历史故障信息和指标变化特性,构建所述至少一个历史故障的属性信息;
这里,属性信息包括故障信息和指标变化特性,故障信息可以包括故障名称和故障位置,指标变化特性以下至少一种指标的变化特性:入队消息数IC、出队消息数OC、积压消息数PC,指标变化特定可以包括指标区间和指标变化率区间这两种。
比如,属性信息可以包括:消息队列阻塞/HS56消息队列5号TOPIC/IC-EH/IC-A20/OC-EL/OC-R710/PC-C/PC-370。
实际应用中,历史故障信息的属性信息中还可以包括故障时间。
步骤203:采用聚类算法对所述至少一个历史故障的属性信息进行聚类,得到至少一类故障的属性信息。
在一些实施例中,聚类方法具体包括:采用聚类算法对所述至少一个历史故障的属性信息进行聚类,得到P个类簇;其中,每一个类簇中包含至少一个历史故障的属性信息;对所述P个类簇进行筛选,得到Q个有效类簇;其中,Q取小于或者等于P的整数;对每一个有效类簇中的属性信息进行特征提取,得到所述至少一类故障的属性信息。
具体的,所述对所述P个类簇进行筛选,得到Q个有效类簇,包括:筛选出所述P个类簇中历史故障数量大于数量阈值的Q个类簇作为有效类簇。
也就是说,选取过去一定时间段(如6个月)内所有故障数据按照前面方法构建属性信息条目。可能产生数十万级别的故障条目,针对所有属性信息条目进行文本聚类,可采用凝聚层级聚类(Hierarchical Agglomerative Cluster,HAC)、K-means等文本聚类算法进行,经过聚类运算将产生多个类簇,每个类簇具有较相似的指标变化特性,可以表示一类消息队列故障。
进一步的,步骤104的实现步骤具体可以包括以下:
步骤301:采用所述数据处理算法对所述预测指标信息进行处理,得到预测指标变化特性;
具体的,所述指标变化特征包括指标区间和指标变化率区间;所述数据处理算法包括:获取指标信息中第一种指标的第一指标值;其中,所述第一种指标为所述指标信息中任意一种指标;基于所述第一种指标对应的M个指标区间,确定所述第一指标值所在的目标指标区间;其中,M取大于1的整数;计算所述第一指标值相对于前一时刻对应的第二指标值的指标变化率;基于所述第一种指标对应的N个指标变化率区间,确定所述第一指标值所在的目标变化率区间;其中,N取大于1的整数。
这里,指标信息为预测指标信息。
这里,第一种指标对应的M个指标区间的获取方法包括:根据第一种指标的历史数据确定第一种指标在一段时间内的最大值和最小值,根据第一种指标的最大值和最小值确定总区间,将第一种指标的总区间进行M等分得到M个指标区间。比如,M可以取3、4、5、6等整数。
示例性的,最大值与最小值之间线性划分为等分的五个区间,每个区间采用对应的区间编码表示,分别为EL很低/SL偏低/C普通/SH偏高/EH很高5个区间编码,当前值处在哪一个区间,则采用对应的区间编码表示。
第一种指标为指标信息中任意一种指标。比如,指标信息中包含入队消息数、出队消息数和积压消息数,第一种指标为入队消息数、出队消息数或积压消息数。
在一些实施例中,计算所述第一指标值相对于前一时刻对应的第二指标值的指标变化率为:计算第一指标值与第二指标值的差值,将差值除以第二指标值得到第一指标值的指标变化率。这里,指标变化率包括增加和降低两种情况,可以用指标变化率的正负表征增加或降低,或者用其他指示标识来表征增加或降低。
这里,第一种指标对应的N个指标变化率区间的获取方法可以包括:将增加率从0-(+∞)划分为N/2个增加率区间,将降低率从0-(-∞)划分为N/2个降低率区间,划分方式可以为等间隔或不等间隔。
示例性的,N取8时,8个指标变化率区间为增加不足20%/增加20%-30%/增加30%-70%/增加大于70%/降低不足20%/降低20%-30%/降低30%-70%/降低大于70%。每个区间采用对应的区间编码表示,分别为A20/A230/A370/A710/R20/R230/R370/R710八个区间编码,对当前指标值和前一时刻指标值进行差分运算,计算得出当前时刻与前一时刻的变化率,变化率介于哪一个区间就采用对应的区间编码表示。
采用上述分析方法可以分析得到每一种指标的指标变化特性。通过上述数据处理算法对每一种指标值和指标值的变化率进行归一化处理,以方便后续对消息队列故障的聚类处理。
步骤302:将所述预测指标变化特性与所述至少一类故障的属性信息进行匹配,确定指标变化特性匹配的目标属性信息;
具体的,将预测指标信息作为索引信息,查询至少一类故障的属性信息,若存在与预测指标信息匹配的指标信息时,则确定消息队列存在故障,相匹配的指标信息所在的属性信息即为目标属性信息;若不存在与预测指标信息匹配的指标信息时,则确定消息队列不存在故障。
步骤303:将所述目标属性信息中的故障信息作为所述预测故障信息。
采用上述技术方案,获取消息队列至少一个历史故障的历史故障信息,以及每一个历史故障之前的第一时间段的历史指标信息;利用至少一个历史故障的历史故障信息和历史指标信息构建消息队列故障的属性信息;在根据消息队列的当前指标信息预测得到未来时间段的预测指标信息之后,能够根据至少一类故障的属性信息和预测指标信息对消息队列进行故障预测,得到预测故障信息,比如,确定故障名称和故障位置,从而实现对消息队列故障的准确预测。
在上述实施例的基础上结合消息队列预测***框架提供了一种更详细消息队列预测流程,图4为本申请实施例中消息队列预测***的组成结构示意图,如图4所示,该消息队列预测***包括:消息队列告警单元401、故障关联分析单元402、故障指标关联存储单元403、时序数据预测单元404和故障预测单元405。
***的工作流程如下:
1、故障与指标的关联规则的挖掘;
a)故障和指标收集:故障关联分析单元402从消息队列告警单元401中提取历史故障信息,从消息队列中提取消息队列在历史故障时前N分钟(如N可介于1-30之间,N=2代表着预测未来2分钟内的故障)内关键指标(包括入队消息数、出队消息数、积压消息数三项)取值收集起来;
b)故障数据分析:故障关联分析单元402分析获取的历史指标信息,并建立历史指标信息和历史故障信息的关联关系。
具体的,从历史故障信息中选取故障名称(如消息超时、消息丢失等)/故障位置(如X消息队列Y主题)/故障时间(精确到秒);同时查询该Y主题故障发生时刻前N分钟的三个指标序列,即前面所述的入队消息数IC、出队消息数OC、积压消息数PC三项,每个指标一个序列,序列长度为N(当N=1时,序列即是一个分种的取值,当序列内包含N个指标值时每个指标值采取分钟平均值方式计算得来,比如,1分钟内采集M个指标值,取M个指标值的平均值作为该分钟对应的指标值)。由此得到一条故障的属性信息包括:故障名称/故障位置/故障时间/入队消息数指标值/出队消息数指标值/积压消息数指标值;
针对上述产出的故障属性信息进行进一步处理,及针对三个指标进行扩充,实现将指标的变化规律特性表现出来,每个指标扩充为两个指标,分别为A{指标区间}和B{指标变化率区间},区间划分方式如下:
A{指标区间}:最大值与最小值之间线性划分为等分的五个区间,每个区间采用对应的区间编码表示,分别为EL很低/SL偏低/C普通/SH偏高/EH很高5个区间编码,当前值处在哪一个区间,则采用对应的区间编码表示。
B{指标变化率区间}:按照不足20%/20%-30%/30%-70%/大于70%,以及增加和降低两个维度,共划分出8个区间,分别为A20/A230/A370/A710/R20/R230/R370/R710八个区间编码,对当前指标值与前一分钟指标值进行差分运算,计算得出当前指标值的变化率,变化比例介于哪一个区间就采用对应的区间编码表示;
上述两个区间编码需要在编码前面加上指标代号,如:IC-EH,代表入队消息数指标当前很高;PC-R230,代表出队消息数指标降低处于20%-30%之间。
经过上面的处理,每一条故障的属性信息被扩充为:
故障名称/故障位置/故障时间/入队消息数当前指标值区间/入队消息数变化率区间/出队消息数当前指标值区间/出队消息数变化率区间/积压消息数当前指标值区间/积压消息数变化率区间,共9个字段,示例如下:
消息队列阻塞/HS56消息队列5号TOPIC/20190828195034/IC-EH/IC-A20/OC-EL/OC-R710/PC-C/PC-370
c)属性信息聚类:选取过去一定时间段(如6个月)内所有故障数据按照前面方法构建属性信息条目。可能产生数十万级别的故障条目,针对所有属性信息条目进行文本聚类,可采用凝聚层级聚类(Hierarchical Agglomerative Cluster,HAC)、K-means等文本聚类算法进行,经过聚类运算将产生多个类簇,每个类簇具有较相似的指标变化特性,可以表示一类消息队列故障,举例描述如下:
类簇一:包含456条故障,特征可大致表述为:
消息队列阻塞-5号TOPIC-入队消息数较高-入队消息数增加30%到70%-积压消息数较高-积压消息数升高70%以上
类簇二:包含235条故障,特征可大致表述为:
消息队列消费消息超时-出队消息数较低-出队消息数降低20%以下-积压消息数很高-积压消息数升高70%以上
类簇三:….
通过对历史故障的属性信息进行聚类,提取出相似的指标变化特性,每个类簇具有较相似的指标变化特性可以表示一类消息队列故障。
d)将以上各个类簇中含故障数大于S(S越大说明类簇越有效,可根据实际情况设定,如30)的类簇信息,存储于故障指标关联存储单元403,简称为RDB_FR,可使用关系型数据库存储,具体存储规则:
类簇编号/类簇包含故障数/三个指标(每个指标当前指标区间编码/指标变化区间编码两字段)/故障名称/故障位置共10个字段。
2、时序数据预测:
针对于消息队列所有端口的三个指标(IC/OC/PC)的实时指标信息(同为分钟粒度的平均值),输入到时序数据预测单元404,该单元内通过时序数据的常规预测算法,比如差分整合移动平均自回归模型(Autoregressive Integrated Moving Average model,ARIMA),预测出未来一分钟的各个指标的值;将三个指标的实时指标信息和下一分钟预测指标信息,共计6个值传递给故障实时预测单元;
3、故障实时预测;
故障预测单元405对预测指标信息进行分析,得到预测指标变化特征,根据预测指标变化特征在故障指标关联存储单元403中查找相匹配的目标属性信息,故障预测单元405输出预测故障信息。
a)预测指标特征计算:获取时序数据预测单元传过来的预测指标信息,计算预测指标信息中每个指标的指标区间,和指标变化率区间(计算方法同前面第1步中第b)小步所述);
b)在a)内已经将预测指标的变化特征识别出来,进而通过该特征去故障指标关联存储单元403内查找,如果发现指标变化特征相匹配的属性信息,则取出属性信息的全部字段,进行可视化展示,其中“故障名称”和“故障位置”两个字段既可以作为即将发生(下一分钟)的故障,进行告警和通知,或结合自动化的应急手段进行故障规避。
随着故障数据的不断积累,故障指标关联存储单元403内属性信息条目会越来越多,从而可以更高效的辅助运维人员预测出未来的故障。
该***可以总结历史故障的规律,将故障与指标的变化规律结合起来,由于指标的不断劣化才导致了故障的发生,具有较好的解释性和合理性,同时针对实时指标进行未来短期的预测,识别出符合故障特征的指标变化规律,准确度较高。
实施例二
本申请实施例中还提供了一种消息队列故障预测的装置,如图5所示,该装置包括:
获取单元501,用于获取消息队列至少一个历史故障的历史故障信息,以及每一个历史故障之前的第一时间段的历史指标信息;
故障分析单元502,用于基于所述至少一个历史故障的历史故障信息和历史指标信息,得到至少一类故障的属性信息;
第一预测单元503,用于获取所述消息队列当前时间段的当前指标信息,并基于所述当前指标信息预测所述当前时间段之后的第二时间段所述消息队列的预测指标信息;
第二预测单元504,用于基于所述至少一类故障的属性信息和所述预测指标信息对所述消息队列进行故障预测,得到所述消息队列的预测故障信息。
在一些实施例中,故障分析单元502,具体用于采用数据处理算法对所述至少一个历史故障的历史指标信息进行处理,得到至少一个历史故障的指标变化特性;利用所述至少一个历史故障的历史故障信息和指标变化特性,构建所述至少一个历史故障的属性信息;采用聚类算法对所述至少一个历史故障的属性信息进行聚类,得到至少一类故障的属性信息。
在一些实施例中,所述第二预测单元504,具体用于采用所述数据处理算法对所述预测指标信息进行处理,得到预测指标变化特性;将所述预测指标变化特性与所述至少一类故障的属性信息进行匹配,确定指标变化特性匹配的目标属性信息;将所述目标属性信息中的故障信息作为所述预测故障信息。
在一些实施例中,所述指标变化特征包括指标区间和指标变化率区间;
所述故障分析单元502,具体用于获取指标信息中第一种指标的第一指标值;其中,所述第一种指标为所述指标信息中任意一种指标;基于所述第一种指标对应的M个指标区间,确定所述第一指标值所在的目标指标区间;其中,M取大于1的整数;计算所述第一指标值相对于前一时刻对应的第二指标值的指标变化率;基于所述第一种指标对应的N个指标变化率区间,确定所述第一指标值所在的目标变化率区间;其中,N取大于1的整数。
所述第二预测单元504,具体用于获取指标信息中第一种指标的第一指标值;其中,所述第一种指标为所述指标信息中任意一种指标;基于所述第一种指标对应的M个指标区间,确定所述第一指标值所在的目标指标区间;其中,M取大于1的整数;计算所述第一指标值相对于前一时刻对应的第二指标值的指标变化率;基于所述第一种指标对应的N个指标变化率区间,确定所述第一指标值所在的目标变化率区间;其中,N取大于1的整数。
在一些实施例中,故障分析单元502,具体用于采用聚类算法对所述至少一个历史故障的属性信息进行聚类,得到P个类簇;其中,每一个类簇中包含至少一个历史故障的属性信息;对所述P个类簇进行筛选,得到Q个有效类簇;其中,Q取小于或者等于P的整数;对每一个有效类簇中的属性信息进行特征提取,得到所述至少一类故障的属性信息。
在一些实施例中,故障分析单元502,具体用于筛选出所述P个类簇中历史故障数量大于数量阈值的Q个类簇作为有效类簇。
在一些实施例中,所述指标信息包括以下至少一种:入队消息数、出队消息数和积压消息数;所述故障信息包括:故障名称和故障位置。
采用上述技术方案,获取消息队列至少一个历史故障的历史故障信息,以及每一个历史故障之前的第一时间段的历史指标信息;利用至少一个历史故障的历史故障信息和历史指标信息构建消息队列故障的属性信息;在根据消息队列的当前指标信息预测得到未来时间段的预测指标信息之后,能够根据至少一类故障的属性信息和预测指标信息对消息队列进行故障预测,得到预测故障信息,比如,确定故障名称和故障位置,从而实现对消息队列故障的准确预测。
本申请实施例还提供了一种电子设备,如图6所示,该电子设备包括:处理器601和配置为存储能够在处理器上运行的计算机程序的存储器602;处理器601运行存储器602中计算机程序时实现本申请实施例中的方法的步骤。
当然,实际应用时,如图6所示,该电子设备中的各个组件通过总线***603耦合在一起。可理解,总线***603用于实现这些组件之间的连接通信。总线***603除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图6中将各种总线都标为总线***603。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一实施例所述的方法的步骤。
在实际应用中,上述处理器可以为特定用途集成电路(ASIC,ApplicationSpecific Integrated Circuit)、数字信号处理装置(DSPD,Digital Signal ProcessingDevice)、可编程逻辑装置(PLD,Programmable Logic Device)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、控制器、微控制器、微处理器中的至少一种。可以理解地,对于不同的设备,用于实现上述处理器功能的电子器件还可以为其它,本申请实施例不作具体限定。
上述存储器可以是易失性存储器(volatile memory),例如随机存取存储器(RAM,Random-Access Memory);或者非易失性存储器(non-volatile memory),例如只读存储器(ROM,Read-Only Memory),快闪存储器(flash memory),硬盘(HDD,Hard Disk Drive)或固态硬盘(SSD,Solid-State Drive);或者上述种类的存储器的组合,并向处理器提供指令和数据。
需要说明的是:“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种消息队列故障预测方法,其特征在于,所述方法包括:
获取消息队列至少一个历史故障的历史故障信息,以及每一个历史故障之前的第一时间段的历史指标信息;
基于所述至少一个历史故障的历史故障信息和历史指标信息,得到至少一类故障的属性信息;
获取所述消息队列当前时间段的当前指标信息,并基于所述当前指标信息预测所述当前时间段之后的第二时间段所述消息队列的预测指标信息;
基于所述至少一类故障的属性信息和所述预测指标信息对所述消息队列进行故障预测,得到所述消息队列的预测故障信息。
2.根据权利要求1所述的方法,其特征在于,所述基于所述至少一个历史故障的历史故障信息和历史指标信息,得到至少一类故障的属性信息,包括:
采用数据处理算法对所述至少一个历史故障的历史指标信息进行处理,得到至少一个历史故障的指标变化特性;
利用所述至少一个历史故障的历史故障信息和指标变化特性,构建所述至少一个历史故障的属性信息;
采用聚类算法对所述至少一个历史故障的属性信息进行聚类,得到至少一类故障的属性信息。
3.根据权利要求2所述的方法,其特征在于,所述基于所述至少一类故障的属性信息和所述预测指标信息对所述消息队列进行故障预测,得到所述消息队列的预测故障信息,包括:
采用所述数据处理算法对所述预测指标信息进行处理,得到预测指标变化特性;
将所述预测指标变化特性与所述至少一类故障的属性信息进行匹配,确定指标变化特性匹配的目标属性信息;
将所述目标属性信息中的故障信息作为所述预测故障信息。
4.根据权利要求2或3所述的方法,其特征在于,所述指标变化特征包括指标区间和指标变化率区间;
所述数据处理算法包括:
获取指标信息中第一种指标的第一指标值;其中,所述第一种指标为所述指标信息中任意一种指标;
基于所述第一种指标对应的M个指标区间,确定所述第一指标值所在的目标指标区间;其中,M取大于1的整数;
计算所述第一指标值相对于前一时刻对应的第二指标值的指标变化率;
基于所述第一种指标对应的N个指标变化率区间,确定所述第一指标值所在的目标变化率区间;其中,N取大于1的整数。
5.根据权利要求2所述的方法,其特征在于,所述采用聚类算法对所述至少一个历史故障的属性信息进行聚类,得到至少一类故障的属性信息,包括:
采用聚类算法对所述至少一个历史故障的属性信息进行聚类,得到P个类簇;其中,每一个类簇中包含至少一个历史故障的属性信息;
对所述P个类簇进行筛选,得到Q个有效类簇;其中,Q取小于或者等于P的整数;
对每一个有效类簇中的属性信息进行特征提取,得到所述至少一类故障的属性信息。
6.根据权利要求5所述的方法,其特征在于,所述对所述P个类簇进行筛选,得到Q个有效类簇,包括:
筛选出所述P个类簇中历史故障数量大于数量阈值的Q个类簇作为有效类簇。
7.根据权利要求1所述的方法,其特征在于,所述指标信息包括以下至少一种:入队消息数、出队消息数和积压消息数;
所述故障信息包括:故障名称和故障位置。
8.一种消息队列故障预测的装置,其特征在于,所述装置包括:
获取单元,用于获取消息队列至少一个历史故障的历史故障信息,以及每一个历史故障之前的第一时间段的历史指标信息;
故障分析单元,用于基于所述至少一个历史故障的历史故障信息和历史指标信息,得到至少一类故障的属性信息;
第一预测单元,用于获取所述消息队列当前时间段的当前指标信息,并基于所述当前指标信息预测所述当前时间段之后的第二时间段所述消息队列的预测指标信息;
第二预测单元,用于基于所述至少一类故障的属性信息和所述预测指标信息对所述消息队列进行故障预测,得到所述消息队列的预测故障信息。
9.一种电子设备,所述电子设备包括:处理器和配置为存储能够在处理器上运行的计算机程序的存储器,
其中,所述处理器配置为运行所述计算机程序时,执行权利要求1至7任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至7任一项所述的方法的步骤。
CN202010049626.7A 2020-01-16 2020-01-16 一种消息队列故障预测方法、装置、设备及存储介质 Pending CN113127315A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010049626.7A CN113127315A (zh) 2020-01-16 2020-01-16 一种消息队列故障预测方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010049626.7A CN113127315A (zh) 2020-01-16 2020-01-16 一种消息队列故障预测方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN113127315A true CN113127315A (zh) 2021-07-16

Family

ID=76772205

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010049626.7A Pending CN113127315A (zh) 2020-01-16 2020-01-16 一种消息队列故障预测方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN113127315A (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110349289A (zh) * 2019-06-21 2019-10-18 东软集团股份有限公司 故障预测方法、装置、存储介质和电子设备
CN110502398A (zh) * 2019-08-21 2019-11-26 吉林吉大通信设计院股份有限公司 一种基于人工智能的交换机故障预测***及方法
WO2019233047A1 (zh) * 2018-06-07 2019-12-12 国电南瑞科技股份有限公司 基于电网调度的运维方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019233047A1 (zh) * 2018-06-07 2019-12-12 国电南瑞科技股份有限公司 基于电网调度的运维方法
CN110349289A (zh) * 2019-06-21 2019-10-18 东软集团股份有限公司 故障预测方法、装置、存储介质和电子设备
CN110502398A (zh) * 2019-08-21 2019-11-26 吉林吉大通信设计院股份有限公司 一种基于人工智能的交换机故障预测***及方法

Similar Documents

Publication Publication Date Title
CN111158977B (zh) 一种异常事件根因定位方法及装置
CN111475804B (zh) 一种告警预测方法及***
CN109981328B (zh) 一种故障预警方法及装置
CN107423202B (zh) 事件解析装置、事件解析***、事件解析方法及事件解析程序
CN110166264B (zh) 一种故障定位方法、装置及电子设备
CN111010291B (zh) 业务流程异常告警方法、装置、电子设备及存储介质
EP3026518A1 (en) Method for Root analysis of an alarm flood sequence
CN106600115A (zh) 一种企业信息***运维智能分析方法
CN110149223B (zh) 故障定位方法和设备
CN110502398B (zh) 一种基于人工智能的交换机故障预测***及方法
US9524223B2 (en) Performance metrics of a computer system
CN113297042B (zh) 一种告警消息的处理方法、装置及设备
EP2963552B1 (en) System analysis device and system analysis method
CN106254137A (zh) 监管***的告警根源分析***及方法
Folmer et al. Detection of temporal dependencies in alarm time series of industrial plants
CN113986595A (zh) 一种异常定位方法及装置
CN110388315A (zh) 基于多源信息融合的输油泵故障识别方法、装置及***
CN111813644A (zh) ***性能的评价方法、装置、电子设备和计算机可读介质
KR101960755B1 (ko) 미취득 전력 데이터 생성 방법 및 장치
US11378944B2 (en) System analysis method, system analysis apparatus, and program
CN113472582A (zh) 用于信息技术监控中的警报关联和警报聚合的***和方法
CN110059413B (zh) 一种故障诊断方法
CN113127315A (zh) 一种消息队列故障预测方法、装置、设备及存储介质
CN113535458B (zh) 异常误报的处理方法及装置、存储介质、终端
CN116187423A (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20210716