CN113608903A - 一种基于xml语言的故障管理方法 - Google Patents

一种基于xml语言的故障管理方法 Download PDF

Info

Publication number
CN113608903A
CN113608903A CN202110687545.4A CN202110687545A CN113608903A CN 113608903 A CN113608903 A CN 113608903A CN 202110687545 A CN202110687545 A CN 202110687545A CN 113608903 A CN113608903 A CN 113608903A
Authority
CN
China
Prior art keywords
fault
node
xml
information
xml file
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
Application number
CN202110687545.4A
Other languages
English (en)
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.)
Tianjin Jinhang Computing Technology Research Institute
Original Assignee
Tianjin Jinhang Computing Technology Research Institute
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 Tianjin Jinhang Computing Technology Research Institute filed Critical Tianjin Jinhang Computing Technology Research Institute
Priority to CN202110687545.4A priority Critical patent/CN113608903A/zh
Publication of CN113608903A publication Critical patent/CN113608903A/zh
Pending legal-status Critical Current

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/0766Error or fault reporting or storing
    • G06F11/0775Content or structure details of the error report, e.g. specific table structure, specific error fields
    • 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/0766Error or fault reporting or storing
    • G06F11/0769Readable error formats, e.g. cross-platform generic formats, human understandable formats

Abstract

一种基于XML语言的故障管理方法,定义XML文件格式,包括一个根节点和若干子节点,每个子节点用于描述一个故障信息,包括故障标识码、故障描述和故障解决方案三个元素;使用关联容器管理故障,将XML文件绑定到标准文件格式存储在内存中;解析XML文件的节点信息,获取各个故障的详细信息,存入到关联容器中;创建故障匹配线程,根据总线发送的故障标识码在关联容器中获取故障描述以及故障解决信息;建立标准数据模型类,与显示列表结合,显示列表的每一行对应一个故障,当收到新故障时,显示列表中增加一个故障行,将新故障信息显示出来。本发明在不改变源码的情况下,可以对故障列表进行增加,修改,删除操作,不需要编译,增加故障信息不影响运行效率。

Description

一种基于XML语言的故障管理方法
技术领域
本发明属于航空航天系统数据通信领域,涉及一种基于XML语言的故障管理方法。
背景技术
航空航天系统属于大型系统,具有多节点特性,每一个节点都是完整的小型系统,因此系统中的故障管理是尤为重要的一个环节,传统的故障管理方式通常为各分系统单独进行故障管理,采用记录日志文件的方式进行,空天设备的故障还需设备回到地面后进行故障诊断与分析,这样大大增加了故障管理的风险与成本。
在航空航天系统的故障管理中,通常采用的方法为故障标识码以代码的形式编译到程序中,在分系统运行出现故障的地方使用文件记录的方式将故障标识码存储到日志文件,限于硬件资源通常只存储故障标识码,一般需要查看记录文件后根据故障标识码人工去对应故障信息,传统处理方法的缺点包括添加、删除、修改一个故障码需要重新进行编译,在分系统比较多的航空航天系统有时候甚至需要不同系统联合编译,同时由于系统内存空间有限,编译大量的故障信息到源代码中影响运行效率。
发明内容
本发明解决的技术问题是:克服现有技术的不足,提出一种基于XML语言的故障管理方法。
本发明解决技术的方案是:
第一方面,本发明提供一种基于XML语言的故障管理方法,该方法的步骤包括:
步骤一,定义XML文件格式,将XML文件设计为二级标签形式,包括一个根节点和若干子节点,每个子节点用于描述一个故障信息,每个子节点包括三个元素:故障标识码、故障描述和故障解决方案;
步骤二,使用关联容器管理故障,关联容器的键和值都为字符型,键存储的是故障标识码,值存储的是故障描述以及故障解决方案;
步骤三,将XML文件绑定到标准文件格式;
步骤四,使用文档设置方法将XML文件解析为文档对象模型DOM树存储在内存中;
步骤五,解析XML文件的节点信息,获取XML文件中包含的各个故障以及每个故障的详细信息;
步骤六,以故障标识码为键,以故障描述和故障解决方法的组合字符为值,将每个故障的详细信息存入到关联容器中;
步骤七,创建故障匹配线程,在此线程中处理总线发送上来的故障标识码,在关联容器中通过查找方法获取故障描述以及故障解决方案;
步骤八,建立以项数据为基础的标准数据模型类、实例化该标准数据模型类指针;
步骤九,将步骤八实例化后的标准数据模型类指针与显示列表结合起来,所述显示列表的每一行对应一个故障,当收到新故障时,显示列表中增加一个故障行,将新故障信息显示出来。
所述步骤三的实现方式如下:
定义文件操作类对象file,将XML文件的路径配置到file文件;
使用I/O设备的基本接口类中的打开操作将XML文件以只读模式打开,如果打开失败则直接结束,打开成功则转到步骤四。
所述步骤五的实现方式如下:
(5.1)获取XML文件的描述节点,即XML文件说明与版本,进行信息打印;
(5.2)令i的初值为1;
(5.3)获取根元素以及根元素中的第i个节点NodeErrData;
(5.4)判断第i个节点NodeErrData是否为空,为空则结束并提示解析故障,不为空则判断该节点是否为文档对象模型节点类QDomNode类型的元素:
①若是,将第i个节点NodeErrData转化成文档对象模型元素类QDomElement类型变量,获取第i个节点NodeErrData对应故障的详细信息;
②若否,则直接返回,并提示XML文件已损坏;
进入步骤(5.5);
(5.5)i的值加1,判断i是否小于等于N,若是,则重复步骤(5.3)-(5.4);若i大于N,则结束;N为子节点总个数。
所述步骤七的实现方式如下:
创建故障匹配线程,在此线程中解析收到的故障标识码;
使用关联容器中查找方法在关联容器变量中通过故障标识码获取故障描述以及故障解决方案。
使用分割方法将故障描述以及故障解决方案进行分离,分离时以“&”为分割标志。
所述步骤九中,显示列表中每一行包含以下信息:故障序号、故障源、故障标识码、故障描述、故障解决方案、故障发生时刻以及能够提供给用户备注的故障备注。
第二方面,本发明提供一种基于XML语言的故障管理模块,所述故障管理模块连接在总线上,用于实现第一方面所述的故障管理方法,并通过人机交互界面对故障信息进行显示。
第三方面,本发明提供一种终端设备,包括:
存储器,用于存储至少一个处理器所执行的指令;
处理器,用于执行存储器中存储的指令实现第一方面所述的方法。
第四方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行第一方面所述的方法。
本发明与现有技术相比的有益效果是:
本发明通过使用可标记扩展语言,在不改变源码的情况下,可以对故障列表进行增加,修改,删除操作,只需要维护故障管理设备的XML文件,即可对各个分系统的故障进行高效管理。增加故障信息不需要编译且不影响运行效率。
附图说明
图1为一种基于XML语言的故障管理方法流程图;
图2为XML文件结构图。
具体实施方式
下面结合实施例对本发明作进一步阐述。
XML语言是一种具有自我描述性的可扩展标记语言,属于小型数据库,对系统中所有分系统的故障进行管理,使用XML语言管理故障数据,故障信息具有可读性,且可以对分系统故障信息进行增加、删除、修改等操作,XML语言也非常适用于数据的扩展与维护。
具体地,如图1所示,本发明一种基于XML语言的故障管理方法,实施方式按如下步骤进行:
S1:定义XML文件格式,将XML文件设计为二级标签形式,包括一个根节点,若干个子节点。
(1)XML一个根节点名称为Errors,标识此节点下的内容均为故障信息,若干个子节点名称为details,每个子节点包括三个元素,分别为故障标识码errorLabel,故障描述errorDescript,以及故障解决方案errorSolution。如图2所示。
(2)XML文件每个子节点描述一个故障信息,对整个系统(包括总线上的所有分系统)的故障进行统一标号(如从0xF0一直标记到0xFF),将标号写入故障标识码errorLabel中,将对应故障的描述errorDescript,以及故障解决方案errorSolution分别写入对应的子节点中。
S2:使用关联容器MAP管理故障。定义一个关联容器变量mapError,此关联容器的键和值都为字符串String型,第一个字符(键)为故障标识码errorLabel,第二个字符(值)为故障描述errorDescript以及故障解决方案errorSolution的综合信息。
S3:将S1定义的XML文件绑定到C语言标准文件格式。
(1)新建XML文档对象模型操作(QDomDocument)类对象doc,doc对象表示一个XML文档。
(2)定义文件操作类(QFile)对象file,将XML文件的路径配置到file文件。使用I/O设备的基本接口类中的打开操作将文件以只读模式打开,如果打开失败则直接结束,打开成功则转到S4。
S4:将XML文件解析为文档对象模型(DOM)树。使用QDomDocument类的文档设置函数setContent()来设置整个文档的内容,它会将XML解析成一个DOM树,并保存在内存中,将文件关闭。
S5:解析XML文件的节点信息。
(1)使用doc对象的查找第一个节点方法firstChild()获取XML的描述节点,即XML说明与版本,进行信息打印
(2)使用文档元素获取方法documentElement()获取根元素docElem,使用查找第一个节点方法firstChild()获取根元素中的第一个节点NodeErrData。
(3)判断NodeErrData是否为空,不为空则使用文档对象模型(DOM)节点中元素判断方法isElement()判断该节点是否为文档对象模型节点类(QDomNode)类型的元素。①若判断成功,使用文档对象模型节点类(QDomNode)类中转化为元素方法toElement()将NodeErrData转化成文档对象模型元素类(QDomElement)类型变量elmtErrData。使用文档对象模型元素类(QDomElement)中的获取节点方法childNodes()获取当前节点NodeErrData对应故障的详细信息,将该故障的详细信息添加到文档对象模型节点列表类(QDomNodeList)类型的数据列表list中。②若判断失败则直接返回,并提示XML文件已损坏。
若当前节点NodeErrData为空,则结束并提示解析故障。
使用查找第一个节点方法firstChild()获取根元素中的第2-N个节点NodeErrData,针对每个节点,重复步骤(3)。
S6:解析出所有故障信息,并存入到关联容器MAP中。
(1)循环使用list对象中的at()方法将列表中每一个节点转化为文档对象模型节点类(QDomNode)类型的节点node(循环次数从list对象中的count()方法获得)。
(2)使用转化为元素方法toElement()方法将node转化为文档对象模型元素类(QDomElement)类型的数据Elem,使用获取第一个元素方法firstChildElement()获取内容,内容包括故障标识码errorLabel,故障描述errorDescript,以及故障解决方案errorSolution。
(3)使用mapError中insert()函数将errorLabel写入关联容器变量mapError的键,将errorLabel、errorDescript和errorSolution以“&”号组合成字符串Strsum写入关联容器MAP变量mapError的值。
S7:对所收到的各分系统的故障标识码进行匹配。
(1)创建故障匹配线程,在此线程中解析网络中的收到的故障标识码。
(2)使用关联容器MAP中查找方法find()在关联容器变量mapError中通过故障标识码errorLabel获取故障描述errorDescript,以及故障解决方案errorSolution。在字符串Strsum中,使用QString中分割方法split()将故障描述errorDescript以及故障解决方法errorSolution进行分离(以“&”为分割标准)。
S8:建立故障显示的数据模型。
(1)建立以项数据(item data)为基础的标准数据模型类QStandardItemModel,实例化该标准模型类指针pmodel,与QTableView组合成Model/View结构,对故障内容信息进行显示与管理。
(2)通过设置显示数量方法setColumnCount()设置标准数据模型的元素数为N(表示故障信息的种类),通过setHeaderData()设置界面显示的内容分别为故障序号Number,故障源Source,故障标识码type,故障描述description,故障解决方案solution,故障发生时刻time,以及可提供给用户备注的故障备注note。
S9:将故障数据通过列表显示出来。
(1)通过QTableView中的setModel函数将标准模型类指针pmodel与显示列表tableView进行绑定。
(2)当系统收到故障时,通过pmodel的增加行insertRow()函数增加一个故障行,使用置表格内容函数setItem()把要显示的内容写入,界面中即可显示故障信息。
航空航天各分系统通常通过总线连接,具有不同功能的设备通过总线进行数据交换,因此可以将故障管理模块设置为总线的一个节点,可以接收总线上运行的系统节点所发送的故障信息,并通过人机交互界面进行显示并给出解决方案。
本发明通过使用可标记扩展语言,在不改变源码的情况下,可以对故障列表进行增加,修改,删除操作,只需要维护故障管理设备的XML文件,即可对各个分系统的故障进行高效管理。
本发明提供一种终端设备,包括:存储器,用于存储至少一个处理器所执行的指令;处理器,用于执行存储器中存储的指令实现图1所述的方法。
本发明提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行图1所述的方法。
本发明说明书中未详细描述的内容为本领域技术人员公知技术。

Claims (9)

1.一种基于XML语言的故障管理方法,其特征在于该方法的步骤包括:
步骤一,定义XML文件格式,将XML文件设计为二级标签形式,包括一个根节点和若干子节点,每个子节点用于描述一个故障信息,每个子节点包括三个元素:故障标识码、故障描述和故障解决方案;
步骤二,使用关联容器管理故障,关联容器的键和值都为字符型,键存储的是故障标识码,值存储的是故障描述以及故障解决方案;
步骤三,将XML文件绑定到标准文件格式;
步骤四,使用文档设置方法将XML文件解析为文档对象模型DOM树存储在内存中;
步骤五,解析XML文件的节点信息,获取XML文件中包含的各个故障以及每个故障的详细信息;
步骤六,以故障标识码为键,以故障描述和故障解决方法的组合字符为值,将每个故障的详细信息存入到关联容器中;
步骤七,创建故障匹配线程,在此线程中处理总线发送上来的故障标识码,在关联容器中通过查找方法获取故障描述以及故障解决方案;
步骤八,建立以项数据为基础的标准数据模型类、实例化该标准数据模型类指针;
步骤九,将步骤八实例化后的标准数据模型类指针与显示列表结合起来,所述显示列表的每一行对应一个故障,当收到新故障时,显示列表中增加一个故障行,将新故障信息显示出来。
2.根据权利要求1所述的一种基于XML语言的故障管理方法,其特征在于,所述步骤三的实现方式如下:
定义文件操作类对象file,将XML文件的路径配置到file文件;
使用I/O设备的基本接口类中的打开操作将XML文件以只读模式打开,如果打开失败则直接结束,打开成功则转到步骤四。
3.根据权利要求1所述的一种基于XML语言的故障管理方法,其特征在于,所述步骤五的实现方式如下:
(5.1)获取XML文件的描述节点,即XML文件说明与版本,进行信息打印;
(5.2)令i的初值为1;
(5.3)获取根元素以及根元素中的第i个节点NodeErrData;
(5.4)判断第i个节点NodeErrData是否为空,为空则结束并提示解析故障,不为空则判断该节点是否为文档对象模型节点类QDomNode类型的元素:
①若是,将第i个节点NodeErrData转化成文档对象模型元素类QDomElement类型变量,获取第i个节点NodeErrData对应故障的详细信息;
②若否,则直接返回,并提示XML文件已损坏;
进入步骤(5.5);
(5.5)i的值加1,判断i是否小于等于N,若是,则重复步骤(5.3)-(5.4);若i大于N,则结束;N为子节点总个数。
4.根据权利要求1所述的一种基于XML语言的故障管理方法,其特征在于,所述步骤七的实现方式如下:
创建故障匹配线程,在此线程中解析收到的故障标识码;
使用关联容器中查找方法在关联容器变量中通过故障标识码获取故障描述以及故障解决方案。
5.根据权利要求4所述的一种基于XML语言的故障管理方法,其特征在于,使用分割方法将故障描述以及故障解决方案进行分离,分离时以“&”为分割标志。
6.根据权利要求1所述的一种基于XML语言的故障管理方法,其特征在于,所述步骤九中,显示列表中每一行包含以下信息:故障序号、故障源、故障标识码、故障描述、故障解决方案、故障发生时刻以及能够提供给用户备注的故障备注。
7.一种基于XML语言的故障管理模块,其特征在于:所述故障管理模块连接在总线上,用于实现权利要求1-6任一项所述的故障管理方法,并通过人机交互界面对故障信息进行显示。
8.一种终端设备,其特征在于,包括:
存储器,用于存储至少一个处理器所执行的指令;
处理器,用于执行存储器中存储的指令执行如权利要求1-6任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如权利要求1-6任一项所述的方法。
CN202110687545.4A 2021-06-21 2021-06-21 一种基于xml语言的故障管理方法 Pending CN113608903A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110687545.4A CN113608903A (zh) 2021-06-21 2021-06-21 一种基于xml语言的故障管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110687545.4A CN113608903A (zh) 2021-06-21 2021-06-21 一种基于xml语言的故障管理方法

Publications (1)

Publication Number Publication Date
CN113608903A true CN113608903A (zh) 2021-11-05

Family

ID=78336670

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110687545.4A Pending CN113608903A (zh) 2021-06-21 2021-06-21 一种基于xml语言的故障管理方法

Country Status (1)

Country Link
CN (1) CN113608903A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114518906A (zh) * 2022-01-25 2022-05-20 厦门锐谷通信设备有限公司 一种基于xml描述文件的设备配置参数管理系统及方法
CN115292113A (zh) * 2022-09-30 2022-11-04 新华三信息技术有限公司 对服务器的内存进行故障检测方法、装置及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002008951A1 (de) * 2000-07-22 2002-01-31 Abb Research Ltd. System und verfahren zur generierung eines xml-basierten fehlermodells
CN101022476A (zh) * 2007-03-13 2007-08-22 中兴通讯股份有限公司 故障详细告警系统、方法及相关的服务器
CN101398811A (zh) * 2008-09-26 2009-04-01 北京四方继保自动化股份有限公司 电网故障报告模板化多格式输出的方法
CN111813395A (zh) * 2020-07-06 2020-10-23 广东海洋大学 基于xml格式的通讯协议信息描述通用模型及其设计方法
CN112230892A (zh) * 2020-10-15 2021-01-15 天津津航计算技术研究所 一种基于可扩展标记语言的故障管理方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002008951A1 (de) * 2000-07-22 2002-01-31 Abb Research Ltd. System und verfahren zur generierung eines xml-basierten fehlermodells
CN101022476A (zh) * 2007-03-13 2007-08-22 中兴通讯股份有限公司 故障详细告警系统、方法及相关的服务器
CN101398811A (zh) * 2008-09-26 2009-04-01 北京四方继保自动化股份有限公司 电网故障报告模板化多格式输出的方法
CN111813395A (zh) * 2020-07-06 2020-10-23 广东海洋大学 基于xml格式的通讯协议信息描述通用模型及其设计方法
CN112230892A (zh) * 2020-10-15 2021-01-15 天津津航计算技术研究所 一种基于可扩展标记语言的故障管理方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
李慧;孟晨;安幼林;林翔;: "基于XML Schema的诊断模型信息描述", 仪表技术, no. 10, pages 64 - 66 *
李根;李彦明;刘成良;: "基于可扩展标记语言的故障模型表述", 机械制造与自动化, vol. 41, no. 04, pages 115 - 117 *
黄华;崔洪亮;米文鹏;: "基于XML的某测试设备故障诊断", 仪表技术, no. 08, pages 62 - 65 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114518906A (zh) * 2022-01-25 2022-05-20 厦门锐谷通信设备有限公司 一种基于xml描述文件的设备配置参数管理系统及方法
CN115292113A (zh) * 2022-09-30 2022-11-04 新华三信息技术有限公司 对服务器的内存进行故障检测方法、装置及电子设备

Similar Documents

Publication Publication Date Title
US8683324B2 (en) Dynamic generation of target files from template files and tracking of the processing of target files
CN113608903A (zh) 一种基于xml语言的故障管理方法
US8209297B2 (en) Data processing device and method
JP2004502993A (ja) 訓練可能で拡張可能な自動化データ/知識翻訳機
CN110334326A (zh) 一种识别配方文件并转化为xml文件的方法及系统
CN112230892B (zh) 一种基于可扩展标记语言的故障管理方法
WO2006136055A1 (fr) Procédé d'exploration de données texte
CN115358200A (zh) 一种基于SysML元模型的模板化文档自动生成方法
CN109325217B (zh) 一种文件转换方法、系统、装置及计算机可读存储介质
JP2006350729A (ja) アプリケーションソフトウェア構築方法、アプリケーションソフトウェア構築処理プログラム及びアプリケーションソフトウェア構築装置
JP4086253B1 (ja) Xml文書の処理方法および処理プログラム
CN113095044A (zh) 一种文件转换方法、装置及设备
CN111311461B (zh) 基于b-s的结构化动态病历表单的编辑器及生成方法
JP5690472B2 (ja) データ抽出システム
CN115454382A (zh) 需求处理方法和装置、电子设备、存储介质
US20050177788A1 (en) Text to XML transformer and method
CN113536762A (zh) Json文本的比对方法及装置
CN113407782A (zh) 一种基于MapReduce的分布式XSLT处理方法及处理系统
Carme et al. The lixto project: Exploring new frontiers of web data extraction
CN115579096A (zh) 一种针对药物警戒e2b r3标准报告的自动生成与解析验证方法、系统及存储介质
US20080189314A1 (en) Generation of template for reformatting data from first data format to second data format
CN112395818A (zh) 基于SysML的硬件算法模型构建方法
CN112328246A (zh) 页面组件生成方法、装置、计算机设备及存储介质
CN111796803B (zh) 一种基于多级容器转存的模板报表生成方法
CN117056637B (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