CN101667155A - 一种软件监控方法及软件监控装置 - Google Patents
一种软件监控方法及软件监控装置 Download PDFInfo
- Publication number
- CN101667155A CN101667155A CN200910093567A CN200910093567A CN101667155A CN 101667155 A CN101667155 A CN 101667155A CN 200910093567 A CN200910093567 A CN 200910093567A CN 200910093567 A CN200910093567 A CN 200910093567A CN 101667155 A CN101667155 A CN 101667155A
- Authority
- CN
- China
- Prior art keywords
- client
- character string
- execution command
- software
- transmission channel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明提供了一种软件监控方法及软件监控装置,为客户端提供软件内部数据,满足软件监控的进一步需求,该方法包括:在软件内部设置重定向开关;在接收到第一客户端发送的字符串后,根据预先设置的字符串与执行指令的映射关系,确定与所述第一客户端发送的字符串相对应的执行指令;在与所述第一客户端发送的字符串相对应的执行指令为预设的第一执行指令时,打开所述重定向开关,并通过所述重定向开关将软件内部数据重定向到一传输通道,以通过所述传输通道将所述软件内部数据发送到第二客户端。本发明能够为客户端提供软件内部数据,满足了软件监控的进一步需求。
Description
技术领域
本发明涉及软件调试技术领域,特别是一种软件监控方法及软件监控装置。
背景技术
为了保证软件运行的稳定性,需要对软件进行调试,现有的调试方式中,通常采用串口打印方式,然而上述的采用串口打印方式进行调试的方法至少必须使用串口线连接系统设备和客户端,导致应用不方便。
为了解决采用串口打印方式进行调试的方法的不便,目前还可以通过Telnet来进行调试。
Telnet主要用于Internet会话,其允许用户登录进入远程主机系统,并能够将所有用户输入送到远方主机进行处理的简单的终端程序。
然而使用Telnet来进行调试来进行调试至少存在如下缺点:
使用Telnet来进行调试是一种基于命令的交互方式,客户端输入命令,监控端的Telnet服务回应命令结果,因此其无法得到软件内部的其他数据,无法满足软件监控的更进一步的需求。
发明内容
本发明的目的是提供一种软件监控方法及软件监控装置,为客户端提供软件内部数据,满足软件监控的进一步需求。
为了实现上述目的,本发明实施例提供了一种软件监控方法,包括:
在软件内部设置重定向开关;
在接收到第一客户端发送的字符串后,根据预先设置的字符串与执行指令的映射关系,确定与所述第一客户端发送的字符串相对应的执行指令;
在与所述客户端发送的字符串相对应的执行指令为预设的第一执行指令时,打开所述重定向开关,并通过所述重定向开关将软件内部数据重定向到一传输通道,以通过所述传输通道将所述软件内部数据发送到第二客户端。
上述的软件监控方法,其中,所述第一客户端和第二客户端是不同的客户端时,所述字符串中包括一用于确定所述传输通道的传输通道标识。
上述的软件监控方法,其中,还包括:
在与所述客户端发送的字符串相对应的执行指令为预设的第二执行指令时,执行所述第二执行指令,并将所述第二执行指令的执行结果重定向到第一客户端对应的传输通道,将所述执行结果发送到所述客户端。
上述的软件监控方法,其中,在接收到第一客户端发送的字符串后,根据预先设置的字符串与执行指令的映射关系,确定与所述第一客户端发送的字符串相对应的执行指令具体包括:
接收用户输入的字符;
判断是否接收到命令输入结束字符;
在接收到命令输入结束字符后,根据预先设置的字符串与执行指令的映射关系,确定一与接收到命令输入结束字符之前接收到的字符所形成的字符串对应的执行指令。
上述的软件监控方法,其中,所述传输通道为Telnet通道。
上述的软件监控方法,其中,应用于嵌入式设备。
为了实现上述目的,本发明实施例提供了一种软件监控装置,包括:
设置模块,用于在软件内部设置重定向开关;
指令确定模块,用于在接收到第一客户端发送的字符串后,根据预先设置的字符串与执行指令的映射关系,确定与所述第一客户端发送的字符串相对应的执行指令;
第一执行模块,用于在与所述第一客户端发送的字符串相对应的执行指令为预设的第一执行指令时,打开所述重定向开关,并通过所述重定向开关将软件内部数据重定向到一传输通道,以通过所述传输通道将所述软件内部数据发送到所述第一客户端。
上述的软件监控装置,其中,所述第一客户端和第二客户端是不同的客户端时,所述字符串中包括一用于确定所述传输通道的传输通道标识。
上述的软件监控装置,其中,还包括:
第二执行模块,用于在与所述客户端发送的字符串相对应的执行指令为预设的第二执行指令时,监控装置执行所述第二执行指令,并将所述第二执行指令的执行结果重定向到第一客户端对应的传输通道,将所述执行结果发送到所述客户端。
上述的软件监控装置,其中,所述指令确定模块具体包括:
接收单元,用于接收用户输入的字符;
判断单元,用于判断是否接收到命令输入结束字符;
指令获取单元,用于在接收到命令输入结束字符后,根据预先设置的字符串与执行指令的映射关系,确定一与接收到命令输入结束字符之前接收到的字符所形成的字符串第对应的执行指令。
本发明实施例具有以下的有益效果:
本发明实施例中,从终端用户角度出发,提供命令交互功能,让用户可以通过命令对软件进行控制,同时,通过重定向开关的设置,使得用户可以通过命令方式打开该重定向开关,进而使得软件内部数据也能够返回客户端,使用户可以更加自由地有控制地了解软件内部相关性数据和运行状态,极大地提高了对软件监控的力度,满足了软件监控的进一步需求。。
附图说明
图1为本发明实施例的软件监控方法的流程示意图;
图2为本发明实施例的软件控制装置的结构示意图;
图3为本发明实施例的应用场景意图。
具体实施方式
本发明实施例中,通过解析接收到的命令字符串,确定对应的命令后,执行相应的命令,打开重定向开关,将内部数据和状态返回客户端。
如图1所示,本发明实施例的软件监控方法,利用监控装置对软件进行控制,包括:
步骤11,监控装置在所述软件内部设置重定向开关;
步骤12,监控装置接收到第一客户端发送的字符串后,根据预先设置的字符串与执行指令的映射关系,确定与所述客户端发送的字符串相对应的执行指令;
步骤13,在与所述客户端发送的字符串相对应的执行指令为预设的第一执行指令时,监控装置打开预先设置于所述软件中的重定向开关,并通过所述重定向开关将软件内部数据重定向到一传输通道,以通过所述传输通道将所述软件内部数据发送到第二客户端。
在本发明的具体实施例中,该第一客户端和第二客户端可以是相同的客户端,也可以是不同的客户端。
在本发明的具体实施例中,该第一客户端和第二客户端是不同的客户端时,所述字符串中包括一用于确定所述传输通道的传输通道标识。
当然,本发明实施例的方法还包括:
步骤14,在与所述第一客户端发送的字符串相对应的执行指令为预设的第二执行指令时,监控装置执行所述第二执行指令,并将所述第二执行指令的执行结果重定向到第一客户端与所述监控装置之间的传输通道(也就是第一客户端对应的传输通道),将所述执行结果发送到所述第一客户端。
本发明实施例的软件控制装置,用于对软件进行监控,如图2所示,包括:
设置模块,用于在所述软件内部设置重定向开关;
指令确定模块,用于在接收到第一客户端发送的字符串后,根据预先设置的字符串与执行指令的映射关系,确定与所述字符串相对应的执行指令;
第一执行模块,用于在与所述客户端发送的字符串相对应的执行指令为预设的第一执行指令时,监控装置打开预先设置于所述软件中的重定向开关,并通过所述重定向开关将软件内部数据重定向到一传输通道,以通过所述传输通道将所述软件内部数据发送到第二客户端。
在本发明的具体实施例中,该软件控制装置还包括:
第二执行模块,用于在与所述字符串相对应的执行指令为预设的第二执行指令时,执行所述第二执行指令,并将所述第二执行指令的执行结果重定向到第一客户端与所述监控装置之间的传输通道,将所述执行结果发送到所述第一客户端。
在本发明的具体实施例中,指令确定模块包括:
接收单元,用于接收用户输入的字符;
判断单元,用于判断是否接收到命令输入结束字符;
指令获取单元,用于在接收到命令输入结束字符后,根据预先设置的字符串与执行指令的映射关系,确定一与接收到命令输入结束字符之前接收到的字符所形成的字符串第对应的执行指令。
下面对上述的指令确定过程进行详细描述。
识别命令的过程是逐字符的,每当用户通过客户端键入一个字符,该字符都会通过传输通道发送给监控装置,由接收单元接收,并累计用户键入的字符,当用户输入命令完成之后会键入特定的字符(如换行符),此时该换行符也会发送到监控装置,由接收单元接收。
判断单元判断每一个字符是否为命令输入结束字符,如果是,就将之前收到的字符组成字符串,否则继续从传输通道接收字符,并判断。
在得到用户输入的字符串之后,就根据预先设置的字符串与执行指令的映射关系,查找与该确定的字符串相对应的第一执行指令。
从上述描述可以发现,需要根据预先设置的字符串与执行指令的映射关系才能确定第一执行指令,下面对预先设置的字符串与执行指令的映射关系进行详细说明如下。
该字符串可以是指令名称,也可以是指令的ID,当然该字符串具体如何设置可以根据需要而定,如在要求输入简单的情况下,可以是指令ID,如果要求直观,则可以使用指令名称,当然还可以使用其他的方式,只要能标识一个执行指令即可。
而该映射关系可以是如下的映射关系:
指令ID与指令函数地址的映射关系,而根据预先设置的字符串与执行指令的映射关系,可以确定该指令函数的地址,进而根据地址确定指令函数。
其中该指令函数可以是已有的函数,也可以是用户自己定义的函数,在此不作具体限定。
而在步骤13中,当与所述客户端发送的字符串相对应的执行指令为预设的第一执行指令时(打开重定向开关指令),监控装置打开预先设置于所述软件中的重定向开关,而在重定向开关打开时,所述软件内部数据被重定向到所述传输通道,并通过该传输通道返回客户端。
在本发明的具体实施例中,该软件内部数据可以是如下的一些数据:
表明软件当前状态的数据;
软件运行过程中产生的数据,如寄存器中的数据;
软件的配置数据。
当然,只要与软件相关的数据都可以得到,并不局限于上述的例子。
如果该软件内部数据的获取可以通过在软件中设置获取模块来实现,并为该获取模块设置重定向开关,在重定向开关关闭时,该获取模块所得到的数据并不会输出,一旦重定向开关打开,该获取模块所得到的数据就会被重定向到该传输通道,并通过传输通道返回客户端。
当然,对于任何软件而言,在其运行过程中产生的数据都会保存或者暂存在一个位置,当然,也可以通过在该位置设置重定向开关,将其在运行过程中产生的数据重定向到该传输通道,并通过传输通道返回客户端,以便用户进行观察。
在本发明的具体实施例中,该传输通道可以是各种通道(如TCP传输通道),下面软件调试领域常用的Telnet通道为例对本发明实施例进行详细说明。
重定向技术不影响串口的输出,而是在串口的基础上增加了面向客户端的重定向,其不但包括单个命令交互执行的重定向,还包括软件内部数据的重定向,在初始状态下,重定向开关的状态为关闭,其可以通过命令打开,从而实现内部监控数据和状态输出的重定向,为排查问题提供有力的手段。
下面对本发明的应用场景进行说明。
如图3所示,其中包括设置有Telnet服务的客户端,客户端通过串口或者网线等方式连接到服务器端,该服务器端也设置有Telnet服务。
利用本发明的方法和Telnet方式的处理流程如下,包括:
用户通过客户端连接服务器端的Telnet服务,首先进行用户认证,用户输入用户名和密码,完成认证。
认证通过后,进入命令处理流程;
用户通过客户端逐个键入字符,用户键入的字符按序通过传输通道发送给监控装置;
监控装置接收字符并暂存;
监控装置监控到特定的字符(如换行符)后,判断出接收到命令输入结束字符,则将之前收到的字符组成字符串;
监控装置根据预先设置的字符串与执行指令的映射关系,查找与该确定的字符串相对应的执行指令。
如果该执行指令为预设的特定指令,则打开重定向开关;
重定向开关打开后,软件内部预设的数据被所述重定向开关引导,重定向到所述传输通道,以通过所述传输通道将所述软件内部数据发送到所述客户端。
如果该执行指令为通常指令,则执行该指令,并将所述第二执行指令的执行结果重定向到所述传输通道,以通过所述传输通道将所述执行结果发送到所述客户端。
下面以一个例子来说明。
设有3个客户端A、B和C通过各自的传输通道连接到监控装置,监控装置在接收连接时进行处理,以传输通道标识A、B、C来标识3个传输通道。
假定用户通过客户端A输入如下字符串ListAllConn,在监控装置通过标识为A的连接接收到该ListAllConn之后,根据映射关系确定对应的执行指令为连接信息查询命令,然后执行该连接信息查询命令,并将查询结果重定向到传输通道A,传回发送字符串的客户端。
假定用户通过客户端A输入如下字符串OutputRedirect B,在监控装置通过标识为A的连接接收到该OutputRedirect B之后,根据映射关系确定对应的执行指令为重定向命令,然后打开对应的重定向开关,并通过所述重定向开关将软件内部数据重定向到传输通道B,以通过传输通道B将所述软件内部数据发送到客户端B。
本发明从终端用户角度出发,提供命令交互功能,让用户可以通过命令对软件进行控制,并通过重定向开关的设置,使得软件内部数据也能够返回客户端,使用户可以更加自由地有控制地了解软件内部相关性数据和运行状态,极大地提高了对软件监控的力度。
同时,本发明实施例可以应用于嵌入式设备,也可以应用于非嵌入式的领域,应用范围广。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
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所述的软件监控装置,其特征在于,所述指令确定模块具体包括:
接收单元,用于接收用户输入的字符;
判断单元,用于判断是否接收到命令输入结束字符;
指令获取单元,用于在接收到命令输入结束字符后,根据预先设置的字符串与执行指令的映射关系,确定一与接收到命令输入结束字符之前接收到的字符所形成的字符串第对应的执行指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910093567A CN101667155A (zh) | 2009-09-25 | 2009-09-25 | 一种软件监控方法及软件监控装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910093567A CN101667155A (zh) | 2009-09-25 | 2009-09-25 | 一种软件监控方法及软件监控装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101667155A true CN101667155A (zh) | 2010-03-10 |
Family
ID=41803777
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910093567A Pending CN101667155A (zh) | 2009-09-25 | 2009-09-25 | 一种软件监控方法及软件监控装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101667155A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102053808A (zh) * | 2010-11-30 | 2011-05-11 | Tcl集团股份有限公司 | 一种打印软件信息的方法、装置及带网口的设备 |
CN103049244A (zh) * | 2012-12-06 | 2013-04-17 | 北京小米科技有限责任公司 | 一种传输操作指令的方法及装置 |
CN103677820A (zh) * | 2013-12-05 | 2014-03-26 | 上海斐讯数据通信技术有限公司 | 一种嵌入式开发软件输出方法及系统 |
-
2009
- 2009-09-25 CN CN200910093567A patent/CN101667155A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102053808A (zh) * | 2010-11-30 | 2011-05-11 | Tcl集团股份有限公司 | 一种打印软件信息的方法、装置及带网口的设备 |
CN102053808B (zh) * | 2010-11-30 | 2012-10-10 | Tcl集团股份有限公司 | 一种打印软件信息的方法、装置及带网口的设备 |
CN103049244A (zh) * | 2012-12-06 | 2013-04-17 | 北京小米科技有限责任公司 | 一种传输操作指令的方法及装置 |
CN103049244B (zh) * | 2012-12-06 | 2017-04-12 | 小米科技有限责任公司 | 一种传输操作指令的方法及装置 |
CN103677820A (zh) * | 2013-12-05 | 2014-03-26 | 上海斐讯数据通信技术有限公司 | 一种嵌入式开发软件输出方法及系统 |
CN103677820B (zh) * | 2013-12-05 | 2018-02-06 | 上海斐讯数据通信技术有限公司 | 一种嵌入式开发软件输出方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020192733A1 (zh) | 定时任务配置方法、服务器、系统和计算机可读存储介质 | |
CN104503378B (zh) | 一种机器人以及基于该机器人的控制家电的方法 | |
CN102377814B (zh) | 针对嵌入式操作系统的远程协助服务方法 | |
CN107102891B (zh) | 一种基于双系统的应用的管理方法及移动终端 | |
CN103489233A (zh) | 一种动态密码的电子门禁系统 | |
CN101291343B (zh) | 一种基于透明代理设备的远程控制方法及其系统 | |
CN106650422A (zh) | 一种利用TrustZone技术防止第三方输入法敏感数据泄露的系统与方法 | |
WO2018174486A1 (ko) | 서버 보안 강화를 위한 접근통제 시스템의 비인가 명령어 통제 방법 | |
CN107645428A (zh) | 一种自动测试方法及装置 | |
CN101667155A (zh) | 一种软件监控方法及软件监控装置 | |
CN109450928A (zh) | 一种基于UDP和Modbus TCP的跨云端数据透传方法及系统 | |
CN110335003A (zh) | 一种端口资源管理方法及装置 | |
EP2624083A1 (en) | Dynamic configuration of an industrial control system | |
CN106445762A (zh) | 整机设备调试方法和系统 | |
CN109891822A (zh) | 电子签名系统、电子签名服务器及电子签名方法 | |
CN114020678B (zh) | 服务器串行控制台重定向方法、装置、系统以及电子设备 | |
CN100555231C (zh) | 一种调试信息输出和控制系统及其方法 | |
CN104202432B (zh) | 一种远程web管理系统及管理方法 | |
CN110233825A (zh) | 设备初始方法、物联网设备、系统、平台设备及智能设备 | |
CN102110209A (zh) | 一种安全信息登录的装置、方法和键盘 | |
Bella et al. | A socio-technical methodology for the security and privacy analysis of services | |
CN106708488A (zh) | 一种多应用程序的调试系统和方法 | |
CN115037525A (zh) | 一种多连接动态安全外壳协议反向代理系统及方法 | |
CN108429770A (zh) | 一种服务器与客户端数据隔离系统及数据传输方法 | |
CN113326223A (zh) | 一种信息交互、串口配置方法、装置、设备和介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20100310 |