CN111181758B - 配置文件生成方法、装置 - Google Patents
配置文件生成方法、装置 Download PDFInfo
- Publication number
- CN111181758B CN111181758B CN201910708622.2A CN201910708622A CN111181758B CN 111181758 B CN111181758 B CN 111181758B CN 201910708622 A CN201910708622 A CN 201910708622A CN 111181758 B CN111181758 B CN 111181758B
- Authority
- CN
- China
- Prior art keywords
- configuration
- attribute
- parameter
- network equipment
- type
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
Abstract
本申请提供了一种配置文件生成方法及装置。该方法包括:获取待配置网络设备的功能属性;根据所述待配置网络设备的功能属性,调用与所述待配置网络设备的各个功能属性相对应的配置属性模板;根据所述待配置网络设备的功能属性,确定与所述待配置网络设备的各个功能属性相对应的配置参数;将所述配置参数传入所述配置属性模板,生成所述待配置网络设备的配置文件。本申请实施例的技术方案能够灵活地生成对应的配置文件,且复用性高。
Description
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种配置文件生成方法、装置。
背景技术
在IDC(Internet Data Center,互联网数据中心)网络建设中,需要对大量不同类型的设备生成对应的配置文件,目前使用的是类似于Jinja2的文本模版,针对每一个特定架构特定厂商编写一套固定的模版,固定好每一个命令的参数长度和类型,通过占位符匹配对应的参数,最后给参数进行赋值生成对应配置文件。
现有技术中基于文本模板替换技术生成配置文件的方式至少存在如下缺陷:首先,耦合性高,每个模板的命令格式和参数都是固定的,只能在特定架构角色下特定厂商设备使用,无法动态复用;其次,灵活性低,即使对于相同功能属性的设备,不同架构不同厂商的条件下仍需采用不同的方式编写配置方案;再者,维护成本大,因为每个厂商对应的配置命令和配置方式不相同,所以在编写之时如果对该设备命令格式不熟悉则很容易出错,编写效率和准确性低,无法统一管理,导致维护难度加大。
发明内容
本申请的一个目的在于提出一种配置文件生成方法、装置,至少在一定程度上能够实现模板的灵活调用,以保证配置属性模板的可复用性和易维护性。
根据本申请实施例的一方面,申请了一种配置文件生成方法,所述方法包括:
获取待配置网络设备的功能属性;
根据所述待配置网络设备的功能属性,调用与所述待配置网络设备的各个功能属性相对应的配置属性模板;
根据所述待配置网络设备的功能属性,确定与所述待配置网络设备的各个功能属性相对应的配置参数;
将所述配置参数传入所述配置属性模板,生成所述待配置网络设备的配置文件。
根据本申请实施例的一方面,申请了一种配置文件生成装置,包括:
获取模块,用于获取待配置网络设备的功能属性;
调用模块,用于根据所述待配置网络设备的功能属性,调用与所述待配置网络设备的各个功能属性相对应的配置属性模板;
确定模块,用于根据所述待配置网络设备的功能属性,确定与所述待配置网络设备的各个功能属性相对应的配置参数;
生成模块,用于将所述配置参数传入所述配置属性模板,生成所述待配置网络设备的配置文件。
本申请的实施例提供的技术方案可以包括以下有益效果:本申请提供的技术方案根据网络设备的功能属性,生成与网络设备的各个功能属性相对应的配置属性模板,并根据网络设备的功能属性,确定出与网络设备的各个功能属性相对应的配置参数,当需要生成待配置网络设备的配置文件时,只需要将与待配置网络设备的各个功能属性相对应的配置参数传入对应的配置属性模板,即可生成待配置网络设备的配置文件,从而实现了配置属性模板的定义统一,无需再去维护大量的基于厂商的定制化配置模板,大大提高了机房建设和设备配置变更时配置方案的编写效率和准确性,同时降低了网络架构人员对于不同设备厂商的网络设备命令行的熟悉程度,确保网络配置更高效更便捷。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示出了根据本申请一个实施例的配置文件生成方法应用的系统构架图。
图2示出了根据本申请一个实施例的配置文件生成方法的流程图。
图3示出了根据本申请另一个实施例的配置文件生成方法的流程图。
图4示出了根据本申请一个实施例的步骤S320的详细流程图。
图5示出了根据本申请一个实施例的步骤S3202的详细流程图。
图6示出了根据本申请另一个实施例的步骤S3202的详细流程图。
图7示出了根据本申请再一个实施例的步骤S3202的详细流程图。
图8示出了根据本申请一个实施例的步骤S340的详细流程图。
图9示出了根据本申请一个实施例的配置文件生成装置的框图。
图10示出了根据本申请一个实施例的电子设备的计算机系统的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些示例实施方式使得本申请的描述将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。附图仅为本申请的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多示例实施方式中。在下面的描述中,提供许多具体细节从而给出对本申请的示例实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、步骤等。在其它情况下,不详细示出或描述公知结构、方法、实现或者操作以避免喧宾夺主而使得本申请的各方面变得模糊。
附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
下面先参照图1描述一下本申请实施例的配置文件生成方法所应用的体系构架。
如图1所示,本申请提供的配置文件生成方法,可以应用于如图1所示的应用环境中。其中,网络设备110与服务器120通过网络进行通信,在此,网络包括但不限于互联网、广域网、城域网、局域网、VPN网络、无线自组织网络(Ad Hoc网络)等。网络设备110安装了配置文件生成工具,网络设备110通过识别用户对配置文件生成工具对应的操作界面上的选取操作,生成文件生成请求,并将文件生成请求发送至服务器120。服务器120响应文件生成请求,获取网络设备110的功能属性,根据功能属性调用与各个功能属性相对应的配置属性模板,并确定与各个功能属性相对应的配置参数,将配置参数传入配置属性模板,生成配置文件。服务器120还用于将生成的配置文件返回至网络设备110。其中,网络设备110可以但不限于是各种网络交换机、路由器、防火墙、波分设备及网关设备等。服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
应该理解,图1中的网络设备110、服务器120的数目仅仅是示意性的。根据实现需要,可以具有任意数目的网络设备110、服务器120。
以下对本申请实施例的技术方案的实现细节进行详细阐述:
根据本申请的一个实施例,如图2所述,提供了一种配置文件的生成方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
步骤S210、获取待配置网络设备的功能属性;
步骤S220、根据所述待配置网络设备的功能属性,调用与所述待配置网络设备的各个功能属性相对应的配置属性模板;
步骤S230、根据所述待配置网络设备的功能属性,确定与所述待配置网络设备的各个功能属性相对应的配置参数;
步骤S240、将所述配置参数传入所述配置属性模板,生成所述待配置网络设备的配置文件。
下面对这些步骤的实现细节进行详细描述。
步骤S210、获取待配置网络设备的功能属性。
可选的,获取待配置网络设备的功能属性的方式可以是待配置网络设备向服务器发送功能属性获取请求,其中,功能属性获取请求中包括待配置网络设备的标识信息,需要理解的是,该实施例中所说的待配置网络设备的标识信息可包含待配置网络设备自身信息中携带的用于唯一标识设备的信息,例如,待配置网络设备的标识信息可以是待配置网络设备的MAC(Media Access Control,物理地址)地址。
服务器接收待配置网络设备发送的功能属性获取请求,根据标识信息确定待配置网络设备的功能属性,并发送功能属性信息至待配置网络设备,具体地,服务器在接收到待配置网络设备发送的功能属性获取请求后,可根据待配置网络设备的标识信息从预先保存的设备的标识信息与功能属性的对应关系中获取待配置网络设备的功能属性,并将所获得的功能属性信息发送给待配置网络设备。
示例性的,所述功能属性可以包括ACL(Access Control List,访问控制列表)、BFD(Bidirectional Forwarding Detection,双向转发检测机制)、BGP(Border GatewayProtocol,边界网关协议)、Interfaces(接口)、ISIS(Intermediate system tointermediate system,内部网关协议)、LACP(Link Aggregation Control Protocol,链路汇聚控制协议)、LLDP(Link Layer Discovery Protocol,链路层发现协议)等。
步骤S220、根据所述待配置网络设备的功能属性,调用与所述待配置网络设备的各个功能属性相对应的配置属性模板。
在步骤S220中,配置属性模板是基于网络设备的功能属性进行对应编写的,编写完成后将其存储于数据库中,其中,网络设备的功能属性与配置属性模板一一对应存储于数据库中。
当需要生成待配置网络设备的配置文件时,则根据待配置网络设备的功能属性从配置属性模板数据库中调用与所述待配置网络设备的各个功能属性相对应的配置属性模板。
步骤S230、根据所述待配置网络设备的功能属性,确定与所述待配置网络设备的各个功能属性相对应的配置参数。
网络设备具有多个功能属性,而每个功能属性所需要的配置参数也不相同,当获取待配置网络设备的功能属性后,可以从预先保存的功能属性与配置参数的对应关系中,确定出与所述待配置网络设备的各个功能属性相对应的配置参数。
步骤S240、将所述配置参数传入所述配置属性模板,生成所述待配置网络设备的配置文件。
在一个实施例中,如图8所述,步骤S240具体包括:
步骤S2401、根据所述配置参数的类型对所述配置参数进行赋值,得到所述配置参数的值;
步骤S2402、将所述配置参数的值传入所述配置属性模板,生成所述待配置网络设备的配置文件。
在步骤S2401中,对配置参数赋值必须参照所述配置参数的类型,例如配置参数的数据类型为字符串类型snmp.community,则通过community:test123进行赋值字符串test123,如果配置参数的数据类型是数组类型,则通过下划线的形式(_)进行标识并赋值。
在步骤S2402中,可选的,利用Ansible工具将配置参数的值统一发送到设定的服务器,在服务器上通过调用相应的配置属性模板,完成传参即可生成配置文件。Ansible工具是一种服务器自动化运维工具,基于Python开发,集合了众多运维工具的优点,可以实现批量系统配置、批量程序部署、批量运行命令等功能。因此,利用Ansible将待配置网络设备的各个功能属性所对应的配置参数的值批量传入相应的配置属性模板,能够实现对网络设备的批量配置。
在一个实施例中,为了让配置属性模板能灵活组合并生成对应的配置文件,最大限度的匹配网络配置的功能特性,可以基于网络设备的功能属性所属的类型,对网络设备的功能属性进行分类,按照功能属性的类型进行分类编写配置属性模板。
在该实施例中,如图3所示,所述方法还包括:
步骤S310、按照网络设备的功能属性所属的类型,对所述网络设备的功能属性进行分类,得到至少一个功能属性类型;
步骤S320、生成与各个功能属性类型对应的配置属性模板,以得到与所述网络设备的各个功能属性相对应的配置属性模板。
在步骤S310中,基于网络设备的功能属性所属类型,对所述网络设备的功能属性进行分类,例如分类为:ACL(Access Control List,访问控制列表)、BFD(BidirectionalForwarding Detection,双向转发检测机制)、BGP(Border Gateway Protocol,边界网关协议)、Interfaces(接口)、ISIS(Intermediate system to intermediate system,内部网关协议)、LACP(Link Aggregation Control Protocol,链路汇聚控制协议)、LLDP(LinkLayer Discovery Protocol,链路层发现协议)Static_Routing(静态路由)、MPLS(Multi-Protocol Label Switching,多协议标签交换)、VRF(Virtual Routing Forwarding,虚拟路由转发)、OSPF(Open Shortest Path First,开放式最短路径优先)、POLICY(策略)、QOS(Quality ofService,服务质量)、STP(Spanning-Tree Protocol,生成树协议)、NTP(Network Time Protocol,网络时间协议)、AAA(Authentication、Authorization、Accounting,验证、授权、记账)、SNMP(Simple Network Management Protocol,简单网络管理协议)等等,对此本实施例不作限定。
在一个实施例中,配置属性模板可以针对全量功能属性进行分类,也可以根据生产环境中使用到的功能属性来分类,采用全量功能属性进行分类可以保证每种功能属性均有对应的配置属性模板,方便后续对模板的灵活调用,而采用生产环境中使用到的功能属性进行分类在一定程度上可以避免对网络设备非生产环境中使用的功能属性编写对应的配置属性模板,节约了网络资源,提高了配置属性模板编写的效率。
在该实施例中,所述对所述网络设备的功能属性进行分类包括:
根据所述网络设备基于生产环境所使用的功能属性所属的类型或所述网络设备的全量功能属性所属的类型对所述网络设备的功能属性进行分类。
应该理解的是,生产环境是指网络设备实际长期运行的环境,区别于非生产环境,例如开发环境、测试环境等,从服务器获取网络设备在生产环境下所使用的功能属性,基于生产环境所使用的功能属性所属的类型对网络设备的功能属性进行分类。
而根据网络设备的全量功能属性所属的类型进行分类是指对从服务器获取到的网络设备的所有功能属性进行分类,无论获取到的功能属性是否是生产环境中所使用的。
步骤S320中,在生成与各个功能属性类型对应的配置属性模板后,即可将该功能属性类型的配置属性模板作为该类型集合里面所有功能属性相对应的配置属性模板,也就可以得到与所述网络设备的各个功能属性相对应的配置属性模板。
在一个实施例中,如图4所示,步骤S320具体包括:
步骤S3201、根据所述各个功能属性类型,确定与所述各个功能属性类型相对应的配置参数;
步骤S3202、根据所述配置参数,生成与所述配置参数的类型相对应的配置命令;
步骤S3203、根据所述配置参数与所述配置命令,生成与所述各个功能属性类型对应的配置属性模板。
在步骤S3201中,当分类得到网络设备的各个功能属性类型后,可以从预先保存的功能属性类型与配置参数的对应关系表中,确定出与与所述网络设备的各个功能属性类型相对应的配置参数。以配置SNMP模板为例,当网络设备的功能属性类型为SNMP时,即可以从对应关系表中确定出与SNMP相对应的配置参数有community、acl、type、version、server_address、server_key、server_vrf。
步骤S3202中,配置命令是用于将配置参数的值传递给对应的配置属性模板中的指令参数,以完成传参,生成所需配置文件的命令行。
配置参数的类型可以包括单一参数类型、多参数组合类型以及列表参数类型,不同的配置参数类型所生成的配置命令不同,通过这种编写方式,就可以实现配置参数赋值和配置命令格式的解耦,动态地根据配置参数类型、配置参数的值是否为空来生成正确的配置命令。
在一个实施例中,如图5所示,步骤S3202具体包括:
步骤S32021、当所述配置参数的类型为单一参数类型时,确定所述配置参数的值;
步骤S32022、若所述配置参数的值不为空值,则生成与所述单一参数类型相对应的配置命令,所述配置命令用于将所述配置参数的值传递给对应的配置属性模板中的指定参数。
当配置SNMP模板时,确定配置SNMP模板所需要的配置参数为community、acl、type、version、server_address、server_key、server_vrf,对配置参数进行分析可知,community、acl、type、version均为单一参数类型。
下面以单一参数类型version为例,给出生成与version单一参数类型相对应的配置命令的过程:
{%ifsnmp.version%}
snmp-agent sys-info versionv3disable
snmp-agent sys-info version{{snmp.version}}
{%else%}
snmp-agent sys-info versionv3
{%endif%}
在该配置命令生成过程中,需要通过if去判断snmp.version这个值是否为空,不为空则配置对应参数的命令行。
在一个实施例中,如图6所示,步骤S3202具体包括:
步骤S32021’、当所述配置参数的类型为多参数组合类型时,确定所述配置参数中包含的必要参数的值和可选参数的值;
步骤S32022’、若所述配置参数中包含的必要参数的值不为空值,则生成与所述多参数组合类型相对应的配置命令,所述配置命令用于将所述必要参数的值及非空值的可选参数的值传递给对应的配置属性模板中的指定参数。
以配置SNMP模板为例,多参数组合包括必要参数snmp.community和snmp.type,以及可选参数snmp.acl,当所述配置参数的类型为多参数组合类型时,见如下所示出的配置命令生成过程:
{%ifsnmp.community and snmp.type%}
snmp-agent community{{snmp.type}}cipher{{snmp.community}}mib-viewiso-view{%ifsnmp.acl%}acl{{snmp.acl}}{%endif%}
{%endif%}
在该配置命令生成过程中,首先判断该配置命令的必要参数,比如此例中的snmp.community和snmp.type,只有必要参数都不为空才会去配置该命令,并完成传参。然后在该命令中会存在可选参数比如snmp.acl,需要在命令中判断该值是否为空,不为空则会把对应配置命令添加上,并把对应赋值传给{{snmp.acl}}。
在一个实施例中,如图7所示,步骤S3202具体包括:
步骤S32021”、当所述配置参数的类型为列表参数类型时,获取所述配置参数中包含的各组数据参数值,并从所述各组数据中确定参数值不为空值的目标数据;
步骤S32022”、根据所述目标数据生成与所述列表参数类型相对应的配置命令,所述配置命令用于将所述目标数据的参数值传递给对应的配置属性模板中的指定参数。
以配置SNMP模板为例,snmp.servers为多组数据即列表,当所述配置参数的类型为列表参数类型时,见如下所示出的配置命令生成过程:
{%for snmp_serverin snmp.servers%}
{%ifsnmp_server.address%}
snmp-agenttarget-hosttrap address udp-domain
{{snmp_server.address}}{%ifsnmp_server.vrf%}vpn-instance
{{snmp_server.vrf}}{%endif%}{%ifsnmp_server.key%}params
securityname cipher{{snmp_server.key}}{%endif%}
{{snmp.version}}
{%endif%}
{%endfor%}
在该配置命令生成过程中,通过for循环遍历该列表,获取配置参数中包含的各组数据参数值,并从各组数据中确定参数值不为空值的目标数据,不为空,则生成与所述列表参数类型相对应的配置命令。
在配置属性模板的编写中,除了根据配置参数编写与所述配置参数对应的配置命令外,在每个配置属性模板中还具有固定配置命令。在步骤S3203之前,所述方法还包括:
根据所述配置参数生成与所述配置参数相对应的固定配置命令,所述固定配置命令固定包含在配置属性模板中。
应该理解的是,固定配置命令是不包含配置参数的,其固定包含在配置属性模板中,固定配置命令是与配置参数相对应的,举例说明,以配置SNMP模板为例,如果SNMP模板中包括的配置参数有单一参数类型和列表参数类型,则配置属性模板中的固定配置命令为snmp-agent community{{snmp.type}{{snmp.community}};如果SNMP模板中包括的配置参数为单一参数类型、多参数组合类型和列表参数类型,则配置属性模板中的固定配置命令为system-view immediately。
继续参照图4所示,步骤S3203、根据所述配置参数与所述配置命令,生成与所述各个功能属性类型对应的配置属性模板。
在步骤S3203中,当根据配置参数编写完成与所述配置参数类型相对应的配置命令时,即完成了配置属性模板的编写,也即得到了与所述各个功能属性类型对应的配置属性模板。
通过本申请中的配置属性模板的编写,不再需要针对特定的架构角色特定厂商重新编写特定的模板,实现了网络配置的定义统一,且无需维护大量的基于厂商的定制化配置模板,大大提高了机房建设和设备配置变更时配置方案的编写效率和准确性,同时降低了网络架构人员对于不同网络设备厂商的网络设备配置命令行的熟悉程度,让网络配置更搞笑更便捷。
如图9所示,根据本申请的一个实施例,提供了一种配置文件生成装置,对于本申请装置实施例中未披露的细节,请参照本申请上述的配置文件生成方法的实施例。其中,所述装置包括:
获取模块910,用于获取待配置网络设备的功能属性;
调用模块920,用于根据所述待配置网络设备的功能属性,调用与所述待配置网络设备的各个功能属性相对应的配置属性模板;
确定模块930,用于根据所述待配置网络设备的功能属性,确定与所述待配置网络设备的各个功能属性相对应的配置参数;
生成模块940,用于将所述配置参数传入所述配置属性模板,生成所述待配置网络设备的配置文件。
在一个实施例中,所述装置还包括:
分类模块,用于按照网络设备的功能属性所属的类型,对所述网络设备的功能属性进行分类,得到至少一个功能属性类型;
模板生成模块,用于生成与各个功能属性类型对应的配置属性模板,以得到与所述网络设备的各个功能属性相对应的配置属性模板。
在一个实施例中,所述模板生成模块包括:
确定单元,用于根据所述各个功能属性类型,确定与所述各个功能属性类型相对应的配置参数;
命令生成单元,用于根据所述配置参数,生成与所述配置参数的类型相对应的配置命令;
模板生成单元,用于根据所述配置参数与所述配置命令,生成与所述各个功能属性类型对应的配置属性模板。
在一个实施例中,所述命令生成单元用于:
当所述配置参数的类型为单一参数类型时,确定所述配置参数的值;
若所述配置参数的值不为空值,则生成与所述单一参数类型相对应的配置命令,所述配置命令用于将所述配置参数的值传递给对应的配置属性模板中的指定参数。
在一个实施例中,所述命令生成单元用于:
当所述配置参数的类型为多参数组合类型时,确定所述配置参数中包含的必要参数的值和可选参数的值;
若所述配置参数中包含的必要参数的值不为空值,则生成与所述多参数组合类型相对应的配置命令,所述配置命令用于将所述必要参数的值及非空值的可选参数的值传递给对应的配置属性模板中的指定参数。
在一个实施例中,所述命令生成单元用于:
当所述配置参数的类型为列表参数类型时,获取所述配置参数中包含的各组数据参数值,并从所述各组数据中确定参数值不为空值的目标数据;
根据所述目标数据生成与所述列表参数类型相对应的配置命令,所述配置命令用于将所述目标数据的参数值传递给对应的配置属性模板中的指定参数。
在一个实施例中,所述模板生成单元用于根据所述配置参数与所述配置命令,生成与所述各个功能属性类型对应的配置属性模板之前,根据所述配置参数生成与所述配置参数相对应的固定配置命令,所述固定配置命令固定包含在配置属性模板中。
在一个实施例中,所述分类模块进一步用于根据所述网络设备基于生产环境所使用的功能属性所属的类型或所述网络设备的全量功能属性所属的类型对所述网络设备的功能属性进行分类。
在一个实施例中,所述生成模块用于:
根据所述配置参数的类型对所述配置参数进行赋值,得到所述配置参数的值;
将所述配置参数的值传入所述配置属性模板,生成所述待配置网络设备的配置文件。
下面参照图10来描述本申请实施方式中的服务器101。图10显示的服务器101仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图10所示,服务器101以通用计算设备的形式表现。服务器101的组件可以包括但不限于:至少一个处理单元1010、至少一个存储单元1020、连接不同系统组件(包括存储单元1020和处理单元1010)的总线1030。其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元1010执行,使得所述处理单元1010执行本说明书上述示例性方法的描述部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元1010可以执行如图2中所示的各个步骤。
存储单元1020可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)10201和/或高速缓存存储单元10202,还可以进一步包括只读存储单元(ROM)10203。
存储单元1020还可以包括具有一组(至少一个)程序模块10205的程序/实用工具10204,这样的程序模块10205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线1030可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
网络设备110也可以与一个或多个外部设备700(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该网络设备110交互的设备通信,和/或与使得该网络设备110能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口1050进行。并且,网络设备110还可以通过网络适配器1060与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器1060通过总线1030与网络设备110的其它模块通信。应当明白,尽管图中未示出,可以结合网络设备110使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本申请实施方式的方法。
在本申请的示例性实施例中,还提供了一种计算机程序介质,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行上述方法实施例部分描述的方法。
根据本申请的一个实施例,还提供了一种用于实现上述方法实施例中的方法的程序产品,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,尽管在附图中以特定顺序描述了本申请中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本申请实施方式的方法。
本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由所附的权利要求指出。
Claims (11)
1.一种配置文件生成方法,其特征在于,包括:
按照网络设备的功能属性所属的类型,对所述网络设备的功能属性进行分类,得到至少一个功能属性类型;
生成与各个功能属性类型对应的配置属性模板,以得到与所述网络设备的各个功能属性相对应的配置属性模板;
接收待配置网络设备发送的功能属性获取请求,所述功能属性获取请求包括待配置网络设备的标识信息;根据所述标识信息获取所述待配置网络设备的功能属性;
根据所述待配置网络设备的功能属性,调用与所述待配置网络设备的各个功能属性相对应的配置属性模板;
根据所述待配置网络设备的功能属性,确定与所述待配置网络设备的各个功能属性相对应的配置参数;
将所述配置参数传入所述配置属性模板,生成所述待配置网络设备的配置文件。
2.根据权利要求1所述的方法,其特征在于,所述生成与各个功能属性类型对应的配置属性模板,包括:
根据所述各个功能属性类型,确定与所述各个功能属性类型相对应的配置参数;
根据所述配置参数,生成与所述配置参数的类型相对应的配置命令;
根据所述配置参数与所述配置命令,生成与所述各个功能属性类型对应的配置属性模板。
3.根据权利要求2所述的方法,其特征在于,所述根据所述配置参数,生成与所述配置参数的类型相对应的配置命令包括:
当所述配置参数的类型为单一参数类型时,确定所述配置参数的值;
若所述配置参数的值不为空值,则生成与所述单一参数类型相对应的配置命令,所述配置命令用于将所述配置参数的值传递给对应的配置属性模板中的指定参数。
4.根据权利要求2所述的方法,其特征在于,所述根据所述配置参数,生成与所述配置参数的类型相对应的配置命令包括:
当所述配置参数的类型为多参数组合类型时,确定所述配置参数中包含的必要参数的值和可选参数的值;
若所述配置参数中包含的必要参数的值不为空值,则生成与所述多参数组合类型相对应的配置命令,所述配置命令用于将所述必要参数的值及非空值的可选参数的值传递给对应的配置属性模板中的指定参数。
5.根据权利要求2所述的方法,其特征在于,所述根据所述配置参数,生成与所述配置参数的类型相对应的配置命令包括:
当所述配置参数的类型为列表参数类型时,获取所述配置参数中包含的各组数据参数值,并从所述各组数据中确定参数值不为空值的目标数据;
根据所述目标数据生成与所述列表参数类型相对应的配置命令,所述配置命令用于将所述目标数据的参数值传递给对应的配置属性模板中的指定参数。
6.根据权利要求2所述的方法,其特征在于,所述根据所述配置参数与所述配置命令,生成与所述各个功能属性类型对应的配置属性模板之前包括:
根据所述配置参数生成与所述配置参数相对应的固定配置命令,所述固定配置命令固定包含在配置属性模板中。
7.根据权利要求1所述的方法,其特征在于,所述对所述网络设备的功能属性进行分类包括:
根据所述网络设备基于生产环境所使用的功能属性所属的类型或所述网络设备的全量功能属性所属的类型对所述网络设备的功能属性进行分类。
8.根据权利要求1所述的方法,其特征在于,所述将所述配置参数传入所述配置属性模板,生成所述待配置网络设备的配置文件包括:
根据所述配置参数的类型对所述配置参数进行赋值,得到所述配置参数的值;
将所述配置参数的值传入所述配置属性模板,生成所述待配置网络设备的配置文件。
9.一种配置文件生成装置,其特征在于,包括:
分类模块,用于按照网络设备的功能属性所属的类型,对所述网络设备的功能属性进行分类,得到至少一个功能属性类型;
模板生成模块,用于生成与各个功能属性类型对应的配置属性模板,以得到与所述网络设备的各个功能属性相对应的配置属性模板;
获取模块,用于接收待配置网络设备发送的功能属性获取请求,所述功能属性获取请求包括待配置网络设备的标识信息;根据所述标识信息获取所述待配置网络设备的功能属性;
调用模块,用于根据所述待配置网络设备的功能属性,调用与所述待配置网络设备的各个功能属性相对应的配置属性模板;
确定模块,用于根据所述待配置网络设备的功能属性,确定与所述待配置网络设备的各个功能属性相对应的配置参数;
生成模块,用于将所述配置参数传入所述配置属性模板,生成所述待配置网络设备的配置文件。
10.一种服务器,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述服务器实现如权利要求1-8中任一项所述的配置文件生成方法。
11.一种计算机可读程序介质,其特征在于,其存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使所述计算机执行权利要求1-8中任一项所述的配置文件生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910708622.2A CN111181758B (zh) | 2019-08-01 | 2019-08-01 | 配置文件生成方法、装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910708622.2A CN111181758B (zh) | 2019-08-01 | 2019-08-01 | 配置文件生成方法、装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111181758A CN111181758A (zh) | 2020-05-19 |
CN111181758B true CN111181758B (zh) | 2022-02-25 |
Family
ID=70648699
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910708622.2A Active CN111181758B (zh) | 2019-08-01 | 2019-08-01 | 配置文件生成方法、装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111181758B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113746657A (zh) * | 2020-05-30 | 2021-12-03 | 华为技术有限公司 | 一种业务配置方法及其装置 |
CN115396916A (zh) * | 2021-05-25 | 2022-11-25 | 中兴通讯股份有限公司 | 配置模板生成方法、网元配置方法及其系统、存储介质 |
CN113556250B (zh) * | 2021-07-21 | 2022-12-20 | 中国工商银行股份有限公司 | 一种网络设备批量配置方法及装置 |
CN114448802A (zh) * | 2022-01-28 | 2022-05-06 | 北京百度网讯科技有限公司 | 网关配置方法、装置、电子设备及存储介质 |
CN114860338A (zh) * | 2022-05-17 | 2022-08-05 | 西安北方华创微电子装备有限公司 | 一种半导体设备参数配置方法和装置 |
CN116719481B (zh) * | 2023-08-08 | 2024-01-26 | 腾讯科技(深圳)有限公司 | 配置数据处理方法、装置及相关设备 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101321080B (zh) * | 2007-06-04 | 2010-07-28 | 华为技术有限公司 | 配置网络设备的方法、网络设备、网络系统 |
CN102724079B (zh) * | 2012-06-29 | 2016-07-06 | 杭州华三通信技术有限公司 | 一种以太网设备辅助配置的方法及系统 |
US10924554B2 (en) * | 2014-05-05 | 2021-02-16 | Citrix Systems, Inc. | Application customization |
US10700931B2 (en) * | 2014-08-17 | 2020-06-30 | Microsoft Technology Licensing, Llc | Network device configuration framework |
CN106682014B (zh) * | 2015-11-09 | 2020-09-01 | 腾讯科技(深圳)有限公司 | 游戏展示数据的生成方法和装置 |
JP2021016012A (ja) * | 2017-10-13 | 2021-02-12 | 株式会社Nttドコモ | サブネット情報生成装置及びサブネット情報生成方法 |
CN107992299B (zh) * | 2017-11-27 | 2021-08-10 | 郑州云海信息技术有限公司 | 神经网络超参数提取转换方法、系统、装置及存储介质 |
CN108900354A (zh) * | 2018-07-20 | 2018-11-27 | 迈普通信技术股份有限公司 | 网络配置方法、配置文件集生成方法、装置及网络设备 |
-
2019
- 2019-08-01 CN CN201910708622.2A patent/CN111181758B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111181758A (zh) | 2020-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111181758B (zh) | 配置文件生成方法、装置 | |
CN109548178B (zh) | 一种通信方法和网络设备 | |
EP2888858B1 (en) | Method and apparatus of generalized network controller for a software defined network (sdn) | |
CN107431651B (zh) | 一种网络服务的生命周期管理方法及设备 | |
CN108989066B (zh) | 设备管理方法及装置 | |
EP3373518B1 (en) | Service configuration method and device for network service | |
CN109039788B (zh) | 网络设备的端口配置方法、装置和存储介质 | |
CN111786841B (zh) | 一种光网络gpon设备自动操作方法、系统和装置 | |
US20070106770A1 (en) | Managing a remote device by a communication element that does not specify an identifier for the management object | |
CN112333065B (zh) | 一种ipran以太网专线自动开通方法及装置 | |
CN114205230A (zh) | 云原生网元的配置方法、系统、介质及电子设备 | |
KR102486236B1 (ko) | 무선 통신 시스템에서 네트워크 기능 가상화를 위한 장치 및 방법 | |
CN113381870B (zh) | 报文处理方法和设备 | |
CN114650223A (zh) | 一种Kubernetes集群的网络配置方法、装置及电子设备 | |
CN104077187A (zh) | 用于调度应用程序的执行的方法和系统 | |
US20140359114A1 (en) | Computer-readable recording medium, usage mode data generation method, and usage mode data generation device | |
CN113342456A (zh) | 一种连接方法、装置、设备和存储介质 | |
CN107451435B (zh) | 一种硬件加密机的管控方法、管控机及管控系统 | |
US8214473B1 (en) | Apparatus, system, and method for communicating with a device within a computer system | |
CN113778658A (zh) | 任务分配方法及装置、电子设备、存储介质 | |
CN113708966B (zh) | 一种交换机网络化在线配置方法、系统和设备 | |
CA3132658A1 (en) | Cloud enabling of legacy trusted networking devices for zero touch provisioning and enterprise as a service | |
JP2008287699A (ja) | ネットワーク発見用の拡張可能システム | |
US11507582B2 (en) | Event-driven internet of things (IoT) abstraction using rules | |
CN111107178B (zh) | 一种指定报文使用本地地址的方法和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |