Self-organizing network routing and time slot online planning method and system based on time-varying graph

By adopting the time-varying graph-based joint online planning method of service routing and time slots in the ad-organized network, the problems of node dynamics and resource limitations are solved, and the service QoS guarantee, network resource utilization improves and calculation delays are reduced.

CN120166438AActive Publication Date: 2025-06-17XIDIAN UNIV
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202510306190.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2024-12-31
Filing Date
2025-03-14
Publication Date
2025-06-17
Estimated Expiration
2045-03-14

AI Technical Summary

Technical Problem

The prior art is difficult to effectively solve the problems of node dynamics and resource limitations in ad hoc networks, resulting in a degradation of routing algorithm performance, making it difficult to ensure service QoS and improve network resource utilization.

Method used

The self-organized network service routing and time slot joint online planning method based on time-varying graphs is adopted. By constructing a clustered network snapshot graph model and time slot graph model, combined with the Dijkstra algorithm, the fast and accurate search of paths is achieved, and the online matching of services and resources is supported.

Benefits of technology

This method can ensure service QoS, improve network resource utilization, reduce computing delay, and support online planning and real-time scheduling of service resources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120166438A_ABST
    Figure CN120166438A_ABST
Patent Text Reader

Abstract

The invention discloses a self-organizing network route and time slot online planning method and system based on a time-varying graph, and mainly solves the problem that route planning and resource allocation are difficult to solve online jointly in the prior art. According to the implementation scheme, the method comprises the following steps: constructing a clustering network snapshot graph model according to physical nodes contained in the self-organizing network; constructing a clustering network time slot graph model according to the clustering network snapshot graph model and the number of time slots; adding service release nodes, virtual nodes and corresponding links in the time slot graph model of the clustering network according to service requirements, and constructing a service time slot graph model of the clustering network; and by using a Dijkstra algorithm added with constraint conditions, carrying out combined planning of routing and time slots for the service in the clustering network service time slot graph model, and giving a service transmission path. According to the method, the business service quality can be guaranteed, the network resource utilization rate is improved, the calculation time delay is reduced, online planning of business routing and time slots is effectively supported, and the method can be used for a clustered large-scale self-organizing network.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the field of communication technologies, and particularly relates to a method and system for online routing and time slot planning in an ad-hoc network, which can be used for large-scale ad-hoc networks after clustering. Background Art

[0002] Due to the characteristic of not requiring fixed infrastructure support, ad-hoc networks are widely used in fields such as emergency rescue, disaster recovery, and military communication. In recent years, with the rapid development of communication technologies, they also have very broad application prospects in emerging fields such as the Internet of Things, smart cities, and low-altitude economy. In an ad-hoc network, nodes are interconnected through wireless communication. Routing is responsible for discovering and maintaining the network topology, calculating and ensuring the communication paths between nodes, and providing support for reliable communication between nodes. In an ad-hoc network, due to the mobility of nodes, the network topology changes frequently, and resources in the wireless network are more limited, which poses higher requirements for routing algorithms.

[0003] The literature "Research on Data Link Network Planning Algorithm Based on Time-Varying Graph" proposes a time-deterministic routing algorithm based on a time-varying graph. First, nodes within the same cluster are characterized as a virtual cluster node, then the network topology is modeled as a time-expanded graph model, and finally, the depth-first search method is used to search for the shortest path between the source node and the destination node. This algorithm ignores the communication requirements between nodes within the cluster in terms of modeling and characterization. If the service source node and the destination node belong to the same cluster, it is difficult to apply, and the depth-first search algorithm will calculate all paths between the source node and the destination node, rather than directly finding the shortest path.

[0004] The patent document with the application number "CN202310052484.3" discloses a "Method for Joint Topology and Routing Planning of Satellite Networks Based on Time-Expanded Graph". According to constraint conditions such as service size, link bandwidth, and link handover time, it reversely searches for the longest sub-path in the shortest transmission path and performs topology planning by reducing the single transmission size of services on each link. This algorithm is difficult to adapt to the irregular dynamics of ad-hoc network nodes, and the calculation delay of this method is strongly correlated with the node scale, and the algorithm performance will decrease as the network scale increases. Summary of the Invention

[0005] The purpose of the present invention is to provide a method and system for joint online routing and time slot planning of services in an ad-hoc network based on a time-varying graph in view of the deficiencies of the above-mentioned prior art, so as to support online scheduling of service resources in a large-scale ad-hoc network, ensure service QoS, and improve network resource utilization.

[0006] The technical idea of the present invention is as follows: By means of a time-varying graph tool, the self-organizing network after clustering is compressed and represented in time slots, and the problem of jointly planning routing and time slots is transformed into a path search problem in the graph; using graph theory algorithms, fast and accurate path search is realized to support the online matching of services and resources.

[0007] According to the above idea, the technical solution of the present invention includes the following:

[0008] 1. A method for jointly online planning of routing and time slots in a self-organizing network based on a time-varying graph, characterized by comprising:

[0009] 1) Construct a clustered network snapshot graph model G according to the physical nodes included in the self-organizing network (0) :

[0010] G (0) ={N (0) , E (0) , W (0)}

[0011] Among them, N (0) is the set of nodes after compressing and representing each node of the self-organizing network, E (0) is the set of edges between each node in N (0) , and W (0) is the set of weight values on each edge in E (0) ;

[0012] 2) Construct a clustered network time slot graph model G according to the clustered network snapshot graph model G (0) and the number of time slots X of the frame:

[0013] G = {N, E, W}

[0014] Among them, N is the set of all nodes in X clustered network snapshot graph models, E is the set of all edges in X clustered network snapshot graph models and all edges between snapshot graph models, and W is the set of weight values on each edge in E;

[0015] 3) According to the requirements of service f, add a service release node F f , a virtual node D and corresponding links in the clustered network time slot graph model to construct a clustered network service time slot graph model G f :

[0016] G f ={N f , E f , W f}

[0017] Among them, N f = N ∪ F N , N is the set of all nodes in the clustered network time slot graph model, FN = {F f , D} is the newly added node set, and E f is the set of edges between each node in N f , and W f represents the set of weights of each edge in the set E f ;

[0018] 4) Add a constraint condition in the Dijkstra routing algorithm to calculate the shortest transmission path P from the service release node F f in the clustered network service time slot graph model G f to the virtual sink node D.

[0019] Furthermore, construct a clustered network snapshot graph model G (0) based on the physical nodes included in the ad hoc network, and its implementation includes the following:

[0020] 1a) Use any clustering algorithm to divide the nodes of the ad hoc network into C clusters, and each cluster retains the cluster head node V u , and represent all ordinary member nodes with a virtual cluster node H u ;

[0021] 1b) For each cluster u, add an edge between the virtual cluster node V u and the cluster head node H u , and calculate the weight [p Vu,Hu , a Vu,Hu on the edge;

[0022] 1c) For any two cluster heads H u and H v , if they are within the communication range, add an edge between H u and H v , and calculate the weight [p Hu,Hv , a Hu,Hv on the edge.

[0023] Furthermore, the implementation of adding a constraint condition in the Dijkstra routing algorithm to calculate the shortest transmission path P from the service release node F f in the clustered network service time slot graph model G f to the virtual sink node D includes the following:

[0024] 4a) Initialization settings: Set the permanent set A, set the distance list B, and set the path list C;

[0025] 4b) Denote the node newly added to the permanent set as node. If the node is the auxiliary sink node D, go to step 4f), otherwise, execute step 4c);

[0026] 4c) For the adjacent nodes connected to node node, first determine whether the transmission delay of the path from node F f through node node to the adjacent node in time slot m is less than the length of this time slot. If the delay value is less than the time slot length, then proceed to step 4d)

[0027] 4d) Calculate the distance w from node F f through node node to the adjacent node tem , if w tem is less than the distance from the adjacent node to node F recorded in the distance list f , then update the distance list B and the path list C;

[0028] 4e) Select the node closest to node F from the distance list B f , add this node to the permanent set A, and delete this node from the distance list B, then return to step (4b)

[0029] 4f) Backtrack the path list C to obtain the shortest path P required for the service.

[0030] 2. A time-varying graph-based self-organizing network routing and time slot joint online planning system, comprising:

[0031] A clustered network snapshot graph model construction module, configured to perform compressed characterization on the nodes of the self-organizing network according to the information of each node of the self-organizing network and the clustering result of the self-organizing network input by the user, so as to obtain a clustered network snapshot graph model;

[0032] A clustered network time slot graph model construction module, configured to establish a clustered network time slot graph model according to the clustered network snapshot graph model input by the user and the number of time slots of the frame;

[0033] A clustered network service time slot graph model construction module, configured to add a service release node F f , a virtual node D and corresponding links in the clustered network time slot graph model according to the clustered network time slot graph model input by the user, the clustering result of the self-organizing network, and the QoS requirements of service f, so as to constitute a clustered network service time slot graph model;

[0034] An end-to-end shortest path calculation module, configured to calculate and output the shortest transmission path P required for the service according to the clustered network service time slot graph model input by the user.

[0035] Compared with the prior art, the present invention has the following advantages:

[0036] 1. Ensure the QoS of the service.

[0037] Since the present invention constructs a clustered network service time slot graph model G for the service f , through the graph algorithm in the graph model Gf When calculating the path, the service transmission capacity value of each edge is assigned according to the QoS requirements of the service. Therefore, the calculated transmission path meets the service requirements. At the same time, when the service flow is transmitted on this path, the moment when each node receives and forwards the service flow can be accurately controlled, so that the end-to-end delay of the service flow is controlled within the maximum tolerable delay interval of the service, further ensuring the QoS requirements of the service.

[0038] 2. Improves the utilization rate of network resources.

[0039] In the present invention, the network topology is characterized by time slotting, and it is equally spaced according to the number of time slots in a frame in the time dimension. When allocating resources for services, the QoS requirements of the services and the status of each time slot in the network are comprehensively considered, and the service resources are accurately matched to different nodes in different time slots of the network according to needs, realizing the accurate matching of services and resources. Compared with non-time slotting scheduling or strategies such as independent scheduling of routing and resources, it can effectively reduce resource conflicts, network congestion and other situations, and improve the utilization rate of network resources.

[0040] 3. Reduces the calculation delay and supports online planning of service resources.

[0041] In the present invention, through the time-varying graph tool, the traditional algebraic programming problem is transformed into a path search problem in graph theory. The link information concerned by the service is represented as an additive weight and marked on the link. The Dijkstra algorithm after adding constraints is used to search for the path with the smallest path weight. Compared with the algebraic solution method with high complexity, the algorithm complexity of the algorithm is only O((n + m)logn), which can effectively reduce the calculation delay and support the online real-time scheduling of services. Brief Description of the Drawings

[0042] Figure 1 is the implementation scenario diagram of the present invention;

[0043] Figure 2 is the implementation flowchart of the self-organizing network routing and time slot joint online planning method proposed in Embodiment 1 of the present invention;

[0044] Figure 3 is the snapshot graph model diagram of the clustered network in Embodiment 1 of the present invention;

[0045] Figure 4 is the time slot graph model diagram of the clustered network in Embodiment 1 of the present invention;

[0046] Figure 5 is the service time slot graph model diagram of the clustered network in Embodiment 1 of the present invention;

[0047] Figure 6 is the sub-flowchart for calculating the shortest transmission path in Embodiment 1 of the present invention;

[0048] Figure 7 It is the block diagram of the self-organizing network routing and time slot joint online planning system in Embodiment 2 of the present invention. Detailed implementation manners

[0049] The embodiments and effects of the present invention will be described in detail below in conjunction with the accompanying drawings and specific embodiments.

[0050] As Figure 1 shown, the implementation scenario of the present invention includes 14 drones that cooperate in a three-dimensional space. The drone nodes form a drone self-organizing network. One transmission frame of this network can be divided into 10 sub-frames with a length of 1 ms. By adopting a clustering method based on geographical grids, the network is divided into four clusters. Each cluster ensures that there is a cluster head node and multiple member nodes. Nodes belonging to the same cluster can communicate in one hop through broadcasting, and nodes belonging to different clusters can only communicate through multi-hop relay forwarding by the cluster head node. Drone node g needs to transmit the collected information to drone node e as quickly as possible within 3 time slots at the beginning of time slot 1 in each transmission frame.

[0051] Embodiment 1, a self-organizing network routing and time slot joint online planning method.

[0052] Referring to Figure 2 , the implementation steps of this example are as follows:

[0053] Step 1: Construct a clustered network snapshot graph model according to the self-organizing network node information after clustering.

[0054] This step is mainly for the clustered self-organizing network as shown in the attached Figure 1 figure. Through a compression representation method, the nodes in each cluster are represented in the form of "virtual cluster node + cluster head node", and a clustered network snapshot graph model as shown in the attached Figure 3 figure is constructed.

[0055] 1.1) Compress and represent the clustered self-organizing network in units of clusters, retain the cluster head nodes, and uniformly represent the remaining member nodes as a virtual cluster node:

[0056] 1.1.1) According to the Figure 1 distribution of the clustered drone self-organizing network shown in the figure, in the first cluster c1, which contains 1 cluster head node H1 and 3 ordinary member nodes f, g, and h, retain the cluster head node H1, and uniformly represent the member nodes f, g, and h as the virtual cluster node V1;

[0057] 1.1.2) According to the Figure 1In the clustered UAV ad-hoc network shown, the second cluster c2 contains 1 cluster head node H2 and 2 ordinary member nodes i and j. The cluster head node H2 is retained, and the member nodes i and j are uniformly represented as virtual cluster nodes V2;

[0058] 1.1.3) According to Figure 1 In the clustered UAV ad-hoc network shown, the third cluster c3 contains 1 cluster head node H3 and 3 ordinary member nodes d, c, and e. The cluster head node H3 is retained, and the member nodes d, c, and e are uniformly represented as virtual cluster nodes V3;

[0059] 1.1.4) According to Figure 1 In the clustered UAV ad-hoc network shown, the fourth cluster c4 contains 1 cluster head node H4 and 2 ordinary member nodes a and b. The cluster head node H4 is retained, and the member nodes a and b are uniformly represented as virtual cluster nodes V4;

[0060] 1.2) Add an edge between the cluster head node and the virtual cluster node, and assign a weight to the edge:

[0061] In this step, for any edge (i, j) between node i and node j, the edge weight is represented by the binary tuple W i,j =[p i,j , a i,j , where p i,j represents the ability value of using the edge (i, j) for service transmission, and a i,j represents whether the edge can be used. In this embodiment, it is assumed that when the weight value a i,j of the edge (i, j) is 0, it means the edge (i, j) is available, and if the value of a i,j is 1, it means the edge (i, j) is unavailable. Its implementation includes the following:

[0062] 1.2.1) Add a transmission edge (V1, H1) between the first cluster head node H1 and the first virtual cluster node V1. Assume that the maximum transmission delay required for nodes f, g, and h to communicate with the cluster head node H1 is 0.5 ms. Denote the weight of this edge (V1, H1) as [0.5, 0], that is, p V1,H1 = 0.5 indicates that the delay required to transmit the service from the first virtual cluster node V1 to the first cluster head node H1 using the edge (V1, H1) is 0.5 ms;

[0063] 1.2.2) Add a transmission edge (V2, H2) between the second cluster head node H2 and the second virtual cluster node V2. Assume that the maximum transmission delay required for nodes i and j to communicate with the second cluster head node H2 is 0.4 ms. Denote the weight of this edge (V2, H2) as [0.4, 0], that is, It is shown that the time delay required to transfer services from the second virtual cluster node V2 to the second cluster head node H2 using the edge (V2, H2) is 0.4 ms;

[0064] 1.2.3) Add a transmission edge (V3, H3) between the third cluster head node H3 and the third virtual cluster node V3. Assume that the maximum transmission time delay required for nodes d, c, and e to communicate with the third cluster head node H3 is 0.6 ms. Denote the weight of this edge (V3, H3) as [0.6, 0], that is It is shown that the time delay required to transfer services from the third virtual cluster node V3 to the third cluster head node H3 using the edge (V3, H3) is 0.5 ms;

[0065] 1.2.4) Add a transmission edge (V4, H4) between the fourth cluster head node H4 and the fourth virtual cluster node V4. Assume that the maximum transmission time delay required for nodes a and b to communicate with the fourth cluster head node H4 is 0.4 ms. Denote the weight of this edge (V4, H4) as [0.4, 0], that is p V4,H4 = 0.4 indicates that the time delay required to transfer services from the fourth virtual cluster node V4 to the fourth cluster head node H4 using the edge (V4, H4) is 0.4 ms.

[0066] 1.3) Add edges between the cluster head nodes within the communication range and assign weights to the edges:

[0067] Assume that at this time in the network, the first cluster head node H1 is within the communication range of the second cluster head node H2 and the fourth cluster head node H4, the third cluster head node H3 is within the communication range of the second cluster head node H2 and the fourth cluster head node H4, and the communication time delay between the first cluster head node H1 and the second cluster head node H2 is 0.5 ms, the communication time delay between the first cluster head node H1 and the fourth cluster head node H4 is 0.4 ms, the communication time delay between the third cluster head node H3 and the second cluster head node H2 is 0.3 ms, and the communication time delay between the third cluster head node H3 and the fourth cluster head node H4 is 0.5 ms. Its implementation includes the following:

[0068] Add a transmission edge (H1, H2) between the first cluster head node H1 and the second cluster head node H2, and denote the weight of the edge as [0.5, 0];

[0069] Add a transmission edge (H1, H4) between the first cluster head node H1 and the fourth cluster head node H4, and denote the weight of the edge as [0.4, 0];

[0070] Add a transmission edge (H3, H2) between the third cluster head node H3 and the second cluster head node H2, and denote the weight of the edge as [0.3, 0];

[0071] Add a transmission edge (H3, H4) between the third cluster head node H3 and the fourth cluster head node H4, and record the weight on the edge as [0.5, 0]. Thus, the construction of the clustered network snapshot graph model according to the appendix Figure 1 is completed, as Figure 3 shown.

[0072] Step 2: Copy the clustered network snapshot graph model, add storage edges, and construct a clustered network time-slot graph model;

[0073] In this example, according to the setting that one frame has 10 sub-frames, 10 copies of the clustered network snapshot graph model are copied, and a clustered network time-slot graph model is constructed by adding storage edges between adjacent snapshot graph models. The implementation includes the following:

[0074] 2.1) Copy the corresponding number of clustered network snapshot graph models according to the number of sub-frames in the frame:

[0075] According to the setting of 5G NR, the self-organizing network in this embodiment divides one frame into 10 sub-frames with a duration of 1 ms, and copies the clustered network snapshot graph model G (0) 10 times, and each snapshot graph model is respectively denoted as G (1) , G (2) , …, G (10) ;

[0076] 2.2) According to the numbering of the clustered network snapshot graph model, re-label the node numbers in the snapshot graph model:

[0077] 2.2.1) For the snapshot graph model G (1) , the cluster head nodes H1, H2, H3, H4 and the virtual cluster nodes V1, V2, V3, V4 belonging to it are respectively re-labeled as the cluster head node and the virtual cluster node V1 (1) ,

[0078] 2.2.2) For the snapshot graph model G (2) , the cluster head nodes H1, H2, H3, H4 and the virtual cluster nodes V1, V2, V3, V4 belonging to it are respectively re-labeled as the cluster head node and the virtual cluster node V1 (2) ,

[0079] And so on, re-label the node numbers of each cluster head node and virtual cluster node in the clustered network snapshot graph models G (1) to G (10) respectively.

[0080] 2.3) Add storage edges between adjacent cluster network snapshot graphs:

[0081] 2.3.1) Add the cluster head node (1) in the cluster network snapshot graph G (2) and the cluster head node pointing to the cluster head node in sequence, and add the storage edge The cluster head node pointing to the cluster head node and add the storage edge The cluster head node pointing to the cluster head node and add the storage edge The cluster head node pointing to the cluster head node and add the storage edge These four edges;

[0082] 2.3.2) Add the cluster head node (2) in the cluster network snapshot graph G (3) and the cluster head node pointing to the cluster head node in sequence, and add the storage edge The cluster head node pointing to the cluster head node and add the storage edge The cluster head node pointing to the cluster head node and add the storage edge The cluster head node pointing to the cluster head node and add the storage edge These four edges;

[0083] And so on, add the storage edge pointing from G (m) to G (m+1) between the same cluster head nodes of adjacent cluster network snapshot graphs G (m) and G (m+1) . Thus, the construction of the cluster network time-slot graph model according to Figure 3 is completed, as shown in Figure 4 .

[0084] Step 3: Modify the cluster network time-slot graph model according to the service requirements to construct the cluster network service time-slot graph model.

[0085] In the time-slot graph model of the clustered network, only the network states of each time slot are characterized, and the characterization of service requirements is not considered. Therefore, in this step, according to the arrival time slot of the service and the maximum tolerable delay interval, service release nodes, service aggregation nodes and corresponding edges are added to the time-slot graph model of the clustered network to construct a time-slot graph model of the clustered network for services, providing support for joint routing and time-slot allocation of services. The implementation includes the following:

[0086] 3.1) Reconstruct and represent the services according to the clustering results of the network:

[0087] Since the UAV node g needs to transmit the collected information to the UAV node e within 3 time slots at the beginning of each transmission frame, i.e., at time slot 1, the service flow to be calculated is denoted as f1 = {g, e, 1, 3}, where g is the service source node, e is the service destination node, the service arrives at time 1, and needs to be transmitted within 3 time slots.

[0088] According to Figure 1 As shown, node g belongs to cluster c1, and the virtual representation of cluster c1 is node V1; node e belongs to cluster c3, and the virtual representation of cluster c3 is node V3. Therefore, the service flow is re-represented as f1 = {g, e, V1, V3, 1, 3};

[0089] 3.2) Add a service release node F f and a service virtual sink node D in the time-slot graph model of the clustered network;

[0090] 3.3) Add service release edges in the time-slot graph model of the clustered network:

[0091] Add a service release edge pointing from the service release node F f to the cluster head node V1 (1) (F f , V1 (1) );

[0092] Add a service release edge pointing from the service release node F f to the cluster head node V1 (2) (F f , V1 (2) );

[0093] Add a service release edge pointing from the service release node F f to the cluster head node V1 (3) (F f , V1 (3) );

[0094] 3.4) Calculate the weights on each service release edge where represents the use of the edge (F f , Vs (m) ) The delay value of the transmission service Indicates whether the edge is available. In this example, it is assumed that when it indicates that the edge (F f , V s (m) ) is available and when f , V s (m) ) it indicates that the edge is unavailable;

[0095] Taking the three service release edges in this example as an example, the weight calculation on each of its edges is implemented as follows:

[0096] 3.4.1) For the weight of the first service release edge (F f , V1 (1) ) Since the service arrival time slot is time slot 1 and the node V1 (1) belongs to the first time slot, the delay value of using this edge to transmit the service and using to indicate that this edge is available, so the weight of the edge (F f , V1 (1) ) is recorded as [0, 0];

[0097] 3.4.2) For the weight of the second service release edge (F f , V1 (2) ) Since the service arrival time slot is time slot 1 and the node V1 (2) belongs to the second time slot, the delay value of using this edge to transmit the service and using to indicate that this edge is available, so the weight of the edge (F f , V1 (2) ) is recorded as [1, 0];

[0098] 3.4.3) For the weight of the third service release edge (F f , V1 (3) ) Since the service arrival time slot is time slot 1 and the node V1 (3) belongs to the third time slot, the delay value of using this edge to transmit the service and using to indicate that this edge is available, so the weight of the edge (F f , V1 (3) ) is recorded as [3, 0];

[0099] 3.5) Adding service aggregation edges in the cluster network time slot graph model:

[0100] Adding an edge from node V3(1) The service aggregation edge (V3 (1) , D) pointing to node D;

[0101] Add the service aggregation edge (V3 (2) The service aggregation edge (V3 (2) , D) pointing to node D;

[0102] Add the service aggregation edge (V3 (3) The service aggregation edge (V3 (3) , D) pointing to node D;

[0103] 3.6) Mark the edge weights of the first service aggregation edge (V3 (1) , D), the second service aggregation edge (V3 (2) , D), and the third service aggregation edge (V3 (3) , D) as [0, 0], indicating that there is no transmission delay when using this edge to transmit services, and this edge can be used;

[0104] So far, the construction of the clustered network service time-slot graph model according to the clustered network time-slot graph model and service f1 shown in the appendix is completed, as Figure 4 shown. Figure 5 shown.

[0105] Step 4: Add conditions to the Dijkstra algorithm to improve the Dijkstra algorithm.

[0106] The Dijkstra algorithm is a classic algorithm for finding the single-source shortest path in a weighted graph. It is applicable to graphs with non-negative edge weights and can find the shortest paths from the starting point to all other nodes. This algorithm has been proven to be universally optimal in the literature "Universal Optimality of Dijkstra via Beyond-Worst-Case Heaps".

[0107] In this example, due to the time-slot representation of the network topology and the construction of the clustered network service time-slot graph model according to the QoS requirements of the service, the shortest path obtained will involve cross-time-slot transmission phenomena, that is, after the source node sends the service in the current time slot, the destination node may receive the service several time slots later. Therefore, it is necessary to add cross-time-slot transmission constraints to the traditional Dijkstra algorithm to ensure that the transmission delay of the obtained transmission path in each time slot is not greater than the length of the current time slot. The implementation includes the following:

[0108] Before judging whether the adjacent node node' connected to the node node needs to update the distance list, first judge whether the service release source node F fThe delay of the path from node to its adjacent node node′ during the time slot m where node is located is calculated, and the magnitude of this delay is compared with the magnitude of the current time slot m;

[0109] If the delay value is greater than the current time slot m, then the adjacent node node′ is skipped, and it is no longer determined whether the information of the adjacent node node′ needs to be updated in the distance list information;

[0110] If the delay value is less than the current time slot m, then it is further determined whether the information of the adjacent node node′ needs to be updated in the distance list information.

[0111] Step 5: Calculate the shortest path in the clustered network service time slot graph model using the improved Dijkstra algorithm.

[0112] Using the Dijkstra algorithm with additional constraints, calculate the transmission path required for the service in the Figure 5 shown clustered network service time slot graph model;

[0113] In this example, during the process of calculating the shortest path in the clustered network service time slot graph model using the improved Dijkstra algorithm, the permanent set was updated 20 times, the distance list was updated 43 times, and the path list was updated 24 times.

[0114] Refer to Figure 6 for details. The specific implementation of this step is as follows:

[0115] 5.1) Establish a permanent set A, a distance list B, and a path list C, and initialize and assign values to them:

[0116] Establish a permanent set A:

[0117] Establish a distance list B, and set the distance from each node to the service release node F f to be infinite at the beginning, as shown in Table 1:

[0118] Table 1 Distance list B

[0119]

[0120] Establish a path list C, and set the information of the previous hop node of each node to be empty at the beginning, as shown in Table 2:

[0121] Table 2 Path list C

[0122]

[0123] 5.2) Add the service release node F f to the permanent set A to obtain the set A1: A1 = {Ff};

[0124] 5.3) Search for its adjacent nodes using the service release node F f as the index, and update the information of the corresponding adjacent nodes in the distance list and the path list:

[0125] 5.3a) The first adjacent node of the service release node F f is the virtual cluster node V1 (1) , and use the cost value of the edge (F f , V1 (1) ) is 0 and is 0. Therefore, the distance value from the virtual cluster node V1 (1) to the service release node F f is This value is less than the distance from the virtual cluster node V1 (1) to the service release node F f recorded in the distance list B. Update the distance value of the virtual cluster node V1 (1) in the distance list B to obtain the distance list B1. The updated result is shown in Table 3:

[0126] Table 3 Distance list B1

[0127]

[0128] Update the information of the previous hop node of the virtual cluster node V1 (1) in the path list C to obtain the path list C1. The result is shown in Table 4:

[0129] Table 4 Path list C1

[0130]

[0131] 5.3b) The second adjacent node of the service release node F f is the virtual cluster node V1 (2) , and use the cost value of the edge (F f , V1 (2) ) is 1 and is 0. Therefore, the distance value from the virtual cluster node V1 (2) to the service release node F f is This value is less than the distance from the virtual cluster node V1 (2) to the service release node F f recorded in the distance list B1. Update the distance value of the virtual cluster node V1 (2) in the distance list B1 to obtain the distance list B2. The updated result is shown in Table 5:

[0132] Table 5 Distance List B2

[0133]

[0134] Update the information of the previous hop node of the virtual cluster node V1 in the path list C1 (2) to obtain the path list C2, and the result is shown in Table 6 as follows:

[0135] Table 6 Path List C2

[0136]

[0137] 5.3c) Service Release Node F f The third adjacent node of is the virtual cluster V1 (3) , and use the edge (F f , V1 (3) ) with a cost value of 2 and 0. Therefore, the distance value from the virtual cluster node V1 (3) to the service release node F f is This value is less than the distance from the virtual cluster node V1 recorded in the distance list B2 (3) to the service release node F f . Update the distance value of the virtual cluster node V1 in the distance list B2 (3) to obtain the distance list B3, and the updated result is shown in Table 7 as follows:

[0138] Table 7 Distance List B3

[0139]

[0140] Update the information of the previous hop node of the virtual cluster node V1 in the path list C2 (3) to obtain the path list C3, and the result is shown in Table 8 as follows:

[0141] Table 8 Path List C3

[0142]

[0143] 5.4) At this time, the node closest to the service release node F in the distance list B3 f is the virtual cluster node V1 (1) . Add the virtual cluster node V1 (1) to the permanent set A1 to obtain the permanent set A2: A2 = {F f , V1 (1)}, and delete the virtual cluster node V1 from the distance list B3 (1) to obtain the distance list B4, as shown in Table 9;

[0144] Table 9 Distance List B4

[0145]

[0146] 5.5) Using the virtual cluster node V1 (1) as an index, search for its adjacent nodes, and update the information of the corresponding adjacent nodes in the distance list and the path list:

[0147] 5.5a) The first adjacent node of the virtual cluster node V1 (1) is the cluster head node Using the cost value of the edge is 0.5 and is 0. Therefore, the distance value from the cluster head node to the service release node F f is = 0.5, and this value is less than the distance from the cluster head node to the service release node F f recorded in the distance list B4. Therefore, update the distance value of the cluster head node in the distance list B4 to obtain the distance list B5. The updated result is shown in Table 10:

[0148] Table 10 Distance List B5

[0149]

[0150] Update the information of the previous hop node of the cluster head node H1 (1) in the path list C3 to obtain the path list C4. The result is shown in Table 11:

[0151] Table 11 Path List C4

[0152]

[0153] 5.6) At this time, the node closest to the service release node F f in the distance list B5 is the cluster head node Add the cluster head node to the permanent set A2 to obtain the permanent set A3: And delete the cluster head node from the distance list B5 to obtain the distance list B6, as shown in Table 12;

[0154] Table 12 Distance List B6

[0155]

[0156] 5.7) Using the cluster head node Using [index] to search for its adjacent nodes, and updating the information of the corresponding adjacent nodes in the distance list and the path list:

[0157] 5.7a) The first adjacent node of the cluster head node is the cluster head using the edge with a cost value of 0.5 and is 0. Therefore, the distance value from the cluster head node to the service release node F f is This value is less than the distance from the cluster head node recorded in the distance list B to the service release node F f Therefore, update the distance value of the cluster head node in the distance list B6 to obtain the distance list B7. The updated result is shown in Table 13:

[0158] Table 13 Distance list B7

[0159]

[0160] Update the information of the previous hop node of the cluster head node in the path list C4 to obtain the path list C5. The result is shown in Table 14:

[0161] Table 14 Path list C5

[0162]

[0163] 5.7b) The second adjacent node of the cluster head node is the cluster head node using the edge with a cost value of 0.4 and is 0. Therefore, the distance value from the cluster head node to the service release node F f is = 0.9. This value is less than the distance from the cluster head node recorded in the distance list B to the service release node F f Therefore, update the distance value of the cluster head node in the distance list B7 to obtain the distance list B8. The updated result is shown in Table 15:

[0164] Table 15 Distance list B8

[0165]

[0166] Update the information of the previous hop node of the cluster head node The path list C6 is obtained from the information of the previous-hop node, and the result is shown in Table 16:

[0167] Table 16 Path list C6

[0168]

[0169] 5.7c) Cluster head node The third adjacent node of is the cluster head node From the cluster head node to the cluster head node spans one time slot. Therefore, the distance value from the cluster head node f to the service release node F is the length 1 of time slot 1, and this value is less than the distance from the cluster head node recorded in the distance list B8 f to the service release node F So update the distance value of the cluster head node in the distance list B8 to obtain the distance list B9, and the updated result is shown in Table 17:

[0170] Table 17 Distance list B9

[0171]

[0172] Update the information of the previous-hop node of the cluster head node in the path list C6 to obtain the path list C7, and the result is shown in Table 18:

[0173] Table 18 Path list C7

[0174]

[0175] 5.8) At this time, the node closest to the service release node F f in the distance list B9 is the cluster head node Add the cluster head node to the permanent set A3 to obtain the permanent set A4: And delete the cluster head node from the distance list B9 to obtain the distance list B 10 as shown in Table 19:

[0176] Table 19 Distance list B 10

[0177]

[0178] 5.9) Using the cluster head node as the index, search for its adjacent nodes, and update the information of the corresponding adjacent nodes in the distance list and the path list:

[0179] 5.9a) The first adjacent node of the cluster head node is the cluster head node Using the edge with a cost value of 0.5 and being 0, so the cluster head node to the service release node F f has a distance value of This value is greater than the length of time slot 1, so the cluster head node is not processed.

[0180] 5.9b) The second adjacent node of the cluster head node is the cluster head node From the cluster head node to the cluster head node spans one time slot, so the cluster head node to the service release node F f has a distance value of the length 1 of time slot 1, and this value is less than the distance of the cluster head node 10 recorded in distance list B to the service release node F f Therefore, update the distance value of the cluster head node 10 in distance list B to obtain distance list B 11 The updated result is shown in Table 20:

[0181] Table 20 Distance list B 11

[0182]

[0183] Update the previous hop node information of the cluster head node in path list C7 to obtain path list C8, and the result is shown in Table 21:

[0184] Table 21 Path list C8

[0185]

[0186] 5.10) At this time, the node closest to the service release node F 11 in distance list B f is the virtual cluster node V1 (2) Add the virtual cluster node V1 (2) to the permanent set A4 to obtain the permanent set A5: And delete the virtual cluster node V1 11 from distance list B (2) to obtain distance list B 12 as shown in Table 22:

[0187] Table 22 Distance List B 12

[0188]

[0189] 5.11) Using node V1 (2) as the index, search for its adjacent nodes, and update the information of the corresponding adjacent nodes in the distance list and the path list:

[0190] 5.11a) The first adjacent node of the virtual cluster node V1 (2) is the cluster head node Using the cost value of the edge is 0.5 and is 0, so the distance value from the cluster head node to the service release node F is f This value is greater than the distance from the cluster head node recorded in the distance list B 12 at this time to the service release node F So the distance list B f and the path list C8 are not updated. 12

[0191] 5.12) At this time, the node closest to the service release node F 12 in the distance list Bis the cluster head node f Add the cluster head node to the permanent set A5 to get the permanent set A6: And delete it from the distance list B 12 to get the distance list B 13 as shown in Table 23: 13

[0192] Table 23 Distance List B 13

[0193]

[0194] 5.13) Using the cluster head node as the index, search for its adjacent nodes, and update the information of the corresponding adjacent nodes in the distance list and the path list:

[0195] 5.13a) The first adjacent node of the cluster head node is the cluster head node Using the cost value of the edge is 0.5 and is 0, so the cluster head node To the service release node F f The distance value to This value is less than the distance from the cluster head node 13 recorded in distance list B to the service release node F f and the length of 0.5 of this path propagated in time slot 2 is less than the length of time slot 2, so distance list B is updated 13 The distance value of the cluster head node in it is obtained to get distance list B 14 , and the updated result is shown in Table 24 as follows:

[0196] Table 24 Distance list B 14

[0197]

[0198] Update the information of the previous hop node of the cluster head node in path list C8 to get path list C9, and the result is shown in Table 25 as follows:

[0199] Table 25 Path list C9

[0200]

[0201] 5.13b) The second adjacent node of the cluster head node is the cluster head node Using the cost value of the edge is 0.4 and is 0, so the distance value from the cluster head node to the service release node F to f is This value is greater than the distance from the cluster head node 14 recorded in distance list B to the service release node F f , so no processing is done on the cluster head node .

[0202] 5.13c) The third adjacent node of the cluster head node is the cluster head node From the cluster head node to the cluster head node spans one time slot, so the distance value from the cluster head node to the service release node F f is the sum of the lengths of time slot 1 and time slot 2, which is 2. This value is less than the distance from the cluster head node 14 recorded in distance list B to the service release node F fThe distance, so update the distance list B 14 the cluster head node in to obtain the distance list B with the distance values 15 , and the updated result is shown in Table 26:

[0203] Table 26 Distance list B 15

[0204]

[0205] Update the previous hop node information of the cluster head node in the path list C9 to obtain the path list C and the result is shown in Table 27: 10

[0206] Table 27 Path list C 10

[0207]

[0208] 5.14) At this time, the distance list B 15 the node closest to the service release node F in f is the cluster head node Add the cluster head node to the permanent set A6 to obtain the permanent set A7: And delete it from the distance list B 15 to obtain the distance list B as shown in Table 28: 16

[0209] Table 28 Distance list B 16

[0210]

[0211] 5.15) Using the cluster head node as an index, search for its adjacent nodes and update the information of the corresponding adjacent nodes in the distance list and the path list:

[0212] 5.15a) The time delay required from the service release node F f to the cluster head node is 1, which is equal to the length of time slot 1. Therefore, no longer search for the adjacent nodes connected by the transmission edge of the cluster head node , only judge the cluster head node the cluster head node connected by the storage edge From the cluster head node to the service release node F f the distance value of time slot 1 is 1, and this value is less than the distance list B 16 the cluster head node recorded in to the service release node F​​f The distance, so update the distance list B 16 The cluster head node in The distance values of obtain the distance list B 17 , and the updated result is shown in Table 29:

[0213] Table 29 Distance list B 17

[0214]

[0215] Update the path list C 10 The node cluster head in The information of the previous hop node of obtain the path list C 11 , and the result is shown in Table 30:

[0216] Table 30 Path list C 11

[0217]

[0218] 5.16) At this time, the distance list B 17 The node closest to the service release node F in f is the cluster head node Add the cluster head node to the permanent set A7 to obtain the permanent set A8: And delete the cluster head node from the distance list B 17 to obtain the distance list B , as shown in Table 31: 18 , as shown in Table 31:

[0219] Table 31 Distance list B 18

[0220]

[0221] 5.17) Using the cluster head node as an index, search for its adjacent nodes, and update the information of the corresponding adjacent nodes in the distance list and the path list:

[0222] 5.17a) The first adjacent node of the cluster head node is the cluster head node Use the cost value of the edge is 0.5 and is 0, so the distance value from the cluster head node to the service release node F is f is This value is less than the cluster head node recorded in the distance list B 18 in To the service release node F f The distance to it, and the length of this path propagated in time slot 2 is 0.5, which is less than the length of time slot 2. Therefore, update the distance list B 18 The cluster head node in The distance value of to obtain the distance list B 19 , and the updated result is shown in Table 32:

[0223] Table 32 Distance list B 19

[0224]

[0225] Update the path list C 11 The cluster head node in The previous hop node information of to obtain the path list C 12 , and the result is shown in Table 33:

[0226] Table 33 Path list C 12

[0227]

[0228] 5.17b) The first adjacent node of the cluster head node is the cluster head node From the cluster head node to the cluster head node spans time slot 2. Therefore, the distance value from the cluster head node to the service release node F f is the sum of the lengths of time slot 1 and time slot 2, which is 2. This value is less than the distance from the cluster head node 19 recorded in the distance list B to the service release node F f . Therefore, update the distance list B 19 The cluster head node in The distance value of to obtain the distance list B 20 , and the updated result is shown in Table 34:

[0229] Table 34 Distance list B 20

[0230]

[0231] Update the path list C 12 The cluster head node in The previous hop node information of to obtain the path list C 13 , and the result is shown in Table 35:

[0232] Table 35 Path list C 13

[0233]

[0234] 5.18) At this time, the distance from list B 20 The node closest to the service release node F in f is the cluster head node Add the cluster head node to the permanent set A8 to obtain the permanent set A9: And delete the cluster head node from list B 20 to obtain list B , as shown in Table 36: 21

[0235] Table 36 List B 21

[0236]

[0237] 5.19) Using the cluster head node as the index, search for its adjacent nodes and update the information of the corresponding adjacent nodes in the distance list and the path list:

[0238] 5.19a) The first adjacent node of the cluster head node is the virtual cluster Using the cost value of the edge is 0.4 and is 0. Therefore, the distance value from the cluster head node to the service release node F is f is This value is less than the distance from the virtual cluster node 20 recorded in list B to the service release node F f , and the length of the path propagated in time slot 2 is 0.9, which is less than the length of time slot 2. Therefore, update the distance value of the virtual cluster node 21 in list B to obtain list B 22 , and the updated result is shown in Table 37:

[0239] Table 37 List B 22

[0240]

[0241] Update list C 13 The information of the previous hop node of the cluster head node in to obtain list C 14 , and the result is shown in Table 38:

[0242] Table 38 List C 14 ​

[0243]

[0244] 5.19b) Cluster head node The second adjacent node of is the cluster head node From the cluster head node to the cluster head node spans time slot 2. Therefore, the cluster head node f to the service release node F 22 The distance value is the sum of the lengths of time slot 1 and time slot 2 plus 2, and this value is less than the distance of the cluster head node to the service release node F f recorded in the distance list B 22 Therefore, update the distance list B The distance value of the cluster head node 23 to obtain the distance list B

[0245] Table 39 Distance list B 23

[0246]

[0247] Update the path list C 14 The previous hop node information of the cluster head node in to obtain the path list C 15 The result is shown in Table 40:

[0248] Table 40 Path list C 15

[0249]

[0250] 5.20) Add the node 23 in the distance list B f nearest to the service release node F to the permanent set A9 to obtain the permanent set A 10 : And delete the cluster head node 23 from the distance list B to obtain the distance list B 24 , as shown in Table 41:

[0251] Table 41 Distance list B 24

[0252]

[0253] 5.21) Using the cluster head node Using [index] to search for its adjacent nodes, and updating the information of the corresponding adjacent nodes in the distance list and the path list:

[0254] 5.21a) The first adjacent node of the cluster head node is the virtual cluster node Using the edge with a cost value of 0.6 and being 0. Therefore, the distance value from the virtual cluster node to the service release node F f is This value is less than the distance from the virtual cluster node 24 recorded in the distance list B to the service release node F f However, the propagation length of this path in time slot 2 is 1.1, which is greater than the length of time slot 2. Therefore, this node is not processed;

[0255] 5.21b) The second adjacent node of the cluster head node is the cluster head node From the cluster head node to the cluster head node spans time slot 2. Therefore, the distance value from the cluster head node to the service release node F f is the sum of the lengths of time slot 1 and time slot 2, which is 2. This value is less than the distance from the cluster head node 24 recorded in the distance list B to the service release node F f Therefore, update the distance value of the cluster head node 24 in the distance list B to obtain the distance list B 25 The updated result is shown in Table 42:

[0256] Table 42 Distance list B 25

[0257]

[0258] Update the path list C 15 in the cluster head node to obtain the path list C 16 The result is shown in Table 43:

[0259] Table 43 Path list C 16

[0260]

[0261] 5.22) Regarding the distance list B 24Medium-distance service release node F f The nearest node Join the permanent set A 10 Obtain the permanent set A 11 : And from the distance list B 25 Delete the virtual cluster node Obtain the distance list B 26 , as shown in Table 44:

[0262] Table 44 Distance list B 26

[0263]

[0264] 5.23) Virtual cluster node Has no adjacent nodes, so continue to update the permanent set. At this time, the distance list B 26 The nearest node to the medium-distance service release node F f Is the virtual cluster node V1 (3) , Add the virtual cluster node V1 (3) To the permanent set A 11 Obtain the permanent set A 12 : And from the distance list B 26 Delete the virtual cluster node V1 (3) Obtain the distance list B 27 , as shown in Table 45:

[0265] Table 45 Distance list B 27

[0266]

[0267] 5.24) Using the virtual cluster node V1 (3) As an index, search for its adjacent nodes, and update the information of the corresponding adjacent nodes in the distance list and the path list:

[0268] 5.24a) The first adjacent node of the virtual cluster node V1 (3) Is the cluster head node Use the edge The cost value of Is 0.5 and Is 0, so the cluster head node To the service release node F f The distance value is This value is greater than the distance of the cluster head node recorded in the distance list B 27 To the service release node F So this node is not processed; f ​

[0269] 5.25) Add the node in distance list B 27 that is closest to the service release node F f to the permanent set A to obtain the permanent set A 12 : 13 : And delete the cluster head node H1 from distance list B 27 to obtain distance list B (3) , as shown in Table 46: 28 , as shown in Table 46:

[0270] Table 46 Distance list B 28

[0271]

[0272] 5.26) Using the cluster head node as the index, search for its adjacent nodes and update the information of the corresponding adjacent nodes in the distance list and the path list:

[0273] 5.26a) The first adjacent node of the cluster head node is the cluster head node Using the cost value of edge is 0.5 and is 0. So the distance value from the cluster head node to the service release node F is f This value is greater than the distance from the cluster head node recorded in distance list B 28 to the service release node F So no processing is done; f So no processing is done;

[0274] 5.26b) The second adjacent node of the cluster head node is the cluster head node Using the cost value of edge is 0.4 and is 0. So the distance value from the cluster head node to the service release node F is f This value is greater than the distance from the cluster head node recorded in distance list B 28 to the service release node F So no processing is done: f So no processing is done:

[0275] 5.26c) The third adjacent node of the cluster head node is the cluster head node From the cluster head node to the cluster head node spans time slot 3, so the cluster head node to the service release node F f has a distance value of 3, which is the sum of the lengths of time slot 1, time slot 2, and time slot 3. This value is less than the distance of the cluster head node 28 recorded in distance list B to the service release node F f , so update distance list B 28 with the distance value of the cluster head node to obtain distance list B 29 . The updated result is shown in Table 47:

[0276] Table 47 Distance List B 29

[0277]

[0278] Update path list C 16 with the previous hop node information of the cluster head node to obtain path list C 17 . The result is shown in Table 48:

[0279] Table 48 Path List C 17

[0280]

[0281] 5.27) Add the node 29 in distance list B f closest to the service release node F to the permanent set A 13 to obtain the permanent set A 14 : And delete the cluster head node 29 from distance list B to obtain distance list B 30 , as shown in Table 49:

[0282] Table 49 Distance List B 30

[0283]

[0284] 5.28) Using the cluster head node as an index, search for its adjacent nodes and update the information of the corresponding adjacent nodes in the distance list and path list:

[0285] 5.28a) The first adjacent node of the cluster head node is the virtual cluster node Use the cost value of the edge which is 0.4 and ​ is 0, so the virtual cluster node to the service release node F f has a distance value of This value is less than that of the virtual cluster node recorded in distance list B 30 to the service release node F to the service release node F f The distance, and the length 0.4 of the path propagated in time slot 3 is less than the length of time slot 3, so update distance list B 30 the virtual cluster node in to obtain distance list B with the updated distance value 31 , and the updated result is shown in Table 50:

[0286] Table 50 Distance list B 31

[0287]

[0288] Update path list C 17 the previous hop node information of the midpoint in to obtain path list C 18 , and the result is shown in Table 51:

[0289] Table 51 Path list C 18

[0290]

[0291] 5.28b) The second adjacent node of the cluster head node is the cluster head node Using the cost value of edge is 0.3 and is 0, so the cluster head node to the service release node F to the service release node F f has a distance value of This value is greater than the distance of the cluster head node recorded in distance list B 31 to the service release node F to the service release node F f , so no processing is done:

[0292] 5.28c) The third adjacent node of the cluster head node is the cluster head node From the cluster head node to the cluster head node spans time slot 3, so the cluster head node to the service release node F f has a distance value of the sum 3 of the lengths of time slot 1, time slot 2 and time slot 3, and this value is less than distance list B 31The cluster head node recorded in to the service release node F f distance, so update the distance list B 31 the cluster head node in distance value to get the distance list B 32 , the updated result is shown in Table 52:

[0293] Table 52 Distance list B 32

[0294]

[0295] Update the path list C 18 the cluster head node in previous hop node information to get the path list C 19 , the result is shown in Table 53:

[0296] Table 53 Path list C 19

[0297]

[0298] 5.29) The distance list B 32 the node closest to the service release node F f in is added to the permanent set A 14 in to get the permanent set A 15 : and delete the cluster head node from the distance list B 32 to get the distance list B as shown in Table 54: 33

[0299] Table 54 Distance list B 33

[0300]

[0301] 5.30) Using the cluster head nodeas an index, search for its adjacent nodes, and update the information of the corresponding adjacent nodes in the distance list and path list:

[0302] 5.30a) The first adjacent node of the cluster head nodeis the virtual cluster node using the edge with a cost value of 0.6 and being 0, so the virtual cluster node to the service release node F is 0, so the distance value of the virtual cluster node to the service release node F f is = 2.6, and this value is less than the distance list B 33The virtual cluster nodes recorded in to the service release node F f The distance, and the length 0.6 of the path propagated in time slot 3 is less than the length of time slot 3, so the distance list B is updated 33 The virtual cluster nodes in The distance values to obtain the distance list B 34 , and the updated result is shown in Table 55:

[0303] Table 55 Distance list B 34

[0304]

[0305] Update the path list C 19 The previous hop node information of the nodes in to obtain the path list C 20 , and the result is shown in Table 56:

[0306] Table 56 Path list C 20

[0307]

[0308] 5.30b) Cluster head node The third adjacent node is the cluster head node From the cluster head node to the cluster head node Spans time slot 3, so the cluster head node to the service release node F f The distance value is the sum 3 of the lengths of time slot 1, time slot 2, and time slot 3, and this value is less than the distance of the cluster head node recorded in the distance list B 34 The cluster head node in to the service release node F f The distance, so the distance list B is updated 34 The cluster head node in The distance value to obtain the distance list B 35 , and the updated result is shown in Table 57:

[0309] Table 57 Distance list B 35

[0310]

[0311] Update the path list C 20 The previous hop node information of the cluster head node in to obtain the path list C 21 , and the result is shown in Table 58:

[0312] Table 58 Path list C 21

[0313]

[0314] 5.31) Add the node closest to node F 35 in the distance list B f to the permanent set A to obtain the permanent set A 15 in the following way: 16 : And delete the cluster head node from the distance list B 35 to obtain the distance list B as shown in Table 59: 36

[0315] Table 59 Distance list B 36

[0316]

[0317] 5.32) Using the cluster head node as an index, search for its adjacent nodes and update the information of the corresponding adjacent nodes in the distance list and the path list:

[0318] 5.32a) The first adjacent node of the cluster head node is the virtual cluster node Using the cost value of the edge which is 0.4 and is 0, so the distance value from the cluster head node to the service release node F is f This value is less than the distance of the virtual cluster node recorded in the distance list B 36 to the service release node F and the length of the path propagated in time slot 3, which is 0.4, is less than the length of time slot 3. Therefore, update the distance value of the virtual cluster node f in the distance list B 36 to obtain the distance list B The updated result is shown in Table 60: 37

[0319] Table 60 Distance list B 37

[0320]

[0321] Update the previous hop node information of the virtual cluster node 21 in the path list C to obtain the path list C 22 The result is as follows:

[0322] Table 61 Path list C 22 ​​

[0323]

[0324] 5.32b) Cluster head node The third adjacent node of is the cluster head node From the cluster head node To the cluster head node Spans time slot 3, so the cluster head node To the service release node F f The distance value is the sum of the lengths of time slot 1, time slot 2, and time slot 3, which is 3. This value is less than the distance of the cluster head node 37 Recorded in To the service release node F f So update the distance list B 37 The distance value of the cluster head node in To get the distance list B 38 , The updated result is shown in Table 62:

[0325] Table 62 Distance list B 38

[0326]

[0327] Update the path list C 22 The previous hop node information of the cluster head node in To get the path list C 23 , The result is shown in Table 63:

[0328] Table 63 Path list C 23

[0329]

[0330] 5.33) Add the node 38 Closest to node F in the distance list B f To the permanent set A To get the permanent set A 16 : 17 And delete the virtual cluster node from the distance list B 38 To get the distance list B 39 , As shown in Table 64:

[0331]

[0331] Table 64 Distance list B 39

[0332]

[0333] 5.34) Virtual cluster node There are no adjacent nodes, so the permanent set is updated continuously. At this time, the distance list B 39 the virtual cluster node closest to the service release node F f in is Add the virtual cluster node to the permanent set A 17 to obtain the permanent set A 18 : and delete the virtual cluster node from the distance list B 39 to obtain the distance list B as shown in Table 65: 40

[0334] Table 65 Distance list B 40

[0335]

[0336] 5.35) Node has no adjacent nodes, so the permanent set is updated continuously. At this time, the distance list B 40 the virtual cluster node closest to the service release node F f in is Add the virtual cluster node to the permanent set A 18 to obtain the permanent set A 19 : and delete the virtual cluster node V3 from the distance list B 40 to obtain the distance list B (3) as shown in Table 66: 41

[0337] Table 66 Distance list B 41

[0338]

[0339] 5.36) Using the node as an index, search for its adjacent nodes and update the information of the corresponding adjacent nodes in the distance list and the path list:

[0340] 5.36a) The first adjacent node of the node is the service aggregation D. Using the cost value of the edge is 0 and is 0. Therefore, the distance value from the service aggregation node D to the service release node F is = 2.6, which is less than the distance from the service aggregation node D to the service release node F recorded in the distance list B f and less than the distance from the service aggregation node D to the service release node F recorded in the distance list B 41 recorded in f ​​The distance, and the length of this path propagated in time slot 3, which is 0.6, is less than the length of time slot 3. Therefore, update the distance list B 41 The distance value of the service aggregation node D in 41 to obtain the distance list B 42 , and the updated result is shown in Table 67:

[0341] Table 67 Distance list B 42

[0342]

[0343] Update the path list C 23 The information of the previous hop node of node D in 23 to obtain the path list C 24 , and the result is shown in Table 68:

[0344] Table 68 Path list C 24

[0345]

[0346] 5.37) Add the node D in the distance list B 42 that is closest to node F f to the permanent set A 19 to obtain the permanent set A in 19 20 : And delete the service aggregation node D from the distance list B 42 to obtain the distance list B 43 , as shown in Table 69:

[0347] Table 69 Distance list B 43

[0348]

[0349] 5.38) At this time, the node newly added to the permanent set A 20 is the virtual sink node D, and the route search process ends;

[0350] 5.39) According to the distance list C 24 , trace back the transmission path from the service release node F f to the service aggregation node D:

[0351] Query the distance list C 24 It can be seen that the previous hop node of the service aggregation node D is the virtual cluster node Virtual cluster node The previous hop node of the virtual cluster node is the cluster head Cluster head node The previous hop node of the cluster head node is the cluster head Cluster head node The previous hop node of the cluster head node The previous hop node of the cluster head node The previous hop node of (1) is the virtual cluster V1 (1) The previous hop node of the virtual cluster node V1 f is the service release node F f Therefore, the path p' from the service release node F

[0352] 5.40) Delete the service release node F from the path p' f and the service aggregation node D to obtain the required path p:

[0353] Embodiment 2, Self-organizing Network Routing and Slot Joint Online Planning System

[0354] Refer to Figure 7 , this example includes: a clustered network snapshot graph model construction module 1, a clustered network slot graph model construction module 2, a clustered network service slot graph model construction module 3, and an end-to-end shortest path calculation module 4. Among them, the clustered network service slot graph model construction module 3 includes: a service representation sub-module 31, a service release representation sub-module 32, and a service aggregation representation sub-module 33. The end-to-end shortest path calculation module 4 includes: an end-to-end shortest path algorithm sub-module 41 and a path generation sub-module 42. The working principle of the entire system is as follows:

[0355] When the system receives the information of each node of the self-organizing network, the clustering result of the self-organizing network, the division information of the sub-frame, and the service information input by the user, the clustered network snapshot graph model construction module 1 compresses and represents the nodes of the self-organizing network according to the information of each node of the self-organizing network and the clustering result of the self-organizing network input by the user to obtain the clustered network snapshot graph model, and outputs the clustered network snapshot graph model to the clustered network slot graph model construction module 2;

[0356] The clustered network slot graph model construction module 2 copies the corresponding number of copies of the clustered network snapshot graph model according to the clustered network snapshot graph model input by the clustered network snapshot graph model construction module 1 and the number of time slots of the frame input by the user, and adds storage edges between adjacent clustered network snapshot graph models to construct the clustered network slot graph model, and outputs it to the clustered network service slot graph model construction module 3;

[0357] In the service characterization sub-module 31 of the clustered network service time slot diagram model construction module, according to the clustering result of the self-organizing network input by the user and the QoS requirements of service f, the virtual cluster node information of the cluster where the source node of service flow f is located and the virtual cluster node information of the cluster where the destination node is located are obtained, and service f is reconstructed and characterized according to the two obtained virtual cluster node information, and the reconstructed service f is input to the service release characterization sub-module 32; the service release characterization sub-module 32, according to the clustered network time slot diagram model output by the clustered network time slot diagram model construction module 2 and the service f output by the service characterization sub-module 31, faces the QoS requirements of service f in the clustered network time slot diagram model, adds a service release node F f and a service release edge, calculates the weight value on the service release edge, and outputs the result generated by the program to the service aggregation characterization sub-module 33; the service aggregation characterization sub-module 33, according to the result output by the service release characterization sub-module 32 and the service f output by the service characterization sub-module 31, faces the QoS requirements of service f in the result output by the service release characterization sub-module 32, adds a virtual sink node D and a service aggregation edge, and assigns a weight to the service aggregation edge, obtains the clustered network service time slot diagram model, and outputs this model to the end-to-end shortest path calculation module 4.

[0358] The path generation sub-module 42 in the end-to-end shortest path calculation module 4, by calling the end-to-end shortest path algorithm sub-module 41, calculates the shortest path required by the service in the clustered network service time slot diagram model output by the clustered network service time slot diagram model construction module 3, and outputs this shortest transmission path, ending the system operation.

[0359] The above description is only two specific examples of the present invention and does not constitute any limitation to the present invention. Obviously, for professionals in the field, after understanding the content and principle of the present invention, various modifications and changes in form and details may be made without departing from the principle and structure of the present invention. However, these corrections and changes based on the idea of the present invention are still within the scope of protection of the claims of the present invention.

[0360] It should be noted that the step numbers in the specification and claims of the present invention are only for clearly describing the implementation scheme of the present invention for easy understanding, and their sequence numbers are not limited.

Claims

1. A method for online joint planning of self-organizing network routing and time slots based on time-varying graphs, characterized in that: include: 1) Construct a clustered network snapshot graph model G based on the physical nodes contained in the self-organizing network (0) : G (0) ={N (0) ,E (0) ,W (0) } Among them, N (0) is the node set after compressing and representing each node in the self-organizing network, E (0) N (0) The set of edges between nodes in , W (0) For E (0) The set of weight values ​​on each edge in ; 2) According to the clustered network snapshot graph model G (0) The number of time slots in the frame is X, and the clustered network time slot graph model G is constructed: G={N,E,W} Wherein, N is the set of all nodes in the X clustered network snapshot graph models, E is the set of all edges in the X clustered network snapshot graph models and all edges between snapshot graph models, and W is the set of weight values ​​on each edge in E; 3) According to the needs of service f, add service release node F in the cluster network time slot graph model f , virtual node D and corresponding links, construct the clustered network service time slot graph model G f : G f ={N f ,E f ,W f } Among them, N f =N∪F N , N is the set of all nodes in the clustered network time slot graph model, F N ={F f ,D} is the newly added node set, E f N f The set of edges between nodes in , W f Represents the set E f The weight set of each edge in ; 4) Add constraints to the Dijkstra routing algorithm and calculate the clustered network service time slot graph model G f Service release node F f The shortest transmission path P to the virtual sink node D.

2. The method according to claim 1, characterized in that: In step 1), a clustered network snapshot graph model G is constructed based on the physical nodes included in the self-organizing network. (0) , which is implemented as follows: 1a) Use an arbitrary clustering algorithm to divide the nodes of the self-organizing network into C clusters, each cluster contains a cluster head node and multiple ordinary member nodes, and all ordinary member nodes in each cluster u are represented by a virtual cluster node V u The cluster head node is represented by H u Representation, get the virtual node set V (0) = {V1, V2, ..., V C } and cluster head node set H (0) ={H1,H2,...,H C }, let all node sets be N (0) =V (0) ∪H (0) ; 1b) For each cluster u, in V u With H u Add an edge between them and record the resulting edge as Calculate the weight of the edge The obtained weight is recorded as in Indicates the use of edge (V u ,H u ) capability value for business transmission, Indicates whether the edge can be used; 1c) For any two cluster heads H u and H v , determine whether the distance between cluster head nodes is within the communication coverage: If it is within the communication range, then u and H v Add an edge between them and record the resulting edge as Calculate edge weights The obtained weight is recorded as in Indicates the use of edge (H u ,H V ) capability value for business transmission, Represents edge (H u ,H V ) whether it can be used; If it is not within the communication range, it is not at node H u With H u Add edges between 1d) The edge set obtained from step 1b) and the edge set obtained in step 1c) Get Collection According to step 1b) the weight set W1 is obtained (0) and the weight set obtained in step 1c) Get Collection 1e) N obtained in step 1a) (0) , E obtained in step 1d) (0) and W (0) Combine them to get the clustered network snapshot graph model G (0) = {N (0) ,E (0) ,W (0) }.

3. The method according to claim 1, characterized in that: In step 2), according to the clustering network snapshot graph model G (0) The number of time slots X of the frame is used to construct a clustered network time slot graph model G, which is implemented as follows: 2a) Clustering network snapshot graph model G (0) The cluster network snapshot graph model after replication is recorded as G (1) To G (X) ; 2b) For any snapshot graph model G (m) The virtual node V corresponding to any cluster u in u and cluster head node H u , relabel it as a node and nodes Get the virtual node set V and cluster head node set H: 2c) According to the virtual node set V and the cluster head node set H obtained in 2b), the node set N = V∪H is obtained; 2d) For any adjacent snapshot graph G (m) With G (m+1) , add G (m) Point to G (m+1) Storage edge; clustering network snapshot graph model G (1) To G (X) The edges within the X clustered network snapshot graph models and the edges between the clustered network snapshot graph models are recorded as a set E = {(i, j) | i, j ∈ N}, and the weights on the edges are recorded as W = {[p i,j ,a i,j ]|i,j∈N}; 2e) Combining N obtained in step 2c) and E and W obtained in step 2d) to obtain a clustered network time slot graph model G = {N, E, W}.

4. The method according to claim 1, characterized in that: Step 3) Add service release node F in the cluster network time slot graph model according to the needs of service f f , virtual node D and corresponding links, construct the clustered network service time slot graph model G f , which is implemented as follows: 3a) According to the clustering result of the self-organizing network, the service f={s,r,t f ,m f } can be re-characterized as f = {s, r, V s ,V r ,t f ,m f }, where s represents the source node of the service flow, r represents the destination node of the service flow, V s is the virtual cluster node corresponding to the cluster where the service flow source node s is located, V r is the virtual cluster node corresponding to the cluster where the destination node r of the service flow is located, t f Indicates the arrival time slot of the service flow, m f Indicates the maximum tolerable delay interval of the service flow; 3b) Set service release node F f and virtual sink node D, we get the newly added node set N add ={F f ,D}; 3c) Add service release node F in the clustered network service time slot graph model G f and virtual sink node D; 3d) For the snapshot graph to Node V in s (m) , add slave node F f Point to node V s (m) The business release edge is obtained by 3e) Calculate the edge set E released by the business f1 The weight of each service release edge in: 3f) According to step 3e), the service release edge weight set is obtained: 3g) For snapshot graph to Nodes in Adding a slave node The business aggregation edge pointing to node D, and the business aggregation edge set is obtained 3h) is the business aggregation edge set E f2 The weight of each edge in Assign values; 3i) According to step 3h), the service aggregation edge weight set is obtained: 3j) According to 3b) the newly added node set N add And the original node set N, get the cluster network service time slot graph model node set: N f =N∪N add ; 3k) The service release edge set E obtained in step 3d) f1 , the business aggregation edge set E obtained in step 3g) f2 and the original edge set E, we get the edge set E of the clustered network service time slot graph model f =E∪E f1 ∪E f2 ; 3l) Based on the service release edge weight set W obtained in 3f) f1 , the business aggregation edge weight set W obtained in step 3i) f2 And the original weight set W, get the cluster network service time slot graph model weight set W f =W∪W f1 ∪W f2 ; 3m) Combine the nodes obtained in step 3j) with N f , the edge set E obtained in step 3k) f and the weight set W obtained in step 3l) f Combine them to get the clustered network service time slot graph model G f = {N f ,E f ,W f }.

5. The method according to claim 4, characterized in that: Step 3e) The computing service releases the edge set E f1 The weight of each business release edge in The calculation formula is as follows: T i is the length of the i-th time slot; Indicates that the edge must be available.

6. The method according to claim 4, characterized in that: Step 3h) is the business aggregation edge set E f2 The weights of the edges in The assignment is as follows: make Indicates the use of edge Transmission services do not require delay; make Represents edge Definitely available.

7. The method according to claim 1, characterized in that: Step 4) adds constraints to the Dijkstra routing algorithm to calculate the clustered network service time slot graph model G f Service release node F f The shortest transmission path P to the virtual sink node D is implemented as follows: 4a) Initialization settings: Set a permanent set A to record the nodes whose shortest paths have been determined. Initially, release the service node F. f Add to this collection; Set the distance list B to record the distance from each node to the service release node F f The distance from each node to the F f The distance between nodes is infinite; Set a path list C to record the previous hop node information of each node in the path search process. Initially, the previous hop node information of each node is empty; 4b) Record the node that is newly added to the permanent set as node. If the node is the auxiliary sink node D, go to step 4f), otherwise, go to step 4c); 4c) For each adjacent node node′ connected to node node, first determine the node from node F f The path from node node to adjacent node node′ is transmitted in the time slot m where node node is located, and the size of the delay is compared with the size of the current time slot m; If the delay value is greater than the current time slot m, the adjacent node node′ will not be processed; If the delay value is less than the current time slot m, proceed to step 4d) 4d) Calculate from node F f The distance w from node node to the adjacent node node′ tem , read the distance from node node′ to node F recorded in distance list B f The distance w B , compare w tem With w B size; If tem Less than w B , then the distance list B node node 'to node F f The distance value is updated to w tem , and record the node node as the previous hop node of the adjacent node node′ in the path list C, and execute step 4e); If tem Greater than w B , then skip this step; 4e) Select distance node F from distance list B f The nearest node, add the node to the permanent set A, delete the node from the distance list B, and return to step (4b) 4f) Starting from the auxiliary sink node D, trace back the service release node F according to the path list C f The end-to-end path to the virtual sink node D, and then delete the node F in the path f and node D, and obtain the required end-to-end weighted shortest path P.

8. A self-organizing network routing and time slot joint online planning system based on time-varying graph, comprising: A clustering network snapshot graph model construction module is used to compress and represent the nodes of the self-organizing network according to the information of each node of the self-organizing network input by the user and the clustering result of the self-organizing network, so as to obtain the clustering network snapshot graph model; A clustered network time slot graph model building module is used to build a clustered network time slot graph model according to the clustered network snapshot graph model and the number of time slots of the frame input by the user; The clustering network service time slot graph model construction module is used to add service release node F in the clustering network time slot graph model according to the clustering network time slot graph model input by the user, the clustering result of the self-organizing network and the QoS requirements of the service f. f , virtual node D and the corresponding links constitute a clustered network service time slot graph model; The end-to-end shortest path calculation module is used to calculate and output the shortest transmission path P required for the service according to the clustered network service time slot graph model input by the user.

9. The system according to claim 8, characterized in that The clustered network service time slot graph model construction module includes: The service characterization submodule is used to obtain the virtual cluster node information of the cluster where the source node of service flow f is located, obtain the virtual cluster node information of the cluster where the destination node of service flow f is located, and reconstruct the characterization of service f according to the clustering result of the self-organizing network input by the user and the QoS requirement of service f; The service release characterization submodule is used to add a service release node F in the clustered network time slot graph model based on the clustered network time slot graph model input by the user and the service f output by the service characterization submodule, facing the QoS requirements of service f. f and service release edge, and calculate the weight value on the service release edge. After this module and the service aggregation characterization submodule are run in series, a clustered network service time slot graph model is obtained; The service aggregation characterization submodule is used to add a virtual sink node D and a service aggregation edge in the clustered network time slot graph model according to the clustered network time slot graph model input by the user and the service f output by the service characterization submodule, and assign weights to the service aggregation edges in response to the QoS requirements of service f in the clustered network time slot graph model. After this module and the service release characterization submodule are run in series, the clustered network service time slot graph model is obtained.

10. The system according to claim 8, characterized in that End-to-end shortest path calculation module, including: The end-to-end shortest path algorithm submodule is used to add cross-time slot transmission constraints and program termination constraints to the Dijkstra algorithm to obtain an end-to-end shortest path algorithm that can be applied to the clustered network service time slot graph model; The path generation submodule is used to calculate and output the shortest transmission path P required for the service by calling the end-to-end shortest path algorithm submodule according to the cluster network service time slot graph model input by the user.

Citation Information

Patent Citations

  • Construction method of time slot resource expansion graph

    CN113992259A

  • Satellite network topology and route joint planning method based on time expansion graph

    CN116318329A

  • Self-adaptive snapshot routing method for deterministic satellite network

    CN117527670A

  • Delay deterministic transmission method based on route scheduling and joint optimization

    WO2023004898A1

  • Method and apparatus for constructing deterministic routing, and storage medium

    WO2023082815A1