一种SDN架构的信息转换方法和系统与流程

文档序号:19182795发布日期:2019-11-20 01:11阅读:179来源:国知局
本发明涉及通信
技术领域
:,具体涉及一种sdn架构的信息转换方法和系统。
背景技术
::命令行界面(cli,commandlineinterface)是通信设备使用最广泛的网络管理协议,通过视图实现将相关的功能配置组合成配置场景,用配置场景来对设备进行配置管理。简单网络管理协议(snmp),该协议是互联网工程工作小组(ietf,internetengineeringtaskforce)定义的internet协议簇的一部分。几乎所有的网络设备生产厂家都实现了对snmp的支持。snmp使用信息管理库(mib,moduleinformationbase)作为其管理对象。网络配置协议(netconf,networkconfigurationprotocol)发布于2006年,是ietf发布的标准协议。netconf是一种基于xml之上的,所有的配置数据和协议消息都用xml表示,xml可以表达复杂的、具有内在逻辑关系的、模型化的管理对象。现在netconf广泛的使用yang模型(yangmodel)作为管理对象。openflow协议用来描述控制器和交换机之间交互所用信息的标准,以及控制器和交换机的接口标准。协议的核心部分是用于openflow协议信息结构的集合。openflow处理的管理对象是流表(flowtable)。未来通信设备对sdn架构的支持,需要灵活支持多种网络配置管理协议,例如netconf和openflow等协议,就引入了多种数据模型。例如yang模型、流表等。现有的设备只支持cli或snmp,不支持netconf,openflow等。不同的协议中的数据模型都不相同,因此无法快速对传统的设备实现sdn架构的自动化配置和管理等问题。技术实现要素:针对现有技术中存在的缺陷,本发明的目的在于提供一种sdn架构的信息转换方法和系统,在sdn架构下实现传统设备兼容配置下发管理。为达到以上目的,本发明采取的技术方案是:一种sdn架构的信息转换方法,包括以下步骤:按照业务的组合方式定义不同的命令行场景管理对象;加载网络配置管理协议的数据模型的扩展信息,加载所述数据模型与命令行场景管理对象的映射文件,建立数据模型与命令行场景管理对象的映射关系;接收到网络配置管理协议客户端发送的请求信息时,提取出请求信息中的数据模型信息;根据扩展信息和映射文件,将提取出的数据模型信息转换成对应的命令行场景管理对象,并发送至cli代理系统处理。在上述方案的基础上,所述映射文件中包括数据模型的节点名称、数据类型、路径以及对应的命令行场景管理对象信息,命令行场景管理对象信息包括命令行场景管理对象类名称、cli名称和cli的元素名称。在上述方案的基础上,所述命令行场景管理对象信息还包括cli的视图模式、子视图、是否为key值中的一种或多种。在上述方案的基础上,所述加载数据模型的扩展信息,加载数据模型与命令行场景管理对象的映射文件,建立数据模型与命令行场景管理对象的映射关系,具体包括以下步骤:加载数据模型的扩展信息,加载数据模型与命令行场景管理对象的映射文件;遍历数据模型的每个节点的扩展信息,根据数据模型与命令行场景管理对象的映射文件,建立数据模型与命令行场景管理对象的扩展属性的映射关系。在上述方案的基础上,所述根据扩展信息和映射文件,将提取出的数据模型信息转换成对应的命令行场景管理对象,并发送至cli代理系统处理,具体包括以下步骤:遍历提取出的数据模型信息中的每个节点,在内存中生成对应的数据模型数据树;根据扩展信息和映射关系,将数据模型数据树中的每个节点的数据转换成对应的命令行场景管理对象,并发送至cli代理系统处理。本发明还提供一种sdn架构的信息转换系统,包括:管理对象定义模块,其用于:按照业务的组合方式定义不同的命令行场景管理对象;映射关系建立模块,其用于:加载网络配置管理协议的数据模型的扩展信息,加载所述数据模型与命令行场景管理对象的映射文件,建立数据模型与命令行场景管理对象的映射关系;数据模型转换模块,其用于:接收到网络配置管理协议客户端发送的请求信息时,提取出请求信息中的数据模型信息;根据扩展信息和映射文件,将提取出的数据模型信息转换成对应的命令行场景管理对象,并发送至cli代理系统处理。在上述方案的基础上,所述映射文件中包括数据模型的节点名称、数据类型、路径以及对应的命令行场景管理对象信息,命令行场景管理对象信息包括命令行场景管理对象类名称、cli名称和cli的元素名称。在上述方案的基础上,所述命令行场景管理对象信息还包括cli的视图模式、子视图、是否为key值、附加信息中的一种或多种。在上述方案的基础上,所述映射关系建立模块加载数据模型的扩展信息,加载数据模型与命令行场景管理对象的映射文件,建立数据模型与命令行场景管理对象的映射关系,具体包括以下步骤:加载数据模型的扩展信息,加载数据模型与命令行场景管理对象的映射文件;遍历数据模型的每个节点的扩展信息,根据数据模型与命令行场景管理对象的映射文件,建立数据模型与命令行场景管理对象的扩展属性的映射关系。在上述方案的基础上,所述数据模型转换模块根据扩展信息和映射文件,将提取出的数据模型信息转换成对应的命令行场景管理对象,并发送至cli代理系统处理,具体包括以下步骤:遍历提取出的数据模型信息中的每个节点,在内存中生成对应的数据模型数据树;根据扩展信息和映射关系,将数据模型数据树中的每个节点的数据转换成对应的命令行场景管理对象,并发送至cli代理系统处理。与现有技术相比,本发明的优点在于:本申请将多种数据模型如yang模型、流表模型通过映射文件加载,转换成对应的命令行场景管理对象,可无缝实现sdn架构下使用netconf协议或者openflow协议进行配置下发管理。本申请采用命令行场景管理对象作为传统设备与数据模型的转换,命令行场景管理对象的灵活集合多样化,可以支持多种数据模型与不同命令行场景管理对象的映射,不需要针对单个命令行cli的特殊定制,更有利于对传统设备同时兼容支持多种数据模型。本申请实现多种数据模型到命令行场景管理对象的自动映射,无需手工多次编码,节约了大量开发和维护成本。附图说明图1是本发明实施例的sdn架构的信息转换方法的流程示意图;图2是本发明实施例的sdn架构的信息转换方法的数据模型加载与命令行场景管理对象自动映射的流程示意图;图3是本发明实施例中数据模型与命令行场景管理对象的映射关系的示意图;图4是本发明实施例的sdn架构的信息转换系统的应用场景示意图。具体实施方式元素(element):包含数据的节点。对应cli命令行中的参数,mib中的节点,yang中的叶子;关键字(key):唯一标识实例的一个或多个元素。对应cli命令行中的索引,mib中的索引,yang中的关键字;管理对象(managementobject,mo):表示的是命令行场景,一个或者一组命令行的集合。数据模型(datamodel,dm):表示的是基于不同网络配置管理协议的数据模型,例如netconf协议使用的yangmodel,snmp协议使用的smi等。以下结合附图对本发明的实施例作进一步详细说明。本发明实施例提供一种sdn架构的信息转换方法,包括以下步骤:按照业务的组合方式定义不同的命令行场景管理对象;加载网络配置管理协议的数据模型的扩展信息,加载数据模型与命令行场景管理对象的映射文件,建立数据模型与命令行场景管理对象的映射关系;接收到网络配置管理协议客户端发送的请求信息时,提取出请求信息中的数据模型信息;根据扩展信息和映射文件,将提取出的数据模型信息转换成对应的命令行场景管理对象,并发送至cli代理系统处理。本发明实施例的网络配置管理协议包括但不限于netconf协议、openflow协议。优选的,按照业务的组合方式定义不同的命令行场景管理对象,具体包括以下步骤:确认需要配置的命令行场景,以下举例端口激光器开关和输出光功率的命令行场景,如下示例,四个命令行组成一个配置命令行场景管理对象。interfaceoptics1/1/1physicalchannel1laserontargetoutputpower20优选的,所述映射文件中包括数据模型的节点名称、数据类型、路径以及对应的命令行场景管理对象信息,命令行场景管理对象信息包括命令行场景管理对象类名称、cli名称和cli的元素名称。优选的,所述命令行场景管理对象信息还包括cli的视图模式、子视图、是否为key值、附加信息中的一种或多种。优选的,所述加载数据模型的扩展信息,加载数据模型与命令行场景管理对象的映射文件,建立数据模型与命令行场景管理对象的映射关系,具体包括以下步骤:加载数据模型的扩展信息,加载数据模型与命令行场景管理对象的映射文件;遍历数据模型的每个节点的扩展信息,根据数据模型与命令行场景管理对象的映射文件,建立数据模型与命令行场景管理对象的扩展属性的映射关系。优选的,所述根据扩展信息和映射文件,将提取出的数据模型信息转换成对应的命令行场景管理对象,并发送至cli代理系统处理,具体包括以下步骤:遍历提取出的数据模型信息中的每个节点,在内存中生成对应的数据模型数据树;根据扩展信息和映射关系,将数据模型数据树中的每个节点的数据转换成对应的命令行场景管理对象,并发送至cli代理系统处理。本发明实施例的方法可以用于且不限于netconf和openflow协议中。参见图1所示,以netconf为示例,包括如下步骤:步骤201,系统启动时加载对应的数据模型扩展信息和对应的映射文件。步骤202,netconf服务器在接收到网管系统netconf客户端发送的rpc信息后,将对应的数据模型信息发送给信息转换系统;步骤203,信息转换系统将收到的数据模型信息处理为基于数据模型yang模型的相关业务信息和扩展信息,然后转换成对应的命令行场景管理对象。步骤204,信息转换系统将生成的命令行场景管理对象发给cli代理系统处理,执行对应的命令行生成设备相关配置。其中,netconf的rpc信息可以包含配置信息,请求信息和自定义信息等。基于本发明上述实施例提供的信息转换方法,基于数据模型yang模型扩展实现netconf协议与命令行场景管理对象的转换,从而实现netconf客户端与传统基于mib、cli网络设备之间的基于会话的通信以及配置的管理。解决了当前传统设备对sdn架构的网络配置协议和数据模型支持不足的问题,实现了传统设备的sdn架构自动配置管理。参见图2所示,本发明实施例的sdn架构的信息转换方法的数据模型加载与命令行场景管理对象自动映射,具体包括以下步骤:步骤301,在数据模型(例如且不限于yang模型,流表模型)中添加扩展属性,使数据模型支持到命令行场景管理对象的映射能力。步骤302,程序启动时,加载对应的具有扩展信息的数据模型文件和已有的对应命令行定义。步骤303,程序启动时,加载对应的数据模型与命令行场景管理对象的映射文件生成对应的映射关系。在映射文件中,包含了对应的数据模型的节点名称,数据类型,路径以及对应的管理对象中的以下信息:管理对象类名称、cli名称、cli的视图管理对象de、cli的元素名称、是否key值等必需的参数和附加信息等非必需参数。附加信息是用来处理一些特殊场景所需要的。步骤304,请求下发时,信息转换系统中根据数据模型和映射关系,将数据模型的信息转换为对应的命令行场景管理对象,也就是一个或者多个命令行集合,下发给cli代理系统。步骤305,cli代理系统根据收到的命令行场景管理对象集合进行逐条命令行执行配置下发。步骤301之前需要有对应的前提,第一,预先定义好对应的命令行,并完成注册和命令行实现。包括命令行cli的名称,命令行的参数定义。第二,把网络设备的命令行按照对应的业务组合成不同的命令行场景,形成对应的命令行场景管理对象。命令行场景管理对象名称,就是配置块场景名称。步骤301中,以yang模型为示例,在数据模型yang模型中增加对应的扩展信息,内容包括:模块名(映射文件名称),命令行场景管理对象名称(场景名),cli名称,cli视图管理对象de名称(附加信息可选),子视图(附加信息可选),元素名称(cli关键字、参数),是否为key(附加信息可选)。其中,除了附加信息之外的四元组是必需明确的扩展信息内容。具体yang模型代码片段xml样例如下,为了便于理解,去掉了不相关的信息:步骤303中,定义数据模型例如yang模型与管理对象的映射文件xml。加载的时候,遍历数据模型的每个节点的扩展属性,建立数据模型与管理对象中扩展属性的对应关系。其中映射关系的示例如图3所示。步骤304中,设备请求下发的时候,读取数据报文,遍历数据报文中数据模型的每个节点,在内存中生成对应的数据模型数据树,然后根据步骤303中注册的映射关系,把数据模型数据树中的每个节点的数据生成对应的管理对象信息数据发给cli代理系统。本发明实施例还提供一种sdn架构的信息转换系统,包括:管理对象定义模块,其用于:按照业务的组合方式定义不同的命令行场景管理对象;映射关系建立模块,其用于:加载网络配置管理协议的数据模型的扩展信息,加载数据模型与命令行场景管理对象的映射文件,建立数据模型与命令行场景管理对象的映射关系;数据模型转换模块,其用于:接收到网络配置管理协议客户端发送的请求信息时,提取出请求信息中的数据模型信息;根据扩展信息和映射文件,将提取出的数据模型信息转换成对应的命令行场景管理对象,并发送至cli代理系统处理。图4为本发明实施例的sdn架构的信息转换系统应用场景示意图。本系统网络配置管理协议包括但不限于netconf和openflow协议中。netconf、openflow服务器在接收到网管系统netconf客户端或openflow客户端发送的请求信息后,将对应的数据模型信息发送给信息转换系统;信息转换系统将收到的数据模型信息处理为基于数据模型相关业务信息和扩展信息,然后转换成对应的命令行场景管理对象。信息转换系统将生成的命令行场景管理对象发给cli代理系统处理,执行对应的命令行生成设备相关配置。基于本发明上述实施例提供的信息转换系统,基于数据模型模型扩展实现多种网络配置管理协议与命令行场景管理对象的转换,从而实现不同网络配置管理协议客户端与传统基于mib、cli网络设备之间的基于会话的通信以及配置的管理。解决了当前传统设备对sdn架构的网络配置协议和数据模型支持不足的问题,实现了传统设备的sdn架构自动配置管理。优选的,所述映射文件中包括数据模型的节点名称、数据类型、路径以及对应的命令行场景管理对象信息,命令行场景管理对象信息包括命令行场景管理对象类名称、cli名称和cli的元素名称。优选的,所述命令行场景管理对象信息还包括cli的视图模式、子视图、是否为key值、附加信息中的一种或多种。优选的,所述映射关系建立模块加载数据模型的扩展信息,加载数据模型与命令行场景管理对象的映射文件,建立数据模型与命令行场景管理对象的映射关系,具体包括以下步骤:加载数据模型的扩展信息,加载数据模型与命令行场景管理对象的映射文件;遍历数据模型的每个节点的扩展信息,根据数据模型与命令行场景管理对象的映射文件,建立数据模型与命令行场景管理对象的扩展属性的映射关系。优选的,所述数据模型转换模块根据扩展信息和映射文件,将提取出的数据模型信息转换成对应的命令行场景管理对象,并发送至cli代理系统处理,具体包括以下步骤:遍历提取出的数据模型信息中的每个节点,在内存中生成对应的数据模型数据树;根据扩展信息和映射关系,将数据模型数据树中的每个节点的数据转换后形成对应的命令行场景管理对象,并发送至cli代理系统处理。基于同一发明构思,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现sdn架构的信息转换方法的所有方法步骤或部分方法步骤。本发明实现上述sdn架构的信息转换方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。基于同一发明构思,本申请实施例还提供一种电子设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,处理器执行计算机程序时实现sdn架构的信息转换方法中的所有方法步骤或部分方法步骤。所称处理器可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,处理器是计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。存储器可用于存储计算机程序和/或模块,处理器通过运行或执行存储在存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现计算机装置的各种功能。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、视频数据等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、服务器或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。本发明是参照根据本发明实施例的方法、设备(系统)、服务器和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1