发明内容
本发明提供一种网络设备配置自动发放方法、装置、设备及存储介质,其主要目的是实现网络设备配置的自动发放。
为实现上述目的,本发明提供了一种网络设备配置自动发放方法,包括:
利用预设接口获取待配置网络设备的设备状态信息,接收用户输入的配置信息;
基于预设的网管协议将所述配置信息及所述设备状态信息进行建模操作,得到标准配置信息;
校验所述标准配置信息的数据完整性,在所述数据完整性校验通过时,确定所述标准配置信息为待发放配置信息;
接收所述待配置网络设备发出的配置请求,根据所述配置请求将所述待发放配置信息发放至所述待配置网络设备中。
可选地,所述基于预设的网管协议将所述配置信息及所述设备状态信息进行建模操作,得到标准配置信息,包括:
基于所述网管协议将所述配置信息及所述设备状态信息转化为可编程数据集;
获取所述可编程数据集的数据逻辑,根据所述底层数据逻辑利用预设的建模语言将所述可编程数据集进行结构化操作,得到配置模型;
将配置模型中的结构化数据进行标准化操作,得到标准配置信息。
可选地,所述检验所述标准配置信息的数据完整性,包括:
获取所述标准配置信息的基线配置项;
判断所述标准配置信息中的标准配置项与所述基线配置项是否匹配;
当所述标准配置项与所述基线配置项匹配时,确定所述标准配置信息的数据完整;
当所述标准配置项与所述基线配置项不匹配时,确定所述标准配置信息的数据不完整。
可选地,所述根据所述配置请求将所述待发放配置信息发放至所述待配置网络设备中,包括:
根据所述配置请求将所述待发放配置信息进行试运行,得到试运行结果;
在所述试运行通过时,获取待配置网络设备的设备接口地址,根据所述设备接口地址将所述配置信息发放至所述待配置网络设备中。
可选地,所述根据所述配置请求将所述待发放配置信息进行试运行,得到运行结果,包括:
根据所述配置请求将所述标准配置信息进行编译,得到可执行配置程序;
判断在预设的环境变量中所述可执行配置程序是否运行成功;
当所述可执行配置程序运行成功时,得到运行成功结果;
当所述可执行配置程序运行未成功时,得到运行失败结果。
可选地,所述接收用户输入的配置信息,包括:
在预设的UI界面中接收用户输入的配置指令,根据该配置指令在UI界面中定义所述待配置网络设备的配置信息。
可选地,所述利用预设接口获取待配置网络设备的设备状态信息,包括:
利用所述接口连接所述待配置网络设备,并通过所述接口抓取所述待配置网络设备的报文,从所述报文中获取所述待配置网络设备的设备状态信息。
为了解决上述问题,本发明还提供一种网络设备配置自动发放装置,所述装置包括:
配置信息定义模块,用于利用预设接口获取待配置网络设备的设备状态信息,接收用户输入的配置信息;
配置信息建模模块,用于基于预设的网管协议将所述配置信息及所述设备状态信息进行建模操作,得到标准配置信息;
配置信息校验模块,用于校验所述标准配置信息的数据完整性,在所述数据完整性校验通过时,确定所述标准配置信息为待发放配置信息;
配置信息自动发放模块,用于接收所述待配置网络设备发出的配置请求,根据所述配置请求将所述待发放配置信息发放至所述待配置网络设备中。
为了解决上述问题,本发明还提供一种电子设备,所述电子设备包括:
存储器,存储至少一个计算机程序;及
处理器,执行所述存储器中存储的计算机程序以实现上述所述的网络设备配置自动发放方法。
为了解决上述问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个计算机程序,所述至少一个计算机程序被电子设备中的处理器执行以实现上述所述的网络设备配置自动发放方法。
本发明实施例中,首先通过接收用户输入的配置信息,可以解决由于不同的网络设备对功能模块的定义不同,使得CLI脚本在网络设备配置的过程中需要针对不同的网络设备开发不同的适配脚本的问题;其次,通过基于预设的网管协议将所述配置信息及所述设备状态信息进行建模操作,得到标准配置信息,可以统一配置信息及设备状态信息的数据格式,满足不同网络设备之间的相互操作性,解决SNMP协议不持支多个网络设备协同的问题,以提高网络设备配置发放的效率;最后,通过校验所述标准配置信息的数据完整性,在所述数据完整性校验通过时,可以保证待发放配置信息能够直接被待配置网络设备调用,根据所述配置请求将所述待发放配置信息发放至所述待配置网络设备中,可以解决开发脚本输出的内容是非结构化的,使得配置的网络设备内容难以解析的问题,以实现网络设备配置的自动发放。因此本发明实施例提出的网络设备配置自动发放方法、装置、设备及存储介质可以实现网络设备配置的自动发放。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例提供一种网络设备配置自动发放方法。所述网络设备配置自动发放方法的执行主体包括但不限于服务端、终端等能够被配置为执行本申请实施例提供的该方法的电子设备中的至少一种。换言之,所述网络设备配置自动发放方法可以由安装在终端设备或服务端设备的软件或硬件来执行,所述软件可以是区块链平台。所述服务端包括但不限于:单台服务器、服务器集群、云端服务器或云端服务器集群等。
参照图1所示的本发明一实施例提供的网络设备配置自动发放方法的流程示意图,在本发明实施例中,所述网络设备配置自动发放方法包括以下步骤S1-S4:
S1、利用预设接口获取待配置网络设备的设备状态信息,接收用户输入的配置信息。
本发明实施例中,所述预设接口是指连接网络设备的API接口;所述待配置网络设备是指实际业务场景中需要配置的网络设备;所述待配置网络设备的获取是基于业务需求,通过开放的API接口从多个网络设备中选取一台需要进行配置的网络设备进行对接,并将对接的网络设备作为待配置网络设备;所述设备状态信息是指待配置网络设备的基础信息,比如,设备厂商型号及设备运行状态等。
本发明实施例中,所述配置信息是指使待配置网络设备从初始默认状态进入期望的操作状态所需的完整配置数据。
本发明实施例通过接收用户输入的配置信息,可以解决由于不同的网络设备对功能模块的定义不同,使得CLI脚本在网络设备配置的过程中需要针对不同的网络设备开发不同的适配脚本的问题。
详细地,所述利用预设接口获取待配置网络设备的设备状态信息,包括:利用所述接口连接所述待配置网络设备,并通过所述接口抓取所述待配置网络设备的报文,从所述报文中获取所述待配置网络设备的设备状态信息。
进一步地,所述接收用户输入的配置信息,包括:在预设的UI界面中接收用户输入的配置指令,根据该配置指令在UI界面中定义所述待配置网络设备的配置信息。
其中,所述配置指令是基于待配置网络设备需要实现的操作功能发出的,并针对该操作功能,自定义待配置网络设备的配置信息,可以无需针对不同厂商的网络设备分别开发适配脚本。
S2、基于预设的网管协议将所述配置信息及所述设备状态信息进行建模操作,得到标准配置信息。
本发明实施例中,所述预设的网管协议是指为网管和网络设备之间的通信提供的一套协议;主要作用是解决SNMP协议只能针对一个网络设备对象进行单独配置及下发,不持支多个网络设备协同的问题,较佳地,所述网管协议可以为NETCONF(NetworkConfiguration Protocol,网络配置协议),基于该网管协议,不同网络设备的配置可以跨厂商型号进行配置,实现不同厂商的网络设备的互通性。
本发明实施例中,所述建模操作是指将配置信息与设备状态信息转化为统一的XML格式,由于XML格式为纯文本的格式,可以实现对配置信息及设备状态信息进行编程,便于在不同程序之间传递数据,以满足不同厂商的网络设备之间的相互操作性;所述标准配置信息是指配置信息与设备状态信息都转化为XML格式的数据。
本发明实施例通过基于预设的网管协议将所述配置信息及所述设备状态信息进行建模操作,得到标准配置信息,可以统一配置信息及设备状态信息的数据格式,满足不同网络设备之间的相互操作性,解决SNMP协议不持支多个网络设备协同的问题。
作为本发明的一个实施例,参考图2所示,所述基于预设的网管协议将所述配置信息及所述设备状态信息进行建模操作,得到标准配置信息,包括以下步骤S21-S23:
S21、基于所述网管协议将所述配置信息及所述设备状态信息转化为可编程数据集;
S22、获取所述可编程数据集的数据逻辑,根据所述底层数据逻辑利用预设的建模语言将所述可编程数据集进行结构化操作,得到配置模型;
S23、将配置模型中的结构化数据进行标准化操作,得到标准配置信息。
其中,所述可编程数据集是指配置信息及设备状态信息可以根据用户需求进行相应的编程处理,网管协议通过定义配置信息及设备状态信息,可以将配置信息及设备状态信息转化为可编程数据集。
本发明一实施例中,所述底层数据逻辑是指可编程数据集的底层代码逻辑;所述建模语言可以为YANG建模语言;所述配置模型可以为YANG模型,也可以称为YANG文件,主要作用是描述配置信息及设备状态信息的层次化结构数据;利用YANG建模语言可以基于数据逻辑将可编程数据集进行编排,即将可编程数据集中的属性类别作为节点,并将该节点进行连接,实现结构化,以得到结构化数据。
进一步地,将配置模型中的结构化数据进行标准化操作是通过预设的PYANG工具将结构化数据转化为统一的XML格式的标准配置信息,该标准配置信息可以在不同的网络设备型号中流通,以实现多个网络设备的协同。
S3、校验所述标准配置信息的数据完整性,在所述数据完整性校验通过时,确定所述标准配置信息为待发放配置信息。
本发明实施例中,所述数据完整性是指配置文件中的配置数据在发送过程中的完整性;所述待发放配置信息是指将待发放至待配置网络设备的配置信息;由于待发放配置信息在发放过程中,可能会出现数据丢失的情况,使得待配置信息发放至待配置网络设备时无法识别,所以需要验证标准配置信息的数据完整性,以确保待配置信息发送至待配置网络设备中可以正常使用。
作为本发明的一个实施例,参考图3所示,所述检验所述标准配置信息的数据完整性,包括以下步骤S31-S34:
S31、获取所述标准配置信息的基线配置项;
S32、判断所述标准配置信息中的标准配置项与所述基线配置项是否匹配;
S33、当所述标准配置项与所述基线配置项匹配时,确定所述标准配置信息的数据完整;
S34、当所述标准配置项与所述基线配置项不匹配时,确定所述标准配置信息的数据不完整。
其中,所述基线配置项是指标准配置信息所属基线中的配置项,比如,设网络设备需求分析说明书、网络设备测试大纲及网络设备测试用例等。通过基线配置,可以使进行基线配置的标准配置项形成相对稳定的逻辑实体,且基线配置项是固定配置,不会轻易被其他用户随意篡改,所以通过判断所述标准配置信息中的标准配置项与所述基线配置项是否匹配,可以保证标准配置信息的数据完整性。
本发明一实施例中,可以通过获取标准配置项的标准配置标识及基线配置项的基线标识,通过判断标准配置标识与基线标识是否一致可以判断所述标准配置信息中的标准配置项与所述基线配置项是否匹配,其中,标准配置标识可以作为标准配置项的唯一标识,且基线标识也为基线配置项的唯一标识,比如,有一个标准配置标识为PJXX_RS_01_1.0,对应的标准配置项名称_配置内容_序号_版本号。
本发明一可选实施例中,由于标准配置信息在发放过程中会经过客户端及服务端,所以所述检验所述标准配置信息的数据完整性还可以通过建立客户端与服务端之间的会话连接(如SSH连接),接收所述客户端发出的调用请求,根据所述调用请求及所述会话查询标准配置信息中的所有标准配置项的数据是否完整,也可以实现标准配置信息从客户端传输至服务端的过程中的数据完整性校验;其中,客户端可以根据用户实际需求修改配置信息,以使得服务端的状态转化为用户期望的状态,进一步保证待配置信息的功能可以正常实现。
S4、接收所述待配置网络设备发出的配置请求,根据所述配置请求将所述待发放配置信息发放至所述待配置网络设备中。
本发明实施例中,所述配置请求可以为RPC(远程调用)请求,且所述配置请求通常包括请求参数及请求地址。
本发明实施例通过接收所述待配置网络设备发出的配置请求,根据所述配置请求将所述待发放配置信息发放至所述待配置网络设备中,可以解决开发脚本输出的内容是非结构化的,使得配置的网络设备内容难以解析的问题,以实现网络设备配置的自动发放。
作为本发明的一个实施例,所述根据所述配置请求将所述待发放配置信息发放至所述待配置网络设备中,包括:
根据所述配置请求将所述待发放配置信息进行试运行,得到试运行结果;
在所述试运行通过时,获取待配置网络设备的设备接口地址,根据所述设备接口地址将所述配置信息发放至所述待配置网络设备中。
其中,所述试运行的主要作用是测试待发放配置信息中的配置功能是否可以实现,在配置功能可以正常实现时将待发放配置信息发放至待配置网络设备中。
进一步地,所述根据所述配置请求将所述待发放配置信息进行试运行,得到运行结果,包括:
根据所述配置请求将所述标准配置信息进行编译,得到可执行配置程序;
判断在预设的环境变量中所述可执行配置程序是否运行成功;
当所述可执行配置程序运行成功时,得到运行成功结果;
当所述可执行配置程序运行未成功时,得到运行失败结果。
其中,可以通过预设的编译器(如GCC编译器)将标准配置信息进行编译,将标准配置信息转化为可以直接运行的脚本程序;所述预设的环境变量是指提供程序运行的环境参数。
本发明一实施例中,在试运行成功时,说明该标准配置信息发放至待配置网络设备时,该配置的对应功能可以正常实现;在试运行失败时,说明该标准配置信息发放至待配置网络设备时,该配置的对应功能无法实现,返回试运行失败指令,进一步地,可以将所述待发放配置信息拆分为运行配置信息、候选配置信息及待运行配置信息存储于配置数据库中,便于后续标准配置信息的调用及发放,其中,该配置数据库可以包括运行数据库(存储正在运行的运行配置信息)、备选数据库(存储没有生效的候选配置信息)、待运行数据库(存储下次启动时生效的待运行信息),用户可以根据失败指令重新调整待发放配置信息,并将备选配置信息发放至待配置网络设备中,以保证待配置网络设备的正常运行。
本发明实施例中,首先通过接收用户输入的配置信息,可以解决由于不同的网络设备对功能模块的定义不同,使得CLI脚本在网络设备配置的过程中需要针对不同的网络设备开发不同的适配脚本的问题;其次,通过基于预设的网管协议将所述配置信息及所述设备状态信息进行建模操作,得到标准配置信息,可以统一配置信息及设备状态信息的数据格式,满足不同网络设备之间的相互操作性,解决SNMP协议不持支多个网络设备协同的问题,以提高网络设备配置发放的效率;最后,通过校验所述标准配置信息的数据完整性,在所述数据完整性校验通过时,可以保证待发放配置信息能够直接被待配置网络设备调用,根据所述配置请求将所述待发放配置信息发放至所述待配置网络设备中,可以解决开发脚本输出的内容是非结构化的,使得配置的网络设备内容难以解析的问题,以实现网络设备配置的自动发放。因此本发明实施例提出的网络设备配置自动发放方法可以实现网络设备配置的自动发放。
本发明所述网络设备配置自动发放装置100可以安装于电子设备中。根据实现的功能,所述网络设备配置自动发放装置可以包括配置信息定义模块101、配置信息建模模块102、配置信息校验模块103、配置信息自动发放模块104,本发明所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
在本实施例中,关于各模块/单元的功能如下:
所述配置信息定义模块101,用于获取待识别的虹膜图像,将所述虹膜图像进行多种滤波操作,得到去噪虹膜图像。
本发明实施例中,所述预设接口是指连接网络设备的API接口;所述待配置网络设备是指实际业务场景中需要配置的网络设备;所述待配置网络设备的获取是基于业务需求,通过开放的API接口从多个网络设备中选取一台需要进行配置的网络设备进行对接,并将对接的网络设备作为待配置网络设备;所述设备状态信息是指待配置网络设备的基础信息,比如,设备厂商型号及设备运行状态等。
本发明实施例中,所述配置信息是指使待配置网络设备从初始默认状态进入期望的操作状态所需的完整配置数据。
本发明实施例通过接收用户输入的配置信息,可以解决由于不同的网络设备对功能模块的定义不同,使得CLI脚本在网络设备配置的过程中需要针对不同的网络设备开发不同的适配脚本的问题。
详细地,所述配置信息定义模块101通过执行下述操作利用预设接口获取待配置网络设备的设备状态信息,包括:利用所述接口连接所述待配置网络设备,并通过所述接口抓取所述待配置网络设备的报文,从所述报文中获取所述待配置网络设备的设备状态信息。
进一步地,所述接收用户输入的配置信息,包括:在预设的UI界面中接收用户输入的配置指令,根据该配置指令在UI界面中定义所述待配置网络设备的配置信息。
其中,所述配置指令是基于待配置网络设备需要实现的操作功能发出的,并针对该操作功能,自定义待配置网络设备的配置信息,可以无需针对不同厂商的网络设备分别开发适配脚本。
所述配置信息建模模块102,用于基于预设的网管协议将所述配置信息及所述设备状态信息进行建模操作,得到标准配置信息。
本发明实施例中,所述预设的网管协议是指为网管和网络设备之间的通信提供的一套协议;主要作用是解决SNMP协议只能针对一个网络设备对象进行单独配置及下发,不持支多个网络设备协同的问题,较佳地,所述网管协议可以为NETCONF(NetworkConfiguration Protocol,网络配置协议),基于该网管协议,不同网络设备的配置可以跨厂商型号进行配置,实现不同厂商的网络设备的互通性。
本发明实施例中,所述建模操作是指将配置信息与设备状态信息转化为统一的XML格式,由于XML格式为纯文本的格式,可以实现对配置信息及设备状态信息进行编程,便于在不同程序之间传递数据,以满足不同厂商的网络设备之间的相互操作性;所述标准配置信息是指配置信息与设备状态信息都转化为XML格式的数据。
本发明实施例通过基于预设的网管协议将所述配置信息及所述设备状态信息进行建模操作,得到标准配置信息,可以统一配置信息及设备状态信息的数据格式,满足不同网络设备之间的相互操作性,解决SNMP协议不持支多个网络设备协同的问题。
作为本发明的一个实施例,所述配置信息建模模块102通过执行下述操作基于预设的网管协议将所述配置信息及所述设备状态信息进行建模操作,得到标准配置信息,包括:
基于所述网管协议将所述配置信息及所述设备状态信息转化为可编程数据集;
获取所述可编程数据集的数据逻辑,根据所述底层数据逻辑利用预设的建模语言将所述可编程数据集进行结构化操作,得到配置模型;
将配置模型中的结构化数据进行标准化操作,得到标准配置信息。
其中,所述可编程数据集是指配置信息及设备状态信息可以根据用户需求进行相应的编程处理,网管协议通过定义配置信息及设备状态信息,可以将配置信息及设备状态信息转化为可编程数据集。
本发明一实施例中,所述底层数据逻辑是指可编程数据集的底层代码逻辑;所述建模语言可以为YANG建模语言;所述配置模型可以为YANG模型,也可以称为YANG文件,主要作用是描述配置信息及设备状态信息的层次化结构数据;利用YANG建模语言可以基于数据逻辑将可编程数据集进行编排,即将可编程数据集中的属性类别作为节点,并将该节点进行连接,实现结构化,以得到结构化数据。
进一步地,将配置模型中的结构化数据进行标准化操作是通过预设的PYANG工具将结构化数据转化为统一的XML格式的标准配置信息,该标准配置信息可以在不同的网络设备型号中流通,以实现多个网络设备的协同。
所述配置信息校验模块103,用于校验所述标准配置信息的数据完整性,在所述数据完整性校验通过时,确定所述标准配置信息为待发放配置信息。
本发明实施例中,所述数据完整性是指配置文件中的配置数据在发送过程中的完整性;所述待发放配置信息是指将待发放至待配置网络设备的配置信息;由于待发放配置信息在发放过程中,可能会出现数据丢失的情况,使得待配置信息发放至待配置网络设备时无法识别,所以需要验证标准配置信息的数据完整性,以确保待配置信息发送至待配置网络设备中可以正常使用。
作为本发明的一个实施例,所述配置信息校验模块103通过执行下述操作检验所述标准配置信息的数据完整性,包括:
获取所述标准配置信息的基线配置项;
判断所述标准配置信息中的标准配置项与所述基线配置项是否匹配;
当所述标准配置项与所述基线配置项匹配时,确定所述标准配置信息的数据完整;
当所述标准配置项与所述基线配置项不匹配时,确定所述标准配置信息的数据不完整。
其中,所述基线配置项是指标准配置信息所属基线中的配置项,比如,设网络设备需求分析说明书、网络设备测试大纲及网络设备测试用例等。通过基线配置,可以使进行基线配置的标准配置项形成相对稳定的逻辑实体,且基线配置项是固定配置,不会轻易被其他用户随意篡改,所以通过判断所述标准配置信息中的标准配置项与所述基线配置项是否匹配,可以保证标准配置信息的数据完整性。
本发明一实施例中,可以通过获取标准配置项的标准配置标识及基线配置项的基线标识,通过判断标准配置标识与基线标识是否一致可以判断所述标准配置信息中的标准配置项与所述基线配置项是否匹配,其中,标准配置标识可以作为标准配置项的唯一标识,且基线标识也为基线配置项的唯一标识,比如,有一个标准配置标识为PJXX_RS_01_1.0,对应的标准配置项名称_配置内容_序号_版本号。
本发明一可选实施例中,由于标准配置信息在发放过程中会经过客户端及服务端,所以所述检验所述标准配置信息的数据完整性还可以通过建立客户端与服务端之间的会话连接(如SSH连接),接收所述客户端发出的调用请求,根据所述调用请求及所述会话查询标准配置信息中的所有标准配置项的数据是否完整,也可以实现标准配置信息从客户端传输至服务端的过程中的数据完整性校验;其中,客户端可以根据用户实际需求修改配置信息,以使得服务端的状态转化为用户期望的状态,进一步保证待配置信息的功能可以正常实现。
所述配置信息自动发放模块104,用于接收所述待配置网络设备发出的配置请求,根据所述配置请求将所述待发放配置信息发放至所述待配置网络设备中。
本发明实施例中,所述配置请求可以为RPC(远程调用)请求,且所述配置请求通常包括请求参数及请求地址。
本发明实施例通过接收所述待配置网络设备发出的配置请求,根据所述配置请求将所述待发放配置信息发放至所述待配置网络设备中,可以解决开发脚本输出的内容是非结构化的,使得配置的网络设备内容难以解析的问题,以实现网络设备配置的自动发放。
作为本发明的一个实施例,所述配置信息自动发放模块104通过执行下述操作根据所述配置请求将所述待发放配置信息发放至所述待配置网络设备中,包括:
根据所述配置请求将所述待发放配置信息进行试运行,得到试运行结果;
在所述试运行通过时,获取待配置网络设备的设备接口地址,根据所述设备接口地址将所述配置信息发放至所述待配置网络设备中。
其中,所述试运行的主要作用是测试待发放配置信息中的配置功能是否可以实现,在配置功能可以正常实现时将待发放配置信息发放至待配置网络设备中。
进一步地,所述根据所述配置请求将所述待发放配置信息进行试运行,得到运行结果,包括:根据所述配置请求将所述标准配置信息进行编译,得到可执行配置程序;判断在预设的环境变量中所述可执行配置程序是否运行成功;当所述可执行配置程序运行成功时,得到运行成功结果;当所述可执行配置程序运行未成功时,得到运行失败结果。
其中,可以通过预设的编译器(如GCC编译器)将标准配置信息进行编译,将标准配置信息转化为可以直接运行的脚本程序;所述预设的环境变量是指提供程序运行的环境参数。
本发明一实施例中,在试运行成功时,说明该标准配置信息发放至待配置网络设备时,该配置的对应功能可以正常实现;在试运行失败时,说明该标准配置信息发放至待配置网络设备时,该配置的对应功能无法实现,返回试运行失败指令,进一步地,可以将所述待发放配置信息拆分为运行配置信息、候选配置信息及待运行配置信息存储于配置数据库中,便于后续标准配置信息的调用及发放,其中,该配置数据库可以包括运行数据库(存储正在运行的运行配置信息)、备选数据库(存储没有生效的候选配置信息)、待运行数据库(存储下次启动时生效的待运行信息),用户可以根据失败指令重新调整待发放配置信息,并将备选配置信息发放至待配置网络设备中,以保证待配置网络设备的正常运行。
本发明实施例中,首先通过接收用户输入的配置信息,可以解决由于不同的网络设备对功能模块的定义不同,使得CLI脚本在网络设备配置的过程中需要针对不同的网络设备开发不同的适配脚本的问题;其次,通过基于预设的网管协议将所述配置信息及所述设备状态信息进行建模操作,得到标准配置信息,可以统一配置信息及设备状态信息的数据格式,满足不同网络设备之间的相互操作性,解决SNMP协议不持支多个网络设备协同的问题,以提高网络设备配置发放的效率;最后,通过校验所述标准配置信息的数据完整性,在所述数据完整性校验通过时,可以保证待发放配置信息能够直接被待配置网络设备调用,根据所述配置请求将所述待发放配置信息发放至所述待配置网络设备中,可以解决开发脚本输出的内容是非结构化的,使得配置的网络设备内容难以解析的问题,以实现网络设备配置的自动发放。因此本发明实施例提出的网络设备配置自动发放装置可以实现网络设备配置的自动发放。
如图5所示,是本发明实现网络设备配置自动发放方法的电子设备的结构示意图。
所述电子设备可以包括处理器10、存储器11、通信总线12和通信接口13,还可以包括存储在所述存储器11中并可在所述处理器10上运行的计算机程序,如网络设备配置自动发放程序。
其中,所述存储器11至少包括一种类型的介质,所述介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:SD或DX存储器等)、磁性存储器、本地磁盘、光盘等。所述存储器11在一些实施例中可以是电子设备的内部存储单元,例如该电子设备的移动硬盘。所述存储器11在另一些实施例中也可以是电子设备的外部存储设备,例如电子设备上配备的插接式移动硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(Secure Digital,SD)卡、闪存卡(Flash Card)等。进一步地,所述存储器11还可以既包括电子设备的内部存储单元也包括外部存储设备。所述存储器11不仅可以用于存储安装于电子设备的应用软件及各类数据,例如网络设备配置自动发放程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
所述处理器10在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing Unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述处理器10是所述电子设备的控制核心(Control Unit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述存储器11内的程序或者模块(例如网络设备配置自动发放程序等),以及调用存储在所述存储器11内的数据,以执行电子设备的各种功能和处理数据。
所述通信总线12可以是外设部件互连标准(PerIPheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。所述通信总线12总线被设置为实现所述存储器11以及至少一个处理器10等之间的连接通信。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
图5仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图5示出的结构并不构成对所述电子设备的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
例如,尽管未示出,所述电子设备还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与所述至少一个处理器10逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。
可选地,所述通信接口13可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该电子设备与其他电子设备之间建立通信连接。
可选地,所述通信接口13还可以包括用户接口,用户接口可以是显示器(Display)、输入单元(比如键盘(Keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备中处理的信息以及用于显示可视化的用户界面。
应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
所述电子设备中的所述存储器11存储的网络设备配置自动发放程序是多个计算机程序的组合,在所述处理器10中运行时,可以实现:
利用预设接口获取待配置网络设备的设备状态信息,接收用户输入的配置信息;
基于预设的网管协议将所述配置信息及所述设备状态信息进行建模操作,得到标准配置信息;
校验所述标准配置信息的数据完整性,在所述数据完整性校验通过时,确定所述标准配置信息为待发放配置信息;
接收所述待配置网络设备发出的配置请求,根据所述配置请求将所述待发放配置信息发放至所述待配置网络设备中。
具体地,所述处理器10对上述计算机程序的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
进一步地,所述电子设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取介质中。所述计算机可读介质可以是非易失性的,也可以是易失性的。所述计算机可读介质可以包括:能够携待所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)。
本发明实施例还可以提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序在被电子设备的处理器所执行时,可以实现:
利用预设接口获取待配置网络设备的设备状态信息,接收用户输入的配置信息;
基于预设的网管协议将所述配置信息及所述设备状态信息进行建模操作,得到标准配置信息;
校验所述标准配置信息的数据完整性,在所述数据完整性校验通过时,确定所述标准配置信息为待发放配置信息;
接收所述待配置网络设备发出的配置请求,根据所述配置请求将所述待发放配置信息发放至所述待配置网络设备中。
进一步地,所述计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
在本发明所提供的几个实施例中,应该理解到,所揭露的介质、设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。