A dynamic network capacity calculation method and device based on topology change characteristics

By utilizing topology change characteristics in dynamic network capacity calculation and employing breadth-first search with constraints of maximum hop count and maximum span time slices, excessively long paths are pruned, thus solving the problem of high time complexity in traditional methods and achieving efficient dynamic network capacity calculation.

CN120602385BActive Publication Date: 2025-11-21BEIHANG UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202511094369.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-08-06
Publication Date
2025-11-21
Estimated Expiration
2045-08-06

AI Technical Summary

Technical Problem

Traditional methods for calculating the capacity of dynamic networks suffer from high time complexity, especially when dealing with highly dynamic networks. Existing algorithms fail to effectively utilize the topological change characteristics of dynamic networks, resulting in low computational efficiency.

Method used

A dynamic network capacity calculation method based on topology change characteristics is adopted. By obtaining the time spread graph of the dynamic spatial information network, the average shortest path has the average number of shortest hops and the average number of time slices spanned. With the maximum number of hops and the maximum number of time slices spanned as constraints, the remaining network is constructed using a breadth-first search method to perform augmenting path search. Overly long paths are pruned, and searches are prioritized within the same time slice to reduce the search range.

Benefits of technology

It effectively reduces the time complexity of augmented path search, improves computational efficiency, and ensures the accuracy and practicality of maximum flow calculation, making it suitable for capacity analysis of highly dynamic networks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120602385B_ABST
    Figure CN120602385B_ABST
Patent Text Reader

Abstract

The application provides a kind of dynamic network capacity calculation method and device based on topological variation characteristics, belong to the technical field of communication, in the method, when carrying out augmented path search, with maximum hop number and maximum span time slice number as constraint, the remaining network based on time expansion graph is searched by breadth-first search mode, that is, the hop number of search path and the time slice number crossed by search path are concerned at moment, search path exceeding the maximum hop number and maximum span time slice number set is pruned, that is, some too long search path is eliminated, the range required to be searched is reduced, so as to reduce the time complexity of searching augmented path, and when searching augmented path, search in the same time slice is preferred, to ensure that the target augmented path with minimum span time slice number can be searched preferentially.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of communication, and in particular to a dynamic network capacity calculation method and device based on topology change characteristics. BACKGROUND

[0002] With the continuous development and progress of information technology and space technology in recent years, space information network has become an important research topic. The topology structure of space information network has significant time-varying instability, which makes the network capacity analysis method for the existing ground network not applicable to space information network. Therefore, it is an important research topic of space information network to analyze and solve the capacity of space information network in a period of time according to the time-varying characteristics of space information network topology.

[0003] Network capacity usually refers to the maximum flow that the network can transmit under certain conditions, so the so-called network capacity analysis is actually to calculate the maximum flow (referred to as maximum flow) that the network can transmit in a certain period of time. If the network structure remains unchanged in this time span, it can be regarded as a static network, otherwise it is regarded as a dynamic network.

[0004] At present, the status of the maximum flow algorithm (i.e. static network capacity algorithm) suitable for static network is as follows: Ford and Fulkerson first proposed the maximum flow algorithm in 1956, introduced the concepts of augmented path and residual network, and established the maximum flow model for static network. In each iteration of the Ford-Fulkerson algorithm, an augmented path p is searched by using DFS search method to increase the flow f, and by continuously searching for new augmented paths, the maximum flow is continuously updated until no new augmented path is found. Edmonds-Karp maximum flow algorithm improves the method of searching augmented path of Ford-Fulkerson algorithm: Edmonds-Karp maximum flow algorithm uses BFS search method to search the augmented path from the source node to the sink node in order to search the shorter augmented path preferentially, and then obtains the maximum flow on the augmented path.

[0005] Since the time complexity of Edmonds-Karp maximum flow algorithm is mainly related to the scale of the edges and nodes of the graph for maximum flow search. Compared with Ford-Fulkerson algorithm, the time complexity of Edmonds-Karp maximum flow algorithm is more stable, and the worst case of the time complexity of Edmonds-Karp maximum flow algorithm is also better than that of Ford-Fulkerson algorithm.

[0006] The reason why the static network capacity algorithm cannot be directly used for dynamic network capacity is that dynamic network capacity optimization is actually a trade-off between delay tolerance and capacity optimization. The core algorithm of dynamic network is to convert the dynamic network into a static network using a network capacity model, and then calculate the maximum flow using the static network capacity algorithm. (For a dynamic network whose network structure changes within a certain time period, it can be divided into snapshots according to the changing nodes. The network topology within each snapshot time period can be regarded as static, so it can be represented by a static network graph.)

[0007] Currently, the models that can be used to integrate different snapshots mainly include two types: time aggregation graph model and time expansion graph model. The time aggregation graph model discretizes the time-varying characteristics of the network and uses a time-discrete sequence to represent the changes in the link values at different times between network nodes. The values in the sequence can be the delay or capacity of the link at each time. The time expansion graph model establishes a copy graph containing all network nodes for each time slice of the time-varying network topology. The link state of each copy graph is different. The time expansion graph model establishes a relationship between the network topologies of different time slices through a virtual link between the same network node copies of adjacent time slices.

[0008] Regardless of which model is used, the core steps for calculating the capacity of a dynamic network include: Step 1: Convert the entire transmission process into a static network graph using the above model; Step 2: Use the Edmonds-Karp maximum flow algorithm suitable for static network graphs to obtain the maximum flow as the capacity of the dynamic network.

[0009] The ideas of the above-mentioned maximum flow algorithm for calculating the dynamic network structure are all to represent the dynamic network by using a static network graph and to calculate the maximum flow by using the maximum flow algorithm for the static network graph. Such algorithm design ideas make the optimization of the existing algorithm focus on the method of converting the dynamic network graph into the static network graph and the optimization of the algorithm for the static network graph, thereby ignoring the unique features of the static network graph converted from the dynamic network graph, i.e., there is generally no edge connection between all network nodes of a time slice and all network nodes of the next time slice (there is no link connection between different network nodes of different time slices), and the Edmonds-Karp maximum flow algorithm is used to calculate the maximum flow of the static network graph itself (there is an edge between any network nodes in the static network graph), that is, the Edmonds-Karp maximum flow algorithm is more suitable for the scenario that there is an edge 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 of different time slices, and if the Edmonds-Karp maximum flow algorithm is still used to calculate the maximum flow of the static network graph converted from the dynamic network graph, the time complexity will obviously be increased. In addition, when calculating the maximum flow of the high-dynamic network, a large number of time slices are needed to describe the dynamic topology relationship of the network due to the high dynamic nature of the network. The traditional Edmonds-Karp maximum flow algorithm needs a large time complexity and space complexity to solve this problem.

[0010] In summary, the traditional dynamic network capacity calculation method has the technical problem of large time complexity. SUMMARY

[0011] Therefore, the purpose of the present application is to provide a dynamic network capacity calculation method and device based on topology change characteristics to alleviate the technical problem of large time complexity of the traditional dynamic network capacity calculation method.

[0012] In a first aspect, an embodiment of the present application provides a dynamic network capacity calculation method based on topology change characteristics, comprising:

[0013] obtaining a time-expanded graph of a dynamic spatial information network, and calculating the shortest path between any two network nodes in the time-expanded graph, and calculating the average shortest hop number of the shortest path and the average number of time slices crossed by the shortest path, and then calculating the maximum hop number and the maximum number of time slices crossed when searching for an augmented path according to the average shortest hop number and the average number of time slices crossed;

[0014] perform an augmented path search on a residual network constructed based on the time-expanded graph in a breadth-first search manner with the maximum hop count and the maximum cross-time slice count as constraints, to obtain a target augmented path with the hop count being constrained within the maximum hop count and the cross-time slice count being constrained within the maximum cross-time slice count, wherein the augmented path search is performed preferentially in the same time slice;

[0015] determine the maximum flow of the dynamic spatial information network according to the target augmented path, and take the maximum flow of the dynamic spatial information network as the capacity of the dynamic spatial information network.

[0016] Further, the augmented path search on the residual network constructed based on the time-expanded graph in the breadth-first search manner with the maximum hop count and the maximum cross-time slice count as constraints comprises:

[0017] construct a residual network based on the time-expanded graph, place a source node of a starting search time slice in a candidate sink node queue, and record a current search time slice as the starting search time slice;

[0018] determine whether a current network node in the candidate sink node queue is a sink node;

[0019] if the current network node is not the sink node, remove the current network node from the candidate sink node queue, and determine whether the candidate sink node queue is empty;

[0020] if the candidate sink node queue is empty, count hop counts of node paths from the source node to all target network nodes of the current search time slice that have entered the candidate sink node queue;

[0021] determine whether a hop count of a current node path in the node paths reaches the maximum hop count;

[0022] if the hop count of the current node path does not reach the maximum hop count, place a target neighbor network node that has not entered the candidate sink node queue among neighbor network nodes of a target network node corresponding to the current node path in the candidate sink node queue through the residual network;

[0023] if the hop count of the current node path reaches the maximum hop count, take a next node path in the node paths as the current node path, and return to perform the step of determining whether the hop count of the current node path in the node paths reaches the maximum hop count until the node paths are completely traversed;

[0024] determine whether the candidate sink node queue is empty;

[0025] If the candidate sink node queue is not empty, the next network node in the candidate sink node queue is taken as the current network node in the candidate sink node queue, and the step of judging whether the current network node in the candidate sink node queue is a sink node is executed again.

[0026] If the candidate sink node queue is empty, the number of crossed time slices of the current search path is calculated according to the current search time slice and the start search time slice.

[0027] It is judged whether the number of crossed time slices of the current search path reaches the maximum number of crossed time slices.

[0028] If the number of crossed time slices of the current search path does not reach the maximum number of crossed time slices, and there is a next time slice, all the next time slices of the current search time slice of the network nodes in 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.

[0029] It is judged whether the candidate sink node queue is empty.

[0030] If the candidate sink node queue is empty, it is judged whether the start search time slice is the last time slice.

[0031] If the start search time slice is the last time slice, the execution is ended, and the maximum flow of the dynamic spatial information network is obtained.

[0032] If the start search time slice is not the last time slice, the start search time slice is increased by one, and the obtained new start search time slice is taken as the start search time slice, and the step of placing the source node of the start search time slice in the candidate sink node queue is executed again.

[0033] Further, the method further comprises:

[0034] If the current network node is the sink node, the target augmented path obtained by the search and the flow of the target augmented path obtained by the search are recorded, the residual network is updated, the updated residual network is taken as the residual network, and the step of placing the source node of the start search time slice in the candidate sink node queue is executed again.

[0035] Further, the method further comprises:

[0036] If the candidate sink node queue is not empty, the next network node in the candidate sink node queue is taken as the current network node in the candidate sink node queue, and the step of judging whether the current network node in the candidate sink node queue is a sink node is executed again.

[0037] Further, the method further comprises:

[0038] If the number of crossed time slices of the current search path has reached the maximum number of crossed time slices, or there is no next time slice, it is judged whether the starting search time slice is the last time slice;

[0039] If the starting search time slice is the last time slice, the execution is ended, and the maximum flow of the dynamic spatial information network is obtained;

[0040] If the starting search time slice is not the last time slice, the starting search time slice is added by one, and the obtained new starting search time slice is taken 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 to be executed.

[0041] Further, the remaining network is constructed based on the time-expanded graph, comprising:

[0042] If the target augmented path has not been searched at the current moment, the time-expanded graph is taken as the remaining network;

[0043] If the target augmented path has been searched at the current moment, the remaining network obtained after the remaining network is updated according to the target augmented path is taken as the remaining network.

[0044] Further, the remaining network comprises 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.

[0045] In a second aspect, an embodiment of the present application further provides a dynamic network capacity calculation device based on a topology change feature, comprising:

[0046] An acquisition and calculation unit is configured to acquire a time-expanded graph of a dynamic spatial information network, and calculate a shortest path between any two network nodes in the time-expanded graph, and calculate an average shortest hop number of the shortest path and an average number of crossed time slices of the shortest path, and further calculate a maximum hop number and a maximum number of crossed time slices when searching for an augmented path according to the average shortest hop number and the average number of crossed time slices;

[0047] An augmented path searching unit is configured to search for an augmented path in a remaining network constructed based on the time-expanded graph by using a breadth-first search manner with the maximum hop number and the maximum number of crossed time slices as constraints, so as to obtain a target augmented path whose hop number is constrained within the maximum hop number and whose number of crossed time slices is constrained within the maximum number of crossed time slices, wherein, when searching for the augmented path, searching is preferentially performed in the same time slice;

[0048] The determining unit is configured to determine the maximum flow of the dynamic spatial information network according to the target augmented path, and take the maximum flow of the dynamic spatial information network as the capacity of the dynamic spatial information network.

[0049] In a third aspect, an electronic device is provided, which includes a memory, a processor, and a computer program stored in the memory and executable on the processor, and the processor implements the steps of the method of any one of the first aspect when executing the computer program.

[0050] In a fourth aspect, a computer readable storage medium is provided, which stores machine executable instructions, and the machine executable instructions cause a processor to execute the method of any one of the first aspect when the machine executable instructions are invoked and executed by the processor.

[0051] In the embodiment of the present application, a dynamic network capacity calculation method based on topology change characteristics is provided, which includes: obtaining a time-expanded graph of a dynamic spatial information network, and calculating the shortest path between any two network nodes in the time-expanded graph, and calculating the average shortest hop number of the shortest path and the average number of time slices crossed by the shortest path, and then calculating the maximum hop number and the maximum number of time slices crossed when searching for an augmented path according to the average shortest hop number and the average number of time slices crossed; searching for an augmented path in a residual network constructed based on the time-expanded graph by using a breadth-first search method with the maximum hop number and the maximum number of time slices crossed as constraints, to obtain a target augmented path whose hop number is constrained within the maximum hop number and whose number of time slices crossed is constrained within the maximum number of time slices crossed, wherein, when searching for the augmented path, searching is preferentially performed in the same time slice; determining the maximum flow of the dynamic spatial information network according to the target augmented path, and taking 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 method based on topology change characteristics, when searching for the augmented path, the residual network constructed based on the time-expanded graph is searched for the augmented path by using the breadth-first search method with the maximum hop number and the maximum number of time slices crossed as constraints, that is, the hop number and the number of time slices crossed of the searched path are concerned in real time, and the searched path exceeding the set maximum hop number and maximum number of time slices crossed is pruned, that is, some excessively long searched paths are removed, thereby reducing the range to be searched, and thus reducing the time complexity of searching for the augmented path, and when searching for the augmented path, searching is preferentially performed in the same time slice, so as to ensure that the target augmented path with the minimum number of time slices crossed can be searched preferentially, thereby alleviating the technical problem of large time complexity of the traditional dynamic network capacity calculation method. BRIEF DESCRIPTION OF DRAWINGS

[0052] In order to more clearly illustrate the technical solutions in the specific embodiments of the present application or the prior art, the following will briefly introduce the drawings needed to be used in the specific embodiments or the prior art description. Obviously, the drawings described below are some embodiments of the present application, and other drawings can be obtained by those skilled in the art without any creative effort on the basis of these drawings.

[0053] Figure 1 A flow chart of a dynamic network capacity calculation method based on topology change characteristics provided for an embodiment of the present application is shown in the figure.

[0054] Figure 2 A flow chart of another dynamic network capacity calculation method based on topology change characteristics provided for an embodiment of the present application is shown in the figure.

[0055] Figure 3 A schematic diagram of a dynamic network capacity calculation device based on topology change characteristics provided for an embodiment of the present application is shown in the figure.

[0056] Figure 4 A schematic diagram of an electronic device provided for an embodiment of the present application is shown in the figure. DETAILED DESCRIPTION

[0057] The technical solutions of the present application will be described in detail below with reference to the embodiments. Obviously, the described embodiments are only some of the embodiments of the present application, but not all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without any creative effort fall within the scope of protection of the present application.

[0058] The traditional dynamic network capacity calculation method has the technical problem of large time complexity.

[0059] Therefore, in the dynamic network capacity calculation method based on topology change characteristics of the present application, when performing augmented path search, the breadth-first search is adopted to search the remaining network constructed based on the time-expanded graph with the maximum hop number and the maximum number of time slices crossed as constraints, that is, the number of hops and the number of time slices crossed of the search path are focused on, and the search path exceeding the set maximum hop number and maximum number of time slices crossed is pruned, that is, some too long search paths are removed, reducing the range to be searched, thereby reducing the time complexity of searching the augmented path, and when searching the augmented path, the search is performed in the same time slice first, ensuring that the target augmented path with the minimum number of time slices crossed can be searched first.

[0060] In order to facilitate the understanding of the present embodiment, first, a dynamic network capacity calculation method based on topology change characteristics disclosed by the present embodiment will be introduced in detail.

[0061] Example 1:

[0062] According to an embodiment of the present invention, an embodiment of a dynamic network capacity calculation method based on topology change characteristics is provided. It should be noted that the steps shown in the flowchart in the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions. Furthermore, although a logical order is shown in the flowchart, in some cases, the steps shown or described may be executed in a different order than that shown here.

[0063] Figure 1 This is a flowchart of a dynamic network capacity calculation method based on topology change characteristics according to an embodiment of the present invention, as shown below. Figure 1 As shown, the method includes the following steps:

[0064] Step S102: Obtain the time spread graph of the dynamic spatial information network, calculate the shortest path between any two network nodes in the time spread graph, and calculate the average shortest hop count and the average time slice span of the shortest path. Then, calculate the maximum hop count and the maximum time slice span when searching for augmenting paths based on the average shortest hop count and the average time slice span.

[0065] Analysis of traditional methods for calculating the capacity of dynamic networks reveals that optimizing the capacity of dynamic spatial information networks using the time-spreading graph model essentially trades delay tolerance for capacity optimization. This involves using delay tolerance and joint optimization of continuous multi-slot graphs to optimize / maximize the network capacity (i.e., the dynamic spatial information network) over a given time period. The core idea is to transform 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 algorithm primarily lies in the search for augmenting paths in the static network. Therefore, the improvement in this invention focuses on optimizing the method for searching augmenting paths.

[0066] Traditional maximum flow algorithms for optimizing augmenting path search methods focus on improving the search method for augmenting paths in static graphs, neglecting the highly dynamic characteristics of highly dynamic networks and only considering the topological features of static graphs. However, this invention, in studying the short hop count of time-spread graphs in highly dynamic networks, notices the unique information transmission patterns of highly dynamic graphs: 1. The average number of shortest hops for the shortest path between network nodes is relatively small compared to the total number of network nodes. 2. The average number of time slices spanned by the shortest path is smaller than the total number of time slices in the time-spread graph. These are both characteristics unique to dynamic networks.

[0067] Inspired by this, the application uses the number of hops and the number of time slices crossed as the basis for pruning (that is, as a constraint condition for the search of the augmented path) to reduce the time complexity of searching for the augmented path while maintaining a high degree of accuracy of the maximum flow calculation. This method of obtaining a relatively accurate maximum flow by searching only part of the network (compared with the result obtained by the traditional method) is not noticed under the traditional maximum flow algorithm that ignores the dynamic characteristics of the network.

[0068] Specifically, the dynamic spatial information network is a directed graph, which can be represented as ; wherein, represents a set of network nodes (that is, a set of vertices), represents a set of positive edge capacities (that is, a connection between network nodes in the same time slice in the subsequent time expansion graph), represents a set of positive cache edge capacities (that is, a connection between the same network nodes in different time slices in the subsequent time expansion graph), represents a time period, During the above time period, the dynamic spatial information network is divided into M static time slices using the time expansion graph model, and the process of the application is to calculate the maximum flow that can be transmitted from the source node (a network node with only outgoing flow but no incoming flow) to the sink node (a network node with only incoming flow but no outgoing flow) in the dynamic spatial information network during the above time period.

[0069] 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 crossed by the shortest path are calculated. Multiplying the two by a preset value can obtain the maximum number of hops and the maximum number of time slices crossed when searching for the augmented path.

[0070] In implementation, the shortest path between any two network nodes in the time expansion graph is calculated, for example, the shortest path between the A network node and the B network node, the shortest path between the A network node and the C network node, etc. The shortest hop number of each shortest path is then determined, and finally the average of all shortest hop numbers is calculated to obtain the average shortest hop number. At the same time, the average number of time slices crossed is calculated according to the number of time slices crossed by each shortest path.

[0071] It should be noted that the above preset value can be multiple, and the corresponding preset value when the final maximum flow tends to be stable is the target preset value, which is generally set according to experience.

[0072] Step S104, the remaining network constructed based on the time-expanded graph is searched for an augmented path in a breadth-first search manner with the maximum hop number and the maximum number of crossed time slices as constraints, to obtain a target augmented path with the hop number being constrained within the maximum hop number and the number of crossed time slices being constrained within the maximum number of crossed time slices, wherein, when searching for the augmented path, searching is preferentially performed in the same time slice;

[0073] Specifically, after the time-expanded graph is obtained, the remaining network is constructed and initialized, a forward edge capacity set , a forward cache edge capacity set ; the remaining network , a maximum flow of the network , and a starting search time slice are set. Among them, represents a reverse edge capacity set, represents a reverse cache capacity set.

[0074] On the remaining network , 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 an augmented path, until the starting search time slice reaches the last time slice (i.e., M=5), and in addition, when searching for the augmented path, the search is performed with the maximum hop number and the maximum number of crossed time slices as constraints, so that the augmented path search of the remaining network is completed.

[0075] Step S106, the maximum flow of the dynamic spatial information network is determined according to the target augmented path, and the maximum flow of the dynamic spatial information network is taken as the capacity of the dynamic spatial information network.

[0076] Specifically, the minimum capacity (minimum flow) on the target augmented path = the maximum flow of the target augmented path, and the maximum flow of all target augmented paths is summed, which is the maximum flow of the dynamic spatial information network.

[0077] In the embodiment of the present application, a dynamic network capacity calculation method based on topology change characteristics is provided, comprising: obtaining a time-expanded graph of a dynamic spatial information network, and calculating the shortest path between any two network nodes in the time-expanded graph, and calculating the average shortest hop number of the shortest path and the average time slice number crossed by the shortest path, and then calculating the maximum hop number and the maximum time slice number crossed when searching for an augmented path according to the average shortest hop number and the average time slice number crossed; searching for an augmented path in the residual network constructed based on the time-expanded graph by using a breadth-first search method with the maximum hop number and the maximum time slice number crossed as constraints, to obtain a target augmented path whose hop number is constrained within the maximum hop number and whose time slice number crossed is constrained within the maximum time slice number crossed, wherein, when searching for the augmented path, searching is preferentially performed in the same time slice; determining the maximum flow of the dynamic spatial information network according to the target augmented path, and taking 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 method based on topology change characteristics, when searching for the augmented path, the residual network constructed based on the time-expanded graph is searched for the augmented path by using the breadth-first search method with the maximum hop number and the maximum time slice number crossed as constraints, that is, the hop number of the searched path and the time slice number crossed by the searched path are concerned in real time, and the searched path exceeding the set maximum hop number and maximum time slice number crossed is pruned, that is, some excessively long searched paths are removed, so as to reduce the range to be searched, thereby reducing the time complexity of searching for the augmented path, and when searching for the augmented path, searching is preferentially performed in the same time slice, so as to ensure that the target augmented path with the minimum time slice number crossed can be preferentially searched, thereby relieving the technical problem of large time complexity of the traditional dynamic network capacity calculation method.

[0078] The above describes the dynamic network capacity calculation method based on topology change characteristics in brief, and the specific contents involved therein are described in detail below.

[0079] In an optional embodiment of the present application, the residual network constructed based on the time-expanded graph is searched for the augmented path by using the breadth-first search method with the maximum hop number and the maximum time slice number crossed as constraints, specifically comprising the following steps:

[0080] (1) 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;

[0081] Specifically, the remaining network is initialized based on a time expansion graph; if a target augmented path is searched at a current time, a remaining network obtained by updating the remaining network according to the target augmented path is taken as the remaining network, and the candidate sink node queue is used to store candidate sink nodes, which are network nodes that are possibly sink nodes. In addition, each search path corresponds to a candidate sink node queue, that is, the candidate sink node queue is bound to the search path.

[0082] (2) determining whether the current network node in the candidate sink node queue is a sink node;

[0083] (3) if the current network node is a sink node, recording the target augmented path searched and the flow of the target augmented path searched, updating the remaining network, taking the updated remaining network as the remaining network, and returning to execute the step of placing the source node of the starting search time slice in the candidate sink node queue.

[0084] (4) if the current network node is not a sink node, removing the current network node from the candidate sink node queue, and determining whether the candidate sink node queue is empty;

[0085] (5) 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 execute the step of determining whether the current network node in the candidate sink node queue is a sink node.

[0086] (6) if the candidate sink node queue is empty, counting the hop number of each target network node of a node path from the source node to the current search time slice that has entered the candidate sink node queue;

[0087] (7) determining whether the hop number of the current node path in the node path reaches a maximum hop number;

[0088] (8) if the hop number of the current node path does not reach the maximum hop number, placing a target neighbor network node in neighbor network nodes of the current node path corresponding to the target network node, which has not entered the candidate sink node queue, in the candidate sink node queue through the remaining network;

[0089] Specifically, the target neighbor network node that has not entered the candidate sink node queue refers to a network node that has not entered the candidate sink node queue on the current node path (i.e., the current search path) and is adjacent to the target network node and has a connection relationship with the target network node. That is, as long as the A network node has entered the candidate sink node queue at t1, the A network node at any time thereafter should not enter the candidate sink node queue again.

[0090] (9) if the hop number of the current node path reaches the maximum hop number, the next node path in the node path is taken as the current node path, and the step of judging whether the hop number of the current node path reaches the maximum hop number is executed until the node path is traversed completely;

[0091] (10) judging whether the candidate sink node queue is empty;

[0092] (11) if the candidate sink node queue is not empty, the next network node in the candidate sink node queue is taken as the current network node in the candidate sink node queue, and the step of judging whether the current network node in the candidate sink node queue is a sink node is executed;

[0093] (12) if the candidate sink node queue is empty, the number of crossed time slices of the current search path is calculated according to the current search time slice and the starting search time slice;

[0094] (13) judging whether the number of crossed time slices of the current search path reaches the maximum number of crossed time slices;

[0095] (14) if the number of crossed time slices of the current search path does not reach the maximum number of crossed time slices, and there is the next time slice, all the next time slices of the network nodes in the candidate sink node queue of 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 added by one;

[0096] (15) judging whether the candidate sink node queue is empty;

[0097] (16) if the candidate sink node queue is empty, whether the starting search time slice is the last time slice is judged;

[0098] (17) if the starting search time slice is the last time slice, the execution is ended, and the maximum flow of the dynamic spatial information network is obtained;

[0099] (18) if the starting search time slice is not the last time slice, the starting search time slice is added by one, and the obtained new starting search time slice is taken 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 executed;

[0100] (19) if the candidate sink node queue is not empty, the next network node in the candidate sink node queue is taken as the current network node in the candidate sink node queue, and the step of judging whether the current network node in the candidate sink node queue is a sink node is executed.

[0101] In an optional embodiment of the application, the method further comprises:

[0102] If the number of crossed time slices of the current search path has reached the maximum number of crossed time slices, or, there is no next time slice, it is judged whether the starting search time slice is the last time slice; if the starting search time slice is the last time slice, the execution is ended, 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 added by one, and the obtained new starting search time slice is taken 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 to execute.

[0103] For better understanding of the process of the application, the method of the application is introduced again below, with reference to Figure 2

[0104] Input: ; wherein, denotes a network node set (i.e., a vertex set), denotes a forward edge capacity set (i.e., a connection between network nodes of the same time slice in a subsequent time-expanded graph), denotes a forward cache edge capacity set (i.e., a connection between the same network nodes of different time slices in the subsequent time-expanded graph), denotes a time period.

[0105] Problem: In the time period, the dynamic spatial information network is divided into M static time slices using a time-expanded graph model, and the maximum flow that can be transmitted from a source node to a sink node of the dynamic spatial information network in the time period is sought.

[0106] Preprocessing: the shortest path between any two network nodes in the time-expanded graph is calculated, and the average shortest hop number and the average number of crossed time slices of the shortest path are calculated; the average shortest hop number and the average number of crossed time slices are multiplied by a preset value to obtain the maximum hop number ∆n and the maximum number of crossed time slices ∆d of the search augmented path.

[0107] Step 0: initialization, construction and initialization of the residual network, the forward edge capacity set , the forward cache edge capacity set ; the residual network , the maximum flow of the network , the starting search time slice is set . Wherein, denotes a reverse edge capacity set, denotes a reverse cache capacity set.

[0108] Step 1: in the residual network ​The algorithm searches for augmenting paths by performing a breadth-first search from the source node of the initial search time slice to the sink node of all time slices, until the initial search time slice reaches the last time slice (i.e., M=5).

[0109] 1.1 Place the source node of the starting search time slice into the candidate sink node queue (i.e., enqueue the source node of the starting search time slice), and record the current search time slice. For the initial search time slice (i.e., order) ), go to 1.2;

[0110] 1.2 (Determine if the target augmenting path has been found) Determine if the current network node in the candidate sink node queue is a sink node (i.e., determine if 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 if the candidate sink node queue is empty (i.e., dequeue the current node and determine if the queue is empty). If yes: go to 1.3; if no: loop through 1.2.

[0111] 1.3 (Breadth-First Search Method with Maximum Hop Count Constraint) Review all enqueued network nodes in the current search time slice. Calculate the hop count of the node path from the source node to the current network node. Determine if the hop count of the node path does not exceed the maximum hop count ∆n of the augmenting path. If yes: enqueue unenqueued network nodes from the remaining network's neighboring nodes (different network nodes connected to it in the same time slice); otherwise: do nothing. After completing 1.3, check if the queue is empty. If yes: go to 1.4; otherwise: go to 1.2.

[0112] 1.4 (Breadth-First Search Method with Maximum Spanning Time Slice Constraint) Calculate the current search time slice With the start search time slice The difference is used as the number of time slices spanned by the current search path. To determine whether the number of time slices spanned by the current search path has not reached the set maximum number of time slices spanned by ∆d, and whether there is a next time slice, the following steps are taken: Enqueue the corresponding nodes of the next time slice of all nodes (i.e., network nodes) that have been enqueued in the current search time slice using the forward cache edge capacity set, and then add the nodes of the next time slice of the current search time slice to the cache. Add one ( Check if the queue is empty. If yes: go to 1.5; if no: go to 1.2; if no (the current search path has reached the set maximum time slice span ∆d, or there is no next time slice): go to 1.5;

[0113] 1.5 (Determine whether to include the entire time period) If all searches are complete, it means that no results can be found for the initial search time slice. The source node of the augmenting path is added to all sink nodes of the time slice. If the starting search time slice is the last time slice, the maximum flow algorithm is completed, and Step 3 is performed. If not, the starting search time slice is increased by 1, and 1.1 is performed.

[0114] Step 2: Backtracking, updating the residual network, updating the maximum flow according to the flow of the searched augmenting path;

[0115] 2.1 Record the augmenting path as l, and record the flow of the augmenting path as Update the residual network (As follows (1)-(4), where i and j are nodes on the augmenting path), increase the maximum flow , and perform 1.1:

[0116] (1) Reduce the capacity of the forward edge: ,

[0117] (2) Increase the capacity of the reverse edge: ,

[0118] (3) Reduce the node cache capacity transfer edge: ,

[0119] (4) Increase the node reverse cache capacity transfer edge: ;

[0120] Step 3: Output the maximum flow of the network in the time period. .

[0121] In the search for an augmenting path, the number of hops and the number of time slices crossed are used as constraints. If the information from a source node in a certain time slice cannot reach the sink node after a certain number of hops or a certain number of time slices are crossed, the information should be abandoned. This reduces the range of the algorithm in searching for an augmenting path, thereby reducing the time complexity of the algorithm. By constantly changing the starting time slice, a maximum flow result that approximates the actual maximum flow of a high-dynamic network in a certain time period is ultimately obtained.

[0122] Such an augmenting path improvement method has the following advantages:

[0123] (1) For high-dynamic networks, the time complexity of the algorithm can be greatly reduced while slightly affecting the final maximum flow (i.e., network capacity) result;

[0124] (2) The maximum flow path calculated generally has a shorter hop count and smaller transmission energy loss, etc.

[0125] (3) The calculated maximum flow path generally crosses less time slices, and transmitting information through the path has less time delay.

[0126] That is, the search method of the augmented path of the present application has a much smaller time complexity than the existing network when facing a network structure that changes rapidly and has more time slices used for description. The augmented path searched has smaller time delay, so that the calculation of the maximum flow is more in line with the actual network data transmission scene to some extent.

[0127] The object improved by the present application: a class of maximum flow algorithms applicable to dynamic networks using the maximum flow algorithm of static graphs (i.e. static network graphs, also known as time-expanded graphs, and more precisely residual networks) after dynamic networks are converted into static graphs.

[0128] The present application focuses on the protection of:

[0129] (1) Because the network topology change characteristics are observed, the present application uses a method of restricting the search range of the augmented path to reduce the time complexity of the algorithm for calculating the maximum flow of the dynamic network. The optimization method of the traditional maximum flow algorithm is to change the search order without changing the search range.

[0130] (2) The maximum number of time slices crossed ∆d is used as a constraint on the time span of the augmented path, as described in Step 1, section 1.4. The existing maximum flow algorithm does not consider the maximum number of time slices crossed ∆d when searching for the augmented path, while the present application considers and limits it.

[0131] (3) The maximum number of hops ∆n of the augmented path is used as a constraint on the time span of the augmented path, as described in Step 1, section 1.3. The existing maximum flow algorithm does not consider the maximum number of hops ∆n of the augmented path when searching for the augmented path, while the present application considers and limits it.

[0132] (4) The time-expanded graph of the high-dynamic network is analyzed first, and the average shortest hop number of the shortest path and the average number of time slices crossed by the shortest path are used as a reference for constraining the augmented path. See the preprocessing section. The existing maximum flow algorithm does not have a preprocessing method for the time-expanded graph.

[0133] (5) The priority of all paths in the same time slice is higher than that of any path searching the augmented path to the next time slice. This is reflected in Step 1.3 before 1.4. The existing maximum flow algorithm does not use the difference in time slices as a priority difference as a principle for searching the augmented path.

[0134] The main innovation of the present application is:

[0135] The application improves the maximum flow algorithm when the Edmonds-Karp algorithm is applied in the time domain expansion graph model: the application focuses on the characteristics of dynamic network, finds that most of the traffic has these characteristics, and only searches the traffic with these characteristics (number of hops and number of time slices) to calculate the maximum flow.

[0136] (1) The way of searching the augmented path by taking the number of time slices as a constraint only searches the augmented path with a number of time slices less than a certain value, which is suitable for high dynamic network, reduces the search time (reduces the search time of network optimization), and ensures higher maximum flow accuracy;

[0137] (2) The way of searching the augmented path by taking the number of hops as a constraint only searches the augmented path with a number of hops less than a certain value, which is suitable for high dynamic network, reduces the search time (reduces the search time of network optimization), and ensures higher maximum flow accuracy;

[0138] (3) The average shortest hop number of dynamic network is counted as the basis for searching the maximum hop number of the augmented path, and the average number of time slices of the shortest path of the dynamic network is counted as the maximum number of time slices of the augmented path. Pre-analysis (i.e. preprocessing) of dynamic network can ensure the correctness of the data order of magnitude, thereby reducing the parameter debugging. The existing maximum flow algorithm does not appear to preprocess the dynamic network, which is the basis for improving the maximum flow algorithm;

[0139] (4) The specific search method of the augmented path is proposed: based on the local change of the connection relationship, in the augmented path search of the time expansion graph: preferentially search the nodes in the same time slice, and then search the same nodes in the next time slice. Such search method can preferentially search the augmented path with smaller delay.

[0140] Comparison with the existing scheme:

[0141] The improvement of the search method of the augmented path, the traditional maximum flow algorithm is improved for static network graph, ignoring the dynamic characteristics of dynamic network, compared with the application has the following differences:

[0142] (1) The optimization idea of the maximum flow algorithm is different: the traditional maximum flow optimization is to optimize the search method, and there is no optimization of the search range. The optimization point of the application is to optimize the search range of the augmented path;

[0143] (2) The constraint of searching the augmented path is different: the existing maximum flow algorithm based on time domain expansion graph (i.e. time expansion graph) does not optimize the number of hops and the number of time slices of the augmented path, while the application makes constraints, thereby greatly reducing the time complexity of the algorithm in the case of approaching the real maximum flow, and the augmented path also has smaller delay and hop number;

[0144] (3) The specific search for augmenting paths is different: the existing maximum flow algorithm based on temporal extended graph only proposes to use the BFS method to search for augmenting paths, without introducing the priority of nodes in the same time slice and the same node in the next time slice.

[0145] Summary: (1) This invention is an optimization of the traditional maximum flow algorithm based on temporal extended graphs;

[0146] (2) The biggest difference between this invention and other optimization methods is that this invention focuses on the dynamic network topology change characteristics, rather than optimizing only from the perspective of static graphs;

[0147] (3) The main optimization process of the present invention is as follows: The present invention evaluates the dynamic network in advance. Based on the characteristics of the dynamic network (the shortest number of hops of the shortest path and the number of time slices spanned by the shortest path), similar features are searched in the time spread graph. It is found that most traffic has certain features (for example, not many hops). The present invention only searches for traffic with these features (these traffic accounts for the vast majority of all traffic and is easy to find), and abandons traffic without these features (very few, but it takes a lot of time to find). Thus, the time complexity of the algorithm is greatly reduced without affecting the general accuracy of the maximum flow.

[0148] Example 2:

[0149] This invention also provides a dynamic network capacity calculation device based on topology change characteristics. This 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 Embodiment 1 of this invention. The following is a detailed description of the dynamic network capacity calculation device based on topology change characteristics provided in this invention.

[0150] Figure 3 This is a schematic diagram of a dynamic network capacity calculation device based on topology change characteristics according to an embodiment of the present invention, as shown below. 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:

[0151] The acquisition and calculation unit is used to acquire the time spread graph of the dynamic spatial information network, calculate the shortest path between any two network nodes in the time spread graph, and calculate the average shortest hop count and the average time slice span of the shortest path. Then, based on the average shortest hop count and the average time slice span, it calculates the maximum hop count and the maximum time slice span when searching for augmenting paths.

[0152] The augmented path searching unit searches the residual network constructed based on the time-expanded graph by using the breadth-first search method with the maximum hop number and the maximum cross time slice number as constraints to obtain a target augmented path whose hop number is constrained within the maximum hop number and whose cross time slice number is constrained within the maximum cross time slice number, wherein, during the augmented path searching, the searching is preferentially performed in the same time slice;

[0153] The determining unit determines the maximum flow of the dynamic spatial information network according to the target augmented path, and takes the maximum flow of the dynamic spatial information network as the capacity of the dynamic spatial information network.

[0154] In the embodiment of the present application, the dynamic network capacity calculation device based on the topology change feature comprises: a time-expanded graph of a dynamic spatial information network is obtained, and the shortest path between any two network nodes in the time-expanded graph is calculated, and the average shortest hop number of the shortest path and the average cross time slice number of the shortest path are calculated, and then the maximum hop number and the maximum cross time slice number during the search of the augmented path are calculated according to the average shortest hop number and the average cross time slice number; the residual network constructed based on the time-expanded graph is searched by using the breadth-first search method with the maximum hop number and the maximum cross time slice number as constraints to obtain a target augmented path whose hop number is constrained within the maximum hop number and whose cross time slice number is constrained within the maximum cross time slice number, wherein, during the augmented path searching, the searching is preferentially performed in the same time slice; the maximum flow of the dynamic spatial information network is determined according to the target augmented path, and the maximum flow of the dynamic spatial information network is taken as the capacity of the dynamic spatial information network. As described above, in the dynamic network capacity calculation device based on the topology change feature, the residual network constructed based on the time-expanded graph is searched by using the breadth-first search method with the maximum hop number and the maximum cross time slice number as constraints during the augmented path searching, that is, the hop number and the cross time slice number of the searched path are concerned in time, the searched path exceeding the set maximum hop number and maximum cross time slice number is pruned, that is, some too long searched paths are removed, the searching range is reduced, and the time complexity of the search of the augmented path is reduced, and during the augmented path searching, the searching is preferentially performed in the same time slice, so that the target augmented path with the minimum cross time slice number can be preferentially searched, and the technical problem of large time complexity of the traditional dynamic network capacity calculation method is solved.

[0155] Optionally, the augmented path searching unit is further configured to: based on the time-expanded graph, constructing a residual network, placing a source node of a starting search time slice into a candidate sink node queue, and recording a current search time slice as the starting search time slice; judging 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 judging whether the candidate sink node queue is empty; if the candidate sink node queue is empty, counting a hop number of a node path of each target network node in the candidate sink node queue from the source node to the current search time slice; judging whether the hop number of a current node path in the node path reaches a maximum hop number; if the hop number of the current node path does not reach the maximum hop number, placing a target neighbor network node in neighbor network nodes of the target network node corresponding to the current node path and not in the candidate sink node queue into the candidate sink node queue through the residual network; if the hop number of the current node path reaches the maximum hop number, taking a next node path in the node path as the current node path, and returning to the step of judging whether the hop number of the current node path reaches the maximum hop number until the node path is completely traversed; judging whether the candidate sink node queue is empty; if the candidate sink node queue is not empty, taking a next network node in the candidate sink node queue as a current network node in the candidate sink node queue, and returning to the step of judging whether the current network node is the sink node; if the candidate sink node queue is empty, calculating a number of crossed time slices of a current search path according to the current search time slice and the starting search time slice; judging whether the number of the crossed time slices of the current search path reaches a maximum number of crossed time slices; if the number of the crossed time slices of the current search path does not reach the maximum number of crossed time slices, and there is a next time slice, placing corresponding network nodes of the next time slice of all network nodes in the candidate sink node queue of the current search time slice into the candidate sink node queue through the forward cache edge capacity set, and increasing the current search time slice by one; judging whether the candidate sink node queue is empty; if the candidate sink node queue is empty, judging whether the starting search time slice is a last time slice; if the starting search time slice is the last time slice, performing ending, and obtaining a maximum flow of the dynamic spatial information network; if the starting search time slice is not the last time slice, increasing the starting search time slice by one, taking a new starting search time slice obtained as the starting search time slice, and returning to the step of placing the source node of the starting search time slice into the candidate sink node queue.

[0156] Optionally, the augmented path searching unit is further configured to: if the current network node is the sink node, recording a target augmented path obtained by the searching and a flow of the target augmented path obtained by the searching, updating the residual network, taking an updated residual network obtained as the residual network, and returning to the step of placing the source node of the starting search time slice into the candidate sink node queue.

[0157] Optionally, the augmented path searching unit is further configured to: 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 execute the step of judging whether the current network node in the candidate sink node queue is a sink node.

[0158] Optionally, the augmented path searching unit is further configured to: if the number of crossed time slices of the current search path has reached the maximum number of crossed time slices, or there is no next time slice, judging whether the starting search time slice is the last time slice; if the starting search time slice is the last time slice, ending and obtaining the maximum flow of the dynamic spatial information network; if the starting search time slice is not the last time slice, increasing the starting search time slice by one, taking the obtained new starting search time slice as the starting search time slice, and returning to execute the step of placing the source node of the starting search time slice in the candidate sink node queue.

[0159] Optionally, the augmented path searching unit is further configured to: if the target augmented path has not been searched at the current time, taking the time-expanded graph as the residual network; if the target augmented path has been searched at the current time, taking the residual network obtained by updating the residual network according to the target augmented path as the residual network.

[0160] Optionally, the residual network comprises: a network node set with time slice information, a forward edge capacity set, a forward buffer edge capacity set, a reverse edge capacity set, and a reverse buffer capacity set.

[0161] The device provided by the embodiment of the application has the same implementation principle and technical effects as the foregoing method embodiment, and for brevity of description, the part not mentioned in the device embodiment can be referred to the corresponding content in the foregoing method embodiment.

[0162] As shown in Figure 4 The electronic device 600 provided by the embodiment of the application comprises a processor 601, a memory 602, and a bus. The memory 602 stores machine readable instructions executable by the processor 601. When the electronic device is running, the processor 601 and the memory 602 communicate through the bus. The processor 601 executes the machine readable instructions to execute the steps of the method for calculating dynamic network capacity based on topology change characteristics.

[0163] Specifically, the memory 602 and the processor 601 can be general memory and processor, which are not specifically limited here. When the processor 601 runs the computer program stored in the memory 602, the method for calculating dynamic network capacity based on topology change characteristics can be executed.

[0164] The processor 601 can be an integrated circuit chip having a signal processing capability. In the implementation process, each step of the above method can be completed by the integrated logic circuit of hardware in the processor 601 or the instruction in the form of software. The processor 601 described above can be a general processor, including a central processing unit (CPU), a network processor (NP), etc.; can also be a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic device, a discrete gate or transistor logic device, a discrete hardware component. Each method, step and logic block diagram disclosed in the embodiments of the present application can be implemented or executed. The general processor can be a microprocessor or the processor can also be any conventional processor. The steps of the method disclosed in combination with the embodiments of the present application can be directly embodied as a hardware code processor for execution, or a combination of hardware and software modules in the code processor for execution. The software module can be located in a random access memory, a flash memory, a read only memory, a programmable read only memory or an electrically erasable programmable memory, a register, etc. The storage medium in the art. The storage medium is located in the memory 602, and the processor 601 reads the information in the memory 602, and combines the hardware to complete the steps of the above method.

[0165] Corresponding to the above dynamic network capacity calculation method based on topology change characteristics, the embodiment of the present application further provides a computer readable storage medium, the computer readable storage medium stores machine executable instructions, when the processor calls and runs the computer executable instructions, the computer executable instructions make the processor run the steps of the above dynamic network capacity calculation method based on topology change characteristics.

[0166] The dynamic network capacity calculation device based on topology change characteristics provided by the embodiment of the present application can be specific hardware on the device or software or firmware installed on the device. The device provided by the embodiment of the present application has the same implementation principle and generated technical effects as the foregoing method embodiments. For the sake of brevity, the part of the device embodiment not mentioned in the foregoing method embodiments can be referred to the corresponding content in the foregoing method embodiments. Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working process of the system, device and unit described above can be referred to the corresponding process in the foregoing method embodiments, which will not be repeated here.

[0167] In the embodiments of the present application, it should be understood that the disclosed apparatus and method can be implemented in other manners. The embodiments described above are merely specific implementation manners of the present application, and for example, the division of the units is only a logical function division, and there can be another division manner in actual implementation; for example, a plurality of units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the displayed or discussed mutual couplings or direct couplings or communication connections between different units, or the among different units, can be indirect couplings or communication connections through some interfaces, communication interfaces, or a combination of other forms, which can be electric, mechanical, or in other forms.

[0168] For another example, the flowcharts and block diagrams in the drawings show the possible implementation architectures, functions and operations of the apparatuses, methods and computer program products according to the embodiments of the present application. In this regard, each block in the flowcharts or block diagrams can represent a module, a program segment or a part of code, which contains one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions noted in the blocks can occur in different orders from that shown in the drawings. For example, two consecutive blocks can actually be executed substantially in parallel, and sometimes they can be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and the combination of blocks in the block diagrams and / or flowcharts, can be implemented by a dedicated hardware-based system for performing the specified functions or actions, or can be implemented by a combination of dedicated hardware and computer instructions.

[0169] The units described as separate components can or can not be physically separate, and the components shown as units can or can not be physical units, i.e., they can be located in one place, or can be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the present embodiment.

[0170] In addition, each functional unit in the embodiments of the present application can be integrated into one processing unit, or each unit can exist physically as a separate unit, or two or more units can be integrated into one unit.

[0171] If the functions are implemented in the form of software function units and sold or used as independent products, they can be stored in a computer readable storage medium. Based on this understanding, the technical solutions of the present application essentially or the parts that contribute to the prior art or parts of the technical solutions 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 making an electronic device (which can be a personal computer, a server, or a network device, etc.) execute all or part of the steps of the dynamic network capacity calculation method based on the topology change characteristics described in various embodiments of the present application. The aforementioned storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, and various program code storage media.

[0172] It should be noted that: similar labels and letters represent similar items in the following drawings, therefore, once an item is defined in one drawing, it does not need to be further defined and explained in subsequent drawings, in addition, the terms "first", "second", "third" and the like are only used to distinguish the description, and cannot be understood as indicating or implying relative importance.

[0173] Finally, it should be noted that: the above-described embodiments are only some specific implementations to illustrate the technical solutions of the present application, and are not limited thereto, the protection scope of the present application is not limited thereto, although the technical solutions are described with reference to the foregoing embodiments, those skilled in the art should understand that any person skilled in the art within the technical scope disclosed by the present application can still modify or easily think of changes to the technical solutions recorded in the foregoing embodiments, or make equivalent replacement to some technical features thereof; and these modifications, changes or replacements do not make the corresponding technical solutions deviate from the scope of the technical solutions of the embodiments of the present application. All should be covered within the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.

Claims

1. A method for calculating dynamic network capacity based on topological change characteristics, characterized in that, The method comprises the following steps: obtaining a time-expanded graph of a dynamic spatial information network, and calculating the shortest path between any two network nodes in the time-expanded graph, and calculating the average shortest hop number of the shortest path and the average time slice number crossed by the shortest path, and then calculating the maximum hop number and the maximum time slice number crossed when searching for an augmented path according to the average shortest hop number and the average time slice number crossed; performing augmented path search on a residual network constructed based on the time-expanded graph by using breadth-first search with the maximum hop number and the maximum time slice number crossed as constraints, to obtain a target augmented path whose hop number is constrained within the maximum hop number and whose time slice number crossed is constrained within the maximum time slice number crossed, wherein, when performing augmented path search, searching in the same time slice is preferred; determining the maximum flow of the dynamic spatial information network according to the target augmented path, and taking the maximum flow of the dynamic spatial information network as the capacity of the dynamic spatial information network.

2. The method of claim 1, wherein, The method of performing augmented path search on a residual network constructed based on the time-expanded graph by using breadth-first search with the maximum hop number and the maximum time slice number crossed as constraints comprises the following steps: S1, constructing a residual network based on the time-expanded graph, placing a source node of a starting search time slice in a candidate sink node queue, and recording the current search time slice as the starting search time slice; S2, judging whether the current network node in the candidate sink node queue is a sink node; S3, if the current network node is not the sink node, removing the current network node from the candidate sink node queue, and judging whether the candidate sink node queue is empty; S4, if the candidate sink node queue is empty, counting the hop number of a node path from the source node to each target network node in the candidate sink node queue in the current search time slice; S5, judging whether the hop number of a current node path in the node path reaches the maximum hop number; S6, if the hop number of the current node path does not reach the maximum hop number, placing a target neighbor network node in the neighbor network nodes of the target network node corresponding to the current node path and not in the candidate sink node queue into the candidate sink node queue through the residual network; S7, if the hop number of the current node path reaches the maximum hop number, taking a next node path in the node path as the current node path, and returning to the step of judging whether the hop number of the current node path in the node path reaches the maximum hop number until the node path is completely traversed; S8, judging whether the candidate sink node queue is empty; S9, if the candidate sink node queue is not empty, taking a 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 judging whether the current network node in the candidate sink node queue is a sink node; S10, if the candidate sink node queue is empty, calculating the time slice number crossed by a current search path according to the current search time slice and the starting search time slice; S11, determine whether the number of time slices spanned by the current search path has reached the maximum number of time slices spanned; S12, if the number of time slices spanned by the current search path has not reached the maximum number of time slices spanned, and there is a next time slice, then by using the forward cache edge capacity set, 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, and the current search time slice is incremented by one. S13, determine whether the candidate sink node queue is empty; S14, if the candidate sink node queue is empty, determine whether the starting search time slice is the last time slice; S15, 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; S16, if the starting search time slice is not the last time slice, then increment the starting search time slice by one, and use the 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.

3. The method of claim 2, wherein, The method further includes: If the current network node is the sink node, then record the target augmenting path obtained by the search and the traffic of the target augmenting path obtained by the search, update the remaining network, use the updated remaining network as the remaining network, and return to execute the step of placing the source node of the starting search time slice into the candidate sink node queue.

4. The method of claim 2, wherein, The method further includes: If the determination in step S3 or step S13 indicates that the candidate sink node queue is not empty, then the next network node in the candidate sink node queue is taken 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 of claim 2, wherein, The method further includes: If the number of time slices spanned by the current search path has reached the maximum number of time slices spanned, or if there is no next time slice, then determine whether the starting search time slice is the last time slice. If the initial 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 increment the starting search time slice by one, and use the new starting search time slice as the starting search time slice, then return to execute the step of placing the source node of the starting search time slice in the candidate sink node queue.

6. The method of claim 2, wherein, Constructing the remaining network based on the time-spread graph includes: If the target augmentation path has not been found at the current time, the time-spread graph is used as the remaining network. If the target augmenting path has been found at the current time, the remaining network obtained by updating the remaining network according to the target augmenting path will be used as the remaining network.

7. The method of claim 2, wherein, The remaining network includes: a set of network nodes with time slice information, a set of forward edge capacity, a set of forward cache edge capacity, a set of reverse edge capacity, and a set of reverse cache capacity.

8. A dynamic network capacity calculation apparatus based on topology change characteristics, characterized by, include: The acquisition and calculation unit is configured to acquire a time-expanded graph of the dynamic spatial information network, and calculate a shortest path between any two network nodes in the time-expanded graph, and an average shortest hop number of the shortest path and an average time slice number crossed by the shortest path, and further calculate a maximum hop number and a maximum time slice number crossed when searching for an augmented path according to the average shortest hop number and the average time slice number crossed; The augmented path searching unit is configured to search for an augmented path in a residual network constructed based on the time-expanded graph by using a breadth-first search manner with the maximum hop number and the maximum time slice number crossed as constraints, to obtain a target augmented path with a hop number constrained within the maximum hop number and a time slice number crossed constrained within the maximum time slice number crossed, wherein, when searching for the augmented path, searching is preferentially performed in the same time slice. The determination unit is configured to determine a maximum flow of the dynamic spatial information network according to the target augmented path, and take the maximum flow of the dynamic spatial information network as a capacity of the dynamic spatial information network.

9. An electronic device comprising a memory, a processor, and a computer program stored on the memory and executable on the processor, characterized in that, The processor implements the steps of the method of any one of claims 1 to 7 when executing the computer program.

10. A computer-readable storage medium, characterized in that, The computer readable storage medium stores machine executable instructions, and the machine executable instructions, when invoked and executed by the processor, cause the processor to execute the method of any one of claims 1 to 7.

Citation Information

Patent Citations

  • Task delay constraint-oriented low-orbit satellite data transmission method

    CN111182583A

  • Efficient data routing transmission method in heterogeneous satellite network

    CN118631724A