CN111740851A - 配置报文生成方法、设备以及系统 - Google Patents

配置报文生成方法、设备以及系统 Download PDF

Info

Publication number
CN111740851A
CN111740851A CN201910229154.0A CN201910229154A CN111740851A CN 111740851 A CN111740851 A CN 111740851A CN 201910229154 A CN201910229154 A CN 201910229154A CN 111740851 A CN111740851 A CN 111740851A
Authority
CN
China
Prior art keywords
node
attribute
database
configuration
nodes
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.)
Granted
Application number
CN201910229154.0A
Other languages
English (en)
Other versions
CN111740851B (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201910229154.0A priority Critical patent/CN111740851B/zh
Publication of CN111740851A publication Critical patent/CN111740851A/zh
Application granted granted Critical
Publication of CN111740851B publication Critical patent/CN111740851B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供了一种配置报文生成方法,所述方法包括:网管设备获取用户输入的网络设备的配置信息;在所述配置信息与知识图谱实例匹配的情况下,从所述知识图谱实例中获取与所述配置信息对应的正确填充内容,以及,从所述配置信息中获取自由填充内容;将所述正确填充内容以及所述自由填充内容填入配置报文模板中,生成第一配置报文;将所述第一配置报文发送给网络设备,以对所述网络设备进行配置。

Description

配置报文生成方法、设备以及系统
技术领域
本申请涉及网络技术,尤其涉及一种配置报文生成方法、设备以及系统。
背景技术
网络配置协议通常用于网管设备和网络设备之间通信。网管设备通过网络配置协议可以查询、增加、修改以及删除网络设备的配置,也可以获取网络设备的配置信息以及状态信息。网管设备和网络设备之间的交互都是通过配置报文进行的。
但是,配置报文的生成需要用户具有相关的领域知识,对用户有较高的要求,智能化程度低。
发明内容
本申请提供了一种配置报文生成方法、设备以及系统,能够识别用户的意图,自动生成对应的配置报文。
第一方面,提供了一种配置报文生成方法,包括:
第一网管设备获取用户输入的第一网络设备的配置信息;
在所述配置信息与知识图谱实例匹配的情况下,从所述知识图谱实例中获取与所述配置信息对应的正确填充内容,以及,从所述配置信息中获取自由填充内容;
将所述正确填充内容以及所述自由填充内容填入配置报文模板中,生成第一配置报文;
将所述第一配置报文发送给第一网络设备,以对所述第一网络设备进行配置。
上述方案中,第一网管设备能够将用户输入的第一网络设备的配置信息和知识图谱实例进行匹配,从而识别用户的意图,自动生成对应的配置报文。因此,用户不需要掌握相关领域的知识,就可以生成自己希望得到的配置报文,提高了配置报文的智能化程度。
在一些可能的实现中,知识图谱实例可以是根据已知配置报文生成的。具体地,第一网管设备获取已知配置报文,并根据所述已知配置报文生成所述知识图谱实例。其中,所述已知配置报文是所述第一网管设备发送给所述第一网络设备以对所述第一网络设备进行配置的报文,或者,所述第一网管设备发送给第二网络设备以对所述第二网络设备进行配置的报文,或者,第二网管设备发送给第一网络设备以对第一网络设备进行配置的报文,或者,所述第二网管设备发送给所述第二网络设备以对所述第二网络设备进行配置的报文。
在一具体的实现中,知识图谱实例可以是仅仅根据已知配置报文的选填部分生成的。也就是说,在生成知识图谱实例时,可以不需要依赖已知配置报文的通用部分。具体地,所述已知配置报文包括通用部分以及所述选填部分,不同的已知配置报文的通用部分均相同,不同的已知配置报文的选填部分均不同。第一网管设备从所述已知配置报文中获取选填部分,并根据所述选填部分生成所述知识图谱实例。
在本实现中,只需要使用已知配置报文的选填部分,不需要使用已知配置报文的通用部分生成知识图谱,可以有效地减少知识图谱的数据量。
在一具体的实现中,知识图谱实例可以是通过以下两种方式根据已知配置报文的选填部分生成的。具体地,
在第一种方式中,知识图谱包括网络配置实体节点、数据库节点、目标实体节点、操作节点以及属性节点,其中,数据库节点通过单向包含边连接网络配置实体节点,网络配置实体节点通过双向等价边连接目标实体节点,网络配置实体节点通过单向拥有边连接属性节点,网络配置实体节点通过单向包含边连接操作节点;所述选填部分包括数据库、对象、操作以及属性,所述单向包含边用于表示被连接的两个节点之间存在包含关系,所述双向等价边用于表示被连接的两个节点之间存在等于关系,所述单向拥有边用于表示被连接的两个节点之间存在拥有关系。
知识图谱实例可以是通过以下方式将已知配置报文的选填部分加入知识图谱生成的:
在所述知识图谱上生成与所述数据库对应的第一数据库节点,并使得所述数据库节点通过单向赋值边连接所述第一数据库节点;
在所述知识图谱上生成与所述对象对应的第一对象节点,并使得所述目标实体节点通过单向赋值边连接所述第一对象节点;
在所述知识图谱上生成与所述操作对应的第一操作节点,并使得所述操作节点通过单向赋值边连接所述第一操作节点;
在所述知识图谱上生成与所述属性对应的第一属性节点,并使得所述属性节点通过单向赋值边连接所述第一属性节点;
其中,所述单向赋值边用于表示被连接的两个节点之间存在赋值关系。
在第二种方式中,知识图谱包括网络配置实体节点、数据库节点、目标实体节点、操作节点以及属性节点,其中,数据库节点通过单向包含边连接网络配置实体节点,网络配置实体节点通过双向等价边连接目标实体节点,网络配置实体节点通过单向拥有边连接属性节点,网络配置实体节点通过单向包含边连接操作节点;所述选填部分包括数据库、对象、操作以及属性,所述单向包含边用于表示被连接的两个节点之间存在包含关系,所述双向等价边用于表示被连接的两个节点之间存在等于关系,所述单向拥有边用于表示被连接的两个节点之间存在拥有关系。
知识图谱实例可以是通过以下方式将已知配置报文的选填部分加入知识图谱生成的:
在所述知识图谱上生成与所述数据库对应的第一数据库节点,并使得所述数据库节点通过单向赋值边连接所述第一数据库节点;
在所述知识图谱上生成与所述对象对应的第一对象节点,并使得所述目标实体节点通过单向赋值边连接所述第一对象节点;
在所述知识图谱上生成与所述操作对应的第一操作节点,并使得所述操作节点通过单向赋值边连接所述第一操作节点;
在所述知识图谱上生成与所述属性对应的第一属性节点,并使得所述属性节点通过单向赋值边连接所述第一属性节点;
在所述知识图谱上生成与所述数据库对应的第一数据库同型节点,并使得所述数据库节点通过单向赋值边连接所述第一数据库同型节点,所述第一数据库同型节点包括第一数据库同义节点、第一数据库近义节点以及第一数据库错别字节点中的一种或者多种;
在所述知识图谱上生成与所述对象对应的第一对象同型节点,并使得所述目标实体节点通过单向赋值边连接所述第一对象同型节点,所述第一对象同型节点包括第一对象同义节点、第一对象近义节点以及第一对象错别字节点中的一种或者多种;
在所述知识图谱上生成与所述操作对应的第一操作同型节点,并使得所述操作节点通过单向赋值边连接所述第一操作同型节点,所述第一操作同型节点包括第一操作同义节点、第一操作近义节点以及第一操作错别字节点中的一种或者多种;
在所述知识图谱上生成与所述属性对应的第一属性同型节点,并使得所述属性节点通过单向赋值边连接所述第一属性同型节点,所述第一属性同型节点包括第一属性同义节点、第一属性近义节点以及第一属性错别字节点中的一种或者多种;
其中,所述单向赋值边用于表示被连接的两个节点之间存在赋值关系。
在一些可能的实现中,填充配置报文模板还可以包括以下两种不同的方式:
针对通过第一种方式生成的知识图谱实例,可以通过以下方式填充配置报文模板,从而得到第一配置报文。具体地,在所述第一数据库节点和所述数据库匹配、所述第一对象节点和所述对象匹配、所述第一操作节点和所述操作匹配,以及,所述第一属性节点和所述属性均匹配,则所述配置信息与知识图谱实例匹配的情况下,第一网管设备将所述第一数据库节点的名称、所述第一对象节点的名称以及属性、所述第一操作节点的名称、所述第一属性节点的名称以及所述自由填充内容填入所述配置报文模板中,从而生成第一配置报文。
针对通过第二种方式生成的知识图谱实例,可以通过以下方式填充配置报文模板,从而得到第一配置报文。具体地,在所述第一数据库节点或者所述第一数据库同型节点中的任意一种和所述数据库匹配、所述第一对象节点或者所述第一对象同型节点中任意一种和所述对象匹配、所述第一操作节点或者所述第一操作同型节点中的任意一种和所述操作匹配,以及,所述第一属性节点或者所述第一属性同型节点中的任意一种和所述属性均匹配,则所述配置信息与知识图谱实例匹配的情况下,第一网管设备将所述第一数据库节点的名称、所述第一对象节点的名称以及属性、所述第一操作节点的名称、所述第一属性节点的名称以及所述自由填充内容填入所述配置报文模板中,从而生成第一配置报文。
在上述第二种方式中,知识图谱实例中除了原节点(例如,第一对象节点)之外还设置了同型节点(例如,第一对象同型节点),在选填部分尽管没有和原节点匹配成功,但是只要和同型节点匹配成功的情况下,也会将原节点的内容填入到配置报文模板中去。因此,大大提高了知识图谱的纠错能力。
在一些可能的实现中,配置报文模板可以是通过以下方式生成的:第一网管设备使用占位符代替所述已知配置报文的选填部分,从而得到所述配置报文模板。在配置报文模板是通过上述方式生成的情况下,第一网管设备将所述正确填充内容以及所述自由填充内容代替所述配置报文模板中的占位符,从而生成第一配置报文。
在一些可能的实现中,所述配置信息是用户根据预设问题输入的答案。在一具体的实施例中,所述预设问题包括提示信息,所述提示信息用于提示用户正确输入所述预设问题的答案。
上述实现方案中,可以通过问题引导用户根据预设问题填入答案,从而提高用户输入答案的正确率。并且,预设问题还可以进一步包括提示信息,提示信息可以提示用户正确输入所述预设问题的答案,从而更好地提高用户输入答案的正确率。
第二方面,提供了一种网管设备,包括用于实现第一方面任一项所述的方法中的步骤的单元。
第三方面,提供了一种计算节点,包括处理器和存储器,所述处理器执行所述存储器中的代码执行如第一方面任一项所述的方法。
第四方面,提供了一种计算机集群,所述计算机集群包括一个或者多个计算节点,所述计算节点包括处理器和存储器,所述处理器执行所述存储器中的代码执行如第一方面任一项所述的方法。
第五方面,提供了一种计算机程序产品,当所述计算机程序产品被计算机读取并执行时,如第一方面任一项所述的方法将被执行。
第六方面,提供了一种计算机非瞬态存储介质,包括指令,当所述指令在计算节点集群中的至少一个计算节点上运行时,使得所述计算节点集群执行如第一方面任一项所述所述的方法。
附图说明
为了更清楚地说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。
图1是本申请涉及的一种网络系统的结构示意图;
图2是本申请涉及的一种配置报文的示意图;
图3是本申请涉及的一种配置报文模板的示意图;
图4是本申请提供的一种知识图谱的示意图;
图5是通过图2所示的配置报文对图4所示的知识图谱进行实例化得到的知识图谱实例的示意图;
图6本申请提供的一种知识图谱实例的示意图;
图7是本申请提供的具有配置验证设备的网络系统的结构示意图;
图8是本申请提供的为网络系统配置知识图谱的示意图;
图9是本申请提供的一种配置报文生成方法的流程示意图;
图10是本申请提供的一种网管设备的结构示意图;
图11是本申请提供的一种计算节点的结构示意图;
图12是本申请提供的一种计算集群的结构示意图。
具体实施方式
为了便于理解,首先对本申请涉及的应用场景进行介绍。如图1所示,网管设备通过网络配置协议将配置报文发送给网络设备,以对网络设备进行配置。其中,网络设备之间相互连接,从而构成了网络。网管设备负责对网络设备进行管理。以软件自定网络(software defined network,SDN)为例,网管设备可以是SDN控制器,网络设备可以是SDN转发设备。网络配置协议用于网管设备和网络设备之间进行通信,例如,Netconf协议等等。
在现有技术中,配置报文都是用户根据经验人工配置的,需要用户很好地掌握本领域的知识,才能正确地生成配置报文,智能化程度很低。
为了解决配置报文的生成智能化程度低的问题,网管设备可以根据不同的配置信息将不同的填充内容填入配置报文模板中,从而得到不同的配置报文的实例。其中,填充内容包括正确填充内容以及自由填充内容。在本申请具体的实施例中,配置报文可以包括通用部分以及选填部分。其中,不同的配置报文的通用部分是相同的,不同的配置报文的选填部分是不同的。也就是说,配置报文的通用部分构成了配置报文的主体。选填部分通常包括数据库、对象、操作以及属性,其中,数据库可以是运行数据库(running)以及申请数据库(candidate)等等,对象可以是虚拟系统(virtual system,vsys)、虚拟局域网(virtuallocal area network,vlan)以及虚拟可扩展局域网(virtual extensible local areanetwork,vxlan)等等,操作可以是代替(replace)、创建(create)以及删除(delete)等等,属性可以是姓名(name)、描述(description)、资源类(resource-class)、指定接口(assign-interface)、指定虚拟局域网络(assign-vlan)、指定可扩展虚拟局域网(assign-vxlan)等等。应理解,配置报文的选填部分还可以包括其他的内容,此处不作具体限定。
举个例子说明,如图2所示的配置报文,图2中没有被实线框框住的部分为配置报文的通用部分,图2中被实线框所框住的部分为配置报文的选填部分。图2中的选填部分包括第五行的运行数据库(即图2第五行的黑框中的running部分),第九行的对象虚拟系统(即图2第九行的黑框中的vsys部分),第九行的对象虚拟系统的属性,即,图2黑框中第九行的xmlns=“um:huawei:params:xml:ns:yang:huawei-vsys”部分,第十行的对象虚拟系统的属性,即,图2第十行黑框中的xmlns:nc=“urn:ietf:params:xml:ns:netconf:base:1.0”部分以及第十一行的对象虚拟系统的属性,即图2第十一行黑框中的vsys部分,第十一行的操作,即图2第十一行黑框中的nc:operation=create部分,第十二行至第十五行的属性,即图2第十二行至第十五行黑框中的<name>vsys1</name>至<assign-vlan>10</assign-vlan>部分,第十六行的对象虚拟系统,即图2第十六行黑框中的vsys部分,以及第十七行的对象虚拟系统,即图2第十七行黑框中的vsys部分。图2中配置报文的剩余的部分为通用部分。应理解,图2所示的配置报文仅仅是作为一种示例,不应构成具体的限定。
在本申请具体的实施例中,配置报文模板可以通过将已知配置报文的选填部分的内容用占位符代替得到。以图2所示的已知配置报文为例,使用占位符进行替代后,就可以得到如图3所示的配置报文模板。具体地,图3所示的配置报文模板可以是这样得到的:将图2中的第五行的数据库运行数据库(即,图2第五行的running部分)用占位符$DataStore$代替,将图2中的第九行的对象虚拟系统(即,图2第九行中的vsys部分)用占位符$Entity$代替,将图2中第九行的对象虚拟系统的属性,即图2第九行中的xmlns=“um:huawei:params:xml:ns:yang:huawei-vsys”部分用占位符$EntityPath$代替,将图2中第十行的对象虚拟系统的属性,即图2中第十行的xmlns:nc=“urn:ietf:params:xml:ns:netconf:base:1.0”部分用占位符$xmlns$代替,将图2中第十一行的操作对象虚拟系统的属性,即图2中第十一行的vsys部分使用占位符$EntityInstance$代替,将图2中第十一行的操作动作,即图2中第十一行的nc:operation=create部分使用占位符$Operation$代替,将图2中的第十二行至第十五行的属性,即图2中的第十二行至第十五行的<name>vsys1</name>至<assign-vlan>10</assign-vlan>部分使用占位符$Attributes$代替,将第十六行的对象虚拟系统的属性,即图2中第十六行的vsys部分使用占位符$EntityInstance$代替,将第十七行的对象虚拟系统,即,图2第十七行的vsys部分使用占位符$Entity$代替。应理解,图3所示的配置报文模板仅仅是一个具体的示例,不应构成限定。
在本申请具体的实施例中,正确填充内容可以是将配置信息经过知识图谱实例搜索、匹配、验证或者纠正后得到的。
在本申请具体的实施例中,配置信息可以是用户根据预设问题的引导填入的与预设问题对应的用户答案。例如,预设问题可以包括:(1)保存在哪个配置数据库?(2)配置目标对象是什么?(3)操作类型是什么?(4)配置内容是什么?理想的用户输入的问题(1)的用户答案可以是运行数据库(running)以及申请数据库(candidate)等等中的任意一种,问题(2)的用户答案可以是虚拟系统(vsys)、虚拟局域网(vlan)以及虚拟可扩展局域网(vxlan)等等中的任意一种,问题(3)的用户答案可以是创建(create)、代替(replace)和删除(delete)等等中的任意一种,问题(4)的用户答案可以是姓名(name)、描述(description)、资源类(resource-class)、指定接口(assign-interface)、指定虚拟局域网络(assign-vlan)、指定可扩展虚拟局域网(assign-vxlan)等等中的一个或者多个。非理想的用户输入的用户答案是不可控的,以问题3为例,尽管正确的用户答案应该为英文的“create”,但是,用户输入的用户答案可能是“create”的中文翻译“创建”,可能是英文“create”的错别字“craete”,可能是“create”的中文翻译“创建”的错别字“创健”等等,甚至于,用户输入的用户答案可能完全与英文“create”不相关。
此外,预设问题还可以包括提示信息,以提示用户如何输入答案。例如,可以在问题“(1)保存在哪个配置数据库?”的后面加上提示信息(running/candidate),从而得到问题“(1)保存在哪个配置数据库?(running/candidate)”,以使得用户可以根据提醒信息从运行数据库(running)以及申请数据库(candidate)中选择合适的数据库进行输入,从而提高用户输出用户答案的准确性。
在本申请具体的实施例中,知识图谱包括节点和边,节点之间可以通过边进行连接。其中,知识图谱中的节点和边可以根据配置报文的选填部分进行设置。下面将结合图4进行详细的说明。
节点包括网络配置(netconf)实体节点、数据库节点、目标实体节点、操作节点以及属性节点中的一种或者多种。其中,netconf实体节点为根节点,数据库节点可以是根据配置报文的选填部分的数据库进行设置的,目标实体节点可以是根据配置报文选填部分的对象进行设置的,操作节点可以是根据配置报文选填部分的对象进行设置的,属性节点可以是根据配置报文选填部分的属性进行设置的。简单来说,配置报文的数据库、对象、操作以及属性与知识图谱的数据库节点、目标实体节点、操作节点以及属性节点存在一一对应关系。
边可以包括单向边以及双向边。由于配置报文的数据库、对象、操作关系以及属性之间不存在直接关系,因此,数据库节点、目标实体节点、操作节点以及属性节点之间也不存在连接的边。而且,对根节点和数据库节点、目标实体节点、操作节点以及属性节点之间的关系进行分析,可以确定数据库节点通过单向边连接netconf实体节点,netconf实体节点可以分别通过单向边连接数操作节点以及属性节点,netconf实体节点还可以通过双向边连接目标实体节点。更具体地,数据库节点通过包含单向边连接netconf实体节点,netconf实体节点分别通过包含单向边连接操作节点,netconf节点可以通过拥有单向边连接属性节点,netconf实体节点通过等于双向边连接目标实体节点。这里,包含单向边用于表示被连接的双方之间具有包含关系,包含关系用于表示单向的弱连接关系。拥有单向边用于表示被连接的双方之间具有拥有关系,拥有关系用在实体和属性之间,是一种单向强连接关系。等于双向边用于表示被连接的双方之间具有等于关系,等于关系用于表示目标实体节点和网络配置实体节点之间是等价的。
应理解,图4所示知识图谱仅仅是一个举例,此处不作具体限定。
在本申请具体的实施例中,知识图谱实例可以是通过将大量已知配置报文的选填部分的内容填入知识图谱的对应节点得到的。利用图2所示的已知配置报文,来丰富图4所示的知识图谱,可以得到如图5所示知识图谱实例。具体地,图5所示的知识图谱实例可以是这样得到的:根据图2中第五行中的运行数据库(running)在图4所示的知识图谱基础上增加运行(running)节点,并使得数据库节点通过赋值单向边连接运行节点;根据图2中第九行中的对象虚拟系统在图4所示的知识图谱基础上增加虚拟系统(vsys)节点,并使得目标实体节点通过赋值单向边连接虚拟系统节点,并将虚拟系统的属性xmlns=“um:huawei:params:xml:ns:yang:huawei-vsys”,虚拟系统的属性xmlns:nc=“urn:ietf:params:xml:ns:netconf:base:1.0”,虚拟系统的属性vsys写入到虚拟系统节点中;根据图2中第十一行的操作vsys nc:operation=create在图4所示的知识图谱基础上增加创建(create)节点,并使得操作节点通过赋值单向边连接创建节点;根据图2中第十二行至十五行的属性<name>vsys1</name>至<assign-vlan>10</assign-vlan>在图4的基础上增加姓名(name)节点、资源类(resource-class)节点以及指定虚拟网络(assign-vlan)节点,其中,属性节点通过包含单向边连接姓名节点,属性节点通过包含单向边连接资源类节点,属性节点通过包含单向边连接指定虚拟网络节点。
可以理解,图5所示的知识图谱实例仅仅是根据如图2所示的配置报文得到的知识图谱实例,随着已知配置报文的数量增多,知识图谱实例的内容越丰富。在一具体的实施例中,通过多个已知配置报文对知识图谱进行丰富后,可以得到如图6所示的知识图谱实例。
如图6所示,如果用于丰富知识图谱的已知配置报文的选填部分的数据库还包括申请数据库,则知识图谱实例在数据库节点之下还会相应生成对应的申请数据库节点;如果用于丰富知识图谱的已知配置报文的选填部分的对象还包括虚拟局域网(vlan)以及虚拟可扩展局域网(vxlan),则知识图谱实例在目标实体节点之下还会相应生成vlan节点以及vxlan节点;如果用于丰富知识图谱的已知配置报文的选填部分的操作包括删除以及代替,则知识图谱实例在操作节点之下还会相应生成删除节点以及代替节点。尽管图6中未示出,但是,如果用于丰富知识图谱的已知配置报文的选填部分的数据库、对象、操作以及属性还包括其他的内容,则还可以在知识图谱实例中生成相应的节点。例如,如果用于丰富知识图谱的已知配置报文的选填部分的操作还包括获取(get)以及获取配置(get-config),则知识图谱实例中的操作节点之间还可以增加获取(get)节点以及获取配置(get-config)节点;如果用于丰富知识图谱的已知配置报文的选填部分的属性还包括描述(description)、自定接口(assig-interface)、输入流(import-flow)以及指定可扩展虚拟网络(assign-vxlan)等等,则知识图谱实例节点还可以生成对应的描述(description)节点、自定接口(assig-interface)节点节点、输入流(import-flow)节点以及指定可扩展虚拟网络(assign-vxlan)节点等等。
在本申请具体的实施例中,知识图谱上的每个节点还可以设置同义节点或者近义节点。这里的同义节点或者近义节点可以包括同种语言的同义节点或者近义节点,也可以包括不同种语言的同义节点或者近义节点。以创建(creat)节点为例,英文的创建(create)节点的同种语言的同义节点或者近义节点可以包括英文的创造(make)节点、生产(produce)节点以及产生(generate)节点等等,创建(creat)节点的不同种语言的同义节点或者近义节点可以包括中文的“创造”节点、“创建”节点以及“产生”节点等等。另外,知识图谱上的每个节点还可以设置错别字节点,例如,英文的创建(create)节点的错别字节点包括craete节点等等。当然,知识图谱上的每个节点还可以设置不同种语言的同义节点或者近义词的错别字节点,例如,“创建”节点的错别字节点包括“创健”节点等等。可以理解,当知识图谱上的每个节点的同义节点、近义节点以及错别字节点越多,则知识图谱的智能化程度越高,容错性也越高。
在本申请具体的实施例中,所述知识图谱实例可以通过下述方式建立或初始化。
在第一种方式中,知识图谱实例可以适用于任何可能的用户。应理解,形成知识图谱实例的已知配置报文可以是在有限的范围内被一一列举出来的,因此,形成知识图谱实例的网络配置节点、数据库节点、对象节点、操作节点以及属性节点等等都是可以在有限范围内被一一列举出来的。当使用足够的多的已知配置报文去丰富知识图谱实例之后,知识图谱实例可以适用于任何可能的用户。也就是说,任何一个用户都可以通过网管设备中的知识图谱实例根据配置信息生成配置报文。
在第二种方式中,知识图谱实例可以适用于使用网管设备生成配置报文的用户。在使用的过程中,收集使用网管设备生成配置报文的用户使用到的已知配置报文,并使用收集到的已知配置报文逐步丰富知识图谱实例。也就是说,在初始时刻,知识图谱实例可以是空白的,在使用的过程中逐步丰富知识图谱实例,从而为用户提供个性化的知识图谱实例。
用户还可以从服务器上获取知识图谱实例。其中,服务器可以是网管设备的服务平台,服务器上存储了各个用户的知识图谱实例,当用户从一个网管设备切换到另一个网管设备时,用户可以从服务器上获取其对应的知识图谱实例以对网管设备进行初始化。
在本申请具体的实施例中,网管设备通过知识图谱实例对用户答案的验证或纠正以得到正确填充内容,并填充知识图谱的模板以得到配置报文的过程如下:
假设针对上述四个预设问题,用户答案分别为(1)运行数据库(running)。(2)虚拟系统(vsys)。(3)创建(create)。(4)name=vsys1&resource-class=rc1&assign-vlan=10。网管设备根据用户回答的问题(1)的答案运行数据库(running)去知识图谱实例中查询数据库节点下是否存在与之相连的运行数据库节点,并且,数据库节点和运行数据库节点之间边的关系是赋值关系,则使用“running”替换配置报文模板中的占位符$DataStore$。然后,根据用户回答的问题(2)的用户答案虚拟系统(vsys),去找数据库节点下是否包含虚拟系统网络配置(vsys netConf)节点,如果存在vsys netconf节点,那么则根据其等于的目标实体节点下的赋值节点即,虚拟系统(vsys)节点的名称以及属性,使用“vsys”填充配置报文模板中的占位符$Entity$,使用xmlns=“um:huawei:params:xml:ns:yang:huawei-vsys”填充配置报文模板中的占位符$EntityPath$,使用xmlns:nc=“urn:ietf:params:xml:ns:netconf:base:1.0”填充配置报文模板中的占位符$xmlns$,使用“vsys”填充配置报文模板中的占位符$EntityInstance$。之后,根据用户回答的问题(3)的用户答案创建(create)在知识图谱实例中查询vsys netconf节点关联的操作节点之下的赋值节点是否包括创建节点,如果存在,那么将nc:operation=create填充到配置报文模板中的占位符$Operation$。最后,根据用户回答的问题(4)的用户答案name=vsys1&resource-class=rc1&assign-vlan=10,继续查找vsys netConf节点下的attributes节点下是否存在name节点、resource-class节点和assign-vlan节点。如果存在,那么就会获得姓名标签<name>、资源类标签<resource-class>以及指定虚拟局域网标签<assign-vlan>,以及自由填充内容“vsys1”、“rc1”以及“10”,并使用<name>vsys1</name>,<resource-class>rc1</resource-class>以及<assign-vlan>10</assign-vlan>填充到配置报文模板中的占位符$Attributes$。在上述占位符都填充完毕之后,就可以得到完整的配置报文。
可以理解,如果用户输入的用户答案在知识图谱实例中无法匹配,那么网管设备则拒绝生成配置报文,并向用户发出错误提示。下面将进行几个举例进行说明。
在第一个例子中,假设针对上述四个预设问题,用户答案分别为(1)运行数据库(running)(2)虚拟系统(vsys)(3)获取(get)(4)get的属性。
网管设备根据用户回答的问题(1)的答案运行数据库(running)去知识图谱实例中查询数据库节点下是否存在与之相连的运行数据库节点,并且,数据库节点和运行数据库节点之间边的关系是赋值关系,则使用running替换配置报文模板中的占位符$DataStore$。然后,根据用户回答的问题(2)的用户答案虚拟系统(vsys),去找数据库节点下是否包含vsys netConf节点,如果存在vsys netconf节点,那么则根据其等于的目标实体节点下的赋值节点虚拟系统节点的名称以及属性,使用vsys填充配置报文模板中的占位符$Entity$,使用xmlns=“um:huawei:params:xml:ns:yang:huawei-vsys”填充配置报文模板中的占位符$EntityPath$,使用xmlns:nc=“urn:ietf:params:xml:ns:netconf:base:1.0”填充配置报文模板中的占位符$xmlns$,使用vsys填充配置报文模板中的占位符$EntityInstance$。之后,根据用户回答的问题(3)的用户答案获取(get)发现与vsysnetConf节点相连的操作节点之下的赋值节点不包括获取节点,所以,网管设备拒绝生成配置报文,并向用户发出错误提示。
在第二个例子中,假设针对上述四个预设问题,用户答案分别为(1)运行数据库(running)(2)虚拟系统(vsys)(3)创建(create)(4)id=1&tenant=tom。网管设备根据用户回答的问题(1)的答案运行数据库(running)去知识图谱实例中查询数据库节点下是否存在与之相连的运行数据库节点,并且,数据库节点和运行数据库节点之间边的关系是赋值关系,则使用running替换配置报文模板中的占位符$DataStore$。然后,根据用户回答的问题(2)的用户答案虚拟系统(vsys),去找数据库节点下是否包含vsys netConf节点,如果存在vsys netconf节点,那么则根据其等于的目标实体节点下的赋值节点,即,虚拟系统节点的名称以及属性,使用vsys填充配置报文模板中的占位符$Entity$,使用xmlns=“um:huawei:params:xml:ns:yang:huawei-vsys”填充配置报文模板中的占位符$EntityPath$,使用xmlns:nc=“urn:ietf:params:xml:ns:netconf:base:1.0”填充配置报文模板中的占位符$xmlns$,使用vsys填充配置报文模板中的占位符$EntityInstance$。之后,根据用户回答的问题(3)的用户答案创建(create)在知识图谱实例中查询vsys netconf节点关联的操作节点之下的赋值节点是否包括创建节点,如果存在,那么将nc:operation=create填充到配置报文模板中的占位符$Operation$。最后,根据用户回答的问题(4)的用户答案id=1&tenant=tom,发现与vsys netConf节点相连的属性节点的赋值节点并不包括ID节点和tenant节点,所以,网管设备拒绝生成配置报文,并向用户发出错误提示。
在一些情况下,尽管用户输入的用户答案在知识图谱实例中无法匹配,但是,网管设备仍然会生成配置报文,但是,会向用户发出提示信息。
假设针对上述四个预设问题,用户答案分别为(1)运行数据库(running)(2)虚拟系统(vsys)(3)创建(create)(4)name=vsys1&tenant=tom。网管设备根据用户回答的问题(1)的答案运行数据库(running)去知识图谱实例中查询数据库节点下是否存在与之相连的运行数据库节点,并且,数据库节点和运行数据库节点之间边的关系是赋值关系,则使用running替换配置报文模板中的占位符$DataStore$。然后,根据用户回答的问题(2)的用户答案虚拟系统(vsys),去找数据库节点下是否包含vsys netConf节点,如果存在vsysnetconf节点,那么则根据其等于的目标实体节点下的赋值节点虚拟系统节点的名称以及属性,使用vsys填充配置报文模板中的占位符$Entity$,使用xmlns=“um:huawei:params:xml:ns:yang:huawei-vsys”填充配置报文模板中的占位符$EntityPath$,使用xmlns:nc=“urn:ietf:params:xml:ns:netconf:base:1.0”填充配置报文模板中的占位符$xmlns$,使用vsys填充配置报文模板中的占位符$EntityInstance$。之后,根据用户回答的问题(3)的用户答案创建(create)在知识图谱实例中查询vsys netconf节点关联的操作节点之下的赋值节点是否包括创建节点,如果存在,那么将nc:operation=create填充到配置报文模板中的占位符$Operation$。最后,根据用户回答的问题(4)的用户答案name=vsys1&tenant=tom,发现与vsys netConf节点相连的属性节点的赋值节点包括姓名(name)节点,但是,不包括租用(tenant)节点,所以,使用<name>vsys1</name>填充到配置报文模板中的占位符$Attributes$,生成配置报文。但是,由于租用t节点并没有匹配成功,所以,网管设备会向用户发出提示信息,让用户确认是否生成了用户所需要的配置报文。
在本申请具体的实施例中,如果知识图谱实例中还设置了同义词节点或者近义词节点,那么,尽管用户输入的用户答案是理想用户答案的同义词或者近义词,而并非是理想用户答案,但是,如果网管设备能够在知识图谱实例找到同义词节点或者近义词节点,那么就可以自动映射到该同义词节点或者近义词节点对应的节点。例如,假设用户输入问题(3)的用户答案为中文的“创建”,则根据用户回答的问题(3)的用户答案“创建”在知识图谱实例中查询vsys netconf节点关联的操作节点之下的赋值节点是否包括中文的创建节点,如果存在,则自动映射到英文的创建(create)节点,并将“create”填充到配置报文模板中的$Operation$字段中。类似地,如果知识图谱实例中设置了错别字节点,那么,网管设备也能够将查找到的知识图谱实例中的错别字节点映射到该错别字节点对应的节点,从而对错别字进行纠正。
在本申请具体的实施例中,在得到完整的配置报文之后,网管设备可以将配置报文发送给网络设备,以对网络设备进行配置。
在本申请具体的实施例中,如图7所示,在网管设备将配置报文下发到网络设备之前,还通过设置在网管设备和网络设备之间的配置验证设备对配置报文进行验证。具体地,
(1)配置验证设备需要采集整个网络的网络设备的配置报文。
(2)配置验证设备根据上述构建知识图谱实例的方法,重构整个网络的配置知识图谱。
(3)配置验证设备对网络设备发送的配置报文进行验证:(1)直接对配置报文进行验证,例如,配置报文中的姓名(name)标签对应的值(例如,图2中第十二行的vsys1)是否符合规范,不能有特殊字符;(2)结合配置知识图谱对配置报文进行校验。假设生成的配置知识图谱如下图8所示,vsys netconf节点下的指定虚拟局域网(assign-vlan)节点通过代表关联关系的双向节点连接vlan netconf节点下的ID节点,并且ID节点通过代表赋值关系的单向边连接10节点,vsys netconf节点下的资源类(resource-class)节点通过代表关联关系的双向节点连接vsys netconf节点下的姓名(name)节点,并且姓名(name)节点通过代表赋值关系的单向边连接rc0节点。
(4)以图2所示的配置报文为例,配置报文中的第十四行中的资源类(resource-class)标签的值为rc1,第十五行中的指定虚拟局域网(assign-vlan)标签的值为10,那么,在匹配配置知识图谱的时候可以发现指定虚拟局域网(assign-vlan)节点是和虚拟局域网实体中的id节点关联的,而id节点也和10节点相连,匹配通过。然后,再去匹配资源类(resource-class)节点,发现资源类(resource-class)节点和资源类实体中的姓名(name)属性关联,而该姓名(name)节点下只存在rc1节点,不存在rc0节点,所以验证失败。
在本申请具体的实施例中,网管设备对网络设备进行配置的方式至少包括以下几种:
在第一种方式中,网管设备单独对网络设备进行配置。例如,网管设备需要对A网络设备至D网络设备进行配置,则网管设备可以根据用户输入的A用户答案生成A配置报文,并发送给A网络设备进行配置,……,可以根据用户输入的D用户答案生成D配置报文,并发送给D网络设备进行配置。可以理解,该方法可以适用于网管设备需要对不同的网络设备设置不同的配置的场景。
在第二种方式中,网管设备同时对多台网络设备进行相同的配置。例如,网管设备需要对A网络设备至D网络设备进行配置,则网管设备可以根据用户输入的用户答案生成配置报文,并将配置报文分别发送给A网络设备至D网络设备进行配置。可以理解,该方法可以适用于网管设备需要对不同的网络设备设置相同的配置的场景。
在第三种方式中,网管设备同时对多台网络设备进行不同配置。例如,网管设备需要对A网络设备至D网络设备进行配置,则网管设备可以根据用户输入的用户答案分别生成A配置报文至D配置报文,并且,网管设备将A配置报文发送给A网络设备进行配置,……,将D配置报文发送给D网络设备进行配置。可以理解,该方法可以适用于网管设备需要对不同的网络设备设置不同的配置的场景,并且,能够减少配置网络设备所需要的时间。
图9是本申请提供的一种配置报文生成方法的流程示意图。如图9所示,本申请提供的配置报文生成方法包括:
S101:第一网管设备获取用户输入的第一网络设备的配置信息。
在本申请具体的实施例中,第一网管设备和第一网络设备均是网络系统中的设备,其中,所述第一网管设备可以对第一网络设备的配置进行查询、增加、修改以及删除等等。以软件自定义网络(software defined network,SDN)为例,第一网络设备可以是SDN控制器,第一网络设备可以是SDN网络设备。
在本申请具体的实施例中,配置信息可以是用户自行输入的信息,也可以是用户根据网管设备提出的预设问题输入的用户答案。其中,预设问题可以是一次性展示给用户看的,也可以是逐次展示给用户看的。以上文中的四个预设问题为例,网管设备可以一次将四个问题展示给用户看的,也可以是先将第一个问题展示给用户看,在用户输入第一问题的答案之后,再根据第一个问题的答案找到第二个问题并展示为用户看,依此类推,直到最后一个问题被展示给用户看。为了简便陈述,预设问题、用户答案以及预设问题与用户答案之间的关系可以参考上文,此处不再展开描述。
S102:在所述配置信息与知识图谱实例匹配的情况下,从所述知识图谱实例中获取与所述配置信息对应的正确填充内容,以及,从所述配置信息中获取自由填充内容。
在本申请具体的实施例中,配置报文可以包括通用部分以及选填部分。其中,不同的配置报文的通用部分是相同的,不同的配置报文的选填部分是不同的。也就是说,配置报文的通用部分构成了配置报文的主体。选填部分通常包括数据库、对象、操作以及属性等等。
在本申请具体的实施例中,知识图谱包括网络配置实体节点、数据库节点、目标实体节点、操作节点以及属性节点,其中,数据库节点通过单向包含边连接网络配置实体节点,网络配置实体节点通过双向等价边连接目标实体节点,网络配置实体节点通过单向拥有边连接属性节点,网络配置实体节点通过单向包含边连接操作节点,所述单向包含边用于表示被连接的两个节点之间存在包含关系,所述双向等价边用于表示被连接的两个节点之间存在等于关系,所述单向拥有边用于表示被连接的两个节点之间存在拥有关系。
在本申请具体的实施例中,知识图谱实例可以是根据已知配置报文生成的。其中,已知配置报文可以是第一网管设备发送给第一网络设备,以对第一网络设备进行配置的报文,也可以是第一网管设备发送给其他网络设备,以对其他网络设备(例如,第二网络设备)进行配置的报文,也可以是其他网管设备(例如,第二网管设备)发送给第一网络设备,以对第一网络设备进行配置的报文,甚至,还可以是其他网管设备(例如,第二网管设备)发送给其他网络设备(例如,第二网络设备),以对其他网络设备(例如,第二网络设备)进行配置的报文。已知配置报文可以是从第一网管设备所在的网络系统获取得到的,也可以是从其他的网络系统获取得到的,此处不作具体限定。
在本申请具体的实施例中,为了减少数据量,知识图谱实例可以是根据已知配置报文的选填部分生成的。具体地,在所述知识图谱上生成与所述数据库对应的第一数据库节点,并使得所述数据库节点通过单向赋值边连接所述第一数据库节点;在所述知识图谱上生成与所述对象对应的第一对象节点,并使得所述目标实体节点通过单向赋值边连接所述第一对象节点;在所述知识图谱上生成与所述操作对应的第一操作节点,并使得所述操作节点通过单向赋值边连接所述第一操作节点;在所述知识图谱上生成与所述属性对应的第一属性节点,并使得所述属性节点通过单向赋值边连接所述第一属性节点。这里,所述单向赋值边用于表示被连接的两个节点之间存在赋值关系。
在本申请具体的实施例中,知识图谱实例还可以包括第一数据库同型节点、第一对象同型节点、第一操作同型节点以及第一属性同型节点等等。其中,所述第一数据库同型节点包括第一数据库同义节点、第一数据库近义节点以及第一数据库错别字节点中的一种或者多种。所述第一对象同型节点包括第一对象同义节点、第一对象近义节点以及第一对象错别字节点中的一种或者多种。所述第一操作同型节点包括第一操作同义节点、第一操作近义节点以及第一操作错别字节点中的一种或者多种。所述第一属性同型节点包括第一属性同义节点、第一属性近义节点以及第一属性错别字节点中的一种或者多种。
在一具体的实施例中,第一数据库节点可以是运行数据库节点(running节点)、申请数据库节点(candidate节点)等等。第一数据库同型节点可以是第一数据库同义节点,例如run节点,第一数据库错别字节点,例如ran节点等等。同理,第一对象节点、第一操作节点、第一属性节点、第一对象同型节点、第一操作同型节点以及第一属性同型节点等等均可以参考上文中的陈述,此处不再展开赘述。
在本申请具体的实施例中,知识图谱实例还可以是这样生成的:在所述知识图谱上生成与所述数据库对应的第一数据库同型节点,并使得所述数据库节点通过单向赋值边连接所述第一数据库同型节点,在所述知识图谱上生成与所述对象对应的第一对象同型节点,并使得所述目标实体节点通过单向赋值边连接所述第一对象同型节点;在所述知识图谱上生成与所述操作对应的第一操作同型节点,并使得所述操作节点通过单向赋值边连接所述第一操作同型节点;在所述知识图谱上生成与所述属性对应的第一属性同型节点,并使得所述属性节点通过单向赋值边连接所述第一属性同型节点。
在本申请具体的实施例中,将所述正确填充内容以及所述自由填充内容填入所述配置报文模板中,从而生成第一配置报文,至少包括以下两种情况:
第一种情况,在所述第一数据库节点或者所述第一数据库同型节点中的任意一种和所述数据库匹配、所述第一对象节点或者所述第一对象同型节点中任意一种和所述对象匹配、所述第一操作节点或者所述第一操作同型节点中的任意一种和所述操作匹配,以及,所述第一属性节点或者所述第一属性同型节点中的任意一种和所述属性均匹配的情况下,将所述第一数据库节点的名称、所述第一对象节点的名称以及属性、所述第一操作节点的名称、所述第一属性节点的名称以及所述自由填充内容填入所述配置报文模板中,从而生成第一配置报文。
第二种情况,在所述第一数据库节点或者所述第一数据库同型节点中的任意一种和所述数据库匹配、所述第一对象节点或者所述第一对象同型节点中任意一种和所述对象匹配、所述第一操作节点或者所述第一操作同型节点中的任意一种和所述操作匹配,以及,所述第一属性节点或者所述第一属性同型节点中的任意一种和所述属性均匹配的情况下,将所述第一数据库节点的名称、所述第一对象节点的名称以及属性、所述第一操作节点的名称、所述第一属性节点的名称以及所述自由填充内容填入所述配置报文模板中,从而生成第一配置报文。
在本申请具体的实施例中,知识图谱实例可以是预先生成好并设置在网管设备中的,也可以是网管设备在使用过程中慢慢丰富起来的。也就是说,在第一种情况下,知识图谱实例可以在初始时刻就已经完成了,网管设备可以直接使用知识图谱实例生成配置报文,在使用过程中,知识图谱实例并不会发生变化。在第二种情况下,知识图谱实例在初始时刻是空白的,在使用过程中,网管设备可以根据用户生成的配置报文进行学习,从而逐步丰富知识图谱实例。当然,知识图谱实例还可以在初始时刻已经不是空白的了,在用户使用的过程中,网管设备根据用户生成的配置报文进行学习,从而逐步丰富知识图谱实例。
在本申请具体的实施例中,正确填充内容可以是知识图谱实例对用户答案进行搜索、匹配和纠正后得到的。可以理解,为了便于网络设备能够识别,配置报文的格式和内容都是固定的,任何一点小偏差,都可能导致网络设备无法正确识别配置报文。例如,配置报文中的操作动作为create,那么,如果配置报文中填入的操作动作写成了creating,那么网络设备就无法进行识别。但是,对于用户来说,除非用户非常熟悉配置报文,否则用户很难完全正确输入。因此,网管设备通过对用户答案进行搜索、匹配和纠正之后,能够根据用户输入的用户答案得到正确填充内容,以对配置报文模板进行正确的填充。
在本申请具体的实施例中,自由填充内容可以是从用户答案中获取得到的。此外,网管设备还可对自用填充内容的合法性进行验证,例如,自由填充内容必须是数字和字母的组合,不可以包括@#$%等等特殊字符。以上述例子中的用户答案包括name=vsys1&resource-class=rc1&assign-vlan=10为例,自由填充内容可以包括vsys1、rc1以及10等等。
为了简便陈述,这里并没有对知识图谱实例、知识图谱实例的建立以及如何通过知识图谱实例对用户答案进行搜索、匹配和纠正进行介绍,具体请参见上述相关内容介绍。
S103:将所述正确填充内容以及所述自由填充内容填入所述配置报文模板中,从而生成第一配置报文。
在本申请具体的实施例中,配置报文模板可以通过将已知配置报文的选填部分的内容用占位符代替得到。其中,占位符可以通过“$?$”的形式进行表示,也就是说,从第一个$开始至第二个$之间的字符都需要被代替(包括两个$符号)。当然,占位符也可以通过别的形式进行表示,例如,“&?&”或者“%?%”等等,此次不作具体限定。
S104:将所述第一配置报文发送给第一网络设备,以对所述第一网络设备进行配置。
参阅图10,图10是本申请提供的一种配置报文生成系统的结构示意图。如图10所示,本申请提供的配置报文生成系统,包括:第一获取模块101、第二获取模块102、填入模块103以及发送模块104。其中,网管设备和网络设备均是网络系统中的设备,其中,所述网管设备可以对网络设备的配置进行查询、增加、修改以及删除等等。以SDN为例,网络设备可以是SDN控制器,网络设备可以是SDN网络设备,网管设备通过有线或者无线的方式连接网络设备。
第一获取模块101用于获取用户输入的第一网络设备的配置信息。
第二获取模块102用于在所述配置信息与知识图谱实例匹配的情况下,从所述知识图谱实例中获取与所述配置信息对应的正确填充内容,以及,从所述配置信息中获取自由填充内容。
填入模块103用于将所述正确填充内容以及所述自由填充内容填入所述配置报文模板中,从而生成第一配置报文。
发送模块104用于将所述第一配置报文发送给第一网络设备,以对所述第一网络设备进行配置。
这里,第一获取模块101可以用于执行如图9所示的配置报文生成方法中的步骤S101,第二获取模块102可以用于执行如图9所示的配置报文生成方法中的步骤S102,填入模块103可以用于执行如图9所示的配置报文生成方法中的步骤S103,发送模块104可以用于执行如图9所示的配置报文生成方法中的步骤S104。具体请参见图9以及相关描述,此次不在展开赘述。
本申请的配置报文生成系统可以在计算节点中实现,也可以在云计算基础设施上实现,此处不做具体限定。下面将分别介绍如何在计算节点和云计算基础设施上实现图10所示的问答引擎。
参见图11,图11是本申请中提供的一实施方式的计算节点的结构示意图。本实施方式的配置报文生成系统可以在如图11所示的计算节点中实现。本实施方式的计算节点可以是网管设备200,网管设备200包括处理器211、通信接口212和存储器213。其中,处理器211、通信接口212和存储器213之间可以通过总线214连接。其中,网管设备200还提供了两种对外的接口界面,分别是面向配置报文生成系统的维护人员的管理界面215以及面向用户的用户界面216。其中,接口界面的形态可以是多样的,例如web界面、命令行工具、REST接口等。
处理器211包括通用处理器,例如中央处理器(Central Processing Unit,CPU)、网络处理器(network processor,NP)或其组合。所述处理器211还可以包括硬件芯片,例如微处理器、微控制器、ASIC(Application Specific Integrated Circuit,专用集成电路),可编程逻辑器件(英文:programmable logic device,缩写:PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(英文:complex programmable logic device,缩写:CPLD),现场可编程逻辑门阵列(英文:field-programmable gate array,缩写:FPGA),通用阵列逻辑(英文:generic array logic,缩写:GAL)器件或其任意组合。
处理器211可以执行各种类型的数字存储指令,例如存储在存储器213中的软件或者固件程序,以使网管设备200提供多种服务。例如,处理器211能够执行程序或者处理数据,以执行本文讨论的方法的至少一部分。其中,图10所示的配置报文生成系统中的第一获取模块以及第二获取模块可以运行在处理器211中。
通信接口212可以为有线接口(例如以太网接口),用于与其他计算节点或用户进行通信。图10所示的配置报文生成系统中的发送模块可以运行在通信接口212中。
存储器213可以包括易失性存储器(VolatileMemory),例如随机存取存储器(Random Access Memory,RAM);存储器也可以包括非易失性存储器(Non-VolatileMemory),例如只读存储器(Read-OnlyMemory,ROM)、快闪存储器(FlashMemory)、硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-StateDrive,SSD)。存储器还可以包括上述种类的存储器的组合。这里,知识图谱实例和配置报文模块都可以存储在存储器213中。
应当理解,网管设备200仅为本申请实施例提供的一个例子,并且,网管设备200可具有比示出的部件更多或更少的部件,可以组合两个或更多个部件,或者可具有部件的不同配置实现。
上述网管设备200用于执行图9所示的配置报文生成方法流程中的步骤,为了简便起见,此处不再展开赘述,具体请参见图9以及相关描述。
参见图12,图12是本申请中提供的一实施方式的计算集群的结构示意图。图10所示的配置报文生成系统可以在如图12所示的计算集群300中实现。也就是说,网管设备可以是计算节点集群,计算节点集群包括包括至少一个计算节点310以及至少一个存储节点320。其中,网管设备还提供了两种对外的接口界面,分别是面向配置报文生成系统的维护人员的管理界面331以及面向用户的用户界面332。其中,接口界面的形态可以是多样的,例如web界面、命令行工具、REST接口等。
计算节点310包括处理器311、通信接口312和存储器313。其中,处理器311、通信接口312和存储器313之间可以通过总线314连接。
处理器311包括通用处理器,例如中央处理器、网络处理器或其组合。所述处理器311还可以包括硬件芯片,例如微处理器、微控制器、ASIC,可编程逻辑器件或其组合。上述PLD可以是复杂可编程逻辑器件,现场可编程逻辑门阵列,通用阵列逻辑器件或其任意组合。
处理器311可以执行各种类型的数字存储指令,例如存储在存储器313中的软件或者固件程序,以使网管设备300提供多种服务。例如,处理器311能够执行程序或者处理数据,以执行本文讨论的方法的至少一部分。其中,图10所示的配置报文生成系统中的第一获取模块以及第二获取模块可以运行在处理器311中。
通信接口312可以为有线接口(例如以太网接口),用于与其他计算节点或用户进行通信。图10所示的配置报文生成系统中的发送模块可以运行在通信接口312中。
存储器313可以包括易失性存储器(VolatileMemory),例如随机存取存储器(Random Access Memory,RAM);存储器也可以包括非易失性存储器(Non-VolatileMemory),例如只读存储器(Read-OnlyMemory,ROM)、快闪存储器(FlashMemory)、硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-StateDrive,SSD)存储器还可以包括上述种类的存储器的组合。
存储节点320包括存储控制器321和存储阵列322。其中,存储控制器321和存储阵列322之间可以通过总线323连接。
存储控制器321包括一个或者多个通用处理器,其中,通用处理器可以是能够处理电子指令的任何类型的设备,包括CPU、微处理器、微控制器、主处理器、控制器以及ASIC等等。它能够是仅用于单个存储节点320的专用处理器或者能够与计算节点或者其它存储节点共享。可以理解,在本实施例中,每个存储节点包括一个存储控制器,在其他的实施例中,也可以多个存储节点共享一个存储控制器,此处不作具体限定。
存储阵列322可以包括多个存储器。存储器可以是非易失性存储器,例如ROM、快闪存储器、HDD、SSD存储器或其任意组合。例如,存储阵列322可以是由多个HDD或者多个SDD组成,或者,存储阵列322可以是由HDD以及SDD组成。其中,多个存储器在存储控制器321的协助下按不同的方式组合起来形成存储器组,从而提供比单个存储器更高的存储性能和提供数据备份技术。这里,知识图谱实例和配置报文模块都可以存储在存储阵列322中。
上述计算节点集群用于执行图9所示的配置报文生成方法流程中的步骤,为了简便起见,此处不再展开赘述,具体请参见图9以及相关描述。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、存储盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态存储盘Solid State Disk(SSD))等。

Claims (16)

1.一种配置报文生成方法,其特征在于,包括:
网管设备获取用户输入的网络设备的配置信息;
在所述配置信息与知识图谱实例匹配的情况下,从所述知识图谱实例中获取与所述配置信息对应的正确填充内容,以及,从所述配置信息中获取自由填充内容;
将所述正确填充内容以及所述自由填充内容填入配置报文模板中,生成第一配置报文;
将所述第一配置报文发送给网络设备,以对所述网络设备进行配置。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取已知配置报文,其中,所述已知配置报文是所述网管设备发送给所述网络设备以对所述网管设备进行配置的报文;
根据所述已知配置报文生成所述知识图谱实例。
3.根据权利要求2所述的方法,其特征在于,根据所述已知配置报文生成所述知识图谱实例,包括:
从所述已知配置报文中获取选填部分,其中,所述已知配置报文包括通用部分以及所述选填部分,不同的已知配置报文的通用部分均相同,不同的已知配置报文的选填部分均不同;
根据所述选填部分生成所述知识图谱实例。
4.根据权利要求3所述的方法,其特征在于,知识图谱包括网络配置实体节点、数据库节点、目标实体节点、操作节点以及属性节点,其中,数据库节点通过单向包含边连接网络配置实体节点,网络配置实体节点通过双向等价边连接目标实体节点,网络配置实体节点通过单向拥有边连接属性节点,网络配置实体节点通过单向包含边连接操作节点;所述选填部分包括数据库、对象、操作以及属性,所述单向包含边用于表示被连接的两个节点之间存在包含关系,所述双向等价边用于表示被连接的两个节点之间存在等于关系,所述单向拥有边用于表示被连接的两个节点之间存在拥有关系;
根据所述选填部分生成所述知识图谱实例,包括:
在所述知识图谱上生成与所述数据库对应的第一数据库节点,并使得所述数据库节点通过单向赋值边连接所述第一数据库节点;
在所述知识图谱上生成与所述对象对应的第一对象节点,并使得所述目标实体节点通过单向赋值边连接所述第一对象节点;
在所述知识图谱上生成与所述操作对应的第一操作节点,并使得所述操作节点通过单向赋值边连接所述第一操作节点;
在所述知识图谱上生成与所述属性对应的第一属性节点,并使得所述属性节点通过单向赋值边连接所述第一属性节点;
其中,所述单向赋值边用于表示被连接的两个节点之间存在赋值关系。
5.根据权利要求4所述的方法,其特征在于,所述配置信息与知识图谱实例匹配包括:
所述第一数据库节点和所述数据库匹配、所述第一对象节点和所述对象匹配、所述第一操作节点和所述操作匹配,以及,所述第一属性节点和所述属性均匹配,则所述配置信息与知识图谱实例匹配;
所述将所述正确填充内容以及所述自由填充内容填入所述配置报文模板中,从而生成第一配置报文,包括:
将所述第一数据库节点的名称、所述第一对象节点的名称以及属性、所述第一操作节点的名称、所述第一属性节点的名称以及所述自由填充内容填入所述配置报文模板中,从而生成第一配置报文。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
在所述知识图谱上生成与所述数据库对应的第一数据库同型节点,并使得所述数据库节点通过单向赋值边连接所述第一数据库同型节点,所述第一数据库同型节点包括第一数据库同义节点、第一数据库近义节点以及第一数据库错别字节点中的一种或者多种;
在所述知识图谱上生成与所述对象对应的第一对象同型节点,并使得所述目标实体节点通过单向赋值边连接所述第一对象同型节点,所述第一对象同型节点包括第一对象同义节点、第一对象近义节点以及第一对象错别字节点中的一种或者多种;
在所述知识图谱上生成与所述操作对应的第一操作同型节点,并使得所述操作节点通过单向赋值边连接所述第一操作同型节点,所述第一操作同型节点包括第一操作同义节点、第一操作近义节点以及第一操作错别字节点中的一种或者多种;
在所述知识图谱上生成与所述属性对应的第一属性同型节点,并使得所述属性节点通过单向赋值边连接所述第一属性同型节点,所述第一属性同型节点包括第一属性同义节点、第一属性近义节点以及第一属性错别字节点中的一种或者多种。
7.根据权利要求6所述的方法,其特征在于,所述配置信息与知识图谱实例匹配,包括:
所述第一数据库节点或者所述第一数据库同型节点中的任意一种和所述数据库匹配、所述第一对象节点或者所述第一对象同型节点中任意一种和所述对象匹配、所述第一操作节点或者所述第一操作同型节点中的任意一种和所述操作匹配,以及,所述第一属性节点或者所述第一属性同型节点中的任意一种和所述属性均匹配,则所述配置信息与知识图谱实例匹配;
所述将所述正确填充内容以及所述自由填充内容填入所述配置报文模板中,从而生成第一配置报文,包括:
将所述第一数据库节点的名称、所述第一对象节点的名称以及属性、所述第一操作节点的名称、所述第一属性节点的名称以及所述自由填充内容填入所述配置报文模板中,从而生成第一配置报文。
8.根据权利要求1至7任一权利要求所述的方法,其特征在于,所述配置信息是用户根据预设问题输入的答案,其中,所述预设问题包括提示信息,所述提示信息用于提示用户正确输入所述预设问题的答案。
9.一种网管设备,其特征在于,包括:第一获取模块、第二获取模块、填入模块以及发送模块,
所述第一获取模块用于获取用户输入的网络设备的配置信息;
所述第二获取模块用于在所述配置信息与知识图谱实例匹配的情况下,从所述知识图谱实例中获取与所述配置信息对应的正确填充内容,以及,从所述配置信息中获取自由填充内容;
所述填入模块用于将所述正确填充内容以及所述自由填充内容填入配置报文模板中,生成第一配置报文;
所述发送模块用于将所述第一配置报文发送给网络设备,以对所述网络设备进行配置。
10.根据权利要求9所述的设备,其特征在于,所述设备还包括生成模块,
所述第一获取模块用于获取已知配置报文,其中,所述已知配置报文是所述网管设备发送给所述网络设备以对所述网管设备进行配置的报文;
所述生成模块用于根据所述已知配置报文生成所述知识图谱实例。
11.根据权利要求10所述的设备,其特征在于,所述生成模块还用于从所述已知配置报文中获取选填部分,其中,所述已知配置报文包括通用部分以及所述选填部分,不同的已知配置报文的通用部分均相同,不同的已知配置报文的选填部分均不同;根据所述选填部分生成所述知识图谱实例。
12.根据权利要求11所述的设备,其特征在于,知识图谱包括网络配置实体节点、数据库节点、目标实体节点、操作节点以及属性节点,其中,数据库节点通过单向包含边连接网络配置实体节点,网络配置实体节点通过双向等价边连接目标实体节点,网络配置实体节点通过单向拥有边连接属性节点,网络配置实体节点通过单向包含边连接操作节点;所述选填部分包括数据库、对象、操作以及属性,所述单向包含边用于表示被连接的两个节点之间存在包含关系,所述双向等价边用于表示被连接的两个节点之间存在等于关系,所述单向拥有边用于表示被连接的两个节点之间存在拥有关系;
所述生成模块还用于:
在所述知识图谱上生成与所述数据库对应的第一数据库节点,并使得所述数据库节点通过单向赋值边连接所述第一数据库节点;
在所述知识图谱上生成与所述对象对应的第一对象节点,并使得所述目标实体节点通过单向赋值边连接所述第一对象节点;
在所述知识图谱上生成与所述操作对应的第一操作节点,并使得所述操作节点通过单向赋值边连接所述第一操作节点;
在所述知识图谱上生成与所述属性对应的第一属性节点,并使得所述属性节点通过单向赋值边连接所述第一属性节点;
其中,所述单向赋值边用于表示被连接的两个节点之间存在赋值关系。
13.根据权利要求12所述的设备,其特征在于,所述配置信息与知识图谱实例匹配包括:
所述第一数据库节点和所述数据库匹配、所述第一对象节点和所述对象匹配、所述第一操作节点和所述操作匹配,以及,所述第一属性节点和所述属性均匹配,则所述配置信息与知识图谱实例匹配;
所述填入模块还用于将所述第一数据库节点的名称、所述第一对象节点的名称以及属性、所述第一操作节点的名称、所述第一属性节点的名称以及所述自由填充内容填入所述配置报文模板中,从而生成第一配置报文。
14.根据权利要求12所述的设备,其特征在于,所述生成模块还用于:
在所述知识图谱上生成与所述数据库对应的第一数据库同型节点,并使得所述数据库节点通过单向赋值边连接所述第一数据库同型节点,所述第一数据库同型节点包括第一数据库同义节点、第一数据库近义节点以及第一数据库错别字节点中的一种或者多种;
在所述知识图谱上生成与所述对象对应的第一对象同型节点,并使得所述目标实体节点通过单向赋值边连接所述第一对象同型节点,所述第一对象同型节点包括第一对象同义节点、第一对象近义节点以及第一对象错别字节点中的一种或者多种;
在所述知识图谱上生成与所述操作对应的第一操作同型节点,并使得所述操作节点通过单向赋值边连接所述第一操作同型节点,所述第一操作同型节点包括第一操作同义节点、第一操作近义节点以及第一操作错别字节点中的一种或者多种;
在所述知识图谱上生成与所述属性对应的第一属性同型节点,并使得所述属性节点通过单向赋值边连接所述第一属性同型节点,所述第一属性同型节点包括第一属性同义节点、第一属性近义节点以及第一属性错别字节点中的一种或者多种。
15.根据权利要求14所述的设备,其特征在于,所述第一数据库节点或者所述第一数据库同型节点中的任意一种和所述数据库匹配、所述第一对象节点或者所述第一对象同型节点中任意一种和所述对象匹配、所述第一操作节点或者所述第一操作同型节点中的任意一种和所述操作匹配,以及,所述第一属性节点或者所述第一属性同型节点中的任意一种和所述属性均匹配,则所述配置信息与知识图谱实例匹配;
所述填入模块还用于将所述第一数据库节点的名称、所述第一对象节点的名称以及属性、所述第一操作节点的名称、所述第一属性节点的名称以及所述自由填充内容填入所述配置报文模板中,从而生成第一配置报文。
16.一种计算机程序产品,其特征在于,当所述计算机程序产品被计算机读取并执行时,如权利要求1至8任一项所述的方法将被执行。
CN201910229154.0A 2019-03-25 2019-03-25 配置报文生成方法、设备以及系统 Active CN111740851B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910229154.0A CN111740851B (zh) 2019-03-25 2019-03-25 配置报文生成方法、设备以及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910229154.0A CN111740851B (zh) 2019-03-25 2019-03-25 配置报文生成方法、设备以及系统

Publications (2)

Publication Number Publication Date
CN111740851A true CN111740851A (zh) 2020-10-02
CN111740851B CN111740851B (zh) 2023-05-09

Family

ID=72645816

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910229154.0A Active CN111740851B (zh) 2019-03-25 2019-03-25 配置报文生成方法、设备以及系统

Country Status (1)

Country Link
CN (1) CN111740851B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113360672A (zh) * 2021-06-18 2021-09-07 北京百度网讯科技有限公司 用于生成知识图谱的方法、装置、设备、介质和产品
CN114047963A (zh) * 2021-11-26 2022-02-15 南方电网科学研究院有限责任公司 一种在线监测装置配置方法、装置、设备及存储介质

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1956394A (zh) * 2006-11-13 2007-05-02 杭州华为三康技术有限公司 进行网络设备业务配置的方法及装置
CN101068161A (zh) * 2007-06-26 2007-11-07 中兴通讯股份有限公司 一种动态生成网络设备配置策略组的方法
CN101102226A (zh) * 2007-06-28 2008-01-09 华为技术有限公司 一种基于snmp的通用配置方法及装置
CN101281622A (zh) * 2007-04-02 2008-10-08 英业达股份有限公司 知识管理系统及使用此知识管理系统导入管理软件的方法
CN103490941A (zh) * 2013-03-07 2014-01-01 中标软件有限公司 一种云计算环境中实时监控在线配置方法
CN105306273A (zh) * 2015-11-10 2016-02-03 中国建设银行股份有限公司 流程配置方法及装置
CN106850301A (zh) * 2017-02-14 2017-06-13 深圳市风云实业有限公司 一种基于意图的隧道配置方式
CN106886462A (zh) * 2017-02-23 2017-06-23 郑州云海信息技术有限公司 资源的添加方法及装置
CN107241222A (zh) * 2017-06-06 2017-10-10 郭得科 一种网络拓扑校准方法
CN107248937A (zh) * 2017-06-30 2017-10-13 北京百度网讯科技有限公司 一种基于物联网的与用户进行交互的方法与系统
US20180075145A1 (en) * 2016-09-09 2018-03-15 Robert Bosch Gmbh System and Method for Automatic Question Generation from Knowledge Base
CN108694053A (zh) * 2018-05-14 2018-10-23 平安科技(深圳)有限公司 基于Ansible工具自动搭建Kubernetes主节点的方法及终端设备
CN109446700A (zh) * 2018-11-09 2019-03-08 福州大学 面向智能家居情境感知服务的运行时建模与执行方法
US20190079753A1 (en) * 2017-09-08 2019-03-14 Devfactory Fz-Llc Automating Generation of Library Suggestion Engine Models

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1956394A (zh) * 2006-11-13 2007-05-02 杭州华为三康技术有限公司 进行网络设备业务配置的方法及装置
CN101281622A (zh) * 2007-04-02 2008-10-08 英业达股份有限公司 知识管理系统及使用此知识管理系统导入管理软件的方法
CN101068161A (zh) * 2007-06-26 2007-11-07 中兴通讯股份有限公司 一种动态生成网络设备配置策略组的方法
CN101102226A (zh) * 2007-06-28 2008-01-09 华为技术有限公司 一种基于snmp的通用配置方法及装置
CN103490941A (zh) * 2013-03-07 2014-01-01 中标软件有限公司 一种云计算环境中实时监控在线配置方法
CN105306273A (zh) * 2015-11-10 2016-02-03 中国建设银行股份有限公司 流程配置方法及装置
US20180075145A1 (en) * 2016-09-09 2018-03-15 Robert Bosch Gmbh System and Method for Automatic Question Generation from Knowledge Base
CN106850301A (zh) * 2017-02-14 2017-06-13 深圳市风云实业有限公司 一种基于意图的隧道配置方式
CN106886462A (zh) * 2017-02-23 2017-06-23 郑州云海信息技术有限公司 资源的添加方法及装置
CN107241222A (zh) * 2017-06-06 2017-10-10 郭得科 一种网络拓扑校准方法
CN107248937A (zh) * 2017-06-30 2017-10-13 北京百度网讯科技有限公司 一种基于物联网的与用户进行交互的方法与系统
US20190079753A1 (en) * 2017-09-08 2019-03-14 Devfactory Fz-Llc Automating Generation of Library Suggestion Engine Models
CN108694053A (zh) * 2018-05-14 2018-10-23 平安科技(深圳)有限公司 基于Ansible工具自动搭建Kubernetes主节点的方法及终端设备
CN109446700A (zh) * 2018-11-09 2019-03-08 福州大学 面向智能家居情境感知服务的运行时建模与执行方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113360672A (zh) * 2021-06-18 2021-09-07 北京百度网讯科技有限公司 用于生成知识图谱的方法、装置、设备、介质和产品
CN114047963A (zh) * 2021-11-26 2022-02-15 南方电网科学研究院有限责任公司 一种在线监测装置配置方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN111740851B (zh) 2023-05-09

Similar Documents

Publication Publication Date Title
CN109361550B (zh) 网络设备配置管理的方法、装置及设备
WO2017054531A1 (zh) 一种基于yang模型的编译方法、及对应的接口、组件和系统
CN108279932B (zh) 一种移动终端动态配置用户界面方法和装置
AU2021212135B2 (en) Building and managing data-processing attributes for modelled data sources
CN110968322B (zh) Json数据的处理方法、装置和电子系统
CN110032575A (zh) 数据查询方法、装置、设备和存储介质
CN101098248B (zh) 一种基于配置描述文件实现通用网络管理的方法及系统
US10284418B2 (en) Network switch management via embedded management controller using management information base (MIB) to JSON parser
CN111740851B (zh) 配置报文生成方法、设备以及系统
US20220147498A1 (en) Generation of schemas with error resolve
CN110738038A (zh) 合同文本的生成方法、装置、设备及计算机可读存储介质
EP4163802A1 (en) Knowledge graph construction method, apparatus and system and computer storage medium
CN109951318A (zh) 应用的功能配置方法及装置
CN110855459B (zh) 网络配置方法、装置及系统
CN113419719B (zh) 一种基于业务场景的接口用例生成方法及系统
CN114490889A (zh) 配置信息处理方法、装置、设备、介质及程序产品
CN107885582B (zh) 异构容器集群迁移方法和控制器
CN106776275A (zh) 一种基于分组复用的测试流程自动生成方法
CN110231965A (zh) 一种云端设备、应用程序处理方法及电子设备
CN107547607B (zh) 一种集群迁移方法及装置
CN108829968A (zh) 基于Python扩展函数的电路图审查方法
CN111291215B (zh) 公式生成方法及服务器
WO2016058462A1 (zh) 可扩展的跨网元业务配置方法及系统
CN102630087A (zh) 异构处理方法及装置
CN109117152B (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