Network configuration processing method, device, equipment, medium and program product
By constructing a configuration relationship representation graph and using a neural network model to optimize network configuration processing, the problems of low efficiency and insufficient reliability in network configuration processing are solved, achieving more efficient and reliable network configuration management.
Patent Information
- Application Number
- CN202411181894.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-23
- Publication Date
- 2026-03-03
AI Technical Summary
In existing technologies, network configuration processing relies on manual methods, resulting in low efficiency and insufficient reliability.
A configuration relationship representation graph is constructed. By acquiring and updating the relationships between network devices, a neural network model is used to optimize the configuration processing flow, thereby improving the intuitiveness and accuracy of configuration processing.
It improves the efficiency and reliability of network configuration processing, and reduces the time and resource consumption of manual intervention.
Smart Images

Figure CN121603364A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of cloud technology, and in particular to a network configuration processing method, apparatus, device, medium, and program product. Background Technology
[0002] In a network system, one of the primary responsibilities of the cloud controller is to distribute specific configurations to various network devices. These configurations include Internet Protocol (IP) addresses, subnet masks, default gateways, and Domain Name System (DNS) servers. This configuration information is crucial for the normal operation of network devices, determining how they communicate with other devices on the network.
[0003] As business needs change, network configurations may require adjustments, or the relationships between different network configurations may need to be modified. These complex relationships exist within network configurations. For example, Virtual Machine (VM) configuration is the most basic configuration, determining its fundamental attributes such as the number of processors, memory size, and disk space. Virtual Private Cloud (VPC) configuration depends on VM configuration, defining the VPC's network environment, including IP address ranges, subnets, and routing tables. Similarly, Access Control List (ACL) configuration depends on VPC configuration, controlling traffic entering and leaving the VPC. These complex relationships mean that operations personnel must rely on their experience and memory to adjust network configurations through the cloud controller, or to adjust the relationships between different network configurations.
[0004] However, on the one hand, the current manual network configuration process requires a lot of time and resources, resulting in low configuration efficiency; on the other hand, because maintenance personnel need to rely on their own experience and memory, the reliability of configuration processing is low. Summary of the Invention
[0005] This application provides a network configuration processing method, apparatus, device, medium, and program product, which can improve the efficiency and reliability of network configuration processing.
[0006] In a first aspect, embodiments of this application provide a network configuration processing method, which is applied to a cloud controller. The method includes: obtaining the association relationship between the configurations of N network devices and the association relationship between the internal configurations of each network device; wherein N is a positive integer; generating a configuration association relationship representation diagram based on the association relationship between the configurations of N network devices and the association relationship between the internal configurations of each network device; obtaining a configuration update instruction; updating the configuration association relationship representation diagram based on the configuration update instruction; and executing the configuration update instruction based on the updated configuration association relationship representation diagram.
[0007] Secondly, embodiments of this application provide a network configuration processing apparatus, including: a first acquisition module, a generation module, a second acquisition module, an update module, and an execution module. The first acquisition module is used to acquire the association relationships between the configurations of N network devices and the association relationships between the internal configurations of each network device; where N is a positive integer. The generation module is used to generate a configuration association relationship representation diagram based on the association relationships between the configurations of the N network devices and the association relationships between the internal configurations of each network device. The second acquisition module is used to acquire a configuration update instruction. The update module is used to update the configuration association relationship representation diagram based on the configuration update instruction. The execution module is used to execute the configuration update instruction based on the updated configuration association relationship representation diagram.
[0008] In some implementations, the configuration update instruction is used to indicate the addition of a first configuration; the update module is specifically used to: generate a first node corresponding to the first configuration in response to the configuration update instruction; determine the insertion position of the first node; insert the first node into the configuration association diagram according to the insertion position of the first node; and establish connections between the first node and other nodes in the configuration association diagram.
[0009] In some implementations, the update module is specifically used to: receive a position configuration instruction; and, in response to the position configuration instruction, determine the insertion position of the first node.
[0010] In some implementations, the update module is specifically used to: determine the insertion position of the first node based on the association between the first configuration and the configurations of N network devices.
[0011] In some implementations, the update module is specifically used to: input the association between the first configuration and the configurations of N network devices into the first neural network model to obtain the insertion position of the first node.
[0012] In some implementations, the network configuration processing apparatus further includes a third acquisition module for acquiring the association between the first configuration and the configurations of N network devices.
[0013] In some implementations, the third acquisition module is specifically used to: receive the association between the first configuration and the configurations of N network devices.
[0014] In some implementations, the third acquisition module is specifically used to: input the first configuration and the configurations of N network devices into the second neural network model to obtain the association between the first configuration and the configurations of the N network devices.
[0015] In some implementations, the update module is specifically used to: receive connection configuration instructions; and in response to the connection configuration instructions, establish a configuration association between the first node and other nodes in the graph.
[0016] In some implementations, the update module is specifically used to: establish a connection between the first node and the configuration of N network devices, representing the connection between the first node and other nodes in the graph, based on the association between the first configuration and the configurations of N network devices.
[0017] In some implementations, the update module is specifically used to: determine the connection relationship between the first node and other nodes in the configuration association diagram based on the association relationship between the first configuration and the configurations of N network devices; and establish the connection between the first node and other nodes in the configuration association diagram based on the connection relationship between the first node and other nodes in the configuration association diagram.
[0018] In some implementations, the update module is specifically used to: input the association between the first configuration and the configurations of N network devices into the third neural network model to obtain the connection relationship between the first node and the configuration association representation graph and other nodes.
[0019] In some implementations, the configuration update instruction is used to instruct the deletion of the association between the second configuration and other configurations; the update module is specifically used to: determine the second node corresponding to the second configuration; in response to the configuration update instruction, determine the connection to be deleted between the second node and the configuration association representing other nodes in the graph; delete the connection to be deleted between the second node and the configuration association representing other nodes in the graph.
[0020] In some implementations, the configuration update instruction is used to indicate the modification of the association between the third configuration and other configurations; the update module is specifically used to: determine the third node corresponding to the third configuration; in response to the configuration update instruction, determine the connection to be deleted between the third node and other nodes in the configuration association diagram and the connection to be established between the third node and other nodes in the configuration association diagram; delete the connection to be deleted between the third node and other nodes in the configuration association diagram; and establish the connection to be established between the third node and other nodes in the configuration association diagram.
[0021] In some implementations, the first acquisition module is specifically used to: receive an association configuration instruction; and in response to the association configuration instruction, acquire the association relationships between the configurations of N network devices and the association relationships between the internal configurations of each network device.
[0022] In some implementations, the first acquisition module is specifically used to: input the configurations of N network devices into the fourth neural network model to obtain the correlation between the configurations of the N network devices and the correlation between the internal configurations of each network device.
[0023] Thirdly, an electronic device is provided, comprising: a processor and a memory for storing a computer program, the processor for calling and running the computer program stored in the memory, and performing the methods as described in the first aspect or its various implementations.
[0024] Fourthly, embodiments of this application provide a computer-readable storage medium for storing a computer program that, when run on a computer, causes the computer to perform the methods described in the first aspect or its various implementations.
[0025] Fifthly, embodiments of this application provide a computer program product, including a computer program / instructions, which, when run on a computer, cause the computer to perform the methods as described in the first aspect or its various implementations.
[0026] The technical solution provided in this application can construct a configuration relationship diagram, which is used to represent the relationship between the configurations of various network devices and the relationship between the internal configurations of each network device. Furthermore, network configuration processing can be performed based on the configuration relationship diagram. Since the configuration relationship diagram is relatively intuitive, the efficiency and reliability of network configuration processing can be improved. Attached Figure Description
[0027] Figure 1 This is a schematic diagram of a system architecture according to an embodiment of this application;
[0028] Figure 2 A flowchart illustrating a network configuration processing method provided in an embodiment of this application;
[0029] Figure 3 This is a schematic diagram of a configuration association diagram provided in an embodiment of this application;
[0030] Figure 4 A schematic diagram illustrating another configuration association relationship provided in an embodiment of this application;
[0031] Figure 5A schematic diagram illustrating another configuration association relationship provided in an embodiment of this application;
[0032] Figure 6 A schematic diagram illustrating yet another configuration association relationship representation provided in an embodiment of this application;
[0033] Figure 7 This is a schematic diagram of a configuration association diagram provided in an embodiment of this application;
[0034] Figure 8 A schematic diagram illustrating another configuration association relationship provided in an embodiment of this application;
[0035] Figure 9 A schematic diagram of a network configuration processing device 900 provided in an embodiment of this application;
[0036] Figure 10 This is a schematic block diagram of the electronic device 1000 provided in the embodiments of this application. Detailed Implementation
[0037] The technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention.
[0038] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this invention are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of the invention described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or server that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or devices.
[0039] In this application embodiment, the terms "module" or "unit" refer to a computer program or part of a computer program that has a predetermined function and works with other related parts to achieve a predetermined goal, and can be implemented wholly or partially using software, hardware (such as processing circuitry or memory), or a combination thereof. Similarly, a processor (or multiple processors or memory) can be used to implement one or more modules or units. Furthermore, each module or unit can be part of an overall module or unit that includes the functionality of that module or unit.
[0040] Before introducing the technical solution of this application, the relevant knowledge of the technical solution of this application will be explained below:
[0041] I. A Directed Acyclic Graph (DAG) is a special graph structure that satisfies two main conditions: directionality and acyclicity. Directionality means that the edges (or arcs) in the graph have a direction, pointing from one vertex to another. Acyclicity means that there are no cycles in the graph; that is, starting from any vertex and walking along a directed edge, it is impossible to return to the starting point.
[0042] II. A VM is a software-simulated computer running on physical hardware. It has its own operating system, applications, and data.
[0043] VM configuration typically includes: hardware resource configuration, operating system and software configuration, security and backup, performance optimization and testing.
[0044] Hardware resource configuration includes: processor, memory (random access memory, RAM), hard disk space, network adapter, virtual network, etc.
[0045] Operating system and software configuration include: applications, integrated services, etc.
[0046] Security and backup include: firewall, access control, updates and patches, regular backups, snapshots, and recovery.
[0047] Performance optimization and testing include: resource allocation, VM migration, and testing.
[0048] 3. A VPC is a private network environment simulated in a public cloud environment. It allows users to own and manage their own computing resources and services while maintaining network isolation and security.
[0049] VPC configuration typically includes: VPC creation and basic configuration, network component configuration, and advanced configuration.
[0050] The creation and basic configuration of a VPC includes: the configuration required to create a VPC, including: the VPC name, address (Region), and Internet Protocol version 4 (IPv4) / Internet Protocol version 6 (IPv6) network segment, etc.
[0051] The network configuration includes: subnet configuration, route table configuration, security group configuration, access control list (ACL) configuration, cloud router configuration, cloud VPN gateway configuration, and internal load balancer configuration.
[0052] Advanced configurations include: IPv6 support, network ACLs (Advanced Access Control Lists), flow logs, DNS resolution, etc.
[0053] IV. An Access Control List (ACL) is a set of packet filtering rules used to match and differentiate packets passing through a network device based on preset conditions, thereby achieving access control. ACLs can be applied to network device interfaces, routing protocols, services, and other aspects to achieve fine-grained control over network communication.
[0054] ACLs can be divided into several types based on their matching conditions and functions, mainly including:
[0055] Basic ACLs: Primarily based on matching the source IP address of data packets, suitable for simple access control scenarios. Basic ACL numbers typically range from 2000 to 2999.
[0056] Advanced ACLs can match data packets based on multiple conditions such as source IP address, destination IP address, source port, destination port, and protocol type, making them suitable for complex access control scenarios. The number range for advanced ACLs is typically 3000 to 3999.
[0057] Layer 2 ACLs match data packets based on their MAC addresses. However, since MAC addresses can be modified during network transmission (e.g., through NAT, VPN), the applicability of Layer 2 ACLs is relatively limited. Layer 2 ACL numbers typically range from 4000 to 4999.
[0058] The ACL configuration can include: the ACL number or name, the specific rules defined in the ACL, and each rule consists of matching conditions and actions. The rule number is used to identify different rules, the matching conditions are used to define the conditions that the data packet should meet, and the actions are used to specify the actions (allow or deny) that the data packet should perform when the conditions are met.
[0059] The technical problems to be solved, the inventive concept and the system architecture of the embodiments of this application will be described below:
[0060] As mentioned above, on the one hand, the current manual network configuration process requires a lot of time and resources, resulting in low configuration efficiency; on the other hand, because maintenance personnel need to rely on their own experience and memory, the reliability of configuration processing is low.
[0061] To address the aforementioned technical issues, embodiments of this application propose constructing a configuration association diagram. This diagram represents the relationships between the configurations of various network devices and the relationships between the internal configurations of each network device. Furthermore, network configuration processing can be performed based on this configuration association diagram. Since the diagram is relatively intuitive, it can improve the efficiency and reliability of network configuration processing.
[0062] In some possible implementations, the system architecture of embodiments of this application is as follows: Figure 1 As shown.
[0063] Figure 1 This is a schematic diagram of a system architecture according to an embodiment of this application. The system architecture includes a cloud controller 11, a network device 12, and an operation and maintenance platform 13. The cloud controller 11 and the network device 12 can be directly or indirectly connected via wired or wireless communication, and the cloud controller 11 and the operation and maintenance platform 13 can also be directly or indirectly connected via wired or wireless communication. This embodiment of the application does not limit the connection methods between these devices.
[0064] In some possible implementations, operations and maintenance personnel can communicate with the cloud controller 11 through the operations and maintenance platform 13, including: the operations and maintenance personnel can configure various networks through the operations and maintenance platform 13 and send these network configurations to the cloud controller 11 through the operations and maintenance platform 13, so that the cloud controller 11 can subsequently issue corresponding network configurations to various network devices 12, etc.
[0065] In some possible implementations, the operation and maintenance platform 13 can be a tablet computer, laptop computer, desktop computer, mobile phone, virtual reality (VR) device, augmented reality (AR) device, smartwatch, smart bracelet, etc., but is not limited to these.
[0066] In some implementations, the operation and maintenance platform 13 is often equipped with a display device, which is also called a monitor, display screen, touch screen, etc. The touch screen is also called a touch screen, touch panel, etc.
[0067] In some implementations, the cloud controller 11 may be a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content delivery networks (CDNs), and big data and artificial intelligence platforms, but is not limited to these.
[0068] In some implementations, the cloud controller 11 may be a software-defined networking (SDN) controller, but is not limited to this.
[0069] It should be understood that in the embodiments of this application, the cloud controller is also referred to as a network controller or controller, etc., and the embodiments of this application do not limit this.
[0070] In some implementations, network device 12 can be a host, switch, gateway device, etc. The gateway device can be a network security gateway, such as a router, a gateway device with a firewall, etc., but is not limited to these.
[0071] In this embodiment, the cloud controller 11 can obtain the association relationships between the configurations of N network devices 12 and the association relationships between the internal configurations of each network device 12; where N is a positive integer; based on the association relationships between the configurations of the N network devices 12 and the association relationships between the internal configurations of each network device 12, a configuration association relationship representation diagram is generated; a configuration update instruction is obtained; and based on the configuration update instruction, the configuration association relationship representation diagram is updated; and based on the updated configuration association relationship representation diagram, the configuration update instruction is executed.
[0072] It should be noted that, Figure 1 This is merely a schematic diagram of a system architecture provided in this application embodiment; the system architecture involved in this application embodiment is not limited to... Figure 1 The system architecture shown, for example, Figure 1 The number of network devices is two, but in reality, the number of network devices can be one or more.
[0073] The embodiments of this application will be described in detail below:
[0074] Figure 2 A flowchart illustrating a network configuration processing method provided in this application embodiment, wherein the method is applied to a cloud controller, the cloud controller may be... Figure 1 The cloud controller 11 in the example is not limited to this, such as Figure 2 As shown, the method may include:
[0075] S210: Obtain the relationships between the configurations of N network devices and the relationships between the internal configurations of each network device; where N is a positive integer;
[0076] In some possible implementations, prior to S210, the network configuration processing method also includes: the cloud controller obtaining the configurations of N network devices.
[0077] In some implementation methods, the operations and maintenance platform can obtain the configuration distribution operation, generate a configuration distribution instruction in response to the configuration distribution operation, and send the configuration distribution instruction to the cloud controller.
[0078] It should be understood that a configuration distribution operation refers to the operation used to distribute configurations to N network devices. Correspondingly, a configuration distribution command refers to the command used to distribute configurations to N network devices. This configuration distribution command can include: commands for configuring N network devices.
[0079] For example, operations and maintenance personnel can issue the following configurations through the configuration user interface (UI) provided by the operations and maintenance platform: For network device 1, the configurations include: VM-1 configuration, VM-2 configuration, VPC-1 configuration, and ACL-1 configuration; For network device 2, the configurations include: VM-3 configuration, VM-4 configuration, VPC-2 configuration, and ACL-2 and ACL-3 configurations; For network device 3, the configurations include: VM-5 configuration, VM-6 configuration, VPC-3 configuration, and ACL-4 and ACL-5 configurations.
[0080] It should be understood that each of the N network devices can have at least one configuration. Based on this, the following provides an illustrative explanation of the relationships between the configurations of the N network devices and the relationships between the internal configurations of each network device:
[0081] For example, network device 1's configuration includes: VM-1 configuration, VM-2 configuration, VPC-1 configuration, and ACL-1 configuration; network device 2's configuration includes: VM-3 configuration, VM-4 configuration, VPC-2 configuration, and ACL-2 and ACL-3 configurations; network device 3's configuration includes: VM-5 configuration, VM-6 configuration, VPC-3 configuration, and ACL-4 and ACL-5 configurations. Specifically, VPC-1 configuration depends on VM-1, VM-2, and VM-3 configurations; ACL-1 configuration depends on VPC-1 configuration; VPC-2 configuration depends on VM-3 and VM-6 configurations; ACL-2 and ACL-3 configurations depend on VPC-2 configuration; VPC-3 configuration depends on VM-5 and VM-6 configurations; and ACL-4 and ACL-5 configurations depend on VPC-3 configuration.
[0082] In the embodiments of this application, the cloud controller can implement S210 in any of the following possible ways, but is not limited thereto:
[0083] In some implementations, S210 may include:
[0084] S210-1A: Receive association configuration instructions;
[0085] S210-2A: In response to the association configuration command, obtain the association between the configurations of N network devices and the association between the internal configurations of each network device.
[0086] In some implementation methods, the operations and maintenance platform can obtain the relationship configuration operation, generate the relationship configuration instruction in response to the relationship configuration operation, and send the relationship configuration instruction to the cloud controller.
[0087] It should be understood that relationship configuration operations refer to operations used to configure the relationships between the configurations of N network devices, as well as the relationships between the internal configurations of each network device. Correspondingly, relationship configuration instructions refer to instructions used to configure the relationships between the configurations of N network devices, as well as the relationships between the internal configurations of each network device. These relationship configuration instructions can include: the relationships between the configurations of the N network devices, and the relationships between the internal configurations of each network device.
[0088] For example, operations and maintenance personnel can configure the following relationships on the relationship configuration UI provided by the operations and maintenance platform: VPC-1 configuration depends on VM-1 configuration, VM-2 configuration, and VM-3 configuration; ACL-1 configuration depends on VPC-1 configuration; VPC-2 configuration depends on VM-3 configuration and VM-configuration 4; ACL-2 configuration and ACL-3 configuration depend on VPC-2 configuration; VPC-3 configuration depends on VM-5 configuration and VM-configuration 6; ACL-4 configuration and ACL-5 configuration depend on VPC-3 configuration. Based on this, the operations and maintenance platform can send these relationships to the cloud controller through relationship configuration commands.
[0089] In some implementations, S210 may include:
[0090] S210-1B: Input the configurations of N network devices into the fourth neural network model to obtain the correlation between the configurations of the N network devices and the correlation between the internal configurations of each network device.
[0091] In some implementations, the fourth neural network model can be trained using training samples. Each training sample can include: the configurations of multiple network devices, the actual relationships between these network device configurations, and the actual relationships between the internal configurations of each network device configuration. The actual relationships between the network device configurations and the actual relationships between the internal configurations of each network device configuration can serve as sample labels. The training device can employ supervised training. For example, it can input the configurations of multiple network devices into the fourth neural network model and output the predicted relationships between the network device configurations and the predicted relationships between the internal configurations of each network device configuration. Further, the training device can calculate a loss based on the actual and predicted relationships included in all training samples, and adjust the parameters of the fourth neural network model based on this loss until the training iterations reach a preset number or the loss reaches its minimum value, at which point training stops.
[0092] In some implementations, the training device may use any of the following loss functions when training the fourth neural network model, but is not limited to: L1 loss function, mean squared error (MSE) loss function, cross-entropy loss function, etc.
[0093] Based on this, once the fourth neural network model is trained, the cloud controller can input the configurations of N network devices into the fourth neural network model to obtain the correlation between the configurations of the N network devices and the correlation between the internal configurations of each network device.
[0094] S220: Generate a configuration relationship diagram based on the relationships between the configurations of N network devices and the relationships between the internal configurations of each network device.
[0095] It should be understood that a configuration relationship diagram refers to a diagram used to represent the relationships between the configurations of N network devices and the relationships between the internal configurations of each network device.
[0096] In some implementations, the configuration relationship representation graph can be a DAG graph.
[0097] For example, Figure 3 This is a schematic diagram of a configuration association diagram provided in an embodiment of this application, such as... Figure 3 As shown, each network device and each configuration corresponds to a node, and the configuration relationship diagram is a DAG graph.
[0098] In the embodiments of this application, the cloud controller can implement S220 in any of the following possible ways, but is not limited thereto:
[0099] In some implementations, S220 may include:
[0100] S220-1A: Create nodes corresponding to N network devices and nodes corresponding to each configuration of each network device;
[0101] It should be understood that for N network devices, the corresponding node is used to represent that network device, for example, Figure 3 In the node: Network device 1 represents network device 1. For each configuration of each network device, its corresponding node is used to represent that configuration, for example, Figure 3 The node in the list: VM-1 indicates the VM-1 configuration.
[0102] S220-2A: Based on the basic configuration of N network devices, create connections between N network devices and their basic configuration;
[0103] It should be understood that for each of the N network devices, the basic configuration of that network device refers to the configuration closest to that network device. In other words, if the configuration relationship diagram is understood as a relationship tree, the basic configuration of that network device refers to the configuration at the lowest level of that network device. For example, ... Figure 3 As shown, for network device 1, the basic configuration of network device 1 includes: VM-1 configuration and VM-2 configuration; for network device 2, the basic configuration of network device 2 includes: VM-4 configuration; for network device 3, the basic configuration of network device 3 includes: VM-5 configuration and VM-6 configuration.
[0104] It should be understood that for each of the N network devices, the connection between the network device and its basic configuration indicates that the basic configuration is the basic configuration of the network device, or that the basic configuration depends on the network device, or that there is a dependency or association relationship between the basic configuration and the network device.
[0105] S220-3A: Based on the relationships between the configurations of N network devices and the relationships between the internal configurations of each network device, create connections between nodes corresponding to each configuration.
[0106] For example, such as Figure 3As shown, assuming VPC-1 configuration depends on both VM-1 and VM-2 configurations, then the node corresponding to VPC-1 configuration has an edge connected to the node corresponding to both VM-1 and VM-2 configurations. Similarly, assuming ACL-1 configuration depends on VPC-1, then the node corresponding to ACL-1 configuration has an edge connected to the node corresponding to VPC-1 configuration. Likewise, assuming VPC-2 configuration depends on VM-4 configuration, then the node corresponding to VPC-2 configuration has an edge connected to the node corresponding to VM-4 configuration. Furthermore, assuming ACL-2 and ACL-3 configurations depend on VPC-2, then the nodes corresponding to ACL-2 and ACL-3 configurations have edges connected to the node corresponding to VPC-2 configuration. Finally, assuming VPC-3 configuration depends on both VM-5 and VM-6 configurations, then the node corresponding to VPC-3 configuration has an edge connected to the node corresponding to both VM-5 and VM-6 configurations. Assuming that ACL-4 and ACL-5 configurations depend on VPC-3, then there is an edge between the node corresponding to ACL-4 configuration and the node corresponding to ACL-5 configuration and the node corresponding to VPC-3 configuration.
[0107] It should be understood that any connection between two configurations indicates that there is an association or dependency between the two configurations.
[0108] In some implementations, S220 may include:
[0109] S220-1B: Input the relationships between the configurations of N network devices and the relationships between the internal configurations of each network device into the fifth neural network model to obtain a configuration relationship representation graph.
[0110] In some implementations, the fifth neural network model can be trained using training samples. Each training sample can include: the relationships between the configurations of multiple network devices and the relationships between the internal configurations of each network device, as well as an actual configuration relationship representation graph, which can serve as sample labels. The training device can employ supervised training; for example, it can input the relationships between the configurations of multiple network devices and the relationships between the internal configurations of each network device into the fifth neural network model and output a predicted configuration relationship representation graph. Further, the training device can calculate a loss based on the actual and predicted configuration relationship representation graphs included in all training samples, and adjust the parameters of the fifth neural network model based on this loss until the training iterations reach a preset number or the loss reaches its minimum value, at which point training stops.
[0111] In some implementations, the training device may use any of the following loss functions when training the fifth neural network model, but is not limited to: L1 loss function, MSE loss function, cross-entropy loss function, etc.
[0112] Based on this, once the fifth neural network model is trained, the cloud controller can input the relationships between the configurations of N network devices and the relationships between the internal configurations of each network device into the fifth neural network model to obtain a configuration relationship representation graph.
[0113] S230: Obtain configuration update command;
[0114] In some implementations, the configuration update instruction is used to indicate the addition of a first configuration; for example, the configuration update instruction is used to indicate the addition of a VM-3 configuration.
[0115] In some implementations, the configuration update instruction is used to instruct the deletion of the association between the second configuration and other configurations. For example, the configuration update instruction is used to instruct the deletion of the association between the VM-5 configuration and the VPC-3 configuration.
[0116] In some implementations, the configuration update directive is used to instruct the modification of the relationship between the third configuration and other configurations. For example, the configuration update directive is used to instruct the modification of the dependency of the VPC-3 configuration on the VM-5 configuration to the dependency of the VPC-2 configuration on the VM-5 configuration.
[0117] In some implementations, the configuration update instruction is used to indicate the addition of an association between a fourth configuration and other configurations. For example, the configuration update instruction is used to indicate the addition of an association between the VM-2 configuration and the VPC-2 configuration.
[0118] In some implementations, the configuration update command is used to instruct the deletion of the fifth configuration; for example, the configuration update command is used to instruct the deletion of the VM-2 configuration.
[0119] In some implementations, the operations and maintenance platform can obtain configuration update operations, generate configuration update instructions in response to the configuration update operations, and send the configuration update instructions to the cloud controller.
[0120] It should be understood that configuration update operations refer to operations used to update configurations, including any of the following: operations to add a first configuration, operations to delete the association between a second configuration and other configurations, operations to modify the association between a third configuration and other configurations, operations to add the association between a fourth configuration and other configurations, and operations to delete a fifth configuration.
[0121] S240: Update the configuration relationship diagram based on the configuration update command;
[0122] In some possible implementations, if the configuration update instruction is used to indicate the addition of a first configuration, then S240 may include:
[0123] S240-1A: In response to a configuration update command, generate the first node corresponding to the first configuration;
[0124] S240-2A: Determine the insertion position of the first node;
[0125] In some implementations, the cloud controller can receive a location configuration instruction and, in response to the location configuration instruction, determine the insertion position of the first node.
[0126] It should be understood that the position configuration instruction is used to indicate the insertion position of the first node, for example, Figure 4 A schematic diagram illustrating another configuration association relationship provided in this application embodiment, such as... Figure 4 As shown, assuming a new VM-3 configuration is to be added, the location configuration command can be used to indicate that the VM-3 configuration is inserted below the node corresponding to network device 2.
[0127] In some implementations, the operations and maintenance platform can obtain location configuration operations, generate location configuration instructions in response to the location configuration operations, and send the location configuration instructions to the cloud controller.
[0128] It should be understood that the position configuration operation refers to the operation used to configure the insertion position of the first node.
[0129] In some implementations, the cloud controller can determine the insertion position of the first node based on the association between the first configuration and the configurations of N network devices.
[0130] For example, assuming the configuration of the VM-3 to be added depends on network device 2, the cloud controller can determine that the VM-3 is inserted below the node corresponding to network device 2.
[0131] In some implementations, determining the insertion position of the first node based on the association between the first configuration and the configurations of N network devices includes: inputting the association between the first configuration and the configurations of N network devices into a first neural network model to obtain the insertion position of the first node.
[0132] In some implementations, the first neural network model can be trained using training samples. Each training sample may include: the association between a certain configuration and the configurations of at least one other network device, and the actual insertion position of the node corresponding to that configuration, where the actual insertion position can serve as the sample label. The training device can employ supervised training; for example, it can input the association between a certain configuration and the configurations of at least one other network device into the first neural network model and output the predicted insertion position of the node corresponding to that configuration. Further, the training device can calculate a loss based on the actual insertion positions and predicted insertion positions of the nodes corresponding to that configuration included in all training samples, and adjust the parameters of the first neural network model based on this loss until the training iterations reach a preset number or the loss reaches its minimum value, at which point training stops.
[0133] In some implementations, the training device may use any of the following loss functions when training the first neural network model, but is not limited to: L1 loss function, MSE loss function, cross-entropy loss function, etc.
[0134] Based on this, after the first neural network model is trained, the cloud controller can input the association between the first configuration and the configurations of N network devices into the first neural network model to obtain the insertion position of the first node.
[0135] In some implementations, the network configuration processing method further includes: the cloud controller obtaining the association between the first configuration and the configurations of N network devices.
[0136] In some implementations, the cloud controller can receive the association between a first configuration and the configurations of N network devices.
[0137] In some implementations, the operations and maintenance platform can issue the association between the initial configuration and the configurations of N network devices to the cloud controller.
[0138] In some implementations, the cloud controller can input the first configuration and the configurations of N network devices into a second neural network model to obtain the association between the first configuration and the configurations of the N network devices.
[0139] In some implementations, the second neural network model can be trained using training samples. Each training sample may include: the configuration of a certain configuration and the configurations of at least one other network device, and the actual association between the configuration and the configurations of at least one other network device, where the actual association can serve as a sample label. The training device can employ supervised training; for example, it can input the configuration of a certain configuration and the configurations of at least one other network device into the second neural network model and output the predicted association between the configuration and the configurations of at least one other network device. Further, the training device can calculate a loss based on the actual association between the configuration and the configurations of at least one other network device included in all training samples and the predicted association between the configuration and the configurations of at least one other network device, and adjust the parameters of the second neural network model based on this loss until the training iterations reach a preset number or the loss reaches its minimum value, at which point training stops.
[0140] In some implementations, the training device may use any of the following loss functions when training the second neural network model, but is not limited to: L1 loss function, MSE loss function, cross-entropy loss function, etc.
[0141] Based on this, once the second neural network model is trained, the cloud controller can input the first configuration and the configurations of N network devices into the second neural network model to obtain the correlation between the first configuration and the configurations of the N network devices.
[0142] S240-3A: Insert the first node into the configuration association diagram according to the insertion position of the first node;
[0143] S240-4A: Establish the association between the first node and the configuration to represent the connection between other nodes in the graph.
[0144] In some implementations, S240-4A may include:
[0145] S240-4A-1a: Receive connection configuration instructions;
[0146] It should be understood that this connection configuration instruction refers to the instruction used to configure the connection between the first node and other nodes in the graph, representing the configuration association relationship.
[0147] In some implementations, the operations and maintenance platform can obtain connection configuration operations, generate connection configuration instructions in response to the connection configuration operations, and send the connection configuration instructions to the cloud controller.
[0148] It should be understood that this connection configuration operation refers to the operation used to configure the first node and the connection between it and other nodes in the graph. For example, operations personnel can configure the first node and the connection between it and other nodes in the graph on the connection configuration UI of the operations platform.
[0149] S240-4A-2a: In response to the connection configuration command, establish the first node and the configuration association to represent the connection between other nodes in the diagram.
[0150] For example, suppose the original configuration relationship diagram is as follows: Figure 3 As shown, the first node is the VM-3 configuration. Assume the connection configuration command received by the cloud controller instructs the establishment of a connection between the node corresponding to the VM-3 configuration and the node corresponding to network device 2, and also instructs the establishment of a connection between the node corresponding to the VM-3 configuration and the node corresponding to the VPC-1 configuration. Based on this, the cloud controller can establish a connection between the node corresponding to the VM-3 configuration and the node corresponding to network device 2, and also establish a connection between the node corresponding to the VM-3 configuration and the node corresponding to the VPC-1 configuration, resulting in the configuration association diagram shown below. Figure 4 As shown.
[0151] In some implementations, S240-4A may include:
[0152] S240-4A-1b: Based on the association between the first configuration and the configurations of N network devices, establish the association between the first node and the configuration to represent the connection between other nodes in the diagram.
[0153] It should be understood that the method for obtaining the association between the first configuration and the configurations of the N network devices can be referred to above, and will not be repeated in this embodiment.
[0154] In some possible implementations, based on the association between the first configuration and the configurations of N network devices, the connection between the first node and the configuration association representation graph is established, including: determining the connection relationship between the first node and the configuration association representation graph based on the association between the first configuration and the configurations of N network devices; and establishing the connection between the first node and the configuration association representation graph based on the connection relationship between the first node and the configuration association representation graph.
[0155] In some implementation methods, the connection relationships between the first node and the configurations of N network devices are determined based on the association between the first configuration and the configurations of the first node. This includes: the cloud controller receiving the connection relationships between the first node and the configuration, which are determined by the operations and maintenance personnel based on the association between the first configuration and the configurations of the N network devices. For example, assuming the operations and maintenance personnel analyze that the VM-3 configuration depends on network device 1, and the VPC-1 configuration depends on the VM-3 configuration, then the operations and maintenance personnel can indicate to the cloud controller through the operations and maintenance platform that the VM-3 configuration depends on network device 1, and the VPC-1 configuration depends on the VM-3 configuration.
[0156] In some possible implementations, the connection relationship between the first node and the configuration of N network devices is determined based on the association relationship between the first configuration and the configuration of N network devices. This includes: inputting the association relationship between the first configuration and the configuration of N network devices into a third neural network model to obtain the connection relationship between the first node and the configuration association relationship of other nodes in the graph.
[0157] In some implementations, the third neural network model can be trained using training samples. Each training sample may include: the association between a certain configuration and the configurations of at least one other network device, where the association between the node corresponding to the configuration represents the actual connection relationship between other nodes in the graph, and this actual connection relationship can serve as a sample label. The training device can employ supervised training. For example, it can input the association between a certain configuration and the configurations of at least one other network device into the third neural network model and output the predicted connection relationship between the node corresponding to the configuration and other nodes in the graph. Further, the training device can calculate a loss based on the actual connection relationship between the node corresponding to the configuration and other nodes in the graph, and the predicted connection relationship, included in all training samples. Based on this loss, the parameters of the third neural network model are adjusted until the training iterations reach a preset number or the loss reaches its minimum value, at which point training stops.
[0158] In some implementations, the training device may use any of the following loss functions when training the third neural network model, but is not limited to: L1 loss function, MSE loss function, cross-entropy loss function, etc.
[0159] Based on this, after the third neural network model is trained, the cloud controller can input the association between the first configuration and the configurations of N network devices into the third neural network model to obtain the connection relationship between the first node and the configuration association relationship, representing the connection relationship between other nodes in the graph.
[0160] In some implementations, if the configuration update instruction is used to instruct the deletion of the association between the second configuration and other configurations, then S240 may include:
[0161] S240-1B: Determine the second node corresponding to the second configuration;
[0162] In some implementations, the cloud controller can store the mapping between each configuration and its corresponding node. For example, Table 1 illustrates the mapping between configurations and nodes:
[0163] Table 1
[0164]
[0165] Based on this, the cloud controller can determine the second node corresponding to the second configuration by looking up a table. For example, if the second configuration is VM-1, then its corresponding node is VM-1.
[0166] S240-2B: In response to a configuration update command, determine the configuration association relationship between the second node and other nodes in the graph to be deleted;
[0167] In some implementations, the cloud controller can respond to a configuration update command by traversing the configuration association representation graph to determine the connection to be deleted between the second node and other nodes in the configuration association representation graph.
[0168] For example, suppose the configuration update command is used to instruct deletion. Figure 3 The configuration relationship shown represents the relationship between the VM-2 configuration and the VPC-1 configuration in the diagram. The cloud controller can then traverse this configuration relationship diagram to determine whether the connection between the node corresponding to the VM-2 configuration and the node corresponding to the VPC-1 configuration is a connection to be deleted.
[0169] S240-3B: Deleting the second node and its configuration association indicates the connection to be deleted between other nodes in the graph.
[0170] For example, Figure 5 This is a schematic diagram of another configuration association diagram provided in the embodiments of this application. Assume the original configuration association diagram is as follows: Figure 3 As shown, assume the configuration update command is used to instruct deletion. Figure 3The configuration relationships shown represent the association between the VM-2 configuration and the VPC-1 configuration in the diagram. Therefore, the cloud controller can delete the connection between the node corresponding to the VM-2 configuration and the node corresponding to the VPC-1 configuration, resulting in the following: Figure 5 The diagram shows the configuration relationships.
[0171] In some implementations, if the configuration update instruction is used to indicate a modification to the association between a third configuration and other configurations, then S240 may include:
[0172] S240-1C: Determine the third node corresponding to the third configuration;
[0173] In some implementations, the cloud controller can store the mapping between each configuration and its corresponding node. For example, Table 1 exemplarily illustrates the mapping between configurations and nodes. Based on this mapping, the cloud controller can determine the third node corresponding to the third configuration. For instance, assuming the third configuration is VM-1, then its corresponding node is VM-1.
[0174] S240-2C: In response to a configuration update command, determine the connection to be deleted between the third node and other nodes in the configuration association diagram, and the connection to be established between the third node and other nodes in the configuration association diagram.
[0175] In some implementations, the cloud controller can respond to a configuration update command by traversing a configuration association representation graph to determine the connections to be deleted between the third node and other nodes in the configuration association representation graph, as well as the connections to be established between the third node and other nodes in the configuration association representation graph.
[0176] For example, suppose the configuration update command is used to instruct deletion. Figure 4 The configuration association shown represents the association between the VM-5 configuration and the VPC-3 configuration in the diagram, and indicates the establishment of an association between the VM-5 configuration and the VPC-2 configuration. The cloud controller can then traverse the configuration association diagram to determine whether the connection between the node corresponding to the VM-5 configuration and the node corresponding to the VPC-3 configuration is a connection to be deleted, and whether the connection between the node corresponding to the VM-5 configuration and the node corresponding to the VPC-2 configuration is a connection to be established.
[0177] S240-3C: Deleting the third node and its configuration association indicates the connection to be deleted between other nodes in the graph;
[0178] S240-4C: Establishing a third node and configuring its association represents the connection to be established between other nodes in the graph.
[0179] For example, Figure 6This is a schematic diagram of another configuration association diagram provided in the embodiments of this application. Assume the original configuration association diagram is as follows: Figure 4 As shown, assume the configuration update command is used to instruct deletion. Figure 4 The configuration relationships shown represent the association between the VM-5 configuration and the VPC-3 configuration in the diagram, and indicate the establishment of an association between the VM-5 configuration and the VPC-2 configuration. The cloud controller can then traverse the configuration relationship diagram, delete the connection between the node corresponding to the VM-5 configuration and the node corresponding to the VPC-3 configuration, and establish a connection between the node corresponding to the VM-5 configuration and the node corresponding to the VPC-2 configuration, resulting in the following... Figure 6 The diagram shows the configuration relationships.
[0180] In some implementations, if the configuration update instruction is used to indicate adding an association between a fourth configuration and other configurations, then S240 may include:
[0181] S240-1C: Determine the fourth node corresponding to the fourth configuration and the nodes corresponding to the other configurations;
[0182] In some implementations, the cloud controller can store the mapping relationship between each configuration and its corresponding node. Based on this, the cloud controller can determine the fourth node corresponding to the fourth configuration and the nodes corresponding to the other configurations by looking up a table. For example, assuming the fourth configuration is the VM-5 configuration and the other configurations are the VPC-2 configurations, then the node corresponding to the VM-5 configuration is VM-5, and the node corresponding to the VPC-2 configuration is VPC-2.
[0183] S240-2C: In response to the configuration update command, determine the connection to be established between the fourth node and the nodes corresponding to the other configurations;
[0184] In some implementations, the cloud controller can respond to a configuration update command by traversing a configuration association representation graph to determine the connections to be established between the fourth node and the nodes corresponding to the other configurations.
[0185] For example, suppose the configuration update command is used to indicate an increase Figure 3 The configuration association shown in the diagram represents the relationship between the VM-5 configuration and the VPC-2 configuration. The cloud controller can then traverse this configuration association diagram to determine whether the connection between the node corresponding to the VM-5 configuration and the node corresponding to the VPC-2 configuration is a connection to be established.
[0186] S240-3C: Establish the connection to be established between the third node and the nodes corresponding to the other configurations.
[0187] For example, Figure 7This is a schematic diagram of a configuration association diagram provided in an embodiment of this application. Assume the original configuration association diagram is as follows: Figure 3 As shown, assume that the configuration update command is used to indicate the addition of... Figure 3 The configuration relationships shown in the diagram represent the association between the VM-5 configuration and the VPC-2 configuration. The cloud controller can then establish connections between the nodes corresponding to the VM-5 configuration and the nodes corresponding to the VPC-2 configuration, as shown below. Figure 7 The diagram shows the configuration relationships.
[0188] In some implementations, if the configuration update instruction is used to instruct the deletion of the fifth configuration, then S240 may include:
[0189] S240-1D: Determine the fifth node corresponding to the fifth configuration;
[0190] In some implementations, the cloud controller can store the mapping between each configuration and its corresponding node. For example, Table 1 exemplarily illustrates the mapping between configurations and nodes. Based on this mapping, the cloud controller can determine the fifth node corresponding to the fifth configuration. For instance, assuming the fifth configuration is VM-5, then its corresponding node is VM-5.
[0191] S240-2D: In response to a configuration update command, determine the configuration association relationship between the fifth node and other nodes in the graph to be deleted;
[0192] In some implementations, the cloud controller can respond to a configuration update command by traversing the configuration association representation graph to determine the connection to be deleted between the fifth node and other nodes in the configuration association representation graph.
[0193] For example, suppose the configuration update command is used to instruct deletion. Figure 3 The configuration relationship shown represents the VM-5 configuration in the diagram. The cloud controller can then traverse this configuration relationship diagram to determine all connections of the VM-5 configuration, including: the connection between the node corresponding to the VM-5 configuration and the node corresponding to network device 3, and the connection between the node corresponding to the VM-5 configuration and the node corresponding to the VPC-3 configuration. These two connections are the connections to be deleted.
[0194] S240-3D: Deleting the fifth node and its configuration association represents the connection to be deleted between other nodes in the graph.
[0195] For example, Figure 8 This is a schematic diagram of another configuration association diagram provided in an embodiment of this application. Assume the original configuration association diagram is as follows: Figure 3 As shown, assume the configuration update command is used to instruct deletion. Figure 3The configuration relationships shown represent the VM-5 configuration in the diagram. The cloud controller can then delete the connection between the node corresponding to the VM-5 configuration and the node corresponding to network device 3, as well as the connection between the node corresponding to the VM-5 configuration and the node corresponding to the VPC-3 configuration, resulting in the following: Figure 8 The diagram shows the configuration relationships.
[0196] S250: Execute configuration update instructions based on the updated configuration relationship diagram.
[0197] In some implementation methods, if the configuration update instruction is used to indicate the addition of a first configuration, the cloud controller can issue the first configuration to the network device corresponding to the first configuration based on the updated configuration association diagram, obtain the updated configuration related to the first configuration, issue an update instruction to the network device corresponding to the updated configuration, the update instruction carrying the updated configuration, so that the network device deletes the original configuration related to the first configuration and obtains the updated configuration.
[0198] For example, suppose Figure 3 The configuration relationship diagram shown is the original configuration relationship diagram. Figure 4 This is the updated configuration relationship diagram, based on which the cloud controller can... Figure 4 The configuration association shown indicates that the diagram sends the configuration of VM-3 to network device 2 and obtains the updated configuration of VPC-1, because... Figure 4 The VPC-1 configuration depends on the VM-3 configuration. Furthermore, the cloud controller can issue an update command to network device 1, which carries the updated configuration of VPC-1, so that network device 1 can delete the original configuration of VPC-1 and obtain the updated configuration of VPC-1.
[0199] In some implementations, if the configuration update instruction is used to indicate the deletion of the association between the second configuration and other configurations, the cloud controller can obtain the updated configuration of the other configurations (i.e., the original configuration) based on the updated configuration association representation diagram, and issue an update instruction to the network device corresponding to the updated configuration. The update instruction carries the updated configuration so that the network device deletes the original configuration and obtains the updated configuration.
[0200] For example, suppose Figure 3 The configuration relationship diagram shown is the original configuration relationship diagram. Figure 5 This is the updated configuration relationship diagram, based on which the cloud controller can... Figure 5The configuration relationship diagram shown represents obtaining the updated configuration of VPC-1. Furthermore, the cloud controller can issue an update command to network device 1, which carries the updated configuration of VPC-1, so that network device 1 deletes the original configuration of VPC-1 and obtains the updated configuration of VPC-1.
[0201] In some implementations, if the configuration update instruction is used to indicate a modification to the association between the third configuration and other configurations, the cloud controller can update other original configurations that depend on the third configuration based on the updated configuration association diagram, obtaining the updated configuration. It then issues a first update instruction to the network device corresponding to this configuration, carrying the updated configuration, so that the network device deletes the original configuration and obtains the updated configuration. Simultaneously, the cloud controller updates other new original configurations that depend on the third configuration, obtaining the updated configuration, and issues a second update instruction to the network device corresponding to this configuration, carrying the updated configuration, so that the network device deletes the original configuration and obtains the updated configuration.
[0202] For example, suppose Figure 4 The configuration relationship diagram shown is the original configuration relationship diagram. Figure 6 This is the updated configuration relationship diagram, based on which the cloud controller can... Figure 6 The configuration relationship diagram shown illustrates how to obtain the updated configuration of VPC-3. Further, the cloud controller can issue a first update command to network device 1, carrying the updated configuration of VPC-3, so that network device 1 deletes the original configuration of VPC-3 and obtains the updated configuration. Simultaneously, the cloud controller can... Figure 6 The configuration relationship diagram shown represents obtaining the updated configuration of VPC-2. Furthermore, the cloud controller can issue a second update command to network device 2, which carries the updated configuration of VPC-2, so that network device 2 can delete the original configuration of VPC-2 and obtain the updated configuration of VPC-2.
[0203] In some implementations, if the configuration update instruction is used to indicate the addition of an association between the fourth configuration and other configurations, the cloud controller can update other original configurations that depend on the fourth configuration based on the updated configuration association representation diagram, obtain the updated configuration, and issue an update instruction to the network device corresponding to the configuration. The update instruction carries the updated configuration so that the network device deletes the original configuration and obtains the updated configuration.
[0204] For example, suppose Figure 3The configuration relationship diagram shown is the original configuration relationship diagram. Figure 7 This is the updated configuration relationship diagram, based on which the cloud controller can... Figure 7 The configuration relationship diagram shown represents obtaining the updated configuration of VPC-2. Furthermore, the cloud controller can issue an update command to network device 2, which carries the updated configuration of VPC-2, so that network device 2 can delete the original configuration of VPC-2 and obtain the updated configuration of VPC-2.
[0205] In some implementations, if the configuration update command is used to instruct the deletion of the fifth configuration, the cloud controller can update other original configurations that depend on the fifth configuration based on the updated configuration association diagram, obtain the updated configuration, and issue an update command to the network device corresponding to that configuration. This update command carries the updated configuration, enabling the network device to delete the original configuration and obtain the updated configuration. Simultaneously, the cloud controller can delete the fifth configuration.
[0206] For example, suppose Figure 3 The configuration relationship diagram shown is the original configuration relationship diagram. Figure 8 This is the updated configuration relationship diagram, based on which the cloud controller can... Figure 8 The configuration relationship diagram shown represents obtaining the updated configuration of VPC-3. Furthermore, the cloud controller can issue an update command to network device 3, which carries the updated configuration of VPC-3, so that network device 3 can delete the original configuration of VPC-3 and obtain the updated configuration of VPC-3. At the same time, the cloud controller can delete the VM-5 configuration.
[0207] This application provides a network configuration processing method, which includes: a cloud controller acquiring the association relationships between the configurations of N network devices and the association relationships between the internal configurations of each network device; where N is a positive integer; generating a configuration association relationship representation diagram based on the association relationships between the configurations of the N network devices and the association relationships between the internal configurations of each network device; acquiring a configuration update instruction; updating the configuration association relationship representation diagram based on the configuration update instruction; and executing the configuration update instruction based on the updated configuration association relationship representation diagram. Because this configuration association relationship representation diagram is relatively intuitive, it can improve the efficiency and reliability of network configuration processing.
[0208] Furthermore, high network configuration processing efficiency means a faster response to changes in business needs, thereby improving the flexibility of the network system. High network configuration processing reliability means avoiding network problems caused by configuration errors, ensuring the stability and maintainability of the network system.
[0209] Furthermore, an intuitive configuration relationship diagram can effectively determine the execution order between configurations, which is especially important for handling configuration tasks with dependencies. This ensures that tasks are executed in the correct order and avoids potential problems.
[0210] Meanwhile, the configuration relationship representation graph has good scalability, allowing for easy addition, deletion, and modification of nodes and edges. This means that the network system can be easily expanded to meet ever-growing business needs.
[0211] In summary, by introducing a configuration relationship representation graph to manage network configuration, we can achieve clearer dependencies, more efficient configuration management, simpler configuration migration, easier topology sorting, and better scalability. These advantages will help improve the overall performance and stability of the network system, meeting the ever-changing business needs of modern network environments.
[0212] The preferred embodiments of this application have been described in detail above with reference to the accompanying drawings. However, this application is not limited to the specific details of the above embodiments. Within the scope of the technical concept of this application, various simple modifications can be made to the technical solutions of this application, and these simple modifications all fall within the protection scope of this application. For example, the various specific technical features described in the above specific embodiments can be combined in any suitable manner without contradiction. To avoid unnecessary repetition, this application will not describe the various possible combinations separately. Furthermore, various different embodiments of this application can also be arbitrarily combined, as long as they do not violate the spirit of this application, they should also be considered as the content disclosed in this application.
[0213] It should also be understood that, in the various method embodiments of this application, the order of the above-mentioned processes does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.
[0214] The methods provided in the embodiments of this application have been described above. The network configuration processing apparatus provided in the embodiments of this application will be described below.
[0215] Figure 9 This is a schematic diagram of a network configuration processing device 900 provided in an embodiment of this application, as shown below. Figure 9As shown, the network configuration processing device 900 includes: a first acquisition module 910, a generation module 920, a second acquisition module 930, an update module 940, and an execution module 950. The first acquisition module 910 is used to acquire the association relationships between the configurations of N network devices and the association relationships between the internal configurations of each network device; where N is a positive integer. The generation module 920 is used to generate a configuration association relationship representation diagram based on the association relationships between the configurations of the N network devices and the association relationships between the internal configurations of each network device. The second acquisition module 930 is used to acquire configuration update instructions. The update module 940 is used to update the configuration association relationship representation diagram based on the configuration update instructions. The execution module 950 is used to execute the configuration update instructions based on the updated configuration association relationship representation diagram.
[0216] In some implementations, the configuration update instruction is used to indicate the addition of a first configuration; the update module 940 is specifically used to: generate a first node corresponding to the first configuration in response to the configuration update instruction; determine the insertion position of the first node; insert the first node into the configuration association diagram according to the insertion position of the first node; and establish a connection between the first node and other nodes in the configuration association diagram.
[0217] In some implementations, the update module 940 is specifically used to: receive a position configuration instruction; and, in response to the position configuration instruction, determine the insertion position of the first node.
[0218] In some implementations, the update module 940 is specifically used to: determine the insertion position of the first node based on the association between the first configuration and the configurations of N network devices.
[0219] In some implementations, the update module 940 is specifically used to: input the association between the first configuration and the configurations of N network devices into the first neural network model to obtain the insertion position of the first node.
[0220] In some implementations, the network configuration processing apparatus 900 further includes a third acquisition module 960 for acquiring the association between the first configuration and the configurations of N network devices.
[0221] In some implementations, the third acquisition module 960 is specifically used to: receive the association between the first configuration and the configurations of N network devices.
[0222] In some implementations, the third acquisition module 960 is specifically used to: input the first configuration and the configurations of N network devices into the second neural network model to obtain the association between the first configuration and the configurations of the N network devices.
[0223] In some implementations, the update module 940 is specifically used to: receive connection configuration instructions; and in response to the connection configuration instructions, establish a configuration association between the first node and other nodes in the graph.
[0224] In some implementations, the update module 940 is specifically used to: establish a connection between the first node and the configuration association representing the connection between other nodes in the graph, based on the association between the first configuration and the configurations of N network devices.
[0225] In some implementations, the update module 940 is specifically used to: determine the connection relationship between the first node and other nodes in the configuration association diagram based on the association relationship between the first configuration and the configurations of N network devices; and establish the connection between the first node and other nodes in the configuration association diagram based on the connection relationship between the first node and other nodes in the configuration association diagram.
[0226] In some implementations, the update module 940 is specifically used to: input the association relationship between the first configuration and the configurations of N network devices into the third neural network model to obtain the connection relationship between the first node and the configuration association relationship representation graph and other nodes.
[0227] In some implementations, the configuration update instruction is used to indicate the deletion of the association between the second configuration and other configurations; the update module 940 is specifically used to: determine the second node corresponding to the second configuration; in response to the configuration update instruction, determine the connection to be deleted between the second node and the configuration association representing other nodes in the graph; delete the connection to be deleted between the second node and the configuration association representing other nodes in the graph.
[0228] In some implementations, the configuration update instruction is used to indicate the modification of the association between the third configuration and other configurations; the update module 940 is specifically used to: determine the third node corresponding to the third configuration; in response to the configuration update instruction, determine the connection to be deleted between the third node and other nodes in the configuration association diagram and the connection to be established between the third node and other nodes in the configuration association diagram; delete the connection to be deleted between the third node and other nodes in the configuration association diagram; and establish the connection to be established between the third node and other nodes in the configuration association diagram.
[0229] In some implementations, the first acquisition module 910 is specifically used to: receive an association configuration instruction; and in response to the association configuration instruction, acquire the association relationships between the configurations of N network devices and the association relationships between the internal configurations of each network device.
[0230] In some implementations, the first acquisition module 910 is specifically used to: input the configurations of N network devices into the fourth neural network model to obtain the correlation between the configurations of the N network devices and the correlation between the internal configurations of each network device.
[0231] It should be understood that the device embodiments and method embodiments can correspond to each other, and similar descriptions can be referred to the method embodiments. To avoid repetition, further details will not be provided here. Specifically, Figure 9 The device 900 shown can perform Figure 2 The corresponding method embodiments, and the foregoing and other operations and / or functions of each module in the device 900 are respectively for implementing Figure 2 For the sake of brevity, the corresponding processes in each method are not described in detail here.
[0232] The apparatus 900 of this application embodiment has been described above from the perspective of functional modules in conjunction with the accompanying drawings. It should be understood that this functional module can be implemented in hardware, in software instructions, or in a combination of hardware and software modules. Specifically, the steps of the method embodiments in this application can be completed by integrated logic circuits in the processor's hardware and / or by software instructions. The steps of the method disclosed in this application embodiment can be directly manifested as execution by a hardware decoding processor, or by a combination of hardware and software modules in the decoding processor. Optionally, the software module can be located in a mature storage medium in the art, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, etc. This storage medium is located in memory, and the processor reads information from the memory and, in conjunction with its hardware, completes the steps in the above method embodiments.
[0233] Figure 10 This is a schematic block diagram of the electronic device 1000 provided in an embodiment of this application. Figure 10 As shown, the electronic device 1000 may include:
[0234] The system includes a memory 1010 and a processor 1020. The memory 1010 stores a computer program 1030 and transfers the computer program 1030 to the processor 1020. In other words, the processor 1020 can retrieve and run the computer program 1030 from the memory 1010 to implement the methods described in the embodiments of this application.
[0235] For example, the processor 1020 can be used to execute the steps in the above method according to the instructions in the computer program 1030.
[0236] In some embodiments of this application, the processor 1020 may include, but is not limited to:
[0237] General-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc.
[0238] In some embodiments of this application, the memory 1010 includes, but is not limited to:
[0239] Volatile memory and / or non-volatile memory. Non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. Volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as Static RAM (SRAM), Dynamic RAM (DRAM), Synchronous DRAM (SDRAM), Double Data Rate SDRAM (DDR SDRAM), Enhanced Synchronous DRAM (ESDRAM), Synchronous Link DRAM (SLDRAM), and Direct Rambus RAM (DR RAM).
[0240] In some embodiments of this application, the computer program 1030 may be divided into one or more modules, which are stored in the memory 1010 and executed by the processor 1020 to complete the method provided in this application. The one or more modules may be a series of computer program instruction segments capable of performing specific functions, which describe the execution process of the computer program 1030 in the electronic device.
[0241] like Figure 10 As shown, the electronic device 1000 may further include:
[0242] Transceiver 1040, which can be connected to processor 1020 or memory 1010.
[0243] The processor 1020 can control the transceiver 1040 to communicate with other devices; specifically, it can send information or data to other devices or receive information or data sent by other devices. The transceiver 1040 may include a transmitter and a receiver. The transceiver 1040 may further include antennas, and the number of antennas may be one or more.
[0244] It should be understood that the various components in the electronic device 1000 are connected through a bus system, which includes a data bus, a power bus, a control bus, and a status signal bus.
[0245] According to one aspect of this application, a computer storage medium is provided that stores a computer program thereon, which, when executed by a computer, enables the computer to perform the methods of the above-described method embodiments. Alternatively, embodiments of this application also provide a computer program product containing instructions that, when executed by a computer, cause the computer to perform the methods of the above-described method embodiments.
[0246] According to another aspect of this application, a computer program product or computer program is provided, comprising computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the method described in the above-described method embodiments.
[0247] In other words, when implemented using software, it can be implemented wholly or partially in the form of a computer program product. This computer program product includes one or more computer instructions. When these computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., digital video disc (DVD)), or a semiconductor medium (e.g., solid-state disk (SSD)).
[0248] Those skilled in the art will recognize that the modules and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0249] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of modules is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple modules or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or modules may be electrical, mechanical, or other forms.
[0250] The modules described as separate components may or may not be physically separate. The components shown as modules may or may not be physical modules; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to implement the solution of this embodiment according to actual needs. For example, the functional modules in the various embodiments of this application may be integrated into one processing module, or each module may exist physically separately, or two or more modules may be integrated into one module.
[0251] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A network configuration processing method, characterized in that, The method is applied to a cloud controller, and the method includes: Obtain the relationships between the configurations of N network devices and the relationships between the internal configurations of each network device; where N is a positive integer; Based on the relationships between the configurations of the N network devices and the relationships between the internal configurations of each network device, a configuration relationship representation diagram is generated. Obtain the configuration update instruction; and update the configuration association representation graph based on the configuration update instruction; Based on the updated configuration association diagram, the configuration update instruction is executed.
2. The method according to claim 1, characterized in that, The configuration update instruction is used to indicate the addition of a first configuration; the step of updating the configuration association representation diagram based on the configuration update instruction includes: In response to the configuration update command, a first node corresponding to the first configuration is generated; Determine the insertion position of the first node; Insert the first node into the configuration association diagram according to the insertion position of the first node; Establishing an association between the first node and the configuration represents the connection between other nodes in the graph.
3. The method according to claim 2, characterized in that, Determining the insertion position of the first node includes: Receive location configuration instructions; In response to the location configuration instruction, the insertion position of the first node is determined.
4. The method according to claim 2, characterized in that, Determining the insertion position of the first node includes: The insertion position of the first node is determined based on the association between the first configuration and the configurations of the N network devices.
5. The method according to claim 4, characterized in that, Determining the insertion position of the first node based on the association between the first configuration and the configurations of the N network devices includes: The association between the first configuration and the configurations of the N network devices is input into the first neural network model to obtain the insertion position of the first node.
6. The method according to claim 4, characterized in that, Also includes: Obtain the association between the first configuration and the configurations of the N network devices.
7. The method according to claim 6, characterized in that, The step of obtaining the association between the first configuration and the configurations of the N network devices includes: Receive the association between the first configuration and the configurations of the N network devices.
8. The method according to claim 6, characterized in that, The step of obtaining the association between the first configuration and the configurations of the N network devices includes: The first configuration and the configurations of the N network devices are input into the second neural network model to obtain the association between the first configuration and the configurations of the N network devices.
9. The method according to claim 1, characterized in that, The configuration update instruction is used to instruct the deletion of the association between the second configuration and other configurations; the step of updating the configuration association representation diagram based on the configuration update instruction includes: Determine the second node corresponding to the second configuration; In response to the configuration update command, the configuration association relationship between the second node and other nodes in the graph is determined to represent the connection to be deleted. Deleting the association between the second node and the configuration indicates the connection to be deleted between other nodes in the graph.
10. The method according to claim 1, characterized in that, The configuration update instruction is used to indicate the modification of the association relationship between the third configuration and other configurations; the step of updating the configuration association representation diagram based on the configuration update instruction includes: Determine the third node corresponding to the third configuration; In response to the configuration update instruction, it is determined that the third node represents the connection to be deleted between other nodes in the configuration association diagram and the connection to be established between the third node and other nodes in the configuration association diagram; Deleting the association between the third node and the configuration indicates the connection to be deleted between other nodes in the graph. Establishing the association between the third node and the configuration indicates the connection to be established between other nodes in the graph.
11. The method according to any one of claims 1-10, characterized in that, The process of obtaining the relationships between the configurations of N network devices and the relationships between the internal configurations of each network device includes: Receive association configuration instructions; In response to the association configuration instruction, the association relationships between the configurations of the N network devices and the association relationships between the internal configurations of each network device are obtained.
12. The method according to any one of claims 1-10, characterized in that, The process of obtaining the relationships between the configurations of N network devices and the relationships between the internal configurations of each network device includes: The configurations of the N network devices are input into the fourth neural network model to obtain the correlation between the configurations of the N network devices and the correlation between the internal configurations of each network device.
13. A network configuration processing device, characterized in that, include: The first acquisition module is used to acquire the association relationships between the configurations of N network devices and the association relationships between the internal configurations of each network device; where N is a positive integer; The generation module is used to generate a configuration relationship representation diagram based on the relationship between the configurations of the N network devices and the relationship between the internal configurations of each network device. The second acquisition module is used to acquire configuration update commands; The update module is used to update the configuration association representation diagram based on the configuration update instruction; The execution module is used to execute the configuration update instruction based on the updated configuration association representation graph.
14. An electronic device, characterized in that, include: A processor and a memory, the memory being used to store a computer program, the processor being used to invoke and run the computer program stored in the memory to perform the method of any one of claims 1 to 11.
15. A computer-readable storage medium, characterized in that, Used to store computer programs that, when run on a computer, cause the computer to perform the method as described in any one of claims 1 to 11.
16. A computer program product comprising a computer program / instructions, characterized in that, When the computer program is run on a computer, it causes the computer to perform the method as described in any one of claims 1 to 11.