一种嵌入式实时操作系统故障分析定位系统和方法

文档序号:6378186阅读:461来源:国知局
专利名称:一种嵌入式实时操作系统故障分析定位系统和方法
技术领域
本发明涉及数据通信领域,具体涉及通信系统中嵌入式实时操作系统下单板上运行软件故障分析定位系统和方法,更具体地涉及不支持显示设备的单板上嵌入式实时操作系统(例如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。
权利要求
1.一种嵌入式实时操作系统故障分析定位系统,其特征在于,所述系统包括观察器模块、通讯链路、单板软件观察器代理模块,所述观察器模块包括一个由被测单板的带有变量符号表信息文件生成的全局变量信息数据库和一个操作界面,用户可以在所述界面中选择需要操作的变量名称,通过通讯链路与单板软件观察器代理模块进行消息交互;所述通讯链路包括观察器模块与单板软件观察器代理模块之间的物理链路、利用所述物理链路进行数据传输和接收观察器模块上数据通讯模块和单板软件中的数据通讯模块;所述单板软件观察器代理模块接收观察器模块通过通讯链路传来的指令,读取被测变量值,并将信息通过通讯链路传回观察器模块,观察器模块根据被测变量值的正确与否实现对系统的故障分析定位。
2.根据权利要求1所述的嵌入式实时操作系统故障分析定位系统,其特征在于,所述全局变量信息数据库包括该变量的名称、变量类型以及变量地址。
3.根据权利要求1或2所述的嵌入式实时操作系统故障分析定位系统,其特征在于,所述单板软件观察器代理模块读取被测变量值,并将信息通过通讯链路传回观察器模块具体是根据指令中的变量地址,变量类型,对变量地址读取变量值;将读取的变量值组成回应,通过通讯链路传回给观察器模块。
4.根据权利要求1所述系统实现嵌入式实时操作系统故障分析定位方法,其特征在于,所述方法包括以下处理步骤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)。
全文摘要
本发明公开了一种嵌入式实时操作系统故障分析定位系统和方法,分析定位系统包括观察器模块、通讯链路、单板软件观察器代理模块;采用本发明所述的故障分析定位系统和方法,可以方便地在各种商用现场进行故障分析定位,通过对相关变量的分析,确定故障发生的原因,及时排除故障。可广泛应用于不支持显示设备的单板上嵌入式实时操作系统下运行软件的故障分析定位。
文档编号G06F11/34GK1523503SQ0315638
公开日2004年8月25日 申请日期2003年9月5日 优先权日2003年9月5日
发明者刁坚波, 曾玲玲 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1