WO2022001924A1 - 构建知识图谱的方法、装置及系统、计算机存储介质 - Google Patents
构建知识图谱的方法、装置及系统、计算机存储介质 Download PDFInfo
- Publication number
- WO2022001924A1 WO2022001924A1 PCT/CN2021/102651 CN2021102651W WO2022001924A1 WO 2022001924 A1 WO2022001924 A1 WO 2022001924A1 CN 2021102651 W CN2021102651 W CN 2021102651W WO 2022001924 A1 WO2022001924 A1 WO 2022001924A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- command line
- template
- target
- network entity
- attribute
- Prior art date
Links
- 238000010276 construction Methods 0.000 title abstract description 7
- 230000014509 gene expression Effects 0.000 claims description 229
- 238000000034 method Methods 0.000 claims description 167
- 230000008569 process Effects 0.000 claims description 90
- 238000012545 processing Methods 0.000 claims description 51
- 238000004590 computer program Methods 0.000 claims description 20
- 230000001186 cumulative effect Effects 0.000 claims description 9
- 238000012549 training Methods 0.000 claims description 4
- 238000004891 communication Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 9
- 238000010801 machine learning Methods 0.000 description 6
- 230000001419 dependent effect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- 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/085—Retrieval of network configuration; Tracking network configuration history
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/367—Ontology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
- G06F40/295—Named entity recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
-
- 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/02—Standardisation; Integration
- H04L41/0246—Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
- H04L41/0266—Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols using meta-data, objects or commands for formatting management information, e.g. using eXtensible markup language [XML]
-
- 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
- H04L41/084—Configuration by using pre-existing information, e.g. using templates or copying from other elements
- H04L41/0843—Configuration by using pre-existing information, e.g. using templates or copying from other elements based on generic templates
-
- 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/22—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
-
- 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/06—Management of faults, events, alarms or notifications
- H04L41/0631—Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
- H04L41/065—Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis involving logical or physical relationship, e.g. grouping and hierarchies
-
- 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/06—Management of faults, events, alarms or notifications
- H04L41/0677—Localisation of faults
-
- 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/12—Discovery or management of network topologies
-
- 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/16—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence
Definitions
- the present application relates to the field of network technologies, and in particular, to a method, device and system for building a knowledge graph, and a computer storage medium.
- the current network usually includes multiple devices, the causes of network failures are complex, and the efficiency of manually summarizing fault judgment rules is low.
- constructing a knowledge graph of the network reflecting the configuration relationship between devices on the knowledge graph, mounting fault alarms to the knowledge graph and performing root cause traceability analysis, the efficiency and accuracy of fault location can be improved.
- entities in unstructured text are usually extracted based on domain word sets, and words other than domain words and non-domain common words in unstructured text are identified as entities.
- the domain word set corresponding to the network includes “IP”
- the present application provides a method, device and system for building a knowledge graph, and a computer storage medium.
- a method for constructing a knowledge graph includes: the first device obtains first configuration information of the target network device.
- the first device acquires a template matching file corresponding to the target network device, where the template matching file is used to describe the format of one or more command lines in the configuration information of a class of network devices to which the target network device belongs.
- the first device creates a target network entity corresponding to the first command line according to the template matching file and the first command line in the first configuration information.
- the type of the target network entity is device, interface, protocol or service.
- the target network entity is used to construct a knowledge graph of the network where the target network device is located.
- the template matching file can describe the format of the command line in the configuration information
- the network entity corresponding to the command line in the configuration information can be accurately created based on the template matching file.
- the specific meaning of the created network entity can be determined according to the command line template, and then the knowledge graph of the network where the network device is located can be constructed based on the configuration information of the network device.
- the template matching file includes multiple command line templates, and each command line template is used to describe a format of a command line in the configuration information of the network device.
- the first device creates a target network entity corresponding to the first command line according to the template matching file and the first command line in the first configuration information, including:
- the first device determines a target command line template matching the first command line in the template matching file. Then, the first device creates a target network entity according to the target command line template and the first command line.
- command line templates are derived based on command line expressions.
- the command line template includes all the content in the command line expression, and the command line template can indicate the order of the content contained in the corresponding command line in the command line, and the command line expression includes the corresponding content in the configuration information of this type of network device. A description of the command line.
- the first command line matches the target command line template, including: the first command line includes all mandatory content in the target command line template, and the content included in the first command line is in the same order as the target command line template.
- the instructions are in the same order.
- the command line expression corresponding to the first command line includes one or more parameters.
- the first device creates the implementation process of the target network entity according to the target command line template and the first command line, including:
- the first device generates one or more parameter key-value pairs according to the target command line template and the first command line, where the parameter key-value pairs include parameter names of parameters in the target command line template and corresponding parameter values in the first command line.
- the first device then creates a target network entity based on the one or more parameter key-value pairs.
- the arrangement order of one or more parameter key-value pairs is consistent with the sequence indicated by the target command line template, and the name of the target network entity includes the first parameter key-value pair of the one or more parameter key-value pairs. information.
- the command line template is obtained based on the command line expression, and the command line template includes a regular expression of the command line expression.
- the first device determines the implementation process of the target command line template matching the first command line in the template matching file, including:
- the first device uses the first command line template in the template matching file as the command line template to be matched, and the first command line template is any command line template in the template matching file; the first device performs template matching on the command line template to be matched Process.
- the template matching process includes:
- the regular expression in the command line template to be matched is used for regular matching with the first command line; when the regular expression is successfully matched with the first command line, the command line template to be matched is used as the target command line template; If the command line matching fails, the second command line template in the template matching file is used as the new command line template to be matched, and the template matching process is executed again.
- the second command line template is any template matching file in the template matching file that has not been executed The command line template for the process.
- the command line template is derived based on a command line expression, and the command line template includes a regular expression of the command line expression.
- the first device determines the implementation process of the target command line template matching the first command line in the template matching file, including:
- the first device uses the third command-line template in the target command-line template set as the command-line template to be matched, and the target command-line template set includes the template matching file successfully matched with the command line in the historical configuration information of the network device of this type
- the third command line template is any command line template in the target command line template set.
- the first device performs a template matching process on the command line template to be matched.
- the template matching process includes:
- the regular expression in the command line template to be matched is used for regular matching with the first command line; when the regular expression is successfully matched with the first command line, the command line template to be matched is used as the target command line template; If the command line matching fails, if the fourth command line template is included in the target command line template set, the fourth command line template is used as the new command line template to be matched, and the template matching process is executed again; if the target command line template set does not contain the fourth command line template If the fourth command line template is included, the fifth command line template is used as a new command line template to be matched, and the template matching process is executed again; wherein, the fourth command line template is the target command line template set that has not executed the template matching process. Any command line template, and the fifth command line template is any command line template in the template matching file for which the template matching process has not been performed.
- the first device may also obtain multiple command line templates in the template matching file that are successfully matched with the command lines in the historical configuration information of the network device of this type, and combine the multiple command line templates with the command line template of the type.
- the command line template in the historical configuration information of the network device whose accumulative number of successful command line matching reaches the target number threshold is used as the command line template in the target command line template set.
- the first command line and the target command line template set The probability that the command line template matches is generally greater than the probability that the first command line matches other command line templates other than the target command line template set in the template matching file.
- the first device first performs the template matching process on the command line templates in the target command line template set, which can improve template matching efficiency.
- the command line template further includes a target content list, where the target content list includes one or more mandatory fixed contents in the corresponding command line.
- the first device uses the regular expression in the command line template to be matched and the implementation process of regular matching with the first command line, including: when the first command line includes all the contents in the target content list in the command line template to be matched, The first device performs regular matching with the first command line by using the regular expression in the command line template to be matched.
- the first device determines that the command line template to be matched fails to match the first command line.
- the first device before using the regular expression to perform regular matching with the first command line, the first device first uses the mandatory fixed content in the target content list to perform fuzzy matching with the first command line, and can perform the matching of the command line template to be matched. Preliminary screening and reducing the number of command-line templates used for regular matching can improve template matching efficiency and save computing resources.
- command line templates are derived based on command line expressions.
- the first device can obtain the target command line expression corresponding to the target command line template, and then determine the target command line expression according to the target command line expression. Whether a network entity needs to be created for the first command line.
- the first device creates the target network entity according to the target command line template and the first command line.
- the first device determines, according to the target command line expression, whether to create a network entity for the first command line.
- the implementation process includes: when the entity type ontology set includes the target command line expression, the first A device determines that a network entity needs to be created for the first command line.
- the entity type ontology set includes a plurality of command line expressions corresponding to the command line corresponding to the network entity.
- the first device first determines whether a network entity needs to be created for the first command line by judging whether the entity type ontology set has a target command line expression corresponding to the target command line template. When it is determined that the network entity does not need to be created for the first command line, the first device stops executing the process of creating the target network entity corresponding to the first command line. When it is determined that a network entity needs to be created for the first command line, the first device then creates a target network entity corresponding to the first command line according to the target command line template and the first command line. The efficiency and accuracy of creating a network entity corresponding to a command line can be improved.
- the first device may also acquire all historical command lines corresponding to network entities in the historical configuration information of this type of network device, and generate an entity type ontology set according to the command line expressions corresponding to all the historical command lines.
- the first device determines, according to the target command line expression, whether to create a network entity for the first command line.
- the implementation process includes: the first device inputs the target command line expression into the entity discrimination model, To obtain the result output by the entity discrimination model based on the target command line expression, the result includes a first indication that a network entity needs to be created for the first command line or a second indication that a network entity does not need to be created for the first command line, the entity The discriminant model is obtained based on whether the corresponding command line is known to correspond to a plurality of sample command line expressions of network entities.
- the result includes the first indication
- the first device determines that a network entity needs to be created for the first command line.
- the result includes the second indication, the first device determines that a network entity does not need to be created for the first command line.
- the first device first determines whether a network entity needs to be created for the first command line through the entity discrimination model. When it is determined that the network entity does not need to be created for the first command line, the first device stops executing the process of creating the target network entity corresponding to the first command line. When it is determined that a network entity needs to be created for the first command line, the first device then creates a target network entity corresponding to the first command line according to the target command line template and the first command line. The efficiency and accuracy of creating a network entity corresponding to the command line can be improved.
- the first device may also acquire multiple sample command line expressions that know whether the corresponding command line corresponds to a network entity, and use the multiple sample command line expressions to train to obtain an entity discrimination model.
- the first device may also determine the target network entity according to one or more attributes of the target network entity.
- An associated network entity that has an associated relationship with the target network entity, and generates a knowledge graph triplet according to the target network entity, the associated network entity and the association relationship, and then builds a knowledge graph of the network where the target network device is located based on the knowledge graph triplet .
- the first device determines, according to one or more attributes of the target network entity, an implementation process of an associated network entity that has an associated relationship with the target network entity, including:
- the first device acquires the pending network entity from the network entity set, and the pending network entity satisfies: the pending network entity has a first attribute, the first attribute is any attribute of the target network entity, and the first attribute of the pending network entity
- the attribute meaning and attribute value of the target network entity are respectively the same as the attribute meaning and attribute value of the first attribute of the target network entity
- the network entity set includes network entities created according to one or more other command lines in the first configuration information.
- the first device determines, according to the association relationship validity judgment rule, whether the association relationship between the undetermined network entity and the target network entity based on the first attribute is valid. When the association relationship between the pending network entity and the target network entity based on the first attribute is valid, the pending network entity is determined as the associated network entity.
- the implementation process of the first device acquiring the pending network entity from the network entity set includes:
- the first device acquires one or more initial network entities from the network entity set, where the initial network entities have undetermined attributes, and the attribute values of the undetermined attributes are the same as the attribute values of the first attributes of the target network entity.
- the text similarity between the attribute name of the undetermined attribute of the initial network entity and the attribute name of the first attribute of the target network entity is greater than the first threshold, and/or, the text of the undetermined attribute in the command line expression corresponding to the initial network entity
- the text similarity between the content and the text content of the first attribute in the command line expression corresponding to the target network entity is greater than the second threshold, and the first device determines that the attribute meaning of the undetermined attribute is the same as that of the first attribute of the target network entity.
- the first device determines the initial network entity as a pending network entity.
- the first device may also acquire a sample network entity pair set, where the sample network entity pair set includes a plurality of sample network entity pairs known to have an associated relationship and the sample network entity pairs in each sample network entity pair. attribute; and then the first device determines a rule for judging the validity of the association relationship based on the sample network entity pair set.
- the first device determines, according to one or more attributes of the target network entity, an implementation process of an associated network entity that has an associated relationship with the target network entity, including:
- the first device obtains, from the set of valid relationship types, a target valid relationship type group including the type of the target network entity, the valid relationship type set includes multiple valid relationship type groups, and each valid relationship type group includes two entity types and An attribute pair, the two entity types are the types of two network entities with an association relationship, the attribute pair includes two attributes that make the two network entities have an association relationship, and the attributes of the two attributes have the same meaning.
- the first device acquires the undetermined network entity based on the target effective relationship type group, and the two entity types in the target effective relationship type group are the type of the target network entity and the type of the undetermined network entity, respectively.
- the first device determines the pending network entity as the associated network entity.
- the second attribute is the attribute corresponding to the type of the undetermined network entity in the attribute pair of the target effective relationship type group
- the third attribute is the attribute corresponding to the type of the target network entity in the attribute pair of the target effective relationship type group.
- the valid relationship type group includes two entity types and an attribute pair that enables the network entities of the two entity types to have an associated relationship
- the associated network entity of the network entity can be searched directionally, and then determine The network entity's associated network entity is more efficient and consumes less computing resources.
- the first device may also acquire a historically valid relationship set, where the historically valid relationship set includes a plurality of historically valid relationship groups, each historically valid relationship group includes two historical network entities with associated relationships and two historically valid relationship groups.
- a network entity has one or more historical attribute pairs in an associated relationship, and each historical attribute pair respectively includes one attribute of two historical network entities.
- the first device generates a valid relationship type group in the valid relationship type set according to the types of the two historical network entities with the associated relationship in the historical valid relationship group and the historical attribute pair that makes the two historical network entities have the associated relationship.
- the implementation process of the first device acquiring the template matching file corresponding to the target network device includes: the first device generating the template matching file.
- the implementation process of generating the template matching file by the first device includes:
- the first device acquires a product manual of the network device of this type, where the product manual includes a plurality of command line expressions, and each command line expression includes a description of a command line in the configuration information of the network device of this type.
- the first device generates a command line template based on the command line expression for each command line expression in the product manual to obtain a template matching file, where the command line template includes the command line expression and the regular expression of the command line expression One or more of the formula and the target content list, and the target content list includes one or more mandatory fixed content in the corresponding command line.
- the first device may also receive one or more of the template matching file, the association validity judgment rule, the valid relationship type set, the target command line template set, the entity type ontology set, or the entity discrimination model sent by the second device. Piece.
- the models of such network devices are the same.
- the product versions of such network devices are the same.
- an implementation process for the first device to acquire the first configuration information of the target network device includes: the first device receives the first configuration information sent by the target network device.
- a method for constructing a knowledge graph includes: the second device generates a template matching file corresponding to a type of network device, the template matching file is used to describe the format of one or more command lines in the configuration information of the network device, and the second device sends the first The device sends the template matching file for the first device to create a network entity corresponding to the command line in the configuration information of any network device in this type of network device.
- the types of network entities are devices, interfaces, protocols or services.
- the implementation process for the second device to generate the template matching file corresponding to this type of network device includes:
- the second device obtains a product manual of the network device of this type, the product manual includes a plurality of command line expressions, and each command line expression includes a description of a command line in the configuration information of the network device of this type.
- the second device For each command line expression in the product manual, the second device generates a command line template based on the command line expression, so as to obtain a template matching file.
- the command line template includes one or more of a command line expression, a regular expression for the command line expression, and a target content list.
- the target content list includes one or more mandatory fixed content in the corresponding command line.
- the second device may also acquire a sample network entity pair set, where the sample network entity pair set includes a plurality of sample network entity pairs known to have an associated relationship and the sample network entity pairs in each sample network entity pair. Attributes. The second device determines the association validity judgment rule based on the sample network entity pair set, and then sends the association validity judgment rule to the first device.
- the second device may also acquire a historically valid relationship set, where the historically valid relationship set includes a plurality of historically valid relationship groups, each historically valid relationship group includes two historical network entities with an associated relationship and two historically valid relationship groups.
- a network entity has one or more historical attribute pairs in an associated relationship, and each historical attribute pair respectively includes one attribute of two historical network entities.
- the second device generates a valid relationship type group according to the types of the two historical network entities with the associated relationship in the historical valid relationship group and the historical attribute pair that makes the two historical network entities have the associated relationship. Then the second device sends a set of valid relationship types to the first device, where the set of valid relationship types includes a plurality of valid relationship type groups.
- the template matching file includes multiple command line templates, and each command line template is used to describe a format of a command line in the configuration information of this type of network device, and the second device can also obtain the template matching file, Multiple command line templates that successfully match the command line in the historical configuration information of this type of network device, and the cumulative number of successful matching of the multiple command line templates with the command line in the historical configuration information of this type of network device
- the command line template that reaches the target number of times threshold is used as the command line template in the target command line template collection. Then the second device sends the set of standard command line templates to the first device.
- the second device may also obtain all historical command lines corresponding to network entities in the historical configuration information of this type of network device, and then generate an entity type ontology set according to the command line expressions corresponding to all the historical command lines, The entity type ontology set is then sent to the first device.
- the second device may also acquire multiple sample command line expressions that know whether the corresponding command line corresponds to a network entity, and use the multiple sample command line expressions to train to obtain an entity discrimination model. The second device then sends the entity discrimination model to the first device.
- an apparatus for constructing a knowledge graph includes a plurality of functional modules, and the plurality of functional modules interact to implement the methods in the first aspect and the various embodiments thereof.
- the multiple functional modules may be implemented based on software, hardware, or a combination of software and hardware, and the multiple functional modules may be arbitrarily combined or divided based on specific implementations.
- the apparatus includes a plurality of functional modules, and the plurality of functional modules interact to implement the methods in the second aspect and the respective embodiments thereof.
- the multiple functional modules may be implemented based on software, hardware, or a combination of software and hardware, and the multiple functional modules may be arbitrarily combined or divided based on specific implementations.
- a computer device including: a processor and a memory;
- the memory for storing a computer program, the computer program including program instructions
- the processor is configured to invoke the computer program to implement the method for constructing a knowledge graph according to any one of the first aspect.
- another computer device including: a processor and a memory;
- the memory for storing a computer program, the computer program including program instructions
- the processor is configured to invoke the computer program to implement the method for constructing a knowledge graph according to any one of the second aspect.
- a system for constructing a knowledge graph including: a first device and a second device; the first device includes the device as described in the third aspect or the computer device as described in the fifth aspect, The second device includes the apparatus described in the fourth aspect or is the computer device described in the sixth aspect.
- a computer storage medium is provided, and instructions are stored on the computer storage medium, and when the instructions are executed by a processor, the method of constructing a knowledge graph according to any one of the first aspect or the second aspect is implemented. method.
- a ninth aspect provides a chip, the chip includes a programmable logic circuit and/or program instructions, and when the chip runs, the method in the first aspect and its various embodiments or the second aspect and its various embodiments are implemented. Methods.
- the first device creates a network entity corresponding to the command line in the configuration information of the network device according to the template matching file corresponding to the network device. Since the template matching file can describe the format of the command line in the configuration information, the network entity corresponding to the command line in the configuration information can be accurately created based on the template matching file. In addition, since the network entity corresponding to the command line is associated with the command line template, the specific meaning of the created network entity can be determined according to the command line template, and then the association relationship between the network entities can be determined, so as to realize the construction based on the configuration information of the network device. The knowledge graph of the network where the network device is located.
- FIG. 1 is a schematic structural diagram of a system for constructing a knowledge graph provided by an embodiment of the present application
- FIG. 2 is a schematic flowchart of a method for constructing a knowledge graph provided by an embodiment of the present application
- FIG. 3 is a schematic structural diagram of an apparatus for constructing a knowledge graph provided by an embodiment of the present application.
- FIG. 4 is a schematic structural diagram of another apparatus for constructing a knowledge graph provided by an embodiment of the present application.
- FIG. 5 is a schematic structural diagram of another apparatus for constructing a knowledge graph provided by an embodiment of the present application.
- FIG. 6 is a block diagram of a computer device provided by an embodiment of the present application.
- FIG. 1 is a schematic structural diagram of a system for constructing a knowledge graph provided by an embodiment of the present application.
- the system includes: a first device 101 and a second device 102 .
- the first device 101 and the second device 102 are connected through a wired network or a wireless network.
- the first device 101 is a network device
- the second device 102 is a management device
- the first device 101 is a network device
- the second device 102 is a cloud device
- the first device 101 is a management device
- the second device 102 is a cloud device.
- the cloud device may be a server, or a server cluster composed of several servers, or a cloud computing service center.
- the cloud device can be a network artificial intelligence engine (NAIE).
- NAIE network artificial intelligence engine
- the management device may be a server, or a server cluster composed of several servers, or a cloud computing service center.
- the cloud device usually refers to the upper-level device that manages the device, and is used to provide the management device with a model for processing data.
- the cloud device and the management device may also be integrated into one device, which is not limited in this embodiment of the present application.
- the management device may also function as an analysis device and/or a control device for managing and controlling network devices in the communication network.
- a management device can be one or more devices.
- the embodiments of the present application are described by taking the first device 101 as a management device and the second device 102 as a cloud device as an example.
- the management device 101 and the network devices 103a-103b (collectively referred to as network devices 103) in the communication network are respectively connected through a wired network or a wireless network.
- the number of network devices in FIG. 1 is only used for illustration, and is not intended to limit the communication network provided by the embodiments of the present application.
- the communication network can be a data center network (DCN), a metropolitan area network, a wide area network, a campus network, a virtual local area network (VLAN) or a virtual extensible local area network (VXLAN), etc.
- the embodiment of the present application does not limit the type of the communication network.
- the network device 103 may be a switch, a router, or the like.
- the management device 101 is configured to collect device information of the network device 103 in the communication network, and provide the device information of the network device 103 to the cloud device 102 .
- the device information of the network device includes first configuration information and/or routing table entries of the network device, and the like.
- the first configuration information of the network device generally includes the first configuration information of the interface, the first configuration information of the protocol, the first configuration information of the service, and the like.
- the management device 101 can also collect abnormal events and the like generated in the communication network.
- the management device 101 may also store the networking topology of the communication network managed by the management device 101 .
- the management device 101 periodically collects device information of the network device 103 .
- the network device 103 actively reports the changed device information to the management device 101 .
- the management device may also be indirectly connected to the network device in the communication network through the collection device, that is, the application scenario may also include the collection device, which is not limited in this embodiment of the present application.
- FIG. 2 is a schematic flowchart of a method for constructing a knowledge graph provided by an embodiment of the present application. This method can be applied to the system for building a knowledge graph as shown in Figure 1. As shown in Figure 2, the method includes:
- Step 201 The second device generates a template matching file corresponding to a type of network device.
- the template matching file is used to describe the format of one or more command lines in the configuration information of the network device.
- the template matching file may be a JSON formatted file.
- the template matching file includes a plurality of command line templates, and each command line template is used to describe a format of a command line in the configuration information of the network device.
- Command line templates are derived based on command line expressions.
- the command line template includes all the contents in the command line expression, and the command line template can indicate the sequence of the contents included in the corresponding command line in the command line.
- the command line expression includes a description of the corresponding command line in the configuration information of this type of network device.
- the implementation process for the second device to generate the template matching file corresponding to this type of network device includes the following steps 2011 to 2012:
- step 2011 the second device obtains the product manual of this type of network device.
- This product manual includes several command-line expressions.
- Each command line expression includes a description of one of the command lines in the configuration information for that type of network device.
- the command line expression includes all mandatory and all optional contents of the corresponding command line.
- the mandatory content refers to the content that must appear in the command line corresponding to the command line expression
- the optional content refers to the content that may appear in the command line corresponding to the command line expression.
- the content in the command line can also be divided into fixed content and variable content. Variable content on the command line is often called an argument.
- command line expression For example, suppose the content of the command line expression is: "vni ⁇ vni-id>mcast-group ⁇ ip-address>".
- the command line expression indicates that "vni”, “vni-id”, “mcast-group” and “ip-address” are all mandatory contents in the corresponding command line. Among them, “vni” and “mcast-group” are fixed contents, and “vni-id” and "ip-address” are parameters.
- the content of the command line expression is: "vni ⁇ vni-id>[mcast-group ⁇ ip-address>]".
- the command line expression indicates that "vni” and “vni-id” are mandatory contents in the corresponding command line, and "mcast-group” and “ip-address” are optional contents in the corresponding command line.
- "vni” is a mandatory fixed content
- "vni-id” is a mandatory parameter
- “mcast-group” is an optional fixed content
- ip-address is an optional parameter.
- step 2012 the second device generates a command line template based on each command line expression in the product manual, so as to obtain a template matching file.
- the command line template includes one or more of a command line expression, a regular expression for the command line expression, and a target content list.
- the target content list includes one or more mandatory fixed content in the corresponding command line.
- the target content list may include all mandatory fixed content in the corresponding command line.
- the target content list may include "vni" and/or “mcast-group”.
- the target content list may include "vni”.
- the command line template includes a command line expression, a regular expression for the command line expression, and a target content list.
- the target content list includes two parts, one part includes the first mandatory fixed content in the command line expression, and the other part includes all mandatory fixed content in the command line expression.
- both the command line expression and the regular expression of the command line expression include all contents in the corresponding command line, and can indicate the order of the contents included in the corresponding command line in the command line.
- the sequence is also the sequence of contents contained in the corresponding command line in the command line expression or the regular expression of the command line expression.
- the template matching file corresponding to this type of network device can also be obtained based on expert experience.
- the models of such network devices are the same.
- the product version of this type of network device is also the same.
- network devices of the same model correspond to one template matching file
- network devices of different models correspond to different template matching files, that is, multiple network devices of the same model are regarded as a type of network device.
- the second device may generate a template matching file corresponding to the model according to the product manual of the network device of a certain model.
- network devices with the same model and product version correspond to one template matching file
- network devices with the same model but different product versions correspond to different template matching files.
- the same multiple network devices as a class of network devices.
- the second device may generate a template matching file corresponding to a certain version of a certain model according to a product manual of a certain version of the network device of the model.
- Step 202 The second device sends a template matching file to the first device.
- the template matching file is used by the first device to create a network entity corresponding to the command line in the configuration information of any network device in this type of network device.
- the types of network entities are devices, interfaces, protocols or services.
- the device class specifically includes a single board or a main card.
- Protocol classes include Open Shortest Path First (OSPF) or Border Gateway Protocol (BGP).
- the service category specifically includes virtual private network (VPN) service, Dynamic Host Configuration Protocol (DHCP) service, VLAN service or bridge-domain (bridge-domain, BD) service, etc.
- VPN virtual private network
- DHCP Dynamic Host Configuration Protocol
- BD bridge-domain
- the above template matching file may also be generated by the first device.
- the above steps 201 and 202 may be replaced by: the first device generates a template matching file corresponding to a type of network device.
- the first device generates a template matching file corresponding to a type of network device.
- Step 203 The first device acquires first configuration information of the target network device.
- the target network device is any network device of the above-mentioned type of network device.
- the first configuration information may be current configuration information of the target network device.
- an implementation process for the first device to acquire the first configuration information of the target network device includes: the first device receives the first configuration information sent by the target network device.
- the first device after acquiring the first configuration information of the target network device, the first device creates a target network entity corresponding to the first command line according to the template matching file and the first command line in the first configuration information.
- the first command line may be any command line in the first configuration information.
- Step 204 The first device determines, in the template matching file, a target command line template that matches the first command line.
- the type of the target network entity is network device, interface, protocol or service.
- the target network entity is used to construct a knowledge graph of the network where the target network device is located.
- the first command line matches the target command line template, including: the first command line includes all mandatory content in the target command line template, and the content included in the first command line is in the same order as the target command line template.
- the instructions are in the same order.
- the first command line is expressed as: "vni 5009 mcast-group 225.0.0.1", and the first command line matches the command line template shown in Table 1.
- "5009” in the first command line is the parameter value corresponding to the parameter "vni-id” in the command line template
- "225.0.0.1” in the first command line is the parameter "ip-address" in the command line template "The corresponding parameter value.
- the command line template includes a regular expression for the command line expression.
- This embodiment of the present application provides the following two optional embodiments for implementing step 204.
- the implementation process of the above step 204 includes the following steps 2041a to 2042a:
- step 2041a the first device takes the first command line template in the template matching file as the command line template to be matched, and the first command line template is any command line template in the template matching file.
- step 2042a the first device performs a template matching process on the command line template to be matched.
- the template matching process includes the following steps a11 to a13:
- step a11 the first device performs regular matching with the first command line by using the regular expression in the command line template to be matched.
- step a12 when the regular expression is successfully matched with the first command line, the first device uses the to-be-matched command line template as the target command line template.
- the first device After acquiring the target command line template, the first device stops executing the template matching process.
- step a13 when the regular expression fails to match the first command line, the first device takes the second command line template in the template matching file as a new command line template to be matched, and executes the template matching process again, the first
- the second command line template is any command line template in the template matching file that has not executed the template matching process.
- the implementation process of the foregoing step 204 includes the following steps 2041b to 2042b:
- step 2041b the first device uses the third command line template in the target command line template set as the command line template to be matched, where the third command line template is any command line template in the target command line template set.
- the target command line template set includes the command line templates in the template matching file that are successfully matched with the command lines in the historical configuration information of a class of network devices to which the target network device belongs.
- the target command line template set may be generated by the first device, or the target command line template set may also be generated by the second device and then sent to the first device.
- the implementation process of generating the target command line template set by the first device or the second device includes: acquiring, in the template matching file, the number of successfully matched command lines in the historical configuration information of a class of network devices to which the target network device belongs. command line template.
- a command line template whose cumulative number of successful matches with the command line in the historical configuration information of the network device reaches the target number of times threshold is used as a command line template in the target command line template set.
- the target command line template set includes all command line templates that successfully match the command lines in the historical configuration information of this type of network device.
- the target command line template set further includes attribute names and/or entity types corresponding to each command line template in the target command line template set.
- Command-line templates in the target command-line template collection can also include command-line expressions.
- the set of target command line templates provided by the embodiment of the present application may be as shown in Table 2.
- step 2042b the first device performs a template matching process on the command line template to be matched.
- the template matching process includes the following steps b11 to b14:
- step b11 the first device performs regular matching with the first command line by using the regular expression in the command line template to be matched.
- step b12 when the regular expression is successfully matched with the first command line, the first device uses the command line template to be matched as the target command line template.
- step b13 when the regular expression fails to match the first command line, if the target command line template set includes the fourth command line template, the first device uses the fourth command line template as the new command line template to be matched, The template matching process is performed again, and the fourth command line template is any command line template in the target command line template set for which the template matching process has not been performed.
- step b14 when the regular expression fails to match the first command line, if the fourth command line template is not included in the target command line template set, the first device uses the fifth command line template as a new command line template to be matched , and execute the template matching process again, and the fifth command line template is any command line template in the template matching file for which the template matching process has not been executed.
- the first command line and the target command line template set The probability that the command line template in the template matches is generally greater than the probability that the first command line matches other command line templates other than the target command line template set in the template matching file.
- the first device first performs the template matching process on the command line templates in the target command line template set, which can improve template matching efficiency.
- the command line template further includes a target content list, where the target content list includes one or more mandatory fixed contents in the corresponding command line.
- the first device before using the regular expression in the command line template to be matched to perform regular matching with the first command line, the first device first determines whether the first command line includes the command to be matched Everything in the target content list in the row template. When the first command line includes all contents in the target content list in the command line template to be matched, the first device uses the regular expression in the command line template to be matched to perform regular matching with the first command line. When the first command line does not include any content in the target content list in the command line template to be matched, the first device determines that the command line template to be matched fails to match the first command line.
- the first command line is expressed as: "vni 5009 mcast-group 225.0.0.1". Assuming that the command line template to be matched is shown in Table 1, the target content list in the command line template to be matched includes "vni” and/or "mcast-group”. The first device first determines whether the first command line includes "vni” and/or "mcast-group” in the target content list. Since the first command line includes "vni” and "mcast-group", the first device then uses the regular expression " ⁇ vni(?P ⁇ vni_id>[ ⁇ ]*)mcast-group(?P ⁇ ip_address>[ ⁇ ]*)$" for regular matching with the first command line.
- the first device before using the regular expression to perform regular matching with the first command line, the first device first uses the mandatory fixed content in the target content list to perform fuzzy matching with the first command line, and the command line to be matched can be used for fuzzy matching. Templates are preliminarily screened to reduce the number of command-line templates used for regular matching, which can improve template matching efficiency and save computing resources.
- Step 205 The first device creates a target network entity corresponding to the first command line according to the target command line template and the first command line.
- a network entity usually has one or more attributes, which are used to identify or characterize the network entity.
- the command line expression corresponding to the first command line includes one or more parameters, that is, the target command line template includes one or more parameters.
- the implementation process of step 205 includes the following steps 2051 to 2052:
- the first device generates one or more parameter key-value pairs according to the target command line template and the first command line, where the parameter key-value pairs include the parameter names of the parameters in the target command line template and the corresponding parameters in the first command line parameter value.
- sequence of the one or more parameter key-value pairs is consistent with the sequence indicated by the target command line template.
- the first command line is expressed as: "vni 5009 mcast-group 225.0.0.1", and the target command line template is shown in Table 1.
- the first device can generate two parameter key-value pairs, including: ⁇ 'vni-id':'5009','ip-address':'225.0.0.1' ⁇ .
- "vni-id” and "ip-address” are the parameter names in the target command line template.
- "5009” in the first command line is the parameter value corresponding to "vni-id”
- "225.0.0.1" in the first command line is the parameter value corresponding to "ip-address”.
- the first device creates a target network entity based on the one or more parameter key-value pairs.
- the name of the target network entity includes information of the first parameter key value pair in the one or more parameter key value pairs.
- the name of the target network entity includes the parameter name and parameter value in the first parameter key-value pair.
- the name of the target network entity may also include the name of the target network device. This embodiment of the present application does not limit the name of the target network entity.
- the first parameter key-value pair in the two parameter key-value pairs generated by the first device is ⁇ 'vni-id':'5009' ⁇
- the first device can be based on the parameter
- the key-value pair ⁇ 'vni-id':'5009' ⁇ creates a target network entity of entity type vni.
- the name of the target network entity can be: the name of the target network device + 'vni-id-5009'.
- the first device after the first device determines the target command line template matching the first command line in the template matching file, that is, after performing step 204, the first device can obtain the target command corresponding to the target command line template row expression. Then the first device determines whether a network entity needs to be created for the first command line according to the target command line expression. After the first device determines that a network entity needs to be created for the first command line, the above step 205 is performed.
- the implementation process of determining whether a network entity needs to be created for the first command line by the first device according to the target command line expression includes: when the entity type ontology set includes the target command line expression , the first device determines that a network entity needs to be created for the first command line.
- the entity type ontology set may be generated by the first device, or the entity type ontology set may also be generated by the second device and then sent to the first device.
- the implementation process of generating the entity type ontology set by the first device or the second device includes: acquiring the historical configuration information of a type of network device to which the target network device belongs, corresponding to all historical command lines of the network entity. Generate the entity type ontology set according to the command line expressions corresponding to all the historical command lines. That is, the entity type ontology set may include command line expressions corresponding to all historical command lines of the network entity in the historical configuration information of a type of network device to which the target network device belongs. Alternatively, the entity type ontology set can also be obtained based on expert experience.
- the entity type ontology collection includes multiple command line expressions.
- the entity type ontology collection may also include labels for each command line expression.
- the label of a command line expression can be the first fixed content in the corresponding command line.
- the entity type ontology set provided by this embodiment of the present application may be as shown in Table 3.
- the entity type ontology set includes a plurality of command line expressions corresponding to the command line corresponding to the network entity.
- the first device first determines whether a network entity needs to be created for the first command line by judging whether the entity type ontology set has a target command line expression corresponding to the target command line template. When it is determined that the network entity does not need to be created for the first command line, the first device stops executing the process of creating the target network entity corresponding to the first command line. When it is determined that a network entity needs to be created for the first command line, the first device then creates a target network entity corresponding to the first command line according to the target command line template and the first command line. The efficiency and accuracy of creating a network entity corresponding to the command line can be improved.
- the implementation process of determining whether a network entity needs to be created for the first command line by the first device according to the target command line expression includes: the first device inputs the target command line into the entity discrimination model expression to obtain the result output by the entity discriminant model based on the target command-line expression.
- the result includes a first indication that a network entity needs to be created for the first command line or a second indication that a network entity does not need to be created for the first command line.
- the entity discriminating model is obtained based on a plurality of sample command line expressions known whether the corresponding command line corresponds to a network entity.
- the result includes the first indication
- the first device determines that a network entity needs to be created for the first command line.
- the result includes the second indication, the first device determines that a network entity does not need to be created for the first command line.
- the result output by the entity discrimination model may be Y or N, where Y indicates that a network entity needs to be created for the first command line, and N indicates that a network entity does not need to be created for the first command line.
- the result output by the entity discriminant model can also be 0 or 1. The embodiment of the present application does not limit the expression manner of the result output by the entity discrimination model.
- the result output by the entity discrimination model based on the target command line expression further includes a third indication, where the third indication indicates that it is uncertain whether a network entity needs to be created for the first command line.
- the first device determines whether a network entity needs to be created for the first command line according to a preset judgment rule.
- the preset judgment rule is related to the positional relationship of the command line.
- the preset judgment rule may be: when the number of indented spaces of the next command line of the first command line is greater than the number of indented spaces of the first command line, it is determined that a network entity needs to be created for the first command line.
- the output result of the entity discrimination model can be Y, N or W, where Y indicates that a network entity needs to be created for the first command line, N indicates that a network entity does not need to be created for the first command line, and W indicates that it is uncertain whether it is necessary to create a network entity for the first command line.
- a command line to create network entities can be Y, N or W, where Y indicates that a network entity needs to be created for the first command line, N indicates that a network entity does not need to be created for the first command line, and W indicates that it is uncertain whether it is necessary to create a network entity for the first command line.
- a command line to create network entities can be Y, N or W, where Y indicates that a network entity needs to be created for the first command line, N indicates that a network entity does not need to be created for the first command line, and W indicates that it is uncertain whether it is necessary to create a network entity for the first command line.
- a command line to create network entities can be Y, N or W
- the entity discrimination model may be generated by the first device, or the entity discrimination model may also be generated by the second device and then sent to the first device.
- the implementation process of generating the entity discrimination model by the first device or the second device includes: acquiring a plurality of sample command line expressions for whether a known corresponding command line corresponds to a network entity. Using the multiple sample command line expressions, an entity discrimination model is obtained by training.
- the entity discriminating model is a machine learning model trained by supervised learning.
- the first device first determines whether a network entity needs to be created for the first command line through the entity discrimination model. When it is determined that the network entity does not need to be created for the first command line, the first device stops executing the process of creating the target network entity corresponding to the first command line. When it is determined that a network entity needs to be created for the first command line, the first device then creates a target network entity corresponding to the first command line according to the target command line template and the first command line. The efficiency and accuracy of creating a network entity corresponding to a command line can be improved.
- the first device may continue to perform the following steps 206 to 208:
- Step 206 The first device determines, according to one or more attributes of the target network entity, an associated network entity that has an associated relationship with the target network entity.
- one or more attributes of the target network entity are in one-to-one correspondence with one or more parameter key-value pairs generated by the first device according to the target command line template and the first command line.
- step 206 includes the following steps 2061a to 2063a:
- step 2061a the first device acquires the pending network entity from the network entity set.
- the pending network entity satisfies: the pending network entity has a first attribute, the first attribute is any attribute of the target network entity, and the attribute meaning and attribute value of the first attribute of the undetermined network entity are respectively the same as the first attribute of the target network entity.
- the attribute meaning of the attribute is the same as the attribute value.
- the network entity set includes network entities created according to one or more other command lines in the first configuration information. In this embodiment of the present application, a network entity can be created and obtained according to a command line in the configuration information.
- the implementation process of the first device acquiring the pending network entity from the network entity set includes the following steps a21 to a23:
- step a21 the first device acquires one or more initial network entities from the network entity set.
- the initial network entity has an undetermined attribute, and the attribute value of the undetermined attribute is the same as the attribute value of the first attribute of the target network entity.
- the first device compares each attribute value of the target network entity with the attribute values of each network entity in the network entity set to obtain one or more initial network entities.
- the attribute value of the target network entity is the parameter value in the parameter key-value pair corresponding to the target network entity.
- the first device may further add the target network entity to the network entity set.
- step a22 when the text similarity between the attribute name of the undetermined attribute of the initial network entity and the attribute name of the first attribute of the target network entity is greater than the first threshold, and/or the undetermined attribute is in the command line corresponding to the initial network entity
- the textual similarity between the text content in the expression and the text content of the first attribute in the command line expression corresponding to the target network entity is greater than the second threshold, and the first device determines that the attribute meaning of the pending attribute is the same as the first attribute of the target network entity. Properties of properties have the same meaning.
- the pending attribute of the initial network entity is undetermined.
- the attribute is the same attribute as the first attribute of the target network entity.
- step a23 the first device determines the initial network entity as a pending network entity.
- the first device takes a network entity in the network entity set that has parameter key-value pairs corresponding to one or more target network entities as a network entity to be determined.
- step 2062a the first device determines, according to the association relationship validity judgment rule, whether the association relationship between the undetermined network entity and the target network entity based on the first attribute is valid.
- the association validity judgment rule may be generated by the first device, or the association validity judgment rule may also be generated by the second device and sent to the first device.
- the implementation process for the first device or the second device to generate the association relationship validity judgment rule includes: acquiring a sample network entity pair set, where the sample network entity pair set includes a plurality of sample network entity pairs known to have an association relationship and each Properties of the sample network entities in the sample network entity pair. Based on the sample network entity pair set, determine the validity judgment rule of the association relationship.
- the association validity judgment rule may be a machine learning model trained in a supervised learning manner.
- the input of the machine learning model is the command line template corresponding to the undetermined network entity, the target command line template corresponding to the target network entity and the first attribute, and the output result indicates whether the association relationship between the undetermined network entity and the target network entity based on the first attribute is valid.
- the result output by the machine learning model may be Y or N, where Y indicates that the association relationship between the undetermined network entity and the target network entity based on the first attribute is valid, and N indicates that the association relationship between the pending network entity and the target network entity based on the first attribute is invalid .
- the result output by the machine learning model can also be 0 or 1.
- the embodiment of the present application does not limit the expression manner of the result output by the machine learning model.
- the pending network entity is "sysname_serviceleaf0-1-2-48.81_interface_Eth-Trunk1"
- the target network entity is "sysname_serviceleaf0-1-2-48.81_interface_Eth-Trunk2”.
- the pending network entity is "sysname_serviceleaf0-1-2-48.81_bridge-domain_5006"
- the target network entity is "sysname_serviceleaf0-1-2-48.81_interface_Nve1_vni_5005_head-end_peer-list_protocol_bgp”.
- step 2063a when the association relationship between the pending network entity and the target network entity based on the first attribute is valid, the first device determines the pending network entity as the associated network entity.
- step 206 includes the following steps 2061b to 2063b:
- step 2061b the first device acquires a target valid relationship type group including the type of the target network entity from the valid relationship type set.
- the valid relationship type set includes multiple valid relationship type groups, and each valid relationship type group includes two entity types and an attribute pair.
- the two entity types are the types of two network entities with an associated relationship.
- the attribute pair includes two attributes that make the two network entities have an associated relationship, the attributes of the two attributes have the same meaning, and the attribute names of the two attributes may be the same or different.
- the set of valid relationship types provided by this embodiment of the present application may be as shown in Table 4.
- the two entity types in a valid relation type group are "bgp” and “interface” respectively, and the attribute pair is "ipv4-address ⁇ -->ipv-address-mask".
- "ipv4-address” is the attribute of "bgp”
- "ipv-address-mask” is the attribute of "interface”.
- the valid relationship type group indicates that the network entity whose entity type is "bgp” may have an association relationship with the network entity whose entity type is "interface” based on the attribute "ipv-address-mask" based on the attribute "ipv4-address”.
- the set of valid relationship types may be generated by the first device, or the set of valid relationship types may also be generated by the second device and then sent to the first device.
- the implementation process for the first device or the second device to generate the set of valid relationship types includes: acquiring a set of historical valid relationships, where the set of historical valid relationships includes multiple historical valid relationship groups, and each historical valid relationship group includes two A historical network entity and one or more historical attribute pairs that make two historical network entities have an associated relationship, each historical attribute pair respectively including one attribute of the two historical network entities. According to the types of the two historical network entities with the associated relationship in the historical valid relationship group and the historical attribute pair that makes the two historical network entities have the associated relationship, a valid relationship type group in the valid relationship type set is generated.
- step 2062b the first device acquires the pending network entity based on the target valid relationship type group.
- the two entity types in the target effective relationship type group are the type of the target network entity and the type of the undetermined network entity, respectively. For example, assuming that the entity type of the target network entity is interface, the first device determines the network entity whose entity type is bgp as the undetermined network entity.
- step 2063b when the attribute value of the second attribute of the pending network entity is the same as the attribute value of the third attribute of the target network entity, the first device determines the pending network entity as the associated network entity.
- the second attribute is the attribute corresponding to the type of the undetermined network entity in the attribute pair of the target effective relationship type group
- the third attribute is the attribute corresponding to the type of the target network entity in the attribute pair of the target effective relationship type group.
- the second attribute of the pending network entity is "ipv4-address"
- the third attribute of the target network entity is "ipv-address-mask”.
- the implementation process of step 2063b includes: the first device determines whether the network entity whose entity type is bgp has the attribute "ipv4-address", when the network entity whose entity type is bgp has the attribute "ipv4-address", and the attribute "ipv4-address"
- the attribute value of "address” is the same as the attribute value of the attribute "ipv-address-mask" of the target network entity, and the first device determines the network entity as the associated network entity.
- the valid relationship type group includes two entity types and an attribute pair that enables the network entities of the two entity types to have an associated relationship
- the associated network entity of the network entity can be searched in a targeted manner. , the efficiency of determining the associated network entity of the network entity is higher and the computing resources are less consumed.
- Step 207 The first device generates a knowledge graph triplet according to the target network entity, the associated network entity, and the association relationship between the target network entity and the associated network entity.
- the knowledge graph triplet is represented in the form of a graph, and the knowledge graph triplet is composed of two basic elements, a point and an edge, where a point represents a network entity, and an edge represents an association relationship between two network entities.
- the edges in the knowledge graph triples can be directional or non-directional. Edges in knowledge graph triples can also be used to represent specific relationships between two network entities, such as dependencies or peer-to-peer relationships.
- an undirected edge can be used to connect the two network entities; when two network entities are in a dependent relationship, a directional edge (such as an arrow) can be used ) connects the two network entities, and the direction of the edge is from the dependent network entity to the dependent network entity.
- the association relationship between the network entities involved in the above step 206 is usually a peer-to-peer relationship.
- the dependency relationship between network entities may be determined based on the positional relationship between corresponding command lines in the configuration information.
- Step 208 The first device constructs a knowledge graph of the network where the target network device is located based on the knowledge graph triplet.
- step 203 may also be performed before step 201 or step 202 .
- the steps can also be increased or decreased according to the situation. Any person skilled in the art who is familiar with the technical scope disclosed in the present application can easily think of any variation of the method, which should be covered by the protection scope of the present application, and thus will not be repeated here.
- the first device creates a network entity corresponding to a command line in the configuration information of the network device according to a template matching file corresponding to the network device. Since the template matching file can describe the format of the command line in the configuration information, the network entity corresponding to the command line in the configuration information can be accurately created based on the template matching file. In addition, since the network entity corresponding to the command line is associated with the command line template, the specific meaning of the created network entity can be determined according to the command line template, and then the association relationship between the network entities can be determined, so as to realize the construction based on the configuration information of the network device.
- FIG. 3 is a schematic structural diagram of an apparatus for constructing a knowledge graph provided by an embodiment of the present application.
- the apparatus can be used for the first device 101 in the system as shown in FIG. 1 .
- the device 30 includes:
- the obtaining module 301 is configured to obtain the first configuration information of the target network device.
- the obtaining module 301 is further configured to obtain a template matching file corresponding to the target network device, where the template matching file is used to describe the format of one or more command lines in the configuration information of a class of network devices to which the target network device belongs.
- the processing module 302 is configured to create a target network entity corresponding to the first command line according to the template matching file and the first command line in the first configuration information, the type of the target network entity is a device, an interface, a protocol or a service, and the target network entity It is used to build a knowledge graph of the network where the target network device is located.
- the template matching file includes multiple command line templates, and each command line template is used to describe a format of a command line in the configuration information of this type of network device; the processing module 302 is used for:
- a target command line template matching the first command line is determined; according to the target command line template and the first command line, a target network entity is created.
- the command line template is obtained based on the command line expression, the command line template includes all the contents in the command line expression, and the command line template can indicate the sequence of the contents contained in the corresponding command line in the command line, and the command line
- the expression includes a description of the corresponding command line in the configuration information of this type of network device.
- the first command line matches the target command line template, including: the first command line includes all mandatory content in the target command line template, and the content included in the first command line is in the same order as the target command line template.
- the instructions are in the same order.
- the command line expression corresponding to the first command line includes one or more parameters
- the processing module 302 is configured to:
- one or more parameter key-value pairs are generated, where the parameter key-value pair includes the parameter name of the parameter in the target command line template and the corresponding parameter value in the first command line; based on one or more parameter key-value pairs Parameter key-value pair to create the target network entity.
- the arrangement order of one or more parameter key-value pairs is consistent with the sequence indicated by the target command line template, and the name of the target network entity includes the first parameter key-value pair of the one or more parameter key-value pairs. information.
- the command line template is obtained based on a command line expression, and the command line template includes a regular expression of the command line expression, and the processing module 302 is used for:
- the first command line template in the template matching file is used as the command line template to be matched, and the first command line template is any command line template in the template matching file; the template matching process is performed on the command line template to be matched, and the template matching process includes :
- the regular expression in the command line template to be matched is used for regular matching with the first command line; when the regular expression is successfully matched with the first command line, the command line template to be matched is used as the target command line template; If the command line matching fails, the second command line template in the template matching file is used as the new command line template to be matched, and the template matching process is executed again.
- the second command line template is any template matching file in the template matching file that has not been executed The command line template for the process.
- the command line template is obtained based on a command line expression, and the command line template includes a regular expression of the command line expression, and the processing module 302 is used for:
- the target command line template set includes the command line templates in the template matching file that successfully match the command lines in the historical configuration information of this type of network device
- the third command line template is any command line template in the target command line template set
- the template matching process is performed on the command line template to be matched, and the template matching process includes:
- the regular expression in the command line template to be matched is used for regular matching with the first command line; when the regular expression is successfully matched with the first command line, the command line template to be matched is used as the target command line template; If the command line matching fails, if the fourth command line template is included in the target command line template set, the fourth command line template is used as the new command line template to be matched, and the template matching process is executed again; if the target command line template set does not contain the fourth command line template If the fourth command line template is included, the fifth command line template is used as a new command line template to be matched, and the template matching process is executed again; wherein, the fourth command line template is the target command line template set that has not executed the template matching process. Any command line template, and the fifth command line template is any command line template in the template matching file for which the template matching process has not been performed.
- the obtaining module 301 is further configured to obtain multiple command line templates in the template matching file that are successfully matched with the command lines in the historical configuration information of this type of network device; the processing module 302 is further configured to obtain multiple command line templates.
- the command line template whose cumulative number of successful matches with the command line in the historical configuration information of the network device reaches the target number of times threshold is used as the command line template in the target command line template set.
- the command line template further includes a target content list, and the target content list includes one or more mandatory fixed contents in the corresponding command line.
- the processing module 302 is configured to: when the first command line includes the command line template to be matched When all the content in the target content list in , the regular expression in the command line template to be matched is used for regular matching with the first command line.
- the processing module 302 is further configured to: when the first command line does not include any content in the target content list in the command line template to be matched, determine that the command line template to be matched fails to match the first command line.
- the command line template is obtained based on the command line expression
- the obtaining module 301 is further configured to obtain the target command line expression corresponding to the target command line template
- the processing module 302 is further configured to determine whether to A network entity needs to be created for the first command line, and after it is determined that a network entity needs to be created for the first command line, a target network entity is created according to the target command line template and the first command line.
- processing module 302 is used for:
- the target command line expression is included in the entity type ontology set, it is determined that a network entity needs to be created for the first command line.
- the acquiring module 301 is further configured to acquire all historical command lines corresponding to network entities in the historical configuration information of this type of network device; the processing module 302 is further configured to obtain command line expressions corresponding to all historical command lines , to generate the entity type ontology collection.
- the processing module 302 is configured to: input the target command line expression to the entity discriminating model, to obtain the result output by the entity discriminating model based on the target command line expression, and the result includes the first command line that needs to create a network entity for the first command line.
- An indication or a second indication that a network entity does not need to be created for the first command line, and the entity discrimination model is obtained based on a plurality of sample command line expressions that know whether the corresponding command line corresponds to a network entity; when the result includes the first indication, It is determined that the network entity needs to be created for the first command line; when the result includes the second indication, it is determined that the network entity does not need to be created for the first command line.
- the obtaining module 301 is further configured to obtain a plurality of sample command line expressions of whether the known corresponding command line corresponds to a network entity; the processing module 302 is further configured to use a plurality of sample command line expressions to obtain the obtained command line through training.
- Entity Discriminant Model is further configured to obtain a plurality of sample command line expressions of whether the known corresponding command line corresponds to a network entity; the processing module 302 is further configured to use a plurality of sample command line expressions to obtain the obtained command line through training. Entity Discriminant Model.
- the processing module 302 is further configured to: determine an associated network entity that has an associated relationship with the target network entity according to one or more attributes of the target network entity; generate a knowledge graph according to the target network entity, the associated network entity and the associated relationship Triples; build the knowledge graph of the network where the target network device is located based on the knowledge graph triples.
- the processing module 302 is configured to: obtain the undetermined network entity from the network entity set, and the undetermined network entity satisfies: the undetermined network entity has a first attribute, the first attribute is any attribute of the target network entity, and the undetermined network entity
- the attribute meaning and attribute value of the first attribute of the target network entity are respectively the same as the attribute meaning and attribute value of the first attribute of the target network entity
- the network entity set includes the network created according to one or more other command lines in the first configuration information.
- entity according to the association relationship validity judgment rule, determine whether the association relationship between the pending network entity and the target network entity based on the first attribute is valid; when the association relationship between the pending network entity and the target network entity based on the first attribute is valid, the pending network entity is determined. is the associated network entity.
- the processing module 302 is configured to: obtain one or more initial network entities from the network entity set, where the initial network entity has undetermined attributes, and the attribute value of the undetermined attribute is the same as the attribute value of the first attribute of the target network entity;
- the text similarity between the attribute name of the undetermined attribute of the initial network entity and the attribute name of the first attribute of the target network entity is greater than the first threshold, and/or the text content of the undetermined attribute in the command line expression corresponding to the initial network entity
- the text similarity with the text content of the first attribute in the command line expression corresponding to the target network entity is greater than the second threshold, and it is determined that the attribute meaning of the undetermined attribute is the same as the attribute meaning of the first attribute of the target network entity; the initial network entity Determined to be a pending network entity.
- the obtaining module 301 is further configured to obtain a sample network entity pair set, where the sample network entity pair set includes a plurality of sample network entity pairs known to have an associated relationship and a sample network entity in each sample network entity pair.
- the processing module 302 is further configured to determine the validity judgment rule of the association relationship based on the set of sample network entity pairs.
- the processing module 302 is configured to: obtain a target effective relationship type group containing the type of the target network entity from the effective relationship type set, the effective relationship type set includes multiple effective relationship type groups, and each effective relationship type
- the group includes two entity types and an attribute pair.
- the two entity types are the types of two network entities with an association relationship.
- the attribute pair includes two attributes that make the two network entities have an association relationship.
- the attributes of the two attributes have the same meaning ; Obtain the undetermined network entity based on the target effective relationship type group, and the two entity types in the target effective relationship type group are respectively the type of the target network entity and the type of the undetermined network entity; when the attribute value of the second attribute of the undetermined network entity is the same as the target When the attribute values of the third attribute of the network entity are the same, the undetermined network entity is determined as the associated network entity, the second attribute is the attribute corresponding to the type of the undetermined network entity in the attribute pair of the target valid relationship type group, and the third attribute is the target valid The attribute corresponding to the type of the target network entity in the attribute pair of the relation type group.
- the obtaining module 301 is further configured to obtain a historically valid relationship set, the historically valid relationship set includes a plurality of historically valid relationship groups, each historically valid relationship group includes two historical network entities with an associated relationship and two The historical network entity has one or more historical attribute pairs with an associated relationship, and each historical attribute pair respectively includes one attribute of two historical network entities; the processing module 302 is further configured to, according to the two historically valid relationship groups with the associated relationship, The type of the historical network entity and the historical attribute pair that makes the two historical network entities have an associated relationship generate a valid relationship type group in the set of valid relationship types.
- the acquiring module 301 is configured to: generate a template matching file.
- the obtaining module 301 is configured to: obtain a product manual of this type of network device, the product manual includes multiple command line expressions, and each command line expression includes one of the configuration information of this type of network device The description of the command line; for each command line expression in the product manual, a command line template is generated based on the command line expression to obtain a template matching file.
- the command line template includes the command line expression and the regular expression of the command line expression.
- One or more of the formula and the target content list, and the target content list includes one or more mandatory fixed content in the corresponding command line.
- the device 40 further includes:
- the receiving module 303 is configured to receive one or more of a template matching file, an association validity judgment rule, a valid relationship type set, a target command line template set, an entity type ontology set or an entity discrimination model sent by the second device.
- the models of such network devices are the same.
- the product versions of such network devices are the same.
- the first device is a management device
- the obtaining module 301 is configured to receive the first configuration information sent by the target network device.
- the first device creates a network entity corresponding to the command line in the configuration information of the network device through the processing module matching the file according to the template corresponding to the network device. Since the template matching file can describe the format of the command line in the configuration information, the network entity corresponding to the command line in the configuration information can be accurately created based on the template matching file. In addition, since the network entity corresponding to the command line is associated with the command line template, the specific meaning of the created network entity can be determined according to the command line template, and then the association relationship between the network entities can be determined, so as to realize the construction based on the configuration information of the network device.
- FIG. 5 is a schematic structural diagram of another apparatus for constructing a knowledge graph provided by an embodiment of the present application.
- the apparatus may be used in the second device 102 in the system as shown in FIG. 1 .
- the device 50 includes:
- the processing module 501 is configured to generate a template matching file corresponding to a class of network devices, where the template matching file is used to describe the format of one or more command lines in the configuration information of a class of network devices.
- the sending module 502 is configured to send a template matching file to the first device, so that the first device can create a network entity corresponding to the command line in the configuration information of any network device in this type of network device, and the type of the network entity is device, Interface, protocol or business.
- the processing module 501 is configured to: obtain a product manual of this type of network device, the product manual includes multiple command line expressions, and each command line expression includes one of the configuration information of this type of network device The description of the command line; for each command line expression in the product manual, a command line template is generated based on the command line expression to obtain a template matching file.
- the command line template includes the command line expression and the regular expression of the command line expression.
- One or more of the formula and the target content list, and the target content list includes one or more mandatory fixed content in the corresponding command line.
- the processing module 501 is further configured to obtain a set of sample network entity pairs, and based on the set of sample network entity pairs, determine a rule for judging the validity of the association relationship.
- the sample network entity pair and the attributes of the sample network entity in each sample network entity pair; the sending module 502 is further configured to send the association relationship validity judgment rule to the first device.
- the processing module 501 is further configured to obtain a historically valid relationship set, the historically valid relationship set includes a plurality of historically valid relationship groups, and each historically valid relationship group includes two historical network entities with an associated relationship and two
- the historical network entity has one or more historical attribute pairs with an associated relationship, and each historical attribute pair respectively includes one attribute of two historical network entities;
- the processing module 501 is also used for the two historically valid relationship groups with the associated relationship according to the historical effective relationship group.
- the type of the historical network entity and the historical attribute pair that makes the two historical network entities have an associated relationship generate a valid relationship type group;
- the sending module 502 is further configured to send the valid relationship type set to the first device, and the valid relationship type set includes multiple group of valid relationship types.
- the template matching file includes a plurality of command line templates, and each command line template is used to describe a format of a command line in the configuration information of this type of network device, and the processing module 501 is also used to obtain the template matching file.
- multiple command line templates that successfully match the command line in the historical configuration information of this type of network device, and the cumulative number of command line templates that successfully match the command line in the historical configuration information of this type of network device The command line template whose number of times reaches the target number of times threshold is used as the command line template in the target command line template set; the sending module 502 is further configured to send the target command line template set to the first device.
- the processing module 501 is further configured to obtain all historical command lines corresponding to network entities in the historical configuration information of this type of network device, and generate an entity type ontology set according to the command line expressions corresponding to all historical command lines. ;
- the sending module 502 is further configured to send the entity type ontology set to the first device.
- the processing module 501 is further configured to obtain a plurality of sample command line expressions of whether the known corresponding command line corresponds to a network entity, and use the plurality of sample command line expressions to train to obtain an entity discrimination model; the sending module 502, which is further used for sending the entity discrimination model to the first device.
- the first device creates a network entity corresponding to a command line in the configuration information of the network device according to a template matching file corresponding to the network device. Since the template matching file can describe the format of the command line in the configuration information, the network entity corresponding to the command line in the configuration information can be accurately created based on the template matching file. In addition, since the network entity corresponding to the command line is associated with the command line template, the specific meaning of the created network entity can be determined according to the command line template, and then the association relationship between the network entities can be determined, so as to realize the construction based on the configuration information of the network device.
- Embodiments of the present application provide a computer device, including: a processor and a memory;
- the memory for storing a computer program, the computer program including program instructions
- the processor is configured to invoke the computer program to implement the actions performed by the first device in the foregoing method embodiments.
- Embodiments of the present application also provide another computer device, including: a processor and a memory;
- the memory for storing a computer program, the computer program including program instructions
- the processor is configured to invoke the computer program to implement the actions performed by the second device in the foregoing method embodiments.
- FIG. 6 is a block diagram of a computer device provided by an embodiment of the present application.
- the computer device may be the first device or the second device involved in the embodiment of the present application, and may specifically be a network device, a management device, or a cloud device.
- the computer device 60 includes: a processor 601 and a memory 602 .
- a memory 602 for storing a computer program, the computer program including program instructions
- the processor 601 is configured to invoke the computer program to implement the actions performed by the first device or the actions performed by the second device in the foregoing method embodiments.
- the computer device 60 also includes a communication bus 603 and a communication interface 604 .
- the processor 601 includes one or more processing cores, and the processor 601 executes various functional applications and data processing by running a computer program.
- Memory 602 may be used to store computer programs.
- the memory may store the operating system and application program elements required for at least one function.
- the operating system may be an operating system such as a real-time operating system (Real Time eXecutive, RTX), LINUX, UNIX, WINDOWS, or OS X.
- the communication interfaces 604 are used to communicate with other devices.
- the communication interface 604 of the second device may be used to send a template matching file, an association validity judgment rule, a set of valid relationship types, a set of target command line templates, a set of entity type ontology, or One or more of the entity discriminant models.
- the memory 602 and the communication interface 604 are respectively connected to the processor 601 through the communication bus 603 .
- the embodiments of the present application also provide a system for constructing a knowledge graph.
- the system includes: a first device and a second device.
- the first device includes the apparatus as shown in FIG. 3 or FIG. 4 or the computer device as shown in FIG. 6 .
- the second device includes the apparatus as shown in FIG. 5 or the computer device as shown in FIG. 6 .
- Embodiments of the present application further provide a computer storage medium, where instructions are stored on the computer storage medium, and when the instructions are executed by a processor, the actions performed by the first device or the execution by the second device in the foregoing method embodiments are implemented. Actions.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Mathematical Physics (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Life Sciences & Earth Sciences (AREA)
- Animal Behavior & Ethology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种构建知识图谱的方法、装置及系统、计算机存储介质,属于网络技术领域。第一设备获取目标网络设备的第一配置信息。第一设备获取该目标网络设备对应的模板匹配文件,该模板匹配文件用于描述该目标网络设备所属的一类网络设备的配置信息中的一种或多种命令行的格式。然后第一设备根据该模板匹配文件以及该第一配置信息中的第一命令行,创建该第一命令行对应的目标网络实体。目标网络实体的类型为设备、接口、协议或业务。目标网络实体用于构建目标网络设备所在网络的知识图谱。本申请实现了基于网络设备的配置信息构建该网络设备所在网络的知识图谱。
Description
本申请要求于2020年06月30日提交的申请号为202010613853.8、发明名称为“构建知识图谱的方法、装置及系统、计算机存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请涉及网络技术领域,特别涉及一种构建知识图谱的方法、装置及系统、计算机存储介质。
当前网络中通常包含多个设备,网络故障原因较为复杂,人工总结故障判断规则效率较低。通过构建网络的知识图谱,在知识图谱上反映设备之间在配置上的关联,将故障告警挂载到知识图谱并进行根因溯源分析,可提升故障定位的效率和准确性。
目前,在构建非结构化文本的知识图谱时,通常基于领域词集提取非结构化文本中的实体,将非结构化文本中除领域词和非领域常用词以外的词识别为实体。例如,网络对应的领域词集中包括“IP”,对“IP=1.1.1.1”提取得到的实体为“1.1.1.1”,“=”是非领域常用词。
但是,基于领域词集提取网络设备的第一配置信息中的实体时,会出现很多重名的实体,且无法判断这些重名的实体是否表示相同意义,进而无法确定实体之间的关联关系,因此目前无法基于网络设备的第一配置信息构建知识图谱。
发明内容
本申请提供了一种构建知识图谱的方法、装置及系统、计算机存储介质。
第一方面,提供了一种构建知识图谱的方法。该方法包括:第一设备获取目标网络设备的第一配置信息。第一设备获取目标网络设备对应的模板匹配文件,该模板匹配文件用于描述目标网络设备所属的一类网络设备的配置信息中的一种或多种命令行的格式。第一设备根据模板匹配文件以及第一配置信息中的第一命令行,创建第一命令行对应的目标网络实体。该目标网络实体的类型为设备、接口、协议或业务。该目标网络实体用于构建目标网络设备所在网络的知识图谱。
本申请中,由于模板匹配文件能够描述配置信息中的命令行的格式,因此基于模板匹配文件可以准确地创建配置信息中的命令行对应的网络实体。另外,由于命令行对应的网络实体与命令行模板关联,因此可以根据命令行模板确定创建得到的网络实体的具体含义,进而实现基于网络设备的配置信息构建该网络设备所在网络的知识图谱。
可选地,模板匹配文件中包括多个命令行模板,每个命令行模板用于描述该类网络设备的配置信息中的一种命令行的格式。第一设备根据模板匹配文件以及第一配置信息中的第一命令行,创建第一命令行对应的目标网络实体的实现过程,包括:
第一设备在模板匹配文件中,确定与第一命令行匹配的目标命令行模板。然后第一设备 根据目标命令行模板以及第一命令行,创建目标网络实体。
可选地,命令行模板基于命令行表达式得到。命令行模板包括命令行表达式中的所有内容,且命令行模板能够指示对应的命令行包含的内容在命令行中的先后顺序,命令行表达式包括对该类网络设备的配置信息中对应的命令行的描述。
可选地,第一命令行与目标命令行模板匹配,包括:第一命令行包含目标命令行模板中的所有必选内容,且第一命令行包含的内容的先后顺序与目标命令行模板所指示的先后顺序一致。
可选地,第一命令行对应的命令行表达式包括一个或多个参数。第一设备根据目标命令行模板以及第一命令行,创建目标网络实体的实现过程,包括:
第一设备根据目标命令行模板以及第一命令行,生成一个或多个参数键值对,参数键值对包括目标命令行模板中参数的参数名和第一命令行中对应的参数值。然后第一设备基于一个或多个参数键值对,创建目标网络实体。
可选地,一个或多个参数键值对的排列顺序与目标命令行模板所指示的先后顺序一致,目标网络实体的名称包含一个或多个参数键值对中第一个参数键值对的信息。
在一种可能实现方式中,命令行模板基于命令行表达式得到,命令行模板包括命令行表达式的正则表达式。第一设备在模板匹配文件中,确定与第一命令行匹配的目标命令行模板的实现过程,包括:
第一设备将模板匹配文件中的第一命令行模板作为待匹配命令行模板,该第一命令行模板为模板匹配文件中的任一命令行模板;第一设备对待匹配命令行模板执行模板匹配流程。该模板匹配流程包括:
采用待匹配命令行模板中的正则表达式与第一命令行进行正则匹配;当正则表达式与第一命令行匹配成功,将待匹配命令行模板作为目标命令行模板;当正则表达式与第一命令行匹配失败,将模板匹配文件中的第二命令行模板作为新的待匹配命令行模板,并再次执行模板匹配流程,第二命令行模板为模板匹配文件中任一未执行过模板匹配流程的命令行模板。
在另一种可能实现方式中,命令行模板基于命令行表达式得到,命令行模板包括命令行表达式的正则表达式。第一设备在模板匹配文件中,确定与第一命令行匹配的目标命令行模板的实现过程,包括:
第一设备将目标命令行模板集合中的第三命令行模板作为待匹配命令行模板,该目标命令行模板集合中包括模板匹配文件中与该类网络设备的历史配置信息中的命令行匹配成功的命令行模板,该第三命令行模板为目标命令行模板集合中的任一命令行模板。第一设备对待匹配命令行模板执行模板匹配流程。该模板匹配流程包括:
采用待匹配命令行模板中的正则表达式与第一命令行进行正则匹配;当正则表达式与第一命令行匹配成功,将待匹配命令行模板作为目标命令行模板;当正则表达式与第一命令行匹配失败,若目标命令行模板集合中包括第四命令行模板,则将第四命令行模板作为新的待匹配命令行模板,再次执行模板匹配流程;若目标命令行模板集合中不包括第四命令行模板,则将第五命令行模板作为新的待匹配命令行模板,再次执行模板匹配流程;其中,第四命令行模板为目标命令行模板集合中未执行过模板匹配流程的任一命令行模板,第五命令行模板为模板匹配文件中未执行过模板匹配流程的任一命令行模板。
可选地,第一设备还可以获取模板匹配文件中,与该类网络设备的历史配置信息中的命 令行匹配成功的多个命令行模板,并将该多个命令行模板中,与该类网络设备的历史配置信息中的命令行匹配成功的累计次数达到目标次数阈值的命令行模板作为目标命令行模板集合中的命令行模板。
本申请中,由于目标命令行模板集合中的命令行模板与目标网络设备的历史配置信息中的命令行匹配成功的累计次数达到目标次数阈值,因此第一命令行与目标命令行模板集合中的命令行模板匹配的可能性通常大于第一命令行与模板匹配文件中除目标命令行模板集合以外的其它命令行模板匹配的可能性。第一设备在模板匹配文件中确定与第一命令行匹配的目标命令行模板的过程中,先对目标命令行模板集合中的命令行模板执行模板匹配流程,可以提高模板匹配效率。
可选地,命令行模板还包括目标内容列表,该目标内容列表包括对应的命令行中一个或多个必选的固定内容。第一设备采用待匹配命令行模板中的正则表达式与第一命令行进行正则匹配的实现过程,包括:当第一命令行包括待匹配命令行模板中的目标内容列表中的所有内容时,第一设备采用待匹配命令行模板中的正则表达式与第一命令行进行正则匹配。
可选地,当第一命令行不包括待匹配命令行模板中的目标内容列表中的任一内容时,第一设备确定待匹配命令行模板与第一命令行匹配失败。
本申请中,第一设备在采用正则表达式与第一命令行进行正则匹配之前,先采用目标内容列表中必选的固定内容与第一命令行进行模糊匹配,可以对待匹配的命令行模板进行初步筛选,减少用于正则匹配的命令行模板的数量,可以提高模板匹配效率并节约计算资源。
可选地,命令行模板基于命令行表达式得到。第一设备在模板匹配文件中,确定与第一命令行匹配的目标命令行模板之后,第一设备可以获取目标命令行模板对应的目标命令行表达式,然后根据该目标命令行表达式,确定是否需要为第一命令行创建网络实体。相应地,第一设备在确定需要为第一命令行创建网络实体后,再根据目标命令行模板以及第一命令行,创建目标网络实体。
在一种可能实现方式中,第一设备根据目标命令行表达式,确定是否需要为第一命令行创建网络实体的实现过程,包括:当实体类型本体集合中包括目标命令行表达式时,第一设备确定需要为第一命令行创建网络实体。
本申请中,实体类型本体集合中包括对应的命令行对应有网络实体的多个命令行表达式。第一设备先通过判断实体类型本体集合是否有目标命令行模板对应的目标命令行表达式,确定是否需要为第一命令行创建网络实体。当确定不需要为第一命令行创建网络实体,则第一设备停止执行创建第一命令行对应的目标网络实体的流程。当确定需要为第一命令行创建网络实体,第一设备再根据目标命令行模板以及第一命令行创建该第一命令行对应的目标网络实体。可以提高创建命令行对应的网络实体的效率和准确性。
可选地,第一设备还可以获取该类网络设备的历史配置信息中,对应有网络实体的所有历史命令行,并根据该所有历史命令行对应的命令行表达式,生成实体类型本体集合。
在另一种可能实现方式中,第一设备根据目标命令行表达式,确定是否需要为第一命令行创建网络实体的实现过程,包括:第一设备向实体判别模型输入目标命令行表达式,以获取该实体判别模型基于该目标命令行表达式输出的结果,该结果包括需要为第一命令行创建网络实体的第一指示或不需要为第一命令行创建网络实体的第二指示,实体判别模型基于已知对应的命令行是否对应有网络实体的多个样本命令行表达式得到。当结果包括第一指示, 第一设备确定需要为第一命令行创建网络实体。当结果包括第二指示,第一设备确定不需要为第一命令行创建网络实体。
本申请中,第一设备先通过实体判别模型确定是否需要为第一命令行创建网络实体。当确定不需要为第一命令行创建网络实体,则第一设备停止执行创建第一命令行对应的目标网络实体的流程。当确定需要为第一命令行创建网络实体,第一设备再根据目标命令行模板以及第一命令行创建该第一命令行对应的目标网络实体。可以提高创建命令行对应的网络实体的效率和准确性。
可选地,第一设备还可以获取已知对应的命令行是否对应有网络实体的多个样本命令行表达式,并采用该多个样本命令行表达式,训练得到实体判别模型。
可选地,第一设备在根据模板匹配文件以及第一配置信息中的第一命令行,创建第一命令行对应的目标网络实体之后,还可以根据目标网络实体的一个或多个属性,确定与目标网络实体具有关联关系的关联网络实体,并根据该目标网络实体、该关联网络实体以及该关联关系生成知识图谱三元组,然后基于知识图谱三元组构建目标网络设备所在网络的知识图谱。
在一种可能实现方式中,第一设备根据目标网络实体的一个或多个属性,确定与目标网络实体具有关联关系的关联网络实体的实现过程,包括:
第一设备从网络实体集合中获取待定网络实体,该待定网络实体满足:该待定网络实体具有第一属性,该第一属性为目标网络实体的任一属性,且该待定网络实体的第一属性的属性含义和属性值分别与目标网络实体的第一属性的属性含义和属性值相同,该网络实体集合中包括根据第一配置信息中的一个或多个其它命令行创建得到的网络实体。第一设备根据关联关系有效性判断规则,确定待定网络实体与目标网络实体基于第一属性的关联关系是否有效。当待定网络实体与目标网络实体基于第一属性的关联关系有效,将待定网络实体确定为关联网络实体。
可选地,第一设备从网络实体集合中获取待定网络实体的实现过程,包括:
第一设备从网络实体集合中获取一个或多个初始网络实体,该初始网络实体具有待定属性,该待定属性的属性值与目标网络实体的第一属性的属性值相同。当初始网络实体的待定属性的属性名与目标网络实体的第一属性的属性名的文本相似度大于第一阈值,和/或,该待定属性在初始网络实体对应的命令行表达式中的文本内容与第一属性在目标网络实体对应的命令行表达式中的文本内容的文本相似度大于第二阈值,第一设备确定待定属性的属性含义与目标网络实体的第一属性的属性含义相同。然后第一设备将该初始网络实体确定为待定网络实体。
可选地,第一设备还可以获取样本网络实体对集合,该样本网络实体对集合中包括已知是否具有关联关系的多个样本网络实体对以及每个样本网络实体对中的样本网络实体的属性;然后第一设备基于该样本网络实体对集合,确定关联关系有效性判断规则。
在另一种可能实现方式中,第一设备根据目标网络实体的一个或多个属性,确定与目标网络实体具有关联关系的关联网络实体的实现过程,包括:
第一设备从有效关系类型集合中,获取包含目标网络实体的类型的目标有效关系类型组,该有效关系类型集合中包括多个有效关系类型组,每个有效关系类型组包括两个实体类型以及一个属性对,该两个实体类型为具有关联关系的两个网络实体的类型,该属性对包括使两个网络实体具有关联关系的两个属性,该两个属性的属性含义相同。第一设备基于该目标有 效关系类型组获取待定网络实体,该目标有效关系类型组中的两个实体类型分别为目标网络实体的类型和待定网络实体的类型。当待定网络实体的第二属性的属性值与目标网络实体的第三属性的属性值相同时,第一设备将待定网络实体确定为关联网络实体。第二属性为目标有效关系类型组的属性对中待定网络实体的类型对应的属性,第三属性为目标有效关系类型组的属性对中目标网络实体的类型对应的属性。
本申请中,由于有效关系类型组包括两个实体类型以及使该两个实体类型的网络实体具有关联关系的一个属性对,因此基于有效关系类型组,可以定向查找网络实体的关联网络实体,确定网络实体的关联网络实体的效率较高且耗费的计算资源较少。
可选地,第一设备还可以获取历史有效关系集合,该历史有效关系集合中包括多个历史有效关系组,每个历史有效关系组包括具有关联关系的两个历史网络实体以及使两个历史网络实体具有关联关系的一个或多个历史属性对,每个历史属性对分别包括两个历史网络实体的一个属性。然后第一设备根据历史有效关系组中具有关联关系的两个历史网络实体的类型以及使两个历史网络实体具有关联关系的历史属性对,生成有效关系类型集合中的有效关系类型组。
可选地,第一设备获取目标网络设备对应的模板匹配文件的实现过程,包括:第一设备生成模板匹配文件。
可选地,第一设备生成模板匹配文件的实现过程,包括:
第一设备获取该类网络设备的产品手册,该产品手册中包括多个命令行表达式,每个命令行表达式包括对该类网络设备的配置信息中的一种命令行的描述。第一设备对产品手册中的每个命令行表达式,基于该命令行表达式生成一个命令行模板,以得到模板匹配文件,该命令行模板包括命令行表达式、命令行表达式的正则表达式和目标内容列表中的一个或多个,目标内容列表包括对应的命令行中一个或多个必选的固定内容。
可选地,第一设备还可以接收第二设备发送的模板匹配文件、关联关系有效性判断规则、有效关系类型集合、目标命令行模板集合、实体类型本体集合或实体判别模型中的一个或多个。
可选地,该类网络设备的型号相同。
可选地,该类网络设备的产品版本相同。
可选地,当第一设备为管理设备,第一设备获取目标网络设备的第一配置信息的实现过程,包括:第一设备接收目标网络设备发送的第一配置信息。
第二方面,提供了一种构建知识图谱的方法。该方法包括:第二设备生成一类网络设备对应的模板匹配文件,该模板匹配文件用于描述该类网络设备的配置信息中的一种或多种命令行的格式,第二设备向第一设备发送该模板匹配文件,以供第一设备创建该类网络设备中的任一网络设备的配置信息中的命令行对应的网络实体。网络实体的类型为设备、接口、协议或业务。
可选地,第二设备生成该类网络设备对应的模板匹配文件的实现过程,包括:
第二设备获取该类网络设备的产品手册,该产品手册中包括多个命令行表达式,每个命令行表达式包括对该类网络设备的配置信息中的一种命令行的描述。第二设备对产品手册中的每个命令行表达式,基于该命令行表达式生成一个命令行模板,以得到模板匹配文件。该命令行模板包括命令行表达式、命令行表达式的正则表达式和目标内容列表中的一个或多个。 该目标内容列表包括对应的命令行中一个或多个必选的固定内容。
可选地,第二设备还可以获取样本网络实体对集合,该样本网络实体对集合中包括已知是否具有关联关系的多个样本网络实体对以及每个样本网络实体对中的样本网络实体的属性。第二设备基于该样本网络实体对集合,确定关联关系有效性判断规则,然后向第一设备发送该关联关系有效性判断规则。
可选地,第二设备还可以获取历史有效关系集合,该历史有效关系集合中包括多个历史有效关系组,每个历史有效关系组包括具有关联关系的两个历史网络实体以及使两个历史网络实体具有关联关系的一个或多个历史属性对,每个历史属性对分别包括两个历史网络实体的一个属性。第二设备根据历史有效关系组中具有关联关系的两个历史网络实体的类型以及使两个历史网络实体具有关联关系的历史属性对,生成有效关系类型组。然后第二设备向第一设备发送有效关系类型集合,该有效关系类型集合中包括多个有效关系类型组。
可选地,模板匹配文件中包括多个命令行模板,每个命令行模板用于描述该类网络设备的配置信息中的一种命令行的格式,第二设备还可以获取模板匹配文件中,与该类网络设备的历史配置信息中的命令行匹配成功的多个命令行模板,并将该多个命令行模板中,与该类网络设备的历史配置信息中的命令行匹配成功的累计次数达到目标次数阈值的命令行模板作为目标命令行模板集合中的命令行模板。然后第二设备向第一设备发送该标命令行模板集合。
可选地,第二设备还可以获取该类网络设备的历史配置信息中,对应有网络实体的所有历史命令行,然后根据该所有历史命令行对应的命令行表达式,生成实体类型本体集合,再向第一设备发送该实体类型本体集合。
可选地,第二设备还可以获取已知对应的命令行是否对应有网络实体的多个样本命令行表达式,并采用该多个样本命令行表达式,训练得到实体判别模型。然后第二设备向第一设备发送该实体判别模型。
第三方面,提供了一种构建知识图谱的装置。所述装置包括多个功能模块,所述多个功能模块相互作用,实现上述第一方面及其各实施方式中的方法。所述多个功能模块可以基于软件、硬件或软件和硬件的结合实现,且所述多个功能模块可以基于具体实现进行任意组合或分割。
第四方面,提供了另一种构建知识图谱的装置。所述装置包括多个功能模块,所述多个功能模块相互作用,实现上述第二方面及其各实施方式中的方法。所述多个功能模块可以基于软件、硬件或软件和硬件的结合实现,且所述多个功能模块可以基于具体实现进行任意组合或分割。
第五方面,提供了一种计算机设备,包括:处理器和存储器;
所述存储器,用于存储计算机程序,所述计算机程序包括程序指令;
所述处理器,用于调用所述计算机程序,实现如第一方面任一所述的构建知识图谱的方法。
第六方面,提供了另一种计算机设备,包括:处理器和存储器;
所述存储器,用于存储计算机程序,所述计算机程序包括程序指令;
所述处理器,用于调用所述计算机程序,实现如第二方面任一所述的构建知识图谱的方法。
第七方面,提供了一种构建知识图谱的系统,包括:第一设备和第二设备;所述第一设 备包括如第三方面所述的装置或者为如第五方面所述的计算机设备,所述第二设备包括如第四方面所述的装置或者为如第六方面所述的计算机设备。
第八方面,提供了一种计算机存储介质,所述计算机存储介质上存储有指令,当所述指令被处理器执行时,实现如第一方面或第二方面任一所述的构建知识图谱的方法。
第九方面,提供了一种芯片,芯片包括可编程逻辑电路和/或程序指令,当芯片运行时,实现上述第一方面及其各实施方式中的方法或第二方面及其各实施方式中的方法。
本申请提供的技术方案带来的有益效果至少包括:
第一设备根据网络设备对应的模板匹配文件,创建该网络设备的配置信息中的命令行对应的网络实体。由于模板匹配文件能够描述配置信息中的命令行的格式,因此基于模板匹配文件可以准确地创建配置信息中的命令行对应的网络实体。另外,由于命令行对应的网络实体与命令行模板关联,因此可以根据命令行模板确定创建得到的网络实体的具体含义,进而可以确定网络实体之间的关联关系,实现基于网络设备的配置信息构建该网络设备所在网络的知识图谱。
图1是本申请实施例提供的一种构建知识图谱的系统的结构示意图;
图2是本申请实施例提供的一种构建知识图谱的方法流程示意图;
图3是本申请实施例提供的一种构建知识图谱的装置的结构示意图;
图4是本申请实施例提供的另一种构建知识图谱的装置的结构示意图;
图5是本申请实施例提供的又一种构建知识图谱的装置的结构示意图;
图6是本申请实施例提供的一种计算机设备的框图。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
图1是本申请实施例提供的一种构建知识图谱的系统的结构示意图。如图1所示,该系统包括:第一设备101和第二设备102。第一设备101与第二设备102之间通过有线网络或无线网络连接。本申请实施例中,第一设备101为网络设备,第二设备102为管理设备;或者,第一设备101为网络设备,第二设备102为云端设备;又或者,第一设备101为管理设备,第二设备102为云端设备。
其中,云端设备可以是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务中心。例如,云端设备可以是网络智能体(network artificial intelligence engine,NAIE)。管理设备可以是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务中心。云端设备通常指管理设备的上级设备,用于为管理设备提供处理数据的模型等。可选地,云端设备与管理设备也可以集成在一台设备中,本申请实施例对此不做限定。管理设备也可用作分析设备和/或控制设备,用于管理和控制通信网络中的网络设备。管理设备可以是一个或多个设备。
本申请实施例以第一设备101为管理设备,第二设备102为云端设备为例进行说明。可选地,请继续参见图1,管理设备101与通信网络中的网络设备103a-103b(统称为网络设备 103)分别通过有线网络或无线网络连接。图1中网络设备的数量仅用作示意,不作为对本申请实施例提供的通信网络的限制。该通信网络可以是数据中心网络(data center network,DCN)、城域网络、广域网络、园区网络、虚拟局域网(virtual local area network,VLAN)或虚拟扩展局域网(virtual extensible local area network,VXLAN)等,本申请实施例对通信网络的类型不做限定。网络设备103可以是交换机或路由器等。
管理设备101用于收集通信网络中的网络设备103的设备信息,并向云端设备102提供网络设备103的设备信息。其中,网络设备的设备信息包括网络设备的第一配置信息和/或路由表项等。网络设备的第一配置信息通常包括接口第一配置信息、协议第一配置信息以及业务第一配置信息等。管理设备101还可以收集通信网络中产生的异常事件等。管理设备101中还可以存储有该管理设备101管理的通信网络的组网拓扑。
可选地,管理设备101周期性地采集网络设备103的设备信息。或者,当网络设备103的设备信息发生变更时,网络设备103主动向管理设备101上报变更后的设备信息。当然,在某些应用场景中,管理设备也可以通过采集设备与通信网络中的网络设备间接连接,也即是,该应用场景中还可以包括采集设备,本申请实施例对此不做限定。
图2是本申请实施例提供的一种构建知识图谱的方法流程示意图。该方法可以应用于如图1所示的构建知识图谱的系统中。如图2所示,该方法包括:
步骤201、第二设备生成一类网络设备对应的模板匹配文件。
该模板匹配文件用于描述该类网络设备的配置信息中的一种或多种命令行的格式。该模板匹配文件可以是JSON格式的文件。
可选地,该模板匹配文件中包括多个命令行模板,每个命令行模板用于描述该类网络设备的配置信息中的一种命令行的格式。命令行模板基于命令行表达式得到。该命令行模板包括命令行表达式中的所有内容,且该命令行模板能够指示对应的命令行包含的内容在该命令行中的先后顺序。该命令行表达式包括对该类网络设备的配置信息中对应的命令行的描述。
可选地,第二设备生成该类网络设备对应的模板匹配文件的实现过程,包括以下步骤2011至步骤2012:
在步骤2011中,第二设备获取该类网络设备的产品手册。
该产品手册中包括多个命令行表达式。每个命令行表达式包括对该类网络设备的配置信息中的一种命令行的描述。
命令行表达式中包括对应的命令行中的所有必选内容和所有可选内容。该必选内容指该命令行表达式对应的命令行中必然出现的内容,该可选内容指该命令行表达式对应的命令行中可能出现的内容。命令行中的内容还可以分为固定内容和可变内容。命令行中的可变内容通常被称为参数。
示例地,假设命令行表达式的内容为:“vni<vni-id>mcast-group<ip-address>”。该命令行表达式指示“vni”、“vni-id”、“mcast-group”和“ip-address”均为对应的命令行中的必选内容。其中,“vni”和“mcast-group”为固定内容,“vni-id”和“ip-address”为参数。
又示例地,假设命令行表达式的内容为:“vni<vni-id>[mcast-group<ip-address>]”。该命令行表达式指示“vni”和“vni-id”为对应的命令行中的必选内容,“mcast-group”和“ip-address”为对应的命令行中的可选内容。其中,“vni”为必选的固定内容,“vni-id”为必选的参数,“mcast- group”为可选的固定内容,“ip-address”为可选的参数。
在步骤2012中,第二设备对该产品手册中的每个命令行表达式,基于该命令行表达式生成一个命令行模板,以得到模板匹配文件。
该命令行模板包括命令行表达式、命令行表达式的正则表达式和目标内容列表中的一个或多个。该目标内容列表包括对应的命令行中一个或多个必选的固定内容。可选地,目标内容列表可以包括对应的命令行中所有必选的固定内容。
示例地,参考步骤2011中的第一个例子,目标内容列表可以包括“vni”和/或“mcast-group”。参考步骤2011中的第二个例子,目标内容列表可以包括“vni”。
可选地,命令行模板包括命令行表达式、命令行表达式的正则表达式和目标内容列表。其中,目标内容列表包括两部分,一部分包括命令行表达式中的第一个必选的固定内容,另一部分包括命令行表达式中的所有必选的固定内容。参考步骤2011中的第一个例子,基于命令行表达式“vni<vni-id>mcast-group<ip-address>”生成的命令行模板可以如表1所示。
表1
参见表1,命令行表达式和该命令行表达式的正则表达式都包括对应的命令行中的所有内容,且能够指示对应的命令行包含的内容在该命令行中的先后顺序。该先后顺序也即是对应的命令行包含的内容在命令行表达式或该命令行表达式的正则表达式中的先后顺序。
可选地,该类网络设备对应的模板匹配文件也可以基于专家经验得到。
可选地,该类网络设备的型号相同。可选地,该类网络设备的产品版本也相同。
在一种可能实现方式,型号相同的网络设备对应一个模板匹配文件,型号不同的网络设备对应不同的模板匹配文件,也即是,将型号相同的多个网络设备作为一类网络设备。相应地,在步骤201中,第二设备可以根据某个型号的网络设备的产品手册生成该型号所对应的模板匹配文件。
在另一种可能实现方式中,型号相同且产品版本相同的网络设备对应一个模板匹配文件,型号相同但产品版本不同的网络设备对应不同的模板匹配文件,也即是,将型号相同且产品版本也相同的多个网络设备作为一类网络设备。相应地,在步骤201中,第二设备可以根据某个型号的某个版本的网络设备的产品手册生成该型号的该版本所对应的模板匹配文件。
步骤202、第二设备向第一设备发送模板匹配文件。
该模板匹配文件供第一设备创建该类网络设备中的任一网络设备的配置信息中的命令行对应的网络实体。网络实体的类型为设备、接口、协议或业务。
可选地,设备类具体包括单板或主卡等。协议类包括开放式最短路径优先(open shortest path first,OSPF)或边界网关协议(Border Gateway Protocol,BGP)等。业务类具体包括虚拟专用网络(virtual private network,VPN)业务、动态主机配置协议(Dynamic Host Configuration Protocol,DHCP)业务、VLAN业务或桥接域(bridge-domain,BD)业务等。
可选地,上述模板匹配文件也可以由第一设备生成。则上述步骤201和步骤202可替代为:第一设备生成一类网络设备对应的模板匹配文件。第一设备生成模板匹配文件的实现方式可参考第二设备生成模板匹配文件的实现方式,本申请实施例在此不再赘述。
步骤203、第一设备获取目标网络设备的第一配置信息。
该目标网络设备为上述一类网络设备的任一网络设备。该第一配置信息可以是目标网络设备的当前配置信息。可选地,当第一设备为管理设备,第一设备获取目标网络设备的第一配置信息的实现过程,包括:第一设备接收目标网络设备发送的第一配置信息。
本申请实施例中,第一设备获取目标网络设备的第一配置信息后,根据模板匹配文件以及第一配置信息中的第一命令行,创建该第一命令行对应的目标网络实体。该第一命令行可以是该第一配置信息中的任一命令行。可选地,第一设备根据模板匹配文件以及第一命令行,创建该第一命令行对应的目标网络实体的实现过程,可参考下述步骤204至步骤205。
步骤204、第一设备在模板匹配文件中,确定与第一命令行匹配的目标命令行模板。
该目标网络实体的类型为网络设备、接口、协议或业务。该目标网络实体用于构建目标网络设备所在网络的知识图谱。
可选地,第一命令行与目标命令行模板匹配,包括:第一命令行包含目标命令行模板中的所有必选内容,且第一命令行包含的内容的先后顺序与目标命令行模板所指示的先后顺序一致。
示例地,第一命令行表示为:“vni 5009 mcast-group 225.0.0.1”,该第一命令行与表1所示的命令行模板匹配。其中,第一命令行中的“5009”为命令行模板中的参数“vni-id”对应的参数值,第一命令行中的“225.0.0.1”为命令行模板中的参数“ip-address”对应的参数值。
可选地,命令行模板包括该命令行表达式的正则表达式。本申请实施例提供了以下两个实现步骤204的可选实施例。
在本申请的第一个可选实施例中,上述步骤204的实现过程包括以下步骤2041a至步骤2042a:
在步骤2041a中,第一设备将模板匹配文件中的第一命令行模板作为待匹配命令行模板,该第一命令行模板为模板匹配文件中的任一命令行模板。
在步骤2042a中,第一设备对待匹配命令行模板执行模板匹配流程。
其中,该模板匹配流程包括以下步骤a11至步骤a13:
在步骤a11中,第一设备采用待匹配命令行模板中的正则表达式与第一命令行进行正则匹配。
在步骤a12中,当正则表达式与第一命令行匹配成功,第一设备将该待匹配命令行模板作为目标命令行模板。
第一设备获取目标命令行模板后,停止执行该模板匹配流程。
在步骤a13中,当正则表达式与第一命令行匹配失败,第一设备将模板匹配文件中的第二命令行模板作为新的待匹配命令行模板,并再次执行该模板匹配流程,该第二命令行模板为模板匹配文件中任一未执行过该模板匹配流程的命令行模板。
在本申请的第二个可选实施例中,上述步骤204的实现过程包括以下步骤2041b至步骤2042b:
在步骤2041b中,第一设备将目标命令行模板集合中的第三命令行模板作为待匹配命令行模板,该第三命令行模板为目标命令行模板集合中的任一命令行模板。
该目标命令行模板集合中包括模板匹配文件中与目标网络设备所属的一类网络设备的历史配置信息中的命令行匹配成功的命令行模板。该目标命令行模板集合可以由第一设备生成,或者,该目标命令行模板集合也可以由第二设备生成后发送给第一设备。
可选地,第一设备或第二设备生成目标命令行模板集合的实现过程包括:获取模板匹配文件中,与目标网络设备所属的一类网络设备的历史配置信息中的命令行匹配成功的多个命令行模板。将该多个命令行模板中,与该类网络设备的历史配置信息中的命令行匹配成功的累计次数达到目标次数阈值的命令行模板作为目标命令行模板集合中的命令行模板。
示例地,该目标次数阈值取值为1,则目标命令行模板集合中包括与该类网络设备的历史配置信息中的命令行匹配成功的所有命令行模板。
可选地,目标命令行模板集合还包括目标命令行模板集合中的各个命令行模板对应的属性名和/或实体类型。目标命令行模板集合中的命令行模板还可以包括命令行表达式。示例地,本申请实施例提供的目标命令行模板集合可以如表2所示。
表2
在步骤2042b中,第一设备对待匹配命令行模板执行模板匹配流程。
其中,该模板匹配流程包括以下步骤b11至步骤b14:
在步骤b11中,第一设备采用待匹配命令行模板中的正则表达式与第一命令行进行正则匹配。
在步骤b12中,当正则表达式与第一命令行匹配成功,第一设备将待匹配命令行模板作为目标命令行模板。
在步骤b13中,当正则表达式与第一命令行匹配失败,若目标命令行模板集合中包括第四命令行模板,则第一设备将第四命令行模板作为新的待匹配命令行模板,再次执行模板匹配流程,该第四命令行模板为目标命令行模板集合中未执行过模板匹配流程的任一命令行模板。
在步骤b14中,当正则表达式与第一命令行匹配失败,若目标命令行模板集合中不包括第四命令行模板,则第一设备将第五命令行模板作为新的待匹配命令行模板,再次执行模板 匹配流程,该第五命令行模板为模板匹配文件中未执行过模板匹配流程的任一命令行模板。
本申请实施例中,由于目标命令行模板集合中的命令行模板与目标网络设备的历史配置信息中的命令行匹配成功的累计次数达到目标次数阈值,因此第一命令行与目标命令行模板集合中的命令行模板匹配的可能性通常大于第一命令行与模板匹配文件中除目标命令行模板集合以外的其它命令行模板匹配的可能性。第一设备在模板匹配文件中确定与第一命令行匹配的目标命令行模板的过程中,先对目标命令行模板集合中的命令行模板执行模板匹配流程,可以提高模板匹配效率。
可选地,命令行模板还包括目标内容列表,该目标内容列表包括对应的命令行中一个或多个必选的固定内容。在上述两个可选实施例的模板匹配流程中,第一设备在采用待匹配命令行模板中的正则表达式与第一命令行进行正则匹配之前,先判断第一命令行是否包括待匹配命令行模板中的目标内容列表中的所有内容。当第一命令行包括待匹配命令行模板中的目标内容列表中的所有内容时,第一设备采用待匹配命令行模板中的正则表达式与第一命令行进行正则匹配。当第一命令行不包括待匹配命令行模板中的目标内容列表中的任一内容时,第一设备确定待匹配命令行模板与第一命令行匹配失败。
示例地,第一命令行表示为:“vni 5009 mcast-group 225.0.0.1”。假设待匹配命令行模板如表1所示,该待匹配命令行模板中的目标内容列表中包括“vni”和/或“mcast-group”。第一设备先判断该第一命令行中是否包括目标内容列表中的“vni”和/或“mcast-group”。由于第一命令行中包括“vni”和“mcast-group”,然后第一设备再采用正则表达式“^vni(?P<vni_id>[^]*)mcast-group(?P<ip_address>[^]*)$”与第一命令行进行正则匹配。
本申请实施例中,第一设备在采用正则表达式与第一命令行进行正则匹配之前,先采用目标内容列表中必选的固定内容与第一命令行进行模糊匹配,可以对待匹配的命令行模板进行初步筛选,减少用于正则匹配的命令行模板的数量,可以提高模板匹配效率并节约计算资源。
步骤205、第一设备根据目标命令行模板以及第一命令行,创建该第一命令行对应的目标网络实体。
网络实体通常具有一个或多个属性,网络实体的属性用于标识或表征该网络实体。可选地,第一命令行对应的命令行表达式包括一个或多个参数,即目标命令行模板中包括一个或多个参数。步骤205的实现过程包括以下步骤2051至步骤2052:
在步骤2051中,第一设备根据目标命令行模板以及第一命令行,生成一个或多个参数键值对,该参数键值对包括目标命令行模板中参数的参数名和第一命令行中对应的参数值。
可选地,该一个或多个参数键值对的排列顺序与目标命令行模板所指示的先后顺序一致。
示例地,第一命令行表示为:“vni 5009 mcast-group 225.0.0.1”,目标命令行模板如表1所示。第一设备可以生成2个参数键值对,包括:{‘vni-id’:‘5009’,‘ip-address’:‘225.0.0.1’}。其中,“vni-id”和“ip-address”为目标命令行模板中的参数名。第一命令行中的“5009”为“vni-id”对应的参数值,第一命令行中的“225.0.0.1”为“ip-address”对应的参数值。
在步骤2052中,第一设备基于该一个或多个参数键值对,创建目标网络实体。
可选地,目标网络实体的名称包含该一个或多个参数键值对中第一个参数键值对的信息。例如目标网络实体的名称包括第一个参数键值对中的参数名和参数值。该目标网络实体的名称还可以包括目标网络设备的名称。本申请实施例对目标网络实体的名称不做限定。
示例地,请参考步骤2051中的例子,第一设备生成的2个参数键值对中的第一个参数键值对为{‘vni-id’:‘5009’},第一设备可以基于参数键值对{‘vni-id’:‘5009’}创建实体类型vni的目标网络实体。该目标网络实体的名称可以为:目标网络设备的名称+‘vni-id-5009’。其中,“ip-address=225.0.0.1”可以作为该目标网络实体的一个属性,“vni-id=5009”可以作为该目标网络实体的另一个属性。
本申请实施例中,第一设备在模板匹配文件中确定与第一命令行匹配的目标命令行模板之后,也即是在执行步骤204之后,第一设备可以获取目标命令行模板对应的目标命令行表达式。然后第一设备根据目标命令行表达式,确定是否需要为第一命令行创建网络实体。第一设备在确定需要为第一命令行创建网络实体后,再执行上述步骤205。
在本申请的一个可选实施例中,第一设备根据目标命令行表达式,确定是否需要为第一命令行创建网络实体的实现过程,包括:当实体类型本体集合中包括目标命令行表达式时,第一设备确定需要为第一命令行创建网络实体。
可选地,该实体类型本体集合可以由第一设备生成,或者,该实体类型本体集合也可以由第二设备生成后发送给第一设备。第一设备或第二设备生成实体类型本体集合的实现过程包括:获取目标网络设备所属的一类网络设备的历史配置信息中,对应有网络实体的所有历史命令行。根据该所有历史命令行对应的命令行表达式,生成实体类型本体集合。也即是,该实体类型本体集合中可以包括该目标网络设备所属的一类网络设备的历史配置信息中对应有网络实体的所有历史命令行对应的命令行表达式。或者,该实体类型本体集合也可以基于专家经验得到。
实体类型本体集合中包括多个命令行表达式。该实体类型本体集合中还可以包括每个命令行表达式的标签。命令行表达式的标签可以是对应的命令行中的第一个固定内容。示例地,本申请实施例提供的实体类型本体集合可以如表3所示。
表3
标签(label) | 命令行表达式 |
bridge-domain | bridge-domain<bd-id> |
vxlan vni | vxlan vni<vni-id> |
router-id | router-id<ipv4-address> |
… | … |
本申请实施例中,实体类型本体集合中包括对应的命令行对应有网络实体的多个命令行表达式。第一设备先通过判断实体类型本体集合是否有目标命令行模板对应的目标命令行表达式,确定是否需要为第一命令行创建网络实体。当确定不需要为第一命令行创建网络实体,则第一设备停止执行创建第一命令行对应的目标网络实体的流程。当确定需要为第一命令行创建网络实体,第一设备再根据目标命令行模板以及第一命令行创建该第一命令行对应的目标网络实体。可以提高创建命令行对应的网络实体的效率和准确性。
在本申请的另一个可选实施例中,第一设备根据目标命令行表达式,确定是否需要为第一命令行创建网络实体的实现过程,包括:第一设备向实体判别模型输入目标命令行表达式,以获取该实体判别模型基于该目标命令行表达式输出的结果。该结果包括需要为第一命令行创建网络实体的第一指示或不需要为第一命令行创建网络实体的第二指示。该实体判别模型 基于已知对应的命令行是否对应有网络实体的多个样本命令行表达式得到。当该结果包括第一指示,第一设备确定需要为第一命令行创建网络实体。当该结果包括第二指示,第一设备确定不需要为第一命令行创建网络实体。
示例地,实体判别模型输出的结果可以是Y或N,Y指示需要为第一命令行创建网络实体,N指示不需要为第一命令行创建网络实体。或者,实体判别模型输出的结果也可以是0或1。本申请实施例对实体判别模型输出的结果的表达方式不做限定。
可选地,实体判别模型基于目标命令行表达式输出的结果还包括第三指示,该第三指示表示不确定是否需要为第一命令行创建网络实体。此时第一设备根据预设判断规则确定是否需要为第一命令行创建网络实体。该预设判断规则与命令行的位置关系相关。例如,该预设判断规则可以是:当第一命令行的下一命令行的缩进空格数大于第一命令行的缩进空格数,判定需要为第一命令行创建网络实体。
示例地,实体判别模型输出的结果可以是Y、N或W,Y指示需要为第一命令行创建网络实体,N指示不需要为第一命令行创建网络实体,W指示不确定是否需要为第一命令行创建网络实体。
可选地,该实体判别模型可以由第一设备生成,或者,该实体判别模型也可以由第二设备生成后发送给第一设备。第一设备或第二设备生成实体判别模型的实现过程包括:获取已知对应的命令行是否对应有网络实体的多个样本命令行表达式。采用该多个样本命令行表达式,训练得到实体判别模型。该实体判别模型为采用有监督学习的方式训练得到的机器学习模型。
本申请实施例中,第一设备先通过实体判别模型确定是否需要为第一命令行创建网络实体。当确定不需要为第一命令行创建网络实体,则第一设备停止执行创建第一命令行对应的目标网络实体的流程。当确定需要为第一命令行创建网络实体,第一设备再根据目标命令行模板以及第一命令行创建该第一命令行对应的目标网络实体。可以提高创建命令行对应的网络实体的效率和准确性。
可选地,第一设备根据模板匹配文件以及第一配置信息中的第一命令行,创建第一命令行对应的目标网络实体之后,可以继续执行以下步骤206至步骤208:
步骤206、第一设备根据目标网络实体的一个或多个属性,确定与目标网络实体具有关联关系的关联网络实体。
可选地,目标网络实体的一个或多个属性与第一设备根据目标命令行模板以及第一命令行生成的一个或多个参数键值对一一对应。示例地,参考步骤205中的例子,目标网络实体具有两个属性,分别为“ip-address=225.0.0.1”和“vni-id=5009”。
在本申请的一个可选实施例中,步骤206的实现过程包括以下步骤2061a至步骤2063a:
在步骤2061a中,第一设备从网络实体集合中获取待定网络实体。
该待定网络实体满足:该待定网络实体具有第一属性,该第一属性为目标网络实体的任一属性,且待定网络实体的第一属性的属性含义和属性值分别与目标网络实体的第一属性的属性含义和属性值相同。该网络实体集合中包括根据第一配置信息中的一个或多个其它命令行创建得到的网络实体。本申请实施例中,根据配置信息中的一个命令行可以创建得到一个网络实体。
可选地,第一设备从网络实体集合中获取待定网络实体的实现过程,包括以下步骤a21 至步骤a23:
在步骤a21中,第一设备从网络实体集合中获取一个或多个初始网络实体。
该初始网络实体具有待定属性,该待定属性的属性值与目标网络实体的第一属性的属性值相同。第一设备在创建目标网络实体后,将目标网络实体的每个属性值分别与网络实体集合中各个网络实体的属性值进行比较,以得到一个或多个初始网络实体。其中,目标网络实体的属性值即目标网络实体对应的参数键值对中的参数值。
示例地,目标网络实体具有两个属性,分别为“ip-address=225.0.0.1”和“vni-id=5009”,第一设备将网络实体集合中具有属性值为225.0.0.1的属性和/或属性值为5009的属性的网络实体作为初始网络实体。
可选地,第一设备在创建目标网络实体后,还可以将目标网络实体添加至网络实体集合中。
在步骤a22中,当初始网络实体的待定属性的属性名与目标网络实体的第一属性的属性名的文本相似度大于第一阈值,和/或,该待定属性在初始网络实体对应的命令行表达式中的文本内容与第一属性在目标网络实体对应的命令行表达式中的文本内容的文本相似度大于第二阈值,第一设备确定该待定属性的属性含义与目标网络实体的第一属性的属性含义相同。
当初始网络实体的待定属性的属性值与目标网络实体的第一属性的属性值相同,且该待定属性的属性含义与目标网络实体的第一属性的属性含义相同,则该初始网络实体的待定属性与目标网络实体的第一属性为相同属性。
在步骤a23中,第一设备将该初始网络实体确定为待定网络实体。
可选地,第一设备将网络实体集合中具有一个或多个目标网络实体对应的参数键值对的网络实体作为待定网络实体。
在步骤2062a中,第一设备根据关联关系有效性判断规则,确定待定网络实体与目标网络实体基于第一属性的关联关系是否有效。
可选地,该关联关系有效性判断规则可以由第一设备生成,或者,该关联关系有效性判断规则也可以由第二设备生成后发送给第一设备。第一设备或第二设备生成关联关系有效性判断规则的实现过程包括:获取样本网络实体对集合,该样本网络实体对集合中包括已知是否具有关联关系的多个样本网络实体对以及每个样本网络实体对中的样本网络实体的属性。基于该样本网络实体对集合,确定该关联关系有效性判断规则。
可选地,该关联关系有效性判断规则可以是采用有监督学习的方式训练得到的机器学习模型。该机器学习模型的输入为待定网络实体对应的命令行模板、目标网络实体对应的目标命令行模板和第一属性,输出的结果指示待定网络实体与目标网络实体基于第一属性的关联关系是否有效。例如,该机器学习模型输出的结果可以是Y或N,Y指示待定网络实体与目标网络实体基于第一属性的关联关系有效,N指示待定网络实体与目标网络实体基于第一属性的关联关系无效。或者,该机器学习模型输出的结果也可以是0或1。本申请实施例对该机器学习模型输出的结果的表达方式不做限定。
示例地,假设待定网络实体为“sysname_serviceleaf0-1-2-48.81_interface_Eth-Trunk1”,目标网络实体“sysname_serviceleaf0-1-2-48.81_interface_Eth-Trunk2”。该待定网络实体的属性包括:{interface_type=Eth-Trunk;interface_number=1},该目标网络实体的属性包括:{interface_type=Eth-Trunk;interface_number=2}。其中,{interface_type=Eth-Trunk}为待定网 络实体和目标网络实体的共有属性。基于关联关系有效性判断规则可知,待定网络实体与目标网络实体基于该共有属性的关联关系无效。
又假设待定网络实体为“sysname_serviceleaf0-1-2-48.81_bridge-domain_5006”,目标网络实体为“sysname_serviceleaf0-1-2-48.81_interface_Nve1_vni_5005_head-end_peer-list_protocol_bgp”。该待定网络实体的属性包括:{bd_id=5006;vni_id=5005},该目标网络实体的属性包括:{vni_id=5005}。其中,{vni_id=5005}为待定网络实体和目标网络实体的共有属性。基于关联关系有效性判断规则可知,待定网络实体与目标网络实体基于该共有属性的关联关系有效。
在步骤2063a中,当待定网络实体与目标网络实体基于第一属性的关联关系有效,第一设备将待定网络实体确定为关联网络实体。
在本申请的另一个可选实施例中,步骤206的实现过程包括以下步骤2061b至步骤2063b:
在步骤2061b中,第一设备从有效关系类型集合中,获取包含目标网络实体的类型的目标有效关系类型组。
该有效关系类型集合中包括多个有效关系类型组,每个有效关系类型组包括两个实体类型以及一个属性对。该两个实体类型为具有关联关系的两个网络实体的类型。该属性对包括使该两个网络实体具有关联关系的两个属性,该两个属性的属性含义相同,该两个属性的属性名可能相同,也可能不同。
示例地,本申请实施例提供的有效关系类型集合可以如表4所示。
表4
实体类型1 | 实体类型2 | 属性对 |
bgp(协议) | interface(接口) | ipv4-address<-->ipv-address-mask |
… | … | … |
参见表4,一个有效关系类型组中的两个实体类型分别为“bgp”和“interface”,属性对为“ipv4-address<-->ipv-address-mask”。其中,“ipv4-address”为“bgp”的属性,“ipv-address-mask”为“interface”的属性。该有效关系类型组表示:实体类型为“bgp”的网络实体基于属性“ipv4-address”,与实体类型为“interface”的网络实体基于属性“ipv-address-mask”可能具有关联关系。
可选地,该有效关系类型集合可以由第一设备生成,或者,该有效关系类型集合也可以由第二设备生成后发送给第一设备。第一设备或第二设备生成有效关系类型集合的实现过程包括:获取历史有效关系集合,该历史有效关系集合中包括多个历史有效关系组,每个历史有效关系组包括具有关联关系的两个历史网络实体以及使两个历史网络实体具有关联关系的一个或多个历史属性对,每个历史属性对分别包括该两个历史网络实体的一个属性。根据该历史有效关系组中具有关联关系的两个历史网络实体的类型以及使两个历史网络实体具有关联关系的历史属性对,生成有效关系类型集合中的有效关系类型组。
在步骤2062b中,第一设备基于目标有效关系类型组获取待定网络实体。
该目标有效关系类型组中的两个实体类型分别为目标网络实体的类型和待定网络实体的类型。示例地,假设目标网络实体的实体类型为interface,则第一设备将实体类型为bgp的网络实体确定为待定网络实体。
在步骤2063b中,当待定网络实体的第二属性的属性值与目标网络实体的第三属性的属性值相同时,第一设备将待定网络实体确定为关联网络实体。
该第二属性为目标有效关系类型组的属性对中待定网络实体的类型对应的属性,该第三属性为目标有效关系类型组的属性对中目标网络实体的类型对应的属性。
示例地,请参考步骤2062b中的例子,待定网络实体的第二属性为“ipv4-address”,目标网络实体的第三属性为“ipv-address-mask”。步骤2063b的实现过程,包括:第一设备判断实体类型为bgp的网络实体是否具有属性“ipv4-address”,当实体类型为bgp的网络实体具有属性“ipv4-address”,且该属性“ipv4-address”的属性值与目标网络实体的属性“ipv-address-mask”的属性值相同,则第一设备将该网络实体确定为关联网络实体。
本申请实施例中,由于有效关系类型组包括两个实体类型以及使该两个实体类型的网络实体具有关联关系的一个属性对,因此基于有效关系类型组,可以定向查找网络实体的关联网络实体,确定网络实体的关联网络实体的效率较高且耗费的计算资源较少。
步骤207、第一设备根据目标网络实体、关联网络实体以及目标网络实体与关联网络实体之间的关联关系生成知识图谱三元组。
可选地,知识图谱三元组以图的形式表示,知识图谱三元组由点和边两个基本元素构成,点表示网络实体,边表示两个网络实体之间的关联关系。其中,知识图谱三元组中的边可以是有方向的,也可以是无方向的。知识图谱三元组中的边还可以用于表示两个网络实体之间的具体关系,例如依赖关系或对等关系等。示例地,当两个网络实体之间为对等关系时,可以采用无方向的边连接该两个网络实体;当两个网络实体之间为依赖关系时,可以采用有方向的边(例如箭头)连接该两个网络实体,该边的方向由依赖的网络实体指向被依赖的网络实体。上述步骤206中涉及的网络实体之间的关联关系通常为对等关系。网络实体之间的依赖关系可以基于配置信息中对应的命令行之间的位置关系确定。
步骤208、第一设备基于知识图谱三元组构建目标网络设备所在网络的知识图谱。
本申请实施例提供的构建知识图谱的方法的步骤先后顺序可以进行适当调整,例如,步骤203也可以在步骤201或步骤202之前执行。步骤也可以根据情况进行相应增减。任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本申请的保护范围之内,因此不再赘述。
综上所述,在本申请实施例提供的构建知识图谱的方法中,第一设备根据网络设备对应的模板匹配文件,创建该网络设备的配置信息中的命令行对应的网络实体。由于模板匹配文件能够描述配置信息中的命令行的格式,因此基于模板匹配文件可以准确地创建配置信息中的命令行对应的网络实体。另外,由于命令行对应的网络实体与命令行模板关联,因此可以根据命令行模板确定创建得到的网络实体的具体含义,进而可以确定网络实体之间的关联关系,实现基于网络设备的配置信息构建该网络设备所在网络的知识图谱。
图3是本申请实施例提供的一种构建知识图谱的装置的结构示意图。该装置可以用于如图1所示的系统中的第一设备101。如图3所示,该装置30包括:
获取模块301,用于获取目标网络设备的第一配置信息。
该获取模块301,还用于获取目标网络设备对应的模板匹配文件,模板匹配文件用于描述目标网络设备所属的一类网络设备的配置信息中的一种或多种命令行的格式。
处理模块302,用于根据模板匹配文件以及第一配置信息中的第一命令行,创建第一命令行对应的目标网络实体,目标网络实体的类型为设备、接口、协议或业务,目标网络实体 用于构建目标网络设备所在网络的知识图谱。
可选地,模板匹配文件中包括多个命令行模板,每个命令行模板用于描述该类网络设备的配置信息中的一种命令行的格式;处理模块302,用于:
在模板匹配文件中,确定与第一命令行匹配的目标命令行模板;根据目标命令行模板以及第一命令行,创建目标网络实体。
可选地,命令行模板基于命令行表达式得到,命令行模板包括命令行表达式中的所有内容,且命令行模板能够指示对应的命令行包含的内容在命令行中的先后顺序,命令行表达式包括对该类网络设备的配置信息中对应的命令行的描述。
可选地,第一命令行与目标命令行模板匹配,包括:第一命令行包含目标命令行模板中的所有必选内容,且第一命令行包含的内容的先后顺序与目标命令行模板所指示的先后顺序一致。
可选地,第一命令行对应的命令行表达式包括一个或多个参数,处理模块302,用于:
根据目标命令行模板以及第一命令行,生成一个或多个参数键值对,参数键值对包括目标命令行模板中参数的参数名和第一命令行中对应的参数值;基于一个或多个参数键值对,创建目标网络实体。
可选地,一个或多个参数键值对的排列顺序与目标命令行模板所指示的先后顺序一致,目标网络实体的名称包含一个或多个参数键值对中第一个参数键值对的信息。
可选地,命令行模板基于命令行表达式得到,命令行模板包括命令行表达式的正则表达式,处理模块302,用于:
将模板匹配文件中的第一命令行模板作为待匹配命令行模板,第一命令行模板为模板匹配文件中的任一命令行模板;对待匹配命令行模板执行模板匹配流程,该模板匹配流程包括:
采用待匹配命令行模板中的正则表达式与第一命令行进行正则匹配;当正则表达式与第一命令行匹配成功,将待匹配命令行模板作为目标命令行模板;当正则表达式与第一命令行匹配失败,将模板匹配文件中的第二命令行模板作为新的待匹配命令行模板,并再次执行模板匹配流程,第二命令行模板为模板匹配文件中任一未执行过模板匹配流程的命令行模板。
可选地,命令行模板基于命令行表达式得到,命令行模板包括命令行表达式的正则表达式,处理模块302,用于:
将目标命令行模板集合中的第三命令行模板作为待匹配命令行模板,目标命令行模板集合中包括模板匹配文件中与该类网络设备的历史配置信息中的命令行匹配成功的命令行模板,第三命令行模板为目标命令行模板集合中的任一命令行模板;对待匹配命令行模板执行模板匹配流程,该模板匹配流程包括:
采用待匹配命令行模板中的正则表达式与第一命令行进行正则匹配;当正则表达式与第一命令行匹配成功,将待匹配命令行模板作为目标命令行模板;当正则表达式与第一命令行匹配失败,若目标命令行模板集合中包括第四命令行模板,则将第四命令行模板作为新的待匹配命令行模板,再次执行模板匹配流程;若目标命令行模板集合中不包括第四命令行模板,则将第五命令行模板作为新的待匹配命令行模板,再次执行模板匹配流程;其中,第四命令行模板为目标命令行模板集合中未执行过模板匹配流程的任一命令行模板,第五命令行模板为模板匹配文件中未执行过模板匹配流程的任一命令行模板。
可选地,获取模块301,还用于获取模板匹配文件中,与该类网络设备的历史配置信息中 的命令行匹配成功的多个命令行模板;处理模块302,还用于将多个命令行模板中,与该类网络设备的历史配置信息中的命令行匹配成功的累计次数达到目标次数阈值的命令行模板作为目标命令行模板集合中的命令行模板。
可选地,命令行模板还包括目标内容列表,目标内容列表包括对应的命令行中一个或多个必选的固定内容,处理模块302,用于:当第一命令行包括待匹配命令行模板中的目标内容列表中的所有内容时,采用待匹配命令行模板中的正则表达式与第一命令行进行正则匹配。
可选地,处理模块302,还用于:当第一命令行不包括待匹配命令行模板中的目标内容列表中的任一内容时,确定待匹配命令行模板与第一命令行匹配失败。
可选地,命令行模板基于命令行表达式得到,获取模块301,还用于获取目标命令行模板对应的目标命令行表达式;处理模块302,还用于根据目标命令行表达式,确定是否需要为第一命令行创建网络实体,并在确定需要为第一命令行创建网络实体后,根据目标命令行模板以及第一命令行,创建目标网络实体。
可选地,处理模块302,用于:
当实体类型本体集合中包括目标命令行表达式时,确定需要为第一命令行创建网络实体。
可选地,获取模块301,还用于获取该类网络设备的历史配置信息中,对应有网络实体的所有历史命令行;处理模块302,还用于根据所有历史命令行对应的命令行表达式,生成实体类型本体集合。
可选地,处理模块302,用于:向实体判别模型输入目标命令行表达式,以获取实体判别模型基于目标命令行表达式输出的结果,结果包括需要为第一命令行创建网络实体的第一指示或不需要为第一命令行创建网络实体的第二指示,实体判别模型基于已知对应的命令行是否对应有网络实体的多个样本命令行表达式得到;当结果包括第一指示,确定需要为第一命令行创建网络实体;当结果包括第二指示,确定不需要为第一命令行创建网络实体。
可选地,获取模块301,还用于获取已知对应的命令行是否对应有网络实体的多个样本命令行表达式;处理模块302,还用于采用多个样本命令行表达式,训练得到实体判别模型。
可选地,处理模块302,还用于:根据目标网络实体的一个或多个属性,确定与目标网络实体具有关联关系的关联网络实体;根据目标网络实体、关联网络实体以及关联关系生成知识图谱三元组;基于知识图谱三元组构建目标网络设备所在网络的知识图谱。
可选地,处理模块302,用于:从网络实体集合中获取待定网络实体,待定网络实体满足:待定网络实体具有第一属性,第一属性为目标网络实体的任一属性,且待定网络实体的第一属性的属性含义和属性值分别与目标网络实体的第一属性的属性含义和属性值相同,网络实体集合中包括根据第一配置信息中的一个或多个其它命令行创建得到的网络实体;根据关联关系有效性判断规则,确定待定网络实体与目标网络实体基于第一属性的关联关系是否有效;当待定网络实体与目标网络实体基于第一属性的关联关系有效,将待定网络实体确定为关联网络实体。
可选地,处理模块302,用于:从网络实体集合中获取一个或多个初始网络实体,初始网络实体具有待定属性,待定属性的属性值与目标网络实体的第一属性的属性值相同;当初始网络实体的待定属性的属性名与目标网络实体的第一属性的属性名的文本相似度大于第一阈值,和/或,待定属性在初始网络实体对应的命令行表达式中的文本内容与第一属性在目标网络实体对应的命令行表达式中的文本内容的文本相似度大于第二阈值,确定待定属性的属性 含义与目标网络实体的第一属性的属性含义相同;将初始网络实体确定为待定网络实体。
可选地,获取模块301,还用于获取样本网络实体对集合,样本网络实体对集合中包括已知是否具有关联关系的多个样本网络实体对以及每个样本网络实体对中的样本网络实体的属性;处理模块302,还用于基于样本网络实体对集合,确定关联关系有效性判断规则。
可选地,处理模块302,用于:从有效关系类型集合中,获取包含目标网络实体的类型的目标有效关系类型组,有效关系类型集合中包括多个有效关系类型组,每个有效关系类型组包括两个实体类型以及一个属性对,两个实体类型为具有关联关系的两个网络实体的类型,属性对包括使两个网络实体具有关联关系的两个属性,两个属性的属性含义相同;基于目标有效关系类型组获取待定网络实体,目标有效关系类型组中的两个实体类型分别为目标网络实体的类型和待定网络实体的类型;当待定网络实体的第二属性的属性值与目标网络实体的第三属性的属性值相同时,将待定网络实体确定为关联网络实体,第二属性为目标有效关系类型组的属性对中待定网络实体的类型对应的属性,第三属性为目标有效关系类型组的属性对中目标网络实体的类型对应的属性。
可选地,获取模块301,还用于获取历史有效关系集合,历史有效关系集合中包括多个历史有效关系组,每个历史有效关系组包括具有关联关系的两个历史网络实体以及使两个历史网络实体具有关联关系的一个或多个历史属性对,每个历史属性对分别包括两个历史网络实体的一个属性;处理模块302,还用于根据历史有效关系组中具有关联关系的两个历史网络实体的类型以及使两个历史网络实体具有关联关系的历史属性对,生成有效关系类型集合中的有效关系类型组。
可选地,获取模块301,用于:生成模板匹配文件。
可选地,获取模块301,用于:获取该类网络设备的产品手册,产品手册中包括多个命令行表达式,每个命令行表达式包括对该类网络设备的配置信息中的一种命令行的描述;对产品手册中的每个命令行表达式,基于命令行表达式生成一个命令行模板,以得到模板匹配文件,命令行模板包括命令行表达式、命令行表达式的正则表达式和目标内容列表中的一个或多个,目标内容列表包括对应的命令行中一个或多个必选的固定内容。
可选地,如图4所示,该装置40还包括:
接收模块303,用于接收第二设备发送的模板匹配文件、关联关系有效性判断规则、有效关系类型集合、目标命令行模板集合、实体类型本体集合或实体判别模型中的一个或多个。
可选地,该类网络设备的型号相同。
可选地,该类网络设备的产品版本相同。
可选地,第一设备为管理设备,获取模块301,用于接收目标网络设备发送的第一配置信息。
综上所述,在本申请实施例提供的构建知识图谱的装置中,第一设备通过处理模块根据网络设备对应的模板匹配文件,创建该网络设备的配置信息中的命令行对应的网络实体。由于模板匹配文件能够描述配置信息中的命令行的格式,因此基于模板匹配文件可以准确地创建配置信息中的命令行对应的网络实体。另外,由于命令行对应的网络实体与命令行模板关联,因此可以根据命令行模板确定创建得到的网络实体的具体含义,进而可以确定网络实体之间的关联关系,实现基于网络设备的配置信息构建该网络设备所在网络的知识图谱。
图5是本申请实施例提供的又一种构建知识图谱的装置的结构示意图。该装置可以用于如图1所示的系统中的第二设备102。如图5所示,该装置50包括:
处理模块501,用于生成一类网络设备对应的模板匹配文件,模板匹配文件用于描述一类网络设备的配置信息中的一种或多种命令行的格式。
发送模块502,用于向第一设备发送模板匹配文件,以供第一设备创建该类网络设备中的任一网络设备的配置信息中的命令行对应的网络实体,网络实体的类型为设备、接口、协议或业务。
可选地,处理模块501,用于:获取该类网络设备的产品手册,产品手册中包括多个命令行表达式,每个命令行表达式包括对该类网络设备的配置信息中的一种命令行的描述;对产品手册中的每个命令行表达式,基于命令行表达式生成一个命令行模板,以得到模板匹配文件,命令行模板包括命令行表达式、命令行表达式的正则表达式和目标内容列表中的一个或多个,目标内容列表包括对应的命令行中一个或多个必选的固定内容。
可选地,处理模块501,还用于获取样本网络实体对集合,并基于样本网络实体对集合,确定关联关系有效性判断规则,样本网络实体对集合中包括已知是否具有关联关系的多个样本网络实体对以及每个样本网络实体对中的样本网络实体的属性;发送模块502,还用于向第一设备发送关联关系有效性判断规则。
可选地,处理模块501,还用于获取历史有效关系集合,历史有效关系集合中包括多个历史有效关系组,每个历史有效关系组包括具有关联关系的两个历史网络实体以及使两个历史网络实体具有关联关系的一个或多个历史属性对,每个历史属性对分别包括两个历史网络实体的一个属性;处理模块501,还用于根据历史有效关系组中具有关联关系的两个历史网络实体的类型以及使两个历史网络实体具有关联关系的历史属性对,生成有效关系类型组;发送模块502,还用于向第一设备发送有效关系类型集合,有效关系类型集合中包括多个有效关系类型组。
可选地,模板匹配文件中包括多个命令行模板,每个命令行模板用于描述该类网络设备的配置信息中的一种命令行的格式,处理模块501,还用于获取模板匹配文件中,与该类网络设备的历史配置信息中的命令行匹配成功的多个命令行模板,并将多个命令行模板中,与该类网络设备的历史配置信息中的命令行匹配成功的累计次数达到目标次数阈值的命令行模板作为目标命令行模板集合中的命令行模板;发送模块502,还用于向第一设备发送目标命令行模板集合。
可选地,处理模块501,还用于获取该类网络设备的历史配置信息中,对应有网络实体的所有历史命令行,并根据所有历史命令行对应的命令行表达式,生成实体类型本体集合;发送模块502,还用于向第一设备发送实体类型本体集合。
可选地,处理模块501,还用于获取已知对应的命令行是否对应有网络实体的多个样本命令行表达式,并采用多个样本命令行表达式,训练得到实体判别模型;发送模块502,还用于向第一设备发送实体判别模型。
综上所述,在本申请实施例提供的构建知识图谱的装置中,第一设备根据网络设备对应的模板匹配文件,创建该网络设备的配置信息中的命令行对应的网络实体。由于模板匹配文件能够描述配置信息中的命令行的格式,因此基于模板匹配文件可以准确地创建配置信息中的命令行对应的网络实体。另外,由于命令行对应的网络实体与命令行模板关联,因此可以 根据命令行模板确定创建得到的网络实体的具体含义,进而可以确定网络实体之间的关联关系,实现基于网络设备的配置信息构建该网络设备所在网络的知识图谱。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本申请实施例提供了一种计算机设备,包括:处理器和存储器;
所述存储器,用于存储计算机程序,所述计算机程序包括程序指令;
所述处理器,用于调用所述计算机程序,实现如上述方法实施例中第一设备执行的动作。
本申请实施例还提供了另一种计算机设备,包括:处理器和存储器;
所述存储器,用于存储计算机程序,所述计算机程序包括程序指令;
所述处理器,用于调用所述计算机程序,实现如上述方法实施例中第二设备执行的动作。
示例地,图6是本申请实施例提供的一种计算机设备的框图。该计算机设备可以是本申请实施例涉及的第一设备或第二设备,具体可以是网络设备、管理设备或云端设备。如图6所示,计算机设备60包括:处理器601和存储器602。
存储器602,用于存储计算机程序,所述计算机程序包括程序指令;
处理器601,用于调用所述计算机程序,实现上述方法实施例中第一设备执行的动作或第二设备执行的动作。
可选地,该计算机设备60还包括通信总线603和通信接口604。
其中,处理器601包括一个或者一个以上处理核心,处理器601通过运行计算机程序,执行各种功能应用以及数据处理。
存储器602可用于存储计算机程序。可选地,存储器可存储操作系统和至少一个功能所需的应用程序单元。操作系统可以是实时操作系统(Real Time eXecutive,RTX)、LINUX、UNIX、WINDOWS或OS X之类的操作系统。
通信接口604可以为多个,通信接口604用于与其它设备进行通信。例如在本申请实施例中,第二设备的通信接口604可以用于向第一设备发送模板匹配文件、关联关系有效性判断规则、有效关系类型集合、目标命令行模板集合、实体类型本体集合或实体判别模型中的一个或多个。
存储器602与通信接口604分别通过通信总线603与处理器601连接。
本申请实施例还提供了一种构建知识图谱的系统。该系统包括:第一设备和第二设备。第一设备包括如图3或图4所示的装置或者为如图6所示的计算机设备。第二设备包括如图5所示的装置或者为如图6所示的计算机设备。
本申请实施例还提供了一种计算机存储介质,所述计算机存储介质上存储有指令,当所述指令被处理器执行时,实现上述方法实施例中第一设备执行的动作或第二设备执行的动作。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成, 也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本申请实施例中,术语“第一”、“第二”和“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的构思和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (50)
- 一种构建知识图谱的方法,其特征在于,用于第一设备,所述方法包括:获取目标网络设备的第一配置信息;获取所述目标网络设备对应的模板匹配文件,所述模板匹配文件用于描述所述目标网络设备所属的一类网络设备的配置信息中的一种或多种命令行的格式;根据所述模板匹配文件以及所述第一配置信息中的第一命令行,创建所述第一命令行对应的目标网络实体,所述目标网络实体的类型为设备、接口、协议或业务,所述目标网络实体用于构建所述目标网络设备所在网络的知识图谱。
- 根据权利要求1所述的方法,其特征在于,所述模板匹配文件中包括多个命令行模板,每个所述命令行模板用于描述所述一类网络设备的配置信息中的一种命令行的格式;所述根据所述模板匹配文件以及所述第一配置信息中的第一命令行,创建所述第一命令行对应的目标网络实体,包括:在所述模板匹配文件中,确定与所述第一命令行匹配的目标命令行模板;根据所述目标命令行模板以及所述第一命令行,创建所述目标网络实体。
- 根据权利要求2所述的方法,其特征在于,所述命令行模板基于命令行表达式得到,所述命令行模板包括所述命令行表达式中的所有内容,且所述命令行模板能够指示对应的命令行包含的内容在所述命令行中的先后顺序,所述命令行表达式包括对所述一类网络设备的配置信息中对应的命令行的描述。
- 根据权利要求3所述的方法,其特征在于,所述第一命令行与所述目标命令行模板匹配,包括:所述第一命令行包含所述目标命令行模板中的所有必选内容,且所述第一命令行包含的内容的先后顺序与所述目标命令行模板所指示的先后顺序一致。
- 根据权利要求3或4所述的方法,其特征在于,所述第一命令行对应的命令行表达式包括一个或多个参数,所述根据所述目标命令行模板以及所述第一命令行,创建所述目标网络实体,包括:根据所述目标命令行模板以及所述第一命令行,生成一个或多个参数键值对,所述参数键值对包括所述目标命令行模板中参数的参数名和所述第一命令行中对应的参数值;基于所述一个或多个参数键值对,创建所述目标网络实体。
- 根据权利要求5所述的方法,其特征在于,所述一个或多个参数键值对的排列顺序与所述目标命令行模板所指示的先后顺序一致,所述目标网络实体的名称包含所述一个或多个参数键值对中第一个参数键值对的信息。
- 根据权利要求2至6任一所述的方法,其特征在于,所述命令行模板基于命令行表达 式得到,所述命令行模板包括所述命令行表达式的正则表达式,所述在所述模板匹配文件中,确定与所述第一命令行匹配的目标命令行模板,包括:将所述模板匹配文件中的第一命令行模板作为待匹配命令行模板,所述第一命令行模板为所述模板匹配文件中的任一命令行模板;对所述待匹配命令行模板执行模板匹配流程,所述模板匹配流程包括:采用所述待匹配命令行模板中的正则表达式与所述第一命令行进行正则匹配;当所述正则表达式与所述第一命令行匹配成功,将所述待匹配命令行模板作为所述目标命令行模板;当所述正则表达式与所述第一命令行匹配失败,将所述模板匹配文件中的第二命令行模板作为新的待匹配命令行模板,并再次执行所述模板匹配流程,所述第二命令行模板为所述模板匹配文件中任一未执行过所述模板匹配流程的命令行模板。
- 根据权利要求2至6任一所述的方法,其特征在于,所述命令行模板基于命令行表达式得到,所述命令行模板包括所述命令行表达式的正则表达式,所述在所述模板匹配文件中,确定与所述第一命令行匹配的目标命令行模板,包括:将目标命令行模板集合中的第三命令行模板作为待匹配命令行模板,所述目标命令行模板集合中包括所述模板匹配文件中与所述一类网络设备的历史配置信息中的命令行匹配成功的命令行模板,所述第三命令行模板为所述目标命令行模板集合中的任一命令行模板;对所述待匹配命令行模板执行模板匹配流程,所述模板匹配流程包括:采用所述待匹配命令行模板中的正则表达式与所述第一命令行进行正则匹配;当所述正则表达式与所述第一命令行匹配成功,将所述待匹配命令行模板作为所述目标命令行模板;当所述正则表达式与所述第一命令行匹配失败,若所述目标命令行模板集合中包括第四命令行模板,则将所述第四命令行模板作为新的待匹配命令行模板,再次执行所述模板匹配流程;若所述目标命令行模板集合中不包括所述第四命令行模板,则将第五命令行模板作为新的待匹配命令行模板,再次执行所述模板匹配流程;其中,所述第四命令行模板为所述目标命令行模板集合中未执行过所述模板匹配流程的任一命令行模板,所述第五命令行模板为所述模板匹配文件中未执行过所述模板匹配流程的任一命令行模板。
- 根据权利要求8所述的方法,其特征在于,所述方法还包括:获取所述模板匹配文件中,与所述一类网络设备的历史配置信息中的命令行匹配成功的多个命令行模板;将所述多个命令行模板中,与所述一类网络设备的历史配置信息中的命令行匹配成功的累计次数达到目标次数阈值的命令行模板作为所述目标命令行模板集合中的命令行模板。
- 根据权利要求7至9任一所述的方法,其特征在于,所述命令行模板还包括目标内容列表,所述目标内容列表包括对应的命令行中一个或多个必选的固定内容,所述采用所述待匹配命令行模板中的正则表达式与所述第一命令行进行正则匹配,包括:当所述第一命令行包括所述待匹配命令行模板中的目标内容列表中的所有内容时,采用所述待匹配命令行模板中的正则表达式与所述第一命令行进行正则匹配。
- 根据权利要求10所述的方法,其特征在于,所述方法还包括:当所述第一命令行不包括所述待匹配命令行模板中的目标内容列表中的任一内容时,确定所述待匹配命令行模板与所述第一命令行匹配失败。
- 根据权利要求2至11任一所述的方法,其特征在于,所述命令行模板基于命令行表达式得到,所述在所述模板匹配文件中,确定与所述第一命令行匹配的目标命令行模板之后,所述方法还包括:获取所述目标命令行模板对应的目标命令行表达式;根据所述目标命令行表达式,确定是否需要为所述第一命令行创建网络实体;所述根据所述目标命令行模板以及所述第一命令行,创建所述目标网络实体,包括:在确定需要为所述第一命令行创建网络实体后,根据所述目标命令行模板以及所述第一命令行,创建所述目标网络实体。
- 根据权利要求12所述的方法,其特征在于,所述根据所述目标命令行表达式,确定是否需要为所述第一命令行创建网络实体,包括:当实体类型本体集合中包括所述目标命令行表达式时,确定需要为所述第一命令行创建网络实体。
- 根据权利要求13所述的方法,其特征在于,所述方法还包括:获取所述一类网络设备的历史配置信息中,对应有网络实体的所有历史命令行;根据所述所有历史命令行对应的命令行表达式,生成所述实体类型本体集合。
- 根据权利要求12所述的方法,其特征在于,所述根据所述目标命令行表达式,确定是否需要为所述第一命令行创建网络实体,包括:向实体判别模型输入所述目标命令行表达式,以获取所述实体判别模型基于所述目标命令行表达式输出的结果,所述结果包括需要为所述第一命令行创建网络实体的第一指示或不需要为所述第一命令行创建网络实体的第二指示,所述实体判别模型基于已知对应的命令行是否对应有网络实体的多个样本命令行表达式得到;当所述结果包括所述第一指示,确定需要为所述第一命令行创建网络实体;当所述结果包括所述第二指示,确定不需要为所述第一命令行创建网络实体。
- 根据权利要求15所述的方法,其特征在于,所述方法还包括:获取已知对应的命令行是否对应有网络实体的多个样本命令行表达式;采用所述多个样本命令行表达式,训练得到所述实体判别模型。
- 根据权利要求1至16任一所述的方法,其特征在于,在所述根据所述模板匹配文件 以及所述第一配置信息中的第一命令行,创建所述第一命令行对应的目标网络实体之后,所述方法还包括:根据所述目标网络实体的一个或多个属性,确定与所述目标网络实体具有关联关系的关联网络实体;根据所述目标网络实体、所述关联网络实体以及所述关联关系生成知识图谱三元组;基于所述知识图谱三元组构建所述目标网络设备所在网络的知识图谱。
- 根据权利要求17所述的方法,其特征在于,所述根据所述目标网络实体的一个或多个属性,确定与所述目标网络实体具有关联关系的关联网络实体,包括:从网络实体集合中获取待定网络实体,所述待定网络实体满足:所述待定网络实体具有第一属性,所述第一属性为所述目标网络实体的任一属性,且所述待定网络实体的第一属性的属性含义和属性值分别与所述目标网络实体的第一属性的属性含义和属性值相同,所述网络实体集合中包括根据所述第一配置信息中的一个或多个其它命令行创建得到的网络实体;根据关联关系有效性判断规则,确定所述待定网络实体与所述目标网络实体基于所述第一属性的关联关系是否有效;当所述待定网络实体与所述目标网络实体基于所述第一属性的关联关系有效,将所述待定网络实体确定为所述关联网络实体。
- 根据权利要求18所述的方法,其特征在于,所述从网络实体集合中获取待定网络实体,包括:从所述网络实体集合中获取一个或多个初始网络实体,所述初始网络实体具有待定属性,所述待定属性的属性值与所述目标网络实体的第一属性的属性值相同;当所述初始网络实体的待定属性的属性名与所述目标网络实体的第一属性的属性名的文本相似度大于第一阈值,和/或,所述待定属性在所述初始网络实体对应的命令行表达式中的文本内容与所述第一属性在所述目标网络实体对应的命令行表达式中的文本内容的文本相似度大于第二阈值,确定所述待定属性的属性含义与所述目标网络实体的第一属性的属性含义相同;将所述初始网络实体确定为所述待定网络实体。
- 根据权利要求18或19所述的方法,其特征在于,所述方法还包括:获取样本网络实体对集合,所述样本网络实体对集合中包括已知是否具有关联关系的多个样本网络实体对以及每个所述样本网络实体对中的样本网络实体的属性;基于所述样本网络实体对集合,确定所述关联关系有效性判断规则。
- 根据权利要求17所述的方法,其特征在于,所述根据所述目标网络实体的一个或多个属性,确定与所述目标网络实体具有关联关系的关联网络实体,包括:从有效关系类型集合中,获取包含所述目标网络实体的类型的目标有效关系类型组,所述有效关系类型集合中包括多个有效关系类型组,每个所述有效关系类型组包括两个实体类型以及一个属性对,所述两个实体类型为具有关联关系的两个网络实体的类型,所述属性对 包括使所述两个网络实体具有关联关系的两个属性,所述两个属性的属性含义相同;基于所述目标有效关系类型组获取待定网络实体,所述目标有效关系类型组中的两个实体类型分别为所述目标网络实体的类型和所述待定网络实体的类型;当所述待定网络实体的第二属性的属性值与所述目标网络实体的第三属性的属性值相同时,将所述待定网络实体确定为所述关联网络实体,所述第二属性为所述目标有效关系类型组的属性对中所述待定网络实体的类型对应的属性,所述第三属性为所述目标有效关系类型组的属性对中所述目标网络实体的类型对应的属性。
- 根据权利要求21所述的方法,其特征在于,所述方法还包括:获取历史有效关系集合,所述历史有效关系集合中包括多个历史有效关系组,每个所述历史有效关系组包括具有关联关系的两个历史网络实体以及使所述两个历史网络实体具有关联关系的一个或多个历史属性对,每个所述历史属性对分别包括所述两个历史网络实体的一个属性;根据所述历史有效关系组中具有关联关系的两个历史网络实体的类型以及使所述两个历史网络实体具有关联关系的历史属性对,生成所述有效关系类型集合中的所述有效关系类型组。
- 根据权利要求1至22任一所述的方法,其特征在于,所述获取所述目标网络设备对应的模板匹配文件,包括:生成所述模板匹配文件。
- 根据权利要求23所述的方法,其特征在于,所述生成所述模板匹配文件,包括:获取所述一类网络设备的产品手册,所述产品手册中包括多个命令行表达式,每个所述命令行表达式包括对所述一类网络设备的配置信息中的一种命令行的描述;对所述产品手册中的每个命令行表达式,基于所述命令行表达式生成一个命令行模板,以得到所述模板匹配文件,所述命令行模板包括所述命令行表达式、所述命令行表达式的正则表达式和目标内容列表中的一个或多个,所述目标内容列表包括对应的命令行中一个或多个必选的固定内容。
- 根据权利要求1至24任一所述的方法,其特征在于,所述方法还包括:接收第二设备发送的所述模板匹配文件、关联关系有效性判断规则、有效关系类型集合、目标命令行模板集合、实体类型本体集合或实体判别模型中的一个或多个。
- 根据权利要求1至25任一所述的方法,其特征在于,所述一类网络设备的型号相同。
- 根据权利要求26所述的方法,其特征在于,所述一类网络设备的产品版本相同。
- 根据权利要求1至27任一所述的方法,其特征在于,所述第一设备为管理设备,所述获取目标网络设备的第一配置信息,包括:接收所述目标网络设备发送的所述第一配置信息。
- 一种构建知识图谱的方法,其特征在于,用于第二设备,所述方法包括:生成一类网络设备对应的模板匹配文件,所述模板匹配文件用于描述所述一类网络设备的配置信息中的一种或多种命令行的格式;向第一设备发送所述模板匹配文件,以供所述第一设备创建所述一类网络设备中的任一网络设备的配置信息中的命令行对应的网络实体,所述网络实体的类型为设备、接口、协议或业务。
- 根据权利要求29所述的方法,其特征在于,所述方法还包括:获取样本网络实体对集合,所述样本网络实体对集合中包括已知是否具有关联关系的多个样本网络实体对以及每个所述样本网络实体对中的样本网络实体的属性,基于所述样本网络实体对集合,确定关联关系有效性判断规则,向所述第一设备发送所述关联关系有效性判断规则;或者,获取历史有效关系集合,所述历史有效关系集合中包括多个历史有效关系组,每个所述历史有效关系组包括具有关联关系的两个历史网络实体以及使所述两个历史网络实体具有关联关系的一个或多个历史属性对,每个所述历史属性对分别包括所述两个历史网络实体的一个属性,根据所述历史有效关系组中具有关联关系的两个历史网络实体的类型以及使所述两个历史网络实体具有关联关系的历史属性对,生成有效关系类型组,向所述第一设备发送有效关系类型集合,所述有效关系类型集合中包括多个所述有效关系类型组。
- 根据权利要求29或30所述的方法,其特征在于,所述模板匹配文件中包括多个命令行模板,每个所述命令行模板用于描述所述一类网络设备的配置信息中的一种命令行的格式,所述方法还包括:获取所述模板匹配文件中,与所述一类网络设备的历史配置信息中的命令行匹配成功的多个命令行模板;将所述多个命令行模板中,与所述一类网络设备的历史配置信息中的命令行匹配成功的累计次数达到目标次数阈值的命令行模板作为目标命令行模板集合中的命令行模板;向所述第一设备发送所述目标命令行模板集合。
- 根据权利要求29至31任一所述的方法,其特征在于,所述方法还包括:获取所述一类网络设备的历史配置信息中,对应有网络实体的所有历史命令行,根据所述所有历史命令行对应的命令行表达式,生成实体类型本体集合,向所述第一设备发送所述实体类型本体集合;或者,获取已知对应的命令行是否对应有网络实体的多个样本命令行表达式,采用所述多个样本命令行表达式,训练得到实体判别模型,向所述第一设备发送所述实体判别模型。
- 一种构建知识图谱的装置,其特征在于,用于第一设备,所述装置包括:获取模块,用于获取目标网络设备的第一配置信息;所述获取模块,还用于获取所述目标网络设备对应的模板匹配文件,所述模板匹配文件用于描述所述目标网络设备所属的一类网络设备的配置信息中的一种或多种命令行的格式;处理模块,用于根据所述模板匹配文件以及所述第一配置信息中的第一命令行,创建所述第一命令行对应的目标网络实体,所述目标网络实体的类型为设备、接口、协议或业务,所述目标网络实体用于构建所述目标网络设备所在网络的知识图谱。
- 根据权利要求33所述的装置,其特征在于,所述模板匹配文件中包括多个命令行模板,每个所述命令行模板用于描述所述一类网络设备的配置信息中的一种命令行的格式;所述处理模块,用于:在所述模板匹配文件中,确定与所述第一命令行匹配的目标命令行模板;根据所述目标命令行模板以及所述第一命令行,创建所述目标网络实体。
- 根据权利要求34所述的装置,其特征在于,所述命令行模板基于命令行表达式得到,所述命令行模板包括所述命令行表达式中的所有内容,且所述命令行模板能够指示对应的命令行包含的内容在所述命令行中的先后顺序,所述命令行表达式包括对所述一类网络设备的配置信息中对应的命令行的描述。
- 根据权利要求35所述的装置,其特征在于,所述第一命令行与所述目标命令行模板匹配,包括:所述第一命令行包含所述目标命令行模板中的所有必选内容,且所述第一命令行包含的内容的先后顺序与所述目标命令行模板所指示的先后顺序一致。
- 根据权利要求35或36所述的装置,其特征在于,所述第一命令行对应的命令行表达式包括一个或多个参数,所述处理模块,用于:根据所述目标命令行模板以及所述第一命令行,生成一个或多个参数键值对,所述参数键值对包括所述目标命令行模板中参数的参数名和所述第一命令行中对应的参数值;基于所述一个或多个参数键值对,创建所述目标网络实体。
- 根据权利要求34至37任一所述的装置,其特征在于,所述命令行模板基于命令行表达式得到,所述命令行模板包括所述命令行表达式的正则表达式,所述处理模块,用于:将所述模板匹配文件中的第一命令行模板作为待匹配命令行模板,所述第一命令行模板为所述模板匹配文件中的任一命令行模板,对所述待匹配命令行模板执行模板匹配流程,所述模板匹配流程包括:采用所述待匹配命令行模板中的正则表达式与所述第一命令行进行正则匹配,当所述正则表达式与所述第一命令行匹配成功,将所述待匹配命令行模板作为所述目标命令行模板,当所述正则表达式与所述第一命令行匹配失败,将所述模板匹配文件中的第二命令行模板作为新的待匹配命令行模板,并再次执行所述模板匹配流程,所述第二命令行模板为所述模板匹配文件中任一未执行过所述模板匹配流程的命令行模板;或者,所述处理模块,用于:将目标命令行模板集合中的第三命令行模板作为待匹配命令行模板,所述目标命令行模板集合中包括所述模板匹配文件中与所述一类网络设备的历史配置信息中的命令行匹配成功的命令行模板,所述第三命令行模板为所述目标命令行模板集合中的任一命令行模板,对所述待匹配命令行模板执行模板匹配流程,所述模板匹配流程包括:采用所述待匹配命令行模板中的正则表达式与所述第一命令行进行正则匹配,当所述正则表达式与所述第一命令行匹配成功,将所述待匹配命令行模板作为所述目标命令行模板,当所述正则表达式与所述第一命令行匹配失败,若所述目标命令行模板集合中包括第四命令行模板,则将所述第四命令行模板作为新的待匹配命令行模板,再次执行所述模板匹配流程;若所述目标命令行模板集合中不包括所述第四命令行模板,则将第五命令行模板作为新的待匹配命令行模板,再次执行所述模板匹配流程,其中,所述第四命令行模板为所述目标命令行模板集合中未执行过所述模板匹配流程的任一命令行模板,所述第五命令行模板为所述模板匹配文件中未执行过所述模板匹配流程的任一命令行模板。
- 根据权利要求38所述的装置,其特征在于,所述命令行模板还包括目标内容列表,所述目标内容列表包括对应的命令行中一个或多个必选的固定内容,所述处理模块,用于:当所述第一命令行包括所述待匹配命令行模板中的目标内容列表中的所有内容时,采用所述待匹配命令行模板中的正则表达式与所述第一命令行进行正则匹配。
- 根据权利要求34至39任一所述的装置,其特征在于,所述命令行模板基于命令行表达式得到,所述处理模块,还用于:获取所述目标命令行模板对应的目标命令行表达式;根据所述目标命令行表达式,确定是否需要为所述第一命令行创建网络实体,并在确定需要为所述第一命令行创建网络实体后,根据所述目标命令行模板以及所述第一命令行,创建所述目标网络实体。
- 根据权利要求40所述的装置,其特征在于,所述处理模块,用于当实体类型本体集合中包括所述目标命令行表达式时,确定需要为所述第一命令行创建网络实体;或者,所述处理模块,用于向实体判别模型输入所述目标命令行表达式,以获取所述实体判别模型基于所述目标命令行表达式输出的结果,所述结果包括需要为所述第一命令行创建网络实体的第一指示或不需要为所述第一命令行创建网络实体的第二指示,所述实体判别 模型基于已知对应的命令行是否对应有网络实体的多个样本命令行表达式得到;当所述结果包括所述第一指示,确定需要为所述第一命令行创建网络实体;当所述结果包括所述第二指示,确定不需要为所述第一命令行创建网络实体。
- 根据权利要求33至41任一所述的装置,其特征在于,所述处理模块,还用于:根据所述目标网络实体的一个或多个属性,确定与所述目标网络实体具有关联关系的关联网络实体;根据所述目标网络实体、所述关联网络实体以及所述关联关系生成知识图谱三元组;基于所述知识图谱三元组构建所述目标网络设备所在网络的知识图谱。
- 根据权利要求42所述的装置,其特征在于,所述处理模块,用于:从网络实体集合中获取待定网络实体,所述待定网络实体满足:所述待定网络实体具有第一属性,所述第一属性为所述目标网络实体的任一属性,且所述待定网络实体的第一属性的属性含义和属性值分别与所述目标网络实体的第一属性的属性含义和属性值相同,所述网络实体集合中包括根据所述第一配置信息中的一个或多个其它命令行创建得到的网络实体;根据关联关系有效性判断规则,确定所述待定网络实体与所述目标网络实体基于所述第一属性的关联关系是否有效;当所述待定网络实体与所述目标网络实体基于所述第一属性的关联关系有效,将所述待定网络实体确定为所述关联网络实体。
- 根据权利要求43所述的装置,其特征在于,所述处理模块,用于:从所述网络实体集合中获取一个或多个初始网络实体,所述初始网络实体具有待定属性,所述待定属性的属性值与所述目标网络实体的第一属性的属性值相同;当所述初始网络实体的待定属性的属性名与所述目标网络实体的第一属性的属性名的文本相似度大于第一阈值,和/或,所述待定属性在所述初始网络实体对应的命令行表达式中的文本内容与所述第一属性在所述目标网络实体对应的命令行表达式中的文本内容的文本相似度大于第二阈值,确定所述待定属性的属性含义与所述目标网络实体的第一属性的属性含义相同;将所述初始网络实体确定为所述待定网络实体。
- 根据权利要求42所述的装置,其特征在于,所述处理模块,用于:从有效关系类型集合中,获取包含所述目标网络实体的类型的目标有效关系类型组,所述有效关系类型集合中包括多个有效关系类型组,每个所述有效关系类型组包括两个实体类型以及一个属性对,所述两个实体类型为具有关联关系的两个网络实体的类型,所述属性对包括使所述两个网络实体具有关联关系的两个属性,所述两个属性的属性含义相同;基于所述目标有效关系类型组获取待定网络实体,所述目标有效关系类型组中的两个实体类型分别为所述目标网络实体的类型和所述待定网络实体的类型;当所述待定网络实体的第二属性的属性值与所述目标网络实体的第三属性的属性值相同时,将所述待定网络实体确定为所述关联网络实体,所述第二属性为所述目标有效关系类型 组的属性对中所述待定网络实体的类型对应的属性,所述第三属性为所述目标有效关系类型组的属性对中所述目标网络实体的类型对应的属性。
- 一种构建知识图谱的装置,其特征在于,用于第二设备,所述装置包括:处理模块,用于生成一类网络设备对应的模板匹配文件,所述模板匹配文件用于描述所述一类网络设备的配置信息中的一种或多种命令行的格式;发送模块,用于向第一设备发送所述模板匹配文件,以供所述第一设备创建所述一类网络设备中的任一网络设备的配置信息中的命令行对应的网络实体,所述网络实体的类型为设备、接口、协议或业务。
- 根据权利要求46所述的装置,其特征在于,所述处理模块,还用于获取样本网络实体对集合,并基于所述样本网络实体对集合,确定关联关系有效性判断规则,所述样本网络实体对集合中包括已知是否具有关联关系的多个样本网络实体对以及每个所述样本网络实体对中的样本网络实体的属性,所述发送模块,还用于向所述第一设备发送所述关联关系有效性判断规则;和/或,所述处理模块,还用于获取历史有效关系集合,所述历史有效关系集合中包括多个历史有效关系组,每个所述历史有效关系组包括具有关联关系的两个历史网络实体以及使所述两个历史网络实体具有关联关系的一个或多个历史属性对,每个所述历史属性对分别包括所述两个历史网络实体的一个属性,所述处理模块,还用于根据所述历史有效关系组中具有关联关系的两个历史网络实体的类型以及使所述两个历史网络实体具有关联关系的历史属性对,生成有效关系类型组,所述发送模块,还用于向所述第一设备发送有效关系类型集合,所述有效关系类型集合中包括多个所述有效关系类型组;和/或,所述模板匹配文件中包括多个命令行模板,每个所述命令行模板用于描述所述一类网络设备的配置信息中的一种命令行的格式,所述处理模块,还用于获取所述模板匹配文件中,与所述一类网络设备的历史配置信息中的命令行匹配成功的多个命令行模板,并将所述多个命令行模板中,与所述一类网络设备的历史配置信息中的命令行匹配成功的累计次数达到目标次数阈值的命令行模板作为目标命令行模板集合中的命令行模板,所述发送模块,还用于向所述第一设备发送所述目标命令行模板集合;和/或,所述处理模块,还用于获取所述一类网络设备的历史配置信息中,对应有网络实体的所有历史命令行,并根据所述所有历史命令行对应的命令行表达式,生成实体类型本体集合,所述发送模块,还用于向所述第一设备发送所述实体类型本体集合;和/或,所述处理模块,还用于获取已知对应的命令行是否对应有网络实体的多个样本命令行表达式,并采用所述多个样本命令行表达式,训练得到实体判别模型,所述发送模块,还用于向所述第一设备发送所述实体判别模型。
- 一种计算机设备,其特征在于,包括:处理器和存储器;所述存储器,用于存储计算机程序,所述计算机程序包括程序指令;所述处理器,用于调用所述计算机程序,实现如权利要求1至28任一所述的构建知识图谱的方法,或者,实现如权利要求29至32任一所述的构建知识图谱的方法。
- 一种构建知识图谱的系统,其特征在于,包括:第一设备和第二设备;所述第一设备包括如权利要求33至45任一所述的装置或者为如权利要求48所述的计算机设备,所述第二设备包括如权利要求46或47所述的装置或者为如权利要求48所述的计算机设备。
- 一种计算机存储介质,其特征在于,所述计算机存储介质上存储有指令,当所述指令被处理器执行时,实现如权利要求1至32任一所述的构建知识图谱的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP21834027.1A EP4163802A4 (en) | 2020-06-30 | 2021-06-28 | KNOWLEDGE GRAPH CONSTRUCTION METHOD, APPARATUS AND SYSTEM AND COMPUTER STORAGE MEDIUM |
US18/147,817 US20230142573A1 (en) | 2020-06-30 | 2022-12-29 | Method, apparatus, and system for constructing knowledge graph, and computer storage medium |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010613853.8 | 2020-06-30 | ||
CN202010613853.8A CN113868367A (zh) | 2020-06-30 | 2020-06-30 | 构建知识图谱的方法、装置及系统、计算机存储介质 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US18/147,817 Continuation US20230142573A1 (en) | 2020-06-30 | 2022-12-29 | Method, apparatus, and system for constructing knowledge graph, and computer storage medium |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022001924A1 true WO2022001924A1 (zh) | 2022-01-06 |
Family
ID=78981343
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2021/102651 WO2022001924A1 (zh) | 2020-06-30 | 2021-06-28 | 构建知识图谱的方法、装置及系统、计算机存储介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230142573A1 (zh) |
EP (1) | EP4163802A4 (zh) |
CN (1) | CN113868367A (zh) |
WO (1) | WO2022001924A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115665020A (zh) * | 2022-11-10 | 2023-01-31 | 广州市易鸿智能装备有限公司 | 通信解析方法、装置、设备和存储介质 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11552848B2 (en) * | 2020-04-13 | 2023-01-10 | Arista Networks, Inc. | System and method for managing a network device |
WO2024000582A1 (zh) * | 2022-07-01 | 2024-01-04 | 西门子股份公司 | 知识图谱的本体模型的构建方法、装置及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150095303A1 (en) * | 2013-09-27 | 2015-04-02 | Futurewei Technologies, Inc. | Knowledge Graph Generator Enabled by Diagonal Search |
CN108595449A (zh) * | 2017-11-23 | 2018-09-28 | 北京科东电力控制系统有限责任公司 | 调度自动化系统知识图谱的构建与应用方法 |
CN109829096A (zh) * | 2019-03-15 | 2019-05-31 | 北京金山数字娱乐科技有限公司 | 一种数据采集方法、装置、电子设备及存储介质 |
CN109885610A (zh) * | 2019-02-13 | 2019-06-14 | 北京百度网讯科技有限公司 | 一种结构化数据的抽取方法、装置、电子设备及存储介质 |
CN110569369A (zh) * | 2019-09-16 | 2019-12-13 | 神州数码融信软件有限公司 | 银行金融系统知识图谱的生成方法及装置、应用方法及装置 |
CN110825882A (zh) * | 2019-10-09 | 2020-02-21 | 西安交通大学 | 一种基于知识图谱的信息系统管理方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10700931B2 (en) * | 2014-08-17 | 2020-06-30 | Microsoft Technology Licensing, Llc | Network device configuration framework |
US10608879B2 (en) * | 2015-10-16 | 2020-03-31 | Dell Products L.P. | Validation using natural language processing |
US10679133B1 (en) * | 2019-06-07 | 2020-06-09 | Peritus.AI, Inc. | Constructing and utilizing a knowledge graph for information technology infrastructure |
-
2020
- 2020-06-30 CN CN202010613853.8A patent/CN113868367A/zh active Pending
-
2021
- 2021-06-28 WO PCT/CN2021/102651 patent/WO2022001924A1/zh unknown
- 2021-06-28 EP EP21834027.1A patent/EP4163802A4/en active Pending
-
2022
- 2022-12-29 US US18/147,817 patent/US20230142573A1/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150095303A1 (en) * | 2013-09-27 | 2015-04-02 | Futurewei Technologies, Inc. | Knowledge Graph Generator Enabled by Diagonal Search |
CN108595449A (zh) * | 2017-11-23 | 2018-09-28 | 北京科东电力控制系统有限责任公司 | 调度自动化系统知识图谱的构建与应用方法 |
CN109885610A (zh) * | 2019-02-13 | 2019-06-14 | 北京百度网讯科技有限公司 | 一种结构化数据的抽取方法、装置、电子设备及存储介质 |
CN109829096A (zh) * | 2019-03-15 | 2019-05-31 | 北京金山数字娱乐科技有限公司 | 一种数据采集方法、装置、电子设备及存储介质 |
CN110569369A (zh) * | 2019-09-16 | 2019-12-13 | 神州数码融信软件有限公司 | 银行金融系统知识图谱的生成方法及装置、应用方法及装置 |
CN110825882A (zh) * | 2019-10-09 | 2020-02-21 | 西安交通大学 | 一种基于知识图谱的信息系统管理方法 |
Non-Patent Citations (1)
Title |
---|
See also references of EP4163802A4 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115665020A (zh) * | 2022-11-10 | 2023-01-31 | 广州市易鸿智能装备有限公司 | 通信解析方法、装置、设备和存储介质 |
CN115665020B (zh) * | 2022-11-10 | 2023-04-28 | 广州市易鸿智能装备有限公司 | 通信解析方法、装置、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20230142573A1 (en) | 2023-05-11 |
EP4163802A4 (en) | 2023-12-06 |
CN113868367A (zh) | 2021-12-31 |
EP4163802A1 (en) | 2023-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022001924A1 (zh) | 构建知识图谱的方法、装置及系统、计算机存储介质 | |
US11625293B1 (en) | Intent driven root cause analysis | |
US20190286504A1 (en) | Graph-based root cause analysis | |
US10771285B2 (en) | Method and apparatus for mapping network data models | |
CN110710159B (zh) | 用于网络配置和故障排除的方法、系统、设备和介质 | |
US20160267384A1 (en) | Parallel processing of data by multiple semantic reasoning engines | |
US10027536B2 (en) | System and method for affinity-based network configuration | |
CN106664224B (zh) | 通信系统的元数据增强型库存管理的方法和系统 | |
CN110612702A (zh) | 针对不一致的意图规范检查 | |
WO2021184995A1 (zh) | 数据处理方法及数据标准管理系统 | |
US11886280B2 (en) | Return and replacement protocol (RRP) | |
US10719375B2 (en) | Systems and method for event parsing | |
CN110741602A (zh) | 响应于网络意图形式对等性失败的事件生成 | |
US10263852B2 (en) | Network data model mapping based on matching strength | |
WO2016074606A1 (en) | Method and apparatus for model-driven, affinity-based, network functions | |
CN113852476A (zh) | 确定异常事件关联对象的方法、装置及系统 | |
WO2021184367A1 (zh) | 基于度分布生成模型的社交网络图生成方法 | |
US20180196685A1 (en) | Key service for managing network components | |
WO2020038337A1 (zh) | 网络配置方法、装置及系统 | |
CN110995489B (zh) | 大数据平台服务器管理方法、装置、服务器及存储介质 | |
US20180196687A1 (en) | Adaptive data modeling | |
US20230239306A1 (en) | Modifying network relationships using a heterogenous network flows graph | |
NL2026759B1 (en) | Prioritizing configuration commands for a running configuration on a network device | |
CN112448915B (zh) | 配置报文的验证方法及装置、计算机存储介质 | |
US11855843B2 (en) | System and method for monitoring status of network components in a network configuration |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21834027 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2021834027 Country of ref document: EP Effective date: 20230105 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |