CN113064606A - 软件工程项目故障处理方法、装置、设备及存储介质 - Google Patents
软件工程项目故障处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113064606A CN113064606A CN202110451833.XA CN202110451833A CN113064606A CN 113064606 A CN113064606 A CN 113064606A CN 202110451833 A CN202110451833 A CN 202110451833A CN 113064606 A CN113064606 A CN 113064606A
- Authority
- CN
- China
- Prior art keywords
- software engineering
- engineering project
- file
- missing
- package
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 9
- 230000002159 abnormal effect Effects 0.000 claims abstract description 126
- 238000009434 installation Methods 0.000 claims abstract description 81
- 238000000034 method Methods 0.000 claims abstract description 47
- 238000012545 processing Methods 0.000 claims description 21
- 230000005856 abnormality Effects 0.000 claims description 14
- 238000012216 screening Methods 0.000 claims description 7
- 238000000605 extraction Methods 0.000 claims description 3
- 238000012827 research and development Methods 0.000 abstract description 2
- 230000001419 dependent effect Effects 0.000 description 21
- 238000011161 development Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 6
- 238000010367 cloning Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000009191 jumping Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000011900 installation process Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/1734—Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及研发管理领域,公开了一种软件工程项目故障处理方法、装置、设备及存储介质。所述方法包括:在软件工程项目发生运行异常时,获取其日志文件;提取日志文件中的异常提示信息并判断是否为缺失包异常;若是,则执行预置正则表达式,提取异常提示信息中各缺失包文件的名称并检索预置目标检索区域内的包文件,得到各缺失包文件对应的多版本的包文件列表;分别判断各缺失包文件是否与软件工程项目兼容后,分别将兼容的缺失包文件安装至所述软件工程项目对应的包文件安装路径,并重新运行软件工程项目。本发明能自动处理运行异常的软件工程项目所发生的缺失故障,使软件工程项目能够重新正常运行。
Description
技术领域
本发明涉及研发管理领域,尤其涉及一种软件工程项目故障处理方法、装置、设备及存储介质。
背景技术
在软件工程项目的开发过程中,通常需要引入相关的依赖包,这些依赖包可以是本项目开发者自行开发的,在项目中抽离出来形成了单独的工具包,也可以是引入第三方开发者研发的工具包,直接引入到本项目中并使用其中丰富的功能,从而加快项目开发的进度。大多数的软件开发项目中,开发者们都会共享出其研发的工具包供他人下载使用,形成了良性的知识共享生态圈。
在实际应用中,由于依赖包的引用方式不正确会导致程序出现缺失故障,进而导致整个工程项目无法正常运行。出现这种情况时,一般需要开发者重新手动安装所缺失的依赖包文件,并重新进行调试和测试。另外,工具包对应的版本众多,在调试的过程中,需要逐一引入各版本的工具包,并逐一尝试是否适合当前项目的运行环境,这一过程相当的繁琐,且极大地影响了项目开发的效率。
发明内容
本发明的主要目的在于解决现有软件工程项目运行中出现缺失故障时无法自动排除故障的技术问题。
本发明第一方面提供了一种软件工程项目故障处理方法,包括:
在软件工程项目发生运行异常时,获取软件工程项目的日志文件;
提取所述日志文件中的异常提示信息并判断是否为缺失包异常;
若为缺失包异常,则执行预置正则表达式,提取所述异常提示信息中各缺失包文件的名称;
根据所述各缺失包文件的名称,检索预置目标检索区域内的包文件,得到所述各缺失包文件对应的多版本的包文件列表;
依次读取各所述包文件列表中各版本的缺失包文件,并分别判断所述各缺失包文件是否与所述软件工程项目版本兼容;
分别将与所述软件工程项目版本兼容的缺失包文件安装至所述软件工程项目对应的包文件安装路径,并重新运行所述软件工程项目。
可选的,在本发明第一方面的第一种实现方式中,在所述在软件工程项目发生运行异常时,获取软件工程项目的日志文件之前,还包括:
初始化软件工程项目的日志文件的存储路径,并在所述存储路径下创建空白日志文件;
创建所述软件工程项目的异常捕获对象,并构建所述空白日志文件及所述异常捕获对象的关联关系;
根据所述关联关系,将所述异常捕获对象捕获到的多个第一异常提示信息记录至所述空白日志文件,得到所述软件工程项目对应的日志文件,其中,各所述第一异常提示信息中包括异常发生时的时间戳及各所述第一异常提示信息的等级信息。
可选的,在本发明第一方面的第二种实现方式中,所述提取所述日志文件中的异常提示信息并判断是否为缺失包异常包括:
提取所述日志文件中的异常提示信息,并根据各所述第一异常提示信息中的所述时间戳,在各所述第一异常提示信息中筛选出预置时间范围内的多个第二异常提示信息;
根据各所述等级信息,在各所述第二异常提示信息中筛选出等级最高的多个第三异常提示信息;
判断各所述第三异常提示信息是否为缺失包异常,得到包含预置缺失包文件关键词的第四异常提示信息。;
可选的,在本发明第一方面的第三种实现方式中,所述根据所述各缺失包文件的名称,检索预置目标检索区域内的包文件,得到所述各缺失包文件对应的多版本的包文件列表包括:
获取所述软件工程项目的运行环境对应的操作系统信息;
分别访问所述各缺失包文件的名称在预置目标检索区域内的目标检索地址,得到所述各缺失包文件对应的包文件历史版本列表;
在所述包文件历史版本列表中提取与所述操作系统信息对应的各缺失包文件的多个第一版本信息及下载地址;
根据所述各缺失包文件对应的第一版本信息及下载地址,生成所述各缺失包文件对应的多版本的包文件列表。
可选的,在本发明第一方面的第四种实现方式中,所述依次读取各所述包文件列表中各版本的缺失包文件,并分别判断所述各缺失包文件是否与所述软件工程项目版本兼容包括:
S1、获取所述软件工程项目所采用的编程语言对应的第二版本信息;
S2、根据所述第一版本信息及所述第二版本信息,匹配所述包文件列表中各缺失包文件对应的发布时间最接近当前时间的最新版本的第一包文件;
S3、预安装各所述第一包文件,并判断各所述第一包文件是否预安装成功;
S4、若预安装成功,则记录预安装成功的第一包文件对应的第一版本信息,并作为所述缺失包文件对应的兼容版本信息;
S5、若预安装失败,则以次新版本的第一包文件为所述第一包文件,重复执行步骤S2-S3,直至各所述第一包文件均预安装完成,其中,所述次新版本的第一包文件为发布时间最接近所述最新版本的第一包文件。
可选的,在本发明第一方面的第五种实现方式中,所述预安装各所述第一包文件,并判断各所述第一包文件是否预安装成功包括:
创建所述软件工程项目的虚拟环境,并在所述虚拟环境下安装各所述第一包文件;
分别执行各所述第一包文件的版本查看命令,得到命令执行结果;
根据各所述命令执行结果,确定各所述第一包文件是否预安装成功。
可选的,在本发明第一方面的第六种实现方式中,所述分别将与所述软件工程项目版本兼容的缺失包文件安装至所述软件工程项目对应的包文件安装路径,并重新运行所述软件工程项目包括:
在所述软件工程项目下创建包文件安装路径;
根据所述各缺失包文件的兼容版本信息,访问所述各缺失包文件的下载地址,并下载包文件至所述包文件安装路径;
分别在所述包文件安装路径下执行所述各缺失包文件的安装命令,并重新运行所述软件工程项目。
本发明第二方面提供了一种软件工程项目故障处理装置,包括:
获取模块,用于在软件工程项目发生运行异常时,获取软件工程项目的日志文件;
提取模块,用于提取所述日志文件中的异常提示信息并判断是否为缺失包异常;
执行模块,用于若为缺失包异常,则执行预置正则表达式,提取所述异常提示信息中各缺失包文件的名称;
检索模块,用于根据所述各缺失包文件的名称,检索预置目标检索区域内的包文件,得到所述各缺失包文件对应的多版本的包文件列表;
判断模块,用于依次读取各所述包文件列表中各版本的缺失包文件,并分别判断所述各缺失包文件是否与所述软件工程项目版本兼容;
安装模块,用于分别将与所述软件工程项目版本兼容的缺失包文件安装至所述软件工程项目对应的包文件安装路径,并重新运行所述软件工程项目。可选的,在本发明第二方面的第一种实现方式中,所述软件工程项目故障处理装置还包括:
创建模块,用于初始化软件工程项目的日志文件的存储路径,并在所述存储路径下创建空白日志文件;
绑定模块,用于创建所述软件工程项目的异常捕获对象,并构建所述空白日志文件及所述异常捕获对象的关联关系;
记录模块,用于根据所述关联关系,将所述异常捕获对象捕获到的多个第一异常提示信息记录至所述空白日志文件,得到所述软件工程项目对应的日志文件,其中,各所述第一异常提示信息中包括异常发生时的时间戳及各所述第一异常提示信息的等级信息。
可选的,在本发明第二方面的第二种实现方式中,所述提取模块具体用于:
提取所述日志文件中的异常提示信息,并根据各所述第一异常提示信息中的所述时间戳,在各所述第一异常提示信息中筛选出预置时间范围内的多个第二异常提示信息;
根据各所述等级信息,在各所述第二异常提示信息中筛选出等级最高的多个第三异常提示信息;
判断各所述第三异常提示信息是否为缺失包异常,得到包含预置缺失包文件关键词的第四异常提示信息。;
可选的,在本发明第二方面的第三种实现方式中,所述检索模块具体用于:
获取所述软件工程项目的运行环境对应的操作系统信息;
分别访问所述各缺失包文件的名称在预置目标检索区域内的目标检索地址,得到所述各缺失包文件对应的包文件历史版本列表;
在所述包文件历史版本列表中提取与所述操作系统信息对应的各缺失包文件的多个第一版本信息及下载地址;
根据所述各缺失包文件对应的第一版本信息及下载地址,生成所述各缺失包文件对应的多版本的包文件列表。
可选的,在本发明第二方面的第四种实现方式中,所述判断模块包括:
获取单元,用于获取所述软件工程项目所采用的编程语言对应的第二版本信息;
匹配单元,用于根据所述第一版本信息及所述第二版本信息,匹配所述包文件列表中各缺失包文件对应的发布时间最接近当前时间的最新版本的第一包文件;
预安装单元,用于预安装各所述第一包文件,并判断各所述第一包文件是否预安装成功;
记录单元,用于若预安装成功,则记录预安装成功的第一包文件对应的第一版本信息,并作为所述缺失包文件对应的兼容版本信息;
重复单元,用于若预安装失败,则以次新版本的第一包文件为所述第一包文件,重复执行所述匹配单元及所述预安装单元,直至各所述第一包文件均预安装完成,其中,所述次新版本的第一包文件为发布时间最接近所述最新版本的第一包文件。
可选的,在本发明第二方面的第五种实现方式中,所述预安装单元具体用于:
创建所述软件工程项目的虚拟环境,并在所述虚拟环境下安装各所述第一包文件;
分别执行各所述第一包文件的版本查看命令,得到命令执行结果;
根据各所述命令执行结果,确定各所述第一包文件是否预安装成功。
可选的,在本发明第二方面的第六种实现方式中,所述安装模块具体用于:
在所述软件工程项目下创建包文件安装路径;
根据所述各缺失包文件的兼容版本信息,访问所述各缺失包文件的下载地址,并下载包文件至所述包文件安装路径;
分别在所述包文件安装路径下执行所述各缺失包文件的安装命令,并重新运行所述软件工程项目。
本发明第三方面提供了一种软件工程项目故障处理设备,包括:存储器和至少一个处理器,所述存储器中存储有指令;所述至少一个处理器调用所述存储器中的所述指令,以使得所述软件工程项目故障处理设备执行上述的软件工程项目故障处理方法。
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的软件工程项目故障处理方法。
本发明提供的技术方案中,首先获取待解决缺失异常的软件工程项目日志文件,通过对日志文件的文本处理,提取出项目所缺失的依赖包的名称,利用这些名称去检索这些依赖包的各个版本的下载地址,再分别判断这些版本是否与当前软件工程项目所运行的环境相互兼容,通过系统试错判断,得到最终兼容的版本并自动安装,最后重新运行项目。本发明能自动处理运行异常的软件工程项目所发生的缺失故障,使软件工程项目能够重新正常运行,从而降低了项目发生异常时进行人工调试所花费的时间,提高了项目开发的效率。
附图说明
图1为本发明实施例中软件工程项目故障处理方法的第一个实施例示意图;
图2为本发明实施例中软件工程项目故障处理方法的第二个实施例示意图;
图3为本发明实施例中软件工程项目故障处理装置的第一个实施例示意图;
图4为本发明实施例中软件工程项目故障处理装置的第二个实施例示意图;
图5为本发明实施例中软件工程项目故障处理设备的一个实施例示意图。
具体实施方式
本发明实施例提供了一种软件工程项目故障处理方法、装置、设备及存储介质。本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中软件工程项目故障处理方法的第一个实施例包括:
101、在软件工程项目发生运行异常时,获取软件工程项目的日志文件;
可以理解的是,本发明的执行主体可以为软件工程项目故障处理装置,还可以是终端或者服务器,具体此处不做限定。本发明实施例以服务器为执行主体为例进行说明。
本实施例中,软件工程项目开发过程中难免会引入第三方的工具包/库,例如绘图工具包、数据分析工具包、机器学习工具包等等,这些工具包是由第三方的开发者开发并维护,对于我们自己的项目而言,只需简单的引入就能使用这些工具包中所包含的丰富的功能,引用合适的工具包能大大地提高项目开发的效率,使开发人员能够更专注于业务功能的实现。
本实施例中,若开发人员在开发过程中引入工具包的方式不正确,或者是工具包又引入了其它的依赖包,又或者是引入的工具包版本与当前项目的运行环境不兼容,上述原因均能导致程序出现异常,无法正常运行。当程序出现异常时,需要获取异常程序的日志文件,分析其中的异常信息,提取出缺失包的异常提示信息,进而解决缺失包的异常,使程序能够正常运行。本实施例中,所述软件工程项目为缺失异常的软件工程项目,项目是否存在缺失异常可以由开发人员进行预判,例如可以通过阅读日志文件判定其为缺失异常的项目,或者在开发过程中通过对代码的阅读判定其缺失相关文件。
102、提取所述日志文件中的异常提示信息并判断是否为缺失包异常;
本实施例中,日志文件用于记录软件工程项目运行过程中发生的异常提示信息,所述异常提示信息可以划分为不同的类型,例如命名错误提示、变量错误提示、输入输出错误提示以及引用错误提示等等,但日志文件中所记录的异常提示信息并没有对这些异常提示进行明确的类型划分,需要通过文本处理的方式,根据所述异常提示信息的存储格式,对每条异常提示进行分类处理,从而筛选出类型为缺失包文件的异常提示信息。
103、若为缺失包异常,则执行预置正则表达式,提取所述异常提示信息中各缺失包文件的名称;
本实施例中,对日志文件中各异常提示信息的处理实际上是对文本的处理,而正则表达式通常被用来检索、替换那些符合某个模式的文本,通过构建提取包文件名称的正则表达式,可以快速地提取到各异常提示信息中包含的缺失包文件的名称,从而检索需要下载和安装的项目包文件。
本实施例中,通过分析所述缺失包文件的异常提示信息的存储规则,可以提炼出所述正则表达式来获取缺失包文件的名称,例如缺失numpy依赖包的异常提示信息为:“ImportError:Missing required dependencies[‘numpy’]”,那么,正则表达式可以预置为提取单引号中的单词,或者提取方括号中的文本,再去除单引号,方式多样,本实施例不做具体限定。
104、根据所述各缺失包文件的名称,检索预置目标检索区域内的包文件,得到所述各缺失包文件对应的多版本的包文件列表;
本实施例中,目标检索区域可以预先设置,它可以是开发者们上传、存储和共享包文件的网站,例如Python项目的目标检索区域可以是pypi.org或者是GitHub,这些线上代码仓库存储了海量的开发工具,通过预先配置一个检索区域,可以自动搜索并下载各个缺失包文件对应的各版本的包文件,从而解决包文件缺失的问题。
本实施例中,搜索目标检索区域可以包括多个子区域,当其中一个子区域未检索到缺失包文件时,则在其它的子区域中继续检索,直至所有的子区域均检索过或者已经检索到缺失包文件为止。
可选的,步骤104包括:
获取所述软件工程项目的运行环境对应的操作系统信息;
分别访问所述各缺失包文件的名称在预置目标检索区域内的目标检索地址,得到所述各缺失包文件对应的包文件历史版本列表;
在所述包文件历史版本列表中提取与所述操作系统信息对应的各缺失包文件的多个第一版本信息及下载地址;
根据所述各缺失包文件对应的第一版本信息及下载地址,生成所述各缺失包文件对应的多版本的包文件列表。
本可选实施例中,目标检索地址可以是一条网络地址,它包含了根据缺失包名称检索到的包文件所有的历史版本列表,例如在pypi.org检索区域范围内,目标检索地址是pypi.org/project/缺失包名称/#history,通过对网页超文本信息的识别和提取,可以得到各个版本的下载地址和版本信息,将这些信息一一对应地保存起来,便能在预安装和正式安装的时候找到各个包文件对应的版本号和下载地址,从而下载对应的版本包文件并安装。
本可选实施例中,不同版本的包文件又区分多个不同的操作系统和不同的操作系统类型版本,例如操作系统分为:Windows系统、MacOS系统和Linux系统,其中Windows系统的类型版本又分为:32位和64位,因此,在确定要下载的包文件之前,需要找到当前软件工程项目所在的运行环境的操作系统类型和版本信息,才能进一步确定兼容版本的依赖包。本可选实施例可以通过运行系统查看命令的方式查看,也可以通过预先配置的方式确定,在此不做限定。
105、依次读取各所述包文件列表中各版本的缺失包文件,并分别判断所述各缺失包文件是否与所述软件工程项目版本兼容;
本实施例中,开发人员在给自己当前的软件工程环境安装依赖包时,经常会出现包与软件工程版本不兼容,而导致依赖包无法安装成功的问题。为此,在检索到各缺失包对应的多版本包文件列表后,还需要验证哪个版本的包文件才适合当前的软件工程项目,而验证的方式就是通过隔离的虚拟环境逐一验证各版本的包文件是否能安装成功,若能安装成功,那么就能将对应版本的包文件迁移到真实项目文件中,这样既不会污染项目环境,又能起到检测的效果。
本实施例中,缺失包文件的兼容版本信息可以从区块链中读取历史故障处理过程中所保存的兼容版本信息,从而快速获取与发生故障的软件过程项目相互兼容的缺失包文件的兼容版本,并下载安装。
可选的,步骤105进一步包括:
S1、获取所述软件工程项目所采用的编程语言对应的第二版本信息;
S2、根据所述第一版本信息及所述第二版本信息,匹配所述包文件列表中各缺失包文件对应的发布时间最接近当前时间的最新版本的第一包文件;
S3、预安装各所述第一包文件,并判断各所述第一包文件是否预安装成功;
S4、若预安装成功,则记录预安装成功的第一包文件对应的第一版本信息,并作为所述缺失包文件对应的兼容版本信息;
S5、若预安装失败,则以次新版本的第一包文件为所述第一包文件,重复执行步骤S2-S3,直至各所述第一包文件均预安装完成,其中,所述次新版本的第一包文件为发布时间最接近所述最新版本的第一包文件。
本可选实施例中,由于包文件的版本越新,它与我们软件工程项目匹配成功的概率就越高,因此,一开始时,先利用各个缺失包对应的最新版本的包文件来进行预安装,如果能预安装成功,那么说明这个版本的包文件能被真实项目环境兼容,如果不能预安装成功,那么就拿剩下版本的包文件中的最新版本,也就是上一个试错版本的次新版本来进行预安装,如此循环,直至找到合适版本的包文件作为兼容版本,并将兼容版本信息存入区块链中,以便于在下次发生故障时直接调用区块链中的兼容版本信息,从而快速下载兼容版本的包文件,解决故障。
本可选实施例中,缺失的依赖包的版本是否为最新版本,可以通过发布时间来确定,发布时间最接近当前时间的,即为最新版本,发布时间最接近最新版的发布时间的,即为相当于所述最新版本的次新版本。
在一可选实施例中,由于依赖包的版本号一般是通过逐级递增的方式记载的,因此,各个版本的第一包文件之间的版本号对比算法只需将所述第一版本信息中的多个数值进行累加,得到各个第一包文件的版本号总和,再通过所述各版本号总和之间的大小对比,就能确定最新版本的第一包文件以及次新版本的第一包文件。
可选的,上述步骤S3包括:
创建所述软件工程项目的虚拟环境,并在所述虚拟环境下安装各所述第一包文件;
分别执行各所述第一包文件的版本查看命令,得到命令执行结果;
根据各所述命令执行结果,确定各所述第一包文件是否预安装成功。
本可选实施例中,预安装指的是克隆一份与所述软件工程项目一模一样的项目文件及项目配置,到与所述软件工程项目运行环境相同的虚拟环境中,通过克隆软件工程项目在虚拟环境中的不断试错,最终找到正确版本的依赖包文件。例如,Python项目的虚拟环境可以通过命令行“virtualenv venv”创建,在虚拟环境中下载各个包文件对应的历史版本包文件,并在虚拟环境中执行包文件安装命令,最后通过包文件的版本查看命令来确定包文件是否安装成功,如果安装成功,版本查看命令将会提供安装成功的包文件的版本信息,这样的判断方式比直接判断安装结果更准确和简便,且能够记录版本查看命令获取到的版本信息到所述软件工程项目运行的全局环境中,以便于所述软件工程项目下载并安装对应版本的依赖包文件。
106、分别将与所述软件工程项目版本兼容的缺失包文件安装至所述软件工程项目对应的包文件安装路径,并重新运行所述软件工程项目。
本实施例中,通过虚拟环境中过滤得到各缺失包对应的兼容版本后,在真实的软件工程项目运行环境中安装所述各兼容版本的缺失包文件,得到不存在缺失包异常的软件工程项目文件,从而解决了依赖包缺失的问题。其中,依赖包的安装路径可以在安装的过程中重新创建,也可以通过预先配置的方式设置,一般情况下,软件工程项目依赖包的安装路径为固定的文件根目录,通过路径跳转的命令行,就能够跳转到目标安装路径下,以进一步执行依赖包安装命令。
可选的,步骤106包括:
在所述软件工程项目下创建包文件安装路径;
根据所述各缺失包文件的兼容版本信息,访问所述各缺失包文件的下载地址,并下载包文件至所述包文件安装路径;
分别在所述包文件安装路径下执行所述各缺失包文件的安装命令,并重新运行所述软件工程项目。
本可选实施例中,将虚拟环境中收集到的各缺失包对应的兼容版本包文件信息,通过访问所述包文件历史版本列表中存储的各缺失包对应的下载地址,下载各个兼容版本的包文件到软件工程项目包文件安装路径下,然后通过命令行的形式安装各个兼容版本的包文件,即能自动安装所缺失的各个依赖包。例如numpy数组处理工具包的安装命令为:“python-m pip install numpy”。当执行完所有的兼容版本包文件的安装后,得到一个没有缺失包文件的新的软件工程项目文件,运行这个软件工程项目文件,不再报缺失包的错误,解决了缺失包的项目问题。
本发明实施例中,首先获取待解决缺失异常的软件工程项目日志文件,通过对日志文件的文本处理,提取出项目所缺失的依赖包的名称,利用这些名称去检索这些依赖包的各个版本的下载地址,再分别判断这些版本是否与当前软件工程项目所运行的环境相互兼容,通过系统试错判断,得到最终兼容的版本并自动安装,最后重新运行项目。本发明能自动处理运行异常的软件工程项目所发生的缺失故障,使软件工程项目能够重新正常运行,从而降低了项目发生异常时进行人工调试所花费的时间,提高了项目开发的效率。
请参阅图2,本发明实施例中软件工程项目故障处理方法的第二个实施例包括:
201、初始化软件工程项目的日志文件的存储路径,并在所述存储路径下创建空白日志文件;
202、创建所述软件工程项目的异常捕获对象,并构建所述空白日志文件及所述异常捕获对象的关联关系;
203、根据所述关联关系,将所述异常捕获对象捕获到的多个第一异常提示信息记录至所述空白日志文件,得到所述软件工程项目对应的日志文件,其中,各所述第一异常提示信息中包括异常发生时的时间戳及各所述第一异常提示信息的等级信息;
本实施例中,为了分析软件工程项目中出现的异常提示信息,需要收集所有的异常提示信息以做进一步的分析,因此,需要创建一个日志文件来记录程序的异常信息,并且需要创建软件工程的异常捕获对象/模块来捕获程序运行出现的异常信息,例如Python的异常捕获对象/模块是自带的功能,可以利用try/except语句来检测try语句块中的错误,从而让except语句捕获异常信息并记录,为了使异常捕获对象/模块捕获到的异常记录到我们创建的日志文件中,需要使这两者关联起来,将异常捕获对象/模块的输出存储到日志文件的存储路径下,就能捕获到程序运行出现的所有错误提示。
本实施例中,软件工程的异常捕获对象/模块捕获到的是程序运行过程中出现的所有错误信息,例如NameError(命名错误)、ValueError(变量错误)、IOError(输入输出错误)、ImportError(引用错误)等等,为了进一步地确定这些错误信息中为缺失包的提示信息,对这些错误信息进行分类筛选,从而得到为缺失包的类型异常提示信息。
204、在软件工程项目发生运行异常时,获取软件工程项目的日志文件;
205、提取所述日志文件中的异常提示信息并判断是否为缺失包异常;
可选的,步骤205包括:
提取所述日志文件中的异常提示信息,并根据各所述第一异常提示信息中的所述时间戳,在各所述第一异常提示信息中筛选出预置时间范围内的多个第二异常提示信息;
根据各所述等级信息,在各所述第二异常提示信息中筛选出等级最高的多个第三异常提示信息;
判断各所述第三异常提示信息是否为缺失包异常,得到包含预置缺失包文件关键词的第四异常提示信息。
本可选实施例中,日志文件中捕获到的异常提示信息是按条数计算的文本信息,例如“2021-01-04 09:25:30,620-ERROR-Model:control.py-Fun:login-Message:'bool'object has no attribute'service'-Line:58”,这是一条模块错误的异常提示信息,可以看出异常发生的时间、行号、类型、等级、所在文件等信息,其中异常提示的等级信息为按照异常类型对程序的影响程度划分的等级,某些类型的异常不影响程序的正常运行,那么这种类型的异常等级较低,而某些类型的异常会导致程序无法正常运行,那么这种类型的异常等级则较高。
本可选实施例中,异常提示信息的捕获时机不同可以筛选出本次需要解决的异常问题,可能是开发人员在某一次调试过程中捕获到的异常,也可能是程序在发布之前捕获到的异常,为了检索文本信息的处理量,以及保障解决问题的时效性,通过预先的配置异常的检测时间范围,筛选出符合新鲜时效的异常提示信息,从而解决在时效范围内遇到的缺失包问题。
本可选实施例中,缺失包异常的判断方式是关键词匹配,通过对异常提示信息中的缺失包文件关键字的匹配,可以确定缺失包异常的异常提示信息,其中,关键字的匹配方式可以采用正则表达式的方式实现。例如,异常提示信息中包含“missing dependencies”字符,那么通过关键字匹配,就能确定该条异常提示信息为缺失包的异常提示。
206、若为缺失包异常,则执行预置正则表达式,提取所述异常提示信息中各缺失包文件的名称;
207、根据所述各缺失包文件的名称,检索预置目标检索区域内的包文件,得到所述各缺失包文件对应的多版本的包文件列表;
208、依次读取各所述包文件列表中各版本的缺失包文件,并分别判断所述各缺失包文件是否与所述软件工程项目版本兼容;
209、分别将与所述软件工程项目版本兼容的缺失包文件安装至所述软件工程项目对应的包文件安装路径,并重新运行所述软件工程项目。
本发明实施例中,为了识别软件工程项目所缺失的依赖包的名称,创建异常捕获对象用以捕获软件工程项目运行过程中发生的异常信息,并创建项目异常记录日志用以记录捕获到的异常信息,通过对异常信息中的时间和等级进行筛查,能够快速地定位时效范围内发生的异常。本发明实施例能够快速地捕获软件工程项目运行过程中发生的异常信息,并提取出缺失包文件的异常提示信息,从而自动识别出软件工程项目所缺失的依赖包。
上面对本发明实施例中软件工程项目故障处理方法进行了描述,下面对本发明实施例中软件工程项目故障处理装置进行描述,请参阅图3,本发明实施例中软件工程项目故障处理装置第一个实施例包括:
获取模块301,用于在软件工程项目发生运行异常时,获取软件工程项目的日志文件;
提取模块302,用于提取所述日志文件中的异常提示信息并判断是否为缺失包异常;
执行模块303,用于若为缺失包异常,则执行预置正则表达式,提取所述异常提示信息中各缺失包文件的名称;
检索模块304,用于根据所述各缺失包文件的名称,检索预置目标检索区域内的包文件,得到所述各缺失包文件对应的多版本的包文件列表;
判断模块305,用于依次读取各所述包文件列表中各版本的缺失包文件,并分别判断所述各缺失包文件是否与所述软件工程项目版本兼容;
安装模块306,用于分别将与所述软件工程项目版本兼容的缺失包文件安装至所述软件工程项目对应的包文件安装路径,并重新运行所述软件工程项目。
可选的,所述检索模块304具体用于:
获取所述软件工程项目的运行环境对应的操作系统信息;
分别访问所述各缺失包文件的名称在预置目标检索区域内的目标检索地址,得到所述各缺失包文件对应的包文件历史版本列表;
在所述包文件历史版本列表中提取与所述操作系统信息对应的各缺失包文件的多个第一版本信息及下载地址;
根据所述各缺失包文件对应的第一版本信息及下载地址,生成所述各缺失包文件对应的多版本的包文件列表。
可选的,所述判断模块305包括:
获取单元3051,用于获取所述软件工程项目所采用的编程语言对应的第二版本信息;
匹配单元3052,用于根据所述第一版本信息及所述第二版本信息,匹配所述包文件列表中各缺失包文件对应的发布时间最接近当前时间的最新版本的第一包文件;
预安装单元3053,用于预安装各所述第一包文件,并判断各所述第一包文件是否预安装成功;
记录单元3054,用于若预安装成功,则记录预安装成功的第一包文件对应的第一版本信息,并作为所述缺失包文件对应的兼容版本信息;
重复单元3055,用于若预安装失败,则以次新版本的第一包文件为所述第一包文件,重复执行所述匹配单元3052及所述预安装单元3053,直至各所述第一包文件均预安装完成,其中,所述次新版本的第一包文件为发布时间最接近所述最新版本的第一包文件。
可选的,预安装单元3053具体用于:
创建所述软件工程项目的虚拟环境,并在所述虚拟环境下安装各所述第一包文件;
分别执行各所述第一包文件的版本查看命令,得到命令执行结果;
根据各所述命令执行结果,确定各所述第一包文件是否预安装成功。
可选的,安装模块306具体用于:
在所述软件工程项目下创建包文件安装路径;
根据所述各缺失包文件的兼容版本信息,访问所述各缺失包文件的下载地址,并下载包文件至所述包文件安装路径;
分别在所述包文件安装路径下执行所述各缺失包文件的安装命令,并重新运行所述软件工程项目。
本发明实施例中,首先获取待解决缺失异常的软件工程项目日志文件,通过对日志文件的文本处理,提取出项目所缺失的依赖包的名称,利用这些名称去检索这些依赖包的各个版本的下载地址,再分别判断这些版本是否与当前软件工程项目所运行的环境相互兼容,通过系统试错判断,得到最终兼容的版本并自动安装,最后重新运行项目。本发明能自动处理运行异常的软件工程项目所发生的缺失故障,使软件工程项目能够重新正常运行,从而降低了项目发生异常时进行人工调试所花费的时间,提高了项目开发的效率。
请参阅图4,本发明实施例中软件工程项目故障处理装置的第二个实施例包括:
获取模块301,用于在软件工程项目发生运行异常时,获取软件工程项目的日志文件;
提取模块302,用于提取所述日志文件中的异常提示信息并判断是否为缺失包异常;
执行模块303,用于若为缺失包异常,则执行预置正则表达式,提取所述异常提示信息中各缺失包文件的名称;
检索模块304,用于根据所述各缺失包文件的名称,检索预置目标检索区域内的包文件,得到所述各缺失包文件对应的多版本的包文件列表;
判断模块305,用于依次读取各所述包文件列表中各版本的缺失包文件,并分别判断所述各缺失包文件是否与所述软件工程项目版本兼容;
安装模块306,用于分别将与所述软件工程项目版本兼容的缺失包文件安装至所述软件工程项目对应的包文件安装路径,并重新运行所述软件工程项目。
可选的,所述软件工程项目故障处理装置还包括:
创建模块307,用于初始化软件工程项目的日志文件的存储路径,并在所述存储路径下创建空白日志文件;
绑定模块308,用于创建所述软件工程项目的异常捕获对象,并构建所述空白日志文件及所述异常捕获对象的关联关系;
记录模块309,用于根据所述关联关系,将所述异常捕获对象捕获到的多个第一异常提示信息记录至所述空白日志文件,得到所述软件工程项目对应的日志文件,其中,各所述第一异常提示信息中包括异常发生时的时间戳及各所述第一异常提示信息的等级信息。
可选的,所述提取模块302具体用于:
提取所述日志文件中的异常提示信息,并根据各所述第一异常提示信息中的所述时间戳,在各所述第一异常提示信息中筛选出预置时间范围内的多个第二异常提示信息;
根据各所述等级信息,在各所述第二异常提示信息中筛选出等级最高的多个第三异常提示信息;
判断各所述第三异常提示信息是否为缺失包异常,得到包含预置缺失包文件关键词的第四异常提示信息。;
本发明实施例中,为了识别软件工程项目所缺失的依赖包的名称,创建异常捕获对象用以捕获软件工程项目运行过程中发生的异常信息,并创建项目异常记录日志用以记录捕获到的异常信息,通过对异常信息中的时间和等级进行筛查,能够快速地定位时效范围内发生的异常。本发明实施例能够快速地捕获软件工程项目运行过程中发生的异常信息,并提取出缺失包文件的异常提示信息,从而自动识别出软件工程项目所缺失的依赖包。
上面图3和图4从模块化功能实体的角度对本发明实施例中的软件工程项目故障处理装置进行详细描述,下面从硬件处理的角度对本发明实施例中软件工程项目故障处理设备进行详细描述。
图5是本发明实施例提供的一种软件工程项目故障处理设备的结构示意图,该软件工程项目故障处理设备500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)510(例如,一个或一个以上处理器)和存储器520,一个或一个以上存储应用程序533或数据532的存储介质530(例如一个或一个以上海量存储设备)。其中,存储器520和存储介质530可以是短暂存储或持久存储。存储在存储介质530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对软件工程项目故障处理设备500中的一系列指令操作。更进一步地,处理器510可以设置为与存储介质530通信,在软件工程项目故障处理设备500上执行存储介质530中的一系列指令操作。
软件工程项目故障处理设备500还可以包括一个或一个以上电源540,一个或一个以上有线或无线网络接口550,一个或一个以上输入输出接口560,和/或,一个或一个以上操作系统531,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图5示出的软件工程项目故障处理设备结构并不构成对软件工程项目故障处理设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供一种软件工程项目故障处理设备,所述软件工程项目故障处理设备包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行上述各实施例中的所述软件工程项目故障处理方法的步骤。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述软件工程项目故障处理方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种软件工程项目故障处理方法,其特征在于,所述软件工程项目故障处理方法包括:
在软件工程项目发生运行异常时,获取软件工程项目的日志文件;
提取所述日志文件中的异常提示信息并判断是否为缺失包异常;
若为缺失包异常,则执行预置正则表达式,提取所述异常提示信息中各缺失包文件的名称;
根据所述各缺失包文件的名称,检索预置目标检索区域内的包文件,得到所述各缺失包文件对应的多版本的包文件列表;
依次读取各所述包文件列表中各版本的缺失包文件,并分别判断所述各缺失包文件是否与所述软件工程项目版本兼容;
分别将与所述软件工程项目版本兼容的缺失包文件安装至所述软件工程项目对应的包文件安装路径,并重新运行所述软件工程项目。
2.根据权利要求1所述的软件工程项目故障处理方法,其特征在于,在所述在软件工程项目发生运行异常时,获取软件工程项目的日志文件之前,还包括:
初始化软件工程项目的日志文件的存储路径,并在所述存储路径下创建空白日志文件;
创建所述软件工程项目的异常捕获对象,并构建所述空白日志文件及所述异常捕获对象的关联关系;
根据所述关联关系,将所述异常捕获对象捕获到的多个第一异常提示信息记录至所述空白日志文件,得到所述软件工程项目对应的日志文件,其中,各所述第一异常提示信息中包括异常发生时的时间戳及各所述第一异常提示信息的等级信息。
3.根据权利要求2所述的软件工程项目故障处理方法,其特征在于,所述提取所述日志文件中的异常提示信息并判断是否为缺失包异常包括:
提取所述日志文件中的异常提示信息,并根据各所述第一异常提示信息中的所述时间戳,在各所述第一异常提示信息中筛选出预置时间范围内的多个第二异常提示信息;
根据各所述等级信息,在各所述第二异常提示信息中筛选出等级最高的多个第三异常提示信息;
判断各所述第三异常提示信息是否为缺失包异常,得到包含预置缺失包文件关键词的第四异常提示信息。
4.根据权利要求1所述的软件工程项目故障处理方法,其特征在于,所述根据所述各缺失包文件的名称,检索预置目标检索区域内的包文件,得到所述各缺失包文件对应的多版本的包文件列表包括:
获取所述软件工程项目的运行环境对应的操作系统信息;
分别访问所述各缺失包文件的名称在预置目标检索区域内的目标检索地址,得到所述各缺失包文件对应的包文件历史版本列表;
在所述包文件历史版本列表中提取与所述操作系统信息对应的各缺失包文件的多个第一版本信息及下载地址;
根据所述各缺失包文件对应的第一版本信息及下载地址,生成所述各缺失包文件对应的多版本的包文件列表。
5.根据权利要求4所述的软件工程项目故障处理方法,其特征在于,所述依次读取各所述包文件列表中各版本的缺失包文件,并分别判断所述各缺失包文件是否与所述软件工程项目版本兼容包括:
S1、获取所述软件工程项目所采用的编程语言对应的第二版本信息;
S2、根据所述第一版本信息及所述第二版本信息,匹配所述包文件列表中各缺失包文件对应的发布时间最接近当前时间的最新版本的第一包文件;
S3、预安装各所述第一包文件,并判断各所述第一包文件是否预安装成功;
S4、若预安装成功,则记录预安装成功的第一包文件对应的第一版本信息,并作为所述缺失包文件对应的兼容版本信息;
S5、若预安装失败,则以次新版本的第一包文件为所述第一包文件,重复执行步骤S2-S3,直至各所述第一包文件均预安装完成,其中,所述次新版本的第一包文件为发布时间最接近所述最新版本的第一包文件。
6.根据权利要求5所述的软件工程项目故障处理方法,其特征在于,所述预安装各所述第一包文件,并判断各所述第一包文件是否预安装成功包括:
创建所述软件工程项目的虚拟环境,并在所述虚拟环境下安装各所述第一包文件;
分别执行各所述第一包文件的版本查看命令,得到命令执行结果;
根据各所述命令执行结果,确定各所述第一包文件是否预安装成功。
7.根据权利要求6所述的软件工程项目故障处理方法,其特征在于,所述分别将与所述软件工程项目版本兼容的缺失包文件安装至所述软件工程项目对应的包文件安装路径,并重新运行所述软件工程项目包括:
在所述软件工程项目下创建包文件安装路径;
根据所述各缺失包文件的兼容版本信息,访问所述各缺失包文件的下载地址,并下载包文件至所述包文件安装路径;
分别在所述包文件安装路径下执行所述各缺失包文件的安装命令,并重新运行所述软件工程项目。
8.一种软件工程项目故障处理装置,其特征在于,所述软件工程项目故障处理装置包括:
获取模块,用于在软件工程项目发生运行异常时,获取软件工程项目的日志文件;
提取模块,用于提取所述日志文件中的异常提示信息并判断是否为缺失包异常;
执行模块,用于若为缺失包异常,则执行预置正则表达式,提取所述异常提示信息中各缺失包文件的名称;
检索模块,用于根据所述各缺失包文件的名称,检索预置目标检索区域内的包文件,得到所述各缺失包文件对应的多版本的包文件列表;
判断模块,用于依次读取各所述包文件列表中各版本的缺失包文件,并分别判断所述各缺失包文件是否与所述软件工程项目版本兼容;
安装模块,用于分别将与所述软件工程项目版本兼容的缺失包文件安装至所述软件工程项目对应的包文件安装路径,并重新运行所述软件工程项目。
9.一种软件工程项目故障处理设备,其特征在于,所述软件工程项目故障处理设备包括:存储器和至少一个处理器,所述存储器中存储有指令;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述软件工程项目故障处理设备执行如权利要求1-7中任一项所述的软件工程项目故障处理方法。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,其特征在于,所述指令被处理器执行时实现如权利要求1-7中任一项所述的软件工程项目故障处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110451833.XA CN113064606A (zh) | 2021-04-26 | 2021-04-26 | 软件工程项目故障处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110451833.XA CN113064606A (zh) | 2021-04-26 | 2021-04-26 | 软件工程项目故障处理方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113064606A true CN113064606A (zh) | 2021-07-02 |
Family
ID=76567435
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110451833.XA Pending CN113064606A (zh) | 2021-04-26 | 2021-04-26 | 软件工程项目故障处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113064606A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108139891A (zh) * | 2015-10-23 | 2018-06-08 | 微软技术许可有限责任公司 | 针对外部文件的缺失包括建议 |
CN109634617A (zh) * | 2018-10-25 | 2019-04-16 | 深圳壹账通智能科技有限公司 | 软件安装方法、用户设备、存储介质及装置 |
CN109918313A (zh) * | 2019-03-29 | 2019-06-21 | 武汉大学 | 一种基于GBDT决策树的SaaS软件性能故障诊断方法 |
CN110990048A (zh) * | 2019-11-04 | 2020-04-10 | 珠海西山居移动游戏科技有限公司 | 一种监控Unity项目资源缺失的方法及系统 |
US20200285564A1 (en) * | 2019-03-05 | 2020-09-10 | International Business Machines Corporation | Exception cause analysis during computer program execution |
CN112558980A (zh) * | 2020-12-15 | 2021-03-26 | 建信金融科技有限责任公司 | 多软件包管理方法及装置 |
-
2021
- 2021-04-26 CN CN202110451833.XA patent/CN113064606A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108139891A (zh) * | 2015-10-23 | 2018-06-08 | 微软技术许可有限责任公司 | 针对外部文件的缺失包括建议 |
CN109634617A (zh) * | 2018-10-25 | 2019-04-16 | 深圳壹账通智能科技有限公司 | 软件安装方法、用户设备、存储介质及装置 |
US20200285564A1 (en) * | 2019-03-05 | 2020-09-10 | International Business Machines Corporation | Exception cause analysis during computer program execution |
CN109918313A (zh) * | 2019-03-29 | 2019-06-21 | 武汉大学 | 一种基于GBDT决策树的SaaS软件性能故障诊断方法 |
CN110990048A (zh) * | 2019-11-04 | 2020-04-10 | 珠海西山居移动游戏科技有限公司 | 一种监控Unity项目资源缺失的方法及系统 |
CN112558980A (zh) * | 2020-12-15 | 2021-03-26 | 建信金融科技有限责任公司 | 多软件包管理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109375945B (zh) | 物联网设备的固件版本探测方法及漏洞修复率评估方法 | |
US7089552B2 (en) | System and method for verifying installed software | |
US20070214391A1 (en) | Method and apparatus for testing software | |
US20080270515A1 (en) | Method and apparatus for migrating the system environment on which the applications depend | |
CN111459495B (zh) | 单元测试代码文件生成方法、电子装置及存储介质 | |
CN110825619A (zh) | 接口测试用例自动生成方法、装置及存储介质 | |
WO2014120192A1 (en) | Error developer association | |
CN106708704B (zh) | 一种对崩溃日志进行分类的方法和装置 | |
CN114546738B (zh) | 服务器通用测试方法、系统、终端及存储介质 | |
CN107015904B (zh) | 堆栈的保护方法及装置 | |
CN112540924A (zh) | 接口自动化测试方法、装置、设备及存储介质 | |
CN115220863A (zh) | 容器应用的运维方法、装置、计算机设备和存储介质 | |
CN112068981B (zh) | Linux操作系统中基于知识库的故障扫描恢复方法及系统 | |
CN113935041A (zh) | 面向实时操作系统设备的漏洞检测系统及方法 | |
CN111159028B (zh) | 网页测试方法及装置 | |
CN113064606A (zh) | 软件工程项目故障处理方法、装置、设备及存储介质 | |
CN109101355B (zh) | 一种提取错误现场特征测试激励的处理器调试方法 | |
CN114676126B (zh) | 基于数据库的数据校验方法、装置、设备及存储介质 | |
CN115757138A (zh) | 脚本异常原因的确定方法、装置、存储介质以及电子设备 | |
CN115373699A (zh) | 自动化部署方法和系统 | |
KR20200112765A (ko) | 크래시 리포트 그룹핑 방법, 서버 및 컴퓨터 프로그램 | |
JP2005025543A (ja) | 整合性チェックシステム及び整合性チェック方法及び整合性チェックプログラム及び管理情報作成システム | |
CN115203057B (zh) | 低代码测试自动化方法、装置、设备及存储介质 | |
CN110704483A (zh) | 用户路由流程定位方法、设备、存储介质及装置 | |
CN114297089B (zh) | 基于容器的Python远程动态调试方法及系统 |
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 |