一种路由器辅助调试系统的制作方法

文档序号:7648827阅读:104来源:国知局
专利名称:一种路由器辅助调试系统的制作方法
技术领域
本发明涉及路由器的硬件调试技术,更具体的说,涉及一种路由器辅助调试系统。
背景技术
随着网络互连技术的发展,路由器在网络组建和数据传输方面的作用越来越重要。尤其是有接口卡插槽的路由器,该种路由器的每个槽位上都可以插入光口百兆卡、电口百兆卡、光口千兆卡、电口千兆卡,POS卡等接口卡,这样一来该种路由器就可以支持各种业务、功能上更加完备,市场的竞争中有更大的占有率。
由于在路由器上支持的业务越多,其内部结构就越发复杂,结构复杂出现故障的概率就越大。而一旦出现故障,就需要能够快速定位故障并排除。
传统的方法是用电脑的串口与路由器相连接,用命令行的形式输入信息,路由器根据不同的命令解释进行相应的操作,比如增加或删除一些配置信息,或显示一些内部配置参数帮助调试人员了解机器的状态,从而定位故障的原因。
由于这些命令都是调试人员人工手动一条一条的输入,工作效率低;调试命令较多,功能相异,记忆起来不方便;而且,要完成一项功能的操作可能会连续输入很多条命令,比如现在SDH的业务中一些PHY芯片都是间接读写的寄存器,如果要将一个数据写入某个地址,必须先将这个地址写入一个地址寄存器中,然后将数据写入数据寄存器,再将命令码写入命令寄存器,最后查询状态位,如果有效状态就说明操作成功,否则证明操作失败。可以看出一项操作花费了四个命令;而如果由于疏忽在回显信息中一些重要信息没有看清楚或记忆下来,从而要二次输入查询命令,导致工作效率低;尤其是在路由器出现某种故障现象后,采用那些命令进行调试,先用哪些,再用哪些命令,这种决策完全和调试人员的工作经验阅历相关,对于一个新员工来说,这方面的经验少,难上手,且工作效率低。
另外,在手动输入命令查看回显信息的时候,随着调试人员输入一个一个的命令,能过帮助调试的回显信息也越来越多,因为此时无调试工具的协助,分析过程全是靠人的经验,对于重要回显数据的关联性分析全部是由人工来完成,由于数据量大,常常因调试人员经验的不足而在分析环节引起疏漏,在信息量很大的情况下,很难做出全面的正确的判断。

发明内容
为克服上述缺陷,本发明所要解决的技术问题是提供一种调试路由器时使用的能更方便的对路由器进行调试的路由器辅助调试系统。
本发明的目的是通过以下技术方案来实现的一种路由器辅助调试系统,包括调试功能模块队列和信息输出模块;其中,所述的调试功能模块队列为一组调试功能模块,每个调试功能模块根据预设的命令功能,获得路由器的所需信息,并将此信息发送到信息输出模块输出。
所述的信息为调试功能模块获得的路由器的系统信息。调试功能模块可以直接获得路由器的系统信息输出,由调试人员再对输出的系统信息进行分析。
所述的信息为调试功能模块对获得的路由器的系统信息与路由器辅助调试系统预存的信息进行比较和分析后得到的分析结果。这样的设计可以通过调试功能模块对路由器的系统信息进行辅助分析,当调试的数据量较大时,可以全面的分析数据之间的关联,不会落掉一个可疑的地方,能有效的保证对数据分析的准确性。
所述的调试功能模块队列中,调试功能模块是顺序执行的。
所述的调试功能模块队列中,调试功能模块是选择执行的。
所述的调试功能模块队列中的每两个相邻的调试功能模块之间设有中断点。这样的设计可以使得调试人员在找到其需要的调试信息后,可以中断路由器辅助调试系统的其它调试功能模块的运行,不必运行后续的调试功能模块,节省调试时间。
所述的调试功能模块队列的调试功能模块选自底层硬件配置查看模块、平台配置底层配置匹配模块、接口及端口属性配置模块、板卡状态查看模块、debug及底层接口计数匹配模块。
所述的调试功能模块队列的调试功能模块包括底层硬件配置查看模块、平台配置底层配置匹配模块、接口及端口属性配置模块、板卡状态查看模块、debug及底层接口计数匹配模块,其执行的先后顺序依次为底层硬件配置查看模块、平台配置底层配置匹配模块、接口及端口属性配置模块、板卡状态查看模块、debug及底层接口计数匹配模块。
所述的调试功能模块中,功能相近的调试功能模块使用相同或相似的数据结构,调试功能模块中细小的差异部分使用类似于C语言中的共同体结构。由于使用了相同的数据结构或用一些共用体来屏蔽细小的差异,提高了数据结构兼容性,从而使调试功能模块的通用性更好,效率更高。
所述的信息输出模块将信息输出到显示器上显示、或输出到文件中保存或直接输出到打印设备打印。
使用本发明所述的路由器辅助调试系统对路由器进行调试诊断的过程中,调试人员只需要输入一行路由器辅助调试系统开始的入口调试命令即可开始调试,从时间上提高工作效率;不需要记忆庞杂的命令,操作简单,使用方便;当调试的数据量较大时,能有效的保证对数据分析的准确性;另外,对于新员工来说上手比较方便,大大缩短了熟悉系统的时间,简单易用。


图1是本发明实施例的路由器辅助调试系统在输入入口调试命令后进入的主流程;图2是本发明实施例的路由器辅助调试系统在主流程中的每个调试功能模块具体执行命令和分析错误的子流程;图3是本发明实施例的路由器辅助调试系统在执行show_ip_int_b()函数时打印的信息;图4是本发明实施例的路由器辅助调试系统在执行show_ip_int_b()函数时打印的信息;图5是本发明实施例的路由器辅助调试系统在执行scp3_showChannel()函数时打印的信息;图6是本发明实施例的路由器辅助调试系统在执行scp3_showChannel()函数时打印的信息。
具体实施例方式
下面结合附图和较佳的实施例对本发明作进一步说明。
所述的路由器辅助调试系统包括调试功能模块队列和信息输出模块;其中,调试功能模块队列为一组顺序执行的调试功能模块,每个调试功能模块根据预设的功能,获得路由器系统信息,对获得的信息进行分析后,给出分析结果,并将分析结果发送到信息输出模块输出;信息输出模块将信息输出到显示器上显示、或输出到文件中保存或直接输出到打印设备打印。调试功能模块按照执行的先后顺序依次为底层硬件配置查看模块、平台配置底层配置匹配模块、接口及端口属性配置模块、板卡状态查看模块、debug及底层接口计数匹配模块。其中,调试功能模块队列中的每两个相邻的调试功能模块之间,设有中断点。每一个调试功能模块得出的分析结果无论正确与否中断点都会提示是否继续下面调试功能模块的分析,这样的设计是考虑到如果调试人员在在分析的结果中找到了故障的位置,就可以直接按下“N”键退出,不必再进行无谓的操作,如果想继续,就可以按下“Y”键继续执行。
为了提高分析环节的效率,在设计功能相近的调试功能模块时使用相同或相似的数据结构,调试功能模块中细小的差异部分可使用类似于C语言中的共同体结构来屏蔽掉,以此方式以提高数据结构兼容。从而在分析代码的相应的调试功能模块部分时通用性更好,效率更高。
本发明所述的路由器辅助调试系统的调试过程包括以下步骤(语言结构以C语言为例来说明一下实现的过程)
步骤1初始化路由器辅助调试系统路由器辅助调试系统定义有一个全局结构体数组(对应下面程序中的DIAG_ANALYSE_TBL[MAXLEN]),在路由器辅助调试系统启动时,等待调试人员的运行命令前,程序将自动初始化这个全局结构体数组。全局结构体数组中的每一个单元包括单元的编号;指向调试函数的指针;存放调用函数时需要传入的入参接口体;执行函数后存放返回数据的结构体的相关信息。其结构示意如下Typedef union para_in{unsigned char bPara;unsigned int wPara;unsigned char*p_bPara;unsigned int*p_wPara;…}PARA_IN;typedef struct arg_in{…… ……PARA_IN uni_para_in;…… ……}ARG_IN;typedef struct arg_out{…… ……}ARG_OUT;typedef struct diag_analyse{
unsigned long DutNo;int(*subCtrlFunc)(void);ARG_IN str_arg_in;ARG_OUT str_arg_out;}DIAG_ANALYSE_TBL[MAXLEN];在初始化的过程中,主要完成的操作有1)完成一些调试子命令的注册;2)将ARG_IN结构体的初始化为调用子命令时传输的入口参数;3)将ARG_OUT清零,准备好接收返回信息值。
其中,在结构体ARG_IN的内部也可以适当的应用一些共用体,以兼容一些差异很小的结构。比如,不同子命令的入参可能是不一致的有的是长整型的,有的是字符型的,有的是字符串的指针等,针对这些不同的格式,可以设置一个公用体同时兼容。这样的设计可以兼容各种入参类型,屏蔽它们之间的差异,使代码处理起来更加统一。
步骤2调用路由器辅助调试系统的调试命令图1示出了路由器辅助调试系统在输入入口调试命令后进入的主流程,图2示出了主流程中的每个调试功能模块具体执行命令和分析错误的子流程,为了保持与原有调试技术的兼容性,本发明采用了命令行输入的模式进行调试工作。在使用路由器辅助调试系统对路由器进行调试时,输入路由器辅助调试系统的入口调试命令(本例中为diag_analyse_start命令),系统就会自动进入智能分析状态。在调用路由器辅助调试系统的入口调试命令时,数组从调试功能模块队列的第一个调试功能模块开始运行其函数指针指向的函数,运行结束后,函数返回获得的路由器的系统信息,将此信息作为返回值存放在ARG_OUT结构体中。
步骤3分析结果及输出显示路由器辅助调试系统将ARG_OUT中的值与预设的正确的值进行比较和分析,将不正确的值发送到信息输出模块输出,并且根据预设的信息给出给出基本现象说明和对出现的原因进行简单分析的分析结果,比如如果内存空间不足、申请空间失败,原因可能是有野指针没有释放等提示信息,并输出到显示器上显示、或直接输出到打印设备打印。
当然,也可以将调试功能模块获得的路由器的系统信息直接发送到信息输出模块输出,由调试人员直接进行判断。
步骤4中断,判断是否继续分析路由器辅助调试系统给出提示信息询问是否继续分析,供调试者选择,若调试者选择“Y”,则路由器辅助调试系统自动运行调试功能模块队列中的下一个调试功能模块,调用调试功能模块中函数指针所指向的函数,重复步骤2和步骤3;若调试者选择“N”,则退出路由器辅助调试系统,结束调试。
其中,路由器辅助调试系统的调试功能模块队列按照以下顺序对路由器进行调试1、底层硬件配置查看模块查看底层硬件配置如工作模式、CRC模式、门限值、缓冲区队列初始化情况等;2、平台配置底层配置匹配模块调用命令显示出平台配置,底层配置查看二者基本信息是否相符;3、接口及端口属性配置模块查看接口属性,端口配置的业务是否已经打好标记;4、板卡状态查看模块查看卡板卡之间的状态是否准备就绪;5、debug及底层接口计数匹配模块打开debug信息观察,debug打印信息和底层接口计数是否相符。
这种调试功能模块队列的顺序能在尽可能覆盖所有可能出现的问题的同时尽快找到路由器问题所在。另外,也可以设置一选择调试模块,由选择调试模块预设的选择条件,在上述调试功能模块中进行有选择的调用,而不必按照上述顺序依次进行。
在路由器辅助调试系统调用每一个命令时路由器系统的内部实现与单独输入上述命令所产生的效果是一样的。
现在以调试SCP3接口卡的相关故障为例,说明使用路由器辅助调试系统实现对路由器进行调试的过程。
设定要检测路由器在测试主备倒换的情况下的稳定性,在主备倒换之前配置了63个sonet的E1子通道,协议可以up。在进行主备倒换的操作后出现部分E1子接口协议down的情况。路由器辅助调试系统初始化后,其DIAG_ANALYSE_TBL[MAXLEN]数组假设已经注册好的函数分别是show_ip_int_b()show_run_int()show_interface(unsigned long port)scp3_showChannel_info(unsigned long port)test_IntAttr_show(unsigned char,unsigned long port);… … …此时输入dia_analyse_start命令,路由器辅助调试系统进入诊断调试模式。路由器辅助调试系统进入调试功能模块队列后,首先运行第一个调试功能模块调用的show_ip_int_b()函数,在照常打印命令信息的情况下做出分析并提示是否要继续。其输出的分析结果信息如图3和图4所示。
对上述输出的分析结果信息不满意,则可按“Y”继续执行调试功能模块队列中的下一个调试功能模块,调用show_run_int(),发现其情况大致与上面相同。
一直到执行调用scp3_showChannel_info(unsigned long port)的调试功能模块时,打印分析结果如图5和图6所示,在打印的现象说明和分析结果中我们可以发现在是其端口信息编号上出现了问题,出现了两个重复的编号,简单分析可知是由于上层平台在传递参数的时候出现了错误,从而导致了故障的产生。这时路由器辅助调试系统中断点打印出提示语,询问是否继续。若此时调试人员对分析结果不满意,可以继续执行调试功能模块队列中的下一个调试功能模块对路由器进行调试诊断。如果此时调试人员认为已经找到问题的所在,就可以按“N”键退出。
在使用路由器辅助调试系统对路由器进行调试诊断的过程中,调试人员只需要输入一行路由器辅助调试系统开始的入口调试命令即可开始调试,从时间上提高工作效率;调试人员只需查看路由器辅助调试系统输出的结果分析,不需要记忆庞杂的命令,只要按“Y”或“N”键控制诊断的进程即可,操作简单,使用方便;当调试的数据量较大时,可以全面的分析数据之间的关联,不会落掉一个可疑的地方,能有效的保证对数据分析的准确性;另外,对于新员工来说上手比较方便,大大缩短了熟悉系统的时间,简单易用。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
权利要求
1.一种路由器辅助调试系统,其特征在于,包括调试功能模块队列和信息输出模块;其中,所述的调试功能模块队列为一组调试功能模块,每个调试功能模块根据预设的命令功能,获得路由器的所需信息,并将此信息发送到信息输出模块输出。
2.如权利要求1所述的一种路由器辅助调试系统,其特征在于,所述的信息为调试功能模块获得的路由器的系统信息。
3.如权利要求1所述的一种路由器辅助调试系统,其特征在于,所述的信息为调试功能模块对获得的路由器的系统信息与路由器辅助调试系统预存的信息进行比较和分析后得到的分析结果。
4.如权利要求1或3所述的一种路由器辅助调试系统,其特征在于,所述的调试功能模块队列中,调试功能模块是顺序执行的。
5.如权利要求1或2或3所述的一种路由器辅助调试系统,其特征在于,所述的调试功能模块队列中,调试功能模块是选择执行的。
6.如权利要求4所述的一种路由器辅助调试系统,其特征在于,所述的调试功能模块队列中的每两个相邻的调试功能模块之间设有中断点。
7.如权利要求1所述的一种路由器辅助调试系统,其特征在于,所述的调试功能模块队列的调试功能模块选自底层硬件配置查看模块、平台配置底层配置匹配模块、接口及端口属性配置模块、板卡状态查看模块、debug及底层接口计数匹配模块。
8.如权利要求4所述的一种路由器辅助调试系统,其特征在于,所述的调试功能模块队列的调试功能模块包括底层硬件配置查看模块、平台配置底层配置匹配模块、接口及端口属性配置模块、板卡状态查看模块、debug及底层接口计数匹配模块,其执行的先后顺序依次为底层硬件配置查看模块、平台配置底层配置匹配模块、接口及端口属性配置模块、板卡状态查看模块、debug及底层接口计数匹配模块。
9.如权利要求1所述的一种路由器辅助调试系统,其特征在于,所述的调试功能模块中,功能相近的调试功能模块使用相同或相似的数据结构,调试功能模块中细小的差异部分使用类似于C语言中的共同体结构。
10.如权利要求1所述的一种路由器辅助调试系统,其特征在于,所述的信息输出模块将信息输出到显示器上显示、或输出到文件中保存或或直接输出到打印设备打印。
全文摘要
本发明公开一种路由器辅助调试系统,其包括调试功能模块队列和信息输出模块;其中,所述的调试功能模块队列为一组调试功能模块,每个调试功能模块根据预设的命令功能,获得路由器的所需信息,并将此信息发送到信息输出模块输出。使用本发明所述的路由器辅助调试系统对路由器进行调试诊断的过程中,调试人员只需要输入一行路由器辅助调试系统开始的入口调试命令即可开始调试,从时间上提高工作效率;不需要记忆庞杂的命令,操作简单,使用方便;当调试的数据量较大时,能有效的保证对数据分析的准确性;另外,对于新员工来说上手比较方便,大大缩短了熟悉系统的时间,简单易用。
文档编号H04L12/56GK101083569SQ20071007584
公开日2007年12月5日 申请日期2007年7月6日 优先权日2007年7月6日
发明者王超 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1