一种软件监控方法及软件监控装置的制作方法

文档序号:6575633阅读:199来源:国知局
专利名称:一种软件监控方法及软件监控装置的制作方法
技术领域
本发明涉及软件调试技术领域,特别是一种软件监控方法及软件监控装置。
背景技术
为了保证软件运行的稳定性,需要对软件进行调试,现有的调试方式中, 通常采用串口打印方式,然而上述的采用串口打印方式进行调试的方法至少必 须使用串口线连接系统设备和客户端,导致应用不方便。
为了解决采用串口打印方式进行调试的方法的不便,目前还可以通过
Telnet来进行调试。
Telnet主要用于Internet会话,其允许用户登录进入远程主机系统,并能
够将所有用户输入送到远方主机进行处理的简单的终端程序。 然而使用Telnet来进行调试来进行调试至少存在如下缺点 使用Telnet来进行调试是一种基于命令的交互方式,客户端输入命令,监
控端的Telnet服务回应命令结果,因此其无法得到软件内部的其他数据,无法
满足软件监控的更进一 步的需求。

发明内容
本发明的目的是提供一种软件监控方法及软件监控装置,为客户端提供软 件内部数据,满足软件监控的进一步需求。
为了实现上述目的,本发明实施例提供了一种软件监控方法,包括 在软件内部设置重定向开关;
在接收到第 一客户端发送的字符串后,根据预先设置的字符串与执行指令 的映射关系,确定与所述第一客户端发送的字符串相对应的执行指令;
在与所述客户端发送的字符串相对应的执行指令为预设的第 一执行指令时,打开所述重定向开关,并通过所述重定向开关将软件内部数据重定向到一 传输通道,以通过所述传输通道将所述软件内部数据发送到第二客户端。
上述的软件监控方法,其中,所述第一客户端和第二客户端是不同的客户 端时,所述字符串中包括一用于确定所述传输通道的传输通道标识。
上述的软件监控方法,其中,还包括
时,执行所述第二执行指令,并将所述第二执行指令的执行结果重定向到第一 客户端对应的传输通道,将所述执行结果发送到所述客户端。
上述的软件监控方法,其中,在接收到第一客户端发送的字符串后,根据 预先设置的字符串与执行指令的映射关系,确定与所述第一客户端发送的字符
串相对应的执行指令具体包括 接收用户输入的字符; 判断是否接收到命令输入结束字符;
在接收到命令输入结束字符后,根据预先设置的字符串与执行指令的映射 关系,确定一与接收到命令输入结束字符之前接收到的字符所形成的字符串对 应的执行指令。
上述的软件监控方法,其中,所述传输通道为Telnet通道。 上述的软件监控方法,其中,应用于嵌入式设备。 为了实现上述目的,本发明实施例提供了一种软件监控装置,包括 设置模块,用于在软件内部设置重定向开关;
指令确定模块,用于在接收到第一客户端发送的字符串后,根据预先设置 的字符串与执行指令的映射关系,确定与所述第一客户端发送的字符串相对应
的执行指令;
第一执行模块,用于在与所述第一客户端发送的字符串相对应的执行指令 为预设的第一执行指令时,打开所述重定向开关,并通过所述重定向开关将软 件内部数据重定向到一传输通道,以通过所述传输通道将所述软件内部数据发 送到所述第一客户端。
上述的软件监控装置,其中,所述第一客户端和第二客户端是不同的客户 端时,所述字符串中包括一用于确定所述传输通道的传输通道标识。上述的软件监控装置,其中,还包括
第二执行模块,用于在与所述客户端发送的字符串相对应的执行指令为预 设的第二执行指令时,监控装置执行所述第二执行指令,并将所述第二执行指 令的执行结果重定向到第 一客户端对应的传输通道,将所述^t丸行结果发送到所 述客户端。
上述的软件监控装置,其中,所述指令确定模块具体包括 接收单元,用于接收用户输入的字符; 判断单元,用于判断是否接收到命令输入结束字符; 指令获取单元,用于在接收到命令输入结束字符后,根据预先设置的字符 串与执行指令的映射关系,确定一与接收到命令输入结束字符之前接收到的字
符所形成的字符串第对应的执行指令。
本发明实施例具有以下的有益效果
本发明实施例中,从终端用户角度出发,提供命令交互功能,让用户可以 通过命令对软件进行控制,同时,通过重定向开关的设置,使得用户可以通过 命令方式打开该重定向开关,进而使得软件内部数据也能够返回客户端,使用 户可以更加自由地有控制地了解软件内部相关性数据和运行状态,极大地提高 了对软件监控的力度,满足了软件监控的进一 步需求。。


图1为本发明实施例的软件监控方法的流程示意图; 图2为本发明实施例的软件控制装置的结构示意图; 图3为本发明实施例的应用场景意图。
具体实施例方式
本发明实施例中,通过解析接收到的命令字符串,确定对应的命令后,执 行相应的命令,打开重定向开关,将内部数据和状态返回客户端。
如图l所示,本发明实施例的软件监控方法,利用监控装置对软件进行控
制,包括
步骤ll,监控装置在所述软件内部设置重定向开关;
6步骤12,监控装置接收到第一客户端发送的字符串后,根据预先设置的字符串与执行指令的映射关系,确定与所述客户端发送的字符串相对应的执行
指令;
步骤13,在与所述客户端发送的字符串相对应的执行指令为预设的第一执行指令时,监控装置打开预先设置于所述软件中的重定向开关,并通过所述重定向开关将软件内部数据重定向到一传输通道,以通过所述传输通道将所述软件内部数据发送到第二客户端。
在本发明的具体实施例中,该第 一客户端和第二客户端可以是相同的客户端,也可以是不同的客户端。
在本发明的具体实施例中,该第一客户端和第二客户端是不同的客户端时,所述字符串中包括一用于确定所述传输通道的传输通道标识。
当然,本发明实施例的方法还包括
步骤14,在与所述第一客户端发送的字符串相对应的执行指令为预设的第二执行指令时,监控装置执行所述第二执行指令,并将所述第二执行指令的执行结果重定向到第一客户端与所述监控装置之间的传输通道(也就是第一客户端对应的传输通道),将所述执行结果发送到所述第一客户端。
本发明实施例的软件控制装置,用于对软件进行监控,如图2所示,包括
设置模块,用于在所述软件内部设置重定向开关;
指令确定模块,用于在接收到第一客户端发送的字符串后,根据预先设置的字符串与执行指令的映射关系,确定与所述字符串相对应的执行指令;
第 一执行模块,用于在与所述客户端发送的字符串相对应的执行指令为预设的第一执行指令时,监控装置打开预先设置于所述软件中的重定向开关,并通过所述重定向开关将软件内部数据重定向到一传输通道,以通过所述传输通道将所述软件内部数据发送到第二客户端。
在本发明的具体实施例中,该软件控制装置还包括
第二执行模块,用于在与所述字符串相对应的执行指令为预设的第二执行指令时,执行所述第二执行指令,并将所述第二执行指令的执行结果重定向到第一客户端与所述监控装置之间的传输通道,将所述执行结果发送到所述第一客户端。在本发明的具体实施例中,指令确定模块包括接收单元,用于接收用户输入的字符;判断单元,用于判断是否接收到命令输入结束字符;指令获取单元,用于在接收到命令输入结束字符后,根据预先设置的字符串与执行指令的映射关系,确定一与接收到命令输入结束字符之前接收到的字
符所形成的字符串第对应的执行指令。
下面对上述的指令确定过程进行详细描述。
识别命令的过程是逐字符的,每当用户通过客户端键入一个字符,该字符都会通过传输通道发送给监控装置,由接收单元接收,并累计用户键入的字符,当用户输入命令完成之后会键入特定的字符(如换行符),此时该换行符也会发送到监控装置,由接收单元接收。
判断单元判断每一个字符是否为命令输入结束字符,如果是,就将之前收到的字符组成字符串,否则继续从传输通道接收字符,并判断。
在得到用户输入的字符串之后,就根据预先设置的字符串与执行指令的映射关系,查找与该确定的字符串相对应的第 一执行指令。
从上述描述可以发现,需要根据预先设置的字符串与执行指令的映射关系才能确定第一执行指令,下面对预先设置的字符串与执行指令的映射关系进行详细i兌明如下。
该字符串可以是指令名称,也可以是指令的ID,当然该字符串具体如何设置可以根据需要而定,如在要求输入简单的情况下,可以是指令ID,如果要求直观,则可以使用指令名称,当然还可以使用其他的方式,只要能标识一个执行指令即可。
而该映射关系可以是如下的映射关系
指令ID与指令函数地址的映射关系,而根据预先设置的字符串与执行指令的映射关系,可以确定该指令函数的地址,进而根据地址确定指令函数。
其中该指令函数可以是已有的函数,也可以是用户自己定义的函数,在此不作具体限定。
而在步骤13中,当与所述客户端发送的字符串相对应的执行指令为预设的第一执行指令时(打开重定向开关指令),监控装置打开预先设置于所述软
8件中的重定向开关,而在重定向开关打开时,所述软件内部数据被重定向到所述传输通道,并通过该传输通道返回客户端。
在本发明的具体实施例中,该软件内部数据可以是如下的 一 些数据表明软件当前状态的数据;
软件运行过程中产生的数据,如寄存器中的数据;软件的配置数据。
当然,只要与软件相关的数据都可以得到,并不局限于上述的例子。如果该软件内部数据的获取可以通过在软件中设置获取模块来实现,并为该获取模块设置重定向开关,在重定向开关关闭时,该获取模块所得到的数据并不会输出, 一旦重定向开关打开,该获取模块所得到的数据就会被重定向到该传输通道,并通过传输通道返回客户端。
当然,对于任何软件而言,在其运行过程中产生的数据都会保存或者暂存在一个位置,当然,也可以通过在该位置设置重定向开关,将其在运行过程中产生的数据重定向到该传输通道,并通过传输通道返回客户端,以便用户进行观察。
在本发明的具体实施例中,该传输通道可以是各种通道(如TCP传输通道),下面软件调试领域常用的Telnet通道为例对本发明实施例进行详细"i兌明。
重定向技术不影响串口的输出,而是在串口的基础上增加了面向客户端的重定向,其不但包括单个命令交互执行的重定向,还包括软件内部数据的重定向,在初始状态下,重定向开关的状态为关闭,其可以通过命令打开,从而实现内部监控数据和状态输出的重定向,为排查问题提供有力的手段。
下面对本发明的应用场景进行说明。
如图3所示,其中包括设置有Telnet服务的客户端,客户端通过串口或者网线等方式连接到服务器端,该服务器端也设置有Telnet服务。
利用本发明的方法和Telnet方式的处理流程如下,包括
用户通过客户端连接服务器端的Telnet服务,首先进行用户认证,用户输入用户名和密码,完成认证。
认i正通过后,进入命令处理流程;
用户通过客户端逐个键入字符,用户键入的字符按序通过传输通道发送给
9监控装置;
监控装置接收字符并暂存;
监控装置监控到特定的字符(如换行符)后,判断出接收到命令输入结束字符,则将之前收到的字符组成字符串;
监控装置根据预先设置的字符串与执行指令的映射关系,查找与该确定的字符串相对应的执行指令。
如果该执行指令为预设的特定指令,则打开重定向开关;
重定向开关打开后,软件内部预设的数据被所述重定向开关引导,重定向
到所述传输通道,以通过所述传输通道将所述软件内部数据发送到所述客户
二山彿。
如果该执行指令为通常指令,则执行该指令,并将所述第二执行指令的执行结果重定向到所述传输通道,以通过所述传输通道将所述执行结果发送到所述客户端。
下面以一个例子来说明。
设有3个客户端A、 B和C通过各自的传输通道连接到监控装置,监控装置在接收连接时进行处理,以传输通道标识A、 B、 C来标识3个传输通道。
假定用户通过客户端A输入如下字符串ListAllConn,在监控装置通过标识为A的连接接收到该ListAllConn之后,根据映射关系确定对应的执行指令为连接信息查询命令,然后执行该连接信息查询命令,并将查询结果重定向到传输通道A,传回发送字符串的客户端。
假定用户通过客户端A输入如下字符串OutputRedirect B,在监控装置通过标识为A的连接接收到该OutputRedirect B之后,根据映射关系确定对应的执行指令为重定向命令,然后打开对应的重定向开关,并通过所述重定向开关将软件内部数据重定向到传输通道B,以通过传输通道B将所述软件内部数据发送到客户端B。
本发明从终端用户角度出发,提供命令交互功能,让用户可以通过命令对软件进行控制,并通过重定向开关的设置,使得软件内部数据也能够返回客户端,使用户可以更加自由地有控制地了解软件内部相关性数据和运行状态,极大地提高了对软件监控的力度。同时,本发明实施例可以应用于嵌入式设备,也可以应用于非嵌入式的领域,应用范围广。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若千改进和润饰,这些改进和润饰也应^f见为本发明的保护范围。
权利要求
1.一种软件监控方法,其特征在于,包括在软件内部设置重定向开关;在接收到第一客户端发送的字符串后,根据预先设置的字符串与执行指令的映射关系,确定与所述第一客户端发送的字符串相对应的执行指令;在与所述第一客户端发送的字符串相对应的执行指令为预设的第一执行指令时,打开所述重定向开关,并通过所述重定向开关将软件内部数据重定向到一传输通道,以通过所述传输通道将所述软件内部数据发送到第二客户端。
2. 根据权利要求1所述的软件监控方法,其特征在于,所述第一客户端 和第二客户端是不同的客户端,所述字符串中包括一用于确定所述传输通道的 传输通道标识。
3. 根据权利要求1或2所述的软件监控方法,其特征在于,还包括在与所述客户端发送的字符串相对应的执行指令为预设的第二执行指令 时,执行所述第二执行指令,并将所述第二执行指令的执行结果重定向到第一 客户端对应的传输通道,将所述执行结果发送到所述客户端。
4. 根据权利要求1或2所述的软件监控方法,其特征在于,在接收到第 一客户端发送的字符串后,根据预先设置的字符串与执行指令的映射关系,确 定与所述第一客户端发送的字符串相对应的执行指令具体包括接收用户输入的字符; 判断是否接收到命令输入结束字符;在接收到命令输入结束字符后,根据预先设置的字符串与执行指令的映射 关系,确定一与接收到命令输入结束字符之前接收到的字符所形成的字符串对 应的执行指令。
5. 根据权利要求1或2所述的软件监控方法,其特征在于,所述传输通 道为Telnet通道。
6. 根据权利要求1或2所述的软件监控方法,其特征在于,应用于嵌入 式设备。
7. —种软件监控装置,其特征在于,包括设置模块,用于在软件内部设置重定向开关;指令确定模块,用于在接收到第一客户端发送的字符串后,根据预先设置 的字符串与执行指令的映射关系,确定与所述第一客户端发送的字符串相对应的执行指令;第一执行模块,用于在与所述第一客户端发送的字符串相对应的执行指令 为预设的第一执行指令时,打开所述重定向开关,并通过所述重定向开关将软 件内部数据重定向到一传输通道,以通过所述传输通道将所述软件内部数据发 送到第二客户端。
8. 根据权利要求7所述的软件监控装置,其特征在于,所述第一客户端 和第二客户端是不同的客户端,所述字符串中包括一用于确定所述传输通道的 传输通道标识。
9. 根据权利要求7或8所述的软件监控装置,其特征在于,还包括第二执行模块,用于在与所述第一客户端发送的字符串相对应的执行指令 为预设的第二执行指令时,监控装置执行所述第二执行指令,并将所述第二执 行指令的执行结果重定向到第一客户端对应的传输通道,将所述执行结果发送 到所述第一客户端。
10. 根据权利要求7或8所述的软件监控装置,其特征在于,所述指令确 定模块具体包括接收单元,用于接收用户输入的字符;判断单元,用于判断是否接收到命令输入结束字符;指令获取单元,用于在接收到命令输入结束字符后,根据预先设置的字符 串与执行指令的映射关系,确定一与接收到命令输入结束字符之前接收到的字 符所形成的字符串第对应的执行指令。
全文摘要
本发明提供了一种软件监控方法及软件监控装置,为客户端提供软件内部数据,满足软件监控的进一步需求,该方法包括在软件内部设置重定向开关;在接收到第一客户端发送的字符串后,根据预先设置的字符串与执行指令的映射关系,确定与所述第一客户端发送的字符串相对应的执行指令;在与所述第一客户端发送的字符串相对应的执行指令为预设的第一执行指令时,打开所述重定向开关,并通过所述重定向开关将软件内部数据重定向到一传输通道,以通过所述传输通道将所述软件内部数据发送到第二客户端。本发明能够为客户端提供软件内部数据,满足了软件监控的进一步需求。
文档编号G06F11/36GK101667155SQ20091009356
公开日2010年3月10日 申请日期2009年9月25日 优先权日2009年9月25日
发明者王魏强, 陈志太 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1