CN116107794A - 一种舰船软件故障自动诊断方法、系统及存储介质 - Google Patents

一种舰船软件故障自动诊断方法、系统及存储介质 Download PDF

Info

Publication number
CN116107794A
CN116107794A CN202310374460.XA CN202310374460A CN116107794A CN 116107794 A CN116107794 A CN 116107794A CN 202310374460 A CN202310374460 A CN 202310374460A CN 116107794 A CN116107794 A CN 116107794A
Authority
CN
China
Prior art keywords
fault
log
software
diagnosed
running
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
CN202310374460.XA
Other languages
English (en)
Other versions
CN116107794B (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.)
719th Research Institute Of China State Shipbuilding Corp
Original Assignee
719th Research Institute Of China State Shipbuilding Corp
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 719th Research Institute Of China State Shipbuilding Corp filed Critical 719th Research Institute Of China State Shipbuilding Corp
Priority to CN202310374460.XA priority Critical patent/CN116107794B/zh
Publication of CN116107794A publication Critical patent/CN116107794A/zh
Application granted granted Critical
Publication of CN116107794B publication Critical patent/CN116107794B/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/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/0706Error 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 the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error 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 the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0739Error 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 the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in automotive or aircraft systems
    • 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/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

本发明属于计算机技术领域,公开了一种舰船软件故障自动诊断方法、系统及存储介质:在待诊断软件运行过程中,获取待诊断软件的运行状态信息;判断运行状态信息是否满足故障条件,满足故障条件时,判断运行状态信息对应的故障的故障等级是否大于等于第一预设值;当故障等级小于第一预设值时,从运行日志内获取K个第一故障日志,将K个第一故障日志发送给用户终端;当故障等级大于等于第一预设值时,检查待诊断软件的模拟软件是否出现故障,当模拟软件没有出现故障时,对待诊断软件进行故障分析生成故障分析日志,并将故障分析日志发送给用户终端。本发明解决了故障诊断不及时、故障分析效率低的问题。

Description

一种舰船软件故障自动诊断方法、系统及存储介质
技术领域
本发明属于计算机技术领域,具体涉及一种舰船软件故障自动诊断方法、系统及存储介质。
背景技术
随着科技的发展,软件正日益广泛地应用于社会的各个领域,且规模越来越大,复杂性越来越高。通过对舰船上的软件输出的数据进行分析、判断以对舰船进行管理和控制是确保航运和海洋工程安全的重要手段。
在舰船行驶过程中,由于环境复杂会使网络和软件发生各种故障,任何一个软件出现故障都可能影响舰船工作的正常开展,因此,对软件进行诊断及时准确地发现故障,以保证软件系统的正常运行尤为重要。现有技术中,例如中国专利CN107678975A,公开了一种软件故障检测方法及装置,当软件发生故障时,运维人员将故障参数输入故障检测工具在后台模拟故障运行过程,并获得运行日志,对运行日志进行故障分析。这种方法检测过程有时间延迟,当运维人员对软件系统没有特别了解的情况下无法及时判断故障等级。再比如中国专利CN114625607A,公开了一种软件的监测方法、装置以及电子设备,在目标软件运行时,按照预设的循环时间间隔执行监测脚本,并获取目标软件的运行状态信息,根据运行状态信息判断目标软件是否异常,目标软件异常时将运行状态信息对应的异常信息写入目标软件的监测日志中。这种方法对不能及时发现软件运行中的所有故障,且只将异常信息写出监测日志,不便于运维人员对软件故障进行分析。
因此,提供一种舰船软件故障自动诊断方法、系统及存储介质,以快速准确地定位故障,并对主要故障进行分析,是亟待解决的问题。
发明内容
针对上述提出的技术问题,本发明提供一种舰船软件故障自动诊断方法、系统及存储介质。
第一方面,本发明提供了一种舰船软件故障自动诊断方法,该方法包括如下步骤:
步骤1、在待诊断软件运行过程中,获取待诊断软件的运行状态信息,运行状态信息包括运行日志、运行时刻;
步骤2、判断运行状态信息是否满足故障条件,满足故障条件时,判断运行状态信息对应的故障的故障等级是否大于等于第一预设值;
步骤3、当故障等级小于第一预设值时,从运行日志内获取K个第一故障日志,将K个第一故障日志发送给用户终端,其中,第一故障日志为距离运行时刻第一预设时间内的运行日志,K为1-k的正整数;
步骤4、当故障等级大于等于第一预设值时,检查待诊断软件的模拟软件是否出现故障,当模拟软件没有出现故障时,对待诊断软件进行故障分析生成故障分析日志,并将故障分析日志发送给用户终端。
具体地,待诊断软件包括N个软件模块,其中,N为1-n的正整数;
运行日志包括软件模块ID、日志标识、运行故障消息、运行故障信息、数据状态信息、输入参数、故障分析所需的各种命令的执行结果信息、故障发生前的操作。
具体地,步骤4中,对待诊断软件进行故障分析生成故障分析日志包括:
步骤411、从运行日志内获取M个第二故障日志,其中,第二故障日志为距离运行时刻第二预设时间内的运行日志,M为1-m的正整数;
步骤412、基于第m个第二故障日志的日志标识判断日志存储单元中是否存在与第m个第二故障日志设置了紧密度的日志,其中,日志存储单元存储的是与软件模块ID对应的软件模块相关的日志的日志标识和相关的日志间的紧密度;
步骤413、当日志存储单元中不存在与第m个第二故障日志设置了紧密度的日志时,将第m个第二故障日志写入故障分析日志,返回步骤412;
步骤414、当日志存储单元中存在与第m个第二故障日志设置了紧密度的相关日志时,判断紧密度值是否大于等于第二预设值,当紧密度值大于等于第二预设值时,将第m个第二故障日志和相关日志写入故障分析日志;当紧密度值小于第二预设值时,将第m个第二故障日志写入故障分析日志;返回步骤412。
具体地,步骤4包括:
步骤421、基于待诊断软件的软件信息从服务器中获取待诊断软件对应的故障数据库;
步骤422、基于运行故障消息从故障数据库获取与运行故障消息相关联的第一运行故障信息,并获取第一运行故障信息对应的第一运行日志的第一日志标识,其中,故障数据库存储的是待诊断软件过去发生故障时的运行日志的日志标识、第二运行故障信息以及与第二运行故障信息对应的运行故障消息、故障原因和故障恢复操作;
步骤423、基于第一日志标识从故障日志存储单元获取第一运行日志;
步骤424、当第一运行日志中存在与运行日志相同的日志内容时,将运行故障消息、第一运行故障信息、以及第一运行故障信息对应的故障原因和故障恢复操作发送给用户终端。
具体地,判断运行状态信息是否满足故障条件包括如下步骤:
步骤11、在待诊断软件运行过程中,获取待诊断软件执行的运行步骤,并生成运行步骤的第二运行日志;
步骤12、在诊断单元执行运行步骤,生成第三运行日志,其中,诊断单元是虚拟化的隔离运行程序;
步骤13、当第二运行日志与第三运行日志不一致时,判定运行状态信息满足故障条件。
具体地,步骤4之后还包括步骤5:
步骤51、当模拟软件出现故障时,检查待诊断软件的第一输入参数是否有误,其中,所述第一输入参数是发生所述故障时所述待诊断软件输入的参数;
步骤52、当第一输入参数有误时,将运行日志和第一输入参数发送给用户终端;
步骤53、当第一输入参数无误时,则判定待诊断软件的运行平台出现故障,对运行平台进行故障分析,并将运行日志和故障分析结果发送给用户终端。
第二方面,本发明还提供了一种舰船软件故障自动诊断系统,该系统包括:信息获取模块、故障判断模块、故障分析模块;
信息获取模块,用于在待诊断软件运行过程中,获取待诊断软件的运行状态信息,运行状态信息包括运行日志、运行时刻;
故障判断模块,用于判断运行状态信息是否满足故障条件,满足故障条件时,判断运行状态信息对应的故障的故障等级是否大于等于第一预设值;
故障分析模块,用于当故障等级小于第一预设值时,从运行日志内获取第一故障日志,将第一故障日志发送给用户终端,其中,第一故障日志为距离运行时刻第一预设时间段内的故障日志;当故障等级大于等于第一预设值时,检查待诊断软件的模拟软件是否出现故障,当模拟软件没有出现故障时,对待诊断软件进行故障分析生成故障分析日志,并将故障分析日志发送给用户终端。
第三方面,本发明提供了一种计算机存储介质,计算机存储介质存储有程序指令,其中,在程序指令运行时控制计算机存储介质所在设备执行上述任意一项的舰船软件故障自动诊断方法。
本发明公开一种舰船软件故障自动诊断方法、系统及存储介质,在待诊断软件运行过程中,获取待诊断软件的运行状态信息,在待诊断软件出现故障的情况下,判断故障等级,故障等级小于预设值时判定为简单故障,将故障日志发送给用户终端,故障等级大于等于预设值时判定为主要故障,再进一步判断是否为软件故障,确认是待诊断软件出现故障的情况下,对待诊断软件的故障进行故障分析,并将故障分析日志发送给用户终端,以供运维人员分析判断。通过本发明的技术方案,便于运维人员及时判断故障等级,提高软件故障分析的效率,且有助于提高软件故障分析的综合性和准确性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明的一种舰船软件故障自动诊断方法的流程图;
图2为本发明的一种舰船软件故障自动诊断系统的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明经行进一步的详细说明。显然,此处所描述的具体实施例仅仅用于解释本发明,是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术普通人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明,若本发明实施例中有涉及“第一”、 “第二”等的描述,则该“第一”、 “第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、 “第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
图1所示是本发明提供的一种舰船软件故障自动诊断方法的一个实施例的流程图,该流程图具体包括如下步骤:
步骤1、在待诊断软件运行过程中,获取待诊断软件的运行状态信息,运行状态信息包括运行日志、运行时刻。
优选地,在待诊断软件运行过程中,实时获取待诊断软件的运行状态信息。
示例性地,运行状态信息还包括线程状态信息、运行顺序等用于判断软件故障的数据信息。线程状态信息是指待诊断软件运行时线程的状态信息。运行时刻是指待诊断软件执行任务时的时刻,包括任务开始时间和任务结束时间等。
具体地,待诊断软件包括N个软件模块,其中,N为1-n的正整数。
一个软件应用程序可以划分为独立命名且可独立访问的多个模块,不同的模块通常具有不同的功能和职责,每个模块都可以独立地开发、测试,最后通过接口通信使多个模块组合在一起以完成一系列的功能。在软件执行某项任务时,可同时调用多个模块。示例性地,处理报文相关的业务时,可调用驱动模块、报文分发模块、报文解析模块、报文处理等相关模块。
运行日志包括软件模块ID、日志标识、运行故障消息、运行故障信息、数据状态信息、输入参数、故障分析所需的各种命令的执行结果信息、故障发生前的操作。
步骤2、判断运行状态信息是否满足故障条件,满足故障条件时,判断运行状态信息对应的故障的故障等级是否大于等于第一预设值。
具体地,判断运行状态信息是否满足故障条件包括如下步骤:
步骤11、在待诊断软件运行过程中,获取待诊断软件执行的运行步骤,并生成运行步骤的第二运行日志;
步骤12、在诊断单元执行运行步骤,生成第三运行日志,其中,诊断单元是虚拟化的隔离运行程序;
步骤13、当第二运行日志与第三运行日志不一致时,判定运行状态信息满足故障条件。
诊断单元是虚拟化的隔离运行程序,是一个虚拟化的隔离环境,在上述诊断单元中运行的程序可读不可写。
响应于待诊断软件执行的运行步骤,诊断单元获取上述运行步骤的步骤名称和输入参数,执行上述运行步骤生成第三运行日志,针对每个步骤判断软件是否出现故障,可在早期诊断出软件故障。示例性地,当待诊断软件被病毒入侵时,会造成第二运行日志与第三运行日志不一致。
优选地,通过运行耗时是否超过预设时间、运行顺序是否是预设运行顺序等判断待诊断软件是否出现故障。
当运行状态信息指示待诊断软件出现故障时,故障诊断处理模块确定上述故障的故障等级。示例性地,故障诊断处理模块针对上述待诊断软件,预先根据不同故障对软件进程和软件运行结果等的影响大小对各个故障划分不同的故障等级。具体实施中,提前通过机器学习向上述待诊断软件注入各种故障,提取并判断各种故障对软件进程和软件运行结果的影响,划分故障等级。
优选地,当故障未记录在故障诊断处理模块的故障等级存储单元中时,将故障对应的运行日志发送给用户终端。
当待诊断软件运行过程中发生故障时,为了不影响软件进程,提高故障处理效率,只对对软件进程或软件处理结果影响较大的主要故障进行分析。
步骤3、当故障等级小于第一预设值时,从运行日志内获取K个第一故障日志,将K个第一故障日志发送给用户终端,其中,第一故障日志为距离运行时刻第一预设时间内的运行日志,K为1-k的正整数。
当故障等级小于第一预设值时,判定上述故障为简单故障,则不对上述故障进行分析,只将与上述故障相关的故障日志发送给用户终端,提醒运维人员注意,以针对上述故障进行修复操作。其中,第一预设值的大小根据本领域技术人员的经验或根据实际应用场景进行设置,本申请实施例对此并不限定。
当上述故障为简单故障时,仅提取上述运行时刻之前的第一预设时间内的K条记录作为第一故障日志发送给用户终端,上述K条记录是与上述故障紧密相关的日志信息,只将与上述故障相关的日志信息发给用户终端,便于运维人员查看故障信息,减轻工作量。其中,第一预设时间的大小根据本领域技术人员的经验或根据实际应用场景进行设置,本申请实施例对此并不限定。
步骤4、当故障等级大于等于第一预设值时,检查待诊断软件的模拟软件是否出现故障,当模拟软件没有出现故障时,对待诊断软件进行故障分析生成故障分析日志,并将故障分析日志发送给用户终端。
当故障等级大于等于第一预设值时,判定上述故障为主要故障,对主要故障进行故障分析。
在舰船执行重要任务时,为了确保软件运行的安全性和软件运行结果的准确性,并及时、准确、全面地检查软件过程中出现的故障,为待诊断软件设置模拟软件。在待诊断软件运行的同时运行模拟软件,当待诊断软件出现故障时,调取模拟软件的运行日志,进一步判断模拟软件是否出现同样的故障。由于模拟软件和待诊断软件是同一款软件,输入参数一致,当模拟软件没有出现故障时,说明是上述待诊断出现故障,故障原因是软件故障。
作为本发明的一种优选技术方案,步骤4中,对待诊断软件进行故障分析生成故障分析日志包括:
步骤411、从运行日志内获取M个第二故障日志,其中,第二故障日志为距离运行时刻第二预设时间内的运行日志,M为1-m的正整数。
软件运行过程中会输出一个或多个运行日志,当待诊断软件发生的故障为主要故障时,为了准确、全面地分析软件故障,提取上述运行时刻之前的第二预设时间内的M个运行日志作为第二故障日志以进行故障分析。其中,第二预设时间的大小根据本领域技术人员的经验或根据实际应用场景进行设置,本申请实施例对此并不限定。
软件由多个软件模块组成时,在软件执行某项任务时,可同时调用多个软件模块,在各个软件模块之间交换数据,各个软件模块分别输出运行日志,因此,一个运行日志可能与多个软件模块有关当,也就是说,当软件模块间存在某种联系时,上述软件模块输出的运行日志之间也存在同样的联系。软件模块间的关系紧密时,软件模块间的逻辑关系越紧密,软件模块输出的运行日志间的联系也紧密。基于此,为了全面且精准地分析软件故障,获取与待诊断软件发生故障时的运行日志紧密度高的运行日志十分有必要。
基于紧密度值来定义各个软件模块间的紧密度。示例性地,软件模块间的紧密度可以在软件开发阶段根据各软件模块的设计信息、软件代码等测定。
示例性地,可以在软件开发或测试阶段,提取各软件模块的运行日志,生成各软件模块的相关日志信息,上述相关日志信息包括日志标识。
步骤412、基于第m个第二故障日志的日志标识判断日志存储单元中是否存在与第m个第二故障日志设置了紧密度的日志,其中,日志存储单元存储的是与软件模块ID对应的软件模块相关的日志的日志标识和相关的日志间的紧密度。
优选地,在软件开发或测试阶段,基于软件模块间的紧密度和软件模块的相关日志信息生成日志存储单元。示例性地,软件模块信息单元存储有软件模块名称和软件模块间紧密度值,软件模块日志信息单元存储有软件模块名称和软件模块的相关日志的日志标识,基于软件模块信息单元和软件模块日志信息单元生成日志信息存储单元。示例性地,软件模块信息单元存储的是((软件模块1、紧密度值1),(软件模块2、紧密度值2)),软件模块日志信息单元存储的是((软件模块1,日志1,日志2),(软件模块2,日志3,日志4,日志5,日志6)),则日志存储单元为((日志1,日志2,紧密度值1),(日志3,日志4,日志5,日志6,紧密度值2))。
步骤413、当日志存储单元中不存在与第m个第二故障日志设置了紧密度的日志时,将第m个第二故障日志写入故障分析日志,返回步骤412。
步骤414、当日志存储单元中存在与第m个第二故障日志设置了紧密度的相关日志时,判断紧密度值是否大于等于第二预设值,当紧密度值大于等于第二预设值时,将第m个第二故障日志和相关日志写入故障分析日志;当紧密度值小于第二预设值时,将第m个第二故障日志写入故障分析日志;返回步骤412。
当待诊断软件出现故障时,从日志存储单元提取出与上述故障的故障日志紧密度高的运行日志,可以在全面分析故障的同时缩小故障分析范围,提高故障分析的效率。
其中,第一预设时间的大小根据本领域技术人员的经验或根据实际应用场景进行设置,本申请实施例对此并不限定。
作为本发明的一种优选技术方案,步骤4包括:
步骤421、基于待诊断软件的软件信息从服务器中获取待诊断软件对应的故障数据库。
步骤422、基于运行故障消息从故障数据库获取与运行故障消息相关联的第一运行故障信息,并获取第一运行故障信息对应的第一运行日志的第一日志标识,其中,故障数据库存储的是待诊断软件过去发生故障时的运行日志的日志标识、第二运行故障信息以及与第二运行故障信息对应的运行故障消息、故障原因和故障恢复操作。
步骤423、基于第一日志标识从故障日志存储单元获取第一运行日志。
步骤424、当第一运行日志中存在与运行日志相同的日志内容时,将运行故障消息、第一运行故障信息、以及第一运行故障信息对应的故障原因和故障恢复操作发送给用户终端。
故障数据库是针对每个软件提前设置的存储了以往发生过的故障的解决方案,包括发生故障时的运行日志的日志标识、故障消息、故障信息、故障原因和故障恢复操作等。示例性地,日志标识为B,故障消息为“err:B CCCCCC ”,故障信息为“命令解析异常”。具体实施中,提前通过机器学习向上述待诊断软件注入各种故障,并提取各种故障对应的故障消息、故障信息以及故障原因和故障恢复操作。示例性地,当故障不在于上述故障数据库时,上述故障解决后,将上述故障对应的故障消息、故障信息以及故障原因和故障恢复操作添加到故障数据库中。
当待诊断软件出现故障时,为了尽快地修复软件故障,基于上述故障的故障消息从故障数据库中搜索针对上述待诊断软件的故障的解决方案。首先根据待诊断软件的软件信息(软件名称等)从服务器中存储有上述待诊断软件的故障信息的故障数据库,其次基于待诊断软件的运行日志中的运行故障消息获取该运行故障消息对应的运行故障信息,进一步获取该运行故障消息对应的第一运行日志的日志标识,再获取上述第一运行日志的日志内容,当上述第一运行日志的日志内容与待诊断软件的日志内容一致时,说明待诊断软件的故障与第一运行日志中具有相同故障消息的故障是一样的故障,则将运行故障消息、第一运行故障信息、故障原因和故障恢复操作同故障分析日志一起发送给用户终端。示例性地,日志内容包括软件模块ID、日志标识、运行故障消息、运行故障信息、数据状态信息、故障分析所需的各种命令的执行结果信息、故障发生前的操作等。
具体地,步骤4之后还包括步骤5:
步骤51、当模拟软件出现故障时,检查待诊断软件的第一输入参数是否有误,其中,所述第一输入参数是发生所述故障时所述待诊断软件输入的参数。
步骤52、当第一输入参数有误时,将运行日志和第一输入参数发送给用户终端。
步骤53、当第一输入参数无误时,则判定待诊断软件的运行平台出现故障,对运行平台进行故障分析,并将运行日志和故障分析结果发送给用户终端。
模拟软件和待诊断软件是同一款软件,输入参数一致,当模拟软件出现同样的故障时,说明模拟软件和待诊断软件没有发生故障,故障原因可能是检测待诊断软件运行时的输入参数。由于软件复杂性高的缘故,每一运行步骤、每一软件模块或每个业务流程都会收到上一个运行步骤、相对应的上一个软件模块或上一个业务流程结果的影响,当判断待诊断软件运行过程不是故障原因时,则对输入参数进行检测。当输入参数也无误时,说明输入参数不是待诊断软件出现故障的原因,则进一步检测上述待诊断软件的运行平台是否有异常,进行故障分析。基于此,可以从软件故障原因的各个方面进行检测和判断,即使运维人员对待诊断软件没有特别了解,也可以快速、全年、准确地定位故障。
图2所示是本发明提供的一种舰船软件故障自动诊断系统的一个实施例的结构示意图。如图2所示,该系统包括:信息获取模块、故障判断模块、故障分析模块。
信息获取模块,用于在待诊断软件运行过程中,获取待诊断软件的运行状态信息,运行状态信息包括运行日志、运行时刻。
故障判断模块,用于判断运行状态信息是否满足故障条件,满足故障条件时,判断运行状态信息对应的故障的故障等级是否大于等于第一预设值。
故障分析模块,用于当故障等级小于第一预设值时,从运行日志内获取第一故障日志,将第一故障日志发送给用户终端,其中,第一故障日志为距离运行时刻第一预设时间段内的故障日志;当故障等级大于等于第一预设值时,检查待诊断软件的模拟软件是否出现故障,当模拟软件没有出现故障时,对待诊断软件进行故障分析生成故障分析日志,并将故障分析日志发送给用户终端。
根据本发明实施例的另一个方面,提供了一种计算机存储介质,计算机存储介质存储有程序指令,其中,在程序指令运行时控制计算机存储介质所在设备执行上述任意一项的舰船软件故障自动诊断方法。
以上上述的实施例仅表达了本发明的实施优选方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (8)

1.一种舰船软件故障自动诊断方法,其特征在于,包括如下步骤:
步骤1、在待诊断软件运行过程中,获取所述待诊断软件的运行状态信息,所述运行状态信息包括运行日志、运行时刻;
步骤2、判断所述运行状态信息是否满足故障条件,满足所述故障条件时,判断所述运行状态信息对应的故障的故障等级是否大于等于第一预设值;
步骤3、当所述故障等级小于所述第一预设值时,从所述运行日志内获取K个第一故障日志,将所述K个第一故障日志发送给用户终端,其中,所述第一故障日志为距离所述运行时刻第一预设时间内的运行日志,K为1-k的正整数;
步骤4、当所述故障等级大于等于所述第一预设值时,检查所述待诊断软件的模拟软件是否出现所述故障,当所述模拟软件没有出现所述故障时,对所述待诊断软件进行故障分析生成故障分析日志,并将所述故障分析日志发送给所述用户终端。
2.根据权利要求1所述的一种舰船软件故障自动诊断方法,其特征在于,所述待诊断软件包括N个软件模块,其中,N为1-n的正整数;
所述运行日志包括软件模块ID、日志标识、运行故障消息、运行故障信息、数据状态信息、输入参数、故障分析所需的各种命令的执行结果信息、故障发生前的操作。
3.根据权利要求2所述的一种舰船软件故障自动诊断方法,其特征在于,所述步骤4中,所述对所述待诊断软件进行故障分析生成故障分析日志包括:
步骤411、从所述运行日志内获取M个第二故障日志,其中,所述第二故障日志为距离所述运行时刻第二预设时间内的运行日志,M为1-m的正整数;
步骤412、基于第m个第二故障日志的日志标识判断日志存储单元中是否存在与所述第m个第二故障日志设置了紧密度的日志,其中,所述日志存储单元存储的是与所述软件模块ID对应的软件模块相关的日志的日志标识和所述相关的日志间的紧密度;
步骤413、当所述日志存储单元中不存在与所述第m个第二故障日志设置了紧密度的日志时,将所述第m个第二故障日志写入所述故障分析日志,返回所述步骤412;
步骤414、当所述日志存储单元中存在与所述第m个第二故障日志设置了紧密度的相关日志时,判断紧密度值是否大于等于第二预设值,当所述紧密度值大于等于所述第二预设值时,将所述第m个第二故障日志和所述相关日志写入所述故障分析日志;当所述紧密度值小于所述第二预设值时,将所述第m个第二故障日志写入所述故障分析日志;返回所述步骤412。
4.根据权利要求2所述的一种舰船软件故障自动诊断方法,其特征在于,所述步骤4包括:
步骤421、基于所述待诊断软件的软件信息从服务器中获取所述待诊断软件对应的故障数据库;
步骤422、基于所述运行故障消息从故障数据库获取与所述运行故障消息相关联的第一运行故障信息,并获取所述第一运行故障信息对应的第一运行日志的第一日志标识,其中,所述故障数据库存储的是所述待诊断软件过去发生故障时的运行日志的日志标识、第二运行故障信息以及与所述第二运行故障信息对应的运行故障消息、故障原因和故障恢复操作;
步骤423、基于所述第一日志标识从故障日志存储单元获取所述第一运行日志;
步骤424、当所述第一运行日志中存在与所述运行日志相同的日志内容时,将所述运行故障消息、所述第一运行故障信息、以及所述第一运行故障信息对应的故障原因和故障恢复操作发送给所述用户终端。
5.根据权利要求1所述的一种舰船软件故障自动诊断方法,其特征在于,判断所述运行状态信息是否满足故障条件包括如下步骤:
步骤11、在所述待诊断软件运行过程中,获取所述待诊断软件执行的运行步骤,并生成所述运行步骤的第二运行日志;
步骤12、在诊断单元执行所述运行步骤,生成第三运行日志,其中,所述诊断单元是虚拟化的隔离运行程序;
步骤13、当所述第二运行日志与所述第三运行日志不一致时,判定所述运行状态信息满足故障条件。
6.根据权利要求2所述的一种舰船软件故障自动诊断方法,其特征在于,所述步骤4之后还包括步骤5:
步骤51、当所述模拟软件出现所述故障时,检查所述待诊断软件的第一输入参数是否有误,其中,所述第一输入参数是发生所述故障时所述待诊断软件输入的参数;
步骤52、当所述第一输入参数有误时,将所述运行日志和所述第一输入参数发送给所述用户终端;
步骤53、当所述第一输入参数无误时,则判定所述待诊断软件的运行平台出现故障,对所述运行平台进行故障分析,并将所述运行日志和所述故障分析结果发送给所述用户终端。
7.一种舰船软件故障自动诊断系统,用于实现如权利要求1-6任一项所述的舰船软件故障自动诊断方法,其特征在于,包括:信息获取模块、故障判断模块、故障分析模块;
所述信息获取模块,用于在待诊断软件运行过程中,获取所述待诊断软件的运行状态信息,所述运行状态信息包括运行日志、运行时刻;
所述故障判断模块,用于判断所述运行状态信息是否满足故障条件,满足所述故障条件时,判断所述运行状态信息对应的故障的故障等级是否大于等于第一预设值;
所述故障分析模块,用于当所述故障等级小于所述第一预设值时,从所述运行日志内获取第一故障日志,将所述第一故障日志发送给用户终端,其中,所述第一故障日志为距离所述运行时刻第一预设时间段内的故障日志;当所述故障等级大于等于所述第一预设值时,检查所述待诊断软件的模拟软件是否出现所述故障,当所述模拟软件没有出现所述故障时,对所述待诊断软件进行故障分析生成故障分析日志,并将所述故障分析日志发送给所述用户终端。
8.一种计算机存储介质,其特征在于,所述计算机存储介质存储有程序指令,其中,在所述程序指令运行时控制所述计算机存储介质所在设备执行权利要求1至6中任意一项所述的舰船软件故障自动诊断方法。
CN202310374460.XA 2023-04-10 2023-04-10 一种舰船软件故障自动诊断方法、系统及存储介质 Active CN116107794B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310374460.XA CN116107794B (zh) 2023-04-10 2023-04-10 一种舰船软件故障自动诊断方法、系统及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310374460.XA CN116107794B (zh) 2023-04-10 2023-04-10 一种舰船软件故障自动诊断方法、系统及存储介质

Publications (2)

Publication Number Publication Date
CN116107794A true CN116107794A (zh) 2023-05-12
CN116107794B CN116107794B (zh) 2023-06-23

Family

ID=86267599

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310374460.XA Active CN116107794B (zh) 2023-04-10 2023-04-10 一种舰船软件故障自动诊断方法、系统及存储介质

Country Status (1)

Country Link
CN (1) CN116107794B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117056405A (zh) * 2023-07-19 2023-11-14 中国船舶集团有限公司第七一九研究所 一种舰船软件监测数据采集处理方法、系统及存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140344624A1 (en) * 2013-05-17 2014-11-20 Kabushiki Kaisha Toshiba Operation data analysis apparatus, method and non-transitory computer readable medium
CN107678975A (zh) * 2017-11-17 2018-02-09 北京锐安科技有限公司 一种软件故障检测方法及装置
WO2018036554A1 (zh) * 2016-08-25 2018-03-01 徐克� 设备故障检测系统及故障检测装置
CN108710555A (zh) * 2018-05-23 2018-10-26 郑州云海信息技术有限公司 一种基于监督学习的服务器错误诊断方法
US11429472B1 (en) * 2021-03-26 2022-08-30 International Business Machines Corporation Automated cognitive software application error detection
CN115114070A (zh) * 2022-07-01 2022-09-27 济南浪潮数据技术有限公司 一种故障诊断方法、装置、设备及介质
CN115328095A (zh) * 2022-08-28 2022-11-11 安徽江淮汽车集团股份有限公司 汽车动力中断故障诊断数据分析方法
CN115577151A (zh) * 2022-09-23 2023-01-06 广州文远知行科技有限公司 一种车辆故障实时诊断方法、装置、电子设备及存储介质
CN115905338A (zh) * 2022-12-07 2023-04-04 国网青海省电力公司信息通信公司 故障数据的处理方法、装置及电子设备

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140344624A1 (en) * 2013-05-17 2014-11-20 Kabushiki Kaisha Toshiba Operation data analysis apparatus, method and non-transitory computer readable medium
WO2018036554A1 (zh) * 2016-08-25 2018-03-01 徐克� 设备故障检测系统及故障检测装置
CN107678975A (zh) * 2017-11-17 2018-02-09 北京锐安科技有限公司 一种软件故障检测方法及装置
CN108710555A (zh) * 2018-05-23 2018-10-26 郑州云海信息技术有限公司 一种基于监督学习的服务器错误诊断方法
US11429472B1 (en) * 2021-03-26 2022-08-30 International Business Machines Corporation Automated cognitive software application error detection
CN115114070A (zh) * 2022-07-01 2022-09-27 济南浪潮数据技术有限公司 一种故障诊断方法、装置、设备及介质
CN115328095A (zh) * 2022-08-28 2022-11-11 安徽江淮汽车集团股份有限公司 汽车动力中断故障诊断数据分析方法
CN115577151A (zh) * 2022-09-23 2023-01-06 广州文远知行科技有限公司 一种车辆故障实时诊断方法、装置、电子设备及存储介质
CN115905338A (zh) * 2022-12-07 2023-04-04 国网青海省电力公司信息通信公司 故障数据的处理方法、装置及电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
廖湘科;李姗姗;董威;贾周阳;刘晓东;周书林;: "大规模软件系统日志研究综述", 软件学报, no. 08 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117056405A (zh) * 2023-07-19 2023-11-14 中国船舶集团有限公司第七一九研究所 一种舰船软件监测数据采集处理方法、系统及存储介质
CN117056405B (zh) * 2023-07-19 2024-02-09 中国船舶集团有限公司第七一九研究所 一种舰船软件监测数据采集处理方法、系统及存储介质

Also Published As

Publication number Publication date
CN116107794B (zh) 2023-06-23

Similar Documents

Publication Publication Date Title
CN111209131B (zh) 一种基于机器学习确定异构系统的故障的方法和系统
US10102113B2 (en) Software test automation systems and methods
US20070006037A1 (en) Automated test case result analyzer
CN109885499B (zh) 一种机器人自动化测试系统及测试方法
CN110688313B (zh) 一种VxWorks操作系统下软件测试的故障注入方法
CN116107794B (zh) 一种舰船软件故障自动诊断方法、系统及存储介质
CN113946499A (zh) 一种微服务链路跟踪及性能分析方法、系统、设备及应用
CN108572895B (zh) 一种Linux下自动检查软硬件配置的稳定性测试方法
CN111881014A (zh) 一种系统测试方法、装置、存储介质及电子设备
CN110990289B (zh) 一种自动提交bug的方法、装置、电子设备及存储介质
CN110704315B (zh) 一种嵌入式软件测试的故障注入装置
CN115114064A (zh) 一种微服务故障分析方法、系统、设备及存储介质
CN109815124B (zh) 基于mbse的联锁功能缺陷分析的方法及装置、联锁系统
CN114860518A (zh) 功能安全系统的检测方法、系统、电子设备、存储介质
CN117421217A (zh) 一种软件功能自动测试方法、系统、终端及介质
CN112668159A (zh) 基于改进fmea系统日志文件的故障排查方法和装置
CN111752741A (zh) 一种系统性能检测的方法及装置
CN111813872B (zh) 一种故障排查模型的生成方法、装置、设备
CN115934559A (zh) 表单智能测试系统的测试方法
CN115373984A (zh) 代码覆盖率确定方法及装置
CN114138670A (zh) 基于接口自动化测试与功能、性能、安全测试融合的方法
CN112379656A (zh) 工业系统异常数据的检测的处理方法、装置、设备和介质
CN110941537A (zh) 一种基于行为状态的进程检测方法及检测装置
CN113672498B (zh) 一种自动化诊断测试方法、装置和设备
CN117971666A (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