Network topology domain division method and related device
By calculating the hybrid weights of the target link and generating a set of wandering sequences, the problems of load imbalance and communication instability in the network domain are solved, and a network topological domain method of load balancing and communication stability is realized.
Patent Information
- Application Number
- CN202311279912.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-09-28
- Publication Date
- 2025-03-28
AI Technical Summary
The existing network domain method has problems of load imbalance and instability in network communication, especially when the physical distance between nodes is relatively long.
By comprehensively considering the network quality factors and dynamic traffic conditions of the target link, the mixed weight of the target link is calculated and a set of wandering sequences is generated. These sequences are used to calculate the feature vectors of each node in the network topology, thereby allocating nodes to multiple domains.
Load balancing between different regions is realized, and the distance between nodes in the domain is relatively close, enhancing the stability of network communication.
Smart Images

Figure CN119728439A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of communication networks, and in particular to a method and related devices for network topology domain division. Background Art
[0002] By dividing a larger network into multiple independent regions or sub-networks, a high degree of autonomy within the domain and coordinated transmission between domains can be achieved, thereby significantly improving the scalability of the network.
[0003] Currently, the solutions for network domain division include: dividing the area according to the node location coordinates, for example, taking rooms or floors as units, all nodes in the same room or on the same floor are in the same networking area; dividing the area according to the node neighborhood range, for example: selecting the central node, and then treating all nodes within one hop or multiple hops of each central node as the same networking area.
[0004] However, when dividing the regions according to the node location coordinates, there is a problem of load imbalance between different regions; when dividing the regions according to the node neighborhood range, the physical distance between some nodes is far, and the network communication is unstable. Summary of the invention
[0005] The embodiment of the present application provides a method and related device for network topology domain division, which comprehensively considers the network quality factors of the target link and the dynamic traffic conditions on the link, calculates the mixed weight of the target link and generates a set of wandering sequences, and calculates the characteristic vectors of each node in the network topology through the wandering sequence set to achieve the division of each node in the network into multiple domains. Through this method, the problem of load imbalance between different areas and the problem of unstable network communication due to the long physical distance between nodes are avoided.
[0006] In a first aspect, an embodiment of the present application provides a method for dividing a network topology into domains, including:
[0007] Determine the mixed weights of all target links in the network topology, wherein the target link refers to a link from a first node to a second node, and the first node and the second node are any two adjacent nodes in the network topology; wherein the mixed weight of the target link is obtained by weighting the network quality weight of the target link and the traffic weight of the target link, wherein the network quality weight of the target link reflects the quality of the network quality of the target link, and the traffic weight of the target link reflects the amount of traffic on the target link;
[0008] A set of walking sequences satisfying specified conditions is generated according to the mixed weights of all the target links, wherein the specified conditions include one or more of specifying a starting point of the walking sequence, specifying a walking rule, specifying a length of the walking sequence, and specifying a number of the walking sequences.
[0009] It can be seen that in the embodiment of the present application, by comprehensively considering the network performance and traffic conditions of the target link, a wandering sequence set is generated after calculating the mixed weight of the target link, and the generated wandering sequence set is used to calculate the characteristic vectors of each node in the network topology. Therefore, by implementing the embodiment of the present application, the nodes in the network can be allocated to multiple domains. This helps to achieve load balancing between different regions. In addition, the nodes in the domain are close to each other, which helps to enhance the stability of network communication.
[0010] Based on the first aspect, in a possible implementation:
[0011] The network quality weight of the target link is determined according to the strength of a signal received by the second node, where the signal is sent by the first node.
[0012] It can be seen that in the embodiment of the present application, by considering the signal strength received by the second node as the network quality weight, it helps to select a target link with a higher signal strength, thereby improving the stability and speed of data transmission and ensuring reliable data transmission.
[0013] Based on the first aspect, in a possible implementation:
[0014] The traffic weight of the target link refers to the proportion of the traffic on the link with the first node as the source node and the second node as the destination node to all the traffic passing through the target link within a preset time interval.
[0015] It can be seen that in the embodiment of the present application, determining the network quality weight of the target link according to the distance between the first node and the second node helps to optimize network performance, reduce latency, and improve network reliability. Therefore, implementing the embodiment of the present application can help to enhance the reliability of data transmission, ensure stable data transmission, and thus improve the user experience.
[0016] Based on the first aspect, in a possible implementation, the walking rule includes:
[0017] Determine the maximum value of the mixed weights of the links from the starting point of the walking sequence to the adjacent nodes, and use the node adjacent to the starting point of the walking sequence on the link corresponding to the maximum value as the second node of the walking sequence;
[0018] Determining whether the walking sequence satisfies the length of the walking sequence;
[0019] If yes, the walking sequence is obtained;
[0020] If not, determining the maximum value of the mixed weights of the links from the second node to the adjacent nodes, and taking the node adjacent to the second node on the link corresponding to the maximum value as the third node of the walking sequence;
[0021] And so on, until the walking sequence that meets the length of the walking sequence is obtained.
[0022] It can be seen that in the embodiment of the present application, when generating a walking sequence set, the maximum value of the mixed weights of the links from the starting point of the walking sequence to the adjacent nodes is considered, which helps to select the best link, achieve load balancing, adapt to different network conditions, reduce data loss, and improve user experience.
[0023] Based on the first aspect, in a possible implementation, the specified condition includes:
[0024] Each node in the network topology is taken as the starting point of the walking sequence to generate the walking sequence with a specified length of the walking sequence.
[0025] It can be seen that in the embodiment of the present application, by taking each node in the network topology as the starting point of the walking sequence and generating a walking sequence of a specified length according to the walking rule, a diverse walking sequence can be obtained, covering different paths in the network, which helps to extract more comprehensive network features and provides a large amount of data sets for calculating node feature vectors.
[0026] Based on the first aspect, in a possible implementation manner, the method further includes:
[0027] The number of nodes in each of the plurality of domains is the same.
[0028] It can be seen that in the embodiment of the present application, by dividing the network into domains so that the number of nodes in each domain is the same, the resource utilization of each domain is more balanced, avoiding the situation where a certain domain is overloaded and the performance of the entire network is reduced, thereby improving the stability and reliability of the network, and significantly improving the scalability of the network.
[0029] In a second aspect, the present application provides a network topology domain division device, including:
[0030] A determination module, used to determine the mixed weights of all target links in the network topology, wherein the target link refers to a link from a first node to a second node, and the first node and the second node are any two adjacent nodes in the network topology; wherein the mixed weight of the target link is obtained by weighting the network quality weight of the target link and the traffic weight of the target link, wherein the network quality weight of the target link reflects the quality of the network quality of the target link, and the traffic weight of the target link reflects the amount of traffic on the target link;
[0031] A walking sequence generating module, configured to generate a walking sequence set satisfying a specified condition according to the mixed weights of all the target links, wherein the specified condition comprises one or more of specifying a starting point of the walking sequence, specifying a walking rule, specifying a length of the walking sequence, and specifying a number of the walking sequences;
[0032] A feature vector generation module, used to generate a feature vector of each node in the network topology according to the wandering sequence set;
[0033] The domain division module is used to divide each node in the network topology into multiple domains based on the feature vector of each node in the network topology.
[0034] Based on the second aspect, in a possible implementation, the network quality weight of the target link is determined according to the strength of a signal received by the second node, where the signal is sent by the first node.
[0035] Based on the second aspect, in a possible implementation, the traffic weight of the target link refers to the proportion of the traffic on the link with the first node as the source node and the second node as the destination node to all the traffic passing through the target link within a preset time interval.
[0036] Based on the second aspect, in a possible implementation, the walking sequence generation module is used to:
[0037] Determine the maximum value of the mixed weights of the links from the starting point of the walking sequence to the adjacent nodes, and use the node adjacent to the starting point of the walking sequence on the link corresponding to the maximum value as the second node of the walking sequence;
[0038] Determining whether the walking sequence satisfies the length of the walking sequence;
[0039] If yes, the walking sequence is obtained;
[0040] If not, determining the maximum value of the mixed weights of the links from the second node to the adjacent nodes, and taking the node adjacent to the second node on the link corresponding to the maximum value as the third node of the walking sequence;
[0041] And so on, until the walking sequence that meets the length of the walking sequence is obtained.
[0042] Based on the second aspect, in a possible implementation, the walking sequence generation module is used to:
[0043] Each node in the network topology is taken as the starting point of the walking sequence to generate the walking sequence with a specified length of the walking sequence.
[0044] Based on the second aspect, in a possible implementation manner, the number of nodes in each of the multiple domains is the same.
[0045] Each functional module in the second aspect is used to implement the method described in the first aspect and any possible implementation manner of the first aspect.
[0046] In a third aspect, the present application provides a computing device cluster, comprising at least one computing device, wherein the at least one computing device comprises a memory and a processor, and 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 and any one of the implementation methods of the first aspect.
[0047] In a fourth aspect, the present application provides a computer storage medium, comprising program instructions, which, when executed on a computing device cluster, enables the computing device cluster to execute the method described in the first aspect and any one of the implementations of the first aspect.
[0048] In a fifth aspect, the present application provides a computer program product, including program instructions. When the program instructions are executed on a computing device cluster, the computing device cluster executes the method described in the first aspect and any one of the implementations of the first aspect.
[0049] In a sixth aspect, the present application provides a computer program product, including program instructions, which, when executed on a computing device cluster, enable the computing device cluster to execute the method described in the first aspect and any one of the implementations of the first aspect. BRIEF DESCRIPTION OF THE DRAWINGS
[0050] Figure 1 It is a schematic diagram of a system architecture provided by this application;
[0051] Figure 2It is a flowchart of a network topology domain division method provided by the present application;
[0052] Figure 3 It is a schematic diagram of the structure of a network provided by this application;
[0053] Figure 4 It is a schematic diagram of calculating the hybrid weight of the target link in the network topology provided by the present application;
[0054] Figure 5 It is a schematic diagram of a flow chart of generating a walking sequence provided by the present application;
[0055] Figure 6 It is a schematic diagram of generating a walking sequence provided by the present application;
[0056] Figure 7 It is a structural diagram of the word vector generation model provided by this application;
[0057] Figure 8 This is an example diagram of the node partitioning results provided for this application;
[0058] Fig. 9 A schematic diagram of the structure of a network topology domain division device provided in this application;
[0059] Fig.10 A schematic diagram of the structure of a computing device provided for this application;
[0060] Fig.11 A schematic diagram of the structure of a computing device cluster provided for this application;
[0061] Fig.12 A schematic diagram of the structure of another computing device cluster provided in this application. DETAILED DESCRIPTION
[0062] The embodiments of the present application are described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, rather than all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of this application.
[0063] It should be noted that the terms used in the embodiments of the present application are only for the purpose of describing specific embodiments, and are not intended to limit the present application. The singular forms of "a", "said" and "the" used in the embodiments of the present application and the appended claims are also intended to include plural forms, unless the context clearly indicates other meanings.
[0064] It should be noted that when used in this specification and the appended claims, the terms "comprises" and any of their variations are intended to cover non-exclusive inclusions. For example, a system, product or device including a series of units / devices is not limited to the listed units / devices, but may optionally include units / devices not listed, or may also optionally include other units / devices inherent to these products or devices.
[0065] It will also be understood that the term “if” may be interpreted as “when” or “upon” or “in response to determining” or “in response to detecting” or “in the event of…” depending on the context.
[0066] This application provides a system, see Figure 1 , Figure 1 A schematic diagram of a system architecture provided for this application, wherein the system includes a computing device and multiple nodes.
[0067] Multiple nodes make up the underlying network. Each of the multiple nodes can be a router, switch, or a mobile phone, computer, wearable device, etc. For example, in a home network, a family shares a large-scale wireless network. The multiple nodes in the network include mobile phones, wristbands, desktop computers, routers, switches and other network devices used by each user in the family.
[0068] The computing device can be a desktop computer, laptop, server and other devices. The computing device can also be a controller in a software defined network (SDN). In the SDN architecture, the controller can be used to maintain the network topology information and network status information of the underlying network, including the collection of network topology, calculation of routing strategies, generation and distribution of forwarding strategies, network management and control, etc.
[0069] In this application, the computing device is used to divide the network composed of multiple nodes into domains, that is, to divide a large-scale network into multiple domains. A domain can be understood as a sub-network. Nodes in each domain can communicate with each other, and multiple domains can also communicate with each other. By dividing the entire network into domains, it is easier to manage the entire network.
[0070] Figure 1 as well as Figure 1 The description of the content is merely an example and does not constitute a limitation of the present application.
[0071] based on Figure 1 The system architecture described above, this application provides a network topology domain division method, which can be applied to home networks, office networks, campus networks, etc., and is used to divide home networks, office networks, and campus networks into multiple domains. Figure 2 , Figure 2 A flowchart of a network topology domain division method provided in this application, the method includes but is not limited to the description of the following content.
[0072] S101. A computing device determines hybrid weights of all target links in a network topology.
[0073] The network includes multiple nodes, one of which may be a router, switch, laptop, desktop computer, mobile phone or other electronic device, etc. The computing device may be, for example, a cloud server, virtual machine, container, etc. The computing device may collect network topology information in the network, and the network topology information includes information of each node in the network and the connection relationship between each node.
[0074] The target link refers to the link from the first node to the second node, where the first node and the second node are any two adjacent nodes in the network topology. Figure 3 , Figure 3 A schematic diagram of a network structure provided in the present application, wherein the network includes nodes A, B, C, D, E and F. Figure 3 If the first node is A, the second node can be C. Figure 3 If the first node is node C, the second node can be node A, node B, or node D.
[0075] In this application, the target link has directionality, and the direction of the target link refers to the direction from the first node to the second node. For example, Figure 3 In the example, if the first node is node A and the second node is node C, the target link refers to the link from node A to node C; if the first node is node C and the second node is node A, the target link refers to the link from node C to node A; if the first node is node D and the second node is node E, the target link refers to the link from node D to node E; if the first node is node D and the second node is node F, the target link refers to the link from node D to node F.
[0076] The network topology includes many target links. The computing device determines the mixed weights of all target links in the network topology, which means that for any target links formed by any two adjacent nodes in the network topology, the computing device calculates the mixed weights of each target link.
[0077] The hybrid weight of the target link is obtained by weighting the network quality weight of the target link and the traffic weight of the target link. The network quality weight of the target link reflects the quality of the network of the target link, and the traffic weight of the target link reflects the amount of traffic on the target link.
[0078] The network quality weight of the target link reflects the quality of the network quality of the target link. In one embodiment, the network quality weight of the target link can be determined based on the strength of the signal received by the second node. Since the directionality of the target link is from the first node to the second node, the network quality weight of the target link can be determined based on the strength of the signal sent by the first node received by the second node. Specifically, a mapping relationship between the strength of the signal and the network quality weight is set in the computing device, and the computing device obtains the network quality weight based on the strength of the signal received by the second node and the mapping relationship. Among them, the mapping relationship in the computing device can be a mapping table or a mapping function, which is not limited in this application.
[0079] Optionally, the value range of the network quality weight of the target link may be a decimal between 0 and 1.
[0080] In another embodiment, the computing device may determine the network quality weight of the target link according to the distance between the first node and the second node. The network quality of the target link may be measured by the distance between the first node and the second node. For example, if the distance between the first node and the second node is large, the network quality between the two nodes is good. If the distance between the first node and the second node is small, the network quality between the two nodes is poor. Therefore, the network quality weight of the target link may also be determined by the distance between the first node and the second node.
[0081] For example, the computing device obtains the coordinate positions of the first node and the second node from the network topology information, calculates the Euclidean distance between the first node and the second node according to the coordinate positions of the first node and the second node, and uses the Euclidean distance between the first node and the second node as the network quality weight of the target link. For example, the coordinates of the first node and the second node are two-dimensional, the coordinates of the first node are (x1, y1), and the coordinates of the second node are (x2, y2). After the computing device obtains the coordinates of the first node and the second node, it calculates the Euclidean distance using the Euclidean distance calculation formula to obtain the network quality weight of the target link.
[0082] Optionally, after calculating the network quality weight of the target link according to the coordinate positions of the first node and the second node, the network quality weight may be normalized to a decimal between 0 and 1.
[0083] The traffic weight of the target link refers to the proportion of the traffic on the link with the first node as the source node and the second node as the destination node to all the traffic passing through the target link within a preset time interval. The traffic weight of the target link is determined based on historical data. For example, the traffic on the link with the first node as the source node and the second node as the destination node within the five minutes before the current moment, and all the traffic passing through the target link, are determined, and the traffic weight of the target link at the current moment is obtained by dividing the former by the latter.
[0084] Among them, all traffic passing through the target link includes the following situations: traffic with the first node as the source node and the second node as the destination node; traffic with the first node as the source node, passing through the second node but not with the second node as the destination node; traffic passing through the first node but not with the first node as the source node and with the second node as the destination node; traffic passing through the first node but not with the first node as the source node and passing through the second node but not with the second node as the destination node. Within a preset time interval, the traffic on the link with the first node as the source node and the second node as the destination node is divided by all traffic passing through the target link, and the value obtained is the traffic weight of the target link.
[0085] Optionally, the traffic weight of the target link may range from 0 to 1.
[0086] See also Figure 4 , Figure 4 A schematic diagram of the calculation of the hybrid weight of the target link in the network topology provided for this application. The hybrid weight of the target link is obtained by weighting the network quality weight of the target link and the traffic weight of the target link, α is the weighting factor of the network quality weight of the target link, and 1-α is the weighting factor of the traffic weight of the target link, wherein the value range of α is between 0 and 1 (including 0 and 1), and α is used to adjust the relative proportion of the network quality weight in the hybrid weight. The weighting factor of the network quality weight and the weighting factor of the traffic weight of the target link can be specifically determined in actual applications according to actual conditions.
[0087] The hybrid weight of the target link is obtained by weighting the network quality weight of the target link and the traffic weight of the target link, wherein the network quality weight reflects the quality of the network or the distance between the first node and the second node, and the traffic weight reflects the amount of traffic on the target link. Therefore, in the present application, when calculating the hybrid weight, multiple factors such as the quality of the network quality of the link between the first node and the second node or the distance between the first node and the second node, and the amount of traffic on the target link are considered.
[0088] When the weighting factor of the network quality weight is larger and the weighting factor of the traffic weight is smaller, more consideration is given to the network quality of the link or the distance between the first node and the second node, and less consideration is given to the amount of traffic on the target link; when the weighting factor of the network quality weight is smaller and the weighting factor of the traffic weight is larger, more consideration is given to the amount of traffic on the target link, and less consideration is given to the network quality of the link or the distance between the first node and the second node.
[0089] S102: Generate a set of walking sequences that meet specified conditions according to the mixed weights of all target links.
[0090] The walking sequence set includes multiple walking sequences. A walking sequence refers to a sequence that starts from a starting node and goes through a series of connections or paths according to certain rules or strategies to finally reach the target node.
[0091] The specified conditions include one or more of specifying the starting point of the walking sequence, specifying the walking rule, specifying the length of the walking sequence, and specifying the number of walking sequences. Specifying the starting point of the walking sequence refers to determining the node or position where the walking sequence starts. A specific node can be selected as the starting point of the walking sequence and the walking sequence starts from this starting point; specifying the walking rule refers to defining the strategy of how to move from one node to another; specifying the length of the walking sequence refers to determining the number of steps or nodes of the walking; specifying the number of walking sequences refers to determining the number of multiple different walking sequences generated, and the number of walking sequences can be one or more.
[0092] Generate the walking sequence of each node in turn according to the specified walking rule, and add the walking sequence of each node to the walking sequence set. Two embodiments of generating walking sequences are provided below. The rules for generating walking sequences can also be other rules, which are not specifically limited in this application.
[0093] In one embodiment, the process of generating a walking sequence can be found in Figure 5 , Figure 5 A flow chart of generating a wandering sequence provided for the present application. First, the computing device determines the starting point of the wandering sequence; then, the next hop node to be sampled is determined based on the probability value, wherein determining the next hop node to be sampled based on the probability value refers to determining the maximum value of the mixed weights of the links from the starting point of the wandering sequence to the adjacent nodes, and taking the node adjacent to the starting point of the wandering sequence on the link corresponding to the maximum value as the second node of the wandering sequence; then, determining whether the length of the current wandering sequence meets the length of the specified wandering sequence, if it meets the length of the specified wandering sequence, then the wandering sequence sampling is completed. If the length of the specified wandering sequence is not met, continue to sample the next hop node based on the probability until the length of the specified wandering sequence is met.
[0094] For example, see Figure 6 , Figure 6 A schematic diagram of generating a wandering sequence provided for the present application. As can be seen from the figure, the mixed weight of the target link with node A as the first node and node B as the second node is 2, the mixed weight of the target link with node A as the first node and node C as the second node is 2, the mixed weight of the target link with node A as the first node and node D as the second node is 6, the mixed weight of the target link with node D as the first node and node E as the second node is 2, and the mixed weight of the target link with node D as the first node and node F as the second node is 3. Using the mixed weight of the target link as the conditional probability, node A as the starting node, specifying the wandering sequence length as 3, and specifying the number of wandering sequences as 1. Starting from node A, the probability of selecting node B as the next hop node is 0.2, the probability of selecting node C as the next hop node is 0.2, and the probability of selecting node D as the next hop node is 0.6. The node adjacent to the starting point of the wandering sequence on the target link corresponding to the maximum probability is used as the second node of the wandering sequence, that is, node D. At this time, the length of the wandering sequence is 2, which does not meet the specified wandering sequence length of 3. Therefore, continue to generate wandering sequences to meet the specified wandering sequence length of 3. Starting from node D, the probability of selecting node E as the next hop node is 0.4, and starting from node D, the probability of selecting node F as the next hop node is 0.6. The node on the target link corresponding to the maximum probability value and adjacent to the starting point of the wandering sequence is used as the second node of the wandering sequence, that is, node F. After this process of generating wandering sequences, a wandering sequence that meets the specified wandering sequence length of 3 can be obtained, that is, {ADF}.
[0095] In another embodiment, first, the computing device determines the starting point of the walk; then, the nodes adjacent to the starting point of the walk sequence are taken as the second nodes in turn; then, it is determined whether the length of the current walk sequence meets the length of the specified walk sequence. If it meets the length of the specified walk sequence, the current walk sequence is added to the candidate walk sequence set; if it does not meet the length, the current second node is taken as the first node, and the adjacent nodes of the first node are taken as the second node, and so on, until all walk sequences that meet the length of the walk sequence are obtained and added to the candidate walk sequence set; finally, the walk sequences are selected in order from large to small according to the probability value and added to the walk sequence set, and the number selected should meet the number of specified walk sequences. For example, see Figure 6, node A is used as the starting node, the specified walking sequence length is 3, and the specified number of walking sequences is 1. Starting from node A, node A is used as the first node, and the adjacent nodes of A (node B, node C, node D) are used as the second nodes in turn, and it is judged in turn whether the length of the current walking sequence meets the specified walking sequence length of 3. It can be seen that the walking sequence lengths of node A-node B, node A-node C, and node A-node D are all 2, which do not meet the specified walking sequence length of 3. Therefore, node B, node C, and node D are used as the first node in turn, and the nodes adjacent to the first node are used as the second node. For example, node D is used as the first node, node E and node F are used as the second nodes respectively, and it is judged whether the length of the current walking sequence meets the specified walking sequence length of 3. The walking sequence lengths of the walking sequence of node A-node D-node E and the walking sequence of node A-node D-node F are both 3, which meets the specified walking sequence length. These two walking sequences are added to the candidate walking sequence set respectively. According to this method, all walking sequences in the network topology with node A as the starting node and the walking sequence length satisfying the specified walking sequence length of 3 are added to the candidate walking sequence set. The number of specified walking sequences is 1, so the walking sequence with the largest probability value is selected from the candidate walking sequence set and added to the walking sequence set.
[0096] The walking sequence determined according to the size of the mixed weight is a walking sequence that satisfies the factors considered by the user and is more in line with application requirements.
[0097] S103: Generate a feature vector of each node in the network topology according to the wandering sequence set.
[0098] Extract the features of each walking sequence in the walking sequence set, and generate the feature vector of each node. In one implementation, first encode the nodes in each walking sequence in the walking sequence set based on a certain encoding criterion, and input each encoded walking sequence into a word vector generation model. The word vector generation model is used to extract the feature vector of each node in each encoded walking sequence to obtain the feature vector of each node. In another implementation, each walking sequence in the walking sequence set is input into a word vector generation model. The word vector generation model first encodes each node in the walking sequence based on the walking sequence, and then extracts the feature vector of each node in each encoded walking sequence to obtain the feature vector of each node. The feature vector of each node is generated based on each node and the relationship between each node in each walking sequence in the walking sequence set. The relationship between each node in each walking sequence is determined based on the mixed weight of all target links. The mixed weight is determined by the user based on actual needs and considering multiple factors. Therefore, the generated feature vector of each node is calculated based on the actual needs of the user.
[0099] Optionally, after generating a set of walk sequences, the training of the word vector generation model can be facilitated by preprocessing the walk sequences. The preprocessing operations include deduplication, truncation or padding, etc., and the present application does not specifically limit the preprocessing operations. After preprocessing, the Skip-Gram algorithm in the word vector generation model can be used to train the walk sequences in the walk sequence set, and define the parameters of the word vector generation model, including: embedding dimension, window size, etc. The embedding dimension specifies the dimension size of the generated node embedding vector. In other words, it determines how many dimensions the representation of each node in the embedding space is a vector. For example, if the embedding dimension is set to 100, each node will be represented by a vector containing 100 elements. The size of the embedding dimension directly affects the expressive power of the node embedding. A larger embedding dimension can accommodate more information, so that the node embedding can better capture the complex relationship between nodes. However, a larger embedding dimension also means that more parameters need to be trained, and more data and computing resources may be required. On the contrary, a smaller embedding dimension may not be able to fully express the relationship between nodes. The window size specifies the size of the context window in the Skip-Gram algorithm. During training, the window size determines how far away the model considers nodes in the context of a node. The choice of window size affects the scope of contextual information learned by the model. A larger window size can capture a wider range of contextual information, which helps to learn a more global node representation, but may also introduce more noise. In contrast, a smaller window size will focus more on the local context and help learn the local features of the node. This application does not specifically limit the parameters and size of the word vector generation model.
[0100] See also Figure 7 , Figure 7 A structural diagram of the word vector generation model provided in the present application, in which the walk sequence set is input into the word vector generation model to obtain the feature vector of each node. For example, the walk sequence set includes the walk sequence ADF, and the output of the word vector generation model includes the feature vector of node A [1.0 0.5 0.3], the feature vector of node D [0.70.5 0.3], and the feature vector of node F [0.4 0.1 0.5].
[0101] S104. Based on the feature vector of each node in the network topology, divide each node in the network topology into multiple domains.
[0102] The feature vector of each node is input into the clustering model, and each node is clustered into multiple domains according to the feature vector of each node, wherein one domain includes one or more nodes. The present application does not limit the clustering algorithm.
[0103] Optionally, when clustering the nodes, the number of nodes contained in each domain may be made the same or similar.
[0104] Taking the example that the number of nodes contained in each domain is similar, when the total number of nodes in a network is 100 and the number of divided domains is 3, the ratio of the total number of nodes in the network to the number of divided domains is a non-positive integer, then the number of nodes in each domain will not be exactly the same, for example: the number of nodes in the first domain can be 33, the number of nodes in the second domain can be 33, and the number of nodes in the third domain can be 34; or, the number of nodes in the first domain can be 34, the number of nodes in the second domain can be 33, and the number of nodes in the third domain can be 33; or again, the number of nodes in the first domain can be 33, the number of nodes in the second domain can be 34, and the number of nodes in the third domain can be 33.
[0105] Taking the example that the number of nodes contained in each domain is the same, when the total number of nodes in a network is 100 and the number of divided domains is 4, the ratio of the total number of nodes in the network to the number of divided domains is a positive integer, so the number of nodes in the four sub-networks is 25.
[0106] The process of clustering using the K-Means model includes: first, determine the K value, which is to determine how many clusters (K value) to be divided into, and the K value is to determine how many domains the network topology needs to be divided into; then, randomly or using other initialization methods to select K initial cluster centers; then, perform an iterative process to assign each node to the nearest cluster center, and then update the cluster center to reduce the variance within the cluster. This step needs to be repeated until the convergence condition is reached (such as the cluster center no longer changes significantly); then, at each iteration, ensure that there are the same number of nodes in each cluster, which can be achieved by introducing a balance constraint in the node allocation process. When the algorithm converges, the number of nodes in each cluster will be equal, achieving clustering with the same number of nodes in each domain.
[0107] See also Figure 8 , Figure 8 This is an example diagram of the node partitioning results provided for this application. Figure 8 There are 31 nodes in the network, which are divided into four domains. The number of nodes in the domains are 8, 7, 8, and 8 respectively, which achieves a similar number of nodes in each domain in the network topology.
[0108] Understandably, if Figure 7 In the example, the feature vectors of node A, node D, and node F output by the word vector generation model are reflected in the three-dimensional coordinate system, and the distances between node A, node D, and node F are relatively close; when clustering is performed according to the clustering algorithm, the probability that node A, node D, and node F are divided into one domain is relatively high.
[0109] It can be seen that the present application comprehensively considers the network quality factors of the destination link and the dynamic traffic conditions on the link to calculate the mixed weight of the target link and generate a set of wandering sequences. The characteristic vectors of each node in the network topology are calculated through the wandering sequence set to realize the division of each node in the network into multiple domains. Among them, the mixed weight of the target link is obtained by weighting the network quality weight of the target link and the traffic weight of the target link. The network quality weight of the target link reflects the quality of the network quality of the target link or the size of the distance between the first node and the second node, and the traffic weight reflects the amount of traffic on the target link. Therefore, in the present application, when calculating the mixed weight, the quality of the network quality of the link between the first node and the second node or the size of the distance between the first node and the second node, as well as the amount of traffic on the target link are considered, avoiding the problem of load imbalance between different regions, and the problem that the nodes in the domain are close to each other, making the network communication unstable.
[0110] The present application provides a network topology domain division device. Fig. 9 , Fig. 9 A schematic diagram of a network topology domain division device 800 provided in the present application, wherein the device 800 includes:
[0111] The determination module 810 is used to determine the mixed weights of all target links in the network topology, wherein the target link refers to a link from a first node to a second node, and the first node and the second node are any two adjacent nodes in the network topology; wherein the mixed weight of the target link is obtained by weighting the network quality weight of the target link and the traffic weight of the target link, wherein the network quality weight of the target link reflects the quality of the network quality of the target link, and the traffic weight of the target link reflects the amount of traffic on the target link;
[0112] A walking sequence generating module 820 is used to generate a walking sequence set that meets a specified condition according to the mixed weights of all target links, wherein the specified condition includes one or more of a specified starting point of the walking sequence, a specified walking rule, a specified length of the walking sequence, and a specified number of walking sequences;
[0113] A feature vector generation module 830 is used to generate a feature vector of each node in the network topology according to the set of walk sequences;
[0114] The domain division module 840 is used to divide each node in the network topology into multiple domains based on the feature vector of each node in the network topology.
[0115] In a possible implementation, the network quality weight of the target link is determined according to the strength of a signal received by the second node, where the signal is sent by the first node.
[0116] In a possible implementation, the traffic weight of the target link refers to the proportion of the traffic on the link with the first node as the source node and the second node as the destination node to all the traffic passing through the target link within a preset time interval.
[0117] In a possible implementation, the walking sequence generation module 820 is used to:
[0118] Determine the maximum value of the mixed weights of the links from the starting point of the walking sequence to the adjacent nodes, and take the node adjacent to the starting point of the walking sequence on the link corresponding to the maximum value as the second node of the walking sequence;
[0119] Determine whether the walking sequence meets the length of the walking sequence;
[0120] If so, the walking sequence is obtained;
[0121] If not, determine the maximum value of the mixed weights of the links from the second node to the adjacent nodes, and use the node adjacent to the second node on the link corresponding to the maximum value as the third node of the walking sequence;
[0122] And so on, until a walking sequence that meets the walking sequence length is obtained.
[0123] In a possible implementation, the walking sequence generation module 820 is used to:
[0124] Each node in the network topology is taken as the starting point of the walking sequence to generate a walking sequence of the specified length.
[0125] In a possible implementation, the number of nodes in each of the multiple domains is the same.
[0126] Among them, the determination module 810, the walk sequence generation module 820, the feature vector generation module 830 and the domain division module 840 can all be implemented by software, or can be implemented by hardware. Exemplarily, the implementation of the determination module 810 is introduced below by taking the determination module 810 as an example. Similarly, the implementation of the walk sequence generation module 820, the feature vector generation module 830 and the domain division module 840 can refer to the implementation of the determination module 810.
[0127] As an example of a software functional unit, the module 810 may include code running on a computing device. The computing device may be a computing device in a cloud service, wherein the computing device may be, for example, a server, a virtual machine, a container, etc. Further, the computing device may be one or more. For example, the module 810 may include code running on multiple computing devices. It should be noted that the multiple computing devices used to run the code may be distributed in the same region or in different regions. Furthermore, the multiple computing devices used to run the code may be distributed in the same availability zone (AZ) or in different AZs, each AZ including one data center or multiple data centers with similar geographical locations. Generally, a region may include multiple availability zones AZ.
[0128] Similarly, multiple computing devices used to run the code can be distributed in the same virtual private cloud (VPC) or in multiple VPCs. Usually, a VPC is set 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 in each VPC to achieve interconnection between VPCs through the communication gateway.
[0129] As an example of a hardware functional unit, the determination module 810 may include at least one computing device. Alternatively, the determination module 810 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.
[0130] The multiple computing devices included in the determination module 810 may be distributed in the same region or in different regions. The multiple computing devices included in the determination module 810 may be distributed in the same AZ or in different AZs. Similarly, the multiple computing devices included in the determination module 810 may be distributed in the same VPC or in multiple VPCs. The multiple computing devices may be any combination of computing devices such as servers, ASICs, PLDs, CPLDs, FPGAs, and GALs.
[0131] It should be noted that, in other embodiments, the determination module 810 can be used to execute any step in a network topology domain segmentation method, the wandering sequence generation module 820, the feature vector generation module 830 and the domain partitioning module 840 can all be used to execute any step in a network topology domain segmentation method, and the steps that the determination module 810, the wandering sequence generation module 820, the feature vector generation module 830 and the domain partitioning module 840 are responsible for implementing can be specified as needed. By respectively implementing different steps in a network topology domain segmentation method through the determination module 810, the wandering sequence generation module 820, the feature vector generation module 830 and the domain partitioning module 840, all functions of the network topology domain segmentation device 800 are realized.
[0132] See also Fig.10 , Fig.10 This is a schematic diagram of the structure of a computing device provided in the present application. The computing device 900 may be, for example, a server, a virtual machine, a container, etc. The computing device 900 includes: a bus 902, a processor 904, a memory 906, and a communication interface 908. The processor 904, the memory 906, and the communication interface 908 communicate with each other through the bus 902. It should be understood that the present application does not limit the number of processors and memories in the computing device 900.
[0133] The bus 902 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 902 may include a path for transmitting information between various components of the computing device 900 (eg, the memory 906, the processor 904, and the communication interface 908).
[0134] The processor 904 may include any one or more of a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP).
[0135] The memory 906 may include a volatile memory, such as a random access memory (RAM). The processor 904 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).
[0136] The memory 906 stores executable program codes, and the processor 904 executes the executable program codes to respectively implement the functions of the aforementioned determination module 810, the walk sequence generation module 820, the feature vector generation module 830, and the domain division module 840, thereby implementing a network topology domain division method. That is, the memory 906 stores instructions for executing a network topology domain division method.
[0137] The communication interface 908 uses a transceiver module such as, but not limited to, a network interface card or a transceiver to implement communication between the computing device 900 and other devices or communication networks.
[0138] 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, a virtual machine, or a container, such as a central server, an edge server, or a sidecar container.
[0139] like Fig.11 As shown, Fig.11 A structural diagram of a computing device cluster provided in the present application, wherein the computing device cluster includes at least one computing device 900, and the memory 906 in one or more computing devices 900 in the computing device cluster may store the same instructions for executing a network topology domain partitioning method.
[0140] In some possible implementations, the memory 906 of one or more computing devices 900 in the computing device cluster may also store partial instructions for executing a network topology partitioning method. In other words, the combination of one or more computing devices 900 can be used to jointly execute instructions for a network topology partitioning method.
[0141] When at least one computing device in the computing device cluster is configured as the network topology domain division device 800, the memory 906 in different computing devices 900 in the computing device cluster may store different instructions, respectively used to execute part of the functions of the device 800. That is, the instructions stored in the memory 906 in different computing devices 900 may implement the functions of one or more modules among the determination module 810, the walk sequence generation module 820, the feature vector generation module 830 and the domain division module 840.
[0142] 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 schematic diagram of the structure of another computing device cluster is shown, such as Fig.12 As shown, two computing devices 900A and 900B are connected via a network. Specifically, the network is connected via a communication interface in each computing device. In this type of possible implementation, the memory 906 in the computing device 900A stores instructions for determining the function of the module 810, and the computing device 900A is used to determine the mixed weights of each target link in the network topology; the memory 906 in the computing device 900B stores instructions for executing the functions of the walk sequence generation module 820, the feature vector generation module 830 and the domain partition module 840, and the computing device 900B is used to calculate the walk sequence according to the mixed weights of each target link in 900A, and is also used to extract the feature vectors of each node in the walk sequence, and cluster each node according to the feature vectors of each node.
[0143] It should be understood that Fig.12 The functions of the computing device 900A shown in the figure may also be completed by multiple computing devices 900, or the computing device cluster may include multiple computing devices having the same functions as the computing device 900A. Similarly, the functions of the computing device 900B may also be completed by multiple computing devices 900, or the computing device cluster may include multiple computing devices having the same functions as the computing device 900B.
[0144] The present application embodiment also provides another computing device cluster. The connection relationship between the computing devices in the computing device cluster can be similar to that of Fig.11 and Fig.12The connection mode of the computing device cluster. Differently, the memory 906 in one or more computing devices 900 in the computing device cluster may store different instructions for executing a network topology domain partitioning method. In some possible implementations, the memory 906 of one or more computing devices 900 in the computing device cluster may also store partial instructions for executing a network topology domain partitioning method. In other words, a combination of one or more computing devices 900 can jointly execute instructions for executing a network topology domain partitioning method.
[0145] 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 network topology domain partitioning method.
[0146] 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 a 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 a computing device or a computing device cluster to perform a network topology domain partitioning method.
[0147] 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 network topology domain division method, characterized in that: include: Determine the mixed weights of all target links in the network topology, wherein the target link refers to a link from a first node to a second node, and the first node and the second node are any two adjacent nodes in the network topology; wherein the mixed weight of the target link is obtained by weighting the network quality weight of the target link and the traffic weight of the target link, wherein the network quality weight of the target link reflects the quality of the network quality of the target link, and the traffic weight of the target link reflects the amount of traffic on the target link; Generate a set of walking sequences that meet specified conditions according to the mixed weights of all the target links, wherein the specified conditions include one or more of specifying a starting point of the walking sequence, specifying a walking rule, specifying a length of the walking sequence, and specifying a number of the walking sequences; Generating a feature vector of each node in the network topology according to the set of walk sequences; Based on the feature vector of each node in the network topology, each node in the network topology is divided into multiple domains.
2. The method according to claim 1, characterized in that The network quality weight of the target link is determined according to the strength of a signal received by the second node, where the signal is sent by the first node.
3. The method according to claim 1 or 2, characterized in that: The traffic weight of the target link refers to the proportion of the traffic on the link with the first node as the source node and the second node as the destination node to all the traffic passing through the target link within a preset time interval.
4. The method according to any one of claims 1 to 3, characterized in that: The walking rules include: Determine the maximum value of the mixed weights of the links from the starting point of the walking sequence to the adjacent nodes, and use the node adjacent to the starting point of the walking sequence on the link corresponding to the maximum value as the second node of the walking sequence; Determining whether the walking sequence satisfies the length of the walking sequence; If yes, the walking sequence is obtained; If not, determining the maximum value of the mixed weights of the links from the second node to the adjacent nodes, and taking the node adjacent to the second node on the link corresponding to the maximum value as the third node of the walking sequence; And so on, until the walking sequence that meets the length of the walking sequence is obtained.
5. The method according to any one of claims 1 to 4, characterized in that: The specified conditions include: Each node in the network topology is taken as the starting point of the walking sequence to generate the walking sequence with a specified length of the walking sequence.
6. The method according to any one of claims 1 to 5, characterized in that: The number of nodes in each of the plurality of domains is the same.
7. A network topology domain division device, characterized in that: include: A determination module, used to determine the mixed weights of all target links in the network topology, wherein the target link refers to a link from a first node to a second node, and the first node and the second node are any two adjacent nodes in the network topology; wherein the mixed weight of the target link is obtained by weighting the network quality weight of the target link and the traffic weight of the target link, wherein the network quality weight of the target link reflects the quality of the network quality of the target link, and the traffic weight of the target link reflects the amount of traffic on the target link; A walking sequence generating module, configured to generate a walking sequence set satisfying a specified condition according to the mixed weights of all the target links, wherein the specified condition comprises one or more of specifying a starting point of the walking sequence, specifying a walking rule, specifying a length of the walking sequence, and specifying a number of the walking sequences; A feature vector generation module, used to generate a feature vector of each node in the network topology according to the wandering sequence set; The domain division module is used to divide each node in the network topology into multiple domains based on the feature vector of each node in the network topology.
8. The device according to claim 7, characterized in that The network quality weight of the target link is determined according to the strength of a signal received by the second node, where the signal is sent by the first node.
9. The method device according to claim 7 or 8, characterized in that: The traffic weight of the target link refers to the proportion of the traffic on the link with the first node as the source node and the second node as the destination node to all the traffic passing through the target link within a preset time interval.
10. The device according to any one of claims 7 to 9, characterized in that The walking sequence generation module is used for: Determine the maximum value of the mixed weights of the links from the starting point of the walking sequence to the adjacent nodes, and use the node adjacent to the starting point of the walking sequence on the link corresponding to the maximum value as the second node of the walking sequence; Determining whether the walking sequence satisfies the length of the walking sequence; If yes, the walking sequence is obtained; If not, determining the maximum value of the mixed weights of the links from the second node to the adjacent nodes, and taking the node adjacent to the second node on the link corresponding to the maximum value as the third node of the walking sequence; And so on, until the walking sequence that meets the length of the walking sequence is obtained.
11. The device according to any one of claims 7 to 10, characterized in that The walking sequence generation module is used for: Each node in the network topology is taken as the starting point of the walking sequence to generate the walking sequence with a specified length of the walking sequence.
12. The device according to any one of claims 7 to 11, characterized in that The number of nodes in each of the plurality of domains is the same.
13. A computing device cluster, characterized in that: The method comprises at least one computing device, wherein the at least one computing device comprises a memory and a processor, wherein 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 according to any one of claims 1 to 6.
14. A computer storage medium, characterized in that: The method comprises program instructions, which, when executed on a computing device cluster, enable the computing device cluster to execute the method according to any one of claims 1 to 6.
15. A computer program product, characterized in that The method comprises program instructions, which, when executed on a computing device cluster, enable the computing device cluster to execute the method according to any one of claims 1 to 6.