CN116841792B - 一种应用程序开发故障修复方法 - Google Patents

一种应用程序开发故障修复方法 Download PDF

Info

Publication number
CN116841792B
CN116841792B CN202311092709.4A CN202311092709A CN116841792B CN 116841792 B CN116841792 B CN 116841792B CN 202311092709 A CN202311092709 A CN 202311092709A CN 116841792 B CN116841792 B CN 116841792B
Authority
CN
China
Prior art keywords
fault
program
faults
application
value
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
Application number
CN202311092709.4A
Other languages
English (en)
Other versions
CN116841792A (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.)
Beijing Easy Zhiyuan Technology Co ltd
Original Assignee
Beijing Easy Zhiyuan 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 Easy Zhiyuan Technology Co ltd filed Critical Beijing Easy Zhiyuan Technology Co ltd
Priority to CN202311092709.4A priority Critical patent/CN116841792B/zh
Publication of CN116841792A publication Critical patent/CN116841792A/zh
Application granted granted Critical
Publication of CN116841792B publication Critical patent/CN116841792B/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/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/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques

Landscapes

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

Abstract

本发明涉及故障修复处理技术领域,特别是一种应用程序开发故障修复方法,包括使用分布式代理架构实现应用程序的运行数据采集;通过数据库将采集到的数据进行保存;通过页面可视化方式实现对于应用程序故障的展示;基于指数加权移动平均计算故障预警值;当出现故障时,触发器收到故障信号,当收集故障信号,并计算故障得分,当所述故障得分超过所述故障预警值时,触发器触发报警信号,并令目的主机执行修复程序。本发明所述方法通过对运行数据的深入分析和处理,能够准确地识别和分类故障,从而确保及时、准确地对故障进行响应;通过动态阈值调整技术,系统能够自动适应数据的变化,提供稳定、可靠的故障报警。

Description

一种应用程序开发故障修复方法
技术领域
本发明涉及故障修复处理技术领域,特别是一种应用程序开发故障修复方法。
背景技术
现如今,自动化故障处理逐渐得到业内人士的关注。传统的大型公司中部署应用大规模集群导致系统工作人员经常需要使用大量的时间处理重复出现的简单问题,除此之外,故障告警不及时,通常都会在问题产生后再去解决,使系统工作人员在处理故障上显得非常被动,不仅耗时耗力而且经常会引起一系列的连锁反应。为此,急切需要进行关于自动化故障处理的研究,对故障处理过程进行固化,减少重复性工作,降低时间和人力成本,提高工作人员的效率以及规范性。
发明内容
鉴于上述现有的应用程序开发故障修复方法中存在的问题,提出了本发明。
因此,本发明所要解决的问题在于如何准确地从大量的运行数据中识别出故障,对进行报警和处理。
为解决上述技术问题,本发明提供如下技术方案:一种应用程序开发故障修复方法,其包括,使用分布式代理架构实现应用程序的运行数据采集;通过数据库将采集到的数据进行保存;基于指数加权移动平均算法定时计算各个关键指标运行数据的故障预警值,并根据所述故障预警值得到故障报警值;当采集的关键指标运行数据高于其对应的故障预警值时,计算故障得分,当所述故障得分超过故障设定值,触发器触发报警信号,并令目的主机执行修复程序;当采集的关键指标运行数据高于其对应的故障报警值时,触发器直接触发报警信号,并令目的主机执行修复程序;通过页面可视化方式实现对于应用程序故障的展示。
作为本发明所述一种应用程序开发故障修复方法的一种优选方案,其中:基于指数加权移动平均算法定时计算各个关键指标运行数据的故障预警值包括如下步骤,
计算关键指标运行数据的指数加权移动平均值,采用如下公式,
式中,是在时间t的观测值,/>是在时间t的EWMA值,/>是权重因子;
计算移动标准差,采用如下公式,
式中,是在时间t的移动标准差;
计算自适应的故障预警值,采用如下公式,
式中,k为调整系数,为故障预警值。
作为本发明所述一种应用程序开发故障修复方法的一种优选方案,其中:所述应用程序故障按照优先级被顺序分为硬件故障、系统故障、程序故障与其他故障四类父系故障,而每个父系故障也拥有其子系故障;
当程序发生多个故障时,修复过程中同等父系故障的优先级是同时进行的;
当不同父系故障的修复过程修复优先级顺序是硬件故障、系统故障、程序故障与其他故障;
当出现多个故障处理时,进行多步骤顺序化处理,将故障恢复程序按照优先级进行排序,优先级最高的列为步骤1,优先级第二高的列为步骤2,以此类推。
作为本发明所述一种应用程序开发故障修复方法的一种优选方案,其中:计算故障得分包括如下步骤,
确定每种父系故障的关键指标;
对于每个关键指标,计算其当前值与其历史平均值之间的偏差,公式如下,
式中,是第i个关键指标的偏差,/>是第i个关键指标的当前值,/>是第i个关键指标的历史平均值;
通过历史标准差来标准化每个指标的偏差,公式如下,
式中,是指第i个关键指标的标准化偏差,/>是指第i个关键指标的历史标准差;
对于每个关键指标,计算加权得分,公式如下,
式中,是指第i个关键指标的加权得分,/>是指第i个关键指标的权重,
将所有关键指标的加权得分相加,得到故障得分。
作为本发明所述一种应用程序开发故障修复方法的一种优选方案,其中:在分布式代理架构中设置多步骤顺序化处理策略,其操作流程是:
在监控代理服务器上设置多个故障恢复程序,其优先级最高的步骤 1中故障恢复程序被推送到目的被监控对象上,目的主机执行步骤 1的操作,并把该操作的返回值发送给监控代理程序;
在执行步骤1的过程中,监控代理服务器一直对被监控对象进行实时的信息采集,如果故障成功完成恢复,则退出多步骤顺序化处理机制;
获取到步骤 1 的返回值后,若监控代理程序诊断出该故障还存在,则监控代理服务器继续按照多步骤顺序化处理策略的优先级排序进行推送步骤 2 的故障修复程序,被监控主机再次把返回值发送给监控代理程序,再次判断该故障是否依然存在,若不存在,则退出;
直到处理完成最后一个步骤的故障修复程序,若在此操作过程中故障提前恢复,将直接退出多步骤顺序化处理策略,不再有后续执行操作。
作为本发明所述一种应用程序开发故障修复方法的一种优选方案,其中:所述所有返回值在所述数据库的yaml管理器中进行管理,yaml是一个对数据具有较高可读性并且能够容易被计算机所辨别的序列化格式,选择将被监控端每一步骤处理程序的执行结果都使用 yam 数据格式来进行保存,并且将此文件又发送给监控端,监控端 server 根据返回值确定是否进行下一步操作。
作为本发明所述一种应用程序开发故障修复方法的一种优选方案,其中:所述监控端 server 的流程是:
yam1用于自动读取所有的多步骤顺序化处理执行的返回值;
在多步骤顺序化处理过程中,系统后端一共生成两个文件,一个文件为故障处理程序,另一个为 yaml 文件,主要用于多步骤顺序化处理过程中返回值的写入以读取上一步故障处理程序的执行结果;
多步骤顺序化处理的文件按照优先级自动更新名称,故障处理程序文件名称为actionnameN,而对应的yaml文件为actionnameNM;
返回值字段包括:字段 id、顺序处理名称、步骤号、返回值以及时间。
作为本发明所述一种应用程序开发故障修复方法的一种优选方案,其中:所有的返回值信息都会在所述页面可视化的Web界面中展示。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现应用程序开发故障修复方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现应用程序开发故障修复方法的步骤。
本发明有益效果为:通过对运行数据的深入分析和处理,能够准确地识别和分类故障,从而确保及时、准确地对故障进行响应;通过动态阈值调整技术,系统能够自动适应数据的变化,从而在不同的运行环境和条件下都能提供稳定、可靠的故障报警;通过自动化的故障识别、分类和报警,可以大大减少人工干预的需要,从而提高故障处理的效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。其中:
图1为实施例1中一种应用程序开发故障修复方法的场景图。
图2为实施例1中一种应用程序开发故障修复方法的流程图。
图3为实施例1中一种应用程序开发故障修复方法的逻辑分析图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合说明书附图对本发明的具体实施方式做详细的说明。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
其次,此处所称的“一个实施例”或“实施例”是指可包含于本发明至少一个实现方式中的特定特征、结构或特性。在本说明书中不同地方出现的“在一个实施例中”并非均指同一个实施例,也不是单独的或选择性的与其他实施例互相排斥的实施例。
实施例1
参照图1~图3,为本发明第一个实施例,该实施例提供了一种应用程序开发故障修复方法,其包括如下步骤:
S1、使用分布式代理架构实现应用程序的运行数据采集;
S2、通过数据库将采集到的数据进行保存;
S3、基于指数加权移动平均算法定时计算各个关键指标运行数据的故障预警值,并根据所述故障预警值得到故障报警值,其中定时计算是指每隔一定时间进行一次计算,间隔时间可根据需要人为设定,而故障报警值一般设定为故障预警值的1.1~1.5倍;
S4、当采集的关键指标运行数据高于其对应的故障预警值时,计算故障得分,当所述故障得分超过故障设定值,触发器触发报警信号,并令目的主机执行修复程序;当采集的关键指标运行数据高于其对应的故障报警值时,触发器直接触发报警信号,并令目的主机执行修复程序;
S5、通过页面可视化方式实现对于应用程序故障的展示。如图1所示。
分布式代理架构包括监控代理程序与监控代理服务器,监控代理程序周期性的向监控代理服务器发送监控内容,监控代理服务器将监控内容分类后发送到数据库。
其中,基于指数加权移动平均算法定时计算各个关键指标运行数据的故障预警值包括如下步骤,
计算关键指标运行数据的指数加权移动平均值,采用如下公式,
式中,是在时间t的观测值,/>是在时间t的EWMA值,/>是权重因子,一般取值为0.2~0.5;
计算移动标准差,采用如下公式,
式中,是在时间t的移动标准差;
计算自适应的故障预警值,采用如下公式,
式中,k为调整系数,其可根据需要进行调整,为故障预警值。
需要说明的是,本发明中采用指数加权移动平均计算故障预警值的原因为:(1)当系统出现故障时,其能够进行快速响应,可以确保在故障初期就能够检测到问题;(2)EWMA能够有效地平滑数据,从而减少由于短暂的数据波动或噪声引起的误报,这种平滑性有助于提高故障检测的准确性;(3)与简单移动平均或其他平均方法相比,EWMA不依赖于固定的时间窗口,这为数据的动态变化提供了更大的灵活性;(4)EWMA只需要存储前一时刻的EWMA值和当前的观测值,而不是整个时间窗口的数据,这在计算和存储上都更为高效。
并且与其他方法相比,EWMA的优越性体现在:(1)对比简单移动平均(SMA):SMA计算的是固定时间窗口内的平均值。这意味着当新的数据点进入时,旧的数据点会被完全丢弃,这可能导致对突然的数据变化反应不足。而EWMA则为最近的数据赋予了更大的权重,使其对新的变化更为敏感;(2)对比加权移动平均 (WMA):虽然WMA也为数据点分配不同的权重,但权重的分配通常是基于固定的模式,而不是像EWMA那样基于时间的衰减,这会导致WMA在某些情况下对数据的变化反应不足;(3)对比其他复杂的统计方法:一些更复杂的统计方法,如自回归模型,可能需要更多的数据和计算资源。而EWMA提供了一个简单而有效的方法,既能够快速响应数据的变化,又能够平滑噪声,而且在计算上更为高效。
页面可视化展示是将分类后的采集数据进行展示,展示在web界面中,分为:信息展示、故障处理程序与维修程序管理三类。
应用程序故障按照优先级被顺序分为硬件故障、系统故障、程序故障与其他故障四类父系故障,而每个父系故障也拥有其子系故障;各种数据在数据存储模块进行实时存储;页面可视化展示模块主要负责用户和监控服务器进行友好交互,其作用是方便用户在监控端对被监控对象管理配置,除此之外,把监控端采集的相关数据在进行可视化展示:自动化故障处理模块主要负责对监控系统的被监控端所产生的故障进行处理,以及对故障恢复程序的管理。故障处理指故障分类、故障报警、故障诊断与恢复;故障恢复程序的管理包括本地管理和云端管理。故障分类是指将所有故障进行一个大类的划分成为父类故障,比如硬件故障、系统故障、程序故障,并且在父类故障之中再分二级类故障即子类故障。故障处理主要将已经诊断出来的故障进行自动化修复,而恢复程序管理库是指按照故障分类的方式,将其下边的故障处理程序进行管理,并且提供用户在恢复程序库里面进行模糊搜索的功能。告警机制是指当触发器设置的闯值被触发即形成故障之后,主要用来通知用户故障的发生以及故障修复成功。
计算故障得分包括如下步骤,
确定每种父系故障的关键指标,其中硬件故障的关键指标包括CPU温度、内存使用率、磁盘I/O速率,当这些指标超出正常范围时,可以判断为硬件故障,程序故障的关键指标包括应用程序日志、程序响应时间、程序资源使用情况,当程序崩溃、响应时间过长或有异常日志输出时,可以判断为程序故障,系统故障关键指标包括操作系统日志、系统响应时间、系统资源使用情况,当系统响应时间过长或资源使用率异常时,可以判断为系统故障,其他故障是指综合分析上述所有数据,并结合其他可能的数据源(如网络流量、外部服务状态等),当不能归类为上述三类故障但系统表现异常时,可以判断为其他故障,在本实施例中,其他故障包括配置更改频率、网络延迟、第三方服务响应时间、错误日志条目频率和用户投诉或反馈频率,其中,配置错误是常见的问题来源。跟踪配置更改的频率可以帮助识别与最近的配置更改相关的潜在问题,而网络延迟可能导致应用程序性能下降或中断,选择第三方服务响应时间是因为许多应用程序依赖于第三方服务,如数据库、缓存或其他API,这些服务的性能问题或中断可能会影响应用程序的正常运行。选择错误日志条目频率是因为应用程序或系统的错误日志可能包含有关各种故障的有用信息。跟踪错误日志条目的频率可以帮助及时发现新的或增加的问题。选择用户投诉或反馈频率是因为用户可能是第一个注意到问题的人,跟踪用户投诉或反馈的频率可以为潜在的问题提供早期警告。
对于每个关键指标,计算其当前值与其历史平均值之间的偏差,公式如下,
式中,是第i个关键指标的偏差,/>是第i个关键指标的当前值,/>是第i个关键指标的历史平均值。
通过历史标准差来标准化每个指标的偏差,公式如下,
式中,是指第i个关键指标的标准化偏差,/>是指第i个关键指标的历史标准差,通过标准化偏差,使得虽然不同指标的量纲和范围不同,但也可以在同一尺度上进行比较。
对于每个关键指标,计算加权得分,公式如下,
式中,是指第i个关键指标的加权得分,/>是指第i个关键指标的权重,,通过引入权重,可以对每个指标的重要性进行调整。
将所有关键指标的加权得分相加,得到故障得分。
需要说明的是,故障设定值是考虑每种同等父系故障中所有关键指标的综合数值,这样可以综合考虑多个关键指标的状态,从而更全面地评估系统的健康状况。而单个关键指标和单个故障预警值的对比只能反映该指标的状态,若单个关键指标异常就直接报警,则可能会出现误报警的情况。
而故障设定值的设定方法,是根据父系故障中各个关键指标的标准化偏差数值来进行确定,其中一种方式是直接将各个关键指标的标准化偏差数值求和。
当程序发生多个故障时,修复过程中同等父系故障的优先级是同时进行的;
当不同父系故障的修复过程修复优先级顺序是硬件故障、系统故障、程序故障与其他故障;
当出现多个故障处理时,进行多步骤顺序化处理,将故障恢复程序按照优先级进行排序,优先级最高的列为步骤1,优先级第二高的列为步骤2,以此类推。
在分布式代理架构中设置多步骤顺序化处理策略,其操作流程是:
在监控代理服务器上设置多个故障恢复程序,其优先级最高的步骤 1中故障恢复程序被推送到目的被监控对象上,目的主机执行步骤 1的操作,并把该操作的返回值发送给监控代理程序;
在执行步骤1的过程中,监控代理服务器一直对被监控对象进行实时的信息采集,如果故障成功完成恢复,则退出多步骤顺序化处理机制;
获取到步骤 1 的返回值后,若监控代理程序诊断出该故障还存在,则监控代理服务器继续按照多步骤顺序化处理策略的优先级排序进行推送步骤 2 的故障修复程序,被监控主机再次把返回值发送给监控代理程序,再次判断该故障是否依然存在,若不存在,则退出;
直到处理完成最后一个步骤的故障修复程序,若在此操作过程中故障提前恢复,将直接退出多步骤顺序化处理策略,不再有后续执行操作。
所有返回值在所述数据库的yaml管理器中进行管理,yaml是一个对数据具有较高可读性并且能够容易被计算机所辨别的序列化格式,选择将被监控端每一步骤处理程序的执行结果都使用 yam 数据格式来进行保存,并且将此文件又发送给监控端,监控端server 根据返回值确定是否进行下一步操作。
监控端 server 的流程是:
yam1用于自动读取所有的多步骤顺序化处理执行的返回值;
在多步骤顺序化处理过程中,系统后端一共生成两个文件,一个文件为故障处理程序,另一个为 yaml 文件,主要用于多步骤顺序化处理过程中返回值的写入以读取上一步故障处理程序的执行结果;
多步骤顺序化处理的文件按照优先级自动更新名称,故障处理程序文件名称为actionnameN,而对应的yaml文件为actionnameNM;
返回值字段包括:字段 id、顺序处理名称、步骤号、返回值以及时间。
本发明所述方法通过对运行数据的深入分析和处理,能够准确地识别和分类故障,从而确保及时、准确地对故障进行响应。通过动态阈值调整技术,系统能够自动适应数据的变化,从而在不同的运行环境和条件下都能提供稳定、可靠的故障报警。通过故障得分计算,可以为每种故障提供一个量化的评估,从而帮助运维团队更好地理解故障的严重性和紧急性,以及确定故障处理的优先级。通过自动化的故障识别、分类和报警,可以大大减少人工干预的需要,从而提高故障处理的效率。通过减少误报和漏报,以及提高故障处理的效率,可以降低运维的总体成本和风险。
实施例2
本发明第二个实施例,其不同于前一个实施例的是:
通过对物理主机和虚拟主机相结合的方式部署了基于自动化故障处理的监控系统,在物理机上使用VMware搭建了4台虚拟主机,其中监控端server服务器1台,作为监控服务器;被监控主机agent3台,作为被监控节点。基于自动化故障处理的监控系统部署如表1所示。
在基于自动化故障处理的监控系统中,首先用户在前端界面对被监控端agent进行设置,其次系统将用户在前端界面写入的内容存入数据库,最后监控端根据需求定时采集监控内容,一旦发现监控值超过触发条件,立即向用户发送告警通知并对故障进行自动化修复。
所示设置完成之后,server端服务器开始对该被监控主机监控项进行信息采集,现模拟该节点发生故障,人为开四个终端使故障产生,163邮箱收到了故障“problem”报警信息。其中发生故障在17:50:00,报警时间是17:51可知,由故障发生到报警用时约1分钟。
本实验通过在agent上模拟监控硬盘的tps值(tps为磁盘每秒的吞吐量),当tps值超过0.95则发生故障,验证基于自动化故障处理的监控系统能够实现单处理程序故障恢复,单恢复程序故障自恢复模拟流程如下:
(1)在被监控节点agent上采用自定义监控数据,监控端采集被监控对象agent的硬盘的tps值,并且返回其每秒的吞吐量。
(2)增加硬盘的tps值使其超过0.95进行故障模拟。
(3)监控端定时对被监控对象主动轮询和被动检测进行数据采集,一旦发现硬盘的tps值超过0.95,便会触发预设置的自动化故障处理流程对该故障进行诊断和恢复。
(4)监控端不间断对被监控对象agent数据采集,检查该故障是否修复成功并通知用户。
应当认识到,本发明的实施例可以由计算机硬件、硬件和软件的组合、或者通过存储在非暂时性计算机可读存储器中的计算机指令来实现或实施。所述方法可以使用标准编程技术-包括配置有计算机程序的非暂时性计算机可读存储介质在计算机程序中实现,其中如此配置的存储介质使得计算机以特定和预定义的方式操作——根据在具体实施例中描述的方法和附图。每个程序可以以高级过程或面向对象的编程语言来实现以与计算机系统通信。然而,若需要,该程序可以以汇编或机器语言实现。在任何情况下,该语言可以是编译或解释的语言。此外,为此目的该程序能够在编程的专用集成电路上运行。
此外,可按任何合适的顺序来执行本文描述的过程的操作,除非本文另外指示或以其他方式明显地与上下文矛盾。本文描述的过程(或变型和/或其组合)可在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可作为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)、由硬件或其组合来实现。所述计算机程序包括可由一个或多个处理器执行的多个指令。
进一步,所述方法可以在可操作地连接至合适的任何类型的计算平台中实现,包括但不限于个人电脑、迷你计算机、主框架、工作站、网络或分布式计算环境、单独的或集成的计算机平台、或者与带电粒子工具或其它成像装置通信等等。本发明的各方面可以存储在非暂时性存储介质或设备上的机器可读代码来实现,无论是可移动的还是集成至计算平台,如硬盘、光学读取和/或写入存储介质、RAM、ROM等,使得其可由可编程计算机读取,当存储介质或设备由计算机读取时可用于配置和操作计算机以执行在此所描述的过程。此外,机器可读代码,或其部分可以通过有线或无线网络传输。当此类媒体包括结合微处理器或其他数据处理器实现上文所述步骤的指令或程序时,本文所述的发明包括这些和其他不同类型的非暂时性计算机可读存储介质。当根据本发明所述的方法和技术编程时,本发明还包括计算机本身。计算机程序能够应用于输入数据以执行本文所述的功能,从而转换输入数据以生成存储至非易失性存储器的输出数据。输出信息还可以应用于一个或多个输出设备如显示器。在本发明优选的实施例中,转换的数据表示物理和有形的对象,包括显示器上产生的物理和有形对象的特定视觉描绘。
如在本申请所使用的,术语“组件”、“模块”、“系统”等等旨在指代计算机相关实体,该计算机相关实体可以是硬件、固件、硬件和软件的结合、软件或者运行中的软件。例如,组件可以是,但不限于是:在处理器上运行的处理、处理器、对象、可执行文件、执行中的线程、程序和/或计算机。作为示例,在计算设备上运行的应用和该计算设备都可以是组件。一个或多个组件可以存在于执行中的过程和/或线程中,并且组件可以位于一个计算机中以及/或者分布在两个或更多个计算机之间。此外,这些组件能够从在其上具有各种数据结构的各种计算机可读介质中执行。这些组件可以通过诸如根据具有一个或多个数据分组(例如,来自一个组件的数据,该组件与本地系统、分布式系统中的另一个组件进行交互和/或以信号的方式通过诸如互联网之类的网络与其他系统进行交互)的信号,以本地和/或远程过程的方式进行通信。
应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。

Claims (4)

1.一种应用程序开发故障修复方法,其特征在于:包括
使用分布式代理架构实现应用程序的运行数据采集;
通过数据库将采集到的数据进行保存;
基于指数加权移动平均算法定时计算各个关键指标运行数据的故障预警值,并根据所述故障预警值得到故障报警值,故障报警值设定为故障预警值的1.1~1.5倍;
当采集的关键指标运行数据高于其对应的故障预警值时,计算故障得分,当所述故障得分超过故障设定值,触发器触发报警信号,并令目的主机执行修复程序;当采集的关键指标运行数据高于其对应的故障报警值时,触发器直接触发报警信号,并令目的主机执行修复程序;
通过页面可视化方式实现对于应用程序故障的展示;
基于指数加权移动平均算法定时计算各个关键指标运行数据的故障预警值包括如下步骤,
计算关键指标运行数据的指数加权移动平均值,采用如下公式,
式中,是在时间t的观测值,/>是在时间t的EWMA值,/>是权重因子;
计算移动标准差,采用如下公式,
式中,是在时间t的移动标准差;
计算自适应的故障预警值,采用如下公式,
式中,k为调整系数,为故障预警值;
所述应用程序故障按照优先级被顺序分为硬件故障、系统故障、程序故障与其他故障四类父系故障,而每个父系故障也拥有其子系故障;
当程序发生多个故障时,修复过程中同等父系故障的优先级是同时进行的;
当不同父系故障的修复过程修复优先级顺序是硬件故障、系统故障、程序故障与其他故障;
当出现多个故障处理时,进行多步骤顺序化处理,将故障恢复程序按照优先级进行排序,优先级最高的列为步骤1,优先级第二高的列为步骤2,以此类推;
计算故障得分包括如下步骤,
确定每种父系故障的关键指标,所述硬件故障的关键指标包括CPU温度、内存使用率和磁盘I/O速率,程序故障的关键指标包括应用程序日志、程序响应时间和程序资源使用情况,系统故障关键指标包括操作系统日志、系统响应时间和系统资源使用情况,其他故障包括配置更改频率、网络延迟、第三方服务响应时间、错误日志条目频率和用户投诉或反馈频率;
对于每个关键指标,计算其当前值与其历史平均值之间的偏差,公式如下,
式中,是第i个关键指标的偏差,/>是第i个关键指标的当前值,/>是第i个关键指标的历史平均值;
通过历史标准差来标准化每个指标的偏差,公式如下,
式中,是指第i个关键指标的标准化偏差,/>是指第i个关键指标的历史标准差;
对于每个关键指标,计算加权得分,公式如下,
式中,是指第i个关键指标的加权得分,/>是指第i个关键指标的权重,
将所有关键指标的加权得分相加,得到故障得分;
在分布式代理架构中设置多步骤顺序化处理策略,其操作流程是:
在监控代理服务器上设置多个故障恢复程序,其优先级最高的步骤 1中故障恢复程序被推送到目的被监控对象上,目的主机执行步骤 1的操作,并把该操作的返回值发送给监控代理程序;
在执行步骤1的过程中,监控代理服务器一直对被监控对象进行实时的信息采集,如果故障成功完成恢复,则退出多步骤顺序化处理机制;
获取到步骤 1 的返回值后,若监控代理程序诊断出该故障还存在,则监控代理服务器继续按照多步骤顺序化处理策略的优先级排序进行推送步骤 2 的故障修复程序,被监控主机再次把返回值发送给监控代理程序,再次判断该故障是否依然存在,若不存在,则退出;
直到处理完成最后一个步骤的故障修复程序,若在此操作过程中故障提前恢复,将直接退出多步骤顺序化处理策略,不再有后续执行操作。
2.如权利要求1所述的一种应用程序开发故障修复方法,其特征在于:所有返回值在所述数据库的yaml管理器中进行管理,yaml是一个对数据具有较高可读性并且能够容易被计算机所辨别的序列化格式,选择将被监控端每一步骤处理程序的执行结果都使用 yam 数据格式来进行保存,并且将此文件又发送给监控端,监控端 server 根据返回值确定是否进行下一步操作。
3.如权利要求2所述的一种应用程序开发故障修复方法,其特征在于:所述监控端server 的流程是:
yam1用于自动读取所有的多步骤顺序化处理执行的返回值;
在多步骤顺序化处理过程中,系统后端一共生成两个文件,一个文件为故障处理程序,另一个为 yaml 文件,主要用于多步骤顺序化处理过程中返回值的写入以读取上一步故障处理程序的执行结果;
多步骤顺序化处理的文件按照优先级自动更新名称,故障处理程序文件名称为actionnameN,而对应的yaml文件为actionnameNM;
返回值字段包括:字段 id、顺序处理名称、步骤号、返回值以及时间。
4.如权利要求3所述的一种应用程序开发故障修复方法,其特征在于:所有的返回值信息都会在所述页面可视化的Web界面中展示。
CN202311092709.4A 2023-08-29 2023-08-29 一种应用程序开发故障修复方法 Active CN116841792B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311092709.4A CN116841792B (zh) 2023-08-29 2023-08-29 一种应用程序开发故障修复方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311092709.4A CN116841792B (zh) 2023-08-29 2023-08-29 一种应用程序开发故障修复方法

Publications (2)

Publication Number Publication Date
CN116841792A CN116841792A (zh) 2023-10-03
CN116841792B true CN116841792B (zh) 2023-11-17

Family

ID=88174597

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311092709.4A Active CN116841792B (zh) 2023-08-29 2023-08-29 一种应用程序开发故障修复方法

Country Status (1)

Country Link
CN (1) CN116841792B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103425116A (zh) * 2013-09-04 2013-12-04 博爱县电业公司 一种电力调度自动化系统故障排除方法
CN111721528A (zh) * 2020-05-18 2020-09-29 浙江工业大学 基于cms系统大数据的风力发电机组齿轮箱故障预警方法
CN114706708A (zh) * 2022-05-24 2022-07-05 北京拓林思软件有限公司 一种用于Linux操作系统的故障分析方法及系统
CN116560893A (zh) * 2023-07-07 2023-08-08 湖南开放大学(湖南网络工程职业学院、湖南省干部教育培训网络学院) 一种计算机应用程序运行数据故障处理系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110659173B (zh) * 2018-06-28 2023-05-26 中兴通讯股份有限公司 一种运维系统及方法
US11533217B2 (en) * 2020-07-31 2022-12-20 Hewlett Packard Enterprise Development Lp Systems and methods for predictive assurance

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103425116A (zh) * 2013-09-04 2013-12-04 博爱县电业公司 一种电力调度自动化系统故障排除方法
CN111721528A (zh) * 2020-05-18 2020-09-29 浙江工业大学 基于cms系统大数据的风力发电机组齿轮箱故障预警方法
CN114706708A (zh) * 2022-05-24 2022-07-05 北京拓林思软件有限公司 一种用于Linux操作系统的故障分析方法及系统
CN116560893A (zh) * 2023-07-07 2023-08-08 湖南开放大学(湖南网络工程职业学院、湖南省干部教育培训网络学院) 一种计算机应用程序运行数据故障处理系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
S. Bersimis等.《QUALITY AND RELIABILITY ENGINEERING INTERNATIONAL》.2016,全文. *
基于模型的液体火箭发动机故障诊断技术研究回顾与展望;陈泽灏等;《航空学报》;9-10页 *
面向低质量数据的风力发电机组齿轮箱故障预警技术研究;方静宜;《中国优秀硕士学位论文全文数据库工程科技Ⅱ辑》;62-63页 *

Also Published As

Publication number Publication date
CN116841792A (zh) 2023-10-03

Similar Documents

Publication Publication Date Title
WO2020259421A1 (zh) 一种业务系统的监控方法及装置
US20190228296A1 (en) Significant events identifier for outlier root cause investigation
Salfner et al. A survey of online failure prediction methods
US9672085B2 (en) Adaptive fault diagnosis
US7693982B2 (en) Automated diagnosis and forecasting of service level objective states
US8732534B2 (en) Predictive incident management
US10489711B1 (en) Method and apparatus for predictive behavioral analytics for IT operations
JP6875179B2 (ja) システム分析装置、及びシステム分析方法
JP2017076360A (ja) 予測信頼性マイニングのためのシステム及び方法
US11307916B2 (en) Method and device for determining an estimated time before a technical incident in a computing infrastructure from values of performance indicators
CN110908883A (zh) 用户画像数据监控方法、系统、设备及存储介质
CN115809183A (zh) 基于知识图谱的信创终端故障发现及处置的方法
CN112446511A (zh) 一种故障处置方法、装置、介质及设备
CN113900844A (zh) 一种基于服务码级别的故障根因定位方法、系统及存储介质
US20080071807A1 (en) Methods and systems for enterprise performance management
CN111459692A (zh) 用于预测驱动器故障的方法、设备和计算机程序产品
CN116841792B (zh) 一种应用程序开发故障修复方法
JP5240709B2 (ja) シンプトンを評価するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム
CN112966056A (zh) 一种信息处理方法、装置、设备、系统及可读存储介质
Chang et al. Defect prevention in software processes: An action-based approach
CN116468423A (zh) 一种运维应急协同方法、系统和终端设备
CN107682173B (zh) 基于交易模型的自动故障定位方法和系统
CN115514627A (zh) 一种故障根因定位方法、装置、电子设备及可读存储介质
US11915180B2 (en) Systems and methods for identifying an officer at risk of an adverse event
CN110084528B (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