Nothing Special   »   [go: up one dir, main page]

CN102447585B - 将网络配置协议响应报文转换为命令行的方法及装置 - Google Patents

将网络配置协议响应报文转换为命令行的方法及装置 Download PDF

Info

Publication number
CN102447585B
CN102447585B CN201210001172.1A CN201210001172A CN102447585B CN 102447585 B CN102447585 B CN 102447585B CN 201210001172 A CN201210001172 A CN 201210001172A CN 102447585 B CN102447585 B CN 102447585B
Authority
CN
China
Prior art keywords
node
shell
defined file
binary tree
command
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.)
Active
Application number
CN201210001172.1A
Other languages
English (en)
Other versions
CN102447585A (zh
Inventor
朱肇乾
杨恬
李金辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Maipu Communication Technology Co Ltd
Original Assignee
Maipu Communication Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Maipu Communication Technology Co Ltd filed Critical Maipu Communication Technology Co Ltd
Priority to CN201210001172.1A priority Critical patent/CN102447585B/zh
Publication of CN102447585A publication Critical patent/CN102447585A/zh
Application granted granted Critical
Publication of CN102447585B publication Critical patent/CN102447585B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种将网络配置协议响应报文转换为命令行的方法,应用在NETCONF代理中,包括:A.预先根据建模Schema文件,将网络设备的shell命令行转换为XML格式的shell定义文件;B.在系统启动时,将所述shell定义文件加载到内存中生成shell二叉树;C.根据内存中shell二叉树中的信息,将收到的来自NETCONF服务器的与用户获取配置信息命令相对应的响应报文,转换为shell命令行。利用本发明所提供的方法,能够直接将网络配置协议中的XML响应报文转换为Shell命令行,让客户感觉不到操作方式的变化,从而感觉不到NETCONF协议的存在。

Description

将网络配置协议响应报文转换为命令行的方法及装置
技术领域
本发明涉及数据通信领域,特别涉及在NETCONF协议中将XML格式的响应报文转换为命令行的方法和装置。 
背景技术
在数据通信领域中,网络配置(Network Configuration,简称NETCONF)协议是一种基于可扩展标记语言(eXtensible Markup Language,简称XML)的网络配置管理协议。NETCONF协议运用XML对操作编码,并承载在远程过程调用(Remote Procedure Call,简称RPC)层上,用于完成客户端与NETCONF服务器之间的数据通信。如图1所示,为现有技术中基于NETCONF协议的配置管理框架示意图,基于NETCONF协议的配置管理框架在逻辑结构上分为4个层次:网络管理实体、网络配置代理,NETCONF服务器和应用模块,其中: 
网络管理实体,运行在网络管理的客户端,为不同的网络管理协议和操作提供用户界面。如在图1所示的基于NETCONF协议的配置管理框架中,NETCONF服务器会面向不同类型的网络管理实体(简称网管实体),不仅面向NETCONF协议网络管理实体,而且还需要面对其它非NETCONF协议网络管理实体,比如:命令行、SNMP、WEB等。 
网络配置代理(简称NETCONF代理),相当于非NETCONF协议类型的网络管理实体的适配层,不同的非NETCONF协议网络管理实体,其网络配置代理不同。网络配置代理用于将不同网络管理实体所下发的配置管理操作转换为NETCONF协议的操作,然后下发给NETCONF服务器;同时接收来自于NETCONF服务器的响应报文和通知信息,并将其转换为网络配置代理所对应的非NETCONF协议报文或响应信息,发送给其对应的非NETCONF协议网络管理实体。 
NETCONF服务器,接收来自于NETCONF协议网络管理实体和其它非NETCONF协议网络管理实体的网络配置代理的业务操作,如果是获取配置信息,则直接从配置数据库中取得;对于网络状态信息,则需要下发给目标网络设备的应用模块。 
目前,用户一般习惯在客户端通过命令行界面(Command Line Interface,CLI)操作网络设备或网络配置协议系统。当用户在命令行终端输入命令行解释器(Shell)配置命令行或Shell获取配置命令行时,NETCONF代理需要先将Shell命令行的相关信息转换为XML格式的RPC请求报文并发送给NETCONF服务器,NETCONF服务器收到该请求后,对设备或系统进行配置或收集信息,再打包为XML格式的rpc-reply响应报文返回给NETCONF代理,由NETCONF代理转换为命令行终端用户可以识别的信息或命令格式。 
当用户通过Shell获取配置命令来查看NETCONF系统或网络设备相关的配置信息时,为了便于用户查看,NETCONF代理需要将包含配置信息的XML格式的rpc-reply响应报文转换为Shell配置命令行的形式,因为一般命令行终端用户还不习惯于通过XML格式来查看配置信息,另一方面,命令行终端用户无法比较显示出来的Shell命令行和之前请求配置的Shell命令行是否一致。 
如何将NETCONF协议中XML格式的rpc-reply响应报文转换为Shell命令行呢?NETCONF协议和RFC 6020定义的YANG建模语言并没有做规定,现在支持NETCONF协议的几个厂商也没有对如何解决该问题的细节进行披露。 
发明内容
有鉴于此,本发明提供了一种将网络配置协议的XML格式响应报文转换为命令行的方法及装置,以解决现有技术中的问题。 
为解决上述技术问题,本发明的技术方案是这样实现的: 
一种将网络配置协议响应报文转换为命令行的方法,应用在NETCONF代理中,包括: 
A.预先根据建模Schema文件,将网络设备的shell命令行转换为XML格式的shell定义文件; 
B.在系统启动时,将所述shell定义文件加载到内存中生成shell二叉树; 
C.根据内存中shell二叉树中的信息,将收到的来自NETCONF服务器的与用户获取配置信息命令相对应的响应报文,转换为shell命令行。 
本发明实施例还提供一种将网络配置协议响应报文转换为命令行的装置,包括: 
shell定义文件生成模块,用于预先根据建模文件,将网络设备的shell命令行转换为XML格式的shell定义文件; 
shell定义文件加载模块,用于在所述装置启动时,将所述shell定义文件加载到内存中生成shell二叉树; 
shell命令行转换模块,用于在接收到来自NETCONF服务器的与用户获取配置信息命令相对应的响应报文后,根据内存中所述shell二叉树将响应报文中的数据转换为shell命令行。 
综上所述,利用本发明所提供的方法和装置,能够直接将网络配置协议中的XML响应报文转换为Shell命令行,让客户感觉不到操作方式的变化,从而感觉不到NETCONF协议的存在。 
附图说明
图1为现有技术中基于NETCONF协议配置管理框架的逻辑示意图; 
图2为本发明实施例将网络配置协议响应报文转换为命令行的方法流程图; 
图3为本发明实施例配置模块interfaces的Shell定义文件加载到内存生成的shell二叉树示意图; 
图4为本发明实施例配置模块show的Shell定义文件加载到内存生成的shell二叉树示意; 
图5为本发明实施例将网络配置协议响应报文转换为命令行的装置的结构框图。 
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并结合实施例,对本发明所述方案作进一步地详细说明。 
参见图1,为本发明实施例将网络配置协议响应报文转换为命令行的方法流程图。本方法主要应用在NETCONF代理中,包括如下步骤: 
步骤101,预先根据建模文件,将网络设备的shell命令行转换为XML格式的shell定义文件。 
本步骤中,将网络设备的shell命令按配置模块进行定义,生成XML格式的shell定义文件。可以将多个配置模块相关的shell命令定义到同一个shell定义文件中,如果Shell定义文件比较大,也可以按配置模块生成多个shell定义文件。建模(Schema)文件,是用于描述XML数据约束规则的文件,对NETCONF协议的内容层和操作层进行抽象、建模;在系统启动时,加载到NETCONF代理及NETCONF服务器内存中。由于建模文件的生成和获取,属于现有技术,此处不再赘述。 
在Shell定义文件中有两类节点即命令关键字(cmd-key)节点和命令参数(cmd-param)节点,cmd-key节点表示这是一个命令中的关键字,cmd-param节点表示一个命令中的参数。cmd-key节点和cmd-param节点主要包括name属性、help属性,所述name属性表示所属节点的名字,命令关键字节点的name属性表示该节点所对应shell命令行的一个组成部份的名字,命令参数节点的name属性与Schema文件中的节点名一致;help属性表示通过设定的命令格式可以查看到的所属节点的帮助信息。另外,还可以根据需要为shell定义文件的节点定义xpath路径属性、filter路径属性和type类型属性;xpath属性和filter属性都表示路径,与所属节点在建模文件中的路径一致,xpath属性表示配置命令的命令参数节点在建模文件中的路径,filter属性表示获取配置信息命令的相关信息在建模文件中的保存路径;type属性表示参数的类型。还可以定义target-mode属性,一般出现在叶子节点中,表示该命令是一个配置模式切换命令,执行该命令后切换到的目标配置模式。 
本实施例中,将网络设备的shell命令行转换为XML格式的shell定义文件的方法,具体包括: 
A1.将网络设备的shell命令行按功能划分为配置模块。 
A2.将属于同一个配置模块的所有shell命令行定义在同一个shell定义文件中。 
A3.在所述shell定义文件中,当shell命令行的组成节点在Schema文件 中有定义时,将该节点定义为shell定义文件的命令参数节点,否则定义为shell定义文件的命令关键字节点;所述命令参数节点和命令关键字节点在shell定义文件的层级关系,由其在shell命令行中的顺序关系确定。 
本步骤中,对于同一个配置模块中的多条shell命令行中第一个节点相同,如shell命令“show run”与“show ospf”,仅定义一个show节点;对于多条shell命令中同级节点相同且其所有祖先节点都相同的多个节点,则在所述shell定义文件中对所述节点只定义一个节点,例如Show interface回车、Show interface name,则只需要定义一次show节点和interface节点。 
A4.指定所述shell定义文件中各个节点的name属性和help属性。 
根据以上式,将模块名为interfaces的配置模块下的interface name、ip address ip subnetmask、mtu mtu、exit等命令生成的Shell定义文件如下: 
Figure BDA00001287027100051
Figure BDA00001287027100061
将模块名为show的配置模块下的show interface、show interface name、show running-config命令生成的Shell定义文件如下: 
Figure BDA00001287027100062
上述interfaces和show两个配置模块的shell命令行分别生成了一个shell定义文件,当然两个配置模块可以成一个shell定义文件。 
步骤102,在系统启动时,将所述shell定义文件加载到内存中生成shell二叉树。 
在系统启动时,将Shell定义文件加载到内存,生成Shell二叉树。加载时,不同的配置模块,加载到不同的shell二叉树。本实施例提供以下两种实现方案。 
将所述shell定义文件加载到内存中生成shell二叉树的方案一,具体实现步骤如下:将所述shell二叉树的名字命名为所述shell定义文件中配置模块节点的name属性值;将所述shell定义文件中配置模块节点的第一个子节点加载为所述shell二叉树的根节点,将所述shell定义文件中配置模块节点的其余子节点加载为其前一个子节点的兄弟节点,并将shell二叉树中加载的上述节点的父节点指针置为空;将所述shell定义文件中非配置模块节点的第一个子节点加载为shell二叉树中所述节点的左子节点,将shell定义文件中所述非配置模块节点的其余子节点加载为其前一个子节点在所述shell二叉树中对应节点的兄弟节点,并将shell二叉树中加载的上述节点的父节点指针置为其在所述shell定义文件中的父节点在所述shell二叉树中相对应的节点。 
将所述shell定义文件加载到内存中生成shell二叉树的方案二,具体实 现步骤如下:将所述shell二叉树的名字命名为所述shell定义文件中配置模块节点的name属性值;将所述shell定义文件中的配置模块节点加载为所述shell二叉树的根节点;将所述shell定义文件中配置模块节点的第一个子节点,加载为所述shell二叉树中根节点的左子节点,将所述shell定义文件中所述配置模块节点的其余子节点,加载为其前一个子节点在所述shell二叉树中对应节点的兄弟节点,并将shell二叉树中加载的上述节点的父节点指针置为空;将所述shell定义文件中非配置模块节点的第一个子节点,加载为所述shell二叉树中所述非配置模块节点的左子节点,将所述shell定义文件中所述非配置模块节点的其余子节点,加载为其前一个子节点在所述shell二叉树中对应节点的兄弟节点,并将shell二叉树中加载的上述节点的父节点指针置为其在所述shell定义文件中的父节点在所述shell二叉树中相对应的节点。如所示为配置模块interfaces的Shell定义文件加载到内存形成的shell二叉树。其加载过程如下: 
将配置模块interfaces所对应的shell二叉树的名字命名为所述shell定义文件中配置模块节点的name属性值即interfaces;然后将interfaces加载为所述shell二叉树的根节点;加载interfaces节点的子节点interface及其子节点,因为interface子节点的父节点为根节点interfaces,将interface子节点的父节点指针置为空;加载interface子节点的子节点name; 
同理加载interface节点的下一个兄弟节点ip,在二叉树中为interface节点的右子节点,将ip节点的父节点指针置为空,加载ip节点的子节点address,加载address子节点的子节点ip,再加载ip子节点的子节点subnetmask;这里出现了两个ip子节点,前一个的类型是cmd-key,而后一个的类型为cmd-param,在同一条命令中不会出现两个类型都是cmd-key的同名子节点的,但即便两个同名子节点的类型都是cmd-param,也可以根据其xpath加以区分,因为schema文件中不可能在同一路径下出现两个同名的子节点;同理加载ip子节点的下一个兄弟节点mtu及其所有子节点;同理加载mtu子节点的再下一个兄弟节点exit及其所有子节点;所有节点加载完毕,最后形成interfaces配置模块的二叉树,见图3。 
同理加载show配置模块shell定义文件生成的shell二叉树,如图4所示。 
步骤103,根据内存中shell二叉树中的信息,将收到的来自NETCONF 服务器的与用户获取配置信息命令相对应的响应报文,转换为shell命令行。 
当用户在CLI终端执行Shell命令“show interface”来获取网络设备所有接口的配置信息时,NETCONF代理根据加载到系统内存中的Shell二叉树和建模文件将show interface请求命令转换为NETCONF协议的get-config请求报文,并在会话中发送给NETCONF服务器。NETCONF服务器收到该get-config请求报文后,在running数据库中收集与interfaces相关的配置信息,并打包为rpc-reply报文返回给NETCONF代理,该过程为现有技术,此处不再赘述。 
当NETCONF代理从NETCONF服务器接收到XML格式的与用户获取配置信息的命令“show interface”对应的rpc-reply响应报文后,可根据报文中的Message ID找到该报文对应的请求报文,得到用户的获取配置命令,从而判断需要将该响应报文转换为Shell命令行以方便用户查看,即根据内存中的Shell二叉树将XML响应报文中的数据转换为Shell命令行。 
根据内存中shell二叉树中的信息,将收到的来自NETCONF服务器的与用户获取配置信息命令相对应的响应报文,转换为shell命令行的具体过程如下:C1.解析响应报文,去掉XML报文头部得到数据部分; 
C2.根据顶级节点所表示的配置模块名字,找到所述配置模块对应的shell二叉树; 
C3.中序遍历所述shell二叉树,遍历到叶子节点时,从该叶子节点开始,依次查找其父节点,以及父节点的父节点,直到查找到祖先节点为空,得到一个节点序列,将所述节点序列倒序排列,如果节点序列中存在命令参数节点,则用所述响应报文中该命令参数节点的值来替换,从而得到一条shell命令行; 
C4.从C3中的叶子节点开始,继续按C3的步骤中序遍历所述shell二叉树,直到遍历完所述shell二叉树; 
C5.如果还存在步骤C2中所述顶级节点的兄弟节点,则取下一个兄弟节点,继续循环执行步骤C2-C4,否则本流程结束。 
下面结合配置模块interfaces的Shell二叉树,具体里说明将与shell命令“show interface”对应的XML响应报文中的数据转换为Shell命令行的过程: 
首先解析rpc-reply响应报文,去掉报文头部,得到数据部分; 
根据XML的顶级节点interfaces表示的配置模块名字,找到所述 interfaces配置模块对应的shell二叉树; 
中序遍历interfaces二叉树,得第一个节点interface,为cmd-key节点,但非叶子节点,再继续遍历,得name节点,为cmd-param,是叶子节点,依次取name节点,name节点的父节点interface(前已述及,interface节点的父节点指针为空),得到一节点序列name interface,倒序之后得interface name,由于name节点是cmd-param类型,于是用响应报文中节点name的值来替换,得Shell命令行:interface eth0。 
由name节点的target-mode属性可知,该命令是一个配置模式切换命令,需进行模式切换,所以后面由interface节点解析出来的命令要增加缩进来显示; 
继续中序遍历该interfaces二叉树,依次得到ip、address、ip节点,这三个节点都不是叶子节点,再继续遍历,得subnetmask节点,是叶子节点了,于是取subnetmask节点,subnetmask节点的父节点ip,ip节点的父节点address,address节点的父节点ip,ip节点的父节点指针为空,最后得一序列:subnetmask ip address ip,倒序后得ip address ip subnetmask,在该序列中,将cmd-param类型的节点ip用192.168.1.1替换,节点subnetmask用255.255.252.0替换,得Shell命令:ip address 192.168.1.1255.255.252.0; 
继续遍历,同理可得Shell命令:mtu 1500; 
继续遍历,同理可得Shell命令:exit; 
由于exit是一配置模式切换命令,于是对后面的命令要减少缩进显示; 
此时二叉树遍历完毕,得到如下命令序列: 
interface eth0 
ip address 192.168.1.1255.255.252.0 
mtu 1500 
exit 
虽然二叉树遍历完毕,但XML后面还有<interfaces>节点的子节点,因此重新对二叉树进行遍历;同理解析后面的XML报文,NETCONF代理最终解析出对应的Shell命令行为: 
interface eth0 
ip address 192.168.1.1255.255.252.0 
mtu 1500 
exit 
interface eth1 
ip address 128.255.41.209255.255.255.0 
mtu 1500 
exit 
参见图5为本发明实施例将网络配置协议响应报文转换为命令行的装置的结构框图,具体包括: 
Shell定义文件生成模块,用于预先根据建模文件,将网络设备的shell命令行转换为XML格式的shell定义文件; 
Shell定义文件加载模块,用于在系统启动时,将所述shell定义文件加载到内存中生成Shell二叉树;还用于在shell定义文件发生变化后,重新对shell定义文件进行加载; 
Shell命令行转换模块,用于在接收到NETCONF服务器的响应报文后,根据内存中Shell二叉树将响应报文中的数据转换为Shell命令行。 
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。 

Claims (9)

1.将网络配置协议响应报文转换为命令行的方法,应用在网络配置代理中,其特征在于,包括:
A.预先根据建模Schema文件,将网络设备的shell命令行转换为XML格式的shell定义文件;具体包括:
A1.将网络设备的shell命令行按功能划分为配置模块;
A2.将属于同一个配置模块的所有shell命令行定义在同一个shell定义文件中或不同shell定义文件中;
A3.在所述shell定义文件中,当shell命令行的组成节点在Schema文件中有定义时,将该节点定义为shell定义文件的命令参数节点,否则定义为shell定义文件的命令关键字节点;所述命令参数节点和命令关键字节点在shell定义文件的层级关系,由其在shell命令行中的顺序关系确定;
A4.指定所述shell定义文件中各个节点的name属性和help属性;
B.在系统启动时,将所述shell定义文件加载到内存中生成shell二叉树;
C.根据内存中shell二叉树中的信息,将收到的来自NETCONF服务器的与用户获取配置信息命令相对应的响应报文,转换为shell命令行。
2.根据权利要求1所述的方法,其特征在于,所述shell定义文件中包括命令关键字和命令参数两类节点,每类节点包括名字name属性、帮助help属性;所述name属性表示所属节点的名字,命令关键字节点的name属性表示该节点所对应shell命令行的一个组成部份的名字,命令参数节点的name属性与Schema文件中的节点名一致;help属性表示通过设定的命令格式可以查看到的所属节点的帮助信息。
3.根据权利要求2所述的方法,其特征在于,每类节点还包括xpath路径属性、filter路径属性和type类型属性;xpath属性和filter属性都表示路径,与所属节点在建模文件中的路径一致,xpath属性表示配置命令的命令参数节点在建模文件中的路径,filter属性表示获取配置信息命令的相关信息在建模文件中的保存路径;type属性表示参数的类型。
4.根据权利要求1所述的方法,其特征在于,所述步骤A3中,在所述shell定义文件中,在同一个配置模块中,对于多条shell命令行中第一个节点相同,或者同级节点相同且其所有祖先节点都相同的多个节点,则在所述shell定义文件中对所述节点只定义一个节点。
5.根据权利要求2所述的方法,其特征在于,所述步骤B中,将所述shell定义文件加载到内存中生成shell二叉树的方法为,将不同的配置模块加载到不同的shell二叉树,具体包括:
B1.将所述shell二叉树的名字命名为所述shell定义文件中配置模块节点的name属性值;
B2.将所述shell定义文件中配置模块节点的第一个子节点,加载为所述shell二叉树的根节点,将所述shell定义文件中配置模块节点的其余子节点加载为其前一个子节点的兄弟节点,并将shell二叉树中加载的上述节点的父节点指针置为空;
B3.将所述shell定义文件中非配置模块节点的第一个子节点,加载为shell二叉树中所述节点的左子节点,将shell定义文件中所述非配置模块节点的其余子节点加载为其前一个子节点在所述shell二叉树中对应节点的兄弟节点,并将shell二叉树中加载的上述节点的父节点指针置为其在所述shell定义文件中的父节点在所述shell二叉树中相对应的节点。
6.根据权利要求2所述的方法,其特征在于,所述步骤B中,将所述shell定义文件加载到内存中生成shell二叉树的方法为,将不同的配置模块加载到不同的shell二叉树,具体包括:
B1.将所述shell二叉树的名字命名为所述shell定义文件中配置模块节点的name属性值;
B2.将所述shell定义文件中的配置模块节点加载为所述shell二叉树的根节点;
B3.将所述shell定义文件中配置模块节点的第一个子节点,加载为所述shell二叉树中根节点的左子节点,将所述shell定义文件中所述配置模块节点的其余子节点,加载为其前一个子节点在所述shell二叉树中对应节点的兄弟节点,并将shell二叉树中加载的上述节点的父节点指针置为空;
B4.将所述shell定义文件中非配置模块节点的第一个子节点,加载为所述shell二叉树中所述非配置模块节点的左子节点,将所述shell定义文件中所述非配置模块节点的其余子节点,加载为其前一个子节点在所述shell二叉树中对应节点的兄弟节点,并将shell二叉树中加载的上述节点的父节点指针置为其在所述shell定义文件中的父节点在所述shell二叉树中相对应的节点。
7.根据权利要求5或6所述的方法,其特征在于,所述步骤C中,根据内存中shell二叉树中的信息,将收到的来自NETCONF服务器的与用户获取配置信息命令相对应的响应报文,转换为shell命令行的方法,包括:
C1.解析响应报文,去掉XML报文头部得到数据部分;
C2.根据顶级节点所表示的配置模块名字,找到所述配置模块对应的shell二叉树;
C3.中序遍历所述shell二叉树,遍历到叶子节点时,从该叶子节点开始,依次查找其父节点,以及父节点的父节点,直到查找到祖先节点为空,得到一个节点序列,将所述节点序列倒序排列,如果节点序列中存在命令参数节点,则用所述响应报文中该命令参数节点的值来替换,从而得到一条shell命令行;
C4.从C3中的叶子节点开始,继续按C3的步骤中序遍历所述shell二叉树,直到遍历完所述shell二叉树;
C5.如果还存在步骤C2中所述顶级节点的兄弟节点,则取下一个兄弟节点,继续循环执行步骤C2-C4,否则本流程结束。
8.将网络配置协议响应报文转换为命令行的装置,其特征在于,所述装置用于执行权利要求1-7任一项所述的方法,所述装置包括:
shell定义文件生成模块,用于预先根据建模文件,将网络设备的shell命令行转换为XML格式的shell定义文件:用于将网络设备的shell命令行按功能划分为配置模块;将属于同一个配置模块的所有shell命令行定义在同一个shell定义文件中或不同shell定义文件中;在所述shell定义文件中,当shell命令行的组成节点在Schema文件中有定义时,将该节点定义为shell定义文件的命令参数节点,否则定义为shell定义文件的命令关键字节点;所述命令参数节点和命令关键字节点在shell定义文件的层级关系,由其在shell命令行中的顺序关系确定;指定所述shell定义文件中各个节点的name属性和help属性;
shell定义文件加载模块,用于在所述装置启动时,将所述shell定义文件加载到内存中生成shell二叉树;
shell命令行转换模块,用于在接收到来自NETCONF服务器的与用户获取配置信息命令相对应的响应报文后,根据内存中所述shell二叉树将响应报文中的数据转换为shell命令行。
9.根据权利要求8所述的装置,其特征在于,所述shell定义文件加载模块,用于在shell定义文件发生变化后,重新对shell定义文件进行加载。
CN201210001172.1A 2012-01-04 2012-01-04 将网络配置协议响应报文转换为命令行的方法及装置 Active CN102447585B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210001172.1A CN102447585B (zh) 2012-01-04 2012-01-04 将网络配置协议响应报文转换为命令行的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210001172.1A CN102447585B (zh) 2012-01-04 2012-01-04 将网络配置协议响应报文转换为命令行的方法及装置

Publications (2)

Publication Number Publication Date
CN102447585A CN102447585A (zh) 2012-05-09
CN102447585B true CN102447585B (zh) 2014-04-16

Family

ID=46009692

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210001172.1A Active CN102447585B (zh) 2012-01-04 2012-01-04 将网络配置协议响应报文转换为命令行的方法及装置

Country Status (1)

Country Link
CN (1) CN102447585B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102833100B (zh) * 2012-08-21 2015-03-25 大唐移动通信设备有限公司 网管与网元的信息交互方法及装置
WO2015058331A1 (en) * 2013-10-21 2015-04-30 Hewlett-Packard Development Company, L.P. Extract data from xml stream
CN105099746A (zh) * 2014-05-21 2015-11-25 中兴通讯股份有限公司 Shell执行方法及装置
CN107241221B (zh) * 2017-05-27 2019-07-16 烽火通信科技股份有限公司 支持不同网管协议的网管协议数据统一处理系统及方法
US10462010B2 (en) * 2017-06-13 2019-10-29 Cisco Technology, Inc. Detecting and managing recurring patterns in device and service configuration data
CN110971438A (zh) * 2018-09-30 2020-04-07 华为技术有限公司 配置数据的方法及装置
CN110007923B (zh) * 2019-03-28 2022-12-06 深圳市创联时代科技有限公司 一种shell的实现方法
CN110311826B (zh) * 2019-08-08 2022-05-17 迈普通信技术股份有限公司 网络设备配置方法及装置
CN111030860B (zh) * 2019-12-10 2022-08-30 上海宽带技术及应用工程研究中心 基于OpenDayLight的网络管理装置、方法、终端以及介质
CN113114479A (zh) * 2020-01-10 2021-07-13 华为技术有限公司 一种数据获取方法及装置
CN113784237B (zh) * 2020-06-09 2022-08-02 中国电信股份有限公司 用于上报采集数据的方法、装置、网络设备和计算机介质
CN112615727B (zh) * 2020-11-16 2022-10-21 新华三技术有限公司 获取设备缺省配置的方法及装置
CN112910697B (zh) * 2021-01-22 2022-05-27 新华三大数据技术有限公司 一种故障处理方法及装置
CN113708955B (zh) * 2021-07-29 2023-12-05 杭州迪普科技股份有限公司 设备配置方法、装置及系统
CN115392160B (zh) * 2022-06-10 2024-04-09 无锡芯光互连技术研究院有限公司 一种电路图描述文件的格式转换方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101079737A (zh) * 2007-06-08 2007-11-28 中兴通讯股份有限公司 一种命令行接口命令的自动构造与解析方法及其系统
CN101924656A (zh) * 2010-08-26 2010-12-22 北京天融信科技有限公司 一种基于动态配置的网络设备cli实现方法和装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100453824B1 (ko) * 2002-12-11 2004-10-20 한국전자통신연구원 이기종 네트워크 장비의 구성 관리를 위한 엑스엠엘 기반망 관리 시스템 및 방법
US7721304B2 (en) * 2004-06-08 2010-05-18 Cisco Technology, Inc. Method and apparatus providing programmable network intelligence

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101079737A (zh) * 2007-06-08 2007-11-28 中兴通讯股份有限公司 一种命令行接口命令的自动构造与解析方法及其系统
CN101924656A (zh) * 2010-08-26 2010-12-22 北京天融信科技有限公司 一种基于动态配置的网络设备cli实现方法和装置

Also Published As

Publication number Publication date
CN102447585A (zh) 2012-05-09

Similar Documents

Publication Publication Date Title
CN102447585B (zh) 将网络配置协议响应报文转换为命令行的方法及装置
KR101647980B1 (ko) 연장 권한 설정 프로토콜을 통한 요청의 지능적 라우팅을 위한 방법 및 시스템
CN111552838B (zh) 数据处理方法及装置、计算机设备、存储介质
CN101098248B (zh) 一种基于配置描述文件实现通用网络管理的方法及系统
US20030220986A1 (en) System and method for transforming configuration commands
EP2302864B1 (en) Method for processing tlv format of communication data
CN105051687B (zh) 应用部署方法和设备
CN103220167B (zh) 一种分布式监控系统及其数据存储方法
JP4509916B2 (ja) Snmp基盤のネットワーク管理装置および方法
KR100845234B1 (ko) 통신 소프트웨어 구조에서의 도메인 프로파일 파싱 장치 및그 방법
CN101609415A (zh) 基于中间件的通用服务调用系统及方法
CN115623000B (zh) 一种数联网上数据高效分发方法与装置
CN107025115B (zh) 一种适配多种接口采集的方法
US8244844B2 (en) Tool for data generation for simple network management protocol (SNMP)
CN113381870A (zh) 报文处理方法和设备
US9736044B2 (en) Adaptive centralized collection of performance management data using a metamodel
CN101848110B (zh) 一种tr069网络管理方法和设备
CN104205730B (zh) 网元数据访问方法、虚拟网元、网络管理服务器及网络管理系统
CN101572624B (zh) 一种跨平台跨方法的snmp扩展mib实现方法
CN100369443C (zh) 遵循snmp/cim协议中间件映射的方法
US20110282889A1 (en) Method and Device for Distributed Configuration of Telematics Services in Motor Vehicle Systems
US8027362B2 (en) Methods and systems for pushing and pulling network data in user interface design
CN103139806A (zh) 网管与基站配置数据解耦的方法及基站
CN118449850A (zh) 支持客户端数据模型的服务器
KR101482668B1 (ko) 변전소 구성 언어 기반의 데이터베이스 생성 방법 및 시스템

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP02 Change in the address of a patent holder

Address after: No. 1, No. 288 building, 610041 floor, Maipu Sichuan province Chengdu Tianfu Avenue, 17 floor

Patentee after: MAIPU COMMUNICATION TECHNOLOGY Co.,Ltd.

Address before: 610041 Sichuan city of Chengdu province high tech Zone nine Hing Road No. 16 building, Maipu

Patentee before: MAIPU COMMUNICATION TECHNOLOGY Co.,Ltd.

CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: 610041 nine Xing Xing Road 16, hi tech Zone, Sichuan, Chengdu

Patentee after: MAIPU COMMUNICATION TECHNOLOGY Co.,Ltd.

Address before: 610041, 17 floor, maple building, 1 building, 288 Tianfu street, Chengdu, Sichuan.

Patentee before: MAIPU COMMUNICATION TECHNOLOGY Co.,Ltd.

CP02 Change in the address of a patent holder