[发明专利]一种命令行接口的命令构造与解析方法无效
申请号: | 201210398673.8 | 申请日: | 2012-10-18 |
公开(公告)号: | CN102902547A | 公开(公告)日: | 2013-01-30 |
发明(设计)人: | 杨敏 | 申请(专利权)人: | 上海师范大学 |
主分类号: | G06F9/44 | 分类号: | G06F9/44;H04L12/24 |
代理公司: | 上海伯瑞杰知识产权代理有限公司 31227 | 代理人: | 吴泽群 |
地址: | 200234 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 命令行 接口 命令 构造 解析 方法 | ||
技术领域
本发明属于嵌入式设备开发技术领域,特别涉及一种嵌入式网络设备的命令行接口的命令构造与解析方法。
背景技术
命令行接口(Command Line Interface)简称:CLI,是用户与操作系统或应用程序之间的一种基于文本输入的命令接口。它通过输入命令来实现对系统的管理和维护,并接收系统的响应。
CLI是商业化电信网络设备中必备的管理控制方法,与SNMP、基于Web等管理方式所不同的是,CLI通过一个普通的串口应用程序或Telnet程序使用键盘输入命令来实现对设备的监控。虽然对网络设备的配置和管理也可以通过其他多种方式实现,可以使用纯字符形式的命令行和菜单,也可以使用图形界面的web浏览器或专门的网管软件。但无论何种网络设备,其基于Telnet(或者SSH)协议的CLI命令行方式提供了比其支持的任何网管功能更为完备的管理能力。尤其是,当网络出现问题,通过其他管理方式都无法访问到被管理设备时,我们依然可以通过完全带外的CONSOLE口使用CLI命令对被管理设备进行信息采集和排障,而这点是所有其他管理方式所不具备的。相比较而言,CLI命令行方式的功能更强大,但掌握起来难度也更大些。
由于嵌入式网络设备种类较多,不同种类的设备通常需要有针对性的合适的定制化的命令行接口命令体系,以方便调试和关系。现有的方法都是针对设备特点和要求从头编制命令行,工作量比较大,而且很多都是重复劳动。
发明内容
本发明的目的是提供了一套完整的命令构造与命令解析方法,可用于实现网络设备配置与管理时必须为用户提供的命令行接口。
本发明的技术方案是,一种命令行接口的命令构造与解析方法,命令构造包括以下步骤:
步骤1.1,构造主命令结点,包括的关键元素有命令名称、命令类型、命令的回调函数和命令的帮助信息;
步骤1.2,构造子命令结点,在命令字符串中相同位置的子命令都视为同一个命令层级的子命令,这些子命令结构体组成一个子命令结构数组供命令系统解析过程调用,
每一个子命令结点包括的必要元素有命令名称、命令类型、命令的回调函数和命令的帮助信息,其中,
针对不同的子命令结点的不同的匹配类型,包括命令匹配和整型匹配,子命令结构体中给出该子命令结点的命令类型;
步骤1.3,构造回调函数,并且将整个命令系统中各个零散分布的命令结点通过回调函数才联系到一起,即每一次匹配完成之后的命令操作,解析结束仍然跳往下一个子命令数组中查找下一层级的子命令结点,该过程由回调函数给出;
步骤1.4,注册主命令,通过注册主命令结构体的方式来把同一命令模式下的所有主命令结点连接成命令树,命令系统中根据命令模式的不同生成不同的命令树;
命令解析包括以下步骤:
步骤2.1,根据命令模式查找到相应的命令树;
步骤2.2,以被解析命令的主命令名作为索引,遍历整个命令树;
步骤2.3,当存在命令名称完全匹配或者有且仅有一个部分匹配的结点时,则调用该命令结点的回调函数,否则解析结束并返回错误号;
步骤2.4,回调函数实现的操作分为两种:一种为命令解析结束,执行相关的功能模块或返回错误号,另一种为继续下一层子命令的解析,
命令是否解析结束只要判断被解析命令字符串是否还有下一级命令参数存在,如果存在则需要继续往下解析,然后遍历回调函数中提供的子命令结构数组,查找能够匹配成功的子命令;
步骤2.5,当存在且仅有一个命令类型能匹配成功的子命令结点时,则调用该命令结点的回调函数,否则解析结束并返回错误号;
步骤2.6,采用子命令结点的回调函数与主命令结点的回调函数实现的操作一致,即判断命令是否结束或者继续下一层子命令的解析;
步骤3.7,子命令的解析过程采用一个递归调用的过程,存在匹配的情况下调用回调函数,反之返回错误号,该递归的解析过程一直到命令解析结束或者出错返回退出为止。
本发明有益效果是,对于命令结点,命令系统中所有的命令都是由命令结点组合而成的,命令结点也分为两种:主命令结点和子命令结点。分类的主要依据是各命令结点在命令字符串中的位置,命令字符串中的第一个结点为主命令结点,同一命令模式下不同的主命令结点组成为命令树,并且每个主命令结点是该命令在命令树上唯一的索引。除主命令结点之外的其它结点都是子命令结点。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海师范大学,未经上海师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210398673.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种高效按盖机
- 下一篇:一种两柱举升机滑台滑块支撑装置