CN115361293A - Network topology graph partitioning method and device, terminal device and storage medium - Google Patents

Network topology graph partitioning method and device, terminal device and storage medium Download PDF

Info

Publication number
CN115361293A
CN115361293A CN202210883108.4A CN202210883108A CN115361293A CN 115361293 A CN115361293 A CN 115361293A CN 202210883108 A CN202210883108 A CN 202210883108A CN 115361293 A CN115361293 A CN 115361293A
Authority
CN
China
Prior art keywords
network
graph
point
topological
network nodes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202210883108.4A
Other languages
Chinese (zh)
Other versions
CN115361293B (en
Inventor
彭洋
段经璞
周建二
温欣
陶小峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Southwest University of Science and Technology
Peng Cheng Laboratory
Original Assignee
Southwest University of Science and Technology
Peng Cheng Laboratory
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Southwest University of Science and Technology, Peng Cheng Laboratory filed Critical Southwest University of Science and Technology
Priority to CN202210883108.4A priority Critical patent/CN115361293B/en
Publication of CN115361293A publication Critical patent/CN115361293A/en
Application granted granted Critical
Publication of CN115361293B publication Critical patent/CN115361293B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The invention discloses a network topological graph partitioning method, a device, terminal equipment and a storage medium, wherein the method comprises the following steps: acquiring a network topological graph and converting the network topological graph into an undirected graph form; setting point weight and edge weight, and carrying out aggregation processing on the network topological graph; embedding the network topological graph into a straight line by taking a cluster as a unit to form a topological line with all network nodes and communication links; splitting the topological line into a plurality of blocks, pairing the split blocks pairwise, randomly pairing sections in each paired block, and exchanging network nodes in the sections according to the paired sections to obtain the exchanged topological line; and performing dynamic planning and segmentation processing on the exchanged topological lines according to a preset cost function to obtain the cutting points of the optimal solution, and performing segmentation according to the cutting points of the optimal solution. The invention can distribute the communication link with high bandwidth requirement to the inside of the same server, reduce the occupation of the physical exchanger bandwidth and ensure the calculation load balance of each server.

Description

Network topology graph partitioning method and device, terminal device and storage medium
Technical Field
The present invention relates to the field of network node allocation technologies, and in particular, to a network topology graph partitioning method, an apparatus, a terminal device, and a storage medium.
Background
When the built network simulation system runs on a server cluster and simulates a network topology graph, if two network nodes in the network topology graph are located on different servers and need to communicate with each other, the traffic between the two network nodes needs to pass through a physical switch between the servers. If the total bandwidth requirement for communication across the servers is too high, touching the bandwidth cap of the physical switch, the overall bandwidth performance of the emulated network is affected. For this reason, communication links with high bandwidth requirements (i.e. network nodes at both ends) need to be allocated to the same server as much as possible, so as to reduce the occupation of the bandwidth of the physical switch. However, each network node of the network simulation system needs to occupy a certain amount of server computing resources (CPU core, memory, etc.), and the switch nodes and the host nodes in the network topology occupy different computing resources, so even if communication links with high bandwidth requirements (i.e., network nodes at both ends) are distributed to the inside of the same server as much as possible, it is difficult to simultaneously ensure the computing load balance of each server.
Thus, there is a need for improvements and enhancements in the art.
Disclosure of Invention
The present invention is to provide a method, an apparatus, a terminal device and a storage medium for partitioning a network topology map, aiming at solving the problem that it is difficult to simultaneously ensure the computation load balance of each server even after communication links requiring high bandwidth are allocated to the same server in the prior art.
In a first aspect, the present invention provides a network topology graph segmentation method, where the method includes:
acquiring a network topological graph, and converting the network topological graph into an undirected graph form, wherein the undirected graph form is used for reflecting all network nodes and all communication links in the network topological graph;
setting point weights and edge weights in the network topological graph, taking the edge weights as affinity, and carrying out aggregation processing on the network topological graph to combine the network nodes into a plurality of clusters, wherein the point weights are the weights of the network nodes, and the edge weights are the weights of the communication links;
embedding the network topological graph into a straight line by taking a cluster as a unit to form a topological line with all the network nodes and the communication links;
splitting the topological line into a plurality of blocks, pairing the split blocks pairwise, randomly pairing segments in each paired block, and exchanging network nodes in the segments according to the paired segments to obtain an exchanged topological line;
and dynamically planning and segmenting the exchanged topological lines according to a preset cost function to obtain cutting points of an optimal solution, and segmenting the network nodes in the network topological graph according to the cutting points of the optimal solution.
In one implementation, the setting of the point weight and the edge weight in the network topology includes:
if the network node is a host node in the network topology graph, setting the point weight of the network node to be 1;
if the network node is a switch node in the network topological graph, setting the point weight of the network node as the number of communication links connected with the network node;
and if the bandwidth requirements of all communication links in the network topology graph are the same, setting the edge weight as the number of common neighbors of the network nodes at two ends.
In one implementation, the edge weights are self-defined based on a front-end interactive interface of the network simulation system.
In one implementation, the aggregating the network topology graph with the edge weights as affinities to merge the network nodes into several clusters includes:
initializing each network node into a group with only one element by taking the number of common neighbors between the network nodes at two ends as affinity;
aiming at each group in turn, merging each group with the connected group with the largest edge weight, and deleting the edges in the two merged groups;
and repeating the steps of combining each group with the connected group with the maximum edge weight and deleting the edges in the two combined groups aiming at each group in sequence until the number of the groups is less than a preset value or the number of the aggregation rounds exceeds an upper limit, so as to combine the network nodes into a plurality of groups.
In one implementation, the splitting the topological line into a number of blocks includes:
determining the number of sub-graphs to be divided into the network topological graph;
dividing the length of the topological line into a plurality of blocks according to the number of the determined subgraphs;
if the equipartition cannot be realized, acquiring the remainder after the integral division between the length of the topological line and the number of the subgraphs;
the remainder is sequentially assigned to the previous blocks in a sequential manner.
In one implementation, the exchanging network nodes in the segment according to the paired segment to obtain the exchanged topology line includes:
for each paired segment, trying to exchange network nodes in the two segments, and acquiring the balance of the exchanged topological lines;
and if the balance meets the requirement, confirming the exchange to obtain the exchanged topological line.
In an implementation manner, the performing dynamic planning and segmentation processing on the exchanged topological lines according to a preset cost function to obtain a cut point of an optimal solution includes:
dividing the network topology graph into the number of subgraphs according to the requirement, and generating a binary sequence, wherein the binary sequence is the number generated in the process of dividing the number of the subgraphs into two to 1;
calculating the sum of point weights of all network nodes in the interval of any two network nodes in the exchanged topological line to obtain an interval point weight sum table;
calculating the sum of the edge weights of the cut edges when any point is cut in the interval of any two network nodes to obtain a cut edge weight sum table;
and calculating the binary sequence based on the point weight sum table in the interval and the point weight sum table in the interval so as to minimize the cost function and obtain a cutting point of an optimal solution.
In one implementation, the cost function is: cost = α · M + β · N;
wherein ,
Figure BDA0003764977850000041
α+β=1;
wherein n is the total number of network nodes in the network topology map; k is the number of sub-graphs to be divided into the network topological graph;
Figure BDA0003764977850000042
is the sum of the edge weights of the cut edges at a certain cutting point;
Figure BDA0003764977850000043
the value of the edge with the maximum inner edge weight of the network topological graph is obtained; the point weight standard deviation represents that a plurality of parts are formed under a certain cutting point, the point weight sum of each part is calculated, and the standard deviation among the parts is calculated; the point weight mean means that several parts are formed under a certain cut point, the sum of point weights of each part is calculated, and the mean between the parts is calculated.
In a second aspect, an embodiment of the present invention further provides a device for segmenting a network topology, where the device includes:
the topological graph definition module is used for acquiring a network topological graph and converting the network topological graph into an undirected graph form, wherein the undirected graph form is used for reflecting all network nodes and all communication links in the network topological graph;
an affinity aggregation module, configured to set a point weight and an edge weight in the network topology map, and aggregate the network topology map by using the edge weight as an affinity, so as to merge the network nodes into a plurality of clusters, where the point weight is a weight of the network node, and the edge weight is a weight of the communication link;
the linear embedding module is used for embedding the network topological graph into a straight line by taking a cluster as a unit to form a topological line with all the network nodes and the communication links;
the random exchange module is used for splitting the topological line into a plurality of blocks, pairing the split blocks pairwise, randomly pairing sections in each paired block, and exchanging network nodes in the sections according to the paired sections to obtain the exchanged topological line;
and the dynamic planning module is used for dynamically planning and segmenting the exchanged topological lines according to a preset cost function to obtain a cutting point of an optimal solution, and segmenting the network nodes in the network topological graph according to the cutting point of the optimal solution.
In one implementation, the topology map definition module includes:
a first point weight setting unit, configured to set a point weight of the network node to 1 if the network node is a host node in the network topology map;
a second point weight setting unit, configured to set a point weight of the network node to a number of communication links connected to the network node if the network node is a switch node in the network topology map;
and the edge weight setting unit is used for setting the edge weight as the number of common neighbors of the network nodes at two ends if the bandwidth requirements of all communication links in the network topology graph are the same.
In one implementation, the affinity aggregation module includes:
the node initialization unit is used for initializing each network node into a cluster with only one element by taking the number of common neighbors between the network nodes at two ends as affinity;
the group merging unit is used for merging each group and the connected groups with the maximum edge weight in sequence aiming at each group, and deleting the edges in the two merged groups;
and the repeated aggregation unit is used for repeatedly executing the steps of combining each group with the connected groups with the maximum edge weight and deleting the edges in the two combined groups aiming at each group in sequence until the group is less than a preset value or the aggregation round number exceeds an upper limit, so as to combine the network nodes into a plurality of groups.
In one implementation, the dynamic programming module includes:
the network topology graph generating unit is used for dividing the network topology graph into the number of subgraphs according to the requirement and generating a binary sequence, wherein the binary sequence is the number generated in the process of dividing the number of the subgraphs into two to 1;
a point weight sum table calculating unit, configured to calculate a sum of point weights of all network nodes in an interval between any two network nodes in the exchanged topology line, so as to obtain an intra-interval point weight sum table;
an edge weight sum table calculation unit configured to calculate an edge weight sum of edges cut off when any one point is divided in a section of any two network nodes, to obtain a cut-off edge weight sum table;
and the cutting point solving unit is used for calculating the binary sequence based on the intra-interval point weight sum table and the intra-interval point weight sum table so as to minimize the cost function and obtain the cutting point of the optimal solution.
In a third aspect, an embodiment of the present invention further provides a terminal device, where the terminal device includes a memory, a processor, and a network topology graph partitioning program that is stored in the memory and is executable on the processor, and when the processor executes the network topology graph partitioning program, the step of the network topology graph partitioning method in any of the foregoing solutions is implemented.
In a fourth aspect, an embodiment of the present invention further provides a computer-readable storage medium, where a network topology graph partitioning program is stored on the computer-readable storage medium, and when the network topology graph partitioning program is executed by a processor, the steps of the network topology graph partitioning method in any of the foregoing solutions are implemented.
Has the advantages that: compared with the prior art, the invention provides a network topological graph segmentation method, which comprises the steps of firstly obtaining a network topological graph and converting the network topological graph into an undirected graph form, wherein the undirected graph form is used for reflecting all network nodes and all communication links in the network topological graph. Then, setting a point weight and an edge weight in the network topology graph, taking the edge weight as an affinity, and performing aggregation processing on the network topology graph to merge the network nodes into a plurality of clusters, wherein the point weight is the weight of the network node, and the edge weight is the weight of the communication link. And then, embedding the network topological graph into a straight line by taking the cluster as a unit to form a topological line with all the network nodes and the communication links. Then, the topological wire is split into a plurality of blocks, the split blocks are paired pairwise, segments in each paired block are paired randomly, and network nodes in the segments are exchanged according to the paired segments to obtain the exchanged topological wire. And finally, dynamically planning and segmenting the exchanged topological lines according to a preset cost function to obtain cutting points of an optimal solution, and segmenting the network nodes in the network topological graph according to the cutting points of the optimal solution. The invention can divide the network topological graph, thereby ensuring that the communication link with high bandwidth requirement is distributed to the inside of the same server as much as possible, reducing the occupation of the bandwidth of the physical switch and simultaneously ensuring the calculation load balance of each server.
Drawings
Fig. 1 is a schematic diagram of a first way of allocating network nodes of a network topology with the aim of reducing the occupation of physical switch bandwidth.
Fig. 2 is a schematic diagram of a second way when allocating network nodes of a network topology with the aim of reducing the occupation of the physical switch bandwidth.
Fig. 3 is a schematic diagram of a first mode when the network nodes of the network topology are allocated with the goal of balancing the computational load of each server.
Fig. 4 is a schematic diagram of a second method when allocating network nodes of a network topology to aim at balancing the computational load of servers.
Fig. 5 is a flowchart of a specific implementation of a network topology graph partitioning method according to an embodiment of the present invention.
Fig. 6 is a schematic diagram of an example of a network topology.
Fig. 7 is a common neighbor graph of the network node in fig. 6 after a round of aggregation.
Fig. 8 is a topological line formed after linear embedding of the network topological graph.
Fig. 9 is a schematic diagram of random pairing and exchanging of network nodes in the network topology graph partitioning method according to the embodiment of the present invention.
Fig. 10 is a schematic diagram of a topological line formed after random variation using the topological line of fig. 8 as an example.
Fig. 11 is a diagram of a binary sequence obtained by taking the topological line formed after the random variation in fig. 10 as an example.
Fig. 12 is a functional schematic diagram of a network topology graph partitioning apparatus according to an embodiment of the present invention.
Fig. 13 is a schematic block diagram of a terminal device according to an embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and effects of the present invention clearer and clearer, the present invention is further described in detail below with reference to the accompanying drawings and examples. It should be understood that the specific embodiments described herein are merely illustrative of the invention and do not limit the invention.
In the prior art, if two nodes in a network topology are located on different servers and need to communicate with each other, traffic between them needs to pass through a physical switch between the servers. If the total bandwidth requirement for communication across the servers is too high, touching the bandwidth cap of the physical switch, the overall bandwidth performance of the emulated network is affected. For this reason, it is necessary to allocate communication links with high bandwidth requirements (i.e. network nodes at both ends) to the same server as much as possible to reduce the occupation of the physical switch bandwidth, which is the first goal. For example, as shown in fig. 1 and fig. 2, the communication link bandwidth requirement of the network topology is 10G, and it is now required to divide it into two sub-graphs and allocate them to two servers respectively. If the partitioning is done in the manner shown in fig. 1, the switch bandwidth between the two servers would be occupied by 40G. And if the partitioning is done in the manner shown in fig. 2, only 10G of switch bandwidth needs to be occupied. However, since each network node of the network simulation system needs to occupy a certain amount of server computing resources (CPU core, memory, etc.), and the computing resources occupied by the switch node and the host node in the network topology are different, even if the communication links with high bandwidth requirements (i.e., the network nodes at both ends) are allocated to the inside of the same server as much as possible, it is difficult to simultaneously ensure the computing load balance of each server. Therefore, an allocation algorithm is needed to try to balance the computational load of each server, which is the second goal. For example, as shown in fig. 3 and 4, the computing resource requirement of each point in the network topology is the number of communication links connected to the point, and now the point needs to be divided into two subgraphs and distributed to two servers respectively. If the splitting is performed in the manner shown in fig. 3, the loads of the two servers are 4 and 8, respectively, which are not balanced. When the two servers are divided as shown in fig. 4, the loads of the two servers are respectively 6 and 6, which is relatively balanced.
The first target and the second target respectively correspond to the point segmentation problem and the edge segmentation problem in the graph segmentation problem and are contradictory to a certain extent, and a solution can hardly be found to be an optimal solution of the first target and the second target simultaneously. For this reason, in a specific implementation, the embodiment first obtains a network topology map, and converts the network topology map into an undirected graph form, where the undirected graph form is used to reflect all network nodes and all communication links in the network topology map. Then, setting point weights and edge weights in the network topology graph, taking the edge weights as affinity, and performing aggregation processing on the network topology graph to merge the network nodes into a plurality of clusters, wherein the point weights are the weights of the network nodes, and the edge weights are the weights of the communication links. And then, embedding the network topological graph into a straight line by taking a cluster as a unit to form a topological line with all the network nodes and the communication links. Then, splitting the topological line into a plurality of blocks, pairing the split blocks pairwise, randomly pairing the segments in each paired block, and exchanging network nodes in the segments according to the paired segments to obtain the exchanged topological line. And finally, dynamically planning and segmenting the exchanged topological lines according to a preset cost function to obtain cutting points of an optimal solution, and segmenting the network nodes in the network topological graph according to the cutting points of the optimal solution. In the embodiment, one network topology graph is divided into a plurality of subgraphs and distributed to each server, so that the occupation of the bandwidth of a physical switch (target one) can be reduced, and the load balance of computing resources (target two) can be realized.
Exemplary method
Based on the embodiment, the network topology graph segmentation method can be applied to terminal equipment, wherein the terminal equipment is an intelligent product terminal such as a computer, a mobile phone, a tablet and the like. Specifically, as shown in fig. 5, the network topology graph partitioning method includes the following steps:
step S100, acquiring a network topological graph, and converting the network topological graph into an undirected graph form, wherein the undirected graph form is used for reflecting all network nodes and all communication links in the network topological graph.
Step S200, setting a point weight and an edge weight in the network topology graph, taking the edge weight as an affinity, and performing aggregation processing on the network topology graph to merge the network nodes into a plurality of clusters, where the point weight is a weight of the network node, and the edge weight is a weight of the communication link.
In specific implementation, the embodiment first needs to convert the network topology map into an undirected graph G (V, E), where V is a set of network nodes and represents all network nodes in the network topology map, and E is a set of edges and represents all communication links. The weight of a point is set by default in the following rule: if the network node is a Host node (Host) in the network topology graph, setting the point weight of the network node to be 1; and if the network node is a Switch node (Switch) in the network topology graph, setting the point weight of the network node as the number of communication links connected with the network node. The edge weight is set according to the following rule: and if the bandwidth requirements of all communication links in the network topology graph are the same, setting the edge weight as the number of common neighbors of the network nodes at two ends. The user can also define the edge weight of each edge on the front-end interactive interface of the network simulation system.
When aggregating network nodes, the present embodiment includes the following steps:
step S201, initializing each network node into a cluster with only one element by taking the number of common neighbors between two network nodes or a preset value during creation as affinity;
step S202, aiming at each group in sequence, merging each group with the connected group with the largest edge weight, and deleting the edges in the two merged groups;
and S203, repeatedly executing the steps of combining each group with the connected group with the largest edge weight and deleting the edges in the two combined groups aiming at each group in sequence until the group is less than a preset value or the number of aggregation rounds exceeds an upper limit, so as to combine the network nodes into a plurality of groups.
Specifically, taking fig. 6 as an example, the graph (a) in fig. 6 is a schematic diagram of the positions of the network nodes in the network topology, and it needs to be divided into two subgraphs. And then analyzing the network nodes in the graph (a) to generate a common neighbor graph shown in fig. 6 (b), wherein the edge weight of each edge is the common neighbor number of the network nodes at two ends of the edge. When affinity aggregation is performed on network nodes, starting from S1, S1 has four edges in a common neighbor graph, and the weight of the edge with the three edges is 2. In this case, any one of the three edges (e.g., S1-S4) is selected, the network nodes at both ends of the edge are merged into a blob, and S1 and S4 are marked as merged in the round, so that the mutual neighbor graph becomes as shown in fig. 7. And sequentially processing the S2, wherein the S2 has four adjacent edges in total, and the edge weights of the four adjacent edges are 1,2 and 2 respectively, so that the edges with one edge weight of 2 are selected for combination. If the edge S2-S1 is selected, merging cannot be performed, because S1 is already marked as the round is merged, a merge (e.g., S2-S5) needs to be selected from the remaining two edges, S2-S5 is deleted after merging is completed, and S2 and S5 are marked as the round is merged. S3, S4 and S5 are processed next, but are all skipped because all neighbors of S3 have been marked as merged, and S4 and S5 themselves are marked as merged. The aggregation of the network nodes in the round is finished, and then edge updating is carried out on the network nodes, wherein the updating rule is as follows: and traversing each edge, if the network nodes at the two ends of each edge do not belong to the same cluster, reserving the nodes, and if not, deleting the nodes. If multiple edges exist between two clusters after the above processing, the edges are combined into one, and the edge weights are summed up. After the above round of aggregation, the common neighbor graph becomes as shown in fig. 7. Since the scale of the network topology in the example is small, the aggregation is stopped assuming that the number of its current cliques is 3 and is already smaller than the preset value, or the number of aggregated rounds has exceeded the upper limit.
Step S300, embedding the network topology graph into a straight line by using a group as a unit, and forming a topology line having all the network nodes and the communication links.
In the embodiment, the network topology graph is embedded into a straight line by taking a cluster as a unit to form a topology line with all network nodes and communication links in the original network topology, so that the graph segmentation problem is converted into a line segmentation problem with lower time complexity.
Specifically, taking the network topology map in fig. 6 as an example, after merging the network nodes, the present embodiment embeds the network topology map into a straight line in units of cliques to form the topology line shown in fig. 8. During embedding, no requirement is made on the sequence between the cliques and the sequence of nodes in the cliques, and random embedding can be performed. After the network node is embedded into the straight line, the edge on the straight line is restored to the edge of the original common neighbor graph, that is, the edge and the edge weight are not changed, and the number enclosed in the circle in fig. 8 is the point weight of the network node.
Step S400, splitting the topological line into a plurality of blocks, pairing the split blocks pairwise, randomly pairing the segments in each paired block, and exchanging network nodes in the segments according to the paired segments to obtain the exchanged topological line.
In an implementation manner, when performing random pairing, the embodiment includes the following steps:
step S401, determining the number of subgraphs into which the network topological graph needs to be divided;
step S402, dividing the length of the topological line into a plurality of blocks according to the number of the determined subgraphs;
step S403, if the equipartition cannot be realized, acquiring a remainder after the division between the length of the topological line and the number of the subgraphs;
and step S404, distributing the remainders to the previous blocks in sequence according to the sequential searching.
Specifically, as shown in fig. 9, the embedded line is first split into a plurality of blocks (partitions), each block being split into a plurality of segments (intervals), each segment having several network nodes therein. The blocks are then paired pairwise and the segments in each paired block are randomly paired. For each pair of segments, an exhaustive attempt is made to switch the network nodes therein, and as shown in fig. 9, if the switched topology line is better balanced, i.e., the switch is applied, the switched topology line can be obtained.
In specific application, taking the topological line in fig. 8 as an example, the topological line is equally divided into q (q is the number of sub-graphs to be divided into) blocks (partitions), and if the partitioning cannot be performed, the remainder is sequentially assigned to the previous segments. If a topological line with 11 network nodes is divided into 3 parts equally, the quotient is 3, the remainder is 2, the remainder is distributed to the front, and the lengths of the three parts are 3,4,4 respectively. Since the number of network nodes at present is 5,q =2, it is divided into block 1 (S1, S4) and block 2 (S2, S5, S3). In this example, since the block is already small enough, it may not continue to be subdivided into segments (intervals), which are paired and exhaustively exchanged directly. If the size of the block is still larger than a threshold value (which can be set by self), the block is continuously subdivided into segments according to the same rule, and the number of the segments is rounded down in the direction of the length of the block. In this embodiment, block 1 has 3 points in total, and block 2 has 2 points in total, so the number of exhaustive exchanges is 6, and for each attempted exchange, the balance is determined by measuring the size of the largest block in the current global. That is, the present embodiment obtains the balance of the topology lines after switching after attempting to switch the network nodes in the two segments for each paired segment. And if the balance meets the requirement, confirming the exchange to obtain the exchanged topological line. In this embodiment, the size of a block is the sum of point weights in the block, and if the size of the largest block in the global is reduced after the swap is attempted, it indicates that the balancing is better, the swap is applied, otherwise, the swap is not applied. After exhaustion, it is found that when S1 and S3 are exchanged, the balance of the whole topological line is better, so that the topological line shown in fig. 10 is obtained by confirming the exchange.
Step S500, the exchanged topological lines are dynamically planned and segmented according to a preset cost function to obtain a cutting point of an optimal solution, and the network nodes in the network topological graph are segmented according to the cutting point of the optimal solution.
After linear embedding processing, the original network topological graph is converted into a line, and a dynamic programming condition is provided. The original segmentation problem of the network topological graph is converted into the problem of cutting on a straight line, namely: a sequence with k-1 cut points is found on a straight line with N network nodes, and the straight line is divided into k parts (partition) so that the Cost function (Cost) is minimum to solve the cut points of the optimal solution.
In an implementation manner, the step S500 specifically includes the following steps:
step S501, dividing the network topological graph into the number of subgraphs as required to generate a binary sequence, wherein the binary sequence is the number generated in the process of dividing the number of the subgraphs into two to 1;
step S502, calculating the sum of point weights of all network nodes in the interval of any two network nodes in the exchanged topological line to obtain an interval point weight sum table;
step S503, calculating the sum of the edge weights of the cut edges when any point is used for cutting in the interval of any two network nodes, and obtaining a cut edge weight sum table;
step S504, based on the intra-interval point weight sum table and the intra-interval point weight sum table, calculating the binary sequence to minimize the cost function and obtain the cutting point of the optimal solution.
Specifically, the cost function in this embodiment is: cost = α · M + β · N;
wherein ,
Figure BDA0003764977850000131
α+β=1;
wherein n is the total number of network nodes in the network topology map; k is the number of the network topological graph needing to be divided into subgraphs;
Figure BDA0003764977850000141
is the sum of the edge weights of the cut edges at a certain cutting point;
Figure BDA0003764977850000142
the value of the edge with the maximum inner edge weight of the network topological graph is obtained; the point weight standard deviation represents that a plurality of parts are formed under a certain cutting point, the point weight sum of each part is calculated, and the standard deviation among the parts is calculated; the point weight mean means that several parts are formed under a certain cut point, the sum of the point weights of each part is calculated, and the mean between the parts is calculated.
Specifically, taking the topology line formed after the random switching in fig. 10 as an example, first, the present embodiment obtains a binary sequence according to the number q of subgraphs to be divided from the network topology graph. The binary sequence is the number generated in the process of dividing q by two up to 1. As shown in FIG. 11, if one wants to divide one map into 55 subgraphs, the binary sequence generated is (1, 2,3,4,6,7,13,14,27,28, 55), while if one wants to divide one map into 16 subgraphs, the binary sequence generated is (1, 2,4,8, 16).
Then, two key tables are calculated to be checked, wherein one of the two key tables is the sum of point weights of all network nodes in the interval [ i, j ] of any two network nodes on the switched topological line (namely, for all j >, the sum of point weights of the ith network node to the j network nodes and all the network nodes between the ith network node and the j network nodes on the topological line is calculated), and the calculation of N in the cost function is facilitated. The other is the edge weight sum of the cut edge when any point k is cut in the interval [ i, j ] of any two network nodes (namely, for all j > k > i, the edge weight sum of all the edges meeting the following two conditions is calculated, wherein 1 is the edge weight sum of the edge with both ends in the interval [ i, j ], and 2 is the edge spanning the kth point on the topological line after the switching), and the calculation of M in the cost function is facilitated. The calculations for both tables have recursion formulas. Therefore, an intra-interval point weight sum table (see table 1 below) and a cut-off edge weight sum table (see table 2 below) can be obtained, and all the intervals in tables 1 and 2 are defined from left to right on a straight line.
Figure BDA0003764977850000143
Figure BDA0003764977850000151
TABLE 1
Interval [ i, j] Cutting point k Sum of cut edge weights
[1,5] After point 1 6
[1,5] After point 2 9
[1,5] After point 3 8
[1,5] After point 4 7
[1,4] After point 1 4
TABLE 2
Next, in this embodiment, all the sub-problems are calculated from small to large for the calculated binary sequence until the original problem is solved. The division shown in fig. 11 is taken as an example. In this embodiment, first, for each section with a length greater than 2 on the exchanged topological line, an optimal solution that divides the section into two parts, that is, a solution of the lowest layer subproblem, is calculated. The calculation process of the optimal solution is as follows: and searching a cutting point in the interval from left to right exhaustively, dividing the cutting point into two parts, and when the cost generated after a certain cutting point is brought into the cost function is minimum, the point is the optimal solution of the sub-problem. And storing the cutting point of the optimal solution and the cost of the cutting point in a table to be checked.
For each interval with a length greater than 3 existing on the exchanged topological line, an optimal solution for dividing the interval into two parts, namely a solution of a sub-problem of a higher layer, is calculated. In the process of searching for the cutting points, each cutting point divides the cutting point into a left part and a right part and corresponding left and right subproblems. Specifically, in the step, each cutting point divides the problem into two sub-problems, wherein the left problem is that the left half part is divided into 1 network node; and the right question divides the right half into 2 network nodes (all right question solutions and costs can be looked up in the table saved in the previous step). The cost generated by cutting at the point is the sum of the cost of the two subproblems and the extra cost of the point, and in the cost function, each key calculation parameter and the subproblem have a recurrence relation, so the calculation amount is very small. When the cost generated by a certain cutting point is minimum, the point is the optimal solution of the sub-problem, and the cutting point of the optimal solution is stored in a table to be checked.
For each interval with a length greater than 4 existing on the exchanged topological line, an optimal solution for dividing the interval into two parts, namely a solution of a sub-problem of a higher layer, is calculated. Each cutting point divides the problem into two sub-problems, and the left problem is that the left half part is divided into 2 network nodes; and the right problem divides the right half into 2 network nodes (the solutions and costs of all the left and right problems can be found by looking up in the table saved in the previous step). When the cost generated by a certain cutting point is minimum, the point is the optimal solution of the sub-problem, and the cutting point of the optimal solution is stored in a table to be checked.
For each interval with a length greater than 7 existing on the exchanged topological line, an optimal solution for dividing the interval into two parts is calculated. Each cutting point divides the problem into two sub-problems, and the left problem is that the solution and the cost of the left problem which divides the left half part into 3 network nodes can be inquired in the table saved in the last step); and the right question divides the right half into 4 network nodes (the solution and cost of all right questions can be looked up in the table saved in the last step). When the cost generated by a certain cutting point is minimum, the point is the optimal solution of the sub-problem, and the cutting point of the optimal solution is stored in a table to be checked.
……
By analogy, until q =55, the present embodiment can obtain the global optimal solution of the original problem.
The present embodiment assumes that α =0.5 and β =0.5 in the cost function, i.e., two targets are relatively balanced, and dynamically plans the two targets.
First, since the q value is already the scale of the original problem from q =2, the interval of the original problem, that is, (1, 5) can be directly calculated and divided into two parts.
Dynamic planning is listed as shown in table 3:
interval(s) Cutting point Cost of
(1,5) After point 1 0.647
(1,5) After point 2 0.53
(1,5) After point 3 0.71
(1,5) After point 4 0.75
TABLE 3
In summary, the minimum cost of the problem of the present embodiment of dividing the interval (1, 5) into two parts is to divide after point 2, i.e. to divide optimally into S3, S4 and S2, S5, S1 under the current α and β coefficients. Then, S3 and S4 are divided into one server, and S2, S5 and S1 are divided into another server. Therefore, in the embodiment, one network topological graph is divided into a plurality of subgraphs and distributed to each server, so that the occupation of the bandwidth of the physical switch can be reduced, and the load balance of the computing resources can be realized.
Exemplary devices
Based on the foregoing embodiment, the present invention further provides a network topology graph partitioning apparatus, as shown in fig. 12, the apparatus includes: the system comprises a topological graph definition module 10, an affinity aggregation module 20, a linear embedding module 30, a random exchange module 40 and a dynamic programming module 50. Specifically, the topology map definition module 10 is configured to obtain a network topology map, and convert the network topology map into an undirected graph form, where the undirected graph form is used to reflect all network nodes and all communication links in the network topology map. The affinity aggregation module 20 is configured to set a point weight and an edge weight in the network topology graph, take the edge weight as an affinity, and aggregate the network topology graph to combine the network nodes into a plurality of clusters, where the point weight is a weight of the network node, and the edge weight is a weight of the communication link. The linear embedding module 30 is configured to embed the network topology map into a straight line in units of clusters, so as to form a topology line having all the network nodes and the communication links. The random switching module 40 is configured to split the topology line into a plurality of blocks, pair every two split blocks, pair segments in each paired block randomly, and switch network nodes in the segments according to the paired segments to obtain a switched topology line. The dynamic planning module 50 is configured to perform dynamic planning and segmentation processing on the exchanged topology lines according to a preset cost function to obtain a cut point of an optimal solution, and segment the network nodes in the network topology map according to the cut point of the optimal solution.
In one implementation, the topology graph definition module 10 includes:
a first point weight setting unit, configured to set a point weight of the network node to 1 if the network node is a host node in the network topology map;
a second point weight setting unit, configured to set a point weight of the network node to a number of communication links connected to the network node if the network node is a switch node in the network topology map;
and the edge weight setting unit is used for setting the edge weight as the number of common neighbors of the network nodes at two ends if the bandwidth requirements of all the communication links in the network topology graph are the same.
In one implementation, the affinity aggregation module 20 includes:
the node initialization unit is used for initializing each network node into a cluster with only one element by taking the number of common neighbors between the network nodes at two ends as affinity;
the group merging unit is used for sequentially merging each group and the connected group with the largest edge weight aiming at each group and deleting the edges in the two merged groups;
and the repeated aggregation unit is used for repeatedly executing the steps of combining each group with the connected group with the maximum edge weight and deleting the edges in the two combined groups aiming at each group in turn until the group is less than a preset value or the aggregation round number exceeds an upper limit, so as to combine the network nodes into a plurality of groups.
In one implementation, the dynamic programming module 50 includes:
the network topology graph generating unit is used for dividing the network topology graph into the number of subgraphs according to the requirement and generating a binary sequence, wherein the binary sequence is the number generated in the process of dividing the number of the subgraphs into two to 1;
a point weight sum table calculating unit, configured to calculate a sum of point weights of all network nodes in an interval between any two network nodes in the exchanged topology line, to obtain an intra-interval point weight sum table;
an edge weight sum table calculation unit configured to calculate an edge weight sum of edges cut off when any one point is divided in a section of any two network nodes, to obtain a cut-off edge weight sum table;
and the cutting point solving unit is used for calculating the binary sequence based on the point weight sum table in the interval and the point weight sum table in the interval so as to minimize the cost function and obtain the cutting point of the optimal solution.
The working principle of each module in the network topology graph partitioning device of this embodiment is the same as the principle of each step in the method embodiments described above, and details are not described here.
Based on the above embodiments, the present invention further provides a terminal device, and a schematic block diagram of the terminal device may be as shown in fig. 13. The terminal device may include one or more processors 100 (only one shown in fig. 13), a memory 101, and a computer program 102, e.g., a network topology graph partitioning program, stored in the memory 101 and executable on the one or more processors 100. The steps in method embodiments of network topology graph partitioning can be implemented by one or more processors 100 executing computer program 102. Alternatively, one or more processors 100 may implement the functions of each module/unit in the network topology graph splitting apparatus embodiment when executing the computer program 102, which is not limited herein.
In one embodiment, processor 100 may be a Central Processing Unit (CPU), other general purpose Processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field-Programmable Gate Array (FPGA) or other Programmable logic device, discrete Gate or transistor logic, discrete hardware components, or the like. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
In one embodiment, the storage 101 may be an internal storage unit of the electronic device, such as a hard disk or a memory of the electronic device. The memory 101 may also be an external storage device of the electronic device, such as a plug-in hard disk, a Smart Memory Card (SMC), a Secure Digital (SD) card, a flash memory card (flash card), and the like provided on the electronic device. Further, the memory 101 may also include both an internal storage unit and an external storage device of the electronic device. The memory 101 is used for storing computer programs and other programs and data required by the terminal device. The memory 101 may also be used to temporarily store data that has been output or is to be output.
It will be understood by those skilled in the art that the schematic block diagram shown in fig. 13 is only a block diagram of a part of the structure related to the solution of the present invention, and does not constitute a limitation to the terminal equipment to which the solution of the present invention is applied, and a specific terminal equipment may include more or less components than those shown in the figure, or may combine some components, or have different arrangements of components.
It will be understood by those skilled in the art that all or part of the processes of the methods of the embodiments described above can be implemented by hardware related to instructions of a computer program, which can be stored in a non-volatile computer-readable storage medium, and when executed, can include the processes of the embodiments of the methods described above. Any reference to memory, storage, operational databases, or other media used in embodiments provided herein may include non-volatile and/or volatile memory. Non-volatile memory can include read-only memory (ROM), programmable ROM (PROM), electrically Programmable ROM (EPROM), electrically Erasable Programmable ROM (EEPROM), or flash memory. Volatile memory can include Random Access Memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in a variety of forms such as Static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double-rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous Link DRAM (SLDRAM), rambus (Rambus) direct RAM (RDRAM), direct Rambus Dynamic RAM (DRDRAM), and Rambus Dynamic RAM (RDRAM).
In summary, the present invention discloses a network topology graph partitioning method, which first obtains a network topology graph and converts the network topology graph into an undirected graph form, where the undirected graph form is used to reflect all network nodes and all communication links in the network topology graph. Then, setting a point weight and an edge weight in the network topology graph, taking the edge weight as an affinity, and performing aggregation processing on the network topology graph to merge the network nodes into a plurality of clusters, wherein the point weight is the weight of the network node, and the edge weight is the weight of the communication link. And then, embedding the network topological graph into a straight line by taking a cluster as a unit to form a topological line with all the network nodes and the communication links. Then, the topological wire is split into a plurality of blocks, the split blocks are paired pairwise, segments in each paired block are paired randomly, and network nodes in the segments are exchanged according to the paired segments to obtain the exchanged topological wire. And finally, dynamically planning and segmenting the exchanged topological lines according to a preset cost function to obtain cutting points of an optimal solution, and segmenting the network nodes in the network topological graph according to the cutting points of the optimal solution. The invention can divide the network topological graph, thereby ensuring that the communication links with high bandwidth requirements are distributed into the same server as much as possible, reducing the occupation of the bandwidth of the physical switch and ensuring the calculation load balance of each server.
Finally, it should be noted that: the above examples are only intended to illustrate the technical solution of the present invention, but not to limit it; although the present invention has been described in detail with reference to the foregoing embodiments, it should be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; and such modifications or substitutions do not depart from the spirit and scope of the corresponding technical solutions of the embodiments of the present invention.

Claims (14)

1. A network topology graph partitioning method, the method comprising:
acquiring a network topological graph, and converting the network topological graph into an undirected graph form, wherein the undirected graph form is used for reflecting all network nodes and all communication links in the network topological graph;
setting point weights and edge weights in the network topology graph, taking the edge weights as affinity, and carrying out aggregation processing on the network topology graph to combine the network nodes into a plurality of clusters, wherein the point weights are the weights of the network nodes, and the edge weights are the weights of the communication links;
embedding the network topological graph into a straight line by taking a cluster as a unit to form a topological line with all the network nodes and the communication links;
splitting the topological line into a plurality of blocks, pairing the split blocks pairwise, randomly pairing sections in each paired block, and exchanging network nodes in the sections according to the paired sections to obtain the exchanged topological line;
and dynamically planning and segmenting the exchanged topological lines according to a preset cost function to obtain cutting points of an optimal solution, and segmenting the network nodes in the network topological graph according to the cutting points of the optimal solution.
2. The method according to claim 1, wherein the setting of the point weight and the edge weight in the network topology comprises:
if the network node is a host node in the network topology graph, setting the point weight of the network node to be 1;
if the network node is a switch node in the network topological graph, setting the point weight of the network node as the number of communication links connected with the network node;
and if the bandwidth requirements of all communication links in the network topology graph are the same, setting the edge weight as the number of common neighbors of the network nodes at two ends.
3. The network topology graph partitioning method of claim 2, wherein the edge weight is self-defined based on a front-end interactive interface of a network simulation system.
4. The method according to claim 3, wherein the aggregating the network topology map to merge the network nodes into several clusters by using the edge weights as affinities comprises:
initializing each network node into a group with only one element by taking the number of common neighbors between the network nodes at two ends as affinity;
aiming at each clique in turn, merging each clique with the connected cliques with the maximum edge weight, and deleting edges in the two merged cliques;
and repeating the steps of combining each group with the connected group with the maximum edge weight and deleting the edges in the two combined groups aiming at each group in sequence until the number of the groups is less than a preset value or the number of the aggregation rounds exceeds an upper limit, so as to combine the network nodes into a plurality of groups.
5. The method according to claim 1, wherein the splitting the topological lines into several pieces comprises:
determining the number of subgraphs to be obtained by dividing the network topological graph;
dividing the length of the topological line into a plurality of blocks according to the number of the determined subgraphs;
if the equipartition cannot be realized, acquiring the remainder after the integral division between the length of the topological line and the number of the subgraphs;
the remainder is sequentially assigned to the previous blocks in a sequential manner.
6. The method according to claim 5, wherein the exchanging the network nodes in the segment according to the paired segments to obtain the exchanged topology lines comprises:
for each paired segment, trying to exchange network nodes in the two segments, and acquiring the balance of the exchanged topological lines;
and if the balance meets the requirement, confirming the exchange to obtain the exchanged topological line.
7. The method for segmenting the network topology according to claim 6, wherein the dynamically planning and segmenting the exchanged topology lines according to a preset cost function to obtain a cut point of an optimal solution comprises:
dividing the network topology graph into the number of subgraphs according to the requirement, and generating a binary sequence, wherein the binary sequence is the number generated in the process of dividing the number of the subgraphs into two to 1;
calculating the sum of point weights of all network nodes in the interval of any two network nodes in the exchanged topological lines to obtain an intra-interval point weight sum table;
calculating the sum of the edge weights of the cut edges when any point is cut in the interval of any two network nodes to obtain a cut edge weight sum table;
and calculating the binary sequence based on the point weight sum table in the interval and the point weight sum table in the interval so as to minimize the cost function and obtain a cutting point of an optimal solution.
8. The method of claim 7, wherein the cost function is: cost = α · M + β · N;
wherein ,
Figure FDA0003764977840000031
α+β=1;
wherein n is the total number of network nodes in the network topology map; k is the number of sub-graphs to be divided into the network topological graph;
Figure FDA0003764977840000032
is the sum of the edge weights of the cut edges at a certain division point;
Figure FDA0003764977840000033
the value of the edge with the maximum inner edge weight of the network topological graph is obtained; the point weight standard deviation represents that a plurality of parts are formed under a certain cutting point, the point weight sum of each part is calculated, and the standard deviation among the parts is calculated; the point weight mean means that several parts are formed under a certain cut point, the sum of the point weights of each part is calculated, and the mean between the parts is calculated.
9. An apparatus for partitioning a network topology, the apparatus comprising:
the topological graph definition module is used for acquiring a network topological graph and converting the network topological graph into an undirected graph form, wherein the undirected graph form is used for reflecting all network nodes and all communication links in the network topological graph;
an affinity aggregation module, configured to set a point weight and an edge weight in the network topology map, take the edge weight as an affinity, and aggregate the network topology map to combine the network nodes into a plurality of clusters, where the point weight is a weight of the network node, and the edge weight is a weight of the communication link;
the linear embedding module is used for embedding the network topological graph into a straight line by taking a group as a unit to form a topological line with all the network nodes and the communication links;
the random exchange module is used for splitting the topological line into a plurality of blocks, pairing the split blocks pairwise, randomly pairing the segments in each paired block, and exchanging network nodes in the segments according to the paired segments to obtain the exchanged topological line;
and the dynamic planning module is used for dynamically planning and segmenting the exchanged topological lines according to a preset cost function to obtain a cutting point of an optimal solution, and segmenting the network nodes in the network topological graph according to the cutting point of the optimal solution.
10. The network topology graph partitioning apparatus of claim 9, wherein the topology graph definition module comprises:
a first point weight setting unit, configured to set a point weight of the network node to 1 if the network node is a host node in the network topology map;
a second point weight setting unit, configured to set a point weight of the network node to a number of communication links connected to the network node if the network node is a switch node in the network topology map;
and the edge weight setting unit is used for setting the edge weight as the number of common neighbors of the network nodes at two ends if the bandwidth requirements of all the communication links in the network topology graph are the same.
11. The network topology graph segmenting device of claim 10, wherein the affinity aggregation module comprises:
the node initialization unit is used for initializing each network node into a cluster with only one element by taking the number of common neighbors between the network nodes at two ends as affinity;
the group merging unit is used for sequentially merging each group and the connected group with the largest edge weight aiming at each group and deleting the edges in the two merged groups;
and the repeated aggregation unit is used for repeatedly executing the steps of combining each group with the connected group with the maximum edge weight and deleting the edges in the two combined groups aiming at each group in turn until the group is less than a preset value or the aggregation round number exceeds an upper limit, so as to combine the network nodes into a plurality of groups.
12. The network topology graph partitioning apparatus of claim 11, wherein the dynamic programming module comprises:
the network topology graph generating unit is used for dividing the network topology graph into the number of subgraphs according to the requirement and generating a binary sequence, wherein the binary sequence is the number generated in the process of dividing the number of the subgraphs into two to 1;
a point weight sum table calculating unit, configured to calculate a sum of point weights of all network nodes in an interval between any two network nodes in the exchanged topology line, so as to obtain an intra-interval point weight sum table;
an edge weight sum table calculation unit configured to calculate an edge weight sum of edges cut off when any one point is divided in a section of any two network nodes, to obtain a cut-off edge weight sum table;
and the cutting point solving unit is used for calculating the binary sequence based on the intra-interval point weight sum table and the intra-interval point weight sum table so as to minimize the cost function and obtain the cutting point of the optimal solution.
13. A terminal device, characterized in that the terminal device comprises a memory, a processor and a network topology graph partitioning program stored in the memory and executable on the processor, and the processor implements the steps of the network topology graph partitioning method according to any one of claims 1 to 8 when executing the network topology graph partitioning program.
14. A computer-readable storage medium, characterized in that the computer-readable storage medium has stored thereon a network topology graph partitioning program, which when executed by a processor, implements the steps of the network topology graph partitioning method according to any one of claims 1 to 8.
CN202210883108.4A 2022-07-26 2022-07-26 Network topology graph segmentation method and device, terminal equipment and storage medium Active CN115361293B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210883108.4A CN115361293B (en) 2022-07-26 2022-07-26 Network topology graph segmentation method and device, terminal equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210883108.4A CN115361293B (en) 2022-07-26 2022-07-26 Network topology graph segmentation method and device, terminal equipment and storage medium

Publications (2)

Publication Number Publication Date
CN115361293A true CN115361293A (en) 2022-11-18
CN115361293B CN115361293B (en) 2023-06-06

Family

ID=84031556

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210883108.4A Active CN115361293B (en) 2022-07-26 2022-07-26 Network topology graph segmentation method and device, terminal equipment and storage medium

Country Status (1)

Country Link
CN (1) CN115361293B (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107086565A (en) * 2017-04-11 2017-08-22 山东大学 A kind of contingency screening and ranking method based on polymerization theory
US20200071277A1 (en) * 2017-01-18 2020-03-05 The Scripps Research Institute Photoreactive ligands and uses thereof

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200071277A1 (en) * 2017-01-18 2020-03-05 The Scripps Research Institute Photoreactive ligands and uses thereof
CN107086565A (en) * 2017-04-11 2017-08-22 山东大学 A kind of contingency screening and ranking method based on polymerization theory

Also Published As

Publication number Publication date
CN115361293B (en) 2023-06-06

Similar Documents

Publication Publication Date Title
CN109451540B (en) Resource allocation method and equipment for network slices
CN110555700A (en) block chain intelligent contract execution method and device and computer readable storage medium
CN112074818A (en) Method and node for enabling access to past transactions in a blockchain network
CN114781316B (en) Networking layout method, device, equipment and storage medium
CN111242165B (en) Merchant clustering method and device, computer equipment and storage medium
Schlag et al. Scalable edge partitioning
CN110765320A (en) Data processing method, data processing device, storage medium and computer equipment
CN116893904A (en) Memory management method, device, equipment, medium and product of neural network model
US11914648B2 (en) Graph refactorization method and graph refactorization apparatus
CN114997088A (en) Wiring and TDM ratio fast optimization method
CN111914285B (en) Geographic distributed graph calculation method and system based on differential privacy
KR101878213B1 (en) Method, apparatus and computer program for summaring of a weighted graph
CN116522844B (en) Circuit dividing method, circuit node voltage calculating method, terminal and storage medium
KR102326586B1 (en) Method and apparatus for processing large-scale distributed matrix product
CN115361293B (en) Network topology graph segmentation method and device, terminal equipment and storage medium
CN109245948B (en) Security-aware virtual network mapping method and device
CN117176638A (en) Routing path determining method and related components
CN110865950B (en) Data preprocessing method and device, computer equipment and storage medium
CN110727831A (en) Full path calculation method, device, computer equipment and storage medium
CN112561138B (en) Power load prediction method, power load prediction device, computer equipment and storage medium
CN106445960A (en) Data clustering method and device
CN115203255A (en) Data query method and device, electronic equipment and storage medium
CN111884940B (en) Interest matching method and device, computer equipment and storage medium
CN111585825B (en) Method and device for dynamically arranging network topology of clustering Ad hoc network
CN115982414B (en) Graph data processing and incremental storage method and device and computer equipment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant