CN114172793B - 一种网络配置知识图谱构建方法及装置 - Google Patents

一种网络配置知识图谱构建方法及装置 Download PDF

Info

Publication number
CN114172793B
CN114172793B CN202010852198.1A CN202010852198A CN114172793B CN 114172793 B CN114172793 B CN 114172793B CN 202010852198 A CN202010852198 A CN 202010852198A CN 114172793 B CN114172793 B CN 114172793B
Authority
CN
China
Prior art keywords
root
nodes
leaf
node
root node
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
Application number
CN202010852198.1A
Other languages
English (en)
Other versions
CN114172793A (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 CN202010852198.1A priority Critical patent/CN114172793B/zh
Publication of CN114172793A publication Critical patent/CN114172793A/zh
Application granted granted Critical
Publication of CN114172793B publication Critical patent/CN114172793B/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
    • H04L41/0803Configuration setting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/36Creation of semantic tools, e.g. ontology or thesauri
    • G06F16/367Ontology
    • 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/06Management of faults, events, alarms or notifications
    • H04L41/0677Localisation of faults
    • 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/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Animal Behavior & Ethology (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了一种网络配置知识图谱的构建方法及装置,该方法包括:接收来自多个网络设备的多个又下一代YANG数据,多个YANG数据中每个YANG数据为每个YANG数据对应的网络设备的网络配置数据;抽取多个YANG数据的根节点的名称以获得根集合;抽取多个YANG数据的根节点下的叶子节点的名称以获得叶子集合;根据根集合和叶子集合获得网络配置知识图谱。实施本申请,能提高网络配置知识图谱的构建效率,增加了网络配置知识图谱构建的自动化能力。

Description

一种网络配置知识图谱构建方法及装置
技术领域
本申请涉及计算机领域,尤其涉及一种网络配置知识图谱构建方法及装置。
背景技术
通信领域知识图谱的构建,节点的定义需要依赖专家经验,而且节点的抽取过程复杂耗时,在进行节点抽取前需要消耗大量的人力定义对应的抽取规则。
发明内容
本申请公开了一种网络配置知识图谱构建方法及装置,能够降低网络配置知识图谱的构建难度,提高网络配置知识图谱的构建效率。
第一方面,本申请提供了一种网络配置知识图谱构建方法,所述方法包括:接收来自多个网络设备的多个又下一代(Yet Another Next Generation,YANG)数据,其中,多个YANG数据中的每个YANG数据为每个YANG数据对应的网络设备的网络配置数据,每个YANG数据基于YANG模型;然后,抽取多个YANG数据的根节点的名称以获得根集合,以及抽取多个YANG数据的根节点下的叶子节点的名称以获得叶子集合;最后,根据根集合和叶子集合获得网络配置知识图谱,网络配置知识图谱是由多个节点和边组成的拓扑结构,节点为根集合或叶子集合中的名称,边表示位于该边两端的节点之间的关系。
上述方法中,从多个网络设备的多个YANG数据中抽取根节点的名称以及叶子节点的名称,抽取过程无需依赖专家经验,降低了抽取难度,根据抽取后获得的根集合和叶子集合构建网络配置知识图谱中的节点和边,能降低网络配置知识图谱的构建难度,提高网络配置知识图谱的构建效率。
在第一方面的一种可能的实现方式中,在根据根集合和叶子集合获得网络配置知识图谱后,还可以接收第一设备发送的事件消息,事件消息包括第一设备的状态事件和第一设备的属性信息,第一设备为多个网络设备中的一个;然后,根据属性信息与网络配置知识图谱中第一设备对应的各根节点的叶子节点的匹配度,获得目标根节点,目标根节点为与属性信息匹配度最高的叶子节点所属的根节点;最后,在网络配置知识图谱中添加状态事件以及连接状态事件与目标根节点。
实施上述实现方式,根据网络设备发送的事件消息,并结合网络配置知识图谱可以确定事件消息中状态事件在网络配置知识图谱中对应的网络设备的目标根节点,以实现状态事件在网络配置知识图谱中的定位分析,另外,在网络配置知识图谱中添加状态事件以及连接状态事件与目标根节点,可使网络配置知识图谱更加丰富完善,增加了网络配置知识图谱构建的自动化能力。
在第一方面的一种可能的实现方式中,第一设备的状态事件为第一设备的故障事件。
在第一设备的事件消息中的状态事件为故障事件时,结合事件消息和网络配置知识图谱可实现故障事件在网络配置知识图谱中的故障定位分析,还能丰富完善网络配置知识图谱的构建。
在第一方面的一种可能的实现方式中,根据根集合和叶子集合获得网络配置知识图谱时:可以先根据根集合和叶子集合建立根集合中各根节点之间的连接;再根据根集合、叶子集合和各根节点之间的连接获得网络配置知识图谱。
通过根集合和叶子集合建立根集合中各根节点之间的连接的过程相当于是确定网络配置知识图谱中边的过程,根据根集合、叶子集合和各根节点之间的连接获得网络配置知识图谱相当于将网络配置知识图谱中的节点和边关联,提高网络配置知识图谱的构建效率。
在第一方面的一种可能的实现方式中,根据根集合和叶子集合建立根集合中各根节点之间的连接,包括:建立第一连接,第一连接为第一根节点和第二根节点之间的连接,其中,第一根节点的类型为容器类型,第二根节点的类型为列表类型,第一根节点和第二根节点来自同一YANG数据且第二根节点跟随第一根节点。
通过根节点的类型以及根节点在YANG数据中存在一个根节点跟随另一个根节点,建立第一根节点和第二根节点之间的第一连接,即确定了第一根节点和第二根节点之间存在某种关系,实现了对网络配置知识图谱中节点之间关系的建立,增加了网络配置知识图谱的自动化构建能力。
在第一方面的一种可能的实现方式中,第一连接指示第一根节点和第二根节点之间的关系为从属关系。
可选地,第一连接指示第一根节点和第二根节点之间的关系为从属关系,且第二根节点从属于第一根节点。
在第一方面的一种可能的实现方式中,根据根集合和叶子集合建立根集合中各根节点之间的连接,包括:建立第二连接,第二连接为第三根节点和第四根节点之间的连接,第三根节点的一个叶子节点的名称与第四根节点的一个叶子节点的名称相同。
通过两个根节点(第三根节点和第四根节点)都具有一个相同的叶子节点的名称,建立第三根节点和第四根节点之间的第二连接,相当于确定第三根节点和第四根节点之间存在某种关系,实现了对网络配置知识图谱中节点之间关系的建立,增加了网络配置知识图谱的自动化构建能力。
在第一方面的一种可能的实现方式中,如果第三根节点和第四根节点来自不同的YANG数据,第二连接指示第三根节点和第四根节点之间的关系为相关关系;如果第三根节点和第四根节点来自同一个YANG数据,第二连接指示第三根节点和第四根节点之间的关系为联结关系。
可选地,第三根节点和第四根节点之间的关系进一步可分为联结关系和相关关系,在第三个根节点和第四根节点来自同一个YANG数据时,则第二连接指示的关系为联结关系;在第三个根节点和第四根节点来自不同的YANG数据时,则第二连接指示的关系为相关关系。
在第一方面的一种可能的实现方式中,在根据根集合和叶子集合获得网络配置知识图谱前,还可以对根集合去重,以获得标准根集合;对叶子集合去重,以获得标准叶子集合;最后,根据标准根集合和标准叶子集合获得网络配置知识图谱。
实施上述方法,对根集合去重以使根集合中根节点的命名统一规整、去冗余化,对叶子集合去重以使叶子集合中叶子节点的统一规整、去冗余化。对根集合和叶子集合的去重操作提高了网络配置知识图谱的构建效率。
在第一方面的一种可能的实现方式中,对根集合去重可以是:当根集合中有至少两个根节点的名称包括相同的第一有序字符序列时,统一至少两个根节点的名称;对叶子集合去重可以是:当叶子集合中有至少两个叶子节点的名称包括相同的第二有序字符序列时,统一至少两个叶子节点的名称。
对根集合去重可以是当根集合中有至少两个根节点的名称包括相同的有序字符序列时,则统一上述至少两个根节点的名称以使上述至少两个根节点的名称相同,从而实现了根集合中相同根节点的命名统一,使用相同的方法对叶子集合去重,以实现叶子集合中相同叶子节点的命名统一。
在第一方面的一种可能的实现方式中,对根集合去重包括:对根集合中容器类型的根节点对应的名称和根集合中列表类型的根节点对应的名称分开去重。
对根集合去重需考虑根节点的类型,即对根集合中容器类型的根节点对应的名称和根集合中列表类型的根节点对应的名称分开去重,以实现根集合和叶子集合去冗余化,从而提高了网络配置知识图谱的构建效率。
在第一方面的一种可能的实现方式中,在根据根集合和叶子集合获得网络配置知识图谱后,还可以在显示器上显示网络配置知识图谱。
在获得网络配置知识图谱后,在显示器上显示网络配置知识图谱,以实现直观清晰地显示各网络设备的网络配置情况,各网络设备之间的关联关系也一目了然。
第二方面,本申请提供了一种装置,该装置包括:接收单元,用于接收来自多个网络设备的多个YANG数据,多个YANG数据中每个YANG数据为每个YANG数据对应的网络设备的网络配置数据,每个YANG数据基于YANG模型;处理单元,用于抽取多个YANG数据的根节点的名称以获得根集合;处理单元,还用于抽取多个YANG数据的根节点下的叶子节点的名称以获得叶子集合;处理单元,还用于根据根集合和叶子集合获得网络配置知识图谱,网络配置知识图谱是由多个节点和边组成的拓扑结构,节点为根集合或叶子集合中的名称,边表示位于边两端的节点之间的关系。
在第二方面的一种可能的实现方式中,接收单元,还用于接收第一设备发送的事件消息,事件消息包括第一设备的状态事件和第一设备的属性信息,第一设备为多个网络设备中的一个;处理单元,还用于根据属性信息与网络配置知识图谱中第一设备对应的各根节点的叶子节点的匹配度,获得目标根节点,目标根节点为与属性信息匹配度最高的叶子节点的根节点;处理单元,还用于在网络配置知识图谱中添加状态事件以及连接状态事件与目标根节点。
在第二方面的一种可能的实现方式中,第一设备的状态事件为第一设备的故障事件。
在第二方面的一种可能的实现方式中,处理单元具体用于:根据根集合和叶子集合建立根集合中各根节点之间的连接;根据根集合、叶子集合和各根节点之间的连接获得网络配置知识图谱。
在第二方面的一种可能的实现方式中,处理单元具体用于:建立第一连接,第一连接为第一根节点和第二根节点之间的连接,其中,第一根节点的类型为容器类型,第二根节点的类型为列表类型,第一根节点和第二根节点来自同一YANG数据且第二根节点跟随第一根节点。
在第二方面的一种可能的实现方式中,第一连接指示第一根节点和第二根节点之间的关系为从属关系。
在第二方面的一种可能的实现方式中,处理单元具体用于:建立第二连接,第二连接为第三根节点和第四根节点之间的连接,第三根节点的一个叶子节点的名称与第四根节点的一个叶子节点的名称相同。
在第二方面的一种可能的实现方式中,如果第三根节点和第四根节点来自不同的YANG数据,第二连接指示第三根节点和第四根节点之间的关系为相关关系;如果第三根节点和第四根节点来自同一个YANG数据,第二连接指示第三根节点和第四根节点之间的关系为联结关系。
在第二方面的一种可能的实现方式中,装置还包括:去重单元,用于对根集合去重,以获得标准根集合;以及用于对叶子集合去重,以获得标准叶子集合;处理单元具体用于:根据标准根集合和标准叶子集合获得网络配置知识图谱。
在第二方面的一种可能的实现方式中,去重单元具体用于:当根集合中有至少两个根节点的名称包括相同的第一有序字符序列时,统一至少两个根节点的名称;当叶子集合中有至少两个叶子节点的名称包括相同的第二有序字符序列时,统一至少两个叶子节点的名称。
在第二方面的一种可能的实现方式中,去重单元具体用于:对根集合中容器类型的根节点对应的名称和根集合中列表类型的根节点对应的名称分开去重。
在第二方面的一种可能的实现方式中,装置还包括:显示单元,用于在显示器上显示网络配置知识图谱。
第三方面,本申请提供了一种装置,该装置包括处理器和存储器,处理器和存储器通过总线连接或者耦合在一起;其中,存储器用于存储程序指令;所述处理器调用所述存储器中的程序指令,以执行第一方面或者第一方面的任一可能的实现方式中的方法。
第四方面,本申提供了一种计算机可读存储介质,所述计算机可读介质存储用于装置执行的程序代码,所述程序代码包括用于执行第一方面或者第一方面的任一可能的实现方式中的方法的指令。
第五方面,本申请提供了一种计算机软件产品,该计算机程序软件产品包括程序指令,当该计算机软件产品被装置执行时,该装置执行前述第一方面或者第一方面的任一可能的实施例中的所述方法。该计算机软件产品可以为一个软件安装包,在需要使用前述第一方面的任一种可能的设计提供的方法的情况下,可以下载该计算机软件产品并在装置上执行该计算机软件产品,以实现第一方面或者第一方面的任一可能的实施例中的所述方法。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是一种知识图谱的局部示意图;
图2是本申请实施例提供的又一种应用的系统架构;
图3是本申请实施例提供的一种网络配置知识图谱的构建方法;
图4是本申请实施例提供的一种关系提取流程示意图;
图5是本申请实施例提供的一种网络配置知识图谱的局部示意图;
图6是本申请实施例提供的又一种网络配置知识图谱的构建方法流程图;
图7是本申请实施例提供的又一种网络配置知识图谱的局部示意图;
图8是本申请实施例提供的又一种网络配置知识图谱的构建方法流程图;
图9是本申请实施例提供的又一种网络配置知识图谱的局部示意图;
图10是本申请本实施例提供的一种装置的结构示意图;
图11是本申请实施例提供的一种装置的功能结构示意图。
具体实施方式
在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。本申请实施例中的说明书和权利要求书中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
为了便于理解,下面先对本申请实施例可能涉及的相关术语等进行介绍。
(1)YANG模型
又下一代(Yet Another Next Generation,YANG)模型是一种数学建模语言,用于定义通过网络管理协议发送的数据。例如,网络管理协议可以是网络配置协议(NetworkConfiguration Protocol,NETCONF)。YANG模型可以对网络管理协议传输的配置数据和状态数据进行建模。网络管理协议提供了安装、操作和删除网络设备配置等操作的机制。
YANG模型通过树形结构的节点定义了数据模型的层级嵌套结构以及各属性的数据类型。例如,容器(container)类型的节点可以将数据层次化组织起来,容器类型的节点自身是没有值的,但容器类型的节点下可以有其他类型的节点,例如,列表(list)类型的节点、叶子(leaf)类型节点等,其中,容器类型的节点和列表类型的节点均可称之为根节点,叶子类型的节点可以简称为叶子节点。
根节点用于定义网络设备中的实体的名称,所谓实体是指网络设备内为实现网络设备的网络配置的器件(例如,以太网接口)的标识或概念(例如,协议)。叶子节点用于定义网络设备中实体的属性,所谓属性是指对实现网络设备的实体的性质的描述,例如,以太网接口的端口号、通信速率、工作模式等。
(2)知识图谱
知识图谱是由多个节点和边组成的拓扑结构,其中,节点表示物理世界中的概念或物体,边表示节点之间的拓扑连接和语义关系。知识图谱的构建过程是从原始数据出发,采用一系列自动或半自动的技术手段,从原始数据中提取出知识要素(即实体、属性以及关系),然后对知识要素进行整合,最后基于合格的知识要素建立知识图谱。
参见图1,图1显示了一种知识图谱的一部分,知识图谱是由多个节点和边组成的拓扑结构,在图1所示的知识图谱中,矩形框均表示节点,两个矩形框之间的连线即为边。不妨以深圳这个节点为例进行说明,对于节点“深圳”来说,它具有“面积”、“人口”和“地区GDP”三种不同的属性,在该知识图谱中,“深圳”和“人口1343.88万”之间的边表示“深圳”具有一种属性为“人口1343.88万”。由图1还可以看出,节点“深圳”和节点“广州”之间通过一条边连接,这条边上标示有“毗邻”,则该条边说明节点“深圳”和节点“广州”之间的关系是“毗邻”。
相关技术中,通信领域知识图谱的构建过程中,节点的定义不仅需要依赖专家经验,而且节点的抽取过程复杂耗时,其缺乏各节点之间的关系的建立。在进行节点抽取前需要消耗大量的人力定义对应的抽取规则,以使算法不仅可以识别原始数据集中的实体和属性作为节点,还可以区分节点中的实体和属性。另外,在抽取规则建立不充分的情况下,容易造成节点的错选或者漏选。
下面描述本申请所应用的一种系统架构。参见图2,图2是本申请实施例提供的一种系统架构,该系统包括多个网络设备和计算设备20,如,网络设备10和网络设备30,多个网络设备与计算设备20通过无线的方式连接进行通信。
网络设备是指连接到网络中的物理实体,网络设备可以是集线器、交换机、网桥、路由器、网关、网络接口卡(Network Interface Card,NIC)、无线接入点(Wireless AccessPoint,WAP)等。多个网络设备不妨以图2中的网络设备10和网络设备30为例进行示例性阐述,但本申请中并不限定网络设备的数量仅为两个。网络设备10和网络设备30都与计算设备20通过无线方式连接,网络设备10中存储YANG数据1,YANG数据1表示基于YANG模型生成的网络设备10的网络配置数据;网络设备30中存储有YANG数据2,YANG数据2表示基于YANG模型生成的网络设备30的网络配置数据。网络设备10和网络设备30将自身的YANG数据发送给计算设备20以使计算设备20基于YANG数据1和YANG数据2建立关于网络设备的网络配置知识图谱。
计算设备20可以是服务器,例如,服务中心计算机。计算设备20用于接收多个网络设备发送的YAGN数据,YANG数据表示基于YANG模型生成的对应网络设备的网络配置数据,对YAGN数据进行相应处理获得网络配置知识图谱,网络配置知识图谱包括多个网络设备的YANG数据中的各根节点的名称和各叶子节点的名称以及各根节点之间的关系。
参见图3,基于上文所描述的系统架构,下面描述本申请实施例提供的一种网络配置知识图谱的构建方法,该方法包括但不限于以下步骤:
S101、获取多个网络设备的多个YANG数据。
本申请实施例中,获取多个网络设备的多个又下一代(Yet Another NextGeneration,YANG)数据。其中,多个YANG数据中的每个YANG数据为该YANG数据对应的网络设备的网络配置数据,多个网络设备与多个YANG数据一一对应。多个YANG数据中的每个YANG数据是基于YANG模型获得的。
在一可能的实施例中,所谓获取多个网络设备的又下一代YANG数据可以是:计算设备接收多个网络设备发送的YANG数据。
需要说明的是,不同的网络设备对应的YANG数据是不同的。例如,若两个YANG数据来自两台网络设备,则这两个YANG数据即为不同的YANG数据。
YANG数据是基于YANG模型获得的,YANG模型是网络配置协议(NetworkConfiguration Protocol,NETCONF)的一种数据建模语言,YANG模型通过树形结构的节点定义了数据模型的层级嵌套结构以及各属性的数据类型。简单理解,YANG模型定义了网络设备配置数据的模板。关于YANG模型的描述具体可参考上述描述,在此不再赘述。
S102、抽取多个YANG数据的根节点的名称以获得根集合,抽取多个YANG数据的根节点下的叶子节点的名称以获得叶子集合。
本申请实施例中,计算设备抽取多个YANG数据的根节点的名称以获得根集合,以及抽取多个YANG数据中根节点下的叶子节点的名称以获得叶子集合。其中,根集合包括多个YAGN数据中根节点对应的名称,叶子集合包括多个YAGN数据中叶子节点对应的名称。
需要说明的是,YANG数据中的根节点有两种类型,一种是容器(container)类型的根节点,另一种是列表(list)类型的根节点,根节点用于定义网络设备中实体的名称;YANG数据中的叶子节点指的是叶子(leaf)类型的节点,叶子节点用于定义网络设备中实体的属性。本申请实施例中,每个YANG数据中可以包括至少一个根节点,有的根节点下可以没有叶子节点,例如,容器类型的根节点下可以不设置叶子节点,有的根节点下可以包括一个或者多个叶子节点,例如,列表类型的根节点下包括至少一个叶子节点,每个叶子节点用于描述一种属性。
其中,根节点对应的实体指的是网络设备内为实现网络设备的网络配置的器件或概念。例如,网络设备内的实体可以是以太网接口、协议等。所谓属性指的是对实现网络设备的网络配置的器件或概念的性质的描述。叶子节点对应的属性包括ip地址类属性和非ip地址类属性中的至少一种,ip地址类属性包括ip地址和子网掩码,非ip地址类属性可以是端口号、通信速率、工作模式、容量、路由表(routing table,r-table)、以太网干路(ethernet trunk,eth-trunk)、动态交换网服务组(dynamicfabric servicegroup,dfs-group)等。
具体地,抽取多个YANG数据的根节点的名称是指:抽取多个YANG数据中container类型的根节点的名称和list类型的根节点的名称。其中,container类型的根节点的名称为container类型的根节点下关键key字段对应的字符串,lsit类型的根节点的名称为list类型的根节点下关键key字段对应的字符串。
一具体实施中,可以分别通过“container”中每个字符的ASCII码定位YANG数据中的container类型的根节点,以及通过“list”中每个字符的ASCII码定位YANG数据中的list类型的根节点,再通过ASCII码定位根节点配置下的“key”字段以提取双引号“”内的字符串作为该根节点的名称。
需要说明的是,YANG数据中根节点的名称通常以字母、数字、间隔符、下划线中的至少一种组成的字符串表示。
在一些可能的实施例中,从多个YANG数据中抽取根节点的名称时,还抽取根节点的名称对应的网络设备的设备标识。可以理解,根据根节点的名称与设备标识的映射关系可以确某根节点的名称对应于哪一个网络设备的YANG数据。需要说明的是,根节点的名称与设备标识的映射关系可以存储于根集合中,也可以独立于根集合存储,本申请不做具体限定。
可以理解,每个设备标识可以对应至少一个根节点的名称,若两个根节点的名称对应的设备标识相同,则说明这两个根节点的名称是从同一台网络设备的YANG数据中提取的,换句话说,即这两个根节点的名称从同一YANG数据中抽取出的;若两个根节点的名称对应的设备标识不同,则说明这两个根节点的名称是从两台网络设备的YANG数据中提取的,换句话说,即这两个根节点的名称从两个不同的YANG数据中抽取的。
网络设备的设备标识可以从YANG数据的命名中获取,也可以从YANG数据中的设备标识字段获取,本申请不做具体限定。
具体地,抽取多个YANG数据的根节点下的叶子节点的名称是指:抽取多个YANG数据中leaf类型的叶子节点对应的字符串。在一些可能的实施例中,某一YANG数据中具有多个根节点,且某根节点下有多个叶子节点,则依次抽取YANG数据中各根节点下的每个叶子节点对应的字符串。
一具体实施中,可以通过“leaf”中每个字符的ASCII码定位YANG数据中的“leaf”类型的叶子节点,接着提取“leaf”后的字符串和leaf对应的大括号{}中的字符串,以此作为该叶子节点的名称。例如,某叶子节点用于描述某以太网接口的ip地址,则对该叶子节点进行提取,提取“leaf”后的字符串为“ip address”以及leaf对应的大括号{}中的字符串为“10.12.164.28”。
在一些可能的实施例中,从多个YANG数据中抽取根节点下叶子节点的名称时,还记录叶子节点的名称与根节点的名称之间的映射关系。例如,从YANG数据中提取某一根节点的两个叶子节点时,记录了叶子节点的名称a1和叶子节点的名称a1对应根节点的名称A,即说明根节点的名称A下配置有两个叶子节点。
如下示例一,提供了一种网络设备的YANG数据的部分示例:
Figure BDA0002645112790000081
抽取上述示例一YANG数据中根节点的名称,上述YANG数据中只包括一个list类型的根节点,提取该根节点中key字段对应的字符串“interface”作为该根节点的名称,再抽取上述YANG数据中根节点“interface”下四个叶子节点的名称,依次为“eth-trunk 1”,“dfs-group 10”,“ip addr 10.12.164.28”和“mask 255.255.0.0”,且这四个叶子节点的名称(“eth-trunk 1”,“dfs group 10”,“ip addr 10.12.164.28”和“mask 255.255.0.0”)与根节点的名称“interface”和设备标识switch01对应。
如下示例二,提供了又一网络设备的YANG数据的部分示例:
Figure BDA0002645112790000091
抽取上述示例二YANG数据中根节点的名称,上述YANG数据中包括三个根节点,分别为:一个container类型的根节点和两个list类型的根节点,其中,container根节点的名称为“ifs”,两个list类型的根节点的名称分别为“if”和“ipv6”,再抽取各根节点下叶子节点的名称,其中,container类型的根节点“ifs”下无叶子节点但跟随有一个list类型的根节点“if”,根节点“if”下有四个叶子节点,且四个叶子节点的名称依次为“eth-trunk 2”,“dfs-group 10”,“ip address 10.12.164.29”和“mask 255.255.0.0”;另一个list类型的根节点“ipv6”下有三个叶子节点,且三个叶子节点的名称依次为“ip addr10.12.164.30”、“mask 255.255.0.0”和“r-table 1”。
可以看出,通过定位YANG数据中根节点(container类型和list类型)中key字段对应的字符串抽取根节点的名称,通过定位YANG数据中根节点下叶子节点(leaf类型)对应的字符串抽取叶子节点的名称,节点的抽取无需依赖专家经验,大大降低了通信领域知识图谱创建过程中节点抽取的复杂度,提高了节点抽取的操作效率。
需要说明的是,无论是抽取根节点的名称还是抽取叶子节点的名称,可以以单个网络设备的YANG数据为单位依次对各网络设备进行相应操作,也可以同时对各网络设备的YANG数据进行相应操作,本申请不做具体限定。在一些可能的实施例中,可以先抽取YANG数据中根节点的名称后抽取YANG数据中叶子节点的名称,或者两者同时执行,本申请不做具体限定。
S103、根据根集合和叶子集合获得网络配置知识图谱。
本申请实施例中,从YANG数据中获得根集合和叶子集合后,即可根据根集合和叶子集合获得网络配置知识图谱。具体地,根据根集合和叶子集合建立根集合中各根节点之间的连接;根据根集合、叶子集合和上述各根节点之间的连接获得网络配置知识图谱。
其中,网络配置知识图谱是由多个节点和边组成的拓扑结构,节点为根集合中的名称和叶子集合中的名称,边表示位于该边两端的节点之间的关系。可以理解,若网络配置知识图谱中某条边连接的是两个根节点的名称,则该条边指示两个根节点之间的关系;若网络配置知识图谱中某条边连接的是一个根节点的名称和一个叶子节点的名称,则该条边指示该根节点下配置有该叶子节点。
进一步地,根据根集合和叶子集合建立根集合中各根节点之间的连接具体为:
第一根节点和第二根节点为根集合中的任意两个根节点,在第一根节点为容器类型的根节点,第二根节点为列表类型的根节点,且第一根节点和第二根节点来自同一YANG数据且第二根节点跟随第一根节点时,建立第一根节点和第二根节点之间的第一连接。第一连接指示第一根节点和第二根节点之间的关系为从属关系,且第二根节点从属于第一根节点。
第三根节点和第四根节点为根集合中的任意两个根节点,在第三根节点的一个叶子节点的名称与第四根节点的一个叶子节点的名称相同时,建立第三根节点和第四根节点之间的第二连接。如果第三根节点和第四根节点来自不同的YANG数据,则第二连接指示第三根节点和第四根节点之间的关系为相关关系;如果第三根节点和第四根节点来自同一个YANG数据,第二连接指示第三根节点和第四根节点之间的关系为联结关系。
参见图4,图4是是本申请实施例提供的一种根节点之间的关系抽取流程示意图,该方法包括但不限于以下步骤:
S1031、从根集合中任取两个根节点的名称分别作为根节点a和根节点b。
本申请实施例中,从根集合中任取两个根节点的名称分别作为根节点a和根节点b判断这两个根节点之间的关系以及建立相应地连接。
需要说明的是,为了确定根集合中各根节点之间的关系,可以通过判断根集合中每个根节点与根集合中除自身以外剩余的其他根节点之间的关系,以实现对根集合中各根节点之间的关系抽取。
S1032、判断根节点a和根节点b是否来自同一个YANG数据。
本申请实施例中,判断根节点a和根节点b是否来自同一个YANG数据,等同于判断根节点a对应的第一设备标识和根节点b对应的第二设备标识是否相同,若第一设备标识和第二设备标识相同,则说明根节点a和根节点b来自同一个YANG数据,执行S1034;若第一设备标识和第二设备标识不同,则说明根节点a和根节点b来自不同的YANG数据,执行S1033。
需要说明的是,设备标识可以是网络设备的ID号或者设备编号等。根节点a和根节点b对应的设备标识相同,则说明根节点a和根节点b来自于同一个YANG数据,也说明根节点a和根节点b对应同一台网络设备。
S1033、判断根节点a和根节点b是否有一个相同的叶子节点。
本申请实施例中,从叶子集合中获得根节点a对应的叶子节点的名称以获得第一叶子集合,从叶子集合中获得根节点b对应的叶子节点的名称以获得第二叶子集合,将第一叶子集合中叶子节点的名称和第二叶子集合中叶子节点的名称进行匹配,判断第一叶子集合和第二叶子集合中是否存在一个相同的叶子节点的名称,若存在一个叶子节点的名称,则说明根节点a和根节点b具有一个相同的叶子节点,执行S1038;若第一叶子集合和第二叶子集合中的叶子节点的名称均不相同,则说明根节点a和根节点b不具有一个相同的叶子节点,执行S1039。
需要说明的是,叶子节点用于描述根节点对应的属性,因此,叶子节点的名称表示的属性类型可以是ip地址类属性和非ip地址类属性中的任意一种。
本申请的一种实施例中,第一叶子集合和第二叶子集合中只含有ip地址类属性一种类型时,对于ip地址类属性,判断第一叶子集合和第二叶子集合中ip地址所在的子网是否相同,具体地,将第一叶子集合(或者第二叶子集合)中的ip地址和该ip地址对应的子网掩码进行与运算获得ip地址所在的子网,比较第一叶子集合中ip地址所在的子网与第二叶子集合中ip地址所在的子网是否相同,若子网相同,则说明第一叶子集合和第二叶子集合中存在一个相同的叶子节点;若子网均不相同,则说明第一叶子集合和第二叶子集合中不存在相同的叶子节点。
本申请的一种实施例中,第一叶子集合和第二叶子集合中只含有非ip地址类属性一种类型,例如,端口号、通信速率等,则判断第一叶子集合和第二叶子集合中是否存在一个非ip地址类属性对应叶子节点的名称相同,若存在,则说明第一叶子集合和第二叶子集合中存在一个相同的叶子节点;若不存在,则说明第一叶子集合和第二叶子集合中不存在相同的叶子节点。
本申请的一种实施例中,第一叶子集合和第二叶子集合中均包含ip地址类属性和非ip地址类属性两种类型,在此情况下,当ip地址类属性和非ip地址类属性中存在任意一种类型中对应有一个相同的叶子节点时,则说明第一叶子集合和第二叶子集合中存在一个相同的叶子节点;若ip地址类属性和非ip地址类属性均不相同,则说明第一叶子集合和第二叶子集合中不存在相同的叶子节点。
S1034、判断根节点a和根节点b之间是否存在层级配置。
本申请实施例中,在根节点a和根节点b具有相同的设备标识时,即根节点a和根节点b来自同一YANG数据的情况下,才进一步判断同一YANG数据内的根节点a和根节点b之间是否存在层级配置。
本申请的一种实施例中,先判断根节点a的根节点类型和根节点b的根节点类型是否一致,在根节点a的根节点类型和根节点b的根节点类型不一致的情况下,即根节点a的根节点类型和根节点b的根节点类型中必有一个为container类型另一个为list类型,进一步判断根节点a和根节点b在YANG数据中是否存在根节点a跟随根节点b或者根节点b跟随根节点a,若存在根节点a跟随根节点b或者根节点b跟随根节点a,则说明根节点a和根节点b之间存在层级配置,执行S1037;否则,则说明根节点a和根节点b之间不存在层级配置,执行S1035。
例如,不妨假设根节点a的根节点类型为container类型,根节点b的根节点类型为list类型,获得根节点a对应的“container”字符串的首字母在YANG数据中的第一坐标,以及根节点b对应的“list”字符串的首字母在YANG数据中的第二坐标,若第一坐标和第二坐标之间的距离小于等于预设阈值,则根节点b跟随根节点a。
例如,不妨假设根节点a的根节点类型为list类型,根节点b的根节点类型为container类型,获得根节点a对应的“list”字符串的首字母在YANG数据中的第一坐标,以及根节点b对应的“container”字符串的首字母在YANG数据中的第二坐标,若第一坐标和第二坐标之间的距离小于等于预设阈值,则根节点a跟随根节点b。
需要说明的是,判断根节点a和根节点b之间是否存在层级配置的前提条件是根节点a和根节点b具有相同的设备标识,即说明根节点a和根节点b来自于同一个YANG数据。
S1035、判断根节点a和根节点b是否有一个相同的叶子节点。
本申请实施例中,根节点a和根节点b之间是否具有一个相同的叶子节点的判断方法具体可参考S1033的相关描述,唯一不同的是,S1035的执行条件是当S1034的判断结果为根节点a和根节点b之间不存在层级配置。在S1035中,在根节点a和根节点b具有一个相同的叶子节点的情况下,执行S1036;在根节点a和根节点b不具有相同的叶子节点的情况下,执行S1039。
S1036、建立根节点a和根节点b之间的连接,该连接指示根节点a和根节点b之间的关系为联结关系。
S1037、建立根节点a和根节点b之间的连接,该连接指示根节点a和根节点b之间的关系为从属关系。
S1038、建立根节点a和根节点b之间的连接,该连接指示根节点a和根节点b之间的关系为相关关系。
S1039、确定根节点a与根节点b无关。
本申请实施例中,在根节点a和根节点b对应的设备标识不同且不具有一个相同的叶子节点的情况下,或者根节点a和根节点b对应的设备标识相同但根节点a和根节点b之间无层级配置且根节点a和根节点b不具有相同叶子节点的情况下,确定根节点a与根节点b无关。相应地,若根节点a与根节点b无关,则在网络配置知识图谱中,根节点a和根节点b之间没有边。
需要说明的是,上述联结关系、从属关系和相关关系这三种关系是预先定义的,其中,同一台网络设备内的YANG数据中任意两根节点之间若有关系,则该关系可以为联结关系和从属关系中的任意一种,若来自不同的网络设备的YANG数据中的两根节点之间有关系,则该关系可以为相关关系。
另外,根据根集合、叶子集合和上述各根节点之间的连接获得网络配置知识图谱具体为,获得设备标识、根节点的名称和叶子节点的名称三者之间的映射关系,上述三者之间的映射关系可以将实体集合和叶子集合中属于同一网络设备的YANG数据中的根节点和叶子节点关联,根据上述建立的各根节点之间的连接可以将根集合中属于同一YANG数据且存在关系的根节点关联,以及将根集合中属于不同的YANG数据但存在关系的根节点关联。
需要说明的是,在建立网络配置知识图谱时,可以以网络设备为单位先建立各网络设备的知识图谱,每个网络设备的知识图谱包含该网络设备的YANG数据中根节点的名称和叶子节点的名称以及根节点之间的关系,然后根据不同网络设备的YANG数据中根节点之间的关系将各网络设备的知识图谱关联。在一些可能的实施例中,也可以从建立某一网络设备的知识图谱开始,建立与该网络设备的YANG数据中的根节点有关联的其他网络设备的知识图谱,以此方式实现各网络设备的知识图谱的建立以及关联。本申请对基于根集合、叶子集合和各根节点之间的连接建立网络配置知识图谱的方式不做具体限定。
参见图5,图5是本申请实施例提供的一种网络配置知识图谱的局部示意图,如图5所示,switch01和switch02为设备标识,在设备标识switch02下,有根节点“ipv6”、“ifs”和“if”,其中,“ipv6”有三个叶子节点,分别为“ip addr 10.12.164.30”、“mask255.255.0.0”和“r-table 1”,“if”有四个叶子节点,分别为“ip addr 10.12.164.29”、“mask 255.255.0.0”、“eth-trunk 2”和“dfs-group 10”,根节点“if”与根节点“ifs”之间的关系为从属关系,因根节点“if”和根节点“ipv6”对应的设备标识相同且两者有一个相同的叶子节点(即ip地址所在的子网相同),根节点“if”和根节点“ipv6”之间的关系为联结关系;在设备标识switch01下,有根节点“interface”,且“interface”具有四个叶子节点,分别为“ip address 10.12.164.28”、“mask 255.255.0.0”、“eth-trunk 1”和“dfs-group10”,switch01下的根节点“interface”和switch02下的根节点“if”有一个相同的叶子节点(即dfs-group 10),故switch01下的根节点“interface”和switch02下的根节点“if”之间的关系为相关关系。
S104、在显示器上显示网络配置知识图谱。
本申请实施例中,计算设备在获得网络配置知识图谱后,还可以在显示器上显示该网络配置知识图谱,以使用户可以直观清晰地查看各网络设备的网络配置情况。其中,网络配置知识图谱由多个节点和边组成的拓扑结构,节点为根集合中的名称或者叶子集合中的名称,边表示位于该边两端的节点之间的关系。
需要说明的是,网络配置知识图谱在显示器上显示时,由于网络配置知识图谱中的节点为根节点的名称或者叶子节点的名称,可以设置节点的形状或者节点的颜色以区分根节点的名称和叶子节点的名称。另外,由于网络配置知识图谱中的边表示位于该边两端的节点之间的关系,由S103中可知晓边表示的各根节点的名称之间的关系有三种,分别为:联结关系、从属关系和相关关系,在显示网络配置知识图谱的边时,可以设置边的颜色以区分上述三种关系,在一些可能的实施例中,也可以在对应关系的某条边上标注“联结”或“从属”或“相关”以区分上述三种关系,本申请不做具体限定。
例如,参见图5,图5是本申请提供的一种显示器显示的网络配置知识图谱,可以看出,椭圆形框表示根节点的名称,矩形框表示叶子节点的名称,但表示设备标识的矩形框除外;而对于节点表示的根节点的名称之间若存在“联结”、“从属”和“相关”中任意一种关系,则在对应边上标注具体的关系,根节点的名称与叶子节点的名称之间若有边连接,则说明该条边连接的根节点的名称与叶子节点的名称之间有映射关系。
可以看到,实施本申请实施例,基于网络设备的YANG数据直接提取根节点的名称和叶子节点的名称,基于自定义的关系规则进行各根节点之间关系的建立,无需依赖专家经验,降低了网络配置知识图谱创建过程中节点抽取的复杂度,提高了提取节点以及节点间关系的操作效率,增加了网络配置知识图谱构建的自动化能力。
参见图6,图6是本申请实施例提供的又一种网络配置知识图谱的构建方法流程图,需要说明的是,图6实施例所述的方法可以独立于上述图3实施例,也可以是对图3实施例的补充,也可以独立于图3实施例。该方法具体包括但不限于以下步骤:
S201、接收多个网络设备的YANG数据。本步骤具体可参考图3实施例中S101的相关描述,这里不再赘述。
S202、抽取多个YANG数据的根节点的名称以获得根集合,抽取多个YANG数据的根节点下的叶子节点的名称以获得叶子集合。本步骤具体可参考图3实施例中S102的相关描述,这里不再赘述。
S203、对根集合去重,以获得标准根集合。
本申请实施例中,由于根集合中根节点的名称来自于多个网络设备的多个YANG数据,根节点的名称也是该根节点定义的网络设备内某实体的名称,根集合中可能存在几个不同的根节点的名称对应的根节点相同,或者说,根集合中存在几个不同的根节点的名称对应同一实体,也就是说,同一实体被用多个不同的名称表示,其意味着根集合中存在相同的实体(或者根节点)具有不同的名称,导致根集合冗余、根节点的命名重复,因此,对根集合去重以统一根集合中表示同一实体的根节点的名称,从而获得标准根集合,标准根集合中相同的根节点的名称对应的实体相同,不同的根节点的名称对应的实体不同,换句话说,标准根集合中相同的根节点的名称对应的根节点相同,不同的根节点的名称对应的根节点不同。
需要说明的是,YANG数据中根节点的名称通常以字母、数字、间隔符、空格和下划线中的至少一种组成的字符串表示。
所谓对根集合去重是指:当根集合中有至少两个根节点的名称对应的根节点相同时,统一上述至少两个根节点的名称,以使相同的根节点具有相同的名称。
例如,确定根集合中有至少两个根节点的名称对应的根节点相同的方法可以是:若根集合中有至少两个根节点的名称包括相同的第一有序字符序列时,则说明根集合中有至少两个根节点的名称对应的根节点相同。
具体地,统计根集合中的各根节点的名称对应的字符串的长度,从中选出长度最短的根节点的名称对应的第一字符串,第一字符串由多个字符按照从左至右的顺序依次排列而成,将第一字符串与根集合中剩余每个根节点的名称对应的第二字符串进行比较,即判断根集合中的每个第二字符串中是否包括第一字符串对应的有序字符序列,若根集合中每个第二字符串均不包括第一字符串对应的有序字符序列,则说明第一字符串对应的根节点的名称在根集合中唯一表示一个根节点。若根集合中存在一个第二字符串包括第一字符串对应的有序字符序列,则说明第二字符串对应的根节点与第一字符串对应的根节点相同。依据此方法在根集合中查找到包括第一字符串对应的有序字符序列的多个目标第二字符串,统一上述第一字符串和多个目标第二字符串,例如,将第一字符串依次替换多个目标第二字符串中的每个目标第二字符串。以此方式对根集合去重以获得标准根集合。
为了更清楚完整地说明上述对根集合的去重过程,假设某根集合中共有5个根节点的名称,对应的5个字符串分别为:
Figure BDA0002645112790000151
Figure BDA0002645112790000152
Figure BDA0002645112790000153
首先对这5个根节点的名称进行长度统计确定最短的根节点的名称对应的第一字符串为
Figure BDA0002645112790000154
第一字符串对应的有序字符序列为
Figure BDA0002645112790000155
判断根集合中剩余的4个根节点的名称对应的第二字符串中是否包括第第一字符串对应的有序字符系列,获得
Figure BDA0002645112790000156
Figure BDA0002645112790000157
中均存在有序字符序列
Figure BDA0002645112790000158
则说明
Figure BDA0002645112790000159
Figure BDA00026451127900001510
Figure BDA00026451127900001511
对应的根节点相同,统一
Figure BDA00026451127900001512
Figure BDA00026451127900001513
中每个根节点的名称,可以统一为
Figure BDA00026451127900001514
在一些可能的实施例中,还可以统一为
Figure BDA00026451127900001515
或者其他,本申请不做具体限定。接着对根集合中待处理的剩余两个字符串
Figure BDA00026451127900001516
Figure BDA00026451127900001517
进行字符串长度统计确定最短字符串为
Figure BDA00026451127900001518
其对应的有序字符序列为
Figure BDA00026451127900001519
包含于
Figure BDA00026451127900001520
中,则说明
Figure BDA00026451127900001521
Figure BDA00026451127900001522
对应的根节点相同,统一
Figure BDA00026451127900001523
Figure BDA00026451127900001524
Figure BDA00026451127900001525
综上,经去重后,获得的标准根集合可以为
Figure BDA00026451127900001526
需要说明的是,上述举例为了更清楚地显示不同的字符串中包括相同的字符序列,将相同的字符序列用黑体加粗的方式进行了标注,并不限定字符串包括的相同字符序列得用黑体加粗显示。
例如,确定根集合中有至少两个根节点的名称对应的根节点相同的方法还可以是:若根集合中有至少两个根节点的名称属于根节点词典库中同一目标词的同义词时,则说明根集合中有至少两个根节点的名称对应的根节点相同。
具体地,判断根集合中的每个根节点的名称在根节点词典库是否存在与自身相同的名称,若根集合中有至少两个根节点的名称在根节点词典库对应同一目标词时,则上述至少两个根节点的名称属于根节点词典库中同一目标词的同义词,则可取该目标词的任意一个同义词统一该目标词在根集合中对应的至少两个根节点的名称。其中,根节点词典库是根据大量YANG数据中根节点的名称样本以及人工命名经验建立的,根节点词典库包括根节点的目标词与该目标词的同义词之间的映射关系。例如,对于根节点词典库的目标词interface(接口),其对应的同义词有“interface”、“if”、“interface-definition”、“interface-descripition”、“if-definition”和“if-descripition”。
为了更清楚完整地说明上述对根集合的去重过程,假设某根集合中有3个根节点的名称分别为“interface”、“if”和“interface-definition”,将根集合中的每个根节点的名称与根节点词典库比较,假设根节点词典库中记录有目标词“interface”,且该目标词对应的同义词包括“interface”、“if”、“interface-definition”、“interface-descripition”、“if-definition”和“if-descripition”,因此,在根节点词典库中均能找到根集合中的3个根节点的名称“interface”、“if”和“interface-definition”,且这3个根节点的名称在根节点词典库中对应同一个目标词“interface”,因此,根集合中的这3个根节点的名称属于根节点词典库中同一目标词的同义词,可以将{“interface”,“if”,“interface-definition”}统一为{“if”,“if”,“if”},{“if”,“if”,“if”}即为标准根集合。
需要说明的是,根集合中根节点的名称对应的根节点分为容器类型的根节点和列表类型的根节点,所谓对根集合去重包括:对根集合中容器类型的根节点对应的名称和根集合中列表类型的根节点对应的名称分开去重。因此,可以采用上述方法对根集合中容器类型的根节点对应的名称进行去重,以及采用上述方法对根集合中列表类型的根节点对应的名称进行去重。
S204、对叶子集合去重,以获得标准叶子集合。
本申请实施例中,由于叶子集合中叶子节点的名称来自于多个网络设备的多个YANG数据,叶子节点的名称也是该叶子节点定义的一种属性,叶子集合中可能存在几个不同的叶子节点的名称对应的叶子节点相同,或者说,叶子集合中存在几个不同的叶子节点的名称对应同一属性,也就是说,叶子集合中存在对某种属性的多种命名方式,导致叶子集合中叶子节点的名称冗余。因此,对叶子集合去重以统一叶子集合中表示同一属性的叶子节点的名称,从而获得标准叶子集合,标准叶子集合中相同的叶子节点的名称对应的属性相同,不同的叶子节点的名称对应的属性不同,换句话说,标准叶子集合中相同的叶子节点的名称对应的叶子节点相同,不同的叶子节点的名称对应的叶子节点不同。
所谓对叶子集合去重是指:当叶子集合中有至少两个叶子节点的名称对应的叶子节点相同时,统一上述至少两个叶子节点的名称,以使叶子集合中相同的叶子节点具有相同的名称。
例如,确定叶子集合中有至少两个叶子节点的名称对应的叶子节点相同的方法可以是:若叶子集合中有至少两个叶子节点的名称包括相同的第二有序字符序列时,则说明叶子集合中有至少两个叶子节点的名称对应的叶子节点相同。
例如,确定叶子集合中有至少两个叶子节点的名称对应的叶子节点相同的方法还可以是:若叶子集合中有至少两个叶子节点的名称属于叶子节点词典库中同一目标词的同义词时,则说明叶子集合中有至少两个叶子节点的名称对应的叶子节点相同。需要说明的是,叶子节点词典库是根据大量YANG数据中叶子节点的名称样本以及人工命名经验建立的,叶子节点词典库包括叶子节点的目标词与该目标词的同义词之间的映射关系。例如,对于叶子节点词典库的目标词Internet Protocol Address(ip地址),其对应的同义词有“internet protocol address”、“ip-address”、“ip addr”、“ip addresss”和“ip add.”。
需要说明的是,YANG数据中叶子节点的名称通常由两部分组成,其中,第一部分表示属性名,属性名是由字母、间隔符、空格和下划线中的至少一种组成的字符串,第二部分表示属性值,属性值是数字和小数点中的至少一种组成的字符串。例如,一叶子节点的名称为“ip address 10.12.164.28”,其中,“ip addres”为属性名,“10.12.164.28”为属性值。例如,一叶子节点的名称为“eth-trunk1”,其中,“eth-trunk”为属性名,“1”为属性值。因此,对叶子集合去重是指对叶子节点的名称中表示属性名的字符串部分去重。
由此可以看出,对叶子集合去重和对根集合去重的原理相似,对叶子集合去重所采用的方法具体可参考S103中的相关描述,为了说明书的简洁,在此不再赘述。
举例来说,假设叶子集合中叶子节点的名称有{“ip address10.12.164.28”,“ipaddr10.12.164.29”,“internet protocol address10.12.164.30”},对该叶子集合去重即为对{“ip address”,“ip addr”,“internet protocol address”}去重,统计各叶子节点的名称中表示属性名的字符串部分的长度,确定最短属性名对应的字符串为“ip addr”,其对应的有序字符序列为
Figure BDA0002645112790000171
与叶子集合中的剩余属性名对应的字符串进行比较,可以知晓
Figure BDA0002645112790000172
Figure BDA0002645112790000173
中均包括有序字符序列
Figure BDA0002645112790000174
统一{“ip address”,“ip addr”,“internet protocol address”}中的每个属性名,可获得{“ip addr”,“ip addr”,“ip addr”},则标准叶子集合为{“ip addr 10.12.164.28”,“ipaddr 10.12.164.29”,“ip addr10.12.164.30”}。在一些可能实施例中,统一{“ipaddress”,“ip addr”,“internet protocol address”}中的每个属性名,也可获得{“ipaddress”,“ip address”,“ip address”}或者其他,本申请并不做具体限定。
需要说明的是,对根集合去重和对叶子集合去重可以是一先一后或者一后一先的执行顺序,当然,两者也可以同时执行,本申请不做具体限定。
S205、根据标准根集合和标准叶子集合获得网络配置知识图谱。本步骤具体可参考图3实施例中S103的相关描述,这里不再赘述。
需要说明的是,与S103不同的是,S205是根据标准根集合和标准叶子集合获得网络配置知识图谱,其中,标准根集合基于对S103中的根集合去重后获得的,标准叶子集合是基于对S103中的叶子集合去重后获得的,但S205中构建网络配置知识图谱的方法与S103中构建网络配置知识图谱的方法相同。
参见图7,图7是本申请实施例提供的一种网络配置知识图谱的局部示意图,图7所示的网络配置知识图谱是根据标准根集合和标准叶子集合获得的,对比图5所示的网络配置知识图谱,图5所示的知识图谱是根据根集合和叶子集合获得的,可以看出,在对根集合去重后,图5中设备标识switch01下根节点“interface”更新为图7中设备标识switch01下根节点“if”;在对叶子集合去重后,图5中设备标识switch01下根节点“interface”的叶子节点“ip address 10.12.164.28”更新为图7中设备标识switch01下根节点“if”的叶子节点“ip addr10.12.164.28”。需要说明的是,由于对根集合去重是对根集合中的容器类型的根节点的名称和列表类型的根节点的名称分开去重,因此,在图5或者图7中,设备标识switch02下根节点“ifs”对应的根节点类型为容器型,设备标识switch02下根节点“if”对应的根节点类型和根节点“ipv6”对应的根节点类型均为列表型,“ifs”中虽然包括“if”对应的有序字符序列,但“ifs”不会被去重;而图5中设备标识switch02下根节点“if”和图5中设备标识switch01下根节点“interface”对应的根节点类型均为列表型,虽然“ipv6”、“interface”和“if”对应的根节点的类型相同,但只有“interface”和“if”包括相同的有序字符序列,故会对“interface”和“if”执行去重操作。
S206、在显示器上显示网络配置知识图谱。本步骤具体可参考图3实施例中S104的相关描述,这里不再赘述。
可以看到,实施本申请实施例,基于网络设备的YANG数据直接提取根节点的名称和叶子节点的名称,降低了知识图谱创建过程中节点抽取的复杂度,提高了提取节点以及节点间关系的操作效率。对提取的根节点的名称和叶子节点的名称去重,使得根节点的命名以及叶子节点的命名规范统一,有助于提高网络配置知识图谱中节点间关系的建立效率,提高了网络配置知识图谱的构建效率。
参见图8,基于上文图1实施所描述的系统架构,下面描述本申请实施例提供的又一种网络配置知识图谱的构建方法,其中,另外,图8实施例所述的方法可以独立于图3和图6实施例,也可以是对图3实施例和图6实施例的补充。该方法包括但不限于以下步骤:
S301、接收多个网络设备的多个YANG数据,根据多个YANG数据获得网络配置知识图谱。本步骤具体可参考上述图3实施例中的S101-S103或者图6实施例中S201-S205中的相关描述,为了说明书的简洁,在此不再赘述。
S302、接收第一设备发送的事件消息。
本申请实施例中,计算设备接收第一设备发送的事件消息,该事件消息包括第一设备的状态事件和第一设备的属性信息,其中,状态事件指示第一设备的网络状态发生变化的事件,属性信息中包括第一设备的至少一种属性,且每种属性包括属性名和属性值,每种属性可以由多个字符以及数字组成的字符串表示。可以理解,事件消息中还包括第一设备的设备标识。
在一些可能的实施例中,事件消息中的状态事件为第一设备的故障事件,例如,交换机的某个以太网接口关闭(down)、协议未启动、以太网接口频繁开启关闭转换等故障事件。在一些可能的实施例中,状态事件也可以是第一设备的提示事件或者日志等,本申请不做具体限定。
需要说明的是,第一设备为上述多个网络设备中的一个,S301中获得的网络配置知识图谱中包括第一设备的相关信息。所述状态信息用于表示网络设备内的属性信息。
S303、根据属性信息和网络配置知识图谱确定状态事件在网络配置知识图谱中对应的第一设备的目标根节点。
本申请实施例中,在接收到第一设备的事件消息后,根据事件消息中的属性信息和网络配置知识图谱确定状态事件在网络配置知识图谱中对应的第一设备的目标根节点。
具体地,将属性信息与网络配置知识图谱中第一设备对应的各根节点的叶子节点匹配,根据属性信息与网络配置知识图谱中第一设备对应的各根节点的叶子节点的匹配度,获得目标根节点,目标根节点为与属性信息匹配度最高的叶子节点的根节点。
例如,假设第一设备发送的事件消息为“switch02,“event:down”,(“eth-trunk1”,“dfs-group10”)”,其中,“switch02”为第一设备的设备标识,“event:down”为故障事件,(“eth-trunk 2”,“dfs-group 10”)中的字符串为属性信息,将属性信息图7所示的网络配置知识图谱中第一设备的各根节点的叶子节点匹配,由图7可以看出,图7中第一设备switch02下有3个根节点,但只有“ipv6”和“if”这两个根节点有叶子节点,其中,“ipv6”有3个叶子节点,“if”有四个叶子节点,经匹配发现,属性信息(“eth-trunk 2”,“dfs-group10”)中的两种属性与“ipv6”的三个叶子节点均不匹配,即匹配度为0;属性信息(“eth-trunk 2”,“dfs-group 10”)中的两种属性与“if”的叶子节点“eth-trunk 2”和“dfs-group10”匹配成功,即匹配度为100%,因此,属性信息与网络配置知识图谱中第一设备下的根节点“if”的匹配度最高,故可以确定目标根节点为“if”。
S304、在网络配置知识图谱中添加状态事件以及连接状态事件与目标根节点。
本申请实施例中,在获得事件消息中的状态事件在网络配置知识图谱中对应的第一设备的目标根节点后,即可在网络配置知识图谱中添加状态事件这一节点以及连接该状态事件与目标根节点。如此,不仅可以丰富完善网络配置知识图谱,还可以实现基于网络配置知识图谱和事件消息的故障定位分析。
参见图9,图9是本申请实施例提供的一种网络配置知识图谱的部分示例图,由S303中的示例,即根据事件消息中的属性信息(“eth-trunk 2”,“dfs-group 10”)确定目标根节点为图7中网络配置知识图谱中switch02下的根节点“if”,即在图7所示的网络配置知识图谱中添加状态事件这一节点以及连接该状态事件与目标根节点,为了清楚地显示这一步骤,参见图9中的虚线以及虚线框所示,其中,虚线框表示的即为故障事件“event:down”,虚线表示故障事件“event:down”与目标根节点“if”之间的连接。
在一些可能的实施例中,在状态事件为第一设备的故障事件时,在确定故障事件在网络配置知识图谱中对应的第一设备的目标根节点后,根据网络配置知识图谱中各根节点之间的关系可以进行关联故障定位。例如,参见图9,设备标识switch02下的根节点“if”上连接有一个故障事件,由于设备标识switch02下的根节点“ipv6”与设备标识switch02下的根节点“if”有联结关系,设备标识switch01下的根节点“if”与设备标识switch02下的根节点“if”有相关关系,则设备标识switch02下的根节点“ipv6”和设备标识switch01下的根节点“if”也可能因为设备标识switch02下的根节点“if”的故障事件受到影响而产生故障,从而可以向对对应网络设备发送故障提示消息。
在一些可能的实施例中,S303中事件消息中的属性信息可能与网络配置知识图谱中第一设备的所有根节点的叶子节点均不匹配,故无法确定目标根节点,在此情况下,可以将该事件消息中的状态事件添加至网络配置知识图谱中并连接该状态事件与第一设备的设备标识。
需要说明的是,在网络配置知识图谱中添加状态事件以及连接状态事件与目标根节点即相当于对网络配置知识图谱进行了更新,还可将更新后的网络配置知识图谱在显示器上显示。显示更新后的网络配置知识图谱的具体过程可参考图3中S104的相关描述,在此不再赘述。
可以看到,实施本申请实施例,基于网络设备的YANG数据中根节点的名称以及叶子节点的名称建立网络配置知识图谱,可以提高网络配置知识图谱的构建效率。另外,还可以结合网络配置知识图谱和网络设备的事件消息实现故障定位分析,以及不断丰富完善网络配置知识图谱,增加了网络配置知识图谱构建的自动化能力。
参见图10,图10是本申请实施例提供的一种装置的结构示意图,装置40至少包括处理器110、存储器111、接收器112和显示器113,该接收器112也可以替换为通信接口,用于为处理器110提供信息输入。可选的,存储器111、接收器112、显示器113和处理器110通过总线连接或耦合。装置40可为图1中的计算设备。
接收器112用于接收来自多个网络设备的多个YANG数据。在一些可能的实施例中,接收器112还用于接收网络设备发送的事件消息。接收器112可以是有线接口或者无线接口。有线接口可以是以太网接口、局域互联网络(Local Interconnect Network,LIN)等,无线接口可以是蜂窝网络接口或无线局域网接口等。
处理器110执行各操作的具体实现可参考上述方法实施例中有抽取YANG数据中根节点的名称、抽取YANG数据中叶子节点的名称、构建网络配置知识图谱等具体操作。处理器110可以由一个或者多个通用处理器构成,例如中央处理器(Central Processing Unit,CPU),或者CPU和硬件芯片的组合。上述硬件芯片可以是专用集成电路(Application-Specific Integrated Circuit,ASIC)、可编程逻辑器件(Programmable Logic Device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(Complex Programmable LogicDevice,CPLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用阵列逻辑(Generic Array Logic,GAL)或其任意组合。
存储器111可以包括易失性存储器(Volatile Memory),例如随机存取存储器(Random Access Memory,RAM);存储器111也可以包括非易失性存储器(Non-VolatileMemory),例如只读存储器(Read-Only Memory,ROM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD);存储器111还可以包括上述种类的组合。存储器111可以存储程序以及数据,其中,存储的程序包括:根节点提取程序、叶子节点提取程序、关系提取程序、根集合去重程序等,存储的数据包括:根集合、叶子集合等。存储器111可以单独存在,也可以集成于处理器110内部。
显示器113用于显示建立好的网络配置知识图谱,显示器113可以是显示屏,显示屏可以是液晶显示器(Liquid Crystal Display,LCD)、有机或无机发光二极管(OrganicLight-Emitting Diode,OLED)、有源矩阵有机发光二极体面板(Active Matrix/OrganicLight Emitting Diode,AMOLED)等。
本申请实施例中,装置40用于实现上述图3、图6和图8实施例所描述的方法。
参见图11,图11是本申请实施例提供的一种装置的功能结构示意图,装置41包括接收单元410和处理单元411。可选地,在一些可能的实施例中,装置41还包括显示单元412和/或去重单元413。该装置41可以通过硬件、软件或者软硬件结合的方式来实现。
其中,接收单元410用于接收来自多个网络设备的多个又下一代YANG数据,多个YANG数据中每个YANG数据为每个YANG数据对应的网络设备的网络配置数据,每个YANG数据基于YANG模型;处理单元411用于:抽取多个YANG数据的根节点的名称以获得根集合;抽取多个YANG数据的根节点下的叶子节点的名称以获得叶子集合;根据根集合和叶子集合获得网络配置知识图谱,网络配置知识图谱是由多个节点和边组成的拓扑结构,节点为根集合或叶子集合中的名称,边表示位于该边两端的节点之间的关系。
在一些可能的实施例中,装置41还包括显示单元412,显示单元412用于显示网络配置知识图谱。在一些可能的实施例中,装置41还包括去重单元413,去重单元413用于对根集合去重,以获得标准根集合;去重单元413还用于对叶子集合去重,以获得标准叶子集合。
该装置41的各功能模块可用于实现图3实施例所描述的方法。在图3实施例中,接收单元410可用于执行S101,处理单元411可用于执行S102和S103,显示单元412可用于执行S104,去重单元413可用于执行图6实施例中的S203和S204。该装置41的各功能模块还可用于实现图6和图8实施例所描述的方法,为了说明书的简洁,在此不再赘述。
在本文上述的实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。
需要说明的是,本领域普通技术人员可以看到上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质包括只读存储器(Read-Only Memory,ROM)、随机存储器(Random AccessMemory,RAM)、可编程只读存储器(Programmable Read-only Memory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、一次可编程只读存储器(One-time Programmable Read-Only Memory,OTPROM)、电子抹除式可复写只读存储(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是个人计算机,服务器,或者网络设备、机器人、单片机、芯片、机器人等)执行本申请各个实施例所述方法的全部或部分步骤。

Claims (26)

1.一种网络配置知识图谱的构建方法,其特征在于,所述方法包括:
接收来自多个网络设备的多个又下一代YANG数据,所述多个YANG数据中每个YANG数据为所述每个YANG数据对应的网络设备的网络配置数据,所述每个YANG数据基于YANG模型;
抽取所述多个YANG数据的根节点的名称以获得根集合;
抽取所述多个YANG数据的根节点下的叶子节点的名称以获得叶子集合;
根据所述根集合和所述叶子集合获得网络配置知识图谱,所述网络配置知识图谱是由多个节点和边组成的拓扑结构,所述节点为所述根集合或所述叶子集合中的名称,所述边表示位于所述边两端的节点之间的关系,其中,所述边两端的节点均为根节点时,所述边两端的节点之间的关系为从属关系、相关关系或联结关系。
2.根据权利要求1所述的方法,其特征在于,在所述根据所述根集合和所述叶子集合获得网络配置知识图谱后,所述方法还包括:
接收第一设备发送的事件消息,所述事件消息包括所述第一设备的状态事件和所述第一设备的属性信息,所述第一设备为所述多个网络设备中的一个;
根据所述属性信息与所述网络配置知识图谱中所述第一设备对应的各根节点的叶子节点的匹配度,获得目标根节点,所述目标根节点为与所述属性信息匹配度最高的叶子节点的根节点;
在所述网络配置知识图谱中添加所述状态事件以及连接所述状态事件与所述目标根节点。
3.根据权利要求2所述的方法,其特征在于,所述第一设备的状态事件为所述第一设备的故障事件。
4.根据权利要求2所述的方法,其特征在于,所述根据所述根集合和所述叶子集合获得网络配置知识图谱,包括:
根据所述根集合和所述叶子集合建立所述根集合中各根节点之间的连接;
根据所述根集合、所述叶子集合和所述各根节点之间的连接获得所述网络配置知识图谱。
5.根据权利要求4所述的方法,其特征在于,所述根据所述根集合和所述叶子集合建立所述根集合中各根节点之间的连接,包括:
建立第一连接,所述第一连接为第一根节点和第二根节点之间的连接,其中,所述第一根节点的类型为容器类型,所述第二根节点的类型为列表类型,所述第一根节点和所述第二根节点来自同一YANG数据且所述第二根节点跟随所述第一根节点。
6.根据权利要求5所述的方法,其特征在于,所述第一连接指示所述第一根节点和所述第二根节点之间的关系为所述从属关系。
7.根据权利要求4-6任一项所述的方法,其特征在于,所述根据所述根集合和所述叶子集合建立所述根集合中各根节点之间的连接,包括:
建立第二连接,所述第二连接为第三根节点和第四根节点之间的连接,所述第三根节点的一个叶子节点的名称与所述第四根节点的一个叶子节点的名称相同。
8.根据权利要求7所述的方法,其特征在于,
如果所述第三根节点和所述第四根节点来自不同的YANG数据,所述第二连接指示所述第三根节点和所述第四根节点之间的关系为所述相关关系;
如果所述第三根节点和所述第四根节点来自同一个YANG数据,所述第二连接指示所述第三根节点和所述第四根节点之间的关系为所述联结关系。
9.根据权利要求8所述的方法,其特征在于,在所述根据所述根集合和所述叶子集合获得网络配置知识图谱前,所述方法还包括:
对所述根集合去重,以获得标准根集合;
对所述叶子集合去重,以获得标准叶子集合;
所述根据所述根集合和所述叶子集合获得网络配置知识图谱,包括:
根据所述标准根集合和所述标准叶子集合获得所述网络配置知识图谱。
10.根据权利要求9所述的方法,其特征在于,
所述对所述根集合去重,包括:
当所述根集合中有至少两个根节点的名称包括相同的第一有序字符序列时,统一所述至少两个根节点的名称;
所述对所述叶子集合去重,包括:
当所述叶子集合中有至少两个叶子节点的名称包括相同的第二有序字符序列时,统一所述至少两个叶子节点的名称。
11.根据权利要求10所述的方法,其特征在于,所述对所述根集合去重,包括:
对所述根集合中容器类型的根节点对应的名称和所述根集合中列表类型的根节点对应的名称分开去重。
12.根据权利要求1-6任一项所述的方法,其特征在于,在所述根据所述根集合和所述叶子集合获得网络配置知识图谱后,所述方法还包括:
在显示器上显示所述网络配置知识图谱。
13.一种用于生成网络配置知识图谱的装置,其特征在于,所述装置包括:
接收单元,用于接收来自多个网络设备的多个又下一代YANG数据,所述多个YANG数据中每个YANG数据为所述每个YANG数据对应的网络设备的网络配置数据,所述每个YANG数据基于YANG模型;
处理单元,用于抽取所述多个YANG数据的根节点的名称以获得根集合;
所述处理单元,还用于抽取所述多个YANG数据的根节点下的叶子节点的名称以获得叶子集合;
所述处理单元,还用于根据所述根集合和所述叶子集合获得网络配置知识图谱,所述网络配置知识图谱是由多个节点和边组成的拓扑结构,所述节点为所述根集合或所述叶子集合中的名称,所述边表示位于所述边两端的节点之间的关系,其中,所述边两端的节点均为根节点时,所述边两端的节点之间的关系为从属关系、相关关系或联结关系。
14.根据权利要求13所述的装置,其特征在于,
所述接收单元,还用于接收第一设备发送的事件消息,所述事件消息包括所述第一设备的状态事件和所述第一设备的属性信息,所述第一设备为所述多个网络设备中的一个;
所述处理单元,还用于根据所述属性信息与所述网络配置知识图谱中所述第一设备对应的各根节点的叶子节点的匹配度,获得目标根节点,所述目标根节点为与所述属性信息匹配度最高的叶子节点的根节点;
所述处理单元,还用于在所述网络配置知识图谱中添加所述状态事件以及连接所述状态事件与所述目标根节点。
15.根据权利要求14所述的装置,其特征在于,所述第一设备的状态事件为所述第一设备的故障事件。
16.根据权利要求14所述的装置,其特征在于,所述处理单元具体用于:
根据所述根集合和所述叶子集合建立所述根集合中各根节点之间的连接;
根据所述根集合、所述叶子集合和所述各根节点之间的连接获得所述网络配置知识图谱。
17.根据权利要求16所述的装置,其特征在于,所述处理单元具体用于:
建立第一连接,所述第一连接为第一根节点和第二根节点之间的连接,其中,所述第一根节点的类型为容器类型,所述第二根节点的类型为列表类型,所述第一根节点和所述第二根节点来自同一YANG数据且所述第二根节点跟随所述第一根节点。
18.根据权利要求17所述的装置,其特征在于,所述第一连接指示所述第一根节点和所述第二根节点之间的关系为所述从属关系。
19.根据权利要求16-18任一项所述的装置,其特征在于,所述处理单元具体用于:
建立第二连接,所述第二连接为第三根节点和第四根节点之间的连接,所述第三根节点的一个叶子节点的名称与所述第四根节点的一个叶子节点的名称相同。
20.根据权利要求19所述的装置,其特征在于,
如果所述第三根节点和所述第四根节点来自不同的YANG数据,所述第二连接指示所述第三根节点和所述第四根节点之间的关系为所述相关关系;
如果所述第三根节点和所述第四根节点来自同一个YANG数据,所述第二连接指示所述第三根节点和所述第四根节点之间的关系为所述联结关系。
21.根据权利要求20所述的装置,其特征在于,所述装置还包括:
去重单元,用于对所述根集合去重,以获得标准根集合;以及用于对所述叶子集合去重,以获得标准叶子集合;
所述处理单元具体用于:
根据所述标准根集合和所述标准叶子集合获得所述网络配置知识图谱。
22.根据权利要求21所述的装置,其特征在于,所述去重单元具体用于:
当所述根集合中有至少两个根节点的名称包括相同的第一有序字符序列时,统一所述至少两个根节点的名称;
当所述叶子集合中有至少两个叶子节点的名称包括相同的第二有序字符序列时,统一所述至少两个叶子节点的名称。
23.根据权利要求22所述的装置,其特征在于,所述去重单元具体用于:
对所述根集合中容器类型的根节点对应的名称和所述根集合中列表类型的根节点对应的名称分开去重。
24.根据权利要求13-18任一项所述的装置,其特征在于,所述装置还包括:
显示单元,用于在显示器上显示所述网络配置知识图谱。
25.一种构建网络配置知识图谱的装置,其特征在于,所述装置包括存储器和处理器,所述存储器用于存储程序指令;所述处理器用于调用所述存储器中的程序指令,以执行如权利要求1-12中任一项所述的方法。
26.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-12中任一项所述的方法。
CN202010852198.1A 2020-08-21 2020-08-21 一种网络配置知识图谱构建方法及装置 Active CN114172793B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010852198.1A CN114172793B (zh) 2020-08-21 2020-08-21 一种网络配置知识图谱构建方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010852198.1A CN114172793B (zh) 2020-08-21 2020-08-21 一种网络配置知识图谱构建方法及装置

Publications (2)

Publication Number Publication Date
CN114172793A CN114172793A (zh) 2022-03-11
CN114172793B true CN114172793B (zh) 2023-04-04

Family

ID=80475511

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010852198.1A Active CN114172793B (zh) 2020-08-21 2020-08-21 一种网络配置知识图谱构建方法及装置

Country Status (1)

Country Link
CN (1) CN114172793B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115525776A (zh) * 2022-10-31 2022-12-27 中国电信股份有限公司 事件抽取模型训练方法、事件抽取方法以及相关设备
CN116644810B (zh) * 2023-05-06 2024-04-05 国网冀北电力有限公司信息通信分公司 一种基于知识图谱实现的电网故障风险处置方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110457484A (zh) * 2019-06-26 2019-11-15 重庆兆光科技股份有限公司 一种基于图的逻辑表达方法、系统、介质和设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102424056B1 (ko) * 2017-10-31 2022-07-25 한국전자통신연구원 Netconf 기반의 네트워크 시스템 명령어를 yang 언어로 모델링하는 방법 및 장치
CN108563653B (zh) * 2017-12-21 2020-07-31 清华大学 一种用于知识图谱中知识获取模型的构建方法及系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110457484A (zh) * 2019-06-26 2019-11-15 重庆兆光科技股份有限公司 一种基于图的逻辑表达方法、系统、介质和设备

Also Published As

Publication number Publication date
CN114172793A (zh) 2022-03-11

Similar Documents

Publication Publication Date Title
US10237295B2 (en) Automated event ID field analysis on heterogeneous logs
US11775767B1 (en) Systems and methods for automated iterative population of responses using artificial intelligence
CN114172793B (zh) 一种网络配置知识图谱构建方法及装置
CN112311571B (zh) 网络拓扑生成方法及装置、电子设备和非暂态存储介质
CN108228657B (zh) 一种关键字检索的实现方法及装置
CN112667636B (zh) 索引建立方法、装置及存储介质
CN112559631B (zh) 分布式图数据库的数据处理方法、装置以及电子设备
CN112860811B (zh) 数据血缘关系的确定方法、装置、电子设备和存储介质
CN111680498B (zh) 实体消歧方法、装置、存储介质及计算机设备
CN112988780A (zh) 数据校核方法和装置、存储介质及电子设备
CN113792008A (zh) 网络拓扑结构的获取方法、装置、电子设备及存储介质
CN112528067A (zh) 图数据库的存储方法、读取方法、装置及设备
CN113434506B (zh) 数据管理及检索方法、装置、计算机设备及可读存储介质
CN112364051B (zh) 一种数据查询方法及装置
CN111953609B (zh) 基于ovs的数据包处理方法及相关设备
CN114218266A (zh) 一种数据查询方法、装置、电子设备和存储介质
CN113553458A (zh) 图数据库中的数据导出方法及装置
CN111078671A (zh) 数据表字段的修改方法、装置、设备和介质
CN112671614A (zh) 关联系统连通性测试方法、系统、装置及存储介质
CN108549679B (zh) 用于url分析系统的文件扩展名快速匹配方法和装置
CN112688884B (zh) 加密流量自定义应用识别方法、系统、装置及存储介质
KR101927689B1 (ko) Cim 계통도 처리 방법
CN109885542A (zh) 项目文件管理方法、装置及存储介质
CN110932896A (zh) 日志倒排索引的创建方法、装置、设备及可读存储介质
CN111459974B (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