Dynamic network capacity calculation method and device based on topology change characteristics
By utilizing the topology change characteristics in dynamic network capacity calculation, adopting the breadth-first search with the maximum number of hops and the maximum number of spanning time slices as constraints, and pruning the overly long paths, the problem of high time complexity in traditional methods is solved, the calculation efficiency and accuracy are improved, and it is suitable for capacity analysis of highly dynamic networks.
Patent Information
- Application Number
- CN202511094369.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-08-06
- Publication Date
- 2025-09-05
- Estimated Expiration
- 2045-08-06
AI Technical Summary
Existing dynamic network capacity calculation methods have the technical problem of high time complexity. Especially when dealing with highly dynamic networks, the traditional Edmonds-Karp maximum flow algorithm fails to effectively utilize the topological change characteristics of dynamic networks, resulting in low computational efficiency.
A method based on topology change characteristics is adopted. By obtaining the time extension graph of the dynamic spatial information network, the average shortest hop number and the average number of time slices spanned by the shortest path are calculated. The maximum hop number and the maximum number of time slices spanned are used as constraints to perform breadth-first search. Excessively long paths are pruned, and augmenting paths are searched preferentially within the same time slice to reduce the search scope.
It effectively reduces the time complexity of augmented path search, improves computational efficiency, and prioritizes searching for the path with the smallest number of time slices while ensuring maximum flow accuracy. It is suitable for capacity calculation in highly dynamic networks.
Smart Images

Figure CN120602385A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of communications, and in particular to a method and device for calculating dynamic network capacity based on topology change characteristics. Background Art
[0002] With the continuous development and advancement of information technology and space technology in recent years, spatial information networks have become a significant research topic. However, the topology of spatial information networks exhibits significant time-varying instability, making existing network capacity analysis methods for terrestrial networks inapplicable to spatial information networks. Therefore, analyzing and solving the capacity of spatial information networks over time, which is adapted to the time-varying characteristics of spatial information network topology, is a key research topic in spatial information networks.
[0003] Network capacity generally refers to the maximum amount of traffic a network can transmit under specific conditions. Therefore, network capacity analysis essentially involves calculating the maximum amount of traffic a network can transmit within a specific time period (referred to as maximum flow). If the network structure remains unchanged over this time span, it is considered a static network; otherwise, it is considered a dynamic network.
[0004] The current status of maximum flow algorithms for static networks (i.e., static network capacity algorithms) is as follows: Ford and Fulkerson first proposed the maximum flow algorithm in 1956, introducing concepts such as augmenting paths and residual networks, and establishing a maximum flow model for static networks. In each iteration of the Ford-Fulkerson algorithm, a DFS search method is used to find an augmenting path p to increase the flow f. As new augmenting paths are continuously found, the maximum flow is continuously updated until no new augmenting paths can be found. The Edmonds-Karp maximum flow algorithm improves on the Ford-Fulkerson algorithm's augmenting path search method: To prioritize shorter augmenting paths, the Edmonds-Karp maximum flow algorithm uses a BFS search method, directly searching for augmenting paths from the source node to the sink node, and then determining the maximum flow on that augmenting path.
[0005] Since the time complexity of the Edmonds-Karp maximum flow algorithm is primarily related to the size of the edges and nodes in the graph being searched for maximum flow, the time complexity of the Edmonds-Karp maximum flow algorithm is more stable than that of the Ford-Fulkerson algorithm, and its worst-case time complexity is also better than that of the Ford-Fulkerson algorithm.
[0006] Static network capacity algorithms can't be directly applied to dynamic network capacity because dynamic network capacity optimization essentially trades latency tolerance for capacity optimization. The core algorithm for dynamic networks converts the network capacity model used in a dynamic network into a static network, then uses the static network capacity algorithm to calculate the maximum flow. (For dynamic networks whose structure changes over a period of time, snapshots can be created based on the nodes that have changed. The network topology within each snapshot period can be considered static and can therefore be represented using a static network graph.) Currently, two main models for integrating different snapshots are available: the time-aggregated graph model and the time-extended graph model. The time-aggregated graph model discretizes the time-varying characteristics of the network, representing the changes in the values of links between network nodes at different times using a discrete time sequence. The values in the sequence can be the latency or capacity of the link at each moment. The time-extended graph model creates a replica graph containing all network nodes for the time-varying network topology in different time slices, with each replica graph having a different link state. The time-extended graph model establishes a relationship between network topologies in different time slices by establishing a virtual link between replicas of the same network node in adjacent time slices.
[0007] Regardless of which of the above models is used to calculate the dynamic network capacity, the core steps involved are: Step 1: Convert the entire transmission process into a static network graph through the above model; Step 2: Use the Edmonds-Karp maximum flow algorithm applicable to static network graphs to obtain the maximum flow as the capacity of the dynamic network.
[0008] The idea behind the above-mentioned maximum flow algorithms for calculating dynamic network structures is to represent the dynamic network using a static network graph, and to calculate the maximum flow using the maximum flow algorithm for the static network graph. This algorithm design idea makes the optimization of existing algorithms focus on the method of converting the dynamic network graph into a static network graph and the optimization of the static network graph algorithm, thereby ignoring the unique characteristics of the static network graph converted from the dynamic network graph: that is, there is generally no edge connection between all network nodes in one time slice and all network nodes in the next time slice (there is no link connection between different network nodes in different time slices), and the Edmonds-Karp maximum flow algorithm is a maximum flow calculation for a static network that is itself a static network graph (there are edges between any network nodes in it), that is, ... The p maximum flow algorithm is more suitable for scenarios where there are edges between any two network nodes. However, in the static network graph converted from the dynamic network graph, there is no link connection between different network nodes in different time slices. If the above-mentioned Edmonds-Karp maximum flow algorithm is still used to calculate the maximum flow of the converted static network graph, it will obviously increase the time complexity. In addition, when calculating the maximum flow of a highly dynamic network, due to the high dynamics of the network, a large number of time slices are required to describe the dynamic topological relationship of the network. The traditional Edmonds-Karp maximum flow algorithm requires greater time complexity and space complexity when solving this problem.
[0009] In summary, the traditional method for calculating dynamic network capacity has the technical problem of high time complexity. Summary of the Invention
[0010] In view of this, the purpose of the present invention is to provide a method and device for calculating dynamic network capacity based on topology change characteristics, so as to alleviate the technical problem of high time complexity of traditional dynamic network capacity calculation methods.
[0011] In a first aspect, an embodiment of the present invention provides a method for calculating dynamic network capacity based on topology change characteristics, including: Obtaining a time-extended graph of a dynamic spatial information network, calculating the shortest path between any two network nodes in the time-extended graph, and calculating an average shortest hop count of the shortest path and an average number of time slices spanned by the shortest path, and then calculating a maximum number of hops and a maximum number of time slices spanned when searching for an augmenting path based on the average shortest hop count and the average number of time slices spanned; performing an augmenting path search on the remaining network constructed based on the time-expanded graph using a breadth-first search method with the maximum number of hops and the maximum number of spanning time slices as constraints, to obtain a target augmenting path whose number of hops is constrained to be within the maximum number of hops and whose number of spanning time slices is constrained to be within the maximum number of spanning time slices, wherein, when searching for an augmenting path, the search is preferentially performed within the same time slice; The maximum flow of the dynamic spatial information network is determined according to the target augmenting path, and the maximum flow of the dynamic spatial information network is used as the capacity of the dynamic spatial information network.
[0012] Furthermore, an augmented path search is performed on the remaining network constructed based on the time-expanded graph using a breadth-first search method with the maximum number of hops and the maximum number of spanned time slices as constraints, including: Constructing a residual network based on the time-expanded graph, placing the source node of the starting search time slice in a candidate sink node queue, and recording the current search time slice as the starting search time slice; Determining whether a current network node in the candidate sink node queue is a sink node; If the current network node is not the sink node, removing the current network node from the candidate sink node queue, and determining whether the candidate sink node queue is empty; If the candidate sink node queue is empty, counting the number of hops of the node paths from the source node to all target network nodes that have entered the candidate sink node queue in the current search time slice; Determining whether the number of hops of the current node path in the node path reaches the maximum number of hops; If the number of hops of the current node path does not reach the maximum number of hops, placing the target neighboring network nodes of the target network node corresponding to the current node path that have not been in the candidate sink node queue into the candidate sink node queue through the remaining network; If the number of hops of the current node path reaches the maximum number of hops, the next node path in the node path is used as the current node path, and the process returns to the step of determining whether the number of hops of the current node path in the node path reaches the maximum number of hops, until the node path is completely traversed; Determining whether the candidate sink node queue is empty; If the candidate sink node queue is not empty, taking the next network node in the candidate sink node queue as the current network node in the candidate sink node queue, and returning to the step of determining whether the current network node in the candidate sink node queue is a sink node; If the candidate sink node queue is empty, the number of time slices spanned by the current search path is calculated according to the current search time slice and the starting search time slice; Determine whether the number of spanning time slices of the current search path reaches the maximum number of spanning time slices; If the number of time slices spanned by the current search path does not reach the maximum number of time slices spanned, and there is a next time slice, then the corresponding network nodes of the next time slice of all network nodes in the current search time slice that have entered the candidate sink node queue are placed in the candidate sink node queue through the forward cache edge capacity set, and the current search time slice is increased by one; Determining whether the candidate sink node queue is empty; If the candidate sink node queue is empty, determining whether the starting search time slice is the last time slice; If the starting search time slice is the last time slice, the execution ends and the maximum flow of the dynamic spatial information network is obtained; If the starting search time slice is not the last time slice, the starting search time slice is incremented by one, and the obtained new starting search time slice is used as the starting search time slice, and the process returns to the step of placing the source node of the starting search time slice in the candidate sink node queue.
[0013] Furthermore, the method further comprises: If the current network node is the sink node, the searched target augmenting path and the traffic of the searched target augmenting path are recorded, the residual network is updated, the updated residual network is used as the residual network, and the step of placing the source node of the starting search time slice in the candidate sink node queue is returned to.
[0014] Furthermore, the method further comprises: If the candidate sink node queue is not empty, the next network node in the candidate sink node queue is used as the current network node in the candidate sink node queue, and the process returns to the step of determining whether the current network node in the candidate sink node queue is a sink node.
[0015] Furthermore, the method further comprises: If the number of time slices spanned by the current search path has reached the maximum number of time slices spanned, or there is no next time slice, determining whether the starting search time slice is the last time slice; If the starting search time slice is the last time slice, the execution ends and the maximum flow of the dynamic spatial information network is obtained; If the starting search time slice is not the last time slice, the starting search time slice is incremented by one, and the obtained new starting search time slice is used as the starting search time slice, and the process returns to the step of placing the source node of the starting search time slice in the candidate sink node queue.
[0016] Furthermore, constructing a residual network based on the time-expanded graph includes: If the target augmenting path has not been found at the current moment, the time-expanded graph is used as the residual network; If the target augmenting path has been searched at the current moment, a residual network obtained by updating the residual network according to the target augmenting path is used as the residual network.
[0017] Furthermore, the remaining network includes: a network node set with time slice information, a forward edge capacity set, a forward cache edge capacity set, a reverse edge capacity set, and a reverse cache capacity set.
[0018] In a second aspect, an embodiment of the present invention further provides a device for calculating dynamic network capacity based on topology change characteristics, comprising: an acquisition and calculation unit, configured to acquire a time-extended graph of a dynamic spatial information network, calculate the shortest path between any two network nodes in the time-extended graph, and calculate an average number of shortest hops of the shortest path and an average number of time slices spanned by the shortest path, and further calculate a maximum number of hops and a maximum number of time slices spanned when searching for an augmenting path based on the average number of shortest hops and the average number of time slices spanned; an augmenting path search unit, configured to perform an augmenting path search on the remaining network constructed based on the time-expanded graph using a breadth-first search method with the maximum number of hops and the maximum number of spanning time slices as constraints, to obtain a target augmenting path whose number of hops is constrained to be within the maximum number of hops and whose number of spanning time slices is constrained to be within the maximum number of spanning time slices, wherein, when searching for an augmenting path, the search is preferentially performed within the same time slice; A determining unit is configured to determine a maximum flow of the dynamic spatial information network according to the target augmenting path, and use the maximum flow of the dynamic spatial information network as the capacity of the dynamic spatial information network.
[0019] In a third aspect, an embodiment of the present invention further provides an electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the steps of any one of the methods described in the first aspect when executing the computer program.
[0020] In a fourth aspect, an embodiment of the present invention further provides a computer-readable storage medium, wherein the computer-readable storage medium stores machine-executable instructions. When the machine-executable instructions are called and executed by a processor, the machine-executable instructions prompt the processor to execute any method described in the first aspect above.
[0021] In an embodiment of the present invention, a method for calculating dynamic network capacity based on topology change characteristics is provided, comprising: obtaining a time-expanded graph of a dynamic spatial information network, calculating the shortest path between any two network nodes in the time-expanded graph, and calculating the average shortest hop count of the shortest path and the average number of time slices spanned by the shortest path; and then calculating the maximum number of hops and the maximum number of time slices spanned when searching for an augmenting path based on the average shortest hop count and the average number of time slices spanned; performing an augmenting path search on the remaining network constructed based on the time-expanded graph using a breadth-first search method with the maximum number of hops and the maximum number of time slices spanned as constraints, to obtain a target augmenting path with a hop count constrained within the maximum hop count and a time slice span constrained within the maximum number of time slices spanned, wherein, when searching for the augmenting path, the search is preferentially performed within the same time slice; and determining the maximum flow of the dynamic spatial information network based on the target augmenting path, and using the maximum flow of the dynamic spatial information network as the capacity of the dynamic spatial information network. From the above description, it can be seen that in the dynamic network capacity calculation method based on topology change characteristics of the present invention, when performing augmenting path search, the maximum number of hops and the maximum number of time slices spanned are constrained by a breadth-first search method to perform augmenting path search on the remaining network constructed based on the time expansion graph. That is, the number of hops of the search path and the number of time slices spanned by it are always paid attention to, and the search paths that exceed the set maximum number of hops and the maximum number of time slices spanned are pruned, that is, some search paths that are too long are eliminated, thereby reducing the required search range, thereby reducing the time complexity of searching for augmenting paths, and when searching for augmenting paths, priority is given to searching within the same time slice to ensure that the target augmenting path with the smallest number of time slices spanned can be searched first, thereby alleviating the technical problem of high time complexity of traditional dynamic network capacity calculation methods. BRIEF DESCRIPTION OF THE DRAWINGS
[0022] In order to more clearly illustrate the specific embodiments of the present invention or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the specific embodiments or the description of the prior art. Obviously, the drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0023] Figure 1 A flowchart of a method for calculating dynamic network capacity based on topology change characteristics provided by an embodiment of the present invention; Figure 2A flowchart of another method for calculating dynamic network capacity based on topology change characteristics provided by an embodiment of the present invention; Figure 3 A schematic diagram of a device for calculating dynamic network capacity based on topology change characteristics provided by an embodiment of the present invention; Figure 4 A schematic diagram of an electronic device provided by an embodiment of the present invention. DETAILED DESCRIPTION
[0024] The following will clearly and completely describe the technical solutions of the present invention in conjunction with the embodiments. Obviously, the embodiments described are only some embodiments of the present invention, not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of the present invention.
[0025] Traditional methods for calculating dynamic network capacity have the technical problem of high time complexity.
[0026] Based on this, in the dynamic network capacity calculation method based on topology change characteristics of the present invention, when performing augmenting path search, the maximum number of hops and the maximum number of time slices spanned are constrained by using a breadth-first search method to perform augmenting path search on the remaining network constructed based on the time expansion graph. That is, the number of hops of the search path and the number of time slices spanned by it are always paid attention to, and the search paths that exceed the set maximum number of hops and the maximum number of time slices spanned are pruned, that is, some search paths that are too long are eliminated, thereby reducing the required search range, thereby reducing the time complexity of searching the augmenting path, and when searching the augmenting path, priority is given to searching within the same time slice to ensure that the target augmenting path with the smallest number of time slices spanned can be searched first.
[0027] To facilitate understanding of this embodiment, a method for calculating dynamic network capacity based on topology change characteristics disclosed in an embodiment of the present invention is first introduced in detail.
[0028] Example 1: According to an embodiment of the present invention, an embodiment of a method for calculating dynamic network capacity based on topology change characteristics is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.
[0029] Figure 1 FIG. 1 is a flow chart of a method for calculating dynamic network capacity based on topology change characteristics according to an embodiment of the present invention. Figure 1 As shown, the method includes the following steps: Step S102: Obtain a time-extended graph of the dynamic spatial information network, calculate the shortest path between any two network nodes in the time-extended graph, and calculate the average shortest hop count and the average number of time slices spanned by the shortest path. Then, based on the average shortest hop count and the average number of time slices spanned, calculate the maximum number of hops and the maximum number of time slices spanned when searching for an augmenting path. An analysis of traditional methods for calculating dynamic network capacity reveals that optimizing the capacity of dynamic spatial information networks using a time-extended graph model effectively trades latency tolerance for capacity optimization. This approach optimizes / maximizes the capacity of the network (i.e., the dynamic spatial information network) over a specific time period by jointly optimizing latency tolerance and a continuous multi-slot graph. The core concept is to convert the dynamic network into a static network graph and then use the Edmonds-Karp maximum flow algorithm to obtain the maximum flow. The complexity of this core algorithm primarily lies in the search for augmenting paths within the static network. Therefore, the improvement presented in this invention focuses on optimizing the augmenting path search method.
[0030] The improvement idea of the traditional maximum flow algorithm to optimize the augmenting path search method is to optimize the augmenting path search method of the static graph, ignoring the highly dynamic characteristics of the highly dynamic network and only focusing on the topological characteristics of the static graph. However, when studying the short hop count of the time-expanded graph of the highly dynamic network, the present invention noticed the information transmission rules unique to the highly dynamic graph: 1. The average number of shortest hops of the shortest path between network nodes is small relative to the total number of network nodes. 2. The average number of time slices spanned by the shortest path is small compared to the total number of time slices of the time-expanded graph. Both of these are characteristics unique to dynamic networks.
[0031] Inspired by this, the present invention uses the number of hops and the number of time slices spanned as "pruning" criteria (i.e., as constraints on the augmenting path search) when searching for augmenting paths, while maintaining high maximum flow calculation accuracy. This method eliminates excessively long augmenting paths, thereby reducing the time complexity of the augmenting path search. This method, which derives a relatively accurate maximum flow by searching only a portion of the network (discovered by comparing the results with those obtained by traditional methods), is not addressed by traditional maximum flow algorithms, which ignore the dynamic characteristics of the network.
[0032] Specifically, the dynamic spatial information network is a directed graph, which can be expressed as ;in, represents the set of network nodes (i.e., vertex set), represents the forward edge capacity set (i.e., the connections between network nodes in the same time slice in the subsequent time expansion graph), represents the forward cache edge capacity set (i.e., the connections between the same network nodes at different time slices in the subsequent time expansion graph), Indicates the time period, In the above time period, the dynamic spatial information network is divided into M static time slices using a time-expanded graph model. The process of the present invention is to find the maximum flow that can be transmitted from a source node (a network node with only outflow but no inflow) to a sink node (a network node with only inflow but no outflow) in the dynamic spatial information network in the above time period.
[0033] After obtaining the time expansion graph, the shortest path between any two network nodes in the time expansion graph is calculated, and the average shortest hop number of the shortest path and the average number of time slices spanned by the shortest path are calculated. By multiplying the two by the preset values, the maximum number of hops and the maximum number of time slices spanned when searching for the augmented path can be obtained.
[0034] To implement this, first calculate the shortest path between any two network nodes in the time-expanded graph. For example, calculate the shortest path between network nodes A and B, and the shortest path between network nodes A and C, and so on. Then determine the shortest hop count for each shortest path. Finally, calculate the average of all the shortest hop counts to obtain the average shortest hop count. Simultaneously, calculate the average number of time slices spanned by each shortest path based on the number of time slices spanned.
[0035] It should be noted that there may be multiple preset values. When the final calculated maximum flow tends to be stable, the corresponding preset value is the target preset value, which is generally set based on experience.
[0036] Step S104: Using a breadth-first search method with the maximum number of hops and the maximum number of time slices spanned as constraints, perform augmenting path search on the remaining network constructed based on the time-expanded graph to obtain a target augmenting path whose hop count is constrained to be within the maximum number of hops and whose spanning time slices is constrained to be within the maximum number of time slices spanned. When searching for augmenting paths, priority is given to searching within the same time slice. Specifically, after obtaining the time expansion graph, the residual network is constructed and initialized, and the forward edge capacity set , forward cache edge capacity set ; Remaining network , the maximum flow of the network , set the starting search time slice .in, represents the reverse edge capacity set, Represents a collection of reverse cache capacities.
[0037] In the remaining network A breadth-first search is performed from the source node of the starting search time slice to the sink node of all time slices to search for augmenting paths until the starting search time slice reaches the last time slice (i.e., M=5). In addition, when searching for augmenting paths, the search is performed with the maximum number of hops and the maximum number of spanning time slices as constraints. In this way, the augmenting path search for the remaining network is completed.
[0038] Step S106 : determining the maximum flow of the dynamic spatial information network according to the target augmenting path, and taking the maximum flow of the dynamic spatial information network as the capacity of the dynamic spatial information network.
[0039] Specifically, the minimum capacity (minimum flow) on the target augmenting path = the maximum flow of the target augmenting path. The sum of the maximum flows of all target augmenting paths is the maximum flow of the dynamic spatial information network.
[0040] In an embodiment of the present invention, a method for calculating dynamic network capacity based on topology change characteristics is provided, comprising: obtaining a time-expanded graph of a dynamic spatial information network, calculating the shortest path between any two network nodes in the time-expanded graph, and calculating the average shortest hop count of the shortest path and the average number of time slices spanned by the shortest path; and then calculating the maximum number of hops and the maximum number of time slices spanned when searching for an augmenting path based on the average shortest hop count and the average number of time slices spanned; performing an augmenting path search on the remaining network constructed based on the time-expanded graph using a breadth-first search method with the maximum number of hops and the maximum number of time slices spanned as constraints, to obtain a target augmenting path with a hop count constrained within the maximum hop count and a time slice span constrained within the maximum number of time slices spanned, wherein, when searching for the augmenting path, the search is preferentially performed within the same time slice; and determining the maximum flow of the dynamic spatial information network based on the target augmenting path, and using the maximum flow of the dynamic spatial information network as the capacity of the dynamic spatial information network. From the above description, it can be seen that in the dynamic network capacity calculation method based on topology change characteristics of the present invention, when performing augmenting path search, the maximum number of hops and the maximum number of time slices spanned are constrained by a breadth-first search method to perform augmenting path search on the remaining network constructed based on the time expansion graph. That is, the number of hops of the search path and the number of time slices spanned by it are always paid attention to, and the search paths that exceed the set maximum number of hops and the maximum number of time slices spanned are pruned, that is, some search paths that are too long are eliminated, thereby reducing the required search range, thereby reducing the time complexity of searching for augmenting paths, and when searching for augmenting paths, priority is given to searching within the same time slice to ensure that the target augmenting path with the smallest number of time slices spanned can be searched first, thereby alleviating the technical problem of high time complexity of traditional dynamic network capacity calculation methods.
[0041] The above content briefly introduces the dynamic network capacity calculation method based on topology change characteristics of the present invention. The specific contents involved are described in detail below.
[0042] In an optional embodiment of the present invention, an augmented path search is performed on the remaining network constructed based on the time-expanded graph using a breadth-first search method with a maximum number of hops and a maximum number of spanned time slices as constraints, specifically comprising the following steps: (1) Construct the residual network based on the time expansion graph, place the source node of the starting search time slice into the candidate sink node queue, and record the current search time slice as the starting search time slice; Specifically, the residual network is initialized based on the time-expanded graph. If the target augmenting path has been found at the current moment, the residual network is updated according to the target augmenting path and used as the residual network. The candidate sink node queue is used to store candidate sink nodes, which are network nodes that may be sink nodes. Furthermore, each search path corresponds to a candidate sink node queue; that is, the candidate sink node queue is bound to the search path.
[0043] (2) Determine whether the current network node in the candidate sink node queue is a sink node; (3) If the current network node is a sink node, the target augmenting path and the flow of the target augmenting path obtained by the search are recorded, and the residual network is updated. The updated residual network is used as the residual network, and the step of placing the source node of the starting search time slice into the candidate sink node queue is returned.
[0044] (4) If the current network node is not a sink node, remove the current network node from the candidate sink node queue and determine whether the candidate sink node queue is empty; (5) If the candidate sink node queue is not empty, the next network node in the candidate sink node queue is used as the current network node in the candidate sink node queue, and the process returns to the step of determining whether the current network node in the candidate sink node queue is a sink node.
[0045] (6) If the candidate sink node queue is empty, count the number of hops from the source node to all target network nodes that have entered the candidate sink node queue in the current search time slice; (7) Determine whether the number of hops of the current node path in the node path reaches the maximum number of hops; (8) If the number of hops of the current node path does not reach the maximum number of hops, the target neighbor network nodes that have not been in the candidate sink node queue among the neighbor network nodes of the target network node corresponding to the current node path are placed in the candidate sink node queue through the remaining network; Specifically, the target neighboring network nodes not in the candidate sink node queue are those that are not on the current node path (i.e., the current search path) and are adjacent to and connected to the target network node. In other words, once network node A has been in the candidate sink node queue at time t1, it should not be in the candidate sink node queue at any subsequent time.
[0046] (9) If the number of hops of the current node path reaches the maximum number of hops, the next node path in the node path is used as the current node path, and the process returns to the step of determining whether the number of hops of the current node path in the node path reaches the maximum number of hops, until the node path is traversed; (10) Determine whether the candidate sink node queue is empty; (11) If the candidate sink node queue is not empty, the next network node in the candidate sink node queue is used as the current network node in the candidate sink node queue, and the process returns to the step of determining whether the current network node in the candidate sink node queue is a sink node. (12) If the candidate sink node queue is empty, the number of time slices spanned by the current search path is calculated based on the current search time slice and the starting search time slice; (13) Determine whether the number of time slices spanning the current search path has reached the maximum number of time slices spanning; (14) If the number of time slices spanning the current search path does not reach the maximum number of time slices spanning the path, and there is a next time slice, then the corresponding network nodes of the next time slice of all network nodes that have entered the candidate sink node queue in the current search time slice are placed in the candidate sink node queue through the forward cache edge capacity set, and the current search time slice is increased by one; (15) Determine whether the candidate sink node queue is empty; (16) If the candidate sink node queue is empty, determine whether the starting search time slice is the last time slice; (17) If the starting search time slice is the last time slice, the execution ends and the maximum flow of the dynamic spatial information network is obtained; (18) If the starting search time slice is not the last time slice, then the starting search time slice is incremented by one, and the new starting search time slice is used as the starting search time slice, and the process returns to the step of placing the source node of the starting search time slice into the candidate sink node queue; (19) If the candidate sink node queue is not empty, the next network node in the candidate sink node queue is used as the current network node in the candidate sink node queue, and the process returns to the step of determining whether the current network node in the candidate sink node queue is a sink node.
[0047] In an optional embodiment of the present invention, the method further comprises: If the number of spanning time slices of the current search path has reached the maximum number of spanning time slices, or there is no next time slice, then determine whether the starting search time slice is the last time slice; if the starting search time slice is the last time slice, then the execution ends and the maximum flow of the dynamic spatial information network is obtained; if the starting search time slice is not the last time slice, then the starting search time slice is incremented by one, and the new starting search time slice is used as the starting search time slice, and the process returns to the step of placing the source node of the starting search time slice in the candidate sink node queue.
[0048] In order to facilitate a better understanding of the process of the present invention, the method of the present invention is introduced again below, with reference to Figure 2 : enter: ;in, represents the network node set (that is, the vertex set), represents the forward edge capacity set (i.e., the connections between network nodes in the same time slice in the subsequent time expansion graph), represents the forward cache edge capacity set (i.e., the connections between the same network nodes at different time slices in the subsequent time expansion graph), Indicates a time period.
[0049] question: In the time period, the dynamic spatial information network is divided into M static time slices using the time extension graph model. Find the maximum flow that can be transmitted from the source node to the sink node of the dynamic spatial information network in this time period.
[0050] Preprocessing: Calculate the shortest path between any two network nodes in the time-expanded graph, and calculate the average shortest hop count and the average number of time slices spanned by the shortest path. Multiply the average shortest hop count and the average number of time slices spanned by the preset value to obtain the maximum hop count ∆n and the maximum number of time slices spanned by the augmented path search.
[0051] Step 0: Initialize, build and initialize the residual network, forward edge capacity set , forward cache edge capacity set ; Remaining network , the maximum flow of the network , set the starting search time slice .in, represents the reverse edge capacity set, Represents a collection of reverse cache capacities.
[0052] Step 1: In the remaining network A breadth-first search is performed from the source node of the starting search time slice to the sink nodes of all time slices to search for augmenting paths until the starting search time slice reaches the last time slice (i.e., M=5).
[0053] 1.1 Place the source node of the starting search time slice into the candidate sink node queue (i.e., the source node of the starting search time slice is queued) and record the current search time slice Start search time slice (i.e. ), go to 1.2; 1.2 (Determine whether the target augmenting path has been found) Determine whether the current network node in the candidate sink node queue is a sink node (i.e., determine whether the current queue node is a sink node). If yes, go to Step 2. If no, remove the current network node from the candidate sink node queue and determine whether the candidate sink node queue is empty (i.e., remove the current node from the queue and determine whether the queue is empty). If yes, go to 1.3. If no, loop through 1.2. 1.3 (Breadth-first search with maximum hop count constraint) Review all previously enqueued network nodes in the current search time slice, calculate the hop count of the node path from the source node to the node, and determine if the node path hop count does not exceed the maximum hop count ∆n of the augmenting path search. If so, enqueue any previously enqueued nodes from the node's neighbors (connected nodes in the same time slice) through the remaining network. If not, do nothing. After 1.3, determine if the queue is empty. If so, proceed to 1.4; if not, proceed to 1.2. 1.4 (Breadth-first search method with maximum span time slice number constraint) Calculate the current search time slice and the starting search time slice The difference between the two is taken as the number of time slices spanning the current search path. The judgment of whether the number of time slices spanning the current search path has not reached the set maximum number of time slices spanning ∆d and there is a next time slice is: through the forward cache edge capacity set, the corresponding nodes of the next time slice of all the nodes (i.e., network nodes) that have been queued in the current search time slice are queued, and the current search time slice is Plus one ( ). Determine whether the queue is empty. If yes, go to step 1.5; if no, go to step 1.2; if no (the number of span time slices of the current search path reaches the set maximum span time slice number ∆d, or there is no next time slice): go to step 1.5; 1.5 (Determine whether to All searches are completed. If all searches are completed, it means that the starting search time slice cannot be found. The augmenting path from the source node to the sink node of all time slices. ) Determine whether the starting search time slice is the last time slice ( ), yes: the maximum flow algorithm is completed, go to Step 3, no: increase the starting search time slice by one: ( ), go to 1.1; Step 2: Backtrack, update the remaining network, and update the maximum flow based on the flow of the searched augmented path; 2.1 Record this augmented path as l, and record the flow of this augmented path as , update the remaining network (Specifically, the process of (1)-(4) is as follows, where i and j are nodes on the augmenting path), increasing the maximum flow , go to 1.1: (1) Reduce the forward edge capacity: , (2) Increase reverse edge capacity: , (3) Reduce node cache capacity transfer edge: , (4) Increase the node reverse cache capacity transfer edge: ; Step 3: Output network Maximum flow in the time period .
[0054] When searching for augmenting paths, the present invention uses the number of hops and the number of time slices spanned as constraints. The principle is that if a message originating from a source node in a certain time slice fails to reach the sink node after a certain number of hops or time slices, the message should be discarded. This reduces the search range required for the augmenting path search, thereby reducing the algorithm's time complexity. By continuously varying the starting time slice, a maximum flow result is achieved that approximates the actual maximum flow in a highly dynamic network over a specific time period.
[0055] This augmenting path improvement method has the following benefits: (1) For highly dynamic networks, it can significantly reduce the time complexity of the algorithm while slightly affecting the final maximum flow (i.e., network capacity) result; (2) The calculated maximum flow path generally has a shorter number of hops and has advantages such as smaller transmission energy loss; (3) The calculated maximum flow path generally spans fewer time slices, and information transmitted through this path has a smaller delay.
[0056] That is, the augmenting path search method of the present invention has extremely low time complexity compared to existing networks when facing a network structure that changes rapidly and uses more time slices to describe it. The augmenting path searched has a smaller delay, making the calculation of the maximum flow more consistent with actual network data transmission scenarios to a certain extent.
[0057] The object improved by the present invention is a maximum flow algorithm applicable to dynamic networks, which converts a dynamic network into a static graph (i.e., a static network graph, also known as a time-expanded graph, or more precisely, a residual network) and then uses the maximum flow algorithm of the static graph.
[0058] The present invention focuses on protecting: (1) Because the characteristics of network topology changes are observed, the present invention adopts a method of constraining the augmented path search range to reduce the time complexity of the algorithm for calculating the maximum flow in a dynamic network. The optimization method of the traditional maximum flow algorithm is to change the search order without changing the search range; (2) Using the maximum number of spanning time slices ∆d as the time span of the augmenting path constraint. For details, see section 1.4 of Step 1. The existing maximum flow algorithm does not consider the maximum number of spanning time slices ∆d when searching for augmenting paths, but the present invention takes this into account and imposes a restriction. (3) Using the maximum number of hops ∆n of the augmenting path as a way to constrain the time span of the augmenting path, see section 1.3 of Step 1 for details. The existing maximum flow algorithm does not consider the maximum number of hops ∆n of the augmenting path when searching for the augmenting path, but the present invention takes it into account and makes a restriction; (4) First, analyze the time expansion graph of the highly dynamic network and use the average shortest hop count of its shortest path and the average number of time slices spanned by the shortest path as a reference for constraining the augmented path. See the preprocessing section for details. Existing maximum flow algorithms do not preprocess the time expansion graph. (5) The priority of all paths in the same time slice is higher than the priority of any path to the next time slice in the search for augmenting paths. This is specifically reflected in the fact that step 1.3 comes before step 1.4. Existing maximum flow algorithms do not use the difference in time slices as a priority difference in the search for augmenting paths.
[0059] The main innovations of the present invention are: The present invention improves the maximum flow algorithm when applying the Edmonds-Karp algorithm in the time domain extended graph model: the present invention actually focuses on the characteristics of dynamic networks and finds that most traffic has these characteristics, so it only searches for traffic with these characteristics (number of hops and number of time slices) to calculate the maximum flow.
[0060] (1) The augmenting path search method uses the number of spanning time slices as a constraint. Only augmenting paths with a spanning time slice less than a certain value are searched. This method is suitable for highly dynamic networks, reduces the search time (reduces the search time of network optimization), and ensures a high maximum flow accuracy. (2) Using the number of path hops as a constraint to search for augmented paths, only augmented paths with hop counts less than a certain value are searched. This reduces the search time (reducing the search time for network optimization) for highly dynamic networks and ensures a high maximum flow accuracy. (3) Count the average shortest hop count of the dynamic network as the basis for searching the maximum hop count of the augmenting path, and count the average span time slices of the shortest path of the dynamic network as the maximum span time slices of the augmenting path. Pre-analysis (i.e., pre-processing) of the dynamic network can ensure the correctness of the data level, thereby reducing the parameter debugging. The existing maximum flow algorithm has not appeared in the pre-processing of the dynamic network, and this is used as a basis to improve the maximum flow algorithm; (4) A specific search method for augmenting paths is proposed: based on the local changes in the connection relationship, in the augmenting path search of the time-expanded graph, the nodes in the same time slice are searched first, and then the same node in the next time slice is searched. This search method can prioritize the augmenting paths with smaller delays.
[0061] Comparison with existing solutions: Regarding the improvement of the augmenting path search method, the traditional maximum flow algorithm is improved for static network graphs, ignoring the dynamic characteristics of dynamic networks. Compared with the present invention, it has the following differences: (1) Different ideas for optimizing the maximum flow algorithm: Traditional maximum flow optimization is based on optimizing the search method, without optimizing the search range. The optimization point of this invention is to optimize the search range of the augmenting path; (2) Different constraints on the search for augmenting paths: The existing maximum flow algorithm based on the time domain extended graph (i.e., time extended graph) does not optimize the number of hops and the number of time slices spanned by the augmenting path. However, the present invention imposes constraints, thereby greatly reducing the time complexity of the algorithm while approaching the true maximum flow. At the same time, the augmenting path also has a smaller delay and hop count. (3) The specific search of augmenting paths is different: the existing maximum flow algorithm based on time domain extended graph only proposes to use the BFS method to search for augmenting paths, and does not introduce the priority of the node in the same time slice and the same node in the next time slice.
[0062] Summary: (1) This invention is an optimization of the traditional maximum flow algorithm based on time domain extended graph; (2) The biggest difference between the present invention and other optimization methods is that the present invention pays attention to the characteristics of dynamic network topology changes, rather than only optimizing from the perspective of static graphs; (3) The main optimization process of the present invention is as follows: the present invention evaluates the dynamic network in advance, searches for similar features in the time expansion graph based on the characteristics of the dynamic network (the shortest hop count of the shortest path and the number of time slices spanned by the shortest path), and finds that most flows have certain features (such as a small number of hops). The present invention searches only for flows with these features (these flows account for the vast majority of all flows and are easy to search out), and abandons flows that do not have these features (very few, but it takes a long time to search out). This greatly reduces the time complexity of the algorithm without affecting the overall accuracy of the maximum flow.
[0063] Example 2: An embodiment of the present invention also provides a dynamic network capacity calculation device based on topology change characteristics. The dynamic network capacity calculation device based on topology change characteristics is mainly used to execute the dynamic network capacity calculation method based on topology change characteristics provided in the first embodiment of the present invention. The following is a detailed introduction to the dynamic network capacity calculation device based on topology change characteristics provided in the embodiment of the present invention.
[0064] Figure 3 is a schematic diagram of a dynamic network capacity calculation device based on topology change characteristics according to an embodiment of the present invention, such as Figure 3 As shown, the device mainly includes: an acquisition and calculation unit 10, an augmented path search unit 20 and a determination unit 30, wherein: an acquisition and calculation unit, configured to acquire a time-extended graph of a dynamic spatial information network, calculate the shortest path between any two network nodes in the time-extended graph, and calculate the average number of shortest hops of the shortest path and the average number of time slices spanned by the shortest path, and then calculate the maximum number of hops and the maximum number of time slices spanned when searching for an augmenting path based on the average number of shortest hops and the average number of time slices spanned; An augmenting path search unit is configured to perform an augmenting path search on the remaining network constructed based on the time-expanded graph using a breadth-first search method with a maximum number of hops and a maximum number of spanning time slices as constraints, to obtain a target augmenting path whose hop count is constrained to be within the maximum number of hops and whose spanning time slices is constrained to be within the maximum number of spanning time slices, wherein, when searching for an augmenting path, the search is preferably performed within the same time slice; The determining unit is configured to determine a maximum flow of the dynamic spatial information network according to the target augmenting path, and use the maximum flow of the dynamic spatial information network as the capacity of the dynamic spatial information network.
[0065] In an embodiment of the present invention, a dynamic network capacity calculation device based on topology change characteristics is provided, comprising: obtaining a time-expanded graph of a dynamic spatial information network, calculating the shortest path between any two network nodes in the time-expanded graph, and calculating the average shortest hop count of the shortest path and the average number of time slices spanned by the shortest path; and then calculating the maximum number of hops and the maximum number of time slices spanned when searching for an augmenting path based on the average shortest hop count and the average number of time slices spanned; performing an augmenting path search on a remaining network constructed based on the time-expanded graph using a breadth-first search method with the maximum number of hops and the maximum number of time slices spanned as constraints, to obtain a target augmenting path with a hop count constrained within the maximum hop count and a time slice span constrained within the maximum number of time slices spanned, wherein the search is preferentially performed within the same time slice when searching for the augmenting path; and determining the maximum flow of the dynamic spatial information network based on the target augmenting path, and using the maximum flow of the dynamic spatial information network as the capacity of the dynamic spatial information network. As can be seen from the above description, in the dynamic network capacity calculation device based on topology change characteristics of the present invention, when performing augmenting path search, a breadth-first search method is used to search the remaining network constructed based on the time expansion graph with the maximum number of hops and the maximum number of time slices spanned as constraints. That is, the number of hops of the search path and the number of time slices spanned by it are always paid attention to, and search paths that exceed the set maximum number of hops and the maximum number of time slices spanned are pruned, that is, some search paths that are too long are eliminated, thereby reducing the required search range and thus reducing the time complexity of searching for augmenting paths. In addition, when searching for augmenting paths, the search is preferentially performed within the same time slice to ensure that the target augmenting path with the smallest number of time slices spanned can be preferentially searched, thereby alleviating the technical problem of high time complexity of traditional dynamic network capacity calculation methods.
[0066] Optionally, the augmented path search unit is further used to: construct the remaining network based on the time expansion graph, place the source node of the starting search time slice in the candidate sink node queue, and record the current search time slice as the starting search time slice; determine whether the current network node in the candidate sink node queue is a sink node; if the current network node is not a sink node, remove the current network node from the candidate sink node queue, and determine whether the candidate sink node queue is empty; if the candidate sink node queue is empty, count the number of hops of the node path from the source node to all target network nodes that have entered the candidate sink node queue in the current search time slice; determine whether the node path is empty. Check whether the number of hops of the previous node path reaches the maximum number of hops; if the number of hops of the current node path does not reach the maximum number of hops, then the target neighbor network nodes of the neighbor network nodes of the target network node corresponding to the current node path that have not been in the candidate sink node queue are placed in the candidate sink node queue through the remaining network; if the number of hops of the current node path reaches the maximum number of hops, then the next node path in the node path is used as the current node path, and return to the step of determining whether the number of hops of the current node path in the node path reaches the maximum number of hops, until the node path is traversed; determine whether the candidate sink node queue is empty; if the candidate sink node queue is not empty, Then the next network node in the candidate sink node queue is used as the current network node in the candidate sink node queue, and the step of determining whether the current network node in the candidate sink node queue is a sink node is returned to execute; if the candidate sink node queue is empty, the number of spanning time slices of the current search path is calculated based on the current search time slice and the starting search time slice; it is determined whether the number of spanning time slices of the current search path reaches the maximum number of spanning time slices; if the number of spanning time slices of the current search path does not reach the maximum number of spanning time slices, and there is a next time slice, all the nodes that have entered the candidate sink node queue in the current search time slice are cached through the forward cache edge capacity set. The corresponding network node of the next time slice of the network node is placed in the candidate sink node queue, and the current search time slice is increased by one; it is determined whether the candidate sink node queue is empty; if the candidate sink node queue is empty, it is determined whether the starting search time slice is the last time slice; if the starting search time slice is the last time slice, the execution ends and the maximum flow of the dynamic spatial information network is obtained; if the starting search time slice is not the last time slice, the starting search time slice is increased by one, and the new starting search time slice obtained is used as the starting search time slice, and the step of placing the source node of the starting search time slice in the candidate sink node queue is returned.
[0067] Optionally, the augmenting path search unit is further configured to: if the current network node is a sink node, record the target augmenting path obtained by the search and the traffic of the target augmenting path obtained by the search, update the residual network, use the updated residual network as the residual network, and return to execute the step of placing the source node of the starting search time slice into the candidate sink node queue.
[0068] Optionally, the augmented path search unit is further configured to: if the candidate sink node queue is not empty, use the next network node in the candidate sink node queue as the current network node in the candidate sink node queue, and return to the step of determining whether the current network node in the candidate sink node queue is a sink node.
[0069] Optionally, the augmented path search unit is further used to: if the number of time slices spanning the current search path has reached the maximum number of time slices spanning, or there is no next time slice, determine whether the starting search time slice is the last time slice; if the starting search time slice is the last time slice, terminate the execution and obtain the maximum flow of the dynamic spatial information network; if the starting search time slice is not the last time slice, increase the starting search time slice by one, and use the obtained new starting search time slice as the starting search time slice, and return to execute the step of placing the source node of the starting search time slice in the candidate sink node queue.
[0070] Optionally, the augmenting path search unit is further configured to: if the target augmenting path has not been found at the current moment, use the time extension graph as the residual network; if the target augmenting path has been found at the current moment, use the residual network obtained by updating the residual network according to the target augmenting path as the residual network.
[0071] Optionally, the remaining network includes: a network node set with time slice information, a forward edge capacity set, a forward cache edge capacity set, a reverse edge capacity set, and a reverse cache capacity set.
[0072] The device provided in the embodiment of the present invention has the same implementation principle and technical effects as those in the aforementioned method embodiment. For the sake of brief description, for matters not mentioned in the device embodiment, reference can be made to the corresponding content in the aforementioned method embodiment.
[0073] like Figure 4 As shown, an electronic device 600 provided in an embodiment of the present application includes: a processor 601, a memory 602 and a bus, wherein the memory 602 stores machine-readable instructions executable by the processor 601. When the electronic device is running, the processor 601 communicates with the memory 602 through the bus, and the processor 601 executes the machine-readable instructions to perform the steps of the dynamic network capacity calculation method based on topology change characteristics as described above.
[0074] Specifically, the above-mentioned memory 602 and processor 601 can be general-purpose memories and processors, which are not specifically limited here. When the processor 601 runs the computer program stored in the memory 602, it can execute the above-mentioned dynamic network capacity calculation method based on topology change characteristics.
[0075] The processor 601 may be an integrated circuit chip with signal processing capabilities. During implementation, each step of the above method can be completed by an integrated logic circuit of hardware in the processor 601 or by instructions in the form of software. The above-mentioned processor 601 can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components. The various methods, steps, and logic block diagrams disclosed in the embodiments of the present application can be implemented or executed. The general-purpose processor can be a microprocessor or the processor can also be any conventional processor, etc. The steps of the method disclosed in conjunction with the embodiments of the present application can be directly embodied as being executed by a hardware decoding processor, or can be executed by a combination of hardware and software modules in the decoding processor. The software module can be located in a storage medium well-known in the art, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, etc. The storage medium is located in memory 602, and processor 601 reads the information in memory 602 and performs the steps of the above method in conjunction with its hardware.
[0076] Corresponding to the above-mentioned dynamic network capacity calculation method based on topology change characteristics, an embodiment of the present application also provides a computer-readable storage medium, which stores machine-executable instructions. When the computer-executable instructions are called and executed by the processor, the computer-executable instructions prompt the processor to execute the steps of the above-mentioned dynamic network capacity calculation method based on topology change characteristics.
[0077] The dynamic network capacity calculation device based on topology change characteristics provided in the embodiment of the present application can be specific hardware on the device or software or firmware installed on the device. The implementation principle and technical effects of the device provided in the embodiment of the present application are the same as those of the aforementioned method embodiment. For the sake of brief description, for matters not mentioned in the device embodiment, reference can be made to the corresponding content in the aforementioned method embodiment. Those skilled in the art can clearly understand that for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can all refer to the corresponding processes in the aforementioned method embodiment, and will not be repeated here.
[0078] In the embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. The device embodiments described above are merely schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some communication interface, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0079] For another example, the flowcharts and block diagrams in the accompanying drawings show the possible architectures, functions and operations of the devices, methods and computer program products according to multiple embodiments of the present application. In this regard, each box in the flowchart or block diagram can represent a module, a program segment or a part of code, and the module, program segment or a part of code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in an order different from that marked in the accompanying drawings. For example, two consecutive boxes can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flowchart, and the combination of the boxes in the block diagram and / or flowchart, can be implemented with a dedicated hardware-based system that performs the specified function or action, or can be implemented with a combination of dedicated hardware and computer instructions.
[0080] The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of these units may be selected to achieve the purpose of this embodiment according to actual needs.
[0081] In addition, each functional unit in the embodiments provided in the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
[0082] If the function is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the existing technology, or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes a number of instructions for enabling an electronic device (which can be a personal computer, server, or network device, etc.) to execute all or part of the steps of the dynamic network capacity calculation method based on topology change characteristics described in each embodiment of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), disk or optical disk, and other media that can store program code.
[0083] It should be noted that similar numbers and letters represent similar items in the following figures. Therefore, once an item is defined in one figure, it does not need to be further defined and explained in subsequent figures. In addition, the terms "first", "second", "third", etc. are only used to distinguish the description and are not to be understood as indicating or implying relative importance.
[0084] Finally, it should be noted that the above-described embodiments are only some specific implementation methods to illustrate the technical solutions of the present application, rather than to limit them. The scope of protection of the present application is not limited thereto. Although the present solution has been described with reference to the above-mentioned embodiments, those skilled in the art should understand that any person skilled in the art can modify or easily conceive of changes to the technical solutions described in the above-mentioned embodiments within the technical scope disclosed in the present application, or perform equivalent replacements on some of the technical features thereof. However, these modifications, changes, or replacements do not deviate from the essence of the corresponding technical solutions within the scope of the technical solutions of the embodiments of the present application. They should all be included in the scope of protection of the present application. Therefore, the scope of protection of the present application shall be based on the scope of protection of the claims.
Claims
1. A method for calculating dynamic network capacity based on topology change characteristics, characterized in that: include: Obtaining a time-extended graph of a dynamic spatial information network, calculating the shortest path between any two network nodes in the time-extended graph, and calculating an average shortest hop count of the shortest path and an average number of time slices spanned by the shortest path, and then calculating a maximum number of hops and a maximum number of time slices spanned when searching for an augmenting path based on the average shortest hop count and the average number of time slices spanned; performing an augmenting path search on the remaining network constructed based on the time-expanded graph using a breadth-first search method with the maximum number of hops and the maximum number of spanning time slices as constraints, to obtain a target augmenting path whose number of hops is constrained to be within the maximum number of hops and whose number of spanning time slices is constrained to be within the maximum number of spanning time slices, wherein, when searching for an augmenting path, the search is preferentially performed within the same time slice; The maximum flow of the dynamic spatial information network is determined according to the target augmenting path, and the maximum flow of the dynamic spatial information network is used as the capacity of the dynamic spatial information network.
2. The method according to claim 1, characterized in that Performing an augmented path search on the remaining network constructed based on the time-expanded graph using a breadth-first search method with the maximum number of hops and the maximum number of spanned time slices as constraints, including: Constructing a residual network based on the time-expanded graph, placing the source node of the starting search time slice in a candidate sink node queue, and recording the current search time slice as the starting search time slice; Determining whether a current network node in the candidate sink node queue is a sink node; If the current network node is not the sink node, removing the current network node from the candidate sink node queue, and determining whether the candidate sink node queue is empty; If the candidate sink node queue is empty, counting the number of hops of the node paths from the source node to all target network nodes that have entered the candidate sink node queue in the current search time slice; Determining whether the number of hops of the current node path in the node path reaches the maximum number of hops; If the number of hops of the current node path does not reach the maximum number of hops, placing the target neighboring network nodes of the target network node corresponding to the current node path that have not been in the candidate sink node queue into the candidate sink node queue through the remaining network; If the number of hops of the current node path reaches the maximum number of hops, the next node path in the node path is used as the current node path, and the process returns to the step of determining whether the number of hops of the current node path in the node path reaches the maximum number of hops, until the node path is completely traversed; Determining whether the candidate sink node queue is empty; If the candidate sink node queue is not empty, taking the next network node in the candidate sink node queue as the current network node in the candidate sink node queue, and returning to the step of determining whether the current network node in the candidate sink node queue is a sink node; If the candidate sink node queue is empty, the number of time slices spanned by the current search path is calculated according to the current search time slice and the starting search time slice; Determine whether the number of spanning time slices of the current search path reaches the maximum number of spanning time slices; If the number of time slices spanned by the current search path does not reach the maximum number of time slices spanned, and there is a next time slice, then the corresponding network nodes of the next time slice of all network nodes in the current search time slice that have entered the candidate sink node queue are placed in the candidate sink node queue through the forward cache edge capacity set, and the current search time slice is increased by one; Determining whether the candidate sink node queue is empty; If the candidate sink node queue is empty, determining whether the starting search time slice is the last time slice; If the starting search time slice is the last time slice, the execution ends and the maximum flow of the dynamic spatial information network is obtained; If the starting search time slice is not the last time slice, the starting search time slice is incremented by one, and the obtained new starting search time slice is used as the starting search time slice, and the process returns to the step of placing the source node of the starting search time slice in the candidate sink node queue.
3. The method according to claim 2, characterized in that The method further comprises: If the current network node is the sink node, the searched target augmenting path and the traffic of the searched target augmenting path are recorded, the residual network is updated, the updated residual network is used as the residual network, and the step of placing the source node of the starting search time slice in the candidate sink node queue is returned to.
4. The method according to claim 2, characterized in that The method further comprises: If the candidate sink node queue is not empty, the next network node in the candidate sink node queue is used as the current network node in the candidate sink node queue, and the process returns to the step of determining whether the current network node in the candidate sink node queue is a sink node.
5. The method according to claim 2, characterized in that The method further comprises: If the number of time slices spanned by the current search path has reached the maximum number of time slices spanned, or there is no next time slice, determining whether the starting search time slice is the last time slice; If the starting search time slice is the last time slice, the execution ends and the maximum flow of the dynamic spatial information network is obtained; If the starting search time slice is not the last time slice, the starting search time slice is incremented by one, and the obtained new starting search time slice is used as the starting search time slice, and the process returns to the step of placing the source node of the starting search time slice in the candidate sink node queue.
6. The method according to claim 2, characterized in that Constructing a residual network based on the time-expanded graph, including: If the target augmenting path has not been found at the current moment, the time-expanded graph is used as the residual network; If the target augmenting path has been searched at the current moment, a residual network obtained by updating the residual network according to the target augmenting path is used as the residual network.
7. The method according to claim 2, characterized in that The remaining network includes: a network node set with time slice information, a forward edge capacity set, a forward cache edge capacity set, a reverse edge capacity set, and a reverse cache capacity set.
8. A dynamic network capacity calculation device based on topology change characteristics, characterized in that: include: an acquisition and calculation unit, configured to acquire a time-extended graph of a dynamic spatial information network, calculate the shortest path between any two network nodes in the time-extended graph, and calculate an average number of shortest hops of the shortest path and an average number of time slices spanned by the shortest path, and further calculate a maximum number of hops and a maximum number of time slices spanned when searching for an augmenting path based on the average number of shortest hops and the average number of time slices spanned; an augmenting path search unit, configured to perform an augmenting path search on the remaining network constructed based on the time-expanded graph using a breadth-first search method with the maximum number of hops and the maximum number of spanning time slices as constraints, to obtain a target augmenting path whose number of hops is constrained to be within the maximum number of hops and whose number of spanning time slices is constrained to be within the maximum number of spanning time slices, wherein, when searching for an augmenting path, the search is preferentially performed within the same time slice; A determining unit is configured to determine a maximum flow of the dynamic spatial information network according to the target augmenting path, and use the maximum flow of the dynamic spatial information network as the capacity of the dynamic spatial information network.
9. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 7 are implemented.
10. A computer-readable storage medium, characterized in that The computer-readable storage medium stores machine-executable instructions. When the machine-executable instructions are called and executed by a processor, the machine-executable instructions prompt the processor to execute the method according to any one of claims 1 to 7.
Citation Information
Patent Citations
Heuristic method for working out a plurality of shortest simple routes in network under multiple constraints
CN101753425A
Shortest routing method for time-varying network capable of guaranteeing elasticity
CN110752990A
Task delay constraint-oriented low-orbit satellite data transmission method
CN111182583A
Shortest path routing search method, system and device and storage medium
CN117014366A
Efficient data routing transmission method in heterogeneous satellite network
CN118631724A