[发明专利]基于虚拟终端的命令执行结果分析方法及系统在审
| 申请号: | 202210058253.9 | 申请日: | 2022-01-19 |
| 公开(公告)号: | CN114564279A | 公开(公告)日: | 2022-05-31 |
| 发明(设计)人: | 李鹏杨;刘从坤 | 申请(专利权)人: | 浪潮通信信息系统有限公司 |
| 主分类号: | G06F9/455 | 分类号: | G06F9/455 |
| 代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 潘悦梅 |
| 地址: | 250100 山东省济南市高*** | 国省代码: | 山东;37 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 虚拟 终端 命令 执行 结果 分析 方法 系统 | ||
1.基于虚拟终端的命令执行结果分析方法,其特征在于包括如下步骤:
向目标设备发送命令后,在内存中创建虚拟终端窗口;
将返回的命令执行结果数据追加至虚拟终端窗口中,所述命令执行结果数据包括文本字符和控制字符,所述控制字符包括ANSI格式和VT100格式的字符;
对命令执行结果数据进行解析筛选,去除控制字符并在内存中保留提取的文本字符,并基于控制字符对文本字符进行格式化处理,得到最终命令执行结果数据,所述最终命令执行结果数据还原了命令执行结果原本的格式和内容;
对最终命令执行结果数据进行分析,提取有效命令执行结果信息。
2.根据权利要求1所述的基于虚拟终端的命令执行结果分析方法,其特征在于在内存中分配一个固定行列的二维字符数组,所述二维字符数组作为存储文本字符的缓存。
3.根据权利要求1或2所述的基于虚拟终端的命令执行结果分析方法,其特征在于对命令执行结果数据进行解析筛选,去除控制字符并在内存中保留提取的文本字符,并基于控制字符对文本字符进行格式化处理时,对于命令执行结果数据对应的字符流,依次读取一个字符,对于每个字符,执行如下操作:
对于每个字符,判断当前字符是否大于31;
如果当前字符大于31,表示当前字符为文本字符,将当前字符存储至内存中;
如果当前字符小于31,表示当前字符为控制字符;
对于控制字符,判断当前字符是否为ESC字符,所述ESC字符为ABSI序列的标志符;
如果当前字符为ESC字符,表示当前字符为ANSI序列,基于ANSI序列对缓存中文字字符进行格式化处理;
如果当前字符不是ESC字符,判断当前字符是否为其它控制字符,所述其它控制字符包括回车、换行、退格和制表字符;
如果当前字符是其它控制字符,基于当前其它控制字符对缓存中文本字符进行格式化处理;
如果当前字符不是其它控制字符,丢弃读入的当前字符,并读取下一个字符。
4.根据权利要求3所述的基于虚拟终端的命令执行结果分析方法,其特征在于将当前字符存储至内存中时,判断缓存中当前列是否为最大列,如果是,将当前文本字符在缓存中对应的位置为:行位置加1、列位置为0,如果当前列不是最大列,更新缓存中当前行和列的位置。
5.根据权利要求3所述的基于虚拟终端的命令执行结果分析方法,其特征在于所述ANSI序列中,以ESC字符作为标志符,包括光标移动指令、清屏指令、字符渲染指令以及终端控制指令;
基于ANSI序列对缓存中文字字符进行格式化处理,包括如下步骤:
读取一个ANSI序列;
判断所述ANSI序列是否为光标移动指令,如果是,更新缓存中当前行列的位置;
如果不是光标移动指令,判断所述ANSI序列是否为清屏移动指令,如果是清屏移动指令,从缓存中的当前行列对应的位置,对缓存内容进行复位;
如果不是光标移动指令,判断所述ANSI序列是否为终端控制指令,如果是,基于ANSI序列对应的指令内容修正缓存中的内容;
如果不是终端控制指令,丢弃当前ANSI序列对应的字符。
6.根据权利要求1或2所述的基于虚拟终端的命令执行结果分析方法,其特征在于通过扫描的方法对最终命令执行结果数据进行分析,提取有效命令执行结果信息,或者,基于正则表达式以及分词方法对最终命令执行结果数据进行分析,提取有效命令执行结果信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮通信信息系统有限公司,未经浪潮通信信息系统有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210058253.9/1.html,转载请声明来源钻瓜专利网。





