一种嵌入式网管命令行接口的命令回溯方法技术

技术编号:2878388 阅读:474 留言:0更新日期:2012-04-11 18:40
本发明专利技术提出了一种嵌入式网管命令行接口的命令回溯方法。采用命令回溯执行配置文件不对现有设备硬件改动,只是在软件方面进行改进。采用这种方法的命令回溯可以快速进行命令匹配,同时也简化了配置文件编写的要求。在一定程度上减少了对设备维护人员的要求。本发明专利技术在保证严谨的命令层次的同时实现配置文件中命令的快速匹配和回溯,克服了配置文件编写的格式要求缺点,使得配置文件的内容更灵活,格式更简单。(*该技术在2021年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及一种可以使用嵌入式网管命令行接口(CLI-Command LineInterface)进行配置的数据设备的命令执行方法,尤其涉及多模式CLI命令的嵌入式网管命令匹配方法。CLI命令执行是模式相关的,在某个模式只能执行该模式的命令。如果要执行其他模式的命令则必须进入该对应的模式去执行。如果是进入本模式的上一层模式,一般使用命令exit,进入本模式的下一层则要执行具有模式的命令,这依赖于实际的命令树。实际上为了简化命令输入(特别是在配置文件中),一般允许直接执行上层模式命令而不需要使用exit命令显式进入该模式。目前嵌入式网管的CLI在进行命令匹配时有三种选择自顶向下每次都从命令树的根进行匹配;完全的自底向上匹配;有限的自底向上的匹配。自顶向下每次都从命令树的根进行匹配的效率是比较低的,特别是在命令比较多的情况下。命令的匹配其实是一个字符串匹配的过程,如果设备的命令多达几百条就会严重影响命令的执行速度。这是一个低效率的方法。完全的自底向上匹配可以从本模式匹配开始,一直匹配到命令树的根部,解决了匹配的效率和模式层次多的问题。但是这就造成在配置过程中模式的跳跃比较大,在线配置过程容易出现错误和混乱。有限的自底向上的匹配是允许执行直接上层的命令,命令匹配从本模式开始,本模式没有匹配就到本模式的上一层模式进行匹配,如果仍然没有匹配到就停止匹配。这种方式对于命令模式的层次不多,只有两级时没有问题,命令层次超过两层就必须对命令在配置文件中的顺序进行安排,防止出现相邻命令间的层次超过两层。这显然不利于配置文件的编写。为实现专利技术目的,本专利技术提出的命令回溯方法主要包括以下步骤1.在当前节点下进行命令匹配;2.如果命令匹配正确,修改相应的命令节点信息,继续下一个标记的匹配;3.如果命令匹配失败,在当前节点下匹配不到命令节点,根据命令节点保存的信息,回溯到当前节点的父节点;1)若该节点的父节点存在,则在父节点下进行命令匹配;2)若该节点的父节点不存在,则返回出错信息;4.如果命令匹配失败,并且返回的错误是其它错误,根据当前标记的位置判断是匹配不成功还是部分匹配成功;1)若部分匹配成功意味着命令树中有重复的节点存在,回溯到当前节点的父节点下对所有标记重新进行匹配;2)若是匹配不成功,返回错误;采用有限制的自底向上的命令回溯的方法可以快速匹配命令,特别是在功能复杂,命令多且层次复杂的数据设备中。另外就是对配置文件的编写不强加特殊限制,减轻设备维护的的负担。同时由于限制命令回溯仅在配置文件中使用,保证了命令层次的严谨、清晰,消除了在线网络维护过程中的层次跳跃。并且这是一个纯软件实现的方法,不会增加原有产品的成本。附图说明图1是命令树结构图;图2是正常情况下命令的匹配流程图;图3是回溯情况下命令的匹配流程图。图2是正常情况下命令的匹配流程图;典型的数据设备的命令都是一种树型结构,正常情况下标记的匹配过程如图2所示,匹配过程从当前节点(根节点或中间节点)开始,1.首先判断该标记是否有歧义,也即该标记同时是命令节点和参数节点;1)与当前节点下的命令子节点进行完全匹配,若匹配成功则进入3),若匹配不成功则进入2);2)与当前节点下的所有命令子节点进行部分匹配,若匹配成功记录节点,进入3)。3)与当前节点下的参数节点的关键字进行匹配,若匹配成功则5);4)与当前节点下的参数节点进行部分匹配,匹配成功则5);5)根据匹配结果返回是正确或歧义错误;2.如果返回正确并且此时还没有匹配到一个中间模式节点,进一步进行命令节点的判断,进入3;若返回正确并且此时已经匹配到一个中间模式节点,进一步判断是否是参数节点,进入4;3.命令节点判断过程;1)与当前节点下的命令子节点进行完全匹配,若匹配成功,则将当前节点指向该子节点并将标记的类型修改为命令节点。若匹配不成功,则进入2);2)与当前子节点下的命令子节点进行部分匹配,若匹配成功,且没有超过一个子节点,将当前节点指向该子节点并将标记的类型修改为命令节点,进入3),若匹配的子节点超过一个,进入3);3)根据匹配的结果返回正确或出错信息,进入5;4.进行参数节点判断过程,然后进入5;5.如果匹配过程执行正确,添加节点链表,节点链表中的先后顺序表示命令从根节点到当前节点的匹配过程。图3是回溯情况下命令的匹配流程图;命令的匹配首先从当前命令节点下开始1.在当前节点下进行命令匹配,包括完全匹配和不完全匹配,与正常的命令匹配过程一样。2.如果命令匹配正确,修改节点链表中的信息,删除冗余的节点,增加当前命令的节点链表。保证节点链表中没有循环的节点。3.如果命令匹配失败,并且返回的错误是找不到命令节点,根据节点链表信息,获得当前节点的父节点的信息。1)若当前节点不是根节点并且该节点的父节点存在,则在父节点下进行命令匹配。2)若当前节点是根节点,则终止匹配过程,返回出错信息。4.如果命令匹配失败,并且返回的错误是其它错误,判断当前的标记是否是第一个标记,1)若不是第一个标记,表示该标记之前的标记在当前节点下匹配成功,而当前的标记匹配不成功,意味着命令树中有重复的节点存在,将此标记前的所有标记置为未匹配状态,到当前节点的父节点下重新进行匹配。过程同上述3。2)若此标记是第一个标记,表示命令匹配过程出错,不再进行命令匹配,返回错误。按照上述这种方式,可以在某个模式下执行其上层模式的命令,可以回溯多层。命令回溯只是在执行配置文件的过程中起作用,在现配置时不起作用。因此设置了一个开关量,在执行配置文件时打开,配置文件执行过程结束后关闭该变量。这样就可以限制命令回溯的仅发生在执行配置文件地情况。采用命令回溯执行配置文件不对现有设备硬件改动,只是在软件方面进行改进。采用这种方法的命令回溯可以快速进行命令匹配,同时也简化了配置文件编写的要求。在一定程度上减少了对设备维护人员的要求。权利要求1.,其特征在于包括以下步骤(1) 当前节点下进行命令匹配;(2)如果命令匹配正确,修改相应的命令节点信息,继续下一个标记的匹配;(3)如果命令匹配失败,在当前节点下匹配不到命令节点,根据命令节点保存的信息,回溯到当前节点的父节点;(4)如果命令匹配失败,并且返回的错误是其它错误,根据当前标记的位置判断是匹配不成功还是部分匹配成功。2.根据权利要求1所述的嵌入式网管命令行接口的命令回溯方法,其特征在于所述的步骤(3)中如果命令匹配失败,在当前节点下匹配不到命令节点,根据命令节点保存的信息,回溯到当前节点的父节点进一步包括以下步骤1)若该节点的父节点存在,则在父节点下进行命令匹配;2)若该节点的父节点不存在,则返回出错信息。3.根据权利要求1所述的嵌入式网管命令行接口的命令回溯方法,其特征在于所述的步骤(4)中如果命令匹配失败,并且返回的错误是其它错误,根据当前标记的位置判断是匹配不成功还是部分匹配成功进一步包括以下步骤1)若部分匹配成功意味着命令树中有重复的节点存在,回溯到当前节点的父节点下对所有标记重新进行匹配;2)若是匹配不成功,返回错误。全文摘要本专利技术提出了。采用命令回溯执行配置文件不对现有设备硬件改动,只是在软件方面进行改进。采用这种方法的命令回溯可以快速进行命令匹配,同时也简化了配置文件编写的要求。在一定程度本文档来自技高网...

【技术保护点】
一种嵌入式网管命令行接口的命令回溯方法,其特征在于包括以下步骤:(1)当前节点下进行命令匹配;(2)如果命令匹配正确,修改相应的命令节点信息,继续下一个标记的匹配;(3)如果命令匹配失败,在当前节点下匹配不到命令节点,根据命令节 点保存的信息,回溯到当前节点的父节点;(4)如果命令匹配失败,并且返回的错误是其它错误,根据当前标记的位置判断是匹配不成功还是部分匹配成功。

【技术特征摘要】

【专利技术属性】
技术研发人员:邵波杨晓锋孙圣强
申请(专利权)人:深圳市中兴通讯股份有限公司上海第二研究所
类型:发明
国别省市:31[中国|上海]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1