公开/公告号CN1523503A
专利类型发明专利
公开/公告日2004-08-25
原文格式PDF
申请/专利权人 中兴通讯股份有限公司;
申请/专利号CN03156384.8
申请日2003-09-05
分类号G06F11/34;
代理机构11259 北京金硕果知识产权代理事务所;
代理人张玫
地址 518057 广东省深圳市南山区高新技术产业园科技南路中兴通讯大厦法律部
入库时间 2023-12-17 15:34:51
法律状态公告日
法律状态信息
法律状态
2014-10-29
未缴年费专利权终止 IPC(主分类):G06F11/34 授权公告日:20070425 终止日期:20130905 申请日:20030905
专利权的终止
2007-04-25
授权
授权
2004-10-27
实质审查的生效
实质审查的生效
2004-08-25
公开
公开
技术领域
本发明涉及数据通信领域,具体涉及通信系统中嵌入式实时操作系统下单板上运行软件故障分析定位系统和方法,更具体地涉及不支持显示设备的单板上嵌入式实时操作系统(例如PSOS)下运行软件的故障分析定位方法。
背景技术
在嵌入式实时操作系统(例如PSOS),实际运行中不带显示终端,除了单板上有限的几个闪灯表示运行状态之外,无法得知具体细节的当前运行状况。当故障发生时,单板闪灯可能有显示不正常状态,也可能什么异常都没有,在复杂的实际商用运行现场,这都无法进行故障分析定位。
而商用现场对于问题的解决是非常迫切紧急的,这就需要对故障有一个快捷迅速又方便实现的方法。关键变量这个时候就可以揭示故障发生原因的所在,这个时候如何得到关键变量就成为了一个故障分析和定位的关键。而在上面涉及的嵌入式实时操作系统中,实际商用运行过程的单板上软件变量信息又无法进行获得。所以需要提供一个实际运行过程中在线对单板软件变量进行观察的系统和方法。通过专利检索,尚未有有效系统和方法。
发明内容
本发明要解决的技术问题在于,针对故障发生时所涉及的系统输入、输出和流程中间关键全局变量提供一个可以在线故障分析和定位的系统和方法,顺着业务流程步骤,检查每个步骤的输入和输出,如果这个步骤的输入正确,而输出异常,那么故障就定位在这个步骤的实现函数中,这个方法可以通用在嵌入式实时操作系统上运行的软件。
本发明提供的故障分析定位系统包括:观察器模块、通讯链路、单板软件观察器代理模块,
所述观察器模块包括一个由被测单板的带有变量符号表信息文件生成的全局变量信息数据库和一个操作界面,用户可以在所述界面中选择需要操作的变量名称,通过通讯链路与单板软件观察器代理模块进行消息交互;
所述全局变量信息数据库包括该变量的名称、变量类型以及变量地址;
所述通讯链路包括观察器模块与单板软件观察器代理模块之间的物理链路、利用所述物理链路进行数据传输和接收观察器模块上数据通讯模块和单板软件中的数据通讯模块;
所述单板软件观察器代理模块接收观察器模块通过通讯链路传来的指令,读取被测变量值,并将信息通过通讯链路传回观察器模块,观察器模块根据被测变量值的正确与否实现对系统的故障分析定位。
根据本发明所述系统实现故障分析定位的方法包括以下处理步骤:
1.对于发生故障的流程分解到具体每个实现步骤的函数f1到fn,其中n≥1且为正整数;确定函数fm(m≥1且m≤n)的输入变量xmi以及输出变量ymo;其中ymo=x(m+1)i,即上一个步骤函数的输出为下一个步骤函数的输入;
2.所述观察器模块从f1开始检查x1i以及y1o;如果x1i错误,说明整个系统的外部输入有问题发生的故障,系统本身没有问题,结束;否则就继续检查y1o,如果y1o错误,那么故障就定位在f1,结束;如果x1i和y1o都正确,那么m=2;
3.所述观察器模块检查fm(m≥2且m<n)的输出ymo;如果ymo错误,那么故障定位在fm,结束;否则m=m+1;
4.如果m=n,那么故障定位在fn;否则重复步骤3。
采用本发明所述的故障分析定位系统和方法,可以方便地在各种商用现场进行故障分析定位,通过对相关变量的分析,确定故障发生的原因,及时排除故障。
附图说明
图1是本发明的装置组成图;
图2是本发明的实现流程图;
图3是本发明的观察器处理流程图。
具体实施方式
其中类似的部件用相同的参考字符来标识。本发明将针对在PSOS实时操作系统中的应用来描述,但是不限于这样的用途。更确切地说,所提供的实施方式仅是为了说明本发明的具体应用过程。
图1所示为本发明装置的组成。该装置可以分成三部分组成:观察器模块101、通讯链路102和单板软件观察器代理模块103。
观察器模块101:一个运行于PC机上的软件,该软件通过单板运行软件的带有变量符号表信息文件(在PSOS中为ELF文件)导出变量符号表文本文件,观察器程序根据文件中变量符合表信息格式生成一个全局变量信息数据库,数据库包括该变量的名称,变量类型以及变量地址,它还提供一个操作界面,可以让用户选择想要操作的变量名称,并且将用户界面的指令翻译成单板运行软件观察器代理可以认识的指令并发送该指令,同时接收单板运行软件代理的回应变量值显示在界面上通知用户;
通讯链路102:实现观察器和单板软件观察器代理之间的数据通讯。物理上可以是PC机和单板传输数据的物理链路,例如PC机和单板的RS232接口以及它们之间的连线;除了物理链路,通讯链路还包括利用物理链路进行数据传输和接收的PC机上数据通讯模块和单板软件中的数据通讯模块;
单板软件观察器代理模块103:接收观察器通过通讯链路传来的指令,根据指令中的变量地址,变量类型,对变量地址读取变量值;将读取的变量值组成回应,通过通讯链路传回给观察器。
观察器模块包括PC一台、操作系统以及运行于其上的软件,这里PC机以及操作系统不详细介绍,以后提到观察器101指运行的软件。它还包括由观察器101建立的单板软件全局变量数据库111,是用户对单板软件变量进行观察和修改操作的终端。
通讯链路102完成观察器模块101和观察器代理模块103之间的数据传输,包括PC机操作系统上的数据接收和发送模块,单板软件上的数据接收和发送模块,以及物理链路。物理链路形式多样,可以是PC上RS232接口和单板上RS232接口以及两个接口之间的连线,这里也不详细介绍。
观察器代理103完成接收观察器来的指令并执行,完成指令后回应。它是单板软件的一部分,完成管理器的代理工作。
图1中112指观察器模块101发送数据给通讯链路102,然后进行123指通讯链路102将数据传给观察器代理模块103。132指观察器代理模块103将数据传给通讯链路102,然后进行121指通讯链路102将数据传给观察器模块101。
图2为本发明的故障分析定位流程图。首先是步骤201故障发生。步骤202将发生故障的流程分解为具体每个实现步骤的函数f1到fn,其中n≥1且为正整数。步骤203确定函数fm(m≥1且m≤n)的输入变量Xmi以及输出变量Ymo;其中Ymo=X(m+1)i,即上一个步骤函数的输出为下一个步骤函数的输入;X1i表示这个系统的输入,Yno表示这个系统的输出。故障就是Yno指不正确,未达到预定的要求。步骤204将m=1,即从第一个函数f1开始。步骤205使用观察器获取Xmi,如何获取将在图3中详细介绍。步骤206判断Xmi是否正确,如果不正确进入步骤207定位故障出在系统的输入,本系统本身没有问题,流程结束;如果正确进入步骤208使用观察器获取Ymo。步骤209判断Ymo是否正确,如果不正确进入步骤210定位故障出在函数fm,流程结束;如果正确进入步骤211使m=m+1。步骤212判断m是否等于n,如果相等则进入步骤213定位故障出在fn,流程结束;否则返回步骤208。
图3为本发明的观察器处理流程图,同时也是步骤205和步骤208的具体实现。步骤301程序开始。步骤302观察器101根据单板运行软件的ELF文件(带有变量符号表信息)导出具有相应格式的变量符号表信息文本文件,然后识别该文本文件并建立全局变量信息数据库,数据库包括该变量的名称,变量类型以及变量地址。步骤303观察器101接收步骤205或208来的获取变量值请求。步骤304观察器101根据步骤205或208需要查看的变量名称,查询全局变量信息数据库,找出该变量名称对应的变量地址和变量类型,并形成变量观察指令。步骤305观察器101发送该指令通过通讯链路102给观察器代理软件103。步骤306观察器代理软件103根据指令中含有的变量地址和变量类型查询内存,拷贝变量地址开始的一段内存地址(长度由变量类型决定),并将拷贝值(即变量值)通过通讯链路102发送给观察器101。步骤307观察器101接收到变量值。步骤308观察器101将变量值通知用户,完成步骤205或208。
机译: 嵌入式实时操作系统的任务调度处理系统和方法
机译: 嵌入式实时操作系统的同步通信系统和方法
机译: 用于嵌入式实时操作系统的线程信号操作方法和系统