本发明专利技术公开了一种基于网管系统命令行数据的交互方法,包括以下步骤:将网管数据模型转化为命令行配置块;命令行数据封装并传输至网络设备;网络设备缓存批量命令行数据并执行;网管错误回滚。本发明专利技术将网管系统数据转换成批量命令行配置块,并支持错误回滚的方式,这样减少了网管与网络设备的交互次数,同时减小网管数据模型自身的下载状态维护难度,支持网管多个条目数据命令行配置块同时下发;网管将命令行增加错误回滚标记,可以保证命令行配置块执行的事务性,一旦出现执行失败,则通过有效的逆向操作,撤销对网络设备的原操作;网管优化了Telnet回显字符,减少冗余数据,精简返给网管的数据。
【技术实现步骤摘要】
本专利技术涉及网管与网络设备的数据交换领域,具体涉及一种基于网管系统命令行数据的交互方法。
技术介绍
随着通信技术的快速发展,传输网络的业务种类和数量急剧增加,最初的网络设备(例如路由器、交换机),是利用命令行(CLI界面)方式进行配置管理。命令行方式基于人机交互机制,操作较为便捷、脚本通俗易懂,目前网络中的大多数网络设备都支持该方式,因此网络设备的命令行管理方式必将长期存在。新出现的网管管理(图形化界面)方式,由于历史原因,也将命令行数据作为网管与网络设备的数据交互方式之一。但命令行数据存在“离散”的特性,即:网管必须下发多条命令,才能达到一次配置目的,该特性可能导致两个结果:1)、网管与网络设备交互次数多,尤其针对大数据量业务会引发效率低的问题。2)、一旦某一条命令出错,若不正确或及时回滚,数据容易残留于网络设备,后续也会引发资源冲突等问题。有鉴于此,在网管系统中,急需提供一种减少网管与网络设备数据的交换次数、增加错误回滚标记的方法,用于保证数据的高效性和高可靠性。
技术实现思路
本专利技术所要解决的技术问题是当网管与网络设备数据交互次数过多时,如何保证数据的高效性和高可靠性。为了解决上述技术问题,本专利技术提供了一种基于网管系统命令行数据的交互方法,包括以下步骤:将网管系统中的对象数据转化成净荷命令行数据,再编写场景控制XML脚本,将离散的净荷命令行数据形成命令行配置块,并标记每条命令行在出错后是否需要回滚;网管将命令行配置块增加特殊标记形成应用层数据,支持一次下发多个令行配置块,将多个命令行配置块合并成一个命令行数据包(packet),以特殊标记封装通信层开销并传输至网络设备;网络设备收到网管下发的命令行数据包,缓存后执行,并将本次命令行数据包执行的结果一次性返回给网管;若执行某一条命令行失败,网管根据网络设备的返错信息,执行需要回滚的命令脚本。在上述方法中,所述将网管系统中的命令行数据转化为命令行配置块具体包括以下步骤:A21、利用命令行解析模块,将所述网管系统中的对象数据转化成净荷命令行数据;A22、编写场景控制XML脚本,标出每条所述净荷命令行的作用,利用所述场景控制XML脚本文件,将所述净荷命令行数据组合成批量命令行集合,形成命令行配置块并标记每条命令行在出错时是否需要回滚。在上述方法中,所述封装命令行数据包并传输至网络设备具体包括以下步骤:A31、将命令行配置块作为应用层数据,增加块流水号,增加块头与块尾标记封装应用层数据;将应用层的命令行块配置数据,增加包头标记、包尾标记封装通信层协议;A32、网管建立与网络设备的TCP连接,并将最终封装后的数据传输至网络设备。在上述方法中,所述网络设备缓存命令行数据包并执行具体包括以下步骤:A41、网络设备CLI Agent模块识别包头特殊标记后,开始缓存所有数据,直至收到所述包尾特殊标记;A42、遍历所述应用层数据,识别块头特殊标记与块流水号之后,开始将净荷命令行数据发送至CLI处理模块,若遇到块尾标记,则遍历下一条所述应用层数据;A43、CLI处理模块收到净荷命令行并开始执行,此过程关闭Telnet回显,CLI处理模块将净荷命令最终的执行结果返回给CLI Agent模块。在上述方法中,所述A43具体步骤如下:A51、所述CLI处理模块接收块头特殊标记(STX)时,缓存后续数据;接收块尾特殊标记(ETX)时,开始执行当前缓存数据;A52、若成功执行,则返回成功信息;若执行某一条命令失败,则终止后面的命令,返回当前执行出错的命令行,以及错误代码和错误信息,并清除当前缓存数据。在上述方法中,根据网络设备的返错信息执行回滚具体包括以下步骤:A61、网管识别所述网络设备回复的所述包头特殊标记后,开始缓存所有数据,直至收到所述包尾特殊标记;A62、根据所述A52返回的错误信息,网管需提示所述错误代码和错误信息给用户;A63、根据所述A52返回的当前出错的命令行,匹配查找所述权利要求1中的控制XML脚本,匹配上所述XML脚本中的命令行关键字以后,执行该命令前的所有需要逆向操作命令;A64、若所述A63步骤出现错误,则将出错信息写入LOG文件,用于排查异常错误回滚的原因。本专利技术通过将网管系统数据转换成批量命令行配置块,并支持错误回
滚的方式,再封装命令行数据数据包并传输至网络设备;通过上述方案,减少了网管与网络设备的交互次数,减小网管数据模型自身的下载状态维护难度;支持网管多个条目数据命令行配置块同时下发;网管将命令行增加错误回滚标记,可以保证命令行配置块执行的事务性,一旦出现执行失败,则可以通过有效的逆向操作,撤销对网络设备的操作;再通过优化网络设备的Telnet回显机制,减少了网络设备回复给网管的数据量,网络设备仅需告知网管执行是否成功,或者有效的错误信息,避免Telnet回显字符带来冗余数据传输。附图说明图1为本专利技术的流程图;图2为本专利技术网管下发数据格式示意图;图3为本专利技术网络设备应答数据格式示意图;图4为本专利技术网络设备接收数据处理示意图;图5为本专利技术网管处理网络设备应答数据示意图。具体实施方式下面结合具体实施方式和说明书附图对本专利技术做出详细的说明。如图1所示,本专利技术提供了一种基于网管系统命令行数据的交互方法,包括以下步骤:S1、将网管系统中的命令行数据转化为命令行配置块。将网管系统中的对象数据转化成净荷命令行数据,再编写场景控制XML脚本,将离散的净荷命令行数据形成命令行配置块,并标记每条命令行在出错后是否需要回滚;步骤S1包括以下步骤:S11、利用命令行解析模块,将网管系统中的对象数据(结构化)转化
成净荷命令行数据(离散脚本);S12、编写场景控制XML脚本,标出每条净荷命令行的作用;利用该场景控制XML脚本文件,将离散脚本组合成批量命令行集合,形成命令行配置块;每条净荷命令行的作用,主要分为三类:类型一:进入/退出某视图;类型二:创建/删除某对象或绑定关系;类型三:修改/恢复某属性默认值;针对类型二的净荷命令行,在场景控制XML脚本文件中增加错误回滚标记,在错误回滚时,该条净荷命令行需要执行回退操作;如表1所示,为控制XML脚本文件内容示例,示例中的命令行配置块,作用分别如下:表一、控制XML脚本文件内容示例图命令行序号伪命令行脚本作用1new object A1 name is a1类型一/类型二2property1 is x类型三3binding with object B1 name is b1类型二4property2 is y类型三5binding with object C1 name is c1类型二6exit类型一命令1(new object A1 name is a1)用于创建对象A1并进入视图;命令2(property1 is x)和命令4(property2 is y)用于修改默认值;命令3(binding with object B1 name is b1)和命令5(binding with object C1name is c1)用于创建对象A1与对象B1、对象C1的绑定关系;命令6(exit)
用于退出视图;所以,命令1、命令3、命令5均属于“类型二”净荷命令行,需要增加错误回滚本文档来自技高网...
【技术保护点】
一种基于网管系统命令行数据的交互方法,其特征在于,包括以下步骤:将网管系统中的对象数据转化成净荷命令行数据,再编写场景控制XML脚本,将离散的净荷命令行数据形成命令行配置块,并标记每条命令行在出错后是否需要回滚;网管将命令行配置块增加特殊标记形成应用层数据,支持一次下发多个令行配置块,将多个命令行配置块合并成一个命令行数据包,以特殊标记封装通信层开销并传输至网络设备;网络设备收到网管下发的命令行数据包,缓存后执行,并将本次命令行数据包执行的结果一次性返回给网管;若执行某一条命令行失败,网管根据网络设备的返错信息,执行需要回滚的命令脚本。
【技术特征摘要】
1.一种基于网管系统命令行数据的交互方法,其特征在于,包括以下步骤:将网管系统中的对象数据转化成净荷命令行数据,再编写场景控制XML脚本,将离散的净荷命令行数据形成命令行配置块,并标记每条命令行在出错后是否需要回滚;网管将命令行配置块增加特殊标记形成应用层数据,支持一次下发多个令行配置块,将多个命令行配置块合并成一个命令行数据包,以特殊标记封装通信层开销并传输至网络设备;网络设备收到网管下发的命令行数据包,缓存后执行,并将本次命令行数据包执行的结果一次性返回给网管;若执行某一条命令行失败,网管根据网络设备的返错信息,执行需要回滚的命令脚本。2.如权利要求1所述的方法,其特征在于,所述将网管系统中的命令行数据转化为命令行配置块具体包括以下步骤:A21、利用命令行解析模块,将所述网管系统中的对象数据转化成净荷命令行数据;A22、编写场景控制XML脚本,标出每条所述净荷命令行的作用,利用所述场景控制XML脚本文件,将所述净荷命令行数据组合成批量命令行集合,形成命令行配置块并标记每条命令行在出错时是否需要回滚。3.如权利要求1所述的方法,其特征在于,所述封装命令行数据包并传输至网络设备具体包括以下步骤:A31、将命令行配置块作为应用层数据,增加块流水号,增加块头与块尾标记封装应用层数据;将应用层的命令行块配置数据,增加包头标记、包尾标记封装通信层协议;A32、网管建立与网络设备的TCP连接,并将最终封装后的数据传输至
\t网络设备。4.如权利要求1所述的方法,其特征在于,所述...
【专利技术属性】
技术研发人员:刘鑫,
申请(专利权)人:烽火通信科技股份有限公司,
类型:发明
国别省市:湖北;42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。