一种嵌入式设备中智能输出调试信息的方法及系统的制作方法

文档序号:9765863阅读:412来源:国知局
一种嵌入式设备中智能输出调试信息的方法及系统的制作方法
【技术领域】
[0001]本发明涉及嵌入式设备的调试技术领域,特别是涉及一种嵌入式设备中智能输出调试信息的方法及系统。
【背景技术】
[0002]近几年,随着互联网的飞速发展,接入网络中的嵌入式设备的数量呈现爆炸式增长。不仅是数量急剧增长,网络拓扑也是越来越复杂,设备中集成的功能也是越来越多。在这种日趋复杂的网络应用环境中,一旦设备出现问题,第一排查手段,毫无疑问就是查看调试信息。
[0003]目前,现有厂家的调试信息的输出机制都是,设备接收到调试信息之后,就会立即通过10( Input and Output,输入输出)接口输出。这种输出机制虽然简单、高效,但是,在实际使用过程中发现,其依然存在以下缺陷:
[0004]当调试信息正在通过1接口进行输出时,若此时恰好有用户正在操作设备,调试信息的输出就会和用户的1操作混杂在一起,这样会严重影响用户操作,使得用户体验非常差。比如,这样一种场景,维护人员发现某台设备出现故障,为了排查故障点,就做如下操作:打开模块A的调试开关,打开模块B的调试开关,模块A准备输出2条调试信息,分别是aaaaa,AAA ;模块B准备输出3条调试信息,分别是bbbb,BBBB,b_b_b;而此时,维护人员又准备同时输入命令行“show vers1n”(查看设备版本信息),则当维护人员刚刚输入“showver”的时候,可能模块A和模块B的输出同时来了,此时设备终端上的显示很可能就出现信息混乱穿插的现象,如“show veraabbbbaaa BBAAABB b_b_b”。这样既影响了维护人员的输入,导致维护人员需要重新输入命令,同时A、B模块的输出也混在一起,完全无法查看。
[0005]导致上述问题的原因在于,调试信息的输出是不可控的,多个任务一起输出,并和用户的10操作混合在一起;这个也是受嵌入式系统任务调度的影响,多个任务同时操作同一个10接口,就很容易出现这种信息混乱穿插的现象。

【发明内容】

[0006]本发明的目的是为了克服上述【背景技术】的不足,提供一种嵌入式设备中智能输出调试信息的方法及系统,可以智能的在用户操作和调试信息输出之间找到平衡点,优先响应用户操作,且不丢失调试信息,避免了信息混乱穿插的现象,显著提高用户感受和设备易用性。
[0007]为达到以上目的,本发明提供一种嵌入式设备中智能输出调试信息的方法,包括以下步骤:
[0008]A、在嵌入式设备的管理终端内增设一个用于缓存调试信息的缓存区;在嵌入式设备的管理终端内预设探测间隔周期和空闲时间门限值,将开始处理时的初始化时间点记为时间点值Tl,转入步骤B;
[0009]B、在每个探测间隔周期内,当用户没有10操作时,判定当前时间与时间点值Tl之间的差值大于空闲时间门限值,且缓存区内有待输出的调试信息,则将调试信息输出到1接口,转入步骤C;
[0010]C、判断是否需要进入下一探测间隔周期,若是,则返回步骤B,等待进入下一个探测间隔周期;否则,结束。
[0011]在上述技术方案的基础上,步骤B中,在每个探测间隔周期内,当用户有1操作时,则执行用户的1操作,并记录当前时间,将当前时间作为新的时间点值Tl,转入步骤C。
[0012]在上述技术方案的基础上,步骤B中,当用户没有1操作时,还包括以下步骤:判定当前时间与最新的时间点值TI之间的差值不大于空闲时间门限值或缓存区内没有待输出的调试信息,则转入步骤C。
[0013]在上述技术方案的基础上,步骤A中所述缓存区的大小,根据用户需求进行实时配置修改,修改时,利用预留的配置接口进行实时配置修改。
[0014]在上述技术方案的基础上,步骤A中,当缓存区剩余空间不足时,将新的调试信息覆盖之前的调试信息,或者直接丢弃新的调试信息。
[0015]在上述技术方案的基础上,步骤A中所述探测间隔周期预设为0.5秒?2秒。
[0016]在上述技术方案的基础上,步骤A中所述在嵌入式设备的管理终端内预设探测间隔周期和空闲时间门限值之后,通过预留的参数配置接口对探测间隔周期、空闲时间门限值进行实时配置修改。
[0017]在上述技术方案的基础上,步骤B中所述将调试信息输出到1接口时,输出的调试信息的条数先按照默认值的条数进行输出,然后根据外部配置和指令对输出的调试信息的条数进行实时调整。
[0018]在上述技术方案的基础上,步骤B中所述将调试信息输出到1接口后,将此次输出的调试信息从缓存区中删除。
[0019]本发明还提供一种基于上述方法的嵌入式设备中智能输出调试信息的系统,包括初始设置模块、调试信息输出模块和探测判断模块;
[0020]所述初始设置模块用于:在嵌入式设备的管理终端内增设一个用于缓存调试信息的缓存区;在嵌入式设备的管理终端内预设探测间隔周期和空闲时间门限值,将开始处理时的初始化时间点记为时间点值Tl,向调试信息输出模块发送输出处理信号;
[0021]所述调试信息输出模块用于:收到输出处理信号后,在每个探测间隔周期内,当用户没有1操作时,判定当前时间与时间点值Tl之间的差值大于空闲时间门限值,且缓存区内有待输出的调试信息,则将调试信息输出到1接口,向探测判断模块发送判断信号;
[0022]所述调试信息输出模块用于:收到判断信号后,判断是否需要进入下一探测间隔周期,若是,向调试信息输出模块发送输出处理信号,等待进入下一个探测间隔周期;否则,停止工作。
[0023]与现有技术相比,本发明的优点如下:
[0024](I)本发明中,在嵌入式设备的管理终端内增设了一个用于缓存调试信息的缓存区,所有调试信息并不直接输出到1接口,而是先缓存在所述缓存区内;并且,通过设置的空闲时间门限值来判断当前设备是处于空闲状态还是繁忙状态,只有当设备是处于空闲状态时,才输出缓存区中的调试信息,而当设备是处于繁忙状态时,即使有调试信息需要输出,也需要优先响应用户的1操作。
[0025]与现有技术相比,本发明彻底改变了以往一旦有调试信息就直接输出的机制,使得调试信息能够智能选择输出时机,既不影响用户操作,又便于定位排查故障;而且调试信息的输出变得有序,不会出现错乱穿插的情况,显著提高用户感受和设备易用性。
[0026](2)本发明中,缓存区的大小、探测间隔周期以及空闲时间门限值,都是可以通过预留的配置接口进行实时修改的,最大程度地满足了不同场景的不同需求。
[0027](3)本发明中,调试信息的输出方式灵活,可以每次只输出一条调试信息,也可以一次输出多条调试信息,可根据具体情况酌情考虑设计,支持实时配置修改。并且,调试信息一旦被输出,则从缓存区中删除这条信息,可以及时清理缓存区内的空间,便于后续调试信息的保存。
[0028](4)本发明的技术方案成熟可靠,对上层应用(即输出调试信息的功能模块)无任何影响和修改,仅仅修改管理终端的部分代码和最后输出的部分代码即可,改动小,容易实现,稳定性高,具有很强的推广性。
【附图说明】
[0029]图1是本发明实施例中嵌入式设备中智能输出调试信息的方法的流程图。
【具体实施方式】
[0030]下面结合附图及具体实施例对本发明作进一步的详细描述。
[0031]参见图1所示,本发明实施例提供一种嵌入式设备中智能输出调试信息的方法,包括以下步骤:
[0032]S1:在嵌入式设备的管理终端内增设一个用于缓存调试信息的缓存区,所有调试信息并不直接输出到1接口,而是先缓存在所述缓存区内;预设探测间隔周期和空闲时间门限值,将开始处理时的初始化时间点记为时间点值Tl,转入S2。
[0033]S2:在每个探测间隔周期内,判断用户是否有1操作,若是,则转入S3;否则,转入
S40
[0034]S3:执行用户的1操作;记录当前时间,将当前时间作为新的时间点值Tl,即更新时间点值Tl,转入S7。
[0035]S4:计算出当前时间与时间点值Tl之间的差值,判断所述差值是否大于空闲时间门限值,若是,则表明当前处于一种空闲状态,转入S5;否则,表明当前处于一种繁忙状态,转入S7。
[0036]S5:检查缓存区中是否有待输出的调试信息,若是,则转入S6;否则,转入S7。
[0037]S6:将指定条目数量的调试信息输出到1接口,转入S7。
[0038]S7:判断是否需要进入下一探测间隔周期,若否,则结束;若是,则返回S2,等待进入下一个探测间隔周期,即从S2开始继续进行循环处理。如此循环处理,则可以达到智能监测设备状态,智能输出调试信息的效果,即不影响用户的1操作,又能够达到顺利查看调试信息的目的。
[0039]具体操作时,SI中所述管理终端可以为虚拟终端VTY( Virtual TeletypeTerminal),也可以为实体终端,如串口接口、AUX接口等。
[0040]
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1