CN113836044A - 一种软件故障采集和分析的方法及系统 - Google Patents

一种软件故障采集和分析的方法及系统 Download PDF

Info

Publication number
CN113836044A
CN113836044A CN202111420270.4A CN202111420270A CN113836044A CN 113836044 A CN113836044 A CN 113836044A CN 202111420270 A CN202111420270 A CN 202111420270A CN 113836044 A CN113836044 A CN 113836044A
Authority
CN
China
Prior art keywords
fault
data
information
analysis
application program
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
CN202111420270.4A
Other languages
English (en)
Other versions
CN113836044B (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.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
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 Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN202111420270.4A priority Critical patent/CN113836044B/zh
Publication of CN113836044A publication Critical patent/CN113836044A/zh
Application granted granted Critical
Publication of CN113836044B publication Critical patent/CN113836044B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0631Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0677Localisation of faults
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/069Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

一种软件故障采集和分析的方法及系统,包括:检测目标应用程序的运行状态,监测到目标应用程序的运行状态异常时生成目标应用程序的故障数据;采集目标应用程序的运行环境信息、配置参数信息和日志信息,并与故障数据进行数据匹配,再一起发送到服务器;服务器接收并保存故障相关数据后,一方面发送故障告警,另一方面通过采集到的故障数据以及相关信息进行故障的诊断与分析,推理出可能的故障原因,并给出相对应的故障解决方案;对故障数据信息进行归档分析,通过大数据比较与分析,通过分析故障发生的频次以及故障发生时间、地点信息,判别出故障的危害程度,整理出故障分析报告,便于后续的人工或者智能算法优先处理灾害程度较高的故障问题。

Description

一种软件故障采集和分析的方法及系统
技术领域
本发明涉及的是计算器软件处理领域,特别涉及一种软件故障采集和分析的方法及系统。
背景技术
近年来,随着计算机及网络技术的蓬勃发展,可供使用的计算机类型越来越多,在计算机上运行的应用程序也越来越多。同时,随着用户使用需要的不断变化,应用程序也在以更快速的方式进行功能更新和技术迭代,导致应用程序可能会出现各种各样的故障情况。
通常,应用软件运行出现异常时,需要现场运维保障人员进行故障的排查和解决,但由于现场运维保障人员可能对软件的功能的具体实现逻辑不熟悉,难以定位出应用程序的故障原因。在运维保障人员无法定位应用程序的故障时,通常会请求开发人员的协助,通过计算机远程查看故障现场的问题并进行定位分析。但由于网络安全的需要,在很多情况下,计算机远程控制功能会被要求禁用,导致开发人员难以直接参与对故障问题进行定位分析。此时,一般情况下,会由现场运维保障人员采集应用程序的故障信息、日志信息等必要的数据,反馈给开发人员进行故障的分析与定位。在开发人员查明故障原因后,再通知现场运维保障人员故障原因和解决方案,现场运维人员再进行应用程序的故障处理。整个故障处理流程耗时较长,并且随着应用程序的大规模使用,仅仅依靠现场运维保障人员,也很难进行项目现场的应用程序故障的及时处理。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种软件故障采集和分析的方法和系统。
为了解决上述技术问题,本申请实施例公开了如下技术方案:
一种软件故障采集和分析的方法,包括:
S100.故障采集程序实时监测目标应用程序的运行状态,当监测到目标应用程序的运行状态异常时,抓取并生成目标应用程序的故障数据;
S200.当监测到目标应用程序运行状态异常时,故障采集程序同时采集目标应用程序的配置参数信息、运行环境信息和日志信息,并与生成的故障数据进行数据匹配,一起发送给服务器;
S300.服务器在接收到故障采集程序发送的故障数据后,在数据存储模块中将接收的故障数据进行保存,在保存完毕后通知对应的故障采集程序保存完成的信息,并通过故障采集程序向运维保障人员发送故障告警信息;
S400.服务器在完成接收故障采集程序发送的故障数据后,调用故障分析模块,通过故障分析模块对接收到的故障数据进行智能化的分析诊断,推理故障产生的原因和与之相对应的解决方案,并以故障分析报告文档的形式进行故障分析结果的展示;
S500.服务器对所有已经接收的故障分析报告进行归档统计分析,得到故障的统计分析报告。
进一步地,S100的具体方法为:
S101.启动故障采集程序,开始检测目标应用程序的运行状态;
S102.读取故障采集程序保存在本地的故障上传记录,获取所有已上传的故障数据的记录信息;
S103.检索目标应用程序的本地数据信息,获取应用程序的已有故障数据信息;
S104.通过比较故障上传记录信息与应用程序的已有故障数据信息,判别是否有新的应用程序故障数据上传到服务器;
S105.如果服务器未检测到新的应用程序上传的故障数据信息,就对目标应用程序的运行状态进行监测;
S106.周期性地检测判别目标应用程序的工作状态是否处于异常工作状态;
S107.当检测到目标应用程序的工作状态处于异常状态,导出目标应用程序的故障数据,并以文件的形式进行保存。
进一步地,S200的具体方法为:
S201.在获取到目标应用程序的新的故障数据时,开始采集目标应用程序的配置参数信息、日志信息、运行环境信息,并与应用程序的故障数据相匹配;
S202.再通过网络通信将故障数据的全部相关信息发送到服务器,由服务器的数据存储模块进行数据信息的保存;
S203.服务器保存故障数据以及相关的配置参数信息、日志信息、运行环境信息,通知故障采集程序保存成功,故障采集程序将上传的故障数据信息记录到故障上传记录文件中。
进一步地,S300的具体方法为:
S301.服务器检测客户端侧的故障采集程序是否有进行故障数据的上传;
S302.判断是否接收到了新的故障数据,若没有接收到故障数据就返回到步骤S301;
S303.若服务器接收到了新的故障数据,在数据接收过程中判断数据是否接收完成;
S304.故障数据接收完成后,通知上传故障数据的故障采集程序,数据已接收完成;
S305.故障数据接收完毕后,由数据存储模块保存相应的故障数据;
S306.故障数据保存完毕后,通过告警模块,向运维或开发人员推送故障信息,便于运维或开发人员及时地进行故障的人工干预与处理,及时地定位故障原因,给出相对应的故障解决方案。
进一步地,S400的具体方法为:
S401.故障分析模块从数据存储模块读取一条故障的全部数据信息,至少包括故障数据、配置参数信息、运行环境信息和日志信息,并进行一定的数据预处理,将几种数据格式不一致的信息,统一结构化为一种故障分析诊断程序能够识别的数据格式的信息;
S402.将故障分析诊断程序读取的故障数据信息依次代入到故障知识库中的各个分析规则中进行匹配验证,判断是否满足匹配条件,找出所有满足判断条件的故障原因;
S403.对诊断出的故障原因进行加权分析,针对所有的诊断结果进行优先级排序,将可能性最高的故障分析结果优先排列;
S404.输出故障分析模块整理后的故障分析结果,包括故障分析的可能原因,以及对应的故障解决方案,从而生成一份故障诊断报告。
进一步地,故障知识库为一个用于故障诊断分析的规则库,至少包含多种目标应用程序可能出现的故障的名称、故障判断的条件以及参数阈值、出现该故障功能可能的原因和与之相对应的故障解决方案信息。
进一步地,故障知识库在被故障分析诊断程序调用前,需要提前创建好,包含目标应用程序可能出现的故障情况的判断规则与数据;并且可以在后续的使用过程中对知识库中的故障诊断规则进行维护与管理,进行故障诊断规则的新增、修改和删除操作,实现知识库中故障诊断规则的不断完善与丰富。
进一步地,故障分析诊断程序用于将读取的故障数据、环境信息、配置参数、日志信息与故障知识库中的故障分析规则进行逐条匹配,找到故障原因;针对分析得到的多条可能故障原因及故障解决方案进行加权计算、自动优先排序的故障诊断处理逻辑。
本发明还公开了一种软件故障采集和分析的系统,包括:客户端和服务器端。
客户端,用于运行故障采集程序,包括目标检测模块、信息采集模块、数据传输模块、记录管理模块;其中:
目标检测模块,用于对待检测的目标应用程序中指定的一个或者多个应用程序进行运行状态的实时监测,检索目标应用程序产生的所有已存在的故障数据信息,并与本地的故障上传记录进行数据的比对,判断是否新产生了故障数据;
信息采集模块,用于当目标检测模块监测到新的故障数据或者监测目标应用程序工作异常从而产生故障数据之后,进行目标应用程序的运行环境数据的采集;
数据传输模块,用于将目标检测模块采集到的故障数据以及信息采集模块采集到的运行环境信息、日志信息、配置参数信息进行数据匹配,确立对应匹配关系,再将数据信息上传到服务器;
记录管理模块,用于数据传输模块在成功完成数据信息的上传后,由记录管理模块记录上传的数据信息;完成上传的时间和上传位置信息内容的上传,便于目标检测模块在持续的检索监测过程中,只处理新产生的故障数据信息;对于上传失败的故障数据信息,故障采集程序也能通过周期性的文件检索与比较判断,找出上传失败的故障数据信息,进行故障数据上传的二次尝试,避免故障数据的信息丢失和遗漏。
进一步地,服务器包括故障管理模块、数据存储模块和故障分析模块;其中:
故障管理模块,用于对故障采集过程中数据的保存;故障数据保存完成后的故障分析、故障报警的流程的管理;故障智能诊断分析完成后的信息归档、统计与分析;
数据存储模块,用于对采集到的故障数据以及相关的运行环境信息、配置参数信息、日志信息进行数据储存与管理;
故障分析模块,用于对采集到的故障数据进行自动化诊断与分析,故障分析诊断程序利用提前构建好的故障知识库中的分析规则,对预处理后的故障数据进行逻辑推理,并结合获得的配置参数信息、运行环境信息、日志信息内容进行综合性的故障诊断与分析。根据数据,推理出符合条件的故障名称、给出相应的故障解决方案。
故障告警模块,用于在接收到故障采集程序上传的故障数据等数据时,向运维保障人员发送故障告警,便于运维保障人员第一时间提供人性化的故障排查与解决的服务,提升用户的使用体验。
本发明实施例提供的上述技术方案的有益效果至少包括:
本发明公开的一种软件故障采集和分析的方法和系统,通过故障采集程序与目标应用程序在功能上的解耦分离,目标应用程序的工作运行状态不会影响故障采集程序的工作状态,故障采集程序可以实时对目标应用程序的运行状态进行检测。故障采集程序通过应用参数的修改配置,能够实现对不同目标应用程序的运行状态检测和故障数据采集,能够实现一个故障采集程序同时适配多个目标应用程序的运行状态检测和故障数据采集,达到了简化故障信息采集流程的目的。故障采集程序能在检测到目标应用程序的工作状态出现异常时,自动采集目标应用程序的故障数据、配置参数信息、应用程序的运行环境信息和日志信息,自动上传到指定的服务器上,并将故障相关数据保存在服务器上的数据存储模块,可以有效地避免因为对目标应用程序的状态重置或者文件清理等操作,导致采集到的故障数据流失,进而不能对故障问题进行有效追踪的问题。
服务器端在接收到客户端侧的故障采集程序上报的故障数据后,一方面能够进行故障的智能化分析诊断,给出故障的分析结果和故障的解决方案;另一方面,故障告警模块能在接收到告警数据时,向运维保障人员推送故障告警,让运维保障人员快速响应应用程序的故障,快速解决故障问题。服务器上的故障管理模块能够对已经收到的故障数据进行归档整理和统计分析,通过统计各种故障的发生频次和严重程度,计算出故障的灾害程度,及时反馈给相关开发人员,便于开发人员优先定位并修正灾害程度评级较高的故障问题,使应用程序故障问题能够快速修正、迭代升级,从而达到提升产品稳定性和服务响应速度的目的。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例1中,一种软件故障采集和分析的方法的流程图;
图2为本发明实施例1中,步骤S100的流程图;
图3为本发明实施例1中,步骤S200的流程图;
图4为本发明实施例1中,步骤S300的流程图;
图5为本发明实施例1中,步骤S400的流程图;
图6为本发明实施例1中,一种软件故障采集和分析的系统的结构图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整地传达给本领域的技术人员。
为了解决现有技术中存在的问题,本发明实施例提供一种软件故障采集和分析的方法和系统。
实施例1
一种软件故障采集和分析的方法,如图1,包括:
S100.故障采集程序实时监测目标应用程序的运行状态,当监测到目标应用程序的运行状态异常时,抓取并生成目标应用程序的故障数据。
具体的,如图2,S100的具体方法包括:
S101.启动故障采集程序,开始检测目标应用程序的运行状态;
S102.读取故障采集程序保存在本地的故障上传记录,获取所有已上传的故障数据的记录信息;
S103.检索目标应用程序的本地数据信息,获取应用程序的已有故障数据信息;
S104.通过比较故障上传记录信息与应用程序的已有故障数据信息,判别是否有新的应用程序故障数据上传到服务器;
S105.如果服务器未检测到新的应用程序上传的故障数据信息,就对目标应用程序的运行状态进行监测;
S106.周期性地检测判别目标应用程序的工作状态是否处于异常工作状态;
S107.当检测到目标应用程序的工作状态处于异常状态,导出目标应用程序的故障数据,并以文件的形式进行保存。
在本实施例的S100中,通过故障采集程序与目标应用程序在功能上的解耦分离,目标应用程序的工作运行状态不会影响故障采集程序的工作状态,故障采集程序可以实时对目标应用程序的运行状态进行检测。通过判断目标应用程序的进程是否存在来判断目标应用程序是否在运行,结合运行标志量,即可判断目标应用程序是否是正常工作或者正常退出状态,进而判断目标应用程序是否异常崩溃。故障采集程序通过周期性地对目标应用程序进行心跳应答检测,若检测到目标应用程序的心跳应答异常,即可判断目标应用程序的工作运行状态异常,可能处于程序卡死、阻塞挂起等故障状态。当故障采集程序检测到目标应用程序运行异常时,可以通过附加进程的方式读取目标应用程序的运行进程的转储信息,作为目标应用程序的故障数据;当检测到目标应用程序异常崩溃时,检测目标应用程序是否自行生成了故障数据的转储信息,若存在则将其作为目标应用程序的故障数据。
S200.当监测到目标应用程序运行状态异常时,故障采集程序同时采集目标应用程序的配置参数信息、运行环境信息和日志信息,并与生成的故障数据进行数据匹配,一起发送给服务器;
具体的,本实施例S200的具体方法为:
S201.在获取到目标应用程序的新的故障数据时,开始采集目标应用程序的配置参数信息、日志信息、运行环境信息,并与应用程序的故障数据相匹配;
S202.通过网络通信将故障数据的全部相关信息发送到服务器,由服务器的数据存储模块进行数据信息的保存;
S203.服务器在保存故障数据以及相关的配置参数信息、日志信息、运行环境信息,通知故障采集程序保存成功,故障采集程序将上传的故障数据信息记录到故障上传记录文件中。
在本实施例的S200中,当故障采集程序生成或检测到新的故障数据信息后,通过信息采集模块采集目标应用程序的运行环境信息、配置参数信息、日志信息,并与采集到的故障数据进行匹配。确保每一条故障数据都有与之相对应的运行环境信息、配置参数信息、日志信息的数据内容,以便后续的故障分析模块能更准确的推理出故障的原因,也便于运维或开发人员进行故障的人工排查时能更加的精准高效。故障采集程序将匹配好的故障数据、运行环境信息、配置参数信息、日志信息数据一起发送到服务器。在服务器确认接收完成后,再在本地添加新的上传记录。
在本申请实施例中,目标应用程序的运行环境信息,包括但不限于目标应用程序所在计算机的硬件信息、硬件驱动信息、系统环境信息、必要的功能支撑软件的版本信息、目标应用程序的版本编译信息。
所述计算机的硬件信息,包括计算机的主板、CPU、显卡、网卡、声卡、内存、硬盘、麦克风、音响、鼠标、键盘等硬件的参数信息,包括主板名称及型号信息,CPU的名称、核心数量、工作频率,显卡的名称及型号、显存信息、输出图像分辨率信息,网卡名称及型号、IP、MAC,计算机的内存条容量信息、虚拟内存信息,硬盘容量信息。
所述计算机硬件驱动信息,包括主板、显卡、声卡、网卡等硬件的驱动程序的名称、版本号信息。
所述计算机系统环境信息,包括计算机所运行的系统的名称、版本号,DirectX支持的版本信息,IE版本信息等内容。
所述目标应用程序的版本编译信息,包括目标应用程序的名称、编译版本号、文件版本号、编译时间等信息。
所述目标应用程序的日志信息,包括应用程序的运行记录日志信息、用户操作日志信息,也包括目标应用程序调用的其他第三方的依赖库运行时产生的日志信息。
S300.服务器在接收到故障采集程序发送的故障数据后,在数据存储模块中将接收的故障数据进行保存,在保存完毕后通知对应的故障采集程序保存完成的信息,并通过故障采集程序向运维保障人员发送故障告警信息。
具体的,S300的具体方法为:
S301.服务器检测客户端侧的故障采集程序是否有进行故障数据的上传;
S302.判断是否接收到了新的故障数据,若没有接收到故障数据就返回到步骤S301;
S303.若服务器接收到了新的故障数据,在数据接收过程中判断数据是否接收完成;
S304.故障数据接收完成后,通知上传故障数据的故障采集程序,数据已接收完成;
S305.故障数据接收完毕后,由数据存储模块保存相应的故障数据;
S306.故障数据保存完毕后,通过告警模块,向运维或开发人员推送故障信息,便于运维或开发人员及时地进行故障的人工干预与处理,及时地定位故障原因,给出相对应的故障解决方案。
在本实施例的S300中,服务器在接收到故障采集程序发送的故障数据后,在数据存储模块中将接收的数据信息进行保存,保存完毕后通知对应的故障采集程序保存完成,并通过故障采集模块向运维保障人员发送故障告警。
S400.服务器在完成接收故障采集程序发送的故障数据后,调用故障分析模块,通过故障分析模块对接收到的故障数据进行智能化的分析诊断,推理故障产生的原因和与之相对应的解决方案,并以故障分析报告文档的形式进行故障分析结果的展示;
在本实施例中,S400的具体方法为:
S401.故障分析模块从数据存储模块读取一条故障的全部数据信息,至少包括故障数据、配置参数信息、运行环境信息和日志信息,并进行一定的数据预处理,将几种数据格式不一致的信息,统一结构化为一种故障分析诊断程序能够识别的数据格式的信息;
S402.将故障分析诊断程序读取的故障数据信息依次代入到故障知识库中的各个分析规则中进行匹配验证,判断是否满足匹配条件,找出所有满足判断条件的故障原因;
S403.对诊断出的故障原因进行加权分析,针对所有的诊断结果进行优先级排序,将可能性最高的故障分析结果优先排列;
S404.输出故障分析模块整理后的故障分析结果,包括故障分析的可能原因,以及对应的故障解决方案,从而生成一份故障诊断报告。
具体的,在完成故障采集数据的保存后,就可以开始进行对故障数据的分析处理。故障分析模块主要包含两个部分:故障知识库和故障分析诊断程序。
故障知识库是一个用于故障诊断分析的规则库,包含了很多种目标应用程序可能出现的故障的名称、故障判断的条件以及参数阈值、出现该故障可能的原因、与之相对应的故障解决方案等信息。
故障知识库在被故障分析诊断程序调用前,需要提前创建好,尽可能多的包含目标应用程序可能出现的故障情况的判断规则与数据。并且可以在后续的使用过程中对知识库中的故障诊断规则进行维护与管理,进行故障诊断规则新增、修改、删除等操作,实现知识库中故障诊断规则的不断完善与丰富。
故障分析诊断程序是将读取的故障数据、环境信息、配置参数、日志信息等数据信息与故障知识库中的故障分析规则进行逐条匹配,找到故障原因。针对分析得到的多条可能故障原因及故障解决方案进行加权计算、自动优先排序的故障诊断处理逻辑。
S500.服务器对所有已经接收的故障分析报告进行归档统计分析,得到故障的统计分析报告。
本实施例还公开了一种软件故障采集和分析的系统,如图4,包括:客户端100和服务器端200,一台服务器200可以与多台客户端100连接,一台客户端100也可以选择与不同的服务器200连接,但同一时刻,一台客户端100只能与一台服务器200保持连接。
客户端100,用于运行故障采集程序,包括目标检测模块101、信息采集模块102、数据传输模块103、记录管理模块104;其中:
目标检测模块101,用于对待检测的目标应用程序中指定的一个或者多个应用程序进行运行状态的实时监测,检索目标应用程序产生的所有已存在的故障数据信息,并与本地的故障上传记录进行数据的比对,判断是否新产生了故障数据;
信息采集模块102,用于目标检测模块101监测到新的故障数据或者监测目标应用程序工作异常从而产生故障数据之后,进行目标应用程序的运行环境数据的采集;
数据传输模块103,用于将目标检测模块101采集到的故障数据以及信息采集模块102采集到的运行环境信息、日志信息、配置参数信息进行数据匹配,确立对应匹配关系,再将数据信息上传到服务器200;
记录管理模块104,用于数据传输模块103在成功完成数据信息的上传后,由记录管理模块104记录上传的数据信息;完成上传的时间和上传位置信息内容的上传,便于目标检测模块101在持续的检索监测过程中,只处理新产生了故障数据信息;对于上传失败的故障数据信息,故障采集程序也能通过周期性的文件检索与比较判断,找出上传失败的故障数据信息,进行故障数据上传的二次尝试,避免故障数据信息的丢失和遗漏。
在一些优选实施例中,服务器200包括故障管理模块201、数据存储模块202、故障分析模块203和故障告警模块204。其中:
故障管理模块201,用于故障采集过程中数据的保存;故障数据保存完成后的故障分析、故障报警的流程的管理;故障智能诊断分析完成后的信息归档、统计与分析。
数据存储模块202,用于对采集到的故障数据以及相关的运行环境信息、配置参数信息、日志信息进行数据储存与管理。
故障分析模块203,用于对采集到的故障数据进行自动化诊断与分析,故障分析诊断程序利用提前构建好的故障知识库中的分析规则,对预处理后的故障数据进行逻辑推理,并结合获得的配置参数信息、运行环境信息、日志信息内容进行综合性的故障诊断与分析。根据数据,推理出符合条件的故障名称、给出相应的故障解决方案。
故障告警模块204,用于在接收到故障采集程序上传的故障数据等数据时,向运维保障人员发送故障告警,便于运维保障人员第一时间提供人性化的故障排查与解决的服务,提升用户的使用体验。
本实施例公开的一种软件故障采集和分析的方法和系统,通过故障采集程序与目标应用程序在功能上的解耦分离,目标应用程序的工作运行状态不会影响故障采集程序的工作状态,故障采集程序可以实时对目标应用程序的运行状态进行检测。故障采集程序通过应用参数的修改配置,能够实现对不同目标应用程序的运行状态检测和故障数据采集,能够实现一个故障采集程序同时适配多个目标应用程序的运行状态检测和故障数据采集,达到了简化故障信息采集流程的目的。故障采集程序能在检测到目标应用程序工作状态出现异常时,自动采集目标应用程序的故障数据、配置参数信息、应用程序的运行环境信息和日志信息,自动上传到指定的服务器上,并将故障相关数据保存在服务器上的数据存储模块,可以有效地避免因为对目标应用程序的状态重置或者文件清理等操作,导致采集到的故障数据流失,进而导致不能对故障问题进行有效追踪的问题。
服务器端在接收到客户端侧的故障采集程序上报的故障数据后,一方面能够进行故障的智能化分析诊断,给出故障的分析结果和故障的解决方案,另一方面,故障告警模块能在接收到告警数据时,向运维保障人员推送故障告警,让运维保障人员快速响应应用程序的故障,快速解决故障问题。服务器上的故障管理模块能够对已经收到的故障数据进行归档整理和统计分析,通过统计各种故障的发生频次和严重程度,计算出故障的灾害程度,及时反馈给相关开发人员,便于开发人员优先定位并修正灾害程度评级较高的故障问题,使应用程序故障问题得到快速修正,从而达到提升产品稳定性和服务响应速度的目的。
应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并且不局限于特定顺序或层次。
在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。
本领域技术人员还应当理解,结合本文的实施例描述的各种说明性的逻辑框、模块、电路和算法步骤均可以实现成电子硬件、计算机软件或其组合。为了清楚地说明硬件和软件之间的可交换性,上面对各种说明性的部件、框、模块、电路和步骤均围绕其功能进行了一般地描述。至于这种功能是实现成硬件还是实现成软件,取决于特定的应用和对整个系统所施加的设计约束条件。熟练的技术人员可以针对每个特定应用,以变通的方式实现所描述的功能,但是,这种实现决策不应解释为背离本公开的保护范围。
结合本文的实施例所描述的方法或者算法的步骤可直接体现为硬件、由处理器执行的软件模块或其组合。软件模块可以位于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动磁盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质连接至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。该ASIC可以位于用户终端中。当然,处理器和存储介质也可以作为分立组件存在于用户终端中。
对于软件实现,本申请中描述的技术可用执行本申请所述功能的模块(例如,过程、函数等)来实现。这些软件代码可以存储在存储器单元并由处理器执行。存储器单元可以实现在处理器内,也可以实现在处理器外,在后一种情况下,它经由各种手段以通信方式耦合到处理器,这些都是本领域中所公知的。
上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。

Claims (10)

1.一种软件故障采集和分析的方法,其特征在于,包括:
S100.故障采集程序实时监测目标应用程序的运行状态,当监测到目标应用程序的运行状态异常时,抓取并生成目标应用程序的故障数据;
S200.当监测到目标应用程序运行状态异常时,故障采集程序同时采集目标应用程序的配置参数信息、运行环境信息和日志信息,并与生成的故障数据进项数据匹配,一起发送给服务器;
S300.服务器在接收到故障采集程序发送的故障数据后,在数据存储模块中将接收的故障数据进行保存,在保存完毕后通知对应的故障采集程序保存完成的信息,并通过故障采集程序向运维保障人员发送故障告警信息;
S400.服务器在完成接收故障采集程序发送的故障数据后,调用故障分析模块,通过故障分析模块对接收到的故障数据进行智能化的分析诊断,推理故障产生的原因和与之相对应的解决方案,并以故障分析报告文档的形式进行故障分析结果的展示;
S500.服务器的对所有已经接收的故障分析报告进行归档统计分析,得到故障的统计分析报告。
2.如权利要求1所述的一种软件故障采集和分析的方法,其特征在于,S100的具体方法为:
S101.启动故障采集程序,开始对目标应用程序的运行状态检测;
S102.读取故障采集程序保存在本地的故障上传记录,获取所有已上传的故障数据的记录信息;
S103.检索目标应用程序的本地数据信息,获取应用程序的已有故障数据信息;
S104.通过比较故障上传记录信息与应用程序的已有故障数据信息,判别是否有新的应用程序故障数据上传到服务器;
S105.如果服务器未检测到新的应用程序上传的故障数据信息,就对目标应用程序的运行状态进行监测;
S106.周期性的检测判别目标应用程序的工作状态是否处于异常工作状态;
S107.当检测到目标应用程序的工作状态处理异常状态,导出目标应用程序的故障数据,并以文件的形式进行保存。
3.如权利要求1所述的一种软件故障采集和分析的方法,其特征在于,S200的具体方法为:
S201.在获取到目标应用程序的新的故障数据时,开始采集目标应用程序的配置参数信息、日志信息、运行环境信息,并与应用程序的故障数据相匹配;
S202.通过网络通信将故障数据全部的相关信息发送到服务器,由服务器的数据存储模块进行数据信息的保存;
S203.服务器在保存故障数据以及相关的配置参数信息、日志信息、运行环境信息,通知故障采集程序保存成功,故障采集程序将上传的故障数据信息记录到故障上传记录文件中。
4.如权利要求1所述的一种软件故障采集和分析的方法,其特征在于,S300的具体方法为:
S301.服务器检测客户端侧的故障采集程序对否有进行故障数据的上传;
S302.判断是否接收到了新的故障数据,若没有接收到故障数据就返回到步骤S301;
S303.若服务器接收到了新的故障数据,在数据接收过程中判断数据是否接收完成;
S304.故障数据接收完成后,通知上传故障数据的故障采集程序,数据已接收完成;
S305.故障数据接收完毕后,由数据存储模块保存响应的故障数据;
S306.故障数据保存完毕后,通过告警模块,向运维或开发人员推送故障信息,便于运维或开发及时的进行故障的人工干预与处理,及时的定位故障原因,给出相对应的故障解决方案。
5.如权利要求1所述的一种软件故障采集和分析的方法,其特征在于,S400的具体方法为:
S401.故障分析模块从数据存储模块读取一条故障的全部数据信息,至少包括故障数据、配置参数信息、运行环境信息和日志信息信息,并进行一定的数据预处理,将集中不一致的数据格式的信息,统一结构化为一种故障分析诊断程序能够识别的数据格式的信息;
S402.将故障分析诊断程序间读取的故障数据信息依次代入到故障知识库中的各个分析规则中进行匹配验证,判断是否满足匹配条件,找出所有满足判断条件的故障原因;
S403.对诊断出了故障原因进行加权分析,针对所有的诊断结果进行优先级排序,将可能性最高的故障分析结果优先排列;
S404.输出故障分析模块整理后的故障分析结果,包括故障分析的可能原因,以及对应的故障解决方案,从而生成一份故障诊断报告。
6.如权利要求5所述的一种软件故障采集和分析的方法,其特征在于,故障知识库为一个用于故障诊断分析的规则库,至少包含多种目标应用程序可能出现的故障的名称、故障判断的条件以及参数阈值、出现该故障功能可能的原因和与之相对应的故障解决方案信息。
7.如权利要求5所述的一种软件故障采集和分析的方法,其特征在于,在故障分析诊断程序调用前,故障知识库需提前创建,故障知识库包含目标应用程序可能出现的故障情况的判断规则与数据;并且可以在后续的使用过程中对知识库中的故障诊断规则进行维护与管理,进行故障诊断规则进行新增、修改和删除操作。
8.如权利要求5所述的一种软件故障采集和分析的方法,其特征在于,故障分析诊断程序用于将读取的故障数据、环境信息、配置参数、日志信息与故障知识库中的故障分析规则进行逐条匹配,找到故障原因;针对分析得到的多天可能故障原因及故障解决方案进行加权计算、自动优先排序的故障诊断处理逻辑。
9.一种软件故障采集和分析的系统,其特征在于,包括:客户端和服务器端,客户端,用于运行故障采集程序,包括目标检测模块、信息采集模块、数据传输模块、记录管理模块;其中:
目标检测模块,用于对待检测的目标应用程序中的指定的一个或者多个应用程序进行运行状态的实时监测,检索目标应用程序产生了所有的已存在的故障数据信息,并与本地的故障上传记录进行数据的比较对比,判断是否有新产生了故障数据;
信息采集模块,用于当目标检测模块监测到新的故障数据或者监测目标应用程序工作异常从而产生故障数据之后,进行目标应用程序的运行环境数据的采集;
数据传输模块,用于将目标检测模块采集到的故障数据以及信息采集模块采集到的运行环境信息、日志信息、配置参数信息进行数据匹配,确立对应匹配关系,在将数据信息上传到服务器;
记录管理模块,用于故障采集程序的数据传输模块在成功完成数据信息的上传后,由记录管理模块记录上传的数据信息;完成上传的时间和上传位置信息内容的上传,便于故障采集程序中的目标检测模块在持续的检索监测过程中,只处理新产生了故障数据信息;对于上传失败的故障数据信息,故障采集程序也能通过周期性的文件检索与比较判断,找出上传失败的故障数据信息,进行故障数据上传的二次尝试,避免故障数据的信息丢失和遗漏。
10.如权利要求9所述的一种软件故障采集和分析的系统,其特征在于,服务器包括故障管理模块、数据存储模块、故障分析模块和故障告警模块;其中:
故障管理模块,用于对故障采集过程中数据的保存;故障数据保存完成后的故障分析、故障报警的流程的管理;故障智能诊断分析完成后的信息归档、统计与分析;
数据存储模块,用于对采集到的故障数据以及相关的运行环境信息、配置参数信息、日志信息进行数据储存与管理;
故障分析模块,用于对采集到的故障数据进行自动化诊断与分析,故障分析诊断程序利用提前构建好的故障知识库中的分析规则,对预处理后的故障数据进行逻辑推理,并结合获得的配置参数信息、运行环境信息、日志信息内容进行综合性的故障诊断与分析;根据数据,推理出符合条件的故障名称、给出相应的故障解决方案;
故障告警模块,用于在接收到故障采集程序上传的故障数据等数据时,向运维保障人员发送故障告警。
CN202111420270.4A 2021-11-26 2021-11-26 一种软件故障采集和分析的方法及系统 Active CN113836044B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111420270.4A CN113836044B (zh) 2021-11-26 2021-11-26 一种软件故障采集和分析的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111420270.4A CN113836044B (zh) 2021-11-26 2021-11-26 一种软件故障采集和分析的方法及系统

Publications (2)

Publication Number Publication Date
CN113836044A true CN113836044A (zh) 2021-12-24
CN113836044B CN113836044B (zh) 2022-03-15

Family

ID=78971684

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111420270.4A Active CN113836044B (zh) 2021-11-26 2021-11-26 一种软件故障采集和分析的方法及系统

Country Status (1)

Country Link
CN (1) CN113836044B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114475731A (zh) * 2021-12-29 2022-05-13 卡斯柯信号有限公司 一种信号设备故障知识库系统及其实现方法
CN114648135A (zh) * 2022-03-25 2022-06-21 南京企之鑫科技有限公司 一种基于停车频率的维修告警处理方法和系统
CN114785676A (zh) * 2022-03-02 2022-07-22 深圳市优必选科技股份有限公司 提取日志的方法、装置、设备及存储介质
CN114880158A (zh) * 2022-07-11 2022-08-09 飞狐信息技术(天津)有限公司 一种Redis实例诊断方法及装置
CN114937316A (zh) * 2022-05-18 2022-08-23 深圳市易孔立出软件开发有限公司 一种软件故障检测方法、装置、设备及介质
CN115225472A (zh) * 2022-07-29 2022-10-21 深圳市星卡软件技术开发有限公司 一种日志采集方法、装置和计算机设备
CN117608912A (zh) * 2024-01-24 2024-02-27 之江实验室 基于nlp大模型的全自动日志分析和故障处理系统和方法
CN117608912B (zh) * 2024-01-24 2024-06-07 之江实验室 基于nlp大模型的全自动日志分析和故障处理系统和方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200915064A (en) * 2007-09-28 2009-04-01 Inventec Corp A kind of system and method for quickly diagnosing faults of system software
US20090193298A1 (en) * 2008-01-30 2009-07-30 International Business Machines Corporation System and method of fault detection, diagnosis and prevention for complex computing systems
CN103699489A (zh) * 2014-01-03 2014-04-02 中国人民解放军装甲兵工程学院 一种基于知识库的软件远程故障诊断与修复方法
CN105488610A (zh) * 2015-11-23 2016-04-13 国网山东省电力公司信息通信公司 一种电力应用系统故障实时分析诊断系统及方法
CN105740140A (zh) * 2014-12-10 2016-07-06 中兴通讯股份有限公司 软件系统故障诊断方法、服务器及系统
CN106789306A (zh) * 2016-12-30 2017-05-31 深圳市风云实业有限公司 通信设备软件故障检测收集恢复方法和系统
CN107612756A (zh) * 2017-10-31 2018-01-19 广西宜州市联森网络科技有限公司 一种具有智能故障分析处理功能的运维管理系统
CN112181769A (zh) * 2020-09-28 2021-01-05 平安普惠企业管理有限公司 应用异常数据采集方法、装置、计算机设备及存储介质
CN113608952A (zh) * 2021-06-18 2021-11-05 云南昆钢电子信息科技有限公司 一种基于日志构建支持环境的系统故障处理方法及系统

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200915064A (en) * 2007-09-28 2009-04-01 Inventec Corp A kind of system and method for quickly diagnosing faults of system software
US20090193298A1 (en) * 2008-01-30 2009-07-30 International Business Machines Corporation System and method of fault detection, diagnosis and prevention for complex computing systems
CN103699489A (zh) * 2014-01-03 2014-04-02 中国人民解放军装甲兵工程学院 一种基于知识库的软件远程故障诊断与修复方法
CN105740140A (zh) * 2014-12-10 2016-07-06 中兴通讯股份有限公司 软件系统故障诊断方法、服务器及系统
CN105488610A (zh) * 2015-11-23 2016-04-13 国网山东省电力公司信息通信公司 一种电力应用系统故障实时分析诊断系统及方法
CN106789306A (zh) * 2016-12-30 2017-05-31 深圳市风云实业有限公司 通信设备软件故障检测收集恢复方法和系统
CN107612756A (zh) * 2017-10-31 2018-01-19 广西宜州市联森网络科技有限公司 一种具有智能故障分析处理功能的运维管理系统
CN112181769A (zh) * 2020-09-28 2021-01-05 平安普惠企业管理有限公司 应用异常数据采集方法、装置、计算机设备及存储介质
CN113608952A (zh) * 2021-06-18 2021-11-05 云南昆钢电子信息科技有限公司 一种基于日志构建支持环境的系统故障处理方法及系统

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114475731A (zh) * 2021-12-29 2022-05-13 卡斯柯信号有限公司 一种信号设备故障知识库系统及其实现方法
CN114785676A (zh) * 2022-03-02 2022-07-22 深圳市优必选科技股份有限公司 提取日志的方法、装置、设备及存储介质
CN114648135A (zh) * 2022-03-25 2022-06-21 南京企之鑫科技有限公司 一种基于停车频率的维修告警处理方法和系统
CN114937316A (zh) * 2022-05-18 2022-08-23 深圳市易孔立出软件开发有限公司 一种软件故障检测方法、装置、设备及介质
CN114937316B (zh) * 2022-05-18 2023-12-29 深圳市易孔立出软件开发有限公司 一种软件故障检测方法、装置、设备及介质
CN114880158A (zh) * 2022-07-11 2022-08-09 飞狐信息技术(天津)有限公司 一种Redis实例诊断方法及装置
CN115225472A (zh) * 2022-07-29 2022-10-21 深圳市星卡软件技术开发有限公司 一种日志采集方法、装置和计算机设备
CN117608912A (zh) * 2024-01-24 2024-02-27 之江实验室 基于nlp大模型的全自动日志分析和故障处理系统和方法
CN117608912B (zh) * 2024-01-24 2024-06-07 之江实验室 基于nlp大模型的全自动日志分析和故障处理系统和方法

Also Published As

Publication number Publication date
CN113836044B (zh) 2022-03-15

Similar Documents

Publication Publication Date Title
CN113836044B (zh) 一种软件故障采集和分析的方法及系统
US7328376B2 (en) Error reporting to diagnostic engines based on their diagnostic capabilities
CN101197621B (zh) 一种对网管系统故障进行远程诊断定位的方法及其系统
EP0570505B1 (en) Knowledge based machine initiated maintenance system and method
EP1405187B1 (en) Method and system for correlating and determining root causes of system and enterprise events
CN106789306B (zh) 通信设备软件故障检测收集恢复方法和系统
US20030037288A1 (en) Method and system for reduction of service costs by discrimination between software and hardware induced outages
US20220050765A1 (en) Method for processing logs in a computer system for events identified as abnormal and revealing solutions, electronic device, and cloud server
WO2023071039A1 (zh) 一种故障诊断方法、装置、设备及可读存储介质
JP2007241872A (ja) ネットワーク上のコンピュータ資源の変更監視プログラム
CN112819640B (zh) 一种面向微服务的金融回测容错系统及方法
JP3916232B2 (ja) ナレッジ型運用管理システム,方法およびプログラム
JP4842738B2 (ja) 障害管理支援システム及びその情報管理方法
CN116560893B (zh) 一种计算机应用程序运行数据故障处理系统
CN114500178B (zh) 一种自运维的智慧物联网关
JP2007241873A (ja) ネットワーク上のコンピュータ資源の変更監視プログラム
CN116264541A (zh) 一种基于多维度的数据库容灾方法及装置
JP4575020B2 (ja) 障害解析装置
JP2003085003A (ja) 障害復旧援助方法、及び、障害復旧援助システム
JP4081258B2 (ja) 管理サーバシステム
JPH04257035A (ja) 仮想計算機システム配下における障害情報処理方式
JP2007052756A (ja) ワイヤレスデバイスの不具合診断に適用する学習型診断データベース
CN113037550B (zh) 一种服务故障监控方法、系统及计算机可读存储介质
CN116204386B (zh) 应用服务关系自动识别及监控方法、系统、介质和设备
CN117640341A (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