Method for creating mirror image point at network node and related device

By creating mirror points in network nodes, obtaining network topology, determining traffic quotas and troubleshooting scores, selecting target node groups and creating mirror points, the problem of difficulty in determining specific fault nodes in the existing technology is solved, and the fault location capability is improved.

CN120110892APending Publication Date: 2025-06-06HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311654017.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-12-04
Publication Date
2025-06-06

AI Technical Summary

Technical Problem

The existing method of creating mirror points in network nodes can only determine whether the network node directly or indirectly connects to the key network devices has failed, and it is difficult to determine the specific network node that has failed.

Method used

By obtaining the network topology of the target network, determining the traffic quota based on the total probe traffic amount, obtaining the mirror traffic value and troubleshooting score of the candidate node, selecting the target node group with the maximum troubleshooting score under the traffic quota, and creating a mirror point in each node of the group.

Benefits of technology

Improves the fault location capability of network equipment with high troubleshooting value, and can select high troubleshooting value network nodes from the target network and create mirror points on them.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120110892A_ABST
    Figure CN120110892A_ABST
Patent Text Reader

Abstract

According to the method for creating the mirror image point at the network node, the target node group with the high troubleshooting score can be selected under the total flow of the probe according to the troubleshooting score of the network node, and the fault positioning capability of the network equipment with the high troubleshooting value is improved. The method comprises the following steps: obtaining a network topology structure of a target network, a traffic limit of the network topology structure, a mirror image traffic value of a candidate node in the network topology structure and a troubleshooting score of the candidate node in the network topology structure; determining the maximum troubleshooting score of the network topology structure under the traffic limit of the network topology structure according to the mirror image traffic value of the candidate node, the traffic limit of the network topology structure and the troubleshooting score of the candidate node; and selecting a target node group corresponding to the maximum troubleshooting score of the network topology structure, and creating a mirror image point at each node of the target node group. The invention further provides a computing device, computing equipment, a computer storage medium and a computer program product which can implement the method.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer networks, and in particular to a method and related devices for creating a mirror point in a network node. Background Art

[0002] A probe is a network traffic processing tool that collects, analyzes, and extracts information from network traffic.

[0003] The existing method of creating a mirror point in a network node is roughly as follows: a probe is connected to a key network device of a data center network, and a mirror point is created in the key network device (such as a core switch) of the data center network.

[0004] However, this can only determine that a network node directly or indirectly connected to a key network device has failed, but it is difficult to determine which network node has failed. Summary of the invention

[0005] The present application provides a method for creating a mirror point in a network node, which can create a mirror point in other network nodes other than key network devices, and can select a target node group with the highest troubleshooting score under the total amount of probe traffic according to the troubleshooting score of the network node, thereby improving the fault location capability of network devices with high troubleshooting value. The present application also provides a computing device, a computing device, a computer storage medium, and a computer program product capable of implementing the above method.

[0006] A first aspect provides a method for creating a mirror point in a network node, the method comprising: after obtaining the network topology of the target network, determining the traffic quota of the network topology according to the total probe traffic, obtaining the mirror traffic value of the candidate node in the network topology and the troubleshooting score of the candidate node in the network topology, and then determining the maximum troubleshooting score of the network topology under the traffic quota of the network topology according to the mirror traffic value of the candidate node, the traffic quota of the network topology and the troubleshooting score of the candidate node, selecting a target node group corresponding to the maximum troubleshooting score of the network topology from all the candidate nodes of the network topology, and then creating a mirror point at each node in the target node group.

[0007] The network topology structure is an undirected graph or a tree, and the candidate nodes are network nodes other than preset mirror nodes in the network topology structure.

[0008] In this way, network nodes with high troubleshooting value can be selected from the target network, and mirror points can be created on the network nodes with high troubleshooting value, thereby improving the fault location capability of the nodes with high troubleshooting value.

[0009] In some possible implementations, an undirected graph of the target network is obtained, and the undirected graph is divided into multiple trees; the traffic quota of the tree is determined according to the total number of network nodes of the undirected graph, the total number of network nodes of the tree, and the total amount of probe traffic. Optionally, the product of the traffic quota of the tree and the total number of network nodes of the undirected graph is equal to the product of the total number of network nodes of the tree and the total amount of probe traffic. In this way, the undirected graph can be divided into multiple trees, and then the maximum troubleshooting scores of the multiple trees can be calculated in parallel. The target node of the corresponding tree can be determined according to the maximum troubleshooting score of the tree, thereby improving the efficiency of determining the target node.

[0010] In some possible implementations, splitting an undirected graph into multiple trees includes: iteratively executing the above steps A to C until the undirected graph does not include a preset mirror node; iteratively executing steps D to F until the undirected graph has no network nodes. Among them, step A includes selecting a bottom mirror node as a root node from the mirror nodes of the undirected graph; step B includes generating a tree with the bottom mirror node as the root node; step C includes removing the tree with the bottom mirror node as the root node from the undirected graph; step D includes randomly selecting a top node as the root node from the remaining network nodes in the undirected graph; step E includes generating a tree with the top node as the root node; step F includes removing the tree with the top node as the root node from the undirected graph. This provides a specific method for splitting an undirected graph into a breadth-first tree.

[0011] In some possible implementations, m candidate nodes of a network topology structure are sorted; n traffic quotas and m node groups are obtained; for each traffic quota, the maximum troubleshooting score of the first node group is determined when the mirror traffic value of the first node group is less than or equal to the traffic quota; the jth node group is selected from the remaining m-1 node groups in ascending order; for each traffic quota, the maximum troubleshooting score of the j-1th node group is used as the first troubleshooting score when the mirror traffic value of the j-1th node group is less than or equal to the traffic quota, the maximum troubleshooting score of the j-1th node group is used as the second troubleshooting score when the mirror traffic value of the j-1th node group is less than or equal to the traffic quota minus the mirror traffic value of the jth candidate node, and the maximum troubleshooting score of the jth node group is determined to be the maximum value of the first troubleshooting score and the second troubleshooting score when the mirror traffic value of the jth node group is less than or equal to the traffic quota; and the maximum troubleshooting score of the network topology structure is determined to be equal to the maximum troubleshooting score of the mth node group when the mirror traffic value of the mth node group is less than or equal to the maximum traffic quota. In this way, the maximum troubleshooting score of the network topology under the traffic quota of the network topology can be dynamically planned. Among them, the maximum traffic quota among n traffic quotas is equal to the traffic quota of the network topology structure, and the jth node group includes the first j candidate nodes, and j is a positive integer variable less than or equal to m.

[0012] In some possible implementations, selecting a target node group corresponding to the maximum troubleshooting score of the network topology structure from all candidate nodes of the network topology structure includes: setting an initial value of j to m; when a first troubleshooting score corresponding to the jth node group is greater than a second troubleshooting score corresponding to the jth node group, determining that the jth candidate node does not belong to the target node group; when the first troubleshooting score corresponding to the jth node group is less than or equal to the second troubleshooting score corresponding to the jth node group, determining that the jth candidate node belongs to the target node group; when j is greater than 1, determining that the jth candidate node belongs to the target node group according to the jth node group. The maximum value of the first troubleshooting score corresponding to the jth node group and the second troubleshooting score corresponding to the jth node group is used to obtain the first troubleshooting score of the j-1th node group and the second troubleshooting score of the j-1th node group; j is updated to j-1, triggering the execution of the steps of determining that the jth candidate node does not belong to the target node group when the first troubleshooting score corresponding to the jth node group is greater than the second troubleshooting score corresponding to the jth node group; and determining that the jth candidate node belongs to the target node group when the first troubleshooting score corresponding to the jth node group is less than or equal to the second troubleshooting score corresponding to the jth node group. This provides a feasible solution for finding the target node group based on the maximum troubleshooting score of the network topology.

[0013] In some possible implementations, the service quality score of the service transmitted by the candidate mirror port is obtained, and the troubleshooting score of the candidate node is determined as the weighted sum of the service quality scores of the services transmitted by all candidate mirror ports in the candidate node. The higher the service quality score of the service transmitted by the network port, the higher the value of the network port, and the higher the troubleshooting value, otherwise the lower the troubleshooting value, and the service quality score of the service transmitted by the network port is used as a quantitative indicator, which can effectively measure the troubleshooting value of the network node.

[0014] In some possible implementations, the service level of the service transmitted by the candidate mirror port is obtained; the troubleshooting score of the candidate mirror port corresponding to the service level is determined; and the troubleshooting score of the candidate node is determined as the weighted sum of the troubleshooting scores of all candidate mirror ports in the candidate node. In the corresponding relationship between the service level and the troubleshooting score of the candidate mirror port, the service level is positively correlated with the troubleshooting score of the candidate mirror port. The higher the service level agreement score of the service, the higher the value of the service and the higher the troubleshooting value. Otherwise, the lower the troubleshooting value. Using the service level agreement score of the service as a quantitative indicator can effectively measure the troubleshooting value of the network node.

[0015] In some possible implementations, obtaining the troubleshooting score of the candidate node in the network topology structure includes: obtaining the usage time of the candidate node; and determining the troubleshooting score of the candidate node corresponding to the usage time of the candidate node according to the corresponding relationship between the usage time and the troubleshooting score. In the corresponding relationship between the usage time and the troubleshooting score, the usage time of the candidate node is positively correlated with the troubleshooting score of the candidate node. The longer the usage time of the network node, the higher its failure probability, otherwise the lower the failure probability. Using the usage time of the network node as a quantitative indicator can effectively measure the failure probability of the network node.

[0016] In some possible implementations, obtaining the troubleshooting score of the candidate node in the network topology structure includes: obtaining the reliability score of the candidate node; and determining the troubleshooting score of the candidate node corresponding to the reliability score of the candidate node according to the corresponding relationship between the reliability score and the troubleshooting score. Among them, in the corresponding relationship between the reliability score and the troubleshooting score, the reliability score of the candidate node is positively correlated with the troubleshooting score of the candidate node. The higher the reliability score of the network node, the higher the troubleshooting value, otherwise the lower the troubleshooting value, and using the reliability score of the network node as a quantitative indicator can effectively measure the troubleshooting value of the network node.

[0017] In some possible implementations, obtaining a troubleshooting score of a candidate node in a network topology structure includes: obtaining a troubleshooting feature value set of the candidate node, normalizing the troubleshooting feature values ​​of the troubleshooting feature value set; and determining that the troubleshooting score of the candidate node is equal to the weighted sum of the normalized troubleshooting feature values. The troubleshooting feature value set includes at least two of the service quality score of the service transmitted by the candidate mirror port, the service level of the service transmitted by the candidate mirror port, the usage time of the candidate node, or the reliability score of the candidate node. In this way, the troubleshooting value of a network node can be quantified through multi-dimensional features. Compared with single-dimensional features, multi-dimensional features can more comprehensively reflect the troubleshooting value of a network node.

[0018] In some other possible implementations, obtaining the troubleshooting score of the candidate node in the network topology structure includes: after determining the feature node set from the undirected graph, determining the first feature node subset and the second feature node subset from the feature node set, and searching the upper-layer mirror node and the lower-layer feature node of the candidate node in the second feature node subset; when the second feature node subset includes the upper-layer mirror node of the candidate node, calculating the first path average value according to the path length from the candidate node to the target upper-layer mirror node and the path length from the candidate node to all lower-layer feature nodes, and using the first path average value as the troubleshooting score of the candidate node; when the second feature node subset does not include the upper-layer mirror node of the candidate node, determining the same-layer mirror node of the candidate node in the second feature node subset, calculating the second path average value according to the path length from the candidate node to each same-layer mirror node and the path length from the candidate node to all lower-layer feature nodes, and using the second path average value as the troubleshooting score of the candidate node. Among them, the characteristic nodes in the characteristic node set include mirror nodes and / or rack switches, the first characteristic node subset includes multiple characteristic nodes of the same layer connected to the same mirror node, the second characteristic node subset is obtained by removing the first characteristic node subset from the characteristic node set, and the target upper-layer mirror node is the bottom-layer mirror node in the upper-layer mirror node of the candidate node. In this way, the troubleshooting score can be calculated according to the network node's level in the network and the distance between the network node and the characteristic node. The larger the troubleshooting score, the farther the network node is from the characteristic node, and the position lacks a mirror node or a rack switch, so it has a high troubleshooting value. The smaller the troubleshooting score, the closer the network node is to the characteristic node, and the position does not lack a mirror node or a rack switch, so it has a low troubleshooting value.

[0019] The second aspect provides a computing device, which includes an acquisition module, a scoring module, a selection module and a creation module. The acquisition module is used to acquire the network topology structure of the target network, determine the traffic quota of the network topology structure according to the total probe traffic; acquire the mirror traffic value of the candidate node in the network topology structure, and the scoring module is used to acquire the troubleshooting score of the candidate node in the network topology structure; the selection module is used to determine the maximum troubleshooting score of the network topology structure under the traffic quota of the network topology structure according to the mirror traffic value of the candidate node, the traffic quota of the network topology structure and the troubleshooting score of the candidate node; select the target node group corresponding to the maximum troubleshooting score of the network topology structure from all the candidate nodes of the network topology structure; the creation module is used to create a mirror point at each node of the target node group.

[0020] In some possible implementations, the acquisition module is specifically used to obtain an undirected graph of the target network, divide the undirected graph into multiple trees, and determine the traffic quota of the tree based on the total number of network nodes in the undirected graph, the total number of network nodes in the tree, and the total amount of probe traffic.

[0021] In some possible implementations, the acquisition module is specifically used to iteratively execute the above steps A to C until the undirected graph does not include the preset mirror node; and iteratively execute steps D to F until the undirected graph has no network nodes.

[0022] In some possible implementations, the selection module is specifically used to sort m candidate nodes of the network topology structure; obtain n traffic quotas and m node groups; for each traffic quota, determine the maximum troubleshooting score of the first node group when the mirror traffic value of the first node group is less than or equal to the traffic quota; select the jth node group from the remaining m-1 node groups in ascending order; for each traffic quota, use the maximum troubleshooting score of the j-1th node group when the mirror traffic value of the j-1th node group is less than or equal to the traffic quota as the first troubleshooting score, use the maximum troubleshooting score of the j-1th node group when the mirror traffic value of the j-1th node group is less than or equal to the traffic quota minus the mirror traffic value of the jth candidate node as the second troubleshooting score, determine that the maximum troubleshooting score of the jth node group when the mirror traffic value of the jth node group is less than or equal to the traffic quota is the maximum value of the first troubleshooting score and the second troubleshooting score, and determine that the maximum troubleshooting score of the network topology structure is equal to the maximum troubleshooting score of the mth node group when the mirror traffic value of the mth node group is less than or equal to the maximum traffic quota.

[0023] In some possible implementations, the selection module is specifically used to set the initial value of j to m; when the first troubleshooting score corresponding to the jth node group is greater than the second troubleshooting score corresponding to the jth node group, determine that the jth candidate node does not belong to the target node group; when the first troubleshooting score corresponding to the jth node group is less than or equal to the second troubleshooting score corresponding to the jth node group, determine that the jth candidate node belongs to the target node group; when j is greater than 1, obtain the first troubleshooting score of the j-1th node group and the second troubleshooting score of the j-1th node group according to the maximum value of the first troubleshooting score corresponding to the jth node group and the second troubleshooting score corresponding to the jth node group; update j to j-1, triggering the selection module to execute the steps of determining that when the first troubleshooting score corresponding to the jth node group is greater than the second troubleshooting score corresponding to the jth node group, the jth candidate node does not belong to the target node group; when the first troubleshooting score corresponding to the jth node group is less than or equal to the second troubleshooting score corresponding to the jth node group, determine that the jth candidate node belongs to the target node group.

[0024] In some possible implementations, the scoring module is specifically used to obtain a quality of service score for services transmitted by a candidate mirror port; and determine the troubleshooting score of a candidate node as a weighted sum of the quality of service scores for services transmitted by all candidate mirror ports in the candidate node.

[0025] In some possible implementations, the scoring module is specifically used to obtain the service level of the business transmitted by the candidate mirror port in the candidate node; determine the troubleshooting score of the candidate mirror port corresponding to the service level; determine the troubleshooting score of the candidate node as the weighted sum of the troubleshooting scores of all candidate mirror ports in the candidate node.

[0026] In some possible implementations, the scoring module is specifically used to obtain the usage time of the candidate node; and determine the troubleshooting score of the candidate node corresponding to the usage time of the candidate node according to the corresponding relationship between the usage time and the troubleshooting score.

[0027] In some possible implementations, the scoring module is specifically used to obtain the reliability score of the candidate node; and determine the troubleshooting score of the candidate node corresponding to the reliability score of the candidate node according to the corresponding relationship between the reliability score and the troubleshooting score.

[0028] In some possible implementations, the scoring module is specifically used to obtain a troubleshooting feature value set of the candidate node; normalize the troubleshooting feature values ​​of the troubleshooting feature value set; and determine that the troubleshooting score of the candidate node is equal to the weighted sum of the normalized troubleshooting feature values.

[0029] In some possible implementations, the scoring module is specifically used to determine a feature node set from an undirected graph, determine a first feature node subset and a second feature node subset from the feature node set, and search for an upper-level mirror node and a lower-level feature node of the candidate node in the second feature node subset; when the second feature node subset includes the upper-level mirror node of the candidate node, calculate a first path average value according to the minimum value of the path lengths from the candidate node to each upper-level mirror node and the path lengths from the candidate node to all lower-level feature nodes, and use the first path average value as the troubleshooting score of the candidate node; when the second feature node subset does not include the upper-level mirror node of the candidate node, determine the same-level mirror node of the candidate node in the second feature node subset, calculate a second path average value according to the minimum value of the path lengths from the candidate node to each same-level mirror node and the path lengths from the candidate node to all lower-level feature nodes, and use the second path average value as the troubleshooting score of the candidate node.

[0030] For the explanation of terms in the second aspect, the steps performed by each module and the technical effects, please refer to the corresponding description of the first aspect.

[0031] A third aspect provides a computing device, comprising a processor and a memory; the processor is used to execute instructions stored in the memory, so that the computing device executes the method described in the first aspect or any possible implementation of the first aspect.

[0032] A fourth aspect provides a computing device cluster, which includes at least one computing device, each computing device includes a processor and a memory; the processor of the at least one computing device is used to execute instructions stored in the memory of the at least one computing device, so that the computing device cluster executes the method described in the first aspect or any possible implementation of the first aspect.

[0033] In a fifth aspect, a computer-readable storage medium comprises computer program instructions. When the computer program instructions are executed by a computing device, the computing device executes the method described in the first aspect or any possible implementation of the first aspect.

[0034] A sixth aspect provides a computer program product comprising instructions, which, when executed by a computing device, causes the computing device to execute the method described in the first aspect or any possible implementation of the first aspect. BRIEF DESCRIPTION OF THE DRAWINGS

[0035] Figure 1 A schematic diagram for creating a mirror point on an existing network node;

[0036] Figure 2 A schematic diagram of a switch in a data center in an embodiment of the present application;

[0037] Figure 3 A flowchart of a method for creating a mirror point in a network node in an embodiment of the present application;

[0038] Figure 4A A schematic diagram of segmenting a tree from a graph in an embodiment of the present application;

[0039] Figure 4B Another schematic diagram of segmenting a tree from a graph in an embodiment of the present application;

[0040] Figure 4C Another schematic diagram of segmenting a tree from a graph in an embodiment of the present application;

[0041] Figure 4D Another schematic diagram of segmenting a tree from a graph in an embodiment of the present application;

[0042] Figure 4E Another schematic diagram of segmenting a tree from a graph in an embodiment of the present application;

[0043] Figure 5 A schematic diagram of obtaining troubleshooting scores for candidate nodes in an embodiment of the present application;

[0044] Figure 6 Another schematic diagram of obtaining troubleshooting scores of candidate nodes in an embodiment of the present application;

[0045] Figure 7A schematic diagram of determining a target node group of an undirected graph in an embodiment of the present application;

[0046] Figure 8 A schematic diagram of determining a target node group of a tree in an embodiment of the present application;

[0047] Fig. 9 A structural diagram of a computing device in an embodiment of the present application;

[0048] Fig.10 A structural diagram of a computing device in an embodiment of the present application;

[0049] Fig.11 A structural diagram of a computing device cluster in an embodiment of the present application;

[0050] Fig.12 A structural diagram of a computing device cluster in an embodiment of the present application. DETAILED DESCRIPTION

[0051] The method for creating a mirror point in a network node of the present application can be applied to a network including multiple switching devices. The network can be a data center or a sub-network of a data center. The switching device can include but is not limited to a switch. The switching device in the present application is also referred to as a network device, a node or a network node.

[0052] First, we introduce the existing network mirroring points. Figure 1 In one example, a network includes multiple nodes (i.e., switching devices), such as switching devices 1 to 16, wherein switching devices 1 to 2 are boundary switching devices, and the links connecting them to the probes are mirror links. Mirror points P1 and P2 are deployed on switching devices 1 to 2, respectively. A mirror point refers to a mirror port. The mirror point in this application refers to a full-flow mirror point, not a simplified flow mirror point. A simplified flow mirror point is a mirror port used to obtain a specified session. A full-flow mirror point can obtain mirror data of all data flows.

[0053] The border leaf switching device is a switching device located at the edge of the leaf-spine network, which can be connected to the probe. The border switching device may include a network node in the data center network connected to other data center networks, a network node in the data center network connected to an external network, a network node in the data center network connected to an internal network, a network node in the data center network connected to the Internet, a network device connected to a firewall, and one or more of the core switches. The mirror link refers to the link between the port of the probe and the mirror port (i.e., the mirror point) of the mirror node. The link can be an abstract link and can be understood as a path for forwarding mirrored traffic from the mirror port to the probe port in a bypass network topology.

[0054] Switching devices 3 to 6 are spine switching devices, switching devices 7 to 10 are leaf switching devices, and switching devices 11 to 16 are top of rack (ToR) switching devices. The spine switching devices and leaf switching devices form a leaf-spine network. The links between the spine switching devices and the leaf switching devices and the links between the leaf switching devices and the rack switching devices are real links. Real links refer to the links that actually exist in the service networking.

[0055] Node 1, node 3, node 4, node 7, node 8, node 11, node 12 and node 13 belong to group (point of delivery, PoD) 1, and node 2, node 5, node 6, node 9, node 10, node 14, node 15 and node 16 belong to group 2. Since mirror points can only be located in one group when deployed on the border switching device, it is necessary to further check the network devices of the group one by one, which leads to poor fault location effect and low troubleshooting efficiency.

[0056] Take the data center as an example to introduce the application scenario of this application, see Figure 2 , the data center includes boundary leaf switching devices, spine switching devices, leaf switching devices and rack switching devices. Switching devices of the same type can be considered to belong to the same network layer. For example, one or more boundary leaf switching devices constitute a boundary leaf switching device layer, one or more spine switching devices constitute a spine switching device layer, one or more leaf switching devices constitute a leaf switching device layer, and one or more rack switching devices constitute a rack switching device layer. The network layers can be sorted from top to bottom. For example, the boundary leaf switching device layer is the upper layer of the spine switching device layer, the spine switching device layer is the upper layer of the leaf switching device layer, and the leaf switching device layer is the upper layer of the rack switching device layer. It should be noted that the number of switching devices in each network layer and the link relationship between the switching devices can be set according to actual conditions, and this application does not limit it.

[0057] This application can select network devices (i.e., network nodes) with high troubleshooting value in the above network to deploy mirror points, so that whether the network devices with high troubleshooting value have faults can be quickly checked, thereby improving the fault location performance. The following is an introduction to the method of creating mirror points in network nodes in this application, see Figure 3 In one embodiment, the method for creating a mirror point in a network node in the present application includes:

[0058] Step 301: Obtain the network topology structure of the target network, where the network topology structure is an undirected graph or a tree.

[0059] The target network of the present application may include but is not limited to a data center network or a sub-network of a data center network. The network topology structure includes network devices and links between network devices.

[0060] The network topology is an undirected graph or a tree, and the undirected graph can be represented by G(V, E). Wherein, V is a vertex, which represents a network device. In this application, V is also referred to as a node or a network node. E is an edge, which represents a link between network devices. It should be noted that, in the case where there are more than two links between two adjacent network nodes, such as multi-link load sharing or link aggregation, all links between two adjacent network nodes can be considered as one link.

[0061] Step 302: Determine the traffic quota of the network topology structure according to the total amount of probe traffic.

[0062] The flow quota of a probe can be, but is not limited to, 10Gbps, 20Gbps or 40Gbps, and can be set according to actual conditions. The total flow of probes is equal to the sum of the flow quotas of all probes. When a network is connected to a probe, the flow quota of the probe can be the flow quota of the undirected graph of the network. When a network is connected to multiple probes, the sum of the flow quotas of multiple probes can be used as the flow quota of the undirected graph of the network.

[0063] Optionally, when the network topology is a tree, the product of the tree traffic amount and the total number of network nodes of the undirected graph is equal to the product of the total number of network nodes of the tree and the total amount of probe traffic.

[0064] Step 303: Obtain the mirrored traffic value of the candidate node in the network topology structure.

[0065] Candidate nodes are network nodes other than preset mirror nodes in the network topology. Preset mirror nodes include network nodes where users specify mirror points for deployment and key network nodes. Key network nodes include network nodes in the data center network that are connected to other data center networks, network nodes in the data center network that are connected to external networks, network nodes in the data center network that are connected to internal networks, network nodes in the data center network that are connected to the Internet, network devices connected to firewalls, and one or more of core switches.

[0066] Optionally, the mirror traffic value of the candidate node refers to the average value of the historical mirror traffic value of the candidate node, and the historical mirror traffic value refers to the size of the mirror traffic generated by the candidate node in the past sampling period. The length of the sampling period can be set according to actual conditions and is not limited in this application.

[0067] Alternatively, the mirror traffic value of the candidate node refers to the sum of the bandwidth service quality of the candidate mirror ports of the candidate node. Specifically, the ports in the candidate node that allow the deployment of mirror points are used as candidate mirror ports, and the bandwidth values ​​of the candidate mirror ports are found from the service quality indicators of the device configuration file to determine that the mirror traffic value of the candidate node is equal to the sum of the bandwidth values ​​of the candidate mirror ports.

[0068] Step 304: Obtain troubleshooting scores of candidate nodes in the network topology.

[0069] The troubleshooting score is used to represent the troubleshooting value of the node, and the troubleshooting score can be determined specifically based on one or more of the failure probability of the candidate node, the value of the candidate node, and the location of the candidate node. The relevant characteristic data of the failure probability of the candidate node include, but are not limited to, the usage time of the candidate node. The relevant characteristic data of the value of the candidate node include, but are not limited to, the quality of service (QoS) score of the service transmitted by the candidate mirror port, the service level of the service transmitted by the candidate mirror port, and the reliability score of the candidate node. The service level of the service can be obtained from the service level agreement (SLA). The relevant characteristic data of the location of the candidate node include, but are not limited to, the path length from the candidate node to the characteristic node, and the characteristic node is a mirror node or a rack switch.

[0070] Step 305: Determine the maximum troubleshooting score of the network topology structure under the traffic quota of the network topology structure according to the mirrored traffic value of the candidate node, the traffic quota of the network topology structure, and the troubleshooting score of the candidate node.

[0071] Step 306: Select a target node group corresponding to the maximum troubleshooting score of the network topology structure from all candidate nodes of the network topology structure.

[0072] When the sum of the mirror traffic values ​​of all nodes in the candidate node group is less than or equal to the traffic quota of the network topology structure, the sum of the troubleshooting scores of all nodes in the target node group is greater than or equal to the sum of the troubleshooting scores of all nodes in other candidate node groups.

[0073] Step 307: Create a mirror point at each node of the target node group.

[0074] One or more mirror points can be created on each node. The mirror function can be realized by deploying one mirror point on each node. It should be noted that one or more mirror points can also be deployed on the preset mirror node. For the dual-machine traffic detection scenario, the preset mirror node is the aggregation device or the two switching devices to be detected. You can create a mirror point on the aggregation device or on the two switching devices to be detected according to business needs.

[0075] In this embodiment, network nodes with high troubleshooting value (i.e., target node group) can be selected from the target network, and mirror points can be created on the network nodes with high troubleshooting value, thereby improving the fault location capability of the high troubleshooting value. Network nodes with high troubleshooting value include one or more of network nodes with important value, network nodes with high probability of failure, or network nodes with many covered link segments. Many covered link segments refer to the large number of link segments from the network node to other mirror nodes.

[0076] In an optional embodiment, step 301 includes: obtaining an undirected graph of the target network, and dividing the undirected graph into multiple trees; step 302 includes: determining the traffic quota of the tree based on the total number of network nodes of the undirected graph, the total number of network nodes of the tree, and the total amount of probe traffic.

[0077] In this embodiment, dividing the undirected graph into multiple trees may include:

[0078] Step A: Select the bottom mirror node from the mirror nodes of the undirected graph as the root node;

[0079] Step B: Generate a tree with the bottom image node as the root node;

[0080] Step C: Remove the tree with the bottom mirror node as the root node from the undirected graph;

[0081] Iterate the above steps A to C until the undirected graph does not include the preset mirror node;

[0082] Step D: Randomly select the top node as the root node from the remaining network nodes in the undirected graph;

[0083] Step E: Generate a tree with the top node as the root node;

[0084] Step F: Remove the tree with the top node as the root node from the undirected graph;

[0085] Iterate step D to step F until the undirected graph has no network nodes.

[0086] According to the above method, the undirected graph can be divided into multiple breadth-first trees, so that the target node of each breadth-first tree can be determined in parallel, which can improve the efficiency of creating mirror points. It should be noted that the bottom-level mirror nodes of step A and step B are the bottom-level mirror nodes in the mirror nodes of the current undirected graph. For example, the undirected graph has 3 layers of mirror nodes. When step A is executed for the first time, the bottom-level mirror node of step A is the 3rd layer mirror node. When step A is executed for the second time, the bottom-level mirror node of step A is the 2nd layer mirror node. When step A is executed for the third time, the bottom-level mirror node of step A is the 1st layer mirror node. The top-level nodes of step D and step E are the top-level nodes in the mirror nodes of the current undirected graph. For example, the current undirected graph has 2 layers of nodes. When step D is executed for the first time, the top-level node of step D is the 1st layer node. When step D is executed for the second time, the top-level node of step D is the 2nd layer node.

[0087] In addition to partitioning an undirected graph into multiple breadth-first trees, the present application may also partition an undirected graph into multiple depth-first trees or other types of trees. The specific partitioning of the graph may be performed based on actual conditions, and the present application does not limit this.

[0088] by Figure 4A Taking the undirected graph shown as an example, the preset mirror nodes include node 3, node 6 and node 10. Figure 4A to Figure 4E The following is a schematic diagram of the undirected graph segmentation. Taking the breadth-first tree as an example, the bottom mirror node of the undirected graph is node 10. Since node 10 has no child nodes, the first tree is node 10. Figure 4A , the undirected graph can be divided into the first tree and the undirected subgraph 401.

[0089] In the undirected subgraph 401, the bottom mirror node is node 6, the two child nodes of node 6 are node 9 and node 11, and the second tree includes node 6, node 9 and node 11. Figure 4B , the undirected subgraph 401 can be divided into a second tree and an undirected subgraph 402.

[0090] In the undirected subgraph 402, the bottom mirror node is node 3, the child nodes of node 3 include node 8, node 12, node 13 and node 14, and the third tree includes node 3, node 8, node 12, node 13 and node 14. Figure 4C , the undirected subgraph 402 can be divided into a third tree and an undirected subgraph 403.

[0091] Undirected subgraph 403 includes node 1, node 2, node 4, node 5, and node 7. Node 2 is selected as the root node from undirected subgraph 403. The child nodes of node 2 include node 5 and node 7. Therefore, the fourth tree includes node 2, node 5, and node 7. Figure 4D, the undirected subgraph 403 can be divided into a fourth tree and an undirected subgraph 404.

[0092] In the undirected subgraph 404, node 1 and node 4 have no child nodes, so the fifth tree includes node 1 and the sixth tree includes node 4. Figure 4E , the undirected subgraph 404 can be divided into the fifth tree and the sixth tree. The first tree to the sixth tree can be denoted as T 1 (V′,E′),T 2 (V′,E′),T 3 (V′,E′),T 4 (V′,E′),T 5 (V′,E′),T 6 (V′,E′).

[0093] The influencing factors of the troubleshooting score of the present application include one or more of the following information: the service quality score of the business transmitted by the candidate mirror port, the service level of the business transmitted by the candidate mirror port, the usage time of the candidate node, and the reliability score of the candidate node.

[0094] The following describes them separately. In an optional embodiment, step 304 includes: obtaining a quality of service score of the service transmitted by the candidate mirror port, and determining the troubleshooting score of the candidate node as a weighted sum of the quality of service scores of the services transmitted by all candidate mirror ports in the candidate node.

[0095] In this embodiment, the candidate mirror port is a port that is allowed to be used as a mirror port in the candidate node. For example, the candidate node has two candidate mirror ports, the first candidate mirror port transmits service 1 and service 2, and the second candidate mirror port transmits service 3 and service 4. The service quality scores of services 1 to 4 are recorded as q1, q2, q3, and q4, respectively. Then the troubleshooting score of the candidate node is equal to a1*q1+a2*q2+a3*q3+a4*q4. a1, a2, a3, and a4 are weighted coefficients of the service quality score of the service. The values ​​of q1, q2, q3, q4, a1, a2, a3, and a4 can be set according to actual conditions, and this application does not limit them. The higher the service quality score of the service, the higher the service value, and the higher the troubleshooting value of the candidate mirror port, otherwise the lower the troubleshooting value. Using the service quality score of the service as a quantitative indicator can effectively measure the troubleshooting value of the network node.

[0096] In another optional embodiment, step 304 includes: obtaining the service level of the service transmitted by the candidate mirror port; determining the troubleshooting score of the candidate mirror port corresponding to the service level based on the correspondence between the service level and the port troubleshooting score; and determining the troubleshooting score of the candidate node as the weighted sum of the troubleshooting scores of all candidate mirror ports in the candidate node.

[0097] In this embodiment, when a candidate mirror port transmits multiple services, the troubleshooting score of the candidate mirror port is the weighted sum of the service level scores of all services. The service level is positively correlated with the port troubleshooting score. The higher the service level, the higher the value of the service and the value of the candidate mirror port, and the higher the troubleshooting value, otherwise the troubleshooting value is lower. Using the service service level as a quantitative indicator can effectively measure the troubleshooting value of network nodes.

[0098] See also Figure 5 In one example, the undirected graph includes nodes 1 to 14, business flow 1 passes through nodes 9, 5, and 2, business flow 2 passes through nodes 14, 8, and 3, the service level of business flow 1 is 2, and the service level of business flow 2 is 1, then the troubleshooting score of node 9, the troubleshooting score of node 5, and the troubleshooting score of node 2 are all set to the service level of business flow 1 (i.e., 2), and the troubleshooting score of node 14, the troubleshooting score of node 8, and the troubleshooting score of node 3 are all set to the service level of business flow 2 (i.e., 1). The troubleshooting scores of other nodes are 0.

[0099] In another optional embodiment, step 304 includes: obtaining the average traffic value of the candidate mirror port, determining the troubleshooting score of the candidate mirror port corresponding to the average traffic value of the candidate mirror port according to the correspondence between the traffic and the port troubleshooting score, and determining the troubleshooting score of the candidate node as the weighted sum of the troubleshooting scores of all candidate mirror ports in the candidate node.

[0100] In this embodiment, the higher the traffic carried by the candidate mirror port, the greater the troubleshooting score of the candidate mirror port, otherwise the smaller the troubleshooting score of the candidate mirror port. Using port traffic as a quantitative indicator can effectively measure the troubleshooting value of a network node.

[0101] In another optional embodiment, step 304 includes: obtaining the usage time of the candidate node; and determining the troubleshooting score of the candidate node corresponding to the usage time of the candidate node according to the corresponding relationship between the usage time and the troubleshooting score.

[0102] Optionally, the usage time of the device can be equal to the current date minus the manufacturing date of the device. The key quality indicators provided by old devices are usually less than those provided by new devices, and the failure probability of old devices is higher. Therefore, it is more important to deploy mirror points for fault detection on old devices than on new devices. In the corresponding relationship between usage time and troubleshooting score, the usage time of the candidate node is positively correlated with the troubleshooting score of the candidate node, that is, in the corresponding relationship between usage time and troubleshooting score, the troubleshooting score of the device with a longer usage time (i.e., old device) is greater than that of the device with a shorter usage time (i.e., new device).

[0103] It should be noted that the device model can also reflect whether the network device is new or old. Therefore, this application can also establish a corresponding relationship between the device model and the troubleshooting score, and determine the troubleshooting score of the mirror node according to the device model. Using the usage time or device model of the network node as a quantitative indicator can effectively measure the failure probability of the network node.

[0104] In another optional embodiment, step 304 includes: obtaining a reliability score of the candidate node; and determining a troubleshooting score of the candidate node corresponding to the reliability score of the candidate node according to a corresponding relationship between the reliability score and the troubleshooting score.

[0105] In this embodiment, in the correspondence between the reliability score and the troubleshooting score, the reliability score of the candidate node is positively correlated with the troubleshooting score of the candidate node. The higher the reliability score of the network node, the higher the value of the network node, and the higher the troubleshooting value. Otherwise, the lower the troubleshooting value. Using the reliability score of the network node as a quantitative indicator can effectively measure the troubleshooting value of the network node.

[0106] In another optional embodiment, step 304 includes: determining the troubleshooting score of the candidate node as a weighted sum of the service quality scores of the services transmitted by the candidate node. In this embodiment, the higher the service quality score of the service, the higher the value of the service transmitted by the network node, and the higher the troubleshooting value of the service. Otherwise, the lower the troubleshooting value, the service quality score is used as a quantitative indicator to effectively measure the troubleshooting value of the network node.

[0107] In another optional embodiment, step 304 includes: determining the troubleshooting score of the candidate node as a weighted sum of the service level agreement scores of the services transmitted by the candidate node. In this embodiment, the higher the service level agreement score of the service, the higher the value of the service and the higher the troubleshooting value, otherwise the lower the troubleshooting value, and using the service level agreement score of the service as a quantitative indicator can effectively measure the troubleshooting value of the network node.

[0108] It should be noted that, in addition to using a single troubleshooting feature to determine the troubleshooting score of a candidate node, multiple troubleshooting features may also be combined to determine the troubleshooting score of a candidate node. In another optional embodiment, step 304 includes: obtaining a troubleshooting feature value set of the candidate node, normalizing the troubleshooting feature values ​​of the troubleshooting feature value set; and determining that the troubleshooting score of the candidate node is equal to the weighted sum of the normalized troubleshooting feature values.

[0109] In this embodiment, the troubleshooting feature value set includes at least two of the service quality score of the service transmitted by the candidate mirror port, the service level of the service transmitted by the candidate mirror port, the usage time of the candidate node, and the reliability score of the candidate node. Compared with single-dimensional features, multi-dimensional features can more comprehensively reflect the troubleshooting value of network nodes.

[0110] Optionally, the troubleshooting score of the candidate node satisfies the following formula: j =∑ i γ i g i (β i ). j is the troubleshooting score of the jth candidate node. i is the eigenvalue of the i-th troubleshooting feature, β i > 0. γ i is the weight of the i-th troubleshooting feature, g i () is the normalization function of the i-th troubleshooting feature. After processing the characteristic values ​​of different troubleshooting features using the normalization function, an additive troubleshooting score can be obtained. Optionally, the sum of the weights of the service quality scores of all troubleshooting features on each node is 1. The normalization function can be set according to actual conditions and is not limited in this application. For candidate nodes that do not transmit services, their troubleshooting scores can be set to any value in [0, β′]. β′ can be, but is not limited to, half of the minimum value of the service quality scores of all services.

[0111] The present application can also determine the troubleshooting score according to the location of the network node. In another optional embodiment, step 304 includes: after determining the feature node set from the undirected graph, determining the first feature node subset and the second feature node subset from the feature node set, searching the upper-layer mirror node and the lower-layer feature node of the candidate node in the second feature node subset; when the second feature node subset includes the upper-layer mirror node of the candidate node, calculating the first path average value according to the path length from the candidate node to the target upper-layer mirror node and the path length from the candidate node to all lower-layer feature nodes, and using the first path average value as the troubleshooting score of the candidate node; when the second feature node subset does not include the upper-layer mirror node of the candidate node, determining the same-layer mirror node of the candidate node in the second feature node subset, calculating the second path average value according to the path length from the candidate node to each same-layer mirror node and the path length from the candidate node to all lower-layer feature nodes, and using the second path average value as the troubleshooting score of the candidate node.

[0112] The characteristic nodes in the characteristic node set are mirror nodes or rack switches. The first characteristic node subset includes multiple characteristic nodes of the same layer connected to the same mirror node, and the first characteristic node subset is removed from the characteristic node set to obtain the second characteristic node subset, and the target upper-layer mirror node is the bottom-layer mirror node in the upper-layer mirror node.

[0113] In this embodiment, the troubleshooting score can be calculated based on the level of the network node in the network and the distance between the network node and the characteristic node. The larger the troubleshooting score, the farther the distance between the network node and the characteristic node, and the location lacks a mirror node or a rack switch, so it has a high troubleshooting value. The smaller the troubleshooting score, the closer the distance between the network node and the characteristic node, and the location does not lack a mirror node or a rack switch, so it has a low troubleshooting value. When there are more mirror nodes in the upper layer than feature nodes in the lower layer, the troubleshooting score of the candidate node in the lower layer is higher, and it has more coverage links to the mirror nodes in the upper layer. When there are more mirror nodes in the lower layer than mirror nodes in the upper layer, the troubleshooting score of the candidate node in the upper layer is higher, and it has more coverage links to the feature nodes in the lower layer.

[0114] See also Figure 6 , in the network, the mirror nodes include node 3, node 6 and node 10. Nodes 9 to 14 are rack switches. Therefore, the characteristic node set includes node 3, node 6, node 9 to node 14. The characteristic nodes connected to the same mirror node are node 9 to node 11, so the first characteristic node subset includes node 9 to node 11, and the second characteristic node subset includes node 3, node 6, node 12 to node 14.

[0115] In one example, the candidate node is node 4, which is the top-level network node. Node 4 has no upper-level mirror node and has a same-level mirror node (i.e., node 3). In the second feature node subset, all lower-level feature nodes of node 4 include node 6, and nodes 12 to 14. The edges related to the path from the candidate node to the feature node are represented by bold black lines. The path from node 4 to node 3 includes R1 and R2, and the path length from node 4 to node 3 is equal to R1+R2. The path from node 4 to node 12 includes R4 and R5, the path from node 4 to node 13 includes R4 and R6, and the path from node 4 to node 14 includes R4 and R7. Their path lengths are the sum of the link segment lengths.

[0116] For example, the path length from node 4 to node 3 is 5, the path length from node 4 to node 6 is 1, the path length from node 4 to node 12 is 2, the path length from node 4 to node 13 is 2, and the path length from node 4 to node 14 is 2. The average value of the above path lengths is calculated to be (5+1+2+2+2) / 5=2.4, and 2.4 is used as the troubleshooting score of the candidate node.

[0117] In this application, the process of using the mirror traffic value of the candidate node, the traffic quota of the network topology structure and the troubleshooting score of the candidate node to determine the maximum troubleshooting score of the network topology structure under the traffic quota of the network topology structure can be considered as solving a 0-1 integer programming problem (i.e., a 0-1 knapsack problem), and the solution can be but is not limited to a dynamic programming algorithm, a linear relaxation algorithm, a branch and bound method, and a knapsack problem solving algorithm based on a neural network.

[0118] The maximum troubleshooting score of the network topology under the traffic quota of the network topology is recorded as max∑ j α j ω j st∑ j α j c j ≤C, where ω j is the troubleshooting score of the jth candidate node, α j The probability of creating a mirror point for the jth candidate node, α j ∈{0,1}. The constraint condition is ∑ j α j c j ≤C,c j is the mirror traffic value of the jth candidate node, and C is the traffic quota of the network topology.

[0119] The following is an introduction to the process of using a dynamic programming method to calculate the maximum troubleshooting score of a network topology structure under the flow quota of the network topology structure. In an optional embodiment, step 305 includes: sorting m candidate nodes of the network topology structure; obtaining n flow quotas and m node groups; for each flow quota, determining the maximum troubleshooting score of the first node group when the mirrored flow value of the first node group is less than or equal to the flow quota; selecting the jth node group from the remaining m-1 node groups in ascending order; for each flow quota, determining the maximum troubleshooting score of the first node group when the mirrored flow value of the j-1th node group is less than or equal to the flow quota; When the mirrored traffic value of the j-1th node group is less than or equal to the traffic quota minus the mirrored traffic value of the j-th candidate node, the maximum troubleshooting score of the j-1th node group is taken as the first troubleshooting score; when the mirrored traffic value of the j-1th node group is less than or equal to the traffic quota minus the mirrored traffic value of the j-th candidate node, the maximum troubleshooting score of the j-1th node group is taken as the second troubleshooting score; when the mirrored traffic value of the j-th node group is less than or equal to the traffic quota, the maximum troubleshooting score of the j-th node group is determined to be the maximum value of the first troubleshooting score and the second troubleshooting score; and the maximum troubleshooting score of the network topology structure is determined to be equal to the maximum troubleshooting score of the m-th node group when the mirrored traffic value of the m-th node group is less than or equal to the maximum traffic quota.

[0120] Among them, the maximum flow quota among the n flow quotas is equal to the flow quota of the network topology structure, the jth node group includes the first j candidate nodes, and j is a positive integer variable less than or equal to m. For ease of calculation, the n flow quotas can be set to an arithmetic progression. The size of the arithmetic progression can be 1, or the lowest common divisor of the mirror flow values ​​of the candidate nodes, or other values ​​set according to actual conditions, which are not limited in this application.

[0121] In this embodiment, the mirrored traffic value of the jth node group, the kth traffic quota, and the maximum troubleshooting score of the jth node group satisfy the following state transition formula:

[0122] f[j,C k ]=max{f[j-1,C k ],f[j-1,C k -c j ]+ω j}st∑ j α j c j ≤C k ;

[0123] f[j,C k ] is the maximum troubleshooting score of the jth node group when the mirrored traffic value of the jth node group is less than or equal to the kth traffic quota, f[j-1,C k ] is the maximum troubleshooting score of the j-1th node group when the mirrored traffic value of the j-1th node group is less than or equal to the kth traffic quota, f[j-1,C k-1 -c j ] is the mirror traffic value of the j-1th node group is less than or equal to the k-1th traffic quota minus c i The maximum troubleshooting score of the j-1th node group in the case of k is the kth traffic quota, c j is the mirror traffic value of the jth candidate node, ω j is the troubleshooting score of the jth candidate node, and k is a positive integer variable less than or equal to n.

[0124] In this way, the maximum troubleshooting score of each node group under each traffic quota can be calculated according to the dynamic programming method. The present application can sort the maximum troubleshooting scores of the node groups under each traffic quota. In addition to the maximum troubleshooting score of the network topology under the maximum traffic quota, the present application can also use the node group corresponding to the second largest troubleshooting score as the target node group, or select other node groups as the target node group according to actual needs to create a mirror point.

[0125] Since a tree has fewer nodes than an undirected graph, after splitting the undirected graph into multiple trees, using the dynamic programming method to calculate the maximum obstacle removal score of each tree is faster than using the dynamic programming method to calculate the maximum obstacle removal score of the undirected graph. This can increase the speed of selecting target nodes and thus improve the efficiency of creating mirror points.

[0126] In an optional embodiment, step 306 includes:

[0127] Step 3061: Set the initial value of j to m;

[0128] Step 3062: When the first troubleshooting score corresponding to the j-th node group is greater than the second troubleshooting score corresponding to the j-th node group, it is determined that the j-th candidate node does not belong to the target node group; when the first troubleshooting score corresponding to the j-th node group is less than or equal to the second troubleshooting score corresponding to the j-th node group, it is determined that the j-th candidate node belongs to the target node group;

[0129] Step 3063: Determine whether j is greater than 1, if so, execute step 3064, if not, execute step 307;

[0130] Step 3064: Obtain the first troubleshooting score of the j-1th node group and the second troubleshooting score of the j-1th node group according to the maximum value of the first troubleshooting score corresponding to the j-th node group and the second troubleshooting score corresponding to the j-th node group;

[0131] Step 3065: Update j to j-1, triggering the execution of step 3062.

[0132] In this embodiment, j is a positive integer variable less than or equal to m, and may also be represented by i or other symbols. The first troubleshooting score corresponding to the j-th node group is the maximum troubleshooting score of the j-1-th node group when the mirrored traffic value of the j-1-th node group is less than or equal to the traffic quota, denoted as f[j-1,C k ]. The second troubleshooting score corresponding to the j-th node group is the maximum troubleshooting score of the j-1-th node group when the mirrored traffic value of the j-1-th node group is less than or equal to the traffic quota minus the mirrored traffic value of the j-th candidate node, denoted as f[j-1,C k -c j ]+ω j .

[0133] Among them, step 3064 may include: when the first obstacle removal score corresponding to the jth node group is greater than the second obstacle removal score corresponding to the jth node group, obtaining the first obstacle removal score of the j-1th node group and the second obstacle removal score of the j-1th node group according to the first obstacle removal score corresponding to the jth node group; when the first obstacle removal score corresponding to the jth node group is less than or equal to the second obstacle removal score corresponding to the jth node group, obtaining the first obstacle removal score of the j-1th node group and the second obstacle removal score of the j-1th node group according to the second obstacle removal score corresponding to the jth node group minus the obstacle removal score of the jth candidate node.

[0134] When f[j-1,C k ]>f[j-1,C k -c j ]+ω j When , it indicates that the jth candidate node does not belong to the target node group. According to f[j-1,C k ] obtains the first obstacle elimination score and the second obstacle elimination score corresponding to the j-1th node group. When f[j-1,C k ] <f[j-1,C k -c j ]+ω j When , it indicates that the jth candidate node belongs to the target node group. According to f[j-1,C k -c j ] obtains the first obstacle elimination score and the second obstacle elimination score corresponding to the j-1th node group. When f[j-1,C k ]=[j-1,C k -c j ]+ω j , it indicates that the target node group may include the j-th candidate node or may not include the j-th candidate node.

[0135] In this way, it is possible to determine which candidate nodes among 1 to m candidate nodes belong to the target node group and which nodes do not belong to the target node group, and the sum of the troubleshooting scores of the candidate nodes in the target node group can be maximized under the traffic quota of the network topology structure.

[0136] For ease of understanding, the following Figure 7 An example of selecting a target node group from an undirected graph is described, the total amount of probe traffic and the mirror traffic value of the candidate nodes in the undirected graph are obtained, the troubleshooting score of the candidate nodes in the undirected graph is determined according to the business service quality score or the business service level, the maximum troubleshooting score of the undirected graph is calculated according to the total amount of probe traffic, the mirror traffic value of the candidate nodes in the undirected graph, and the troubleshooting score of the candidate nodes in the undirected graph, and the target node group of the undirected graph is determined according to the maximum troubleshooting score of the undirected graph.

[0137] Below through Figure 8An example of selecting a target node group from a tree is described. After obtaining an undirected graph of the network, the undirected graph is segmented to obtain multiple trees, and the traffic quota of each tree and the mirror traffic value of the candidate node in the tree are obtained respectively. The troubleshooting score of the candidate node in the tree is determined according to the business service quality score or the business service level. The maximum troubleshooting score of the tree is calculated according to the traffic quota of the tree, the mirror traffic value of the candidate node in the tree, and the troubleshooting score of the candidate node in the tree. The target node group of the tree is determined according to the maximum troubleshooting score of the tree. It should be understood that the business service quality score or the business service level is optional, and the troubleshooting score of the candidate node can be determined according to other troubleshooting features.

[0138] See also Fig. 9 The present application provides a computing device 900 including an acquisition module 901, a scoring module 902, a selection module 903 and a creation module 904, wherein the acquisition module 901 is used to acquire the network topology of the target network, determine the traffic quota of the network topology according to the total probe traffic; acquire the mirror traffic value of the candidate node in the network topology, and the scoring module 902 is used to acquire the troubleshooting score of the candidate node in the network topology; the selection module 903 is used to determine the maximum troubleshooting score of the network topology under the traffic quota of the network topology according to the mirror traffic value of the candidate node, the traffic quota of the network topology and the troubleshooting score of the candidate node; select the target node group corresponding to the maximum troubleshooting score of the network topology from all the candidate nodes of the network topology; the creation module 904 is used to create a mirror point at each node of the target node group.

[0139] As an example of a software functional unit, the creation module 904 may include code running on a computing instance. Among them, the computing instance may include at least one of a physical host (computing device), a virtual machine, and a container. Further, the above-mentioned computing instance may be one or more. For example, the creation module 904 may include code running on multiple hosts / virtual machines / containers. It should be noted that the multiple hosts / virtual machines / containers used to run the code can be distributed in the same region (region) or in different regions. Furthermore, the multiple hosts / virtual machines / containers used to run the code can be distributed in the same availability zone (AZ) or in different AZs, each AZ including a data center or multiple data centers with close geographical locations. Among them, usually a region can include multiple AZs.

[0140] Similarly, multiple hosts / virtual machines / containers used to run the code can be distributed in the same virtual private cloud (VPC) or in multiple VPCs. Usually, a VPC is set up in a region. For cross-region communication between two VPCs in the same region and between VPCs in different regions, a communication gateway needs to be set up in each VPC to achieve interconnection between VPCs through the communication gateway.

[0141] As an example of a hardware functional unit, the creation module 904 may include at least one computing device, such as a server, etc. Alternatively, the creation module 904 may also be a device implemented using an application-specific integrated circuit (ASIC) or a programmable logic device (PLD). The PLD may be a complex programmable logical device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof.

[0142] The multiple computing devices included in the creation module 904 can be distributed in the same region or in different regions. The multiple computing devices included in the creation module 904 can be distributed in the same AZ or in different AZs. Similarly, the multiple computing devices included in the creation module 904 can be distributed in the same VPC or in multiple VPCs. The multiple computing devices can be any combination of computing devices such as servers, ASICs, PLDs, CPLDs, FPGAs, and GALs.

[0143] It should be noted that, in other embodiments, the creation module 904 can be used to execute any step in the method for creating a mirror point in a network node, the acquisition module 901 can be used to execute any step in the method for creating a mirror point in a network node, the scoring module 902 can be used to execute any step in the method for creating a mirror point in a network node, and the selection module 903 can be used to execute any step in the method for creating a mirror point in a network node. The steps that the acquisition module 901, the scoring module 902, the selection module 903 and the creation module 904 are responsible for implementing can be specified as needed. The acquisition module 901, the scoring module 902, the selection module 903 and the creation module 904 respectively implement different steps in the method for creating a mirror point in a network node to realize all the functions of the computing device 900.

[0144] In some embodiments, the acquisition module 901 is specifically used to obtain an undirected graph of the target network, divide the undirected graph into multiple trees, and determine the traffic quota of the tree according to the total number of network nodes of the undirected graph, the total number of network nodes of the tree, and the total amount of probe traffic.

[0145] In some embodiments, the acquisition module 901 is specifically used to iteratively execute steps A to C until the undirected graph does not include a preset mirror node; and iteratively execute steps D to F until the undirected graph has no network nodes.

[0146] In some embodiments, the selection module 903 is specifically used to sort the m candidate nodes of the network topology structure; obtain n traffic quotas and m node groups; for each traffic quota, determine the maximum troubleshooting score of the first node group when the mirror traffic value of the first node group is less than or equal to the traffic quota; select the jth node group from the remaining m-1 node groups in ascending order; for each traffic quota, determine that the maximum troubleshooting score of the jth node group when the mirror traffic value of the jth node group is less than or equal to the traffic quota is the maximum value of the first troubleshooting score and the second troubleshooting score, the first troubleshooting score is the maximum troubleshooting score of the j-1th node group when the mirror traffic value of the j-1th node group is less than or equal to the traffic quota, and the second troubleshooting score is the maximum troubleshooting score of the j-1th node group when the mirror traffic value of the j-1th node group is less than or equal to the traffic quota minus the mirror traffic value of the jth candidate node; determine that the maximum troubleshooting score of the network topology structure is equal to the maximum troubleshooting score of the mth node group when the mirror traffic value of the mth node group is less than or equal to the maximum traffic quota.

[0147] In some embodiments, the selection module 903 is specifically used to set the initial value of j to m; when the first troubleshooting score corresponding to the jth node group is greater than the second troubleshooting score corresponding to the jth node group, determine that the jth candidate node does not belong to the target node group; when the first troubleshooting score corresponding to the jth node group is less than or equal to the second troubleshooting score corresponding to the jth node group, determine that the jth candidate node belongs to the target node group; when j is greater than 1, obtain the first troubleshooting score of the j-1th node group and the second troubleshooting score of the j-1th node group according to the maximum value of the first troubleshooting score corresponding to the jth node group and the second troubleshooting score corresponding to the jth node group; update j to j-1, triggering the selection module 903 to execute the steps of determining that the jth candidate node does not belong to the target node group when the first troubleshooting score corresponding to the jth node group is greater than the second troubleshooting score corresponding to the jth node group; and determining that the jth candidate node belongs to the target node group when the first troubleshooting score corresponding to the jth node group is less than or equal to the second troubleshooting score corresponding to the jth node group.

[0148] In some embodiments, the scoring module 902 is specifically used to obtain the service quality score of the business transmitted by the candidate mirror port; determine the troubleshooting score of the candidate node as the weighted sum of the service quality scores of the business transmitted by all candidate mirror ports in the candidate node.

[0149] In some embodiments, the scoring module 902 is specifically used to obtain the service level of the business transmitted by the candidate mirror port; determine the troubleshooting score of the candidate mirror port corresponding to the service level; determine the troubleshooting score of the candidate node as the weighted sum of the troubleshooting scores of all candidate mirror ports in the candidate node.

[0150] In some embodiments, the scoring module 902 is specifically used to obtain the usage time of the candidate node; determine the troubleshooting score of the candidate node corresponding to the usage time of the candidate node according to the corresponding relationship between the usage time and the troubleshooting score, and in the corresponding relationship between the usage time and the troubleshooting score, the usage time of the candidate node is positively correlated with the troubleshooting score of the candidate node.

[0151] In some embodiments, the scoring module 902 is specifically used to obtain the reliability score of the candidate node; determine the troubleshooting score of the candidate node corresponding to the reliability score of the candidate node according to the corresponding relationship between the reliability score and the troubleshooting score, and in the corresponding relationship between the reliability score and the troubleshooting score, the reliability score of the candidate node is positively correlated with the troubleshooting score of the candidate node.

[0152] In some embodiments, the scoring module 902 is specifically used to obtain a set of troubleshooting feature values ​​of the candidate node, the troubleshooting feature value set including at least two of the service quality score of the service transmitted by the candidate mirror port, the service level of the service transmitted by the candidate mirror port, the usage time of the candidate node, or the reliability score of the candidate node; normalize the troubleshooting feature values ​​of the troubleshooting feature value set; and determine that the troubleshooting score of the candidate node is equal to the weighted sum of the normalized troubleshooting feature values.

[0153] In some embodiments, the scoring module 902 is specifically used to determine a feature node set from an undirected graph, determine a first feature node subset and a second feature node subset from the feature node set, and search for an upper-level mirror node and a lower-level feature node of the candidate node in the second feature node subset; when the second feature node subset includes the upper-level mirror node of the candidate node, calculate a first path average value according to the path length from the candidate node to the target upper-level mirror node and the path length from the candidate node to all lower-level feature nodes, and use the first path average value as the troubleshooting score of the candidate node; when the second feature node subset does not include the upper-level mirror node of the candidate node, determine the same-level mirror node of the candidate node in the second feature node subset, calculate a second path average value according to the path length from the candidate node to each same-level mirror node and the path length from the candidate node to all lower-level feature nodes, and use the second path average value as the troubleshooting score of the candidate node.

[0154] The present application also provides a computing device 1000, such as Fig.10 As shown, computing device 1000 includes: bus 1002, processor 1004, memory 1006 and communication interface 1008. Processor 1004, memory 1006 and communication interface 1008 communicate through bus 1002. Computing device 1000 can be a server or a terminal device. It should be understood that the present application does not limit the number of processors and memories in computing device 1000.

[0155] The bus 1002 may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Fig.10 The bus 1004 may include a path for transmitting information between various components of the computing device 1000 (eg, the memory 1006, the processor 1004, and the communication interface 1008).

[0156] The processor 1004 may include any one or more of a CPU, a GPU, an MP, or a DSP. The memory 1006 may include a volatile memory, such as a random access memory (RAM). The processor 1004 may also include a non-volatile memory, such as a read-only memory (ROM), a flash memory, a hard disk drive (HDD), or a solid state drive (SSD).

[0157] The memory 1006 stores executable program codes, and the processor 1004 executes the executable program codes to respectively implement the functions of the aforementioned acquisition module 901, the scoring module 902, the selection module 903, and the creation module 904, thereby implementing the method for creating a mirror point in a network node. That is, the memory 1006 stores instructions for executing the method for creating a mirror point in a network node.

[0158] The communication interface 1008 uses a transceiver module such as, but not limited to, a network interface card or a transceiver to implement communication between the computing device 1000 and other devices or a communication network.

[0159] The embodiment of the present application also provides a computing device cluster. The computing device cluster includes at least one computing device. The computing device can be a server, such as a central server, an edge server, or a local server in a local data center. In some embodiments, the computing device can also be a terminal device such as a desktop computer, a laptop computer, or a smart phone.

[0160] like Fig.11 As shown, the computing device cluster includes at least one computing device 1000. The memory 1006 in one or more computing devices 1000 in the computing device cluster may store the same instructions for executing the method for creating a mirror point in a network node.

[0161] In some possible implementations, the memory 1006 of one or more computing devices 1000 in the computing device cluster may also respectively store partial instructions for executing the method for creating a mirror point at a network node. In other words, the combination of one or more computing devices 1000 may jointly execute instructions for executing the method for creating a mirror point at a network node.

[0162] It should be noted that the memory 1006 in different computing devices 1000 in the computing device cluster may store different instructions, which are respectively used to execute part of the functions of the computing devices. That is, the instructions stored in the memory 1006 in different computing devices 1000 may implement the functions of one or more modules among the acquisition module 901, the scoring module 902, the selection module 903 and the creation module 904.

[0163] In some possible implementations, one or more computing devices in the computing device cluster may be connected via a network, which may be a wide area network or a local area network. Fig.12 A possible implementation is shown. Fig.12 As shown, two computing devices 1000A and 1000B are connected via a network. Specifically, they are connected to the network via a communication interface in each computing device. In this type of possible implementation, the memory 1006 in the computing device 1000A stores instructions for executing the functions of the acquisition module 901. At the same time, the memory 1006 in the computing device 1000B stores instructions for executing the functions of the scoring module 902, the selection module 903, and the creation module 904.

[0164] It should be understood that Fig.12 The functions of the computing device 1000A shown in FIG. 1000A may also be completed by multiple computing devices 1000. Similarly, the functions of the computing device 1000B may also be completed by multiple computing devices 1000.

[0165] The embodiment of the present application also provides a computer program product including instructions. The computer program product may be a software or program product including instructions that can be run on a computing device or stored in any available medium. When the computer program product is run on at least one computing device, the at least one computing device executes a method for creating a mirror point on a network node.

[0166] The embodiment of the present application also provides a computer-readable storage medium. The computer-readable storage medium can be any available medium that can be stored by the computing device or a data storage device such as a data center containing one or more available media. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state hard disk). The computer-readable storage medium includes instructions that instruct the computing device to execute a method for creating a mirror point at a network node, or instruct the computing device to execute a method for creating a mirror point at a network node.

[0167] The above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the aforementioned embodiments, a person skilled in the art should understand that the technical solutions described in the aforementioned embodiments may still be modified, or some of the technical features may be replaced by equivalents. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the protection scope of the technical solutions of the embodiments of the present invention.

Claims

1. A method for creating a mirror point at a network node, It is characterized in that include: Acquire a network topology structure of a target network, wherein the network topology structure is an undirected graph or a tree; Determining the flow quota of the network topology structure according to the total amount of probe flow; Acquire a mirror traffic value of a candidate node in the network topology structure, wherein the candidate node is a network node other than a preset mirror node in the network topology structure; Obtaining troubleshooting scores of candidate nodes in the network topology; Determine a maximum troubleshooting score of the network topology structure under the traffic quota of the network topology structure according to the mirror traffic value of the candidate node, the traffic quota of the network topology structure and the troubleshooting score of the candidate node; Selecting a target node group corresponding to a maximum troubleshooting score of the network topology structure from all candidate nodes of the network topology structure; A mirror point is created on each node of the target node group.

2. The method according to claim 1, It is characterized in that The obtaining of the network topology structure of the target network comprises: obtaining an undirected graph of the target network, and dividing the undirected graph into a plurality of trees; Determining the flow quota of the network topology structure according to the total amount of probe flow includes: determining the flow quota of the tree according to the total number of network nodes of the undirected graph, the total number of network nodes of the tree and the total amount of probe flow.

3. The method according to claim 2, It is characterized in that The step of dividing the undirected graph into a plurality of trees comprises: Step A: Selecting a bottom-level mirror node from the mirror nodes of the undirected graph as a root node; Step B: Generate a tree with the bottom image node as the root node; Step C: removing the tree with the bottom image node as the root node from the undirected graph; Iteratively execute the above steps A to C until the undirected graph does not include a preset mirror node; Step D: Randomly select a top-level node from the remaining network nodes in the undirected graph as a root node; Step E: Generate a tree with the top-level node as the root node; Step F: removing the tree with the top-level node as the root node from the undirected graph; Steps D to F are iteratively executed until the undirected graph has no network nodes.

4. The method according to claim 1, It is characterized in that The determining, according to the mirrored traffic value of the candidate node, the traffic quota of the network topology structure and the troubleshooting score of the candidate node, the maximum troubleshooting score of the network topology structure under the traffic quota of the network topology structure comprises: Sorting the m candidate nodes of the network topology structure; Obtaining n flow quotas and m node groups, wherein a maximum flow quota among the n flow quotas is equal to a flow quota of the network topology structure; For each traffic quota, determining a maximum troubleshooting score for the first node group when the mirrored traffic value of the first node group is less than or equal to the traffic quota; Selecting the jth node group from the remaining m-1 node groups in ascending order, wherein the jth node group includes the first j candidate nodes, where j is a positive integer variable less than or equal to m; For each traffic quota, determine that the maximum troubleshooting score of the j-th node group is the maximum value of the first troubleshooting score and the second troubleshooting score when the mirrored traffic value of the j-th node group is less than or equal to the traffic quota, the first troubleshooting score is the maximum troubleshooting score of the j-1th node group when the mirrored traffic value of the j-1th node group is less than or equal to the traffic quota, and the second troubleshooting score is the maximum troubleshooting score of the j-1th node group when the mirrored traffic value of the j-1th node group is less than or equal to the traffic quota minus the mirrored traffic value of the j-th candidate node; Determine that a maximum troubleshooting score of the network topology structure under a flow quota of the network topology structure is equal to the maximum troubleshooting score of the mth node group when the mirrored flow value of the mth node group is less than or equal to the maximum flow quota.

5. The method according to claim 4, It is characterized in that The step of selecting a target node group corresponding to the maximum troubleshooting score of the network topology structure from all candidate nodes of the network topology structure comprises: Setting the initial value of j to m; When the first troubleshooting score corresponding to the j-th node group is greater than the second troubleshooting score corresponding to the j-th node group, it is determined that the j-th candidate node does not belong to the target node group; When the first troubleshooting score corresponding to the j-th node group is less than or equal to the second troubleshooting score corresponding to the j-th node group, it is determined that the j-th candidate node belongs to the target node group; When j is greater than 1, obtain the first troubleshooting score of the j-1th node group and the second troubleshooting score of the j-1th node group according to the maximum value of the first troubleshooting score corresponding to the j-th node group and the second troubleshooting score corresponding to the j-th node group; update j to j-1, triggering the execution of the steps of determining that the j-th candidate node does not belong to the target node group when the first troubleshooting score corresponding to the j-th node group is greater than the second troubleshooting score corresponding to the j-th node group; and determining that the j-th candidate node belongs to the target node group when the first troubleshooting score corresponding to the j-th node group is less than or equal to the second troubleshooting score corresponding to the j-th node group.

6. The method according to any one of claims 1 to 5, It is characterized in that The obtaining of troubleshooting scores of candidate nodes in the network topology structure includes: Obtain the service quality score of the business transmitted by the candidate mirror port; The troubleshooting score of the candidate node is determined as a weighted sum of the service quality scores of the services transmitted by all candidate mirror ports in the candidate node.

7. The method according to any one of claims 1 to 5, It is characterized in that The obtaining of troubleshooting scores of candidate nodes in the network topology structure includes: Obtain the service level of the business transmitted by the candidate mirror port; Determine a troubleshooting score of the candidate mirror port corresponding to the service level; The troubleshooting score of the candidate node is determined as a weighted sum of the troubleshooting scores of all candidate mirror ports in the candidate node.

8. The method according to any one of claims 1 to 5, It is characterized in that The obtaining of troubleshooting scores of candidate nodes in the network topology structure includes: Get the usage time of the candidate node; The troubleshooting score of the candidate node corresponding to the usage time of the candidate node is determined according to the corresponding relationship between the usage time and the troubleshooting score, in which the usage time of the candidate node is positively correlated with the troubleshooting score of the candidate node.

9. The method according to any one of claims 1 to 5, It is characterized in that The obtaining of troubleshooting scores of candidate nodes in the network topology structure includes: Get the reliability score of the candidate node; The troubleshooting score of the candidate node corresponding to the reliability score of the candidate node is determined according to the corresponding relationship between the reliability score and the troubleshooting score, in which the reliability score of the candidate node is positively correlated with the troubleshooting score of the candidate node.

10. The method according to any one of claims 1 to 5, It is characterized in that The obtaining of troubleshooting scores of candidate nodes in the network topology structure includes: Obtaining a troubleshooting feature value set of the candidate node, the troubleshooting feature value set including at least two of a quality of service score of a service transmitted by a candidate mirror port in the candidate node, a service level of a service transmitted by the candidate mirror port, a usage time of the candidate node, or a reliability score of the candidate node; Normalizing the troubleshooting feature values ​​of the troubleshooting feature value set; Determine that the troubleshooting score of the candidate node is equal to the weighted sum of the normalized troubleshooting feature values.

11. The method according to any one of claims 1 to 5, It is characterized in that The obtaining of troubleshooting scores of candidate nodes in the network topology structure includes: Determine a characteristic node set from the network topology, wherein the characteristic nodes in the characteristic node set include mirror nodes and / or rack switches; Determining a first feature node subset and a second feature node subset from the feature node set, wherein the first feature node subset includes a plurality of feature nodes at the same layer connected to the same mirror node, and the second feature node subset is obtained by removing the first feature node subset from the feature node set; Searching for an upper-layer mirror node and a lower-layer feature node of the candidate node in the second feature node subset; When the second feature node subset includes an upper-layer mirror node of the candidate node, a first path average value is calculated according to a path length from the candidate node to a target upper-layer mirror node and a path length from the candidate node to all lower-layer feature nodes, and the first path average value is used as a troubleshooting score of the candidate node, and the target upper-layer mirror node is a bottom-layer mirror node in the upper-layer mirror node of the candidate node; When the second feature node subset does not include the upper-level mirror node of the candidate node, the same-level mirror node of the candidate node is determined in the second feature node subset, and a second path average value is calculated according to the path length from the candidate node to each same-level mirror node and the path length from the candidate node to all lower-level feature nodes, and the second path average value is used as the troubleshooting score of the candidate node.

12. A computing device, It is characterized in that include: An acquisition module, used to acquire a network topology structure of a target network, wherein the network topology structure is an undirected graph or a tree; Determining the flow quota of the network topology structure according to the total amount of probe flow; Acquire a mirror traffic value of a candidate node in the network topology structure, wherein the candidate node is a network node other than a preset mirror node in the network topology structure; A scoring module, used to obtain troubleshooting scores of candidate nodes in the network topology structure; A selection module is used to determine the maximum troubleshooting score of the network topology structure under the traffic quota of the network topology structure according to the mirror traffic value of the candidate node, the traffic quota of the network topology structure and the troubleshooting score of the candidate node; and determine a target node group corresponding to the maximum troubleshooting score of the network topology structure from all candidate nodes of the network topology structure; A creation module is used to create a mirror point on each node of the target node group.

13. The device according to claim 12, It is characterized in that The acquisition module is specifically used to acquire an undirected graph of the target network, divide the undirected graph into multiple trees, and determine the traffic quota of the tree according to the total number of network nodes of the undirected graph, the total number of network nodes of the tree and the total amount of probe traffic.

14. The device according to claim 13, It is characterized in that The acquisition module is specifically used to perform the following steps: Step A: Selecting a bottom-level mirror node from the mirror nodes of the undirected graph as a root node; Step B: Generate a tree with the bottom image node as the root node; Step C: removing the tree with the bottom image node as the root node from the undirected graph; Iteratively execute the above steps A to C until the undirected graph does not include a preset mirror node; Step D: Randomly select a top-level node from the remaining network nodes in the undirected graph as a root node; Step E: Generate a tree with the top-level node as the root node; Step F: removing the tree with the top-level node as the root node from the undirected graph; Steps D to F are iteratively executed until the undirected graph has no network nodes.

15. The device according to claim 12, It is characterized in that The selection module is specifically used to sort the m candidate nodes of the network topology structure; obtain n traffic quotas and m node groups; for each traffic quota, determine the maximum troubleshooting score of the first node group when the mirror traffic value of the first node group is less than or equal to the traffic quota; select the jth node group from the remaining m-1 node groups in ascending order; for each traffic quota, determine that the maximum troubleshooting score of the jth node group when the mirror traffic value of the jth node group is less than or equal to the traffic quota is the maximum value of the first troubleshooting score and the second troubleshooting score, the first troubleshooting score is the maximum troubleshooting score of the j-1th node group when the mirror traffic value of the j-1th node group is less than or equal to the traffic quota, and the second troubleshooting score is the maximum troubleshooting score of the j-1th node group when the mirror traffic value of the j-1th node group is less than or equal to the traffic quota minus the mirror traffic value of the jth candidate node; Determine that a maximum troubleshooting score of the network topology structure is equal to the maximum troubleshooting score of the mth node group when the mirrored traffic value of the mth node group is less than or equal to the maximum traffic quota; Among them, the maximum flow quota among the n flow quotas is equal to the flow quota of the network topology structure, the j-th node group includes the first j candidate nodes, and j is a positive integer variable less than or equal to m.

16. The device according to claim 15, It is characterized in that The selection module is specifically used to set the initial value of j to m; when the first troubleshooting score corresponding to the jth node group is greater than the second troubleshooting score corresponding to the jth node group, determine that the jth candidate node does not belong to the target node group; when the first troubleshooting score corresponding to the jth node group is less than or equal to the second troubleshooting score corresponding to the jth node group, determine that the jth candidate node belongs to the target node group; when j is greater than 1, obtain the first troubleshooting score of the j-1th node group and the second troubleshooting score of the j-1th node group according to the maximum value of the first troubleshooting score corresponding to the jth node group and the second troubleshooting score corresponding to the jth node group; update j to j-1, triggering the selection module to execute the steps of determining that the jth candidate node does not belong to the target node group when the first troubleshooting score corresponding to the jth node group is greater than the second troubleshooting score corresponding to the jth node group; and determining that the jth candidate node belongs to the target node group when the first troubleshooting score corresponding to the jth node group is less than or equal to the second troubleshooting score corresponding to the jth node group.

17. The device according to any one of claims 12 to 16, It is characterized in that The scoring module is specifically used to obtain the service quality score of the business transmitted by the candidate mirror port; determine the troubleshooting score of the candidate node as the weighted sum of the service quality scores of the business transmitted by all candidate mirror ports in the candidate node.

18. The device according to any one of claims 12 to 16, It is characterized in that The scoring module is specifically used to obtain the service level of the business transmitted by the candidate mirror port; determine the troubleshooting score of the candidate mirror port corresponding to the service level; determine the troubleshooting score of the candidate node as the weighted sum of the troubleshooting scores of all candidate mirror ports in the candidate node.

19. The device according to any one of claims 12 to 16, It is characterized in that The scoring module is specifically used to obtain the usage time of the candidate node; determine the troubleshooting score of the candidate node corresponding to the usage time of the candidate node according to the corresponding relationship between the usage time and the troubleshooting score, and in the corresponding relationship between the usage time and the troubleshooting score, the usage time of the candidate node is positively correlated with the troubleshooting score of the candidate node.

20. The device according to any one of claims 12 to 16, It is characterized in that The scoring module is specifically used to obtain the reliability score of the candidate node; determine the troubleshooting score of the candidate node corresponding to the reliability score of the candidate node according to the corresponding relationship between the reliability score and the troubleshooting score, and in the corresponding relationship between the reliability score and the troubleshooting score, the reliability score of the candidate node is positively correlated with the troubleshooting score of the candidate node.

21. The device according to any one of claims 12 to 16, It is characterized in that The scoring module is specifically used to obtain a troubleshooting feature value set of the candidate node, wherein the troubleshooting feature value set includes at least two of the service quality score of the service transmitted by the candidate mirror port, the service level of the service transmitted by the candidate mirror port, the usage time of the candidate node, or the reliability score of the candidate node; normalize the troubleshooting feature values ​​of the troubleshooting feature value set; and determine that the troubleshooting score of the candidate node is equal to the weighted sum of the normalized troubleshooting feature values.

22. The device according to any one of claims 12 to 16, It is characterized in that The scoring module is specifically used to determine a feature node set from the undirected graph, determine a first feature node subset and a second feature node subset from the feature node set; and search for an upper-layer mirror node and a lower-layer feature node of the candidate node in the second feature node subset; When the second feature node subset includes an upper-layer mirror node of the candidate node, calculating a first path average value according to a path length from the candidate node to a target upper-layer mirror node and a path length from the candidate node to all lower-layer feature nodes, and using the first path average value as a troubleshooting score for the candidate node; When the second feature node subset does not include the upper-layer mirror node of the candidate node, the same-layer mirror node of the candidate node is determined in the second feature node subset, a second path average value is calculated according to the path length from the candidate node to each same-layer mirror node and the path length from the candidate node to all lower-layer feature nodes, and the second path average value is used as the troubleshooting score of the candidate node; wherein the feature nodes in the feature node set include mirror nodes and / or rack switches, the first feature node subset includes multiple same-layer feature nodes connected to the same mirror node, the second feature node subset is obtained by removing the first feature node subset from the feature node set, and the target upper-layer mirror node is a bottom-layer mirror node in the upper-layer mirror node of the candidate node.

23. A computing device, It is characterized in that The computer comprises a processor and a memory; the processor is used to execute instructions stored in the memory, so that the computing device executes the method according to any one of claims 1 to 11.

24. A computer-readable storage medium, It is characterized in that The method comprises computer program instructions, which, when executed by a computing device, perform the method according to any one of claims 1 to 11.

25. A computer program product comprising instructions, It is characterized in that When the instructions are executed by a computing device, the computing device is caused to perform the method according to any one of claims 1 to 11.