一种软件故障定位与修复的方法与系统技术方案

技术编号:33021179 阅读:73 留言:0更新日期:2022-04-15 08:54
一种软件故障定位与修复的方法,包括检测目标应用程序的运行状态;当监测到目标应用程序运行异常时,获取目标应用程序的版本信息、配置信息、内存堆栈调用信息文件、日志信息,应用程序的必要文件的哈希值;检测并修复异常的应用程序配置参数、运行环境、运行文件;其他情况则上传获取到的故障信息到服务器;服务器通过版本信息找到对应项目工程的仓库地址,加载对应项目工程的代码并附加上发生故障时的内存堆栈调用信息文件,解析出故障的发生位置和原因;通过检索代码仓库的更新日志,判断分析的故障位置是否得到了修正;若故障已经修正,则进行代码的自动化构建、集成打包生成升级包;客户端下载并安装升级包,修复故障问题。修复故障问题。修复故障问题。

【技术实现步骤摘要】
一种软件故障定位与修复的方法与系统


[0001]本专利技术涉及的是计算器软件处理领域,特别涉及一种软件故障定位与修复的方法与系统。

技术介绍

[0002]当今社会,随着计算机技术的发展,应用软件已经成为了人们工作甚至生活中重要的使用工具。随着用户需求的不断变化,应用软件也在不断的迭代更新。不同客户对同一个应用软件的需求各异,定制化需求与业务的变更显得繁杂且多元,不同的定制化需求、不同的应用场景的功能适配进一步的增加了应用软件的复杂度。应用软件的复杂度的增加,也意味着软件的结构越来越复杂、软件的规模也越来越大,使得软件出现故障的情况在所难免。
[0003]软件故障可分为在应用软件的功能开发时因编码逻辑漏洞导致的内在型故障,和因配置参数错误、运行文件损坏或缺失、依赖环境配置错误导致的外在型故障。前一类故障需要应用软件的开发人员进行源代码的故障定位与故障修复,并提供应用软件的新版本给使用者进行软件的更新升级。后一类故障只需要对配置参数、运行环境进行合理修正,对损坏或缺失的运行文件进行文件修复即可。但对于不熟悉软件架构的使用者来说,解决软件故障本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种软件故障定位与修复的方法,其特征在于,包括:S100.故障监控程序对目标应用程序的运行状态进行实时监测,检测目标应用程序是否运行异常;S200.当检测到目标应用程序运行状态异常时,故障监控程序获取目标应用程序的版本信息、配置参数信息、内存堆栈调用信息文件、日志信息和应用程序的必要文件的哈希值信息;S300.通过得到应用程序的必要的文件哈希信息、配置信息,判断配置参数是否异常,运行文件是否损坏或者缺失,运行环境是否异常;并根据实际情况修复异常配置的参数、修复运行环境、修复损坏或缺失的应用程序文件;S400.服务器利用接受到的故障信息,找到对用项目版本的代码仓库路径和仓库版本号,自动附加内存堆栈调用信息文件并调试,定位故障位置;S500.服务器查询代码仓库的更新记录,找到异常组件能够支持的最新版本,进行自动化的构建、集成打包,生成升级包;S600.故障监控客户端接收升级包,并执行升级安装,修复故障,更新校验信息文件。2.如权利要求1所述的一种软件故障定位与修复的方法,其特征在于,目标应用程序包括主程序和多个组件;其中,主程序负责组件的动态加载与管理,组件用于实现目标应用程序具体功能,组件之间实现逻辑解耦,主程序和组件拥有独立的版本编号。3.如权利要求1所述的一种软件故障定位与修复的方法,其特征在于,S200中,监测到应用程序运行异常时,故障监控程序获取目标应用程序的版本信息包括目标应用程序的主程序的版本编号和所有包含的组件的版本编号、编译生成时间信息、所属项目类型信息内容;故障监控程序通过文件遍历的方式检索目标应用程序的运行文件,并计算文件的哈希值;以每一个文件的相对路径,文件版本号,计算得到的哈希值构成一个数据记录单元,并保存在遍历结果列表中;目标应用程序文件在进行集成打包前,需要计算一次最新的所有必要文件的哈希值,以文件相对路径、文件版本号,哈希值一个数据记录单元的方式进行记录,保存在本地的校验信息文件中,并随着程序文件一起集成到安装包中,便于后续进行故障判断时进行数据的对比分析;进行目标应用程序文件的哈希计算时,只遍历计算目标应用程序的必要文件,不包括应用程序运行后产生的临时数据记录文件、日志文件、以及可能被修改的参数配置文件。4.如权利要求1所述的一种软件故障定位与修复的方法,其特征在于,S300的具体方法为:通过读取配置文件中的参数,获取目标应用程序当前使用的配置参数的配置情况,判断配置参数是否都在正常允许的范围内,是否是因为参数配置的原因导致目标应用程序与服务器的网络链接异常;通过将遍历计算得到的目标应用程序文件的所有必要文件的哈希值,与校验信息文件中的数据内容进行对比,判断是否存在目标应用程序的必要文件损坏或者缺失。5.如权利要求4所述的一种软件故障定位与修复的方法,其特征在于,若存在应用程序的必要文件损坏或者缺失,故障监控程序可以优先检测是否存在应用程序在计算机上是否有相同版本的安装包或者升级包的文件备份;若存在备份文件,则从备份文件中提取出需要修复的应用程序的运行文件,并对应用程序安装目录下的同名文件进行覆盖与替换;
若不存在备份文件,则故障监控程序向服务器请求并下载对应版本号的程序运行文件,下载完成后,执行应用程序运行文件的覆盖替换,实现损坏或缺失文件的自动修复。6.如权利要求1所述一种软件故障定位与修复的方法,其特征在于,S400中,对于不是由于参数配置异常、运行环境配置异常、运行文件损坏或缺失导致的故障,故障监控程序将采集到的故障信息数据发送到服务器,由服务器上的服务程序进行故障定位并给出修复升级包。7.如权利要求6所述一种软件故障定位与修复的方法,其特征在于,S400的具体方法为:S401.服务器接收故障监控程序发送的故障数据,解压后对故障数据进行解析,提取出项目名称、主程序以及各个组件的版本编号信息;S402.服务器根据项目名称、主程序以及各个组件的版本号,在代码仓库中找到完全匹配的项目工程代码版本;S403.加载找到的代码的工程,并将内存堆栈调用信息文件附加到该项目工程中,进行自动化的堆栈信息调试,确定故障位置与故障原因,确定出现故障的组件;S404.检索版本更新日志记录,判断出现故障的组件是否已经修复了分析出的故障问题;S405.若故障问题已修正,则将该组件的项目代码更新到支持的最新版本,并进行自动化的构建、集成打包,生成升级包;S406.将升级包发送给报告异常的故障监控客户端。8.如权利要求1所述一种软件故障定位与修复的方法,其特征在于,步骤S500中,故障监控程序...

【专利技术属性】
技术研发人员:奚泉
申请(专利权)人:武汉众智数字技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1